Han*_*pan 3 flash actionscript-3 flash-cs4
哇,这个真的很奇怪.
我有以下设置:
舞台上的两个文本字段,Arial normal和Arial粗体,都嵌入了.然后我有另一个文本字段,我设置如下:
tb.htmlText = "Test <b>Test</b>";
Run Code Online (Sandbox Code Playgroud)
出于某种原因,粗体文本不显示为粗体,而是显示为常规体重.我尝试使用[Embed]元标记在库中嵌入字体,甚至使用CSS强制使用fontFamily.奇怪的是,我可以使用Font.enumurateFonts并看到两种字体都是嵌入的,但是textfield拒绝在<b>标签内使用粗体版本.
我被告知这是Mac上的Flash CS4的问题,它可以在PC上运行.但是,我拒绝相信这种情况.当然,Adobe现在已经解决了这个问题吗?
任何帮助,将不胜感激.
小智 6
你必须在字体列表中有"粗体"字体(嵌入在相同或其他文本字段中):
var fonts:Array = ( Font.enumerateFonts() );
for each( var fo in fonts ){
trace ( fo.fontName ,":", fo.fontStyle )
}
Run Code Online (Sandbox Code Playgroud)
我认为,如果你将fontstyle返回为粗体,它可能应该没有问题.这是一个解决方案:
var css:StyleSheet = new StyleSheet()
css.setStyle( "bold" , { fontFamily:"Myriad Pro Bold" } ) // you can catch the fontname in the list that was printed by the code above...
txtfield.styleSheet = css;
txtfield.htmlText = "regular or<bold>bold font</bold>."
Run Code Online (Sandbox Code Playgroud)