多字体在应用程序中一次不起作用



朋友,在一个奇怪的问题上跑出来。我想在同一个应用程序中使用两种字体(古吉拉特邦和印地语)。以下是在设备中安装字体的过程

  • 需要根设备
  • 安装字体安装程序应用程序
  • 下载Lohit-Devanagari.ttf&来自此的Lohit-Gujarati.ttf现场
  • /system/fonts复制ttf文件文件
  • 给定读/写权限&安装了两种字体
  • 重新启动设备

问题

重新启动设备后,我只能读取上次安装的字体。GujaratiDevangari

注意:-我正在创建只能在所有应用程序中使用的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文件。我建议你将印地语和古吉拉特语的字体(在你的情况下)合并为一个,然后使用你的应用程序安装字体。现在您可以同时看到这两种字体。

最新更新