Форум 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=135340)

Seroy 21.01.2010 12:09

Кириллица в embedFonts
 
Код AS1/AS2:

my_label.text = "Ugol 90°";
my_label.embedFonts=true;
my_label.fontFamily="Font 1";
my_label._rotation=90;

Код позволяет встроить шрифт (embedFonts) в компонент Label. Но при этом никакой из шрифтов, взятых за исходный, не отображает кириллицу. Может, кто знает, как справиться?

etc 21.01.2010 12:18

Не создавайте шрифты в либе, в них не входит диапазон кириллицы. Что нужно делать — ищите в FAQ.

Seroy 21.01.2010 12:24

Цитата:

Сообщение от etc (Сообщение 880830)
Не создавайте шрифты в либе, в них не входит диапазон кириллицы. Что нужно делать — ищите в FAQ.

А в каком именно FAQ, если не секрет?

etc 21.01.2010 12:29

В FAQ здесь, на форуме.

Seroy 21.01.2010 12:42

Обнаружил в FAQ ссылку вот на эту статью:

http://www.flash-mx.ru/forum/topic_show.pl?tid=1624


По идее, мне нужен шрифт для компонента, не для поля. Прошел по директории, которая указана в статье. Там содержится папка Flash 8. А что делать, если у меня CS4?

mooncar 21.01.2010 13:35

Сделайте просто. Создайте динамическое поле в любом месте, где-нибудь в первом кадре. Внедрите туда КНОПКОЙ EMBED (На панели свойств поля) нужный набор (для обычного текста я внедряю Цифры, Пунктуацию, Базовую Латиницу, Кириллицу, иногда еще что-то).
Сделайте так для полужирного и наклонного, если надо.
Теперь embedFonts=true; будет работать везде.

Это я о том, как именно внедрять. А поле для внедрения нужно найти внутри компонента, если стандартного свойства нет.

mooncar 21.01.2010 14:33

Вложений: 1
Автор, само текстовое поле в компоненте Label имеет имя labelField.
Ему-то и нужно шрифт заэмбедить.
А после этого как-то назначить нужный шрифт и прочее оформление, чтобы заработало.
С textFormat не получилось.
Зато вот получилось с помощью CSS:

Код AS1/AS2:

import TextField.StyleSheet;
var my_styleSheet:StyleSheet = new StyleSheet();
my_styleSheet.setStyle(".mystyle", {color:"#FF0000", fontFamily:"PT Sans Narrow Bold", fontSize:"20"} );
 
my_label.labelField.embedFonts = true;
my_label.labelField.styleSheet = my_styleSheet;
my_label.text = '<span class="mystyle">Это label с внедренным текстом</span>';

Что интересно, с html-форматированием работает именно конструкция my_label.text, а не my_label.labelField.htmlText (интересно, почему).

См. прикрепленный рабочий пример в конце.


А ниже я привел список возможных свойств этого самого текстового поля в Label, полученный с помощью нехитрой операции
Код AS1/AS2:

for (i in my_label.labelField) {
        trace(i + '  ' +  my_label.labelField[i]);
}

Код:

getFocusManager  [type Function]
onKillFocus  [type Function]
onSetFocus  [type Function]
setFocus  [type Function]
changeTextStyleInChildren  [type Function]
setStyle  [type Function]
adjustFocusRect  [type Function]
drawFocus  [type Function]
getPreferredHeight  [type Function]
getPreferredWidth  [type Function]
_getTextFormat  [type Function]
value 
getValue  [type Function]
setValue  [type Function]
__getTextFormat  [type Function]
getStyle  [type Function]
setColor  [type Function]
draw  [type Function]
invalidateStyle  [type Function]
setSize  [type Function]
move  [type Function]
enabled  undefined
visible  true
bottom  NaN
right  NaN
y  0
top  0
x  0
left  0
height  22
width  100
styleSheet  [object Object]
mouseWheelEnabled  true
condenseWhite  false
restrict  null
textHeight  0
textWidth  0
bottomScroll  1
length  0
selectable  false
multiline  false
password  false
wordWrap  false
background  false
border  false
html  false
embedFonts  true
maxChars  null
maxhscroll  0
hscroll  0
variable  null
htmlText 
type  dynamic
text 
autoSize  none
tabIndex  undefined
textColor  0
backgroundColor  16777215
borderColor  0
maxscroll  1
scroll  1
filters 
sharpness  0
thickness  0
antiAliasType  normal
gridFitType  pixel
styleName  _level0.my_label

К этим свойствам и методам тоже можно попробовать пообращаться :).

etc 21.01.2010 14:35

FAQ это здесь, а не на каком-то левом сайте.

http://www.flasher.ru/forum/showthread.php?t=93152

Seroy 26.01.2010 11:11

Цитата:

Сообщение от mooncar (Сообщение 880886)
Автор, само текстовое поле в компоненте Label имеет имя labelField.
Ему-то и нужно шрифт заэмбедить.
А после этого как-то назначить нужный шрифт и прочее оформление, чтобы заработало.
С textFormat не получилось.
Зато вот получилось с помощью CSS:

Код AS1/AS2:

import TextField.StyleSheet;
var my_styleSheet:StyleSheet = new StyleSheet();
my_styleSheet.setStyle(".mystyle", {color:"#FF0000", fontFamily:"PT Sans Narrow Bold", fontSize:"20"} );
 
my_label.labelField.embedFonts = true;
my_label.labelField.styleSheet = my_styleSheet;
my_label.text = '<span class="mystyle">Это label с внедренным текстом</span>';

Что интересно, с html-форматированием работает именно конструкция my_label.text, а не my_label.labelField.htmlText (интересно, почему).

См. прикрепленный рабочий пример в конце.


А ниже я привел список возможных свойств этого самого текстового поля в Label, полученный с помощью нехитрой операции
Код AS1/AS2:

for (i in my_label.labelField) {
        trace(i + '  ' +  my_label.labelField[i]);
}

Код:

getFocusManager  [type Function]
onKillFocus  [type Function]
onSetFocus  [type Function]
setFocus  [type Function]
changeTextStyleInChildren  [type Function]
setStyle  [type Function]
adjustFocusRect  [type Function]
drawFocus  [type Function]
getPreferredHeight  [type Function]
getPreferredWidth  [type Function]
_getTextFormat  [type Function]
value 
getValue  [type Function]
setValue  [type Function]
__getTextFormat  [type Function]
getStyle  [type Function]
setColor  [type Function]
draw  [type Function]
invalidateStyle  [type Function]
setSize  [type Function]
move  [type Function]
enabled  undefined
visible  true
bottom  NaN
right  NaN
y  0
top  0
x  0
left  0
height  22
width  100
styleSheet  [object Object]
mouseWheelEnabled  true
condenseWhite  false
restrict  null
textHeight  0
textWidth  0
bottomScroll  1
length  0
selectable  false
multiline  false
password  false
wordWrap  false
background  false
border  false
html  false
embedFonts  true
maxChars  null
maxhscroll  0
hscroll  0
variable  null
htmlText 
type  dynamic
text 
autoSize  none
tabIndex  undefined
textColor  0
backgroundColor  16777215
borderColor  0
maxscroll  1
scroll  1
filters 
sharpness  0
thickness  0
antiAliasType  normal
gridFitType  pixel
styleName  _level0.my_label

К этим свойствам и методам тоже можно попробовать пообращаться :).

mooncar, спасибо! обяз. сегодня посмотрю. респект! :drinks:


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

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