
                                 More Joy of GDOS*

                                    Version 2.6

                                   Gerd Castan **

                                    June, 5th 1995

________________________________
*  English version posted in comp.sys.atari.st -
   German Version posted in de.comp.sys.st and maus.gui.gem
** English translation by Stefan Damerau (cookie@cookie.syd.de)

Table of contents

     1 Technical Info
     2 Introduction
     3 Motivation
     4 Changes
     5 Notes to the reader
       5.1 Programs
       5.2 Printers
       5.3 Bitmap fonts
     6 VDI drivers
       6.1 Ink printers with 150, 300 ... dpi
       6.2 Ink printers with 180, 360 ... dpi
       6.3 9pin drivers
       6.4 24pin drivers
       6.5 Laser drivers
       6.6 Atari laser drivers
       6.7 Screen drivers
            6.7.1 LineA
            6.7.2 Setscreen & Getscreen
            6.7.3 NVDI and WARP 9
       6.8 Other drivers
            6.8.1 Memory drivers
            6.8.2 Plotter drivers
            6.8.3 NVDI 3 drivers
       6.9 What's missing
     7 Errors
     8 Fonts
       8.1 The meaning of ''Font`` and ''Face``
       8.2 The meaning of ''format`` and ''representation``
     9 Bitmap fonts
    10 Vector fonts
      10.1 FSMGDOS fonts
      10.2 Bitstream Fontware fonts
      10.3 Bitstream Speedo fonts
      10.4 Type 1 fonts
           10.4.1 Multiple Master (MM) fonts
           10.4.2 Type 1 GX fonts
      10.5 TrueType fonts
           10.5.1 TrueType for Windows 3.0
           10.5.2 TrueType GX fonts (or TrueType 2.0)
           10.5.3 TrueType for Windows NT
      10.6 Calamus fonts
      10.7 Comparison of vector formats
            10.7.1 Curves
            10.7.2 Hints, instructions, switches
            10.7.3 Internal resolution
            10.7.4 Linear and optical scaling
      10.8 Format conversion of scalable fonts
    10 Printers
    12 Programs
    13 Utilities
      13.1  fontfix
      13.2  Outline fonts
      13.3  Printer drivers
      13.4  ASSIGN
      13.5  FONTCHK
      13.6  FONTCNV
      13.7  GEMFont
      13.8  FontMonger
      13.9  Font ID
      13.10 X4U
      13.11 Charmap
      13.12 GDOS-Font
      13.13 REFONT
      13.14 Arkus
    14 Font Selectors
      14.1 UFSL
      14.2 XUFSL
      14.3 Magic (from Peter Hellinger, *not* MagiC!)
      14.4 FontSel
      14.5 Minimum requirements
      14.6 Characteristics liked to be seen
            14.6.1 Attributes and selection
            14.6.2 Windows and event handling
            14.6.3 misc
      14.7 About dialogs
    15 Distribution
      15.1  Atari
      15.2  BELA
      15.3  Language
      15.4  Internet
      15.5  Working Title
      15.6  XWindows
      15.7  COMPO
      15.8  IMG-0300
      15.9  FTP
      15.11 SciLab
      15.12 Star Division
      15.12 Thierry Rodolfo
      15.13 Others
    16 GDOS Versions
      16.1 The ones from the bones
            16.1.1 Atari-GDOS and AMCGDOS
            16.1.2 ABCGDOS
            16.1.3 G+Plus
      16.2 One step forward
            16.2.1 FontGDOS 2.0
            16.2.2 FSMGDOS 3.0
      16.3 Actual Developments
            16.3.1 SpeedoGDOS 4.0 and 4.1
            16.3.2 SpeedoGDOS 4.2
            16.3.3 SpeedoGDOS 5.0
            16.3.4 NVDI up to V2.51
            16.3.5 NVDI 3.0
      16.4 Comments
    17 Source
    18 Tips'n Tricks for users
      18.1 Pixeltrash at printing
      18.2 NEC P6+
      18.3 HP Deskjet 550C, 560C and Deskwriter 510, 520
      18.4 Overwritten Speedo faces
    19 Tips'n Tricks for coders
      19.1 Fontsize and Pixelsize
      19.2 Selecting drivers
      19.3 The Metafile format
    20 Expanded Sub opcodes for metafiles
      20.1  Supported sub obcodes
      20.2  group information
      20.3  object shadow
      20.4  filling area
      20.5  vector text
      20.6  window settings
            20.6.1 window position
            20.6.2 raster setups
            20.6.3 reference object
      20.7  gray scales
      20.8 beziers
      20.9 VDI block summarizing
    21 Addresses
    22 Miscellaneous
      22.1 Critics
            22.1.1 Critics to the author
            22.1.2 Critics to the translator
      22.2 Praise
      22.3 For my support
      22.4 Trademarks
      22.5 Guarantee
    23 Literature

     1 Technical Info

My email address will change more than once nexttime. Due to this reason I
have an alias, pointing to my actual location - and if it's in the
MAUS-Net: G.Castan@physik.uni-stuttgart.de

For easy location of this document at servers and mailboxes, I ask for
using the following name(s) and saving the ascii AND TeX versions:
FILENAME      = gdosi25    (German version)
FILENAME      = gdosi25e   (English version)
CR+LF should be used when saving at UNIX-Fileservers too, not just LF.

     2 Introduction

I'm writing a program that prints out using GDOS. However, I have a problem
because there is often no documention included with printer drivers.

There can also be different drivers with the same filename. What are the
differences?

Here I have briefly (Stef: *briefly*?? Well, that's not *that* right
anymore <g>) collected my experiences with printer drivers.

This collection doesn't generally explain to coders how to use
printer drivers (except to problems not mentioned in literature). And you
wont find information about the concept or how to install printer drivers.
To get this refer to the list at the end of this FAQ.

What I want to describe here is more information about the several drivers:

  o Where are the drivers available?
  o How to distinguish them?
  o What are the problem with them?
  o Which drivers can be used for certain printers?

If anybody has more experience or questions, please write me. I will face
the work to update this FAQ.

