首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在OS X下以编程方式识别PI字体( Dingbat)

如何在OS X下以编程方式识别PI字体( Dingbat)
EN

Stack Overflow用户
提问于 2010-04-13 06:48:43
回答 1查看 320关注 0票数 0

有一类名为Pi fonts的字体,其字形在OS X下映射到私有Unicode空间0xF021-0xF0FF,这样,如果您从每个unicode字符中减去0xF000,就可以检索字符的8位版本,并能够像绘制标准罗马字符一样绘制该字符。

我的问题是如何识别这些字体?很明显,系统可以这样做,因为在特殊字符调色板上有一个名为"Pi Fonts“的类别,它显然在我的系统上安装了各种这样的字体。在我的例子中,它们是BookshelSymbolSeven、MSReferenceSpeciality、MT-Extras、Marlett、MonotypeSorts、Webdings和各种Wingdings。如果我使用老式的QuickDraw例程来请求这些字体的TextEncoding,我得到的值是0x20000,这在系统头文件TextCommon.h中看不到。我是否应该将TextEncoding为0x20000的任何字体视为Pi字体?出于显而易见的原因,我不想使用任何QuickDraw字体处理例程。

EN

回答 1

Stack Overflow用户

发布于 2010-04-14 02:34:05

我所知道的最接近的东西是被称为NSFontSymbolicClass of NSFontDescriptorNSSymbolicTraits。代码

代码语言:javascript
复制
NSFontDescriptor*fontDesc=[NSFontDescriptor fontDescriptorWithFontAttributes:nil]; 
fontDesc=[fontDesc fontDescriptorWithSymbolicTraits:NSFontSymbolicClass];
NSArray*foo=[fontDesc matchingFontDescriptorsWithMandatoryKeys:[NSSet setWithObject:NSFontTraitsAttribute]];
NSLog(@"%@",foo);

给我一个Pi字体+盲文+更多的列表。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2625968

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档