旁遮普文字在Android中显示不正常

时间:2013-05-04 00:04:53

标签: android text typeface

下面是我的代码,我正确使用字体更改旁遮普的字体,但它仍然显示Galaxy S2上的错误文本和三星以外的手机上的标点符号。不知道如何解决这个问题

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Typeface tf = Typeface.createFromAsset(getAssets(), 
            "fonts/ANMOL_L.TTF");
    TextView txt = (TextView) findViewById(R.id.text);
    txt.setTextSize(40);
    txt.setTypeface(tf);
    txt.setText("ੴ ਸਤਿ ਨਾਮੁ ਕਰਤਾ ਪੁਰਖੁ ਨਿਰਭਉ ਨਿਰਵੈਰੁ ਅਕਾਲ ਮੂਰਤਿ ਅਜੂਨੀ ਸੈਭੰ ਗੁਰ ਪ੍ਰਸਾਦਿ ॥");
    }
}

1 个答案:

答案 0 :(得分:0)

尝试txt.setText(“Testing”);你会发现你会看到旁遮普文。这是因为您选择的字体不是Unicode兼容字体。它会覆盖ASCII代码。选择另一个字体文件。

我已经测试了来自http://www.gurbanifiles.org/unicode/的AnmolUni.ttf和AmbarSlim.ttf文件并且它们可以正常工作。