Credits:
Kay Prisille       (MIGRAPH-products, Calligrapher lite)
Julian Reschke     (IMG-0???)
Volker Ritzhaupt
Juergen Voorgang   (Working Title - products)
Herwig Schelauske  (Installation of GDOS, name-conventions)
Normen Kowalewski  (Font-GDOS)
Erik Dick          (SpeedoGDOS)
Patrick Dubbrow
Ulrich Rossgoderer (WYSIWYG)
Stefan Hintz       (CHARLY IMAGE)
Ulli 'Huhu' Ramps  (SpeedoGDOS 4.2)
Laurenz Pruessner  (SLM_HS)
Marcel Boom        (1st Postcard!)
Joerg Tochtenhagen (Misc)
Ralf Heckmann      (Spellchecker for the German version 8-)
Andreas M. Koepfer (EASE, That's Write, MagiC!)
Wilfried Behne     (misc)
Ulrich Kaiser      (ABC-GDOS)

Gerd Castan.

     3 Motivation

With GDOS it took me ~2 hours of coding, to get the screen-output to the
printer at maximum quality. And with (almost) no extra work I get output to
printers I even don't know.

If anybody wants to write a program with printing options, they can use GDOS
and take better care over the main program.

Nobody wants to pay for printer drivers if there's another program that
didn't take the coder extra work with such stuff making this program less
expensive (and surely better).

The user has - besides the lower price - another advantage. If he uses
several programs he need place for the driver and the fonts only one time on
the disc.

SpeedoGDOS is available from Atari shops (Atari Competence Center in
Germany) now.

The (qualified) feedback to my FAQ has - compared to autumn '92 - raised
remarkable. Due to Speedo the interest in GDOS coming from the coders seems
to be bigger.

     4 Changes

Now (from 2.4) I'll switch back to listing the changes here, not in the table of
contents ...
Anyway, a "*" stand for changed chapter and "+/-" for new or removed chapter (I
guess you'll know which char stands for what <g>)

      * 8.1 The meaning of ''Font`` and ''Face``
        Here I've exchanged the example Swiss 721 by Dutch 801. The face
        ''Swiss 721 Roman`` is displayed as ''Swiss 721`` in font
        selectors.
      * 10.4.2 Type 1 GX fonts
      * 10.5.2 TrueType GX fonts (or TrueType 2.0)
      * 12 Programs (Twist 3 Office)
      * 21 Addresses (Pergamon's address)
      + 13.14 Arkus

One Important thing to note: The dates of the GDOS drivers are in German format,
that is: DD.MM.YY! Remember that! (But I guess you alreade noticed that?)

     5 Notes to the reader

Notes about problems right in this text weren't as effective as I wanted
them to be. So, here are they in one chapter:

       5.1 Programs

I only have few of the listed utilities. And I guess I'll never get to
know each program put in a BBS or being updated. So you coders out there,

             *Send me information about your product*

It's useful for you and users of your program too: Programs listed in
this FAQ may be used by more people and the possibility of further
development is higher.

       5.2 Printers

A complete list in chapter 11 surely is very useful when looking for the
right printer driver (e.g. for exotic printers). But I only got 2 useful
mails yet. The way this list actually is, it's quite useless. Will I get
more information or do I have to remove this list?

       5.3 Bitmap fonts

Recently I got a very detailed description of the GDOS bitmap font
format. But this would only be useful for the coders of font editors and
converters (an I guess there aren't more than three or so), so I didn't
include it here. If YOU think it would be useful here, convince me.
(Stef: and me for translating that <g>)

     6 VDI drivers

In these tables I have listed distributor, errors and useable fonts.

Drivers for NVDI 3 are listed in 6.8.3 seperately.

       6.1 Ink printers with 150, 300 ... dpi

______________________________________________________________________
| Name      |Date    |Length|Distributor|Errors | Others| Fonts      |
|___________|________|______|___________|_1_|_2_|_______|____________|
| HP_LJET   |22.02.89| 45512| BELA      |   |   | n.p.  |LS          |
| HP_LASER  |25.09.89| 36928| Atari,I   |   |   |       |LS          |
| LASERJET  |06.03.91| 54517| Atari     |   |   |       |LS          |
| LASERJET  |27.01.92| 60194| FontGDOS,I|   | n |       |LS, OTL     |
| LASERJET  |28.01.93| 61907| SGDOS 4.0 |   | n |       |LS, SPD     |
| LASERJET  |02.07.93| 64408| SGDOS 4.2 |   | n |       |LS,SPD,TT,T1|
| HPL150    |12.04.86| 51541| wt        |   |   |150dpi |LL          |
| HPL300    |24.04.86| 51541| CL,wt     |   |   |       |LS          |
| DESKJET   |13.05.92| 45637| BELA      |   |   |  p.   |LS?         |
| DESKJET   |14.05.91| 46040| CL,WT     |   |   |  p.   |300x600     |
| DESKJET   |06.03.91| 54285| Atari,I   |   |   |       |LS?         |
| DESKJET   |?       | 45618| ?         |   |   |  p.   |LS          |
| DESKJET   |?       | 45285| ?         |   |   |  p.   |LS          |
| DESKJET5  |14.05.91| 46040| CL,WT     |   |   | delta |LS          |
| DJ5       |27.01.92| 60600| FontGDOS,I|   | n |       |OTL         |
| DJ5       |?       | 60538| ?         |   |   |       |            |
| DJ5       |28.01.93| 62251| SGDOS 4.0 |   | n |       |SPD         |
| DJ5       |02.07.93| 64319| SGDOS 4.2 |   | n |       |SPD,TT,T1   |
| DJ550C    |11.10.93| 68870| SGDOS 5.0 |   | n |       |LS,SPD,TT,T1|
| DJ550C    |11.10.93| 68870| T.R.      |   | n |       |LS,SPD,TT,T1|
| DJ_550C2  |14.04.94| 68746| SGDOS 5.0 |   | n |       |LS,SPD,TT,T1|
| DJ_500C   |14.04.94| 68761| SGDOS 5.0 |   | n |       |LS,SPD,TT,T1|
| DJ_510    |17.05.94| 61921| SGDOS 5.0 |   | n |       |LS,SPD,TT,T1|
|_DJ_510T___|17.05.94|_61925|_SGDOS 5.0_|___|_n_|_______|LS,SPD,TT,T1|

Note: The drivers named HP_LJET and DESKJET can be used for (HP compatible)
ink and laser printers. The difference is in the transfer to the printer:
Packed (p.) or not packed (n.p.). 'Delta' means that the data is delta
packed.

       6.2 Ink printers with 180, 360 ... dpi

______________________________________________________________________
| Name      |Date    |Length|Distributor|Errors | Others| Fonts      |
|___________|________|______|___________|_1_|_2_|_______|____________|
| BJ10E     |20.11.90| 45917| WT        |   |   |       |NC          |
| BJ10      |20.11.85| 45919| CL        |   |   |       |NC          |
| BJ10      |28.08.91| 45660| BELA      |   |   |       |NC          |
| BJ10      |27.01.92| 59715| FontGDOS,I|   | n |       |NC, OTL     |
| BJ10      |28.01.93| 61428| SGDOS 4.0 |   | n |       |NC, SPD     |
| BJ10      |02.07.93| 63496| SGDOS 4.2 |   | n |       |NC,SPD,TT,T1|
| STYLUS    |25.04.94| 60848| SGDOS 5.0 |   | n |       |NC,SPD,TT,T1|
| MT90      |21.12.90| 44881| BELA      |   |   |180dpi |SP          |
| PAINTJET  |27.01.92| 60005| FontGDOS  |   | n |       |SP, OTL     |
| PAINTJET  |?       | 60173|           |   |   |       |SP          |
| PAINTJET  |28.01.93| 61648| SGDOS 4.0 |   | n |       |SP, SPD     |
| PAINTJET  |02.07.93| 63642| SGDOS 4.2 |   | n |       |SP,SPD,TT,T1|
| PAINTJET  |14.08.92| 60173| I         |   |   |       |SP, OTL     |
|_PAINTJET__|13.10.91|_45934|_WT________|___|___|_______|SP__________|

   PAINTJET:
   80X180: 2-8 colo(u)rs
   90x90:   16 colo(u)rs

   MT90 is made by Patrick Dubbrow.

Using ink drivers produces a problem with bitmap fonts. Using 300dpi all is
ok. But 360dpi fonts are optimised for best efforts with pin printers having
thick pins. Using ink printers makes the fonts look much too thin.

Solution: either use 300 [ 600, 1200 :-) ] or exclusively use vector fonts

       6.3 9pin drivers

________________________________________________________________________
| Name      |Date     |Length |Distributor |Errors | Others | Fonts    |
|___________|_________|_______|____________|_1_|_2_|________|__________|
| FX240DPI  |22.12.89 | 45396 | BELA       | y |   |        |SR        |
| FX80      |22.12.89 | 45396 | BELA,wt    | n |   |        |EP        |
| FX80_2    |12.06.91 | 45396 | I          |   |   |        |EP        |
| FX80      |24.09.91 | 45525 | CL         |   |   |        |EP        |
| FX80      |16.12.87 | 45396 | Atari      | n |   |        |EP        |
| FX80      |27.01.92 | 59236 | FontGDOS,I | n | n |        |EP, OTL   |
| FX80      |28.01.93 | 61111 | SGDOS      |   | n |        |EP, SPD   |
| FX80      |02.07.93 | 63177 | SGDOS  4.2 |   | n |        |EP, SPD   |
| FX80HIGH  |22.01.89 | 44730 | Atari,I    | n |   |        |SR        |
| FX80_QD   |24.09.91 | 45525 | WT         |   |   |        |EP        |
| NX1000    |27.01.92 | 58719 | FontGDOS   | n | n |        |EP, OTL   |
| NX1000    |28.01.93 | 60723 | SGDOS      |   | n |        |EP, SPD   |
| NX1000    |02.07.93 | 62717 | SGDOS  4.2 |   | n |        |EP, SPD   |
| NX1000    |14.08.92 | 58887 | I          |   |   |        |EP, OTL   |
| OKI20     |27.01.92 | 58491 | FontGDOS   | n | n |        |EP, OTL   |
| OKI20     |28.01.93 | 60495 | SGDOS      |   | n |        |EP, SPD   |
| OKI20     |17.03.93 | 60511 | SGDOS  4.2 |   | n |        |EP, SPD   |
| OKI20     |14.08.92 | 58659 | I          |   |   |        |EP, OTL   |
| SMM804    |16.12.87 | 44801 | Atari      |   |   |        |LB        |
| SMM804_2  |16.06.91 | 44801 | I          |   |   |        |LB        |
| SMM804    |27.01.92 | 59201 | FontGDOS,I |   | n |        |LB, OTL   |
| SMM804    |28.01.93 | 61076 | SGDOS      |   | n |        |LB, SPD   |
|_SMM804____|02.07.93_|_63142_|_SGDOS _4.2_|___|_n_|________|LB,_SPD___|

Note: FX80HIGH prints normal text twice, FX240DPI once, FX80_QD printer in
quad density.

NX1000 and OKI20 are color drivers with 8 colors

       6.4 24pin drivers

__________________________________________________________________________
| Name      |Date    |Length |Distributor |Errors | Others | Fonts      |
|___________|________|_______|____________|_1_|_2_|________|____________|
| EPSON360 |04.04.90 | 45619 | BELA       | y |   |        |NC          |
| EPSON360 |16.09.92 | 45547 | WT         |   |   |180x360 |            |
| EPSLQPAR |14.02.91 | 44939 | I          |   |   |        |            |
| LQ_500   |15.11.93 | 68068 | T.R.       |   | n |        |SP,SPD,TT,T1|
| LQ570    |28.01.93 | 62051 | SGDOS 4.0  |   | n |        |SPD         |
| LQ570    |02.07.93 | 64228 | SGDOS 4.2  |   | n |        |SPD,TT,T1   |
| LQ_800   |15.11.93 | 68068 | T.R.       |   | n |        |SP,SPD,TT,T1|
| LQ_850   |15.11.93 | 68068 | SGDOS 5.0  |   | n |        |SP,SPD,TT,T1|
| LQ_850   |15.11.93 | 68068 | T.R.       |   | n |        |SP,SPD,TT,T1|
| LQ_1000  |15.11.93 | 68068 | T.R.       |   | n |        |SP,SPD,TT,T1|
| LQ_1050  |15.11.93 | 68068 | T.R.       |   | n |        |SP,SPD,TT,T1|
| LX800    |14.11.93 | 67989 | T.R.       |   | n |        |SP,SPD,TT,T1|
| NB15     |22.12.89 | 44881 | BELA,wt    | n |   |        |SP          |
| NB15     |16.12.87 | 44881 | Atari,CL   | n |   |        |SP          |
| NB15_2   |12.06.91 | 44881 | I          |   |   |        |SP          |
| NB15     |27.01.92 | 59121 | FontGDOS,I | n | n |        |SP, OTL     |
| NB15     |28.01.93 | 60989 | SGDOS 4.0  | n | n |        |SP, SPD     |
| NB15     |02.07.93 | 63055 | SGDOS 4.2  | n | n |        |SP,SPD,TT,T1|
| NECP6    |12.04.80 | 45199 | wt         |   |   |        |NC          |
| NECP6    |10.04.91 | 45619 | BELA       | y |   |        |NC          |
| NECP6    |06.02.86 | 44906 | Atari,I    | y |   |        |NC          |
| NECP6_2  |28.06.91 | 46557 | I          |   |   |        |NC          |
| NECP     |27.01.92 | 59516 | FontGDOS   | y | n |        |NC, OTL     |
| NECP     |28.01.93 | 61229 | SGDOS 4.0  |   | n |        |NC, SPD     |
| NECP     |02.07.93 | 63297 | SGDOS 4.2  |   | n |        |NC,SPD,TT,T1|
| NEC_P    |14.08.92 | 59516 | I          |   |   |        |NC, OTL     |
| P24M     |08.04.89 | 47104 | I          |   |   |        |            |
| P24ML    |08.04.89 | 47104 | I          |   |   |        |            |
| P24MWID  |08.04.89 | 47104 | I          |   |   |        |            |
|_P24MWIDL_|08.04.89_|_47104_|_I__________|___|___|________|____________|

       6.5 Laser drivers

___________________________________________________________________________
| Name      |Date     |Length |Distributor  |Errors | Others | Fonts      |
|___________|_________|_______|_____________|_1_|_2_|________|____________|
| RICOH12   |23.06.92 | 45438 | WT          |   |   |400dpi  |            |
| HP_LJET   |22.02.89 | 45512 | BELA        |   |   |  n.p.  |LS          |
| HP_LASER  |25.09.89 | 36928 | Atari,I     |   |   |        |LS          |
| LASERJET  |06.03.91 | 54517 | Atari       |   |   |        |LS          |
| LASERJET  |27.01.92 | 60194 | FontGDOS,I  |   | n |        |LS, OTL     |
| LASERJET  |28.01.93 | 61907 | SGDOS       |   | n |        |LS, SPD     |
| LASERJET  |02.07.93 | 64408 | SGDOS  4.2  |   | n |        |LS, SPD     |
| HPL150    |12.04.86 | 51541 | wt          |   |   |150dpi  | LL         |
| HPL300    |24.04.86 | 51541 | CL,wt       |   |   |        |LS          |
| LJ4_300   |12.01.91 | 61910 | SGDOS  5.0  |   | n |        |LS,SPD,TT,T1|
| LJ4_600   |12.01.94 | 61910 | SGDOS  5.0  |   | n |        |SPD,TT,T1   |
| DESKJET   |13.05.92 | 45637 | BELA        |   |   |   p.   |LS          |
| DESKJET   |14.05.91 | 46040 | CL          |   |   |        |LS          |
| DESKJET   |06.03.91 | 54285 | Atari,I     |   |   |        |LS          |
| CANONLBP  |26.09.89 | 36980 | Atari,I     |   |   |        |LS          |
|_LBP_______|13.01.92_|_45453_|_WT__________|___|___|________|LS__________|

       6.6 Atari laser drivers

___________________________________________________________________________
| Name      |Date     |Length |Distributor  |Errors | Others | Fonts      |
|___________|_________|_______|_____________|_1_|_2_|________|____________|
| SLM804    |12.04.91 | 47496 | BELA        |   | n |        |LS          |
| SLM804    |16.12.87 | 45788 |Atari,I,CL,wt|   | y |        |LS          |
| SLM       |12.12.90 | 48399 | Language    |   |   |        |LS          |
| SLM       |27.01.92 | 60036 | FontGDOS,I  |   | n |        |LS, OTL     |
| SLM       |28.01.93 | 61911 | SGDOS       |   | n |        |LS, SPD     |
| SLM       |02.07.93 | 63987 | SGDOS  4.2  |   | n |        |LS, SPD     |
|_SLM_HS____|17.01.94_|_63663_|_ROM_________|___|_n_|________|LS,_SPD_____|

SLM_HS is a SLM driver for the Falcon (when using the Heatseeker interface)

       6.7 Screen drivers

The screen is (if VDI functions are used) seen as an output device just
like printer, plotter etc. That's why fonts for the screen can be installed
in ASSIGN.SYS just like for printers.

Normally this isn't noticed because the drivers are in ROM. But they can be
used like printer drivers.

Note: For system fonts only (like the original ones) non proportional fonts
with a 8*8 or 8*16 matrix can be used. That's limited by the AES not VDI.

With newer AES (from 4.0?) it's no problem to use fonts of free choice
(Variable AE_FONTID and AE_FONTSIZE in GEM.CNF, see [Sche93]). Coders
should make sure their programs can take that. (even like scrollbars of
free width)

Bitmap fonts not assigned for screen driver 1 are not available for other
screen drivers.

            6.7.1 LineA

The so-called LineA routines are subprograms of the screen drivers from the
ST series, to bee seen undocumented. This is the hardware depending part of
these drivers.

The attentive readers will notice this: Exchanging the drivers removes
the LineA routines as well. As happened on the TT, for example.

So never use them!

You can still /read/ from the LineA variables, but why bother?

            6.7.2 Setscreen & Getscreen

These XBIOS-Functions (mostly Setscreen) should'nt be used.

But what am I talking. For those useing them or those being tortured
because someone did it:

The video hardware of 1040STE and Mega STE has an hardware bug. When defining
a new physbase with Setscreen (and if it's the same gotten with Getscreen),
it may happen that the screen is 'folded'. This happens due to the movement
of a register at a special moment, which is only allowed to be moved at
special phases of the screen output.

What has to be done?

Users: The programs NVDI and FALT_OFF stop this error. Or give this FAQ to
       coder.

Coders: Either even don't use Setscreen.
        If You use it though: If physbase isn't changed, the value taken
                              with Getscreen may not be used. Use the
                              value -1 than physbase!

            6.7.3 NVDI and WARP 9

There are two often used programs exchanging the ROM drivers: NVDI and WARP
9 (earlier QuickST). TurboST was distributed by BELA but isn't updated no
more.

If these are used once, one will never want to miss them: the Desktop seems
to be terribly slow. I will never want to work without NVDI on my Atari.
Others say the same about WARP 9.

NVDI uses strongly optimised drivers for the ST  and TT resolutions. Sadly I
don't know which drivers are used by WARP 9.

NVDI is available from Behne & Behne and contains not only the drivers but a
GDOS and a manual describing exactly all VDI calls.

WARP 9 is available from CodeHead.

Due to this NVDI is spread in Germany and WARP 9 in the US

Unlike NVDI, WARP 9 only speeds up the text output and graphics stay
as slow as before. AND the newest version doesn't work with MultiTOS. It
Works on the Falcon too, but I don't know if it supports *all*
resolutions there. (Like with Screenblaster, BlowUp030 or others)
15 bit and 16 bit screen modes aren't supported by it.

       6.8 Other drivers

_______________________________________________________________________
| Name     |Date    |Length|Distributor|Errors | Others  | Fonts      |
|__________|________|______|___________|_1_|_2_|_________|____________|
| META     |11.04.89| 5644 | I         |   |   |         |MF          |
| META     |08.10.88| 9325 | BELA      |   |   |         |MF          |
| META     |16.12.87| 9325 | Atari     |   |   |         |MF          |
| META_2   |14.06.91| 9325 | I         |   |   |         |MF          |
| META     |27.01.92| 9718 | FontGDOS  |   | n |         |MF, OTL     |
| META     |28.01.93| 9733 | SGDOS 4.0 |   | n |         |MF, SPD     |
| META     |02.07.93| 11174| SGDOS 4.2 |   | n |         |MF,SPD,TT,T1|
| MEMORY   |27.01.92| 58397| FontGDOS  |   | n |         |LS, OTL     |
| MEMORY   |28.01.93| 60265| SGDOS 4.0 |   | n |         |LS, SPD     |
| MEMORY   |02.07.93| 62331| SGDOS 4.2 |   | n |         |LS,SPD,TT,T1|
| CYPRESS  |        |      |           |   |   |  MEMORY |            |
| PSCRIPT  |14.10.92| 33016| WT        |   |   |         |            |
| HPGL     |08.07.91| 48885| ST458     |   |   | V 1.4r2 |            |
| ZEBRA    |07.12.91| 45746| WT        |   |   |         |            |
| T_OFFICE |        |      | wt        |   |   |98/196dpi|            |
| T_OFFICE |        |      | wt        |   |   |98/196dpi| SPD        |
|_IMG-0300_|________|______|_Reschke,wt|_n_|___|_________|LS__________|

IMG-0300 can be copied (non commercial). The other IMG-0??? drivers are by
SciLab. ZEBRA is for the Zebra Labelprinter.

            6.8.1 Memory drivers

A memory driver doesn't do anything else than a screen driver (see
[Pru93b/c]). But the output doesn't get to the screen driver, but in
another memory to be influenced there.

The usual v_openwk binding doesn't have all parameters needed to open this
driver. If not included to the language this binding must be made by
yourself. A listing is found at [Pru93c].

The memory driver listed above is only capable of b/w output only and has
a logical resolution of 300dpi. The (matrix) drivers tested by me have no
problems with fonts installed that are for other other drivers. The memory
driver should take screen fonts - due to the 300dpi.

Problem could appear because of the aspect ratio (relation of pixel width to
height) - normally not similar to the screen resolution.
Due to this circles can be displayed as ellipses.

With NVDI 2.5 or higher, you can output to offscreen (colour)bitmaps.
These work with all VDI calls, and you can copy the resulting bitmap to
the screen window.

            6.8.2 Plotter drivers

A HPGL driver seems to be distributed with the program DATA. On PD disk ST
458 (German PD series) is one too. If I get more about it I'll include this
info here.

            6.8.3 NVDI 3 drivers

NVDI 3 has its own driver concept. Only a small quantity of drivers is
included, but they're very fast, small and flexible.

The drivers are:

___________________________
|_Treiber______|_Datum____|
| PINPRN.SYS   | 19.10.94 |
| PAGEPRN.SYS  | 19.10.94 |
| IMG.SYS      | 30.10.94 |
| MEMORY.SYS   | 18.10.94 |
| META.SYS     | 18.10.94 |
|_ATARILS.SYS__|_18.10.94_|

Depending to the colo(u)r printing capability of a printer (this can be set
in the MAKEPRN.APP), the drivers have to use different offscreen drivers to
create the graphics (this can't be found in the manual coming with NVDI 3
[Stef: A manual like for NVDI 2.x is in work]
Gerd: It will be an ascii file for FTP servers and BBS, not a printed one)

The Offscreen drivers are:

_____________________________________
|_Treiber_______|_Datum____|Farben__|
| OFF002.NOD    | 06.11.94 | 2      |
| OFF004IP.NOD  | 06.11.94 | 4      |
| OFF016IP.NOD  | 06.11.94 | 16     |
| OFF256IP.NOD  | 06.11.94 | 256    |
|_OFF32KFL.NOD__|_06.11.94_|_32768__|

The actual NVDI 3.01 can't handle colo(u)r printing though :-(
3.02 will. (Which is soon to be released. More then ...)

The flexibility to create a driver's INF for printers is great. To code a
driver for SpeedoGDOS you have to become a developer for SpeedoGDOS.
It isn't that easy ...
With NVDI you only have to enter you printer's codes in MAKEPRN.APP. So you
only have to check you printer's manual, not learn or do C coding.

The codes driving the printer are saved in the INF files belonging to each
driver. A flaw is that these assignments aren't simply exchangeable.
There's no documentation about the file format and no program to extract or
add codes yet. The only way is to exchange the complete INF file.

Another problem not even noted in the manual occurs when assigning pixel
fonts in the ASSIGN.SYS. Guess that you have assigned 180dpi fonts to the
PINPRN.SYS. It's easy to change the output resolution to 360dpi by the CPX.
*Then* the printout will be catastrofugly.

A workaround is to duplicate the driver with another name (close to the
first ...) and assign this one to in the ASSIGN.SYS too, but with different
fonts.

At last I think those drivers conceptionally are much better compared to
the ones coming with SpeedoGDOS 5. No colour printing yet, though.

       6.9 What's missing

I don't know drivers using the abilities of the following printers:

  o Canon BJC 600 - A colour printer with 4 heads (CMYK) 64 nozzles each.
                    In the colour mode he's compatible to:
                          - Canon BJC 800
                          - Epson LQ 2550/2500
                    It's resolution is 360x360. I dont's know any GDOS driver
                    supporting the BJC's capabilities directly (or via
                    compatibility mode) when using colours.

     7 Errors

Errors in the printers drivers - that I know - are the following:

  1 These drivers display Fonts with the attribute 'light'
  2 Doesn't work on TT
  3 The EXTENDED ENQUIRE FUNCTION (VDI 102, vq_extnd) doesn't give back the
    parameters as listed in the German 'Profibuch' (Jankowski, Rabich,
    Reschke - Sybex)
  4 Using the attributes 'italic' and 'outlined' the letters of bitmap fonts
    are cut off on the right side. This error appears independent from other
    attributes being used.
    This error was in the Libraries of the driver sources from Atari and
    seems to be included in all drivers except to NVDI and SpeedoGDOS.

If theres nothing written about an error I don't know if this error appears
or not.

Seems it's no accident, that Xact only uses the attributes 'fat', 'italic'
and 'underlined'. (See [Res92]

Another reason against using 'outlined' is the following:
 If You make a driver calculate an outlined font from a normal one it get's
 'wider' by two pixels. Due to the reason that a pixel has a width depen-
 ding to the resolution (other than a fitted font) a text gets different
 widthes in each resolution. But who wants to have different textformat on
 different printers? The only way to stop this is letterspacing -
 typographic 'bullshit'.

     8 Fonts

       8.1 The meaning of ''Font`` and ''Face``

First: What's the difference between a fonts and a face?

When calling a font selector there may be Dutch 801, Dutch 801 italic,
Durch 801 Bold and Dutch 801 Bold Italic. These are 4 faces, alltogether
creating a font.

This separation isn't that simple at bitmap fonts, because all attributes are
created from only one file (this can be made with vector fonts too, but it's
quite nonsens In my opinion). That's why I first didn't note that this
attribute creation is buggy in some versions of SpeedoGDOS (see 16.3.3).

Using vector fonts this border isn't that sharp with Multiple Master fonts
(see 10.4.1) and TrueType GX fonts (see 10.5.2) too.

Me I'm not always using this separation of font and face in this FAQ.
Especially in the chapter about font formats. ("Face format" doesn't exist
and it'd sound strange if one says:
             ''These faces are saved in each font format.``)

       8.2 The meaning of ''format`` and ''representation``

''Format`` is used in two ways when talking about fonts, what makes it a
bit confusing.

First it's used e.g. for the TrueType and the Type 1 *format* and second
it's used to differ the Macontosh and the Windows *format* (and others)

To solve this confusion in this FAQ

         o We'll use ''format`` to seperate TrueType, Type 1, Speedo ...
         o ''Representation`` will be used to seperate the file formats.
           This is used for mathematics and physics when groups *look*
           different but both can be displayed bijectively upon each
           other - even in their structure
           (Stef: harggngrl. Sorry, I hope Gerd or Chris will help here.
                  Chris thought of using ''version`` instead)

*Then* there's no more confusion about this:
- Macintosh TrueType format in Macintosh representation
- Macintosh TrueType format in Windows representation
- TrueType for Windows format in Macintosh representation
- TrueType for Windows format in Windows representation

(Stef: looks funny <g>)

And it's easier to say that Speedo (from 5.0) and NVDI (from 3.0) need to
use the Windows representation of a font, but don't care if the fonts are
in Windows or Macintosh format.

     9 Bitmap fonts

The fonts used are bitmap fonts in the DR standard format. They have to be
saved in Intel format. Motorola format isn't supported by any GDOS.
(See [Whe88] and appendix)

GDOS bitmap fonts have their width information defined in both, screen font
and printer fonts. Sadly the designers were a bit too zealous and fitted the
width of the sreen fonts to make them look very beautiful. They've done a
good job, but they're not similar to the printer fonts and don't allow
WYSIWYG.

There are many fonts on the Internet only for the screen and maybe useable
for one printer. Everybody using these fonts should know that he can't print
documents in an acceptable quality via GDOS.

But in the Atari and former BELA package there are included fonts for
all printer drivers in this package (the 360*360dpi fonts are missing in the
Atari package). If you have a useable program you can print every document
with every driver.

    10 Vector fonts

Vector fonts don't use pixels, they are created with algorithms - supported
by shapes and hints. These algorithms (see METAFONT for a good example) make
the fonts copyrighted like normal programs. (See [Walsh] for this)

Here I'll write a bit about vector formats. Why should a pure user try to
understand it? Nowaydays you'll just get a cheap Font CD, choose 17 of the
most interesting fonts for your first poster an print out the creation.

Problems are: I have one face in different formats. Which one should I
take? Sometimes I have problems on screen, when I print out something or
only when using a specific size. So what?

(When you have 17 Garamond styles from 17 different distributors it's
 better to read a magazine about typography or DTP to get help)

      10.1 FSMGDOS fonts

The vector fonts with the old FSM-GDOS format by QMS/Imagen Corp. are
named with OTL.

These fonts and drivers should'nt be used no more and are listed to only for
completion of this FAQ.

      10.2 Bitstream Fontware fonts

Just to prevent confusion:
Bitstream uses the Fontware format. This - for example - can't handle
hints.

It's got nothing to do with the GDOS font formats listed here.

      10.3 Bitstream Speedo fonts

The vector fonts in SpeedoGDOS format are named with SPD.

They are supported by all SpeedoGDOS releases and by NVDI 3.0 or higher.

         10.4 Type 1 fonts

Type 1 fonts are available for MacIntosh abd MS-DOS/Windows. They only have
differences in the internal representation, not in the information.

At least one of these formats is supported by SpeedoGDOS from V5.0a. But I
already found some that SpeedoGDOS 5.0a can't display.

Just a note:
It's wrong thinking PS interpreters could use Type 1 fonts just because
Adobe's original PS interpreter does this.
It depends on the producer of the interpreter to decide, which font's
format is used. But one thing you can trust:
A PS document looks different on screen and printer (Stef: hehehe,
Calamus)

  7.3.5 Multiple Master (MM) fonts

ATM 3.01 (Adobe Type Manager) for Windows now is capable of scaling MM
fonts. With this technology not only height, size, skew angle and rotation
can be set for output, there's one more continuosly parameter. This is to
set, what thick a face is to be displayed. This is no simple algorithm -
like others at GDOS - but the font designer can make sure where to change a
face when it's more or less fat.

This subsection only is FYI. SpeedoGDOS 5.0 only can handle normal Type 1
fonts - and NVDI none.

When taking a look at [Hil95] (about the URW PrintWorks CD), it's visible
that
URW has such technology - internally - too. The extremely interesting book
[Kar92a] is by URW too.

--------

Q: These MM fonts are an extension to Type 1 fonts, right?

A: Yeah!

Q: So I can use MM fonts with Windows, but what do I do with my old
   PostScript printer?

A: No matter, he can handle it anyway.

Q: Huh? Which way?

A: It's been noted already that vector fonts are algorithms. Adobe simply
   defined a new operator.

Q: My old PostScript printer doesn't understand that operator, right?

A: Right. But the definition of this operator can be distributed within
   the font. That's the way it's actually done.

Q: That's why all PS printers can handle this?

A: Sure. Only the coding interface should have to be fixed. That's why a
   new ATM is released for Windows.

Q: Great! Then I won't have to get 50 faces for each font.

A: Yeah, and you'll have enough money left for an ice ;-)=
--------

           10.4.2 Type 1 GX fonts

These are told to have the same features as TrueType GX fonts (see
10.5.2).

      10.5 TrueType fonts

This format is available for MacIntosh and MS-DOS/Windows too.

SpeedoGDOS from V5.0a and NVDI from version 3.0 can handle both, no
matter if it's for MacIntosh or MS-DOS/Windows. The MS-DOS format
is a superset of the MacIntosh format.

By Apple's definition it's got different tables (like the chunks known from
the IFF format). In the table's header a name and a length is noted. This
way a program can ignore tables it can't handle. When new types of tables
are defined, they have to be announced to Apple. Required and optional
Tables are defined by Apple too.

On Macs, .suit is the suffix for TrueType files. The data is found in
the resource fork.
(Stef: That's not always right, with System 7 fonts are in the folder
Fonts in the System folder. They may be in a suitcase there)

I don't know any official documentation which tables are used or
required by SpeedoGDOS 5.0 ff or NVDI 3.0 ff.

           10.5.1 TrueType for Windows 3.0

Microsoft used this procedure to announce new tables and make them
mandatory for Windows.

The difference between the Apple and Microsoft format simply is that
Microsoft declared more tables as mandatory. Plus the fixed order of
glyphs when special flags are set. A definition of the Microsoft format is
found in [Mic]

           10.5.2 TrueType GX fonts (or TrueType 2.0)

Apple expanded the TrueType format for any design axle. So we have a
technology similar to Multiple Master fonts (see 10.4.1).

New Features:

        o TT GX fonts may contain Type 1 data
        o automatic ligature substitution
        o more than one base line (e.g. for mathematic formula)
        o track kerning informations (NVDI from 3.02 uses them)

These features are distributed by the Line Layout Manager (LLM) on the Mac
an they are independent from the scaler used. So - at least on a Mac -
these features can be used by all font technologies

Informations are available by the Apple developer support organization
(APDA).
Their EMail address is: adpa@applelink.apple.com
The ''TrueType Book`` describing TrueType 1.0 and the ''QuickDraw GX Font
Formats Book`` (describing the GX extensions) can be ordered there.

TrueType 2.0 has new tables requiring (different to MM fonts) new scalers
to use this technology.

           10.5.3 TrueType for Windows NT

Instead of using the GX font's definition Microsoft defined another new
font's format for Windows NT (Stef: When are they about to define
darkness as a standard <g>) A special feature is the double amount of
required characters compared to TrueType 1.0

      10.6 Calamus fonts

Can YOU tell me more about these?

      10.7 Comparison of vector formats

There's no noncommercial program on any platform that can convert one
format to the other. A lot of fonts are only available in one format.

But what makes a conversion so difficult? To ask different: Which infor-
mations are stored by which way?

            10.7.1 Curves

First the shape of the chars should be saved. But that for many ways are
used (see [Kar92a]):
Type 1:   Uses cubic Bezier curves aka cubic B-splines
TrueType: Uses square Bezier curves aka square B-splines
Speedo:   Uses cubic Bezier curves aka cubic B-splines

For most applications there should be no difference between several font
formats. Therefore SpeedoGDOS transforms TrueType characters into
cubic bezier curves for v_getoutline. I'd like to get (optional) quadratic
bezier curves in this case and v_bez_fill should be able to cope with it.

Square B-splines are much faster than cubic Bezier curves but you have to
store about 4 times as much points to achieve the same quality.

            10.7.2 Hints, instructions, switches

The next problem is the display on media with low resolution. For a neutral
observer Speedo fonts always look quite good on the screen (well, some fonts
are ugly by nature).

But I've found TrueType fonts that look as ugly as nothing else on the
screen. For example the two vertical lines of an 'n' are not the same, one
is 1 pixel and the other is 2 pixels thick.

The way to prevent those errors are hints. Companies use different names
for Hints.

               o Adobe: Hints
               o Apple: Instructions
               o URW:   Switches

This method is used by Speedo, Type 1 and TrueType (but not by Type 3 and
CFN). But hints given by the format don't mean that they're used too!
(That's why others got different experiences with these formats than me)

So, finally: All these three font types can look very good on the screen,
Type 3 and CFN can't. [ever tried to print CFNs on a printer with less
than 360x360dpi?]

Now I've noted, what hints are doing and in which formats they're used. But
*how* do they work? Specific parts of a character have a specific >>job<<,
like serif, bow etc. This is saved besides the font's outline. This way the
scaler e.g. can create similar vertical lines of a >n<. More is found in
[Kar92a]

Type 1 only can handle very few different hints compared to other formats.
But the new MM technology (see 10.4.1) makes Type 1 much better at some
parts.

Note:
  with v_getoutline you get the outlines in the workstation's actual
  resolution. Remember that using hints depend of the resolution. Plans
  exist to make v_getoutline independent from the actual hint size.

            10.7.3 Internal resolution

After the problem with low resolution now there's the problem with the high
resolution. Even if you think there shouldn't be any; there are! (See
[Kar92b] too)

To display a vector font first an internal system of coordinates has to be
selected. To do this the em-square is devided in units. CFN has one from
0 to 16000, Type 1 (which was created when there were no high-res printers)
one from 0 to thousand. Due to this there are 'corners' visible at large
letters or high resolutions (in the professional league)

   Referring to [Kar92a] the internal resolution can be raised by the
   DIV operator. But this has to be supported by the font editor.
   (Is this done regularly and does the scaler get remarkably
   slower by this?

CFN can make the big deal here.

With TrueType, the font designer can choose a resolution up to 16768.
Resolutions equal to 2^ are faster than others.

(Which internal resolutions do Speedo, TrueType and OTL have? Is the
Bitstream format mentioned in [Kar92a] identical to the Speedo format?)

            10.7.4 Linear and optical scaling

Do we now have - with the description of the shape, a high internal
resolution and the hints - a scalable font? Sure not!

A font being designed for 16pt has a totally different shape as a doubled
8pt fonts (see Knuth: The METAFONT book; Kopka: LaTeX, [Kar92a] etc.). A
well designed font isn't lineary scalable.

In large fonts vertical lines are much thicker than the empty space between
them. But this information for optical scaling can be saved in a font too.

So a font, being 20 pixels high on the screen (this is usually a large font)
should look different to one being 20 pixels high on a laser printer (this
is a small font that should have small vertical lines).

The rest of this subsection was misunderstood by to many people. Anyway I
seem to be the only one thinking here's a problem. That may have (at least)
three causes:

        o I can't make you understand what I think
        o I'm a crazy mind
        o the problem's too complicated to make anyone even *see* a problem
          here

Well, let me (Stef: and me) start anew:

Vector formats make it possible for the font designer to decide a face may
look different in points or pixels below a specific size. For example it's
useful to make a face broader when used with a small size [Kar92a] -inde-
pendent from the printer's output quality.

So, let's display a small text in a window (e.g. with a size of 8pt). And
the font designer made this face look broader at 8pt or smaller.

Another window is used as a magnifier to get a doubled size (Almost any
Word processor has this function - Stef: really?)

This doubled view in the magnifier's window *should* be broader like the
8pt text, the WP's coder shouldn't have to take care about that.

But the coder has to use a size of 16pt in the magnifier's window - and now
the designer's decision (to make the face look broader from 8pt) is
ignored!

To solve this problem there are two ways:

   1. The coder sets two values for the size.
       - The linear size (16pt here)
       - The optical size
      But the font engine and the bindings have to be fixed to that.
      (it's my recommendation, no reality)
   2. The only method acutally possible to be done are the offscreen
      bitmaps handled by NVDI (when the EdDI cookie exists). When opening
      these workstations the logical pixel size has to be set. After that
      it can't be changed no more each optical scaled font size costs a
      lot of RAM. Especially for printing each (non standard-) optical
      scaled text has to be buffered as bitmap (either by the driver or
      the program itself; it depends on the GDOS release if the driver
      saves bitmaps). This bitmap can cost more than the user's (or
      his computer's) RAM.
   3. Another (not yet existing) possibility would be a free choice of of
      linear an optical scaling by v_getbitmap.
   4. The most simple way - there wouldn't be a buffer fo bitmaps
      needed - would be as follows:
      the logical pixel size can all physical and logical workstations.
      The scalers *can* handle different pixel sizes, so I think it
      wouldn't be difficulty to make NVDI and SpeedoGDOS handle this.

The problem with the magnifying window could be solved by using another
virtual workstation with logical pixels half as big. Both windows could
use the 8pt text then. Both windows would display this text as the font
designer wanted it to look like - and the magnifying window would display
the double size of the normal window.

If different optical scaling can be found in a document, the logical
pixel size has to be changed afterwards - or the linear and optical
scaling has to be set at the font size.

Did anyone get it? (Stef: Yeah, I'd like to get feedback too!)

      10.8 Format conversion of scalable fonts

From what I wrote above I hope you'll realize that converting a font from
one format to another is about as easy as converting a highly optimized
program from one language to another ...

Problems:

     o The only converting program I (Stefan) know for Atari
       is TypetoType fby Hasso Baudis, converting Type1 to CFN
     o There isn't any program on any platform that is accepted by the
       comp.fonts community (according to the comp.fonts FAQ)
     o For a program capable of converting fonts you'll pay a big
       amount of money. But even good programs need manual corrections.
       Looking for a PD or shareware program won't be
       successfull ...

    10 Printers

_______________________________________________________________________
|_Producer____________Printer___________________|Drivers Fitting______|
| NEC               |P6+,P7+,                   |NECP...              |
|___________________|P60,P70____________________|NB15_(FX...,NX1000)__|
|_HP________________|LaserJet_II________________|HP_LJET______________|
|_HP________________|DeskJet,_LaserJet_III,IV___|DESKJET_(HP_LJET)____|
|_CANON_____________|BJ10E______________________|BJ10_________________|
|_CANON_____________|LBP_4/8____________________|CANONLBP,_LBP________|
|_Mannesmann-Tally__|MT_90______________________|MT90_________________|
|_Epson_____________|Stylus_800_________________|STYLUS_______________|

Drivers in parantheses work but don't use the ability of the printer totally.
This means - for 24pin printers - that these are used in 9pin mode. At
HP compatible Laser  and Ink printers this means that the data isn't packed
though being supported by the printers.

Some Deskjet drivers are said to make problems. In this case try the
Laserjet driver. The printing takes longer then (due to more data) but
the problems should disappear.

The BJ10 drivers use the Proprinter emulation. Don't use them in the epson
mode!

The Stylus shouldn't be used with 24needle drivers. The needles overlap
(the ink dots of the stylus don't) and so the drivers just don't print some
dots.

The meaning of compatible normally is made by the producers of the
compatible printers.

Notes:

  o If You don't find your printer in the list and knows a fitting driver,
    please write me a note.
  o Try other drivers even if you have found one fitting to your printer.
  o Of course the FontGDOS drivers have a lot of problems with the memory.
    But the speed of'em is faster than the other (except Speedo ones).

    12 Programs

Nowadays it's obvious (but not usual) to use GDOS in every program.

The following list is limited to those using GDOS to print too.

_____________________________________________________________________________
Kind of Program______|Program______________|Distributor___________________|Sp|
Chart/Measureanalysis|Xact                 |SciLab                        |y |
                     |MM-Graph             |Overscan                      |  |
                     |Off-Axis             |ByTech                        |y |
                     |DATA_Professional 4  |Ralf Wirtz                    |  |
                     |MessPlot (Shareware) |Michael Siek (Shareware)      |y*|
                     |DPE                  |MAXON (Special disc)          |  |
                     |GRAPH                |Hans-C Ostendorf (Shareware)  |y |
_____________________|rho-Analyse__________|rhotron_GmbH__________________|y_|
Graphics             |Xact Draw            |SciLab                        |y |
                     |Kandinsky            |U. Rossgoderer (Shareware)    |y |
                     |TRIPLE_D             |U. Rossgoderer (Postcardware) |y*|
                     |Chagall              |Confect Corp.                 |y*|
                     |Easydraw             |MIGRAPH                       |  |
                     |TouchUp              |MIGRAPH                       |  |
                     |GEM-View             |D. Fiebelkorn (Shareware)     |y*|
                     |CHARLY_IMAGE         |Wilhelm_Mikroelektronik       |y*|
                     |STELLA               |Thomas Kuenneth               |y |
_____________________|Tarkus_______________|Eickmann_Computer_____________|y_|
Spreadsheet          |LDW Power Calc 2     |COMPI                         |  |
                     |K_Spread_4           |Omikron                       |  |
                     |Graal Calc 3         |Editions Profil               |  |
                     |Atari Works          |Atari Corp.                   |y |
                     |OPUS                 |Doug Harrison (PD)            |n |
_____________________|BASiChart____________|Dr.__Ackermann________________|y_|
Text/DTP             |Calligrapher         |Working Title                 |  |
                     |Wordflair II         |H3                            |  |
                     |Timeworks Publisher  |GST/H3                        |  |
                     |G&D Text II          |Hard & Soft                   |  |
                     |Cypress              |Sascha Luedemann              |  |
                     |Papyrus (Gold) S     |R.O.M.                        |y |
                     |Infinity             |ByTech GbR                    |  |
                     |Atari Works          |Atari Corp.                   |y |
                     |7Up                  |Michael Thaenitz (Shareware)  |y |
                     |Tempus Word          |                              |y |
                     |Gut'nberg            |BlowUp                        |y |
                     |JANE                 |DeltaLabs                     |y |
                     |QED                  |Quellenberg/Felsch (PD)       |y |
                     |1st Word Plus 4.1    |GST/ICP/COMPO                 |y |
_____________________|TWIST_3_Office_______|MAXON_________________________|y_|
Fax                  |Junior Office        |TKR                           |y |
                     |Tele Office          |TKR                           |y |
                     |Straight Fax!        |Toad Computer                 |y |
_____________________|CoMa_________________|SoftBaer Gbr__________________|y_|
Sim._of_dyn._Syst.___|Dynasys______________|Digital_Systems_&_Consulting__|__|
Text/List printing   |IdeaList             |Chr. Bartholme (Shareware)    |y |
_____________________|ProList______________|Richstein_&_Dick______________|y_|
Chem.__Displaying    |Monoklin  2.0        |MAXON (Special disc)          |  |
_____________________|Chemograph Plus______|DigiLab_______________________|__|
Circuitlayout        |Route iT! & Circu iT!|Think!                        |  |
_____________________|Platon_______________|VHS___________________________|y*|
Vektoriser___________|Convector_II_________|ZYN/TEAM-Computer_____________|__|
Hardcopy_____________|rhocopy______________|rhotron_______________________|__|
Disk-List-printers___|TreeView_2.4_________|Stephan_Gerle_________________|__|
Fraktals_____________|Fractals_IV__________|Harald+Martin_Hansen__________|__|
PS-Interpreter_______|Postman______________|SILICON_Technology_&_Promotion|__|
Concordance__________|Concordance__________|SPIRIT_WARE___________________|__|
Packershell_f.__MTOS_|MARC_4.0_____________|Think!________________________|y_|
Logikanalyser________|CLA_v2r1_____________|C._Graham_(Shareware)_________|y_|
Adress base__________|Pegasus______________|Pergamon Software_____________|y_|
Symbolic mathematics_|Solutions            |Elan Software                 |  |
_____________________|Riemann II___________|Richter Distributor___________|__|
Database_____________|Atari Works__________|Atari Corp.___________________|y_|
Notators_____________|MIDI File Printer____|ST PD-Disc 677 (Public Domain)|__|
CASE_Nassi Schneider.|UpToCase_____________|Michael_Nolte_________________|y_|
Invoicing____________|Kundendirektor_+_____|Michael_Kammerlander__________|y_|
Desktop______________|EASE_from_V.3.1______|ASH___________________________|__|
Games________________|Stello (Othello Game)|Claus_J._Petersen_____________|y_|

This list is no commercial. I'll include every program I get to know.
(Comment by the Translator: Sorry for mentioning Atari Works three times,
 but I wanted to keep the 'Text/DTP' and 'Spreadsheet' Chapters')

Notes:

  o Programs listed in the Speedo column with 'y*' support Speedo but don't
    use it - don't output text too.
  o Xact can print Speedo fonts without Speedo too.
  o FSM-GDOS is included in the Wordflair II package.
  o Platon only uses GDOS to make output of metafiles
  o I didn't make it to print via GDOS in OPUS.
    (I've been told, OPUS doesn't chose the fonts it can handle with,
     and doesn't print if even one of these fonts is installed. See 7.1 too)
  o Programs only printing via device 21 (like OPUS and CLA are out! (see
    16.2 too)
  o 7up only uses non proportional fonts (e.g. Monospace 821 from Speedo)
  o Tempus Word only supports Speedo Fonts but prints with its own drivers
    This seems to be due to the capablity of handling CFN and its own fonts
  o That's Write & 1st WordPlus 4 both can use Speedo fonts without
    Speedo. TW 4 will be able to use TTF and Type 1 without SpeedoGDOS
    (well, TW and the SpeedoGDOS 5.x font extension to TTF and Type 1
     is created by the same coders ...)
  o LDW-PowerCalc: MAXON lost the purchaser database. Ask COMPO for updates
    (Stef: hmm, it seems to be a German-only problem?)
  o Tarkus is a label printing program.
  o In 16.1.2 you'll find a list of programs working *only* with ABC-GDOS.

Kandinsky Version 1.73
ftp://ftp.cs.tu-berlin.de pub/atari/Graphic/kand173
(Version 1.74 is the actual one, though, note by Stefan;
Gerd: but not on any FTP-Server
Stef: Should anyone put it there?)

    13 Utilities

      13.1  fontfix

Problem: The font height is included wrong at some fonts. fontfix discovers
this error and corrights it.

In the Internet fontfix can be found here:

ftp://ftp.uni-muenster.de/pub/atari/Applications/Dtp/Fonts/Gdos
 ftp://ftp.cs.tu-berlin.de /pub/atari/utils

      13.2  Outline fonts

Outline Fonts Accessory by CJG

What for: This utility edits the EXTEND.SYS for SpeedoGDOS. This file
          contains a description of the volume from the Speedo caches, the
          fonts and the font-sizes. The caches can be saved to disc and loaded
          again from there too.
          A good done program except to the preset cache sizes fitted to
          FSM-GDOS not Speedo.

Filename: OUTLINE.PRG alias OUTLINE.ACC, 67644 Bytes
                                Speedo 5 49254 Bytes

Spread with SpeedoGDOS.

(Why doesn't Atari make it to make programs including a display of the
 version?
 Chris: Because Atari aren't in the computer business any more :-(
)

      13.3  Printer drivers

GDOS Devices Accessory by CJG

What for: To edit the ASSIGN.SYS

Filename:  DRIVERS.PRG alias DRIVERS.ACC, 64878 Bytes
                                Speedo 5  41592 Bytes

Before starting this program it's better to create a backup of the
ASSIGN.SYS!
The (at least) two reasons are the following:

1. The informations about the bitmap fonts are removed without comment.
2. ASSIGN.SYS is removed by a new one if 'Benutzereigen'-'Hinzufuegen' (in
   the German release) is selected wihtout any chance to get it back.
   (The English Version should have a Dialog like 'Own drivers' 'Add' or
   similar). To all coders: Don't copy that style!

If this utility should display no drivers sometimes simply start ASSIGN.PRG
(see next subsection)

DRIVERS.PRG/ACC only displays the Speedo drivers of my collection. Does
anybody know, how it does this? Even it doesn't display the Filename but a
name being included as string in the driver. How does one get there?

      13.4  ASSIGN

ASSIGN 1.0d is by Dirk Sabiwalsky (PD).
(Supplied with NVDI3?)

It tests three things:

   o Are there several fonts using the same ID and have different Names
     (Typefaces)?
   o Are there several fonts using the same ID and the same Pixelheight?
   o Are there several fonts with the same name (Typeface) and different
     IDs?

      13.5  FONTCHK

FONTCHK tests GDOS fonts if they have possible errors.

For example, it's spread with ProList.

      13.6  FONTCNV

Converts GDOS fonts from Motorola to Intel format.

Comes with ProList too.

      13.7  GEMFont

Fonteditor being able to read Signum- and PK (TeX)- Fonts too.

Internet:  ftp.tu-clausthal.de:pub/atari/systools/gdos/gemfo120.lzh

Use the chance to get a new unlzh or lhxarc.

      13.8  FontMonger

Converter and editor for different vector formats. Only works on IBMs or
MAC though.
(Chris: Does *not* work with Speedo fonts. We have a copy at work and
I've tried!)

      13.9  Font ID

Font-ID is a little freeware tool made by Frank Schneider. In a window it
displays the fonts installed with GDOS or SpeedoGDOS including the Font-ID
in different sizes. So you can get an overview when you don't have a program
with font selector/ID display function at the moment.

      13.10 X4U

Speedo fonts have much more glyphs than the ones displayed in the ASCII
charset. With this program by Peter Hellinger you can setup, which char is
to be used at which ASCII code. It's distributed by R.O.M.

Now a little story about this program (MausNet readers may remember):
R.O.M. logicware planned to put this tool on the SpeedoGDOS 4.2 disc too.
That didn't work, Peter used his Magic library (see subsection 14.3)
making the program too large. So R.O.M. sold it seperately for DM 25.-
what made Peter (often called ''Helli``) force a lawsuit (Stef: correct
translation?). Ulli Ramps got tired of this argument and set X4U's status to
PD, making Helli call his lawyer again (Stef: *sigh*)
(Hold the line, to be continued next subsection)

      13.11 Charmap

Charmap is Atari's original tool making the same as X4U, but only
developers got it.

But charmap is the name of Helli's newer-better-larger (Stef: that's my
note there) version of X4U, which is - at version number 0.9 - Freeware.
(To be continued)

      13.12 GDOS-Font

Filename: GFONT112.LZH
Shareware with limitations
GDOS-Font 1.12 (Aug. 22nd 1994) by Holger Weets@ol.maus.de
(Remember: when sending mail to any @maus.de user, no mail bigger than
16KB!)
Display and editing of GDOS fonts, including or removing them in the
ASSIGN.SYS! = Never more manually changing the ASSING.SYS, GDOSFONT does it for
you!
(Stef: This is the - translation of - the original FILE_ID.DIZ. Just to
note this, if you think it's a commercial <g>)

      13.13 REFONT

This Program converts Type-1 fonts between Mac- Unix- and Windows format and
TrueType fonts between Mac- and Windows. But no conversion from TT to T!
or vice
versa (Stef: :-/= )

      13.14 Arkus

Arkus is a font manager by Pergamon Software

But I didn't quite get the point, what this program may be used for. Can
you tell me?

    14 Font Selectors

We all know this useful thing about file selectors:
The Operating system soesn't only offer a file selector, it's got an interface
to use own file selectors in every application.

A scaled interface for FONT selectors doesn't exist, normally they're
offering their jobs by cookies. The work to make a program support font
selectors via cookies is much smaller than writing one for yourself. If there
wouldn't ... but let's take a look at the candidates first.

      14.1 UFSL

UFSL from Michael Thaenitz is freeware  and is allowed to be distributed with
any application. The last version is 0.97 from April 30th 1994.

Fonts (faces) and size can be selected comfartable. But I didn't get a face
displayed after selecting a free size.

Attributs are missing and the dialoge is only modal.

UFSL sadly isn't in development no more. But for further development of
an *unique* interface for font selectors, the sources are free!

      14.2 XUFSL

XUFSL 1.05 by Stefan Rogel is the one with most features - compared to
the other ones mentioned here. It even can handle Speedo 5 (and NVDI 3,
note by Stefan) too.

This selector looks great to me. The large amount of information is
handled very well with index cards. The flaw I noted (Popups to select
faces), doesn't disturb me as much as in release 1.03 (where the big
amount of popups were quite irritating).

All interesting informations about the face selected are shown, the
complete ASCII table can be requested.

My wishes would be:

- printing the ASCII table of the font selected
- access to the complete 16Bit charset

      14.3 Magic (from Peter Hellinger, *not* MagiC!)

This selector is part of Magic 4.00 from Peter Hellinger and not available
separately. Magic itself - NOT MagiC! the multitasking OS - can be copied
freely. But the information how to use it must be paid.

It's nice that this selector can be set in a non modal dialog, FlyDial or
normal dialog. Scrolling through the list is fast too.

Attributes aren't selectable and the size selection in the edit line isn't
acceptable the way it's done.

The selector only can be used when the event handling is completely done by
Magic, what makes the coder use a fixed code structure (working parts must be
rewritten, other things don't work anymore) and produces new errors.

      14.4 FontSel

FontSel from Holger Weets is totally cmpatible to UFSL for the programs.
It's small size and the selecteable attributes are a very nice feature.

Version 1.00 from May, 11th 1994 only shows the System Font when using
Speedo 5.0a.

      14.5 Minimum requirements

A Font selector should work with all OS-releases (TOS, MiNT, MultiTOS,
MagiC!, Geneva, MagiCMac, Janus, GEMulator Stef: uuh hard stuff for
coders <g>). Plus with every video hardware supported by the VDI and
should show each font available from every GDOS version. (Pixel fonts,
Speedo fonts, Type1 and TrueType).

      14.6 Characteristics liked to be seen

            14.6.1 Attributes and selection

Its quite complicated to make the user set further characteristics of fonts
in an extra dialog. So, at least the standard attributes (bold,
outlined, ...) should be directly made available. Well, this could cause
lotsa argues, but when using vector fonts, attributes are selected by
using another face of the font (bold, italic ...) and not enabling this
for bitmap fonts would be very inconsistent (Stef: It's great to have a
German<->English dictionary for computer related words <g>). If a program
doesn't support them they should be made invisilbe (Stef: or - as the
menu use - disabled).

Same with the skew angle.

Not every program can handle all fonts. According to this every program
must be able to set, which faces have to be invisible or disabled.
An example:
  Some programs (like 7up) only use non proportional fonts.
A further feature (but not exlusively, due to BASIC) it should be possible
to pipe a procedure variable to the selector setting the kind of displaying
for each face.

            14.6.2 Windows and event handling

It would be nice if the program could set the selector in a window or normal
dialog too. It can be done much easier and more flexible than in Magic.
The font selector opens a window in the calling program's name and gives back
the window handle to it. The application further handles the events and if one
is for the font selector's window it is passed to it via a procedure call. This
simple mechanism enables the use of multiple (system wide) selectors, colour
pickers (and more) distributed by different producers being in windows on the
screen the same time.

Once more:
  This parallel work only is possible when no selector uses
  its own evnt_multi loop.

Almost all utility coders want to make it the other way (and do so). So, let me
show you, what happens, when utilities make their own evnt_multi call and set
unhandled events to the application:

In this case there are several utilities for an application, all making the
evnt_multi call themselves. One of those utilities makes this call, can't work
with it and gets it to the application. And now? What should the app do with it?
It isn't able to get this event to other utils, but one of'em has to handle it.
But all utils won't take any events from the app ...

Due to this an app can use one (window) utility as maximum. If an app uses Magic
(by Peter Hellinger) it can't use *any* utility.

            14.6.3 misc

Finally an application should be able to set if it doesn't matter if a font is
proportional or not (the user can have displayed it if he really wants to).
When not using this information the call of a selector can happen much faster!

My favourite selector actually is the one of papyrus, but it only works in
papyrus (yet?) [ Stefan says: It's my favourite too ;-) ]

      14.7 About dialogs

This subtopic is quite off topic to this FAQ, but I think it fits here.
Take it as a note by me about Tim Oren [Ore85]

I was quite curious about why I like papyrus' font selector much more than
XUFSL 1.03. This one does include all features offered by the new
libraries. *And* it doesn't break any design rule I've read.
The thougts below are a common proposal, not only for XUFSL 1.03

So I'll try to write, what's disturbing me intuitively [hrrrgn, note by
Stef] And that's not about font selectors but about dialogs in common - but
fixed to a concrete example ...

The popups (with sliders) are, what's disturbing me most.

State-of-the-art user interfaces (Gerd writes "Benutzeroberflaechen", but
in German it's "Benutzungsoberflaechen", the first is the user's skin <g>)
offer selection instead of input (like those *'&" MS-DOS programs). To make
this possible, the selectable thing have to be visible at first sight.

Popups surely can't show everything. And if there are more of'em it's
impossible to take a short look, but one has to take a deeper check what's
available too. Plus one more mouse click to open the popup.

For the theory: Popups are modal parts in non modal (or worse: in modal)
dialogs and modal dialogs are quite interrupting (not only to the user!)

Popups don't fit to the ideas of intuitive user interfaces. I know you're
proud of using Popups (even with sliders) but please: don't use them if
possible.
(Note by stef: file selectors are soon not out of concurrence, there's a
new - non modal - one, released early '95! Looks nice, I recently got it.
FREEDOM 1.0 beta;
Note by Gerd: It uses a different mechanism than described above; it
needs an additional process
Stef: But the server - ''eating`` about 180KB of RAM - can be reloaded
      when needed and is ended after use; good thing)

    15 Distribution

      15.1  Atari

The drivers named with Atari are availabel from Atari.

This Package is available at Atari shops too.

No docs but for this price ...
 (That's the way in Germany - other countrys may differ!)

      15.2  BELA

The fonts named BELA were available from BELA

There were two disks with packed printer drivers and fonts for them.

The fonts DO have the same IDs like the ones from Atari, but the internal
font NAME is different. Due to this these fonts are correctly not accepted
by some programs if used with Atari fonts.

There's almost no documentation. Not even a hint about the one owning the
copyright for the drivers or about the author(s)

One last thing about BELA: R.I.P. ;-)

      15.3  Language

The driver named Language is spread on the language disc of the MegSTE

      15.4  Internet

The drivers signed with 'I' are to be found in the Internet.
For example: ftp://ftp.cs.tu-berlin.de/...

      15.5  Working Title

The WT drivers are spread with Calligrapher. They are (c)Working Title, the
wt driver are licensed by Working Title.

No drivers are on the Calligrapher DEMO-disc. The drivers coming with
Calligrapher-lite (DM15.-) are signed with CL in the tables.

Screen fonts are on both discs.

      15.6 XWindow System

There are PD Speedo fonts from Bitstream. These can be used with Speedo 4.2.
I (Gerd) have no problem using them (even the umlauts are correct)

To find them let Archie (see 11.12 FTP) search as follows:
set search sub
prog speedo-

The fonts
font0648.spd -bitstream-charter-medium-r-normal--0-0-0-0-p-0-iso8859-1
font0649.spd -bitstream-charter-medium-i-normal--0-0-0-0-p-0-iso8859-1
font0709.spd -bitstream-charter-bold-r-normal--0-0-0-0-p-0-iso8859-1
font0710.spd -bitstream-charter-bold-i-normal--0-0-0-0-p-0-iso8859-1
font0419.spd -bitstream-courier-medium-r-normal--0-0-0-0-m-0-iso8859-1
font0582.spd -bitstream-courier-medium-i-normal--0-0-0-0-m-0-iso8859-1
font0583.spd -bitstream-courier-bold-r-normal--0-0-0-0-m-0-iso8859-1
font0611.spd -bitstream-courier-bold-i-normal--0-0-0-0-m-0-iso8859-1

(Stef: These fonts have been spread to German BBS in one package, maybe
       one helpful soul got it to your next BBS? Some CD-ROMs have them
       too)

      15.7  COMPO

COMPO offer two Bitstream Speedo packets with 100 fonts each. One costs
DM99.- Their names are ''OFFICE`` and ''GOLD``
(At your own risk)
The Office pack is good value. The fonts are:

Futura (17) 		Humanist Slabs 712 (4)
Blackletter 686 (1) 	Americana (4)
Bernhard Modern (4) 	Caslon 540 (2)
Blippo (1) 		Bernhard Bold Condensed (1)
Bernhard Tango (1)      Balloon (3)
Bruce Old Style (2) 	Copperplate Gothic (5)
Bookman (2) 		Caslon Openface (1)
Caslon Bold (2)		Futura Black (1)
Compacta (6)		Humanist 970 (2)
Humanist 521 (11)	Aldine 721 (7)
Humanist 531 (3)	Bernhard Fashion (1)
Humanist 777 (7)	Caslon Old Face (3)
Aldine 401 (4)		Bitstream Amerigo (5)

Another package with 40 Speedo faces - called ''Intro`` costs DM69.-

Since some time COMPO also offers a CD-ROM with TrueType and Type1 fonts/faces.
These seem to be the same ones as on the StarType CD, but TrueType and Type1
on a single CD-ROM.
The price is DM99.-

      15.8  IMG-0300

This is a Freeware GDOS driver for monochrome IMG output. It can be used
as a normal printer driver (21-30 in the ASSIGN.SYS)

In the Internet:

 ftp://ftp.uni-muenster.de/pub/atari/Gdos

      15.9  FTP

Many students can get software worldwide via ftp. Prices for steady
connections are constant, but connections between America and Europe
have to be paid depending to the volume of data transferred.

Please try not to ftp across the big blue and use short ways.
Use transferring times not in the range of working at the server!
('9 to 5')

Files with known names can be found by Archie.

In Germany:
telnet archie.th-darmstadt.de
login: archie
help

In the US e.g.:
archie.ans.net

Archie will automatically display other archies. use the one thats' closest
to you.

The Archie databases ask about once each month one ftp server after the
other for freely available files

One more small hint: atari.archive.umich.edu ist always totally busy. Not
even mirroring to other servers helps.
Better connect to
    - amiga.archive.umich.edu
and type cd atari from there.
This computers have the same HD mounted. BUT: First search your own vicinity!

      15.11 SciLab

SciLab's GDOS drivers are not mentioned in the driver's tables though they
are very favourite - specially the colour drivers.

These drivers no langer can be ordered without a program. This is due to the
programs that lots of programs have when using the colour drivers. SciLab
would be blamed then.

You only can get these drivers by ordering a program from SciLab or making
the distributor (of the software you use) licensing those drivers. SciLab
always has 'an open ear' for that. Those are especially the Speedo capable
drivers for HP 600dpi and HP 500C/550C. Actually these are distributed with
Speedo 5 too.

      15.12 Star Division

Star Division sells two CD-ROMs (StarType) with 500 TrueType/Type1
fonts/faces. These are mostly complete packages of fonts.
One example:
 Zapf Humanist 601 is available as:

 o roman
 o italic
 o bold
 o bold italic
 o demi
 o demi italic
 o ultra
 o ultra italic

(Stef: and lotsa Swiss 721 ...)

A lot of Bitstream fonts are included. (e.g. Zapf Humanist 601 as noted above)
There are two ITC faces too. In Germany these two CDs are (at least)
available for DM69.- from Vobis. A booklet with a short overview is available
there too.

      15.12 Thierry Rodolfo

Thierry Rodolfo made the drivers with T.R. as note.
You'll find them in the BBS BRASIL and on
 ftp://hensa.micro.ac.uk/atari/tos/n/n196/...

MEMORY_2 can be found at:
 ftp://ftp.cs.tu-berlin.de/pub/atari/GDOS/

      15.13 Others

I don't make a choice of drivers. The limit is all of them. The authors (and
users) of the programs are asked now to write me, which GDOS drivers come
with the programs (With information of: Codelength, Date and known bugs).

A comparison of TrueType collection CDs is found in [Hil95]

Anyone using one of those low priced CD (500 faces for $9, DM15, #6) shouldn't
take care of Umlauts (Stef: I still recommend "vowels" for this ...), kerning or
a good looking print image. *Then* it's not ugly to use more than 20 fonts on a
poster (*sigh!*)

    16 GDOS Versions

      16.1 The ones from the bones

Atari-GDOS, AMCGDOS, ABCGDOS, NVDI and possibly G+Plus use the same drivers.

            16.1.1 Atari-GDOS 1.X and AMCGDOS

The Atari-GDOS is the father of each GDOS coming after it. It's most
remarkable character are lots of bugs and it's horrible slow speed. But
that's history.

AMCGDOS is faster and has less bugs. But it almost has the same capabilities
and was distributed together with Atari-GDOS.
(Stef: Atari GDOS 1.1 and AMCGDOS - 3.21 and newer tested - work with
MagiCMac)

            16.1.2 ABCGDOS

ABC-GDOS is included in ABC's GEMVDI.PRG. When using this GDOS an
expanded syntax has to be used for the ASSIGN.SYS:

 driver number    driver's file name  ;   technical info  ;
 icon text

The first '';`` makes other GDOS version ignore the further information
(commented part).

technical info: the driver's real name as available by vqt_devinfo with
SpeedoGDOS 7 4.2 or NVDI 7 3.0.

It only works with 68000 based Atari computers - I guess the interupt
level is manipulated (Stef: good coding ...)

ABC-GDOS is from The Netherlands and did spread almost not.

ABC ported some Digital Research programs to Atari computers. These
programs won't work with other GEM releases than 2.2 (ABC-GDOS). So I'll
note them only here:

WordChart, Graph, Paint and Draw

(Stef: hmm, seems to be no big loss <g>)

            16.1.3 G+Plus

Does anyone know anything about it?

(Chris: Yes I have some info around somewhere... It is just a GDOS 1.1
clone which runs faster. It also automatically switches the ASSIGN.SYS
settings depending on the program being run. A very old GDOS.)

      16.2 One step forward

Even though there was a very good GDOS in NVDI, Atari had an open ear to the
request of users and coders and tried to raise the capabilities of GDOS.

            16.2.1 FontGDOS 2.0

This is a GDOS still using bitmap fonts. It uses own drivers.

The drivers from this package are really much faster than the former ones.
(Only bitmap fonts and graphics are comparable of course)

I didn't have any problem using these with other GDOS versions but you must
limit to the old fonts.

FontGDOS is the follower of the Atari GDOS. Mainly it differs with the
Bezier function and faster (and color-able) drivers. It's got nothing to do
with FSM-GDOS or SpeedoGDOS.

FontGDOS is availabel from several companies which use it for their
programs.

            16.2.2 FSMGDOS 3.0

During the development of FontGDOS, Atari created a GDOS that can handle
vector fonts (named OTL in this FAQ). So FSMGDOS isn't a follower of FontGDOS,
but was developed the same time. FSMGOS practically was ready to be released
but due to massive protest by the developers it was cancelled in the last
moment. Except to bundles it never has been distributed officially.

the Imagen outline font format by QMS/Imagen Corp. was used

      16.3 Actual Developments

            16.3.1 SpeedoGDOS 4.0 and 4.1

See [Res92] too.

The information if it's a Speedo or bitmap font can be found in byte 33 of
the Fontname (vqt_name, INQUIRE FACE NAME AND INDEX, VDI 130). zero means
bitmap font and one means FSM- or Speedo font.

Some Problems are inportant to be mentioned:

A coder can't find out if a driver can handle Speedo fonts (see last
question in 10.3)

Some font IDs are used by bitmap  AND Speedo fonts, though different fonts
with similar IDs may never be installed the same time.

If you don't take care of this you'll get bombs.

It depends to the user to install the right drivers and fonts. The coder
can't help here to stop errors.

The best way is only to install bitmap fonts with the right drivers or to
use a Speedo only system.

The monospace font coming with SpeedoGDOS 4.0 has no umlauts (ae, oe, ue ...)

SpeedoGDOS is still in development, ignore the note in [Pru93c].

For installation and coding best is to refer to [Dic93a to c]
Remember starting NVDI before SpeedoGDOS in the AUTO-Folder!

The ones that bought Speedo got 4.0, the Falcon buyers got 4.1

            16.3.2 SpeedoGDOS 4.2

Let's see, what Ulli Ramps has to say:

Huhu! [TM]  (Stef: Ulli doesn't Huhu, he got bored of it)

The following is a list of changes made to SpeedoGDOS.

1) Line-A - Due to many requests from developers, SpeedoGDOS is now no
longer Line-A dependent.  All output is done through VDI calls.  This
was done to make Speedo compatible with various graphics cards, and to
make it more multi-tasking-friendly.  In addition, users should be
able to use various VDI replacements with GDOS.

Another benefit from removing the Line-A dependency is that we no lon-
ger have to worry about the scratch buffer used for algorithmic spe-
cial effects.  We have implemented the special effects inside of Spee-
doGDOS and the drivers, so that the user/program does not have to wor-
ry about the memory needed to accomodate arbitrary sized characters.
Unfortunately, this means that old drivers need to be relinked with
the new independent library (found in the new driver kit).

There are plusses and minuses of the new implementation of special
effects.   In many cases, the special effects will be slower.  With
all previous incarnations of GDOS, you could not use 'bolding' or
'skewing' at non-90 degree rotations; now both of these work at all
rotations.  On the other hand, 'lightening' used to work at all angles
and combinations of effects; now 'bold' mixed with 'lighten' only work
at 90 degree rotation angles.

Miscellaneous Note - When using special effects, many applications
have a hard time placing the cursor.  In both the v_gtext() call and
the v_ftext() call, the only cursor compensation to be made is for
bolding.  Bolding adds the thicken value to the number of pixels of
each character.  For rotated characters, note that the extra pixels
can be considered a vector along the positive x-axis which is rotated
at the same angle as the text and added to the advance vector;  there-
fore, the length of the text string should remain the same at any ang-
le.  This is true even when SpeedoGDOS generates characters on a scan-
line basis (when the character does not fit in the character cache),
although it does not implement the special effects.  Also, applica-
tions should watch for the case when they keep track of the cursor
position with vqt_advance() or vqt_width(), instead of vqt_extent() or
vqt_f_extent().  In versions prior to 4.2, the application could accu-
rately place the cursor by adding two pixels for every outline charac-
ter and by adding left and right skew offsets for a skewed string.
Now these effects are generated by the outline font engine, so the
application must either rely on the extent calls or it must inquire
for the advance vectors for characters that are skewed and/or outlined
separately.  For compatibility purposes, it is recommended that the
version number of SpeedoGDOS is checked so that programs can handle
both old and new characteristics.

2) Font ID's - Speedo font id's have been promoted to a higher range
of ID numbers.  This was introduced to avoid conflicts with bitmap
fonts and more importantly, with the system font (which conflicted
with a variation of Swiss 721).  For those applications which use the
usual interface with Speedo (i.e. use vqt_name() to find out what the
font ID's are), there should be no problem, except if documents have
font ID's embedded into formatting information.  Of course, all the
user has to do is substitute the font.  If the application actually
goes into the font file header to read the ID, note that we are adding
5000(decimal) to all Speedo font ID's.

3) Printer Driver Incompatibilities - Speedo will now check the prin-
ter driver it is trying to load for the '_FSM_HDR' cookie embedded in
the driver header information.  If GDOS does not find the cookie, it
will not allow the loading of any fonts; therefore, you can still use
your driver for non-text applications.  For future reference, please
be sure that the driver header begins on a word boundary for all dri-
vers to be used with this version and any future versions of GDOS.

4) Vst_load_fonts() - We have made two optimizations to the loading of
fonts.  The first is when a load_font call is made, GDOS checks the
date of the extend.sys file to see if it was modified since the last
load.  A reload used to be mandatory because a bigger scratch buffer
might have been required.  Since we no longer need a scratch buffer,
GDOS only checks to see if a change has been made to the list.

The second change is that GDOS no longer deallocates the global list
of fonts if there are no more workstations using GDOS fonts.  There-
fore, application launches will be faster.  On the other hand, the
miscellaneous cache never gets cleared of font header information,
unless a reboot happens.

5) Memory.sys - The memory driver used to mistakenly open a printer
handle.

6) vst_height() - Vst_height used to have a bug in which a maximum
point size is reached and then the size begins to shrink.  This is
fixed.

7) Postscript table - The Postscript table has been fixed (i.e. the
indexes were off by 32 for certain Postscript files).

8) Fixed vrt_copyfm() in the drivers.

9) When in 'bicsmode', character 0 was not passed through to the font
   engine. [Gerd: Speedo can use two different character sets for each
   font. Once sorted like a normal Atari font and once like a Bitstream
   font. When using the Bitstream mode, character 0 is space. That's why
   the recommendation to set a 16Bit char zero terminated (in [San94]) is
   wrong)

10) Negative point and set sizes - The handling of negative point and
set sizes has been made consistent with the original handling in
FSMGDOS.

11) The handling of fractional setsizes was incorrect in the drivers,
and is now fixed.

12) V_ftext() in the drivers can now handle the offsets passed into
the ptsin array.

13) Screen drivers can now safely load as device 10.

14) The memory driver can be loaded residently.

15) vqt_devinfo() - Vqt_devinfo() now returns information, whether or
not the device has been opened.  Furthermore, the device drivers name,
found in the driver header, is copied into the ptsout array;  the name
is 26 bytes long.  Note: if the driver is not SpeedoGDOS-compatible, a
null string is returned, and if there is an error, a -1 is returned in
ptsout[1].

16) vst_width() - A new call has been added to Speedo.  The call is
similar to vst_height() except that it sets the width.  The bindings
are identical except that the opcode is 231.  Note:  As with
vst_arbpt() and vst_setsize(), you must call the general call (i.e.
vst_arbpt() or vst_height()) before using the width calls (i.e.
vst_setsize() and vst_width()).  In addition, the general calls always
reset the widths.

Miscellaneous Note:  Although these have been published before, many
requests have come in for the SpeedoGDOS error codes.  Here they are:
Code    1       Out of memory
        2       File open
        3       File read
        4       File write
        5       Speedo engine error
        6       Character too large (not used, defaults to line output)
        7       No room for scratch buffer
        8       Character cache error
        255     Miscellaneous
These errors are placed in the error code address that applications
should provide.  Note that if you have MultiTOS installed, GDOS will
report the error to Salert, the system alert box.  A revision of the
error handling is overdue, since some of the errors are no longer re-
levant (e.g. code 6), and error code 5 is returned for the lack of
availability for pair and track kerning (in addition to the serious
errors).

