[Oberon] Re (2): Keyboard input in ETH Oberon.
joerg.straube at iaeth.ch
Sat Aug 7 07:10:46 CEST 2021
> ... basically is US-ASCII from 00X to 7FX, with the exception that 0AX to
> 0FX are "hollow right-facing triangle", "filled right-facing triangle",
> "hollow square", "filled square", "hollow left-facing-triangle", "filled
> left-facing triangle" and 9BX is a left arrow.
Fit all required characters into one set of 8 bit characters and avoid
dealing with multiple character sets?
Indeed, in early times, the OS and VGA HW used only one byte as index into the font table to get the correct glyph.
As 256 characters are not enough to be used all over the world, the OS vendors started to introduce the "code page" system.
You could load a certain code page of 256 glyphs into the VGA HW and the terminal displayed it.
This worked for a long time, but it needed a coordination of the used value of the code pages. If you load code page 437 you must make sure that all computers, OS versions and display HW on the world store the same 256 glyphs for code page 437.
Hence, the character with value 35X is only uniquely defined if you know the code page it is associated with.
The mess started when some vendors started to use their own code pages not known to others or even worse use the same code page number for different glyphs.
Unicode is meant as a new system to overcome the code page system. How the OS internally handles Unicode (if at all) is up to the OS.
The Oberon system (especially the Oberon fonts) use an Oberon "code page". Michael listed it in an earlier mail. Reading and writing files and keyboard inputs are translated to the Oberon "code page". To support characters not present in the Oberon fonts, you have to enhance a) the font system and b) the internal representation of CHAR.
More information about the Oberon