Компиляция шрифтов в Adobe Flash CS4
Жил-был Flash. Хорошо жил. От 1 до 9-ой версии.
А потом воспаленный мозг разработчиков новой версии IDE решил, что нужно «поправить» работу со шрифтами в CS4. И поправили.
Теперь я не могу скомпилировать либу с одним и тем же шрифтом, но разными начертаниями, дабы использовать оные в html-тексте. Простейший код:
This content requires Adobe Flash Player.
Заставить его работать в CS4, не прибегая к метатегу Embed вы не сможете. А для использования Embed вам нужен Flex SDK, написать класс, влепить переменную, порадоваться в итоге новым трем классам и одному интерфейсу в swf-ке (рутовый, класс шрифта и флексовый FontAsset на пару с IFlexAsset). Я уже не говорю про безумно казуальное указание диапазонов символов.
Зато в CS4 можете налепить кучу шрифтов с разными именами (Myriad Pro Bold, Myriad Pro Italic и т. п.) и стилем начертания regular. Браво, Adobe!
23 comments
23 Comments so far
Leave a reply
ага, но ведь остался и старый добрый способ: создать где-нибудь в сторонке текстфилды с нужным начертанием и диапазоном эмбеда – и все отлично заработает,
таким же макаром и в SWC загнать его не проблема,
по мне так (через SWC)и в mxmlc-ные проекты удобнее их встраивть, чем через [Embed..]
Этот старый добрый способ как раз и не работает.
Мне всего лишь нужно три фонта в swf, а не сто мильенов классов.
Мда )
Flash CS4 в целом довольно странный продукт, после долгих мучений на двух проектах, в том числе с анимационными моделями на ~8000 кадров вернулись в CS3. Одни и те же флашники в CS3 редактируются почти без видимых тормозов, в то время как CS4 подвисает на несколько секунд-минуту при навигации по кадрам.
А я пока не знаю, как решить проблему, CS3 у меня нет, к сожалению.
>>Этот старый добрый способ как раз и не работает.
у меня работает, однако, o_O
почему и удивился, что за проблема такая..
Вы говорите о разных вещах. etc хочет иметь 1 класс – предок Font с шрифтом с начертаниями regular, bold и italic если я правильно понял. Реализовать это в CS4 нельзя.
silin, возможно, это зависит от конкретного шрифта?
andyone, да-да, только не класс, а просто три фонта с одинаковым именем и разными начертаниями. В CS3 это ещё было возможно.
Фонты, что в библиотеке ресурсов?
Нет, не в библиотеке. Просто swf с тремя текстовыми полями, с зашитыми в них шрифтами.
Тогда это у тебя какой-то баг. Все прекрасно работает.
http://gyazo.com/efb83309120bb7a9f38e476a04b66ff2.png
http://gyazo.com/e06890a311ffef90244527b17eb655e2.png
Проблема в том, что шрифты на выходе имеют разные имена, Myriad Pro, Myriad Pro Bold, Myriad Pro Italic и у всех начертание regular (визуально же они соответствуют названиям). А в CS3 один и тот же Myriad Pro и разные fontStyle.
Причем, если в CS3 можно выбрать как Myriad Pro Bold, так и Myriad Pro с выбранным bold-начертанием, то уже в CS4 этого сделать нельзя.
Вейт, а где ты получил разные имена? Если с помощью Font.enumerateFonts()- он возвращает 3 раза “Myriad Pro”. Если судить по байткоду, то это реально 3 разных шрифта (всего их 10 разных шрифтов), у них одна font family:
http://gyazo.com/5dcb0af02eddfb2ae8df6bc0e37740ad.png
Если в CS3 адоб использовал не имя шрифта, а font family, то это реально косяк и его нужно было исправить.
У меня возвращает следующее:
Myriad Pro Bold, regularMyriad Pro, regular
А ожидалось, как в CS3:
Myriad Pro, boldMyriad Pro, regular
В итоге в CS4 не работает тот самый примитивный код с html.
Это возвращает Font.enumerateFonts()?
Да.
И у тебя мак? Под виндой Font.enumerateFonts() выдает только “Myriad Pro”, так что вероятнее всего обрабатывает шрифты именно так как тебе нужно.
http://ftp.parcsis.org/andyone/flash/fnt.zip
Можешь посмотреть скомпилированный файл, если работает, ошибка платформозависимая.
Да-да, мак
Скачал архив, запустил, результат:
http://www.picamatic.com/show/2010/01/25/02/29/6373584_789×340.png
Значит нужно ставить виртуалку и там компилировать, к тому же можно отписать в jira адоба об этом ахтунге.
Да с виртуалкой, пожалуй, перебор
Нас тут несколько человек с маками, все работают над проектами и каждому ставить виртуалку как-то…
Насчет jira подумаю, возможно, напишу, хотя это скорее всего поведение конкретных шрифтов такое.
Поставить одному, расшарить для остальных по VNC. Все зависит от необходимости.
Ну это всё равно, мягко сказать, тотальный изврат
А вот нифига не платформозависимая бага… под виндой похожий косяк – но с битмап шрифтами, если верить муку, любой шрифт с галочкой битмап должен переименовываться в FONTNAME_Npt_type
где FONTNAME – имя шрифта
N – размер кегля
type = i ; b ; st ; bi в зависимости от начертания.
а вооот… CS4 решил что все будут называться FONTNAME_Npt_st и баста
поэтому если добавить в проект два bitmap шрифта bold и regular, то везде будет лишь regular… хм и баста.
Пришлось откопать CS3 и компилить шрифты им.