|
|
|||||
Регистрация: Aug 2010
Сообщений: 5
|
Проблема с embedFonts
Я недавно начал изучать этот замечательный язык по книжке Мука, добрался до встраивания шрифтов.
Полностью копирую пример из книги - не отображается текст, хотя само поле отрисовывается (при textfield.border=true). Вот пример моего кода: package { import flash.display.*; import flash.text.*; public class HelloWorldVerdana extends Sprite { public function HelloWorldVerdana ( ) { var pole:TextField=new TextField(); pole.embedFonts=true; pole.text="hello world"; pole.border=true; pole.width=300; pole.setTextFormat(new TextFormat("ar_font1",20)); addChild(pole); } } } все работает, и присваивается новый формат текста с встроенным шрифтом ar_font1. В книге Мука представлены ввиду встраивания [Embed] [Embed(source="E:/Windows/Fonts/Verdana.ttf", fontFamily="Verdana")] private var verdana:Class; var t:TextField = new TextField( ); t.embedFonts = true; t.htmlText = "<FONT FACE='Verdana'>Hello world</FONT>"; addChild(t); С ними та же история: с строчкой t.embedFonts = true; - не работает, без нее - работает. стоит Flash CS5). Помогите разобраться пожалуйста с проблемой) |
|
|||||
Регистрация: Feb 2010
Сообщений: 95
|
Цитата:
Внедрить шрифты с ЦС5 (в отличии от ЦС4) мне так и не удалось, на форуме ничего не подсказали. В результате, пользуюсь имбэдом: У меня работает с embedFonts = true. |
|
|||||
Регистрация: Aug 2010
Сообщений: 5
|
у меня вызывает ошибку данный код
Может конечно это отсутствие опыта, но странно что ты вызываешь метод -конструктор класса FontClass хотя этого метода не существует). Если у тебя работает, можешь скинуть полностью рабочий пример с текстовым полем и текстом в нем с встроенным шрифтом, пожалуйста? |
|
|||||
Регистрация: Feb 2010
Сообщений: 95
|
Хорошо, без проблем, добавил архив к сообщению. Надеюсь, ты работаешь с FD; если нет, то код в /src/Main.as, файл шрифта в /lib, а бинарник в /bin.
Цитата:
Переменную font ввел только для удобства, чтобы каждый раз не писать название шрифта. Наверное, там лучше писать даже: для удобства. Упс, я в предыдущем сообщении static упустил (хотя это в данном случае не нужно, я скопировал с кода приложения). Последний раз редактировалось vinch; 13.08.2010 в 00:48. |
|
|||||
Регистрация: Aug 2010
Сообщений: 5
|
Спасибо большое за пример.
Вначале специально запустил все swf - все работает). Затем попытался запустить в Flash CS5, он попросил прописать путь к Flex SDK (см. картинку в вложениях) . Указал путь и до папки с ним, и добавил отдельно flex.swc. После этого ничего не отображается. Это уведомление было и в моих собственных примерах, но я принял его за должное, т.к. в книге Мука прямо сказано: "Чтобы в приложении Flash CS* работал тег Embed необходимо указать путь к файлу flex.swc". Затем установил FlashDevelop, открыл ExampleEmbed.as3proj - запускаю - FD попросил указать путь к папке с Flex SDK. После того как прописал путь - все то же самое что и в CS5 - ничего не отображается. И при попытке запустить swf из автономной версии плейера тоже ничего не видно.Flex SDK скачивал с сайта adobe. Не понимаю в чем может быть проблема. Я так понял проблема уже не в коде... В FD нашел такую строку при компиляции Loading configuration file F:\flex_sdk_4.1\frameworks\flex-config.xml возможно надо что нибудь там поправить? Последний раз редактировалось Greved; 13.08.2010 в 11:03. |
|
|||||
Регистрация: Feb 2010
Сообщений: 95
|
Тут я не знаю, что сказать.
Я не изменял никаких конфигов, и все работает. Правда, у меня flex sdk 3.5, может в этом дело? |
|
|||||
Регистрация: Aug 2010
Сообщений: 5
|
скачал flex 3.5a. В FD все к счастью заработало, но при попытке запустить Main.as в Flash CS5 все по прежнему(.
А случай с подгрузкой внешнего swf файла с шрифтами все равно ни там, ни там не работает(во вложении). |
|
|||||
Регистрация: Jul 2010
Сообщений: 3
|
Та же самая проблема. Писал с Flex SDK 3.1. Все работало. внедренные тегом EMBED шрифты отображались. Скачал Flex SDK 4.1 Шрифты отображатся перестали. Может их теперь как-то по другому внедрять нужно? отпишитесь, если кто выяснил.
|
|
|||||
меценат
|
прошу прощения что не вникал, но была проблема с внедрением шрифта, прокопал пол - рунета нашел кучу не понятной информации которая пригодиться еще, но помогло замена шрифта типа ttf на шрифт типа otf
надеюсь вам поможет
__________________
Безвыходных положений небывает © Барон Мюнхаузен=)Исходники |
|
|||||
я тоже не вникал особо в топик, но вшить ттф на этапе компиляции можно по крайней мере двумя способами
1) из ttf файла что лежит в папке assets [Embed(source='assets/paola.ttf', fontName="paola", mimeType="application/x-font-truetype", embedAsCFF=false)] public var font:Class; посмотреть список шрифтов которые удалось успешно вшить можно так: var fontArray:Array = Font.enumerateFonts(false); for(var i:int = 0; i < fontArray.length; i++) { var thisFont:Font = fontArray[i]; trace(i+") name: " + thisFont.fontName +" typeface: " + thisFont.fontStyle); } Цитата:
и всё будет как раньше
__________________
Хороший отдых - половина работы. |
Часовой пояс GMT +4, время: 18:34. |
|
« Предыдущая тема | Следующая тема » |
|
|