我正在为android 3.0创建基于流的波斯语应用程序。它在字符گ ڪ ڙ ا
如何添加对波斯语的支持?
答案 0 :(得分:2)
这意味着您的设备使用的字体不支持波斯语字符(因此squares
)。您需要找到更好的字体并在您的应用程序中使用它(请参阅http://developer.android.com/reference/android/graphics/Typeface.html docs)
答案 1 :(得分:1)
您需要使用字体来支持其他字体。
创建一个名为 assets 的新文件夹(如果它不存在)。在其中创建一个名为 fonts 的新文件夹(仅为了您的简单)
从互联网下载'farsi'字体并将其复制到fonts文件夹中。
在您的班级文件create a String to the path of the font.
中
并使用此代码
Typeface tf = Typeface.createFromAsset(getAssets(), fontPath);
txt1.setTypeface(tf);
编辑:某些字体可能支持一个移动设备,而另一些字体可能不支持。 例如,我的xperia支持hindi字体,但我的朋友S2不支持。
答案 2 :(得分:0)
首先从任何一个链接
下载ttf文件http://www.neda.net.ir/downloads/fonts/persian.ttf
http://alefba.us/wp-content/plugins/download-monitor/download.php?id=farsifonts-0.4.zip
copy the ttf file into assets folder in your project,,
首先在点击按钮
的代码中选择语言代码作为波斯语button.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
Locale myLocale = new Locale("fa");
Resources res = getResources();
DisplayMetrics dispmetrics = res.getDisplayMetrics();
Configuration conf = res.getConfiguration();
conf.locale = myLocale;
res.updateConfiguration(conf, dispmetrics);
String current_locale = getResources().getConfiguration().locale.getDisplayName();
System.out.println(current_locale);
Intent refresh = new Intent(getBaseContext(), MainActivity.class);
startActivity(refresh);
}
});
然后在下面, 的setContentView(R.layout.activity_main);
implement this code,,to get the typeFace done
String current_locale = getResources().getConfiguration().locale.getDisplayName();
System.out.println("-----"+current_locale);
if(current_locale.equals("Persian"))
{
Typeface font1 = Typeface.createFromAsset(getAssets(), "persian.ttf");
b1.setTypeface(font1);
}
这个解决方案肯定有效,而且手机中出现方括号的原因是你的手机上没有安装 Farsi Unicode,如果你想安装Farsi字体,你的手机必须扎根
- 由于