Warum ist es so schwer herauszufinden, wie Unicode-Zeichen auf dem iPhone gezeichnet werden, indem einfache Zeichenmetriken abgeleitet werden, z. B. wie breit jede abgebildete Glyphe in der Schriftart ihrer Wahl ist?
Es sieht so aus, als wäre es mit NSLayoutManager
einfach, aber diese API ist anscheinend nicht auf dem Telefon verfügbar. Es sieht so aus, als würden die Leute eine private API benutzen, CGFontGetGlyphsForUnichars
, die dich nicht über die Apple Gatekeeper in den App Store bringt.
Kann mich jemand auf eine Dokumentation hinweisen, die zeigt, wie das geht? Ich verliere schnell Haare.
Howard
Ich nahm an, dass der Ausschluss von CGFontGetGlyphsForUnichars
war eher ein Versehen als eine absichtliche Bewegung, aber ich bin nicht
die Farm darauf setzen. Also benutze ich stattdessen
[NSString drawAtPoint:withFont:];
(in UIStringDrawing.h)
und
[NSString sizeWithFont];
Dies hat auch den Vorteil, eine anständige Substitution durchzuführen
auf Zeichen, die in Ihrer Schriftart fehlen, etwas, das
CGContextShowGlyphs
nicht tut.