Conversion de texte au secours
Publié : 16.07.2004 - 13h22 par Nune
Bonjour,
Je récupère une CString de la manière suivante:
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:
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
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