[GEM Development] FreeGEM internationalization

John Elliott jce at seasip.demon.co.uk
Fri Jun 23 00:15:57 PDT 2006


  Back in December 2002, I had a little conversation on this list with Paul
Cull about GEM and codepages, and it went something like this:

: > : We should either develop new codepages for GEM or use DOS or Windows
: > : codepages.
: >
: >   A lot of this was done for ViewMAX; UDUNI9.VGA does use the DOS codepage
: > and loads the fonts from EGA.CPI. Of course, it's deficient in certain
: other
: > respects.
: 
: I think personally we should look at swapping from the GEM character set to
: the CP850 which
: is, certainly for Latin based languages, a useful international character
: set.

  Now back to the present day. I've finally got around to copying the
codepage loader from the ViewMAX/II VGA driver into the two GEM video
drivers I've done (SD256 and SDPSC9). They are now both supplied with a
GEM.CPI containing several codepages. When started, they should select the
correct codepage based on DOS settings (use CHCP under DOS to select the
codepage before starting GEM). If you don't like the font supplied, then you
can replace GEM.CPI with another codepage file in DRFONT format and use
that. 

  The actual characters in each codepage are the first 32 from GEM (ie, the
window gadgets, menu spacers and so on) and the remaining 224 from whatever
the codepage specifies.

  The character shapes are based on the GEM 8x8 and 8x14 fonts; the 8x16
font is based on the 8x14 one rather than the hideous GEM 8x16 font. If any
international users want to suggest improvements to the character shapes,
feel free. A bonus: If you download the "Source code for GEM.CPI" zipfile,
you'll find it builds not only GEM.CPI, but an EGA.CPI compatible with
DRDOS, and an EGA1.CPI/EGA2.CPI/EGA3.CPI compatible with MSDOS (and
presumably FreeDOS), so you can have the same font in DOS and GEM.

  All files are at <http://www.seasip.info/Gem/gengem.html> in the 
"Source for GEM itself" section. 

-- 
John Elliott


More information about the gem-dev mailing list