Iphone CGContextShowTextAtPoint für japanische Zeichen

8

Ich arbeite an einer App, in der ich CGContextShowTextAtPoint verwende, um Text auf dem Bildschirm anzuzeigen. Ich möchte auch japanische Zeichen anzeigen, aber CGContextShowTextAtPoint verwendet als Eingabe eine C-Zeichenfolge. Also entweder A) Wie ändere ich japanische Zeichen in eine C-Zeichenfolge? Wenn dies nicht möglich ist, B) Wie kann ich manuell japanische Zeichen auf den Bildschirm drucken (innerhalb der drawRect-Methode).

Vielen Dank im Voraus.

    
kiyoshi 06.08.2009, 08:18
quelle

4 Antworten

5

CoreText kann Ihnen helfen:

  1. CTFontGetGlyphsForCharacters (ab iOS 3.2) ordnet Unicode-Zeichen Glyphen zu
  2. CTFontDrawGlyphs (ab iOS 4.2) zeichnet die Glyphen in einen CGContext.

NB. CGContextShowGlyphs sollte funktionieren, aber ich habe nie einen Weg gefunden, meine UniChars in Glyphen umzuwandeln. Mehr dazu hier :

Ancient, vor iOS 3.2 Antwort

Sie müssen dafür UIKit verwenden.

Checke [NSString drawAtPoint:...] aus, um loszulegen.

Diese Frage SO ist ebenfalls hilfreich.

Ich weiß nicht, was sie mit dem CoreGraphic Textkram gedacht haben, es ist nutzlos.

    
Rhythmic Fistman 06.08.2009, 08:33
quelle
3

Ich konnte dies mit einer Neuimplementierung von CGFontGetGlyphsForUnichars von Jens Egeblad erreichen: GlyphDrawing.mm

Laden Sie zuerst eine japanische Schriftart als eine Otf-Datei aus dem App-Bundle:

%Vor%

Dann kannst du deinen unichar-Text in Glyphen umwandeln und sie zeichnen:

%Vor%     
noodl_es 29.09.2010 12:34
quelle
1

Was es wert ist, habe ich lange versucht, japanische Charaktere in CoreGraphics gut funktionieren zu lassen, und mochte nicht, wo es mich verlassen hat.

Am Ende habe ich UILabels benutzt, um den Text zu bearbeiten. Alle CoreGraphics-ähnlichen Sachen, die ich brauchte, konnten mit der Transform & amp; Animation Unterstützung, und am Ende war der resultierende Code viel einfacher.

Es mag für Ihre Situation nicht angemessen sein, aber es lohnt sich, darüber nachzudenken.

    
Kris Jenkins 20.12.2009 12:55
quelle
0

Das hilft vielleicht%% starter%. Danke an Rhythmic Fistman für den tollen Rat!

%Vor%     
Valerii Pavlov 22.08.2012 09:47
quelle

Tags und Links