[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#235759: libc6: iconv's replacement for "German quotes in UTF-8" to latin1



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



Reply to: