我注意到使用Qt库的这个问题,但说实话,我发现这是一个全局OS X问题。我有一个音乐字体,比如经典的Petrucci.ttf或Marl.ttf ...当我使用QPainter :: drawText()函数放置字符时,我只能看到标准字母。
使用亚洲字体或其他符号字体也会发生这种情况。在Windows上编译的相同Qt代码可以以正确的方式呈现字体。因此,例如,字母“a”是一个音符或一个停顿,或一个谱号......
在Mac中,字母“a”仍为“a”。
奇怪的是,如果我在字体簿中打开字体,字体就会正确呈现。所以我也尝试在OpenOffice,Pages或TextEdit上使用它。始终在Mac上,符号字体正常呈现,键入的字母仍为字母。
你有什么建议吗?
谢谢...
答案 0 :(得分:1)
好的,我找到的一个答案是检查整个字体映射并获取感兴趣范围的unicode值。例如,对于我使用的字体是0xf021-0xf0fb,因此,您可以绘制一个非文本符号,如下所示:
char c = 0xf021;
QString str = QString( QChar( c ) );
painter.drawText( 10, 10, str );