2011-01-10 91 views

回答

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); 
+0

arabicTextField.direction = flashx.textLayout.formats.Direction.RTL;謝謝一堆! – robertp 2011-09-12 14:48:17

1

此外,您可能會需要包括你在圖書館

+1

不,包括字體是沒有必要的。 – 2011-04-11 00:14:46

0

我也有成功與FlarabySWF使用的字體 - 它的成本一些錢(不是很多),但它確實工作得非常好,我的經驗。

+0

愛Flaraby許可條件...「作爲FlarabySWF的買家,您可以使用它,條件是您要轉換的文本和轉換後的文本不以任何方式包含或暗指任何違反伊斯蘭教法或違反伊斯蘭教本身的行爲,包括但不限於:與伊斯蘭教倫理學相抵觸的任何作品,如性或色情,賭博,任何反對宗教或信使/先知的作品「。 – chichilatte 2015-06-01 16:29:25

1

嘗試添加的TextFormat以禮右對齊

var txtFormat:TextFormat = new TextFormat(); 
txtFormat.align = "right"; 
+0

提供屏幕截圖會讓你獲得加分:) – 2012-09-22 03:58:59

2

我知道這是一個古老的線程。但仍然是RTL文本最有用的片段。謝謝埃倫。

讓我補充在CC的時間編碼iOS版Flash Builder的4.7的一些經驗:

Flash Builder中不顯示阿拉伯和其他RTL語言在iOS需要在TLFTextField及其支持類船舶。

CS6和CC之間Adobe甚至從Flash Professional中刪除了這些類。可能是因爲標準的TextField類已經被改進了。

儘管如此,iOS RTL和阿拉伯語連字將無法使用。如果使用TextField類,則FlashBuilder的AirSimulator將正確顯示。如果你在iOS上運行相同的代碼,則不行。

StageText及其NativeText包裝將正確呈現,但確實對靜態文本有缺點。

您可能會想到重新引入TLFTextField。這裏是你如何能做到這一點:從創意雲

    • 安裝Flash專業版CS6在programfolder的「庫」子文件夾,你會發現,含有使用TLFTextField所需的類2度的SWC(!) :TLFRuntime.swc & textLayout.swc
    • 複製SWC在ProjectFolder,包括它在Flash Builder中打開你的項目的屬性 - > ActionScript構建路徑 - >庫路徑 - >添加SWC(或添加SWC文件夾內)

    這應該讓愛倫的c使用Air SDK 3.9在iOS上使用FlashBuilder 4.7.0

    您可以期待標準TextField在未來版本的Air中正確顯示阿拉伯語和其他RTL語言。