android - 为什么旁遮普语(印度语)在某些智能设备上显示为方框?

标签 android html xcode fonts

我发布了一个名为 Gurbani Ujagar 的应用程序。它似乎在某些智能手机(如 Samsung Galaxy S3)上运行良好,但在其他手机(如 Galaxy NexusGalaxy S)和某些手机上似乎运行良好平板电脑,单词/字符显示为方框或随机标点符号。我有超过 1000 个 HTML 文件正在使用 WebView 查看。

我不确定如何解决此问题,以便文本在所有手机上显示完全相同。我检查了 Galaxy NexusGalaxy S 上的一些其他 Punjabi 应用程序,即 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");        
   }
}

最佳答案

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

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

如果您想保证您的应用程序能够正常运行并在所有手机上显示所有文本,请在 Google Webfonts 上查找免费字体。或 Font Squirrel使用允许嵌入应用程序的许可证,然后随您的应用程序一起提供该自定义字体,并在您的 HTML 中使用 CSS @font-face

关于android - 为什么旁遮普语(印度语)在某些智能设备上显示为方框?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16306392/

相关文章:

Xcode 不断猜测和解释错误的编码

android - 通过 websocket react Native STOMP

java - Google Play 游戏成就 onClose 回调

php - 在PHP中查看mysql表中某个链接字段的数据

javascript - 获取div不透明度

ios - 从另一个类调用函数时发生 fatal error

ios - 如何在 xcode 和 swift 中使用不受支持的类(新功能)构建项目

java - Android 照片分享与 FileProvider

android - Honeycomb dim status bar + list 中的 minSdkVersion < 11

javascript - 我如何才能在单击图像元素时添加显示 .title、.artist、.album 和 .year 的警报?