--------------------------

4. How Freemacs MULE works

--------------------------

 

    This multilingual environment is aimed first of all at American First Nation Languages, but I have included some basic charsets as latin1 (Western Europe), latin2 (Central and Eastern Europe), Cyrillic and Greek. For these I have followed ISO 8859 codepages.

    In this way, a text in, say, Russian, written with Freemacs, should be properly rendered by other text editors as well, provided that the correct encoding is set.

 

    For American First Nation Languages, on the other hand, I have tried to define some new "codepages". These encodings won't work with other text editors or word processors (they will work if you load the font file with gnuchcp2: for example, to load Inuktitut syllabary, which is specified by the "afn3" encoding, enter

 

                        gnuchcp3 %EMACS%mule\fonts\afn3.dat

 

before you invoke the editor, and

 

                        gnuchcp3 %EMACS%mule\fonts\afn3.dat

 

    PS files should be properly printed by every PostScript printer, and displayed correctly by every PS viewer such as GhostView, because print2ps embeds a font dictionary into the text, building it from the bitmaps stored in the .dat file. If you have GNU GhostScript (which is available for many platforms, including DOS), you'll be able to make a PDF from the PS file, and this PDF should show the correct glyphs everywhere (only, this PDF won't be of a very high quality because of

the bitmap fonts).

 

    Every .dat file in the set is associated to a keyboard driver with extension .key, and with a similar name. I have used three or four character names for the .dat files.

    The .key files are ASCII text files to be used by XKEYB. Their name starts with the .dat file name, followed by a "_", and a further two-letter  code which identifies the keyboard installed, and finally the .key extension.

    Finally, every .key file has an associated text file with the same name and extension .map. Such a file contains a list of the key bindings for the corresponding keyboard driver. Have a look at this file to find out which keys to hit in order to get the characters you want. Hence, for an Italian keyboard, you will have:

 

FONTS

KEYBOARDS

MAPPINGS

cyr1.dat

grk.dat

etc.

cyr1_it.key

grk_it.key

cyr1_it.map (cyr1_it.ps)

grk_it.txt (grk_it.ps)

 

    In this package, I have provided .key files for US, SP and IT keyboards, but if you have another keyboard installed in your DOS, you can easily make your own keyboard driver with MAKEKEYB

(downloadable from my web page). Please note that, having an Italian keyboard, I couldn't test the US and SP series properly (feedback will be warmly welcomed).

    Of course, if you are not satisfied with the mapping I provide, you can make your own driver with MAKEKEYB (for example, if you already have a Russian keyboard, you probably will want to use the mapping you are accustomed to, rather than the US-, IT- or SP-keyboard compliant).

 

    (Please note that keyboard mappings and encoding are independent of each other. In the Cyrillic fonts provided here, for example, a Cyrillic uppercase "A" is encoded as ASCII 176, irrespectively of which key a keyboard driver binds that character to).

 

    MULE directory tree:

 

%EMACS%MULE

MULE main directory. Contains .exe and .ed files, the .ps template file, and COPYING.TXT

%EMACS%MULE\SRC       

Contains mint and PASCAL sources.

%EMACS%MULE\DOC

Contains .txt files for documentation.

%EMACS%MULE\KEY     

Contains the keyboard drivers.

%EMACS%MULE\FONTS   

Contains the bitmaps.

%EMACS%MULE\MAPPINGS

Contains the .map files.