Martin v. Löwis wrote: > Michael Piefel wrote: >> Am Dienstag, den 18.10.2005, 12:14 +0100 schrieb Christian Mack: >> >>> Ich bin mir nicht sicher wann welche Variante gewählt wird, aber ich >>> vermute, >>> die erste immer bei Framebuffersupport, die andere auf Textconsole. >> >> >> Ich kann mir kaum vorstellen, dass in der C-Bibliothek eine >> Unterscheidung in PC-Textmodus und Framebuffer vorgenommen wird. Das ist >> die falsche Abstraktionsebene. Und zudem: _Meine_ Textkonsole kann mit >> Zeichen jenseits von ASCII umgehen. > > Das wird anhand der locale entschieden. Wenn iconv oder wcstombs > versuchen, (wchar_t)0x201C in char[] umzuwandeln, gehen sie wie > folgt vor: > 1. wenn es im CODESET (nl_langinfo(CODESET)) der locale eine > Byterepräsentation für U+201C gibt (etwa weil CODESET UTF-8 > ist), dann wird in dieses umgewandelt. > 2. wenn das nicht der Fall ist, wird überprüft, ob > transliteration erlaubt ist. Wenn das nicht erlaubt ist, > scheitert die Konvertierung. > 3. ansonsten wird überprüft, ob U+00AB > (LEFT-POINTING DOUBLE ANGLE QUOTATION MARK) im CODESET vorhanden > ist. Falls ja, wird das genommen. > 4. ansonsten wird überprüft, ob U+0022 (QUOTATION MARK) enthalten > ist, dann wird das genommen. Das sollte eigentlich in jedem > CODESET enthalten sein. > 5. ansonsten scheitert die Konvertierung. > > Mir ist nicht ganz klar, wie in Schritt 2 entschieden wird, ob > transliteration erlaubt ist. Bei iconv ist es klar: Wenn > der Zeichensatz auf //TRANSLIT endet (etwa ISO-8859-1//TRANSLIT), > dann wird transliteriert. Wie das bei wcstombs ist, ist mir > nicht klar. In gettext jedenfalls wird der iconv-Codec mit > //TRANSLIT geöffnet, sodass gettext(3) immer transliteration > durchführt. > > Ciao, > Martin
Danke Martin für die umfassende Info. Damit hat Micha teilweise recht. Sollte dies nicht in die i18n-Doku? Tschau Christian -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]