Well, again a big thank you to Ulli!

Now it's me again:

The Installation program for Speedo 4.2 had a small bug yet. If a NEC P
printer is selected, NEC_P.SYS ist written into ASSIGN.SYS. But the
distributed driver hat NECP.SYS as filename. R.O.M. fixed that.

            16.3.3 SpeedoGDOS 5.0

SpeedoGDOS 5.0 was developed by COMPO/no!software using the sources by
Atari.
More than Speedo 4.x it can scale TrueType and Type 1 (see 7.2). Price:
DM129.-
(at your own risc)

Now 9 printer drivers are included - the additional ones. Speedo 5.0 is an
upgrade, so you have the other drivers. But: Which are the old divers? The
ones before Speedo 4.1 don't work (and only falcon users have 4.1; the ones
who bought Speedo from COMPO in the beginning only got 4.0)

So I at once printed a text using Speedo 5.0, NECP.SYS (Speedo 4.2) and
ProList. And? Surprise! It works. That's really astounding because ProList
and my own program (see 2) had problems with this driver and Speedo 4.2.

Using the drivers of Speedo 4.0 at least shouldn't work due to the changed
jobs of Speedo 4.2 and the drivers.
(Could anyone test Speedo 4.1 drivers with Speedo 5.0? I don't quite believe
this works)

