Android:无法显示正确的印地语单词

时间:2012-04-26 08:10:51

标签: android hindi

我在android工作。我正在设计一个在文本视图中显示印地语单词的应用程序。

我正在使用此代码。

        String str="दिव्या";
        TextView txtview_name=(TextView)findViewById(R.id.textViewmyView);

        final Typeface customF = Typeface.createFromAsset(this.getAssets(), "Hindi-SARAL1.TTF");

       txtview_name.setTypeface(customF);

       txtview_name.setText(str);

我在我的资源中使用了字体,如 DroidHindi.ttf,DroidSansFallback.ttf 等。这显示了一些正确的单词,如समर,राजा等,但这不是正确地显示像दिव्या这样的词语所以请建议我使用什么.ttf我应该使用印地语的每个单词都正确显示。

3 个答案:

答案 0 :(得分:1)

@Pushpendra我的测试设备(HTC手机)遇到了同样的问题。 但我在三星安卓手机上尝试了相同的应用程序,它正常工作。 所以我认为你应该在不同的设备上试试你的应用程序 可能这会对你有帮助。

答案 1 :(得分:0)

使用.otf文件代替.ttf文件。

答案 2 :(得分:0)

您可以使用Unicode而不是直接值......

String str="&# 2367;&# 2342;&# 2357;&# 2381;&# 2351;&# 2366;";

连续无差距。

TextView txtview_name=(TextView)findViewById(R.id.textViewmyView);

final Typeface customF = Typeface.createFromAsset(this.getAssets(), "Hindi-SARAL1.TTF");

txtview_name.setText(Html.fromHtml(""+str));
txtview_name.setTypeface(customF);

您还可以通过此网站将世界转换为unicode ... http://mylanguages.org/converter.php 但是在दि的情况下使用第一个इ的unicode然后第二个द..b / c直到android 4.0不支持正确的印地语unicode .. &# 2342;是द的unicode。