2013-03-25 81 views
3

我注意到使用Qt庫的這個問題,但說實話,比我發現這是一個全球性的OS X問題。我有一個音樂字體,說經典的Petrucci.ttf或Marl.ttf ...當我使用QPainter :: drawText()函數放置字符時,我只能看到標準字母。Qt字體OS X和FontBook

此外,這種情況使用亞洲字體或其他符號字體。在Windows上編譯的相同Qt代碼可以以正確的方式呈現字體。所以,例如,字母「a」是音符或暫停,或者譜號...

在Mac中,字母「a」仍然是「a」。

奇怪的是,如果我在字體書中打開字體,字體就會正確呈現。所以我也嘗試在OpenOffice,Pages或TextEdit上使用它。始終在Mac上,符號字體通常呈現,鍵入的字母仍然是字母。

你有什麼建議嗎?

謝謝...

回答

1

OK,一個答案,我發現是檢查整個字體映射和搶的興趣範圍的Unicode值。例如,對於我使用的字體是0xf021-0xf0fb,因此,可以繪製如下非文本符號:

char c = 0xf021; 
QString str = QString(QChar(c)); 
painter.drawText(10, 10, str);