Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   embedFonts помогите разобраться (http://www.flasher.ru/forum/showthread.php?t=137408)

AzagThoth 12.03.2010 18:19

embedFonts помогите разобраться
 
Здравствуйте. Пытаюсь разобраться как использовать встроенные шрифты, пока безуспешно.
Мои действия:
1) Находясь в библиотеке нажимаю - меню -> Создать шрифт.
2) В поле имя и идентификатор для AS пишу -> my font
3) Ввожу код из справочника в первый кадр сцены:
Код AS1/AS2:

var my_fmt:TextFormat = new TextFormat();
my_fmt.font = "my font";
 
this.createTextField("my_txt", this.getNextHighestDepth(), 10, 10, 160, 120);
my_txt.wordWrap = true;
my_txt.embedFonts = true;
my_txt.text = "Hello world";
my_txt.setTextFormat(my_fmt);
my_txt._rotation = 45;

В итоге на экране ролика после запуска - пусто.
Пустота начинается после строки my_txt.embedFonts (пробовал построчно комментировать) Тут, по идее после этой строки как я понял надо сказать какой встроенный шрифт использовать вот так my_txt.setTextFormat(my_fmt); но всё равно после этого при запуске ролика текста нет.
Код AS1/AS2:

var my_fmt:TextFormat = new TextFormat();
my_fmt.font = "my font";
 
this.createTextField("my_txt", this.getNextHighestDepth(), 10, 10, 160, 120);
my_txt.text = "Hello world";
my_txt.embedFonts = true;
my_txt.setTextFormat(my_fmt);

Т.е. такой вариант тоже не подходит.
__
Всё начинает работать только если вообще от embedFonts отказаться:
Код AS1/AS2:

this.createTextField("my_txt", this.getNextHighestDepth(), 10, 10, 160, 120);
my_txt.text = "Hello world";

Пожалуйста помогите разобраться с ошибкой.

etc 12.03.2010 18:44

Посмотрите уже в кои-то веки FAQ.

AzagThoth 12.03.2010 19:12

Пример из FAQ не работает. Выше я всё подробно расписал.

Добавлено через 33 минуты
Невероятно, но факт. Заработало САМО.

mooncar 12.03.2010 19:56

Вложений: 1
Не используйте библиотеку - с кириллицей это неудобно, трудно задать диапазон символов и еще кое-что.
Создаются технические поля и внедряете в них нужные диапазоны символов.

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

AzagThoth 12.03.2010 20:13

Супер! Пример понятен. Большое спасибо! Как раз сейчас затык случился, что кириллица не отображалась как раз хотел писать об этом. А тут Вы уже пример хороший выложили, как раз то что мне надо. Большое спасибо ещё раз.

mooncar 12.03.2010 20:14

Пожалуйста! Рекомендую еще кавычки-елочки (Alt+0171 и Alt+0187) для внедрения руками добавить в тех. полях, их в используемых наборах вроде нет, как помню.

AzagThoth 15.03.2010 19:37

Заменяем содержимое файла UnicodeTable.xml который лежит в директории C:\Users\nickname\AppData\Local\Adobe\Flash CS4\ru\Configuration\FontEmbedding на:
Код AS1/AS2:

<fontEmbeddingTable>
 
<glyphRange name="Rus-Eng-Num-Punct" id="8">
        <range min="0x0410" max="0x044F"/>
        <range min="0x0020" max="0x007E"/>
        <range min="0x00AB" max="0x00AB"/>
        <range min="0x00BB" max="0x00BB"/>
</glyphRange>
 
</fontEmbeddingTable>

Избавляемся от китайских/японских/тайских языков таким образом и навсегда забываем о ручном определении нужных символов. Кавычки-ёлочки включены :) Если вы всё таки любите писать по японски то эту строку можно просто добавить в конец файла. Все изменения можно увидеть после перезапуска приложения Flash разработки в меню Символ->Внедрение символа.

xjack 22.04.2010 15:25

Была аналогичная проблема. Все заработало когда заменил setTextFormat на setNewTextFormat.

AzagThoth 22.04.2010 16:03

setTextFormat задаёт стиль для существующего текста, можно задавать диапазоном символов.
setNewTextFormat задаёт стиль для всего текстового поля.
Принцип использования такой. setTextFormat после того как поле заполнено текстом. setNewTextFormat до.

mihailov.o.v 22.04.2010 17:38

Цитата:

Сообщение от mooncar (Сообщение 892736)
Не используйте библиотеку - с кириллицей это неудобно, трудно задать диапазон символов и еще кое-что.
Создаются технические поля и внедряете в них нужные диапазоны символов.

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

Спасибо! Нагуглил такую же проблему и тут на тебе - сразу решение!! С ёлочками попробую тоже


Часовой пояс GMT +4, время: 01:41.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.