Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Внедренее шрифтов (http://www.flasher.ru/forum/showthread.php?t=185505)

Riki 13.10.2012 23:40

Внедренее шрифтов
 
Вопрос: у меня есть папочка со шрифтом, пробывал шрифт подгурзить через CSS
Код:

@font-face {
    font-family: 'crystal-webfont';
    src: url('font/crystal-webfont.eot');
    src: url('font/crystal-webfont.eot?#iefix') format('embedded-opentype'),
        url('font/crystal-webfont.woff') format('woff'),
        url('font/crystal-webfont.ttf') format('truetype'),
        url('font/crystal-webfont.svg#PFBeauSansProSemiBold') format('svg');
}
h1 {
    font-family: "crystal-webfont";
    font-size: 24px;
        color: #000;
        margin: 0px;
    padding: 0px;
    font-weight: bold;
}

после подгружал CSS файл, и применял стили к текстовому полю вот так:
Код AS3:

var exampleText2:String = "<h1>0</h1>"
score_txt = new TextField();
                        score_txt.width = 300;
                        score_txt.height = 300;
                        score_txt.x = 200;
                        score_txt.y = 100;
                        score_txt.autoSize = TextFieldAutoSize.CENTER;
                        field.wordWrap = true;
                        addChild(score_txt);
 
            var req:URLRequest = new URLRequest("example.css");
 
            loader = new URLLoader();
            loader.addEventListener(Event.COMPLETE, onCSSFileLoaded);
            loader.load(req);
 
      function onCSSFileLoaded(event:Event):void
        {
            var sheet:StyleSheet = new StyleSheet();
            sheet.parseCSS(loader.data);
            field.styleSheet = sheet;
            field.htmlText = exampleText;
                        score_txt.styleSheet = sheet;
                        score_txt.htmlText = exampleText2;

И вот тот <h1></h1> ничего не изменяет, вообще. Вообщем CSS файл вообще на срабатывает.
не подскажите что можно исправить, или какой есть еще способ подключения шрифтов?

Wolsh 14.10.2012 00:19

Откуда Вы вообще взяли, что флэш-плеер может понимать файлы шрифта?
Этого никогда не было и пока даже не снится.
Подгрузить шрифт извне можно только внедренным в другой swf-файл. Потому что компилятор (не плеер) преобразовывает файл шрифта во внутренний формат флэш-плеера, и в таком виде шрифт находится в файле swf и используется плеером при воспроизведении. Стандартные форматы шрифта (TrueType например) плеер "не понимает".
http://www.flasher.ru/forum/showthread.php?t=169912

Riki 14.10.2012 00:42

Не очень понятно понятие "внедрение шрифта в другой swf", как это сделать?)
и как я понял подгружать надо, чисто swf и больше с им ничего делать ненадо?

Wolsh 14.10.2012 01:07

Флэш не работает с внешними файлами шрифтов (см. выше).
Чтобы использовать в своем ролике шрифт, который отсутствует у клиента на компе, шрифт надо внедрить (embed) в сам ролик. Существуют также ситуации, когда внедрять шрифт в основной ролик не хочется (большой вес шрифта и большая вероятность, что он не понадобится — например, в графических редакторах открыток). В таких ситуациях шрифт "подгружают" только в случае необходимости. Но для этого шрифт должен быть скомпилирован в swf-файл, который собственно и загружается в основной ролик только в случае необходимости. Как это можно сделать — описано в теме по ссылке выше, с исходниками.

Riki 14.10.2012 01:58

Наверное я очень тугой)
Но не могли бы вы на конкретном случае показать как оно должно быть)
есть шрифт: crystal-webfont.ttf
есть wheel.fla - в который надо подгрузить шрифт
и есть font.fla - с помощью которого будет создан font.swf.
Теперь вопрос: что конкретно надо написать в font.fla, и что написать в wheel.fla что бы оно считало данные с font.swf. Заранее благодарен.

Добавлено через 16 часов 23 минуты
Up, это вопрос жизни и смерти)


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

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