Conversion de texte au secours

Publié : 16.07.2004 - 13h22 par Nune

Bonjour,

Je récupère une CString de la manière suivante:

Code : Tout sélectionner

IBOutlet NSTextView     *fTextView;
theViewText = [fTextView string];
...
NSString *      theViewText;
char * theText = (char *)[theViewText lossyCString];
if (theText)
{
    OSErr  theErr = ConvertText(id, theText, strlen(theText));
...
}


En fait ma fonction ConvertText récupère le buffer theText et doit le convertir suivant la langue en entrée (Arabe, Russe, Polonais ... ) en un buffer contenant du codepage Windows Arabic, Windows Cyrillic, ISO-8859-2 ...

J'ai essayé les TECConvertText() comme suit:

Code : Tout sélectionner

inputEncoding = CreateTextEncoding(kTextEncodingMacArabic, kTextEncodingDefaultVariant, kTextEncodingDefaultFormat);
outputEncoding = CreateTextEncoding(kTextEncodingWindowsArabic, kTextEncodingDefaultVariant, kTextEncodingDefaultFormat);
TECCreateConverter(&newEncodingConverter, inputEncoding, outputEncoding);
TECConvertText(newEncodingConverter, textBuf, byteLen, &actualInputLength, outText, outputBufferLength, &actualOutputLength);


mais ça ne marche pas mon buffer ne contient que des ??? ???? ??

Lorsqu'il s'agit de langue non exotiques comme le français ou l'anglais ..., je convertis de kTextEncodingMacRoman à kTextEncodingWindowsLatin1 et ça marche bien, le signe euro par exemple et bien retranscrit.
Je ne suis pas sûre que le texte en entrée sous en kTextEncodingMacArabic dans le cas de l'arabe par exemple, je ne sais pas comment faire. il me semble l'avoir tourné dans tous les sens sans résultat.

Please Help me