朋友,在一个奇怪的问题上跑出来。我想在同一个应用程序中使用两种字体(古吉拉特邦和印地语)。以下是在设备中安装字体的过程
- 需要根设备
- 安装字体安装程序应用程序
- 下载
Lohit-Devanagari.ttf
&来自此的Lohit-Gujarati.ttf
现场 - 在
/system/fonts
复制ttf文件文件 - 给定读/写权限&安装了两种字体
- 重新启动设备
问题
重新启动设备后,我只能读取上次安装的字体。Gujarati
或Devangari
注意:-我正在创建只能在所有应用程序中使用的SoftKeyboard应用程序,所以我不能使用Typeface类
我只是在为read字体做setText。。
textView1.setText("TextView1 ગુજરાતી");
textView2.setText("TextView2 हिन्दी ");
我想要这样。
TextView1 ગુજરાતી
TextView2 हिन्दी
但我得到这样的输出
TextView1 ગુજરાતી
TextView2 ☐☐☐☐☐☐
或
TextView1 ☐☐☐☐☐☐☐
TextView2 हिन्दी
注意:-我正在创建只能在所有应用程序中使用的SoftKeyboard应用程序,所以我不能使用Typeface类
您是否尝试将这些字体放在资产文件夹中?
Typeface tf = Typeface.createFromAsset(this.getAssets(), "fonts/Lohit-Devanagari.ttf");
TextView tv = (TextView) findViewById(R.id.txtOnlyOne)
tv.setText("TextView1 ગુજરાતી");
tv.setTypeface(tf);
系统中的根和字体是必需的吗?
在字体安装程序的帮助下安装字体,只需替换/system/fonts中的DroidSansFallback.ttf文件。我建议你将印地语和古吉拉特语的字体(在你的情况下)合并为一个,然后使用你的应用程序安装字体。现在您可以同时看到这两种字体。