Harryl89 wrote: 
> 
> So weit so gut, leider habe ich noch ein Problem mit öäü (es sind
> anscheinend keine Displays mit europ. ROM zu kriegen), viel googlen hat
> mir auch nicht wirklich geholfen da keine
> Anleitung die ich so gefunden habe funktioniert (bzw. ich keine Ahnung
> habe wie man eine Zeichenkonvertierung korrekt implementiert.)
> 
> 
Hallo,

ich habe das von Harryl89 umgesetzte Projekt auch so ähnlich gebaut,
natürlich auch mit den beschriebenen Problemen mit den deutschen
Umlauten.
Da ich das Script von DJanGo aus einem anderen Thread nicht mit dem
PiCorePlayer zum laufen brachte, habe ich mich mal selbst im
Try&Error-Verfahren
an die Umlautproblematik gewagt. Vorweg sei noch gesagt, daß ich von
Python keine Ahnung habe.

Prinzipiell geht es dabei ja darum, die Zeichenfolge für die Umlaute
abzufangen und statt dessen die entsprechenden Codes für die passenden
Zeichen im HD44780 Display zu senden.
Bei einem normalen ASCII-Zeichen wird ein 8 Bit langer Code geschickt,
das Display zeigt diesen korrekt an. Bei den Umlauten wird ein 16 Bit
langer Code geschickt, deshalb müßte das Display
zwei Zeichen anzeigen, da es nur ein 8 Bit Signal erwartet. Dummerweise
sind an den Stellen für die beiden Zeichen aus dem 16 Bit Signal im
HD44780 ROM 00 japanische Zeichen hinterlegt.
Diese werden natürlich dann auch angezeigt.
Nun wird es aber mysteriös, denn bei mir zeigt das Display bei einem
Umlaut nicht zwei sondern vier japanische Zeichen an. Warum kann ich mir
nicht erklären.
Genauer gasagt sind es nicht unbedingt vier Zeichen, sondern es sind
auch Leerzeichen dabei. Das liegt daran, daß im Speicher des HD44780
Displays nicht alle Speicherbereiche belegt sind.
Wird ein Code für einen nichtbelegten Speicherplatz gesendet, erscheint
auf dem Display ein Leerzeichen. 

Ich habe aber festgestellt, daß bei allen Umlauten immer drei japanische
Zeichen identisch und nur eines unterschiedlich ist. Das habe ich mir zu
nutze gemacht.
Mit der Python string.replace-Methode lassen sich auch Zeichen
entfernen. Daher habe ich entsprechende Regeln eingefügt, mit deren
Hilfe die identischen drei zeichen entfernt werden und nur
das unterschiedliche Zeichen in den korrekten Umlaut umgewandelt wird.
Ich habe für meine Zwecke nur die Sonderzeichen ä, ö, ü, Ä, Ö, Ü und ß
berücksichtigt, andere kommen bei mir so gut wie nie vor.

Bei Interesse kann ich mein Script gerne zum testen weiterleiten.


------------------------------------------------------------------------
piPlayer's Profile: http://forums.slimdevices.com/member.php?userid=65280
View this thread: http://forums.slimdevices.com/showthread.php?t=103464

_______________________________________________
slimserver-de mailing list
[email protected]
http://lists.slimdevices.com/mailman/listinfo/slimserver-de

Antwort per Email an