2016-09-10 6 views
0

私は、入力フィールドにペルシア語を書き込もうとしています。ペルシア語は右から左へ言語であり、アルファベットはアラビア語に似ています。入力フィールドにRTLを書く

テキストを変換して修正するlibraryが見つかりました。それはうまく動作します。変換されたテキストをDebug.Log()に表示しているときはすべてが完璧ですが、問題が修正されたテキストを入力フィールドに置くときには逆になります。私は入力フィールドのテキストを反転しようとしましたが、何も起こりませんでした!

ここに私のコード

public InputField empName; 

PersianMaker pm; 
string tempStr = ""; 

private void Start() 
{ 
    pm = new PersianMaker(); 
} 

void OnGUI() 
{ 
    tempStr = ""; 

    if (!string.IsNullOrEmpty(empName.text)) 
    { 
     tempStr = pm.ToPersian(empName.text); 
     tempStr = Regex.Replace(tempStr, @"\s+", " "); 
     tempStr = tempStr.Trim(); 
     //empName.text = ReverseString(empName.text); 
     //empName.text = tempStr; 
     Debug.Log(tempStr); 
    } 
} 

private string ReverseString(string s) 
{ 
    char[] arr = s.ToCharArray(); 
    Array.Reverse(arr); 
    return new string(arr); 
} 

は、任意の提案ですか?

+0

私はいくつかの研究が、それらの同じ質問とどれを尋ねる人がいずれかのいずれかの答えを持っていたところ、私が見つけた唯一のことをしました。 –

+1

uGUI( 'InputField')とOnGUIを混在させる?それをしないでください。 OnGUIコードを削除し、['inputField.onEndEdit.AddListener'](http://stackoverflow.com/a/38909364/3785314)を使用して、' InputField'のsubmitイベントに登録してください。 – Programmer

答えて

0

あなたはそれがうまく機能し、私は、これはそこに利用できる唯一のソリューションであると考えUPersian

と呼ばれる、次のオープンソースのライブラリを使用することができます。

enter image description here

関連する問題