unicodeunterstützung im protectedmode?
-
Hi,
ich möchte gerne bissel unicode im PM haben, wie geht das? der kann irgendwie nur char ausgeben und kein wchar_t
-
Das nenn ich mal ne ausführliche Problembeschreibung
-
Also ich möchte gerne ohne Probleme diesen Text ausgeben können:
"Hallo das ist das SZ: ß, das ist das OE: ö usw." oder Japanische Texte im "Dosmodus"
-
Und was hat das nun mit Protected Mode zu tun?
Meinst du unter Windows? Linux? Sonstiges?
Unter Linux gibt's schon ein paar Terminals, die können UTF-8. Die Win32-Console kann's, soweit ich weiß, nicht. Da geht nur ein Zeichensatz von 256 Zeichen.
-
Ringding schrieb:
Und was hat das nun mit Protected Mode zu tun?
Meinst du unter Windows? Linux? Sonstiges?
Ich rede während des Bootens meines OS von Diskette!
-
Und wieso sagst du das nicht gleich?
Naja, wenn du's eh selber machst, dann musst du ja wissen, was zu tun ist. Entweder du verwendest den Textmodus, der kann aber nur 256 (mit Trick 512) verschiedene Zeichen darstellen, oder du machst das ganze im (VESA)-Framebuffer Mode. Dann hast du nur mehr das Problem, dass du eine passende Schrift finden musst
-
Hi.
Die entsprechenden Routinen zum interpretieren von UniCode-Text musst du dir schon selbst schreiben, wenn du ein OS bastelst, was auf keinem anderen OS/Bootloader o.Ae. aufsetzt, was bereits eine UniCode-Unterstuetzung implementiert hat. Das BIOS hat jedenfalls keine (wozu sollte das auch gut sein).
BTW:
Je nachdem, wie viele verschiedene Zeichen du gleichzeitig auf dem Bildschirm ausgeben willst, musst du einen Grafikmodus verwenden, um die Zeichen auf den Bildschirm zu bringen (also selber pixel pinseln).
Der VGA-Textmodus unterstuetzt die Darstellung von maximal 512 verschiedenen Zeichen (dann aber nur noch mit 8 statt 16 Textfarben).
Die ersten 128 Zeichen sind der ASCII-Zeichensatzt. Weitere UniCode-Zeichen musst du selbst in die Zeichentabelle "malen".
Wobei das mit jap. Zeichen schwierig werden koennte - So ein Letter misst normalerweise nur 8*16 Pixel.[edit]Knapp zu spaet, aber was solls.
[/edit]