У меня проблема с встраиванием шрифтов в Open Source Flex 4.5 SDK (Hero), хотя у меня такие же проблемы с Flex 4 Open Source SDK. Я добавил некоторые ttf-файлы в каталог assets моей структуры проекта и пытаюсь получить доступ к шрифтам в моем CSS-файле следующим образом:
@font-face {
src: url("../assets/DroidSans.ttf");
fontFamily: DroidSans;
embedAsCFF: true;
}
Этот конкретный шрифт требуется использовать для ряда элементов управления искрой по всему проекту (именно поэтому для embedAsCFF задано значение true, хотя я считаю, что этот параметр в любом случае является необязательным). Однако ни один из компонентов spark не отображает этот шрифт, если он установлен в свойстве fontFamily. Я получаю эту ошибку при компиляции для каждого компонента spark, на котором я пытаюсь установить шрифт:
предупреждение: несовместимый встроенный шрифт
'DroidSans' указан для
(controlName). Этот компонент
требует, чтобы встроенный шрифт был
объявлено с embedAsCff = true.
Как ни странно, вышеуказанный шрифт работает с компонентами mx, даже если для embedAsCFF задано значение true (из того, что я посмотрел по этому вопросу, следует установить значение false для компонентов mx и значение true для spark).
Приведенный выше код также работает в Flash Builder, однако этот проект необходимо разрабатывать с использованием Open Source SDK, где он терпит неудачу.
Есть идеи? Неужели у кого-то еще была такая же проблема?
При запуске следующего скрипта он показывает, что шрифты «встроены», но не как «CFFEmbedded». В документации Adobe говорится, что они должны сказать «CFFEmbedded»
var fontArray:Array = Font.enumerateFonts(false);
trace("Fontarray length: " + fontArray.length);
for(var j:int = 0; j < fontArray.length; j++) {
var thisFont:Font = fontArray[j];
trace("FONT " + j + ":: name: " + thisFont.fontName + " embedded as type:" + thisFont.fontType + ".");
}
Спасибо
Bob
[EDIT]
ОК - мне наконец-то удалось встроить шрифт. Я пробовал SWC из CS4, SWC из Flash Builder 4, SWF из CS4 и Flash Builder ....
Возможное исправление
1) Упакуйте шрифт в SWF в Flash Builder 4
2) Ссылка на скомпилированный SWF с использованием следующего CSS
@font-face {
cff: false;
src: url('../bin/DroidSansFont.swf');
fontFamily: DroidSansMX;
}
@font-face {
cff: true;
src: url('../bin/DroidSansFont.swf');
fontFamily: DroidSans;
}
Сумасшедшая вещь - использование директивы "cff: true". Вся документация говорит об использовании «embedAsCFF». Это выдает ошибку при использовании атрибута "cff" - похоже, работает.
Понятия не имею - может кто-нибудь поделится своими идеями?