2013-11-22 4 views
0

나는 헝가리에 살고있는 일부 문자가 표시되지, 우리는 같은 일부 특수 문자를 얻었다. 이 사용자 정의 TextView는 생성자에 사용자 정의 서체를 설정하며 약간의 버그를 제외하고 제대로 작동합니다.사용자 정의 글꼴이 제대로

"ő"와 같은 특수 문자는 새로운 서체를 변환하지 않으며 그 기본 글꼴은 그대로 유지됩니다.

See my pic here,

(어쩌면 일부 문자 코딩 thingee 또는 난 ... 정말 잘 모릅니다)

이 (내가 사용하는 글꼴 돋움, 뉴 라이트, 그리고 난의 Windows/Fonts 폴더에서 열면 내 컴퓨터에서 특수 문자를 볼 수 있으므로이 글꼴에 "ő"문자가 포함되어 있지만 어떤 이유로 든 안드로이드가 제대로 처리 할 수 ​​없음을 의미합니다.)

가능한 경우 도움주세요! 감사!

E D I T :

내 사용자 정의 텍스트 뷰 클래스 : 간단한 것

public class FlexiTextView extends TextView { 

public FlexiTextView(Context context, AttributeSet attrs, int defStyle) { 
    super(context, attrs, defStyle); 
    initView(context); 
} 

public FlexiTextView(Context context) { 
    super(context); 
    initView(context); 
} 

public FlexiTextView(Context context, AttributeSet attrs) { 
    super(context, attrs); 
    initView(context); 
} 

private void initView(Context context) { 


    try { 
     Typeface typeface = Typeface.createFromAsset(context.getAssets(), "fonts/helveticaneue.ttf"); 
     this.setTypeface(typeface); 
    } catch (Exception ex) { 
     ex.printStackTrace(); 
    } 

} 

} 

답변

1

, 당신은 몇 가지 문자를 지원하지 않습니다 사용하는 글꼴입니다. ö, œ 또는 â과 같은 문자는 액센트가있는 기본 문자 그 이상으로 새롭고 다른 문자로 설계되었습니다 (글꼴에서). 그래서 언어의 특수 문자를 지원하는 글꼴을 선택해야합니다. 그렇지 않으면 기본 시스템 글꼴이 사용됩니다.

+0

하지만 PC에서이 글꼴을 열면 특수 문자를 분명히 볼 수 있다고 말했습니다. –

+0

미안, 나는 그 부분을 놓쳤다. .. 그것은 정말로 이상하다. HTML에서 텍스트를로드하려 했습니까? myTextView.setText (Html.fromHtml (" Időpont kérés"))); '? – gnclmorais

+0

: (같은 결과. –

0

문제는 설정하려는 장치에서 발생합니다. 같은 글꼴로 다른 .ttf 파일을 찾으십시오. 이런 식으로 서체를 설정하지 마십시오! Typeface.createFromAsset()이 너무 비쌉니다. 이를 위해 캐싱을 사용하십시오. link which saves your performance

관련 문제