2012-01-30 4 views
1

X11을 실행중인 장치의 QT/QML (4.7.4) 응용 프로그램에서 작업 중입니다. 리눅스 데스크톱에서 중국과 러시아 글꼴 이 잘 작동하지만, 장치에서는 켜지지 않습니다.qt qml 중국어/러시아어 글꼴이 작동하지 않습니다.

모든 조사 및 조사에서 나는 이 QML FontLoader 문제인지 확실하지 않거나 X11 글꼴을 수정해야합니까?

필자는 fc-cache와 xset + fp 및 관련 명령을 사용하여 며칠을 보냈다. 필자는 QFontDatabase :: addApplicationFont() 을 사용해 보았습니다.

내가 FontLoader를 사용해야하는 경우는 폰트가 다른 때 전체 응용 프로그램의 모든 텍스트 항목을 말해야 할 (사용자가 언어를 전환 할 때?) 즉 큰 작업이 될 수 있습니다. 가능한 경우 X11을 통해이 문제를 해결할 것입니다.

대답이 X11에있는 경우 도움이 필요합니다. 나는 장치에 에서 Qt는 배포판을 모든 글꼴을 복사 (지금은 중국어 폰트를 추가로 난 그냥 해결책을 가지고 알고 작업 중 하나를 볼 필요가 있기 때문에 뿐만 아니라) 다음 명령을 실행 :

(그 몇 일째로이 완료되지 않을 수 있습니다) 내 Qt는 응용 프로그램에서

1. go into the directory that I copied the Qt fonts to and: 
    A. mkfontscale . 
    B. mkfontdir . 
2. sudo xset +fp "/dir/to/qt/fonts/dir" 
3. sudo xset fp rehash 
4. xset q (shows whats set) 
5. sudo fc-cache -fv 
6. export FC_DEBUG=1024 (shows debug info when app starting app or fc-list) 

, 내가 가진 :

int ret = fonts.addApplicationFont("/opt/project/lib/fonts/wqy-zenhei.ttc"); 
if (ret == -1) 
    qDebug() << "ERROR - font didnt load"; 

내가 오류 MSG가 표시되지 않기 때문에 내 글꼴이 분명히있다 올바르게로드되었습니다.

응용 프로그램을 실행할 때 글꼴 목록이 (FC_DEBUG 및 fc-list를 통해)으로 표시되지 않습니다.

이 이슈를 해결하기위한 통찰력/도움을 주셔서 감사합니다. 감사합니다.

답변

0

밝혀졌습니다. 내 qml은 소스 코드에서 중국어 (및 기타) 글꼴을 직접 사용하고 있었지만 다른 qml 파일은 번역 중이었습니다. 언어를 선택하면 (시작시 선택 qml 패널이 있음) 글꼴이 있습니다. 이제는 나타나지 않는 글꼴을 해결해야합니다.

관련 문제