Forum: Compiler & IDEs Kyrilischer Zeichensatz


von Andreas S. (Firma: keine) (ovoron)


Lesenswert?

Hallo allerseits,

ich habe folgendes Problem.
Ich habe ein Programm mit einem entsprechenden Menü im lateinischen 
Zeichensatz. soweit alles ok

Ich möchte aber jetzt das ganze Menü auch auf russisch also mit dem 
kyrilischen Zeichensatz darstellen.
Ein entsprechendes Display welches sowohl den lateinischen als auch den 
kyrilischen Zeichensatz darstellen kann habe ich schon. Aber wie kriege 
ich das Programm erstellt und compiliert ?
Ich arbeite mit WinAVR und PN unterstützt den kyrilischen Zeichensatz 
nicht.
Notepad++ unterstützt den Zeichensatz aber wie kriege ich das Programm 
dann compiliert ?
Kann ich von Notepad++ direkt dateien mit AVR-GCC compilieren oder ist 
das nur über umwege möglich ??
Bitte gebt mir mal ein paar Hinweise wonach ich suchen soll. Oder noch 
besser wie es geht.

MfG

Andreas

von codehamster (Gast)


Lesenswert?

ich denke jedes Zeichen besitzt doch einen ASCII wert,

versuch doch mal deine Zeichen, bzw wie ich vermute "Strings" als 
ASCII-werte zusammenzusetzen.
/0 nicht vergessen!

von Frank K. (fchk)


Lesenswert?

Andreas S. schrieb:

> Ich möchte aber jetzt das ganze Menü auch auf russisch also mit dem
> kyrilischen Zeichensatz darstellen.
> Ein entsprechendes Display welches sowohl den lateinischen als auch den
> kyrilischen Zeichensatz darstellen kann habe ich schon. Aber wie kriege
> ich das Programm erstellt und compiliert ?

Für die Kodierung der Kyrillischen Zeichen gibts verschiedene Standards: 
KOI8 ist der älteste, dann gibts ISO8859-irgendwas, das Windows Pendant 
davon und dann noch Unicode in Form von UTF8 oder UTF16.

Schau Dir die Kodierungen an und schaue, ob Dein Display eine davon 
unterstützt. Wenn das der Fall, ist erstellst Du Deinen Quelltext in 
dieser Kodierung, compilierst das ganze, und gut ist.

Ansonsten Schreibe Deinen Quelltext z.B. in UTF8 in irgendeinem Editor, 
spiechere die Datei als .c_k oder .h_k ab und schreibe Dir ein Programm, 
das die .c_k Datei einliest und jedes kyrillische Zeichen in die 
entsprechende Codierung des Displays in Oktal (z.B. \123) oder Hex (z.B. 
\x89) umsetzt und das Ergebnis als .c abspeichert. Das kannst Du dann 
ganz normal compilieren.

fchk

von Anton (Gast)


Lesenswert?

Ist auch nicht viel schwieriger als mehrsprachig.

Ist das Programm nur einsprachig, aber mehrere Sprachvarianten:

Im Programm die Strings nur mit Stringnamen verwenden.
Die "Sprachdatei" definiert zum Stringnamen den String.
Dann einfach passend linken.

Mehrsprachiges Progamm, Sprache zum Umschalten:
String-Arrays, der Index (=Sprachnummer) bestimmt welches Element 
benützt wird.

Beim Erstellen der Strings muß sehr auf die "sprachabhängige" Länge
(Zeichenzahl) geachtet werden, sonst schaut die Anzeige oft blöd aus.
Ggf. mit Blanks füllen oder abkürzen.

Für die Sprachdatei-Erstellung ist es ganz toll, wenn der Editor
auch den anderen Zeichensatz darstellen kann.

von Andreas S. (Firma: keine) (ovoron)


Lesenswert?

Hallo,

ich habe genau wie Anton es beschrieben hat alle Strings in einem Array 
für jede Sprache zusammen gefasst. Eine saubere und übersichtliche 
Sache.
Weitere Sprachen zu ergänzen oder korrekturen vorzunehmen ist alles kein 
Problem.
Einen Editor der die kyrilischen Zeichen unterstützt habe ich auch.
Notepad++
dazu gibt es ein Plug-In den NPP-Exec.

Jetzt muss ich nur noch den Editor dazu bewegen alles mit dem AVR-GCC zu 
compilieren. Das geht anscheinend auch siehe link
http://we.easyelectronics.ru/CADSoft/notepad-i-avr-gcc.html
Ich versteh nur leider kein russisch und hab noch keine bessere 
Anleitung finden können.

