Как заставить азиатские шрифты работать на iPad? - PullRequest
1 голос
/ 10 августа 2010

У меня есть файл PDF со ссылкой на шрифт STSong-Light, который недоступен в iOS.

Поэтому я не могу отобразить правильные символы, определенные этим шрифтом.

Я взял файл шрифта STSong, упомянутый в Apples KB: http://support.apple.com/kb/ht1538

… и поместил его в мой проект и добавил в список.

Текст больше не отображается.

Я использую CGContextDrawPDFPage для рендеринга моих файлов PDF.

Мой вопрос:

Как правильно настроить файл шрифта ИЛИ как-нибудь получить доступ к доступным на iOS доступным шрифтам для замены шрифтов STSong в моем PDF? (должны быть другие азиатские шрифты, иначе эти интерфейсы не будут работать)

Спасибо всем заранее за помощь!

Редактировать: Я получил отзыв от Apple, что я мог бы также использовать замену шрифта, что означает, что вторая часть вопроса должна быть в правильном направлении.

Добавлено: это источник, который открывает файлы PDF:

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

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

1 Ответ

1 голос
/ 24 ноября 2010

Шрифт может быть не так важен, как кодировка. Если вы устанавливаете значение кодировки для документа, попробуйте использовать 0x80000421. У меня есть приложение, которое представляет текст кандзи, используя шрифт Helvetica, но с кодировкой строки 0x80000421

Попробуйте это: Вместо использования CGURLCreateWithFileSystemPath () попробуйте загрузить содержимое файла в объект NSData и использовать CFURLCreateWithBytes () с использованием этого содержимого NSData и использовать 0x80000421 в качестве значения для CGStringEncodingRef

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...