2010-08-10 6 views
1

J'ai un fichier PDF avec une référence de police à STSong-Light qui n'est pas disponible sur iOS.Comment faire fonctionner les polices asiatiques sur un iPad?

Par conséquent, je ne peux pas afficher les caractères corrects définis avec cette police.

Je pris le fichier de police STSong mentionné sur Apples KB: http://support.apple.com/kb/ht1538

... et le mettre dans mon projet et ajouté à la plist.

Le texte n'est plus rendu. J'utilise CGContextDrawPDFPage pour afficher mes fichiers PDF.

Ma question est:

Comment puis-je obtenir correctement mon fichier de police de travail ou puis-je accéder en quelque sorte sur les polices disponibles iOS pour remplacer les polices STSong dans mon PDF? (il doit y avoir d'autres polices asiatiques, sinon ces interfaces ne fonctionneraient pas)

Merci d'avance pour votre aide! Edit: J'ai reçu des commentaires d'Apple que je pourrais aussi utiliser un substitut de police, ce qui signifie que la deuxième partie de la question devrait être la bonne direction.

Ajouté: Ceci est la source qui ouvre le PDF Fichiers:

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

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

Répondre

1

La police ne peut pas être aussi important que le codage. Si vous définissez la valeur de codage pour le document, essayez d'utiliser 0x80000421. J'ai une application qui présente le texte Kanji en utilisant la police Helvetica mais avec un codage de chaîne de 0x80000421

Essayez ceci: Au lieu d'utiliser CGURLCreateWithFileSystemPath(), essayez de charger le contenu du fichier dans un objet NSData et utiliser CFURLCreateWithBytes() à l'aide que Contenu NSData et utilisation 0x80000421 comme valeur pour CGStringEncodingRef

+0

Pourriez-vous s'il vous plaît publier l'appel de fonction pour définir le codage? Je vous remercie! – favo

+0

translatorResponse = [[NSMutableString alloc] initWithData: encodage connectionBuffer: translationEncoding]; –

+0

Il serait probablement plus utile de voir comment vous chargez le PDF et comment vous essayez de présenter son contenu –

Questions connexes