@codehamster
Die Strings mit ASCII Zahlen etc zu kombinieren wäre meine allerletzte 
Wahl. Ich möchte mir die übersichtlichkeit wahren. Es handelt sich dabei 
um etwa 500 Zeilen (Strings) Text mit jeweils ~10 bis ~80 Zeichen.

@Frank K.
Ich denke ich habe deinen Lösungsansatz verstanden weiss aber noch nicht 
genau wie ich das umsetzen soll. Hast du vielleicht selber schon mal 
soetwas realisiert oder aber ein Beispiel das ich mir ansehen könnte.


Gibt es vielleicht noch ein paar Tipps ?



MfG

Andreas

von Rudi Radlos (Gast)


Lesenswert?

русскую локализацию и много различных плагинов
Leo.org wird beim Übersetzten helfen. Aber ein paar Studenten aus .ru 
könnten das bestimmt schöner. Sonst bekannte Texte in Editor kopieren 
und testen ?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Andreas S. schrieb:

> Jetzt muss ich nur noch den Editor dazu bewegen alles mit dem AVR-GCC zu
> compilieren. Das geht anscheinend auch siehe link
> http://we.easyelectronics.ru/CADSoft/notepad-i-avr-gcc.html
> Ich versteh nur leider kein russisch und hab noch keine bessere
> Anleitung finden können.

Die meisten wirklich interessanten Sachen stehen doch dort ohnehin
in Englisch drin.  Das einzige Wort, was du vielleicht noch brauchst
ist "Плагины": das ist ganz wörtliches Englisch, nur mit kyrillischen
Buchstaben und natürlich einer russischen Pluralbildung. =:-)  Sowas
machen die Russen gern. ;-)  Gesprochen heißt das "Plaginy", ist
also weiter nichts als "Plugin"-y, oder mit englischem Plural dann
eben "Plugins".  Diesen Menüpunkt musst du also irgendwo bei dir
finden, und von da sind die weiteren Menüpunkte im Artikel ja in
Englisch gezeigt.  (Im unteren Teil hat er noch beschrieben, welche
Fonts und Styles er benutzt.)

von Frank K. (fchk)


Lesenswert?

Andreas S. schrieb:

> @Frank K.
> Ich denke ich habe deinen Lösungsansatz verstanden weiss aber noch nicht
> genau wie ich das umsetzen soll. Hast du vielleicht selber schon mal
> soetwas realisiert oder aber ein Beispiel das ich mir ansehen könnte.

Zuerstmal: Was für ein Display genau ist das? Datenblatt? Ich will die 
Kodierung des Displays wissen. Vielleicht ist es ja was standardmäßiges, 
dann ist es einfach. Wenn nicht, dann wirds etwas Arbeit, aber nicht 
viel.

fchk

von Andreas S. (Firma: keine) (ovoron)


Lesenswert?

Hi,

Display mit 4Zeilen a 20Zeichen
Display Controller Sitronix ST7070
http://www.melt.com.ru/docs/ST7070V1.4.pdf

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Dafür wirst du nicht umhin kommen, irgendein Mapping zu bauen,
zumal man ja offenbar vor dem Einschreiben eines jeden Zeichens
in den DDRAM sicherstellen muss, dass man sich auf der richtigen
Page befindet.

Eine Möglichkeit wäre es, die Strings intern in UTF-8 zu halten
und dann in der Ausgaberoutine zu erkennen, ob man jetzt mit einer
Page-Umschaltung arbeiten muss.

von Andreas S. (Firma: keine) (ovoron)


Lesenswert?

Hallo allerseits,

vielen Dank für die Unterstützung hier im forum.
Ich habe nun soweit alles am laufen.

Nur einen Schönheitsfleck gibt es noch:
Programmers Notepad kann auch den kyrilischen Zeichensatz darstellen 
wenn man den Text-Encoding für die entsprechende Datei (in der sich die 
Strings befinden) auf UTF-8 No BOM einstellt.
Dumm ist nur, dass sich diese Einstellung jedesmal zurücksetzt.
Wie läßt sich diese Einstellung so speichern das es dauerhaft bleibt.

MfG

Andreas

von Andreas S. (Firma: keine) (ovoron)


Lesenswert?

Hallo,

problem gelöst.
Die Einstellung UTF8 wird nicht zurück gesetzt und funktioniert genauso.


Gruß

Andreas

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
Noch kein Account? Hier anmelden.