Go to the previous, next chapter.
I used a large assortment of fonts under DOS for intricate multilingual work. My setup at that time consisted of a library of bitmapped fonts that could be sent to my HP LaserJet II printer, as well as a set of fixed-size, fixed-width screen fonts that were supported by my Hercules Graphics Card Plus (not the same as Hercules Graphics; the "Plus" included an ability to store 3072 screen glyphs and display any of these together, while standard character-mode displays were normally limited to 256 or 512 such entities).
Using XyWrite as a word processor, I would enter a "Mode" command to change fonts and character sets simultaneously; this would make different sets of screen glyphs available at the keyboard and would insert a font-change command for my printer into the text stream. The "Mode" and font-change commands were not displayed on the screen. The result was not WYSIWYG, since I was limited to fixed-width screen display and since I had far more printer glyphs available than the 3072 limit imposed by my video card; I used a brightness attribute to indicate bold, I used the same screen font for different sizes of printer fonts, etc. This worked and worked well, in that I could see (for example) Russian, Greek, English, Polish, and other characters simultaneously on the screen and I could print documents combining them.
Architecturally, what was going on was that the character sets (code pages) and fonts were entirely isomorphic and were hard- coded. If I put a particular Russian letter into cell 246 of my screen and printer fonts, that character was always there, and any strategy that would let me access this cell (remapped keyboards, numeric keypad) was guaranteed always to find the same character.