Here's how I think an upgrade works (be careful satire)

===================
User:   Dear Mr. Compo [...] but my Speedo 4.0 drivers don't work any more.

COMPO:  ... best wishes to your decision ... BUT: Speedo 4.2 isn't an
        official release. It's especially made for papyrus and not useful
        for other programs. On the other hand...though...seen from a
        different point...maybe...possibly...Finally you need the drivers
        from Speedo 4.2. But we don't distribute them. Ask R.O.M. about
        it ...

[later]

USER:   Dear Mr. R.O.M., ...I'd like to get a downgrade, free of course.

R.O.M.: ...don't work...our own costs...bla...etc...better wait for NVDI
        3.0, we certainly can put you on the list.

User:   "'$&"'$/(!'&!^#
====================

Well, *I'm* full of anticipation how users that only had Speedo 4.0 will be
able to make printouts.

Versions of Speedo 5.0 until now:

5.0a (Aug. 3rd 1994)
First release

5.0b (Aug. 8th 1994)
From now T1 & TT font loading works faster.

Known Bug: After calling vqt_headerinfo() the files arent' closed again.
Whe using programs making this with all fonts there maybe can be no more
filehandles (the amount of them differs from one TOS release to another).

Since Speedo 4.2 the 'outlined' attribute only works in special conditions.
It depends on the font used, the SpeedoGDOS version, the point size ... and
which Mantra's are mumbled at full moon.

