Jörg Tewes <[EMAIL PROTECTED]> wrote on 23.11.05:

> Dienstag, 22.11.05 Michael Heydekamp schrub...

>>> UUZ-Version steht im Header dieses Postings. Und zwar wird ein
>>> "Smilie nicht richtig decodiert.

>> Von "Decodierung" kann man hier nicht sprechen, nur von
>> Konvertierung, und da liegt auch genau der Knackpunkt.  Es handelt
>> sich um einen nicht codierten Body im Zeichensatz ISO-8859-1.

> Das heißt der Fehler liegt beim Poster?

Nee...  Daß der Body nicht codiert ist (d.h. kein quoted-printable oder
base64, sondern plain 8bit), ist kein Fehler.  Ich hab's nur angemerkt
um klarzustellen, daß da eben nix zu decodieren war.

> Das Zeichen kommt im Zeichensatz ISO-8859-1 nicht vor?

Doch, aber nicht in CP437 (= XP-Zeichensatz).

>>> Der Smilie sieht im Original aus wie nen Kreis mit nem senkrechten
>>> Strich links,

>> Dieses Zeichen nennt sich "LATIN SMALL LETTER THORN", das in CP437
>> nicht existiert und daher, Du ahnst es schon, richtigerweise in ein
>> kleines "t" konvertiert wird.  Genauso wie z.B. ein "o" mit nem
>> Strich durch ("LATIN SMALL LETTER O WITH STROKE") in ein "ö"
>> konvertiert -- besser gesagt transliteriert -- wird.

>> Genau genommen müßte der Thorn sogar in ein "th" konvertiert werden,
>> weil er ähnlich ei ein englisches "th" ausgesprochen wird, aber eine
>> Multibyte-Konvertierung existiert eingehend nicht (ausgehend schon).

> Hmmm. Das heißt Crosspoint stellt den nicht nur falsch dar, sondern
> das eigentliche Zeichen ist komplett verloren.

Äh -- das ist so seit es Konvertierungen gibt und Du lebst damit,
mindestens seit Du XP benutzt.  Was im Zielzeichensatz nicht existiert,
kann halt nur bestmöglich transliteriert werden.

Ob das jetzt das "o" mit dem Strich ist (=> "ö" in XP), dieser Thorn (=>
"t" oder "p" je nach UUZ-Version) oder alle anderen in CP437 nicht
existierende Zeichen.

Dasselbe gilt natürlich auch ausgehend: Was in ISO-8859-x nicht
existiert (wie die XP-typischen Rahmengrafikzeichen), wird in
Bindestriche und Pluszeichen konvertiert.  Einzige Lösung hierfür wäre
UTF-8 (ja, steht auch auf der Liste).

>> Ich hatte aber in der Tat schon mal ganz heimlich überlegt zu
>> prüfen, ob unmittelbar vor dem Thorn smilie-typische
>> Zeichenkombinationen wie ":-", ";-", ":", ";", "B-" usw. vorkommen
>> und ihn in diesen Fällen tatsächlich in ein "p" oder "P" zu
>> konvertieren,

> Oder doch nicht? :-))

>> aber bisher hatte ich Wichtigeres am UUZ zu tun.

> Kann ich verstehen.

>> Zumal der Aufwand bei der Vielzahl der inzwischen vom UUZ
>> unterstützten Zeichensätze nicht ganz ohne wäre.  Aber Du kannst ja
>> schon mal alle denkbaren Kombinationen zusammenstellen, dann sehen
>> wir weiter. :-)

> Ich glaube ich hätte da Probleme, weil ich selbst Smilies nicht
> wirklich ausgiebig verwende.

Auch wenn Du sie nicht selbst verwendest, stünde einer gründlichen
Recherche doch prinzipiell nix im Wege?

Ein großer Teil der Arbeit gerade bei solchen Sachen besteht aus
Recherche und "Logikfindung" und es kann die Umsetzung erheblich
beschleunigen, wenn man sie nicht selbst betreiben muß... ;-)

>>> Da ich nicht sagen kann wie das Zeichen innerhalb Crosspoints
>>> aussieht

>> "Innerhalb CrossPoints" gibt es dieses Zeichen nicht.  Jedenfalls
>> nicht, solange Codepage 437 der von XP verwendete Zeichensatz ist
>> (in Codepage 850 hingegen existiert es).

> Aha. Ok also gehts erstmal nicht.

Eine Komplettumstellung von CP437 auf CP850 wäre eine weitere
Möglichkeit (CP850 enthält alle in ISO-8859-1 verwendeten Zeichen in
anderer Anordnung).  Ist aber extrem aufwendig und die XP-Oberfläche
wäre zudem betroffen (OK-Häkchen, Unendlich-Zeichen, einige
Rahmengrafikzeichen, das in FreeXP für das Euro-Symbol umdefinierte
Epsilon und andere existieren wiederum nicht in CP850).


        Michael
------------------------------------------------------------------------
FreeXP Entwickler-Mailingliste
[email protected]
http://www.freexp.de/cgi-bin/mailman/listinfo/dev-list

Antwort per Email an