2015-10-30 2 views
0

J'essaie actuellement de mettre en œuvre une application où je veux afficher des caractères chinois dans une chaîne, qui contient également des caractères latins, par ex. "非常 感谢 您 的 订单 您 为 患者 PatientName."ios ArialUnicodeMS renvoie une autre police

Dans mon application, je suis en utilisant le code suivant:

[self.textLabel setFont:[UIFont fontWithName:@"ArialUnicodeMS" size:12.0f]] 

Si je le tester (sans ajouter ArialUnicodeMS comme police personnalisée), il fonctionne, mais il n'utilise pas ArialUnicodeMS, il utilise une police différente. Si j'ajoute ArialUnicodeMS en tant que police personnalisée à mon projet et que j'essaie la même ligne de code, alors il utilise la police correcte. Donc, ma question est, quel type de police est utilisé par défaut pour ArialUnicodeMS pour afficher les caractères chinois?

C'est important pour moi, car je dois vérifier si tous les caractères correspondent à la marque de notre société ou si j'ai besoin d'utiliser le "vrai" ArialUnicodeMS, ce qui est assez cher.

Répondre

0

Aucune version d'iOS n'est fournie avec la police "Arial Unicode MS" (voir this font list), mais elle est "téléchargeable". Voir this sample code pour un exemple de comment le télécharger.

+0

C'est vrai, mais la partie amusante est qu'elle ne lance pas d'exception si j'utilise la ligne ci-dessus sans télécharger le "Arial Unicode MS". Il retourne un UIFont mais je ne sais pas de quelle police il s'agit. Je sais comment télécharger et intégrer l'Arial Unicode MS, mais je veux savoir comment je peux vérifier si c'est la police correcte ou quelle police est utilisée. –

+0

Cochez '+ [UIFont familyNames]' ou '+ [UIFont fontNamesForFamilyName:]'. –

+0

Si je teste 'UIFont * arialUnicodeMs = [UIFont fontWithName: @" ArialUnicodeMS "taille: 12.0f]' sans télécharger la police, alors il retourne un UIFont et si je vérifie 'arialUnicodeMs.familyName' alors c'est" Arial Unicode MS "mais ce n'est pas la MS Arial Unicode, car les caractères sont différents. Si je vérifie le '+ [UIFont familyNames]' alors il ne contient pas un Arial Unicode MS dans la famille et soit pas dans les noms pour la famille. Donc je me demande toujours quelle police est utilisée par le système? –