即使在android 2.3中也无法看到印度语字符

我设置 String myText =“ u2327 u2381 u2352 ”; 并尝试在Textview中显示它 但我只是在Android模拟器中看到3个矩形框。 即使android 2.3发行说明说支持印地文,我仍然没有看到模仿器中出现印地文字符。     
已邀请:
即使您安装了梵文字体,也无法在Android手机上正确呈现印地语文字。 所有复杂的印度文字(Bangla,梵文,卡纳达语,泰米尔语,Telegu,藏语,旁遮普语,僧伽罗语等)的苹果相同 问题是,虽然Android“支持Unicode”,但是没有复杂的脚本渲染支持 - 即使在Andoid 4.0(ICS)模拟器中也是如此。由于这些字母不合适地形成合取,因此文本非常难以理解。 在谷歌修复之前,这种印度语言将无法正常显示。 这对他们来说实际上并不是很难解决。在Linux(Android所基于的)中,印度语脚本的复杂文本呈现由开源的Pango或Harfbuzz库支持 - 但出于某种原因(在印度和南亚市场缺乏真正的兴趣?)谷歌选择不在Android中实现这一点。 印度语脚本在使用其他基于Linux的操作系统(如诺基亚N900)的手机上运行良好。甚至一些Symbian手机也可以通过Qt中的支持显示印度文字。 Apple iPhone现在也正常显示印度语。 如果谷歌和他们的OEM关心在印度销售Android手机,他们真的需要紧急解决这个缺陷。     
许多设备目前不支持Indian Languages,包括模拟器。 只有在印度销售的三星设备才支持印地语。 你不是唯一一个遇到这个问题的伙伴! :-)     
Android手机没有默认的印地文故障。 您必须确保使用自定义印地语字体。 在
assests
文件夹中创建一个名为
fonts
的文件夹。 把你的
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
中看到所需的印地文字体     
您可以使用DroidHindi.ttf字体(例如。在google.com中搜索)。将其添加到项目的assets文件夹中,并在Views中加载该字体。
Typeface t = Typeface.createFromAsset(getContext().getAssets(), "DroidHindi.ttf");
textView.setTypeface(t);
    
我有三星Galaxy S.我使用Kies而不是JP6安装了DDJV6。但我感觉绝对被三星欺骗,因为这个所谓的'印度版'不支持任何印地语或印度语字体。我说的是阅读印地语文本。就文本输入而言,印地语甚至不显示为数据输入语言。三星羞于它不能使用姜饼的固有功能!我是这么说的,因为甚至Froyo官方发布的印度Galaxy S也能正确呈现印地语字体。有很多人声称Gingerbread会支持52种语言(包括阅读和写作),而这就是三星它甚至无法在基于Android 2.3.3的Galaxy S中呈现印度语阅读功能。     
看起来像字体问题,尝试设置你的
TextView
使用具有合适字形的字体。     
我找到了如何在Android中使用hindi字体的解决方案。这是非常简单的解决方案。但难以正确的印地语字体。 使用 DroidHindi.ttf 它是支持印地语的字体。 下载并放入Assets文件夹。执行以下代码设置字体:
TextView tv = (TextView) findViewById(R.id.textView);       

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

tv.setTypeface(fontHindi);
现在您可以轻松找到您的解决方案。 此外,您可以将印地文文本放在.txt文件中并从中读取。像这样。 将所有hindi .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个文件,所以我接受循环。     
这个问题只能由Unicode联盟的理事会成员通过采取适当的行动共同解决(1),以修改稳定性政策,以便允许代码点为viwelused辅音的自然字母表和(2)印度政府,通过使用泰米尔语修改脚本(TMS)或拉丁语修改脚本(LMS)批准另一个普通印度国家脚本,两者都包含376(364 + 12)个字符,根据选项2到3,已经由我建议。 如果没有,仅由印度政府,根据选项4,可以使用泰米尔语修改脚本(TMS)或拉丁语修改脚本(LMS)(包括52或40个Prime字符)解决此问题,批准另一个印第安共同国家脚本到12A,我已经建议了。 请参阅以下链接: https://drive.google.com/folderview?id=1JnvvUPemb5nhTbGDV3FiGMcI2VCWwJP_ 谢谢。     

要回复问题请先登录注册