|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Jan 2008
Сообщений: 221
|
TextArea, htmlText, css и два Embed шрифта
Встала такая задача.
В компонент TextArea нужно загрузить и отобразить текст из хтмл который будет конфигурироваться css файлом, а текст отображается двумя - тремя Embed шрифтами. В нете нарыл инфу поэтому поводу. так же существует платный компонент который решает эту задачу но у него не приемлемая стоимость. вот код который по логике(моей) должен работать но не работает :-( подскажите где я накосячил и как можно лучше решить задачу? <?xml version="1.0" encoding="utf-8"?><mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" initialize="init()" xmlns:ns1="visual.gui.*" xmlns:containers="flexlib.containers.*" xmlns:battlefield="visual.gui.battlefield.*"> <mx:Script> <![CDATA[ private var h1Style: String = "h1 {font-family: regularFont; font-size: 120; font-weight: bold; text-align: center; letter-spacing: 20px; }\n"; private var blockquoteStyle: String = "blockquote {font-style: italic; margin-left: 20px; }\n"; [Embed("MTCORSVA.TTF", fontName="regularFont", mimeType="application/x-font")] private var font1:Class; private function cc(e: Event): void { textArea.htmlText = "<h1>Заголовок</h1>\n<blockquote>Цитата ДлиннаяЦитата ОченьДлиннаяЦитата ОченьПреоченьДлиннаяЦитата ОченьПреоченьСверхдлиннаяЦитата ОченьОченьПреоченьСверхдлиннаяЦитата ОченьОченьПреоченьСверхдлиннаяЦитата - это всего лишь Цитата ДлиннаяЦитата ОченьДлиннаяЦитата ОченьПреоченьДлиннаяЦитата ОченьПреоченьСверхдлиннаяЦитата ОченьОченьПреоченьСверхдлиннаяЦитата ОченьОченьПреоченьСверхдлиннаяЦитата</blockquote>"; } private function b1click(e: Event): void { // Создаем новый StyleSheet var styleSheet: StyleSheet = new StyleSheet(); // Парсим наши стили (можно использовать и загружаемые через URLLoader // CSS файлы. styleSheet.parseCSS(h1Style + blockquoteStyle); // Назначаем stylesheet нашей TextArea textArea.styleSheet = styleSheet; } private function b2click(e: Event): void { // Создаем новый StyleSheet var styleSheet: StyleSheet = new StyleSheet(); // Задаем стиль для заголовка H1 var h1StyleObject: Object = {fontFamily: "regularFont", fontSize: 120, fontWeight: "bold", textAlign: "center", letterSpacing: "20px" }; // Задаем стиль для blockquote (синтаксис другой, но смысл тот же) var blockquoteStyleObject: Object = new Object(); blockquoteStyleObject.fontStyle = FontStyle.ITALIC; blockquoteStyleObject.marginLeft = '20px'; // Записываем стили в stylesheet styleSheet.setStyle("h1", h1StyleObject); styleSheet.setStyle("blockquote", blockquoteStyleObject); // Назначаем stylesheet нашей TextArea textArea.styleSheet = styleSheet; } ]]> </mx:Script> <mx:Panel title="Кнопочки" width="100%" layout="horizontal"> <mx:Button id="b1" click="b1click(event)" label="Button 1" width="50%"/> <mx:Button id="b2" click="b2click(event)" label="Button 2" width="50%"/> </mx:Panel> <mx:TextArea id="textArea" creationComplete="cc(event)" width="100%" height="100%"/> </mx:Application> |
|
|||||
Если все еще важно - должно помочь :-)
Очень сильно подозреваю, что не хватает:
Если не помогло, то посмотреть И подставить в стили такое имя шрифта, какое указано там в объекте Font. К сожалению, ничего не получается с таблицами при таком подходе :-(. Хотя где-то видел подешевле компонент, в районе 50-100$. Если цена подходящая - стукнитесь в аську/приват, найду ссылку. Последний раз редактировалось BaRoN!; 13.05.2008 в 20:18. |
Часовой пояс GMT +4, время: 22:44. |
|
« Предыдущая тема | Следующая тема » |
|
|