我的解决方案受到了skia的启发。
虽然不能直接访问系统内置字体文件,但我们仍有一种间接的方式:
使用您想要的字体名称创建一个CGFont,通过简单调用CGFontCopyTableTags()和CGFontCopyTableForTag()即可访问此CGFont的所有SFNT表格内容。
可以使用这些表格构建ttf/otf字体数据,将新创建的字体保存到磁盘中,稍后可以在FTGL ES中使用它。
CFStringCreateWithCString
函数和 字体名称 来创建内存中的字体,然后使用 CGFontCreateWithFontName
函数来创建字体。 - electromaggot不行。您的应用程序无法访问应用程序沙盒之外的文件。除非它被越狱了;)。但是您确实可以捆绑字体文件。现在,我看不出为什么苹果会拒绝您的应用程序,因为它正在使用设备上已经可用的文件,并且您只是将本地文件包含在其中。在版权方面,苹果已经获得了使用它在其设备上的许可,因此您的包含应该没有问题。
我说“应该”是因为我没有需要这种功能,也没有通过自己的提交进行测试,但基于我过去看到的法律直觉和字体版权问题,我认为这不会成为问题。