After 20 or more years of programming language-learning software I can safely say that multi-lingual text is surprisingly one of the most difficult areas. I think TGC were very wise to stick to bit-mapped text as at least a starting point.
Ideally we would have vector graphic fonts. They can scale from very small to very large with excellent quality. But they have a processor hit.
The now ancient ASCII/ANSI approach is fine for European languages. The lower 127 characters are fixed. The 128-255 range is a selectable table according to the code-page, with a default to Roman. If I could specify TWO images for the text source (lower and upper tables of 128 chars, then I could use standard strings out of an editor for string literals.
(Pseudo code)
CreateText(1,~Bla bla bla"
loadimage 1 Arial.png
loadimage 2 ArialGreekPage
SeTextFontImage 1 1 2 // default to zero for upper page
This would mean that characters up to char(127) would be from Arial.png and from 128 to 255 from the Greek charset.
If you look at the AppGameKit documentation the default codepage is already there:
http://www.appgamekit.com/documentation/examples/text/1_custom.htm
But currently AppGameKit will not display characters with an index <32 and > 127 even though the default codepage is in the default font. That strikes me as being a five-second fix!
Alternatively, and simpler, would be to create the font images for any required language with lower and upper character sets amalgamated, and load, at run time, the sets needed.
-- Jim