iphone - 如何让亚洲字体在 iPad 上工作?

标签 iphone objective-c ipad ios fonts

我有一个 PDF 文件,其中引用了 iOS 上不可用的 STSong-Light 字体。

因此我无法显示用该字体定义的正确字符。

我取了Apples KB上提到的STSong字体文件: http://support.apple.com/kb/ht1538

... 并将其放入我的项目中并将其添加到 plist 中。

现在不再呈现文本。

我正在使用 CGContextDrawPDFPage 来呈现我的 PDF 文件。

我的问题是:

我怎样才能正确地让我的字体文件正常工作,或者我能否以某种方式访问​​ iOS 上可用的字体来替换我的 PDF 中的 STSong 字体? (必须有其他亚洲字体,否则这些接口(interface)将无法使用)

提前感谢大家的帮助!

编辑:我从 Apple 那里得到一些反馈,我也可以使用字体替代,这意味着问题的第二部分应该是正确的方向。

添加:这是打开 PDF 文件的来源:

CFURLRef pdfURL = CFURLCreateWithFileSystemPath(kCFAllocatorDefault, (CFStringRef)pdfFilename, kCFURLPOSIXPathStyle, false);
CGPDFDocumentRef pdfRef = CGPDFDocumentCreateWithURL((CFURLRef)pdfURL);
CFRelease(pdfURL);

CGPDFPageRef pdfPage = CGPDFDocumentGetPage(pdfRef, page);
[..]

最佳答案

字体可能不如编码重要。如果您正在为文档设置编码值,请尝试使用 0x80000421。我有一个使用 Helvetica 字体但字符串编码为 0x80000421 的汉字文本的应用程序

试试这个: 不要使用 CGURLCreateWithFileSystemPath(),而是尝试将文件内容加载到 NSData 对象中,并使用 CFURLCreateWithBytes() 使用该 NSData 内容,并使用 0x80000421 作为 CGStringEncodingRef 的值

关于iphone - 如何让亚洲字体在 iPad 上工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3452024/

相关文章:

objective-c - 正确使用 NSURLConnection

objective-c - XC测试 |词法或预处理器问题 : MyProject-Swift. h 未找到

iphone - 如果我安装 iPhone 操作系统的 SDK 4.0,我仍然能够创建非 4.0 iPad 应用程序吗?

iphone - NSFetchedResultsController:对象从较高索引移动到较低索引时出现异常

ios - 在 UIViewController 之间切换时会发生什么类型的内存问题?

iphone - 防止在 MKMapView 中滚动,缩放时也是如此

iphone - iPhone,JQTouch和HTML5音频标签

ios - Weirdcore 数据 react - 未检测 NSManagedObject 子类

ios - iOS 7 中的 UIActivityViewController 奇怪行为

objective-c - 核心定位不正确的距离