5.0c (Aug. ? 1994)
From here LOWMEM=0 works like noted in the manual.

Now LOWMEM=0 works as stated in the manual.

            16.3.4 NVDI up to V2.51

These releases were made of very fast screen drivers and a very fast GDOS.
Compared to Atari-GDOS, NVDI had almost no bugs. But there functions weren't
almost any more functions.

The use of this release is still *very* useful for those
working with SpeedoGDOS 5.0, which doesnt' have a faster VDI ...

            16.3.5 NVDI 3.0

From 3.0 NVDI is capable of scaling Speedo and TrueType fonts. Different
from SpeedoGDOS it can't scale Type1. The Behne brothers (correctly!) say
this format has least capabilities and only would blow up NVDI. But lots of
special fonts are only available as Type1 and I could use some of them.
But since the existence of Multiple Master fonts (see 7.3.5) I don't think
the decision was that good ...

A (by principle very good) conversion of the formats is possible but very
difficulty (see chapter 7.4) and no Atari program doing this exists yet. So
the Behne's decision has advantages and flaws.

NVDI's printer drivers are found in 6.8.3

bugs and problems (I know about):

 o All released versions of NVDI ignore the pixel size relation. (aspect ratio)
   for output of circles and ellipses.
 o when calling v_clswrk after vqt_devinfo to a physical workstation creates a
   privilege violation when using MultiTOS. With NVDI 3.02 we'll get rid of this
   bug
 o The character mapping isn't compatible to SpeedoGDOS 5.0
 o There's no alert when you try to install NVDI (release before November '94)
   on a full (hard)disk.
 o You'll get a memory violation when using the cache CPX with MTOS. Again, wait
   for NVDI 3.02.
 o Output of rotated text doesn't work with some fonts (e.g. MONACO08.FNT), the
   chars are always set to 0 degrees.
   And bitmap fonts with 8pt or less aren't light when this attribute is set.
   This happened when using the monochrome driver and the 8pt system font; not
   woth other fonts or bit depths. Fixed since Nov. 10th '94
 o vqt_fontheader get's an incorrect TDF path.
 o Track kerning doesn't have effect.
 o When a skew angle is set, vector character's positions aren't located
   correctly. Once a skew angle is set the text is moved to the left or right
   (depends on the skew angle - positive or negative). This doesn't happen with
   SpeedoGDOS. Will be fixed with NVDI 3.02

Coder's documentation: [Beh95]

      16.4 Comments

Users and coders should be happy with the speed of development. Even the
numbers of font format included in the programs doesn't have anything
comparable on any other platform.

The time between the releases of SpeedoGDOS 5.0a to 5.0c - making one think
there wasn't much of betatesting - doesn't satisfy a lot but, on the other
hand it's nice to see that the competition by NVDI 3.0 makes the developers
hurry.

SpeedoGDOS 5.0 creates problems in some applications that worked perfectly
with Speedo 4.x. This may be due to the negative handles that 5.0 uses for
the new formats. That's not a bug, because one shouldn't calculate with
handles. But some apps do it though.
The coming workaround is the interpretation of handles as unsigned integer
(SHORTCARD).

For coders the manuals coming with SpeedoGDOS 5 and NVDI 3 are only a bad
joke. Even simple user's questions aren't answered:
TrueType (and Type1 with SpeedoGDOS) are handled. But these fonts are
created in platform specific formats. Which ones are handled and what files
with what extensions are needed? Without this information both programs
aren't very useful.

A ''beta`` of the coder's docs for NVDI 3 is Public Domain and available
by ftp or from BBS's [Beh95]. COMPO promised the same for SpeedoGDOS 5.

