The GSANS font                                   John Elliott, 4 September 2006
===============================================================================

  This file contains the following three codepage files:

GSANS.CPX
~~~~~~~~~
  GSANS.CPX is a UPX-compressed DRFONT codepage containing 30 codepages:
437, 737, 775, 850, 852, 855, 857, 858, 860, 861, 863, 865, 866, 869, 819, 
912, 913, 914, 919, 920, 28591, 28592, 28593, 28594, 28595, 28597, 28599, 
28600, 28603 and 28605.


  At the time of writing, no known version of MODE.COM can handle a 
UPX-compressed DRFONT (though there is a possibility that this support may be 
added to the FreeDOS MODE.COM in the future). I suggest instead using CPPREP 
<http://www.seasip.info/DOS/CPI/> either to replace the MODE CON CP PREPARE 
command:

	CPPREP 437=GSANS.CPX 850=GSANS.CPX 819=GSANS.CPX

 or to create a standard-format CPI that your version of MODE can use:

	CPPREP -Dmy.cpi 437=GSANS.CPX 850=GSANS.CPX 819=GSANS.CPX
	MODE CON CP PREPARE=((437,850,819) my.cpi)

  You'll still have to do the MODE CON CP SELECT afterwards, as normal.

GSANS.CPI
~~~~~~~~~
  This file has the same codepages as GSANS.CPX, but is not UPX compressed. 
You may find this useful if:

1. You're using DRDOS. In this case you can just copy GSANS.CPI over the 
  default EGA.CPI and CPPREP is not needed. If renamed to EGA.CPI, it will
  also be used by ViewMAX if the system codepage is not 437.

2. You're using Windows NT. If you install PSFTOOLS 
  <http://www.seasip.info/Unix/PSF/> then it's possible to convert GSANS.CPI
  to Windows NT format:
	
	cpidcomp --nt gsans.cpi ega.cpi

  and then copy the resulting EGA.CPI file to your \WINNT\SYSTEM32 directory.

3. You're using other utilities (like PSFTOOLS) which understand DRFONTs but
  not UPX compression.

GEM.CPI
~~~~~~~
  The original reason this font was created. It contains a subset of the 
fonts in GSANS.CPI (13 codepages) with the first 32 characters replaced by
the window gadgets used by GEM. If you use the latest video drivers 
(SDPSC9.VGA or SD256.VGA) this file is used by them for codepage support. 
The codepages included are 437, 850, 858, 852, 857, 860, 863, 865, 866, 819,
28591, 28605 and the original GEM font (which has been included as 
codepage 65280; codepage numbers 65280-65533 are allocated for custom 
codepages by IBM).

A size comparison
~~~~~~~~~~~~~~~~~

  This compares the number of files, and their sizes, needed to store 
30 codepages in various formats:

File format  | Number of files | File size | Notes
=============+=================+===========+===========================
Standard CPI |               6 |     58870 | Total size therefore ~345k
Windows NT   |               1 |    339685 |
DRFONT       |               1 |     41390 | As supplied in GSANS.CPI
DRFONT + UPX |               1 |     12527 | As supplied in GSANS.CPX
=============+=================+===========+===========================


How to make altered versions
============================

  It's entirely possible that you'll want to change the fonts I've provided,
either because I got the shape of one or more characters wrong, or because
I got the Unicode mapping wrong.

  Firstly, you'll need the source code for the CPI files, which should be
downloadable from <http://www.seasip.info/DOS/CPI/>.

  If you want to change the character shapes, it's quite easy - edit the
appropriate .txt file (gsans*.txt), and rerun the build process described
below.
  If you want to change the Unicode mappings for GEM.CPI, this is also 
quite easy - each codepage has a matching .UNI file, saying which Unicode 
character should be put in each slot. 
  Changing the mapping for GSANS.CPI is more difficult, because the codepages 
are builtin to PSFTOOLS. What you have to do is one of:

  1. Create a new .UNI file and change the input to psfs2cpi to use it. For 
    example, if you wanted to change the mapping in codepage 863, you'd change
    the entries in Makefile and the .inp files from "+863 gsans16.psf ..." to 
    "+863=my863.uni gsans16.psf ..."

  2. Change the mapping tables in the PSFTOOLS source, rebuild PSFTOOLS, and
    use the updated version of PSFS2CPI in the build. 

Build process
~~~~~~~~~~~~~

  Under UNIX: Install psftools-1.0.4 or later, from
<http://www.seasip.info/Unix/PSF/>. Type 'make'.

  Under DOS: Run mkcpi.bat. You will need the GO32 DOS extender, because the
build programs were compiled with DJGPP.

Where the fonts came from
=========================

 To the best of my knowledge and belief:

  * In the USA, bitmap fonts are not subject to copyright.
  * In the UK, the 25-year copyright on the original fonts has now expired 
   and so they are in the public domain.

  Those characters which I have designed are marked with CC0 1.0. To view
  a copy of this licence, visit 
     https://creativecommons.org/publicdomain/zero/1.0/ 

