PDA

Просмотр полной версии : Цветной текст не равен ч/б по размерам


chingachgoog
13.11.2008, 14:59
Собственно есть два текстовых поля (tf1 и tf2). Полностью идентичные.
После задания цвета одному из полей их ширина - разная!

tf1.autoSize=tf2.autoSize=true
tf1.embedFonts=tf2.embedFonts=true
tf1.text=tf2.text="AB + CD = EF"

var TF=new TextFormat()
TF.color = 0xFF0000

tf2.setTextFormat (1, 2, TF)

trace (tf1._width+" "+tf2._width)

Какие есть мысли, чтобы эффект разной ширины свести к нулю?

Mnilionic
13.11.2008, 17:14
разница в +/-5 сотых пикселя.
Округляйте до целых пикселей. Что за наноточность? :)

chingachgoog
13.11.2008, 17:18
Разница маленькая при маленьком тексте - дальше хуже. :(
Хотелось бы понять причину и способы компенсации эффекта.

Mnilionic
13.11.2008, 17:29
причина явно в сглаживании текста. Если её отключить всё ровненько, а если поиграться свойствами antiAliasType и gridFitType то результаты тоже не предсказуемые.

+

при большом тексте вроде тоже ничего страшного... вообще широты равно

tf1.autoSize=tf2.autoSize=true
tf1.embedFonts=tf2.embedFonts=true
tf1.text=tf2.text="AB + CD = EF, AB + CD = EF, AB + CD = EF, AB + CD = EF, AB + CD = EF, "

var TF=new TextFormat()
TF.color = 0xFF0000

for(var i = 0; i<tf1.text.length; i= i+2){
tf2.setTextFormat (i, i+1, TF)
}

trace (tf1._width+" "+tf2._width)