1

我设置 String myText="\u2327\u2381\u2352\"; 并尝试在 Textview 中显示它,但我只在 android 模拟器中看到 3 个矩形框。即使 android 2.3 发行说明说支持印地语,我仍然看不到模拟器中出现印地语字符。

4

7 回答 7

2

即使您安装了梵文字体,您也无法在 Android 手机上正确呈现印地语文本。

对所有复杂的印度文字(孟加拉文、梵文、卡纳达文、泰米尔文、泰卢固文、藏文、旁遮普文、僧伽罗文等)使用相同的苹果

问题在于,尽管 Android“支持 Unicode”,但没有复杂的脚本渲染支持——即使在 Andoid 4.0 (ICS) 模拟器中也是如此。由于这些字母不能正确组合形成连词,因此文本非常难以阅读。

在谷歌修复之前,这种印度语言将无法正常显示。

这实际上对他们来说并不是很难解决。在 Linux(基于 Android)中,印度脚本的复杂文本渲染由名为 Pango 或 Harfbuzz 的开源库支持 - 但出于某种原因(对印度和南亚市场缺乏真正的兴趣?)谷歌选择不在Android中实现这一点。

印度语脚本在使用其他基于 Linux 的操作系统(如诺基亚 N900)的手机上运行良好。甚至一些 Symbian 手机也可以通过 Qt 中的支持显示印度语文本。
Apple iPhone 现在也能正确显示印度语言。

如果谷歌和他们的 OEM 关心在印度销售 Android 手机,他们真的需要紧急修复这个缺陷。

于 2011-10-29T20:01:40.793 回答
1

许多设备目前不支持印度语言,包括模拟器。

只有在印度销售的三星设备支持印地语。

遇到这个问题的伙伴,你并不孤单!:-)

于 2011-01-24T06:33:49.947 回答
1

我有三星 Galaxy S。我使用 Kies over JP6 安装了 DDJV6。但我感觉被三星完全欺骗了,因为这个所谓的“印度版本”不支持任何印地语或印度语字体。我说的是阅读印地语文本。就文本输入而言,印地语甚至没有显示为数据输入语言。可惜三星不能使用 Gingerbread 的固有功能!我这么说是因为即使是 Froyo 在印度正式发布的 Galaxy S 也可以正确呈现印地语字体。有很多高调声称 Gingerbread 将支持 52 种语言(用于阅读和写作),这是三星,它甚至无法在基于 Android 2.3.3 的 Galaxy S 中呈现印度语阅读功能。

于 2011-06-02T19:42:02.850 回答
1

Android 手机没有默认印地语故障。

您必须确保您使用的是自定义印地语字体。

fonts在您的文件夹中创建一个名为的assests文件夹。

把你custom_font_hindi.ttf的放在assets/fonts.

 Typeface tf = Typeface.createFromAsset(getAssets(),"fonts/custom_font_hindi.ttf");
        TextView tv = (TextView) findViewById(R.id.CustomFontText);
        tv.setTypeface(tf);

然后你会在你的TextView

于 2011-01-24T07:17:18.680 回答
1

您可以使用DroidHindi.ttf 字体(例如,在 google.com 中搜索)。将其添加到项目中的assets文件夹中,并将该字体加载到您的视图中。

Typeface t = Typeface.createFromAsset(getContext().getAssets(), "DroidHindi.ttf");
textView.setTypeface(t);
于 2011-01-24T07:43:37.057 回答
0

看起来像字体问题,尝试设置您TextView使用具有合适字形的字体。

于 2011-01-24T06:17:54.063 回答
0

我找到了如何在 Android 中使用印地语字体的解决方案。这是非常简单的解决方案。但很难正确的印地语字体。

利用

DroidHindi.ttf

它是支持印地语的字体。

下载它并放置在 Assets 文件夹中。执行以下代码来设置字体:

TextView tv = (TextView) findViewById(R.id.textView);       

Typeface fontHindi = Typeface.createFromAsset(getAssets(),    "fonts/DroidHindi.ttf");      

tv.setTypeface(fontHindi);

现在您可以轻松找到您的解决方案。

此外,您可以将印地语文本放入.txt文件并从中读取。像这样。

将所有印地语.txt文件放在 Assets 文件夹中,然后调用该函数来检索印地语文本,例如:

public void readData(int tag) {


        // file to inputstream
        InputStream input = null;
        try { 

             int tagV = tag +1;

             input = ctx.getAssets().open("sample "+tagV+".txt");

             int size = input.available();
             byte[] buffer = new byte[size];
             input.read(buffer);
             input.close();

            // byte buffer into a string

             detailtext = new String(buffer);
         } catch (IOException e) {

             e.printStackTrace();
         }

     }

我在这里使用 15 个文件,所以我经历了循环。

于 2015-05-14T09:40:36.840 回答