为什么旁遮普语(印度语)在某些智能设备上显示为盒子?

时间:2013-04-30 18:14:13

标签: android html xcode fonts

我发布了一款名为Gurbani Ujagar的应用。它似乎在Samsung Galaxy S3等智能手机上运行正常,但其他手机如Galaxy NexusGalaxy S以及某些平板电脑上的单词/字符似乎是方框或随机标点。我有超过1000个HTML文件正在使用WebView进行查看。

我不知道如何解决这个问题所以所有手机上的文字都显示完全相同。我检查了PunjabiGalaxy Nexus上的其他Galaxy S个应用,即Dhur Ki Bani(看似正常),但Gurbani Ujagar应用显示为方框。我不知道为什么会这样。我尝试在HTML文件中编辑字体。

在我开始编辑之前未显示的手机上会显示文字,但有些文字仍会呈现错误。

手动编辑超过1000页将是很多工作。 HTML(非源代码)文件位于我的assets文件夹中。是否可以使用Typeface编辑所有HTML文件?好像我可以在Xcode中一次编辑所有这些内容,但我不确定原因。

任何帮助将不胜感激。以下是我的代码示例:

您也可以view the HTML file here

public class MainActivity extends Activity {

@SuppressLint("SetJavaScriptEnabled")
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    WebView webview = (WebView) findViewById(R.id.webView1);
    webview.loadUrl("file:///android_asset/3.html");        
   }
}

1 个答案:

答案 0 :(得分:3)

如果您使用的字体没有这些字符的字形(字体没有这些字母),则字符显示为方框。

有些手机提供的字体比其他手机更多,有些手机可能拥有比其他手机更完整和更新版本的字体,这意味着某些手机会选择您选择的字体,而该字体将包含您正在使用的字体,而其他不同手机或Android版本上相同字体的版本可能不完整,并且没有您使用的字符,因此它们将在这些手机上显示为方框。

如果您想保证您的应用能够正常运行并在所有手机上显示所有文字,请在Google WebfontsFont Squirrel上找到允许嵌入应用的许可证中的免费字体,然后发货自定义字体与您的应用一起使用并在您的HTML中使用CSS @font-face