2015-02-07 1 views
0

display output
일부 간지 문자는 공백으로 버튼에 출력됩니다. 문자열은 utf-8이지만 utf-16을 시도했지만 작동하지 않았습니다. 나는 값을 설정하기 위해 button.setText를 사용하고있다. 나는 setText와 getText를 할 수 있고 같은 문자를 돌려 받고있는 것을 볼 수있다. Log.i에서 문자 출력 결과를 찾을 수 있습니다. 글꼴을 DroidSansJapanese.ttf로 설정하고 문자가 기본 글꼴로 지원되지 않아 도움이되지 않는다고 생각했습니다.

이 코드는 유니 코드 문제 일 가능성이 높지만 여기서는 어디에서보아야할지 모릅니다.

아래 이미지는 문자와 해당 코드 포인트를 보여줍니다. 0xFFFF 이상의 문자가 문제인 것처럼 보입니다.안드로이드 버튼에 일부 간지가 표시되지 않습니다. (유니 코드?)

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 
여기
jFont = Typeface.createFromAsset(
    getActivity().getAssets(), "fonts/DroidSansJapanese.ttf"); 

가의 setText을하고있는 어댑터의 코드입니다 : 여기

내가 글꼴을 설정하고있어 어떻게

나는 이것에 며칠을 보냈으며 아이디어가 없습니다. 어떤 아이디어라도 감사 할 것입니다.

답변

1

글꼴을 DroidSansJapanese.ttf로 설정하고 문자가 기본 글꼴로 지원되지 않아 도움이되지 않는다고 생각했습니다.

그래, 기본 다국어 평면 밖에 아무것도 포함하지 않는 U + 233E4 및 U + 28A1E가 어느 not included by DroidSansJapanese입니다 나타납니다.

Takao Gothic 및 Ming Li U가 포함 된 글꼴

+0

감사합니다. @bobnice! 그것은 정말로 문제입니다. 글꼴에있는 문자를 나열한 페이지가있는 페이지를 어떻게 찾았습니까? 글꼴의 슬롯이 비어 있는지 코드에서 어떻게 테스트합니까? Log.i 결과가 호스트가 아닌 개발 컴퓨터에 표시되기 때문에 문자를 볼 수 있었는지 알 수 있습니까? 다시 한 번 감사드립니다! –

+0

나는 다른 누군가가 그것을 쳤을 때를 대비해 여기서 언급 할 다른 것을 알아 차렸다. "setTextSize"를 단추에 비해 너무 넓은 너비로 설정하면 일부 문자의 "인식 할 수없는 문자/인쇄 할 수없는 문자"에 대한 기호가 표시되지만 다른 문자는 잘립니다. 이상하게 보입니다 ... –

관련 문제