Создание Flash-шрифтов из разных источников - PullRequest
1 голос
/ 11 августа 2011

В Actionscript / Flash можно создать SWF-файл, содержащий данные шрифта для emedding, вот так:

package {
  import flash.display.Sprite;
  public class Font_times_new_roman extends Sprite {
  [Embed(
    systemFont='times new roman',
    mimeType='application/x-font',
    fontName='times new roman',
    fontWeight='normal',
    fontStyle='regular',
    unicodeRange='U+0020-U+007E,U+00A0-U+00AC,U+00AE-U+00FF,U+0100-U+017F,U+037E-U+037E,U+0384-U+038A,U+038C-U+038C,U+038E-U+03A1,U+03A3-U+03CE,U+0400-U+045F,U+20AC-U+20AC')]
  public static var FontClass:Class;
  }
} 

Теперь я хотел бы создать что-то подобное с глифами из разных исходных шрифтов..

например, символ юникода x должен быть взят из Arial, а символ y должен быть из времен нового римского.

возможно ли это?если да, то как?

1 Ответ

1 голос
/ 11 августа 2011

Я расскажу о различных способах встраивания шрифтов на мой сайт (он длинный, поэтому ссылки проще): http://divillysausages.com/blog/as3_font_embedding_masterclass

По сути, если вы просто хотите использовать swf, который представляет собой не что иное, как шрифты, то вы встраиваете те, которые вам нужны (изменяя systemFont или встраивая тот же шрифт, но изменяя fontWeight, если вы хотите, чтобы шрифт имел нормальный например, жирный), экспорт SWF. Если вы просто хотите встроить определенный глиф, установите значение Юникода непосредственно в параметре unicodeRange.

Более простым способом было бы сделать это через Flash - создайте текстовое поле с каждым шрифтом / глифом, который вы хотите, а затем используйте это в своем основном SWF (объяснено как в ссылке). Это гораздо проще, чем работать с юникодом, особенно если вам нужен только один глиф.

То, что вы пытаетесь сделать - встроить шрифт для другого персонажа - возможно, но это неудобно, и я не уверен, что вы сможете получить желаемый эффект без большого количества хлопот. Обычный метод использования TextFormat (http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/text/TextFormat.html) объекта с вашим TextField на самом деле не будет работать, так как вы можете применять только один за раз.

Вы можете использовать текст HTML и класс StyleSheet (http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/text/StyleSheet.html - для каждого стиля укажите fontFamily на встроенный шрифт), но это приведет к большому количеству разметка (вам нужно охватить каждую букву другим стилем).

Возможно, но неловко.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...