Arhn - архитектура программирования

ActionScript 3 и внедрение шрифтов

У меня проблема с правильным встраиванием шрифтов в проект ActionScript 3 (flash CS4, а не flex).

Я следовал этому руководству Adobe по внедрению шрифтов: http://www.adobe.com/devnet/flash/quickstart/embedding_fonts/

в руководстве указано установить для свойства Textfield.embedFonts значение true. если я сделаю это и попытаюсь отобразить текст с другим шрифтом в этом текстовом поле, то ничего не будет отображаться - это нормально, я ожидаю, что это будет так.

Но теперь у меня есть такая проблема:

Я встраиваю шрифт «Arial» в стиль Regular и создаю два текстовых поля ввода на сцене. один из них я установил для свойства embedFonts значение true (как описано в руководстве), другой я оставил как есть. Теперь я публикую это как swf и пытаюсь ввести следующую (турецкую) строку в текстовое поле

Ени Йылын Барыш ве Мутлулук Гетирмезини Дилериз.

теперь проблема в том, что в нетронутом текстовом поле строка отображается правильно, но в том, для которого для параметра embedFonts установлено значение true, отсутствуют некоторые буквы (например, ş не отображается). Но у шрифта Arial эта буква есть, поскольку он правильно отображается в статике - так почему же он не отображается правильно, когда я устанавливаю это свойство (как сказано в руководстве)?

в моем последнем приложении должно быть одно текстовое поле, но несколько встроенных шрифтов и способ переключения между ними (например, пользователь должен иметь возможность выбрать другой шрифт для ввода китайского текста).

может кто подскажет как это правильно сделать?

Благодарность!


  • вот простой fla, объясняющий проблему: neo.cycovery.com/fontembeddingtest.zip 15.10.2009
  • Кажется, не все глифы встроены по умолчанию. проверьте это kirupa.com/forum/showthread.php?t=289266 15.10.2009
  • Я тоже подхожу к этому ... Я не встраиваю никаких шрифтов, но позволяю пользователю выбрать свой любимый шрифт. Когда они выбирают Arial (некоторые другие тоже), половина их букв отсутствует. Мне как-то приходится исключать встроенные шрифты из списка, из которого я позволяю им выбирать ... это больно! 20.11.2009

Ответы:


1

Встраивание шрифтов в Flash не так просто, как должно быть, и существует множество особых случаев ... Один из способов убедиться, что вы вставляете правильные символы вашего шрифта, - это включить функцию «Создать отчет о размере» в Flash Publish. Настройки .... там вы увидите все символы всех встраиваемых шрифтов. Единственное исключение - шрифты, встроенные с помощью тега [EMBED, там не отображаются.

Добавление шрифта в библиотеку не встраивает весь набор символов этого шрифта (например, Arial составляет около 8 МБ) ... он встраивает только их подмножество ... Я не уверен, всегда ли это стандартный западный Латинский набор, или если это зависит от компьютерного языка. Вы можете расширить этот набор вручную, используя любое текстовое поле в вашем фильме (с диалоговым окном «Встраивание символа ...»), если вы используете фактическое имя шрифта библиотеки (оно отображается в списке шрифтов со звездочкой в ​​конце ... в вашем случае это будет «Arial *»).

Вы также можете использовать тег [EMBED с unicodeRange для объявления набора символов de, но помните, что объявленные вами шрифты не будут доступны во Flash IDE во время редактирования ... вам необходимо установить их во время выполнения с помощью ActionScript ( TextFormat, StyleSheet и т. Д.), Что не очень практично при работе с Flash.

15.10.2009
  • привет и спасибо за ответ! как ни странно, даже если я создам текстовое поле и ввожу строку Yeni Yılın Barış ve Mutluluk Getirmesini Dileriz. в среде разработки, а затем при экспорте, текст будет вести себя следующим образом: -если я установил встраивание символов для этого текстового поля, чтобы оно не встраивалось: текст выглядит нормально -если я установил встраивание символов для этого текстового поля на Все некоторые буквы не отображается, даже если я вставлю строку в поле для вставки этих символов, строка не будет отображаться должным образом после экспорта спасибо за помощь 19.10.2009

  • 2

    Я использую системные шрифты и избегаю встроенных, таких как Arial.

      public function get availableFonts(): Array
      {
         var font: Font = null;
         var allFonts: Array = Font.enumerateFonts(true).sortOn("fontName", Array.CASEINSENSITIVE);
         var embeddedFonts: Array = Font.enumerateFonts(false);
    
         var excludeList: Object = {}
         for each(font in embeddedFonts)
         {
            excludeList[font.fontName] = '';
         }
    
         var ourFonts: Array = [];
         for each(font in allFonts)
         {
            if (!excludeList.hasOwnProperty(font.fontName))
            {
               ourFonts.push(font);
            }
         }
    
         return ourFonts;
      }
    

    В списке шрифтов, которые это возвращает, будут все буквы.

    (Было бы неплохо, если бы в ActionScript был какой-то более простой способ встроить разницу в наборах?)

    20.11.2009

    3

    Если вы ищете более надежное решение для загрузки шрифтов, которое может загружать различные шрифты во время выполнения, я разместил здесь некоторый код (http://labs.tomasino.org/2009/07/16/flash-as3-runtime-font-manager/) и пояснения о том, как его использовать.

    11.11.2011
    Новые материалы

    Коллекции публикаций по глубокому обучению
    Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

    Представляем: Pepita
    Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

    Советы по коду Laravel #2
    1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

    Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
    Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

    3 способа решить квадратное уравнение (3-й мой любимый) -
    1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

    Создание VR-миров с A-Frame
    Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

    Демистификация рекурсии
    КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..