home *** CD-ROM | disk | FTP | other *** search
/ ftp.pasteur.org/FAQ/ / ftp-pasteur-org-FAQ.zip / FAQ / fonts-faq / part8 < prev    next >
Internet Message Format  |  1996-08-15  |  26KB

  1. Path: senator-bedfellow.mit.edu!bloom-beacon.mit.edu!news.mathworks.com!zombie.ncsc.mil!newsgate.duke.edu!news-feed-1.peachnet.edu!paperboy.wellfleet.com!news3.near.net!amber.ora.com!not-for-mail
  2. From: norm@ora.com (Norman Walsh)
  3. Newsgroups: comp.fonts,comp.answers,news.answers
  4. Subject: comp.fonts FAQ: MS-DOS Info
  5. Supersedes: <font-faq-8_817479312@ora.com>
  6. Followup-To: poster
  7. Date: 14 Aug 1996 10:34:49 -0400
  8. Organization: O'Reilly and Associates, Inc.
  9. Lines: 606
  10. Sender: norm@ruby.ora.com
  11. Approved: news-answers-request@MIT.Edu
  12. Distribution: world
  13. Expires: 27 Sep 1996 14:34:08 GMT
  14. Message-ID: <font-faq-8_840033248@ora.com>
  15. References: <font-faq-1_840033248@ora.com>
  16. Reply-To: norm@ora.com (Norman Walsh)
  17. NNTP-Posting-Host: ruby.ora.com
  18. Summary: This posting answers frequently asked questions about fonts.
  19.          It addresses both general font questions and questions that
  20.          are specific to a particular platform.
  21. X-Web-Homepage: http://www.ora.com/homepages/comp.fonts/
  22. Xref: senator-bedfellow.mit.edu comp.fonts:48306 comp.answers:20520 news.answers:79241
  23.  
  24. Archive-name: fonts-faq/part8
  25. Version: 2.1.5
  26.  
  27. Subject: 3. MS-DOS Information
  28.   
  29.   The easiest way to get outline fonts under MS-DOS is with Microsoft
  30.   Windows 3.x or OS/2 2.x.
  31.   
  32.   Microsoft Windows 3.0 with Adobe Type Manager (ATM) and OS/2 2.0
  33.   support PostScript Type1 fonts.
  34.   
  35.   Microsoft Windows 3.1 supports TrueType fonts natively.
  36.   
  37.   Bitmap fonts are available in a variety of formats: most formats are
  38.   designed with the printer in mind and not the display since (prior to
  39.   graphical environments like Windows, GEM, and OS/2) the majority of
  40.   work under MS-DOS was done with a character-based interface.
  41.   
  42. Subject: 3.1. Frequently Requested MS-DOS fonts
  43.   
  44.   Many fonts are available at various archives.  The biggest font archive
  45.   for MS-DOS format fonts is ftp.cica.indiana.edu.  Note: you can use any
  46.   Mac format Type1 font on your PC by converting it to PC format with the
  47.   free/shareware as described below.
  48.   
  49.   The following fonts are in Type 1 format for MS-DOS. Some are also
  50.   available in TrueType format.
  51.   
  52.      * Hebrew
  53.   
  54.        ShalomScript, ShalomOldStyle, ShalomStick
  55.   
  56.      * Japanese
  57.   
  58.        Shorai
  59.   
  60.      * Star Trek
  61.   
  62.        Crillee, TNG monitors
  63.   
  64.      * IBM OEM Line Drawing Characters
  65.   
  66.        Try Adobe PrestigeElite or Adobe LetterGothic. They have all the
  67.        characters you want, but the `line draw' characters are unencoded
  68.        -- you will need tools to reencode the outline font itself and
  69.        make a new PFM metric files.
  70.   
  71.        Or try IBMExtended from Impramatur Systems in Cambridge, Mass.  It
  72.        already is encoded using IBM OEM encoding (some DOS code page).
  73.   
  74.        The IBM version of Courier distributed freely under the X11
  75.        Consortium also contains the appropriate characters.  Again, the
  76.        font will have to be reencoded for Windows.  Appropriate AFM files
  77.        for this font can be obtained from:
  78.        http://www.ora.com/homepages/comp.fonts/FAQ-tools.html.
  79.   
  80.        Lee Cambell suggests the following alternative:
  81.   
  82.        Line Drawing characters are also available on ftp sites as
  83.        gc0651.exe which is a self-expanding archive. It is on cica (and
  84.        mirrors thereof). From the text file that comes with it, it looked
  85.        like it was distributed by Microsoft.  I printed some text in the
  86.        normal A-z range and it looked identical to the truetype Courier
  87.        font distributed with Windows. Perhaps it is an upgrade to that
  88.        font. I didn't try the linedraw glyphs, so I can't say how they
  89.        look.
  90.   
  91. Subject: 3.2. MS-DOS Font Installation
  92.   
  93.   If you have any information that you feel belongs in this section, it
  94.   would be greatly appreciated.
  95.   
  96.      * Windows
  97.   
  98.           * Pat Farrell contributes the following description of font
  99.             installation       under Windows.
  100.   
  101.             Installing Fonts into Windows:
  102.   
  103.             This only covers Windows 3.1 with ATM. Font is a four-letter
  104.             word in Windows versions prior to 3.1 due to the distinctions
  105.             between screen fonts and printer fonts. The upgrade price of
  106.             Windows 3.1 is justified by the integration of TrueType into
  107.             the package and the inclusion of useful fonts for all
  108.             printers.
  109.   
  110.             Commercial fonts usually have installation instructions with
  111.             their manuals. The approach may differ from the method used
  112.             for PD and shareware fonts.
  113.   
  114.             To install PD and shareware fonts in Windows 3.1:
  115.   
  116.               1. Copy the fonts onto a suitable scratch area (i.e. a
  117.                  floppy, or any       temporary area of your hard disk.
  118.   
  119.               2. Execute "Control Panel" by double-clicking on the icon
  120.                  in the       Windows Program Manager's "main" group.
  121.   
  122.               3. Double-click on the Fonts icon.
  123.   
  124.               4. Double-click on the "Add" button.
  125.   
  126.               5. Select the scratch directory holding the new fonts.
  127.   
  128.               6. A list of the fonts will be displayed. You can manually
  129.                  select the       fonts you like, or you can use the
  130.                  "Select All" button.
  131.   
  132.               7. Make sure the "Copy Fonts to Windows Directory"
  133.                  check-box is       checked. This will copy the fonts
  134.                  from the scratch area to your       Windows directory.
  135.   
  136.               8. Click on the "Ok" button.
  137.   
  138.           * Special notes for Windows applications:
  139.   
  140.             Word for Windows (W4W) stores font/printer information in its
  141.             own initialization files. After you add new fonts, you have
  142.             to tell W4W that the printer can use the new fonts. Do this
  143.             by selecting "Printer Setup" from the W4W main "File" menu
  144.             item, click on the "Setup" button, and then click on two "Ok"
  145.             buttons to back out of the setup mode.
  146.   
  147.           * Note concerning Windows 3.1 upgrade:
  148.   
  149.             There are two upgrade packages available from Microsoft for
  150.             Win3.1.  There is the standard version which contains
  151.             TrueType support, and about six font families (Times New
  152.             Roman, Arial, Courier, Symbols, Wingdings, etc.). It costs
  153.             something like $50 (US). The second version contains a number
  154.             of TrueType fonts that includes equivalents for the 35
  155.             standard Postscript fonts. This adds an additional $50, which
  156.             is a pretty good value.  However, if you plan on buying
  157.             Microsoft's PowerPoint, it includes the same additional
  158.             fonts/typefaces. So you can save money by not buying the
  159.             fonts twice.
  160.   
  161.           * More about Windows
  162.   
  163.                * [Q:] Why are don't the TrueType fonts that come with
  164.                  Microsoft products    (Word-for-Windows, PowerPoint,
  165.                  Windows 3.1 TrueType Font Pack, etc.)    display and
  166.                  print properly on my system?
  167.   
  168.                * [A:] The font matching algorithm in Win3.1 is fairly
  169.                  simplistic.  If you    install lots of TrueType fonts,
  170.                  the algorithm can get confused. In    this case, "lots"
  171.                  is more than 50 or so.
  172.   
  173.           * According to Luann Vodder who supports Microsoft Word on
  174.             CompuServ:
  175.   
  176.             "There is a procedure which Windows must go through when an
  177.             application requests a font.  Each font contains a list of
  178.             attributes such as Family, FaceName, Height, Width,
  179.             Orientation, Weight, Pitch, etc.  When an application
  180.             requests a font, it fills out a logical font for Windows
  181.             containing the necessary attributes, then starts going
  182.             through a font mapping algorithm to determine which of the
  183.             installed fonts most closely matches the requested (logical)
  184.             font.  Penalties are applied against fonts whose attributes
  185.             do not match the logical font, until the fonts with the
  186.             fewest penalties are determined.  If there is a "tie",
  187.             Windows may need to rely on the order of the fonts in the
  188.             WIN.INI file to determine the "winner".
  189.   
  190.             If the fonts you want are in your WIN.INI file, and show up in
  191.             Windows' Control Panel, then try moving them higher in your
  192.             WIN.INI file with a file edittor such as SYSEDIT."
  193.   
  194.           * Kesh Govinder suggested the following warning:
  195.   
  196.             CAUTION: While many Windows 3.1 users would like to have many
  197.             TrueType fonts at their disposal (and they are many available
  198.             in the PD) a word of caution.  A large number (>50) TT fonts
  199.             will slow down your windows startup time.  This occurs as
  200.             every installed font is listed in the win.ini file, and
  201.             Windows has to go through the entire file before starting up.
  202.             While this may not affect most users, it will especially
  203.             affect users of CorelDraw!, so be warned.
  204.   
  205.      * Other Programs
  206.   
  207.        It is an unfortunate fact that almost all MS-DOS programs do things
  208.        differently.  Your best bet is to read the manual that comes with
  209.        the program you want to use.
  210.   
  211. Subject: 3.3. What exactly are the encodings of the DOS code pages?
  212.   
  213.   DOS uses `code pages' for `IBM OEM' encoding of fonts.  There are six
  214.   code pages supplied with DOS 5.0:
  215.   
  216.          437 (English)
  217.          850 (Multilingual - Latin I)
  218.          852 (Slavic - Latin II)
  219.          860 (Portugal)
  220.          863 (Canadian French)
  221.          865 (Nordic)
  222.   
  223.   (The character code range 0 - 127 is the same in all code pages).
  224.   
  225.   The problem is that MS idea of how to define what a code page is, is to
  226.   show a low resolution print out of the glyphs!   Which is fine for the
  227.   letters of the alphabet, numerals and the obvious punctuation marks,
  228.   but worthless for accents (is it `cedilla' or `ogonek'? is it `caron'
  229.   or `breve'?) and many other characters.  For example, 249 is a small
  230.   dot, while 250 is a slightly larger dot.  Is one of these supposed to
  231.   be `bullet' (which already occurs at 7)?  Or is one of them maybe
  232.   supposed to be `middot' or `dotcentered'?  Is 228 supposed to be
  233.   `Sigma' or `summation'. Is 225 supposed to be `beta' or `germandbls'?
  234.   Etc etc
  235.   
  236.   And what is the character that looks like `Pt' in code position 158?
  237.   
  238.   Anyway, surely there is a table somewhere that defines precisely what
  239.   these encodings are supposed to be.  That is, a table that gives for
  240.   each code number the name and/or a description of the character.
  241.   
  242. Subject: 3.4. MS-DOS Font Utilities
  243.   
  244.      * PS2PK
  245.   
  246.        PS2PK allows you to convert PostScript Type1 fonts into bitmap
  247.        fonts.  The bitmap files produced are in TeX PK format.
  248.   
  249.      * PKtoSFP
  250.   
  251.        PKtoSFP allows you to convert TeX PK fonts into HP LaserJet
  252.        softfonts.
  253.   
  254.      * PFBDir/PFBInfo
  255.   
  256.        PFBDir and PFBInfo format and display the "headers" in a binary
  257.        Type1 font.
  258.   
  259. Subject: 3.5. Converting fonts under MS-DOS
  260.   
  261. Subject: 3.5.1. Converting Mac Type 1 fonts to MS-DOS format
  262.   
  263.   Converting Macintosh Type1 fonts into PC Type1 fonts can be done using
  264.   purely free/shareware tools.  I've outlined the procedure below.  Make
  265.   sure you read the "readme" files that accompany many fonts.  Some font
  266.   authors specifically deny permission to do cross-platform conversions.
  267.   
  268.   The tools you need
  269.   ==================
  270.   
  271.   XBIN
  272.        xbin23.zip in /pub/msdos/mac on oak.oakland.edu     (or other
  273.        mirrors)
  274.   
  275.   UNSIT
  276.        unsit30.zip in /pub/msdos/mac on oak.oakland.edu
  277.   
  278.   UNSITI
  279.        unsiti.exe in /pub/onset/util on ftp.std.com
  280.   
  281.        Peter Gentry indicates that this program can extract SIT
  282.        archives that use the newer compression techniques that     unsit
  283.        doesn't recognize.
  284.   
  285.   UNCPT
  286.        ext-pc.zip in /pub/pc/win3/util on ftp.cica.indiana.edu
  287.   
  288.   REFONT
  289.        refont14.zip from
  290.        http://www.ora.com/homepages/comp.fonts/FAQ-tools.html
  291.   
  292.   BMAP2AFM
  293.        bm2af02.zip from
  294.        http://www.ora.com/homepages/comp.fonts/FAQ-tools.html
  295.   
  296.   XBIN converts Mac "BinHex"ed files back into binary format.  BinHex is
  297.   the Mac equivalent of UUencoding, it translates files into ascii
  298.   characters so that mailers can send them around without difficulty.  It
  299.   also aids in cross platform copying too, I'm sure.  BinHexed files
  300.   generally have filenames of the form "xxx.yyy.HQX".
  301.   
  302.   UNSIT explodes "Stuffit" archives.  Stuffit archives generally have
  303.   filenames of the form "xxx.SIT".  UNSIT will ask if you want to
  304.   seperate resource and data forks.  Yes, you do.  There has been some
  305.   confusion about whether or not you want headers.  I'm inclined to
  306.   conclude that it can be made to work either way.  Personally, I say no.
  307.   
  308.   UNCPT explodes "Compactor" archives.  The ext-pc implementation is
  309.   called "extract" and does not require windows (even thought it's in the
  310.   windows section on cica).  Compactor archives generally have filenames
  311.   of the form "xxx.CPT".
  312.   
  313.   REFONT converts Mac type1 fonts into PC type1 fonts.  It also converts
  314.   Mac TrueType fonts to PC TrueType format.  And vice-versa.
  315.   
  316.   BMAP2AFM constructs AFM files from the metric information contained in
  317.   Mac screen fonts (.bmap files).  The screen font files do not have any
  318.   standard name (although they frequently have the extension .bmap).  The
  319.   screen fonts have file type "FFIL" which, in combination with some
  320.   common sense, is usually sufficient to identify them.
  321.   
  322.   I've listed the tools that I've used and the sites that are reasonable
  323.   for me to retrieve them from.  It's probably a good idea to check with
  324.   archie for closer sites if you're not in North America.  These tools
  325.   run under MS-DOS.  XBIN and UNSIT can also be run under Unix.
  326.   
  327.   How to do it?
  328.   =============
  329.   
  330.   Collect the Mac fonts from the archive or BBS of your choice.  Most of
  331.   these files will be in BinHexed format.  As a running example, I'm
  332.   going to use the imaginary font "Plugh.cpt.hqx".  When I download this
  333.   font to my PC, I would use the name "PLUGH.CPX".  The actual name you
  334.   use is immaterial.
  335.   
  336.   Run XBIN on PLUGH.CPX.  This will produce PLUGH.DAT, PLUGH.INF, and
  337.   PLUGH.RSR.  The data fork of the Mac file (the .DAT file) is the only
  338.   one of interest to us, you can delete the others.
  339.   
  340.   If the original file had been "Plugh.sit.hqx", we would be using the
  341.   UNSIT program.  Since I chose a .cpt file for this example, I'm going
  342.   to run UNCPT.
  343.   
  344.   Run UNCPT on PLUGH.DAT.  You want to extract the AFM file (if present),
  345.   the documentation or readme file (if present), and the Type1 outline
  346.   file.  The AFM and README files will be in the data fork of the archive
  347.   file.  The Type1 outline will be in the resource fork.  The AFM and
  348.   README files have Mac "TEXT" type.  The Type1 outline file has "LWFN"
  349.   type.  I'm not trying to describe this part in a step-by-step fashion.
  350.   Use the docs for UNCPT and UNSIT as a guide.  If you got this far you
  351.   probably won't have much difficulty.  If you do, drop me a line and
  352.   I'll try to help.
  353.   
  354.   If the font does not contain an AFM file, extract the screen font.
  355.   Screen fonts frequently have the extension .bmap and are "FFIL" type
  356.   files.  Use Bmap2AFM to construct an AFM from the screen font.  If the
  357.   archive _does_ contain an AFM file, it's safe to bet that the author's
  358.   AFM will be better than the one created by Bmap2AFM.
  359.   
  360.   Finally, run REFONT on the Type1 outline that you extracted above.  The
  361.   result should be an appropriate PC type1 outline.  REFONT will create a
  362.   PFM file for you from the AFM file, if you desire.
  363.   
  364.   Remember to register your shareware...
  365.   
  366.   Other comments
  367.   ==============
  368.   
  369.   vkautto@snakemail.hut.FI makes the following observations:
  370.   
  371.      * UNCPT is easier to use than UNSIT
  372.   
  373.      * UNCPT has to be run twice. I usually do it like this
  374.   
  375.        extract *.cpt -f
  376.   
  377.        extract *.cpt -f -r
  378.   
  379.      * When using "unsit30" you probably want the outline file with the
  380.           MacHeader and the others without it. I think that REFONT
  381.        requires it       but I am not sure.
  382.   
  383.      * REFONT works usually ok. You want a PFA (ASCII) file which is
  384.        directly usable on NeXT (you may need to convert carriage-returns
  385.        to       newlines but I am not sure if it is necessary).
  386.   
  387.        The biggest problem is with the .afm files that are completely
  388.        missing       or generated by the tools that don't do their job
  389.        properly.
  390.   
  391.      * BMAP2AFM requires some extra files (ie. other than bmap2afm.exe) to
  392.             work properly.
  393.   
  394. Subject: 3.5.2. Converting PC Type 1 and TrueType fonts to Mac format
  395.   
  396.   Refont
  397.   ======
  398.   
  399.   Refont (version 1.4) can convert (in both directions) between PC and Mac
  400.   formats of Type1 and TrueType fonts.  Note: it _cannot_ convert
  401.   _between_ formats, only architectures.  The procedure described above
  402.   outlines how to convert a Mac archive into PC format so that you can
  403.   get at the data.  Presumably, the process can be reversed so that you
  404.   can get at the data on the Mac side as well.  Unfortunately, I don't
  405.   have a Mac so I can't describe the process in detail.
  406.   
  407.   Font Manipulation Package
  408.   =========================
  409.   
  410.   The Y\&Y Font Manipulation package can convert PFA/B files into Mac
  411.   format and AFM files into Mac screen fonts.
  412.   
  413. Subject: 3.5.3. Converting PC Type 1 fonts into TeX PK bitmap fonts
  414.   
  415.   The release of PS2PK by Piet Tutelaers is a godsend to those of us
  416.   without PostScript printers.  PS2PK converts PC/Unix format Type 1 fonts
  417.   into TeX PK files.  Used in conjunction with the AFM2TFM utility for
  418.   creating TeX metric files, this allows almost anyone to use Type 1
  419.   PostScript fonts.  PS2PK is distributed under the GNU License and has
  420.   been made to run under MS-DOS with DJGPP's free GNU C compiler.  The PC
  421.   version requires a 386 or more powerful processor.  Check with Archie
  422.   for a source near you.
  423.   
  424.   Note: if TeX PK files are not directly usable for you, there seems to
  425.   be a fair possibility that LaserJet softfonts would be useful.  If so,
  426.   check below for instructions on converting TeX PK files to LaserJet
  427.   softfonts.
  428.   
  429. Subject: 3.5.4. Converting TeX PK bitmaps into HP LaserJet softfonts (and vice-versa)
  430.   
  431.   There is some possibility that someone will yell 'conflict of interest'
  432.   here, but I don't think so.  I wrote the following utilities:
  433.   
  434.   PKtoSFP: convert TeX PK files to LaserJet (bitmapped) softfonts
  435.   
  436.   SFPtoPK: convert LaserJet (bitmapped) softfonts to TeX PK files
  437.   
  438.   But they are completely free, so I don't gain anything by "advertising"
  439.   them here.  These are MS-DOS platform solutions only.  If you know of
  440.   other solutions, I would be happy to list them.
  441.   
  442.   This is Info file compfont.info, produced by Makeinfo-1.55 from the
  443.   input file FAQ.texinfo.
  444.   
  445. Subject: 3.5.5. TrueType to HP LaserJet bitmap softfonts (HACK!)
  446.   
  447.   If you have the tools, the following suggestion does work, but it isn't
  448.   easy and it hasn't been automated.  To be honest, I haven't really
  449.   tested it.
  450.   
  451.   If you are using Windows 3.1, get a LaserJet printer driver (you don't
  452.   need the printer, just the driver).  Using the LaserJet driver, direct
  453.   output to a file and print a simple file containing all the letters you
  454.   want in the softfont in the font that you are converting.  When the
  455.   print job has completed, the output file will contain, among other
  456.   things, a LaserJet softfont of the TrueType font you selected.  If you
  457.   know the LaserJet format, you can grab it out of there.
  458.   
  459.   I didn't say it was easy ;-)
  460.   
  461.   This method will not work with ATM [ed: as of 7/92] because ATM does
  462.   not construct a softfont; it downloads the whole page as graphics.
  463.   
  464.   Here is an overview of the LaserJet bitmap softfont format.  It should
  465.   help you get started.  If you have any questions, ask norm.  If anyone
  466.   wants to write better instructions... ;-)
  467.   
  468.   Many details are omitted from this description.  They are thoroughly
  469.   discussed in the HP Technical Reference for each model of laser printer.
  470.   I recommend purchasing the Tech Ref.  If you have additional questions
  471.   and do not plan to purchase the Tech Ref (or do not wish to wait for its
  472.   arrival), you can ask norm.
  473.   
  474.   An HP LaserJet softfont can occur almost anywhere in the output stream
  475.   destined for the printer.  In particular, it does _not_ have to be
  476.   wholly contiguous within the output file.  In fact, fonts can be
  477.   "intermixed" at will.  The following "pieces" make up a font:
  478.   
  479.   A begin font descriptor command (followed by the descriptor) and a
  480.   series of begin character descriptor commands (followed by their
  481.   associated data).  When a new character descriptor is encountered, it
  482.   is added to the current font (which may change between descriptors).
  483.   
  484.   In the discussion that follows, the following notational conventions
  485.   are followed:
  486.   
  487.   Key elements are surrounded by quotation marks.  The quotation marks
  488.   are not part of the element.  Spaces within the element are for clarity
  489.   only, they are not part of the element.  All characters (except ESC and
  490.   #, described below, are literal and must be entered in the precise case
  491.   shown).
  492.   
  493.   ESC means the escape character, ASCII character number 27 decimal.
  494.   
  495.   # means any decimal number.  The meaning of the number is described in
  496.   the commentary for that element.
  497.   
  498.      * What is a font descriptor?
  499.   
  500.        A font descriptor begins with a font descriptor command and is
  501.        followed immediately by the data for the descriptor.  Font
  502.        descriptors define data global to the font.  In general, more
  503.        recent printers are less strict about these parameters than older
  504.        printers.
  505.   
  506.      * What is the font descriptor command?
  507.   
  508.        "ESC ) s # W"
  509.   
  510.        In this command, # is the number of bytes in the descriptor.  The
  511.        first element of the descriptor indicates how many of these bytes
  512.        should be interpreted as the font descriptor (the remaining bytes
  513.        are commentary only-to the printer, at least).  This area is
  514.        frequently used for copyright information, for example, although
  515.        some systems insert kerning data into this area.
  516.   
  517.      * What is the font descriptor data?
  518.   
  519.        The data is:
  520.   
  521.             UI  Font descriptor size
  522.             UB  Descriptor format
  523.             UB  Font type
  524.             UI  Reserved (should be 0)
  525.             UI  Baseline distance
  526.             UI  Cell width
  527.             UI  Cell height
  528.             UB  Orientation
  529.              B  Spacing
  530.             UI  Symbol set
  531.             UI  Pitch
  532.             UI  Height
  533.             UI  xHeight
  534.             SB  Width Type
  535.             UB  Style
  536.             SB  Stroke Weight
  537.             UB  Typeface LSB
  538.             UB  Typeface MSB
  539.             UB  Serif Style
  540.             SB  Underline distance
  541.             UB  Underline height
  542.             UI  Text Height
  543.             UI  Text Width
  544.             UB  Pitch Extended
  545.             UB  Height Extended
  546.             UI  Cap Height
  547.             UI  Reserved (0)
  548.             UI  Reserved (0)
  549.             A16 Font name
  550.             ??  Copyright, or any other information
  551.   
  552.        UI = unsigned integer, SI = signed integer, UB = unsigned byte, SB
  553.        = signed byte, B = boolean, and A16 =sixteen bytes of ASCII.
  554.   
  555.        After the font name, ?? bytes of extra data may be inserted.  These
  556.        bytes pad the descriptor out to the length specified in the begin
  557.        font descriptor command.
  558.   
  559.        Note: integers are always in big-endian order (MSB first).
  560.   
  561.      * What is a character descriptor?
  562.   
  563.        A character descriptor describes the character specific info and
  564.        the layout of the bitmap.  Newer printers can accept compressed
  565.        character bitmaps.
  566.   
  567.      * What is a character descriptor command?
  568.   
  569.        "ESC * c # E"
  570.   
  571.        The # is the length of the descriptor, in bytes.
  572.   
  573.      * What is the character descriptor data?
  574.   
  575.             UB  Format
  576.              B  Continuation
  577.             UB  Descriptor size
  578.             UB  Class
  579.             UB  Orientation
  580.             SI  Left offset
  581.             SI  Top offset
  582.             UI  Character width
  583.             UI  Character height
  584.             SI  Delta X
  585.             ??  Character (bitmap) data.
  586.   
  587.        Although older printers cannot accept characters that include
  588.        continuations, newer printers can.  If the "continuation" field is
  589.        1, the character bitmap data begins immediately after that byte and
  590.        the remaining fields _are not_ present.
  591.   
  592.      * Ok, now I understand the data, what do I look for in the output
  593.        stream?
  594.   
  595.       ESC * c # D
  596.             defines the font number (remember the number).
  597.   
  598.       ESC ) s # W
  599.             defines the font descriptor (as described above).
  600.   
  601.       ESC * c # E
  602.             specifies the character code (the #, in this case).
  603.                  The next character descriptor maps to this position in
  604.                          the font.  Characters do not have to appear in
  605.             any                particular order.
  606.   
  607.       ESC ( s # W
  608.             defines the character descriptor (as described above).
  609.   
  610.        Remember, these can occur in any order.  Experimentation with the
  611.        particular driver you are using may help you restrict the number of
  612.        different cases that you have to be prepared for.
  613.   
  614.   Please report your experiences using this method to norm (both to
  615.   satisfy his own curiosity and to help improve the FAQ).
  616.   
  617. Subject: 3.6. MS-DOS Screen Fonts (EGA/VGA text-mode fonts)
  618.   
  619.   Editors note: the following description was mercilessly stolen from
  620.           comp.archives on 02SEP92.  It was originally Yossi Gil's
  621.         posting.
  622.   
  623.   FNTCOL14.ZIP contains more than 200 text mode fonts for EGA/VGA
  624.   displays.  It includes fonts in different sizes for Hebrew, Greek,
  625.   Cyrillic, math symbols and various type styles including smallcaps and
  626.   script.
  627.   
  628.   It is available at borg.poly.edu:/pub/reader/dos/fntcol14.zip
  629.   
  630.