Wie ändern Sie den Buchstabenabstand / die Verfolgung im Haupttext?

8

Dies könnte wahrscheinlich auch gefragt werden wie "Ist kCTKernAttributeName eine falsche Bezeichnung?"

Ich muss den Buchstabenabstand / die Verfolgung eines Textes in iOS ändern. (Die Schriftart, die ich verwende, ist in kleinen Größen etwas zu eng.) Es gibt Kern-Grafikroutinen, die den Zeichenabstand ändern, aber diese Routinen verarbeiten kein Unicode. Es gibt andere Kern-Graphik-Routinen, die in Form von Glyphen definiert sind, aber diese scheinen eine Welt voller Verletzungen zu sein, unter anderem das Sicherheitsnetz der Rückkehr zu Systemschriftarten für Glyphen, die in meiner Schriftart nicht existieren. p>

Kerntext scheint also der Weg zu sein, und Kerntext unterstützt kCTKernAttributeName auf CFAttributedString. Ich denke, das wird tun, was ich will, obwohl dies wirklich nicht Kerning ist, da Kerning ist in der Regel ein Zeichenpaar-Attribut und dies (scheint, aus den Dokumenten) nur eine einheitliche Anpassung der Glyph Fortschritt für alle Glyphen, dh , Tracking.

Wenn jemand weiß, bevor ich den ziemlich schmerzhaften Pfad der Umwandlung in die Kerntext-API hinunter gehe ...

    
smparkes 20.04.2011, 16:47
quelle

1 Antwort

4

kCTKernAttribute name sollte tun, was Sie wollen. Wenn Sie den Text über einen Bereich von Text setzen, wird der Abstand zwischen den Zeichen konstant angepasst, unabhängig von den spezifischen Zeichen.

Ich denke, ein Teil des Problems besteht darin, dass Kerning ein virtuelles Synonym für das Tracking zu sein scheint (es ist immer noch nur "passen Sie den Abstand zwischen Buchstaben oder Zeichen in einem zu druckenden Textteil an") OS X) und verwendet jetzt aufgrund der Redundanz nur die Bedeutung des Kerning von Paaren. Wahrscheinlich wäre ein Etymologe besser in der Lage, diese Seite der Dinge zu kommentieren ...

    
Tommy 20.04.2011, 17:20
quelle