Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我如何用android编写波斯语?_Android_Fonts_Farsi - Fatal编程技术网

我如何用android编写波斯语?

我如何用android编写波斯语?,android,fonts,farsi,Android,Fonts,Farsi,我是android新手。我使用PersianReforme来更改文本视图、按钮和。。。所以他们工作了 但是我想写波斯语,比如在一个吐司或选项菜单中,我不知道怎么写 这是我的cod的一部分,用于按钮和文本视图 Button b = (Button) findViewById(R.id.button1); TextView tv =(TextView) findViewById(R.id.textView1); PersianReshape.ReshapeButton(b, "Tanna

我是android新手。我使用PersianReforme来更改文本视图、按钮和。。。所以他们工作了 但是我想写波斯语,比如在一个吐司或选项菜单中,我不知道怎么写

这是我的cod的一部分,用于按钮和文本视图

  Button b = (Button) findViewById(R.id.button1);
  TextView tv =(TextView) findViewById(R.id.textView1);
  PersianReshape.ReshapeButton(b, "Tannaz.ttf", MainActivity.this);
  PersianReshape.ReshapeTextview(tv, "Tannaz.ttf", MainActivity.this);
  • Android 2.1没有阿拉伯语字体
  • Android 2.2有阿拉伯语字体,但不能正确显示您的单词
  • Android 3.x完全支持阿拉伯语
  • 对于Android2.1,必须设置字体Farsi.GetFarsiFont(this),然后使用Farsi.Convert(“سلام”)
  • 对于Android 2.2,您不需要设置字体,但必须使用波斯语.Convert(“سلام”)
  • 对于Android3.x,忘记上面所有的解决方案;)。但是,如果您不喜欢3.x阿拉伯字体,可以更改字体
