2009-08-02 5 views
0

Хотя есть способы загрузки шрифтов в виде файлов swf, то, что я больше ищу, это способ загрузить сам файл шрифта, скажем, пользователь загружает файл шрифта, как я могу использовать его файл шрифта в самом приложении?Динамически загружать шрифты в Flex/AS3

Спасибо, Фейсал Абид

ответ

1

К сожалению, я совершенно уверен, что это не возможно, в какой-либо обычным способом, по крайней мере. Вы не можете загрузить в bytearray файла ttf и передать его в Font.registerFont(), который нужно вызвать, чтобы использовать шрифт.

Однако, хотя я не обладаю всеми знаниями, чтобы это сделать, я знаю, что это определенно не невозможно.

Как вы сказали, шрифты могут быть загружены из ГИФы, и может быть создан ГИФов динамически как ByteArray, и загружается в.

Я не знаю, если это будет вариант вообще для вас, и я не уверен, насколько это было бы тяжело. Я читал о спецификации формата swf, доступной здесь: http://www.adobe.com/devnet/swf/ Затем изучите байт-код пустой swf, а затем байт-код SWF с одним встроенным шрифтом и найдите, где находятся данные шрифта, это что должно быть заменено шрифтом, предоставленным пользователем. Интересно, нет ли всего содержимого файла, когда он встроен в swf. В этом случае речь идет практически о вставке шрифтов в нужное место шаблона swf, что не должно быть слишком сложным. Но, возможно, это будет немного сложнее, и я подозреваю, что он тоже сжат ... Может быть, есть информация о создании программных программ swf, если вы google. ..

Извините, я не мог дать вам больше удобный ответ =)

+2

Ну, это дало мне представление. Может быть, что я могу сделать (с тех пор, как они размещали это на нашем vps), создает шаблон в виде файла и использует ColdFusion, чтобы заполнить шаблон и передать его в mxmlc и загрузить этот swf в наше приложение. Теоретически это должно работать Спасибо, человек! –

+8

Рад, что он помог =) Хе-хе, мне нравится ваша идея, конечно, это будет медленнее, и на сервере будет больше работы, но это определенно намного проще и быстрее реализовать. – Clox

+1

Да, это немного медленнее, но они использовали это внутренне, чтобы создать какой-то материал. Так что этого достаточно –

Смежные вопросы