home *** CD-ROM | disk | FTP | other *** search
/ No Fragments Archive 12: Textmags & Docs / nf_archive_12.iso / MAGS / DOCS / GDOSI26E.ZIP / GDOSI26E.TXT
Encoding:
Text File  |  1997-06-12  |  131.6 KB  |  3,235 lines

  1.  
  2.                                  More Joy of GDOS*
  3.  
  4.                                     Version 2.6
  5.  
  6.                                    Gerd Castan **
  7.  
  8.                                     June, 5th 1995
  9.  
  10. ________________________________
  11. *  English version posted in comp.sys.atari.st -
  12.    German Version posted in de.comp.sys.st and maus.gui.gem
  13. ** English translation by Stefan Damerau (cookie@cookie.syd.de)
  14.  
  15. Table of contents
  16.  
  17.      1 Technical Info
  18.      2 Introduction
  19.      3 Motivation
  20.      4 Changes
  21.      5 Notes to the reader
  22.        5.1 Programs
  23.        5.2 Printers
  24.        5.3 Bitmap fonts
  25.      6 VDI drivers
  26.        6.1 Ink printers with 150, 300 ... dpi
  27.        6.2 Ink printers with 180, 360 ... dpi
  28.        6.3 9pin drivers
  29.        6.4 24pin drivers
  30.        6.5 Laser drivers
  31.        6.6 Atari laser drivers
  32.        6.7 Screen drivers
  33.             6.7.1 LineA
  34.             6.7.2 Setscreen & Getscreen
  35.             6.7.3 NVDI and WARP 9
  36.        6.8 Other drivers
  37.             6.8.1 Memory drivers
  38.             6.8.2 Plotter drivers
  39.             6.8.3 NVDI 3 drivers
  40.        6.9 What's missing
  41.      7 Errors
  42.      8 Fonts
  43.        8.1 The meaning of ''Font`` and ''Face``
  44.        8.2 The meaning of ''format`` and ''representation``
  45.      9 Bitmap fonts
  46.     10 Vector fonts
  47.       10.1 FSMGDOS fonts
  48.       10.2 Bitstream Fontware fonts
  49.       10.3 Bitstream Speedo fonts
  50.       10.4 Type 1 fonts
  51.            10.4.1 Multiple Master (MM) fonts
  52.            10.4.2 Type 1 GX fonts
  53.       10.5 TrueType fonts
  54.            10.5.1 TrueType for Windows 3.0
  55.            10.5.2 TrueType GX fonts (or TrueType 2.0)
  56.            10.5.3 TrueType for Windows NT
  57.       10.6 Calamus fonts
  58.       10.7 Comparison of vector formats
  59.             10.7.1 Curves
  60.             10.7.2 Hints, instructions, switches
  61.             10.7.3 Internal resolution
  62.             10.7.4 Linear and optical scaling
  63.       10.8 Format conversion of scalable fonts
  64.     10 Printers
  65.     12 Programs
  66.     13 Utilities
  67.       13.1  fontfix
  68.       13.2  Outline fonts
  69.       13.3  Printer drivers
  70.       13.4  ASSIGN
  71.       13.5  FONTCHK
  72.       13.6  FONTCNV
  73.       13.7  GEMFont
  74.       13.8  FontMonger
  75.       13.9  Font ID
  76.       13.10 X4U
  77.       13.11 Charmap
  78.       13.12 GDOS-Font
  79.       13.13 REFONT
  80.       13.14 Arkus
  81.     14 Font Selectors
  82.       14.1 UFSL
  83.       14.2 XUFSL
  84.       14.3 Magic (from Peter Hellinger, *not* MagiC!)
  85.       14.4 FontSel
  86.       14.5 Minimum requirements
  87.       14.6 Characteristics liked to be seen
  88.             14.6.1 Attributes and selection
  89.             14.6.2 Windows and event handling
  90.             14.6.3 misc
  91.       14.7 About dialogs
  92.     15 Distribution
  93.       15.1  Atari
  94.       15.2  BELA
  95.       15.3  Language
  96.       15.4  Internet
  97.       15.5  Working Title
  98.       15.6  XWindows
  99.       15.7  COMPO
  100.       15.8  IMG-0300
  101.       15.9  FTP
  102.       15.11 SciLab
  103.       15.12 Star Division
  104.       15.12 Thierry Rodolfo
  105.       15.13 Others
  106.     16 GDOS Versions
  107.       16.1 The ones from the bones
  108.             16.1.1 Atari-GDOS and AMCGDOS
  109.             16.1.2 ABCGDOS
  110.             16.1.3 G+Plus
  111.       16.2 One step forward
  112.             16.2.1 FontGDOS 2.0
  113.             16.2.2 FSMGDOS 3.0
  114.       16.3 Actual Developments
  115.             16.3.1 SpeedoGDOS 4.0 and 4.1
  116.             16.3.2 SpeedoGDOS 4.2
  117.             16.3.3 SpeedoGDOS 5.0
  118.             16.3.4 NVDI up to V2.51
  119.             16.3.5 NVDI 3.0
  120.       16.4 Comments
  121.     17 Source
  122.     18 Tips'n Tricks for users
  123.       18.1 Pixeltrash at printing
  124.       18.2 NEC P6+
  125.       18.3 HP Deskjet 550C, 560C and Deskwriter 510, 520
  126.       18.4 Overwritten Speedo faces
  127.     19 Tips'n Tricks for coders
  128.       19.1 Fontsize and Pixelsize
  129.       19.2 Selecting drivers
  130.       19.3 The Metafile format
  131.     20 Expanded Sub opcodes for metafiles
  132.       20.1  Supported sub obcodes
  133.       20.2  group information
  134.       20.3  object shadow
  135.       20.4  filling area
  136.       20.5  vector text
  137.       20.6  window settings
  138.             20.6.1 window position
  139.             20.6.2 raster setups
  140.             20.6.3 reference object
  141.       20.7  gray scales
  142.       20.8 beziers
  143.       20.9 VDI block summarizing
  144.     21 Addresses
  145.     22 Miscellaneous
  146.       22.1 Critics
  147.             22.1.1 Critics to the author
  148.             22.1.2 Critics to the translator
  149.       22.2 Praise
  150.       22.3 For my support
  151.       22.4 Trademarks
  152.       22.5 Guarantee
  153.     23 Literature
  154.  
  155.      1 Technical Info
  156.  
  157. My email address will change more than once nexttime. Due to this reason I
  158. have an alias, pointing to my actual location - and if it's in the
  159. MAUS-Net: G.Castan@physik.uni-stuttgart.de
  160.  
  161. For easy location of this document at servers and mailboxes, I ask for
  162. using the following name(s) and saving the ascii AND TeX versions:
  163. FILENAME      = gdosi25    (German version)
  164. FILENAME      = gdosi25e   (English version)
  165. CR+LF should be used when saving at UNIX-Fileservers too, not just LF.
  166.  
  167.      2 Introduction
  168.  
  169. I'm writing a program that prints out using GDOS. However, I have a problem
  170. because there is often no documention included with printer drivers.
  171.  
  172. There can also be different drivers with the same filename. What are the
  173. differences?
  174.  
  175. Here I have briefly (Stef: *briefly*?? Well, that's not *that* right
  176. anymore <g>) collected my experiences with printer drivers.
  177.  
  178. This collection doesn't generally explain to coders how to use
  179. printer drivers (except to problems not mentioned in literature). And you
  180. wont find information about the concept or how to install printer drivers.
  181. To get this refer to the list at the end of this FAQ.
  182.  
  183. What I want to describe here is more information about the several drivers:
  184.  
  185.   o Where are the drivers available?
  186.   o How to distinguish them?
  187.   o What are the problem with them?
  188.   o Which drivers can be used for certain printers?
  189.  
  190. If anybody has more experience or questions, please write me. I will face
  191. the work to update this FAQ.
  192.  
  193. Credits:
  194. Kay Prisille       (MIGRAPH-products, Calligrapher lite)
  195. Julian Reschke     (IMG-0???)
  196. Volker Ritzhaupt
  197. Juergen Voorgang   (Working Title - products)
  198. Herwig Schelauske  (Installation of GDOS, name-conventions)
  199. Normen Kowalewski  (Font-GDOS)
  200. Erik Dick          (SpeedoGDOS)
  201. Patrick Dubbrow
  202. Ulrich Rossgoderer (WYSIWYG)
  203. Stefan Hintz       (CHARLY IMAGE)
  204. Ulli 'Huhu' Ramps  (SpeedoGDOS 4.2)
  205. Laurenz Pruessner  (SLM_HS)
  206. Marcel Boom        (1st Postcard!)
  207. Joerg Tochtenhagen (Misc)
  208. Ralf Heckmann      (Spellchecker for the German version 8-)
  209. Andreas M. Koepfer (EASE, That's Write, MagiC!)
  210. Wilfried Behne     (misc)
  211. Ulrich Kaiser      (ABC-GDOS)
  212.  
  213. Gerd Castan.
  214.  
  215.      3 Motivation
  216.  
  217. With GDOS it took me ~2 hours of coding, to get the screen-output to the
  218. printer at maximum quality. And with (almost) no extra work I get output to
  219. printers I even don't know.
  220.  
  221. If anybody wants to write a program with printing options, they can use GDOS
  222. and take better care over the main program.
  223.  
  224. Nobody wants to pay for printer drivers if there's another program that
  225. didn't take the coder extra work with such stuff making this program less
  226. expensive (and surely better).
  227.  
  228. The user has - besides the lower price - another advantage. If he uses
  229. several programs he need place for the driver and the fonts only one time on
  230. the disc.
  231.  
  232. SpeedoGDOS is available from Atari shops (Atari Competence Center in
  233. Germany) now.
  234.  
  235. The (qualified) feedback to my FAQ has - compared to autumn '92 - raised
  236. remarkable. Due to Speedo the interest in GDOS coming from the coders seems
  237. to be bigger.
  238.  
  239.      4 Changes
  240.  
  241. Now (from 2.4) I'll switch back to listing the changes here, not in the table of
  242. contents ...
  243. Anyway, a "*" stand for changed chapter and "+/-" for new or removed chapter (I
  244. guess you'll know which char stands for what <g>)
  245.  
  246.       * 8.1 The meaning of ''Font`` and ''Face``
  247.         Here I've exchanged the example Swiss 721 by Dutch 801. The face
  248.         ''Swiss 721 Roman`` is displayed as ''Swiss 721`` in font
  249.         selectors.
  250.       * 10.4.2 Type 1 GX fonts
  251.       * 10.5.2 TrueType GX fonts (or TrueType 2.0)
  252.       * 12 Programs (Twist 3 Office)
  253.       * 21 Addresses (Pergamon's address)
  254.       + 13.14 Arkus
  255.  
  256. One Important thing to note: The dates of the GDOS drivers are in German format,
  257. that is: DD.MM.YY! Remember that! (But I guess you alreade noticed that?)
  258.  
  259.      5 Notes to the reader
  260.  
  261. Notes about problems right in this text weren't as effective as I wanted
  262. them to be. So, here are they in one chapter:
  263.  
  264.        5.1 Programs
  265.  
  266. I only have few of the listed utilities. And I guess I'll never get to
  267. know each program put in a BBS or being updated. So you coders out there,
  268.  
  269.              *Send me information about your product*
  270.  
  271. It's useful for you and users of your program too: Programs listed in
  272. this FAQ may be used by more people and the possibility of further
  273. development is higher.
  274.  
  275.        5.2 Printers
  276.  
  277. A complete list in chapter 11 surely is very useful when looking for the
  278. right printer driver (e.g. for exotic printers). But I only got 2 useful
  279. mails yet. The way this list actually is, it's quite useless. Will I get
  280. more information or do I have to remove this list?
  281.  
  282.        5.3 Bitmap fonts
  283.  
  284. Recently I got a very detailed description of the GDOS bitmap font
  285. format. But this would only be useful for the coders of font editors and
  286. converters (an I guess there aren't more than three or so), so I didn't
  287. include it here. If YOU think it would be useful here, convince me.
  288. (Stef: and me for translating that <g>)
  289.  
  290.      6 VDI drivers
  291.  
  292. In these tables I have listed distributor, errors and useable fonts.
  293.  
  294. Drivers for NVDI 3 are listed in 6.8.3 seperately.
  295.  
  296.        6.1 Ink printers with 150, 300 ... dpi
  297.  
  298. ______________________________________________________________________
  299. | Name      |Date    |Length|Distributor|Errors | Others| Fonts      |
  300. |___________|________|______|___________|_1_|_2_|_______|____________|
  301. | HP_LJET   |22.02.89| 45512| BELA      |   |   | n.p.  |LS          |
  302. | HP_LASER  |25.09.89| 36928| Atari,I   |   |   |       |LS          |
  303. | LASERJET  |06.03.91| 54517| Atari     |   |   |       |LS          |
  304. | LASERJET  |27.01.92| 60194| FontGDOS,I|   | n |       |LS, OTL     |
  305. | LASERJET  |28.01.93| 61907| SGDOS 4.0 |   | n |       |LS, SPD     |
  306. | LASERJET  |02.07.93| 64408| SGDOS 4.2 |   | n |       |LS,SPD,TT,T1|
  307. | HPL150    |12.04.86| 51541| wt        |   |   |150dpi |LL          |
  308. | HPL300    |24.04.86| 51541| CL,wt     |   |   |       |LS          |
  309. | DESKJET   |13.05.92| 45637| BELA      |   |   |  p.   |LS?         |
  310. | DESKJET   |14.05.91| 46040| CL,WT     |   |   |  p.   |300x600     |
  311. | DESKJET   |06.03.91| 54285| Atari,I   |   |   |       |LS?         |
  312. | DESKJET   |?       | 45618| ?         |   |   |  p.   |LS          |
  313. | DESKJET   |?       | 45285| ?         |   |   |  p.   |LS          |
  314. | DESKJET5  |14.05.91| 46040| CL,WT     |   |   | delta |LS          |
  315. | DJ5       |27.01.92| 60600| FontGDOS,I|   | n |       |OTL         |
  316. | DJ5       |?       | 60538| ?         |   |   |       |            |
  317. | DJ5       |28.01.93| 62251| SGDOS 4.0 |   | n |       |SPD         |
  318. | DJ5       |02.07.93| 64319| SGDOS 4.2 |   | n |       |SPD,TT,T1   |
  319. | DJ550C    |11.10.93| 68870| SGDOS 5.0 |   | n |       |LS,SPD,TT,T1|
  320. | DJ550C    |11.10.93| 68870| T.R.      |   | n |       |LS,SPD,TT,T1|
  321. | DJ_550C2  |14.04.94| 68746| SGDOS 5.0 |   | n |       |LS,SPD,TT,T1|
  322. | DJ_500C   |14.04.94| 68761| SGDOS 5.0 |   | n |       |LS,SPD,TT,T1|
  323. | DJ_510    |17.05.94| 61921| SGDOS 5.0 |   | n |       |LS,SPD,TT,T1|
  324. |_DJ_510T___|17.05.94|_61925|_SGDOS 5.0_|___|_n_|_______|LS,SPD,TT,T1|
  325.  
  326. Note: The drivers named HP_LJET and DESKJET can be used for (HP compatible)
  327. ink and laser printers. The difference is in the transfer to the printer:
  328. Packed (p.) or not packed (n.p.). 'Delta' means that the data is delta
  329. packed.
  330.  
  331.        6.2 Ink printers with 180, 360 ... dpi
  332.  
  333. ______________________________________________________________________
  334. | Name      |Date    |Length|Distributor|Errors | Others| Fonts      |
  335. |___________|________|______|___________|_1_|_2_|_______|____________|
  336. | BJ10E     |20.11.90| 45917| WT        |   |   |       |NC          |
  337. | BJ10      |20.11.85| 45919| CL        |   |   |       |NC          |
  338. | BJ10      |28.08.91| 45660| BELA      |   |   |       |NC          |
  339. | BJ10      |27.01.92| 59715| FontGDOS,I|   | n |       |NC, OTL     |
  340. | BJ10      |28.01.93| 61428| SGDOS 4.0 |   | n |       |NC, SPD     |
  341. | BJ10      |02.07.93| 63496| SGDOS 4.2 |   | n |       |NC,SPD,TT,T1|
  342. | STYLUS    |25.04.94| 60848| SGDOS 5.0 |   | n |       |NC,SPD,TT,T1|
  343. | MT90      |21.12.90| 44881| BELA      |   |   |180dpi |SP          |
  344. | PAINTJET  |27.01.92| 60005| FontGDOS  |   | n |       |SP, OTL     |
  345. | PAINTJET  |?       | 60173|           |   |   |       |SP          |
  346. | PAINTJET  |28.01.93| 61648| SGDOS 4.0 |   | n |       |SP, SPD     |
  347. | PAINTJET  |02.07.93| 63642| SGDOS 4.2 |   | n |       |SP,SPD,TT,T1|
  348. | PAINTJET  |14.08.92| 60173| I         |   |   |       |SP, OTL     |
  349. |_PAINTJET__|13.10.91|_45934|_WT________|___|___|_______|SP__________|
  350.  
  351.    PAINTJET:
  352.    80X180: 2-8 colo(u)rs
  353.    90x90:   16 colo(u)rs
  354.  
  355.    MT90 is made by Patrick Dubbrow.
  356.  
  357. Using ink drivers produces a problem with bitmap fonts. Using 300dpi all is
  358. ok. But 360dpi fonts are optimised for best efforts with pin printers having
  359. thick pins. Using ink printers makes the fonts look much too thin.
  360.  
  361. Solution: either use 300 [ 600, 1200 :-) ] or exclusively use vector fonts
  362.  
  363.        6.3 9pin drivers
  364.  
  365. ________________________________________________________________________
  366. | Name      |Date     |Length |Distributor |Errors | Others | Fonts    |
  367. |___________|_________|_______|____________|_1_|_2_|________|__________|
  368. | FX240DPI  |22.12.89 | 45396 | BELA       | y |   |        |SR        |
  369. | FX80      |22.12.89 | 45396 | BELA,wt    | n |   |        |EP        |
  370. | FX80_2    |12.06.91 | 45396 | I          |   |   |        |EP        |
  371. | FX80      |24.09.91 | 45525 | CL         |   |   |        |EP        |
  372. | FX80      |16.12.87 | 45396 | Atari      | n |   |        |EP        |
  373. | FX80      |27.01.92 | 59236 | FontGDOS,I | n | n |        |EP, OTL   |
  374. | FX80      |28.01.93 | 61111 | SGDOS      |   | n |        |EP, SPD   |
  375. | FX80      |02.07.93 | 63177 | SGDOS  4.2 |   | n |        |EP, SPD   |
  376. | FX80HIGH  |22.01.89 | 44730 | Atari,I    | n |   |        |SR        |
  377. | FX80_QD   |24.09.91 | 45525 | WT         |   |   |        |EP        |
  378. | NX1000    |27.01.92 | 58719 | FontGDOS   | n | n |        |EP, OTL   |
  379. | NX1000    |28.01.93 | 60723 | SGDOS      |   | n |        |EP, SPD   |
  380. | NX1000    |02.07.93 | 62717 | SGDOS  4.2 |   | n |        |EP, SPD   |
  381. | NX1000    |14.08.92 | 58887 | I          |   |   |        |EP, OTL   |
  382. | OKI20     |27.01.92 | 58491 | FontGDOS   | n | n |        |EP, OTL   |
  383. | OKI20     |28.01.93 | 60495 | SGDOS      |   | n |        |EP, SPD   |
  384. | OKI20     |17.03.93 | 60511 | SGDOS  4.2 |   | n |        |EP, SPD   |
  385. | OKI20     |14.08.92 | 58659 | I          |   |   |        |EP, OTL   |
  386. | SMM804    |16.12.87 | 44801 | Atari      |   |   |        |LB        |
  387. | SMM804_2  |16.06.91 | 44801 | I          |   |   |        |LB        |
  388. | SMM804    |27.01.92 | 59201 | FontGDOS,I |   | n |        |LB, OTL   |
  389. | SMM804    |28.01.93 | 61076 | SGDOS      |   | n |        |LB, SPD   |
  390. |_SMM804____|02.07.93_|_63142_|_SGDOS _4.2_|___|_n_|________|LB,_SPD___|
  391.  
  392. Note: FX80HIGH prints normal text twice, FX240DPI once, FX80_QD printer in
  393. quad density.
  394.  
  395. NX1000 and OKI20 are color drivers with 8 colors
  396.  
  397.        6.4 24pin drivers
  398.  
  399. __________________________________________________________________________
  400. | Name      |Date    |Length |Distributor |Errors | Others | Fonts      |
  401. |___________|________|_______|____________|_1_|_2_|________|____________|
  402. | EPSON360 |04.04.90 | 45619 | BELA       | y |   |        |NC          |
  403. | EPSON360 |16.09.92 | 45547 | WT         |   |   |180x360 |            |
  404. | EPSLQPAR |14.02.91 | 44939 | I          |   |   |        |            |
  405. | LQ_500   |15.11.93 | 68068 | T.R.       |   | n |        |SP,SPD,TT,T1|
  406. | LQ570    |28.01.93 | 62051 | SGDOS 4.0  |   | n |        |SPD         |
  407. | LQ570    |02.07.93 | 64228 | SGDOS 4.2  |   | n |        |SPD,TT,T1   |
  408. | LQ_800   |15.11.93 | 68068 | T.R.       |   | n |        |SP,SPD,TT,T1|
  409. | LQ_850   |15.11.93 | 68068 | SGDOS 5.0  |   | n |        |SP,SPD,TT,T1|
  410. | LQ_850   |15.11.93 | 68068 | T.R.       |   | n |        |SP,SPD,TT,T1|
  411. | LQ_1000  |15.11.93 | 68068 | T.R.       |   | n |        |SP,SPD,TT,T1|
  412. | LQ_1050  |15.11.93 | 68068 | T.R.       |   | n |        |SP,SPD,TT,T1|
  413. | LX800    |14.11.93 | 67989 | T.R.       |   | n |        |SP,SPD,TT,T1|
  414. | NB15     |22.12.89 | 44881 | BELA,wt    | n |   |        |SP          |
  415. | NB15     |16.12.87 | 44881 | Atari,CL   | n |   |        |SP          |
  416. | NB15_2   |12.06.91 | 44881 | I          |   |   |        |SP          |
  417. | NB15     |27.01.92 | 59121 | FontGDOS,I | n | n |        |SP, OTL     |
  418. | NB15     |28.01.93 | 60989 | SGDOS 4.0  | n | n |        |SP, SPD     |
  419. | NB15     |02.07.93 | 63055 | SGDOS 4.2  | n | n |        |SP,SPD,TT,T1|
  420. | NECP6    |12.04.80 | 45199 | wt         |   |   |        |NC          |
  421. | NECP6    |10.04.91 | 45619 | BELA       | y |   |        |NC          |
  422. | NECP6    |06.02.86 | 44906 | Atari,I    | y |   |        |NC          |
  423. | NECP6_2  |28.06.91 | 46557 | I          |   |   |        |NC          |
  424. | NECP     |27.01.92 | 59516 | FontGDOS   | y | n |        |NC, OTL     |
  425. | NECP     |28.01.93 | 61229 | SGDOS 4.0  |   | n |        |NC, SPD     |
  426. | NECP     |02.07.93 | 63297 | SGDOS 4.2  |   | n |        |NC,SPD,TT,T1|
  427. | NEC_P    |14.08.92 | 59516 | I          |   |   |        |NC, OTL     |
  428. | P24M     |08.04.89 | 47104 | I          |   |   |        |            |
  429. | P24ML    |08.04.89 | 47104 | I          |   |   |        |            |
  430. | P24MWID  |08.04.89 | 47104 | I          |   |   |        |            |
  431. |_P24MWIDL_|08.04.89_|_47104_|_I__________|___|___|________|____________|
  432.  
  433.        6.5 Laser drivers
  434.  
  435. ___________________________________________________________________________
  436. | Name      |Date     |Length |Distributor  |Errors | Others | Fonts      |
  437. |___________|_________|_______|_____________|_1_|_2_|________|____________|
  438. | RICOH12   |23.06.92 | 45438 | WT          |   |   |400dpi  |            |
  439. | HP_LJET   |22.02.89 | 45512 | BELA        |   |   |  n.p.  |LS          |
  440. | HP_LASER  |25.09.89 | 36928 | Atari,I     |   |   |        |LS          |
  441. | LASERJET  |06.03.91 | 54517 | Atari       |   |   |        |LS          |
  442. | LASERJET  |27.01.92 | 60194 | FontGDOS,I  |   | n |        |LS, OTL     |
  443. | LASERJET  |28.01.93 | 61907 | SGDOS       |   | n |        |LS, SPD     |
  444. | LASERJET  |02.07.93 | 64408 | SGDOS  4.2  |   | n |        |LS, SPD     |
  445. | HPL150    |12.04.86 | 51541 | wt          |   |   |150dpi  | LL         |
  446. | HPL300    |24.04.86 | 51541 | CL,wt       |   |   |        |LS          |
  447. | LJ4_300   |12.01.91 | 61910 | SGDOS  5.0  |   | n |        |LS,SPD,TT,T1|
  448. | LJ4_600   |12.01.94 | 61910 | SGDOS  5.0  |   | n |        |SPD,TT,T1   |
  449. | DESKJET   |13.05.92 | 45637 | BELA        |   |   |   p.   |LS          |
  450. | DESKJET   |14.05.91 | 46040 | CL          |   |   |        |LS          |
  451. | DESKJET   |06.03.91 | 54285 | Atari,I     |   |   |        |LS          |
  452. | CANONLBP  |26.09.89 | 36980 | Atari,I     |   |   |        |LS          |
  453. |_LBP_______|13.01.92_|_45453_|_WT__________|___|___|________|LS__________|
  454.  
  455.        6.6 Atari laser drivers
  456.  
  457. ___________________________________________________________________________
  458. | Name      |Date     |Length |Distributor  |Errors | Others | Fonts      |
  459. |___________|_________|_______|_____________|_1_|_2_|________|____________|
  460. | SLM804    |12.04.91 | 47496 | BELA        |   | n |        |LS          |
  461. | SLM804    |16.12.87 | 45788 |Atari,I,CL,wt|   | y |        |LS          |
  462. | SLM       |12.12.90 | 48399 | Language    |   |   |        |LS          |
  463. | SLM       |27.01.92 | 60036 | FontGDOS,I  |   | n |        |LS, OTL     |
  464. | SLM       |28.01.93 | 61911 | SGDOS       |   | n |        |LS, SPD     |
  465. | SLM       |02.07.93 | 63987 | SGDOS  4.2  |   | n |        |LS, SPD     |
  466. |_SLM_HS____|17.01.94_|_63663_|_ROM_________|___|_n_|________|LS,_SPD_____|
  467.  
  468. SLM_HS is a SLM driver for the Falcon (when using the Heatseeker interface)
  469.  
  470.        6.7 Screen drivers
  471.  
  472. The screen is (if VDI functions are used) seen as an output device just
  473. like printer, plotter etc. That's why fonts for the screen can be installed
  474. in ASSIGN.SYS just like for printers.
  475.  
  476. Normally this isn't noticed because the drivers are in ROM. But they can be
  477. used like printer drivers.
  478.  
  479. Note: For system fonts only (like the original ones) non proportional fonts
  480. with a 8*8 or 8*16 matrix can be used. That's limited by the AES not VDI.
  481.  
  482. With newer AES (from 4.0?) it's no problem to use fonts of free choice
  483. (Variable AE_FONTID and AE_FONTSIZE in GEM.CNF, see [Sche93]). Coders
  484. should make sure their programs can take that. (even like scrollbars of
  485. free width)
  486.  
  487. Bitmap fonts not assigned for screen driver 1 are not available for other
  488. screen drivers.
  489.  
  490.             6.7.1 LineA
  491.  
  492. The so-called LineA routines are subprograms of the screen drivers from the
  493. ST series, to bee seen undocumented. This is the hardware depending part of
  494. these drivers.
  495.  
  496. The attentive readers will notice this: Exchanging the drivers removes
  497. the LineA routines as well. As happened on the TT, for example.
  498.  
  499. So never use them!
  500.  
  501. You can still /read/ from the LineA variables, but why bother?
  502.  
  503.             6.7.2 Setscreen & Getscreen
  504.  
  505. These XBIOS-Functions (mostly Setscreen) should'nt be used.
  506.  
  507. But what am I talking. For those useing them or those being tortured
  508. because someone did it:
  509.  
  510. The video hardware of 1040STE and Mega STE has an hardware bug. When defining
  511. a new physbase with Setscreen (and if it's the same gotten with Getscreen),
  512. it may happen that the screen is 'folded'. This happens due to the movement
  513. of a register at a special moment, which is only allowed to be moved at
  514. special phases of the screen output.
  515.  
  516. What has to be done?
  517.  
  518. Users: The programs NVDI and FALT_OFF stop this error. Or give this FAQ to
  519.        coder.
  520.  
  521. Coders: Either even don't use Setscreen.
  522.         If You use it though: If physbase isn't changed, the value taken
  523.                               with Getscreen may not be used. Use the
  524.                               value -1 than physbase!
  525.  
  526.             6.7.3 NVDI and WARP 9
  527.  
  528. There are two often used programs exchanging the ROM drivers: NVDI and WARP
  529. 9 (earlier QuickST). TurboST was distributed by BELA but isn't updated no
  530. more.
  531.  
  532. If these are used once, one will never want to miss them: the Desktop seems
  533. to be terribly slow. I will never want to work without NVDI on my Atari.
  534. Others say the same about WARP 9.
  535.  
  536. NVDI uses strongly optimised drivers for the ST  and TT resolutions. Sadly I
  537. don't know which drivers are used by WARP 9.
  538.  
  539. NVDI is available from Behne & Behne and contains not only the drivers but a
  540. GDOS and a manual describing exactly all VDI calls.
  541.  
  542. WARP 9 is available from CodeHead.
  543.  
  544. Due to this NVDI is spread in Germany and WARP 9 in the US
  545.  
  546. Unlike NVDI, WARP 9 only speeds up the text output and graphics stay
  547. as slow as before. AND the newest version doesn't work with MultiTOS. It
  548. Works on the Falcon too, but I don't know if it supports *all*
  549. resolutions there. (Like with Screenblaster, BlowUp030 or others)
  550. 15 bit and 16 bit screen modes aren't supported by it.
  551.  
  552.        6.8 Other drivers
  553.  
  554. _______________________________________________________________________
  555. | Name     |Date    |Length|Distributor|Errors | Others  | Fonts      |
  556. |__________|________|______|___________|_1_|_2_|_________|____________|
  557. | META     |11.04.89| 5644 | I         |   |   |         |MF          |
  558. | META     |08.10.88| 9325 | BELA      |   |   |         |MF          |
  559. | META     |16.12.87| 9325 | Atari     |   |   |         |MF          |
  560. | META_2   |14.06.91| 9325 | I         |   |   |         |MF          |
  561. | META     |27.01.92| 9718 | FontGDOS  |   | n |         |MF, OTL     |
  562. | META     |28.01.93| 9733 | SGDOS 4.0 |   | n |         |MF, SPD     |
  563. | META     |02.07.93| 11174| SGDOS 4.2 |   | n |         |MF,SPD,TT,T1|
  564. | MEMORY   |27.01.92| 58397| FontGDOS  |   | n |         |LS, OTL     |
  565. | MEMORY   |28.01.93| 60265| SGDOS 4.0 |   | n |         |LS, SPD     |
  566. | MEMORY   |02.07.93| 62331| SGDOS 4.2 |   | n |         |LS,SPD,TT,T1|
  567. | CYPRESS  |        |      |           |   |   |  MEMORY |            |
  568. | PSCRIPT  |14.10.92| 33016| WT        |   |   |         |            |
  569. | HPGL     |08.07.91| 48885| ST458     |   |   | V 1.4r2 |            |
  570. | ZEBRA    |07.12.91| 45746| WT        |   |   |         |            |
  571. | T_OFFICE |        |      | wt        |   |   |98/196dpi|            |
  572. | T_OFFICE |        |      | wt        |   |   |98/196dpi| SPD        |
  573. |_IMG-0300_|________|______|_Reschke,wt|_n_|___|_________|LS__________|
  574.  
  575. IMG-0300 can be copied (non commercial). The other IMG-0??? drivers are by
  576. SciLab. ZEBRA is for the Zebra Labelprinter.
  577.  
  578.             6.8.1 Memory drivers
  579.  
  580. A memory driver doesn't do anything else than a screen driver (see
  581. [Pru93b/c]). But the output doesn't get to the screen driver, but in
  582. another memory to be influenced there.
  583.  
  584. The usual v_openwk binding doesn't have all parameters needed to open this
  585. driver. If not included to the language this binding must be made by
  586. yourself. A listing is found at [Pru93c].
  587.  
  588. The memory driver listed above is only capable of b/w output only and has
  589. a logical resolution of 300dpi. The (matrix) drivers tested by me have no
  590. problems with fonts installed that are for other other drivers. The memory
  591. driver should take screen fonts - due to the 300dpi.
  592.  
  593. Problem could appear because of the aspect ratio (relation of pixel width to
  594. height) - normally not similar to the screen resolution.
  595. Due to this circles can be displayed as ellipses.
  596.  
  597. With NVDI 2.5 or higher, you can output to offscreen (colour)bitmaps.
  598. These work with all VDI calls, and you can copy the resulting bitmap to
  599. the screen window.
  600.  
  601.             6.8.2 Plotter drivers
  602.  
  603. A HPGL driver seems to be distributed with the program DATA. On PD disk ST
  604. 458 (German PD series) is one too. If I get more about it I'll include this
  605. info here.
  606.  
  607.             6.8.3 NVDI 3 drivers
  608.  
  609. NVDI 3 has its own driver concept. Only a small quantity of drivers is
  610. included, but they're very fast, small and flexible.
  611.  
  612. The drivers are:
  613.  
  614. ___________________________
  615. |_Treiber______|_Datum____|
  616. | PINPRN.SYS   | 19.10.94 |
  617. | PAGEPRN.SYS  | 19.10.94 |
  618. | IMG.SYS      | 30.10.94 |
  619. | MEMORY.SYS   | 18.10.94 |
  620. | META.SYS     | 18.10.94 |
  621. |_ATARILS.SYS__|_18.10.94_|
  622.  
  623. Depending to the colo(u)r printing capability of a printer (this can be set
  624. in the MAKEPRN.APP), the drivers have to use different offscreen drivers to
  625. create the graphics (this can't be found in the manual coming with NVDI 3
  626. [Stef: A manual like for NVDI 2.x is in work]
  627. Gerd: It will be an ascii file for FTP servers and BBS, not a printed one)
  628.  
  629. The Offscreen drivers are:
  630.  
  631. _____________________________________
  632. |_Treiber_______|_Datum____|Farben__|
  633. | OFF002.NOD    | 06.11.94 | 2      |
  634. | OFF004IP.NOD  | 06.11.94 | 4      |
  635. | OFF016IP.NOD  | 06.11.94 | 16     |
  636. | OFF256IP.NOD  | 06.11.94 | 256    |
  637. |_OFF32KFL.NOD__|_06.11.94_|_32768__|
  638.  
  639. The actual NVDI 3.01 can't handle colo(u)r printing though :-(
  640. 3.02 will. (Which is soon to be released. More then ...)
  641.  
  642. The flexibility to create a driver's INF for printers is great. To code a
  643. driver for SpeedoGDOS you have to become a developer for SpeedoGDOS.
  644. It isn't that easy ...
  645. With NVDI you only have to enter you printer's codes in MAKEPRN.APP. So you
  646. only have to check you printer's manual, not learn or do C coding.
  647.  
  648. The codes driving the printer are saved in the INF files belonging to each
  649. driver. A flaw is that these assignments aren't simply exchangeable.
  650. There's no documentation about the file format and no program to extract or
  651. add codes yet. The only way is to exchange the complete INF file.
  652.  
  653. Another problem not even noted in the manual occurs when assigning pixel
  654. fonts in the ASSIGN.SYS. Guess that you have assigned 180dpi fonts to the
  655. PINPRN.SYS. It's easy to change the output resolution to 360dpi by the CPX.
  656. *Then* the printout will be catastrofugly.
  657.  
  658. A workaround is to duplicate the driver with another name (close to the
  659. first ...) and assign this one to in the ASSIGN.SYS too, but with different
  660. fonts.
  661.  
  662. At last I think those drivers conceptionally are much better compared to
  663. the ones coming with SpeedoGDOS 5. No colour printing yet, though.
  664.  
  665.        6.9 What's missing
  666.  
  667. I don't know drivers using the abilities of the following printers:
  668.  
  669.   o Canon BJC 600 - A colour printer with 4 heads (CMYK) 64 nozzles each.
  670.                     In the colour mode he's compatible to:
  671.                           - Canon BJC 800
  672.                           - Epson LQ 2550/2500
  673.                     It's resolution is 360x360. I dont's know any GDOS driver
  674.                     supporting the BJC's capabilities directly (or via
  675.                     compatibility mode) when using colours.
  676.  
  677.      7 Errors
  678.  
  679. Errors in the printers drivers - that I know - are the following:
  680.  
  681.   1 These drivers display Fonts with the attribute 'light'
  682.   2 Doesn't work on TT
  683.   3 The EXTENDED ENQUIRE FUNCTION (VDI 102, vq_extnd) doesn't give back the
  684.     parameters as listed in the German 'Profibuch' (Jankowski, Rabich,
  685.     Reschke - Sybex)
  686.   4 Using the attributes 'italic' and 'outlined' the letters of bitmap fonts
  687.     are cut off on the right side. This error appears independent from other
  688.     attributes being used.
  689.     This error was in the Libraries of the driver sources from Atari and
  690.     seems to be included in all drivers except to NVDI and SpeedoGDOS.
  691.  
  692. If theres nothing written about an error I don't know if this error appears
  693. or not.
  694.  
  695. Seems it's no accident, that Xact only uses the attributes 'fat', 'italic'
  696. and 'underlined'. (See [Res92]
  697.  
  698. Another reason against using 'outlined' is the following:
  699.  If You make a driver calculate an outlined font from a normal one it get's
  700.  'wider' by two pixels. Due to the reason that a pixel has a width depen-
  701.  ding to the resolution (other than a fitted font) a text gets different
  702.  widthes in each resolution. But who wants to have different textformat on
  703.  different printers? The only way to stop this is letterspacing -
  704.  typographic 'bullshit'.
  705.  
  706.      8 Fonts
  707.  
  708.        8.1 The meaning of ''Font`` and ''Face``
  709.  
  710. First: What's the difference between a fonts and a face?
  711.  
  712. When calling a font selector there may be Dutch 801, Dutch 801 italic,
  713. Durch 801 Bold and Dutch 801 Bold Italic. These are 4 faces, alltogether
  714. creating a font.
  715.  
  716. This separation isn't that simple at bitmap fonts, because all attributes are
  717. created from only one file (this can be made with vector fonts too, but it's
  718. quite nonsens In my opinion). That's why I first didn't note that this
  719. attribute creation is buggy in some versions of SpeedoGDOS (see 16.3.3).
  720.  
  721. Using vector fonts this border isn't that sharp with Multiple Master fonts
  722. (see 10.4.1) and TrueType GX fonts (see 10.5.2) too.
  723.  
  724. Me I'm not always using this separation of font and face in this FAQ.
  725. Especially in the chapter about font formats. ("Face format" doesn't exist
  726. and it'd sound strange if one says:
  727.              ''These faces are saved in each font format.``)
  728.  
  729.        8.2 The meaning of ''format`` and ''representation``
  730.  
  731. ''Format`` is used in two ways when talking about fonts, what makes it a
  732. bit confusing.
  733.  
  734. First it's used e.g. for the TrueType and the Type 1 *format* and second
  735. it's used to differ the Macontosh and the Windows *format* (and others)
  736.  
  737. To solve this confusion in this FAQ
  738.  
  739.          o We'll use ''format`` to seperate TrueType, Type 1, Speedo ...
  740.          o ''Representation`` will be used to seperate the file formats.
  741.            This is used for mathematics and physics when groups *look*
  742.            different but both can be displayed bijectively upon each
  743.            other - even in their structure
  744.            (Stef: harggngrl. Sorry, I hope Gerd or Chris will help here.
  745.                   Chris thought of using ''version`` instead)
  746.  
  747. *Then* there's no more confusion about this:
  748. - Macintosh TrueType format in Macintosh representation
  749. - Macintosh TrueType format in Windows representation
  750. - TrueType for Windows format in Macintosh representation
  751. - TrueType for Windows format in Windows representation
  752.  
  753. (Stef: looks funny <g>)
  754.  
  755. And it's easier to say that Speedo (from 5.0) and NVDI (from 3.0) need to
  756. use the Windows representation of a font, but don't care if the fonts are
  757. in Windows or Macintosh format.
  758.  
  759.      9 Bitmap fonts
  760.  
  761. The fonts used are bitmap fonts in the DR standard format. They have to be
  762. saved in Intel format. Motorola format isn't supported by any GDOS.
  763. (See [Whe88] and appendix)
  764.  
  765. GDOS bitmap fonts have their width information defined in both, screen font
  766. and printer fonts. Sadly the designers were a bit too zealous and fitted the
  767. width of the sreen fonts to make them look very beautiful. They've done a
  768. good job, but they're not similar to the printer fonts and don't allow
  769. WYSIWYG.
  770.  
  771. There are many fonts on the Internet only for the screen and maybe useable
  772. for one printer. Everybody using these fonts should know that he can't print
  773. documents in an acceptable quality via GDOS.
  774.  
  775. But in the Atari and former BELA package there are included fonts for
  776. all printer drivers in this package (the 360*360dpi fonts are missing in the
  777. Atari package). If you have a useable program you can print every document
  778. with every driver.
  779.  
  780.     10 Vector fonts
  781.  
  782. Vector fonts don't use pixels, they are created with algorithms - supported
  783. by shapes and hints. These algorithms (see METAFONT for a good example) make
  784. the fonts copyrighted like normal programs. (See [Walsh] for this)
  785.  
  786. Here I'll write a bit about vector formats. Why should a pure user try to
  787. understand it? Nowaydays you'll just get a cheap Font CD, choose 17 of the
  788. most interesting fonts for your first poster an print out the creation.
  789.  
  790. Problems are: I have one face in different formats. Which one should I
  791. take? Sometimes I have problems on screen, when I print out something or
  792. only when using a specific size. So what?
  793.  
  794. (When you have 17 Garamond styles from 17 different distributors it's
  795.  better to read a magazine about typography or DTP to get help)
  796.  
  797.       10.1 FSMGDOS fonts
  798.  
  799. The vector fonts with the old FSM-GDOS format by QMS/Imagen Corp. are
  800. named with OTL.
  801.  
  802. These fonts and drivers should'nt be used no more and are listed to only for
  803. completion of this FAQ.
  804.  
  805.       10.2 Bitstream Fontware fonts
  806.  
  807. Just to prevent confusion:
  808. Bitstream uses the Fontware format. This - for example - can't handle
  809. hints.
  810.  
  811. It's got nothing to do with the GDOS font formats listed here.
  812.  
  813.       10.3 Bitstream Speedo fonts
  814.  
  815. The vector fonts in SpeedoGDOS format are named with SPD.
  816.  
  817. They are supported by all SpeedoGDOS releases and by NVDI 3.0 or higher.
  818.  
  819.          10.4 Type 1 fonts
  820.  
  821. Type 1 fonts are available for MacIntosh abd MS-DOS/Windows. They only have
  822. differences in the internal representation, not in the information.
  823.  
  824. At least one of these formats is supported by SpeedoGDOS from V5.0a. But I
  825. already found some that SpeedoGDOS 5.0a can't display.
  826.  
  827. Just a note:
  828. It's wrong thinking PS interpreters could use Type 1 fonts just because
  829. Adobe's original PS interpreter does this.
  830. It depends on the producer of the interpreter to decide, which font's
  831. format is used. But one thing you can trust:
  832. A PS document looks different on screen and printer (Stef: hehehe,
  833. Calamus)
  834.  
  835.   7.3.5 Multiple Master (MM) fonts
  836.  
  837. ATM 3.01 (Adobe Type Manager) for Windows now is capable of scaling MM
  838. fonts. With this technology not only height, size, skew angle and rotation
  839. can be set for output, there's one more continuosly parameter. This is to
  840. set, what thick a face is to be displayed. This is no simple algorithm -
  841. like others at GDOS - but the font designer can make sure where to change a
  842. face when it's more or less fat.
  843.  
  844. This subsection only is FYI. SpeedoGDOS 5.0 only can handle normal Type 1
  845. fonts - and NVDI none.
  846.  
  847. When taking a look at [Hil95] (about the URW PrintWorks CD), it's visible
  848. that
  849. URW has such technology - internally - too. The extremely interesting book
  850. [Kar92a] is by URW too.
  851.  
  852. --------
  853.  
  854. Q: These MM fonts are an extension to Type 1 fonts, right?
  855.  
  856. A: Yeah!
  857.  
  858. Q: So I can use MM fonts with Windows, but what do I do with my old
  859.    PostScript printer?
  860.  
  861. A: No matter, he can handle it anyway.
  862.  
  863. Q: Huh? Which way?
  864.  
  865. A: It's been noted already that vector fonts are algorithms. Adobe simply
  866.    defined a new operator.
  867.  
  868. Q: My old PostScript printer doesn't understand that operator, right?
  869.  
  870. A: Right. But the definition of this operator can be distributed within
  871.    the font. That's the way it's actually done.
  872.  
  873. Q: That's why all PS printers can handle this?
  874.  
  875. A: Sure. Only the coding interface should have to be fixed. That's why a
  876.    new ATM is released for Windows.
  877.  
  878. Q: Great! Then I won't have to get 50 faces for each font.
  879.  
  880. A: Yeah, and you'll have enough money left for an ice ;-)=
  881. --------
  882.  
  883.            10.4.2 Type 1 GX fonts
  884.  
  885. These are told to have the same features as TrueType GX fonts (see
  886. 10.5.2).
  887.  
  888.       10.5 TrueType fonts
  889.  
  890. This format is available for MacIntosh and MS-DOS/Windows too.
  891.  
  892. SpeedoGDOS from V5.0a and NVDI from version 3.0 can handle both, no
  893. matter if it's for MacIntosh or MS-DOS/Windows. The MS-DOS format
  894. is a superset of the MacIntosh format.
  895.  
  896. By Apple's definition it's got different tables (like the chunks known from
  897. the IFF format). In the table's header a name and a length is noted. This
  898. way a program can ignore tables it can't handle. When new types of tables
  899. are defined, they have to be announced to Apple. Required and optional
  900. Tables are defined by Apple too.
  901.  
  902. On Macs, .suit is the suffix for TrueType files. The data is found in
  903. the resource fork.
  904. (Stef: That's not always right, with System 7 fonts are in the folder
  905. Fonts in the System folder. They may be in a suitcase there)
  906.  
  907. I don't know any official documentation which tables are used or
  908. required by SpeedoGDOS 5.0 ff or NVDI 3.0 ff.
  909.  
  910.            10.5.1 TrueType for Windows 3.0
  911.  
  912. Microsoft used this procedure to announce new tables and make them
  913. mandatory for Windows.
  914.  
  915. The difference between the Apple and Microsoft format simply is that
  916. Microsoft declared more tables as mandatory. Plus the fixed order of
  917. glyphs when special flags are set. A definition of the Microsoft format is
  918. found in [Mic]
  919.  
  920.            10.5.2 TrueType GX fonts (or TrueType 2.0)
  921.  
  922. Apple expanded the TrueType format for any design axle. So we have a
  923. technology similar to Multiple Master fonts (see 10.4.1).
  924.  
  925. New Features:
  926.  
  927.         o TT GX fonts may contain Type 1 data
  928.         o automatic ligature substitution
  929.         o more than one base line (e.g. for mathematic formula)
  930.         o track kerning informations (NVDI from 3.02 uses them)
  931.  
  932. These features are distributed by the Line Layout Manager (LLM) on the Mac
  933. an they are independent from the scaler used. So - at least on a Mac -
  934. these features can be used by all font technologies
  935.  
  936. Informations are available by the Apple developer support organization
  937. (APDA).
  938. Their EMail address is: adpa@applelink.apple.com
  939. The ''TrueType Book`` describing TrueType 1.0 and the ''QuickDraw GX Font
  940. Formats Book`` (describing the GX extensions) can be ordered there.
  941.  
  942. TrueType 2.0 has new tables requiring (different to MM fonts) new scalers
  943. to use this technology.
  944.  
  945.            10.5.3 TrueType for Windows NT
  946.  
  947. Instead of using the GX font's definition Microsoft defined another new
  948. font's format for Windows NT (Stef: When are they about to define
  949. darkness as a standard <g>) A special feature is the double amount of
  950. required characters compared to TrueType 1.0
  951.  
  952.       10.6 Calamus fonts
  953.  
  954. Can YOU tell me more about these?
  955.  
  956.       10.7 Comparison of vector formats
  957.  
  958. There's no noncommercial program on any platform that can convert one
  959. format to the other. A lot of fonts are only available in one format.
  960.  
  961. But what makes a conversion so difficult? To ask different: Which infor-
  962. mations are stored by which way?
  963.  
  964.             10.7.1 Curves
  965.  
  966. First the shape of the chars should be saved. But that for many ways are
  967. used (see [Kar92a]):
  968. Type 1:   Uses cubic Bezier curves aka cubic B-splines
  969. TrueType: Uses square Bezier curves aka square B-splines
  970. Speedo:   Uses cubic Bezier curves aka cubic B-splines
  971.  
  972. For most applications there should be no difference between several font
  973. formats. Therefore SpeedoGDOS transforms TrueType characters into
  974. cubic bezier curves for v_getoutline. I'd like to get (optional) quadratic
  975. bezier curves in this case and v_bez_fill should be able to cope with it.
  976.  
  977. Square B-splines are much faster than cubic Bezier curves but you have to
  978. store about 4 times as much points to achieve the same quality.
  979.  
  980.             10.7.2 Hints, instructions, switches
  981.  
  982. The next problem is the display on media with low resolution. For a neutral
  983. observer Speedo fonts always look quite good on the screen (well, some fonts
  984. are ugly by nature).
  985.  
  986. But I've found TrueType fonts that look as ugly as nothing else on the
  987. screen. For example the two vertical lines of an 'n' are not the same, one
  988. is 1 pixel and the other is 2 pixels thick.
  989.  
  990. The way to prevent those errors are hints. Companies use different names
  991. for Hints.
  992.  
  993.                o Adobe: Hints
  994.                o Apple: Instructions
  995.                o URW:   Switches
  996.  
  997. This method is used by Speedo, Type 1 and TrueType (but not by Type 3 and
  998. CFN). But hints given by the format don't mean that they're used too!
  999. (That's why others got different experiences with these formats than me)
  1000.  
  1001. So, finally: All these three font types can look very good on the screen,
  1002. Type 3 and CFN can't. [ever tried to print CFNs on a printer with less
  1003. than 360x360dpi?]
  1004.  
  1005. Now I've noted, what hints are doing and in which formats they're used. But
  1006. *how* do they work? Specific parts of a character have a specific >>job<<,
  1007. like serif, bow etc. This is saved besides the font's outline. This way the
  1008. scaler e.g. can create similar vertical lines of a >n<. More is found in
  1009. [Kar92a]
  1010.  
  1011. Type 1 only can handle very few different hints compared to other formats.
  1012. But the new MM technology (see 10.4.1) makes Type 1 much better at some
  1013. parts.
  1014.  
  1015. Note:
  1016.   with v_getoutline you get the outlines in the workstation's actual
  1017.   resolution. Remember that using hints depend of the resolution. Plans
  1018.   exist to make v_getoutline independent from the actual hint size.
  1019.  
  1020.             10.7.3 Internal resolution
  1021.  
  1022. After the problem with low resolution now there's the problem with the high
  1023. resolution. Even if you think there shouldn't be any; there are! (See
  1024. [Kar92b] too)
  1025.  
  1026. To display a vector font first an internal system of coordinates has to be
  1027. selected. To do this the em-square is devided in units. CFN has one from
  1028. 0 to 16000, Type 1 (which was created when there were no high-res printers)
  1029. one from 0 to thousand. Due to this there are 'corners' visible at large
  1030. letters or high resolutions (in the professional league)
  1031.  
  1032.    Referring to [Kar92a] the internal resolution can be raised by the
  1033.    DIV operator. But this has to be supported by the font editor.
  1034.    (Is this done regularly and does the scaler get remarkably
  1035.    slower by this?
  1036.  
  1037. CFN can make the big deal here.
  1038.  
  1039. With TrueType, the font designer can choose a resolution up to 16768.
  1040. Resolutions equal to 2^ are faster than others.
  1041.  
  1042. (Which internal resolutions do Speedo, TrueType and OTL have? Is the
  1043. Bitstream format mentioned in [Kar92a] identical to the Speedo format?)
  1044.  
  1045.             10.7.4 Linear and optical scaling
  1046.  
  1047. Do we now have - with the description of the shape, a high internal
  1048. resolution and the hints - a scalable font? Sure not!
  1049.  
  1050. A font being designed for 16pt has a totally different shape as a doubled
  1051. 8pt fonts (see Knuth: The METAFONT book; Kopka: LaTeX, [Kar92a] etc.). A
  1052. well designed font isn't lineary scalable.
  1053.  
  1054. In large fonts vertical lines are much thicker than the empty space between
  1055. them. But this information for optical scaling can be saved in a font too.
  1056.  
  1057. So a font, being 20 pixels high on the screen (this is usually a large font)
  1058. should look different to one being 20 pixels high on a laser printer (this
  1059. is a small font that should have small vertical lines).
  1060.  
  1061. The rest of this subsection was misunderstood by to many people. Anyway I
  1062. seem to be the only one thinking here's a problem. That may have (at least)
  1063. three causes:
  1064.  
  1065.         o I can't make you understand what I think
  1066.         o I'm a crazy mind
  1067.         o the problem's too complicated to make anyone even *see* a problem
  1068.           here
  1069.  
  1070. Well, let me (Stef: and me) start anew:
  1071.  
  1072. Vector formats make it possible for the font designer to decide a face may
  1073. look different in points or pixels below a specific size. For example it's
  1074. useful to make a face broader when used with a small size [Kar92a] -inde-
  1075. pendent from the printer's output quality.
  1076.  
  1077. So, let's display a small text in a window (e.g. with a size of 8pt). And
  1078. the font designer made this face look broader at 8pt or smaller.
  1079.  
  1080. Another window is used as a magnifier to get a doubled size (Almost any
  1081. Word processor has this function - Stef: really?)
  1082.  
  1083. This doubled view in the magnifier's window *should* be broader like the
  1084. 8pt text, the WP's coder shouldn't have to take care about that.
  1085.  
  1086. But the coder has to use a size of 16pt in the magnifier's window - and now
  1087. the designer's decision (to make the face look broader from 8pt) is
  1088. ignored!
  1089.  
  1090. To solve this problem there are two ways:
  1091.  
  1092.    1. The coder sets two values for the size.
  1093.        - The linear size (16pt here)
  1094.        - The optical size
  1095.       But the font engine and the bindings have to be fixed to that.
  1096.       (it's my recommendation, no reality)
  1097.    2. The only method acutally possible to be done are the offscreen
  1098.       bitmaps handled by NVDI (when the EdDI cookie exists). When opening
  1099.       these workstations the logical pixel size has to be set. After that
  1100.       it can't be changed no more each optical scaled font size costs a
  1101.       lot of RAM. Especially for printing each (non standard-) optical
  1102.       scaled text has to be buffered as bitmap (either by the driver or
  1103.       the program itself; it depends on the GDOS release if the driver
  1104.       saves bitmaps). This bitmap can cost more than the user's (or
  1105.       his computer's) RAM.
  1106.    3. Another (not yet existing) possibility would be a free choice of of
  1107.       linear an optical scaling by v_getbitmap.
  1108.    4. The most simple way - there wouldn't be a buffer fo bitmaps
  1109.       needed - would be as follows:
  1110.       the logical pixel size can all physical and logical workstations.
  1111.       The scalers *can* handle different pixel sizes, so I think it
  1112.       wouldn't be difficulty to make NVDI and SpeedoGDOS handle this.
  1113.  
  1114. The problem with the magnifying window could be solved by using another
  1115. virtual workstation with logical pixels half as big. Both windows could
  1116. use the 8pt text then. Both windows would display this text as the font
  1117. designer wanted it to look like - and the magnifying window would display
  1118. the double size of the normal window.
  1119.  
  1120. If different optical scaling can be found in a document, the logical
  1121. pixel size has to be changed afterwards - or the linear and optical
  1122. scaling has to be set at the font size.
  1123.  
  1124. Did anyone get it? (Stef: Yeah, I'd like to get feedback too!)
  1125.  
  1126.       10.8 Format conversion of scalable fonts
  1127.  
  1128. From what I wrote above I hope you'll realize that converting a font from
  1129. one format to another is about as easy as converting a highly optimized
  1130. program from one language to another ...
  1131.  
  1132. Problems:
  1133.  
  1134.      o The only converting program I (Stefan) know for Atari
  1135.        is TypetoType fby Hasso Baudis, converting Type1 to CFN
  1136.      o There isn't any program on any platform that is accepted by the
  1137.        comp.fonts community (according to the comp.fonts FAQ)
  1138.      o For a program capable of converting fonts you'll pay a big
  1139.        amount of money. But even good programs need manual corrections.
  1140.        Looking for a PD or shareware program won't be
  1141.        successfull ...
  1142.  
  1143.     10 Printers
  1144.  
  1145. _______________________________________________________________________
  1146. |_Producer____________Printer___________________|Drivers Fitting______|
  1147. | NEC               |P6+,P7+,                   |NECP...              |
  1148. |___________________|P60,P70____________________|NB15_(FX...,NX1000)__|
  1149. |_HP________________|LaserJet_II________________|HP_LJET______________|
  1150. |_HP________________|DeskJet,_LaserJet_III,IV___|DESKJET_(HP_LJET)____|
  1151. |_CANON_____________|BJ10E______________________|BJ10_________________|
  1152. |_CANON_____________|LBP_4/8____________________|CANONLBP,_LBP________|
  1153. |_Mannesmann-Tally__|MT_90______________________|MT90_________________|
  1154. |_Epson_____________|Stylus_800_________________|STYLUS_______________|
  1155.  
  1156. Drivers in parantheses work but don't use the ability of the printer totally.
  1157. This means - for 24pin printers - that these are used in 9pin mode. At
  1158. HP compatible Laser  and Ink printers this means that the data isn't packed
  1159. though being supported by the printers.
  1160.  
  1161. Some Deskjet drivers are said to make problems. In this case try the
  1162. Laserjet driver. The printing takes longer then (due to more data) but
  1163. the problems should disappear.
  1164.  
  1165. The BJ10 drivers use the Proprinter emulation. Don't use them in the epson
  1166. mode!
  1167.  
  1168. The Stylus shouldn't be used with 24needle drivers. The needles overlap
  1169. (the ink dots of the stylus don't) and so the drivers just don't print some
  1170. dots.
  1171.  
  1172. The meaning of compatible normally is made by the producers of the
  1173. compatible printers.
  1174.  
  1175. Notes:
  1176.  
  1177.   o If You don't find your printer in the list and knows a fitting driver,
  1178.     please write me a note.
  1179.   o Try other drivers even if you have found one fitting to your printer.
  1180.   o Of course the FontGDOS drivers have a lot of problems with the memory.
  1181.     But the speed of'em is faster than the other (except Speedo ones).
  1182.  
  1183.     12 Programs
  1184.  
  1185. Nowadays it's obvious (but not usual) to use GDOS in every program.
  1186.  
  1187. The following list is limited to those using GDOS to print too.
  1188.  
  1189. _____________________________________________________________________________
  1190. Kind of Program______|Program______________|Distributor___________________|Sp|
  1191. Chart/Measureanalysis|Xact                 |SciLab                        |y |
  1192.                      |MM-Graph             |Overscan                      |  |
  1193.                      |Off-Axis             |ByTech                        |y |
  1194.                      |DATA_Professional 4  |Ralf Wirtz                    |  |
  1195.                      |MessPlot (Shareware) |Michael Siek (Shareware)      |y*|
  1196.                      |DPE                  |MAXON (Special disc)          |  |
  1197.                      |GRAPH                |Hans-C Ostendorf (Shareware)  |y |
  1198. _____________________|rho-Analyse__________|rhotron_GmbH__________________|y_|
  1199. Graphics             |Xact Draw            |SciLab                        |y |
  1200.                      |Kandinsky            |U. Rossgoderer (Shareware)    |y |
  1201.                      |TRIPLE_D             |U. Rossgoderer (Postcardware) |y*|
  1202.                      |Chagall              |Confect Corp.                 |y*|
  1203.                      |Easydraw             |MIGRAPH                       |  |
  1204.                      |TouchUp              |MIGRAPH                       |  |
  1205.                      |GEM-View             |D. Fiebelkorn (Shareware)     |y*|
  1206.                      |CHARLY_IMAGE         |Wilhelm_Mikroelektronik       |y*|
  1207.                      |STELLA               |Thomas Kuenneth               |y |
  1208. _____________________|Tarkus_______________|Eickmann_Computer_____________|y_|
  1209. Spreadsheet          |LDW Power Calc 2     |COMPI                         |  |
  1210.                      |K_Spread_4           |Omikron                       |  |
  1211.                      |Graal Calc 3         |Editions Profil               |  |
  1212.                      |Atari Works          |Atari Corp.                   |y |
  1213.                      |OPUS                 |Doug Harrison (PD)            |n |
  1214. _____________________|BASiChart____________|Dr.__Ackermann________________|y_|
  1215. Text/DTP             |Calligrapher         |Working Title                 |  |
  1216.                      |Wordflair II         |H3                            |  |
  1217.                      |Timeworks Publisher  |GST/H3                        |  |
  1218.                      |G&D Text II          |Hard & Soft                   |  |
  1219.                      |Cypress              |Sascha Luedemann              |  |
  1220.                      |Papyrus (Gold) S     |R.O.M.                        |y |
  1221.                      |Infinity             |ByTech GbR                    |  |
  1222.                      |Atari Works          |Atari Corp.                   |y |
  1223.                      |7Up                  |Michael Thaenitz (Shareware)  |y |
  1224.                      |Tempus Word          |                              |y |
  1225.                      |Gut'nberg            |BlowUp                        |y |
  1226.                      |JANE                 |DeltaLabs                     |y |
  1227.                      |QED                  |Quellenberg/Felsch (PD)       |y |
  1228.                      |1st Word Plus 4.1    |GST/ICP/COMPO                 |y |
  1229. _____________________|TWIST_3_Office_______|MAXON_________________________|y_|
  1230. Fax                  |Junior Office        |TKR                           |y |
  1231.                      |Tele Office          |TKR                           |y |
  1232.                      |Straight Fax!        |Toad Computer                 |y |
  1233. _____________________|CoMa_________________|SoftBaer Gbr__________________|y_|
  1234. Sim._of_dyn._Syst.___|Dynasys______________|Digital_Systems_&_Consulting__|__|
  1235. Text/List printing   |IdeaList             |Chr. Bartholme (Shareware)    |y |
  1236. _____________________|ProList______________|Richstein_&_Dick______________|y_|
  1237. Chem.__Displaying    |Monoklin  2.0        |MAXON (Special disc)          |  |
  1238. _____________________|Chemograph Plus______|DigiLab_______________________|__|
  1239. Circuitlayout        |Route iT! & Circu iT!|Think!                        |  |
  1240. _____________________|Platon_______________|VHS___________________________|y*|
  1241. Vektoriser___________|Convector_II_________|ZYN/TEAM-Computer_____________|__|
  1242. Hardcopy_____________|rhocopy______________|rhotron_______________________|__|
  1243. Disk-List-printers___|TreeView_2.4_________|Stephan_Gerle_________________|__|
  1244. Fraktals_____________|Fractals_IV__________|Harald+Martin_Hansen__________|__|
  1245. PS-Interpreter_______|Postman______________|SILICON_Technology_&_Promotion|__|
  1246. Concordance__________|Concordance__________|SPIRIT_WARE___________________|__|
  1247. Packershell_f.__MTOS_|MARC_4.0_____________|Think!________________________|y_|
  1248. Logikanalyser________|CLA_v2r1_____________|C._Graham_(Shareware)_________|y_|
  1249. Adress base__________|Pegasus______________|Pergamon Software_____________|y_|
  1250. Symbolic mathematics_|Solutions            |Elan Software                 |  |
  1251. _____________________|Riemann II___________|Richter Distributor___________|__|
  1252. Database_____________|Atari Works__________|Atari Corp.___________________|y_|
  1253. Notators_____________|MIDI File Printer____|ST PD-Disc 677 (Public Domain)|__|
  1254. CASE_Nassi Schneider.|UpToCase_____________|Michael_Nolte_________________|y_|
  1255. Invoicing____________|Kundendirektor_+_____|Michael_Kammerlander__________|y_|
  1256. Desktop______________|EASE_from_V.3.1______|ASH___________________________|__|
  1257. Games________________|Stello (Othello Game)|Claus_J._Petersen_____________|y_|
  1258.  
  1259. This list is no commercial. I'll include every program I get to know.
  1260. (Comment by the Translator: Sorry for mentioning Atari Works three times,
  1261.  but I wanted to keep the 'Text/DTP' and 'Spreadsheet' Chapters')
  1262.  
  1263. Notes:
  1264.  
  1265.   o Programs listed in the Speedo column with 'y*' support Speedo but don't
  1266.     use it - don't output text too.
  1267.   o Xact can print Speedo fonts without Speedo too.
  1268.   o FSM-GDOS is included in the Wordflair II package.
  1269.   o Platon only uses GDOS to make output of metafiles
  1270.   o I didn't make it to print via GDOS in OPUS.
  1271.     (I've been told, OPUS doesn't chose the fonts it can handle with,
  1272.      and doesn't print if even one of these fonts is installed. See 7.1 too)
  1273.   o Programs only printing via device 21 (like OPUS and CLA are out! (see
  1274.     16.2 too)
  1275.   o 7up only uses non proportional fonts (e.g. Monospace 821 from Speedo)
  1276.   o Tempus Word only supports Speedo Fonts but prints with its own drivers
  1277.     This seems to be due to the capablity of handling CFN and its own fonts
  1278.   o That's Write & 1st WordPlus 4 both can use Speedo fonts without
  1279.     Speedo. TW 4 will be able to use TTF and Type 1 without SpeedoGDOS
  1280.     (well, TW and the SpeedoGDOS 5.x font extension to TTF and Type 1
  1281.      is created by the same coders ...)
  1282.   o LDW-PowerCalc: MAXON lost the purchaser database. Ask COMPO for updates
  1283.     (Stef: hmm, it seems to be a German-only problem?)
  1284.   o Tarkus is a label printing program.
  1285.   o In 16.1.2 you'll find a list of programs working *only* with ABC-GDOS.
  1286.  
  1287. Kandinsky Version 1.73
  1288. ftp://ftp.cs.tu-berlin.de pub/atari/Graphic/kand173
  1289. (Version 1.74 is the actual one, though, note by Stefan;
  1290. Gerd: but not on any FTP-Server
  1291. Stef: Should anyone put it there?)
  1292.  
  1293.     13 Utilities
  1294.  
  1295.       13.1  fontfix
  1296.  
  1297. Problem: The font height is included wrong at some fonts. fontfix discovers
  1298. this error and corrights it.
  1299.  
  1300. In the Internet fontfix can be found here:
  1301.  
  1302. ftp://ftp.uni-muenster.de/pub/atari/Applications/Dtp/Fonts/Gdos
  1303.  ftp://ftp.cs.tu-berlin.de /pub/atari/utils
  1304.  
  1305.       13.2  Outline fonts
  1306.  
  1307. Outline Fonts Accessory by CJG
  1308.  
  1309. What for: This utility edits the EXTEND.SYS for SpeedoGDOS. This file
  1310.           contains a description of the volume from the Speedo caches, the
  1311.           fonts and the font-sizes. The caches can be saved to disc and loaded
  1312.           again from there too.
  1313.           A good done program except to the preset cache sizes fitted to
  1314.           FSM-GDOS not Speedo.
  1315.  
  1316. Filename: OUTLINE.PRG alias OUTLINE.ACC, 67644 Bytes
  1317.                                 Speedo 5 49254 Bytes
  1318.  
  1319. Spread with SpeedoGDOS.
  1320.  
  1321. (Why doesn't Atari make it to make programs including a display of the
  1322.  version?
  1323.  Chris: Because Atari aren't in the computer business any more :-(
  1324. )
  1325.  
  1326.       13.3  Printer drivers
  1327.  
  1328. GDOS Devices Accessory by CJG
  1329.  
  1330. What for: To edit the ASSIGN.SYS
  1331.  
  1332. Filename:  DRIVERS.PRG alias DRIVERS.ACC, 64878 Bytes
  1333.                                 Speedo 5  41592 Bytes
  1334.  
  1335. Before starting this program it's better to create a backup of the
  1336. ASSIGN.SYS!
  1337. The (at least) two reasons are the following:
  1338.  
  1339. 1. The informations about the bitmap fonts are removed without comment.
  1340. 2. ASSIGN.SYS is removed by a new one if 'Benutzereigen'-'Hinzufuegen' (in
  1341.    the German release) is selected wihtout any chance to get it back.
  1342.    (The English Version should have a Dialog like 'Own drivers' 'Add' or
  1343.    similar). To all coders: Don't copy that style!
  1344.  
  1345. If this utility should display no drivers sometimes simply start ASSIGN.PRG
  1346. (see next subsection)
  1347.  
  1348. DRIVERS.PRG/ACC only displays the Speedo drivers of my collection. Does
  1349. anybody know, how it does this? Even it doesn't display the Filename but a
  1350. name being included as string in the driver. How does one get there?
  1351.  
  1352.       13.4  ASSIGN
  1353.  
  1354. ASSIGN 1.0d is by Dirk Sabiwalsky (PD).
  1355. (Supplied with NVDI3?)
  1356.  
  1357. It tests three things:
  1358.  
  1359.    o Are there several fonts using the same ID and have different Names
  1360.      (Typefaces)?
  1361.    o Are there several fonts using the same ID and the same Pixelheight?
  1362.    o Are there several fonts with the same name (Typeface) and different
  1363.      IDs?
  1364.  
  1365.       13.5  FONTCHK
  1366.  
  1367. FONTCHK tests GDOS fonts if they have possible errors.
  1368.  
  1369. For example, it's spread with ProList.
  1370.  
  1371.       13.6  FONTCNV
  1372.  
  1373. Converts GDOS fonts from Motorola to Intel format.
  1374.  
  1375. Comes with ProList too.
  1376.  
  1377.       13.7  GEMFont
  1378.  
  1379. Fonteditor being able to read Signum- and PK (TeX)- Fonts too.
  1380.  
  1381. Internet:  ftp.tu-clausthal.de:pub/atari/systools/gdos/gemfo120.lzh
  1382.  
  1383. Use the chance to get a new unlzh or lhxarc.
  1384.  
  1385.       13.8  FontMonger
  1386.  
  1387. Converter and editor for different vector formats. Only works on IBMs or
  1388. MAC though.
  1389. (Chris: Does *not* work with Speedo fonts. We have a copy at work and
  1390. I've tried!)
  1391.  
  1392.       13.9  Font ID
  1393.  
  1394. Font-ID is a little freeware tool made by Frank Schneider. In a window it
  1395. displays the fonts installed with GDOS or SpeedoGDOS including the Font-ID
  1396. in different sizes. So you can get an overview when you don't have a program
  1397. with font selector/ID display function at the moment.
  1398.  
  1399.       13.10 X4U
  1400.  
  1401. Speedo fonts have much more glyphs than the ones displayed in the ASCII
  1402. charset. With this program by Peter Hellinger you can setup, which char is
  1403. to be used at which ASCII code. It's distributed by R.O.M.
  1404.  
  1405. Now a little story about this program (MausNet readers may remember):
  1406. R.O.M. logicware planned to put this tool on the SpeedoGDOS 4.2 disc too.
  1407. That didn't work, Peter used his Magic library (see subsection 14.3)
  1408. making the program too large. So R.O.M. sold it seperately for DM 25.-
  1409. what made Peter (often called ''Helli``) force a lawsuit (Stef: correct
  1410. translation?). Ulli Ramps got tired of this argument and set X4U's status to
  1411. PD, making Helli call his lawyer again (Stef: *sigh*)
  1412. (Hold the line, to be continued next subsection)
  1413.  
  1414.       13.11 Charmap
  1415.  
  1416. Charmap is Atari's original tool making the same as X4U, but only
  1417. developers got it.
  1418.  
  1419. But charmap is the name of Helli's newer-better-larger (Stef: that's my
  1420. note there) version of X4U, which is - at version number 0.9 - Freeware.
  1421. (To be continued)
  1422.  
  1423.       13.12 GDOS-Font
  1424.  
  1425. Filename: GFONT112.LZH
  1426. Shareware with limitations
  1427. GDOS-Font 1.12 (Aug. 22nd 1994) by Holger Weets@ol.maus.de
  1428. (Remember: when sending mail to any @maus.de user, no mail bigger than
  1429. 16KB!)
  1430. Display and editing of GDOS fonts, including or removing them in the
  1431. ASSIGN.SYS! = Never more manually changing the ASSING.SYS, GDOSFONT does it for
  1432. you!
  1433. (Stef: This is the - translation of - the original FILE_ID.DIZ. Just to
  1434. note this, if you think it's a commercial <g>)
  1435.  
  1436.       13.13 REFONT
  1437.  
  1438. This Program converts Type-1 fonts between Mac- Unix- and Windows format and
  1439. TrueType fonts between Mac- and Windows. But no conversion from TT to T!
  1440. or vice
  1441. versa (Stef: :-/= )
  1442.  
  1443.       13.14 Arkus
  1444.  
  1445. Arkus is a font manager by Pergamon Software
  1446.  
  1447. But I didn't quite get the point, what this program may be used for. Can
  1448. you tell me?
  1449.  
  1450.     14 Font Selectors
  1451.  
  1452. We all know this useful thing about file selectors:
  1453. The Operating system soesn't only offer a file selector, it's got an interface
  1454. to use own file selectors in every application.
  1455.  
  1456. A scaled interface for FONT selectors doesn't exist, normally they're
  1457. offering their jobs by cookies. The work to make a program support font
  1458. selectors via cookies is much smaller than writing one for yourself. If there
  1459. wouldn't ... but let's take a look at the candidates first.
  1460.  
  1461.       14.1 UFSL
  1462.  
  1463. UFSL from Michael Thaenitz is freeware  and is allowed to be distributed with
  1464. any application. The last version is 0.97 from April 30th 1994.
  1465.  
  1466. Fonts (faces) and size can be selected comfartable. But I didn't get a face
  1467. displayed after selecting a free size.
  1468.  
  1469. Attributs are missing and the dialoge is only modal.
  1470.  
  1471. UFSL sadly isn't in development no more. But for further development of
  1472. an *unique* interface for font selectors, the sources are free!
  1473.  
  1474.       14.2 XUFSL
  1475.  
  1476. XUFSL 1.05 by Stefan Rogel is the one with most features - compared to
  1477. the other ones mentioned here. It even can handle Speedo 5 (and NVDI 3,
  1478. note by Stefan) too.
  1479.  
  1480. This selector looks great to me. The large amount of information is
  1481. handled very well with index cards. The flaw I noted (Popups to select
  1482. faces), doesn't disturb me as much as in release 1.03 (where the big
  1483. amount of popups were quite irritating).
  1484.  
  1485. All interesting informations about the face selected are shown, the
  1486. complete ASCII table can be requested.
  1487.  
  1488. My wishes would be:
  1489.  
  1490. - printing the ASCII table of the font selected
  1491. - access to the complete 16Bit charset
  1492.  
  1493.       14.3 Magic (from Peter Hellinger, *not* MagiC!)
  1494.  
  1495. This selector is part of Magic 4.00 from Peter Hellinger and not available
  1496. separately. Magic itself - NOT MagiC! the multitasking OS - can be copied
  1497. freely. But the information how to use it must be paid.
  1498.  
  1499. It's nice that this selector can be set in a non modal dialog, FlyDial or
  1500. normal dialog. Scrolling through the list is fast too.
  1501.  
  1502. Attributes aren't selectable and the size selection in the edit line isn't
  1503. acceptable the way it's done.
  1504.  
  1505. The selector only can be used when the event handling is completely done by
  1506. Magic, what makes the coder use a fixed code structure (working parts must be
  1507. rewritten, other things don't work anymore) and produces new errors.
  1508.  
  1509.       14.4 FontSel
  1510.  
  1511. FontSel from Holger Weets is totally cmpatible to UFSL for the programs.
  1512. It's small size and the selecteable attributes are a very nice feature.
  1513.  
  1514. Version 1.00 from May, 11th 1994 only shows the System Font when using
  1515. Speedo 5.0a.
  1516.  
  1517.       14.5 Minimum requirements
  1518.  
  1519. A Font selector should work with all OS-releases (TOS, MiNT, MultiTOS,
  1520. MagiC!, Geneva, MagiCMac, Janus, GEMulator Stef: uuh hard stuff for
  1521. coders <g>). Plus with every video hardware supported by the VDI and
  1522. should show each font available from every GDOS version. (Pixel fonts,
  1523. Speedo fonts, Type1 and TrueType).
  1524.  
  1525.       14.6 Characteristics liked to be seen
  1526.  
  1527.             14.6.1 Attributes and selection
  1528.  
  1529. Its quite complicated to make the user set further characteristics of fonts
  1530. in an extra dialog. So, at least the standard attributes (bold,
  1531. outlined, ...) should be directly made available. Well, this could cause
  1532. lotsa argues, but when using vector fonts, attributes are selected by
  1533. using another face of the font (bold, italic ...) and not enabling this
  1534. for bitmap fonts would be very inconsistent (Stef: It's great to have a
  1535. German<->English dictionary for computer related words <g>). If a program
  1536. doesn't support them they should be made invisilbe (Stef: or - as the
  1537. menu use - disabled).
  1538.  
  1539. Same with the skew angle.
  1540.  
  1541. Not every program can handle all fonts. According to this every program
  1542. must be able to set, which faces have to be invisible or disabled.
  1543. An example:
  1544.   Some programs (like 7up) only use non proportional fonts.
  1545. A further feature (but not exlusively, due to BASIC) it should be possible
  1546. to pipe a procedure variable to the selector setting the kind of displaying
  1547. for each face.
  1548.  
  1549.             14.6.2 Windows and event handling
  1550.  
  1551. It would be nice if the program could set the selector in a window or normal
  1552. dialog too. It can be done much easier and more flexible than in Magic.
  1553. The font selector opens a window in the calling program's name and gives back
  1554. the window handle to it. The application further handles the events and if one
  1555. is for the font selector's window it is passed to it via a procedure call. This
  1556. simple mechanism enables the use of multiple (system wide) selectors, colour
  1557. pickers (and more) distributed by different producers being in windows on the
  1558. screen the same time.
  1559.  
  1560. Once more:
  1561.   This parallel work only is possible when no selector uses
  1562.   its own evnt_multi loop.
  1563.  
  1564. Almost all utility coders want to make it the other way (and do so). So, let me
  1565. show you, what happens, when utilities make their own evnt_multi call and set
  1566. unhandled events to the application:
  1567.  
  1568. In this case there are several utilities for an application, all making the
  1569. evnt_multi call themselves. One of those utilities makes this call, can't work
  1570. with it and gets it to the application. And now? What should the app do with it?
  1571. It isn't able to get this event to other utils, but one of'em has to handle it.
  1572. But all utils won't take any events from the app ...
  1573.  
  1574. Due to this an app can use one (window) utility as maximum. If an app uses Magic
  1575. (by Peter Hellinger) it can't use *any* utility.
  1576.  
  1577.             14.6.3 misc
  1578.  
  1579. Finally an application should be able to set if it doesn't matter if a font is
  1580. proportional or not (the user can have displayed it if he really wants to).
  1581. When not using this information the call of a selector can happen much faster!
  1582.  
  1583. My favourite selector actually is the one of papyrus, but it only works in
  1584. papyrus (yet?) [ Stefan says: It's my favourite too ;-) ]
  1585.  
  1586.       14.7 About dialogs
  1587.  
  1588. This subtopic is quite off topic to this FAQ, but I think it fits here.
  1589. Take it as a note by me about Tim Oren [Ore85]
  1590.  
  1591. I was quite curious about why I like papyrus' font selector much more than
  1592. XUFSL 1.03. This one does include all features offered by the new
  1593. libraries. *And* it doesn't break any design rule I've read.
  1594. The thougts below are a common proposal, not only for XUFSL 1.03
  1595.  
  1596. So I'll try to write, what's disturbing me intuitively [hrrrgn, note by
  1597. Stef] And that's not about font selectors but about dialogs in common - but
  1598. fixed to a concrete example ...
  1599.  
  1600. The popups (with sliders) are, what's disturbing me most.
  1601.  
  1602. State-of-the-art user interfaces (Gerd writes "Benutzeroberflaechen", but
  1603. in German it's "Benutzungsoberflaechen", the first is the user's skin <g>)
  1604. offer selection instead of input (like those *'&" MS-DOS programs). To make
  1605. this possible, the selectable thing have to be visible at first sight.
  1606.  
  1607. Popups surely can't show everything. And if there are more of'em it's
  1608. impossible to take a short look, but one has to take a deeper check what's
  1609. available too. Plus one more mouse click to open the popup.
  1610.  
  1611. For the theory: Popups are modal parts in non modal (or worse: in modal)
  1612. dialogs and modal dialogs are quite interrupting (not only to the user!)
  1613.  
  1614. Popups don't fit to the ideas of intuitive user interfaces. I know you're
  1615. proud of using Popups (even with sliders) but please: don't use them if
  1616. possible.
  1617. (Note by stef: file selectors are soon not out of concurrence, there's a
  1618. new - non modal - one, released early '95! Looks nice, I recently got it.
  1619. FREEDOM 1.0 beta;
  1620. Note by Gerd: It uses a different mechanism than described above; it
  1621. needs an additional process
  1622. Stef: But the server - ''eating`` about 180KB of RAM - can be reloaded
  1623.       when needed and is ended after use; good thing)
  1624.  
  1625.     15 Distribution
  1626.  
  1627.       15.1  Atari
  1628.  
  1629. The drivers named with Atari are availabel from Atari.
  1630.  
  1631. This Package is available at Atari shops too.
  1632.  
  1633. No docs but for this price ...
  1634.  (That's the way in Germany - other countrys may differ!)
  1635.  
  1636.       15.2  BELA
  1637.  
  1638. The fonts named BELA were available from BELA
  1639.  
  1640. There were two disks with packed printer drivers and fonts for them.
  1641.  
  1642. The fonts DO have the same IDs like the ones from Atari, but the internal
  1643. font NAME is different. Due to this these fonts are correctly not accepted
  1644. by some programs if used with Atari fonts.
  1645.  
  1646. There's almost no documentation. Not even a hint about the one owning the
  1647. copyright for the drivers or about the author(s)
  1648.  
  1649. One last thing about BELA: R.I.P. ;-)
  1650.  
  1651.       15.3  Language
  1652.  
  1653. The driver named Language is spread on the language disc of the MegSTE
  1654.  
  1655.       15.4  Internet
  1656.  
  1657. The drivers signed with 'I' are to be found in the Internet.
  1658. For example: ftp://ftp.cs.tu-berlin.de/...
  1659.  
  1660.       15.5  Working Title
  1661.  
  1662. The WT drivers are spread with Calligrapher. They are (c)Working Title, the
  1663. wt driver are licensed by Working Title.
  1664.  
  1665. No drivers are on the Calligrapher DEMO-disc. The drivers coming with
  1666. Calligrapher-lite (DM15.-) are signed with CL in the tables.
  1667.  
  1668. Screen fonts are on both discs.
  1669.  
  1670.       15.6 XWindow System
  1671.  
  1672. There are PD Speedo fonts from Bitstream. These can be used with Speedo 4.2.
  1673. I (Gerd) have no problem using them (even the umlauts are correct)
  1674.  
  1675. To find them let Archie (see 11.12 FTP) search as follows:
  1676. set search sub
  1677. prog speedo-
  1678.  
  1679. The fonts
  1680. font0648.spd -bitstream-charter-medium-r-normal--0-0-0-0-p-0-iso8859-1
  1681. font0649.spd -bitstream-charter-medium-i-normal--0-0-0-0-p-0-iso8859-1
  1682. font0709.spd -bitstream-charter-bold-r-normal--0-0-0-0-p-0-iso8859-1
  1683. font0710.spd -bitstream-charter-bold-i-normal--0-0-0-0-p-0-iso8859-1
  1684. font0419.spd -bitstream-courier-medium-r-normal--0-0-0-0-m-0-iso8859-1
  1685. font0582.spd -bitstream-courier-medium-i-normal--0-0-0-0-m-0-iso8859-1
  1686. font0583.spd -bitstream-courier-bold-r-normal--0-0-0-0-m-0-iso8859-1
  1687. font0611.spd -bitstream-courier-bold-i-normal--0-0-0-0-m-0-iso8859-1
  1688.  
  1689. (Stef: These fonts have been spread to German BBS in one package, maybe
  1690.        one helpful soul got it to your next BBS? Some CD-ROMs have them
  1691.        too)
  1692.  
  1693.       15.7  COMPO
  1694.  
  1695. COMPO offer two Bitstream Speedo packets with 100 fonts each. One costs
  1696. DM99.- Their names are ''OFFICE`` and ''GOLD``
  1697. (At your own risk)
  1698. The Office pack is good value. The fonts are:
  1699.  
  1700. Futura (17)         Humanist Slabs 712 (4)
  1701. Blackletter 686 (1)     Americana (4)
  1702. Bernhard Modern (4)     Caslon 540 (2)
  1703. Blippo (1)         Bernhard Bold Condensed (1)
  1704. Bernhard Tango (1)      Balloon (3)
  1705. Bruce Old Style (2)     Copperplate Gothic (5)
  1706. Bookman (2)         Caslon Openface (1)
  1707. Caslon Bold (2)        Futura Black (1)
  1708. Compacta (6)        Humanist 970 (2)
  1709. Humanist 521 (11)    Aldine 721 (7)
  1710. Humanist 531 (3)    Bernhard Fashion (1)
  1711. Humanist 777 (7)    Caslon Old Face (3)
  1712. Aldine 401 (4)        Bitstream Amerigo (5)
  1713.  
  1714. Another package with 40 Speedo faces - called ''Intro`` costs DM69.-
  1715.  
  1716. Since some time COMPO also offers a CD-ROM with TrueType and Type1 fonts/faces.
  1717. These seem to be the same ones as on the StarType CD, but TrueType and Type1
  1718. on a single CD-ROM.
  1719. The price is DM99.-
  1720.  
  1721.       15.8  IMG-0300
  1722.  
  1723. This is a Freeware GDOS driver for monochrome IMG output. It can be used
  1724. as a normal printer driver (21-30 in the ASSIGN.SYS)
  1725.  
  1726. In the Internet:
  1727.  
  1728.  ftp://ftp.uni-muenster.de/pub/atari/Gdos
  1729.  
  1730.       15.9  FTP
  1731.  
  1732. Many students can get software worldwide via ftp. Prices for steady
  1733. connections are constant, but connections between America and Europe
  1734. have to be paid depending to the volume of data transferred.
  1735.  
  1736. Please try not to ftp across the big blue and use short ways.
  1737. Use transferring times not in the range of working at the server!
  1738. ('9 to 5')
  1739.  
  1740. Files with known names can be found by Archie.
  1741.  
  1742. In Germany:
  1743. telnet archie.th-darmstadt.de
  1744. login: archie
  1745. help
  1746.  
  1747. In the US e.g.:
  1748. archie.ans.net
  1749.  
  1750. Archie will automatically display other archies. use the one thats' closest
  1751. to you.
  1752.  
  1753. The Archie databases ask about once each month one ftp server after the
  1754. other for freely available files
  1755.  
  1756. One more small hint: atari.archive.umich.edu ist always totally busy. Not
  1757. even mirroring to other servers helps.
  1758. Better connect to
  1759.     - amiga.archive.umich.edu
  1760. and type cd atari from there.
  1761. This computers have the same HD mounted. BUT: First search your own vicinity!
  1762.  
  1763.       15.11 SciLab
  1764.  
  1765. SciLab's GDOS drivers are not mentioned in the driver's tables though they
  1766. are very favourite - specially the colour drivers.
  1767.  
  1768. These drivers no langer can be ordered without a program. This is due to the
  1769. programs that lots of programs have when using the colour drivers. SciLab
  1770. would be blamed then.
  1771.  
  1772. You only can get these drivers by ordering a program from SciLab or making
  1773. the distributor (of the software you use) licensing those drivers. SciLab
  1774. always has 'an open ear' for that. Those are especially the Speedo capable
  1775. drivers for HP 600dpi and HP 500C/550C. Actually these are distributed with
  1776. Speedo 5 too.
  1777.  
  1778.       15.12 Star Division
  1779.  
  1780. Star Division sells two CD-ROMs (StarType) with 500 TrueType/Type1
  1781. fonts/faces. These are mostly complete packages of fonts.
  1782. One example:
  1783.  Zapf Humanist 601 is available as:
  1784.  
  1785.  o roman
  1786.  o italic
  1787.  o bold
  1788.  o bold italic
  1789.  o demi
  1790.  o demi italic
  1791.  o ultra
  1792.  o ultra italic
  1793.  
  1794. (Stef: and lotsa Swiss 721 ...)
  1795.  
  1796. A lot of Bitstream fonts are included. (e.g. Zapf Humanist 601 as noted above)
  1797. There are two ITC faces too. In Germany these two CDs are (at least)
  1798. available for DM69.- from Vobis. A booklet with a short overview is available
  1799. there too.
  1800.  
  1801.       15.12 Thierry Rodolfo
  1802.  
  1803. Thierry Rodolfo made the drivers with T.R. as note.
  1804. You'll find them in the BBS BRASIL and on
  1805.  ftp://hensa.micro.ac.uk/atari/tos/n/n196/...
  1806.  
  1807. MEMORY_2 can be found at:
  1808.  ftp://ftp.cs.tu-berlin.de/pub/atari/GDOS/
  1809.  
  1810.       15.13 Others
  1811.  
  1812. I don't make a choice of drivers. The limit is all of them. The authors (and
  1813. users) of the programs are asked now to write me, which GDOS drivers come
  1814. with the programs (With information of: Codelength, Date and known bugs).
  1815.  
  1816. A comparison of TrueType collection CDs is found in [Hil95]
  1817.  
  1818. Anyone using one of those low priced CD (500 faces for $9, DM15, #6) shouldn't
  1819. take care of Umlauts (Stef: I still recommend "vowels" for this ...), kerning or
  1820. a good looking print image. *Then* it's not ugly to use more than 20 fonts on a
  1821. poster (*sigh!*)
  1822.  
  1823.     16 GDOS Versions
  1824.  
  1825.       16.1 The ones from the bones
  1826.  
  1827. Atari-GDOS, AMCGDOS, ABCGDOS, NVDI and possibly G+Plus use the same drivers.
  1828.  
  1829.             16.1.1 Atari-GDOS 1.X and AMCGDOS
  1830.  
  1831. The Atari-GDOS is the father of each GDOS coming after it. It's most
  1832. remarkable character are lots of bugs and it's horrible slow speed. But
  1833. that's history.
  1834.  
  1835. AMCGDOS is faster and has less bugs. But it almost has the same capabilities
  1836. and was distributed together with Atari-GDOS.
  1837. (Stef: Atari GDOS 1.1 and AMCGDOS - 3.21 and newer tested - work with
  1838. MagiCMac)
  1839.  
  1840.             16.1.2 ABCGDOS
  1841.  
  1842. ABC-GDOS is included in ABC's GEMVDI.PRG. When using this GDOS an
  1843. expanded syntax has to be used for the ASSIGN.SYS:
  1844.  
  1845.  driver number    driver's file name  ;   technical info  ;
  1846.  icon text
  1847.  
  1848. The first '';`` makes other GDOS version ignore the further information
  1849. (commented part).
  1850.  
  1851. technical info: the driver's real name as available by vqt_devinfo with
  1852. SpeedoGDOS 7 4.2 or NVDI 7 3.0.
  1853.  
  1854. It only works with 68000 based Atari computers - I guess the interupt
  1855. level is manipulated (Stef: good coding ...)
  1856.  
  1857. ABC-GDOS is from The Netherlands and did spread almost not.
  1858.  
  1859. ABC ported some Digital Research programs to Atari computers. These
  1860. programs won't work with other GEM releases than 2.2 (ABC-GDOS). So I'll
  1861. note them only here:
  1862.  
  1863. WordChart, Graph, Paint and Draw
  1864.  
  1865. (Stef: hmm, seems to be no big loss <g>)
  1866.  
  1867.             16.1.3 G+Plus
  1868.  
  1869. Does anyone know anything about it?
  1870.  
  1871. (Chris: Yes I have some info around somewhere... It is just a GDOS 1.1
  1872. clone which runs faster. It also automatically switches the ASSIGN.SYS
  1873. settings depending on the program being run. A very old GDOS.)
  1874.  
  1875.       16.2 One step forward
  1876.  
  1877. Even though there was a very good GDOS in NVDI, Atari had an open ear to the
  1878. request of users and coders and tried to raise the capabilities of GDOS.
  1879.  
  1880.             16.2.1 FontGDOS 2.0
  1881.  
  1882. This is a GDOS still using bitmap fonts. It uses own drivers.
  1883.  
  1884. The drivers from this package are really much faster than the former ones.
  1885. (Only bitmap fonts and graphics are comparable of course)
  1886.  
  1887. I didn't have any problem using these with other GDOS versions but you must
  1888. limit to the old fonts.
  1889.  
  1890. FontGDOS is the follower of the Atari GDOS. Mainly it differs with the
  1891. Bezier function and faster (and color-able) drivers. It's got nothing to do
  1892. with FSM-GDOS or SpeedoGDOS.
  1893.  
  1894. FontGDOS is availabel from several companies which use it for their
  1895. programs.
  1896.  
  1897.             16.2.2 FSMGDOS 3.0
  1898.  
  1899. During the development of FontGDOS, Atari created a GDOS that can handle
  1900. vector fonts (named OTL in this FAQ). So FSMGDOS isn't a follower of FontGDOS,
  1901. but was developed the same time. FSMGOS practically was ready to be released
  1902. but due to massive protest by the developers it was cancelled in the last
  1903. moment. Except to bundles it never has been distributed officially.
  1904.  
  1905. the Imagen outline font format by QMS/Imagen Corp. was used
  1906.  
  1907.       16.3 Actual Developments
  1908.  
  1909.             16.3.1 SpeedoGDOS 4.0 and 4.1
  1910.  
  1911. See [Res92] too.
  1912.  
  1913. The information if it's a Speedo or bitmap font can be found in byte 33 of
  1914. the Fontname (vqt_name, INQUIRE FACE NAME AND INDEX, VDI 130). zero means
  1915. bitmap font and one means FSM- or Speedo font.
  1916.  
  1917. Some Problems are inportant to be mentioned:
  1918.  
  1919. A coder can't find out if a driver can handle Speedo fonts (see last
  1920. question in 10.3)
  1921.  
  1922. Some font IDs are used by bitmap  AND Speedo fonts, though different fonts
  1923. with similar IDs may never be installed the same time.
  1924.  
  1925. If you don't take care of this you'll get bombs.
  1926.  
  1927. It depends to the user to install the right drivers and fonts. The coder
  1928. can't help here to stop errors.
  1929.  
  1930. The best way is only to install bitmap fonts with the right drivers or to
  1931. use a Speedo only system.
  1932.  
  1933. The monospace font coming with SpeedoGDOS 4.0 has no umlauts (ae, oe, ue ...)
  1934.  
  1935. SpeedoGDOS is still in development, ignore the note in [Pru93c].
  1936.  
  1937. For installation and coding best is to refer to [Dic93a to c]
  1938. Remember starting NVDI before SpeedoGDOS in the AUTO-Folder!
  1939.  
  1940. The ones that bought Speedo got 4.0, the Falcon buyers got 4.1
  1941.  
  1942.             16.3.2 SpeedoGDOS 4.2
  1943.  
  1944. Let's see, what Ulli Ramps has to say:
  1945.  
  1946. Huhu! [TM]  (Stef: Ulli doesn't Huhu, he got bored of it)
  1947.  
  1948. The following is a list of changes made to SpeedoGDOS.
  1949.  
  1950. 1) Line-A - Due to many requests from developers, SpeedoGDOS is now no
  1951. longer Line-A dependent.  All output is done through VDI calls.  This
  1952. was done to make Speedo compatible with various graphics cards, and to
  1953. make it more multi-tasking-friendly.  In addition, users should be
  1954. able to use various VDI replacements with GDOS.
  1955.  
  1956. Another benefit from removing the Line-A dependency is that we no lon-
  1957. ger have to worry about the scratch buffer used for algorithmic spe-
  1958. cial effects.  We have implemented the special effects inside of Spee-
  1959. doGDOS and the drivers, so that the user/program does not have to wor-
  1960. ry about the memory needed to accomodate arbitrary sized characters.
  1961. Unfortunately, this means that old drivers need to be relinked with
  1962. the new independent library (found in the new driver kit).
  1963.  
  1964. There are plusses and minuses of the new implementation of special
  1965. effects.   In many cases, the special effects will be slower.  With
  1966. all previous incarnations of GDOS, you could not use 'bolding' or
  1967. 'skewing' at non-90 degree rotations; now both of these work at all
  1968. rotations.  On the other hand, 'lightening' used to work at all angles
  1969. and combinations of effects; now 'bold' mixed with 'lighten' only work
  1970. at 90 degree rotation angles.
  1971.  
  1972. Miscellaneous Note - When using special effects, many applications
  1973. have a hard time placing the cursor.  In both the v_gtext() call and
  1974. the v_ftext() call, the only cursor compensation to be made is for
  1975. bolding.  Bolding adds the thicken value to the number of pixels of
  1976. each character.  For rotated characters, note that the extra pixels
  1977. can be considered a vector along the positive x-axis which is rotated
  1978. at the same angle as the text and added to the advance vector;  there-
  1979. fore, the length of the text string should remain the same at any ang-
  1980. le.  This is true even when SpeedoGDOS generates characters on a scan-
  1981. line basis (when the character does not fit in the character cache),
  1982. although it does not implement the special effects.  Also, applica-
  1983. tions should watch for the case when they keep track of the cursor
  1984. position with vqt_advance() or vqt_width(), instead of vqt_extent() or
  1985. vqt_f_extent().  In versions prior to 4.2, the application could accu-
  1986. rately place the cursor by adding two pixels for every outline charac-
  1987. ter and by adding left and right skew offsets for a skewed string.
  1988. Now these effects are generated by the outline font engine, so the
  1989. application must either rely on the extent calls or it must inquire
  1990. for the advance vectors for characters that are skewed and/or outlined
  1991. separately.  For compatibility purposes, it is recommended that the
  1992. version number of SpeedoGDOS is checked so that programs can handle
  1993. both old and new characteristics.
  1994.  
  1995. 2) Font ID's - Speedo font id's have been promoted to a higher range
  1996. of ID numbers.  This was introduced to avoid conflicts with bitmap
  1997. fonts and more importantly, with the system font (which conflicted
  1998. with a variation of Swiss 721).  For those applications which use the
  1999. usual interface with Speedo (i.e. use vqt_name() to find out what the
  2000. font ID's are), there should be no problem, except if documents have
  2001. font ID's embedded into formatting information.  Of course, all the
  2002. user has to do is substitute the font.  If the application actually
  2003. goes into the font file header to read the ID, note that we are adding
  2004. 5000(decimal) to all Speedo font ID's.
  2005.  
  2006. 3) Printer Driver Incompatibilities - Speedo will now check the prin-
  2007. ter driver it is trying to load for the '_FSM_HDR' cookie embedded in
  2008. the driver header information.  If GDOS does not find the cookie, it
  2009. will not allow the loading of any fonts; therefore, you can still use
  2010. your driver for non-text applications.  For future reference, please
  2011. be sure that the driver header begins on a word boundary for all dri-
  2012. vers to be used with this version and any future versions of GDOS.
  2013.  
  2014. 4) Vst_load_fonts() - We have made two optimizations to the loading of
  2015. fonts.  The first is when a load_font call is made, GDOS checks the
  2016. date of the extend.sys file to see if it was modified since the last
  2017. load.  A reload used to be mandatory because a bigger scratch buffer
  2018. might have been required.  Since we no longer need a scratch buffer,
  2019. GDOS only checks to see if a change has been made to the list.
  2020.  
  2021. The second change is that GDOS no longer deallocates the global list
  2022. of fonts if there are no more workstations using GDOS fonts.  There-
  2023. fore, application launches will be faster.  On the other hand, the
  2024. miscellaneous cache never gets cleared of font header information,
  2025. unless a reboot happens.
  2026.  
  2027. 5) Memory.sys - The memory driver used to mistakenly open a printer
  2028. handle.
  2029.  
  2030. 6) vst_height() - Vst_height used to have a bug in which a maximum
  2031. point size is reached and then the size begins to shrink.  This is
  2032. fixed.
  2033.  
  2034. 7) Postscript table - The Postscript table has been fixed (i.e. the
  2035. indexes were off by 32 for certain Postscript files).
  2036.  
  2037. 8) Fixed vrt_copyfm() in the drivers.
  2038.  
  2039. 9) When in 'bicsmode', character 0 was not passed through to the font
  2040.    engine. [Gerd: Speedo can use two different character sets for each
  2041.    font. Once sorted like a normal Atari font and once like a Bitstream
  2042.    font. When using the Bitstream mode, character 0 is space. That's why
  2043.    the recommendation to set a 16Bit char zero terminated (in [San94]) is
  2044.    wrong)
  2045.  
  2046. 10) Negative point and set sizes - The handling of negative point and
  2047. set sizes has been made consistent with the original handling in
  2048. FSMGDOS.
  2049.  
  2050. 11) The handling of fractional setsizes was incorrect in the drivers,
  2051. and is now fixed.
  2052.  
  2053. 12) V_ftext() in the drivers can now handle the offsets passed into
  2054. the ptsin array.
  2055.  
  2056. 13) Screen drivers can now safely load as device 10.
  2057.  
  2058. 14) The memory driver can be loaded residently.
  2059.  
  2060. 15) vqt_devinfo() - Vqt_devinfo() now returns information, whether or
  2061. not the device has been opened.  Furthermore, the device drivers name,
  2062. found in the driver header, is copied into the ptsout array;  the name
  2063. is 26 bytes long.  Note: if the driver is not SpeedoGDOS-compatible, a
  2064. null string is returned, and if there is an error, a -1 is returned in
  2065. ptsout[1].
  2066.  
  2067. 16) vst_width() - A new call has been added to Speedo.  The call is
  2068. similar to vst_height() except that it sets the width.  The bindings
  2069. are identical except that the opcode is 231.  Note:  As with
  2070. vst_arbpt() and vst_setsize(), you must call the general call (i.e.
  2071. vst_arbpt() or vst_height()) before using the width calls (i.e.
  2072. vst_setsize() and vst_width()).  In addition, the general calls always
  2073. reset the widths.
  2074.  
  2075. Miscellaneous Note:  Although these have been published before, many
  2076. requests have come in for the SpeedoGDOS error codes.  Here they are:
  2077. Code    1       Out of memory
  2078.         2       File open
  2079.         3       File read
  2080.         4       File write
  2081.         5       Speedo engine error
  2082.         6       Character too large (not used, defaults to line output)
  2083.         7       No room for scratch buffer
  2084.         8       Character cache error
  2085.         255     Miscellaneous
  2086. These errors are placed in the error code address that applications
  2087. should provide.  Note that if you have MultiTOS installed, GDOS will
  2088. report the error to Salert, the system alert box.  A revision of the
  2089. error handling is overdue, since some of the errors are no longer re-
  2090. levant (e.g. code 6), and error code 5 is returned for the lack of
  2091. availability for pair and track kerning (in addition to the serious
  2092. errors).
  2093.  
  2094. Well, again a big thank you to Ulli!
  2095.  
  2096. Now it's me again:
  2097.  
  2098. The Installation program for Speedo 4.2 had a small bug yet. If a NEC P
  2099. printer is selected, NEC_P.SYS ist written into ASSIGN.SYS. But the
  2100. distributed driver hat NECP.SYS as filename. R.O.M. fixed that.
  2101.  
  2102.             16.3.3 SpeedoGDOS 5.0
  2103.  
  2104. SpeedoGDOS 5.0 was developed by COMPO/no!software using the sources by
  2105. Atari.
  2106. More than Speedo 4.x it can scale TrueType and Type 1 (see 7.2). Price:
  2107. DM129.-
  2108. (at your own risc)
  2109.  
  2110. Now 9 printer drivers are included - the additional ones. Speedo 5.0 is an
  2111. upgrade, so you have the other drivers. But: Which are the old divers? The
  2112. ones before Speedo 4.1 don't work (and only falcon users have 4.1; the ones
  2113. who bought Speedo from COMPO in the beginning only got 4.0)
  2114.  
  2115. So I at once printed a text using Speedo 5.0, NECP.SYS (Speedo 4.2) and
  2116. ProList. And? Surprise! It works. That's really astounding because ProList
  2117. and my own program (see 2) had problems with this driver and Speedo 4.2.
  2118.  
  2119. Using the drivers of Speedo 4.0 at least shouldn't work due to the changed
  2120. jobs of Speedo 4.2 and the drivers.
  2121. (Could anyone test Speedo 4.1 drivers with Speedo 5.0? I don't quite believe
  2122. this works)
  2123.  
  2124. Here's how I think an upgrade works (be careful satire)
  2125.  
  2126. ===================
  2127. User:   Dear Mr. Compo [...] but my Speedo 4.0 drivers don't work any more.
  2128.  
  2129. COMPO:  ... best wishes to your decision ... BUT: Speedo 4.2 isn't an
  2130.         official release. It's especially made for papyrus and not useful
  2131.         for other programs. On the other hand...though...seen from a
  2132.         different point...maybe...possibly...Finally you need the drivers
  2133.         from Speedo 4.2. But we don't distribute them. Ask R.O.M. about
  2134.         it ...
  2135.  
  2136. [later]
  2137.  
  2138. USER:   Dear Mr. R.O.M., ...I'd like to get a downgrade, free of course.
  2139.  
  2140. R.O.M.: ...don't work...our own costs...bla...etc...better wait for NVDI
  2141.         3.0, we certainly can put you on the list.
  2142.  
  2143. User:   "'$&"'$/(!'&!^#
  2144. ====================
  2145.  
  2146. Well, *I'm* full of anticipation how users that only had Speedo 4.0 will be
  2147. able to make printouts.
  2148.  
  2149. Versions of Speedo 5.0 until now:
  2150.  
  2151. 5.0a (Aug. 3rd 1994)
  2152. First release
  2153.  
  2154. 5.0b (Aug. 8th 1994)
  2155. From now T1 & TT font loading works faster.
  2156.  
  2157. Known Bug: After calling vqt_headerinfo() the files arent' closed again.
  2158. Whe using programs making this with all fonts there maybe can be no more
  2159. filehandles (the amount of them differs from one TOS release to another).
  2160.  
  2161. Since Speedo 4.2 the 'outlined' attribute only works in special conditions.
  2162. It depends on the font used, the SpeedoGDOS version, the point size ... and
  2163. which Mantra's are mumbled at full moon.
  2164.  
  2165. 5.0c (Aug. ? 1994)
  2166. From here LOWMEM=0 works like noted in the manual.
  2167.  
  2168. Now LOWMEM=0 works as stated in the manual.
  2169.  
  2170.             16.3.4 NVDI up to V2.51
  2171.  
  2172. These releases were made of very fast screen drivers and a very fast GDOS.
  2173. Compared to Atari-GDOS, NVDI had almost no bugs. But there functions weren't
  2174. almost any more functions.
  2175.  
  2176. The use of this release is still *very* useful for those
  2177. working with SpeedoGDOS 5.0, which doesnt' have a faster VDI ...
  2178.  
  2179.             16.3.5 NVDI 3.0
  2180.  
  2181. From 3.0 NVDI is capable of scaling Speedo and TrueType fonts. Different
  2182. from SpeedoGDOS it can't scale Type1. The Behne brothers (correctly!) say
  2183. this format has least capabilities and only would blow up NVDI. But lots of
  2184. special fonts are only available as Type1 and I could use some of them.
  2185. But since the existence of Multiple Master fonts (see 7.3.5) I don't think
  2186. the decision was that good ...
  2187.  
  2188. A (by principle very good) conversion of the formats is possible but very
  2189. difficulty (see chapter 7.4) and no Atari program doing this exists yet. So
  2190. the Behne's decision has advantages and flaws.
  2191.  
  2192. NVDI's printer drivers are found in 6.8.3
  2193.  
  2194. bugs and problems (I know about):
  2195.  
  2196.  o All released versions of NVDI ignore the pixel size relation. (aspect ratio)
  2197.    for output of circles and ellipses.
  2198.  o when calling v_clswrk after vqt_devinfo to a physical workstation creates a
  2199.    privilege violation when using MultiTOS. With NVDI 3.02 we'll get rid of this
  2200.    bug
  2201.  o The character mapping isn't compatible to SpeedoGDOS 5.0
  2202.  o There's no alert when you try to install NVDI (release before November '94)
  2203.    on a full (hard)disk.
  2204.  o You'll get a memory violation when using the cache CPX with MTOS. Again, wait
  2205.    for NVDI 3.02.
  2206.  o Output of rotated text doesn't work with some fonts (e.g. MONACO08.FNT), the
  2207.    chars are always set to 0 degrees.
  2208.    And bitmap fonts with 8pt or less aren't light when this attribute is set.
  2209.    This happened when using the monochrome driver and the 8pt system font; not
  2210.    woth other fonts or bit depths. Fixed since Nov. 10th '94
  2211.  o vqt_fontheader get's an incorrect TDF path.
  2212.  o Track kerning doesn't have effect.
  2213.  o When a skew angle is set, vector character's positions aren't located
  2214.    correctly. Once a skew angle is set the text is moved to the left or right
  2215.    (depends on the skew angle - positive or negative). This doesn't happen with
  2216.    SpeedoGDOS. Will be fixed with NVDI 3.02
  2217.  
  2218. Coder's documentation: [Beh95]
  2219.  
  2220.       16.4 Comments
  2221.  
  2222. Users and coders should be happy with the speed of development. Even the
  2223. numbers of font format included in the programs doesn't have anything
  2224. comparable on any other platform.
  2225.  
  2226. The time between the releases of SpeedoGDOS 5.0a to 5.0c - making one think
  2227. there wasn't much of betatesting - doesn't satisfy a lot but, on the other
  2228. hand it's nice to see that the competition by NVDI 3.0 makes the developers
  2229. hurry.
  2230.  
  2231. SpeedoGDOS 5.0 creates problems in some applications that worked perfectly
  2232. with Speedo 4.x. This may be due to the negative handles that 5.0 uses for
  2233. the new formats. That's not a bug, because one shouldn't calculate with
  2234. handles. But some apps do it though.
  2235. The coming workaround is the interpretation of handles as unsigned integer
  2236. (SHORTCARD).
  2237.  
  2238. For coders the manuals coming with SpeedoGDOS 5 and NVDI 3 are only a bad
  2239. joke. Even simple user's questions aren't answered:
  2240. TrueType (and Type1 with SpeedoGDOS) are handled. But these fonts are
  2241. created in platform specific formats. Which ones are handled and what files
  2242. with what extensions are needed? Without this information both programs
  2243. aren't very useful.
  2244.  
  2245. A ''beta`` of the coder's docs for NVDI 3 is Public Domain and available
  2246. by ftp or from BBS's [Beh95]. COMPO promised the same for SpeedoGDOS 5.
  2247.  
  2248. A provisional coder documentation is free on request when updating to
  2249. SpeedoGDOS 5. You only have to *know* that it's possible. Sorry for this
  2250. late information but I didn't know this before too. It's still available
  2251. (for three Deutschmark in Germany by sending a stamped envelope addressed
  2252. to yourself). It's 90% Englisch and 10% German, so it's sent to foreign
  2253. countries too (Stef: try your country's COMPO dealer?)
  2254.  
  2255. Here some more differences between NVDI 3 and SpeedoGDOS 5. Get your own
  2256. clues.
  2257.  
  2258.    o The driver's concept
  2259.      A real plus for NVDI 3. They're small, fast and
  2260.      easy to be configured by the user. But they're not able to print with
  2261.      colours yet! And setups aren't to be copied, due to everything set in
  2262.      one file.
  2263.    o Print to files
  2264.      NVDI drivers can print in a file and the program won't
  2265.      notice this (SpeedoGDOS can't)
  2266.    o Need of RAM.
  2267.      NVDI 3 needs about as much RAM as SpeedoGDOS 5 and NVDI 2.5 (when using the
  2268.      same cache sizes with both GDOS versions)
  2269.    o Installation
  2270.      NVDI 3 is begginer-friendly to install BUT: Everything
  2271.      having the same name as a file to be saved is overwritten without any
  2272.      request to the user: META.SYS and the old Screen drivers. This makes
  2273.      different configurations for testing quite difficulty.
  2274.      But this may be more interesting to coders (and freaks) and they'll be able
  2275.      to rename the old folders before, aren't they ?-)
  2276.      Only since November '94 there's an alert when there's not enough disc space
  2277.      for NVDI 3.0
  2278.    o VDI Speed
  2279.      NVDI 3 is a bit faster than SpeedoGDOS 5 and NVDI 2.5, which is
  2280.      much faster than SpeedoGDOS 5 without NVDI. But SpeedoGDOS 5 and
  2281.      NVDI 2.5 can be enough. This combination is about as fast as NVDI 3 when
  2282.      the fonts used fit into the caches.
  2283.    o Scaler Speed
  2284.      Both scalers are the same. Don't look here, why SpeedoGDOS is slower.
  2285.    o Bugs
  2286.      Current changes here. I don't know, who actually has more bugs.
  2287.    o Number of font formats
  2288.      Only SpeedoGDOS has Type1 capability. Some of those fonts are very
  2289.      expensive, but there are special fonts not available in other formats.
  2290.    o The font's concept
  2291.      Insiders are fascinated by NVDI's font concept. But you won't get the
  2292.      documentation for "normal coders" from the Behnes. Did'nt even
  2293.      Microsoft lose a t court for such actions?
  2294.      (Stef: I guess the concept is close to Bitstream's recommendations
  2295.      (font suitcases and more). And Bitstream's docs aren't free too. I
  2296.      talked with the Behnes at the ProTOS fair about it)
  2297.    o Via cookie NVDI claims to be like SpeedoGDOS 5.0, but (obviously) it isn't.
  2298.      But SpeedoGDOS 5.0 isn't SpeedoGDOS compatible too. Huh? You ask why? Well:
  2299.      There are several versions of SpeedoGDOS 5 (with different
  2300.      functions/opcodes) and none is documented. Even worse:
  2301.      Some SpeedoGDOS Version have some experimental functions which aren't
  2302.      allowed to be used. In the past functions *always* were documented that
  2303.      it's allowed to call VDI function to check their existence.
  2304.      (Chris: Aaarrrrgggghhhh!)
  2305.  
  2306.     17 Source
  2307.  
  2308. Being a developer it's possible to get an almost complete printer driver in
  2309. object code. This one only must be adapted to the special printer.
  2310.  
  2311. This package is available for GDOS and SpeedoGDOS.
  2312.  
  2313.     18 Tips'n Tricks for users
  2314.  
  2315.       18.1 Pixeltrash at printing
  2316.  
  2317. Printing graphics on a NEC P6+ (maybe other printers too) including a lot of
  2318. black in a line I often had the problem that one line was left out (Speedo-
  2319. drivers NB15, NECP) or two lines were printed displaced in one line (Speedo-
  2320. drivers FX80, NX1000).
  2321.  
  2322. This happens when printing directly and via CENSPEED. When using VARSPOOL
  2323. this effect is gone.
  2324.  
  2325. VARSPOOL can be found on the driver disk of the NEC-printers.
  2326.  
  2327.       18.2 NEC P6+
  2328.  
  2329. Once in a while a NEC P6+ will get noisy (rrrrrrrrrrraattatatattaa).
  2330. When You open the front you'll see a round stick (about 1cm thick).
  2331. Put two drops of sewing machine oil on it each year (you'll get it from
  2332. Mom)
  2333.  
  2334.       18.3 HP Deskjet 550C, 560C and Deskwriter 510, 520
  2335.  
  2336. These printers have a hardware error in the series produced between June
  2337. 93 and March 94: From time to time the pinch rollers don't work.
  2338. Registered users get ''bug fixing`` parts ...
  2339.  
  2340.       18.4 Overwritten Speedo faces
  2341.  
  2342. Sometimes Speedo writes in face files producing interesting effects. To fix
  2343. this I have a second order besides GEMSYS filled with the Speedo faces on my
  2344. harddisk. If I get strange effects again I copy these files to the GEMSYS
  2345. folder. The almost fixes it in most cases.
  2346.  
  2347.     19 Tips'n Tricks for coders
  2348.  
  2349.       19.1 Fontsize and Pixelsize
  2350.  
  2351. Here are my experiences with GDOS and WYSIWYG. Credits to Ulrich Rossgoderer
  2352. for confirming these.
  2353.  
  2354. It's about the output of vector graphics and text on screen and printer.
  2355.  
  2356. The size of text is defined in point and is always the same - independent
  2357. from the resolution of the output device.
  2358.  
  2359. Different are vector graphics: they have to be recalculated in pixels before
  2360. the output. Should be no problem because when opening a virtual/physical
  2361. workstation You get the pixel size in micrometers in devParm[3] and
  2362. devParm[4].
  2363.  
  2364. Let's assume the vector graphic is saved internally in micrometers, then the
  2365. definition points at the output simply have to be divided by devParm[3] or
  2366. devParm[4] to get the position in pixels. When doing the output in windows
  2367. an offset has to be added. but thats not relevant here.
  2368.  
  2369. So far for the theory being quite simple so to this point (see [Gar93]).
  2370. Now for the practice.
  2371.  
  2372. As described above we output a text and a border - saved internally as
  2373. vector graphic. It doesn't matter here if the text is a Speedo or bitmap font.
  2374. To have a better chance to compare the border exactly surrounds the text.
  2375.  
  2376. Doing this I got the following experineces: The text exactly filling the
  2377. border on the screen (ST-high) is - when printed - much too small compared
  2378. to the border.
  2379.  
  2380. An error in the recalculation of the pixelsize can't be the problem, because
  2381. I made the printing with the drivers NB15, NECP, FX80, NX1000 and the results
  2382. are the same.
  2383.  
  2384. I have only one explanation for this: The screen driver supposes a different
  2385. resolution for the pixel size than for the font size.
  2386.  
  2387. Two solutions I can offer:
  2388.  
  2389. First you can use another pixel size on the screen than the one given from
  2390. the operating system. After opening the virtual workstation (and ONLY
  2391. this one!) I calculated
  2392. devParm[3] := 282
  2393. devParm[4] := 282
  2394. and with this parameter I made the recalculation from micrometers in pixels.
  2395. Now the relation from graphic to text on  screen and print-out is exactly
  2396. the same. But now a DIN A4 page doesn't fit on the screen in it's width.
  2397. The numbers are found by me the experimental way and possibly can be
  2398. optimised
  2399.  
  2400. Another solution may be this: Use a smaller font size for the screen (and
  2401. ONLY there!) by multiplicating the size with 72/96. This is simple with
  2402. Speedo fonts because the size in points can be defined by almost endless
  2403. values behind the point. Using bitmap fonts this won't work due to not
  2404. having a screen font in the 72/96ish size for every printer font.
  2405. (Stef: Difficulty to translate this, sorry)
  2406.  
  2407. This method surely is to be midified for ST-Mid and other resolutions.
  2408.  
  2409. From Wilfried Behne (Half NVDI ...) SpeedoGDOS ignores the devParm[3]
  2410. and [4] - values of the screen drivers. The values of physical workstations
  2411. ARE taken.
  2412.  
  2413.       19.2 Selecting drivers
  2414.  
  2415. When testing several GDOS programs I found out, that some coders have
  2416. problems
  2417. with the following reasons:
  2418.  
  2419. Users can freely assign drivers in the ASSIGN.SYS.
  2420. There may be a setup like
  2421.  
  2422.           23 FX80.SYS
  2423.           27 NECP.SYS
  2424.           28 NB15.SYS
  2425.           31 META.SYS
  2426.           61 MEMORY.SYS
  2427.  
  2428. How may a coder find out which drivers are installed (and ready)? Even
  2429. though there's no Printer 21?
  2430. Quite easy: When the program supports printers ALL drivers from 21 to 30 are
  2431. to be opened and closed again at once. An installed driver gives back a
  2432. devicehandle >0 when being opened. vf_devinfo gives back correct values when
  2433. a driver is opened.
  2434.  
  2435. Do the same thing with drivers 61 to 70 when MEMORY drivers are supported.
  2436.  
  2437. The ASSIGN.SYS as printed above is very useful. That's because the NEC P
  2438. printers support all these drivers and print in different resolutions.
  2439.  
  2440.       19.3 The Metafile format
  2441.  
  2442. If been asked to count, what i don't know about Metafiles 8-)))
  2443.  
  2444. By the idea the Metafile format is quite simple. It's a recording of VDI
  2445. calls (including parameters) made by a program.
  2446.  
  2447. A program making it's output via GDOS will open a Metafile driver instead
  2448. of a printer driver (see 6.8) and the output will get there just as if
  2449. it were a printer.
  2450.  
  2451. A Metafile reading program recreates this recording.
  2452.  
  2453. But the simplicity of this format is one of the biggest problems of
  2454. metafiles because different GDOS releases exist and different drivers
  2455. with different capabilities. So, one programs makes output being understood
  2456. by the GDOS actually installed. When this Metafile is read by a program
  2457. running under a different GDOS with less or different capabilities, how
  2458. can the recording be recreated?
  2459.  
  2460. Concrete examples:
  2461. The length of ptsin and intin fields is limited (different for different
  2462. drivers) usually. The Metafile driver can handle this in another way.
  2463. This can have influence to text output, poly line & marker, filled area
  2464. and more ...
  2465.  
  2466. Next problem:
  2467. A font face not available on the output system is used. I which way another
  2468. (most similar) face has to be requested by the program making the output?
  2469.  
  2470. At this point, this is a problem to be handled by the coders of the
  2471. reading graphics programs (who willknow, what they're doing).
  2472.  
  2473. But when writing a metafile header you have to know, what you're doing. I
  2474. don't but I'll give it a try ;-)
  2475.  
  2476. The resolution set for a metafile is a decision of the application. If
  2477. there's no resolution set, 300dpi are used. That's a pixel width of 0.085mm
  2478.  
  2479. (Stef: that's not a pentium calculation, but *where* are 300dpi equal to 85
  2480. micrometers? On a 72dpi SM124?
  2481. Gerd: everywhere)
  2482.  
  2483. Screen drivers are only capable of handling raster coordinates. For
  2484. metafile output the same routines are used, so I'll limit the next info to
  2485. raster coordinates (even though metafile can handle NDC's). Those
  2486. coordinates are defined from upper left to lower right.
  2487.  
  2488. To define a system of coordinates, metafile do this:
  2489.  
  2490.   o  (W)idth and (H)eight are set in millimeters (mm) via vm_pagesize.
  2491.      That's the (positive) difference beetween the lower right and upper
  2492.      left corner (which doesn't have to be in the origin)
  2493.   o  The rectangle (xmin, ymin, xmax and ymax) is defined in pixels via
  2494.      vm_coords. The way to calculate this rect. is found below.
  2495.   o  Here inside another rectangle is defined in pixels via v_meta_extents.
  2496.      It's got nothing to do with the system, the MF reading application
  2497.      get's info how to clip (what doesn't *have* to be done!)
  2498.      Note: papyrus doesn't clip; kandinsky does, but it moves the graphic
  2499.            to the lower right a bit making miss a bit of it on the screen.
  2500.            So it could be useful to set the size for v_meta_extents a bit
  2501.            larger than the one for vm_coords.
  2502.  
  2503. This way the system of coordinates, the resolution (width and height of a
  2504. system) has a fixed definition.
  2505.  
  2506. But the veriables set aren't the ones an application usually calculates
  2507. with.
  2508. Here's an example what's to do, when the application knows the resolution
  2509. wished (in dpi), the upper left (X1,Y1) and the lower right dot in tenths
  2510. of a millimeter (or a multiple of it).
  2511.  
  2512. Here's how to get the width and height of a pixel by the resolution:
  2513.  
  2514.                                                   25400
  2515. (Pixel height in tenths of a millimeter) = --------------------
  2516.                                            vertical res. in dpi
  2517.  
  2518.                                                     25400
  2519. (Pixel width in tenths of a millimeter)  = ----------------------
  2520.                                            horizontal res. in dpi
  2521.  
  2522. (W)idth and (H)eight (in millimeters) are needed for vm_pagesize:
  2523.  
  2524. W = (X2 - X1 + 1) * (Pixelwidth in 1/10mm)
  2525. H = (Y2 - X1 + 1) * (Pixelheight in 1/10mm)
  2526.  
  2527. xmin, ymin, xmax and ymax (in pixels) are needed for vm_coords:
  2528.  
  2529.               X1
  2530. xmin= --------------------
  2531.       Pixelwidth in 1/10mm
  2532.  
  2533.               Y1
  2534. ymin= ---------------------
  2535.       Pixelheight in 1/10mm
  2536.  
  2537.               X2
  2538. xmax= --------------------
  2539.       Pixelwidth in 1/10mm
  2540.  
  2541.               Y2
  2542. ymax= ---------------------
  2543.       Pixelheight in 1/10mm
  2544.  
  2545. v_meta_extents is found the same way as vm_coords. To make Kandinsky
  2546. display everything, xmin & ymin can be set smaller and xmax & ymax larger.
  2547.  
  2548. Before making any output into a MF, first set the system of coordinates.
  2549.  
  2550. (In the early past I noticed, that my desriptions are that good, that even
  2551. I understood them <g> [Stef:I hope the translation is that good too])
  2552.  
  2553. Further informations:
  2554. Ulrich Rossgoderer coordinates a list of further informations to put
  2555. in a MF via v_write_meta (See version 2.4 of this FAQ). The Profibuch
  2556. [Jan92] the Atari Compendium [San94] and the standard book "Ueber
  2557. FIleformate [Bor94] contain further information. And every literature
  2558. about VDI calls is helpful, too.
  2559.  
  2560.     20 Expanded Sub opcodes for metafiles
  2561.  
  2562. Metafiles have one important predicate: The reading application has to
  2563. ignore unknown calls. But it can use any sub codes that can be written in
  2564. a metafile by v_write_meta.
  2565.  
  2566. The information of this chapter once was created to be a standard, but,
  2567. well it didn't get to be. Maybe it wasn't the time for it there were no
  2568. SpeedoGDOS and no media to promote it.
  2569.  
  2570. The definition following now should at least be supported for *not* using
  2571. sub opcodes for any other purpose. If *any* program uses this definition
  2572. please send me information!!!!!!!!!!!!!!
  2573.  
  2574. Here's an extract from the KandinskY manual:
  2575. -----------------
  2576. Kandinsky uses the *.GEM format to save and load drawings - as noted
  2577. several times before (i.e. the Metafile format).
  2578.  
  2579. This format can be (compatibly) expanded almost without any limit using
  2580. user defined sub opcodes.
  2581.  
  2582. KandinskY uses some special sub opcodes, e.g. to save and restore fine
  2583. grey scale setting, window positions and more. Besides sub opcodes I know
  2584. are supported.
  2585.  
  2586. KandinskY's saving routines are coded in a way not recommending that
  2587. another Program - loading a drawing created with KandinskY - doesn't
  2588. *have* to understand these sub opcodes. There shouldn't be any difference
  2589. in the display then. Problems can occur if a program makes a wrong
  2590. interpretation of a sub opcode. That's because of value overlapping (sp?)
  2591.  
  2592. So, if you dear reader use your own sub opcodes too:
  2593. It would be great sending me (Ulrich Rossgoderer) a short description of
  2594. them. Because the use of the extension only makes sense if sub opcodes of
  2595. the same value are interpreted the same way by any meta file using
  2596. program. I have a list in mind describing any used sub opcode with their
  2597. meaning (like the XBRA list).
  2598.  
  2599. Refer to the Profibuch [Jan92] for more information about sub opcodes.
  2600. They're mentioned in the chapter about VDI OS routines. Take a special
  2601. look at the v_write_meta which is used to write sub opcodes into a meta
  2602. file.
  2603.  
  2604.       20.1  Supported sub obcodes
  2605.  
  2606. First here's a short overview about supported sub opcodes . Table 1 lists
  2607. the names offered, their obligatory values the their results.
  2608.  
  2609. _____________________________________________________________
  2610. |_Name_______________|value|short decription________________|
  2611. | GEM_START_GROUP    | 10  |Group begin                     |
  2612. |_GEM_END_GROUP______|_11__|Group end_______________________|
  2613. |_GEM_NO_LINE_STYLE__|_49__|Switch off any line style_______|
  2614. | GEM_START_SHADOW   | 50  |Object shdow begin              |
  2615. |_GEM_END_SHADOW_____|_51__|Shadow's end____________________|
  2616. | GEM_START_FILL     | 80  |Filled plane begin              |
  2617. |_GEM_END_FILL_______|_81__|Filled plane end________________|
  2618. | GEM_START_BGIF     | 170 |BGI vector text begin           |
  2619. |_GEM_END_BGIF_______|_171_|BGI vector text end_____________|
  2620. | GEM_WIND           | 190 |Window position, Zoom value etc.|
  2621. | GEM_GRID           | 191 |Raster settings                 |
  2622. |_GEM_ALIGN__________|_192_|Reference object's informations_|
  2623. | GEM_START_GREY     | 193 |Gray value begin                |
  2624. |_GEM_END_GREY_______|_194_|End of it_______________________|
  2625. | GEM_START_BEZIER   | 195 |Bezier begin                    |
  2626. |_GEM_END_BEZIER_____|_196_|End of it_______________________|
  2627. | GEM_START_JOIN     | 197 |Following blocks are one unit   |
  2628. |_GEM_END_JOIN_______|_198_|... from here no more___________|
  2629.  
  2630.                    Table 1: Sub-Opcode overview
  2631.  
  2632. The next subsections are a drscription of the functions listed here.
  2633.  
  2634.       20.2  group information
  2635.  
  2636. GEM_START_GROUP marks the beginning of a group, i.e. a couple of objects
  2637. belonging together. Their end is marked by GEM_END_GROUP
  2638.  
  2639.       20.3  object shadow
  2640.  
  2641. The VDI calls between GEM_START_SHADOW and GEM_END_SHADOW are used to set
  2642. are used to draw a shadow for the first object *after* GEM_END_SHADOW.
  2643.  
  2644.       20.4  filling area
  2645.  
  2646. Borders around VDI planes aren't always drawn correctly. That's the
  2647. reason for the existence of GEM_START_FILL AND GEM_END_FILL.
  2648. All VDI calls included are used to draw a filled plane with or without
  2649. border.
  2650.  
  2651. As a description the drawing of a polygon with shadow and border is made
  2652. step-by-step here:
  2653.  
  2654.    o GEM_START_FILL
  2655.    o GEM_START_SHADOW
  2656.    o Setting filling attributes for the shadow
  2657.    o v_fillarea(...) offset by dx and
  2658.    o GEM_END_SHADOW
  2659.    o Setting of filling attributes for the plane
  2660.    o v_fillarea(...)
  2661.    o Setting of line attributes for the border
  2662.    o v_pline(...)
  2663.    o GEM_END_FILL
  2664.  
  2665.       20.5  vector text
  2666.  
  2667. GEM_START_BGIF starts text output with BGI vector charset. Here are
  2668. the functions of the VDI arrays:
  2669.  
  2670.         ____________________________________________________
  2671.         | intin[0]      GEM_START_BGIF                     |
  2672.         | intin[1]      0:  not proportional               |
  2673.         | intin[2...10] Name, z.B. EURO: intin[2] = 69 ... |
  2674.         |_intin[11...]__Text with zero at the end__________|
  2675.         | ptsin[0]      The text's x-coordinate (in 1/10mm)|
  2676.         | ptsin[1]      The text's y-coordinate (in 1/10mm)|
  2677.         | ptsin[2]      Letter width            (in 1/10mm)|
  2678.         | ptsin[3]      Letter height           (in 1/10mm)|
  2679.         |_ptsin[4]______Rotation______(in 1/10 of a degree)|
  2680.  
  2681. The v_pline(...) calls before GEM_END_BGIF are set if a program can't
  2682. make use of these sub opcodes needed to display text.
  2683.  
  2684.       20.6  window settings
  2685.  
  2686.             20.6.1 window position
  2687.  
  2688. GEM_WIND sets position, magnification value and format of a window.
  2689.  
  2690.           ______________________________________________
  2691.           | intin[0]  GEM_WIND                         |
  2692.           | intin[1]  The window's x-Position in pixels|
  2693.           | intin[2]  The window's y-position in pixels|
  2694.           | intin[3]  Window's width          in pixels|
  2695.           | intin[4]  Window's height         in pixels|
  2696.           | intin[5]  Slider's x-position     in pixels|
  2697.           | intin[6]  Slider's y-position     in pixels|
  2698.           | intin[7]  Zooming value          in percent|
  2699.           |_intin[8]__0:_vert. format,_1:hor. format___|
  2700.           |_ptsin[...]_no entries______________________|
  2701.  
  2702.             20.6.2 raster setups
  2703.  
  2704. GEM_GRID permanently saves a window's raster setup.
  2705.  
  2706.       __________________________________________________
  2707.       | intin[0]  GEM_GRID                             |
  2708.       | intin[1]  0:  Raster inaktive                  |
  2709.       | intin[2]  0:  don't draw raster                |
  2710.       | intin[3]  Rasters' width             in 1/10mm |
  2711.       | intin[4]  Raster's height            in 1/10mm |
  2712.       | intin[5]  help line's hor. distance  in 1/10mm |
  2713.       | intin[6]  help line's vert. distance in 1/10mm |
  2714.       |_intin[7]__0:__help lines_,_else:_help_dots_____|
  2715.       |_ptsin[:::]_no_entries__________________________|
  2716.  
  2717.             20.6.3 reference object
  2718.  
  2719. GEM_ALIGN describes the reference object
  2720.  
  2721.        __________________________________________________
  2722.        | intin[0]  GEM_ALIGN                            |
  2723.        | intin[1]  0:  don't show reference object (RO) |
  2724.        | intin[2]  RO's x-coordinate          in 1/10mm |
  2725.        | intin[3]  RO's y-coordinate          in 1/10mm |
  2726.        | intin[4]  RO's width                 in 1/10mm |
  2727.        |_intin[5]__RO's height________________in_1/10mm_|
  2728.        |_ptsin[:::]_no entries__________________________|
  2729.  
  2730.       20.7  gray scales
  2731.  
  2732. Here are the calls to set a gray scale for to fill an object. Values
  2733. between zero to 255 (white to black) are possible.
  2734.  
  2735.                   _______________________________
  2736.                   | intin[0]  GEM_START_GREY    |
  2737.                   |_intin[1]__Gray scale, 0-255_|
  2738.                   |_ptsin[...]_no etries________|
  2739.  
  2740. A user defined pattern with the gray scale set is set between
  2741. GEM_START_GREY and GEM_END_GREY. Again they're only set for programs
  2742. unable to handle these sub opcodes.
  2743.  
  2744.       20.8 beziers
  2745.  
  2746. A bezier is defined with GEM_START_BEZIER. All informations are found in
  2747. the intin and ptsin fields.
  2748.  
  2749. __________________________________________________________
  2750. | intin[0]            GEM_START_BEZIER                   |
  2751. | intin[1]            recursion's depth <5!!             |
  2752. | intin[2..2n + 2 - 1] anchor point's attributes         |
  2753. |                     corner:                  Bit 0 set |
  2754. |                     moves:                   Bit 1 set |
  2755. |                     visible:                 Bit 2 set |
  2756. |_____________________Line_instead of bezier:__Bit_3_set_|
  2757. | ptsin[0..4n - 1]    The n bezier segment's coordinates |
  2758. |_____________________four points each___________________|
  2759.  
  2760. Guess what? Yeah, the v_pline calls until GEM_END_BEZIER is set draw a
  2761. polygon for programs unable to handle these sub opcodes (Stef: hmmm, good
  2762. thing to think of those old fashioned programs <g>)
  2763.  
  2764.       20.9 VDI block summarizing
  2765.  
  2766. To save more coordinates than allowed by the metafile driver
  2767. GEM_START_JOIN is used. If KandinskY discovers this sub opcode, the ptsin
  2768. fields between ..START.. and ..END.. are used to summarize the following
  2769. VDI blocks to a large field
  2770.  
  2771.         _______________________________________
  2772.         | intin[0]  GEM_START_JOIN            |
  2773.         |_intin[1]__total of coordinate pairs_|
  2774.         |_ptsin[...]_no entries_______________|
  2775.  
  2776. This definition can be used - besides v_pline, v_fillarea and v_pmarker -
  2777. for v_gtext, v_justified and v_ftext too yet.
  2778. Text longer than one line can be saved this way too. The following
  2779. definition is used then:
  2780.  
  2781.         ______________________________________________
  2782.         | intin[0]  GEM_START_JOIN                   |
  2783.         | intin[1]  value of following v_gtext calls |
  2784.         |___________(one each line)__________________|
  2785.         |_ptsin[...]_no entries______________________|
  2786.  
  2787. The first VDI output call following GEM_START_JOIN is used to mark this
  2788. further definition of intin[1].
  2789. ---------------------------
  2790.  
  2791. Well, so much for this extract of KandinskY's manual.
  2792.  
  2793.        21 Addresses
  2794.  
  2795. ( Lot's of stuff is available from the friendly Atari dealer 'around the
  2796. corner ;-/ )
  2797.  
  2798. (Note: All addresses are German ones - except when marked!)
  2799.  
  2800. Application Systems Heidelberg (ASH)
  2801. Postfach 102646 * 69016 Heidelberg
  2802. Tel.: +49 6221 300002
  2803.  
  2804. ATARI (Europe)
  2805. Postbus 70 * NL-4130 EB Vianen * The Netherlands
  2806.  
  2807. Behne & Behne Systemsoftware GbR
  2808. Lindenkamp 2 * 31515 Wunstorf
  2809. Tel./Fax.: +49 5031 8629
  2810.  
  2811. BELA Computer GmbH: R.I.P.
  2812.  
  2813. ByTech GbR
  2814. Detlef Kuhl, Frank Hieronymi
  2815. Bismarckstrasse 88 * 10627 Berlin
  2816. Tel.: +49 30 3134258
  2817.  
  2818. Gerd Castan
  2819. Hoehbergstr. 16 * 70327 Stuttgart
  2820. G.Castan@physik.uni-stuttgart.de
  2821.  
  2822. COMPO Software GmbH
  2823. Ritzstrasse 13 * Postfach 1051 * 54591 Pruem
  2824. Tel.: +49 6551 6067
  2825.  
  2826. DigiLab GmbH
  2827. Posener Str. 18 * 24161 Daenischhagen
  2828.  
  2829. DigitalDesktop (DDT) Is a dealers community
  2830. Addresses are to be found in Atari-magazines
  2831. (Stef: Does this community still exist???)
  2832.  
  2833. Digital Systems & Consulting
  2834. Soester Str. 306 * 59071 Hamm
  2835. Tel.: +49 2381 889413; Fax.: +49 2381 889812
  2836.  
  2837. Stefan Damerau
  2838. Bergholm 31 * 24857 Fahrdorf
  2839. cookie@cookie.syd.de
  2840.  
  2841. Elan Software
  2842. 550 Charest Est
  2843. P.O.Box 30232
  2844. Quebec, G1K 8Y2
  2845. Canada
  2846. Voice: (418) 692-0565; Fax: (418) 683-9189     CANADA!!!
  2847.  
  2848. Dieter Fiebelkorn
  2849. Gruener Weg 29a * D-45768 Marl-Brassert
  2850.  
  2851. Stephan Gerle
  2852. Ruthstrasse 8 * 44149 Dortmund
  2853.  
  2854. H3 Systems
  2855. Haeusserstrasse 44 * 69115 Heidelberg
  2856. Tel.: +49 6221 164031; Fax.: +49 6221 184541
  2857.  
  2858. Harald und Martin Hansen
  2859. Weserstrasse 82 * 12059 Berlin
  2860.  
  2861. Hard & Soft
  2862. Obere Muensterstr. 33-35 * 44575 Castrop-Rauxel
  2863. Tel.: +49 2305 18014; Fax.: +49 2305 32463
  2864.  
  2865. ICP GmbH & Co.KG
  2866. Leserservice TOS * Innere-Cramer-Klett-Strasse 6 * 90403 Nuernberg 1
  2867.  
  2868. Konfect Corp.  Vertriebsbuero A-D-CH
  2869. Postfach 1113 * D-63797 Kleinostheim
  2870. Tel.  +49 6027 99941; Fax +49 6027 99942
  2871.  
  2872. MAXON Computer GmbH
  2873. Schwalbacher Strae 52 * 65734 Eschborn
  2874. Tel.: +49 6196 481811
  2875.  
  2876. Migraph Inc.
  2877. 32700 Pacific Highway S.
  2878. Suite 12, Federal Way
  2879. WA 98003, USA                                  USA!!!
  2880. Tel.: 0012068384677
  2881.  
  2882. Michael Nolte Computersysteme
  2883. Vasters Str.  10, 50825 Koeln
  2884. Tel.:  +49 221 558269, Fax:  +49 221 5504629
  2885.  
  2886. OMIKRON Soft+Hardware GmbH
  2887. Sponheimerstr. 12a * 75117 Pforzheim
  2888. Tel.: +49 7231 356033
  2889.  
  2890. Pergamon Software * Lehmann & Herzog
  2891. Wegscheidestr. 29 * 60435 Frankfurt/Main
  2892. Tel.: +49 69 5488279
  2893. Am Roten Hang 14 * 61476 Kronberg/Ts.
  2894. Tel.: +49 6173 940063
  2895.  
  2896. rhotron GmbH
  2897. Entenmuehlstrasse 57 * 66424 Homburg/Saar
  2898. Tel.: +49 6841 64067; Fax.: +49 6841 2467
  2899.  
  2900. Richstein & Dick GbR (Kaktus)
  2901. Konrad-Adenauer Strasse 19 * 67663 Kaiserslautern
  2902. Tel.: +49 631 22253
  2903.  
  2904. Richter Distributor
  2905. Hagener Str. 65 * 58285 Gevelsberg
  2906. Te.: +49 2332 2706
  2907.  
  2908. Thierry Rodolfo
  2909. 47 rue Pierre Brossolette
  2910. 92300 LEVALLOIS                                FRANCE!!!
  2911. France
  2912.  
  2913. R.O.M. Software
  2914. Christian Nieber & Ullrich Ramps
  2915. Raschdorffstr. 99 * 13409 Berlin
  2916. Tel.: +49 30 4924127
  2917.  
  2918. RoSoft Stefan Rogel
  2919. Koehlerweg 1 * 67661 Kaiserslautern
  2920. Stefan_Rogel@LU.maus.de und Stefan_Rogel@WI2.maus.de
  2921.  
  2922. SciLab GmbH
  2923. Isestrasse 57 * 20149 Hamburg
  2924. Tel.: +49 40 4603702
  2925.  
  2926. SHIFT Computer + Werbung GmbH (quit!!)
  2927.  
  2928. Michael Siek
  2929. Bohlweg 6a * 38678 Clausthal-Zellerfeld
  2930. Tel.: +49 5323 4413
  2931.  
  2932. SILICON Technology & Promotion
  2933. Wilhelmshoeher Allee 124 * 34119 Kassel
  2934. Tel.: +49 561 711924
  2935.  
  2936. Softbaer GbR
  2937. Richardstr. 60 * 12055 Berlin
  2938. Tel.: +49 30 6226884
  2939.  
  2940. SPIRIT WARE
  2941. Bible Church 15211
  2942. 15th Avenue NE Seattle, WA 98155 (USA)            USA!!!
  2943.  
  2944. TKR
  2945. Stadtparkweg 2 * 24106 Kiel
  2946. Tel.: +49 431 337881; Fax.: +49 431 35984
  2947.  
  2948. Holger Weets
  2949. Tangastr.  45 * 26121 Oldenburg
  2950. E-Mail:  Holger_Weets@OL.maus.de (Not above 45kB!)
  2951.  
  2952. Dipl.-Phys.-Ing. Ralf Wirtz
  2953. Kasterstr. 30 * 52428 Juelich
  2954. Tel.: +49 2461 1255
  2955.  
  2956. Wilhelm Mikroelektronik
  2957. Luenen
  2958.  
  2959. Working Title GbR
  2960. Lilienweg 12 * 53123 Bonn
  2961. Tel.: +49 228 647020
  2962.  
  2963. 3K Computerbild
  2964. Wevelinghoven 26 * 41334 Nettetal
  2965. Tel.: +49 2153 91860
  2966.  
  2967.     22 Miscellaneous
  2968.  
  2969.       22.1 Critics
  2970.  
  2971.             22.1.1 Critics to the author
  2972.  
  2973. Critics are greatly welcomed. To get more info, send email to:
  2974.  
  2975. G.Castan@physik.uni-stuttgart.de
  2976.  
  2977. Possibly one writing me has already tested two or three drivers.
  2978. Please write me if the errors listed above occured or not.
  2979.  
  2980. Anybody knowing different driver support addresses, please write me an
  2981. email.
  2982.  
  2983.             22.1.2 Critics to the translator
  2984.  
  2985. Hi, this is Stefan writing :-)= (Huh? Yeah, a goatee)
  2986. Why I wrote this translation? In the former versions of this FAQ I
  2987. claimed not to know the reason exactly. Well, it's quite obvious:
  2988. Support the TOS fans all over the world (hmm, at least those
  2989. understanding *my* English*)
  2990. If you find some errors in this translation, please don't send them to Gerd
  2991. but
  2992. to me:
  2993.  
  2994. cookie@cookie.syd.de
  2995.  
  2996. Referring to the feedback on this translation there seems to be ANY error in
  2997. it.
  2998. It would be interesting to me, WHO is happy with this FAQ, so send me
  2999. postcards, discs, books, whatever you want - no mail bombs please ;-)))
  3000.  
  3001. Thank you and have fun and lot's of experience with this FAQ.
  3002.  
  3003. Bye
  3004.   Stefan
  3005.  
  3006.       22.2 Praise
  3007.  
  3008. If this FAQ helped you out of a problem, please write me a postcard in your
  3009. next holidays.
  3010.  
  3011. Postcards I received yet: 1
  3012.  
  3013.       22.3 For my support
  3014.  
  3015. Due to actual experiences I ask the distributors to switch on verify when
  3016. copying update disks.
  3017.  
  3018. I only know two distributors not making any problem with this.
  3019.  
  3020. Does one of the readers want to code a Speedo font editor? We (Gerd &
  3021. Stefan) offer our time to beta test it ;-)
  3022.  
  3023.       22.4 Trademarks
  3024.  
  3025. This document is full of trademarks, no to be used freely.
  3026.  
  3027.       22.5 Guarantee
  3028.  
  3029. I'll offer no guarantee.
  3030.  
  3031.        23 Literature
  3032.  
  3033. [Whe88]   Douglas N. Wheeler,
  3034.           EVERYTHING YOU EVER WANTED TO KNOW  ABOUT  GDOS  (AND  MORE)
  3035.           (Internet, Filename: GDOS.ARC oder GDOS.TXT)
  3036.            Here's written all what's important to know about GDOS drivers.
  3037.            (AND MORE)
  3038.  
  3039. [Jan92[   Jankowski, Rabich, Reschke
  3040.           Atari Profibuch [Professionals book]
  3041.           10. Auflage, SYBEX, Duesseldorf (1992)
  3042.            The Standard. For Coders: In the VDI part you'll find how to
  3043.            use screen and printer drivers correctly.
  3044.  
  3045. [San94]   Scott Sanders,
  3046.           The ATARI Compendium, first revision, SDS Publishing,
  3047.           Long Beach '94
  3048.            Another standard. More actual compared to the Profibuch (VDI
  3049.            calls up to SpeedoGDOS 4.2) and very complete. The official
  3050.            GEM useri nterface guidelines are included too! But it can't
  3051.            replace the Profibuch.
  3052.            A plus is the list of operating system functions, from which
  3053.            release they're available and which way their existence can be
  3054.            requested. If this FAQ ever will have a chapter about layout,
  3055.            this book will be an example. A negtive one, though.
  3056.  
  3057. [Gar93]   Marc Rene Gardeya
  3058.           VDI fuer jedermann [VDI for everyone], ST-Computer 10/93
  3059.            Introduction in correct programming of screen  and printer
  3060.            outputs.
  3061.  
  3062. [Res92]   Julian Reschke
  3063.           Herbstgedanken, ST-Magazin 11/92
  3064.            Autumn thoughts about SpeedoGDOS and FontGDOS.
  3065.  
  3066. [Dic93a]  Erik Dick
  3067.           Schoen und schnell? [Pretty and Fast?] , ST-Computer 7/93
  3068.            Common info about GDOS and installation of Speedo. Almost the
  3069.            same standing in the installation manual, but more information
  3070.            about special problems
  3071.  
  3072. [Dic93b]  Erik Dick
  3073.           SPEEDO-Gonzales, ST-Computer 8/93
  3074.            Important stuff about programming Speedo. Description of the
  3075.            new bindings tips for coders for standard-uses.
  3076.  
  3077. [Dic93c]  Erik Dick
  3078.           SPEEDO-Gonzales, ST-Computer 9/93
  3079.            Meaning of the Speedo error messages and bindings of the
  3080.            Bezier and cache routines
  3081.  
  3082. [Dic94a]  Erik Dick
  3083.           Mit Speedo in die zukunft?, ST-Computer 6/94
  3084.            What's new with Speedo 4.2? New bindings are described too.
  3085.  
  3086. [Dic94b]  Erik Dick
  3087.           Thronfolge Teil 1, ST-Computer 11/94
  3088.            Comparison of NVDI 3 and SpeedoGDOS 5: Contents, installation
  3089.            and handling.
  3090.  
  3091. [Dic94c]  Erik Dick
  3092.           Thronfolge Teil 2, ST-Computer 1/95
  3093.            Part 2 of the comparison of NVDI 3 & SpeedoGDOS 5 Speed, more
  3094.            handling and safety
  3095.  
  3096. [Schr92]  Raymond Schroeder
  3097.           Atari-Hotline, ST-Magazin 7/92
  3098.            Whats GDOS for? Which programs supports it? How to install it?
  3099.  
  3100. [Beh91]   Wilfried Behne, Andreas Kromke
  3101.            Traps in the Atari ST's VDI and how to get around them, c't
  3102.            1991, Nr. 3 A lot about errors in the screen drivers.
  3103.  
  3104. [Beh92]   Sven Behne, Wilfried Behne
  3105.            NVDI-Dokumentation, BELA/2B
  3106.             VDI-description. But no description of the differences
  3107.             between screen and printer drivers.
  3108.             Certainly this is only the coder's documentation up to NVDI
  3109.             2.51. See [Beh95] for docs about NVDI 3
  3110.  
  3111. [Beh95]   Wilfried Behne, ''beta`` coder's docs about NVDI 3
  3112.            ftp://ftp.cs.tu-berlin/pub/atari/Gdos/nvdiguid.zip
  3113.            A PD documentation about almost everything a coders has to
  3114.            know about NVDI 3 functions
  3115.  
  3116. [Pru92]   Laurenz Pruessner
  3117.           Es ist alles so schoen Bunt hier [Oh, take a look at these
  3118.           colors] ST-Magazines 5/92, 7/92, 9/92
  3119.            How to handle more than 256 colors with device depending
  3120.            formats
  3121.  
  3122. [Pru93a]  Laurenz Pruessner
  3123.           Auf ein Neues!, ST-Magazin 1/93
  3124.            OFF TOPIC Everyone using FlyDials or similar Libraries should
  3125.            read this.
  3126.            Problem: New AES's releases use (formerly free accessible )
  3127.                     ob_state-Bits that are used by these libraries too
  3128.                     This only is important for AES 3.31 (TOS 4.01) and is
  3129.                     fixed now.
  3130. [Pru93b]  Laurenz Pruessner
  3131.           Sekt oder Selters [Champaign or mineral water], ST-Magazin 4/93
  3132.            MEMORY.SYS: Binding, way to handle color resolutions, font
  3133.            output with and without SpeedoGDOS.
  3134.  
  3135. [Pru93c]  Laurenz Pruessner
  3136.           Summertime Blues, ST-Magazin 6/93
  3137.            Listing to open the MEMORY driver.
  3138.  
  3139. [Pru934]  Laurenz Pruessner
  3140.           Mehr Schub!, ST-Computer 2/94
  3141.            Printing with GDOS - espacially it's about printing of bitmap
  3142.            rasters - color too.
  3143.  
  3144. [Sche93]  Oliver Scheel
  3145.           Erste Hilfe fuer [1st aid for] MultiTOS, ST-Magazin 6/93
  3146.            Common information to install MultiTOS.
  3147.  
  3148. [Bor93]   Guenter Born
  3149.           Dateiformate [Dataformats] Programmierhandbuch [Coders
  3150.           manual] Addison-Wesley, Bonn (1993)
  3151.            Sources (TurboC, TurboPascal) for loading and saving the
  3152.            formats. To use the datas still [Bor94] is recommended.
  3153.  
  3154. [Bor94]   Guenter Born
  3155.           Referenzhandbuch Dateiformate [Reference Dataformats],
  3156.           3. Edition, Addison-Wesley, Bonn (1994)
  3157.            With the right drivers it's quite simple to make output in
  3158.            .IMG and in .GEM Format In this book is a description how to
  3159.            read these formats again (and more).
  3160.  
  3161. [Ore85]   Tim Oren
  3162.           Professional GEM, (Internet, Filename:  PROGEM)
  3163.            Tim Oren almost only describes the programming of the AES but
  3164.            without him this list would not be complete.
  3165.  
  3166. [Walsh]   Norman Walsh et al
  3167.           comp.fonts FAQ
  3168.            TeX DVI, PostScript, and info versions of this FAQ are
  3169.            available from
  3170.            ftp.shsu.edu in archive/help/comp-fonts-FAQ.
  3171.            A Gopher is also maintained at shsu.edu which can provide
  3172.            interactive access to the FAQ.
  3173.            Finally, an online, hypertext version of the FAQ ist
  3174.            maintained (experimentally) on jasper.ora.com where an HTP
  3175.            server runs. For example, point XMosaic (or a similar WWW
  3176.            browser)
  3177.            to http://jasper.ora.com/.
  3178.  
  3179. [D81]     Bundestag
  3180.           Lobby et al, Typeface law, law to the agreement of vienna
  3181.           (June, 12th 1973) about protection of typographic typefaces
  3182.           (Typeface law) Dated July, 6th 1981 (BGBl.II S. 382)
  3183.            last change by law of December, 18th 1986 (BGBl.I S. 2501)
  3184.            ftp://ftp.uni-stuttgart.de/pub/doc/law/german/SchriftzeichenG
  3185.  
  3186. [Kar92a]  Peter Karow
  3187.           Schrifttechnologie, Springer (1992) / Font technology,
  3188.           Springer (1994)
  3189.            This book really fascinated me (though the Speedo format is
  3190.            missing). Intelligent scaling: Which tricks (Hints and more)
  3191.            does a font format have, (T1, TT, F3, IF, II)? One reading
  3192.            this chapter, will know, why the Behne's don't support T1 with
  3193.            NVDI 3 ...
  3194.            Lots about a fonts quality, readability and copyrights.
  3195.  
  3196. [Kar92b]  Peter Karow
  3197.           Digitale Schriften, Springer (1992) / Digital typefaces,
  3198.           Springer (1994)
  3199.            Display and formats of scalable font formats like Type 1, True
  3200.            Type, F3, Intellifont etc. (Speedo is only mentioned shortly).
  3201.            Lots of concepts are mentioned. Appendix F is a small
  3202.            dictionary about words from the writing league (German -
  3203.            English - French)
  3204.  
  3205. [Mer94]   Thomas Merz
  3206.           Name of truth, c't 12/1994
  3207.            How to get font names and other informations from a true type
  3208.            font file.
  3209.  
  3210. [Mic]     Microsoft
  3211.            Several documentations and programs about TrueTypeFonts
  3212.            ftp://ftp.microsoft.com/developr/drg/TrueType-Info/...
  3213.  
  3214. [Hil95]   Ulrich Hilgefort
  3215.           Fonts mit Mengenrabatt, c't 1/95
  3216.            Quality comparison of some TTF CD's:
  3217.  
  3218.            o Accurate Research: Dr. Fonts (2275 s/w & PD faces, TTF)
  3219.            o ARI Heidelberg (1268 sw & PD faces, TTF)
  3220.            o Bitstream Typeshop (502 faces, TTF)
  3221.            o PrimaFont TrueType CD (1812 faces, 1203 of them are digitized
  3222.              Berthold faces)
  3223.            o SoftMaker Profi-CD Version 2 (750 faces, TTF+T1)
  3224.            o URW PrintWorks (503 faces of 10 fonts, TTF+T1)
  3225.            o Wayzata Technology Font Pro 2 (213 faces, TTF+T1=
  3226.            (Stef: Gerd used "TT" for TrueType but I use TTF instead)
  3227.  
  3228. [Gla83]   Philip Glass
  3229.           Koyaanisqatsi, Island Records (1983)
  3230.            It's astoundishing that so many documental films use this music
  3231.            without any note ...
  3232. ---EOF---
  3233. +++++++++++++++++++++++++++++++++++
  3234. --
  3235.   Stefan Damerau - Bergholm 31 - D-24857 Fahrdorf - FRG