Неправильное отображение шрифта / таблицы стилей Flash AS3 - PullRequest
0 голосов
/ 11 марта 2011

Не могу понять, почему это не работает.Я создал SWF во Flash, который содержит шрифт, который я хочу использовать вместе с таблицей стилей в отдельном SWF.Таблица стилей и шрифт прекрасно работают в другом текстовом поле, которое статически размещено на сцене.Однако, когда я пытаюсь динамически разместить текстовое поле на сцене, это не работает.Единственное, что отображается, это текст с диапазоном класса .gbold.

Вот мой код:

function vidLoaded (e:LoaderEvent){ 


        var vidText:TextField = new TextField();

        vidText.autoSize = TextFieldAutoSize.LEFT;
        vidText.x = textX;
        vidText.y = textY;
        vidText.multiline = true;
        vidText.wordWrap = true;
        vidText.width = fieldWidth;
        vidText.height = fieldHeight;
        vidText.textColor = 0xFFFFFF;
        vidText.styleSheet = textStyleSheet;
        vidText.htmlText = project_array[cp].project_content;
        trace (vidText.htmlText);
        vidText.embedFonts = true;

        container.fileHolder.addChildAt(vid,0);
        container.fileHolder.addChildAt(vidText,1); 
    }

Трассировка vidText.htmlText подтверждает, что все правильно упаковано в теги CDATAи, кажется, правильно отформатирован.Вот моя таблица стилей:

* { font-family:Gotham-Book; color: #ffffff; }
.gbold {font-family:Gotham-Bold;}
html, body { height:100%; background-color: #ffffff;}
body { margin:0; padding:0; overflow:hidden; text-align:center;}
#flashContent { width:100%; height:100%;  }

и вот след vidText.htmlText:

<div class="content"><p>
    <span class="gbold">Lorem ipsum dolor sit amet</span>, consectetur adipiscing elit. Proin venenatis lorem et lorem dapibus eu porta est ornare.</p>

</div>

У кого-нибудь есть представление о том, что я делаю неправильно?Я застрял на этом слишком долго.

1 Ответ

2 голосов
/ 11 марта 2011

Вы используете встроенные шрифты, а шрифт Gotham-Book неправильно встроен.Gotham-Bold есть, поэтому отображается только текст с .gbold.Чтобы проверить, является ли это проблемой, просто установите «embedFonts = false», и вы должны увидеть, как отображается ваш текст.

Что касается проблемы с встраиванием шрифта, я недавно написал в блоге задницу на эту тему:http://divillysausages.com/blog/as3_font_embedding_masterclass

Мне нужно обновить его с помощью встраивания с использованием таблиц стилей во Flex, но там должно быть то, что вам нужно.По крайней мере, в нижней части поста есть несколько действительно полезных ссылок, которые дадут вам то, что вам нужно.

...