9

アルフベルタンイーンを通常のアルフに交換する方法

4

3 に答える 3

5

C#はわかりませんが、それはUNICODEの質問です。この関数を使用して、 UNICODE正規化によってそれを行います。

まず、分解された形に正規化します。次に、「Mark、Nonspacing」カテゴリ[Mn]からすべての文字を除外します。最後に、正規化して構成された形式に戻します。

私が正しく見れば、あなたのグリフはUNICODEでARABIC LETTER ALEF WITH HAMZA ABOVEU + 0623[Lo])の後にARABIC FATHATANU + 064B[Mn])で表されます。最初の文字はARABIC LETTER ALEFU + 0627[Lo])+ ARABIC HAMZA ABOVEU + 0654[Mn])に分解されます。

変換のチェーンは次のとおりです(最初の矢印は分解を示し、2番目は非スペーシングマークを除外し、3番目は合成を示します):

U+0623 + U+064B → U+0627 + U+0654 + U+064B → U+0627 → U+0627

分解し、[Mn]カテゴリからすべての文字を削除し、元に戻すと、残りはARABIC LETTER ALEF1つだけになります。

于 2011-01-13T16:27:06.247 に答える
2

文字列内のUnicode文字を置き換える方法の例を提供するこのプロジェクトを見てください:http://www.codeproject.com/KB/string/FontGlyphSet.aspx

参照:

于 2011-01-13T16:15:28.063 に答える
1

数分の検索の後のBoloの啓発のおかげで、私はそのようにそれをしました:

string s = "";
        foreach (Char c in x)
        {
            if (((int)c).ToString("x").ToLower() != "64b")
                s += c.ToString();

        }

ここで、xは私の文字列です

そのように私は文字列からアラビア語のファタタンを除外しました

于 2011-01-16T08:52:30.503 に答える