2017-02-20 3 views
2

.woff 글꼴을 사용해야하는 응용 프로그램을 개발 중입니다. .woff 파일에서 글꼴 유형을 가져 와서 textview로 설정하는 다음 코드를 작성했습니다.안드로이드 Runtime 예외 "글꼴 자산을 찾을 수 없습니다."안드로이드 nougat에있는 .woff 글꼴 파일에 대해

 hellofont = getFont("fonts/AvenirLTStd-Black.woff"); 
    //welcomefont = getFont ("fonts/AvenirLTStd-Heavy.woff"); 

    thankufont = getFont("fonts/RobotoCondensed-Bold.ttf"); 

    TextView text1 = (TextView) findViewById(R.id.text1id); 
    text1.setTypeface(hellofont); 

    TextView text2 = (TextView) findViewById(R.id.text2id); 
    text2.setTypeface(thankufont); 



public Typeface getFont(String fontName){ 
    try { 
     Typeface content = Typeface.createFromAsset(this.getAssets(), fontName); 
     return content; 
    } 

    catch(RuntimeException e) 
    { 
     Toast.makeText(this,e.getMessage(),Toast.LENGTH_LONG).show(); 
    } 

    return null; 

} 

이 코드는 Android 5.0 및 6.0 장치에서 잘 작동합니다. 하지만 그것은 안드로이드 7.0 장치에서 예외 (폰트 자산을 찾을 수없는 글꼴/AvenirLTStd-Black.woff)를 제공합니다. android 7.0에서 ttf 및 otf 글꼴을 테스트했으며 정상적으로 작동합니다. woff 글꼴 만이이 예외를 제공합니다.

assests/fonts 폴더의 글꼴도 보여주는 스크린 샷을 첨부했습니다. asset folder with woff fonts

사람은 문제가 여기에 무엇을 "나를 도와 드릴까요? 사전에

감사를 크리슈나

답변

1
안드로이드 7.0 및 7.1 나타납니다에서

WOFF 지원은 적어도 부분적 글꼴에서 드 할 것으로, 깨진 것으로 패키지 assets 디렉토리 .Nougat을 지원하는 가장 좋은 방법은 TTF 또는 OTF 버전의 글꼴을 가져 와서 대신 사용하는 것입니다.

+0

안녕하세요 Chris, 이미이 문제를 추적하고있는 Google의 버그를 알고 계시나요? 이것도 알아 차렸어. – clu

+0

@clu un 다행히도 아니오. 나는 대답에 대해서 나 자신을 찾아서 만 알았다. 더 이상 내 브라우저 기록에서 찾을 수 없기 때문에 내가 찾은 소스를 추가했으면 좋겠다. :( –

관련 문제