More Joy of GDOS* Version 2.9 Gerd Castan 06.05.1996 ________________________________* Deutsche Version gepostet in de.comp.sys.st und maus.gui.gem; englische Version in comp.sys.atari.st Inhaltsverzeichnis 1 Technisches 2 Einleitung 3 Motivation 4 A"nderungen 5 Briefe an die Leser 5.1 Programme 5.2 Drucker 5.3 Bitmap-Fonts 5.4 ISO-Modula-2 5.5 TOS 5.0 6 VDI-Treiber 6.1 Tintenstrahldrucker mit 150, 300 ... dpi 6.2 Tintenstrahldrucker mit 180, 360 ... dpi 6.3 9-Nadeldrucker 6.4 24-Nadeldrucker 6.5 Laserdrucker 6.6 Atari - Laserdrucker 6.7 Bildschirmtreiber 6.7.1 LineA 6.7.2 Setscreen und Getscreen 6.7.3 NVDI und WARP 9 6.8 Sonstige Treiber 6.8.1 Memory-Treiber 6.8.2 Plottertreiber 6.8.3 Druckertreiber f"ur NVDI 3.0 6.9 Was fehlt 7 Fehler 8 Fonts 8.1 Die Begriffe ''Font`` und ''Schnitt`` 8.2 Die Begriffe ''Format`` und ''Darstellung`` 9 Bitmap-Fonts 10 Vektorfonts 10.1 FSM-GDOS-Fonts 10.2 Bitstream Fontware-Fonts 10.3 Bitstream Speedo-Fonts 10.4 Type 1-Fonts 10.4.1 Multiple Master (MM) Fonts 10.4.2 Type 1-GX-Fonts 10.5 TrueType-Fonts 10.5.1 TrueType f"ur Windows 3.0 10.5.2 TrueType GX-Fonts bzw. TrueType 2.0 10.5.3 TrueType f"ur Windows NT 10.6 Calamus-Fonts 10.7 Vergleich der Vektorformate 10.7.1 Kurven 10.7.2 Hints, instructions, switches 10.7.3 Interne Aufl"osung 10.7.4 Lineare und optische Skalierung 10.8 Konversion zwischen den Vektorfontformaten 11 Drucker 12 Programme 13 Hilfsprogramme 13.1 fontfix 13.2 Outline Fonts 13.3 Druckertreiber 13.4 ASSIGN 13.5 FONTCHK 13.6 FONTCNV 13.7 GEMFont 13.8 FontMonger 13.9 Font-ID 13.10X4U 13.11Charmap 13.12GDOS-Font 13.13REFONT 13.14Arkus 14 Fontselektoren 14.1 The quick brown fox 14.2 UFSL 14.3 XUFSL, HuGo 14.4 Magic von Helli 14.5 FontSel 14.6 Weitere Fontselektoren 14.7 Minimalanforderungen 14.8 W"unschenswerte Eigenschaften 14.8.1 Attribute und Auswahl 14.8.2 Fenster und Eventverwaltung 14.8.3 Verschiedenes 14.9 "Uber Dialoge 15 Vertrieb 15.1 Atari 15.2 BELA 15.3 Language 15.4 Internet 15.5 Working Title 15.6 X Window System 15.7 COMPO 15.8 IMG-0300 15.9 FTP 15.10SciLab 15.11Star Division 15.12Thierry Rodolfo 15.13Sonstige 16 GDOS-Versionen 16.1 Die Fossile 16.1.1 Atari-GDOS 1.X und AMCGDOS 16.1.2 ABC-GDOS 16.1.3 G+Plus 16.1.4 G+Flair 16.2 Ein Schritt nach vorne 16.2.1 FontGDOS 2.0 16.2.2 FSMGDOS 3.0 16.3 Aktuelle Entwicklungen 16.3.1 SpeedoGDOS 4.0 und 4.1 16.3.2 SpeedoGDOS 4.2 16.3.3 SpeedoGDOS 5.0 16.3.4 NVDI bis Version 2.51 16.3.5 NVDI 3.0 16.3.6 NVDI 4.0 16.3.7 NVDI 4.11 16.4 Kommentare 17 Source 18 Tips und Tricks f"ur Anwender 18.1 Pixelm"ull beim Drucken 18.2 NEC P6+ 18.3 HP DeskJet 550C, 560C und DeskWriter 510, 520 18.4 "Uberschriebene Speedo-Schnitte 19 Tips und Tricks f"ur Programmierer 19.1 Fontgr"osse und Pixelgr"osse 19.2 Treiberauswahl 19.3 Das Metafile-Format 20 Erweiterte Sub-Opcodes f"ur Metafiles 20.1 Die unterst"utzten Sub-Opcodes 20.2 Die Gruppeninformation 20.3 Der Objektschatten 20.4 Die F"ullfl"ache 20.5 Der Vektortext 20.6 Die Fenstereinstellungen 20.6.1 Fensterposition 20.6.2 Rastereinstellungen 20.6.3 Bezugsobjekt 20.7 Die Graut"one 20.8 Bezier-Z"uge 20.9 Zusammenfassen mehrerer VDI-Bl"ocke 21 Standards 21.1 International Color Consortium Profile Format 21.2 TIFF 21.3 Character Sets 21.3.1 Glyphen und Ligaturen 21.3.2 ascii, ISO 646 21.3.3 ISO 8859 21.3.4 UNICODE / ISO 10646 21.4 GEM-LIST-Standard 22 Copyrights und Fonts 22.1 Bitstream-Fonts in Dokumenten 22.2 Urheberrecht 22.3 Markenrecht 23 Adressen 24 Sonstiges 24.1 Kritik 24.2 Lob 24.3 In eigener Sache 24.4 Warenzeichen 24.5 Garantie Literaturverzeichnis 1 Technisches Meine Mailadresse wird sich in absehbarer Zeit mehrmals "andern. Ich habe deshalb einen Alias, der die Mail dorthin weiterleitet, wo ich mich gerade aufhalte - und wenn es im Mausnet ist: G.Castan@physik.uni-stuttgart.de Damit dieses Dokument auf Servern und Mailboxen leichter zu finden ist, bitte ich, einen einheitlichen Namen zu verwenden und sowohl die ascii- als auch die TEX-Version zu speichern: FILENAME = gdosi29 (deutsche Version) FILENAME = gdosi29e (englische Version) Auch wenn UNIX-Fileserver verwendet werden, sollte CR+LF und nicht nur LF verwendet werden. Im WWW ist die deutsche Version (hoffentlich) immer unter http://www.uni-stuttgart.de/UNIuser/thphys/gerd/gdosi/gdosi.html. Diese Version ist nicht kopierbar, da sie absolute URLs enth"alt. Da Tabellen in GIFs umgewandelt werden, belegen die Files ausserdem "uber 2 MB. 2 Einleitung Ich schreibe gerade an einem Programm, das seine Druckausgaben "uber GDOS macht. Auf der Suche nach Druckertreibern bin ich auf das Problem gestossen, dass den Treibern oft keinerlei Dokumentation beiliegt. Ausserdem kommt es vor, dass es verschiedene Treiber mit gleichem Namen gibt. Aber worin unterscheiden sie sich? Ich habe hier meine Erfahrungen zu GDOS knapp zusammengefasst. Diese Zusammenfassung soll nicht allgemein darauf eingehen, wie man als Programmierer Druckertreiber benutzt (Ausnahme sind vielleicht Probleme, die in der angegeben Literatur zu kurz kommen). Genausowenig wird hier das Konzept oder die Installation von Druckertreibern besprochen. Hier sei auf die Literatur am Ende verwiesen. Vielmehr soll auf die einzelnen Treiber eingegangen werden: o Wo bekommt man die Treiber, Programme und GDOS her? o Wie unterscheidet man die verschiedenen Versionen? o Welche Probleme gibt es damit? o Welche Treiber kann man f"ur bestimmte Drucker verwenden? Wer zu einzelnen Treibern mehr Erfahrungen oder Fragen hat, der kann mir schreiben. Ich werde mir die M"uhe machen, diese Zusammenfassung zu vervollst"andigen. Mein Dank f"ur sachdienliche Hinweise gilt folgenden Personen: Kay Prisille (MIGRAPH-Produkte, Calligrapher lite); Julian Reschke (IMG-0???); Volker Ritzhaupt; J"urgen Voorgang (Working Title - Produkte); Herwig Schelauske (Installation von GDOS, Namenskonventionen); Normen Kowalewski (FontGDOS); Erik Dick (SpeedoGDOS); Patrick Dubbrow; Ulrich Rossgoderer (WYSIWYG); Stefan Hintz (CHARLY IMAGE); Ulli ''Huhu`` Ramps (Speedo 4.2); Laurenz Pr"ussner (SLM_HS); Marcel Boom (1. Postkarte); J"org Tochtenhagen (misc); Ralf Heckmann (Lektorat 8-); Andreas M. K"opfer (EASE, That's write, MagiC!); Wilfried Behne (misc); Ulrich Kaiser (ABC-GDOS); G"otz Hoffart (Noch ein Lektor); Thomas K"unneth (G+Plus); Chris Ridd (G+Plus) Gerd Castan. 3 Motivation Es hat mich mit GDOS etwa zwei Stunden Programmierarbeit gekostet, die Bildschirmausgabe in meinem Programm in maximaler Qualit"at auf den Drucker zu bekommen. Und praktisch ohne zus"atzlichen Aufwand erhalte ich Ausgaben auf Druckern, die ich "uberhaupt nicht kenne. Nat"urlich habe ich inzwischen deutlich mehr Zeit damit verbracht (unter anderem um dieses FAQ zu schreiben). Trotzdem sprechen viele Gr"unde f"ur GDOS: Wer vorhat, ein Programm mit Druckausgabe zu schreiben, tut gut daran, sich um die eigentlichen Aufgaben seines Programms zu k"ummern. Niemand ist bereit, f"ur Druckertreiber mitzubezahlen, wenn es ein Konkurenzprogramm gibt, dessen Programmierer keinen Aufwand mit Druckertreibern haben und das Programm damit einfach billiger (und wahrscheinlich besser) ist. Der Anwender hat neben dem Preisvorteil noch einen weiteren: Wenn er mehrere Programme hat, nehmen die Druckertreiber und Fonts nur einmal Platz auf der Platte weg. Der (qualifizierte) Feedback zu meinem FAQ ist im Vergleich zu Herbst '92, als ich damit begonnen habe, deutlich gestiegen. Durch Speedo scheint das Interesse der Programmierer an GDOS stark zugenommen zu haben. 4 "Anderungen Neue Kapitel/Infos sind mit + gekennzeichnet, ge"anderte mit *. Kleinere "Anderungen sind nicht aufgef"uhrt. * 14.1 The quick brown fox + 22.2 Urheberrecht + 22.3 Markenrecht * 16.3.6 NVDI 4.0 + 16.3.7 NVDI 4.11 * nvdiguid enth"alt jetzt ein Patchprogramm, das kleinere Fehler aus NVDI 3.x und 4.x behebt. * 10.7.4 Beispiel: Page vom Mai 1996 Seite 34 Die letzten Versionen: 2.4: 09.01.95 2.5: 21.02.95 2.6: 29.05.95 2.7: 17.08.95 2.8: 09.01.96 2.9: 06.05.96 5 Briefe an die Leser Es hat sich als nicht sehr effektiv herausgestellt, mitten im Text auf Probleme aufmerksam zu machen. Ich m"ochte deshalb hier die Probleme zusammenfassen. 5.1 Programme Die wenigsten der in 12 vorgestellten Programme besitze ich selbst. Ich kann auch nicht jedes Programm kennen, das irgendwo auf der Welt in eine Mailbox gelegt wird oder eine neue Versionsnummer hat. Die Programmierer sind also aufgefordert, Eigenwerbung zu treiben, und mir zu schreiben. Auch Anwendern n"utzt es, mir zu schreiben: wenn das Programm (durch die Erw"ahnung im FAQ) von mehr Personen benutzt wird, ist es wahrscheinlicher, dass es weiterentwickelt wird. 5.2 Drucker Ich kann mir vorstellen, dass eine vollst"andige Tabelle in 11 sehr hilfreich bei der Suche nach einem Treiber f"ur einen exotischen Drucker sein kann. Ich habe dazu aber bisher nur 2 konstruktive Mails bekommen. Und so wie die Tabelle zur Zeit aussieht, ist sie "uberfl"ussig. Soll ich sie rauswerfen? 5.3 Bitmap-Fonts Ich habe eine Mail mit einer sehr ausf"uhrlichen Beschreibung des GDOS Bitmapfontformates erhalten. Die Ver"offentlichung im FAQ habe ich aber abgelehnt, weil das auf der ganzen Welt nur von den ca. 3 Autoren von Fonteditoren und Fontkonvertern gebraucht wird. Wer anderer Meinung ist, soll mich vom Gegenteil "uberzeugen. Es sind ca 13 kB. 5.4 ISO-Modula-2 Ich wurde gebeten, folgende Anfrage zu ver"offentlichen: Gesucht: Portierung eines 100 % ISO-Modula-Compilers (mit Oberon-Erweiterung) eines englischen Herstellers (bisher portiert f"ur UNIX, Mac, Windows, Amiga). Profil: Informatiker mit Interesse an Compiler(bau). Erfahrung mit ANSI-C erforderlich, da der Quelltext in ANSI-C vorliegt. Englische Sprachkenntnisse (f"ur email und doku). Internet-Zugang (f"ur email und ftp) Die Portierung l"auft wahrscheinlich ohne kommerziellen Hintergrund (aber non-disclosure agreement) ab. Sie sollte den ATARIanern als Shareware zur Verf"ugung gestellt werden. Kontakt: Gerd Castan (G.Castan@physik.uni-stuttgart.de) 5.5 TOS 5.0 Wer Lust hat gegen Bezahlung - und auch die n"otige Ahnung hat - am TOS 4.9x mitzuarbeiten, der melde sich bei: C-Lab Digital Media GmbH Postfach 700 303 22003 Hamburg Tel-Nr.: 040-69 44 000 6 VDI-Treiber Hier werden zu jedem Treiber Vertrieb, Fehler und zugeh"orige Fonts aufgelistet. Die Treiber f"ur NVDI 3 sind separat in 6.8.3 aufgestellt. 6.1 Tintenstrahldrucker mit 150, 300 ... dpi __________________________________________________________________________ | Name |Datum |L"ange |Vertrieb |Fehler | Sonst. | Fonts | |___________|_________|_______|____________|_1_|_2_|________|____________| | HP_LJET |22.02.89 | 45512 | BELA | | | n.g. |LS | | HP_LASER |25.09.89 | 36928 | Atari,I | | | |LS | | LASERJET |06.03.91 | 54517 | Atari | | | |LS | | LASERJET |27.01.92 | 60194 | FontGDOS,I | | n | |LS, OTL | | LASERJET |28.01.93 | 61907 | SGDOS 4.0 | | n | |LS, SPD | | LASERJET |02.07.93 | 64408 | SGDOS 4.2 | | n | |LS,SPD,TT,T1| | HPL150 |12.04.86 | 51541 | wt | | |150dpi |LL | | HPL300 |24.04.86 | 51541 | CL,wt | | | |LS | | DESKJET |13.05.92 | 45637 | BELA | | | g. |LS? | | DESKJET |14.05.91 | 46040 | CL,WT | | | g. |300x600 | | DESKJET |06.03.91 | 54285 | Atari,I | | | |LS? | | DESKJET |? | 45618 | ? | | | g. |LS | | DESKJET |? | 45285 | ? | | | g. |LS | | DESKJET5 |14.05.91 | 46040 | CL,WT | | | delta |LS | | DJ5 |27.01.92 | 60600 | FontGDOS,I | | n | |OTL | | DJ5 |? | 60538 | ? | | | | | | DJ5 |28.01.93 | 62251 | SGDOS 4.0 | | n | |SPD | | DJ5 |02.07.93 | 64319 | SGDOS 4.2 | | n | |SPD,TT,T1 | | DJ550C |11.10.93 | 68870 | SGDOS 5.0 | | n | |LS,SPD,TT,T1| | DJ550C |11.10.93 | 68870 | T.R. | | n | |LS,SPD,TT,T1| | DJ_550C2 |14.04.94 | 68746 | SGDOS 5.0 | | n | |LS,SPD,TT,T1| | DJ_500C |14.04.94 | 68761 | SGDOS 5.0 | | n | |LS,SPD,TT,T1| | DJ_510 |17.05.94 | 61921 | SGDOS 5.0 | | n | |LS,SPD,TT,T1| |_DJ_510T___|17.05.94_|_61925_|_SGDOS_5.0__|___|_n_|________|LS,SPD,TT,T1| Anmerkung: Die Treiber HP_LJET und DESKJET k"onnen sowohl f"ur (HP-kompatible) Tintenstrahl- als auch Laserdrucker verwendet werden. Der Unterschied besteht darin, dass die Daten gepackt (g.) oder nicht gepackt (n.g.) an den Drucker geschickt werden. delta bedeutet, dass die Daten delta-komprimiert werden. 6.2 Tintenstrahldrucker mit 180, 360 : : :dpi __________________________________________________________________________ | Name |Datum |L"ange |Vertrieb |Fehler | Sonst. | Fonts | |___________|_________|_______|____________|_1_|_2_|________|____________| | BJ10E |20.11.90 | 45917 | WT | | | |NC | | BJ10 |20.11.85 | 45919 | CL | | | |NC | | BJ10 |28.08.91 | 45660 | BELA | | | |NC | | BJ10 |27.01.92 | 59715 | FontGDOS,I | | n | |NC, OTL | | BJ10 |28.01.93 | 61428 | SGDOS 4.0 | | n | |NC, SPD | | BJ10 |02.07.93 | 63496 | SGDOS 4.2 | | n | |NC,SPD,TT,T1| | STYLUS |25.04.94 | 60848 | SGDOS 5.0 | | n | |NC,SPD,TT,T1| | MT90 |21.12.90 | 44881 | BELA | | |180dpi |SP | | PAINTJET |27.01.92 | 60005 | FontGDOS | | n | |SP, OTL | | PAINTJET |? | 60173 | | | | |SP | | PAINTJET |28.01.93 | 61648 | SGDOS 4.0 | | n | |SP, SPD | | PAINTJET |02.07.93 | 63642 | SGDOS 4.2 | | n | |SP,SPD,TT,T1| | PAINTJET |14.08.92 | 60173 | I | | | |SP, OTL | |_PAINTJET__|13.10.91_|_45934_|_WT_________|___|___|________|SP__________| Anmerkung: PAINTJET: 180x180: 2 bis 8 Farben, 90x90: 16 Farben. MT90 ist von Patrick Dubbrow. Bei Tintenstrahldruckern tritt ein Problem mit Bitmap-Fonts auf. Bei 300 dpi ist alles in Ordnung. 360 dpi - Fonts sind aber so optimiert, dass sie auf Nadeldruckern mit dicken Nadeln optimal aussehen. Auf Tintenstrahldruckern sehen diese Fonts viel zu d"unn aus. Also entweder 300 (600, 1200 :-)) dpi-Drucker oder ausschliesslich Vektorfonts verwenden. 6.3 9-Nadeldrucker __________________________________________________________________________ | Name |Datum |L"ange |Vertrieb |Fehler | Sonst. | Fonts | |___________|_________|_______|____________|_1_|_2_|________|____________| | FX240DPI |22.12.89 | 45396 | BELA | j | | |SR | | FX80 |22.12.89 | 45396 | BELA,wt | n | | |EP | | FX80_2 |12.06.91 | 45396 | I | | | |EP | | FX80 |24.09.91 | 45525 | CL | | | |EP | | FX80 |16.12.87 | 45396 | Atari | n | | |EP | | FX80 |27.01.92 | 59236 | FontGDOS,I | n | n | FF |EP, OTL | | FX80 |28.01.93 | 61111 | SGDOS 4.0 | | n | |EP, SPD | | FX80 |02.07.93 | 63177 | SGDOS 4.2 | | n | |EP,SPD,TT,T1| | FX80HIGH |22.01.89 | 44730 | Atari,I | n | | |SR | | FX80_QD |24.09.91 | 45525 | WT | | | |EP | | NX1000 |27.01.92 | 58719 | FontGDOS | n | n | |EP, OTL | | NX1000 |28.01.93 | 60723 | SGDOS 4.0 | | n | |EP, SPD | | NX1000 |02.07.93 | 62717 | SGDOS 4.2 | | n | |EP,SPD,TT,T1| | NX1000 |14.08.92 | 58887 | I | | | |EP, OTL | | OKI20 |27.01.92 | 58491 | FontGDOS | n | n | |EP, OTL | | OKI20 |28.01.93 | 60495 | SGDOS 4.0 | | n | |EP, SPD | | OKI20 |17.03.93 | 60511 | SGDOS 4.2 | | n | |EP,SPD,TT,T1| | OKI20 |14.08.92 | 58659 | I | | | |EP, OTL | | SMM804 |16.12.87 | 44801 | Atari | | | |LB | | SMM804_2 |16.06.91 | 44801 | I | | | |LB | | SMM804 |27.01.92 | 59201 | FontGDOS,I | | n | |LB, OTL | | SMM804 |28.01.93 | 61076 | SGDOS 4.0 | | n | |LB, SPD | |_SMM804____|02.07.93_|_63142_|_SGDOS_4.2__|___|_n_|________|LB,SPD,TT,T1| Anmerkung: FX80HIGH druckt normalen Text doppelt, FX240DPI nur einfach, FX80_QD druckt in vierfacher Dichte. NX1000 und OKI20 sind Farbtreiber mit 8 Farben. 6.4 24-Nadeldrucker _________________________________________________________________________ | Name |Datum |L"ange |Vertrieb |Fehler | Sonst. | Fonts | |__________|_________|_______|____________|_1_|_2_|________|____________| | EPSON360 |04.04.90 | 45619 | BELA | j | | |NC | | EPSON360 |16.09.92 | 45547 | WT | | |180x360 | | | EPSLQPAR |14.02.91 | 44939 | I | | | | | | LQ_500 |15.11.93 | 68068 | T.R. | | n | |SP,SPD,TT,T1| | LQ570 |28.01.93 | 62051 | SGDOS 4.0 | | n | |SPD | | LQ570 |02.07.93 | 64228 | SGDOS 4.2 | | n | |SPD,TT,T1 | | LQ_800 |15.11.93 | 68068 | T.R. | | n | |SP,SPD,TT,T1| | LQ_850 |15.11.93 | 68068 | SGDOS 5.0 | | n | |SP,SPD,TT,T1| | LQ_850 |15.11.93 | 68068 | T.R. | | n | |SP,SPD,TT,T1| | LQ_1000 |15.11.93 | 68068 | T.R. | | n | |SP,SPD,TT,T1| | LQ_1050 |15.11.93 | 68068 | T.R. | | n | |SP,SPD,TT,T1| | LX800 |14.11.93 | 67989 | T.R. | | n | |SP,SPD,TT,T1| | NB15 |22.12.89 | 44881 | BELA,wt | n | | |SP | | NB15 |16.12.87 | 44881 | Atari,CL | n | | |SP | | NB15_2 |12.06.91 | 44881 | I | | | |SP | | NB15 |27.01.92 | 59121 | FontGDOS,I | n | n | |SP, OTL | | NB15 |28.01.93 | 60989 | SGDOS 4.0 | n | n | |SP, SPD | | NB15 |02.07.93 | 63055 | SGDOS 4.2 | n | n | |SP,SPD,TT,T1| | NECP6 |12.04.80 | 45199 | wt | | | |NC | | NECP6 |10.04.91 | 45619 | BELA | j | | |NC | | NECP6 |06.02.86 | 44906 | Atari,I | j | | |NC | | NECP6_2 |28.06.91 | 46557 | I | | | |NC | | NECP |27.01.92 | 59516 | FontGDOS | j | n | |NC, OTL | | NECP |28.01.93 | 61229 | SGDOS 4.0 | | n | |NC, SPD | | NECP |02.07.93 | 63297 | SGDOS 4.2 | | n | |NC,SPD,TT,T1| | NEC_P |14.08.92 | 59516 | I | | | |NC, OTL | | P24M |08.04.89 | 47104 | I | | | | | | P24ML |08.04.89 | 47104 | I | | | | | | P24MWID |08.04.89 | 47104 | I | | | | | |_P24MWIDL_|08.04.89_|_47104_|_I__________|___|___|________|____________| 6.5 Laserdrucker _________________________________________________________________________ | Name |Datum |L"ange |Vertrieb |Fehler | Sonst. | Fonts | |__________|_________|_______|____________|_1_|_2_|________|____________| | RICOH12 |23.06.92 | 45438 | WT | | |400dpi | | | HP_LJET |22.02.89 | 45512 | BELA | | | n.g. |LS | | HP_LASER |25.09.89 | 36928 | Atari,I | | | |LS | | LASERJET |06.03.91 | 54517 | Atari | | | |LS | | LASERJET |27.01.92 | 60194 | FontGDOS,I | | n | |LS, OTL | | LASERJET |28.01.93 | 61907 | SGDOS 4.0 | | n | |LS, SPD | | LASERJET |02.07.93 | 64408 | SGDOS 4.2 | | n | |LS,SPD,TT,T1| | HPL150 |12.04.86 | 51541 | wt | | |150dpi |LL | | HPL300 |24.04.86 | 51541 | CL,wt | | | |LS | | LJ4_300 |12.01.94 | 61910 | SGDOS 5.0 | | n | |LS,SPD,TT,T1| | LJ4_600 |12.01.94 | 61910 | SGDOS 5.0 | | n | |SPD,TT,T1 | | DESKJET |13.05.92 | 45637 | BELA | | | g. |LS | | DESKJET |14.05.91 | 46040 | CL | | | |LS | | DESKJET |06.03.91 | 54285 | Atari,I | | | |LS | | CANONLBP |26.09.89 | 36980 | Atari,I | | | |LS | |_LBP______|13.01.92_|_45453_|_WT_________|___|___|________|LS__________| 6.6 Atari - Laserdrucker ________________________________________________________________________ | Name |Datum |L"ange |Vertrieb |Fehler | Sonst. | Fonts | |________|_________|_______|_____________|_1_|_2_|________|____________| | SLM804 |12.04.91 | 47496 |BELA | | n | |LS | | SLM804 |16.12.87 | 45788 |Atari,I,CL,wt| | j | |LS | | SLM |12.12.90 | 48399 |Language | | | |LS | | SLM |27.01.92 | 60036 |FontGDOS,I | | n | |LS, OTL | | SLM |28.01.93 | 61911 |SGDOS 4.0 | | n | |LS, SPD | | SLM |02.07.93 | 63987 |SGDOS 4.2 | | n | |LS,SPD,TT,T1| |_SLM_HS_|17.01.94_|_63663_|ROM__________|___|_n_|________|LS,_SPD_____| SLM_HS ist ein SLM-Treiber f"ur den Falcon. 6.7 Bildschirmtreiber Der Bildschirm wird (falls man die VDI-Funktionen benutzt) genauso als Ausgabeger"at angesehen wie Drucker, Plotter etc. Daher k"onnen in der ASSIGN.SYS Fonts f"ur den Bildschirm angemeldet werden wie f"ur Drucker. Normalerweise merkt man davon nichts, da sich die Treiber im ROM befinden. Diese k"onnen aber wie die Druckertreiber ersetzt werden (NVDI, WARP 9). Anmerkung: Als Systemfont kann man bisher nur Fonts anmelden, die (wie die Originale) nicht proportional sind und eine Gr"osse von 8*8 bzw. 8*16 Bits haben. Das ist keine Einschr"ankung des VDI, sondern der AES. Mit neueren AES (ab 4.0?) ist es inzwischen kein Problem mehr, hier Fonts beliebiger Gr"osse anzumelden (Variablen AE_FONTID und AE_FONTSIZE in der Datei GEM.CNF, siehe [Sche93 ]). Programmierer sollten darauf achten, dass ihre Programme damit zurechtkommen (ebenso wie mit beliebig breiten Scrollbalken). Bitmap-Fonts, die f"ur den Bildschirmtreiber 1 nicht angemeldet sind, stehen auch f"ur die anderen Bildschirmtreiber nicht zur Verf"ugung. 6.7.1 LineA Die sogenannten LineA-Routinen sind Unterprogramme der Bildschirmtreiber der ST-Serie, die als undokumentiert zu betrachten sind. Es handelt sich dabei um den hardwareabh"angigen Teil dieser Treiber. Der aufmerksame Leser ahnt es: tauscht man die Bildschirmtreiber aus, gibt es auch die LineA-Routinen nicht mehr. Dies ist beispielsweise bei den TTs der Fall. Also niemals verwenden! Auf die LineA-Variablen darf lesend zugegriffen werden. Ich sehe darin aber wenig Sinn. 6.7.2 Setscreen und Getscreen Diese XBIOS-Funktionen (vor allem Setscreen) sollten eigentlich nicht verwendet werden. Aber was rede ich. F"ur die, die's trotzdem tun oder darunter zu leiden haben, dass es jemand getan hat: Die Videohardware des 1040 STE und Mega STE hat einen Hardwarefehler. Wird mit Setscreen eine neue physBase angegeben (und wenn es dieselbe ist, die man mit Getscreen bekommen hat), kann es vorkommen, dass der Bildschirm gefaltet wird. Ursache daf"ur ist, dass damit zu einem beliebigen Zeitpunkt ein Register beschrieben wird, welches nur w"ahrend bestimmter Phasen des Bildschirmaufbaus beschrieben werden darf. Was ist zu tun? Anwender: Die Programme NVDI und FALT_OFF fangen diesen Fehler ab. Es hilft auch dem Programmierer dieses FAQ unter die Nase halten. Programmierer: Setscreen erst gar nicht verwenden. Wer es trotzdem tut: falls physBase nicht ver"andert wird, darf nicht der Wert genommen werden, der mit Getscreen geholt wurde, sondern es ist der Wert -1 als physBase zu "ubergeben. 6.7.3 NVDI und WARP 9 Es gibt zwei verbreitete Programme, die die ROM-Treiber ersetzen: NVDI und WARP 9 (vormals QuickST). TurboST wurde fr"uher von BELA vertrieben und wird nicht mehr weiterentwickelt. Hat man sich erst einmal daran gew"ohnt, will man nie wieder ohne leben: die Benutzeroberfl"ache kommt einem sonst z"ah wie Honig vor. Ich will nie wieder ohne NVDI an einem Atari arbeiten. Andere behaupten dasselbe von WARP 9. Bei NVDI werden die Treiber f"ur die ST- und TT- und Falcon-Aufl"osungen durch stark optimierte Treiber ersetzt. Welche Treiber WARP 9 ersetzt, weiss ich leider nicht. NVDI gibt es bei Behne&Behne und enth"alt neben den Treibern auch ein GDOS und ein Handbuch, das alle VDI-Aufrufe genau beschreibt. Seit Version 3.0 sind die VDI-Aufrufe nicht mehr im Handbuch enthalten. WARP 9 gibt es bei CodeHead. NVDI ist vor allem in Deutschland verbreitet, WARP 9 vor allem in den USA. Im Gegensatz zu NVDI beschleunigt WARP 9 nur die Textausgabe. Graphik bleibt mit WARP 9 also fast so z"ah wie vorher. WARP 9 arbeitet inzwischen auch mit MultiTOS zusammen. Es l"auft auch auf dem Falcon, ich weiss aber nicht, ob es dabei auch alle Aufl"osungen unterst"utzt. 6.8 Sonstige Treiber ___________________________________________________________________________ | Name |Datum |L"ange |Vertrieb |Fehler | Sonst. |Fonts | |__________|_________|_______|____________|_1_|_2_|__________|____________| | META |11.04.89 | 5644 | I | | | |MF | | META |08.10.88 | 9325 | BELA | | | |MF | | META |16.12.87 | 9325 | Atari | | | |MF | | META_2 |14.06.91 | 9325 | I | | | |MF | | META |27.01.92 | 9718 | FontGDOS | | n | |MF, OTL | | META |28.01.93 | 9733 | SGDOS 4.0 | | n | |MF, SPD | | META |02.07.93 | 11174 | SGDOS 4.2 | | n | |MF,SPD,TT,T1| | MEMORY |27.01.92 | 58397 | FontGDOS | | n | |LS, OTL | | MEMORY |28.01.93 | 60265 | SGDOS 4.0 | | n | |LS, SPD | | MEMORY |02.07.93 | 62331 | SGDOS 4.2 | | n | |LS,SPD,TT,T1| | MEMORY_2 |10.10.94 | 67274 | T.R. | | n | |LS,SPD,TT,T1| | CYPRESS | | | | | | MEMORY | | | PSCRIPT |14.10.92 | 33016 | WT | | | | | | HPGL |08.07.91 | 48885 | ST458 | | | V 1.4r2 | | | ZEBRA |07.12.91 | 45746 | WT | | | | | | T_OFFICE | | | wt | | |98/196dpi | | | T_OFFICE | | | wt | | |98/196dpi | SPD | |_IMG-0300_|_________|_______|_Reschke,wt_|_n_|___|__________|LS__________| IMG-0300 kann (nicht kommerziell) frei kopiert werden. Die anderen IMG-0???-Treiber sind von SciLab. ZEBRA ist f"ur den Zebra Labelprinter. 6.8.1 Memory-Treiber Ein Memory-Treiber macht nichts anderes als ein Bildschirmtreiber (siehe auch [Pru93c ] und [Pru93b ]). Nur landet das Ergebnis nicht im Bildschirmspeicher, sondern in einem anderen Speicher und kann von dort weiterverarbeitet werden. Das "ubliche v_openwk Binding hat nicht alle n"otigen Parameter, um diesen Treiber zu "offnen. Falls nicht mit der Programmiersprache mitgeliefert, muss man dieses Binding selbst schreiben. Ein Listing dazu findet sich in [Pru93c ]. Die oben aufgef"uhrten Memory-Treiber k"onnen nur schwarz/weiss ausgeben und haben eine logische Aufl"osung von 300 dpi. Die von mir getesteten (Matrix-) Treiber verkraften es problemlos, wenn man Fonts anmeldet, die eigentlich f"ur andere Treiber sind. Der Memory-Treiber sollte deshalb trotz der logischen Aufl"osung von 300 dpi auch mit Bildschirm-Fonts zurechtkommen. Problematisch ist aber, dass die Aspect-Ration (das Verh"altnis von Pixelbreite zu Pixelh"ohe) im allgemeinen nicht mit der Bildschirmaufl"osung "ubereinstimmt. Das hat zur Folge, dass beispielsweise Kreise als Ellipsen dargestellt werden. Mit NVDI ab Version 2.5 kann man die Ausgaben auch auf offscreen-Bitmaps machen. Man kann dort beliebige GDOS-Ausgaben machen und das Ergebnis dann gegebenenfalls in die Fenster des Bildschirms kopieren. 6.8.2 Plottertreiber Mit dem Programm DATA scheint ein HPGL-Treiber vertrieben zu werden. Auch auf der PD-Diskette ST 458 befindet ein solcher Treiber. Wenn ich genaueres weiss, folgt an dieser Stelle mehr. 6.8.3 Druckertreiber f"ur NVDI 3.0 NVDI 3.0 hat ein eigenes Treiberkonzept. Zu NVDI geh"oren sehr wenige Treiber, die aber sehr schnell, sehr klein und sehr flexibel sind. Die Treiber im einzelnen: __________________________ |_Treiber_____|_Datum____| | PINPRN.SYS | 19.10.94 | | PAGEPRN.SYS | 19.10.94 | | IMG.SYS | 30.10.94 | | MEMORY.SYS | 18.10.94 | | META.SYS | 18.10.94 | |_ATARILS.SYS_|_18.10.94_| Zu jedem Treiber geh"ort ein .INF-File im GEMSYS-Ordner. Je nach Farbf"ahigkeit des Druckers (einstellbar in MAKEPRN.APP) sollen die Druckertreiber andere Offsreen-Treiber zum Aufbau der Graphik verwenden (solche Kleinigkeiten stehen nat"urlich nicht im Handbuch). Die Offscreen-Treiber: ____________________________________ |_Treiber______|_Datum____|_Farben_| | OFF002.NOD | 06.11.94 | 2 | | OFF004IP.NOD | 06.11.94 | 4 | | OFF016IP.NOD | 06.11.94 | 16 | | OFF256IP.NOD | 06.11.94 | 256 | |_OFF32KFL.NOD_|_06.11.94_|_32768__| Sehr lobenswert ist die Flexibilit"at beim Anpassen an neue Drucker. Bei SpeedoGDOS braucht man einen Gewerbeschein und viel Geld, um sich als Entwickler eintragen zu lassen, um dann mit hohem Aufwand in C einen Treiber zu programmieren. Bei NVDI braucht man dagegen nur mit MAKEPRN.APP die Steuercodes f"ur seinen Drucker einzugeben. Es ist also lediglich ein intensives Studium des Druckerhandbuchs notwendig, keine Programmierf"ahigkeiten. Diese Steuercodes werden in den .INF-Dateien der jeweiligen Treiber gespeichert. Ein Wermutstropfen: man kann die Druckeranpassungen nicht einfach austauschen, da weder das Format der .INF-Dateien dokumentiert ist, noch ein Programm existiert, mit dem man die Anpassungen extrahieren oder hinzuf"ugen kann. Lediglich ein kompletter Austausch der .INF-Dateien ist m"oglich. Einzige L"osung zur Zeit: die komplette .INF-Datei an 2B schicken. Ein weiteres Problem, das im Handbuch nicht einmal erw"ahnt ist, besteht beim Anmelden von Bitmap-Fonts in der ASSIGN.SYS. Nehmen wir an, es seien f"ur den PINPRN.SYS 180 dpi-Fonts angemeldet. Jetzt kann man leicht mit Hilfe des CPX auf 360 dpi schalten. Der Ausdruck wird dann aber katastrof"urchterlich. Des R"atsels L"osung: Es ist die Datei PINPRN.SYS ein zweites Mal unter anderem Namen (z.B. PINPRN2.SYS) in dem GEMSYS-Ordner zu kopieren. Dieser Treiber kann dann auch in der ASSIGN.SYS angemeldet werden, diesmal aber mit Fonts anderer Aufl"osung. Fazit: Die Treiber sind konzeptionell wesentlich besser als die von SpeedoGDOS 5.0. 6.9 Was fehlt Sind alle wunschlos gl"ucklich? 7 Fehler Mir bekannte Fehler der Druckertreiber sind: 1 Diese Treiber stellen auch Fonts mit dem Attribut hell ausgef"ullt dar. 2 Nicht auf dem TT lauff"ahig. 3 Die EXTENDED ENQUIRE FUNCTION (VDI 102, vq_extnd) liefert teilweise nicht die Werte zur"uck, wie sie beispielsweise im Profibuch dokumentiert sind. 4 Bei der Kombination der Attribute kursiv und outlined werden die Buchstaben von Bitmap-Fonts rechts abgeschnitten. Dieser Fehler ist unabh"angig davon, welche Attribute sonst noch gesetzt werden. Er war in den Libraries der Treiber-Sourcen von Atari und ist damit wahrscheinlich in allen Treibern bis auf NVDI und SpeedoGDOS enthalten. Steht in der Tabelle nichts "uber einen Fehler, so ist mir nicht bekannt, ob der Fehler auftritt, oder nicht. Es scheint kein Zufall zu sein, dass Xact nur die Attribute fett, kursiv und unterstrichen unterst"utzt. (Siehe auch [Res92 ]) Ein weiterer Grund, der gegen die Verwendung der Attributs outlined spricht, ist folgender: Wenn man einen Treiber dazu zwingt, einen outlined- Font aus einem normalen Font zu berechnen, wird er grob gesagt um zwei Pixel breiter. Da ein Pixel (im Gegensatz zu einem angepassten Font) eine aufl"osungsabh"angige Breite hat, ist ein Text in jeder Aufl"osung unterschiedlich breit. Es ist aber v"ollig unerw"unscht, wenn ein Text auf unterschiedlichen Druckern eine unterschiedliche Breite hat. Die einzige Methode, dem entgegenzuwirken, w"are Letterspacing. Das aber ist typographischer Pfusch. 8 Fonts 8.1 Die Begriffe "Font" und "Schnitt" Zun"achst: was ist der Unterschied zwischen einem Font und einem Schnitt (englisch: face)? Ruft man einen Fontselektor auf, sieht man beispielsweise Dutch 801 Roman, Dutch 801 Italic, Dutch 801 Bold, Dutch 801 Bold Italic. In diesem Fall haben wir 4 Schnitte, die zusammen einen Font bilden. Bei Bitmap-Fonts ist die Trennung nicht ganz so einfach, weil die ganzen Attribute aus einer Datei berechnet werden. (Diese Berechnung ist im Prinzip auch bei Vektorfonts m"oglich, aber meiner bescheidenen Meinung nach Unsinn. Deshalb ist mir auch nicht selbst aufgefallen, dass diese Berechnung der Attribute bei einigen SpeedoGDOS-Versionen fehlerhaft ist, siehe auch 16.3.3.) Bei Vektorformaten verwischt sich die Grenze mit den Multiple Master Fonts (siehe 10.4.1) und den TrueType GX Fonts (siehe 10.5.2) ebenfalls. Auch ich halte die Trennung zwischen Font und Schnitt in diesem FAQ nicht ganz sauber durch. Das gilt insbesondere in diesem Kapitel "uber Fontformate (den Ausdruck Schnittformat gibt es nicht, und es h"ort sich seltsam an, wenn man sagt ''Diese Schnitte sind in jenem Fontformat gespeichert.``). 8.2 Die Begriffe "Format" und "Darstellung" Der Begriff ''Format`` wird im Zusammenhang mit Fonts doppelt verwendet, was doch etwas zu Konfusionen f"uhrt. Einerseits unterscheidet man beispielsweise das TrueType-Format vom Type 1-Format (und anderen). Gleichzeitig unterscheidet man bei beiden noch einmal zwischen dem Macintosh-Format und dem Windows-Format (und anderen). Um diese Verwirrung aufzul"osen, definiere ich fuer dieses FAQ: o Um zwischen TrueType, Type 1, Speedo: : :zu unterscheiden, verwenden wir weiterhin den Begriff Format o Um zwischen den Dateiformaten zu unterscheiden, verwenden wir den Begriff Darstellung (engl: Representation). Dieser Begriff wird in Mathematik und Physik verwendet, wenn Gruppen zwar unterschiedlich aussehen, sich aber trotzdem samt Struktur bijektiv aufeinander abbilden lassen. Dann l"asst sich auch der etwas verwirrende Umstand, dass es das TrueType 1.0-Format (f"ur Macintoshs) und das TrueType f"ur Windows-Format sowohl in der Macintosh- als auch in der Windows-Darstellung gibt: Macintosh TrueType-Format in der Macintosh-Darstellung, Macintosh TrueType-Format in der Windows-Darstellung, TrueType f"ur Windows-Format in der Macintosh-Darstellung, TrueType f"ur Windows-Format in der Windows-Darstellung. Es l"asst sich dann auch einfacher ausdr"ucken, dass SpeedoGDOS 5.0 und NVDI 3.0 die Windows-Darstellung brauchen, unabh"angig davon, ob es das Windows- oder Macintosh-Format ist. 9 Bitmap-Fonts Die verwendeten Fonts sind Bitmap-Fonts im DR-Standardformat. Die Fonts m"ussen in der Intel-Darstellung gespeichert sein. Die Motorola-Darstellung wird von keinem GDOS unterst"utzt (siehe auch [Whe88 ] und Anhang). Bei den GDOS-Bitmap-Fonts sind die Breiteninformationen sowohl im Bildschirmzeichensatz als auch in den Druckerzeichens"atzen definiert. Leider waren die Fontdesigner etwas "ubereifrig und haben die Breite der Bildschirmzeichen vieler Fonts so angepasst, dass sie besonders sch"on aussehen. Damit sind sie zwar sch"on, stimmen aber nicht mit den Druckerzeichens"atzen "uberein und erlauben kein WYSIWYG. Im Internet kursieren jede Menge Fonts, die nur f"ur den Bildschirm und vielleicht noch f"ur einen Drucker geeignet sind. Jeder, der diese Fonts verwendet, muss sich dar"uber im klaren sein, dass er Dokumente mit diesen Fonts niemals sauber "uber GDOS ausdrucken k"onnen wird. Dagegen werden im Atari- und im BELA-Paket die jeweiligen Fonts f"ur alle Druckertreiber des jeweiligen Pakets mitgeliefert (Im Atari-Paket fehlen die 360x360dpi-Fonts). Man kann dann - ein geeignetes Programm vorausgesetzt - jedes Dokument mit jedem Druckertreiber ausdrucken. 10 Vektorfonts Vektorfonts enthalten keine einzelnen Pixel, sondern Algorithmen, die mit Hilfe von Umrissen und Hints das Aussehen von Zeichen beschreiben. Weil es sich um Algorithmen handelt (besonders sch"on bei METAFONT zu beobachten), sind die Fonts im Gegensatz zu Bitmapfonts wie normale Programme durch Copyrights gesch"utzt. Vergleiche dazu auch [Walsh ]. Im folgenden kommt einiges an Hintergrundwissen "uber Vektorformate. Weshalb sollte sich aber der geneigte Leser die M"uhe machen, das zu verinnerlichen? Schliesslich kaufen wir f"ur ein paar Mark eine Font-CD, w"ahlen die 17 interessantesten Fonts f"ur unser erstes Plakat aus und drucken das Ergebnis dann aus. Die Probleme sind: Ich habe ein und denselben Schnitt in mehreren Formaten. Welchen soll ich nehmen? Manchmal habe ich nur beim Drucken, manchmal nur auf dem Bildschirm und manchmal nur bei bestimmten Gr"ossen Probleme. Warum? Wer allerdings 17 Garamond-Schnitte von 17 Herstellern hat, sollte eher Zeitschriften wie die Page lesen, um zu wissen, welche er nehmen soll. 10.1 FSM-GDOS-Fonts Die Vektorfonts im alten FSM-GDOS-Format der QMS/Imagen Corp. werden hier mit OTL bezeichnet. Diese Fonts und Treiber sollten nicht mehr benutzt werden und sind hier nur der Vollst"andigkeit halber aufgef"uhrt. 10.2 Bitstream Fontware-Fonts Um eine Konfusion zu vermeiden sei erw"ahnt, dass es von Bitstream noch das Fontware-Format gibt, das beispielsweise keine Hints beherrscht. Dieses Format hat nichts mit den hier besprochenen GDOS-Fontformaten zu tun. 10.3 Bitstream Speedo-Fonts Die Vektorfonts im Speedo-Format der Firma Bitstream werden hier mit SPD bezeichnet. Sie werden von allen SpeedoGDOS-Versionen und von NVDI ab Version 3.0 unterst"utzt. Manche Schnitte von Bitstream haben ''BT`` im Namen, andere ''SWA``. BT steht f"ur ''Bitstream Type``, ''SWA`` f"ur ''Set Width Adjusted``. Die SWA-Schnitte unterscheiden sich im Design der Zeichen nicht von den korresponierenden Schnitten ohne SWA. Lediglich der Zeichenabstand ist ver"andert, damit die Bildschirmdarstellung mit den eingebauten Schnitten spezieller Drucker "ubereinstimmt. Es ist also sinnvoll, die SWA-Schnitte nur dann zu verwenden, wenn man tats"achlich einen solchen Drucker hat und wei"s, da"s der Schnitt von dem Drucker mit dem druckereigenen Zeichensatz gedruckt wird. Das ist unter GDOS aber nie der Fall. 10.4 Type 1-Fonts Type 1-Fonts gibt es in Macintosh- und MS-DOS/WINDOWS-Darstellung. Die Versionen unterscheiden sich nur in der internen Darstellung, nicht in der Information. Mindestens eines dieser Formate wird von SpeedoGDOS ab Version 5.0a unterst"utzt. Ich habe allerdings schon Schnitte gefunden, die von SpeedoGDOS 5.0a nicht dargestellt werden k"onnen. Eine Anmerkung am Rande: Es ist ein Irrtum anzunehmen, PS-Interpreter w"urden Type 1-Fonts verwenden, nur weil der Original PS-Interpreter von Adobe dies tut. Ein PS-Interpreter verwendet das Fontformat, das der Hersteller des Interpreters will. Nur auf eines kann man sich ziemlich sicher verlassen: ein PS-Dokument sieht auf dem Bildschirm anders aus als auf dem Drucker. 10.4.1 Multiple Master (MM) Fonts ATM (Adobe Type Manager) 3.01 f"ur Windows beherrscht jetzt zus"atzlich Multiple Master Fonts, eine Erweiterung des Type 1-Formats. Mit dieser Technologie lassen sich nicht nur H"ohe, Breite, Neigungswinkel und Rotation bei der Ausgabe angeben, man hat zus"atzliche kontinuierliche Parameter, mit denen man aus verschiedenen Designachsen ausw"ahlt. Eine Designachse k"onnte von leicht nach fett gehen, eine weitere von serif nach sans-serif. Dies ist nicht ein einfacher Algorithmus, wie sonst bei GDOS, sondern der Fontdesigner bestimmt, wie und wo sich ein Schnitt ver"andert, wenn er fetter oder leichter wird. Der Fontdesigner bestimmt auch, welche Designachsen es gibt. Dieser Abschnitt dient nur zur Bildung. SpeedoGDOS 5.0 beherrscht nur normale Type 1-Fonts und NVDI 3.0 gar keine. Wenn man sich in [Hil95 ] die URW PrintWorks-CD anschaut, merkt man, dass URW intern eine solche Technologie auch besitzt. Vergl. auch [Kar92a ]. Dieses hochinteressante Buch ist auch von URW. Diese MM-Fonts sind doch eine Erweiterung des Type 1-Formats? Genau. Unter Windows kann ich jetzt MM Fonts verwenden, aber was mache ich mit meinem alten Postscipt-Drucker? Kein Problem, der kann das trotzdem. Wie das? Ich habe doch schon erw"ahnt, dass Vektorfonts eigentlich Algorithmen darstellen. Adobe hat einfach einen neuen Operator definiert. Den beherrscht mein alter Postscript-Drucker doch nicht. Richtig. Man kann die Definition des Operators aber auch im Font selbst mitliefern. So wird das zur Zeit auch gemacht. Deshalb k"onnen das auch die alten Postscript-Drucker. Dann kann das aber auch der Scaler meines SpeedoGDOS, oder? Eben. Man m"usste nur die Programmierschnittstelle anpassen. Aus diesem Grund gibt es auch f"ur Windows eine neue ATM-Version. Super! Dann br"auchte ich auch nicht mehr 50 Schnitte pro Font kaufen. Und f"ur ein Eis reicht dein Geld dann auch noch ;-) Die MM-Technologie ist insofern nicht der Weisheit letzter Schu"s, als nur ein linearer "Ubergang zwischen extremschnitten m"oglich ist. Ein nichtlinearer "Ubergang w"are noch interessanter. Der erste MM-Font "uberhaupt ist die Groteskschrift Myriad von Carol Twombly und Robert Slimbach. 10.4.2 Type 1-GX-Fonts Diese Fonts haben die selben F"ahigkeiten wie TrueType-GX-Fonts. Warum das so ist, steht in 10.5.2 10.5 TrueType-Fonts Auch dieses Format gibt es in Macintosh- und MS-DOS/WINDOWS-Darstellung. SpeedoGDOS ab Version 5.0a und NVDI ab Version 3.0 verarbeiten dieses Format unabh"angig davon, ob es f"ur Macintosh oder MS-DOS/WINDOWS ist. Das Microsoft-Format ist ein Superset des Apple-Formats. Apple hat dieses Fontformat so definiert, dass es aus verschiedenen Tabellen besteht (etwa wie die Chunks im IFF-Format). Diese Tabellen haben im Header einen Namen und eine L"ange eingetragen, so dass Programme und Scaler unbekannte Tabellen einfach "uberspringen k"onnen. Wer neue Tabellen definiert, muss diese bei Apple anmelden. Apple hat definiert, welche Tabellen im TrueType-Format vorhanden sein m"ussen und welche zus"atzlich vorhanden sein k"onnen. F"ur Macintoshs haben die TrueType-Dateien die Endung .suit. Die eigentlichen Daten stehen dabei im Resource-Fork. Mir ist weder f"ur SpeedoGDOS 5.0 ff noch f"ur NVDI 3.0 ff eine offizielle Dokumentation bekannt, die beschreibt, welche Tabellen verwendet werden und welche zwingend notwendig sind. 10.5.1 TrueType f"ur Windows 3.0 Microsoft hat von der M"oglichkeit Gebrauch gemacht, neue Tabellentypen bei Apple anzumelden und einige davon als zwingend f"ur Windows zu erkl"aren. Der Unterschied zwischen dem Apple-Format und dem Microsoft-Format ist also lediglich, dass Microsoft mehr Tabellen als zwingend notwendig erkl"art hat. Ausserdem ist beim Vorhandensein bestimmter Flags die Reihenfolge der Glyphen fest vorgeschrieben. Eine Definition des Microsoft-Formats findet sich in [Mic]. 10.5.2 TrueType GX-Fonts bzw. TrueType 2.0 Apple hat das TrueType - Format f"ur beliebige Designachsen erweitert. Damit haben wir hier eine Technologie, die den Multiple Master Fonts (siehe 10.4.1) entspricht. Zus"atzliche Features: o Sie k"onnen Type 1 - Daten enthalten o Automatische Substitution von Ligaturen o Mehrere Baselines (z.B f"ur Mathematische Formeln) o Track-Kerning-Informationen (werden ab NVDI 3.02 benutzt) Diese Features werden auf dem Mac vom Line Layout Manager (LLM) zur Verf"ugung gestellt und sind unabh"angig vom darunterliegenden Scaler. Damit stehen diese F"ahigkeiten (zumindest auf dem Mac) f"ur alle Fonttechnologien zur Verf"ugung. Informationen gibt es von der APDA, der Apple developer support organization (EMail: apda@applelink.apple.com). Dort gibt es das TrueType Book, das TrueType 1.0 beschreibt, und das QuickDraw GX Font Formats book, das die GX - Erweiterungen enth"alt. Da TrueType 2.0 neue Tabellen enth"alt, m"ussen (im Gegensatz zu Multiple Master Fonts) die Scaler umgeschrieben werden, um diese Technologie zu verwenden. 10.5.3 TrueType f"ur Windows NT Statt die GX-Fontdefinition zu verwenden hat Microsoft f"ur Windows NT noch ein neues Fontformat definiert, das insbesondere gegen"uber TrueType 1.0 ca doppelt soviele Zeichen zwingend enth"alt. 10.6 Calamus-Fonts Wo kann man n"aheres "uber dieses Format erfahren? 10.7 Vergleich der Vektorformate Es gibt auf keiner Plattform nichtkommerzielle Programme, die ein Fontformat in ein anderes umwandeln k"onnen. Viele Fonts gibt es auch nur in einem Format. Was aber macht eine Umwandlung so schwierig? Anders gefragt: Welche Informationen werden wie gespeichert? 10.7.1 Kurven Zun"achst sollten die Umrisse der Zeichen gespeichert werden. Hier gibt es aber viele Verfahren (vergl. [Kar92a ]): Type 1 verwendet kubische Bezier-Kurven, TrueType verwendet quadratische Bezier-Kurven, Speedo verwendet kubische Bezier-Kurven. Damit alle Fontformate f"ur eine Applikation gleich aussehen, wandelt SpeedoGDOS auch TrueType-Zeichen f"ur v_getoutline in kubische Bezier-Kurven. Mir w"are es lieber, in diesem Fall optional quadratische Bezier-Kurven zur"uckzubekommen, die v_bez_fill dann auch verarbeiten sollte. Quadratische Bezier-Kurven sind zwar deutlich schneller als kubische Bezier-Kurven, es werden aber ca. 4 mal soviele Punkte ben"otigt. 10.7.2 Hints, instructions, switches Das n"achste Problem ist die Darstellung bei geringer Aufl"osung des Mediums. Als unvoreingenommener Beobachter stellt man fest, dass die Speedo-Fonts auch auf dem Bildschirm immer recht ordentlich aussehen (davon abgesehen, dass einige Fonts von Hause aus nicht befriedigend sind). Dagegen habe ich TrueType-Fonts gefunden, die auf dem Bildschirm an H"asslichkeit kaum zu "uberbieten sind. Das dr"uckt sich beispielsweise darin aus, dass die beiden senkrechten Striche eines n unterschiedliche Dicken haben, einmal 1 Pixel und einmal 2 Pixel. Die Methode zur Vermeidung solcher Rundungsfehler sind Hints. Hints haben je nach Hersteller unterschiedliche Namen: Hints bei Adobe, instructions bei Apple oder switches bei URW. Dieses Verfahren wird von Speedo, Type 1 und TrueType beherrscht (nicht aber von Type 3 und CFN). Wenn Hints vom Format her m"oglich sind, heisst das noch lange nicht, dass sie auch verwendet werden (deshalb haben andere auch umgekehrte Erfahrungen mit den Formaten gemacht wie ich). Also: Speedo-, Type 1- und TrueType-Fonts k"onnen auf dem Bildschirm sehr gut aussehen, w"ahrend das bei Type 3 und CFN nicht m"oglich ist. Bis jetzt ist angedeutet, was Hints machen und in welchen Formaten sie vorkommen. Aber wie machen sie das? Bestimmte Teile von Schriftzeichen haben eine Bedeutung, wie Serife, Bogen etc. Diese Bedeutung wird neben den Umrissen der Zeichen mitgespeichert. Mit dieser Information kann dann der Scaler daf"ur sorgen, dass beispielsweise alle senkrechten Striche im 'n' auf dem Bildschirm gleich dick sind. N"aheres siehe [Kar92a ]. Type 1 zeichnet sich gegen"uber anderen Formaten dadurch aus, dass es besonders wenig verschiedene Hints beherrscht. Durch die neue Multiple Master-Technologie (10.4.1) hat Type 1 aber wieder deutliche Vorteile. Anmerkung: v_getoutline liefert die Umrisse in der Gr"osse, die f"ur die Workstation aktuell eingestellt ist. Es ist darauf zu achten, dass je nach Gr"osse die Hints zuschlagen oder auch nicht. Es ist geplant, v_getoutline von der aktuellen Fontgr"osse unabh"angig zu machen. 10.7.3 Interne Aufl"osung Nach dem Problem der geringen Aufl"osung kommen wir nun zum Problem der zu hohen Aufl"osung, auch wenn man auf den ersten Blick kaum glauben mag, dass es hier ein Problem gibt. Siehe auch [Kar92b ]. Zur Darstellung eines Fonts in einem Vektorformat muss zun"achst ein internes Koordinatensystem gew"ahlt werden. Dazu wird das Geviert (engl: em-Space; ein Quadrat, in das alle Buchstaben einer Schrift passen) unterteilt. Bei CFN geht dieses Geviert von 0 bis 16000, bei Type 1 (das entwickelt wurde, als es noch keine hochaufl"osenden Drucker gab) von 0 bis 1000. Das f"uhrt dazu, dass man mit Type 1-Fonts bei grossen Buchstaben oder hoher Aufl"osung (also im Profibereich) Ecken sieht, wo keine hingeh"oren (Laut [Kar92a ] kann die interne Aufl"osung allerdings durch den DIV-Operator verbessert werden. Der Fonteditor muss das allerdings unterst"utzen. Wird dies regelm"assig gemacht? Und wird der Scaler dadurch viel langsamer?). CFN spielt hier seine Qualit"at voll aus. Bei TrueType kann der Fontdesigner die Aufl"osung bis zu 16768 frei w"ahlen, wobei Potenzen von zwei aufgrund der h"oheren Geschwindigkeit bevorzugt werden. (Welche interne Aufl"osung hat OTL? Ist das Bitstream-Format, das in [Kar92a ] erw"ahnt wird, identisch mit dem Speedo-Format?) 10.7.4 Lineare und optische Skalierung Haben wir nun mit der Beschreibung des Umrisses, einer hohen internen Auf- l"osung und den Hints einen beliebig skalierbaren Font? Ganz klar: Nein! Ein Font, der f"ur 16pt designt ist, sieht ganz anders aus, als ein um das 2-fache vergr"osserter 8pt-Font (Siehe z.B in Knuth: The METAFONT Book; Kopka: LaTEX [Kar92a ], Page vom Mai 1996 Seite 34 etc.). Ein gut designter Font ist nicht linear skalierbar. Bei grossen Fonts sind die senkrechten Striche im Vergleich zu den Zwischenr"aumen viel breiter als bei kleinen Fonts. Diese Information zur optischen Skalierung kann man aber auch in einem Font speichern. Deshalb sollte auch ein Font, der auf dem Bildschirm 20 Pixel hoch ist, anders aussehen als einer, der auf einem Laserdrucker 20 Pixel hoch ist. Den Rest dieses Abschnittes haben schon zu viele missverstanden. Ich bin "uberhaupt der einzige mir bekannte, der hier ein Problem sieht. Das kann mindestens 3 Ursachen haben: o Ich kann mich nicht ausdr"ucken. o Ich habe ziemlich wirre Gedanken. o Das Problem ist zu kompliziert, als dass hier "uberhaupt jemand ein Problem sieht. Ich will es also noch einmal ganz neu formulieren. Vektorfontformate geben dem Fontdesigner die M"oglichkeit zu entscheiden, dass ein Schnitt unterhalb einer bestimmten Gr"osse in Punkten oder in Pixeln anders aussieht. Es ist beispielsweise sinnvoll, einen Schnitt bei kleiner Gr"osse in Punkten breiter werden zu lassen [Kar92a ], und zwar unabh"angig davon, wie gut der Drucker ist. Stellen wir also einen kleinen Text in einem Fenster dar, sagen wir mit einer Gr"osse von 8pt. Und der Fontdesigner hat entschieden, dass der verwendete Schnitt bei 8pt oder kleiner etwas breiter wird. Ein zweites Fenster verwenden wir nun als Lupe, um den selben Text um den Faktor 2 vergr"ossert darzustellen. Fast jede Textverarbeitung hat eine solche Lupenfunktion. Dieser zweite Text im Lupenfenster m"usste jetzt eigentlich immer noch automatisch wie eine 8pt-Schrift verbreitert werden, ohne dass der Programmierer der Textverarbeitung etwas davon merkt. Leider muss aber der Programmierer im Lupenfenster die Schrift in 16pt ausgeben, was dazu f"uhrt, dass die Entscheidung des Fontdesigners, diese 8pt-Schrift breiter darzustellen, ignoriert wird! zur L"osung dieses Problems gibt es mehrere Wege: 1. Man gibt (als Programmierer) bei der Gr"ossenangabe zwei Werte an, die lineare Gr"osse (hier 16 pt) und die optische Gr"osse. An diese Methode m"ussten sowohl die Fontengine als auch die die Bindings angepasst werden. Dies ist ein Vorschlag von mir, keine Realit"at. 2. Die einzig zur Zeit machbare Methode sind die Offscreen-Bitmaps, die NVDI beherrscht, sofern das EdDI-Cookie existiert. Beim "Offnen dieser Workstations ist die logische Pixelgr"osse anzugeben. Da man die logische Pixelgr"osse nicht nachtr"aglich "andern kann, kostet jede einzelne optisch skalierte Fontgr"osse pro Dokument viel Speicherplatz. Insbesondere beim Ausdruck muss dann jede nicht standardm"assig optisch skalierte Schrift als Bitmap zwischengespeichert werden (egal ob vom Treiber oder vom Programm; ob Bitmaps vom Treiber gespeichert werden h"angt von der GDOS-Version ab). Diese Methode kann leicht mehr Speicher kosten, als ein Normalanwender hat. 3. Eine weitere (noch nicht existierende) M"oglichkeit w"are, wenn man mit v_getbitmap_info sowohl die lineare als auch die optische Skalierung frei w"ahlen k"onnte. 4. Das einfachste Verfahren, das keinen Zwischenspeicher f"ur Bitmaps erfordert, w"are die nachtr"agliche Einstellung der logischen Pixelgr"osse f"ur alle logischen und physikalischen Workstations. Da die Scaler sowieso mit verschiedenen Pixelgr"ossen umgehen k"onnen, sch"atze ich, dass diese Methode am einfachsten in NVDI und SpeedoGDOS einzubauen w"are. Das Problem des Lupenfensters w"are ganz einfach dadurch zu l"osen, dass wir f"ur das Lupenfenster eine andere virtuelle Workstation verwenden, f"ur die wir die logische Pixelgr"osse halbieren. Dann k"onnten wir die Schrift in beiden Fenstern als 8pt-Schrift ausgeben, beide Texte w"urden -- wie vom Fontdesigner gew"unscht -- breiter dargestellt, und trotzdem w"are die Schrift im Lupenfenster doppelt so gross. Sollen dagegen vierschiedene optische Skalierungen in einem Dokument auftauchen, muss nachtr"aglich die logische Pixelgr"osse ge"andert werden, oder man muss bei der Fontgr"osse die lineare und die optische Skalierung angeben. Siehe auch Kapitel 19.1. Hat das irgend jemand verstanden? 10.8 Konversion zwischen den Vektorfontformaten Ich hoffe, dass der geneigte Leser nach den obigen Ausf"uhrungen versteht, dass die Konversion zwischen zwei Vektorfontformaten etwa so einfach ist wie das automatische Umwandeln eines hochoptimierten Programmes von einer Programmiersprache zur anderen. Im einzelnen: o Es gibt auf Ataris kein Programm, das zwischen den oben genannten Formaten konvertiert (man korrigiere mich bitte). o Es gibt kein Programm auf irgendeiner Plattform, das vor den Augen der comp.fonts - Gemeinde besteht (laut comp.fonts FAQ). Es ist immer eine Nachbearbeitung von Hand notwendig. o F"ur jedes Programm, das diese Aufgabe auch nur einigermassen beherrscht, ist (mal richtig) Geld zu bezahlen. Die Suche nach brauchbaren PD- oder Sharewareprogrammen (auf irgendeiner Plattform) ist zwecklos. 11 Drucker _______________________________________________________________________ |_Hersteller________|Drucker____________________|Passende_Treiber_____| | NEC |P6+,P7+, |NECP... | |___________________|P60,P70____________________|NB15_(FX...,NX1000)__| |_HP________________|LaserJet_II________________|HP_LJET______________| |_HP________________|DeskJet,_LaserJet_III,IV___|DESKJET_(HP_LJET)____| |_CANON_____________|BJ10E______________________|BJ10_________________| |_CANON_____________|LBP_4/8____________________|CANONLBP,_LBP________| |_Mannesmann-Tally__|MT_90______________________|MT90_________________| |_Epson_____________|Stylus_800_________________|STYLUS_______________| Treiber in Klammern funktionieren, nutzen aber die F"ahigkeiten des Druckers nicht optimal aus. Bei 24-Nadeldruckern bedeutet das, dass die Drucker im 9-Nadel-Modus betrieben werden. Bei HP-kompatiblen Laser- und Tintenstrahldruckern bedeutet das, dass die Daten nicht komprimiert werden, obwohl die Drucker das unterst"utzen. Mit manchen DeskJet-Treibern soll es Probleme geben. Versuchen Sie es in diesem Fall mit einem LaserJet-Treiber. Der Ausdruck dauert dann aufgrund des gr"osseren Datenvolumens etwas l"anger, die Probleme sollten aber behoben sein. Die BJ10-Treiber bauen auf die Proprinter-Emulation auf. Der Drucker darf mit diesen Treibern nicht im Epson-Modus betrieben werden. Beim Stylus sollte kein Treiber f"ur 24-Nadler verwendet werden. Die einzelnen Nadeln der 24-Nadel-Drucker "uberlappen (im Gegensatz zum Stylus), weshalb die Treiber manche Punkte herausoptimieren und gar nicht erst drucken. Was kompatibel heisst, bestimmen normalerweise nur die Hersteller der kompatiblen Drucker. Anmerkungen: o Wer seinen Drucker nicht in der Liste findet und einen passenden Druckertreiber dazu kennt, der schreibe mir. o Auch wenn man schon einen passenden Druckertreiber f"ur seinen Drucker gefunden hat, ist es durchaus sinnvoll, noch einige andere Druckertreiber auszuprobieren. o Nat"urlich haben die FontGDOS-Druckertreiber ernsthafte Speicherplatzprobleme. Was aber den Ausdruck von Bitmap-Fonts anbelangt, so sind diese Treiber den anderen hier aufgef"uhrten GDOS-Treibern in der Geschwindigkeit "uberlegen (Speedo-Treiber sind hier nicht ber"ucksichtigt). 12 Programme Es ist inzwischen selbstverst"andlich (wenn auch nicht "ublich), dass alle Programme GDOS unterst"utzen. Die folgende Aufstellung beschr"ankt sich auf Programme, die auch "uber GDOS ausdrucken. ___________________________________________________________________________________ |_Programmart___________|Programm_____________|Vertrieb____________________|Speedo| | Chart/Messwertanalyse |Xact |SciLab |ja | | |MM-Graph |Overscan | | | |Off-Axis |ByTech |Ja | | |DATA Professional 4 | Ralf Wirtz | | | |MessPlot |Michael Siek (Shareware) |(ja) | | |DPE |MAXON Sonderdisk | | | |GRAPH |Hans-C Ostendorf (Shareware)|ja | |_______________________|rho-Analyse__________|rhotron_GmbH________________|ja____| | Graphik |Xact Draw | SciLab |ja | | |KandinskY | U. Rossgoderer (Shareware) |ja | | |TRIPLE_D |U. Rossgoderer (Postcard) |ja* | | |Chagall |Trade-iT |ja* | | |Easydraw |MIGRAPH | | | |TouchUp |MIGRAPH | | | |GEM-View |D. Fiebelkorn (Shareware) |ja* | | |CHARLY IMAGE |Wilhelm Mikroel. |ja* | | |STELLA |Thomas K"unneth |ja | | |GPCLIENT f"ur GNUPLOT| |ja | |_______________________|Tarkus_______________|Eickmann_Computer___________|ja____| | Tabellenkalkulation |LDW Power Calc 2 | COMPO | | | |K_Spread_4 |Omikron | | | |Graal Calc 3 |Editions Profil | | | |Atari Works |Atari Corp. |ja | | |OPUS |Doug Harrison (PD) |nein | | |BASiChart |Dr. Ackermann |ja | |_______________________|TEXEL________________|ASH_________________________|ja____| ___________________________________________________________________________________ |_Programmart___________|Programm_____________|Vertrieb____________________|Speedo| | Text/DTP |Calligrapher | Working Title | | | |Wordflair II |H3 | | | |Timeworks Publisher | GST/H3 | | | |G&D Text II |Hard & Soft | | | |Cypress |(Gregor Duchalski) | | | |papyrus (Gold) S |R.O.M. |ja | | |Infinity |ByTech GbR | | | |Atari Works |Atari Corp. |ja | | |7Up | |ja | | |1st Word Plus 4 |GST/ICP |ja | | |Tempus Word |CCD |ja | | |Gut'nberg |BlowUp |ja | | |JAnE |DeltaLabs |ja | | |QED |Quellenberg/Felsch (PD) |ja | | |Signum!4 |ASH |ja | | |TWIST 3 Office |MAXON |ja | |_______________________|Calamus______________|____________________________|______| | Fax |Junior Office |TKR |ja | | |Tele Office |TKR |ja | | |CoMa |SoftB"ar GbR |ja | |_______________________|Straight_Fax!________|Toad_Computer_______________|ja____| |_Simulation_dyn.__Syst.|Dynasys______________|Digital_Systems_&_Consulting|______| | Text/Listendruck |IdeaList |Chr. Bartholme (Sharew) |ja | |_______________________|ProList______________|Richstein_&_Dick____________|ja____| | Chem. Darstellung |Monoklin 2.0 |MAXON Sonderdisk | | |_______________________|Chemograph_Plus______|DigiLab_____________________|______| | Platinenlayout |Route iT! & Circu iT!|Think! |ja | |_______________________|Platon_______________|VHS_________________________|ja*___| |_Vektorisierung________|Convector_Zwei_______|ZYN_/_TEAM__________________|______| |_Hardcopy______________|rhocopy______________|rhotron_____________________|______| |_Disk-Inhaltsverzeich._|TreeView_2.4_________|Stephan_Gerle_______________|______| |_Fraktale______________|Fractals_V___________|Harald+Martin_Hansen________|______| |_PS-Interpreter________|Postman______________|SILICON_Technology__________|______| |_Konkordanz____________|Concordance__________|SPIRIT_WARE_________________|______| |_Packershell_f.__MTOS__|MARC_4.0_____________|Think!______________________|ja____| |_Logikanalysator_______|CLA_v2r1_____________|Craig_Graham_(Shareware)____|ja____| |_Adressverwaltung______|Pegasus______________|Pergamon_Software___________|ja____| | Symbolische Mathematik|Riemann II |Begemann & Niemeyer | | |_______________________|Solutions____________|Elan_Software_______________|______| | Datenbank |Atari Works |Atari Corp. |ja | |_______________________|TWIST_3_Office_______|MAXON_______________________|ja____| |_Notendruck____________|MIDI_File_Printer____|ST_677_(PD)_________________|______| |_CASE_(Nassi-Shneider.)|UpToCase_____________|Michael_Nolte_______________|ja____| |_Fakturierung__________|Kundendirektor_Plus__|DeltaLabs___________________|ja____| |_Desktop_______________|EASE_ab_V.3.1________|ASH_________________________|______| |_Othello_(Spiel)_______|Stello_______________|Claus_J._Pedersen___________|ja____| Die Aufstellung stellt keine Wertung dar. Ich nehme alle Programme auf, die mir bekannt werden. Anmerkungen: o Programme, die in der Speedo-Spalte mit ja* gekennzeichnet sind, unterst"utzen zwar SpeedoGDOS, machen davon aber keinen Gebrauch, geben also keine Texte aus. o Xact kann auch ohne SpeedoGDOS Speedo-Fonts ausdrucken. o Mit Wordflair II wird FSM-GDOS ausgeliefert. (Stimmt das noch?) o Platon gibt lediglich Metafiles "uber GDOS aus. o Ich habe es allerdings nicht geschafft, mit OPUS "uber GDOS auszudrucken. Inzwischen habe ich erfahren, dass OPUS nicht die Fonts ausw"ahlt, mit denen es zurechtkommt, sondern das Drucken verweigert, sobald auch nur ein solcher Font installiert ist. Siehe auch 9. o Programme, die nur auf Ger"atenummer 21 drucken, sind out. (Opus und CLA) Siehe auch 19.2. o 7Up ben"otigt Proportionalfonts (m"usste das nicht nichtproportionale Fonts heissen?). o Das Programm Tempus Word unterst"utzt nur Speedo- Fonts, druckt aber "uber eigene Treiber aus. Dieses ist anscheinend notwendig, da ja gleichzeitig auch Calamus-Fonts und das eigene Font-Format in einem Text verwendet werden k"onnen! o Wie WordPlus 4 kann nat"urlich auch der `grosse' Bruder That's Write 3 Speedo-Fonts ohne Speedo nutzen. Ab Version 4 wird TW sogar auch TrueType und Type 1 Fonts ohne installiertes SpeedoGDOS nutzen k"onnen (ist ja auch von den selben Leuten, die SpeedoGDOS 5.0 an TrueType und Type 1 angepasst haben). o LDW-PowerCalc: MAXON hat die Kundendatei vernichtet. F"ur Updates bitte bei COMPO melden. o Tarkus druckt Etiketten, Formulare, Postkarten, Visitenkarten. o Programme, die nur unter ABC-GDOS laufen, sind unter 16.1.2 aufgef"uhrt. o Signum!4 scheint nur mit NVDI 3.0x zu laufen, nicht aber mit SpeedoGDOS 5.x. KandinskY Version 1.73 ist zu finden in ftp://ftp.cs.tu-berlin.de/pub/atari/Graphic/kand173 Apropos TEXEL: Nimmt man zu jedem Buchstaben des Namen MUCH den Folgebuchstaben, so kommt NVDI raus ;-))))) (genau wie HAL zu IBM und VMS zu WNT wird) 13 Hilfsprogramme 13.1 fontfix Problemstellung: Bei manchen Bitmap-Fonts ist die Fonth"ohe falsch eingetragen. Das wird durch dieses Programm erkannt und korrigiert. Das Programm fontfix ist im Internet an folgenden Orten zu finden: ftp://ftp.uni-muenster.de/pub/atari/Applications/Dtp/Fonts/Gdos ftp://ftp.cs.tu-berlin.de /pub/atari/utils 13.2 Outline Fonts Outline Fonts Accessory by CJG Zweck: Bearbeitung der EXTEND.SYS-Datei f"ur SpeedoGDOS. Die Datei enth"alt eine Beschreibung der Gr"ossen der Speedo-Caches, der Fonts und der voreingestellten Fontgr"ossen. Ausserdem k"onnen die Caches auf Platte gespeichert und wieder geladen werden. Ein durchaus gelungenes Programm bis auf die Tatsache, dass die vorgeschlagenen Cachegr"ossen auf FSM-GDOS und nicht auf SpeedoGDOS abgestimmt sind. Dateiname: OUTLINE.PRG alias OUTLINE.ACC, 67644 Bytes SpeedoGDOS 5.0: 49254 Bytes Wird bei SpeedoGDOS mitgeliefert. Warum schafft es Atari eigentlich nicht, die Programme mit einer Versionsnummer auszustatten? 13.3 Druckertreiber GDOS Devices Accessory by CJG Zweck: Bearbeiten der ASSIGN.SYS. Dateiname: DRIVERS.PRG alias DRIVERS.ACC, 64878 Bytes SpeedoGDOS 5.0: DRIVER.PRG, 41592 Bytes Bevor man dieses Programm startet, sollte eine Sicherheitskopie der ASSIGN.SYS angelegt werden! Daf"ur gibt es (mindestens) zwei Gr"unde. Erstens werden die Informationen "uber die Bitmap-Fonts kommentarlos hinausgeworfen und zweitens wird - falls man unter Benutzereigen den Knopf Hinzuf"ugen dr"uckt - die ASSIGN.SYS "uberschrieben, ohne dass man das mit Abbruch im Hauptmenu wieder r"uckg"angig machen kann. An alle Programmierer: macht so etwas bloss nicht nach. Sollte das Programm einmal keine Treiber anzeigen, ohne aber eine Fehlermeldung zu bringen, hilft es, ASSIGN.PRG laufen zu lassen. Von meinen vielen Treibern zeigt dieses Programm nur die Speedo-Treiber an. Weiss jemand, wie das Programm das macht? Ausserdem zeigt das Programm nicht den Filenamen an, sondern einen Namen, der als String im Treiber hinterlegt ist. Wie kommt man da dran? 13.4 ASSIGN ASSIGN 1.0a ist von Dirk Sabiwalsky (PD). Assign testet drei Dinge: o Besitzen mehrere Zeichens"atze die gleiche ID und haben unterschiedliche Namen (Typefaces)? o Besitzen mehrere Zeichens"atze die gleiche ID und die gleiche Pixelh"ohe? o Besitzen mehrere Zeichens"atze den gleichen Namen (Typeface) und unterschiedliche IDs? 13.5 FONTCHK Zweck: Testet GDOS-Fonts auf m"ogliche Fehler. Das Programm wird beispielsweise bei ProList mitgeliefert. 13.6 FONTCNV Zweck: Konvertiert GDOS-Fonts von der Motorola- in die Inteldarstellung Das Programm wird beispielsweise mit ProList mitgeliefert. 13.7 GEMFont Fonteditor, der auch Signum- und PK (TEX)- Fonts lesen kann. ftp://ftp.tu-clausthal.de/pub/atari/systools/gdos/gemfo120.lzh Bei dieser Gelegenheit gleich ein neueres unlzh oder lhxarc besorgen. 13.8 FontMonger Konverter und Editor f"ur verschiedene Vektorfontformate, auch Speedo. L"auft leider nur auf DOSen und MACs. 13.9 Font-ID Font-ID ist ein kleines Freeware-Programm von Frank Schneider. Es zeigt die mit SpeedoGDOS oder GDOS installierten Fonts samt Font-ID in verschiedenen Punktgr"ossen in einem Fenster an. Man kann sich also einen "Uberblick verschaffen, wenn man gerade kein Programm mit Fontselektor zur Hand hat oder dieses die Font-ID nicht anzeigt. 13.10 X4U Speedo-Fonts enthalten wesentlich mehr Zeichen, als in einen Ascii-Zeichensatz abgebildet werden k"onnen. Mit diesem Programm von Peter Hellinger kann bestimmt werden, welches Zeichen bei einem gegebenen Ascii-Code erscheint. Vertrieben wird es von R.O.M. Eigentlich wollte R.O.M. dieses Programm gratis auf die SpeedoGDOS 4.2-Disketten packen. Das ging aber nicht, weil Helli die MagicLib verwendet hat und das Programm deshalb zu gross wurde. R.O.M. hat es daher separat f"ur 25 DM verkauft, was Helli, obwohl er von R.O.M. f"ur die Auftragsarbeit bezahlt wurde, zu rechtlichen Schritten veranlasste. Ulli Ramps von R.O.M. wurde das zu bunt, und er erkl"arte X4U zu einem PD-Programm, was Helli wiederum zu rechtlichen Schritten veranlasste. (Fortsetzung im n"achsten Abschnitt) 13.11 Charmap Charmap heisst das Originalprogramm von Atari, das dasselbe macht, wie X4U, aber nicht freigegeben wurde. Charmap heisst aber auch Peter Hellingers Weiterentwicklung von X4U, die in der Version 0.9 als Freeware frei kopiert werden darf. (To be continued) 13.12 GDOS-Font Filename: GFONT112.LZH. Utility allgemein, Shareware-Eingeschr"ankt. GDOS-Font 1.12 (22.08.94) von Holger Weets @ OL. Zeigt und bearbeitet GDOS-Fonts und meldet sie in der ASSIGN.SYS an oder ab! = Nie mehr von Hand die ASSIGN.SYS "andern, das erledigt alles GDOSFONT. 13.13 REFONT Dieses Programm konvertiert Type 1-Fonts zwischen der Mac-, Unix- und Windows-Darstellung und TrueType-Fonts zwischen der Mac- und Windows-Darstellung. Zwischen T1 und TT kann es allerdings nicht konvertieren. Dieses Programm gibt es (mindestens) f"ur MS-DOS, Windows, OS/2 und UNIX. 13.14 Arkus Arkus 1.16 ist ein Fontmanager von Pergamon Software. 14 Fontselektoren Bei Fileselektoren hat man sich daran gew"ohnt: Das Betriebssystem bietet nicht nur einen Fileselektor, sondern auch eine Schnittstelle, "uber die man systemweit alternative Fileselektoren anmelden kann. Eine normierte Schnittstelle fehlt bei Fontselektoren, sie bieten ihre Dienste "ublicherweise "uber Cookies an. Selbst der Aufwand, mehrere Fontselektoren "uber Cookies zu unterst"utzen, ist aber wesentlich geringer, als selbst einen solchen zu schreiben. W"are da nicht: :a:ber schauen wir uns zun"achst die Kandidaten an. Bei den Fontselektoren gab es in den letzten Monaten eine rasante Entwicklung, die sich noch nicht im FAQ niedergeschlagen hat. Die Beschreibung der einzelnen Selektoren ist also nicht mehr aktuell und es gibt neue Selektoren, die hier noch nicht aufgef"uhrt sind. 14.1 The quick brown fox... Sicherlich ist der eine oder andere genervt, weil in Fontselektoren (fast) immer dieser Satz ''The quick brown fox jumps over the lazy dog`` als Schriftbeispiel dargestellt wird. Warum wird gerade dieser Satz immer wieder verwendet? Die Antwort ist ganz einfach: Dieser kurze Satz enth"alt alle Buchstaben des Alphabets. In einem Buch von Martin Gardner (falls mich die Erinnerung nicht tr"ugt) habe ich eine ganze Reihe von deutschen und englischen S"atzen mit dieser Eigenschaft gefunden. Leider wei"s ich nicht mehr, in welchem meiner 18 B"ucher von Martin Gardner das war. F"ur Hinweise auf diese S"atze in allen Sprachen bin ich dankbar. Hier einige Beispiele aus der PAGE 1/96: The quick brown fox jumps over the lazy dog I pack my box with five dozen liquor jugs Wolves exit quickly as fanges zoo chimps jabber Victors flank gyp who mixed job quiz Six big devils from Japan quickly forgot how to waltz Oozing quivering jelly fish expectorated by mad hawk Fixquark vom weibtyp geschlejnzt Oh, welch Zynismus, quiekte Xavers jadegr"une Bratpfanne "Ahnliche Aufgaben hat das Wort OHamburgefons``. Dieses Wort enth"alt '' zwar nicht alle Buchstaben, aber alle wesentlichen Designelemente, aus denen die Buchstaben eines Alphabets zusammengesetzt sind. Beim Design einer neuen Schrift wird oft in der Reihenfolge der Buchstaben dieses Wortes vorgegangen. Und f"ur die Poeten unter den Fontselektorautoren (aus The Siege of Belgrade): An Austrian Army, awfully arrayed, Boldly by battery besieged Belgrade; Cossack commanders cannonading come, Dealing destruction's devastating doom; ... 14.2 UFSL UFSL von Michael Th"anitz ist Freeware und darf jedem Programm beigelegt werden. Die letzte Version ist 0.97 vom 30. April 1994. Fonts und Gr"osse lassen sich angenehm ausw"ahlen. Nach freier Eingabe wird der Font nach einem Doppelklick auf die freie Eingabe angezeigt. Intuitiver f"ande ich einen Doppelklick auf das Beispiel. Es fehlen die Attribute, und der Selektor steht nur als modaler Dialog zur Verf"ugung. UFSL wird leider nicht weiterentwickelt. 14.3 XUFSL, HuGo XUFSL 1.05 von Stefan Rogel ist der umfangreichste der hier besprochenen Fontselektoren. Insbesondere arbeitet er mit SpeedoGDOS 5.0 zusammen. Dieser Fontselektor gef"allt mir ganz ausgezeichnet. Die grosse Informationsvielfalt wird durch einen gut aufgeteilten Karteikartendialog sehr "ubersichtlich dargestellt. Auch dass die Schnitte in einem Popup ausgew"ahlt werden, st"ort nicht mehr wie die vielen Popups in der Version 1.03. Der Fontselektor zeigt alle wissenswerten Informationen zum ausgew"ahlten Schnitt an; ebenso zeigt er den kompletten Ascii-Zeichensatz an. (Wenn man den jetzt auch noch ausdrucken k"onnte und auch noch der komplette 16 Bit-Zeichensatz zug"anglich w"are: :;:aber so etwas wage ich von den anderen Fontselektoren noch gar nicht zu w"unschen.) XUFSL ist inzwischen von HuGo abgel"ost. 14.4 Magic von Helli Dieser Fontselektor ist Bestandteil von Magic 4.00 von Peter Hellinger et al. und nicht separat erh"altlich. Magic selbst - nicht zu verwechseln mit dem Betriebssystem Mag!C - ist frei kopierbar. Nur f"ur die Information, wie man damit umgeht, verlangt der Autor eine Geb"uhr. Angenehm an diesem Selektor ist, dass er nichtmodal in einem Fenster zur Verf"ugung steht, wahlweise auch als FlyDial oder normaler Dialog. Der Fontselektor l"asst sich nur verwenden, wenn man die Eventverwaltung komplett Magic "uberl"asst, was dem Programmierer eine feste Programmstruktur aufzwingt (funktionierendes muss neugeschrieben werden, anderes geht gar nicht mehr) und weitere Fehler nach sich zieht. 14.5 FontSel FontSel von Holger Weets ist f"ur die Programme voll kompatibel zu UFSL. Sehr sch"on ist, dass das Programm sehr kurz ist und auch die Fontattribute ausw"ahlen l"asst. Version 1.00 vom 11.5.94 zeigt mit Speedo 5.0a leider nur den Systemfont an. 14.6 Weitere Fontselektoren Weiter arbeiten Hayo Schmidt, Christian Grunenberg und Wilfried Behne an (jeweils) einem Fontselektor. Die kenne ich aber alle nicht. 14.7 Minimalanforderungen Ein Fontselektor muss mit allen Betriebssystemversionen zusammenarbeiten (TOS, MiNT, MultiTOS, MagiC!, Geneva). Er muss mit jeder Videohardware klarkommen, die VDI unterst"utzt und mit jeder GDOS-Version jeden verf"ugbaren Font anzeigen. Jeder der oben genannten Fontselektoren scheitert an mindestens einer dieser Forderungen. 14.8 W"unschenswerte Eigenschaften 14.8.1 Attribute und Auswahl Es ist furchtbar umst"andlich, weitere Eigenschaften eines Fonts in einem weiteren Dialog einstellen zu m"ussen. Deshalb sollten mindestens die "ublichen Fontattribute (fett, outlined etc) einstellbar sein. "Uber diesen Wunsch kann man sich trefflich streiten. Aber f"ur Vektorfonts w"ahlt man die Attribute (in Form von Schnitten) aus, und es w"are inkonsistent, dies dann f"ur Bitmapfonts nicht zuzulassen. Wenn diese Attribute vom Programm nicht verarbeitet werden, sollten sie unsichtbar gemacht werden k"onnen. Ebensolches gilt f"ur den Skew-Winkel. Nicht jedes Programm kann mit jedem Font etwas anfangen. Deshalb sollte jedes Programm bestimmen k"onnen, welche Schnitte gar nicht angezeigt oder disabled angezeigt werden. Einige Programme k"onnen beispielsweise nur mit nichtproportionalen Schriften etwas anfangen. Zus"atzlich (aber wegen BASIC nicht ausschliesslich) sollte dem Fontselektor eine Prozedurvariable "ubergeben werden k"onnen, die f"ur jeden einzelnen Schnitt aufgerufen zur"uckmeldet, ob und wie er angezeigt werden soll. 14.8.2 Fenster und Eventverwaltung Sch"on w"are es, wenn das aufrufende Programm bestimmen kann, ob ein Fontselektor als Dialog oder im Fenster erscheint. Das l"asst sich auch viel einfacher und flexibler als bei Magic bewerkstelligen: Der Fontselektor "offnet im Namen der Applikation ein Fenster und gibt das Fensterhandle an die Applikation zur"uck. Die Applikation verwaltet weiter die Events und wenn eines davon das Fenster des Fontselektors betrifft, wird die Information durch einen Prozeduraufruf an den Fontselektor weitergegeben. Durch diesen sehr einfachen Mechanismus k"onnen sogar mehrere (systemweite) Fontselektoren, Colorpicker etc. verschiedener Hersteller gleichzeitig in Fenstern auf dem Bildschirm sein. Dieses Nebeneinander ist nur m"oglich, wenn die einzelnen Selektoren (optional) auf eine eigene evnt_multi-Schleife verzichten. Praktisch alle Autoren von Utilities wollen dies umgekehrt machen (und tun dies auch). Deshalb will ich detailliert ausmalen, was passiert, wenn Utilities den evnt_multi-Aufruf selbst machen und nicht bearbeitete Events an die Applikation weitergeben: In diesem Fall gibt es f"ur eine Applikation mehrere Utilities, die alle darauf bestehen, den evnt_multi-Aufruf selbst zu machen. Irgendeines dieser Utilities f"uhrt diesen Aufruf durch, kann ihn nicht bearbeiten und gibt den Event an die Applikation weiter. Und nun? Was soll die Applikation machen? Sie kann den Event nicht mehr an andere Utilities weitergeben, obwohl eines davon f"ur den Event zust"andig ist. Aber alle weigern sich, Events von der Applikation entgegenzunehmen. Bei Zuwiderhandlung der Autoren der Utilities kann eine Applikation maximal ein (Fenster-)Utility verwenden. Wenn eine Applikation Hellis Magic verwendet, kann sie sogar gar kein Utility mehr verwenden. 14.8.3 Verschiedenes Zuletzt sollte ein Programm auch sagen k"onnen, dass es irrelevant ist, ob ein Schnitt proportional ist oder nicht (dem Anwender kann das auf seinen expliziten Wunsch trotzdem angezeigt werden). Beim Verzicht auf diese Information kann das Laden der Fonts in einem Bruchteil der Zeit stattfinden. Der Fontselektor, der mir derzeit am besten gef"allt, ist der von papyrus. Leider gibt es ihn nur in papyrus eingebaut. 14.9 U"ber Dialoge Was ich hier schreibe, hat eigentlich gar nichts mit dem Thema des FAQs zu tun. Aber es passt hierher. Seht es als meine pers"onliche Anmerkung zu Tim Oren [Ore85 ]. Ich habe mich schwer dar"uber gewundert, warum mir der Fontselektor in papyrus soviel besser gef"allt als XUFSL 1.03. Dabei enth"alt doch XUFSL allen Schnickschnack, den die neuen Libraries so bieten. Und vor allem verst"osst XUFSL 1.03 gegen keine Designrichtlinie, die ich explizit gelesen habe. Das jetzt folgende gilt f"ur Dialoge im Allgemeinen und nicht speziell f"ur XUFSL 1.03. Ich versuche also, bewusst zu machen, was mich unbewusst st"ort. Andere m"ogen zu anderen Ergebnissen kommen. Mich st"oren an solchen Dialogen am meisten die Popups (insbesondere mit Slidern)! Zeitgem"asse Benutzeroberfl"achen zeichnen sich dadurch aus, dass man ausw"ahlt statt einzugeben (wie bei diesen uns"aglichen MS-DOS-Programmen). Zu dieser Auswahl geh"ort es, nachsehen zu k"onnen, was es alles gibt. Und genau das fehlt bei Popups. Vor allem, wenn mehrere in einem Dialog auftreten: man kann nicht bei der Eingabe mal kurz nachsehen (oder noch besser: sehen statt nachsehen), was es sonst noch gibt. Zu allem "Uberfluss verlangt ein Popup auch noch einem Mausklick, bevor man etwas anderes machen kann. F"ur die Theoretiker: damit hat man einen modalen Teil in einem nichtmodalen Dialog oder schlimmer noch in einem sowieso schon modalen Dialog. Und modale Dialoge werden als st"orend empfunden. Diese Verwendung von Popups verst"osst also gegen die grundlegenden Ideen hinter einer intuitiven Benutzeroberfl"ache. Ich weiss, Ihr seid alle stolz, Popups - sogar solche mit Slidern - zu beherrschen. Lasst es m"oglichst trotzdem bleiben. 15 Vertrieb 15.1 Atari Die mit Atari gekennzeichneten Druckertreiber waren bei Atari erh"altlich. Dieses Paket gibt es auch bei den Fachh"andlern. Es gibt keine Doku, aber f"ur den Preis lohnt es sich allemal. 15.2 BELA Die mit BELA gekennzeichneten Treiber gab es bei BELA. Es gab zwei Disketten mit gepackten Druckertreibern und Fonts f"ur die Treiber. Die Fonts haben zwar den gleichen Filenamen und Font-IDs wie die entsprechenden Atari-Fonts, unterscheiden sich aber im internen Fontnamen. Daher werden diese Fonts korrekterweise von einigen Programmen zur"uckgewiesen, wenn sie zusammen mit den original Atari Fonts verwendet werden. Dokumentation gibt es praktisch nicht. Nicht einmal einen Hinweis, wer das Copyright der einzelnen Treiber hat, oder wer die Autoren sind. BELA gibt es nicht mehr. 15.3 Language Der mit Language bezeichnete Treiber wird auf der Language-Disk des Mega STE mitgeliefert. 15.4 Internet Die mit I gekennzeichneten Druckertreiber sind im Internet zu finden (z.B. ftp://ftp.cs.tu-berlin.de/pub/atari). 15.5 Working Title Die mit WT und wt bezeichneten Treiber werden mit Calligrapher ausgeliefert. Die WT-Treiber sind OcWorking Title, die wt-Treiber sind von Working Title lizensiert. Auf der Calligrapher-Demodisk werden keine Druckertreiber mitgeliefert. Die Druckertreiber, die mit Calligrapher-Lite (15 DM) ausgeliefert werden, sind in den Tabellen mit CL gekennzeichnet. Auf beiden Disketten sind Bildschirmfonts enthalten. 15.6 X Window System F"ur das X Window System gibt es PD-Speedo-Fonts von Bitstream. Diese k"onnen mit SpeedoGDOS 4.2 verwendet werden. Bei mir funktioniert das wunderpr"achtig und auch die Umlaute machen keine Probleme. Im Internet Archie (Siehe 15.9) wie folgt suchen lassen: set search sub prog speedo- Die Fonts: font0648.spd -bitstream-charter-medium-r-normal--0-0-0-0-p-0-iso8859-1 font0649.spd -bitstream-charter-medium-i-normal--0-0-0-0-p-0-iso8859-1 font0709.spd -bitstream-charter-bold-r-normal--0-0-0-0-p-0-iso8859-1 font0710.spd -bitstream-charter-bold-i-normal--0-0-0-0-p-0-iso8859-1 font0419.spd -bitstream-courier-medium-r-normal--0-0-0-0-m-0-iso8859-1 font0582.spd -bitstream-courier-medium-i-normal--0-0-0-0-m-0-iso8859-1 font0583.spd -bitstream-courier-bold-r-normal--0-0-0-0-m-0-iso8859-1 font0611.spd -bitstream-courier-bold-i-normal--0-0-0-0-m-0-iso8859-1 15.7 COMPO Bei Compo gibt es zwei Pakete mit jeweils 100 Fontschnitten im Bitstream Speedo-Format f"ur je 99.- DM (ohne Gew"ahr): Inzwischen bietet COMPO ein CD-ROM mit TrueType und Type1 Schriften an, das wohl dieselben Schriften enth"alt, wie das StarType CD-ROM. Aber eben beide Arten auf einem CD-ROM. Preis: 99.-DM 15.8 IMG-0300 ftp://ftp.uni-muenster.de/pub/atari/Gdos 15.9 FTP Viele Studenten haben das Gl"uck, sich "uberall auf der Welt mit FTP Dateien holen zu k"onnen. Es ist allgemein bekannt, dass die Unis nur Pauschalen f"ur die Standleitungen zahlen. Weitgehend unbekannt ist aber, dass Verbindungen zwischen Europa und Amerika von den Unis volumenabh"angig bezahlt werden m"ussen. Versuchen Sie also, Verbindungen "uber den grossen Teich strikt zu vermeiden und auch sonst m"oglichst kurze Wege zu w"ahlen. Ausserdem sollte die "Ubertragung auf Zeiten ausserhalb der Arbeitszeiten am Ort der Server gelegt werden. Wo sich Files mit bekanntem Dateinamen befinden, kann mit Archie herausgefunden werden. In Deutschland: telnet archie.th-darmstadt.de login: archie help In den USA z.B.: archie.ans.net Archie zeigt dann automatisch weitere Archie-Rechner an. Verwenden Sie den in Ihrer N"ahe. Die Archie-Datenbanken fragen etwa einmal im Monat nacheinander die bekannten FTP-Server nach den "offentlich zug"anglichen Files ab. Noch ein kleiner Tip: atari.archive.umich.edu ist immer dicht. Nicht einmal das Spiegeln auf andere Server funktioniert. Man sucht daher besser auf amiga.archive.umich.edu und tippt dort cd atari. Dieser Rechner hat die gleiche Platte gemountet. Aber: Bitte zuerst in der eigenen Umgebung suchen! 15.10 SciLab Die GDOS-Treiber von SciLab sind nicht in den Treibertabellen aufgef"uhrt, auch wenn insbesondere die Treiber f"ur Farbdrucker sehr begehrt sind. Diese Treiber k"onnen nicht (mehr) einzeln bei SciLab bezogen werden. Das liegt daran, dass viele Programme die Farbtreiber falsch ansprechen und SciLab dann den "Arger hat. Man kann an diese Treiber nur herankommen, wenn man ein entsprechendes Programm bei SciLab kauft, oder wenn man den Softwarevertrieb der eigenen Programme bittet, diese Treiber zu lizensieren. SciLab hat daf"ur immer ein offenes Ohr. Insbesondere sind dies speedof"ahige Treiber f"ur HP 600 dpi und HP 500C/550C. Diese sind aber inzwischen bei SpeedoGDOS 5.0 dabei. 15.11 Star Division Von Star Division gibt es CD-ROMs (StarType) mit 500 TrueType bzw. Type1 Fonts. Dieses sind meist komplette Pakete der einzelnen Fonts. Zum Beispiel sind von der 'Zapf Humanist 601' folgende Schnitte vorhanden: roman, italic, bold, bold italic, demi, demi italic, ultra, ultra italic. Viele Schriften von Bitstream sind auf dieser CD enthalten (eben auch die Zapf Humanist 601) Ausserdem sind zwei ITC-Schnitte enthalten. Zu bekommen sind diese CD-ROMs und ein Booklet mit einer "Ubersicht zumindest bei Vobis (Preis: 69.-DM) 15.12 Thierry Rodolfo Die mit T.R. bezeichneten Treiber sind von Thierry Rodolfo. Sie finden sich in der BBS BRASIL und in ftp://hensa.micro.ac.uk/atari/tos/n/n196/ Ausnahme: MEMORY_2 befindet sich in ftp://ftp.cs.tu-berlin.de/pub/atari/GDOS/ 15.13 Sonstige Ich treffe keine Auswahl an Treibern. Das Kriterium ist Vollst"andigkeit. Die Programmautoren (und Anwender) der Programme sind hiermit aufgefordert, mir zu schreiben, welche GDOS-Treiber bei den einzelnen Programmen mitgeliefert werden (mit den Angaben Codel"ange, Datum und evtl. bekannte Fehler). Ein Vergleich verschiedener TrueType-CDs findet sich in [Hil95 ]. Wer ansonsten diese billig-CDs verwendet (jeweils 500 TT-Schnitte f"ur 15 DM), sollte nicht auf Umlaute, Kerning oder ein ausgewogenes Schriftbild bestehen. Dann macht es auch nichts mehr aus, 20 Fonts auf einem Plakat zu verwenden. (Seufz!) 16 GDOS-Versionen 16.1 Die Fossile Atari-GDOS, AMCGDOS, ABC-GDOS, NVDI bis 2.51 und wahrscheinlich G+Plus verwenden die selben Treiber. 16.1.1 Atari-GDOS 1.X und AMCGDOS Das Atari-GDOS ist der Urahn aller GDOSe. GDOS 1.0 wurde von Digital Research f"ur Atari entwickelt. Besondere Eigenschaften sind die vielen Fehler und die unertr"agliche Langsamkeit. Aber das ist Geschichte. AMCGDOS ist schneller und hat weniger Fehler. Es hat aber im Wesentlichen den gleichen Funktionsumfang und wurde zusammen mit dem AtariGDOS vertrieben. 16.1.2 ABC-GDOS ABC-GDOS ist in ABCs GEMVDI.PRG enthalten. Wird dieses GDOS verwendet, so ist f"ur ASSIGN.SYS eine erweiterte Syntax zu verwenden: driver number driver's file name ; technical info ; icon text Durch das erste Semikolon wird die Zusatzinformation von anderen GDOSen als Kommentar interpretiert. technical info ist der Klarname des Treibers, wie er ab SpeedoGDOS 4.2 und NVDI 3.0 mit vqt_devinfo in ptsout geliefert wird. Es l"auft nur auf 68000ern, weil wahrscheinlich der Interupt-Level manipuliert wird. ABC-GDOS kommt aus Holland und hat praktisch keinerlei Verbreitung gefunden. ABC hat einige Programme, die von Digital Research geschrieben wurden, auf Ataris portiert. Leider weigern sich diese Programme mit anderen Versionen als GEM 2.2 (ABC-GDOS) zusammenzuarbeiten. Deshalb sind die Programme nur hier aufgef"uhrt: WordChart, Graph, Paint und Draw 16.1.3 G+Plus G+Plus wurde John Eidsvoog und Charles F. Johnson und ist (c) 1988, 1989 CodeHead Software. G+Plus kann ohne ASSIGN.SYS gebootet werden, daf"r k"onnen nachtr"aglich beliebige verschiedene ASSIGN.SYS nachgeladen werden. Ebenso existieren Schnittstellen f"ur Applikationen, so da"s diese nachtr"aglich und ohne Neustart Fonts und Treiber nachladen k"onnen. 16.1.4 G+Flair G+Flair lag Wordflair 1 bei und war -- bis auf die Tatsache, da"s es nur ein ASSIGN.SYS laden konnte -- identisch mit G+Plus. 16.2 Ein Schritt nach vorne Auch wenn es mit NVDI schon ein sehr gutes GDOS gab, hat Atari die Klagen der Anwender und vor allem der Programmierer erh"ort und die Funktionalit"at des GDOS zu verbessern versucht. 16.2.1 FontGDOS 2.0 Hierbei handelt es sich um ein GDOS, das weiterhin nur Bitmap-Fonts verwendet. Die Treiber aus diesem Paket sind wirklich drastisch schneller als die bisherigen (vergleichen kann man nat"urlich nur den Ausdruck von Bitmap-Fonts und Graphik). Ich habe keine Probleme gehabt, diese Treiber mit anderen GDOS-Versionen zu kombinieren. Man muss sich aber auf die alten Fonts beschr"anken. FontGDOS ist der Nachfolger des Atari GDOS. Es unterscheidet sich im Wesentlichen durch die Bezierfunktion und schnellere und farbf"ahige Treiber. Es hat nichts mit FSM-GDOS oder SpeedoGDOS zu tun. FontGDOS ist bei einigen Firmen erh"altlich, die es f"ur eigene Programme nutzen. 16.2.2 FSMGDOS 3.0 Gleichzeitig mit FontGDOS hat Atari ein GDOS entwickelt, das mit Vektorfonts arbeiten kann (in diesem FAQ als OTL bezeichnet). FSMGDOS ist also kein Nachfolger von FontGDOS, sondern wurde parallel dazu entwickelt. FSMGDOS war praktisch schon zum Vertrieb freigegeben, als es im letzten Moment aufgrund massiver Proteste der Entwickler gestoppt wurde. FSMGDOS wurde (ausser im Bundle) niemals offiziell vertrieben. Es wurde das Imagen Outline-Font-Format der QMS/Imagen Corp verwendet. 16.3 Aktuelle Entwicklungen 16.3.1 SpeedoGDOS 4.0 und 4.1 Siehe auch [Res92 ]. Ob es sich bei einem Font um einen Speedo- oder Bitmap-Font handelt, steht im 33. Byte des Fontnamens (vqt_name, INQUIRE FACE NAME AND INDEX, VDI 130). Ist es 0, handelt es sich um einen Bitmap-Font, bei 1 um einen FSM- oder Speedo-Font. Auf einige Probleme ist dringend hinzuweisen: Als Programmierer kann man nicht herausfinden, ob ein Treiber Speedo-Fonts vertr"agt oder nicht (vergleiche aber letzte Frage in Kapitel 13.3). Einige Font-IDs werden leider sowohl von Bitmap- als auch von Speedo-Fonts verwendet, obwohl verschiedene Fonts mit gleicher ID niemals gleichzeitig installiert sein d"urfen. Zuwiderhandlung gegen die genannten Punkte werden mit Bomben bestraft. Es liegt also am Anwender, dass die richtigen Treiber und Fonts installiert sind. Der Programmierer hat keine Chance, hier helfend einzugreifen und Fehler abzufangen. Am besten installiert man nur Bitmapfonts mit den entprechenden Treibern oder verwendet ein reines Speedo-System. Der mitgelieferte Monospace-Font der Version 4.0 enth"alt keine Umlaute. Entgegen den Aussagen in [Pru93c ] wird SpeedoGDOS zur Zeit weiterentwickelt. Zur Installation und Programmierung empfehle ich dringend [Dic93a ], [Dic93b ] und [Dic93c ]. Es ist darauf zu achten, dass NVDI vor SpeedoGDOS im Autoordner steht. Wer SpeedoGDOS einzeln gekauft hat, hat Version 4.0 bekommen, den Falcons lag 4.1 bei. 16.3.2 SpeedoGDOS 4.2 Lassen wir Ulli Ramps zu Wort kommen: Huhu! Im Folgenden finden Sie eine Liste der "Anderungen, die in die SpeedoGDOS Version 4.2 Eingang gefunden haben: Line-A: Aufgrund h"aufiger Entwickler-Anfragen (:-)) wurde Speedo GDOS vom LINE-A-Betriebssystemteil unabh"angig gemacht. S"amtliche Ausgaben laufen nunmehr "uber VDI Aufrufe. Dies macht Speedo GDOS kompatibel zu vielen Graphik-Karten und bewirkt mehr Multi-Tasking-''Freundlichkeit``. Auch k"onnen jetzt verschiedene VDI-Ersatzprogramme wie bspw. NVDI besser mit Speedo GDOS eingesetzt werden. Ein weiterer Vorteil der Line-A-Unabh"angigkeit ist, dass der sog. ''Scratch Puffer`` f"ur algorithmisch errechnete Spezialeffekte keine Sorgen mehr bereitet. Spezialeffekte sind jetzt "uber die Treiber (wie MEMORY.SYS und die Druckertreiber) implementiert, sodass der Benutzer bzw. das eingesetzte Programm sich nicht mehr um Speicher-Anforderungen k"ummern muss, um beliebige Punktgr"ossen zur Verf"ugung zu stellen. Zu beachten ist hierbei, dass die Tre* *iber auf dem neuesten Stand sein m"ussen; verwenden Sie also keinesfalls mit Speedo GDOS 4.2 ''"altere`` *.SYS-Treiber! F"ur Programme ohne Textfunktionen k"onnen Sie allerdings "altere Treiber benutzen (sprich: f"ur reine Grafik). Spezialeffekte wie ''fett`` oder ''kursiv`` sind jetzt auch in gedrehten Texten einsetzbar; ebenso ''hell``; ''fett`` und ''hell`` zusammen gehen nur in 90 Grad Schritten. F"ur Programme, die die Font ID-Nummern lesen, ist wichtig, dass Speedo 4.2 den Wert 5000 zu den Font ID-Nummern addiert, um Konflikte mit den ID-Nummern von GDOS Pixelfonts zu vermeiden. Aus Druckertreibern wird von SpeedoGDOS 4.2 die Info f"ur den '_FSM_HDR' cookie gepr"uft. Wenn dieser cookie nicht gefunden wird, wird das Laden von Fonts unterbunden und dieser (offensichtlich "altere) Treiber kann nur f"ur nicht-Text-Ausgaben genutzt werden. Treiber-Header m"ussen f"ur diese und zuk"unftige Versionen immer an einer Word Grenze beginnen. Vst_load_fonts() ist in zwei Punkten optimiert worden: 1. wird beim load_font call nachgesehen, ob das ''EXTEND.SYS`` modifiziert wurde und f"uhrt nur noch dann ein Neuladen der Fonts durch. Durch Wegfall des scratch Puffers besteht keine Notwendigkeit mehr f"ur ein st"andiges Neuladen. Weiter wird die globale Fontliste nicht jedesmal deallociert, was Programmstarts enorm beschleunigt. Als Nebeneffekt wird allerdings das miscellaneous cache bzgl. der Font Header Infos erst beim n"achsten Booten gel"oscht. MEMORY.SYS "offnet nicht mehr irrt"umlich einen Druckerhandle. Der vst_height() wird jetzt nicht mehr bis zu einer maximalen Punktgr"osse gr"osser und dann irrt"umlich wieder kleiner. Die Postscript-Tabelle ist jetzt nutzbar. vrt_copyfm() in den Treibern ist repariert. 9) When in 'bicsmode', character 0 was not passed through to the font engine. ??? [Anmerkung GC: Speedo kann pro Font mit zwei verschiedenen Charactersets arbeiten, einmal sortiert wie bei einem normalen Atari-Font und einmal wie ein Bitstream-Font. Im Bitstream-Modus ist character 0 ein Leerzeichen. Deshalb ist es auch unsinn, wenn in [San94 ] vorgeschlagen wird, auch 16-bit-Zeichen nullterminiert zu "ubergeben.] Die Behandlung negativer Punktgr"ossen wurde konsistent zum originalen Handling im alten FSM gemacht. Die Treiber behandeln jetzt auch gebrochene Zahlen f"ur Schriftweiten korrekt. Das v_ftext() der Treiber kann nun die offsets benutzen, die an das ptsin array gegeben wurden. Bildschirm-Treiber k"onnen nun korrekt als device 10 geladen werden. Der memory Treiber kann nun auch resident geladen werden. vqt_devinfo() - vqt_devinfo() geben nun eine R"uckmeldung, je nachdem, ob die device ge"offnet ist oder nicht. Weiterhin wird der Treibername der device, zu finden im driver header, in das ptsout array abgelegt, der Name ist 26 bytes lang. Achtung: Wenn der Treiber nicht SpeedoGDOS-kompatibel ist, wird ein Null String zur"uckgegeben; bei einem Fehler gibt es eine -1 in ptsout[1]. Neuer Aufruf vst_width(): Dieser call ist identisch mit vst_height(), nur dass er die Weite setzt. Die Einbindung ist identisch, nur der opcode ist 231. Achtung: Wie bei vst_arbpt() und vst_setsize() muss erst der generelle Aufruf vst_arbpt() oder vst_height() get"atigt werden, bevor man die Weiten-Aufrufe vst_setsize() und vst_width() nutzen kann. Die generellen Aufrufe setzen immer die Weiten zur"uck! Nun ich wieder: Das Installationsprogramm zu Speedo 4.2 hatte bisher einen kleinen Fehler. Wenn ein NEC P - Drucker ausgew"ahlt wird, schreibt es NEC_P.SYS in die ASSIGN.SYS, obwohl der mitgelieferte Druckertreiber NECP.SYS heisst. R.O.M. hat das inzwischen verbessert. 16.3.3 SpeedoGDOS 5.0 SpeedoGDOS 5.0 wird von no|Software unter Verwendung der Sourcen von Atari (weiter-)entwickelt und von COMPO vertrieben. Es beherrscht zus"atzlich TrueType und Type 1 (Vergl. 10). Kosten: 129.- DM (ohne Gew"ahr). Es werden nur 9 Druckertreiber mitgeliefert, und zwar die neuen. Da es sich um ein Upgrade handelt, ist man ja im Besitz der alten Treiber. Aber: welches sind die alten Treiber? Die Treiber vor 4.1 funktionieren laut Handbuch nicht (und 4.1 hat nur, wer sich des Besitzes eines Falcon 030 erfreut; wer Speedo in der Anfangszeit "uber COMPO gekauft hat, hat Speedo 4.0) Also habe ich gleich mit Speedo 5.0, NECP.SYS (Speedo 4.2) und ProList einen Text ausgedruckt. Und siehe da: es funktioniert. Und das, obwohl ProList (und mein eigenes Programm) mit genau diesem Treiber und Speedo 4.2 Probleme hatte. Der Ausdruck mit den Treibern von Speedo 4.0 d"urfte schon deshalb nicht funktionieren, weil sich seit 4.2 die Aufgabenverteilung zwischen SpeedoGDOS selbst und den Treibern grundlegend ver"andert hat. (K"onnte mal jemand die 4.1- Treiber mit SpeedoGDOS 5.0 testen? Ich kann es noch nicht so recht glauben, dass das tut.) Ich stelle mir ein Upgrade jetzt so vor (Achtung, Satire): Kunde: Sehr geehrter Herr Compo, [...] aber meine Treiber von Speedo 4.0 funktionieren nicht mehr. Compo: ...gratulieren Ihnen zu Ihrer Entscheidung... Aber: Speedo 4.2 ist keine offizielle Version. Sie ist speziell f"ur Papyrus gemacht und mit anderen Programmen nicht sinnvoll. Andererseits...dennoch...so betrachtet...eigentlich...vielleicht eventuell...Jedenfalls brauchen Sie die Treiber von Speedo 4.2. Diese vertreiben wir aber prinzipiell nicht. Sie k"onnen sich aber an R.O.M. wenden. Kunde: Sehr geehrter Herr R.O.M., ... m"ochte ich ein Downgrade, und zwar umsonst. R.O.M.: ... geht nicht...Selbstkostenpreis...laber...s"ulz...nehmen Sie doch lieber auf NVDI 3.0. Kunde: "]$&"]$/(!]&!^# Jedenfalls bin ich gespannt, von COMPO zu erfahren, wie Kunden, die bisher SpeedoGDOS 4.0 hatten, in Zukunft drucken sollen. Bisherige Versionen: Speedo 5.0a vom 3.8.94 Erste vertriebene Version. Speedo 5.0b vom 8.8.94 Ab dieser Version funktioniert das Laden von T1- und TT-Fonts schneller. Bekannter Bug: Nach dem Aufruf von vqt_headerinfo() werden die Files nicht mehr geschlossen. Bei Programmen, die diese Funktion f"ur alle Fonts aufrufen, kann das dazu f"uhren, dass die Filehandles ausgehen, von denen je nach TOS-Version unterschiedlich viele zur Verf"ugung stehen. Seit SpeedoGDOS 4.2 funktioniert das Attribut Outline nur unter gewissen Umst"anden. Ob es funktioniert h"angt ab vom verwendeten Font, der SpeedoGDOS-Version, der Punktgr"osse und davon, welche Formeln man bei Vollmond murmelt. Speedo 5.0c vom ??.8.94 Ab dieser Version funktioniert LOWMEM=0 wie im Handbuch beschrieben. 16.3.4 NVDI bis Version 2.51 NVDI bis 2.51 bestand aus sehr schnellen Bildschirmtreibern und einem sehr schnellen GDOS. Im Vergleich zum Atari-GDOS hatte es praktisch keine Fehler. Allerdings war der Funktionsumfang kaum gr"osser. Diese Version zu verwenden ist im Zusammenhang mit SpeedoGDOS 5.0 immer noch sehr sinnvoll. 16.3.5 NVDI 3.0 NVDI kann ab der Version 3.0 auch Vektorfonts im Speedo- und TrueType-Format verarbeiten. Im Gegensatz zu SpeedoGDOS fehlt hier das Type 1-Format. Die Behnes sagen (zu Recht!), dass dieses Format von den dreien am wenigsten kann und NVDI nur aufbl"ahen w"urde. Dennoch werden viele Spezialfonts nur im Type 1-Format angeboten und auch ich k"onnte einige davon brauchen. Seit es aber Multiple Master fonts gibt (siehe 10.4.1), "uberzeugt mich diese Entscheidung nicht mehr so sehr. Eine Konversion der Formate ist zwar (im Prinzip sogar in sehr guter Qualit"at) m"oglich. Aber das ist sehr schwierig (vergl. Kapitel 10.8) und auf Ataris gibt es "uberhaupt noch kein solches Programm. Diese Entscheidung der Behnes hat also Vor- und Nachteile. Die Druckertreiber sind in 6.8.3 aufgef"uhrt. (Mir) bekannte Fehler und Probleme: o NVDI-Versionen bis 3.01 ber"ucksichtigen nicht das Pixelgr"ossenverh"altnis (Aspect Ratio) bei der Ausgabe von Kreisen und Ellipsen. Ist mit 3.02 behoben. o v_clswrk nach vqt_devinfo auf eine physikalische Workstation f"uhrt zu einer Privileg-Violation unter MultiTos. Dieser Fehler wird mit Version 3.02 behoben werden. o Das Charakter-Mapping ist inkompatibel zu SpeedoGdos 5.0 o Wenn bei der Installation die Platte voll ist, gibt es keine Fehlermeldung. Dieser Fehler ist seit November '94 behoben. o Das Cache-CPX verursacht unter MTOS eine vemory violation. Dieser Fehler ist mit Version 3.02 behoben. o Die gedrehte Textausgabe funktioniert bei manchen Zeichens"atzen (z.B. MONACO08.FNT) nicht, die Zeichen werden immer im 0-Grad-Winkel ausgegeben und Bitmap-Fonts werden bei einer Gr"osse von 8 und weniger Punkten nicht hell dargestellt, obwohl das Attribut eingeschaltet ist. Der Fehler trat im monochromen Treiber in der 8pt-Systemfontausgabe auf; mit anderen Bitmap-Fonts (und in anderen Bittiefen) nicht. Diese Fehler sind seit 10.11.94 behoben. o Die Funktion vqt_fontheader liefert bis 3.01 keinen korrekten TDF-Pfad zur"uck. Mit 3.02 behoben. o Die Position von Vektorzeichen wird nicht korrekt ermittelt, wenn ein Skew-Winkel eingestellt ist. Sobald ein Skew-Winkel eingeschaltet ist, wird der Text je nach Vorzeichen des Winkels nach rechts oder links verschoben, was bei SpeedoGDOS nicht der Fall ist. Dieser Fehler ist mit Version 3.02 behoben. o Unter MiNT ist der Speicherbereich, auf den das NVDI-Cookie von NVDI 3.0x zeigt, schreib- und vor allem lesegesch"utzt. (Behaupten einige wenige Programmierer, ist aber laut Wilfried Behne falsch. Ich selbst kann das mangels MMU nicht pr"ufen.) o NVDI 3.02 f"ullt beim Aufruf von vqt_info (VDI 229) die Variable ''style`` nur bei manchen Schnitten. Doku f"ur Programmierer: [Beh95 ]. Dort ist auch ein Patchprogramm enthalten f"ur NVDI 3.x enthalten. 16.3.6 NVDI 4.0 Auf der ProTOS im Herbst '95 wurde NVDI 4.0 verkauft. Neu ist die Unterst"utzung von Type 1-Schriften als separates Modul, so dass es keinen Speicher ben"otigt, wenn es nicht gebraucht wird (vergl. 10.4). Ebenfalls neu ist die Unterst"utzung von UNICODE (vergl. 21.3.4). 16.3.7 NVDI 4.11 Das Update bei 2B kostet 39 DM, das Crossgrade f"ur MagicMac 79 DM. Letzteres l"auft auch auf dem Atari. Wer sich sowieso einen Mac kaufen will, kann also gleich die Mac-Version nehmen und sich so 39 DM plus Versandkosten sparen. Alle Preise wie immer ohne Gew"ahr. Zu dieser Version gibt es ein aktualisiertes nvdiguid [Beh95 ]. F"ur Programmierer: es gibt lediglich zwei neue Funktionen, die zun"achst recht harmlos aussehen: VDI 190 vqt_char_index() und VDI 236 vst_map_mode(). Erst durch diese Funktionen aber lassen sich die kompletten 16-Bit-Zeichens"atze sinnvoll nutzen, die im Prinzip schon ab SpeedoGDOS 4.0 zur Verf"ugung stehen. Erweitert wurden vro_cpyfm() und vrt_cpyfm(). Eine weitere neue Funktion, die der Programmierer gar nicht bemerkt (das sind die besten) ist die Gamma-Korrektur. Hier k"onnen f"ur jeden Treiber getrennt Farbkorrekturen eingestellt werden. Neu ist auch das Tool Fontname, mit dem Fonts verwaltet und Beispiele angezeigt werden k"onnen. Alle beiliegenden Programme nutzen WDIALOG um ihre Dialoge aufzupeppen. Dieses Programm muss in den AUTO-Ordner und stellt stellt die erweiterten Dialogfunktionen von MagiC auch unter einem normalen TOS zur Vef"ugung. Bei Installationsproblemen kann es sinnvoll sein, WDIALOG aus dem AUTO-Ordner zu entfernen oder seine Position zu ver"andern. 16.4 Kommentare Mit der Geschwindigkeit der Entwicklung kann man als Anwender und Programmierer eigentlich zufrieden sein. Auch die Vielzahl von Fontformaten, die den Programmen gleichzeitig zur Verf"ugung stehen, sucht (als Teil des Betriebssystems) auf anderen Plattformen seinesgleichen. Die Geschwindigkeit, mit der SpeedoGDOS 5.0a bis 5.0c offensichtlich ohne grosse Betatestphase herausgekommen sind, ist zwar "argerlich. Es ist aber andererseits sch"on zu sehen, wie die Konkurrenz durch NVDI 3.0 den Programmierern Beine macht. SpeedoGDOS 5.0 macht einigen Programmen, die mit SpeedoGDOS 4.x noch einwandfrei zusammengearbeitet haben, Probleme. Vieles liegt wohl daran, dass SpeedoGDOS 5.0 f"ur die neuen Formate negative Handles liefert. Eigentlich sollte man mit Handles nicht rechnen, aber einige Programme machen es wohl trotzdem. Das Problem soll dadurch umgangen werden, da"s die Handles in Zukunft als unsigned integer (SHORTCARD) interpretiert werden sollen. Die mitgelieferten Handb"ucher zu SpeedoGDOS 5.0 und NVDI 3.0 sind f"ur Programmierer nur ein schlechter Witz. Aber auch mit ganz normalen Anwenderfragen wird man sitzengelassen. Beispiel: Es werden TrueType- (und bei SpeedoGDOS auch Type 1-) Fonts verarbeitet. Nun sind die Fonts aber jeweils wieder in plattformspezifischen Darstellungen gespeichert. Welche werden denn nun verarbeitet und welche Files mit welchen Extentions werden ben"otigt? Ohne diese Information kann man mit beiden Programmen ziemlich wenig anfangen. Die vorl"aufige Funktionsbeschreibung zu NVDI 3 [Beh95 ] ist Public Domain und in FTP-Servern und Mailboxen erh"altlich. COMPO hat f"ur SpeedoGDOS dasselbe versprochen. Beim Update auf SpeedoGDOS 5.0 konnte jeder auf Anfrage eine provisorische Programmierdoku gratis bekommen. Man musste nur wissen, dass man danach fragen kann. Sorry, dass das so sp"at im FAQ stand, ich wusste es auch nicht. Auch jetzt bekommt man sie noch (in Deutschland gegen einen mit 3DM frankierten A4-Umschlag). Sie ist in 90% englisch und 10% deutsch geschrieben. So wird sie auch in englischsprachigen L"andern verschickt. Hier noch einige Unterschiede zwischen NVDI 3.0 und SpeedoGDOS. Der Leser mag selbst seine Schl"usse daraus ziehen. o Das Treiberkonzept. Ein klares Plus f"ur NVDI 3.0. Die Treiber sind klein, schnell und vom Anwender leicht an neue Drucker anzupassen. Allerdings lassen sich die Anpassungen nicht von Anwender zu Anwender kopieren (es steht alles in einem File). o Drucken in Dateien. Die NVDI-Treiber k"onnen (im Gegensatz zu den SpeedoGDOS-Treibern) in eine Datei drucken, ohne dass das Programm es merkt. o Der Speicherbedarf. NVDI 3.0 ben"otigt bei gleicher Cachegr"osse praktisch genausoviel Speicher wie SpeedoGDOS 5.0 und NVDI 2.5 zusammen. o Installation. F"ur den Anf"anger ist die Installation von NVDI 3.0 etwas einfacher als die von SpeedoGDOS 5.0. Das grosse Aber: NVDI 3.0 "uberschreibt gnadenlos und ohne zu fragen alles, was genauso heisst, wie die Files von NVDI 3.0: META.SYS und die Bildschirmtreiber des alten NVDI 2.5. Damit ist es extrem schwierig, zu Testzwecken verschiedene GDOS-Versionen auf Platte zu halten. Das betrifft vor allem Programmierer, und denen kann man folgende Abhilfe zumuten: Einfach vor der Installation den AUTO- und den GEMSYS-Ordner umbenennen. Danach kann man damit machen, was man will. o bis November '94 weist das NVDI-Installationsprogramm nicht darauf hin, wenn die Installation mangels Plattenplatz unvollst"andig war. o Geschwindigkeit des VDI. NVDI 3.0 ist leicht schneller als SpeedoGDOS 5.0 + NVDI 2.5, und das ist wiederum deutlich schneller als SpeedoGDOS 5.0 alleine. Mit SpeedoGDOS 5.0 + NVDI 2.5 l"asst es sich schon angenehm arbeiten. Wenn die verwendeten Fonts in die Caches passen, ist diese Kombination subjektiv etwa gleich schnell wie mit NVDI 3.0. o Geschwindigkeit des Fontscalers: Entgegen der Aussage im (deutschen) FAQ 2.4 haben die Behnes die 4in1-Sourcen von Bitstream direkt "ubernommen (und das letzte Update von Bitstream in 2 Stunden eingebaut). Die Ursache f"ur die Langsamkeit von SpeedoGDOS ist also nicht beim Scaler zu suchen. o Bugs. Hier "andert sich der Status laufend. Ich weiss nicht, wer zur Zeit mehr Fehler ausliefert. o Zahl der Formate. Beide beherrschen Speedo und TrueType. SpeedoGDOS 5.0 beherrscht zus"atzlich Type 1. Einzelne Schnitte in diesem Format sind zwar oft sehr teuer, es handelt sich dann aber meist um Spezialfonts, die anders nicht zu bekommen sind. o NVDI meldet sich ("uber cookie) an, als sei es SpeedoGDOS 5.0 - kompatibel, ist es aber nicht. Allerdings ist SpeedoGDOS 5.0 genausowenig SpeedoGDOS 5.0 - kompatibel, d.h. es gibt mehrere Versionen davon (mit unterschiedlichem Funktionsumfang bzw. Opcodes) und keine davon ist dokumentiert. Schlimmer noch: Einige SpeedoGDOS 5.0-Versionen haben einige Funktionen experimentell implementiert und man darf sie nicht verwenden. Und das obwohl bisher immer dokumentiert war, dass man VDI-Funktionen einfach aufrufen darf, um zu testen, ob sie da sind. 17 Source Als Entwickler kann man einen fast fertigen Druckertreiber im Objectcode bekommen. Dieser muss dann nur noch an den speziellen Drucker angepasst werden. Dieses Paket gibt es sowohl f"ur GDOS als auch f"ur SpeedoGDOS. 18 Tips und Tricks f"ur Anwender 18.1 Pixelm"ull beim Drucken Beim Ausdruck von Graphiken mit hohem Schw"arzungsgrad in einer Zeile auf dem NEC P6+ (vielleicht auch auf anderen Druckern) ist es mir "ofters passiert, dass eine Druckzeile "ubersprungen wurde (SpeedoGDOS-Treiber NB15, NECP) beziehungsweise, dass zweimal versetzt "uber die Druckzeile gedruckt wurde (SpeedoGDOS-Treiber FX80, NX1000). Das passiert sowohl bei direkter Ausgabe als auch mittels CENSPEED. Durch Verwendung des Spoolers VARSPOOL tritt dieser Effekt nicht mehr auf. VARSPOOL befindet sich auf der Treiberdiskette der NEC-Drucker. 18.2 NEC P6+ Irgendwann f"angt ein NEC P6+ an zu rattern. Wenn man die vordere Klappe aufmacht, sieht man eine etwas "uber einen Zentimeter dicke runde F"uhrungsstange. Auf diese ist etwa einmal im Jahr zwei Tropfen N"ahmaschinen"ol zu applizieren. Sp"ater wird dies auch f"ur die U-F"ormige F"uhrungsstange notwendig. N"ahmaschinen"ol gibt's bei Muttern. 18.3 HP DeskJet 550C, 560C und DeskWriter 510, 520 Bei Ger"aten, die zwischen Juni 93 und M"arz 94 produziert wurden, verweigern die Andruckrollen zeitweise den Dienst. Registrierte Nutzer erhalten die Ersatzteile zugeschickt. 18.4 U"berschriebene Speedo-Schnitte Es passiert manchmal, dass SpeedoGDOS in Schnittdateien schreibt, was die wunderlichsten Effekte zur Folge hat. Ich habe f"ur diesen Fall ausser GEMSYS noch einen zweiten Ordner mit den Speedoschnitten auf Platte. Wenn dann mal wieder unerkl"arliche Effekte auftreten, kopiere ich diese Schnitte in den GEMSYS-Ordner. Das hilft in fast allen F"allen. Diesen Effekt habe ich seit SpeedoGDOS 5.0 nicht mehr reproduzieren k"onnen. 19 Tips und Tricks f"ur Programmierer 19.1 Fontgr"osse und Pixelgr"osse Hier geht es um meine Erfahrungen mit GDOS und WYSIWYG. Mein Dank gilt Ulrich Rossgoderer, der diese best"atigt hat. Es geht im Folgenden um die Ausgabe von Vektorgraphik und Text auf Bildschirm und Drucker. Die Gr"ossenangabe des Textes geschieht in der Einheit Punkt und ist unabh"angig von der Aufl"osung des Ausgabeger"ates immer gleich. Die Vektorgraphik dagegen ist vor der Ausgabe in Pixel umzurechnen. Das ist an sich kein Problem, denn beim "Offnen der virtuellen/physikalischen Workstation erh"alt man die Pixelgr"osse in Mikrometern in devParm[3] und devParm[4] zur"uck. Nehmen wir an, die Vektorgraphik sei intern in Mikrometern abgespeichert, dann sind bei der Ausgabe die St"utzpunkte einfach durch devParm[3] bzw. devParm[4] zu teilen, um die Position in Pixeln zu erhalten. Bei der Ausgabe in Fenstern ist noch ein Offset hinzuzuaddieren, was hier aber nicht relevant ist. Soweit die Theorie, die bisher ganz einfach ist (siehe auch [Gar93 ]). Nun zur Praxis. Mit dieser Methode geben wir nun einen Text und einen Rahmen, der intern als Vektorgraphik gespeichert ist, aus. Es ist dabei irrelevant, ob der Text mit SpeedoGDOS oder als Bitmap-Font ausgegeben wird. Um besser vergleichen zu k"onnen, soll der Rahmen den Text exakt umschliessen. Ich habe nun folgende Erfahrungen gemacht. Der Text, der auf dem Bildschirm (ST-high) den Rahmen genau ausf"ullt, ist beim Ausdruck im Vergleich zum Rahmen viel zu klein. Ein Fehler bei der Umrechnung der Pixelgr"osse ist auszuschliessen, denn ich habe den Ausdruck mit den Treibern NB15, NECP, FX80 und NX1000 gemacht, und die Ausdrucke decken sich. Einzig m"ogliche Erkl"arung, die mir einf"allt, ist, dass der Bildschirmtreiber f"ur die Pixelgr"osse eine andere Aufl"osung annimmt, als f"ur die Fontgr"osse. Zwei L"osungen des Problems sind hier anwendbar: Erstens kann man auf dem Bildschirm eine andere Pixelgr"osse annehmen, als vom Betriebssystem geliefert wird. Ich habe nach dem "Offnen der virtuellen (und nur dieser!) Workstation devParm[3] := 282; devParm[4] := 282; berechnet und mit diesem Wert die Umrechnung der Vektorgraphik von Mikrometer in Pixel vorgenommen. Jetzt stimmt das Verh"altnis von Graphik zu Text auf dem Bildschirm exakt mit dem Ausdruck "uber die verschiedenen Druckertreiber "uberein. Problematisch ist nur, dass eine A4-Seite in der Breite nicht mehr auf den Bildschirm passt. Die Zahlenwerte sind experimentell bestimmt und k"onnen eventuell noch verbessert werden. Zweitens kann man f"ur den Bildschirm (und nur dort) einfach eine kleinere Fontgr"osse verwenden. Mit Speedofonts ist das ganz einfach, da man ja die G"osse in Punkten mit fast beliebig vielen Nachkommastellen angeben kann. Mit Bitmapfonts kann das aber nicht klappen, da man nicht f"ur jeden Druckerzeichensatz einen in der 72/96 (72/91?) -fachen Gr"osse f"ur den Bildschirm hat. Diese Methode ist sicher f"ur ST-mid und evtl. noch bei anderen Aufl"osungen zu modifizieren. Laut Wilfried Behne werden die Werte devParm[3] und devParm[4] der Bildschirmtreiber vom aktuellen SpeedoGDOS schlicht ignoriert. Die Werte von physikalischen Workstations werden aber "ubernommen. Siehe auch Kapitel 10.7.4. 19.2 Treiberauswahl Meine Tests verschiedener GDOS-Programme haben ergeben, dass doch einige Programmierer mit Folgendem Probleme haben: Die Anwender k"onnen in der ASSIGN.SYS beliebige Treiber anmelden. Beispielsweise k"onnte dort 23 FX80.SYS 27 NECP.SYS 28 NB15.SYS 31 META.SYS 61 MEMORY.SYS stehen. Wie bekommt man als Programmierer sicher heraus, welche Treiber angemeldet (und auch bereit) sind? Und das, obwohl im Beispiel kein Drucker 21 angemeldet ist? Ganz einfach: Unterst"utzt das Programm Drucker, so sind alle Treiber mit Nummer 21 bis 30 zu "offnen und gleich wieder zu schliessen. Ob ein Druckertreiber angemeldet ist, sieht man daran, dass beim "Offnen ein Devicehandle 0 zur"uckgegeben wird. Nur bei ge"offnetem Treiber liefert v_f_devinfo sinnvolle Werte zur"uck. Werden MEMORY-Treiber unterst"utzt, ist mit den Treibernummern 61 bis 70 analog zu verfahren. Die obige ASSIGN.SYS ist im "ubrigen sehr sinnvoll, da die NEC P irgendwas all diese Treiber unterst"utzen und dann in unterschiedlicher Aufl"osung drucken. 19.3 Das Metafile-Format Ich wurde gebeten, einmal aufzuz"ahlen, was ich "uber Metafiles so alles nicht weiss 8-))). Das Metafile-Format ist von der Idee her ganz einfach. Es enth"alt die Aufzeichnung der VDI-Aufrufe samt Parameter, die ein Programm macht. Ein Programm, das sowieso seine Ausgaben "uber GDOS macht, "offnet statt eines Druckertreibers einen Metafile-Treiber (siehe 6.8), und macht seine Ausgaben wie auf einen Drucker. Das Programm, das das Metafile liest, vollzieht diese Aufzeichnungen dann nach. Diese Einfachheit ist auch eines der Hauptprobleme dieses Formats. Es gibt n"amlich verschiedene GDOS-Versionen und auch verschiedene Treiber mit unterschiedlichen F"ahigkeiten. Ein Programm macht also Ausgaben, die das GDOS, unter dem es gerade l"auft, versteht. Dieses File wird von einem Programm gelesen, das zuf"allig unter einem anderen GDOS mit geringeren oder anderen F"ahigkeiten l"auft. Wie soll die Aufzeichnung dann nachvollzogen werden? Konkrete Beispiele f"ur dieses Problem: Die L"ange der ptsin- und intin- Felder ist normalerweise (f"ur verschiedene Treiber unterschiedlich) begrenzt. Dies kann der Metafile-Treiber anders handhaben. Betroffen sind unter anderem Textausgabe, Polyline, Polymarker, Filled area etc. N"achstes Problem: es wird ein bestimmter Schnitt verwendet, der dann auf einem anderen System nicht vorhanden ist. Wie soll das Ausgabeprogramm sagen: wenn der Schnitt schon nicht vorhanden ist, nimm wenigstens einen anderen halbfetten mit Serifen. Der Programmierer sollte wenigstens (wenn m"oglich) den Schnitt durch den Namen und nicht durch die ID ausw"ahlen, weil NVDI 3.0x und SpeedoGDOS f"ur Vektorfonts unterschiedliche IDs verwenden. Wird mit SpeedoGDOS 5.0 oder neuer ein Schnitt durch die ID ausgew"ahlt, so schreibt der META-Treiber den Namen automatisch mit ins File. Bei den bisherigen Problemen kann man sich auf den Standpunkt stellen, dass das ein Problem der Graphikprogramm-Programmierer ist, und die werden schon wissen, was sie tun. Beim Schreiben des Metafile-Headers muss man allerdings wissen, was man tut. Ich weiss es nicht. Aber ich versuch's trotzdem mal. Eine Applikation kann selbst entscheiden, mit welcher Aufl"osung (also mit wieviel dpi) sie in ein Metafile schreibt. Tut sie das nicht, werden 300 dpi angenommen, was einer Pixelbreite von 85 mikrometern entspricht. Die Bildschirmtreiber beherrschen nur Rasterkoordinaten. Da zur Ausgabe "uber Metafile "ublicherweise dieselben Routinen verwendet werden, beschr"anken wir uns im Folgenden auf Rasterkoordinaten (Auch wenn Metafiles auch NDCs beherrschen). Rasterkoordinaten gehen von links oben nach rechts unten. Um ein Koordinatensystem zu definieren, wird bei Metafiles wie folgt vorgegangen: o mit vm_pagesize werden Breite (W) ind H"ohe (H) der Seite in zehntel Millimeter angegeben. Dies ist die (positive) Differenz zwischen dem Punkt rechts unten und dem Punkt links oben (der nicht im Ursprung liegen muss). o mit vm_coords das Rechteck (xmin, ymin, xmax und ymax) in Pixeln angegeben. Wie man dieses Rechteck berechnet, steht weiter unten. o in dem so definierten Koordinatensystem wird mit v_meta_extents ein Rechteck in Pixeln angegeben. Dieses Rechteck hat mit der Definition des Koordinatensystems nichts zut tun. Vielmehr ist es eine Angabe, wie die Applikation, die das Metafile liest, clippen kann, aber nicht muss. Anmerkung: papyrus clipt nicht. KandinskYclipt, verschiebt aber vorher die Graphik etwas nach rechts unten, so dass auf dem Bildschirm ein Teil der Graphik fehlt. Es k"onnte deshalb sinnvoll sein, das Rechteck f"ur v_meta_extents etwas gr"osser zu w"ahlen, als das Rechteck f"ur vm_coords. Damit ist das Koordinatensystem und die Aufl"osung (Breite und H"ohe eines Pixels) eindeutig bestimmt. Aber die angegebenen Variablen sind nicht die, mit denen eine Applikation "ublicherweise rechnet. Es folgt ein Beispiel, wie zu verfahren ist, wenn die Applikation die gew"unschte Aufl"osung in dpi kennt, die Position des linken oberen Punktes (X1,Y1) in zehntel Millimetern (oder einem Vielfachen davon) und die Position des rechten unteren Punktes (X2,Y2) in zehntel Millimetern (oder einem Vielfachen davon). So berechnet man aus der Aufl"osung die H"ohe und Breite eines Pixels: (Pixelh"ohe in zehntel Millimeter) = 25400 / (vertikale Aufl"osung in dpi) (Pixelbreite in zehntel Millimeter) = 25400 / (horizontale Aufl"osung in dpi) F"ur vm_pagesize werden Breite und H"ohe in zehntel Millimetern ben"otigt: W = (X2 - X1 + 1) * (Pixelbreite in zehntel Millimeter) H = (Y2 - Y1 + 1) * (Pixelh"ohe in zehntel Millimeter) F"ur vm_coords werden xmin, ymin, xmax und ymax in Pixeln gebracht: xmin = X1 / (Pixelbreite in zehntel Millimeter) ymin = Y1 / (Pixelh"ohe in zehntel Millimeter) xmax = X2 / (Pixelbreite in zehntel Millimeter) ymax = Y2 / (Pixelh"ohe in zehntel Millimeter) F"ur v_meta_extents wird vorgegangen, wie bei vm_coords. Zus"atzlich k"onnen xmin und ymin etwas verkleinert und xmax und ymax etwas vergr"ossert werden, damit KandinskYalles anzeigt. Selbstverst"andlich muss das Koordinatensystem definiert werden, bevor weitere Ausgaben in das Metafile gemacht werden. (Mir ist in letzter Zeit mehrfach aufgefallen, dass ich etwas so gut erkl"art habe, dass ich es danach sogar selbst verstanden habe 8-) Weitere Informationen (die aber bei den oben genannten Problemen nicht helfen) stehen im Profibuch [Jan92 ], im Atari Compendium [San94 ] und im Standardwerk "uber Fileformate [Bor94 ]. Ansonsten hilft noch jede Literatur, in der die VDI-Befehle beschrieben sind. 20 Erweiterte Sub-Opcodes f"ur Metafiles Eine wichtige Eigenschaft von Metafiles besteht darin, dass das lesende Programm unbekannte Anweisungen zu ignorieren hat. Gleichzeitig darf ein Programm beliebige Sub-Opcodes verwenden, die mit v_write_meta ins Metafile geschrieben werden k"onnen. Das jetzt folgende war einmal als Standard gedacht, ist aber eingeschlafen. Vielleicht war damals die Zeit nur noch nicht reif daf"ur (es gab noch kein SpeedoGDOS) und es fehlte das entsprechende Medium, um ihn publik zu machen. Die nun folgende Definition sollte zumindest dahingehend unterst"utzt werden, als die Sub-Opcodes nicht f"ur andere Zwecke gebraucht werden sollten. Wenn Programme diese Definition unterst"utzen, bitte ich um eine Meldung. Ab hier folgt ein Auszug aus dem KandinskY-Handbuch: Wie schon "ofters erw"ahnt, l"adt und speichert KandinskY Zeichnungen im *.GEM-Standardformat (ist gleichbedeutend mit Metafile-Format). Dieses Format kann durch benutzer-definierte Sub-Opcodes nahezu beliebig erweitert werden, ohne dass Inkompatibilit"aten entstehen. KandinskY verwendet einige spezielle Sub-Opcodes, um z.B. die fein abgestuften Graut"one, Fensterpositionen etc. abzuspeichern und wieder zu laden. Daneben werden die mir bekannten standardisierten Sub-Opcodes unterst"utzt. Die Speicherroutinen von KandinskY sind dabei so programmiert, dass ein Programm, das eine Zeichnung aus KandinskY importieren will, diese Sub- Opcodes nicht unbedingt verstehen muss. In der Darstellung selber sollte daher kein Unterschied zu erkennen sein. Probleme kann es dann geben, wenn ein Programm einen Sub-Opcode falsch interpretiert, weil es zu Wert"="Uberschneidungen kommt. Sollten daher Sie, verehrter Leser, auch eigene Sub-Opcodes benutzen, w"are es doch nicht schlecht, wenn Sie mir diese mit einer kurzen Beschreibung mitteilen w"urden. Denn die Verwendung dieser Erweiterung ist nur sinnvoll, wenn Sub-Opcodes mit gleichem Wert von allen Programmen, die Metafiles verarbeiten, gleich interpretiert werden. Mir schwebt dabei eine Liste vor, in der alle verwendeten Sub-Opcodes mit ihrer Bedeutung beschrieben sind ("ahnlich der XBRA-Liste). Zur Verwendung der Sub-Opcodes siehe auch im ST-Profibuch im Kapitel "uber die VDI-Betriebssystemroutinen. Besonders zu beachten ist hier der Befehl v_write_meta, mit dem die Sub-Opcodes in ein Metafile geschrieben werden k"onnen. 20.1 Die unterst"utzten Sub-Opcodes Hier zun"achst eine Kurz"ubersicht "uber die unterst"utzten Sub-Opcodes. In der Tabelle 1 sind dabei die vorgeschlagenen Namen, ihre verbindlichen Werte und die Wirkung in K"urze beschrieben. _____________________________________________________________________ |_Name_______________|Wert_|Kurzbeschreibung________________________| | GEM_START_GROUP | 10 |Beginn einer Gruppe | |_GEM_END_GROUP______|_11__|Ende_einer_Gruppe_______________________| |_GEM_NO_LINE_STYLE__|_49__|Jeglichen_Linienstil_ausschalten________| | GEM_START_SHADOW | 50 |Beginn eines Objektschattens | |_GEM_END_SHADOW_____|_51__|Ende_des_Schattens______________________| | GEM_START_FILL | 80 |Beginn einer F"ullfl"ache | |_GEM_END_FILL_______|_81__|Ende_derselbigen________________________| | GEM_START_BGIF | 170 |Beginn von BGI-Vektortext | |_GEM_END_BGIF_______|_171_|Ende_des_Vektortextes___________________| | GEM_WIND | 190 |Fensterposition, Zoomstufe usw. | | GEM_GRID | 191 |Rastereinstellungen | |_GEM_ALIGN__________|_192_|Informationen_"uber_Bezugsobjekt________| | GEM_START_GREY | 193 |Beginn eines Grautons | |_GEM_END_GREY_______|_194_|Ende_desselbigen________________________| | GEM_START_BEZIER | 195 |Beginn eines Bezier-Zuges | |_GEM_END_BEZIER_____|_196_|Ende_des_Zuges__________________________| | GEM_START_JOIN | 197 |Die folgenden Bl"ocke geh"oren zusammen | |_GEM_END_JOIN_______|_198_|...ab_hier_nicht_mehr___________________| Tabelle 1: Sub-Opcode "Ubersicht 20.2 Die Gruppeninformation Mit GEM_START_GROUP wird der Beginn einer Gruppe markiert. Eine Gruppe ist dabei eine Menge zusammengeh"orender Objekte. Das Ende dieser Gruppe wird durch GEM_END_GROUP markiert. 20.3 Der Objektschatten Mit GEM_START_SHADOW wird mitgeteilt, dass die bis GEM_END_SHADOW folgenden VDI-Befehle dazu benutzt werden, um f"ur das erste Objekt nach GEM_END_SHADOW einen Schatten zu zeichnen. 20.4 Die F"ullfl"ache Da die Umrandung bei den VDI-Fl"achen nicht immer korrekt gezeichnet wird, gibt es die Codes GEM_START_FILL und GEM_END_FILL. Alle zwischen ihnen liegende VDI-Befehle werden dazu benutzt, um eine ausgef"ullte Fl"ache mit oder ohne Umrandung zu zeichnen. Beispielhaft soll hier das schrittweise Zeichnen einer Polygonfl"ache mit Schatten und Umrandung gezeigt werden. o GEM_START_FILL o GEM_START_SHADOW o Setzen der F"ullattribute f"ur den Schatten o v_fillarea(...) versetzt um dx und dy o GEM_END_SHADOW o Setzen der F"ullattribute der eigentlichen Fl"ache o v_fillarea(...) o Setzen der Linienattribute f"ur die Umrandung o v_pline(...) o GEM_END_FILL 20.5 Der Vektortext Mit GEM_START_BGIF wird eine Textausgabe mit BGI- Vektorzeichensatz eingel"autet. Die VDI-Arrays sind dabei wie folgt belegt: ______________________________________________________ | intin[0] GEM_START_BGIF | | intin[1] 0: nicht proportional | | intin[2...10] Name, z.B. EURO: intin[2] = 69 ... | |_intin[11...]__Der_Text_mit_abschliessender_Null____| | ptsin[0] x-Koordinate des Textes (in 1/10mm) | | ptsin[1] y-Koordinate des Textes1(in 1/10mm) | | ptsin[2] Buchstabenbreite in 1/10mm | | ptsin[3] Buchstabenh"ohe in 1/10mm | |_ptsin[4]______Rotation_in______in_1/10Grad_________| Bis GEM_END_BGIF folgen die v_pline(...)-Befehle, die zur Darstellung des Textes notwendig sind, falls ein Programm diese Sub-Opcodes nicht interpretieren kann. 20.6 Die Fenstereinstellungen 20.6.1 Fensterposition Mit GEM_WIND werden Position, Zoomstufe und Format des Fensters festgelegt. ______________________________________________ | intin[0] GEM_WIND | | intin[1] x-Position des Fensters in Pixel | | intin[2] y-Position des Fensters in Pixel | | intin[3] Fensterbreite in Pixel | | intin[4] Fensterh"ohe in Pixel | | intin[5] x-Position des Sliders in Pixel | | intin[6] y-Position des Sliders in Pixel | | intin[7] Zoomstufe in Prozent | |_intin[8]__0:__Hochformat,_1:__Querformat___| |_ptsin[...]keine_Eintr"age__________________| 20.6.2 Rastereinstellungen Die Rastereinstellungen eines Fensters werden mit GEM_GRID dauerhaft gesichert. ______________________________________________________ | intin[0] GEM_GRID | | intin[1] 0: Raster inaktiv | | intin[2] 0: Raster nicht zeichnen1 | | intin[3] Rasterbreite in 1/10mm | | intin[4] Rasterh"ohe in 1/10mm | | intin[5] Hilfslinienabstand horizontal in 1/10mm | | intin[6] Hilfslinienabstand vertikal in 1/10mm | |_intin[7]__0:__Hilfslinien,_ansonsten:__Hilfspunkte_| |_ptsin[...]keine_Eintr"age__________________________| 20.6.3 Bezugsobjekt Durch den Sub-Opcode GEM_ALIGN wird das Bezugsobjekt beschrieben. ______________________________________________________ | intin[0] GEM_ALIGN | | intin[1] 0: Bezugsobjekt nicht zeichnen | | intin[2] x-Koordinate des Bezugsobjekts in 1/10mm | | intin[3] y-Koordinate des Bezugsobjekts in 1/10mm | | intin[4] Breite des Bezugsobjekts in 1/10mm | |_intin[5]__H"ohe_des_Bezugsobjekts________in_1/10mm_| |_ptsin[...]keine_Eintr"age__________________________| 20.7 Die Graut"one Mit GEM_START_GREY legt man einen Grauton als F"ullfl"ache fest. Abstufungen im Bereich von 0---255 (weiss---schwarz) sind m"oglich. ________________________________ | intin[0] GEM_START_GREY | |_intin[1]__Graustufe,_0---255_| |_ptsin[...]keine_Eintr"age____| Die bis GEM_END_GREY folgenden Befehle setzen ein benutzerdefiniertes Muster mit dem entsprechenden Grauton. Sie dienen wiederum nur f"ur Programme, die mit diesen Sub-Opcodes nichts anfangen k"onnen. 20.8 Bezier-Z"uge Mit GEM_START_BEZIER definiert man einen Bezier-Zug. S"amtliche Information "uber denselbigen ist in den intin- und ptsin- Feldern zu finden. _______________________________________________________________________ | intin[0] GEM_START_BEZIER | | intin[1] Rekursionstiefe, kleiner als f"unf!! | | intin[2..2n + 2 - 1]Attribute der Ankerpunkte | | Ecke: Bit 0 gesetzt | | Verschiebt: Bit 1 gesetzt | | Sichtbar: Bit 2 gesetzt | |_____________________Linie_statt_Bezier:__Bit_3_gesetzt______________| | ptsin[0..4n - 1] Koordinaten der n Beziersegmente, jedes besteht | |_____________________aus_vier_Punkten________________________________| Bis GEM_END_BEZIER folgen dann v_pline-Aufrufe, die einen "aquivalenten Polygonzug zeichnen, f"ur Programme, die den Sub-Opcode nicht unterst"utzen. 20.9 Zusammenfassen mehrerer VDI-Bl"ocke Mit GEM_START_JOIN ist es m"oglich, mehr Koordinaten abzuspeichern, als der Metafile-Treiber erlaubt. Findet KandinskY n"amlich diesen Sub-Opcode, so werden die ptsin-Felder der bis GEM_END_JOIN folgenden VDI-Bl"ocke zu einem grossen Feld zusammengefasst. __________________________________________________ | intin[0] GEM_START_JOIN | |_intin[1]__Anzahl_der_gesamten_Koordinatenpaare_| |_ptsin[...]keine_Eintr"age______________________| Diese Definition ist bisher neben v_pline, v_fillarea und v_pmarker auch f"ur v_gtext, v_justified, und v_ftext g"ultig. Auch mehrzeiliger Text ist "uber diese Umgebung speicherbar. Dann gilt folgende Definition: __________________________________________________ | intin[0] GEM_START_JOIN | | intin[1] Anzahl der folgenden v_gtext-Aufrufe | |___________(pro_Zeile_einer)____________________| |_ptsin[...]keine_Eintr"age______________________| Erkannt wird die unterschiedliche Definition von intin[1] durch den ersten VDI-Ausgabebefehl, der auf GEM_START_JOIN folgt. Hier endet der Auszug aus dem KandinskY-Handbuch. 21 Standards Hier werden einige Standards aufgelistet, die etwas mit Fonts, Druckern etc. zu tun haben. Dabei soll ber"ucksichtigt werden, was etwas mit GDOS zu tun hat, zu tun haben wird oder zu tun haben sollte. Auch Fontformate sind Standards, wurden aber in den vohergehenden Abschnitten eingehend besprochen. 21.1 International Color Consortium Profile Format Am 15. Februar 1995 haben sich die Firmen Adobe Systems Inc., Agfa-Gevaert N.V., Apple Computer, Inc., Eastman Kodak Company, FOGRA (Honorary), Microsoft Corporation, Silicon Graphics, Inc., Sun Microsystems Inc. Taligent, Inc auf das International Color Consortium Profile Format version 3.0a geeinigt. Es handelt sich um ein plattformunabh"angiges Format, das die farbtreue Konvertierung zwischen verschiedenen Farbr"aumen erm"oglicht. Die Idee ist, da"s ein Druckerhersteller (oder Monitorhersteller) f"ur alle Plattformen nur noch ein solches Profile erstellt und damit gew"ahrleistet ist, dass trotz unterschiedlicher Drucktechnologien und Farbr"aumen bei gleichem Ausgangsfile auch dieselbe Farbe herauskommt. Die oben genannten Hersteller haben sich verpflichtet, diesen Standard bei allen ihren Plattformen und ihren Applikationen zu unterst"utzen. Ich behaupte nicht, dass dies auch bei NVDI, SpeedoGDOS oder anderen GDOSen ber"ucksichtigt wird. Siehe http://www.sgi.com/Technology/icc_top.html. 21.2 TIFF Das International Color Consortium Profile Format ist so gestaltet, da"s es in PICT, TIFF und EPS-Files eingebaut werden kann. Dabei ist TIFF das einzige nicht propriet"are Format. Die Spezifikation von TIFF 6.0, fr"uheren TIFF-Versionen und anderen Graphikformaten findet sich in ftp://ftp.funet.fi/pub/csc/graphics/format/tiff*. 21.3 Character Sets Einer meiner Leser hat mich so lange motiviert, etwas "uber UNICODE zu schreiben, da"s ich es auch tats"achlich mache. Es ist allerdings sinnfrei, isoliert "uber UNICODE oder sonst etwas hier in diesem Kapitel zu schreiben. Wesentlich sind auch die Auswirkungen auf GDOS, ihre Verwendung in den verschiedenen Fontformaten und wie sie in der Praxis in den verschiedenen Formaten und bei Verwendung verschiedener GDOSe aufeinander abgebildet werden. Viele Informationen k"onnen daher nicht nur einer "Uberschrift zugeordnet werden und "uber die Strukturierung der Information kann gestritten werden. Als Literatur empfehle ich [Mic]. "Uber Hinweise zu weiterer Literatur w"are ich dankbar. 21.3.1 Glyphen und Ligaturen Glyphen enthalten die Beschreibung von Objekten innerhalb eines Fonts, die dargestellt werden k"onnen. Das sind beispielsweise Buchstaben und Sonderzeichen, aber auch Ligaturen wie ''fi``, die in einem Zeichensatz wie ascii eigentlich nichts zu suchen haben. Wird ein String ausgegeben, das die Zeichen ''fi`` enth"alt, gibt es Betriebssysteme, die dann automatisch den Glyphen ''fi`` ausgeben und nicht nacheinander ''f`` und ''i``. Das beherrscht aber meines Wissens kein GDOS. 21.3.2 ascii, ISO 646 Es mag sein, dass einmal definiert war, was ascii ist (American Standard Code for Information Interchange), in der Praxis kann man sich aber bis auf A-Z. a-z und einige ganz wenige Sonderzeichen auf nichts verlassen. ISO 646 definiert einen Zeichensatz, der nur 7 Bits verwendet und daher in der Praxis kaum Bedeutung hat. 21.3.3 ISO 8859 ISO 8859 definiert einige 8-Bit-Zeichens"atze, beispielsweise ISO 8859-1 (=Latin 1) f"ur mitteleurop"aische Sprachen. Weitere Beispiele: 8859-1 Europe, Latin America 8859-2 Eastern Europe 8859-3 SE Europe 8859-4 Scandinavia (mostly covered by 8859-1 also) 8859-5 Cyrillic 8859-6 Arabic 8859-7 Greek 8859-8 Hebrew 8859-9 Latin5, same as 8859-1 except for Turkish instead of Icelandic 8859-10 Latin6, for Eskimo/Scandinavian languages Die ersten 256 Zeichen von UNICODE entsprechen ISO 8859-1. 21.3.4 UNICODE / ISO 10646 UNICODE ist die Beschreibung eines Zeichensatzes und nicht von Glyphen, was zur Folge hat, da"s es beispielsweise keine Ligaturen enth"alt (vergl. 21.3.1). LaTEX macht aus den beiden Zeichen fl ein einziges Zeichen im Zeichensatz. Wenn ein GDOS UNICODE unterst"utzt, kann das Anwendungsprogramm keine Ligaturen mehr als ein einzelnes Zeichen ausgeben. Es ist also Aufgabe eines GDOS, aus bestimmten Zeichenfolgen wieder einzelne Ligaturen zu machen. Auf der anderen Seite muss die Ligaturbildung explizit verhindert werden k"onnen; hier im FAQ beispielsweise beim Wort Aufl"osung. Ich tippe explizit ''Auf"/l"osung``, damit es nicht wie Aufl"osung aussieht. In UNICODE besteht ein Zeichen aus zwei Bytes. (Stimmt es noch, dass ISO 10646 aus 4 Bytes besteht und UNICODE derjenige Teil davon ist, bei dem die ersten beiden Bytes null sind?) UNICODE 1.0 gibt es bei Addison-Wesley. Ich habe einen Draft 1.1 vom Juni 1994 gesehen. ist der inzwischen durch? Eine nicht vollst"andige Liste von UNICODE-Zeichen (daf"ur mit Postscript-Name) ist in [Mic]. Dort steht auch, welche Zeichen in einem TrueType-Schnitt vorhanden sein m"ussen, der sich Windows 3.1-Konform nennt. 21.4 GEM-LIST-Standard Der sogenannte GEM-LIST-Standard existiert nicht. From ogal@cix.compulink.co.uk (Ofir Gal) Fri, 18 Nov 1994: The GEM list has approved the following proposal, however, there are a couple of ammendments which I wi post for a vote next week. If anyone has any of their own, please mail them to me. Fast alle in der GEM-LIST waren sich einig, da"s der so ''verabschiedete`` Standard ohne Nachbesserungen (amendments) nichts taugt. Die Nachbesserungen wurden in der GEM-LIST aber weder diskutiert noch verabschiedet. 22 Copyrights und Fonts Dieses Thema ist zu schwierig, um kurze Antworten zu liefern. Aber einige interessante Hinweise habe ich parat. Neben dem Kapitel 10 liefert das Buch [Kar92a ] und das Schriftzeichengesetz [D81] reichlich Informationen. 22.1 Bitstream-Fonts in Dokumenten Karen Dupre (support@bitstream.com) schrieb am 07 Jun 95 17:02:17 est folgendes in comp.fonts (englisches Original, damit mir keiner einen Strick dreht): We do allow people to include our fonts in Acrobat .PDF files. The crucial thing here is that the fonts can be used to view the file, print, and do minor editing in the portable document. BUT the fonts must not be extracted from the file then kept or installed by the receiving user. Acrobat's embedded fonts are shrouded and cannot be easily extracted for installation at the receiving end, so the use of Bitstream fonts in Adobe Acrobat portable documents (.PDF files) is OK. We will support any technology or utility that allows people to provide document portability as long as the fonts are not extractable (if that is a word) from the host document or file. We do not support font embedding if there is a way for users to extract the font from the portable file and install it on their system for their own future use outside of the portable document. Also kurz auf deutsch: Bitstream-Fonts (egal in welchem Format) d"urfen in Text/Graphikdateien gespeichert werden und weitergegeben werden, solange die Fonts vom Endanwender daraus nicht rekonstruiert werden k"onnen. Die in diesen Dateien gespeicherten Fonts d"urfen aber dazu verwendet werden, die Datei anzusehen und zu drucken. Es lohnt sich also f"ur Autoren GDOS-f"ahiger Programme, solche Dateiformate zu entwickeln oder zu unterst"utzen. 22.2 Urheberrecht Ich bin kein Jurist, will aber trotzdem Hinweise liefern, welche Konsequenzen das Urheberrecht f"ur Computerprogramme hat. Historisch haben sich zwei Arten von Schutzrechten entwickelt: das Patentrecht und das Urheberrecht (engl: copyright). Das Patentrecht ist f"ur technische Entwicklungen zust"andig, das Urheberrecht f"ur geistige/k"unstlerische Sch"opfungen. Per Definition sind Computerprogramme dem Urheberrecht unterstellt, was weitreichende Konsequenzen hat. Ausnahmen sind selten, beispielsweise die Steuerung des ABS. US-Amerikanische Softwarehersteller m"ussen in den USA ein Belegexemplar hinterlegen und einen Copyright-Vermerk anbringen, um ihre Rechte nicht zu verwirken. Nichtamerikaner m"ussen diese Bedingung nicht einhalten. Wer Patentschutz in Anspruch nimmt, muss eine intensive und teure inhaltliche Pr"ufung durchlaufen. Der Patentantrag kann abgewiesen werden. Wenn das Patent erteilt wird, ist der Schutz sehr sicher. Das Urheberrecht gilt mit der Sch"opfung des Werkes selbst. Bei Programmen gilt dies auch f"ur die Entwurfsunterlagen, den Sourcecode und das Pflichtenheft. Das Urteil des Bundesverfassungsgerichts, welches eine Sch"opfungsh"he verlangt, das "uber den F"ahigkeiten eines durchschnittsprogrammierers liegt, hat sich als nicht praktikabel erwiesen und wird nicht mehr angewandt. In Deutschland sind im UrheberrechtsG folgende Paragraphen speziell f"ur Computerprogramme zust"an-dig: x69a : : :g; x137d. Erg"anzenden Schutz bietet auch das Gesetz gegen den unlauteren Wettbewerb. Den Vorteil des Urheberrechts gegen"uber dem Patentrecht erkauft man sich damit, dass man sich dieses Rechts erst sicher sein kann, wenn man es vor Gericht erstritten hat. 22.3 Markenrecht Seit 1.1.1995 gilt in der EG das Markenrecht. Die Marke (darunter fallen beispielsweise Logos und Namen) ersetzt unter anderem das deutsche Warenzeichen. Marken lassen sich nur f"ur eng umgrenzte Warengruppen sch"utzen. Die konkreten Auswirkungen will ich an einem Beipiel erl"autern. Ich habe mit keiner der beteiligten Parteien r"ucksprache gehalten. Da gibt es ein marktbeherrschendes Programm namens EXCEL von Microsoft. Dieser Hersteller k"onnte sich gegen die Verwendung des Namens TEXEL f"ur ein Tabellenkalkulationsprogramm wehren, weil der Name "ahnlich klingt. Der name TEXEL k"onnte von ASH ebenfalls gesch"utzt werden um sich seinerseits gegen Nachahmungen zu wehren. Solche Schutzantr"age werden nur formal gepr"uft. Erst, wenn man sich das Recht vor Gericht erstritten hat, kann man sich dessen sicher sein. Vor Gericht k"onnte beispielsweise herauskommen, dass sich Microsoft nicht gegen ASH und ASH gegen niemanden wehren kann, weil sich Ortsnamen nicht sch"utzen lassen (Texel liegt in Holland). Wird TEXEL ASH-TEXEL genannt, sieht die Lage v"ollig anders aus. Um die Verwirrung komplett zu machen, heisst das Programm offiziell ASH-TEXEL, zeigt selbt aber nur TEXEL an. 23 Adressen (Vieles gibt es auch beim freundlichen Atari-H"andler um die Ecke :-) ) Application Systems Heidelberg (ASH) Postfach 102646 * 69016 Heidelberg Tel.: +49 6221 300002 ATARI (Europa) Postbus 70 * NL-4130 EB Vianen * Holland Deutsche Weiterschaltungsnummer (Auslandsgeb"uhren zahlt ATARI): 06196-801180 Behne & Behne Systemsoftware GbR Lindenkamp 2 * 31515 Wunstorf Tel./Fax.: +49 5031 8629 BELA Computer GmbH: R.I.P. ByTech GbR Detlef Kuhl, Frank Hieronymi Bismarckstrasse 88 * 10627 Berlin Tel.: +49 30 3134258 CCD Dirk Beyelstein Postfach 1164 65331 Eltville Tel: 06123/1094 Fax: 06123/4389 Gerd Castan H"ohbergstr. 16 * 70327 Stuttgart G.Castan@physik.uni-stuttgart.de COMPO Software GmbH Vaalster Str. 540 * 52074 Aachen Tel.: +49 0241 830 98 Delta Labs Media Brillerstrasse 40 * 42105 Wuppertal Tel./Fax: +49 202 308307 DigiLab GmbH Posener Str. 18 * 24161 D"anischhagen Digital DeskTop (DDT) ist eine H"andlergemeinschaft Adressen finden sich in Anzeigen der Atari-Zeitschriften. Digital Systems & Consulting Soester Str. 306 * 59071 Hamm Tel.: +49 2381 889413; Fax.: +49 2381 889812 Elan Software 550 Charest Est P.O. Box 30232 Quebec, G1K 8Y2 Canada Voice: (418) 692-0565; Fax: (418) 683-9189 Dieter Fiebelkorn Gr"uner Weg 29a * 45768 Marl Stephan Gerle Ruthstrasse 8 * 44149 Dortmund H3 Systems H"ausserstrasse 44 * 69115 Heidelberg Tel.: +49 6221 164031; Fax.: +49 6221 184541 Harald und Martin Hansen Weserstrasse 82 * 12059 Berlin Hard & Soft Obere M"unsterstr. 33-35 * 44575 Castrop-Rauxel Tel.: +49 2305 18014; Fax.: +49 2305 32463 ICP GmbH & Co.KG Leserservice TOS * Innere-Cramer-Klett-Strasse 6 * 90403 N"urnberg 1 Konfect Corp. Vertriebsb"uro A-D-CH Postfach 1113 * D-63797 Kleinostheim Tel. +49 6027 99941; Fax +49 6027 99942 MAXON Computer GmbH Schwalbacher Strasse 52 * 65734 Eschborn Tel.: +49 6196 481811 Migraph Inc. 32700 Pacific Highway S. Suite 12, Federal Way WA 98003, USA Tel.: 0012068384677 Michael Nolte Computersysteme Vasters Str. 10, 50825 K"oln Tel.: +49 221 558269, Fax: +49 221 5504629 no Software GmbH Postfach 1051 54591 Pr"um OMIKRON Soft+Hardware GmbH Sponheimerstr. 12a * 75117 Pforzheim Tel.: +49 7231 356033 Pergamon Software * Lehmann & Herzog Wegscheidestr. 29 * 60435 Frankfurt/Main Tel.: +49 69 5488279 Am Roten Hang 14 * 61476 Kronberg/Ts. Tel.: +49 6173 940063 rhotron GmbH Entenm"uhlstrasse 57 * 66424 Homburg/Saar Tel.: +49 6841 64067; Fax.: +49 6841 2467 Richstein & Dick GbR (Kaktus) Konrad-Adenauer Strasse 19 * 67663 Kaiserslautern Tel.: +49 631 22253 Richter Distributor Hagener Str. 65 * 58285 Gevelsberg Te.: +49 2332 2706 Thierry Rodolfo 47 rue Pierre Brossolette 92300 LEVALLOIS France R.O.M. Software (Neue Adresse !) Christian Nieber & Ullrich Ramps Raschdorffstr. 99 * 13409 Berlin Tel.: +49 30 4924127 RoSoft Stefan Rogel K"ohlerweg 1 * 67661 Kaiserslautern Stefan_Rogel@LU.maus.de und Stefan_Rogel@WI2.maus.de SciLab GmbH Isestrasse 57 * 20149 Hamburg Tel.: +49 40 4603702 SHIFT Computer + Werbung GmbH ist aufgel"ost Michael Siek Bohlweg 6a * 38678 Clausthal-Zellerfeld Tel.: +49 5323 4413 SILICON Technology & Promotion Wilhelmsh"oher Allee 124 * 34119 Kassel Tel.: +49 561 711924 Softb"ar GbR Richardstr. 60 * 12055 B"arlin Tel.: +49 30 6226884 SPIRIT WARE Bible Church 15211 15th Avenue NE Seattle, WA 98155 (USA) TKR Stadtparkweg 2 * 24106 Kiel Tel.: +49 431 337881; Fax.: +49 431 35984 Toad Computer 570-F Ritchie Highway Severna Park, MD 21146-2925 * USA Tel.: +1 410 544 6943 Trade iT existiert seit April 1994 nicht mehr. Holger Weets Tangastr. 45 * 26121 Oldenburg E-Mail: Holger_Weets@OL.maus.de Dipl.-Phys.-Ing. Ralf Wirtz Kasterstr. 30 * 52428 J"ulich Tel.: +49 2461 1255 Wilhelm Mikroelektronik Luenen Working Title GbR Lilienweg 12 * 53123 Bonn Tel.: +49 228 647020 3K Computerbild Wevelinghoven 26 * 41334 Nettetal Tel.: +49 2153 91860 24 Sonstiges 24.1 Kritik Kritik ist herzlich willkommen. Wer Zusatzinformationen will, der schicke eine E-Mail an G.Castan@physik.uni-stuttgart.de Wahrscheinlich hat der, der mir schreibt, schon einen oder zwei Treiber getestet. Schreibt mir bitte, ob die oben angef"uhrten Fehler auftreten, oder nicht. Wer sonstige Treiber-Quellen kennt, soll sich auch aufgefordert f"uhlen, mir zu schreiben. 24.2 Lob Wem dieses FAQ schon aus einer misslichen Lage geholfen hat, der schreibe mir aus dem n"achsten Urlaub eine Postkarte. Bisheriger Stand an Postkarten: 3. 24.3 In eigener Sache Aus gegebenen Anl"assen bitte ich die Vertriebe, beim Kopieren der Update-Disketten das Verify anzuschalten. Es gibt nur 2 Firmen, mit denen ich in dieser Hinsicht keine schlechten Erfahrungen gemacht habe. K"onnte sich vielleicht einer der geneigten Leser aufraffen, einen Speedo-Fonteditor zu schreiben? Ich biete mich auch ganz uneigenn"utzig als Betatester an ;-) 24.4 Warenzeichen Dieses Dokument ist gespickt von eingetragenen Warenzeichen, die nicht frei verwendbar sind. 24.5 Garantie Ich garantiere f"ur gar nix. Literatur [Whe88] Douglas N. Wheeler, EVERYTHING YOU EVER WANTED TO KNOW ABOUT GDOS (AND MORE), (Internet, Filename: GDOS.ARC oder GDOS.TXT) Hier steht alles, was es an Allgemeinwissen "uber GDOS-Treiber gibt. (AND MORE) [Jan92] Jankowski, Rabich, Reschke, Atari Profibuch, 10. Auflage, SYBEX, D"usseldorf (1992) Das Standardwerk. F"ur Programmierer: im VDI-Teil steht, wie man Bildschirm und Druckertreiber korrekt anspricht. [San94] Scott Sanders, The ATARI Compendium, First Revision, SDS Publishing, Long Beach (1994) Noch ein Standardwerk. Es ist aktueller als das Profibuch (VDI-Aufrufe bis SpeedoGDOS 4.2) und sehr vollst"andig. Insbesondere enth"alt es die offiziellen GEM User Interface Guidelines. Trotzdem kann es das Profibuch nicht ersetzen. Sollte dieses FAQ einst ein Kapitel "uber Layout enthalten, wird dieses Buch als abschreckendes Beispiel dienen. Sehr lobend muss erw"ahnt werden, dass f"ur jede Betriebssystemfunktion beschrieben ist, ab welcher Version sie vorhanden ist bzw. wie man herausbekommt, ob sie vorhanden ist. [Gar93] Marc Rene Gardeya, VDI f"ur jedermann, ST-Computer 10/93 Einf"uhrung in die saubere Programmierung von Bildschirm- und Druckerausgaben. [Res92] Julian Reschke, Herbstgedanken, ST-Magazin 11/92 Herbstgedanken "uber FontGDOS und Speedo-GDOS. [Dic93a] Erik Dick, Sch"on und schnell?, ST-Computer 7/93 Allgemeines "uber GDOS und Installation von Speedo. Im Prinzip das, was im Installationshandbuch steht, allerdings wird auf spezielle Probleme gesondert eingegangen. [Dic93b] Erik Dick, SPEEDO-Gonzales, ST-Computer 8/93 Pflichtlekt"ure zur Speedo-Programmierung. Beschrieben werden die neuen Bindings und Programmierhinweise f"ur Standardanwendungen. [Dic93c] Erik Dick, SPEEDO-Gonzales, ST-Computer 9/93 Bedeutung der Speedo-Fehlermeldungen und Bindings der Bezier- und Cacheroutinen [Dic94a] Erik Dick, Mit Speedo in die Zukunft?, ST-Computer 6/94 Was bringt Speedo 4.2 neues? Beschrieben werden auch die neu hinzugekommenen Bindings. [Dic94b] Erik Dick, Thronfolge Teil 1, ST-Computer 11/94 Vergleich zwischen NVDI 3.0 und SpeedoGDOS 5.0: Lieferumfang, Installation und Bedienung. [Schr92] Raymond Schr"oder, Atari-Hotline, ST-Magazin 7/92 Wozu gibt es GDOS? Welche Programme unterst"utzen es? Wie installiert man es? [Beh92] Sven Behne, Wilfried Behne, NVDI-Dokumentation, BELA / 2B Beschreibung des VDI. Leider ist nicht aufgef"uhrt, worin sich Bildschirmtreiber und Druckertreiber unterscheiden. Eine Dokumentation f"ur Programmierer ist nur bis Version 2.51 dabei. Ab version 3.0 ist [Beh95 ] zu Rate zu ziehen. [Beh95] Wilfried Behne, vorl"aufige Funktionsbeschreibung zu NVDI 3, ftp://ftp.cs.tu-berlin/pub/atari/Gdos/nvdiguid.zip Eine Public Domain - Dokumentation, die fast alles enth"alt, was man als Programmierer so braucht. [Beh91] Wilfried Behne, Andreas Kromke, Fallen im VDI des Atari ST und wie man sie umgeht, c't 1991, Heft 3 Es werden vor allem Fehler in den Bildschirmtreibern beschrieben. [Pru92] Laurenz Pr"ussner, : :e:s ist alles so sch"on Bunt hier, ST-Magazin 5/92, 7/92, 9/92 Umgang mit mehr als 256 Farben und mit ger"ateabh"angigen Formaten. [Pru93a] Laurenz Pr"ussner, Auf ein Neues!, ST-Magazin 1/93 .OFF TOPIC. Sollte jeder, der mit Fly Dials oder "ahnlichen Libraries arbeitet, gelesen haben. Problemstellung: Die neuen AES benutzen f"ur 3D-Objekte ob_state-Bits, die bisher frei verwendbar waren und von den Libraries auch f"ur eigene Zwecke verwendet werden. Das Problem betrifft ausschliesslich AES 3.31 (TOS 4.01) und ist inzwischen gel"ost. [Pru93b] Laurenz Pr"ussner, Sekt oder Selters, ST-Magazin 4/93 MEMORY.SYS: Binding, Vorgehensweise bei Farbaufl"osungen, Fontausgabe mit und ohne SpeedoGDOS. [Pru93c] Laurenz Pr"ussner, Summertime Blues, ST-Magazin 6/93 Listing zum "Offnen des MEMORY-Treibers. [Pru94] Laurenz Pr"ussner, Mehr Schub!, ST-Computer 2/94 Drucken "uber GDOS, speziell wird das Drucken von Bitmap-Rastern - auch in Farbe - besprochen. [Sche93] Oliver Scheel, Erste Hilfe f"ur MultiTOS, ST-Magazin 6/93 Allgemeines zu Installation von MultiTOS. [Bor94] G"unter Born, Referenzhandbuch Dateiformate, 3. Auflage, Addison-Wesley, Bonn (1994) Mit den entsprechenden Treibern ist es relativ einfach, im .IMG- und im .GEM-Format auszugeben. In diesem Buch steht, wie man diese Formate wieder ein liest (und mehr). [Bor93] G"unter Born, Dateiformate Programmierhandbuch, Addison-Wesley, Bonn (1993) Sourcen (TurboC, TurboPascal) zum Laden und Speichern der Formate. Zum Auswerten der Daten ben"otigt man weiter das Referenzhandbuch. [Ore85] Tim Oren, Professional GEM, (Internet, Filename: PROGEM) Tim Oren geht zwar vor allem auf die Programmierung der AES ein, aber die Literaturliste w"are ohne ihn unvollst"andig. [Walsh] Norman Walsh et al, comp.fonts FAQ TeX DVI, PostScript, and Info versions of this FAQ are available from ftp.shsu.edu in /tex-archive/help/comp-fonts-FAQ. A Gopher server is also maintained at shsu.edu which can provide interactive access to the FAQ. Finally, an online, hypertext version of the FAQ is maintained (experimentally) on jasper.ora.com where an HTTP server runs. For example, point XMosaic (or a similar WWW browser) to http://jasper.ora.com/ . [D81] Bundestag, Lobby et al, Schriftzeichengesetz, Gesetz zum Wiener Abkommen vom 12. Juni 1973 "uber den Schutz typographischer Schriftzeichen und ihre internationale Hinterlegung (Schriftzeichengesetz) Vom 6. Juli 1981 (BGBl.II S. 382) zuletzt ge"andert durch G vom 18.12.1986 (BGBl.I S. 2501) ftp://ftp.uni-stuttgart.de/pub/doc/law/german/SchriftzeichenG [Kar92a] Peter Karow, Schrifttechnologie, Springer (1992) Font technology, Springer (1994) Dieses Buch hat mich richtig begeistert (auch wenn ausgerechnet das Speedo-Format fehlt). Intelligentes Scaling: Welche Tricks (Hints etc) beherrschen die einzelnen Fontformate (T1, TT, F3, IF, II)? Viel "uber Fontqualit"at, Lesbarkeit und Copyright von Fonts. [Kar92b] Peter Karow, Digitale Schriften, Springer (1992) Digital typefaces, Springer (1994) Darstellung und Formate von Vektorschriftformaten wie Type 1, TrueType, F3, Intellifont etc. (Speedo wird nur am Rande erw"ahnt). Dabei werden auch viele Konzepte erkl"art. Anhang F ist ein kleines W"orterbuch der Schriftbegriffe (deutsch - englisch - franz"osisch) [Mer94] Thomas Merz, Name der Wahrheit, c't 12/1994 Fontnamen und andere Informationen aus der TrueType-Datei auslesen. [Mic] Microsoft, Verschiedene Dokumentationen und Programme zu TrueType-Fonts, ftp://ftp.microsoft.com/developr/drg/TrueType-Info/... Enth"alt eine ausf"uhrliche TrueType-Dokumentation als Windows-Helpfile, das alleine mit Windows ohne Zusatzprogramm ausgedruckt werden kann und als MS-Word-Dokument (MS-Draw wird zum Anzeigen auch ben"otigt) [Hil95] Ulrich Hilgefort, Fonts mit Mengenrabatt, c't 1/1995 Qualit"atsvergleich einiger CD's mit TrueType-Fonts: o Accurate Research: Dr. Fonts (2275 Shareware+PD-Schnitte; TT) o ARI Heidelberg (1268 Shareware+PD-Schnitte; TT) o Bitstream TypeShop (502 Schnitte; TT) o PrimaFont TrueType CD (1812 Schnitte, davon 1203 Berthold-Schnitte nachdigitalisiert; TT) o SoftMaker Profi-CD Vers. 2 (750 Schnitte; TT+T1) o URW PrintWorks (503 Schnitte in 10 Fonts; TT+T1) o Wayzata Technology Font Pro 2 (213 Schnitte; TT+T1) [Kaw95] Kenji Kawakami, 101 Unuseless Japanese Inventions: The Art of Chindogu, W. W. Norton & Co (1995), ISBN 0-393-31369-7 Unbeschreiblich. Siehe Buchbesprechung in Whole Earth Review, Nr. 88, Winter 95