• Das kreative Thema des Monats Oktober wird vor allem diejenigen unter Euch besonders ansprechen, denen Do-it-yourself quasi im Blut liegt. Zeigt uns Eure Improvisationskünste oder fotografiert, was andere Leute sich so im Alltag zusammengestrickt haben. --> Zum Mitmachen bitte hier klicken

Umlaute und Core Graphics "showTextAtPoint"

stocki

Morgenduft
Registriert
26.01.07
Beiträge
165
Hallo =)

Ich entwickle seit einiger Zeit ein kleines Spielchen für das iPhone und bin nun gerade dabei eine Art "Sequenz" aus Bildern und Text zu erstellen.

Der Ablauf funktioniert dabei wie folgt:

1. Die Datei wird geladen
2. Es wird eine Array erstellt
3. Eine Schleife nach einer bestimmten Zeit ein neues Bild und einen neuen Text ein und erzeugt einen grafischen Übergang

Bis hier hin funktioniert alles. Nur gibt es ein Problem mit den Umlauten im Text.

Für ein besseres Verständnis habe ich euch eine Skizze angehängt (die Erklärung dazu findet ihr unter dem Bild)

skizze.png

1., 2. und 3. wurden bereits oben erklärt.
Im Dritten Schritt wird aus der "Localizable"-String des Untertitels ausgelesen und dann als NSLocalizableString([myArray objectAtIndex: x], nil)
eingefügt.
Das Rendering über CoreGraphics (mit showTextAtPoint) verursacht dann auf Deutsch Umlautfehler bei ß, ü, ä und ö.

Ich habe bereits gegoogelt und auch die Suche hier bei Apfeltalk benutzt aber nichts zu diesem Problem gefunden. :-/

Ich hoffe jemand hat Erfahrung mit diesem Problem und kann mir weiterhelfen.

vlg stocki

PS. Hier noch der Quellcode der Textdarstellung:

CGContextSetTextDrawingMode(cont, kCGTextFill);
CGContextSelectFont(cont,"MarkerFelt-Thin",24,kCGEncodingMacRoman);

CGContextShowTextAtPoint(cont, x, y, [caption UTF8String], [caption length]);

x ... CGFloat X-Koordinaten
y ... siehe oben nur für Y
caption ... NSString (NSLocalizedString in diesem Fall)
cont ... Drawing Context
 
Ich habe selbst eine Lösung für das Problem gefunden:

[caption UTF8String]

musste logischerweise in

[caption cStringUsingEncoding: NSMacOSRomanStringEncoding]

umgeändert werden...

vlg stocki