Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Внедрение шрифта в флешку для использования его через htmlText - возможно? (http://www.flasher.ru/forum/showthread.php?t=145336)

mikhailk 05.10.2010 12:03

Внедрение шрифта в флешку для использования его через htmlText - возможно?
 
Что-то не нашел ничего по этому поводу. Везде рассматривается схема, когда у текстового поля стоит embedFonts=true.

Мне нужно, чтобы у текстового поля embedFonts=false, а сами шрифты прописывались в html-коде через <FONT FACE="fontABC">, при этом fontABC брался бы из самой флешки.

ЗЫ. "embedFonts=false" является принципиальным.

wvxvw 05.10.2010 12:10

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

mikhailk 05.10.2010 12:20

Хотелось бы ехать с шашечками :)
Какие варианты еще есть?

Может у нас есть возможность заэмбедить в одно поле несколько шрифтов?

Задача, которую решаю, выглядит так:
- через htmlText вставляется текст с разметкой и тэгами FONT, в одном тексте может быть несколько шрифтов
- всего вариантов шрифтов примерно 10 и все они известны

Добавлено через 35 минут
Кстати, а через таблицу стилей может получиться?

Как-то так:
Код:

@font-face {
font-family: 'Pixel Cyr';
src: local(Pixel Cyr), url(fonts/pixelcyr)
}

Я, конечно, могу и сам поэкспериментировать, но может кто уже прошел этот путь?

nOobCrafter 05.10.2010 17:15

мм вы немного неверно понимаете суть. Встаиваете вы шрифты имнно во флеш приложение а не конкретно в текущее поле, то есть делаете где то за сцено1 5 полей, встраиваете в них шрифты и теперь во всем приложении можете их юзать.

-De- 05.10.2010 17:22

Ви таки хотите использовать внедрённый шрифт в поле с галочкой "не использовать внедрённый шрифт"?

mikhailk 05.10.2010 17:39

Цитата:

Сообщение от nOobCrafter (Сообщение 940997)
мм вы немного неверно понимаете суть. Встаиваете вы шрифты имнно во флеш приложение а не конкретно в текущее поле, то есть делаете где то за сцено1 5 полей, встраиваете в них шрифты и теперь во всем приложении можете их юзать.

Да нет, то, что шрифты встраиваются в приложение, а не в конкретное поле - это как раз понятно. И с тем, чтобы использовать их в простых полях, где шрифт внедрен явным образом - тоже проблем нет.

Вопрос именно с использованием шрифтов в коде html.

wvxvw 05.10.2010 23:27

Сомотрите, текстовое поле не "чесно" рендерит хтмл. Что происходит: когда вы сетите htmlText, то парсер разбирает значение на массив TextFormat и их полю и передает. Далее, если шрифт существует во флешке, флешка будет использовать его для отображения, если шрифт не существует во флешке, но существует в системе пользователя, то будет использоваться он (но это очень ненадежный вариант), если нет ни того ни другого - ничего и не увидите, никак.

mikhailk 05.10.2010 23:55

Цитата:

Сообщение от wvxvw (Сообщение 941123)
если шрифт существует во флешке, флешка будет использовать его для отображения

это меня вполне устроило бы

Добавлено через 14 часов 59 минут
Что-то в лоб не получилось.

Шрифт подключается в классе, в котором заполняется текстовое поле.

Цитата:

[Embed(source="assets/Gabriola.ttf", fontFamily="Gabriola")]
private var Gabriola:Class;
То, что шрифт появился в списке внедренных, проверяю так (в списке он выводится):

Код AS3:

        var embeddedFonts:Array = Font.enumerateFonts(false);
        embeddedFonts.sortOn("fontName", Array.CASEINSENSITIVE);
        for (var i:int = 0; i < embeddedFonts.length; i++)
        {
                trace(embeddedFonts[i].fontName);       
        }

html-код выглядит так:

Код:

<TEXTFORMAT LEADING="2"><P ALIGN="CENTER"><FONT FACE="Gabriola" SIZE="30" COLOR="#FF0000"
LETTERSPACING="0" KERNING="0">3. Текст <B>набран</B> <I>шрифтом </I><B><I>Gabriola
</I></B></FONT></P></TEXTFORMAT>

Однако, подстановки шрифта не происходит.


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

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