
一些汉字作为空格输出在按钮上。弦是utf-8,但我试过utf-16,但没有起作用。我使用button.setText来设置值。我可以做setText,后面跟着getText,看到我得到了相同的字符。字符输出工作在Log.i中找到。我尝试将字体设置为DroidSansJapanese.ttf,并认为默认字体不支持这些字符,这没有帮助。
我认为这可能是一个unicode问题,但不知道从哪里看。
下面的图像显示字符及其代码点。看起来,0xFFFF以上的字符是问题所在。
下面是我如何设置字体:
jFont = Typeface.createFromAsset(
getActivity().getAssets(), "fonts/DroidSansJapanese.ttf");下面是执行setText的适配器的代码:
public View getView(int position, View convertView, ViewGroup parent) {
Button button = (Button) convertView;
KanjiInfo ki = getItem(position);
if (ki.isChanged() || null == button) {
button = new Button(context);
button.setTypeface(jFont);
}
String s = ki.kanjiChar();
String buttonText = String.format("%s:0x0%X", s, s.codePointAt(0));
button.setText(buttonText);
s = button.getText().toString();
Log.i(logTag, String.format("position=%d, s=\"%s\", codepoint=0x%08X",
position, s, s.codePointAt(0)));
...Log.i的编辑输出如下所示:
position=42, s="齩:0x09F69", codepoint=0x00009F69
position=43, s=":0x0233E4", codepoint=0x000233E4
position=44, s=":0x028A1E", codepoint=0x00028A1E我花了好几天时间在这件事上,没有什么想法了。任何想法都将不胜感激。
发布于 2015-02-07 12:58:06
我尝试将字体设置为DroidSansJapanese.ttf,并认为默认字体不支持这些字符,这没有帮助。
是的,看起来U+233E4和U+28A1E也是不包括在DroidSansJapanese中,因为它不包括基本的多语言平面之外的任何东西。
有它们的字体包括Takao,哥特式和明Li,U。
https://stackoverflow.com/questions/28377576
复制相似问题