Довольно часто приходится встраивать в ActionScript-приложения дополнительные шрифты, которых может не оказаться на компьютере конечного пользователя. Однако к этой операции нужно подходить со знанием дела. Зачастую совершенно нет необходимости во встраивании шрифта в ролик целиком — в большинстве приложений, с которыми мне приходилось иметь дело, достаточно было организовать поддержку латинских и кириллических символов в текстовых полях, не забывая, конечно же, о цифрах и символах пунктуации. Таким способом можно сократить размер итогового SWF-ролика на несколько десятков килобайт.
Уже достаточно длительный период времени я компилирую приложения при помощи Flex SDK, прибегая к Flash IDE только лишь для того, чтобы встроить векторную графику. Поэтому и речь в этой статье пойдет о том, как встраивать шрифты в приложениях, компилируемых именно таким способом.
Для того чтобы справиться с этой задачей, мы обращаемся к документации по метатэгу Font и видим, что одним из его атрибутов является unicodeRange. Именно при помощи этого атрибута мы можем указывать Unicode-значения символов шрифта (а так же интервалы значений символов), которые компилятор должен встроить в ролик. Прибегнув к таблице символов Unicode, определяем, что нам необходимо импортировать следующие символы:
- U+0020-U+007F — основная латиница;
- U+00A0-U+00FF — дополнительные символы, которые могут понадобиться (вроде знака © или русских кавычек-елочек);
- U+0400-U+04FF — кириллические символы верхнего и нижнего регистров.
Если собрать все вместе, то код для встраивания шрифта должен быть примерно следующим:
[as][Embed(source="/../assets/fonts/CHR56__C.TTF",
fontFamily="CharterC_i", fontStyle="italic",
unicodeRange="U+0020-U+007F, U+00A0-U+00FF, U+0400-U+04FF")][/as]
Если вам есть чем дополнить эти интервалы символов, то добро пожаловать в комментарии. Вполне возможно, что я что-то упустил.
А можно об этом по подробнее. Хочеться услышать мнение профессионала. А то когда Flash не твоё основное занятие, то трудно в результатах поиска различить, как правильно делать.
напримр “дополнительные” знаки французского, немецкого, балтийских алфавитов.. зависит от локализации проекта конечно, но если уж идёт речь о кириллице, то и эти не грех учесть
Во flex sdk в директории
.
frameworksесть файликflash-unicode-table.xmlтам можно найти много интерваловКакой именно вопрос тебя интересует?