A provisional coder documentation is free on request when updating to
SpeedoGDOS 5. You only have to *know* that it's possible. Sorry for this
late information but I didn't know this before too. It's still available
(for three Deutschmark in Germany by sending a stamped envelope addressed
to yourself). It's 90% Englisch and 10% German, so it's sent to foreign
countries too (Stef: try your country's COMPO dealer?)

Here some more differences between NVDI 3 and SpeedoGDOS 5. Get your own
clues.

   o The driver's concept
     A real plus for NVDI 3. They're small, fast and
     easy to be configured by the user. But they're not able to print with
     colours yet! And setups aren't to be copied, due to everything set in
     one file.
   o Print to files
     NVDI drivers can print in a file and the program won't
     notice this (SpeedoGDOS can't)
   o Need of RAM.
     NVDI 3 needs about as much RAM as SpeedoGDOS 5 and NVDI 2.5 (when using the
     same cache sizes with both GDOS versions)
   o Installation
     NVDI 3 is begginer-friendly to install BUT: Everything
     having the same name as a file to be saved is overwritten without any
     request to the user: META.SYS and the old Screen drivers. This makes
     different configurations for testing quite difficulty.
     But this may be more interesting to coders (and freaks) and they'll be able
     to rename the old folders before, aren't they ?-)
     Only since November '94 there's an alert when there's not enough disc space
     for NVDI 3.0
   o VDI Speed
     NVDI 3 is a bit faster than SpeedoGDOS 5 and NVDI 2.5, which is
     much faster than SpeedoGDOS 5 without NVDI. But SpeedoGDOS 5 and
     NVDI 2.5 can be enough. This combination is about as fast as NVDI 3 when
     the fonts used fit into the caches.
   o Scaler Speed
     Both scalers are the same. Don't look here, why SpeedoGDOS is slower.
   o Bugs
     Current changes here. I don't know, who actually has more bugs.
   o Number of font formats
     Only SpeedoGDOS has Type1 capability. Some of those fonts are very
     expensive, but there are special fonts not available in other formats.
   o The font's concept
     Insiders are fascinated by NVDI's font concept. But you won't get the
     documentation for "normal coders" from the Behnes. Did'nt even
     Microsoft lose a t court for such actions?
     (Stef: I guess the concept is close to Bitstream's recommendations
     (font suitcases and more). And Bitstream's docs aren't free too. I
     talked with the Behnes at the ProTOS fair about it)
   o Via cookie NVDI claims to be like SpeedoGDOS 5.0, but (obviously) it isn't.
     But SpeedoGDOS 5.0 isn't SpeedoGDOS compatible too. Huh? You ask why? Well:
     There are several versions of SpeedoGDOS 5 (with different
     functions/opcodes) and none is documented. Even worse:
     Some SpeedoGDOS Version have some experimental functions which aren't
     allowed to be used. In the past functions *always* were documented that
     it's allowed to call VDI function to check their existence.
     (Chris: Aaarrrrgggghhhh!)

    17 Source

Being a developer it's possible to get an almost complete printer driver in
object code. This one only must be adapted to the special printer.

This package is available for GDOS and SpeedoGDOS.

    18 Tips'n Tricks for users

      18.1 Pixeltrash at printing

Printing graphics on a NEC P6+ (maybe other printers too) including a lot of
black in a line I often had the problem that one line was left out (Speedo-
drivers NB15, NECP) or two lines were printed displaced in one line (Speedo-
drivers FX80, NX1000).

This happens when printing directly and via CENSPEED. When using VARSPOOL
this effect is gone.

VARSPOOL can be found on the driver disk of the NEC-printers.

      18.2 NEC P6+

Once in a while a NEC P6+ will get noisy (rrrrrrrrrrraattatatattaa).
When You open the front you'll see a round stick (about 1cm thick).
Put two drops of sewing machine oil on it each year (you'll get it from
Mom)

      18.3 HP Deskjet 550C, 560C and Deskwriter 510, 520

These printers have a hardware error in the series produced between June
93 and March 94: From time to time the pinch rollers don't work.
Registered users get ''bug fixing`` parts ...

      18.4 Overwritten Speedo faces

Sometimes Speedo writes in face files producing interesting effects. To fix
this I have a second order besides GEMSYS filled with the Speedo faces on my
harddisk. If I get strange effects again I copy these files to the GEMSYS
folder. The almost fixes it in most cases.

    19 Tips'n Tricks for coders

      19.1 Fontsize and Pixelsize

Here are my experiences with GDOS and WYSIWYG. Credits to Ulrich Rossgoderer
for confirming these.

It's about the output of vector graphics and text on screen and printer.

The size of text is defined in point and is always the same - independent
from the resolution of the output device.

Different are vector graphics: they have to be recalculated in pixels before
the output. Should be no problem because when opening a virtual/physical
workstation You get the pixel size in micrometers in devParm[3] and
devParm[4].

Let's assume the vector graphic is saved internally in micrometers, then the
definition points at the output simply have to be divided by devParm[3] or
devParm[4] to get the position in pixels. When doing the output in windows
an offset has to be added. but thats not relevant here.

So far for the theory being quite simple so to this point (see [Gar93]).
Now for the practice.

As described above we output a text and a border - saved internally as
vector graphic. It doesn't matter here if the text is a Speedo or bitmap font.
To have a better chance to compare the border exactly surrounds the text.

Doing this I got the following experineces: The text exactly filling the
border on the screen (ST-high) is - when printed - much too small compared
to the border.

An error in the recalculation of the pixelsize can't be the problem, because
I made the printing with the drivers NB15, NECP, FX80, NX1000 and the results
are the same.

I have only one explanation for this: The screen driver supposes a different
resolution for the pixel size than for the font size.

Two solutions I can offer:

First you can use another pixel size on the screen than the one given from
the operating system. After opening the virtual workstation (and ONLY
this one!) I calculated
devParm[3] := 282
devParm[4] := 282
and with this parameter I made the recalculation from micrometers in pixels.
Now the relation from graphic to text on  screen and print-out is exactly
the same. But now a DIN A4 page doesn't fit on the screen in it's width.
The numbers are found by me the experimental way and possibly can be
optimised

Another solution may be this: Use a smaller font size for the screen (and
ONLY there!) by multiplicating the size with 72/96. This is simple with
Speedo fonts because the size in points can be defined by almost endless
values behind the point. Using bitmap fonts this won't work due to not
having a screen font in the 72/96ish size for every printer font.
(Stef: Difficulty to translate this, sorry)

This method surely is to be midified for ST-Mid and other resolutions.

From Wilfried Behne (Half NVDI ...) SpeedoGDOS ignores the devParm[3]
and [4] - values of the screen drivers. The values of physical workstations
ARE taken.

      19.2 Selecting drivers

When testing several GDOS programs I found out, that some coders have
problems
with the following reasons:

Users can freely assign drivers in the ASSIGN.SYS.
There may be a setup like

          23 FX80.SYS
          27 NECP.SYS
          28 NB15.SYS
          31 META.SYS
          61 MEMORY.SYS

How may a coder find out which drivers are installed (and ready)? Even
though there's no Printer 21?
Quite easy: When the program supports printers ALL drivers from 21 to 30 are
to be opened and closed again at once. An installed driver gives back a
devicehandle >0 when being opened. vf_devinfo gives back correct values when
a driver is opened.

Do the same thing with drivers 61 to 70 when MEMORY drivers are supported.

The ASSIGN.SYS as printed above is very useful. That's because the NEC P
printers support all these drivers and print in different resolutions.

      19.3 The Metafile format

If been asked to count, what i don't know about Metafiles 8-)))

By the idea the Metafile format is quite simple. It's a recording of VDI
calls (including parameters) made by a program.

A program making it's output via GDOS will open a Metafile driver instead
of a printer driver (see 6.8) and the output will get there just as if
it were a printer.

A Metafile reading program recreates this recording.

But the simplicity of this format is one of the biggest problems of
metafiles because different GDOS releases exist and different drivers
with different capabilities. So, one programs makes output being understood
by the GDOS actually installed. When this Metafile is read by a program
running under a different GDOS with less or different capabilities, how
can the recording be recreated?

Concrete examples:
The length of ptsin and intin fields is limited (different for different
drivers) usually. The Metafile driver can handle this in another way.
This can have influence to text output, poly line & marker, filled area
and more ...

Next problem:
A font face not available on the output system is used. I which way another
(most similar) face has to be requested by the program making the output?

At this point, this is a problem to be handled by the coders of the
reading graphics programs (who willknow, what they're doing).

But when writing a metafile header you have to know, what you're doing. I
don't but I'll give it a try ;-)

The resolution set for a metafile is a decision of the application. If
there's no resolution set, 300dpi are used. That's a pixel width of 0.085mm

(Stef: that's not a pentium calculation, but *where* are 300dpi equal to 85
micrometers? On a 72dpi SM124?
Gerd: everywhere)

Screen drivers are only capable of handling raster coordinates. For
metafile output the same routines are used, so I'll limit the next info to
raster coordinates (even though metafile can handle NDC's). Those
coordinates are defined from upper left to lower right.

To define a system of coordinates, metafile do this:

  o  (W)idth and (H)eight are set in millimeters (mm) via vm_pagesize.
     That's the (positive) difference beetween the lower right and upper
     left corner (which doesn't have to be in the origin)
  o  The rectangle (xmin, ymin, xmax and ymax) is defined in pixels via
     vm_coords. The way to calculate this rect. is found below.
  o  Here inside another rectangle is defined in pixels via v_meta_extents.
     It's got nothing to do with the system, the MF reading application
     get's info how to clip (what doesn't *have* to be done!)
     Note: papyrus doesn't clip; kandinsky does, but it moves the graphic
           to the lower right a bit making miss a bit of it on the screen.
           So it could be useful to set the size for v_meta_extents a bit
           larger than the one for vm_coords.

This way the system of coordinates, the resolution (width and height of a
system) has a fixed definition.

But the veriables set aren't the ones an application usually calculates
with.
Here's an example what's to do, when the application knows the resolution
wished (in dpi), the upper left (X1,Y1) and the lower right dot in tenths
of a millimeter (or a multiple of it).

Here's how to get the width and height of a pixel by the resolution:

                                                  25400
(Pixel height in tenths of a millimeter) = --------------------
                                           vertical res. in dpi

                                                    25400
(Pixel width in tenths of a millimeter)  = ----------------------
                                           horizontal res. in dpi

(W)idth and (H)eight (in millimeters) are needed for vm_pagesize:

W = (X2 - X1 + 1) * (Pixelwidth in 1/10mm)
H = (Y2 - X1 + 1) * (Pixelheight in 1/10mm)

xmin, ymin, xmax and ymax (in pixels) are needed for vm_coords:

              X1
xmin= --------------------
      Pixelwidth in 1/10mm

              Y1
ymin= ---------------------
      Pixelheight in 1/10mm

              X2
xmax= --------------------
      Pixelwidth in 1/10mm

              Y2
ymax= ---------------------
      Pixelheight in 1/10mm

v_meta_extents is found the same way as vm_coords. To make Kandinsky
display everything, xmin & ymin can be set smaller and xmax & ymax larger.

Before making any output into a MF, first set the system of coordinates.

(In the early past I noticed, that my desriptions are that good, that even
I understood them <g> [Stef:I hope the translation is that good too])

Further informations:
Ulrich Rossgoderer coordinates a list of further informations to put
in a MF via v_write_meta (See version 2.4 of this FAQ). The Profibuch
[Jan92] the Atari Compendium [San94] and the standard book "Ueber
FIleformate [Bor94] contain further information. And every literature
about VDI calls is helpful, too.

    20 Expanded Sub opcodes for metafiles

Metafiles have one important predicate: The reading application has to
ignore unknown calls. But it can use any sub codes that can be written in
a metafile by v_write_meta.

The information of this chapter once was created to be a standard, but,
well it didn't get to be. Maybe it wasn't the time for it there were no
SpeedoGDOS and no media to promote it.

The definition following now should at least be supported for *not* using
sub opcodes for any other purpose. If *any* program uses this definition
please send me information!!!!!!!!!!!!!!

Here's an extract from the KandinskY manual:
-----------------
Kandinsky uses the *.GEM format to save and load drawings - as noted
several times before (i.e. the Metafile format).

This format can be (compatibly) expanded almost without any limit using
user defined sub opcodes.

KandinskY uses some special sub opcodes, e.g. to save and restore fine
grey scale setting, window positions and more. Besides sub opcodes I know
are supported.

KandinskY's saving routines are coded in a way not recommending that
another Program - loading a drawing created with KandinskY - doesn't
*have* to understand these sub opcodes. There shouldn't be any difference
in the display then. Problems can occur if a program makes a wrong
interpretation of a sub opcode. That's because of value overlapping (sp?)

So, if you dear reader use your own sub opcodes too:
It would be great sending me (Ulrich Rossgoderer) a short description of
them. Because the use of the extension only makes sense if sub opcodes of
the same value are interpreted the same way by any meta file using
program. I have a list in mind describing any used sub opcode with their
meaning (like the XBRA list).

Refer to the Profibuch [Jan92] for more information about sub opcodes.
They're mentioned in the chapter about VDI OS routines. Take a special
look at the v_write_meta which is used to write sub opcodes into a meta
file.

      20.1  Supported sub obcodes

First here's a short overview about supported sub opcodes . Table 1 lists
the names offered, their obligatory values the their results.

_____________________________________________________________
|_Name_______________|value|short decription________________|
| GEM_START_GROUP    | 10  |Group begin                     |
|_GEM_END_GROUP______|_11__|Group end_______________________|
|_GEM_NO_LINE_STYLE__|_49__|Switch off any line style_______|
| GEM_START_SHADOW   | 50  |Object shdow begin              |
|_GEM_END_SHADOW_____|_51__|Shadow's end____________________|
| GEM_START_FILL     | 80  |Filled plane begin              |
|_GEM_END_FILL_______|_81__|Filled plane end________________|
| GEM_START_BGIF     | 170 |BGI vector text begin           |
|_GEM_END_BGIF_______|_171_|BGI vector text end_____________|
| GEM_WIND           | 190 |Window position, Zoom value etc.|
| GEM_GRID           | 191 |Raster settings                 |
|_GEM_ALIGN__________|_192_|Reference object's informations_|
| GEM_START_GREY     | 193 |Gray value begin                |
|_GEM_END_GREY_______|_194_|End of it_______________________|
| GEM_START_BEZIER   | 195 |Bezier begin                    |
|_GEM_END_BEZIER_____|_196_|End of it_______________________|
| GEM_START_JOIN     | 197 |Following blocks are one unit   |
|_GEM_END_JOIN_______|_198_|... from here no more___________|

                   Table 1: Sub-Opcode overview

The next subsections are a drscription of the functions listed here.

      20.2  group information

GEM_START_GROUP marks the beginning of a group, i.e. a couple of objects
belonging together. Their end is marked by GEM_END_GROUP

      20.3  object shadow

The VDI calls between GEM_START_SHADOW and GEM_END_SHADOW are used to set
are used to draw a shadow for the first object *after* GEM_END_SHADOW.

      20.4  filling area

Borders around VDI planes aren't always drawn correctly. That's the
reason for the existence of GEM_START_FILL AND GEM_END_FILL.
All VDI calls included are used to draw a filled plane with or without
border.

As a description the drawing of a polygon with shadow and border is made
step-by-step here:

   o GEM_START_FILL
   o GEM_START_SHADOW
   o Setting filling attributes for the shadow
   o v_fillarea(...) offset by dx and
   o GEM_END_SHADOW
   o Setting of filling attributes for the plane
   o v_fillarea(...)
   o Setting of line attributes for the border
   o v_pline(...)
   o GEM_END_FILL

      20.5  vector text

GEM_START_BGIF starts text output with BGI vector charset. Here are
the functions of the VDI arrays:

        ____________________________________________________
        | intin[0]      GEM_START_BGIF                     |
        | intin[1]      0:  not proportional               |
        | intin[2...10] Name, z.B. EURO: intin[2] = 69 ... |
        |_intin[11...]__Text with zero at the end__________|
        | ptsin[0]      The text's x-coordinate (in 1/10mm)|
        | ptsin[1]      The text's y-coordinate (in 1/10mm)|
        | ptsin[2]      Letter width            (in 1/10mm)|
        | ptsin[3]      Letter height           (in 1/10mm)|
        |_ptsin[4]______Rotation______(in 1/10 of a degree)|

The v_pline(...) calls before GEM_END_BGIF are set if a program can't
make use of these sub opcodes needed to display text.

      20.6  window settings

            20.6.1 window position

GEM_WIND sets position, magnification value and format of a window.

          ______________________________________________
          | intin[0]  GEM_WIND                         |
          | intin[1]  The window's x-Position in pixels|
          | intin[2]  The window's y-position in pixels|
          | intin[3]  Window's width          in pixels|
          | intin[4]  Window's height         in pixels|
          | intin[5]  Slider's x-position     in pixels|
          | intin[6]  Slider's y-position     in pixels|
          | intin[7]  Zooming value          in percent|
          |_intin[8]__0:_vert. format,_1:hor. format___|
          |_ptsin[...]_no entries______________________|

            20.6.2 raster setups

GEM_GRID permanently saves a window's raster setup.

      __________________________________________________
      | intin[0]  GEM_GRID                             |
      | intin[1]  0:  Raster inaktive                  |
      | intin[2]  0:  don't draw raster                |
      | intin[3]  Rasters' width             in 1/10mm |
      | intin[4]  Raster's height            in 1/10mm |
      | intin[5]  help line's hor. distance  in 1/10mm |
      | intin[6]  help line's vert. distance in 1/10mm |
      |_intin[7]__0:__help lines_,_else:_help_dots_____|
      |_ptsin[:::]_no_entries__________________________|

            20.6.3 reference object

GEM_ALIGN describes the reference object

       __________________________________________________
       | intin[0]  GEM_ALIGN                            |
       | intin[1]  0:  don't show reference object (RO) |
       | intin[2]  RO's x-coordinate          in 1/10mm |
       | intin[3]  RO's y-coordinate          in 1/10mm |
       | intin[4]  RO's width                 in 1/10mm |
       |_intin[5]__RO's height________________in_1/10mm_|
       |_ptsin[:::]_no entries__________________________|

      20.7  gray scales

Here are the calls to set a gray scale for to fill an object. Values
between zero to 255 (white to black) are possible.

                  _______________________________
                  | intin[0]  GEM_START_GREY    |
                  |_intin[1]__Gray scale, 0-255_|
                  |_ptsin[...]_no etries________|

A user defined pattern with the gray scale set is set between
GEM_START_GREY and GEM_END_GREY. Again they're only set for programs
unable to handle these sub opcodes.

      20.8 beziers

A bezier is defined with GEM_START_BEZIER. All informations are found in
the intin and ptsin fields.

__________________________________________________________
| intin[0]            GEM_START_BEZIER                   |
| intin[1]            recursion's depth <5!!             |
| intin[2..2n + 2 - 1] anchor point's attributes         |
|                     corner:                  Bit 0 set |
|                     moves:                   Bit 1 set |
|                     visible:                 Bit 2 set |
|_____________________Line_instead of bezier:__Bit_3_set_|
| ptsin[0..4n - 1]    The n bezier segment's coordinates |
|_____________________four points each___________________|

Guess what? Yeah, the v_pline calls until GEM_END_BEZIER is set draw a
polygon for programs unable to handle these sub opcodes (Stef: hmmm, good
thing to think of those old fashioned programs <g>)

      20.9 VDI block summarizing

To save more coordinates than allowed by the metafile driver
GEM_START_JOIN is used. If KandinskY discovers this sub opcode, the ptsin
fields between ..START.. and ..END.. are used to summarize the following
VDI blocks to a large field

        _______________________________________
        | intin[0]  GEM_START_JOIN            |
        |_intin[1]__total of coordinate pairs_|
        |_ptsin[...]_no entries_______________|

This definition can be used - besides v_pline, v_fillarea and v_pmarker -
for v_gtext, v_justified and v_ftext too yet.
Text longer than one line can be saved this way too. The following
definition is used then:

        ______________________________________________
        | intin[0]  GEM_START_JOIN                   |
        | intin[1]  value of following v_gtext calls |
        |___________(one each line)__________________|
        |_ptsin[...]_no entries______________________|

The first VDI output call following GEM_START_JOIN is used to mark this
further definition of intin[1].
---------------------------

Well, so much for this extract of KandinskY's manual.

       21 Addresses

( Lot's of stuff is available from the friendly Atari dealer 'around the
corner ;-/ )

(Note: All addresses are German ones - except when marked!)

Application Systems Heidelberg (ASH)
Postfach 102646 * 69016 Heidelberg
Tel.: +49 6221 300002

ATARI (Europe)
Postbus 70 * NL-4130 EB Vianen * The Netherlands

Behne & Behne Systemsoftware GbR
Lindenkamp 2 * 31515 Wunstorf
Tel./Fax.: +49 5031 8629

BELA Computer GmbH: R.I.P.

ByTech GbR
Detlef Kuhl, Frank Hieronymi
Bismarckstrasse 88 * 10627 Berlin
Tel.: +49 30 3134258

Gerd Castan
Hoehbergstr. 16 * 70327 Stuttgart
G.Castan@physik.uni-stuttgart.de

COMPO Software GmbH
Ritzstrasse 13 * Postfach 1051 * 54591 Pruem
Tel.: +49 6551 6067

DigiLab GmbH
Posener Str. 18 * 24161 Daenischhagen

DigitalDesktop (DDT) Is a dealers community
Addresses are to be found in Atari-magazines
(Stef: Does this community still exist???)

Digital Systems & Consulting
Soester Str. 306 * 59071 Hamm
Tel.: +49 2381 889413; Fax.: +49 2381 889812

Stefan Damerau
Bergholm 31 * 24857 Fahrdorf
cookie@cookie.syd.de

Elan Software
550 Charest Est
P.O.Box 30232
Quebec, G1K 8Y2
Canada
Voice: (418) 692-0565; Fax: (418) 683-9189     CANADA!!!

Dieter Fiebelkorn
Gruener Weg 29a * D-45768 Marl-Brassert

Stephan Gerle
Ruthstrasse 8 * 44149 Dortmund

H3 Systems
Haeusserstrasse 44 * 69115 Heidelberg
Tel.: +49 6221 164031; Fax.: +49 6221 184541

Harald und Martin Hansen
Weserstrasse 82 * 12059 Berlin

Hard & Soft
Obere Muensterstr. 33-35 * 44575 Castrop-Rauxel
Tel.: +49 2305 18014; Fax.: +49 2305 32463

ICP GmbH & Co.KG
Leserservice TOS * Innere-Cramer-Klett-Strasse 6 * 90403 Nuernberg 1

Konfect Corp.  Vertriebsbuero A-D-CH
Postfach 1113 * D-63797 Kleinostheim
Tel.  +49 6027 99941; Fax +49 6027 99942

MAXON Computer GmbH
Schwalbacher Strae 52 * 65734 Eschborn
Tel.: +49 6196 481811

Migraph Inc.
32700 Pacific Highway S.
Suite 12, Federal Way
WA 98003, USA                                  USA!!!
Tel.: 0012068384677

Michael Nolte Computersysteme
Vasters Str.  10, 50825 Koeln
Tel.:  +49 221 558269, Fax:  +49 221 5504629

OMIKRON Soft+Hardware GmbH
Sponheimerstr. 12a * 75117 Pforzheim
Tel.: +49 7231 356033

Pergamon Software * Lehmann & Herzog
Wegscheidestr. 29 * 60435 Frankfurt/Main
Tel.: +49 69 5488279
Am Roten Hang 14 * 61476 Kronberg/Ts.
Tel.: +49 6173 940063

rhotron GmbH
Entenmuehlstrasse 57 * 66424 Homburg/Saar
Tel.: +49 6841 64067; Fax.: +49 6841 2467

Richstein & Dick GbR (Kaktus)
Konrad-Adenauer Strasse 19 * 67663 Kaiserslautern
Tel.: +49 631 22253

Richter Distributor
Hagener Str. 65 * 58285 Gevelsberg
Te.: +49 2332 2706

Thierry Rodolfo
47 rue Pierre Brossolette
92300 LEVALLOIS                                FRANCE!!!
France

R.O.M. Software
Christian Nieber & Ullrich Ramps
Raschdorffstr. 99 * 13409 Berlin
Tel.: +49 30 4924127

RoSoft Stefan Rogel
Koehlerweg 1 * 67661 Kaiserslautern
Stefan_Rogel@LU.maus.de und Stefan_Rogel@WI2.maus.de

SciLab GmbH
Isestrasse 57 * 20149 Hamburg
Tel.: +49 40 4603702

SHIFT Computer + Werbung GmbH (quit!!)

Michael Siek
Bohlweg 6a * 38678 Clausthal-Zellerfeld
Tel.: +49 5323 4413

SILICON Technology & Promotion
Wilhelmshoeher Allee 124 * 34119 Kassel
Tel.: +49 561 711924

Softbaer GbR
Richardstr. 60 * 12055 Berlin
Tel.: +49 30 6226884

SPIRIT WARE
Bible Church 15211
15th Avenue NE Seattle, WA 98155 (USA)            USA!!!

TKR
Stadtparkweg 2 * 24106 Kiel
Tel.: +49 431 337881; Fax.: +49 431 35984

Holger Weets
Tangastr.  45 * 26121 Oldenburg
E-Mail:  Holger_Weets@OL.maus.de (Not above 45kB!)

Dipl.-Phys.-Ing. Ralf Wirtz
Kasterstr. 30 * 52428 Juelich
Tel.: +49 2461 1255

Wilhelm Mikroelektronik
Luenen

Working Title GbR
Lilienweg 12 * 53123 Bonn
Tel.: +49 228 647020

3K Computerbild
Wevelinghoven 26 * 41334 Nettetal
Tel.: +49 2153 91860

    22 Miscellaneous

      22.1 Critics

            22.1.1 Critics to the author

Critics are greatly welcomed. To get more info, send email to:

G.Castan@physik.uni-stuttgart.de

Possibly one writing me has already tested two or three drivers.
Please write me if the errors listed above occured or not.

Anybody knowing different driver support addresses, please write me an
email.

            22.1.2 Critics to the translator

Hi, this is Stefan writing :-)= (Huh? Yeah, a goatee)
Why I wrote this translation? In the former versions of this FAQ I
claimed not to know the reason exactly. Well, it's quite obvious:
Support the TOS fans all over the world (hmm, at least those
understanding *my* English*)
If you find some errors in this translation, please don't send them to Gerd
but
to me:

cookie@cookie.syd.de

Referring to the feedback on this translation there seems to be ANY error in
it.
It would be interesting to me, WHO is happy with this FAQ, so send me
postcards, discs, books, whatever you want - no mail bombs please ;-)))

