Google Fonts API и Actionscript - PullRequest
       29

Google Fonts API и Actionscript

4 голосов
/ 15 июня 2011

Из того, что я могу сказать в Google Fonts API, эти шрифты должны быть доступны через JavaScript / CSS. Есть ли способ динамически загрузить их для приложения Flash без необходимости их локальной загрузки на сервер?

Обновление: Так что я еще немного разобрался с этим, и ниже приведены лишь некоторые мысли о том, как это сделать. Никто из них не работает, но я чувствую, что они на правильном пути. Просто для дальнейшего использования ...

Когда вы выбираете шрифт для использования в API Google, вы получаете ссылку на таблицу стилей CSS, которая создается на основе ваших предпочтений:

<link href='http://fonts.googleapis.com/css?family=Kranky' rel='stylesheet' type='text/css'>

Сначала я пытался использовать только href URL внутри моего <fx:Style source=.../>, но ActionScript отклонил это (не уверен, что это потому, что он не был локальным, или понял, что он не заканчивается на .css).

После того, как это не удалось, я скопировал ссылку в свой браузер и вручную извлек CSS, вставив его в теги <fx:Style>, как вы это делали с любым другим CSS. Опять же, ActionScript это не понравилось, потому что он не мог локально найти URL.

Я подозреваю, что некоторые из этих мер предосторожности действуют благодаря целому биту «песочницы безопасности», который обеспечивает Flash. Кто-то, кто обладает большим мастерством ActionScript, может использовать это для решения проблемы, но я не знаю, решаемо ли это.

1 Ответ

4 голосов
/ 28 июня 2011

Вы можете загружать динамические шрифты INTO flash / actionscript во время выполнения.Вот хороший пример этого: http://developer.yahoo.com/flash/articles/runtime-fonts-as3.html

В основном все сводится к использованию класса Loader и Font.registerFont();

Проблема в том, что CSS, предоставляемый Google, предоставляет WOFF (я не верю, что Flash может встраивать этот тип шрифта.

Однако шрифты Google можно загружать и легко встраивать в ваши приложения Flex / Flash.Просто зайдите на нужный вам шрифт на сайте Google и нажмите «скачать».Оттуда вы можете извлечь файл TTF и встроить его непосредственно в ваше приложение Flash.

Вы можете сделать это в ActionScript, например:

[Embed(source="theFontYouDownloaded.ttf",  fontName = "someFont",  mimeType = "application/x-font")]
private var someFont:Class;

По моему опыту, иногда вам нужно игратьс этим mimetype, чтобы он работал правильно.

Поскольку вы, похоже, используете Flex, вы можете просто использовать таблицу стилей Flex следующим образом:

@font-face
{
src:            url("fonts/someFont.ttf");
fontFamily:     someFont;
font-weight:    normal; 
}
...