FlashCS5嵌入字体htmlText粗体:如何使用TLFTextField和TextConverter?


0

我一直在这个问题上停留了很长很长的时间,这已经被提出并讨论过很多次了。这个任务还是一个简单的任务,实在不应该花费它已经有的疯狂的时间量:在嵌入字体(Arial除外)的文本字段中加粗几个字。

b标签似乎只在使用Flash似乎可以识别粗体重的字体(Arial等)时才起作用 - 但我使用的字体有4种权重:常规,中等,粗体和黑色。我需要在中等重量的正文文本中使用粗体字的黑色重量。

我做了几十次测试,都没有使用“经典”文本字段,为每个重量嵌入一次字体并使用htmlText:在嵌入对话框中尝试了每个可能的设置,标签为b,span,em - 带有TextFormat (粗体,字体)或StyleSheet(fontWeight,fontStyle,fontFamily)...

结论:没有办法在单个文本字段中设置2个不同的嵌入字体。

问题是肯定链接到字体的嵌入,具有以下调试辅助功能证实:

/** 
* Debug helper: trace embedded fonts 
*/ 
function trace_embedded_fonts():void 
{ 
    var fonts:Array = Font.enumerateFonts(); 
    for (var i:int = 0; i < fonts.length; i++) 
     trace(fonts[ i ].fontName + " - " + fonts[ i ].fontStyle + " - " + fonts[ i ].fontType); 
} 

/** 
* Debug helper: Trace format 
*/ 
function trace_classic_textfield_format(tf:TextField):void 
{ 
    trace("trace_tlf_textfield_format(" + tf.name + ")"); 
    trace(" font = " + tf.getTextFormat().font); 
} 

分别输出Maven Pro - regular - embedded(即使我内置的4倍的字体,一旦每眼前这个单行重量 - 是的:我仔细命名它们,我尝试导出动作,在DF3和DF4中,也没有导出)和font = Maven Pro在场景上的所有textField实例,无论哪种风格都应用于它们(也尝试了两种选择嵌入字体 - 最后加上* - 以及系统字体)。

总之,字体很奇怪,但我对此无能为力。

所以我的问题涉及到新的文本布局框架(TLFTextField):它可以实现它吗?

文本从XML加载并包含像em,b等简单标签,但将其重写为流标签不是一种选择。

我尝试了通过TextConverter类的转换 - 比如var tf:TextFlow = TextConverter.importToFlow(hyperText, TextConverter.TEXT_FIELD_HTML_FORMAT); - cf. http://help.adobe.com/en_US/as3/dev/WS14c3067b34b57c6d4a97343b122ab36a52f-7ffb.html#WS14c3067b34b57c6d4a97343b122ab36a52f-7ff9 - 但我不明白如何设置每个标签的样式以及如何将TextFlow应用于已在手动添加到Flash Stage上的TLF文本字段

1

有关信息,我放弃了使用TLFTextFields和使用其他字体(一个由Flash理解黑体)解决此问题的工作由- 这个故事的寓意是,这个问题目前是一个残酷限制的TextField中闪。

一两件事:大胆的文字将不会在舞台上动态添加,除非已经是TextField的(在每个你需要使用的风格)目前在舞台上从一开始就文本框的工作(我离开2个文本框以“test”在白色的白色bg上隐藏它们)。

未来的注意事项:制作视频点击这里的问题“愤怒的视频游戏书呆子”。