Thank you and have fun and lot's of experience with this FAQ.

Bye
  Stefan

      22.2 Praise

If this FAQ helped you out of a problem, please write me a postcard in your
next holidays.

Postcards I received yet: 1

      22.3 For my support

Due to actual experiences I ask the distributors to switch on verify when
copying update disks.

I only know two distributors not making any problem with this.

Does one of the readers want to code a Speedo font editor? We (Gerd &
Stefan) offer our time to beta test it ;-)

      22.4 Trademarks

This document is full of trademarks, no to be used freely.

      22.5 Guarantee

I'll offer no guarantee.

       23 Literature

[Whe88]   Douglas N. Wheeler,
          EVERYTHING YOU EVER WANTED TO KNOW  ABOUT  GDOS  (AND  MORE)
          (Internet, Filename: GDOS.ARC oder GDOS.TXT)
           Here's written all what's important to know about GDOS drivers.
           (AND MORE)

[Jan92[   Jankowski, Rabich, Reschke
          Atari Profibuch [Professionals book]
          10. Auflage, SYBEX, Duesseldorf (1992)
           The Standard. For Coders: In the VDI part you'll find how to
           use screen and printer drivers correctly.

[San94]   Scott Sanders,
          The ATARI Compendium, first revision, SDS Publishing,
          Long Beach '94
           Another standard. More actual compared to the Profibuch (VDI
           calls up to SpeedoGDOS 4.2) and very complete. The official
           GEM useri nterface guidelines are included too! But it can't
           replace the Profibuch.
           A plus is the list of operating system functions, from which
           release they're available and which way their existence can be
           requested. If this FAQ ever will have a chapter about layout,
           this book will be an example. A negtive one, though.

[Gar93]   Marc Rene Gardeya
          VDI fuer jedermann [VDI for everyone], ST-Computer 10/93
           Introduction in correct programming of screen  and printer
           outputs.

[Res92]   Julian Reschke
          Herbstgedanken, ST-Magazin 11/92
           Autumn thoughts about SpeedoGDOS and FontGDOS.

[Dic93a]  Erik Dick
          Schoen und schnell? [Pretty and Fast?] , ST-Computer 7/93
           Common info about GDOS and installation of Speedo. Almost the
           same standing in the installation manual, but more information
           about special problems

[Dic93b]  Erik Dick
          SPEEDO-Gonzales, ST-Computer 8/93
           Important stuff about programming Speedo. Description of the
           new bindings tips for coders for standard-uses.

[Dic93c]  Erik Dick
          SPEEDO-Gonzales, ST-Computer 9/93
           Meaning of the Speedo error messages and bindings of the
           Bezier and cache routines

[Dic94a]  Erik Dick
          Mit Speedo in die zukunft?, ST-Computer 6/94
           What's new with Speedo 4.2? New bindings are described too.

[Dic94b]  Erik Dick
          Thronfolge Teil 1, ST-Computer 11/94
           Comparison of NVDI 3 and SpeedoGDOS 5: Contents, installation
           and handling.

[Dic94c]  Erik Dick
          Thronfolge Teil 2, ST-Computer 1/95
           Part 2 of the comparison of NVDI 3 & SpeedoGDOS 5 Speed, more
           handling and safety

[Schr92]  Raymond Schroeder
          Atari-Hotline, ST-Magazin 7/92
           Whats GDOS for? Which programs supports it? How to install it?

[Beh91]   Wilfried Behne, Andreas Kromke
           Traps in the Atari ST's VDI and how to get around them, c't
           1991, Nr. 3 A lot about errors in the screen drivers.

[Beh92]   Sven Behne, Wilfried Behne
           NVDI-Dokumentation, BELA/2B
            VDI-description. But no description of the differences
            between screen and printer drivers.
            Certainly this is only the coder's documentation up to NVDI
            2.51. See [Beh95] for docs about NVDI 3

[Beh95]   Wilfried Behne, ''beta`` coder's docs about NVDI 3
           ftp://ftp.cs.tu-berlin/pub/atari/Gdos/nvdiguid.zip
           A PD documentation about almost everything a coders has to
           know about NVDI 3 functions

[Pru92]   Laurenz Pruessner
          Es ist alles so schoen Bunt hier [Oh, take a look at these
          colors] ST-Magazines 5/92, 7/92, 9/92
           How to handle more than 256 colors with device depending
           formats

[Pru93a]  Laurenz Pruessner
          Auf ein Neues!, ST-Magazin 1/93
           OFF TOPIC Everyone using FlyDials or similar Libraries should
           read this.
           Problem: New AES's releases use (formerly free accessible )
                    ob_state-Bits that are used by these libraries too
                    This only is important for AES 3.31 (TOS 4.01) and is
                    fixed now.
[Pru93b]  Laurenz Pruessner
          Sekt oder Selters [Champaign or mineral water], ST-Magazin 4/93
           MEMORY.SYS: Binding, way to handle color resolutions, font
           output with and without SpeedoGDOS.

[Pru93c]  Laurenz Pruessner
          Summertime Blues, ST-Magazin 6/93
           Listing to open the MEMORY driver.

[Pru934]  Laurenz Pruessner
          Mehr Schub!, ST-Computer 2/94
           Printing with GDOS - espacially it's about printing of bitmap
           rasters - color too.

[Sche93]  Oliver Scheel
          Erste Hilfe fuer [1st aid for] MultiTOS, ST-Magazin 6/93
           Common information to install MultiTOS.

[Bor93]   Guenter Born
          Dateiformate [Dataformats] Programmierhandbuch [Coders
          manual] Addison-Wesley, Bonn (1993)
           Sources (TurboC, TurboPascal) for loading and saving the
           formats. To use the datas still [Bor94] is recommended.

[Bor94]   Guenter Born
          Referenzhandbuch Dateiformate [Reference Dataformats],
          3. Edition, Addison-Wesley, Bonn (1994)
           With the right drivers it's quite simple to make output in
           .IMG and in .GEM Format In this book is a description how to
           read these formats again (and more).

[Ore85]   Tim Oren
          Professional GEM, (Internet, Filename:  PROGEM)
           Tim Oren almost only describes the programming of the AES but
           without him this list would not be complete.

[Walsh]   Norman Walsh et al
          comp.fonts FAQ
           TeX DVI, PostScript, and info versions of this FAQ are
           available from
           ftp.shsu.edu in archive/help/comp-fonts-FAQ.
           A Gopher is also maintained at shsu.edu which can provide
           interactive access to the FAQ.
           Finally, an online, hypertext version of the FAQ ist
           maintained (experimentally) on jasper.ora.com where an HTP
           server runs. For example, point XMosaic (or a similar WWW
           browser)
           to http://jasper.ora.com/.

[D81]     Bundestag
          Lobby et al, Typeface law, law to the agreement of vienna
          (June, 12th 1973) about protection of typographic typefaces
          (Typeface law) Dated July, 6th 1981 (BGBl.II S. 382)
           last change by law of December, 18th 1986 (BGBl.I S. 2501)
           ftp://ftp.uni-stuttgart.de/pub/doc/law/german/SchriftzeichenG

[Kar92a]  Peter Karow
          Schrifttechnologie, Springer (1992) / Font technology,
          Springer (1994)
           This book really fascinated me (though the Speedo format is
           missing). Intelligent scaling: Which tricks (Hints and more)
           does a font format have, (T1, TT, F3, IF, II)? One reading
           this chapter, will know, why the Behne's don't support T1 with
           NVDI 3 ...
           Lots about a fonts quality, readability and copyrights.

[Kar92b]  Peter Karow
          Digitale Schriften, Springer (1992) / Digital typefaces,
          Springer (1994)
           Display and formats of scalable font formats like Type 1, True
           Type, F3, Intellifont etc. (Speedo is only mentioned shortly).
           Lots of concepts are mentioned. Appendix F is a small
           dictionary about words from the writing league (German -
           English - French)

[Mer94]   Thomas Merz
          Name of truth, c't 12/1994
           How to get font names and other informations from a true type
           font file.

[Mic]     Microsoft
           Several documentations and programs about TrueTypeFonts
           ftp://ftp.microsoft.com/developr/drg/TrueType-Info/...

[Hil95]   Ulrich Hilgefort
          Fonts mit Mengenrabatt, c't 1/95
           Quality comparison of some TTF CD's:

           o Accurate Research: Dr. Fonts (2275 s/w & PD faces, TTF)
           o ARI Heidelberg (1268 sw & PD faces, TTF)
           o Bitstream Typeshop (502 faces, TTF)
           o PrimaFont TrueType CD (1812 faces, 1203 of them are digitized
             Berthold faces)
           o SoftMaker Profi-CD Version 2 (750 faces, TTF+T1)
           o URW PrintWorks (503 faces of 10 fonts, TTF+T1)
           o Wayzata Technology Font Pro 2 (213 faces, TTF+T1=
           (Stef: Gerd used "TT" for TrueType but I use TTF instead)

[Gla83]   Philip Glass
          Koyaanisqatsi, Island Records (1983)
           It's astoundishing that so many documental films use this music
           without any note ...
---EOF---
+++++++++++++++++++++++++++++++++++
--
  Stefan Damerau - Bergholm 31 - D-24857 Fahrdorf - FRG