Personnalisé UIFont de référence décalé
Je vais avoir un problème avec la coutume UIFonts. Je charge 6 d'entre eux (police A régulièrement/gras/regularItalic/gras italique, police B dans la matière condensée/condensedSlanted variantes).
Cependant, voici ce que cela donne lors du rendu:
Les deux premières lignes sont OK, mais le dernier présente un problème de base.
J'ai essayé de changer l'UPM, montante, descendante, x-hauteur de la police dans FontLab afin qu'il corresponde à la première police de valeurs, qui le rend bien), mais en vain. J'ai essayé de convertir le format de police de la FTO à la TTF, pas de chance. Quoi que j'essaye, il rend toujours de cette façon.
Quelqu'un a une expérience avec cela?
- Hey, avez-vous une solution pour cela. J'ai essayé beaucoup de choses, mais pas eu la bonne solution. Même ce problème avec certaines polices uniquement pas pour tous.
- Commentaire sur mes progrès à ce jour: j'ai trouvé un autre .la fto fichier pour la même police; cette fois, il fonctionne parfaitement. Le lundi matin, je vais étudier les différences entre les deux polices, en particulier aux "mesures de Police" dans le cadre FontLab, et le rapport de ce que je vais trouver.
- Le même problème: stackoverflow.com/questions/7535498/..., stackoverflow.com/questions/5414730/...
- Merci Pavel, d'après mes recherches, c'était vraiment un problème avec les bloqueurs. J'ai corrigé ce matin, en modifiant la police dans FontLab, mais, fondamentalement, je viens de faire la même chose que vous avez fait avec
ftxdumperfuser
. Si vous voyez un inconvénient à copier/coller la réponse à votre question, je voudrais marquer comme le corriger et de vous accorder les points.
Vous devez vous connecter pour publier un commentaire.
Ici ou même ici vous trouverez les solutions pour vous.
Il est tout au sujet de base.
Note
Il y a un problème avec l'installation de Polices d'Apple Utilitaire sur El Capitan. Voir https://apple.stackexchange.com/questions/211138/apple-font-tools-cannot-install-in-macbook-pro-el-capitan pour une solution de contournement.
OU vous pouvez facilement changer NSBaselineAttributeName comme suit:
Salut j'ai aussi été confronté à ce problème à l'époque, j'ai mis Titre du Contenu de Bord en conséquence pour UIButton.
Donc, si vous utilisez cette polices pour UIButton alors vous pouvez certainement l'utiliser.
Espère que cela va vous aider.
Une autre solution intéressante, j'ai trouvé vient de le post suivant:
http://www.andyyardley.com/2012/04/24/custom-ios-fonts-and-how-to-fix-the-vertical-position-problem/
De sorte que vous devriez vérifier si c'est le cas avec votre police de caractères, comme il dit dans un des commentaires:
Ma solution en fait de correctifs de la police personnalisée pour fonctionner avec iOS du moteur de rendu vous permettant de l'utiliser comme un remplacement direct pour les polices standard sans aucune modification.
Et comment fait-il?
Fondamentalement, il suggère d'éditer les paramètres de la police à l'aide d'un utilitaire d'Apple (voir les mesures de police de référence à https://developer.apple.com/library/ios/documentation/StringsTextFonts/Conceptual/TextAndWebiPhoneOS/CustomTextProcessing/CustomTextProcessing.html#//apple_ref/doc/uid/TP40009542-CH4-SW66)
Pour modifier la police, vous aurez besoin de télécharger la Pomme de Police de l'Outil de Suite. Une fois que vous avez installé ce faire, vous devez ouvrir un Terminal et allez dans le répertoire qui contient votre police. Après cela, entrez la commande suivante:
Cela va créer un fichier appelé font.hhea.xml, ouvrir ce nouveau fichier dans un éditeur de texte et d'ajuster les valeurs pour ascendante et descendante. En général, si vous avez de la police est trop faible, vous voulez diminuer la montante et augmenter la descendante. Après l'édition et l'enregistrement entrez la commande suivante dans le terminal pour reconstruire votre fichier de Police:
Vous pouvez maintenant utiliser la police.ttf fichier dans votre application. Si la police n'est toujours pas à droite, il suffit de répéter la procédure ci-dessus jusqu'à ce que vous êtes heureux.
Vous avez besoin de vérifier ces polices côte à côte dans un vecteur logiciels comme Adobe Illustrator ou CorelDraw. Si vous trouvez les polices, le rendu dans la même base de offsetted de la mode dans ces logiciels aussi, alors c'est quelque chose à voir avec la police elle-même. c'est à dire les polices peuvent être créés avec ces pixels offset dans le fichier de police. Donc, pas besoin de faire toutes ces modifications .xib les paramètres UIButton ou UITextField etc.
Partager vos fichiers de police ici si possible.
peut-être avoir un coup d'oeil à UITextView /UITextLabel de la propriété
'thLabel.contentVerticalAlignment = UIControlContentVerticalAlignmentcenter;'
ceci définit l'alignement vertical.
Il a été utile pour moi il y a quelques jours dans un cas similaire
UITextView
n'hérite pas deUIControl
, etUITextLabel
n'existe pas dans Cocoa Touch pour autant que je sais. Peut-être que vous envisagez deUITextField
, qui n'héritent deUIControl
et a donc lecontentVerticalAlignment
de la propriété que vous décrivez.Par la manière d'Apple Police Suite d'Outil n'est pas le seul programme qui peut vous aider. Donc, si vous ne souhaitez pas installer la copie virtuelle de macOs, vous pouvez utiliser FontForge pour Windows pour jouer avec ascendante et descendante: element -> police d'infos, puis OS/2 l'onglet paramètres. Et n'oubliez pas de cocher la case "Apple" case à cocher lors de la génération de la police à la fin. Bonne chance!