如何使用as3从右到左显示阿拉伯文字?
答案 0 :(得分:9)
这段代码可以解决问题:
import flash.text.AntiAliasType;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.external.*
import fl.text.TLFTextField;
import flash.text.TextFormat;
import flashx.textLayout.formats.TextLayoutFormat;
import flashx.textLayout.elements.TextFlow;
var arabicTextField:TLFTextField = new TLFTextField();
arabicTextField.antiAliasType = AntiAliasType.ADVANCED;
arabicTextField.mouseEnabled = false;
arabicTextField.selectable = false;
arabicTextField.direction = flashx.textLayout.formats.Direction.RTL;
var fmt:TextFormat = new TextFormat();
fmt.color = 0xFFFFFF;
fmt.font = "arialArabic"
arabicTextField.embedFonts = false;
arabicTextField.defaultTextFormat = fmt;
arabicTextField.setTextFormat(fmt);
答案 1 :(得分:2)
Text Layout Framework可以处理从右到左的文字。
答案 2 :(得分:2)
我知道这是一个老线程。但仍然是RTL Text最有用的片段。谢谢艾伦。
让我在CC:
中添加一些Flash Builder 4.7编码iOS的经验Flash Builder不附带TLFTextField及其在iOS上显示阿拉伯语和其他RTL语言所需的支持类。
在CS6和CC之间,Adobe甚至从Flash Professional中删除了这些类。可能是因为标准的TextField类已得到改进。
尽管如此,在iOS RTL和阿拉伯语Ligatures仍然无法使用。如果使用TextField类,FlashBuilder的AirSimulator将正确显示。如果您在iOS上运行相同的代码,则不会。
StageText及其NativeText包装器将正确呈现,但对静态文本有缺点。
您可能会想到重新引入TLFTextField。这是你如何做到的:
这应该使Ellen的代码可以在适用于iOS的FlashBuilder 4.7上使用Air SDK 3.9
您可能希望标准TextField在未来的Air版本中正确显示阿拉伯语和其他RTL语言。
答案 3 :(得分:1)
此外,您可能需要包含您在库中使用的字体
答案 4 :(得分:1)
尝试使用专有的右对齐方式添加文本格式
var txtFormat:TextFormat = new TextFormat();
txtFormat.align = "right";
答案 5 :(得分:0)
我在FlarabySWF也取得了成功 - 花了一些钱(不是很多)但实际上我的经验非常好。
答案 6 :(得分:0)
如果您不反对Flex框架,它现在包含一个体面的国际化库,可以让您轻松完成。这是一个体面的开始http://devgirl.org/2011/03/15/flex-4-localization/