因此,请执行以下步骤:

  • 首先在资产文件夹中添加“TAHOMA.TTF”

  • 使用以下类获取字体,并将阿拉伯语或波斯语文本转换为良好的形式,以便在活动中显示

        import android.content.Context;
        import android.graphics.Typeface;
    
        public class Farsi {
            public static boolean isFarsiConversionNeeded = true;
    
            private final static String szLamAndAlef = Character
                    .toString((char) 0xfedf) + Character.toString((char) 0xfe8e); // Lam
            // +
            // Alef
    
            private final static String szLamStickAndAlef = Character
                    .toString((char) 0xfee0) + Character.toString((char) 0xfe8e); // Lam
            // (Sticky
            // !!!)+
            // Alef
    
            private final static String szLa = Character.toString((char) 0xfefb); // La
            private final static String szLaStick = Character.toString((char) 0xfefc); // La
            // (Sticky!!!)
    
            private final static String szLamAndAlefWoosim = Character
                    .toString((char) 0xe1) + Character.toString((char) 0xbb); // Lam +
            // Alef
    
            private final static String szLamStickAndAlefWoosim = Character
                    .toString((char) 0x90) + Character.toString((char) 0xbb); // Lam
            // (Sticky
            // !!!)+
            // Alef
    
            private final static String szLaWoosim = Character.toString((char) 0xd9); // La
            private final static String szLaStickWoosim = Character
                    .toString((char) 0xd9); // La
    
            // (Sticky!!!)
    
            private static final class struc {
                public char character;
                public char endGlyph;
                public char iniGlyph;
                public char midGlyph;
                public char isoGlyph;
    
                public struc(char Character, char EndGlyph, char IniGlyph,
                        char MidGlyph, char IsoGlyph) {
                    character = Character;
                    endGlyph = EndGlyph;
                    iniGlyph = IniGlyph;
                    midGlyph = MidGlyph;
                    isoGlyph = IsoGlyph;
                }
            }
    
            static struc[] arrStruc = {
                new struc((char) 0x630, (char) 0xfeac, (char) 0xfeab,
                        (char) 0xfeac, (char) 0xfeab),
                        new struc((char) 0x62f, (char) 0xfeaa, (char) 0xfea9,
                                (char) 0xfeaa, (char) 0xfea9),
                                new struc((char) 0x62c, (char) 0xfe9e, (char) 0xfe9f,
                                        (char) 0xfea0, (char) 0xfe9d),
                                        new struc((char) 0x62d, (char) 0xfea2, (char) 0xfea3,
                                                (char) 0xfea4, (char) 0xfea1),
                                                new struc((char) 0x62e, (char) 0xfea6, (char) 0xfea7,
                                                        (char) 0xfea8, (char) 0xfea5),
                                                        new struc((char) 0x647, (char) 0xfeea, (char) 0xfeeb,
                                                                (char) 0xfeec, (char) 0xfee9),
                                                                new struc((char) 0x639, (char) 0xfeca, (char) 0xfecb,
                                                                        (char) 0xfecc, (char) 0xfec9),
                                                                        new struc((char) 0x63a, (char) 0xfece, (char) 0xfecf,
                                                                                (char) 0xfed0, (char) 0xfecd),
                                                                                new struc((char) 0x641, (char) 0xfed2, (char) 0xfed3,
                                                                                        (char) 0xfed4, (char) 0xfed1),
                                                                                        new struc((char) 0x642, (char) 0xfed6, (char) 0xfed7,
                                                                                                (char) 0xfed8, (char) 0xfed5),
                                                                                                new struc((char) 0x62b, (char) 0xfe9a, (char) 0xfe9b,
                                                                                                        (char) 0xfe9c, (char) 0xfe99),
                                                                                                        new struc((char) 0x635, (char) 0xfeba, (char) 0xfebb,
                                                                                                                (char) 0xfebc, (char) 0xfeb9),
                                                                                                                new struc((char) 0x636, (char) 0xfebe, (char) 0xfebf,
                                                                                                                        (char) 0xfec0, (char) 0xfebd),
                                                                                                                        new struc((char) 0x637, (char) 0xfec2, (char) 0xfec3,
                                                                                                                                (char) 0xfec4, (char) 0xfec1),
                                                                                                                                new struc((char) 0x643, (char) 0xfeda, (char) 0xfedb,
                                                                                                                                        (char) 0xfedc, (char) 0xfed9),
                                                                                                                                        new struc((char) 0x645, (char) 0xfee2, (char) 0xfee3,
                                                                                                                                                (char) 0xfee4, (char) 0xfee1),
                                                                                                                                                new struc((char) 0x646, (char) 0xfee6, (char) 0xfee7,
                                                                                                                                                        (char) 0xfee8, (char) 0xfee5),
                                                                                                                                                        new struc((char) 0x62a, (char) 0xfe96, (char) 0xfe97,
                                                                                                                                                                (char) 0xfe98, (char) 0xfe95),
                                                                                                                                                                new struc((char) 0x627, (char) 0xfe8e, (char) 0xfe8d,
                                                                                                                                                                        (char) 0xfe8e, (char) 0xfe8d),
                                                                                                                                                                        new struc((char) 0x644, (char) 0xfede, (char) 0xfedf,
                                                                                                                                                                                (char) 0xfee0, (char) 0xfedd),
                                                                                                                                                                                new struc((char) 0x628, (char) 0xfe90, (char) 0xfe91,
                                                                                                                                                                                        (char) 0xfe92, (char) 0xfe8f),
                                                                                                                                                                                        new struc((char) 0x64a, (char) 0xfef2, (char) 0xfef3,
                                                                                                                                                                                                (char) 0xfef4, (char) 0xfef1),
                                                                                                                                                                                                new struc((char) 0x633, (char) 0xfeb2, (char) 0xfeb3,
                                                                                                                                                                                                        (char) 0xfeb4, (char) 0xfeb1),
                                                                                                                                                                                                        new struc((char) 0x634, (char) 0xfeb6, (char) 0xfeb7,
                                                                                                                                                                                                                (char) 0xfeb8, (char) 0xfeb5),
                                                                                                                                                                                                                new struc((char) 0x638, (char) 0xfec6, (char) 0xfec7,
                                                                                                                                                                                                                        (char) 0xfec8, (char) 0xfec5),
                                                                                                                                                                                                                        new struc((char) 0x632, (char) 0xfeb0, (char) 0xfeaf,
                                                                                                                                                                                                                                (char) 0xfeb0, (char) 0xfeaf),
                                                                                                                                                                                                                                new struc((char) 0x648, (char) 0xfeee, (char) 0xfeed,
                                                                                                                                                                                                                                        (char) 0xfeee, (char) 0xfeed),
                                                                                                                                                                                                                                        new struc((char) 0x629, (char) 0xfe94, (char) 0xfe93,
                                                                                                                                                                                                                                                (char) 0xfe93, (char) 0xfe93),
                                                                                                                                                                                                                                                new struc((char) 0x649, (char) 0xfef0, (char) 0xfeef,
                                                                                                                                                                                                                                                        (char) 0xfef0, (char) 0xfeef),
                                                                                                                                                                                                                                                        new struc((char) 0x631, (char) 0xfeae, (char) 0xfead,
                                                                                                                                                                                                                                                                (char) 0xfeae, (char) 0xfead),
                                                                                                                                                                                                                                                                new struc((char) 0x624, (char) 0xfe86, (char) 0xfe85,
                                                                                                                                                                                                                                                                        (char) 0xfe86, (char) 0xfe85),
                                                                                                                                                                                                                                                                        new struc((char) 0x621, (char) 0xfe80, (char) 0xfe80,
                                                                                                                                                                                                                                                                                (char) 0xfe80, (char) 0xfe80),
                                                                                                                                                                                                                                                                                new struc((char) 0x626, (char) 0xfe8a, (char) 0xfe8b,
                                                                                                                                                                                                                                                                                        (char) 0xfe8c, (char) 0xfe89),
                                                                                                                                                                                                                                                                                        new struc((char) 0x623, (char) 0xfe84, (char) 0xfe83,
                                                                                                                                                                                                                                                                                                (char) 0xfe84, (char) 0xfe83),
                                                                                                                                                                                                                                                                                                new struc((char) 0x622, (char) 0xfe82, (char) 0xfe81,
                                                                                                                                                                                                                                                                                                        (char) 0xfe82, (char) 0xfe81),
                                                                                                                                                                                                                                                                                                        new struc((char) 0x625, (char) 0xfe88, (char) 0xfe87,
                                                                                                                                                                                                                                                                                                                (char) 0xfe88, (char) 0xfe87),
                                                                                                                                                                                                                                                                                                                new struc((char) 0x67e, (char) 0xfb57, (char) 0xfb58,
                                                                                                                                                                                                                                                                                                                        (char) 0xfb59, (char) 0xfb56), // peh
                                                                                                                                                                                                                                                                                                                        new struc((char) 0x686, (char) 0xfb7b, (char) 0xfb7c,
                                                                                                                                                                                                                                                                                                                                (char) 0xfb7d, (char) 0xfb7a), // cheh
                                                                                                                                                                                                                                                                                                                                new struc((char) 0x698, (char) 0xfb8b, (char) 0xfb8a,
                                                                                                                                                                                                                                                                                                                                        (char) 0xfb8b, (char) 0xfb8a), // jeh
                                                                                                                                                                                                                                                                                                                                        new struc((char) 0x6a9, (char) 0xfb8f, (char) 0xfb90,
                                                                                                                                                                                                                                                                                                                                                (char) 0xfb91, (char) 0xfb8e), // keheh
                                                                                                                                                                                                                                                                                                                                                new struc((char) 0x6af, (char) 0xfb93, (char) 0xfb94,
                                                                                                                                                                                                                                                                                                                                                        (char) 0xfb95, (char) 0xfb92), // gaf
                                                                                                                                                                                                                                                                                                                                                        // new struc((char) 0x6cc, (char) 0xfbfd, (char) 0xfbfe,
                                                                                                                                                                                                                                                                                                                                                        // (char) 0xfbff, (char) 0xfbfc), // Farsi yeh
                                                                                                                                                                                                                                                                                                                                                        new struc((char) 0x6cc, (char) 0xfbfd, (char) 0xfef3,
                                                                                                                                                                                                                                                                                                                                                                (char) 0xfef4, (char) 0xfbfc), // Arabic yeh
                                                                                                                                                                                                                                                                                                                                                                new struc((char) 0x6c0, (char) 0xfba5, (char) 0xfba4,
                                                                                                                                                                                                                                                                                                                                                                        (char) 0xfba5, (char) 0xfba4) // heh with yeh
            };
    
            static struc[] arrStrucWoosim = {
                new struc((char) 0x630, (char) 0xb5, (char) 0x82, (char) 0xb5,
                        (char) 0x82),
                        new struc((char) 0x62f, (char) 0xb4, (char) 0x81, (char) 0xb4,
                                (char) 0x81),
                                new struc((char) 0x62c, (char) 0x9b, (char) 0xb1, (char) 0xf9,
                                        (char) 0xbf),
                                        new struc((char) 0x62d, (char) 0x9c, (char) 0xb2, (char) 0xfa,
                                                (char) 0xc0),
                                                new struc((char) 0x62e, (char) 0x9d, (char) 0xb3, (char) 0xfe,
                                                        (char) 0xc1),
                                                        new struc((char) 0x647, (char) 0xac, (char) 0xe4, (char) 0x93,
                                                                (char) 0xd5),
                                                                new struc((char) 0x639, (char) 0xc9, (char) 0xd3, (char) 0x8b,
                                                                        (char) 0xa4),
                                                                        new struc((char) 0x63a, (char) 0xca, (char) 0xdd, (char) 0x8c,
                                                                                (char) 0xa5),
                                                                                new struc((char) 0x641, (char) 0xa6, (char) 0xde, (char) 0x8d,
                                                                                        (char) 0xcc),
                                                                                        new struc((char) 0x642, (char) 0xa7, (char) 0xdf, (char) 0x8e,
                                                                                                (char) 0xce),
                                                                                                new struc((char) 0x62b, (char) 0xbd, (char) 0xaf, (char) 0xea,
                                                                                                        (char) 0x99),
                                                                                                        new struc((char) 0x635, (char) 0xc4, (char) 0xc8, (char) 0x87,
                                                                                                                (char) 0xa0),
                                                                                                                new struc((char) 0x636, (char) 0xc5, (char) 0xcb, (char) 0x88,
                                                                                                                        (char) 0xa1),
                                                                                                                        new struc((char) 0x637, (char) 0xc6, (char) 0xcd, (char) 0xcd,
                                                                                                                                (char) 0xa2),
                                                                                                                                new struc((char) 0x643, (char) 0xcf, (char) 0xe0, (char) 0x8f,
                                                                                                                                        (char) 0xa8),
                                                                                                                                        new struc((char) 0x645, (char) 0xd2, (char) 0xe2, (char) 0x91,
                                                                                                                                                (char) 0xaa),
                                                                                                                                                new struc((char) 0x646, (char) 0xd4, (char) 0xe3, (char) 0x92,
                                                                                                                                                        (char) 0xab),
                                                                                                                                                        new struc((char) 0x62a, (char) 0xbd, (char) 0xaf, (char) 0xea,
                                                                                                                                                                (char) 0x99),
                                                                                                                                                                new struc((char) 0x627, (char) 0xbb, (char) 0x80, (char) 0xbb,
                                                                                                                                                                        (char) 0x80),
                                                                                                                                                                        new struc((char) 0x644, (char) 0xd1, (char) 0xe1, (char) 0x90,
                                                                                                                                                                                (char) 0xa9),
                                                                                                                                                                                new struc((char) 0x628, (char) 0xbc, (char) 0xae, (char) 0xe9,
                                                                                                                                                                                        (char) 0x98),
                                                                                                                                                                                        new struc((char) 0x64a, (char) 0xdc, (char) 0xe6, (char) 0x95,
                                                                                                                                                                                                (char) 0xdc),
                                                                                                                                                                                                new struc((char) 0x633, (char) 0xc2, (char) 0xb8, (char) 0xb8,
                                                                                                                                                                                                        (char) 0x9e),
                                                                                                                                                                                                        new struc((char) 0x634, (char) 0xc3, (char) 0xb9, (char) 0xb9,
                                                                                                                                                                                                                (char) 0x9f),
                                                                                                                                                                                                                new struc((char) 0x638, (char) 0xc7, (char) 0xcd, (char) 0xcd,
                                                                                                                                                                                                                        (char) 0xc7),
                                                                                                                                                                                                                        new struc((char) 0x632, (char) 0xb7, (char) 0xb7, (char) 0xb7,
                                                                                                                                                                                                                                (char) 0xb7),
                                                                                                                                                                                                                                new struc((char) 0x648, (char) 0x94, (char) 0x94, (char) 0x94,
                                                                                                                                                                                                                                        (char) 0x94),
                                                                                                                                                                                                                                        new struc((char) 0x629, (char) 0xda, (char) 0xda, (char) 0xda,
                                                                                                                                                                                                                                                (char) 0xda),
                                                                                                                                                                                                                                                new struc((char) 0x649, (char) 0xdc, (char) 0xe6, (char) 0x95,
                                                                                                                                                                                                                                                        (char) 0xdc),
                                                                                                                                                                                                                                                        new struc((char) 0x631, (char) 0xb6, (char) 0xb6, (char) 0xb6,
                                                                                                                                                                                                                                                                (char) 0xb6),
                                                                                                                                                                                                                                                                new struc((char) 0x624, (char) 0xe7, (char) 0xe7, (char) 0xe7,
                                                                                                                                                                                                                                                                        (char) 0xe7),
                                                                                                                                                                                                                                                                        new struc((char) 0x621, (char) 0xba, (char) 0xba, (char) 0xba,
                                                                                                                                                                                                                                                                                (char) 0xba),
                                                                                                                                                                                                                                                                                new struc((char) 0x626, (char) 0xd7, (char) 0xe8, (char) 0x97,
                                                                                                                                                                                                                                                                                        (char) 0xd7),
                                                                                                                                                                                                                                                                                        new struc((char) 0x623, (char) 0x80, (char) 0x80, (char) 0x80,
                                                                                                                                                                                                                                                                                                (char) 0x80),
                                                                                                                                                                                                                                                                                                new struc((char) 0x622, (char) 0x80, (char) 0x80, (char) 0x80,
                                                                                                                                                                                                                                                                                                        (char) 0x80),
                                                                                                                                                                                                                                                                                                        new struc((char) 0x625, (char) 0x80, (char) 0x80, (char) 0x80,
                                                                                                                                                                                                                                                                                                                (char) 0x80),
                                                                                                                                                                                                                                                                                                                new struc((char) 0x67e, (char) 0xbc, (char) 0xae, (char) 0xe9,
                                                                                                                                                                                                                                                                                                                        (char) 0x98), // peh
                                                                                                                                                                                                                                                                                                                        new struc((char) 0x686, (char) 0x9b, (char) 0xb1, (char) 0xf9,
                                                                                                                                                                                                                                                                                                                                (char) 0xbf), // cheh
                                                                                                                                                                                                                                                                                                                                new struc((char) 0x698, (char) 0xb7, (char) 0xb7, (char) 0xb7,
                                                                                                                                                                                                                                                                                                                                        (char) 0xb7), // jeh
                                                                                                                                                                                                                                                                                                                                        new struc((char) 0x6a9, (char) 0xcf, (char) 0xe0, (char) 0x8f,
                                                                                                                                                                                                                                                                                                                                                (char) 0xa8), // keheh
                                                                                                                                                                                                                                                                                                                                                new struc((char) 0x6af, (char) 0xcf, (char) 0xe0, (char) 0x8f,
                                                                                                                                                                                                                                                                                                                                                        (char) 0xa8), // gaf
                                                                                                                                                                                                                                                                                                                                                        new struc((char) 0x6cc, (char) 0xdc, (char) 0xe6, (char) 0x95,
                                                                                                                                                                                                                                                                                                                                                                (char) 0xdc), // yeh
                                                                                                                                                                                                                                                                                                                                                                new struc((char) 0x6c0, (char) 0xac, (char) 0xe4, (char) 0x93,
                                                                                                                                                                                                                                                                                                                                                                        (char) 0xd5) // heh with yeh
            };
    
            private static final int N_DISTINCT_CHARACTERS = 43;
    
            private static final String ArabicReverse(String s) {
                try {
                    String Out = "", rev;
                    s = MakeReverse(s);
                    char[] chs = new char[s.length()];
                    chs = s.toCharArray();
                    int i = 0;
                    while (i < s.length()) {
                        if ((chs[i] >= '0' && chs[i] <= '9')) // isDigit(s[i]) ?
                        {
                            rev = "";
                            while (i < s.length()
                                    && ((chs[i] >= '0' && chs[i] <= '9') || chs[i] == '/')) // isDigit(s[i])
                                // ?
                            {
                                rev = rev + chs[i];
                                ++i;
                            }
                            rev = MakeReverse(rev);
                            Out = Out + rev;
                        } else {
                            Out = Out + chs[i];
                            ++i;
                        }
                    }
                    s = Out;
                } catch (Exception ex) {
                    // throw new Exception(
                    // "An exception has occurred in ArabicReverse function.\\n"
                    // + ex.getMessage());
                }
                return s;
            }
    
            private static final boolean isFromTheSet1(/* WCHAR */char ch) {
                char[] theSet1 = new char[] { (char) 0x62c, (char) 0x62d, (char) 0x62e,
                        (char) 0x647, (char) 0x639, (char) 0x63a, (char) 0x641,
                        (char) 0x642, (char) 0x62b, (char) 0x635, (char) 0x636,
                        (char) 0x637, (char) 0x643, (char) 0x645, (char) 0x646,
                        (char) 0x62a, (char) 0x644, (char) 0x628, (char) 0x64a,
                        (char) 0x633, (char) 0x634, (char) 0x638, (char) 0x67e,
                        (char) 0x686, (char) 0x6a9, (char) 0x6af, (char) 0x6cc,
                        (char) 0x626 };
                int i = 0;
                while (i < 28) {
                    if (ch == theSet1[i])
                        return true;
                    ++i;
                }
                return false;
            }
    
            private static final boolean isFromTheSet2(/* WCHAR */char ch) {
                char[] theSet2 = new char[] { (char) 0x627, (char) 0x623, (char) 0x625,
                        (char) 0x622, (char) 0x62f, (char) 0x630, (char) 0x631,
                        (char) 0x632, (char) 0x648, (char) 0x624, (char) 0x629,
                        (char) 0x649, (char) 0x698, (char) 0x6c0 };
                int i = 0;
                while (i < 14) {
                    if (ch == theSet2[i])
                        return true;
                    ++i;
                }
                return false;
            }
    
            private static final String MakeReverse(String text) {
                String Result = "";
                char[] Ctext = new char[text.length()];
                Ctext = text.toCharArray();
                for (int i = (text.length()) - 1; i >= 0; i--) {
                    Result += Ctext[i];
                }
                return Result;
            }
    
            public static final String ConvertBackToRealFarsi(String In) {
    
                if (!isFarsiConversionNeeded) {
                    return In;
                }
    
                String strOut = "";
                StringBuilder strBuilder = new StringBuilder("");
                int i = 0;
                int j = 0;
                char[] chIn = new char[In.length()];
                chIn = In.toCharArray();
    
                for (i = 0; i < In.length(); i++) {
                    boolean found = false;
                    for (j = 0; j < arrStruc.length; j++) {
                        if (chIn[i] == arrStruc[j].midGlyph
                                || chIn[i] == arrStruc[j].iniGlyph
                                || chIn[i] == arrStruc[j].endGlyph
                                || chIn[i] == arrStruc[j].isoGlyph) {
                            strBuilder.append(arrStruc[j].character);
                            found = true;
                            break;
                        }
                    }
                    if (!found)
                        strBuilder.append(chIn[i]);
                }
    
                strOut = strBuilder.toString();
                strOut = strOut.replace(szLa, "لا");
                strOut = strOut.replace(szLaStick, "لا");
    
                return strOut;
            }
    
            public static final String Convert(String In) {
    
                if (!isFarsiConversionNeeded) {
                    return In;
                }
    
                if (In == null) {
                    return "";
                }
    
                boolean linkBefore, linkAfter;
                String Out = In;
                char[] chOut = new char[Out.length()];
                chOut = Out.toCharArray();
                char[] chIn = new char[In.length()];
                chIn = In.toCharArray();
    
                for (int i = 0; i < In.length(); i++) {
                    /* WCHAR */
                    char ch = chIn[i];
                    if ((ch >= (char) 0x0621 && ch <= (char) 0x064a)
                            || (ch == (char) 0x067e) || (ch == (char) 0x0686)
                            || (ch == (char) 0x0698) || (ch == (char) 0x06a9)
                            || (ch == (char) 0x06af) || (ch == (char) 0x06cc)
                            || (ch == (char) 0x06c0)) // is a Farsi character?
                    {
                        int idx = 0;
                        while (idx < N_DISTINCT_CHARACTERS) {
                            if (arrStruc[idx].character == chIn[i])
                                break;
                            ++idx;
                        }
    
                        if (i == In.length() - 1)
                            linkAfter = false;
                        else
                            linkAfter = (isFromTheSet1(chIn[i + 1]) || isFromTheSet2(chIn[i + 1]));
                        if (i == 0)
                            linkBefore = false;
                        else
                            linkBefore = isFromTheSet1(chIn[i - 1]);
                        if (idx < N_DISTINCT_CHARACTERS) {
                            if (linkBefore && linkAfter)
                                chOut[i] = arrStruc[idx].midGlyph;
                            if (linkBefore && !linkAfter)
                                chOut[i] = arrStruc[idx].endGlyph;
                            if (!linkBefore && linkAfter)
                                chOut[i] = arrStruc[idx].iniGlyph;
                            if (!linkBefore && !linkAfter)
                                chOut[i] = arrStruc[idx].isoGlyph;
                        } else {
                            chOut[i] = chIn[i];
                        }
                    } else {
                        chOut[i] = chIn[i];
                    }
                }
                Out = "";
                for (int j = 0; j < chOut.length; j++)
                    Out += chOut[j];
                // Out = ArabicReverse(Out);
    
                Out = Out.replace((char) 0x200c, ' '); // Change NO SPACE to SPACE
    
                Out = Out.replace(szLamAndAlef, szLa); // Join 'Lam' and 'Alef' and
                // make 'La'
                Out = Out.replace(szLamStickAndAlef, szLaStick); // Join 'Lam Stick'
                // and 'Alef'
                // and make 'La
                // Stick'
    
                return reorderWords(Out);
    
            }
    
            private final static String reorderWords(String strIn) {
    
                final int ST_RTL = 0;
                final int ST_LTR = 1;
    
                String strOut = "";
                String prevWord = "";
                int state = ST_RTL;
                char[] arr = strIn.toCharArray();
                int i = 0;
                while (i < arr.length) {
                    if (charIsLTR(arr[i]) && state != ST_LTR) {
                        // state changed to LTR
                        state = ST_LTR;
                        strOut = prevWord + strOut;
                        prevWord = "";
                        prevWord += arr[i];
                    } else if (charIsRTL(arr[i]) && state != ST_RTL) {
                        // state changed to RTL
                        state = ST_RTL;
                        strOut = prevWord + strOut;
                        prevWord = "";
                        prevWord += arr[i];
                    } else {
                        // state is not changed
                        prevWord += arr[i];
                    }
                    i++;
                }
    
                strOut = prevWord + strOut;
    
                return strOut;
    
            }
    
            private final static boolean charIsLTR(char ch) {
                return (ch >= (char) 65 & ch <= (char) 122) | Character.isDigit(ch);
            }
    
            private final static boolean charIsRTL(char ch) {
                return ch >= (char) 0x0621;
            }
    
            private static Typeface typeface;
    
            public static final Typeface GetFarsiFont(Context context) {
                if (typeface == null) {
                    typeface = Typeface.createFromAsset(context.getAssets(),
                            // "DroidSansFallback.ttf");
                            "tahoma.ttf");
                }
                return typeface;
            }
        }
    
    您可以从下载tahoma.ttf

    编辑

    当您覆盖OnOptions ItemSelected时

     switch(item.getItemId())
      { 
        case R.id.abcd:
            if(item.getTitle().equals("ABCD'")){
               item.setTitle(Farsi.Convert("SOME FARSI STRING");
       } 
       break;
        } 
    

    您必须先创建一个自定义的吐司

    按照以下链接:,然后引用文本视图并将字体设置为文本视图


    试试看,让我知道它是否有效。

    例如,如果我想将选项菜单转换为波斯语文本,我该怎么办?@user3326937在选项菜单中,你用什么来显示文本?我只是制作了菜单,并用充气显示如何将其改为波斯语?@user3326937创建了菜单?是的,我创建了菜单,我可以看到,但我没有看到要更改波斯语菜单的文本。是否可以与PersianReforme类一起使用?
     switch(item.getItemId())
      { 
        case R.id.abcd:
            if(item.getTitle().equals("ABCD'")){
               item.setTitle(Farsi.Convert("SOME FARSI STRING");
       } 
       break;
        }