Flex 4: текстовые поля Sparks не используют шрифт по умолчанию и выдают предупреждения - PullRequest
0 голосов
/ 22 февраля 2011

При запуске приложения я получаю следующее предупреждение:

предупреждение: несовместимый встроенный шрифт «Arial» указан для spark.components :: Label (Label104). Этот компонент требует, чтобы встроенный шрифт объявляется с embedAsCff = верно.

Приложение, над которым я работаю, представляет собой смесь компонентов Halo и Sparks, так как я перевожу его на Flex 4. Текст, отображаемый в текстовых полях, по умолчанию использует системный шрифт с засечками.

Есть несколько проблем с этим предупреждением.

1) Я не встраиваю какие-либо шрифты в приложение. Я даже не назначаю шрифт Arial ни одному из компонентов.

2) Если я отмечу «Использовать Flash Text Engine в компонентах MX», то все текстовые поля в приложении выдают предупреждение. Не только искровые текстовые поля.

Почему Flex 4 считает, что я использую встроенный шрифт с компонентами Sparks? Есть ли способ обойти это предупреждение и использовать в текстовых полях не встроенный шрифт?

1 Ответ

2 голосов
/ 22 февраля 2011

Похоже, блог FlexWiz тоже столкнулся с этой проблемой .

Проблемы со встроенными шрифтами

Теперь, когда мой проект компилируется и запускается, я замечаю, что шрифты выглядят неправильно.Однако на этот раз приятные ребята из Adobe предоставили нам следующее предупреждение:

предупреждение: для mx.controls :: UITextField (UITextField36 указан несовместимый встроенный шрифт 'ArialFont').Этот компонент требует, чтобы встроенный шрифт был объявлен с помощью embedAsCff = false.

Что ж, как оказалось, новый SDK теперь назначает два различных типа встроенных шрифтов: встроенный CFF и встроенный не CFF.CFF используется исключительно компонентами spark, в то время как компоненты mx могут использовать только не-CFF - очень плохо, поскольку это практически означает, что вы не можете разделять стили между, скажем, метками spark и halo и текстовыми полями, как я.

Чтобы это исправить, вам нужно определить каждый из ваших встроенных шрифтов дважды: один экземпляр для spark, а другой экземпляр для halo ... упс, я имею в виду mx.В шрифте mx embed установите для embedAsCFF значение false, а затем создайте стили для обоих типов и используйте их из соответствующих компонентов.На веб-сайте Adobe .

имеется подробное объяснение с примерами кода .
...