应用程序中多种字体同时无法工作

5

朋友们,遇到了一个奇怪的问题。

我想在同一个应用程序中使用两种字体(古吉拉特语印地语)。

以下是在设备中安装字体的过程:

  • 需要root设备。
  • 安装Font Installer应用程序。
  • 此网站下载Lohit-Devanagari.ttfLohit-Gujarati.ttf
  • 将ttf文件复制到/system/fonts文件夹中。
  • 给予读/写权限并安装两种字体。
  • 重新启动设备。

问题

重新启动设备后,我只能阅读我最后安装的那种字体。无论是Gujarati还是Devangari

注意:我只创建适用于所有应用程序的软键盘应用程序,因此无法使用Typeface类

我只是在使用setText来阅读字体。

textView1.setText("TextView1 ગુજરાતી");
textView2.setText("TextView2 हिन्दी ");

我希望你能够做这样的翻译.

TextView1 ગુજરાતી
TextView2 हिन्दी

但我得到的输出结果是这样的:
TextView1 ગુજરાતી
TextView2 ☐☐☐☐☐☐

或者

TextView1 ☐☐☐☐☐☐☐
TextView2 हिन्दी

注意:我只创建可以在所有应用程序中使用的软键盘应用程序,因此无法使用Typeface类。


你能展示一下你正在使用的代码来显示你指定的字体吗? - jeet
2个回答

1

你尝试过将这些字体放在你的资源文件夹中吗?

Typeface tf = Typeface.createFromAsset(this.getAssets(), "fonts/Lohit-Devanagari.ttf");
TextView tv = (TextView) findViewById(R.id.txtOnlyOne)
tv.setText("TextView1 ગુજરાતી");    
tv.setTypeface(tf);

系统中是否需要root和字体?


你应该在问题中写明,我没有读心术的头盔;-) - Waza_Be
谢谢,但无法提供更多帮助! - Waza_Be

1

通过字体安装器应用程序安装字体,只需将/system/fonts中的DroidSansFallback.ttf文件替换即可。 我建议您将印地语和古吉拉特语(在您的情况下)的字体合并成一个,然后使用您的应用程序安装字体。 现在您可以看到您两种字体。


你好,我们如何合并两种字体?有相关链接吗?如果我用DroidSansFallback.ttf替换字体,但我的字体可能不支持,会发生什么?系统会崩溃吗? - Niranj Patel
请查看此问题:http://stackoverflow.com/questions/9910301/css-fonts-howto-convert-multiple-ttf-files-into-one-file - Niranj Patel
1
互联网上有很多工具可供使用,其中之一是CORAL-DRAW,它可以让你制作自己的字体或编辑字体。将你的字体合并为一个。如果你用DroidSansFallback.ttf替换字体文件,那么你合并在文件中的字体将支持你的系统。所以不要担心。 - Manish Kumar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接