下面是我的代码,我正确使用字体更改旁遮普的字体,但它仍然显示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("ੴ ਸਤਿ ਨਾਮੁ ਕਰਤਾ ਪੁਰਖੁ ਨਿਰਭਉ ਨਿਰਵੈਰੁ ਅਕਾਲ ਮੂਰਤਿ ਅਜੂਨੀ ਸੈਭੰ ਗੁਰ ਪ੍ਰਸਾਦਿ ॥");
}
}
答案 0 :(得分:0)
尝试txt.setText(“Testing”);你会发现你会看到旁遮普文。这是因为您选择的字体不是Unicode兼容字体。它会覆盖ASCII代码。选择另一个字体文件。
我已经测试了来自http://www.gurbanifiles.org/unicode/的AnmolUni.ttf和AmbarSlim.ttf文件并且它们可以正常工作。