Es gibt eine Steuerung mit einem klassischen 2x40 Text-LCD. Zwischen Deutsch und Englisch kann man schon umschalten, jetzt soll das Teil französische Worte anzeigen. Am liebsten wäre mir, im Quelltext alles korrekt zu schreiben, also z.B. "Français". Der Ausgabetreiber würde zur Laufzeit die "Verzierungen" entfernen, also ASCII ausgeben, also würde "Francais" angezeigt werden. Die entscheidende Frage: Wie verwirrt/beleidigt/angepi$$t wäre ein Franzose? Oder muss man das so ähnlich wie im Deutschen konvertieren, also "ä" zu "ae"? Das wäre im Quelltext natürlich noch praktischer, aber für mich noch unübersichtlicher. Wie war das in der Schule? Nimm Latein, Französisch braucht kein Mensch?!
Du kannst eine begrenzte Zahl an Sonderzeichen verwenden. Voilà - Dein Problem ist gelöst. Einen Keymap-Decoder brauchst Du eh. Ich würde UTF-8 nahelegen.
:
Bearbeitet durch User
Walter T. schrieb: > Du kannst eine begrenzte Zahl an Sonderzeichen verwenden. Leider nur theoretisch, die Tabelle für das CGRAM steckt in einem anderen uC, und an den komme ich ganz schlecht dran. Außerdem, reichen 6 bis 8 Zeichen? Die Franzosen kennen bestimmt viel mehr.
Bauform B. schrieb: > Außerdem, reichen 6 > bis 8 Zeichen? 8 Zeichen reichen für alle "E"-Varianten. ÈÉÊËéèêë Bauform B. schrieb: > die Tabelle für das CGRAM steckt in einem > anderen uC, und an den komme ich ganz schlecht dran. Wie praktisch, dass man diese Nebensächlichkeit schon so früh erfährt.
Bauform B. schrieb: > Wie verwirrt/beleidigt/angepi$$t wäre ein > Franzose? Oder muss man das so ähnlich wie im Deutschen konvertieren, > also "ä" zu "ae"? Eine Konvertierung wie bei den Umlauten gibt's im Französischen nicht. Akzente auf Großbuchstaben werden heute gerne weggelassen, auch wenn die académie française da anderer Meinung ist. Am wichtigsten sind éèà und ù, den weggelassenen circonflexe (Das "Dach") würde man Dir verzeichen; falls doch mehr als 4 Sonderzeichen möglich sind, setz' das Dach auf aeuo. Bevor Du das i mit circonflexe dazunimmst, lieber die cedille unterm kleinen c berücksichtigen.
Walter T. schrieb: > Einen Keymap-Decoder brauchst Du eh. Ich würde UTF-8 nahelegen. In C++ kann man das auch den Compiler erledigen lassen, z.B. so:
1 | #include <cstddef> |
2 | #include <array> |
3 | #include <utility> |
4 | #include <iostream> |
5 | #include <iomanip> |
6 | |
7 | constexpr std::uint8_t hd44780Char (char32_t c) { |
8 | return
|
9 | (c == U'ä') ? 0xE1 : |
10 | (c == U'ö') ? 0xEF : |
11 | (c == U'ü') ? 0xF5 : |
12 | (c == U'ç') ? 0x63 : |
13 | (c == U'ß') ? 0xE2 : |
14 | static_cast<std::uint8_t> (c & 0xFF); |
15 | |
16 | }
|
17 | |
18 | template <std::size_t N, std::size_t... I> |
19 | constexpr std::array<std::uint8_t, N> hd44780Str2 (const char32_t (&str) [N], std::index_sequence<I...>) { |
20 | return {{ hd44780Char (str[I]) ... }}; |
21 | }
|
22 | |
23 | template <std::size_t N> |
24 | constexpr std::array<std::uint8_t, N> hd44780Str (const char32_t (&str) [N]) { |
25 | return hd44780Str2 (str, std::make_index_sequence<N> {}); |
26 | }
|
27 | |
28 | int main () { |
29 | constexpr auto str1 = hd44780Str(U"ae=ä, oe=ö, ue=ü, ss=ß, cc=ç"); |
30 | for (std::uint8_t c : str1) { |
31 | std::cout << '[' << c << "] => " << "0x" << std::hex << std::setw(2) << std::setfill ('0') << static_cast<int> (c) << ", "; |
32 | }
|
33 | std::cout << std::endl; |
34 | }
|
Dadurch kann man im Quelltext die Strings "ganz normal" speichern - typischerweise UTF-8, aber prinzipiell egal, solange Editor und Compiler auf den selben Zeichensatz eingestellt sind; bei GCC ist es m.w. immer UTF-8. Mithilfe der Übersetzungs-Logik in "hd44780Char" können dann beliebige Unicode-Zeichen (im Code als UTF-32-Char-Literal definiert) in einzelne Ausgabe-Zeichen umgewandelt werden. Laut http://www.netzmafia.de/skripten/hardware/Arduino/LCD/index.html enthalten die handelsüblichen Displays Umlaute, welche ich oben beispielhaft entsprechend übersetzt habe; ein ç gibt es leider nicht, weshalb ich das in ein normales 'c' übersetzt habe. Wenn du aber ein eigenes ç-Zeichen im Controller hinterlegst, kannst du das mit dieser Übersetzung ebenfalls abhandeln, sofern die Position bekannt ist. Der Vorteil ist dass die Übersetzung zur Laufzeit entfällt und die Daten effizient direkt aus dem Flash an das LCD geschickt werden können; der Nachteil ist, dass diese Strings dann nicht mehr anderweitig zu gebrauchen sind (z.B. per UART) weil sie im LCD-spezifischen Zeichensatz sind.
Die Krueckenloesung: Wenn Du es schaffst zumindest die accents-aigu und -grave auf den Kleinbuchstaben anzuzeigen, dann kommt ein Franzose zumindest weitgehend mit der Lesbarkeit klar. Aber doll ist das nicht, wenn auf ein paar Buchstaben Akzente drauf sind, auf anderen nicht. Was aber zu bedenken ist: Die Franzosen sind sehr stolz auf ihre Sprache. Das wird ihnen also mindestens mal einen unfreundlichen Kommentar abringen und es wird dem Produkt auch den Touch einer minderwertigen Qualitaet verpassen. Weiss nicht, ob euer Produktmanagement das so will. Ich habe viele Jahre in einem Unterhaltungselektronikkonzern gearbeitet und habe viel mit dem vielsprachigem Benutzerinterface zu tun gehabt. Unser franzoesischer Field-Support-Mensch, den wir stets mit unserem fast-fertigem Produkt fuer Fieldtests besucht hatten, hat zu 90% Fehler in der Bildschirmdarstellung bemaengelt. Am besten waere also wohl ein Redesign der Hardware mit einem Controller, der das beherrscht. Evtl gleich ein grafisches Display verwenden. Das geht aber sicherlich aus ganz vielen Gruenden nicht. Wie immer. PS: ich schreibe im uebrigen gerade auf einer US-Tastatur. Daher meine Umlaute mit ae ue oe... Leider gibt es so eine annerkannte Umschreibung im franzoesischen nicht.
Hi, interessant ist, dass Charakter-Roms auf Kundenwunsch programmiert hergestellt werden können. Lies dazu Seite 18 ff. ciao gustav
Grundsätzlich würde ich überdenken, ob sich diakritische Zeichen überhaupt lohnen. Schon die deutschen Umlaute sehen grausig aus. Auf Großbuchstaben geht's gar nicht. 5x7 (8) Pixel sind einfach zu wenig für solche Spielereien. Und für die französischen "Schnörkel" brauchst du mindesten 2 Pixel in der Höhe oben und fürs Cedille nochmal 2-3 nach unten. Ich würde einfach alle Diakritika weglassen. Das kann jeder lesen und ein Franzose wird auch ohne wissen, wie es ausgesprochen wird (und nur dafür sind sie da, nicht um Wörter zu differenzieren).
Bauform B. schrieb: > Der Ausgabetreiber würde zur > Laufzeit die "Verzierungen" entfernen, also ASCII ausgeben, also würde > "Francais" angezeigt werden. > > Die entscheidende Frage: Wie verwirrt/beleidigt/angepi$$t wäre ein > Franzose? Sehr. So, als ob ein Deutscher keine Umlautpunkchen sieht. Und es ist unnötig: Der HD44780 kann bis 8 benutzerdenierte Zeichen. Lege also die spezifischen französischen Zeichen in einem Zeichensatz in dein Programm, und kopiere die benötigten in den Fontspeicher des HD44780, und ersetze die Zeichen im Text gegen die POsitionscodes im Font-Speicher. Bauform B. schrieb: > Leider nur theoretisch, die Tabelle für das CGRAM steckt in einem > anderen uC, und an den komme ich ganz schlecht dran. Außerdem, reichen 6 > bis 8 Zeichen? Die Franzosen kennen bestimmt viel mehr. Aber die werden kaum in dem 80 Zeichen Text den du anzeigen musst benötigt. Du musst nur die benötigten Zeichen rüberkopieren.
Andi M. schrieb: > Was aber zu bedenken ist: Die Franzosen sind sehr stolz auf ihre > Sprache. Das wird ihnen also mindestens mal einen unfreundlichen > Kommentar abringen MaWin schrieb: >> Die entscheidende Frage: Wie verwirrt/beleidigt/angepi$$t wäre ein >> Franzose? > > Sehr. So, als ob ein Deutscher keine Umlautpunkchen sieht. Ich hab's geahnt. Das sind die entscheidenden Antworten, vielen Dank. Also muss Deutsch und Englisch erstmal reichen. Andi M. schrieb: > Am besten waere also wohl ein Redesign der Hardware mit einem > Controller, der das beherrscht. Evtl gleich ein grafisches Display > verwenden. > Das geht aber sicherlich aus ganz vielen Gruenden nicht. Wie immer. Du sagst es...
:
Bearbeitet durch User
Bauform B. schrieb: > Also muss Deutsch und Englisch erstmal reichen. Das sehen die Franzosen aber ganz militant anders!
Florian schrieb: > Grundsätzlich würde ich überdenken, ob sich diakritische Zeichen > überhaupt lohnen. ... > Ich würde einfach alle Diakritika weglassen. Das kann jeder lesen und > ein Franzose wird auch ohne wissen, wie es ausgesprochen wird (und nur > dafür sind sie da, nicht um Wörter zu differenzieren). Das ist so nicht richtig - die Strichle sind phonemisch. https://de.wikipedia.org/wiki/Phonem . . . Ein technischer Ansatz, wenn dynamisches Umprogrammieren des CGRAM nicht ausreicht: Schnelles Umschalten zwischen zwei Zeichen an derselben Position. Die Trägheit des LCD sorgt für, wenn auch schwache, Sichtbarkeit. So ein Ansatz hat aber 199x schon zu Stirnrunzeln geführt.
Es gibt HD44780 mit französischen Sonderzeichen. Dann noch den Quelltext mit UTF-8 kodieren, Zwischentreiber, fertig.
Falk B. schrieb: > Es gibt HD44780 mit französischen Sonderzeichen Wurde bereits erwähnt: Beitrag "Re: Französisch auf einem HD44780-LCD?" und datrüber hinaus bietet der Hersteller die Möglichkeit kano, chinesisch, koreanisch, arabisch etc. auf Kundenwunsch zu programmieren. ciao gustav
Och, manchmal kann eine fehlerhafte Groß-/Kleinschreibung zumindest für Belustigung sorgen. Z.B. im Arbeitszeugnis einer Krankenschwester/-pflegerin. "Sie konnte gut Blasen und Glieder versorgen." vs. "Sie konnte gut blasen und Glieder versorgen." undweg
Falk B. schrieb: > Es gibt HD44780 mit französischen Sonderzeichen. Dann noch den Quelltext > mit UTF-8 kodieren, Zwischentreiber, fertig. Das Problem dürfte sein, dass heutzutage längst nicht mehr jedes alphanumerische LC-Display von Optrex stammt und den originalen Hitachi HD44780 verwendet. Den gibt es mit verschiedenen Zeichensätzen und Optrex hat die entsprechenden Bestellcodes. Heute kommen diese Displays als Standardbauteile aus China, dass es da einen Originalhersteller gibt weiss kein Mensch mehr, und die Elektronik auf der Platine kann jede Woche unterschiedlich sein. Welcher Chip gerade unter dem schwarzen Klecks auf der Platine sitzt weiss der chinesische Händler selber nicht. Daher ist eine Lösung, die mit jedem HD44780-kompatiblen Display spielt, sicherlich zielführender.
Florian schrieb: > ein Franzose wird auch ohne wissen, wie es ausgesprochen wird (und nur > dafür sind sie da, nicht um Wörter zu differenzieren). die bekanntesten Gegenbeispiele: ou = oder où = wo la = die là = dort mûr = reif mur = Mauer sûr = sicher sur = auf tâche = Aufgabe tache = Fleck Aussprache jeweils gleich Interresant ware folgende Sicherheitsabfrage: Display: Êtes-vous sûr? (Sind Sie sicher?) Kunde: Oui (Ja) Display: Etes-vous sur? (Sind sie drauf?) Kunde: Sur quoi??? (Wo drauf???)
:
Bearbeitet durch User
Der 44780 kann 8 Sonderzeichen. Nimm éèàùâêûô, lass î und die cedille weg, und alles ist gut.
Was ist denn an ROM Code A02 auszusetzen? Da sind doch alle gewünschten Zeichen drin. Selbst Spanisch sollte möglich sein.
:
Bearbeitet durch User
Bauform B. schrieb: > Es gibt eine Steuerung mit einem klassischen 2x40 Text-LCD. Zwischen > Deutsch und Englisch kann man schon umschalten, Mooooommmmeeeent ... Wenn du auf Deutsch umschalten kannst, wenn du dabei die deutschen Umlaute anzeigen kannst ohne dass die als eigene Glyphen geladen werden, dann hast du doch bereits das ROM mit den benötigten Sonderzeichen für Französisch. Die deutschen und die französischen Zeichen sind nämlich im selben ROM. Soul E. schrieb: > Falk B. schrieb: > >> Es gibt HD44780 mit französischen Sonderzeichen. Dann noch den Quelltext >> mit UTF-8 kodieren, Zwischentreiber, fertig. > > Das Problem dürfte sein, dass heutzutage längst nicht mehr jedes > alphanumerische LC-Display von Optrex stammt Optrex gibt es nicht mehr. Aus denen wurde vor acht Jahren Kyocera Display. Die wiederum wurden ein paar Jahre später in den Konzern als Abteilung eingemeindet und sind nicht mehr eigenständig. Die Abteilung wiederum wurde zum Teil mit dem Automotiv-Bereich verquirlt. > und den originalen Hitachi > HD44780 verwendet. Hitachi stellt den HD44780 doch gar nicht mehr her. Vielleicht bekommst du von irgendwo NOS, recycelte HD44780 oder Fälschungen, aber frisch aus der Hitachi-Fabrik gibt's keine. Es gibt nur noch mehr oder weniger kompatible Nachbauten. > Den gibt es mit verschiedenen Zeichensätzen und > Optrex hat die entsprechenden Bestellcodes. Es gibt auch kaum noch LCD-Text Displays von Kyocera. Das letzte das ich gesehen habe hatte einen Novatek NT3881D Controller (HD44780 kompatibel). Den NT3881D gibt es mit alternativem ROM. Ob man Kyocera-Displays mit dem alternativen ROM bestellen kann ist eine andere Frage. > Heute kommen diese Displays als Standardbauteile aus China, dass es da > einen Originalhersteller gibt weiss kein Mensch mehr, Der Originalhersteller stellt das Original nicht mehr her. > Den Originalhersteller und die Elektronik > auf der Platine kann jede Woche unterschiedlich sein. Du brauchst halt einen zuverlässigen Display-Lieferanten, der dir den Chip und Zeichensatz garantiert. Dafür zahlst du dann extra. > Welcher Chip > gerade unter dem schwarzen Klecks auf der Platine sitzt weiss der > chinesische Händler selber nicht. Deshalb kannst du so etwas nicht bei einem beliebigen Händler bestellen sondern musst dir, abhängig von der Menge, einen zuverlässigen Hersteller oder Distributor suchen. > Daher ist eine Lösung, die mit jedem > HD44780-kompatiblen Display spielt, sicherlich zielführender. Na ja. Vielleicht hat er ja schon den passenden Zeichensatz. Wenn nicht, dann auf ein Displas mit einem Controller der den entsprechenden Zeichensatz hat wechseln. Eine Teilmenge der Glyphen nachbauen? Lieber nicht.
Mann Hannes, hiermit befördere ich Dich zum Oberdinosaurier! kompliment Ich selbst und viele andere, sind wohl davon ausgegangen, dass der TO das Kamasutra(*) gelesen hat, bevor er seine Frage hier platzierte. Du hast natürlich recht, wie ein Blick ins Datenblatt des HD44780 zeigt: https://www.sparkfun.com/datasheets/LCD/HD44780.pdf Im europäischen A02-ROM sind die Katakana durch andere Sonderzeichen ersetzt. Hat man Umlaute, hat man auch die französischen Sonderzeichen. Mann, mann, vor zwanzig Jahren hätte ich das noch auswendig gewusst. (*) the fucking manual, as in "RTFM"
:
Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.