





















                                     GEMFONT
                                     -------

             Ein GEMgesttzter Zeichensatzeditor fr GDOS-Pixelfonts

                                  Version 1.21
                           Oktober 1992 bis Juli 1993

                          (c) 1991-93 bei Sascha Blank

                                Shareware-Version

              2. komplett berarbeitete und stark ergnzte Fassung


        "Fr moderne GEM-Programme eignet sich [ ... ] GNU-C [ nicht ]."
                          (ST-Computer 2/93, Seite 27)






















                                        1
























                               Wichtiger Hinweis:

     Mit  dem   Erscheinen  der   Version  1.20  verlieren  alle  Handbcher
     (GEMFONT.TXT und GEMFONT.WP) von  frheren GEMFONT-Versionen  ihre Gl-
     tigkeit. Sollten  Sie noch  ltere Handbcher  besitzen, dann bitte ich
     Sie, diese nicht mehr zu benutzen oder zu verbreiten und sich stattdes-
     sen dieses neue Handbuch auszudrucken und nur noch dieses zu benutzen.
     Dieser Schritt  wurde notwendig,  da sich seit dem ersten Erstellen des
     Handbuchs inzwischen  soviele nderungen  ergeben haben,  da eine kom-
     plette berarbeitung  unumgnglich wurde,  um es wieder auf den aktuel-
     len Stand der Entwicklung zu bringen. ltere GEMFONT-Handbcher enthal-
     ten Informationen, die inzwischen berholt oder sich als falsch heraus-
     gestellt haben und deren Benutzung zu unntigen Problemen  fhren knn-
     te.























                                        2


     Inhaltsverzeichnis


     1. Rechtliches  . . . . . . . . . . . . . . . . . . . . . . . . . .   6
          1.1. Bedingungen fr die Weitergabe von GEMFONT  . . . . . . .   6
          1.2. Haftungsausschlu . . . . . . . . . . . . . . . . . . . .   6
          1.3. Urheberrechte und deren Schutz  . . . . . . . . . . . . .   6
          1.4. Bestimmungen zur Verbreitung selbsterstellter Fonts . . .   7

     2. Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . .   8
          2.1. Warum berhaupt GEMFONT?  . . . . . . . . . . . . . . . .   8
          2.2. Diese Anleitung . . . . . . . . . . . . . . . . . . . . .   8
          2.4. Systemanforderungen . . . . . . . . . . . . . . . . . . .  10
          2.5. Die Formalitten  . . . . . . . . . . . . . . . . . . . .  10
               2.5.1. Wie bekomme ich GEMFONT? . . . . . . . . . . . . .  10
               2.5.2. Das Shareware-Prinzip  . . . . . . . . . . . . . .  10
               2.5.3. Die Registrierung  . . . . . . . . . . . . . . . .  11
               2.5.4. Meine Gegenleistung  . . . . . . . . . . . . . . .  11
          2.6. Sonstige Leistungen . . . . . . . . . . . . . . . . . . .  11
               2.6.1. Wie bekommt man ein Update?  . . . . . . . . . . .  12
               2.6.2. Programmfehler . . . . . . . . . . . . . . . . . .  12
               2.6.3. Probleme mit GEMFONT . . . . . . . . . . . . . . .  12
               2.6.4. Vorschlge . . . . . . . . . . . . . . . . . . . .  12
          2.7. Austausch von Fonts . . . . . . . . . . . . . . . . . . .  12
          2.8. Danksagungen  . . . . . . . . . . . . . . . . . . . . . .  13

     3. Installation und Bedienung . . . . . . . . . . . . . . . . . . .  14
          3.1. Installation und Programmstart  . . . . . . . . . . . . .  14
          3.2. Die GEM-Erweiterungen von GEMFONT . . . . . . . . . . . .  14
               3.2.1. Wertgebundene Slider . . . . . . . . . . . . . . .  14
               3.2.2. Modale verschiebbare Dialoge . . . . . . . . . . .  14
               3.2.3. ber Tastatur bedienbare Dialogboxen . . . . . . .  14
               3.2.4. Menzeilen in Fenster  . . . . . . . . . . . . . .  15
               3.2.5. RaveUp-Mens . . . . . . . . . . . . . . . . . . .  15
               3.2.6. Das Klemmbrett . . . . . . . . . . . . . . . . . .  15

     3.3. Das Editorfenster  . . . . . . . . . . . . . . . . . . . . . .  15
               3.3.1. Aufbau . . . . . . . . . . . . . . . . . . . . . .  15
               3.3.2. Bedienung  . . . . . . . . . . . . . . . . . . . .  16
          3.4. Bedienung der Fenster ber Funktionstasten  . . . . . . .  16
          3.5. Sonstige hilfreiche Funktionen  . . . . . . . . . . . . .  17

     4. Das GDOS-Fontformat  . . . . . . . . . . . . . . . . . . . . . .  18
          4.1. Einfhrung  . . . . . . . . . . . . . . . . . . . . . . .  18
          4.2. Der Aufbau von Fonts  . . . . . . . . . . . . . . . . . .  18
          4.3. Der Fontheader  . . . . . . . . . . . . . . . . . . . . .  18

     5. Das Hauptmen  . . . . . . . . . . . . . . . . . . . . . . . . .  26
          5.1. Das Men "GEMFONT"  . . . . . . . . . . . . . . . . . . .  26
               5.1.1. "ber GEMFONT..." (Control Z)  . . . . . . . . . .  26
          5.2. Das Men "Datei"  . . . . . . . . . . . . . . . . . . . .  26
               5.2.1. "Neu anlegen..." (Control N) . . . . . . . . . . .  26
               5.2.2. "ffnen..." (Control O)  . . . . . . . . . . . . .  26
               5.2.3. "Schlieen..." (Control U) . . . . . . . . . . . .  27
               5.2.4. "Sichern" (Control S)  . . . . . . . . . . . . . .  27
               5.2.5. "Sichern unter..." (Control M) . . . . . . . . . .  27
               5.2.6. "Sichern Metafont..." (Control H)  . . . . . . . .  28
               5.2.7. "Abbrechen..." (Control D) . . . . . . . . . . . .  28

                                        3


               5.2.8. "Entfernen..." (Control L) . . . . . . . . . . . .  28
               5.2.9. "Importieren..." (Control I) . . . . . . . . . . .  28
                    5.2.9.1. Bitmap-Fonts  . . . . . . . . . . . . . . .  28
                    5.2.9.2. Signum.Zwei!-Fonts  . . . . . . . . . . . .  29
                    5.2.9.3. METAFONT-PK-Files . . . . . . . . . . . . .  30
               5.2.10. "Exportieren..."  . . . . . . . . . . . . . . . .  31
               5.2.11. "Clipboard laden" . . . . . . . . . . . . . . . .  31
               5.2.12. "Clipboard speichern" . . . . . . . . . . . . . .  31
               5.2.13. "Clipboard lschen" . . . . . . . . . . . . . . .  31
               5.2.14. "Ende" (Control Q)  . . . . . . . . . . . . . . .  31
          5.3. Das Men "Block"  . . . . . . . . . . . . . . . . . . . .  31
               5.3.1. "Blockanfang" (Control B)  . . . . . . . . . . . .  31
               5.3.2. "Blockende" (Control K)  . . . . . . . . . . . . .  32
               5.3.3. "Alles auswhlen" (Control A)  . . . . . . . . . .  32
               5.3.4. "Ausschneiden" (Control X) . . . . . . . . . . . .  32
               5.3.5. "Kopieren" (Control C) . . . . . . . . . . . . . .  32
               5.3.6. "Einfgen" (Control V) . . . . . . . . . . . . . .  32
               5.3.7. "Blockkopiermodi..." . . . . . . . . . . . . . . .  32
          5.4. Das Men "Puffer" . . . . . . . . . . . . . . . . . . . .  32
               5.4.1. "Maske nach Puffer..." (Alternate P) . . . . . . .  33
               5.4.2. "Puffer nach Maske..." (Alternate M) . . . . . . .  33
               5.4.3. "Puffer speichern..." (Alternate U)  . . . . . . .  33
               5.4.4. "Puffer laden..." (Alternate O)  . . . . . . . . .  33
          5.5. Das Men "Parameter..." . . . . . . . . . . . . . . . . .  33
               5.5.1. "Speicherstatistik..." . . . . . . . . . . . . . .  33
               5.5.2. "Parameter einstellen..." (Alternate Q)  . . . . .  34
               5.5.3. "Parameter speichern..." . . . . . . . . . . . . .  36
          5.6. Das Men "Fonts"  . . . . . . . . . . . . . . . . . . . .  36
               5.6.1. "ffne xxxxxxxx.xxx" (Control 1 bis 7) . . . . . .  36

     6. Das Editorfenstermen  . . . . . . . . . . . . . . . . . . . . .  37
          6.1. Das Men "GEMFONT"  . . . . . . . . . . . . . . . . . . .  37
               6.1.1. "ber GEMFONT..."  . . . . . . . . . . . . . . . .  37
          6.2. Das Men "Zeichen"  . . . . . . . . . . . . . . . . . . .  37
               6.2.1. "Auswahl..." (Funktionstaste 1)  . . . . . . . . .  37
               6.2.2. "Breite" (Funktionstaste 2)  . . . . . . . . . . .  37
               6.2.3. "Hor. Verschiebung..." (Alternate V) . . . . . . .  37
               6.2.4. "Zentrieren..." (Funktionstaste 7) . . . . . . . .  38
               6.2.5. "Ausma anpassen..." (Funktionstaste 8)  . . . . .  38
               6.2.6. "Werkzeuge..." (Funktionstaste 3)  . . . . . . . .  38
               6.2.7. "Schieben/Rotieren..." (Funktionstaste 4)  . . . .  39
               6.2.8. "Spiegeln/Drehen..." (Funktionstaste 5)  . . . . .  39
               6.2.9. "Stauchen/Strecken..." (Funktionstaste 6)  . . . .  39
               6.2.10. "Verfetten" . . . . . . . . . . . . . . . . . . .  40
               6.2.11. "Komplett lschen" (Alternate L)  . . . . . . . .  40
               6.2.12. "Zeichen aufrumen" . . . . . . . . . . . . . . .  40
          6.3. Das Men "Editor" . . . . . . . . . . . . . . . . . . . .  40
               6.3.1. "Editormaskengre..." (Alternate C) . . . . . . .  40
               6.3.2. "Editorrastergre..." (Alternate R) . . . . . . .  41
               6.3.3. "Hilfspunkt setzen" (Funktionstaste 9) . . . . . .  41
               6.3.4. "Hilfspunkt lschen" (Alternate W) . . . . . . . .  41
               6.3.5. "Alle Punkte lschen"  . . . . . . . . . . . . . .  41
               6.3.6. "nderungen zurcknehmen" (UNDO) . . . . . . . . .  41
               6.3.7. "Undopuffer aktualisieren" (Control UNDO)  . . . .  41
          6.4. Das Men "Fontheader" . . . . . . . . . . . . . . . . . .  41
               6.4.1. "Zeichenextrema..." (Alternate Z)  . . . . . . . .  41
               6.4.2. "Fontlinien..." (Alternate A)  . . . . . . . . . .  42
               6.4.3. "Fontflags..." (Alternate B) . . . . . . . . . . .  42

                                        4


               6.4.4. "Fontkenndaten..." (Alternate D) . . . . . . . . .  42
               6.4.5. "Kursivschrift..." (Alternate K) . . . . . . . . .  42
               6.4.6. "Fettschrift..." (Alternate F) . . . . . . . . . .  42
               6.4.7. "Unterstreichen..." (Alternate G)  . . . . . . . .  42
               6.4.8. "Helle Schrift..." (Alternate H) . . . . . . . . .  42
          6.5. Schriftproben . . . . . . . . . . . . . . . . . . . . . .  42

     7. Hufige Fragen, Probleme und Tips  . . . . . . . . . . . . . . .  44

     8. Bezugsquellen fr GDOS . . . . . . . . . . . . . . . . . . . . .  46
          8.1. GDOS  . . . . . . . . . . . . . . . . . . . . . . . . . .  46
          8.2. GDOS-Fonts  . . . . . . . . . . . . . . . . . . . . . . .  46

     9. Interna  . . . . . . . . . . . . . . . . . . . . . . . . . . . .  48
          9.1. Wie alles anfing  . . . . . . . . . . . . . . . . . . . .  48
          9.2. Ein paar Fakten . . . . . . . . . . . . . . . . . . . . .  48
          9.3. Laden und Speichern von Fonts . . . . . . . . . . . . . .  48

     10. Fontregistrierung . . . . . . . . . . . . . . . . . . . . . . .  50
          10.1. Die Idee . . . . . . . . . . . . . . . . . . . . . . . .  50
          10.2. Die Registrierung  . . . . . . . . . . . . . . . . . . .  50
          10.3. Anfragen . . . . . . . . . . . . . . . . . . . . . . . .  50

     Antrag auf Registrierung  . . . . . . . . . . . . . . . . . . . . .  51



































                                        5




     1. Rechtliches

     1.1. Bedingungen fr die Weitergabe von GEMFONT

     GEMFONT wird  als Shareware  vertrieben. Es ist ausdrcklich erwnscht,
     da GEMFONT weitergegeben wird. Dies darf  jedoch nur  in vollstndiger
     und  unvernderter  Form  geschehen,  d.h. es mssen stets alle Dateien
     unverndert weitergegeben werden.
     Das Uploaden in Mailboxen, FTP-Server und anderen Netzen  ist ebenfalls
     ausdrcklich erwnscht,  da ich  selbst keinen direkten Zugang zu Mail-
     boxnetzen habe. Es  ist  aber  ausdrcklich  verboten,  GEMFONT kosten-
     pflichtig  im   PD-Versand  zu  vertreiben  (Ausnahmen  erfordern  eine
     schriftliche Genehmigung meinerseits). Zuwiderhandlungen  knnen recht-
     lich verfolgt werden!
     Ansonsten: Bitte empfehlen und verbreiten Sie GEMFONT weiter!


     1.2. Haftungsausschlu

     Obwohl GEMFONT  mit groer Sorgfalt erstellt worden ist, kann ich nicht
     ausschlieen, da noch Fehler im Programm  und/oder der  Anleitung exi-
     stieren. Deshalb stelle ich folgendes fest:

          Die  in  dieser  Dokumentation enthaltenen Informationen sind
          zum Zeitpunkt ihrer Verffentlichung  wahrscheinlich korrekt.
          Trotzdem werden  alle Informationen  ohne irgendeine Garantie
          weitergegeben.

          Ich lehne jede Haftung  fr Schden  und sonstige  Folgen ab,
          die  direkt  oder  indirekt  durch  die Benutzung von GEMFONT
          und/oder der Dokumentation entstanden  sind.  Dies  gilt auch
          fr den Fall, da die Schden auf Fehler im Programm und/oder
          der Dokumentation zurckzufhren sind.  Die Benutzung erfolgt
          stets ausschlielich auf eigene Gefahr. Ebenso garantiere ich
          nicht dafr, da GEMFONT fr einen  bestimmten Zweck tauglich
          ist. Des  weiteren lehne  ich jede Haftung fr Verste gegen
          das Urheberrecht ab, die in Zusammenhang  mit dem nachfolgen-
          den Kapitel "Urheberrechte und deren Schutz" stehen.

          Viele der in der Anleitung erwhnten Firmen- und Produktnamen
          sind eigentragene Warenzeichen und als solche  zu betrachten,
          auch wenn dies nicht explizit erwhnt wird.

          An  einigen  Stellen  im  Handbuch  kommentiere ich bestimmte
          Dinge positiv oder negativ. Ich weise darauf hin, da es sich
          bei diesen  uerugen um  meine ganz persnliche Meinung han-
          delt, auch wenn sie dem ein oder anderen Leser nicht gefallen
          mag.

     Sie drfen  GEMFONT fr  den Eigengebrauch modifizieren, z.B. laufzeit-
     packen oder patchen. Selbstverstndlich bernehme ich  erst recht keine
     Verantwortung  fr  solche  modifizierten Versionen. Zudem verbiete ich
     die Weitergabe solcher modifizierter Versionen an Dritte.


     1.3. Urheberrechte und deren Schutz

                                        6



     Mit GEMFONT ist es u.a. mglich,  Signum.Zwei!-, METAFONT-  und Bitmap-
     Fonts in  GDOS-Fonts umzuwandeln.  Bitte achten Sie dabei unbedingt auf
     den urheberrechtlichen Schutz der Fonts, die Sie konvertieren wollen.

          Die konvertierten Fonts unterliegen  den gleichen rechtlichen
          Bestimmungen wie die Originalfonts!

     Unterliegen die  zu konvertierenden  Fonts keinem Urheberrecht bzw. hat
     der/die/die Autor/in/en das Recht auf die  Weitergabe oder  die Konver-
     tierung  der  Fonts  in  andere  Formate nicht weiter eingeschrnkt, so
     spricht im allgemeinen nichts dagegen, diese nach der  Konvertierung in
     GDOS-Fonts  erneut  in  Umlauf  zu  bringen.  Dies trifft auf viele Si-
     gnum.Zwei! und METAFONT-Fonts zu, die meist den Status  "Public Domain"
     oder hnlich tragen.
     Daneben gibt  es Fonts, die urheberrechtlich geschtzt sind, beispiels-
     weise die Signum.Zwei!-Fonts der  "Professional Font-Disks".  In diesem
     Fall beziehen  sich die  Einschrnkungen der  Weitergabe sowohl auf die
     Originale als  auch auf  die daraus  konvertierten Fonts.  In der Regel
     drfen diese  Fonts nicht  weitergegeben werden, so da eine Konvertie-
     rung ins  GDOS-Format ausschlielich  fr den  eigenen Gebrauch erlaubt
     ist, deren Weitergabe an andere ist aber nicht erlaubt.
     Bitte beachten  Sie diesen Hinweis in Ihrem eigenen Interesse. Im Zwei-
     felsfall sollten Sie das Einverstndnis des/der/der  Autor/in/en einho-
     len oder zu Ihrem eigenen Schutz von einer Verbreitung absehen.


     1.4. Bestimmungen zur Verbreitung selbsterstellter Fonts

     Die Verbreitung  von Fonts,  die von  Ihnen selbst  erstellt wurden und
     ausschlielich  ihrem  eigenen  Copyright  unterliegen  (also  frei von
     Rechten Dritter  sind), wird hiermit uneingeschrnkt erlaubt. Es mssen
     weder Lizenzgebhren an den Programmautor gezahlt werden noch  etwa mu
     um dessen Erlaubnis zur Verbreitung der Fonts gebeten werden. Dies gilt
     auch fr den Fall, da die Fonts als Teil eines kommerziellen Programm-
     pakets verbreitet werden.
     Die einzige  Auflage, die ich stelle, ist diejenige, da alle Produkte,
     die mit GEMFONT erstellte Fonts beinhalten,  einen Hinweis  auf GEMFONT
     tragen mssen.  Dieser sollte beispielsweise im Handbuch, der Anleitung
     oder dem Programm selbst stehen und die Form

          "Die diesem Programm beiliegenden  GDOS-Fonts wurden  mit dem
          Programm 'GEMFONT' von Sascha Blank, (c) 1991-1993 erstellt."

     haben.  Zudem  mu  erwhnt  werden, wie man GEMFONT beim Programmautor
     beziehen kann, etwa so:

          "Eine Kopie von GEMFONT erhalten Sie  beim Autor  von GEMFONT
          durch Zusendung  eines frankierten  Rckumschlags inkl. 3,5"-
          Diskette an folgende  Adresse:  Sascha  Blank, Brentanostrae
          21, 54294 Trier"

     Wenn Sie  eigene Fonts verbreiten wollen, so wre ich dankbar, wenn Sie
     mir eine Kopie der Fonts zukommen lassen wrden. Dies ist  jedoch nicht
     zwingend ntig.
     Wenn Sie weitere Fragen haben, dann wenden Sie sich bitte an mich.



                                        7


     2. Einleitung

     2.1. Warum berhaupt GEMFONT?

          "Jetzt habe  ich endlich  einen GDOS-Druckertreiber, und dann
          gibt es keine Fonts dafr!"
                                                   Der Autor, im Sommer 1992

     Alles fing an, als ich vor  noch gar  nicht so  langer Zeit  die ersten
     Applikationen bekam,  die ihre Ausgaben ber GDOS ttigten. Also kramte
     ich GDOS hervor und  installierte es.  Da ich  zwar einen NEC-Pinwriter
     besa, aber nur einen Druckertreiber und zwei Fonts fr den Epson FX-85
     hatte, mute ich  zwangslufig  diese  benutzen.  Der  Ausdruck klappte
     zwar, doch von Schwrzung oder hochauflsender Grafik konnte keine Rede
     sein.
     "Du  brauchst  einen  Druckertreiber  speziell  fr  deinen 24-Nadler!"
     dachte ich  mir und  begann zu suchen, bis mir schon bald das FontGDOS-
     Paket in die Hnde fiel. Da war u.a.  ein passender  Treiber dabei, der
     sofort  installiert  wurde.  Die  Grafikausdrucke waren jetzt sehr viel
     besser (vor allem hochauflsend),  nur die  Schriften waren  jetzt etwa
     viermal zu klein geraten.
     "Du brauchst  passende GDOS-Schriften fr deinen 24-Nadler!" dachte ich
     mir und begann zu suchen. Ich suchte und  suchte und  suchte, fand aber
     keine. Neidisch  blickte ich  (wie wohl viele andere Anwender auch) auf
     die ber 1500 Signum.Zwei!-Schriften, die sowohl an Auswahl als auch an
     Qualitt kaum mehr Wnsche offenlieen.
     "Es  mte  ein  Programm  geben,  mit dem man diese Schriften in GDOS-
     Schriften umwandeln kann!" dachte  ich mir  und begann  zu suchen, doch
     auch diesmal wieder ohne Erfolg.
     Da  entschlo  ich  mich,  selbst  aktiv zu werden und einen Fonteditor
     speziell fr GDOS-Fonts zu  schreiben, der  den Entwurf  von Fonts mg-
     lichst einfach machen soll.

     Inzwischen hat Atari selbst die Initiative ergriffen und mit Speedo ein
     GDOS geschaffen, das den Zugriff auf  die sehr  professionellen Vektor-
     fonts ermglicht. Dies bedeutet jedoch keineswegs das Aus fr die GDOS-
     Pixelfonts.
     Die Bitstream-Fonts fr Speedo  werden kommerziell  entwickelt und ver-
     trieben, z.Z.  liegen die  Preise ab 150 DM aufwrts fr ein Fontpaket.
     Dies ist sicherlich zuviel fr die Anwender, die  GDOS nur gelegentlich
     benutzen. Zudem  ist erst  ein kleiner  Bruchteil der Schriftenvielfalt
     der ber 1000 Bistream-Fonts auf dem Atari verfgbar.
     Anders sieht es bei den Signum.Zwei! oder METAFONT-Schriften  aus. Hier
     gibt es  bereits ber  1500 Signum.Zwei! und ber 50 hochprofessionelle
     METAFONT-Schriften, die direkt fr den Atari und zum  allergrten Teil
     kostenlos zur Verfgung stehen.
     Sie  sehen,  da  GDOS  neben Speedo weiterhin einen berechtigten Platz
     haben wird.


     2.2. Diese Anleitung

     Diese Anleitung beschreibt (hoffentlich)  alle Fakten,  die ntig sind,
     um alle  Funktionen von GEMFONT bedienen und deren Wirkung verstehen zu
     knnen. Dazu habe ich mich meist an das Prinzip "lieber lange und genau
     als zu kurz und zu knapp erklren" gehalten, denn umfangreiche Erlute-
     rungen sind ntig, weil besonders  Anfnger  nicht  ber  das zugegeben
     teilweise  komplexe  Insiderwissen  verfgen;  aber auch, weil GDOS und

                                        8


     besonders seine Interna bis  heute nur  sprlich dokumentiert  sind und
     man viele Fakten selbst ermitteln mu.
     In nchster  Zukunft wird  eine Anleitung  speziell fr "GDOS-Neulinge"
     erscheinen, in der alle Schritte  zum  Arbeiten  mit  GEMFONT  und GDOS
     erklrt sind.


     2.3. Was GEMFONT so alles kann

     GEMFONT bietet unter anderem folgende Eigenschaften:

     -    komplett in  GEM eingebunden,  dadurch lauffhig  auf allen Atari-
          Systemen in jeder Auflsung.
     -    Fertig  angepat  an  MultiGEM  und  MultiTOS  durch verschiebbare
          modale Dialogboxen sowie durch die Nutzung des Klemmbretts.
     -    Steigerung des Bedienungskomforts durch Popup-Mens, ber Tastatur
          bedienbare Dialoge und Mens, Menzeilen in  Fenstern, benutzerde-
          finierte Objekte und einigem mehr.
     -    Bearbeitung von  bis zu sieben Fonts gleichzeitig, die je in einem
          eigenen Fenster bearbeitet werden. (Diese Anzahl liee sich durch-
          aus noch  steigern, doch  mehr Fonts  wren wohl  nicht mehr sinn-
          voll.)
     -    Import von Signum.Zwei!-Drucker- und Editorfonts (9-  und 24-Nadel
          Format und 300 DPI-Laserformat).
     -    Import und Export von reinen Bitmap-Fonts (Degas Format).
     -    Laden und Speichern von Fonts im Motorola- und Intelformat.
     -    Speichern von Metafont-Informationsfiles.
     -    Teilweise Reparatur  und Korrektur von defekten Fonts und solchen,
          die in falschen Formaten  gespeichert  wurden  (nahezu  alle GDOS-
          Fonts aus den Anfangszeiten von GDOS).
     -    Manipulation aller  Parameter im Zeichensatzheader mglich, einige
          davon werden auf Wunsch automatisch berechnet bzw. approximiert.
     -    Verkleinerung  und  Vergrerung  einzelner  Zeicher  oder  ganzer
          Fonts.
     -    zahlreiche Editorhilfen  wie eingeblendete Ausrichtungslinien oder
          frei whlbare Hilfspunkte.
     -    zahlreiche Werkzeuge wie Linien, Rechtecke, Rahmen.
     -    zahlreiche Effekte wie  Spiegeln,  Drehen,  Verschieben, Rotieren,
          Verfetten, Stauchen,  Aushhlen, Umranden, Invertieren, Zentrieren
          etc.
     -    Das editierte Zeichen wird stndig in Echtgre angezeigt.
     -    Eine beliebige Zeichenprobe kann auf dem  Bildschirm zur Gesamtbe-
          urteilung  des  Fonts  ausgegeben werden. Sofern ein GDOS-Drucker-
          treiber vorhanden ist, kann ein Ausdruck auch auf einen Drucker in
          Echtgre erfolgen.
     -    komfortable Puffer- und Blockfunktionen.

     Neu ab Version 1.10:

     -    Hochoptimierte  Routinen  sorgen fr deutliche Geschwindigkeitszu-
          wchse beim Vergern und Verkleinern gegenber Vorversionen (Fak-
          tor 10 bis 15).
     -    Bei Schriftproben  knnen jetzt  auch die VDI-Textattribute hinzu-
          geschaltet und kombiniert werden.
     -    Verbesserte Druckroutine
     -    Neue Zeichenwerkzeuge wie beispielsweise Halb- und Viertelkreise.

     Neu ab Version 1.20:

                                        9



     -    Jetzt ist auch der  Import  von  TeX-/METAFONT-PK-Fontdateien mg-
          lich.  Damit  erffnet  sich  GDOS eine Welt von hchst professio-
          nellen Fonts.
     -    berarbeitete Zeichenauswahlbox


     2.4. Systemanforderungen

     GEMFONT arbeitet mit  jeder  Bildschirmauflsung,  jeder Farbfhigkeit,
     jedem Monitor und jeder Grafikkarte, sofern sie ordnungsgem durch das
     VDI untersttzt wird. Trotzdem sollte der  Monitor wegen  der Menzeile
     und der Dialoge eine Mindestauflsung von 80 mal 25 Zeichen bieten (mu
     aber nicht).
     Der Betrieb ist auf  allen  Atari  ST/STE/TT/Falcon-Systemen  mit jeder
     beliebigen TOS-Version mglich (>= TOS 1.04 sollte es aber schon sein).
     Unter MiNT und MultiTOS gibt es erfahrungsgem ebenfalls keine Proble-
     me. Eine Festplatte ist nicht ntig, aber empfehlenswert.
     Zum Betrieb sollten  mindestens  350  Kbyte  freier  Speicher vorhanden
     sein,  da  GEMFONT  selbst  mindenstens 280 Kbyte fr sich beansprucht.
     Beim Entwurf von Fonts fr hochauflsende Drucker sollte mindestens ein
     Mbyte Gesamtspeicher  zur Verfgung stehen, da Fonts in hohen Auflsun-
     gen im Editor mehrere Hundert KByte in Anspruch nehmen (wohlgemerkt nur
     im  Editor).  Wer  METAFONT-PK-Files  importieren mchte, der ist mit 2
     oder besser 4 MByte gut beraten, denn grere  Fonts in  360-DPI Aufl-
     sung bentigen  enorm viel  Platz (fr CMINCH.PK reichen selbst 6 MByte
     nicht).
     Ein GDOS ist nicht notwendig, auer, Sie wollen  eine Schriftprobe auch
     auf  dem  Drucker  begutachten.  In  diesem Fall mu ein GDOS mit einem
     passenden GDOS-Druckertreiber installiert sein.  Fr den Druckertreiber
     bentigen Sie aber keine passenden Fonts.
     Da  GEMFONT  seine  Ausgaben  ausschlielich  ber  GEM ttigt, ist der
     Einsatz eines Bildschirmbeschleunigers wie NVDI dringend  zu empfehlen.


     2.5. Die Formalitten

     2.5.1. Wie bekomme ich GEMFONT?

     Eine Kopie  der neusten  Version von  GEMFONT knnen Sie direkt bei mir
     erhalten. Dazu schicken Sie mir  einfach  eine  3,5"-Diskette  (DD, auf
     Wunsch auch HD) sowie einen an sich selbst adressierten und ausreichend
     frankierten Rckumschlag zu. Meine Adresse finden Sie weiter unten.


     2.5.2. Das Shareware-Prinzip

     GEMFONT wird als Shareware  betrieben. Fr  diejenigen, die  noch nicht
     wissen, was  es damit  auf sich  hat, sei  das Prinzip noch einmal kurz
     erklrt (siehe auch den Abschnitt "Rechtliches").
     Shareware bedeutet, da Sie beim Erhalt  des Programms  erst mal nichts
     zahlen mssen. Sie knnen dann ber einen angemessenen Zeitraum (bis zu
     einem Monat ist angemessen)  das Programm  auf Herz  und Nieren prfen,
     ohne da dabei Kosten entstehen. Wenn Ihnen das Programm nicht gefllt,
     dann vergessen Sie es am besten wieder. Sollte  es Ihnen  aber gefallen
     und Sie  benutzen es  regelmig, dann wird die Sharewaregebhr fllig,
     die an der Programmautor zu zahlen ist (also an mich).
     "Warum soll ich den berhaupt bezahlen?"  werden Sie  sich wohl fragen.

                                       10


     Nun, in  diesem Programm steckt viel Arbeit (inzwischen ber zwei Jahre
     und alles in meiner Freizeit neben dem Studium), fr die ich wenigstens
     eine  kleine  Entschdigung  haben  mchte, schlielich erhalten Sie ja
     auch ein professionelles Produkt fr einen sehr gnstigen Preis.


     2.5.3. Die Registrierung

     Bei GEMFONT betrgt die Shareware-Gebhr 30,-  DM (ich  nehme aber auch
     gerne mehr).  Diesen Betrag  knnen Sie mir auf zwei verschiedene Arten
     zukommen lassen:

          1.) als Bargeld oder
          2.) in Form eines (Verrechnungs-)Schecks

     Nochmal meine Adresse:

                                  Sascha Blank
                                Brentanostrae 21
                                   54294 Trier
                           Bundesrepublik Deutschland

     Die Registrierung kann nur schriftlich erfolgen, fllen Sie  dazu bitte
     das Formular am Ende dieser Anleitung aus und schicken Sie mir es zu.
     Generell: wenn  Sie mit  mir Kontakt  aufnehmen, dann  bitte ich um ein
     wenig Geduld, sollte es einmal etwas dauern; das Studium geht halt vor.
     Wenn Sie  sich schriftlich  an mich wenden, legen Sie bitte ausreichend
     Rckporto bei (entfllt bei der Registrierung). Fr Anwender mit Zugang
     zum InterNet  bin ich auch ber "blank@server.uni-trier.de" erreichbar.
     Alternativ knnen Sie  auch  die  Adresse "blank@treveris.uni-trier.de"
     verwenden.


     2.5.4. Meine Gegenleistung

     Wenn Sie  mir die  Shareware-Gebhr zukommen lassen, werden Sie bei mir
     als Anwender von GEMFONT registriert. Das bringt ihnen folgende Vortei-
     le:

     -    Sie erhalten die neueste Version des Programms zugesandt.
     -    Sie knnen jederzeit ein Update bei mir anfordern.
     -    Wenn Sie  ein Problem  mit GEMFONT haben, dann knnen Sie sich je-
          derzeit an mich wenden.
     -    Wenn Sie einen Fehler gefunden haben, knnen Sie  eine korrigierte
          Version von mir erhalten.
     -    Sie knnen sich mit "greren" Wnschen an mich wenden (so gesche-
          hen beim Import von METAFONT-PK-Files).
     -    Sie erhalten neuere Versionen,  die mglicherweise  nur noch regi-
          strierten Anwendern zugnglich gemacht werden.
     -    Wen Sie  ber das  InterNet erreichbar sind und Ihre Email-Adresse
          angeben, dann werde ich Sie ber  die Entwicklung  von GEMFONT auf
          dem Laufenden halten (Updates etc.)


     2.6. Sonstige Leistungen

     2.6.1. Wie bekommt man ein Update?


                                       11


     Als registrierter  Anwender knnen Sie jederzeit ein Update von GEMFONT
     bei mir erhalten. Dazu schicken Sie mir einfach eine 3,5"-Diskette (DD,
     auf Wunsch auch HD) sowie einen an sich selbst adressierten und ausrei-
     chend frankierten Rckumschlag zu.
     Sollten Sie nicht genau  wissen, ob  es bereits  ein Update  gibt, dann
     schicken  Sie  mir  trotzdem  eine  Diskette  und sagen mir zustzlich,
     welche die neuste Version ist, die  Sie besitzen.  Sollte diese Version
     noch die aktuelle sein, dann behalte ich Ihre Diskette einfach solange,
     bis es eine neuere Version gibt. Diese schicke  ich Ihnen  dann automa-
     tisch zu, wenn sie verffentlicht wird.
     Updates  von  GEMFONT  werden  auch  in  mehr oder weniger regelmigen
     Abstnden auf  die  wichtigsten  FTP-Server  in  Deutschland upgeloaded
     (vorrangig ftp.tu-clausthal.de). Bei anderen Netzen (etwa Mausnetz) bin
     ich auf die Mithilfe anderer Anwender angewiesen, da  ich keinen Zugang
     zu diesem  Netz habe.  Die neueste Version gibt es natrlich zuerst bei
     mir.


     2.6.2. Programmfehler

     Wenn Sie glauben, einen Fehler im Programm oder in der Anleitung gefun-
     den zu haben, dann bitte ich Sie, mir diesen mitzuteilen. Dazu bentige
     ich eine genaue Beschreibung ihres Systems (Versionsnummer von GEMFONT,
     TOS-Version, Speicherausbau,  Accessories, Hardware  etc.), je genauer,
     um so besser. Sollte der Fehler rekonstruierbar sein, so sagen  Sie mir
     bitte, wie.
     Wenn Sie  mir eine  Diskette mitschicken (Modalitten siehe oben), dann
     erhalten Sie  eine  fehlerbereinigte  Version,  sofern  ich  den Fehler
     finden und  beheben kann. Tritt der Fehler in Zusammenhang mit bestimm-
     ten Fonts auf, dann ist es hilfreich, wenn  Sie mir  die Fonts  auf die
     Diskette mitkopieren.


     2.6.3. Probleme mit GEMFONT

     Sollten Sie  einmal ein Problem mit GEMFONT haben und es ohne anderwei-
     tige Hilfe nicht lsen knnen, dann knnen Sie sich an mich wenden. Ich
     werde  mich  im  Rahmen  meiner Mglichkeiten bemhen, Ihnen zu helfen.
     Auch hier gilt: Je  genauer Sie  mir Ihr  Problem und  die Umstnde be-
     schreiben, desto eher kann ich Ihnen helfen.


     2.6.4. Vorschlge

     Wenn Sie  besondere Wnsche,  Erweiterungen oder  Vorschlge haben, die
     Sie gerne in zuknftigen Versionen von GEMFONT realisiert sehen wrden,
     dann  teilen  Sie  mir  diese  mit.  Ich werde mich dann bemhen, diese
     aufzugreifen und nach eingehender Prfung in die Tat umzusetzen.


     2.7. Austausch von Fonts

     Wenn Sie neue Fonts entworfen bzw.  konvertiert haben  und glauben, sie
     knnten auch  fr andere  Benutzer ntzlich sein, dann schicken Sie mir
     diese doch zu, sofern sich dies  mit den  rechtlichen Bestimmungen ver-
     einbaren lt  (siehe Kapitel  1). Ich  werde diese Fonts dann zusammen
     mit GEMFONT verbreiten, soweit es die Umstnde, d.h. der Platz  auf der
     Diskette zult.  Vielleicht entsteht  so eine kleine (oder auch groe)

                                       12


     Sammlung an hochwertigen GDOS-Fonts.


     2.8. Danksagungen

     Bedanken mchte ich mich bei

     -    der Free Software Foundation  fr ihren  hervorragenden C-Compiler
          und all  die anderen  Utilities, die  unter ihrer Feder entstehen,
          sowie all denjenigen, die sie immer wieder auf TOS/MiNT portieren.
     -    Eric R. Smith, Nick Castellano, Jhawar Bammi und allen anderen fr
          ihre ausgezeichneten C-Bibliotheken und ihre Mitarbeit an MiNT.
     -    dem Autorentrio  Jankowski/Rabich/Reschke fr  ihr Profibuch (wann
          kommt die Fortsetzung?)
     -    dem ST-Magazin fr sein Expertenforum, ohne da ich so manches Mal
          auf dem Schlauch gestanden htte.
     -    Joachim Hhne  aus Osnabrck,  der sich  als erster  bei mir regi-
          strieren lie. Selbstverstndlich mchte  ich mich  auch bei allen
          anderen registrieten Anwendern fr ihre Ehrlichkeit danken.
     -    Betatester Stefan Haake, der mir dabei hilft, die noch unerforsch-
          ten Fehler zu erkunden.






































                                       13


     3. Installation und Bedienung

     3.1. Installation und Programmstart

     Die Installation von GEMFONT gestaltet sich  einfach. Kopieren  Sie die
     Dateien GEMFONT.APP,  GEMFONT.RSC und GEMFONT.INF (sofern vorhanden) an
     einen gleichen, aber beliegen Platz, der Ihnen zusagt.
     GEMFONT kann  als GEM-Applikation  nicht aus  dem AUTO-Ordner gestartet
     werden. Sollten  Sie es  versehentlich doch  einmal versuchen, dann be-
     merkt GEMFONT  dies und  verhindert Schlimmeres.  Eine Installation als
     Accessory  durch  Umbenennen  von  GEMFONT.APP  in GEMFONT.ACC ist zwar
     mglich, doch GEMFONT untersttzt den Accessorymodus nicht weiter, u.a.
     aufgrund der  komplexen internen Speicherverwaltung. In diesem Fall be-
     legt GEMFONT zwar  einen  Accessoryeintrag,  doch  der  Versuch, dieses
     Accessory zu  aktivieren, wird ignoriert. Mit der zunehmenden Bedeutung
     von MultiTOS stellt dies jedoch keinen ernsthaften Verlust dar.
     Werden GEMFONT Fonts als Parameter bergeben  (etwa durch  Ziehen eines
     Fonts auf  das GEMFONT-Icon unter Newdesk oder Gemini), so werden diese
     Fonts automatisch geladen.


     3.2. Die GEM-Erweiterungen von GEMFONT

     GEMFONT benutzt neben den blichen GEM-Elementen  noch weitere,  um den
     Benutzerkomfort weiter zu steigern.


     3.2.1. Wertgebundene Slider

     Wer  XCONTROL  kennt,  der  kennt  auch  die Slider, bei deren Bewegung
     irgendeine Anzeige gleichzeitig aktualisiert wird. Auch GEMFONT benutzt
     solche Slider.  Ihre Bedienung  funktioniert genau wie die Fenster-Sli-
     der.


     3.2.2. Modale verschiebbare Dialoge

     Modale verschiebbare Dialoge  sind  zuerst  einmal  nichts  anderes als
     Dialoge,  die  in  einem  Fenster  liegen. An der Bedienung ndert sich
     nichts, auer,  da der  Dialog verschoben  werden kann,  indem man das
     Fenster verschiebt.
     Der groe  Vorteil dieser speziellen Art der Dialogverwaltung wird erst
     unter MultiTOS oder MultiGEM  deutlich. Wird  dort ein  normaler Dialog
     behandelt,  so  stehen  in  diesem  Moment alle anderen GEM-Prozesse im
     Speicher still, da intern der Screenmanager  gesperrt werden  mu, denn
     nur  so  kann  die  korrekte  Behandlung des Dialogs garantiert werden.
     Dieser  Zustand  ist  in  einer  Multitaskingumgebung  zweifellos uner-
     wnscht.
     Liegt der  Dialog jedoch  in einem Fenster, dann kann mit Hilfe eigener
     Routinen auf ein Sperren des Screenmanagers verzichtet werden, ohne die
     korrekte  Behandlung  der  Dialoge  zu gefhrden. Das Resultat ist, da
     andere Prozesse auch whrend der Dialog bearbeitet wird weiterarbeiten.


     3.2.3. ber Tastatur bedienbare Dialogboxen

     Alle Dialoge  sind ber  Tastatur bedienbar.  Wenn in  einem Button ein
     Zeichen unterstrichen ist, so knnen Sie diesen durch <Alternate>+<unt-

                                       14


     erstrichenes Zeichen> aktivieren. Die Taste <UNDO>  lst meistens einen
     Button aus,  der sinngem  fr den Abbruch einer Aktion steht ("Ende",
     "Abbruch" etc.)
     Wenn in einem Dialog keine  Texteingaben  mglich  sind,  kann  auf das
     Drcken der <Alternate>-Taste verzichtet werden.


     3.2.4. Menzeilen in Fenster

     Fenster knnen ebenfalls Menzeilen besitzen. Um ein Men auszuklappen,
     klicken Sie den Titel  an, das  Men klappt  je nach  freiem Platz nach
     unten oder  nach oben  aus. Jetzt  knnen Sie wie gewohnt einen Eintrag
     selektieren, ein Klick auerhalb der Menbox  selektiert keinen Eintrag
     und bricht die Auswahl zudem ab.
     Halten Sie  die Maustaste  nach dem  Klick auf den Titel gedrckt, dann
     klappt das Men aus. Fahren Sie mit der  Maus auf  den gewnschten Ein-
     trag.  Dieser  wird  dann  beim  Loslassen der Maustaste selektiert (am
     besten mal ausprobieren). Auf diese Weise knnen Sie ein Men mit einem
     Klick bedienen.
     Nach  einer  Selektion  bzw.  Nichtselektion  (ein  Klick auerhalb der
     Menbox) klappt das Men in jedem Fall ein (hrt sich schlimmer an, als
     es ist). Fenstermens knnen ebenso wie die echten Mens ber Tastatur-
     krzel gesteuert werden. Diese finden sie  jeweils am  rechten Rand des
     Eintrags.


     3.2.5. RaveUp-Mens

     RaveUp-Mens (eigentlich  heien sie ja PopUp-Mens) werden genauso wie
     die Menzeilen in den Fenstern  bedient.  Mit  dem  kreisfrmigen Pfeil
     rechts neben  dem Men  kann nacheinander jeder Eintrag ausgewhlt wer-
     den, ohne da dabei das Men ausgeklappt werden mu.
     Klappt ein RaveUp-Men aus, so  ist  der  bisher  aktuelle  Eintrag mit
     einem Hkchen  gekennzeichnet. Bei  eingeklapptem Men wird jeweils der
     aktuelle Eintrag angezeigt.


     3.2.6. Das Klemmbrett

     Das Klemmbrett soll den Datenaustausch zwischen Programmen erleichtern,
     was besonders  bei MultiTOS  und MultiGEM praktisch ist. Das Klemmbrett
     ist nichts anderes als ein Ordner  auf einem  Laufwerk (meist  dem, von
     dem  gebootet  worden  ist).  Jedes Programm, da das Klemmbrett unter-
     sttzt, kann in das Klemmbrett hineinspeichern bzw. von  ihm lesen. Die
     Namen  der  Dateien  im  Klemmbrett sind vom System vorgegeben, deshalb
     erfolgt auch keine Frage  nach einem  Dateinamen beim  Laden oder Spei-
     chern. So  kann ein  Programm A  eine Datei  ins Klemmbrett ablegen und
     Programm B dann sofort danach die Datei aus dem Klemmbrett  laden, ohne
     da dabei irgendwelche Angaben zu Dateinamen gemacht werden men.



     3.3. Das Editorfenster

     3.3.1. Aufbau

     Das  Editorfenster  besteht  aus  mehreren Komponenten. Der grte Teil
     nimmt das Editorfeld selbst ein. Im rechten Rand wird das  jeweils edi-

                                       15


     tierte  Zeichen  in  Echtgre  dargestellt.  Die  Titelzeile zeigt den
     kompletten Dateinamen des Fonts an. In der Infozeile  des Fensters wird
     die aktuelle  Position des  Mauszeigers ber der Editorgitter angezeigt
     sowie die Nummer des  gerade bearbeiteten  Zeichens. Befindet  sich die
     Maus auerhalb  des Gitters,  dann werden  keine Koordinaten angezeigt.
     Ein Stern am Anfang der Infozeile  zeigt Ihnen,  da Sie  den Font seit
     dem letzen Speicher-/Ladevorgang verndert haben.
     Unterhalb der  Infozeile befindet  sich eine Menzeile, deren Bedienung
     bereits besprochen wurde. Der Pfeil  im  unteren  Editorrand  zeigt auf
     diejenige  Pixelspalte,  die  die  letzte rechte benutzte Zeichenspalte
     darstellt. Mit  anderen Worten:  dieser Pfeil  gibt die  Breite an. Der
     rechte Rand neben dem vertikalen Slider zeigt die Position der Ausrich-
     tungslinien an. Dabei stehen folgende Buchstaben fr folgende Linien:

          T    Zeichenzellenoberkante ("Top Line")
          A    Zeichenoberkante ("Ascent Line")
          H    Halblinie ("Half Line")
          G    Grundlinie
          D    Zeichenunterkante ("Descent Line")
          B    Zeichenzellenunterkante ("Bottom Line")

     Die Bedeutung dieser Linien  wird im  Kapitel ber  das GDOS-Fontformat
     genau beschrieben.
     Das eigentliche  Editorraster wird  durch ein  Gitter aus gestrichelten
     Linien gekennzeichnet. Zur besseren Orientierung sind  alle Zeilen, die
     eine Ausrichtungslinie  darstellen, von  durchgezogenen Linien umgeben.
     Ebenso wird  die rechte  Linie derjenigen  Spalte, die  die Breite dar-
     stellt, mit einer durchgezogen Linie gekennzeichnet.


     3.3.2. Bedienung

     Gesetzte Punkte  werden durch  ein schwarzes  Kstchen im Gitter darge-
     stellt, nicht gesetzte durch  ein  weies  Kstchen.  Sollte  ein Block
     markiert sein,  so werden dessen vier Eckpunkte durch ein Diagonalkreuz
     in den jeweiligen  Kstchen  angezeigt.  Punkte,  die  einen Hilfspunkt
     darstellen, werden grau gerastert angezeigt.
     Punkte  werden  innerhalb  des  Editorrasters  mit der linken Maustaste
     gesetzt bzw. gelscht. Dabei wird bei einem Klick der bisherige Zustand
     des  Punktes  umgekehrt.  Ein  Klick  auf  einen gelschten Punkt setzt
     diesen Punkt und umgekehrt.
     Sie knnen mit gedrckter  Maustaste gleichzeitig  mehrere Punkte bear-
     beiten. Solange  Sie die Maustaste drcken, werden alle Punkte, die sie
     mit der Maus berhren, verndert. Ob gelscht oder  gesetzt wird, hngt
     davon  ab,  welchen  Zustand  derjenige  Punkt unterhalb des Mauspfeils
     hatte, als die Maustaste zu drcken begannen. (Am  besten Sie probieren
     das mal aus, es ist ganz einfach.)


     3.4. Bedienung der Fenster ber Funktionstasten

     Mit den  Funktionstasten knnen Sie bestimmte Fensteranordnungen errei-
     chen, die mit der Maus alleine nur schwer zu erreichen wren:

          (Shift F1)
               Damit machen Sie ein Fenster nach dem anderen  zum aktuellen.
               Die gleiche  Funktion lt  sich ber die Standardkombination
               (Control W) erreichen.

                                       16



          (Shift F2)
               Das aktuelle  Fenster wird  auf die  kleinsten erlaubten Mae
               verkleinert. Dies  ist praktisch,  wenn man einmal vor lauter
               Fenstern den Desktop nicht mehr sieht. Mit dem Full-Size-Icon
               des Fensters  vergrern Sie  es wieder  auf seine vorherigen
               Ausmae.

          (Shift F3)
               Alle Fenster werden untereinander angeordnet, so  da sie die
               maximale Breite  einnehmen und  alle die  gleiche Hhe haben.
               Sollte bei diesem Vorhaben jedoch ein  Fenster zu  klein oder
               zu schmal  werden, so  erscheint eine Meldung und die Fenster
               bleiben unverndert.

          (Shift F4)
               Alle Fenster  werden nebeneinder  angeordnet, so  da sie die
               maximale Hhe  einnehmen und  alle die  gleiche Breite haben.
               Sollte bei diesem Vorhaben jedoch ein  Fenster zu  klein oder
               zu schmal  werden, so  erscheint eine Meldung und die Fenster
               bleiben unverndert.

          (Shift F5)
               Alle Fenster  werden  bereinander  angeordnet,  so  da ihre
               Arbeitsflche mglich  gro ist,  jedoch jedes andere Fenster
               direkt  ohne  Verschieben  nach  oben  gebracht  werden kann.
               Sollte bei  diesem Vorhaben  jedoch ein Fenster zu klein oder
               zu schmal werden, so erscheint eine  Meldung und  die Fenster
               bleiben unverndert.

     Mit den  Cursortasten kann  der Fensterinhalt zeilen- bzw. spaltenweise
     verschoben werden, wird zustzlich  CONTROL gedrckt,  wird seitenweise
     in die gewnschte Richtung verschoben.


     3.5. Sonstige hilfreiche Funktionen

     Sollte  einmal  aufgrund  von  Redraw-Fehlern der Inhalt eines Fensters
     zerstrt worden sein, so gengt ein  Druck auf  die Tabulator-Taste und
     das aktuelle  Fenster wird komplett neugezeichnet. Halten Sie zudem die
     Shift-Taste gedrckt, so wird der Desktop  neugezeichnet, was  aber nur
     in schlimmeren Fllen ntig sein sollte.

















                                       17


     4. Das GDOS-Fontformat

     4.1. Einfhrung

     Bei den Fonts, die GDOS verwendet, handelt es sich um Pixel-Fonts, d.h.
     in einer Zeichenmaske sind Punkte gesetzt  bzw. gelscht,  die dann als
     ganzes das Aussehen jedes Zeichens bestimmen.
     Der Vorteil  von Pixelfonts  ist, da  sie bei  "kleinen" Gren besser
     aussehen, da keine Rechenungenauigkeiten auftreten, dafr  bei "groen"
     Gren viel  mehr Speicher  verbrauchen. Zudem  ist ihre algorithmische
     Handhabung recht einfach.


     4.2. Der Aufbau von Fonts

     GDOS verwendet ein spezielles Format, in dem die Fonts abgelegt werden.
     Grob gesehen besteht ein Font auf maximal vier Komponenten:

     1.)  Der Fontheader.  In ihm  stehen alle  Angaben, die das VDI zum Um-
          gang mit dem Font braucht, angefangen vom Zeichensatznamen  bis zu
          den Kursivberhangsneigungen.
     2.)  Die Horizontale Offset-Tabelle. Sie ist optional und wird nur sehr
          selten verwendet. Mit ihr kann jedes Zeichen vor seiner Ausgabe um
          einen frei  bestimmbaren Wert nach links verschoben werden, sofern
          die Ausgabetreiber  berhaupt  diese  Verschiebung bercksichtigen
          (viele tun es nicht!)
     3.)  Die Zeichenbreiten  Offset-Tabelle. In ihr ist vermerkt, wie breit
          jedes Zeichen ist. Dies ist besonders bei proportionalen Schriften
          wichtig.
     4.)  Die Zeichendaten. Dies sind die eigentlichen Daten, die das Ausse-
          hen des Fonts bestimmen.

     Die Reihenfolge der Teile 2, 3 und 4 ist zwar so nicht  zwingend vorge-
     geben, hat sich aber so eingebrgert.
     Jedes Fontfile  enthlt nur  einen Font in einer bestimmten Gre. Soll
     ein Font aus mehreren Gren  bestehen,  so  wird  fr  jede  Gre ein
     eigener Font  angelegt, wobei  alle Fonts  die gleichen Eintrge id und
     name besitzen.


     4.3. Der Fontheader

     Der Fontheader enthlt  alle  wichtigen  Informationen,  deren Kenntnis
     auch bei  der Bedienung von GEMFONT wichtig ist. Nachfolgend werden der
     Header und alle seine Eintrge erklrt.
     Hinter der Deklaration steht in Klammern der dezimale Offset zum Datei-
     anfang in  Bytes. Fr alle Nicht-C-Programmierer seien kurz die verwen-
     deten Datentypen erklrt:

          char           = -128 bis 128 (1 Byte)
          unsigned char  = 0 bis 255 (1 Byte)
          short          = -32768 bis 32767 (2 Bytes)
          unsigned short = 0 bis 65535 (2 Bytes)

     Steht vor dem Variablennamen ein Stern "*", dann  bedeutet dies "Zeiger
     auf Datentyp ..."

     Noch ein  Hinweis: Keine  normale VDI-Anwendung braucht sich jemals mit

                                       18


     dem  Aufbau  und  dem  Format  von  GDOS-Fonts  zu  beschftigen.  Alle
     Eintrge knnen  ber entsprechende  VDI-Funktion erfragt werden. Diese
     Beschreibung ist nur fr das Editieren von GDOS-Fonts wichtig!


     typedef struct font_hdr
     {

     unsigned short id;                 (0)

          Jeder Font verfgt ber eine Kennung, an der  er eindeutig identi-
          fizierbar ist. Diese Kennung liegt im Bereich von 0 bis 32767. Das
          VDI erkennt seine Fonts ausschlielich an diesem Feld,  nicht etwa
          am  Fontnamen  (name)  oder  am  Filenamen des Fonts, wie manchmal
          flschlicherweise behauptet wird.
          Manche Programme haben mit IDs grer als 255  oder 127 Schwierig-
          keiten. Dies  liegt nicht  an GDOS,  sondern ist ein Fehler dieser
          Programme!


     unsigned short point;              (2)

          Damit wird die Gre  des Fonts  in typographischen  Punkten ange-
          geben (1pt  = ca. 0.0351 cm). Zwischen welchen Linien dabei gemes-
          sen wird, ist allerdings nirgends dokumentiert  und auch  mir noch
          nicht ganz  klar. GEMFONT  ermittelt die Gre zwischen Grundlinie
          und Zeichenoberkante,  weil diese  Werte denen  aus vielen anderen
          Fonts meist sehr hnlich sind.


     char name[32];                     (4)

          Jeder Font  besitzt einen  Namen. Dieser  wird zwar nicht zwingend
          vom VDI bentigt, kann aber ganz  legal erfragt  werden und sollte
          alleine schon  deshalb immer angegeben werden. Der Name kann maxi-
          mal 32 Zeichen lang sein. Dabei  ist man  bereingekommen, da die
          Zeichen  0  bis  15  den  Namen des Fonts enthalten (etwa "Times",
          "Swiss") und die Zeichen 16 bis 31 den Stil (etwa "bold" oder "it-
          alic")  enthalten.  Der  String  ist nicht zwangslufig NUL-termi-
          niert.


     unsigned short first_ade;          (36)
     unsigned short last_ade;           (38)

          Der ASCII-Zeichensatz besteht auch 256 Zeichen, nmlich von  0 bis
          255 inklusive.  VDI ist sogar in der Lage, Fonts mit 65536 Zeichen
          (!) zu verarbeiten, was aber nicht  gemacht wird,  weil alle Hoch-
          sprachenbindings  nicht  darauf  vorbereitet  sind und ein solcher
          Font immens viel Speicher verbrauchen wrde.
          Deshalb enthlt heute  jeder  GDOS-Font  maximal  256  Zeichen. Um
          noch  mehr  Speicherplatz  zu  sparen,  kann ein Font auch weniger
          Zeichen enthalten. Zu diesem  Zweck kann  der Code  des ersten und
          des letzten benutzen Zeichens angegeben werden. Eine im englischen
          Sprachraum beliebte Einschrnkung sind Fonts, die  nur die Zeichen
          32 bis 127 inklusive enthalten. Dann fehlen zwar die Control-Codes
          sowie alle nichtenglischen  Zeichen,  doch  dies  strt  in diesem
          Sprachraum nicht.  Auf diese  Weise werden die Verwaltungstabellen

                                       19


          kleiner. In der Fontdatei  werden  nur  die  tatschlich benutzten
          Zeichen abgelegt.
          Sollte ein Programm dennoch versuchen, ein Zeichen auszugeben, das
          nicht im Font vorhanden ist, so wird stattdessen  ein Fragezeichen
          ausgegeben.


     unsigned short top;                (40)
     unsigned short ascent;             (42)
     unsigned short half;               (44)
     unsigned short descent;            (46)
     unsigned short bottom;             (48)

          Jeder Font wird mit Hilfe von typographischen Hilfslinien erzeugt.
          Das VDI benutzt dazu sechs horizontale Ausrichtungslinien.
          Zur Veranschaulichung stellen sie  sich ein  Schreibheft vor, wel-
          ches  Schulanfnger  benutzen.  Dort  werden  in  der Regel Zeilen
          verwendet, die aus vier  Linien  bestehen.  Die  zweite  Zeile von
          unten ist  die Grundlinie  (Baseline), die die Unterkante der mei-
          sten Buchstaben darstellt. Die  direkt  darberliegende  Zeile ist
          die Halblinie (Halfline), die die Oberkante vieler Kleinbuchstaben
          darstellt (etwa a, c, e, o).  Die oberste  Linie ist  die Zeichen-
          oberkante  (Ascent  Line),  die  -  wie  der Name schon sagt - die
          Oberkante der meisten  Grobuchstaben  darstellt.  Schlielich ist
          die unterste  Linie die Zeichenunterkante (Descent Line). Sie wird
          nur von  wenigen Buchstaben,  etwa dem  'g' oder  dem 'y' berhrt.
          Damit wren also schon einmal vier der sechs Zeilen erklrt.
          Bei der  Textausgabe von  Zeilen, die untereinander stehen sollen,
          geht man meist so vor, da die Zeichenoberkante  jeder neuen Zeile
          nahtlos an  die Zeichenunterkante der vorherigen Zeile anschliet.
          Dabei kann es aber passieren, da bestimmte Zeichen  beider Zeilen
          sich  optisch  schneiden.  Um  dies zu verhindern, benutzt das VDI
          zwei weitere  Linien.  Die  Zeichenzellenunterkante  (Bottom Line)
          liegt ein  wenig unterhalb  der Zeichenunterkante, so wie die Zei-
          chenzellenoberkante (Top Line) ein wenig ber der Zeichenoberkante
          liegt. Sie  bilden damit  eine Art  Sicherheitsabstand gegen ber-
          schneidungen. Die Zeichenzellenoberkante liegt dabei immer auf der
          Position 0.
          Die Position  der Linien ist jedoch nicht absolut, sondern relativ
          zur Grundlinie  gespeichert. top  gibt den  Abstand der Grundlinie
          zur Zeichenzellenoberkannte an. Alle anderen Linienpositionen sind
          relativ zu top angegeben. Ihre absolute  Positionen errechnen sich
          wie folgt, die Numerierung beginnt bei 0:

               Zeichenzellenoberkante   = 0;
               Zeichenoberkante         = top - ascent;
               Halblinie                = top - half;
               Grundlinie               = top;
               Zeichenunterkante        = top + descent;
               Zeichenzellenunterkante  = top + bottom;


     unsigned short max_char_width;     (50)
     unsigned short max_cell_width;     (52)

          Diese beiden  Felder geben  Auskunft ber das breiteste Zeichen im
          gesamten Zeichensatz. max_cell_width  gibt  an,  wie  breit dieses
          Zeichen  laut  der  Editoreinstellung ist. max_char_width hingegen

                                       20


          gibt dessen echte Breite  an.  Die  Breiten  schlieen  den linken
          freien Randbereich mit ein!
          Dazu ein  Beispiel: Schauen  Sie sich  den Buchstaben "i" in ihrem
          Systemzeichensatz an. Laut  Eintrag  in  der Zeichenbreitentabelle
          ist er  8 Pixel  breit, doch sie sehen, da er eigentlich schmaler
          ist. Wenn dieses "i" der breiteste Buchstabe wre,  dann enthielte
          max_cell_width den  Wert 8.  Subtrahiert man den Abstand, der zwi-
          schen dem "i" und seiner rechten Kante liegt, dann erhlt  man die
          echte Zeichenbreite,  max_char_width enthielte dann beispielsweise
          den Wert 6.


     unsigned short left_offset;        (54)
     unsigned short right_offset;       (56)

          Wenn ein Zeichen geneigt  ausgegeben wird,  dann ragt  es berhalb
          der Grundlinie  rechts ber  seinen Rand, unterhalb der Grundlinie
          ber seinen linken Rand. Wie weit es nun  herausragt, mu  das VDI
          genau  wissen,  damit  die  Textausgabe auch bei geneigter Schrift
          halbwegs vernnftig aussieht.
          Wie man  diese Werte  ermittelt, wurde  nie offiziel dokumentiert.
          Eigene Versuche lassen aber auf folgendes Verfahren schlieen:

                -------
               |*******|
               |*******|
               |*******|
               |*******| <- Grundlinie
               |*******|
               |*******|
                -------

          Die Striche  um das  Zeichen sollen die Zellenkanten andeuten, die
          nicht mehr zum Zeichen gehren. Die Sterne stehen  fr alle dieje-
          nigen  Pixel,  die  gesetzt  werden  knnen, ob sie es tatschlich
          sind, spielt bei der Kursivausgabe keine  Rolle. Wenn  dieses Zei-
          chen nun geneigt wird, sieht es wie folgt aus:

                -------
               |   *******
               |  *******
               | *******
               |*******| <- Grundlinie
               ******  |
              ******   |
                -------

          Sie sehen, das Zeichen ragt an beiden Seiten ber die Zellenrnder
          hinaus. Unterhalb der Grundlinie ragt es um zwei  Pixel nach links
          ber  (der  Zellenrand  gehrt  nicht  mehr zum Zeichen), ber der
          Grundlinie ragt es drei  Pixel nach  rechts. In  diesem Fall wrde
          left_offset den  Wert 2, right_offset den Wert 3 enthalten. (Wahn-
          sinn!)
          Dieses Verfahren ist zweifellos  nicht  das  einfachste, erfordert
          aber keine  aufwendigen mathematischen Berechnungen (etwa trigono-
          metrische Funktionen) und ist  deshalb recht  gnstig zu implemen-
          tieren.


                                       21



     unsigned short thicken;            (58)

          Soll ein Zeichen fett dargestellt werden, so wird das Zeichen aus-
          gegeben, und anschlieend noch  einmal  um  genau  ein  Pixel nach
          rechts versetzt  erneut ausgegeben. thicken gibt dabei an, wie oft
          dieser Vorgang wiederholt werden soll. Man sollte mit  diesem Wert
          sparsam umgehen,  meist reicht  der Wert  1, bei groen Fonts auch
          der Wert 2, da sonst das Zeichen besonders  auf dem  Bildschirm so
          sehr "verschmiert", da es unleserlich wird.


     unsigned short ul_size;            (60)

          Beim Unterstreichen  wird eine Linie gezogen, die auf der Ausrich-
          tungslinie "Zeichenunterkante" liegt.  Dieser  Wert  gibt  an, wie
          dick diese  Linie ist.  Auch hier reichen die Werte 1 oder 2 meist
          vollkommen aus. Das VDI legt die  Oberkante des  Unterstrichs (ich
          wei nicht,  wie man  das richtig nennt) genau auf die Zeichenzel-
          lenunterkante und  zeichnet dann  eine ul_size  Pixel dicke Linie,
          die nach unten hin in ihrere Dicke wchst.


     unsigned short lighten;            (62)

          Um ein  Zeichen "hell" darzustellen, wird ebenfalls ein recht kom-
          plizierter, aber einfach zu implementierender Algorithmus benutzt.
          Wenn Sie ihn nicht verstehen sollten, dann macht das auch nichts.
          Zur  aufgehellten  Zeichenausgabe  wird eine Bitmaske benutzt, mit
          der die Zeichendaten stndig verknpft  wird.  Dazu  wird  von der
          Zeichenzellenoberkante ausgehend  die erste Zeile mit lighten UND-
          verknpft und das Ergebnis dargestellt. Dann  wird lighten  um ein
          Bit nach  links rotiert und die nchste Zeile mit diesem Wert UND-
          verknpft. Dies  geht  solange,  bis  die Zeichenzellenunterkannte
          erreicht wordern ist.
          Die Voreinstellung  ist der  Wert 0x5555,  der bei einem schwarzen
          Zeichen ein Schachbrettmuster ergibt.  Dieser Wert  pat immer und
          ergibt auch den besten Effekt.
          Nur  wenn  der  Wert  lighten aus einem regelmigen Bitmuster be-
          steht, ergeben sich "gutaussehende" helle Zeichen.  Bei sehr klei-
          nen Zeichen kann es dennoch passieren, da es nicht mehr zu erken-
          nen ist, doch dies ist prinzipbedingt.


     unsigned short skew;               (64)

          Hier wird es noch komplizierter als  bei lighten.  Diese Maske be-
          stimmt,  wie  sehr  ein  Zeichen bei der Kursivschrift nach rechts
          geneigt sind. Das verwendete Verfahren, das  ebenfalls nicht doku-
          mentiert  ist,  ermglicht  Neigungen  zwischen 0 und 45 Grad nach
          rechts.
          Die Berechnung beginnt bei der Zeichenzellenunterkante.  Ist Bit 0
          von skew  gesetzt, dann  wird die  auszugebende Zeile um ein Pixel
          nach rechts verschoben, bevor sie ausgegeben wird. Jetzt wird skew
          um ein  Bit nach  rechts rotiert und die Zeile ber der vorherigen
          Zeile bearbeitet. Ist Bit 0 von skew gesetzt, so wird  diese Zeile
          um ein  Pixel gegenber  der vorherigen Zeile versetzt ausgegeben.
          Das ganze wiederholt sich,  bis alle  Zeilen ausgegeben  sind. (So

                                       22


          so!)
          Auch hierbei  ergeben nur gleichmige Bitmuster in skew eine sau-
          bere Neigung, der Standardwert 0x5555 ist immer eine gute Wahl, er
          ergibt eine  Neigung von  22,5 Grad.  Die maximale  Neigung von 45
          Grad kann  mit dem  Wert 0xFFFF  erreicht werden,  der Wert 0x0000
          erzeugt keine Neigung.


     unsigned short flags;              (66)

          Zur Zeit sind in diesem Wert nur die Bits 0 bis 3 benutzt:

          -    Bit 0  wird intern  vom VDI  verwendet. Ist  es gesetzt, dann
               gibt es an, ob  ein  Zeichensatz  momentan  der  aktuelle ist
               (durch vst_font ausgewhlt).
          -    Ist Bit  1 gesetzt,  dann wird die Horizontale Offset Tabelle
               vom Font benutzt.
          -    Ist Bit 2 gesetzt, dann  liegt  der  Font  im Motorola-Format
               vor.  Da  GEM  einst  auf  dem PC entstanden ist, wurden auch
               einige dort herrschende Konventionen mit auf  den Atari ber-
               nommen. Auf  einem PC liegen unter anderem das High- und Low-
               Byte bei 16-Bit-Wrtern im  Gegensatz  zum  Atari  genau ver-
               tauscht vor; dies heit allgemein "Intel-Format".
               Wenn ein  Font im  Intel-Format vorliegt,  mu er erst einmal
               ins Motorola-Format  umgewandelt werden,  damit das Atari-GEM
               wieder etwas  mit ihm  anfangen kann. Damit GDOS nun wei, in
               welchem Format der Font vorliegt, fragt es dieses Bit ab.
          -    Bit 3 zeigt im gesetzten Zustand an, da alle Zeichen im Font
               die gleiche Breite besitzen, also nicht proportional sind.
          -    Alle  anderen  Bits  sind  reserviert  fr  Erweiterungen und
               mssen immer auf 0 gesetzt sein.

          Mit Bit 2 hat es so einiges auf sich. Schon bei der Abfrage dieses
          Bits beginnen die Probleme. Liegt der Font im Motorola-Format vor,
          so liegt Bit 2 von flags im Byte  67 relativ  zum Dateianfang. Bei
          einer Abfrage  von Bit  2 wird also auf Byte 67 zugegriffen. Liegt
          der Font aber im Intel-Format vor, dann sind ja High- und Low-Byte
          vertauscht, Bit  2 liegt  jetzt im  Byte 66  (in Worten: sechsund-
          sechszig). Um dieses Bit nun abzufragen, mte man  bereits vorher
          wissen, in  welchem Format der Font vorliegt. Nur unter der Annah-
          me, da Bit 10 des Flags  niemals benutzt  wird, ist  eine sichere
          Abfrage mglich.
          Aber abgesehen  davon kmmert  sich kaum  ein Fonteditor um dieses
          Bit. So sind mir bereits Fonts begegnet, die laut flags  im Intel-
          Format  vorliegen,  tatschlich  aber  im Motorola-Format abgelegt
          sind, beispielsweise der Font "42nd street".
          Andere  Fonts  mischen  einfach  Intel-  und  Motorola-Format. Als
          Beispiel  sei  der  Font  "Gemini" (Filename: GEMINI.FNT; wenn ich
          blo noch wte, woher ich den  hatte), der  anscheinend in mehre-
          ren Versionen  im Umlauf ist, genannt: Laut flags Motorola-Format,
          die Fontdaten ebenfalls im  Motorola-Format, die Zeichenbreitenta-
          belle dafr aber im Intel-Format.
          Die Dokumentationen  (wenn man das so nennen darf) zu GDOS schrei-
          ben vor, da die Zeichendaten im gleichen Format  vorliegen mssen
          wie  der  Font  selbst,  doch  dies  ist (zumindest fr den Atari)
          falsch (oder alle meine  Versuchfonts sind  falsch). Die Fontdaten
          liegen immer  im Motorola-Format  vor, egal, ob der Rest des Fonts
          im Intel-Format abgelegt ist oder nicht. Versuche besttigen diese

                                       23


          Annahme. Nichtsdestotrotz  gibt es  einige Fonts, die es besser zu
          wissen glauben.
          Fazit: Auf dieses Bit war bisher kaum Verla. Deshalb benutzt GEM-
          FONT komplizierte  Plausibilittsalgorithmen, mit  denen das echte
          Format der  Tabellen ermittelt  wird, um  mglichst unabhngig vom
          Format-Bit zu sein. Lediglich beim Format der Fontdaten mu manch-
          mal manuell  nachgeholfen werden,  sollte einmal  ein Font geladen
          werden, dessen Zeichendaten tatschlich im Intel-Format vorliegen.
          Es versteht sich von  selbst, da  GEMFONT beim  Speichern auf ein
          korrektes Format der Fonts achtet.


     unsigned char *hor_table;          (68)

          Jedes Zeichen kann vor seiner Ausgabe noch einmal um eine bestimm-
          te Anzahl von Pixeln nach rechts  verschoben werden.  Dazu kann in
          dieser Tabelle  jedem Zeichen ein Wert zwischen 0 und 255 zugeord-
          net werden. Bisher nutzt  kein mir  bekannter Font  diese Mglich-
          keit, wahrscheinlich,  weil es  bisher keinen  Fonteditor gab, der
          dies konnte.
          Der Sinn dieser Funktion  scheint darin  zu liegen,  ein einfaches
          Zeichenkerning (Unterschneiden  von zwei  benachbarten Zeichen) zu
          realisieren. Um dies zu verdeutlichen, sehen Sie sich die Buchsta-
          benkombination "Te"  an. Besonders  bei groen Zeichen klafft zwi-
          schen dem 'T' und  dem 'e'  eine unansehnliche  Lcke, die dadurch
          geschlossen  werden  knnte,  indem  man  das 'e' nher an das 'T'
          heranschiebt oder umgekehrt, Platz genug ist ja da.  Bei GDOS kann
          jedes Zeichen  um einen frei whlbaren Wert nach rechts oder links
          verschoben werden. Beide  Zeichen  berschneiden  sich  dann zwar,
          ohne das  es jedoch  dabei zur Auslschung eines Teils des rechten
          Zeichens kommt.
          Mit dieser Methode lt sich aber nur ein einfaches Kerning reali-
          sieren, denn  die Unterschneidung  ist bei den Buchstaben 'Te' ein
          anderer Wert als bei 'Tr' oder 'TW', und genau dies  lt sich mit
          dieser  Methode  der  konstanten Verschiebung nicht verwirklichen.
          GDOS whlt stets fr  das gerade  auszugebende Zeichen  ein festes
          Kerning, ohne  dabei erst  einen Blick  auf das nchste Zeichen zu
          werfen  und  dann  in  Abhngigkeit  beider  Zeichen  das  Kerning
          auszuwhlen, so wie es sein sollte.
          Es scheint  zudem vom  jeweils aktuellen  Treiber (oder gas GDOS?)
          abhngig zu  sein,  ob  tatschlich  der  horizontale  Offset auch
          bercksichtigt wird. Bei eigenen Versuchen unter NVDI waren jeden-
          falls keine Vernderungen zu erkennen.
          Wird keine Tabelle im Font genutzt, so zeigt dieser Zeiger auf den
          Anfang der nchsten benutzten Komponente (siehe auch Kapitel 4.2).
          Dieser und die  beiden  nachfolgenden  Zeiger  geben  die Position
          immer relativ zum Dateistart an.
          Diese Tabelle enthlt insgesamt (last_ade - first_ade + 1) Eintr-
          ge, sofern sie denn benutzt wird. Der zu  dem Zeichencode  x geh-
          rende Eintrag  findet sich  in (x - first_ade).ten Position in der
          Tabelle.
          Beispiel: last_ade = 32, Zeichen = "2" (Code 50), die Position des
          dazugehrigen  Zeichens  befindet  sich  dann  an  der  (50 - 32 =
          18).ten Position in der Tabelle.
          Wichtig: Die Numerierung der  Eintrge beginnt  bei 0,  nicht etwa
          bei 1.



                                       24


     unsigned short *off_table;         (72)

          Hier  wird  verzeichnet,  wie  breit jedes Zeichen ist. Dabei wird
          jedoch nicht einfach  in  jeden  Eintrag  die  Breite eingetragen.
          Stattdessen wird  die X-Koordinate,  bei der ein Zeichen im "Font-
          bild" anfngt  (siehe  Beschreibung  dat_table)  eingetragen, denn
          dies vereinfacht  VDI die Ausgabe mittels den Rasterkopierfunktio-
          nen erheblich. Die echte Breite eines Zeichens errechnet sich dann
          aus der  Differenz zwischen  der Startposition  des gesuchten Zei-
          chens und der  Startposition  des  unmittelbar  nachfolgenden Zei-
          chens im  "Fontbild". Daraus  ergibt sich, da diese Tabelle einen
          Eintrag mehr enthlt als Zeichen benutzt werden.
          Beispiel: Breite des Zeichens  mit  dem  Code  x  ergibt  sich aus
          ((Wert an  Position (x  + 1  - first_ade)) - (Wert an Position (x-
          first_ade))).


     unsigned short *dat_table;         (76)

          Dieser Zeiger  zeigt  auf  die  eigentlichen  Fontdaten. Erklrung
          folgt. Der  Begriff "Fontdaten"  wird in  der Anleitung fr diesen
          Teil des Fonts gebraucht.


     unsigned short form_width;         (80)
     unsigned short form_height;        (82)

          Stellen sie sich alle Zeichen eines Fonts hintereinander auf einen
          riesigen Bildschirm  ausgegeben vor. Genauso sind die Fontdaten im
          Font abgelegt, wie in einem Bild. form_width gibt dabei die Breite
          des  Bildes  in  Bytes  an  (nicht in Words wie manche behaupten).
          form_height gibt die Hhe des Bildes in Pixeln an. Die  Breite be-
          trgt immer ein Vielfaches von 2 Bytes, auch wenn dies nicht doku-
          mentiert ist. Sollte das Bild  nicht  genau  auf  einer Bytegrenze
          enden, dann  werden soviele leere Pixelspalten an das Fontbild an-
          gehngt, bis die Grenzen stimmen.


     struct font_hdr *next_font;        (84)

          Dieser Zeiger wird intern  vom VDI  benutzt. Die  Fonts werden als
          lineare Liste  organisiert, und  dieser Zeiger zeigt auf den nch-
          sten Font in der  Liste. In  der Fontdatei  sollte er  immer auf 0
          gesetzt sind.

     } FONT_HDR;













                                       25


     5. Das Hauptmen

     Viele Dialogboxen  besitzen einen Button mit dem Text "Abbruch", "Ende"
     oder hnlich. Damit kann die ausgewhlte  Operation abgebrochen werden,
     so da  der gleiche Zustand herrscht wie vor dem Aufruf des Dialogs. Da
     dies bei vielen Dialogen der Fall ist, wird  dies nicht  mehr gesondert
     erwhnt.
     Entsprechend  den  GEM-Konventionen  knnen  viele  Menpunkte auch per
     Tastatur aktiviert werden, die  betreffenden Tastenkombination  sind in
     Klammern angegeben.  Drei Punkte  hinter einem  Mentitel bedeuten, da
     nach der Aktivierung noch  mindestens eine  Dialogbox folgt,  bevor die
     eigentliche Aktion ausgelst wird.


     5.1. Das Men "GEMFONT"

     5.1.1. "ber GEMFONT..." (Control Z)

     Hier finden  sie allgemeine  Informationen ber  GEMFONT, unter anderem
     die Versionsnummer und das Erstellungsdatum der Version, die sie benut-
     zen. Inoffizielle Versionen enthalten zur besseren Unterscheidung einen
     kleinen Buchstaben direkt hinter der Nummer, doch werden solche Versio-
     nen normalerweise nicht von mir in Umlauf gebracht.
     Bei Rckfragen bitte immer Versionsnummer- und datum angeben.


     5.2. Das Men "Datei"

     5.2.1. "Neu anlegen..." (Control N)

     Mit dieser  Funktion knnen  Sie einen neuen Font anlegen. sofern nicht
     bereits sieben Fonts bearbeitet werden.
     GEMFONT fragt Sie nach  dem Ausma  des grten  Zeichens innerhalb des
     Fonts. Diese  Angaben dienen  zum Einrichten der Editorpuffer fr jedes
     Zeichen, damit  nur  soviel  Speicherplatz  verbraucht  wird,  wie auch
     (wahrscheinlich) bentigt  wird. Erfahrungsgem sollten Sie hier etwas
     grozgig sein. Sollten Sie sich doch  mal verschtzt  haben, so knnen
     Sie die Gre spter nachtrglich ndern.


     5.2.2. "ffnen..." (Control O)

     Sie  laden  hiermit  einen  GDOS-Font,  den  Sie in der Dateiauswahlbox
     auswhlen knnen. Existiert der  von  Ihnen  gewhlte  Font  nicht oder
     sollte es  sich dabei nicht um einen GDOS-Font handeln, dann werden Sie
     darauf hingewiesen und die Funktion wird abgebrochen.
     GEMFONT versucht so weit wie mglich zu kontrollieren,  ob es  sich bei
     der ausgewhlten Datei tatschlich um einen GDOS-Font handelt. Da GDOS-
     Fonts aber keine  Magic-Numbers  besitzen,  ist  die  berprfung nicht
     komplett  sicher,  zumal  einige  hnliche Zeichensatzformate ebenfalls
     die Endung "FNT" besitzen.  Deshalb sollten  Sie GEMFONT  keine Dateien
     unterschieben, die offensichtlich keine GDOS-Fonts sind.
     Da man  dem Filenamen  allgemein nur  schwer ansehen kann, welcher Font
     dahintersteckt, wird eine Informationsbox angezeigt, der  Sie die wich-
     tigsten  Informationen  des  Fonts  entnehmen  knnen. Dazu gehren der
     Name, seine ID, die Gre in  Punkten, die  Breite des  breitesten Zei-
     chens sowie  die Fontflags. In der Box "Konvertierung" stellen Sie ein,
     ob die Zeichendaten konvertiert werden sollen. Dies ist erfahrungsgem

                                       26


     aber nicht  ntig, weshalb Sie diese Option nur in Ausnahmefllen akti-
     vieren mssen. Sagt Ihnen der Font zu, dann knnen Sie in laden, anson-
     sten die Funktion abbrechen.


     5.2.3. "Schlieen..." (Control U)

     Es wird das aktuelle Editorfenster geschlossen.


     5.2.4. "Sichern" (Control S)

     Hier knnen  Sie einen  Font im GDOS-Format abspeichern. Falls der Font
     noch keinen Namen besitzt - das ist der Fall, wenn er neu angelegt oder
     importiert wurde,  dann werden  Sie nach  dem Dateinamen gefragt, unter
     dem der Font abgelegt werden soll. Ansonsten wird der Name benutzt, der
     in der Titelzeile des dazugehrigen Fensters steht.
     Sollte GEMFONT  feststellen, da  die Ausrichtungslinien noch nicht po-
     sitioniert worden sind, dann werden Sie darauf hingewiesen und der Vor-
     gang abgebrochen. Dies ist deshalb wichtig, weil die Menge der zu spei-
     chernden Fontdaten durch die  Position "Zeichenzellenunterkante" vorge-
     geben ist. Das heit im Klartext, das alle Pixelinformationen, die sich
     unterhalb oder  Zeichenzellenunterkante oder  rechts von  der von Ihnen
     eingestellten  Breite  befinden,  nicht mitgespeichert werden. Und wenn
     die Zeichenzellenunterkante noch auf Position 0 liegt, dann  gehen alle
     Informationen  verloren.  (Das  ist  mir  selbst  einige Male passiert,
     deshalb diese Vorsichtsmanahme).
     Bei  der  Ermittlung  der  echten  Zeichenbreiten  wird  der  Parameter
     max_char_width korrekt gesetzt. Anschlieend werden die Daten zum Font-
     bild zusammengesetzt. Die Flags  unter "Fontflags"  bestimmen dabei das
     Format  der  Daten.  Dabei  wird  im Gegensatz zu einigen anderen GDOS-
     Fonteditoren auf das korrekte Format aller Tabellen geachtet.
     Sollte aus irgendeinem Grund  ein Fehler  beim Speichern  auftreten, so
     werden Sie  darauf hingewiesen und der Vorgang abgebrochen. Die fehler-
     hafte Datei wird automatisch gelscht.
     Noch ein Hinweis: GEMFONT setzt den  Font  vor  dem  Speichern  fix und
     fertig im  Speicher zusammen,  bevor er auf ein externes Medium kopiert
     wird. Dafr wird Speicherplatz  gebraucht,  der  vorbergehend angefor-
     dert wird.  Deshalb sollten Sie stets darauf achten, nicht den komplet-
     ten Speicher zu belegen, sonst hat  GEMFONT keinen  Platz mehr  fr den
     Aufbau.  Bei  der  Erstellung  von  Druckerfonts sollten mindestens 100
     KByte frei sein (siehe "Speicherstatistik").
     Dieses  Verfahren  wurde  gewhlt,  um  auch  in Multitaskingumgebungen
     flexibel zu sein, wo sich ja dauernd die Speicherlandschaft ndert. Das
     stndige Belegen eines Aufbauspeichers, der nur fr kurze  Zeit genutzt
     wird, wrde  anderen Applikationen nur Speicherplatz wegnehmen, den Sie
     vielleicht selbst besser brauchen knnten. Dies bringt aber  nur etwas,
     wenn auch die anderen Prozesse so kollegial sind.


     5.2.5. "Sichern unter..." (Control M)

     Hier geschieht das gleiche wie unter "Speichern", doch knnen Sie einen
     neuen Namen bestimmen, unter  dem der  Font abgelegt  werden soll. Nach
     dem erfolgreichen  Speichern werden Sie gefragt, ob Sie den eben ausge-
     whlten Dateinamen bernehmen oder den alten beibehalten wollen.



                                       27


     5.2.6. "Sichern Metafont..." (Control H)

     Das Format  von GDOS-Metafontdateien  ist bis  heute nicht dokumentiert
     worden.  Eigene  Untersuchungen  an  den wenigen Metfontdateien, die es
     gibt, legen die Vermutung nahe, da es sich  dabei um GDOS-Druckerfonts
     handelt, denen  aber die  eigentlichen Fontdaten  fehlen; sie enthalten
     nur die eigentlichen Verwaltungsdaten. Vermutlich kommt es GDOS nur auf
     Verhltnisse der einzelnen Zeichenbreiten zueinander an.
     Wofr die  Metafonts gut  sein sollen, scheint auch niemand so genau zu
     wissen, jedenfalls ist sich die Literatur nicht einig, ob man berhaupt
     Metafonts braucht  oder nicht.  Wenn GDOS fr die Bearbeitung von Meta-
     file Angaben ber die benutzten Fonts braucht, dann knnte es  sich die
     auch  direkt  aus  den  Druckerfonts  selbst  beschaffen (denke ich mir
     zumindest).
     Wer genaueres ber den  Aufbau und  Sinn der  Metafonts wei,  dem wre
     ich dankbar, wenn er sich mit mir in Verbindung setzen wrde, damit ich
     vielleicht diese Funktion korrigieren kann.
     Kurz noch zur Funktion selbst: Nach  der Angabe  eines Dateinamens wird
     der momentan  bearbeitete Font  gespeichert, auer da smtliche Infor-
     mationen ber das Aussehen der Zeichen in dieser Datei fehlen.


     5.2.7. "Abbrechen..." (Control D)

     Wollen Sie alle gemachten nderungen verwerfen, so knnen  Sie mit die-
     sem  Menpunkt  den  aktuellen  Font erneut einladen. Dies funktioniert
     aber nicht, wenn der Font neu angelegt oder importiert wurde.


     5.2.8. "Entfernen..." (Control L)

     Es wird der Font,  zu dem  das aktuelle  Editorfenster gehrt,  aus dem
     Speicher  entfernt  und  sein  Platz wieder freigegeben. Wurde der Font
     gendert, so erfolgt vorher eine Sicherheitsabfrage.


     5.2.9. "Importieren..." (Control I)

     Diese Funktion ist eines der Glanzlichter von GEMFONT.  Hier knnen Sie
     Signum.Zwei!-Fonts  (Editor-  und  Druckerfonts),  METAFONT-PK-Font und
     auch Bitmap-Fonts importieren. Damit  erffnet sich  GDOS eine Vielzahl
     von professionellen Fonts aus der Signum.Zwei!- und der METAFONT-Welt.
     Nach der  Anwahl dieser Funktion knnen Sie das Format angeben, das Sie
     importieren wollen. Sie haben die Auswahl zwischen Signum.Zwei!-Editor-
     fonts, Signum.Zwei!-Druckerfonts  (egal ob *.L30 oder *.P24), METAFONT-
     PK-Fonts und den Bitmap-Fonts in zwei Gren. Haben  Sie sich entschie-
     den, dann whlen Sie die entsprechende Datei aus. GEMFONT berprft, ob
     die Datei das gewnschte Format besitzt und reklamiert  Ihre Wahl, wenn
     dies nicht der Fall ist.


     5.2.9.1. Bitmap-Fonts

     Bitmap-Fonts haben  eine konstante  Zeichengre von 8 mal 8 oder 8 mal
     16 Pixeln (Dateilnge stets 2048 oder  4096 Bytes),  sie enthalten aus-
     schlielich die  Fontdaten aller  256 Zeichen. Der Editor "Tempus" oder
     die Textverarbeitung "Protext" knnen  diese Zeichenstze  benutzen, um
     den Systemzeichensatz  innerhalb dieser  Programme zu ersetzen. Bitmap-

                                       28


     Fonts spielen fr GDOS keine groe Rolle, wurden  jedoch ihrer Einfach-
     heit halber  implementiert, weil  etwa Harlekin  Sie als Ersatz fr den
     Systemfont verwenden kann.
     Beim Import von diesen Fonts sind keine weiteren Angaben zu machen.


     5.2.9.2. Signum.Zwei!-Fonts

     GEMFONT ist in der Lage, Fonts im Signum.Zwei!-Format,  die zum gleich-
     namigen  Dokumentverarbeitungsklassiker  gehren,  zu  importieren. Die
     Anzahl der verfgbaren Schriften beluft sich  nach neueren Schtzungen
     auf ber  1500 (manche vermuten sogar knapp 2000), von denen die aller-
     meisten zudem als Public-Domain zur Verfgung stehen. Die  Qualitt der
     Schriften  ist  teilweise  professionell, die Auswahl der Schriftformen
     und -arten auf dem Atari bisher unerreicht. Damit  sollte die Eintnig-
     keit der Schriften unter GDOS endlich ein Ende haben!
     Nach Auswahl  der Datei  wird die maximale Gre der Zeichen ermittelt.
     Die ermittelten Werte werden  Ihnen  als  neue  Gre  der Editorpuffer
     vorgeschlagen. Diese Werte knnen Sie in den meisten Fllen bernehmen.
     Geben Sie kleinere Werte an, dann gehen die  Daten, die  auerhalb lie-
     gen, verloren.  Wollen Sie  den Font vergrern, dann geben Sie dement-
     sprechend grere Werte an.
     Bei manchen Fonts kommt es vor, da alle  Zeichen recht  tief unterhalb
     der Zeichenzellenoberkannte  liegen. GEMFONT  fragt Sie deshalb, ob Sie
     alle Zeichen um einen  intern ermittelten  Wert hhersetzen  wollen. Da
     dieses Verfahren  nicht immer funktioniert, sollten Sie den Font zuerst
     unversetzt laden und erst dann entscheiden, ob Sie  ihn erneut versetzt
     importieren wollen.  Bevor Sie  mit der  Arbeit beginnen, kontrollieren
     Sie unbedingt alle diejenigen Zeichen, die besonders nahe an der oberen
     oder unteren Zeichenzellenkante enden, denn dort kann dann manchmal ein
     Stck verlorengegangen sein.
     Da Signum.Zwei!-Fonts nur aus 127 Zeichen bestehen, die  zudem in einer
     anderen Reihenfolge  als dem  ASCII-Format abgelegt sind, verteilt GEM-
     FONT die Zeichen so, da sie  mit mglichst  vielen ASCII-Zeichen ber-
     einstimmen. Probleme  gibt es  dabei jedoch nur mit denjenigen Zeichen,
     die unter  Signum.Zwei!  dem  externen  Ziffernblock  zugeordnet werden
     knnen,  dafr  gibt  es  keine quivalenten ASCII-Positionen. Folgende
     Tabelle zeigt genau, wohin welches Signum.Zwei!-Zeichen gelegt wird. An
     den  Achsen  steht  der  Signum.Zwei!-Zeichencode,  in  der Tabelle der
     ASCII-Zeichencode:

                      x0   x1   x2   x3   x4   x5   x6   x7   x8   x9
                   +-------------------------------------------------
                0x |   0  194  195  196  197  198  199  200  201  202
                1x | 203  204  205  206  207  208  209  210  211   16
                2x |  17   18   19   20   21   22   23   24   25  212
                3x | 213  214  221   33   34   35   36   37   38   39
                4x |  40   41   42   43   44   45   46   47   48   49
                5x |  50   51   52   53   54   55   56   57   58   59
                6x |  60   61   62   63  129   65   66   67   68   69
                7x |  70   71   72   73   74   75   76   77   78   79
                8x |  80   81   82   83   84   85   86   87   88   89
                9x |  90  148  154  132   94   95   96   97   98   99
               10x | 100  101  102  103  104  105  106  107  108  109
               11x | 110  111  112  113  114  115  116  117  118  119
               12x | 120  121  122  153  124  142  126  158  ---  ---

     Leider mssen viele  Signum.Zwei!-Fonts  noch  per  Hand nachbearbeitet

                                       29


     werden, hufig  wegen der  Zeichenbreiten, die bei manchen Fonts vllig
     falsch gesetzt worden sind. Doch auch  hierfr bietet  GEMFONT passende
     Werkzeuge.
     (Da ich  selbst weder  Signum.Zwei! noch Script besitzt, fehlt mir auch
     die offizielle Dokumentation  der  Signum.Zwei!-Fontformate,  die viel-
     leicht in  den   Handbcherm zu  diesen Programmen  abgedruckt ist. Die
     jetzigen Routinen basieren auf einem Quicktip, der in einer Ausgabe der
     ST-Computer erschienen  ist. Fr weitere Hinweise bezglich der Formate
     wre ich sehr dankbar).


     5.2.9.3. METAFONT-PK-Files

     Auf Wunsch einiger registrierter Anwender ist GEMFONT seit Version 1.20
     als  eines  der  ganz  wenigen  Atari-Programme (natrlich von TeX etc.
     abgesehen) in der Lage,  auch  PK-Files  von  METAFONT  zu importieren.
     Damit steht  eine weitere  Vielzahl von  Schriften zur Verfgung, deren
     Professionalitt von  allen unbestritten  zum Besten  gezhlt wird, was
     der  Computer-Schriftsatz  im  (halb-)professionellen Bereich zu bieten
     hat. Beim Import ist folgendes zu beachten:

     -    GDOS kann mit den  ausgefeilten Kerning  der METAFONT-Fonts nichts
          anfangen, so  da die  Fonts hinsichtlich  der Breite der Zeichen-
          nachbearbeitet werden mssen.
     -    Die im  Gebrauch befindlichen  PK-Files besitzen  nur 128 Zeichen,
          fehlende  Zeichen  (die  TeX durch bereinanderlegen erzeugt, bei-
          spielweise die Umlaute) mssen  manuell  nacherzeugt  werden. Erst
          die EC-/DC-Fonts bieten alle 256 Zeichen.
     -    Whrend  die  PK-  und  TFM-Files intern mit fixierten Kommazahlen
          rechnen, mu  fr GDOS  auf ganze  Zahlen gerundet  werden, so da
          manche Zeichen  ein Pixel  zu hoch  oder zu tief zu liegen kommen.
          Hier mu entsprechend verschoben werden.
     -    TeX setzt keine zwingende Ordnung der Zeichen in  den Fonts voraus
          (TeX erlaubt  verschiebene sog.  Kodierungsschemata), so da even-
          tuell viele Zeichen vertauscht werden mssen.
     -    Besonders Fonts in hheren Auflsungen verbrauchen  als GDOS-Fonts
          wesentlich mehr  Platz als die entsprechenden PK-Files, da die PK-
          Fonts in einem stark gepackten Format vorliegen.
     -    Die Breite der Zeichen  orientiert sich  an dem  dx-Escapement der
          PK-Files.  Dieser  Wert  ist  bei  geneigten Schriften bei manchen
          Zeichen zu klein gewhlt, so da die Breite auch hier nachbearbei-
          tet werden mu.
     -    Die Gesamthhe  der Zeichen  ist in  seltenen Fllen  zu klein ge-
          whlt und mu dann  manuell vergrert  werden. An  wem das liegt,
          versuche ich gerade herauszufinden.

     Bevor es mit dem Importieren losgehen kann, mu als erstes der TFM-Pfad
     gesetzt werden, also die  Stelle  angegeben  werden,  wo  die TeX-Font-
     Metric-Dateien zu  finden sind,  denn diese werden ebenfalls gebraucht.
     Sie enthalten  weitere  Informationen  zu  den  einzelnen  PK-Files und
     werden automatisch beim Import eines PK-Files geladen.
     Mit dem  Button "TFM-Pfad"  kann der  Pfad eingestellt werden. Dies ist
     meist nur einmal ntig, denn er kann auch mit den  anderen Pfaden abge-
     speichert werden.
     Zur  eigenen  Rettung  bezglich  der  Geschwindigkeit  mchte ich noch
     bemerken, da die Entpackroutinen nur scheinbar langsamer sind  als die
     der vielen DVI-Treiber. Das Entpacken geht nahezu genauso schnell, aber
     das Transformieren der entpackten Daten in die interne GEMFONT-Darstel-

                                       30


     lung dauert recht lange, da dies (wie grausam!) bitweise geschehen mu.


     5.2.10. "Exportieren..."

     GEMFONT kann  Fonts auch  wieder im  Bitmap-Format exportieren (fr Si-
     gnum.Zwei!-Fonts ist schlielich Skarabus  zustndig und  fr METAFONT-
     Fonts  wre  ein  Pixeleditor  eine  echte Schandtat!) Dabei whlen Sie
     wieder die Gre der Fonts aus und geben den Dateinamen  an. Achten Sie
     darauf, da  alle die  Pixel, die  auerhalb der  8 mal 8 bzw. 8 mal 16
     Grenze liegen, im Font verloren gehen.


     5.2.11. "Clipboard laden"

     Es soll ein Font aus dem Clipboard geladen  werden. Dazu  mu zum einen
     ein Font  im Klemmbrett  vorhanden sein  und zum  anderen berhaupt ein
     Klemmbrett existieren. Danach wird wie bei "ffnen..." verfahren.


     5.2.12. "Clipboard speichern"

     Ein Font soll ins Klemmbrett gespeichert  werden. Auch  hierbei mu der
     Zugriff  auf   das  Klemmbrett   mglich  sein.   Sonst  wird  wie  bei
     "Sichern..." verfahren.
     Achtung: Es werden  alle  Dateien,  die  sich  im  Klemmbrett befinden,
     vorher gelscht!


     5.2.13. "Clipboard lschen"

     Nach der  Besttigung einer  Sicherheitsabfrage werden  alle Dateien im
     Klemmbrett gelscht.


     5.2.14. "Ende" (Control Q)

     Hier kann das Programm verlassen werden. Sollte sich  noch ein gender-
     ter Font  im Speicher  befinden, so  erscheint eine Sicherheitsabfrage,
     die ihnen die Mglichkeit zum Abbruch gibt.



     5.3. Das Men "Block"

     GEMFONT erlaubt das Markieren  eines rechteckigen  Teils eines bestimm-
     ten Zeichens.  Dieser Ausschnitt  wird "Block"  genannt und kann ausge-
     schnitten, kopiert oder gelscht werden und auch zwischen  Fonts ausge-
     tauscht werden. Es kann jeweils nur ein Block zu einer Zeit existieren.


     5.3.1. "Blockanfang" (Control B)

     Die Maus  verwandelt sich  in ein Fadenkreuz, mit dem Sie auf den Punkt
     im Editorraster klicken  knnen,  an  dem  der  Anfangspunkt  des Block
     liegen soll.  An diesem Punkt erscheint dann als sichtbares Zeichen ein
     Diagonalkreuz, sofern er nicht gesetzt  ist.  Ein  Klick  auerhalb des
     Gitters bricht die Funktion ab.

                                       31




     5.3.2. "Blockende" (Control K)

     Analog  zu  "Blockanfang"  whlen  Sie  den Endpunkt des Blocks aus. An
     allen vier Eckpunkten des Blocks erscheint dann ein  Diagonalkreuz, der
     Block ist  vollstndig markiert.  Auch hier  bricht ein Klick auerhalb
     des Gitters die Funktion ab.


     5.3.3. "Alles auswhlen" (Control A)

     Hier wird ein Block definiert, der die gesamte  Editormaske umfat. Auf
     diese Weise knnen schnell komplette Zeichen bearbeitet werden.


     5.3.4. "Ausschneiden" (Control X)

     Das durch  einen Block definierte Rechteck wird aus dem Zeichem, in der
     Block definiert wurde, entfernt  (d.h. ein  Teil des  Zeichens wird ge-
     lscht) und in einen internen Puffer kopiert.
     Diese Funktion  kann auch mit den Tasten Backspace und Delete ausgelst
     werden.


     5.3.5. "Kopieren" (Control C)

     Wie "Ausschneiden", doch das Gebiet, aus  dem der  Block ausgeschnitten
     wurde, wird nicht gelscht.


     5.3.6. "Einfgen" (Control V)

     Der vorher  ausgeschnittene oder  kopierte Block kann in ein beliebiges
     Zeichen eines beliebigen Fonts wieder hineinkopiert werden. Dieser Vor-
     gang kann so oft wiederholt werden, bis ein neuer Block definiert wird.
     Die Maus  verwandelt sich die wieder in ein Fadenkreuz, mit der Sie die
     linke, obere Ecke angeben, an die  der Block  kopiert werden  soll. Die
     Art, wie  der Block  eingefgt wird,  hngt von der Einstellung "Block-
     kopiermodi..." ab.


     5.3.7. "Blockkopiermodi..."

     Das Einfgen des Blocks  kann  auf  verschiedene  Arten  geschehen. Der
     Block kann  ersetzend eingesetzt werden oder aber vor dem Einsetzen mit
     dem Zielgebiet verknpft werden.
     Nach Anwhlen dieses Menpunkts erscheint ein Popup-Men an der aktuel-
     len Mausposition, wo Sie den neuen Blockkopiermodus einstellen knnen.



     5.4. Das Men "Puffer"

     Jeder Font  besitzt 10  frei verfgbare Puffer. Diese knnen vorberge-
     hend beliebige Zeichen aufnehmen und wieder an beliebige Fontpositionen
     kopieren. Puffer  knnen zudem  geladen und gespeichert werden. Der Un-
     terschied zum Block besteht darin, da Puffer nicht zwischen Fonts aus-

                                       32


     getauscht werden  knnen (zumindest nicht direkt) und da nur komplette
     Zeichen in Puffern abgelegt werden knnen.


     5.4.1. "Maske nach Puffer..." (Alternate P)

     Das aktuelle Zeichen wird komplett in einen der 10 Puffer, den sie aus-
     whlen  knnen,  kopiert.  Diese  Funktionen knnen auch direkt mit den
     Tastenkombinationen <Shift>+<1> bis  <Shift>+<0>  auf  dem alphanumeri-
     schen Teil der Tastatur erreicht werden.


     5.4.2. "Puffer nach Maske..." (Alternate M)

     Ein Zeichen  aus einem der 10 Puffer, den sie auswhlen knnen, wird in
     den aktuellen  Zeichenpuffer kopiert.  Dabei wird  immer berlagerd ko-
     piert, die  Blockkopiermodi wirken  sich nicht auf die Pufferfunktionen
     aus. Diese  Funktionen knnen  auch direkt  mit den Tastenkombinationen
     <Alternate>+<1> bis  <Alternate>+<0> auf  dem alphanumerischen Teil der
     Tastatur erreicht werden.


     5.4.3. "Puffer speichern..." (Alternate U)

     Ein einzelner Puffer kann  auch  gespeichert  werden.  Whlen  Sie dazu
     einen Puffer sowie den Dateinamen aus, unter dem er abgespeichert wird.
     Die Pufferdatei  sollte immer  die Endung  "*.GPU" tragen.  In sie wird
     neben ein paar Verwaltungsinformationen nur die Fontdaten geschrieben.


     5.4.4. "Puffer laden..." (Alternate O)

     Ein gespeicherter Puffer wird eingeladen. Dabei kann der Puffer auch in
     andere Fonts auer demjenigen, aus dem  er heraus  abgespeichert wurde,
     geladen werden.  Sollte das Zeichen im Puffer zu gro sein, so wird nur
     der passende Teil kopiert.
     Da man auch dem  Dateinamen  der  Pufferdatei  nicht  ansieht,  was sie
     beinhaltet, zeigt  eine Informationsbox  die wichtigsten Daten des Puf-
     fers an. Darunter fallen die Zeichenausmae  sowie der  Name des Fonts,
     aus dem  er ausgeschnitten  wurde. Sagt  Ihnen der Puffer zu, so knnen
     Sie ihn anschlieend laden.


     5.5. Das Men "Parameter..."

     5.5.1. "Speicherstatistik..."

     Hier knnen Sie sich  einen berblick  ber den  aktuellen Speicherver-
     brauch verschaffen. Dabei werden alle sieben Fonts durch ihren Dateina-
     men angezeigt. Dahinter wird  angezeigt, wieviel  Speicher der  Font im
     Editor  verbraucht,  diese  Anzeige  ist  keineswegs  identisch mit der
     Gre, die der Font  einmal in  gespeicherter Form  einnehmen wird! Das
     Kstchen vor  dem Dateinamen  ist durchkreuzt, wenn der Font inzwischen
     verndert wurde. Ist ein Fontplatz im Speicher nicht  belegt, dann wird
     die dazugehrige  Zeile grau dargestellt. Der zweite Teil der Dialogbox
     zeigt den momentan freien Betriebssystemspeicher an  (genauer den gr-
     ten freien Speicherblock).


                                       33



     5.5.2. "Parameter einstellen..." (Alternate Q)

     GEMFONT erlaubt das Einstellen zahlreicher Parameter:

     "GEM-Rasterkopierroutinen verwenden"

          GEMFONT nutzt  intern an vielen Stellen zum Kopieren von Speicher-
          bereichen dir VDI-Routine vro_cpyfm().  GEMFONT nutzt  dabei uner-
          laubterweise  die  Tatsache  aus, da die allermeisten VDI-Treiber
          die innere  Struktur  des  zu  kopierenden  Speicherbereichs nicht
          verndern. Sollte  es einmal  Probleme mit bestimmten VDI-Treibern
          geben, so kann auf eine andere, wenn auch langsamere Kopierroutine
          umgeschaltet werden. In den allermeisten Fllen gibt es aber keine
          Schwierigkeiten, so da die schnellere VDI-Routine  benutzt werden
          sollte.
          Die  bisherige  Option  "Grow-/Shrink-/Moveboxen ausschalten" ent-
          fllt wegen Geringflligkeit ersatzlos.

     "Immer *.FNT als Endung voraussetzen"

          GEMFONT kann  angewiesen  werden,  statt  der  Endung  "*.FNT" die
          Endung "*.*"  in der Dateiauswahlbox vorauszusetzen. Eine Vernde-
          rung dieser Einstellung ist dann sinnvoll, wenn Sie mit Filesyste-
          men arbeiten,  die zwischen  Gro- und Kleinschreibung unterschei-
          den. Die meisten Fileselektoren finden in diesem Fall keine Datei-
          en mit  den angegebenen  Extendern, weil  vermutlich irgendwo Zei-
          chenumwanldungen stattfinden. Mit der  Endung "*.*"  treten solche
          Probleme nicht auf.

     "Keine Zusatzmeldungen ausgeben"

          Einige  Aktionen  werden  von zustzlichen Hinweisen zur Bedienung
          oder Warnungen begleitet (z.B. alle Aktionen, die die  Maus in ein
          Fadenkreuz  zur  Auswahl  verwandeln).  Diese knnen jedoch lstig
          werden und hier abgeschaltet werden.

     "Klingelzeichen bei Alertbox"

          Als zustzliches akustisches Signal kann jede  Alert-Box von einem
          "Ping"  begleitet  werden.  Beim Abschlu lngerdauernden Aktionen
          wird ebenfalls ein "Ping" ausgegeben.

     "Vsync() bei der Ausgabe benutzen"

          Bei schnellen GEM-Ausgaben kann  es zu  optischen Unregelmigkei-
          ten wie  Flackern kommen.  Durch Einschalten der Vsync-Option kann
          dies weitestgehend  unterbunden  werden.  Sollte  es  Probleme mit
          Grafikkarten geben, dann schalten Sie diese Option ab.

     "Fenster drfen negativen Rand benutzen"

          Fenster knnen  zustzlichen Arbeitsplatz gewinnen, wenn sie ihren
          linken Rand  im negativen  Koordinantenbereich ablegen (beispiels-
          weise TEMPUS).  Dieses Feature funktioniert zwar, ist jedoch nicht
          dokumentiert. Soll es unterbunden  werden, so  ist dieser Schalter
          zu aktivieren.


                                       34


     "Langsame Dialoge auslagern"

          Das  Unterbringen  von  Dialogen  in  Fensters ermglicht zwar den
          Mehrprogrammbetrieb, bremst aber dafr  den Aufbau  und das Redraw
          der  Dialoge  merklich  ab,  da  ein komplizierteres Verfahren zum
          Erneuern der Darstellung ntig  ist (u.a.  mu bercksichtigt wer-
          den, ob  Teile des  Dialogs von anderen Fenstern verdeckt werden.)
          Wer in einer  Einprogrammumgebung  arbeitet  oder  es verschmerzen
          kann,  wenn  GEMFONT  einmal  fr  einige Sekunden andere Prozesse
          komplett blockiert, der kann  GEMFONT anweisen,  besonders zeitin-
          tensive Dialoge  normal, also  nicht in  Fenstern darzustellen. In
          diesem Fall  kann  die  normale  und  sehr  schnelle Redrawroutine
          verwendet werden.

     "Vorgabe 'L30' statt 'P24' bei Import"

          Wer  vorrangig   Signum.Zwei!-Laserdruckerfonts  importiert,  kann
          einstellen, das statt der  Endung  "*.P24"  (360  DPI)  die Endung
          "*.L30" (300 DPI) zur neuen Vorgabe werden soll.

     "Zustzliche Zeilenvorschbe"

          Bei der Testausgabe auf einem Drucker fhren manche Druckertreiber
          einen oder gar mehrere Seitenvorschbe aus.  Um das  Papier jedoch
          platzsparend  zu  nutzen,  spannen  Sie  in diesem Fall das Papier
          wieder an die Anfangsposition ein. GEMFONT  fhrt dann selbstndig
          soviele  Zeilenvorschbe  aus,  da  unterhalb der letzen Position
          weitergedruckt wird. Fhrt Ihr  Druckertreiber jedoch  keinen Sei-
          tenvorschub aus, dann deaktivieren Sie diesen Schalter.

     "Drucker-Reset vor Ausgabe ausfhren"

          Manche Druckertreiber stellen die von ihnen verstellten Druckerpa-
          rameter nicht mehr zurck. In einem solchen Fall  kann GEMFONT vor
          jeder Druckerausgabe  einen Reset auslsen. Dazu wird die Kombina-
          tion "ESC @" verschickt,  die auf  allen Druckern  den gewnschten
          Effekt haben sollte.

     "Druckernummer"

          Die  Druckernummer,  unter  der  GDOS den Drucker ansprechen soll,
          kann mit einem Slider  zwischen 10  und 99  eingestellt werden. So
          knnen mehrere Druckertreiber gleichzeitig installiert und benutzt
          werden.

     "Klemmbrettberwachung"

          GEMFONT kontrolliert in  regelmigen  Abstnden,  ob  eine andere
          Applikation einen  Font im Klemmbrett abgelegt hat. In welchen In-
          tervallen dies erfolgen soll,  kann hier  eingestellt werden. Beim
          Diskettenbetrieb sollte  die berprfung  komplett abgestellt wer-
          den.
          Die Funktion selbst ist ein Relikt aus der Zeit, als  GEMFONT noch
          einen eigenen Desktop besa. Dort gab es u.a. auch ein Klemmbrett-
          icon, das seine Form ndern sollte, sobald eine  passende Datei im
          Klemmbrett aufgetaucht ist.



                                       35


     5.5.3. "Parameter speichern..."

     Die Parameter knnen unter dem Namen "GEMFONT.INF" an dem Ort abgespei-
     chert werden, von dem aus auch GEMFONT gestartet  wurde. Findet GEMFONT
     diesen  Ort  nicht,  so  mssen  Sie ihn selbst vorgeben. Geben Sie als
     Dateinamen immer "GEMFONT.INF" an. (Fr Fortgeschrittene: GEMFONT sucht
     seine Infodatei mittels shel_find().)
     Seit der  Version 1.20  gehren zu diesen Parametern auch smtliche von
     GEMFONT benutzte Dateipfade.


     5.6. Das Men "Fonts"

     5.6.1. "ffne xxxxxxxx.xxx" (Control 1 bis 7)

     Wenn ein Fenster geschlossen wurde, so  kann es  mit diesem Menpunkten
     wieder geffnet  werden. Die  x's werden dabei durch den Dateinamen des
     Fonts ersetzt. Beachten Sie dabei, da pro Font nur ein  Fenster geff-
     net werden kann.








































                                       36


     6. Das Editorfenstermen

     Die hier  besprochenen Funktionen  sind in ihrer Wirkung ausschlielich
     auf den Font, zu dem dieses  Editormen gehrt,  beschrnkt. Einige der
     Funktionen verlangen  explizite Koordinatenangaben. In diesem Fall wird
     die Maus in ein Zielkreuz verwandelt, mit dem Sie dann das Pixel aussu-
     chen, das  die gewnschten Koordinaten besitzt. Ein Klick auerhalb des
     Editorrasters wird von GEMFONT als Aufforderung  zum Abbruch  der Funk-
     tion interpretiert.  Bei der  Beschreibung wird nicht mehr jedesmal auf
     diesen Umstand hingewiesen.
     Auch hier gilt, da  nahezu  alle  Dialogboxen  eine Abbruchmglichkeit
     besitzen.  In  diesem  Fall  werden  die von Ihnen gemachten nderungen
     innerhalb des Dialogs nicht bernommen.
     Funktionen, die sich auf den ganzen Zeichensatz auswirken, beeinflussen
     nur alle  diejenigen Zeichen,  die zwischen first_ade und last_ade lie-
     gen.
     Fr viele  Funktionen gilt:  die Beschreibung  klingt komplizierter als
     die Wirklichkeit.  Deshalb sollten  Sie mit  allen Funktionen ein wenig
     spielen, um ihre Funktionsweise zu verstehen.


     6.1. Das Men "GEMFONT"

     6.1.1. "ber GEMFONT..."

     Dieser Menpunkt ist identisch mit dem des Hauptmens.


     6.2. Das Men "Zeichen"

     6.2.1. "Auswahl..." (Funktionstaste 1)

     Diese Funktion wurde in Version  1.20  komplett  berarbeitet.  Es wird
     eine  Box  angezeigt,  in  der  Sie alle Zeichen, die der Font momentan
     kennt (also zwischen  first_ade  und  last_ade),  direkt  mit  der Maus
     auswhlen knnen.  Nicht erlaubte Zeichen werden als Leerzeichen darge-
     stellt, eine Ausnahme stellt das Zeichen mit dem  Code Null,  das eben-
     falls  als  Leerzeichen  dargestellt  wird. Eine Anwahl solcher Zeichen
     ist nicht mglich.
     Mit den Buttons "Vorheriges" und "Nchstes" knnen Sie  das Zeichen vor
     bzw. nach dem aktuellen Zeichen sofort anwhlen.


     6.2.2. "Breite" (Funktionstaste 2)

     Hier stellen  Sie mit  dem Fadenkreuz die neue Breite des Zeichens ein.
     Klicken Sie  dabei auf  diejenige Spalte,  die als  die letzte benutzte
     Spalte gelten  soll. Diese  Spalte und  die links  von dieser liegenden
     gehren dann zum benutzten Teil des Zeichen. Da mit dieser  Methode die
     Auswahl  der  Zeichenbreite  0  nicht  mglich  ist, mu in diesem Fall
     zustzlich beim Mausklick eine  der  Shift-Tasten  gedrckt  werden. In
     diesem Fall  wird die  Breite auf  0 gesetzt, egal in welche Spalte Sie
     geklickt haben.


     6.2.3. "Hor. Verschiebung..." (Alternate V)

     Das Einstellen des horizontalen Offsets eines  Zeichens geschieht hier.

                                       37


     Standardmig besitzt  jedes Zeichen die Verschiebung 0. Insgesamt sind
     nur die Werte zwischen -128 bis einschlielich 127  erlaubt. Mit diesem
     Offset lt sich ein sehr einfaches Kerning realisieren.


     6.2.4. "Zentrieren..." (Funktionstaste 7)

     Das  aktuelle  Zeichen  wird  zwischen  dem  linken Rand und derjenigen
     Spalte, die Sie mit der Funktion "Breite" eingestellt haben, horizontal
     zentriert. Diese Funktion ist wichtig bei Ziffern, die alle die gleiche
     Breite besitzen mssen, da sonst ein  Tabellensatz fast  unmglich ist.
     (Vielen Signum.Zwei!-Fonts ist dies trotzdem neu.)


     6.2.5. "Ausma anpassen..." (Funktionstaste 8)

     Hier knnen  die Rnder  aller Zeichen  neu eingestellt werden. GEMFONT
     kann fr  Sie automatisch  die Zeichenober-  und unterkanten ermitteln.
     Dazu wird  einfach die  letzte oberste und unterste benutzte Pixelzeile
     gesucht. (Praktisch bei importierten Fonts.)
     Wenn Sie einen Wert in die editierbaren Felder  eingeben, dann positio-
     niert  GEMFONT  alle  Zeichen  so,  da  sie  die von Ihnen vorgegebene
     Anzahl von freien Pixelspalten  auf der  rechten/linken Seite besitzen.
     Diese Funktionen werden dann aktiviert, wenn Sie einen Wert in ein Feld
     eintragen. Soll die Funktion nicht ausgefhrt  werden, dann  mu dieses
     Feld leer sein. Die von Ihnen eingestellte Breite der einzelnen Zeichen
     wird automatisch angepat.
     Die Funktion  "Ziffernbreiten  anpassen"  ermittelt  die  grte Breite
     aller Ziffern, pat die Breite aller Ziffern an den gefundenen Maximal-
     wert an und zentriert anschlieend alle Ziffern horizontal.
     Die Anpassung  der Breite  ist besonders  bei vielen Signum.Zwei!-Fonts
     sehr hilfreich,  eine anschlieende  berprfung und Korrektur von Hand
     ist dennoch meistens unumgnglich.


     6.2.6. "Werkzeuge..." (Funktionstaste 3)

     An dieser Stelle finden Sie in einem RaveUp-Men, das an  der aktuellen
     Mausposition erscheint, eine Auswahl von ntzlichen Zeichenfunktionen.

     "Linie"

          Nach  der  Angabe  von  zwei  Koordinatenpunkten  wird eine durch-
          gehende Linie gezogen.

     "Kreis"

          Als erstes gegen Sie  den Mittelpunkt  des Kreises  an, der zweite
          von  Ihnen  zu  setzende  Punkt  gibt den Radius an, der Rand wird
          durch diesen Punkt verlaufen.
          Genaugenommen wird  mit  dem  zweiten  Punkt  nur  der  Radius des
          Kreis(-segmentes) bestimmt,  so da seine Richtung vom Mittelpunkt
          aus betrachtet egal ist.

     "Rechteck"

          Nach der  Angabe der  Koordinaten von  zwei diagonal gegenberlie-
          genden Punkten  eines Rechtecks wird ein ausgeflltes Rechteck ge-

                                       38


          zeichnet.

     "Rand"

          Wie "Rechteck", aber es wird nur der Rand gezeichnet.

     "Fllen"

          Geben Sie einen Punkt  innerhalb einer  Umrandung an,  die gefllt
          werden soll.

     "Umrandung"

          Von dem  Zeichen wird  nur ein  es umgebender Rand gezeichnet. Die
          Ausmae des Zeichens wachsen in alle Richtungen um ein Pixel.

     "Aushhlen"

          Wie "Umrandung", doch von dem Zeichen bleibt nur  der Rand stehen.
          Die Ausmae verndern sich nicht.

     "1. Quadrant" bis "4. Quadrant"

          Wie  "Kreis",  aber  es  wird  jeweils nur ein Kreisviertel in dem
          gewhlten Quadrant gezeichnet.

     "Bogen oben/unten/rechts/links"

          Wie "Kreis", aber es wird in  der angegebenen  Richtung vom Kreis-
          mittelpunkt aus ein Halbkreis gezeichnet.


     6.2.7. "Schieben/Rotieren..." (Funktionstaste 4)

     Zeichen knnen  um einen beliebigen Wert innerhalb ihrer Maske verscho-
     ben bzw. rotiert werden. Geben Sie  dazu die Verschiebe-/Rotierrichtung
     sowie die  Anzahl der  Pixel an, um die verschoben/rotiert werden soll.
     Ein leeres Wertfeld wird  mit dem  Wert 1  gleichgesetzt. Beim Schieben
     gehen Pixel, die ber den Rand geschoben werden verloren, beim Rotieren
     erscheinen sie hingegen wieder auf der gegenberliegenden Seite.
     Mit dem Button "Alle Zeichen bewegen" werden alle Zeichen des Fonts auf
     die gewnschte Art verndert.


     6.2.8. "Spiegeln/Drehen..." (Funktionstaste 5)

     Zeichen  knnen  an  ihrer  X-  oder  Y-Achse  gespiegelt werden. Zudem
     knnen Sie um 90, 180 und 270 Grad in beide  Richtungen gedreht werden.
     Bei Drehungen  um 90  bzw. 270  Grad knnen  Pixel verloren gehen, wenn
     die Breite des Rasters  ungleich dessen  Hhe ist.  Die Drehung  um 180
     Grad ist ein Synonym fr die Spiegelung an der X-Achse.
     Mit dem  Button "Alle  Zeichen spiegeln/drehen" werden alle Zeichen des
     Fonts auf die gewnschte Art verndert.


     6.2.9. "Stauchen/Strecken..." (Funktionstaste 6)

     Ein Zeichen kann sowohl vergrert als  auch verkleinert  werden. Geben

                                       39


     Sie dabei  an, ob in horizontaler, vertikaler oder in beiden Richtungen
     gestreckt/gestaucht werden  soll. Der  von Ihnen  eingegebene Wert gibt
     das Verhltnis  der Grennderung in Prozent an (Beispiel: Strecken um
     den Faktor 2: 2 * 100 = 200, Stauchen um den Faktor 4: (1 / 4)  * 100 =
     0.25 *  100 =  25). Es  knnen auch  alle Zeichen  um die eingestellten
     Parameter vergert/verkleinert werden.
     Seit Version 1.10 werden  die Vergrerung  und Verkleinerung  von zwei
     getrennten Algorithmen behandelt, die jeder fr sich neu entwickelt und
     extrem optimiert wurde. Im Gegensatz zum  alten Algorithmus  konnte die
     Anzahl  der  Fliekommaoperationen  auf  einen Minimum gedrckt werden,
     innerhalb der notwendigen Schleifen  tauchen nur  noch elementare Inte-
     geroperationen auf,  was auch der Grund fr die Geschwindigkeitssteige-
     rung um den Faktor 10 bis 15 ist.
     Der anzugebende Schwellenfaktor wirkt sich nur bei Verkleinerungen aus:
     es wird  errechnet, wieviele  Pixel aus dem Quellraster nach einer Ver-
     kleinerung auf den gleichen Punkt im Zielraster fallen, die betroffenen
     Pixel aus dem Quellraster werden zu einem logischen Bildblock zusammen-
     gefat. Anschlieend  wird  das  Verhltnis  der  tatschlich gesetzten
     Punkte in  einem solchen  Bildblock zu  der Anzahl  der gesamten Punkte
     darin berechnet, der sich ergebende Koeffizient wird mit dem Schwellen-
     wert verglichen,  wird er berschritten, dann wird der Punkt im Zielra-
     ster gesetzt, sonst nicht.
     Ein Schwellenwert von 50 Prozent ist in den meisten Fllen ausreichend,
     doch bei  starker Verkleinerung  dnnen die  Zeichen zu  stark aus, der
     Schwellenwert ist hier zu hoch. In solchen Fllen sollte man ihn auf 40
     oder gar 30 Prozent absenken.
     Bei Vergrerungen  stellt sich dieses Problem nicht, da in keinem Fall
     zwei Punkte aus dem Quellraster auf einen gleichen  Punkt im Zielraster
     fallen knnen.
     Die Aktion kann durch Drcken einer Shift-Taste abgebrochen werden, die
     bereits vernderten  Zeichen  werden  nicht  in  ihren Ursprungszustand
     zurckversetzt.


     6.2.10. "Verfetten"

     Hier kann  das aktuelle  Zeichen horizontal oder vertikal um den Wert 1
     verfettet werden. Der Effekt ist der gleiche wie bei thicken.


     6.2.11. "Komplett lschen" (Alternate L)

     Die Zeichenmaske wird nach  Besttigung  einer  Sicherheitsabfrage kom-
     plett gelscht.


     6.2.12. "Zeichen aufrumen"

     Bei allen  Zeichen werden  diejenigen Pixel, die auerhalb der Zeichen-
     zellenunterkante bzw. der Zeichenbreite  liegen, gelscht.  Zeichen, in
     denen kein  Pixel gesetzt  ist, wird die Breite 0 zugewiesen (Ausnahme:
     das Leerzeichen (Code 32)).


     6.3. Das Men "Editor"

     6.3.1. "Editormaskengre..." (Alternate C)


                                       40


     Die von Ihnen gewhlte  Gre der  Editorpuffer kann  hier nachtrglich
     gendert werden.  Dazu mu aber noch mindestens ein Fontplatz unbenutzt
     sein. Bei Verkleinerung der  Gre gehen  die berstehenden  Pixel ohne
     Warnung verloren.


     6.3.2. "Editorrastergre..." (Alternate R)

     Die Gre  des Editorrasters  kann getrennt  fr die Spalten und Zeilen
     eingestellt werden. Vorgabe sind dabei die Breite des Systemzeichensat-
     zes. Kleine  Werte verschaffen  einen guten berblick, bremsen aber den
     Bildschirmaufbau.


     6.3.3. "Hilfspunkt setzen" (Funktionstaste 9)

     Zur besseren  Orientierung beim  Entwurf von  Zeichen knnen  bis zu 32
     Hilfspunte an  frei whlbaren  Punkten des  Fonts gesetzt werden. Diese
     erscheinen in grauer Rasterung, haben aber  sonst keine  Auswirkung auf
     den Font.
     Zum Setzen  eines Hilfspunkt  whlen Sie  einfach den gewnschten Punkt
     aus.


     6.3.4. "Hilfspunkt lschen" (Alternate W)

     Wollen Sie einen Hilfspunkt wieder entfernen,  dann knnen  Sie die mit
     dieser Funktion  tun. Klicken  Sie den zu lschenden Hilfspunkt einfach
     ein.


     6.3.5. "Alle Punkte lschen"

     Nach Besttigung einer Sicherheitsabfrage werden alle  Hilfspunkte gel-
     scht.


     6.3.6. "nderungen zurcknehmen" (UNDO)

     Wenn Sie  ein neues Zeichen auswhlen, dann wird dieses Zeichen zustz-
     lich in einen internen Puffer kopiert,  bevor Sie  es verndern knnen.
     Wenn  Sie  Vernderungen  gemacht  haben,  diese aber wieder rckgngig
     machen wollen, dann knnen Sie dies mit dieser  Funktion tun.  Wenn Sie
     ein anderes  Zeichen auswhlen, dann werden alle Vernderungen am alten
     Zeichen bernommen, eine Rcknahme ist nicht mehr mglich.


     6.3.7. "Undopuffer aktualisieren" (Control UNDO)

     Diese Funktion finden Sie nicht im  Men, da  sie nur  selten gebraucht
     wird. Das  aktuelle Zeichen  wird mit  dieser Funktion  zu (fast) jedem
     beliebigem Zeitpunkt in den internen Puffer kopiert. Ein Druck auf Undo
     holt  dann  wieder  genau  diese  Kopie wieder zurck, sofern Sie nicht
     inzwischen ein anderes Zeichen ausgewhlt haben.  Das manuelle Erneuern
     kann bei  bestimmten schwerwiegenden  Vernderungen als Sicherung ntig
     sein.



                                       41


     6.4. Das Men "Fontheader"

     6.4.1. "Zeichenextrema..." (Alternate Z)

     Hier stellen Sie die  Parameter first_ade  und last_ade  mittels zweier
     Slider ein.


     6.4.2. "Fontlinien..." (Alternate A)

     Die  Ausrichtungslinien  werden  hier eingestellt. In einem RaveUp-Men
     whlen Sie diejenige Linie aus, die  sie neu  setzen mchten. Anschlie-
     end whlen  sie Zeile  aus, an die die Linie gesetzt werden soll. GEM-
     FONT achtet darauf, da die Linien in der korrekten Reihenfolge vorlie-
     gen und  warnt Sie  gegebenfalls. (Ein beliebter Fehler bei alten GDOS-
     Fonts!)


     6.4.3. "Fontflags..." (Alternate B)

     Die Bits 0 bis 3 des Parameters flags knnen hier gesetzt bzw. gelscht
     werden. Deren Bedeutung wurde bereits erklrt.


     6.4.4. "Fontkenndaten..." (Alternate D)

     Die Parameter  name, id und points werden hier eingegeben. GEMFONT kann
     anhand der  Ausrichtungslinien selbst  den Wert  points berechnen, doch
     dabei orientiert  das Programm  sich an der momentanen Bildschirmaufl-
     sung, weshalb diese Funktion nur fr Bildschirmfonts geeignet ist.


     6.4.5. "Kursivschrift..." (Alternate K)

     Der Wert skew wird  hier bitweise  eingestellt. left_offset  und right-
     _offset werden durch den Button "Gre" automatisch errechnet. Dies ge-
     schieht auch, wenn der Dialog mit "OK" verlassen  wurde. Die Buchstaben
     und Zahlen  ber den  Kstchen stehen  fr das dazugehrige Bit (ausge-
     drkt als Hexadezimalzahl).


     6.4.6. "Fettschrift..." (Alternate F)

     Hier wird der Wert thicken eingestellt.


     6.4.7. "Unterstreichen..." (Alternate G)

     Hier wird der Wert ul_size eingestellt.


     6.4.8. "Helle Schrift..." (Alternate H)

     Der Wert lighten wird hier bitweise eingestellt.


     6.5. Schriftproben


                                       42


     Mit der Taste ESC erreichen Sie einen Dialog, mit dem Sie Schriftproben
     auf dem  Bildschirm und dem Drucker erstellen knnen. Sie knnen entwe-
     der nur das aktuelle Zeichen oder  eine von  Ihnen vorgegebene Zeichen-
     kette ausgeben lassen.
     Wenn  kein  Drucker  verfgbar  ist,  dann ist als Ausgabegert nur der
     Bildschirm mglich. Wurden bei  der Druckerausgabe  zustzliche Zeilen-
     vorschbe gewnscht,  so wird  nach jedem  Ausdruck der Vorschubszhlen
     automatisch um den Wert  4 erhht.  Sie knnen  aber auch  eigene Werte
     vorgeben, beispielsweise 0 beim Beginn einer neuen Seite.
     Seit Version 1.10 ist es endlich mglich, auch die VDI-Textattribute in
     die Schriftprobe mit eingehen zu lassen.  Derzeit knnen  die Attribute
     "unterstrichen",  "kursiv",  "fett"  und  "hell"  beliebig  miteinander
     kombiniert und in ihrer Wirkung auf die Schrift  betrachtet werden. Das
     Attribut "outlined" wird nicht untersttzt, weil es kaum gebraucht wird
     und ich zur Zeit nicht die  Notwendigkeit fr  die (doch  recht kompli-
     zierte) Implementierung sehe.
     Bei der  Ausgabe auf  ein GDOS-Gert  ist folgendes  zu beachten: Nicht
     jedes Gert, da GDOS  als einen  Drucker ansieht,  ist tatschlich ein
     physikalisch  vorhandener  Drucker.  So  kann  der  Treiber IMG-300.SYS
     beispielsweise in eine Datei drucken, wovon GEMDOS nun berhaupt nichts
     wei. Deshalb gilt folgende Konvention:

     -    Druckt der  ausgewhlte GDOS-Treiber  auf einen echten Drucker, so
          sollte dieser vor Druckbeginn bereits ONLINE sein. GEMFONT bemerkt
          dies (d.h.  da der  Drucker ONLINE ist) und schickt dann noch die
          gewnschte Anzahl von Zeilenvorschben voraus.
     -    Druckt der ausgewhlte GDOS-Treiber  nicht auf  einen echten Druk-
          ker, so  sollte ein trotzdem angeschlossener Drucker OFFLINE sein.
          GEMFONT bemerkt dies ebenfalls und unterdrckt  stillschweigend in
          diesem Fall  die Ausgabe  von irgendwelchen Positionierungskomman-
          dos, die ja sowieso sinnlos wren.




























                                       43


     7. Hufige Fragen, Probleme und Tips

     -    Wieso kann GEMFONT  keine  Speedo-Schriften  verarbeiten?  Bei den
          Speedo-Schriften handelt  es sich  um Bitstream-Schriften, also um
          Vektorschriften, obwohl  der  Name  "Bitstream"  etwas irrefhrend
          ist. Bei den Vektorschriften handelt es sich um ein vllig anderes
          Konzept als bei den Pixelorientierten GDOS-Schriften. Wenn GEMFONT
          mit  Vektorschriften  arbeiten  sollte,  dann  msste das Programm
          komplett umgeschrieben werden. Zudem ist das Format der Bitstream-
          Schriften meines  Wissens nicht  fr normal Sterbliche zugnglich,
          so da ich nur im Trben fischen wrde.

     -    viele alte GDOSse (etwa die Versionen 1.0, 1.1 und 1.8  von Atari)
          haben Probleme, Fonts im Motorola-Format zu verarbeiten. Berichten
          zufolge sollen die Reaktionen von leicht  verrgert ber Pixelmll
          bis  hin  zur  Bombenstimmung  reichen. Da ich nicht selbst solche
          Uraltversionen besitze, mu ich mich hier  auf Hrensagen sttzen.
          Sollten Sie  selbst noch  mit solchen veralteten GDOSsen arbeiten,
          so sollten  Sie entweder  auf Fonts  im Motorola-Format verzichten
          oder  aber  schleunigst  auf  modernere  Versionen umsteigen (bei-
          spielsweise AMC-GDOS oder NVDI).
          Einem Bericht  der  ST-Computer  zufolge  hat  auch  Speedo wieder
          krftige Probleme  mit Fonts im Motorola-Format. Da fragt man sich
          langsam, was einige der Programmierer bei Atari so  die ganze Zeit
          machen.

     -    Sollten Sie  noch mit dem original Atari-GDOS arbeiten (diejenigen
          Versionen vor AMC-GDOS, ich meine jedoch  nicht Speedo!),  so rate
          ich Ihnen dringenst, auf andere GDOSse umzusteigen. Dafr sprechen
          folgende Grnde:

          -    Die Atari-GDOSse  sind stark  fehlerbehaftet, vieles funktio-
               niert nicht  so, wie es sein sollte, und wenn, dann meist nur
               teilweise.
          -    Die Atari-GDOSse bremsen alle Ausgaben  ber  GEM  um  ca. 30
               Prozent ab (kein Scherz). Dies ist ein unzumutbarer Zustand.
          -    Viele  Gertetreiber  arbeiten fehlerhaft oder erschrek-
               kend langsam unter Atari-GDOS.
          -    Neuere GDOS-Versionen besitzen viele inzwischen weit genutzte
               Erweiterungen.

          Sollten Sie  noch mit  einer solchen  Version arbeiten und es gibt
          Probleme mit GEMFONT oder dessen Fonts, so sollten Sie erst einmal
          ein  anderes  GDOS  einsetzen  und  schauen,  ob die Probleme noch
          existent sind, bevor Sie sich an mich wenden.

     -    Die Installation von GDOS  selbst ist  besonders fr  Neulinge oft
          ein echtes  Rtsel. Aus  verstndlichen Grnden  verweise ich hier
          auf die Anleitungen zu  AMC-GDOS oder  NVDI etwa,  die sich diesem
          Problem ausfhrlich annehmen.

     -    Hufig besteht die Versuchung, einen Font, der in einer bestimmten
          Auflsung fehlt, durch Vergrerung oder Verkleinerung von bereits
          bestehenden  Fonts  zu  erzeugen.  Dies ist durchaus mglich, doch
          sollten Sie sich vor Augen halten, da die  neu entstandenen Fonts
          intensiv nachbearbeitet  werden mssen.  Trotzdem ist das Ergebnis
          meist nicht unbedingt  sthetisch  (beispielsweise  das Verhltnis
          Breite zu Hhe), denn das Auge nimmt etwa kleine Fonts anders wahr

                                       44


          als groe Fonts. Also sollte  man  sich  vorher  berlegen,  ob es
          nicht sinnvoll wre, den fehlenden Font komplett neu zu erstellen,
          auch wenn dies viel Arbeit ist, doch das  Ergebnis ist  dann meist
          wesentlich besser.

     -    Bei Schriftproben  auf 24-Nadeldruckern mu die lighten-Maske sehr
          "lchrig" gewhlt werden, da die Standardmaske, die immerhin jedes
          zweite Pixel unterschlgt, ihre Wirkung erst unter einer Lupe ent-
          faltet. Generell kann gesagt werden,  da  bei  mageren  Fonts die
          Maske "dichter"  sein mu als bei fetten Fonts, da sonst die Seri-
          fen in ihrer Feinheit zu stark Schaden nehmen.

     -    Manche Programme weigern sich, mit eigenen GDOS-Fonts zu arbeiten,
          solange  kein  passendes  Metafont-File  fr  den Metafile-Treiber
          angemeldet wurde. Eine ltere  Version  des  Zeichenprogramms Kan-
          dinsky verhlt sich beispielsweise so.











































                                       45


     8. Bezugsquellen fr GDOS

     8.1. GDOS

     Inzwischen ist GDOS recht weit verbreitet und einfach zu erhalten. AMC-
     GDOS ist bis einschlielich Version 3.21 Public Domain  und unter ande-
     rem bei  Atari Deutschland  gegen Einsendung  eines frankierten Rckum-
     schlag inklusive Disketten erhltlich  (nheres  siehe  unten).  Es ist
     aber auch auf vielen FTP-Servern oder in vielen DF-Netzen zu finden.
     Alle spteren Versionen von AMC-GDOS werden in Zusammenhang mit kommer-
     ziellen Produkten (Version 5 beispielsweise mit  X-Act) oder Shareware-
     produkten  (eine  eingeschrnkte  Version  4 beispielsweise mit Gemini)
     vertrieben.
     Daneben ist das NVDI in der Version >= 2.1 wrmstens  zu empfehlen, da
     neben einer deutlichen Bildschirmbeschleunigung auch ein sehr gutes und
     erweitertes GDOS mit sich bringt. NVDI wird von der Firma  "Bela Compu-
     ter, Eschborn" vertrieben. Selbst im Zusammenspiel mit Speedo kann NVDI
     noch einiges bewirken.
     Von Atari USA gibt es ein inzwischen nicht mehr ganz so neues  GDOS mit
     dem Namen  FontGDOS. Wesentliche Neuerungen sind die Fhigkeit, Bezier-
     kurven ausgeben zu knnen sowie das Fontcaching, d.h.  Fonts werden nur
     noch bei  Bedarf geladen,  was viel Speicher spart. Zudem liegen diesem
     Paket eine Flle von z.T. stark  optimierten GDOS-Druckertreibern inkl.
     Konfigurationsprogrammen bei;  allein dies  macht das  Paket schon sehr
     wertvoll.
     Leider bietet FontGDOS auch weniger  schne  Seiten;  etwa  da  es das
     System um  ca. 25  Prozent bremst (so gemessen mit meinem TOS 2.05) und
     Probleme mit der Speicherverwaltung  sowie einigen  nachweislich sauber
     programmierten  GEM-Programmen  hat  (beispielsweise ein krachender Ab-
     sturz beim Polygontest in  GEM_TEST.PRG,  weil  FontGDOS offensichtlich
     davon ausgeht, da standardmig Bezierkurven statt Polygonen verwendet
     werden sollen). Im NewsNet habe ich inzwischen Mitteilungen von anderen
     Anwendern gelesen,  die von  weiteren z.T.  greren Fehlern berichten.
     Wer  jedoch  noch  keine  passenden  Druckertreiber  hat,  der  ist mit
     FontGDOS gut bedient.
     Seit  Ende  April  1993  ist  nun  endlich Speedo-GDOS fr ca. 100,- DM
     erhltlich. Da  ich  bisher  damit  keine  eigenen  Erfahrungen sammeln
     konnte, mu  ich mich  hier auf die Fachpresse berufen, die sich jedoch
     schon im Vorfeld beeindruckt von der Anzahl und  der Hochwertigkeit der
     Schriften zeigt.


     8.2. GDOS-Fonts

     Bezugsadressen fr frei zugngliche GDOS-Fonts anzugegen, fllt schwer.
     Einige Firmen  legen ihren  Produkten einige  Fonts bei (beispielsweise
     EasyDraw oder  X-Act), die  dann allerdings Teil des Programms sind und
     durch dessen Copyrightbestimmung gegen eine Weiterverbreitung geschtzt
     sind. Wohl  kaum ein Anwender wird sich solch ein Programm kaufen, blo
     weil er dessen Fonts gebrauchen kann.
     In einigen Mailboxen und FTP-Servern gibt  es Archive,  die einen Gro-
     teil der verfgbaren Fonts erhalten. Leider sind diese Sammlungen nicht
     vollstndig, meist fehlen die  Druckerfonts, oder  es gibt  keine Fonts
     fr die  mittlere Bildschirmauflsung oder Metafonts. Dies liegt jedoch
     nicht an den Zusammenstellern dieser Sammlungen, sondern einfach an dem
     verfgbaren Angebot an Fonts.
     Meines Wissens  bietet Atari  selbst einige  GDOS-Fonts im Zusammenhang
     mit dem GDOS-Kit an, das  jeder  direkt  bei  Atari  beziehen  kann. Um

                                       46


     dieses zu  erhalten, schicken  Sie einen  einen mit 3,00 DM frankierten
     DIN C5 Umschlag, der wiederum einen an sich  selbst adressierten geft-
     terten  DIN  C5  Rckumschlag  enthlt (ebenfalls 3,00 DM), an folgende
     Adresse:

          Atari Deutschland GmbH
          Abteilung Kundensupport
          Am Kronberger Hang 2
          D-6231 Schwalbach

     Wichtig: Sie mssen selbst drei Disketten mitschicken (deshalb das hohe
     Porto)  sowie  in  einem  kurzen  Brief  um die Zusendung des GDOS-Kits
     bestehend aus Fonts und Treibern bitten,  sonst wei  niemand beim Kun-
     densupport,  was  Sie  wollen.  Woraus dieses Kit im einzelnen besteht,
     kann ich (noch) nicht sagen, da ich erst vor kurzem von dieser Mglich-
     keit erfahren habe.
     Frei verfgbare  Druckerfonts fr  24-Nadler oder Laserdrucker sind mir
     ansonsten bisher  nicht untergekommen,  hier hilft  nur das Importieren
     bzw. Selbsterstellen.
     Wer dennoch  auf hochwertige Fonts angewiesen ist, dem bleibt nur Spee-
     do-GDOS brig. Die Quantitt und Qualitt  der dazugehrigen  Fonts ist
     sehr  hoch,  doch  sollte  man  sich auch vor Augen halten, das Speedo-
     Fonts kommerziell entwickelt  und  vertrieben  werden.  Die  Preise fr
     einen  Font  scheinen  sich  in  der gleichen Preisklasse wie fr einen
     Calamus-Font einzupendeln und sind damit wohl  nur noch  fr professio-
     nelle  und  kommerzielle  Anwender  interessant. Es macht also durchaus
     Sinn, sich weiterhin auch auf dem Gebiet der Pixelfonts zu bettigen!
































                                       47


     9. Interna

     9.1. Wie alles anfing

     GEMFONT besteht grob gesehen aus  zwei  Teilen:  einem  selbst program-
     mierten GEM-Skelett,  und dem Fonteditor selbst, der auf diesem Skelett
     aufbaut.
     Nach meinen ersten greren GEM-Projekten stellte ich schnell fest, da
     bei der  Programmierung viele  wiederkehrende Routinearbeiten anfallen,
     die sich anbieten, zu  eigenen  Modulen  zusammengefat  zu  werden. So
     entstanden die ersten Module des Skeletts noch unter MWC 3.0.
     Mit der  Zeit kamen  mehr und  mehr Module  dazu, um im Herbst 1991 be-
     schlo ich, auf Lattice C 5.5 umzusteigen. Ende Februar 1992  hielt ich
     den  Compiler  dann  endlich  in  meinen Hnden ("... ja, er wird diese
     Woche verschickt!").
     Erneut begann ich, meine GEM-Modulbibliothek auf  Lattice C  zu portie-
     ren. Doch  schon nach  wenigen Wochen  war ich ber dessen (nach meiner
     Meinung) unvollstndiges  und  unbrauchbares  deutsches  Handbuch sowie
     ber einige (inzwischen behobene) unangenehme Eigenheiten des Compilers
     dermaen verrgert, da ich  mich notgedrungen  entschied, erneut umzu-
     steigen, diesmal  auf den GNU C-Compiler V2.x.x der FSF (siehe auch die
     Artikelserie im ST-Magazin ab  8/92). (Leider  konnte der  gute Support
     der Firma  CCD mir  damals auch  nicht weiterhelfen. Eigentlich schade,
     denn der Compiler ist an sich gut).
     Mit GCC verstand ich mich auf Anhieb bestens, da Skelett gedieh prch-
     tig, bis  es Mitte 1992 nahezu ausgewachsen war. Um es praktisch einzu-
     setzen, beschlo  ich,  GEMFONT  erneut  anzugehen,  nachdem  der erste
     Versuch vor zwei Jahren aus Zeitmangel gescheitert war. Da ich noch auf
     die Konzepte aus dieser  Zeit  zurckgreifen  konnte,  entwickelte sich
     GEMFONT recht  schnell, die erste komplette Version stand Mitte Oktober
     1992.


     9.2. Ein paar Fakten

     Das komplette Programm besteht z.Z. aus ca. 20000 Zeilen   die sich auf
     33 C-Module,  10 Header-Files  und 1  kleines Assembler-Modul verteilen
     und insgesamt ungefhr 700 Kbyte  Umfang  erreicht  haben.  Das Skelett
     besteht aus  ca. 9000  Zeilen, den Rest verbucht der eigentliche Editor
     fr sich.
     Die Entwicklung fand und findet auf  einen Mega  STE 4  mit 85 MB-Fest-
     platte statt.  Als Compiler  wird der  (meiner Meinung  nach sehr gute)
     GNU-C-Compiler V2.x.x der Free Software Foundation (FSF) verwendet, den
     ich jedem  empfehlen kann, der genug Speicher hat. Als Libraries wurden
     die MiNT-Library PatchLevel 32, die GEM-Library  PatchLevel 27  und die
     Portable Math Library PatchLevel 21 verwendet.
     Dabei wurden  alle Dateioperationen  nicht direkt ber das GEMDOS abge-
     wickelt, sondern  der MiNT/GNU-Library  berlassen, was  sich (so hoffe
     ich)  positiv  auf  die  Zusammenarbeit mit MiNT und MultiTOS auswirken
     wird. Probleme  mit MiNT  gibt es  jedenfalls nicht  (getestet mit MiNT
     0.96 PatchLevel 14, MiNT 0.99 PatchLevel 2 und MiNT 1.04).


     9.3. Laden und Speichern von Fonts

     Das GDOS-Fontformat ist zwar recht speicherplatzsparend, aber nur wenig
     zum direkten Editieren geeignet, auer man benutzt aufwendige Algorith-
     men, bei denen stndig groe Speichermassen verschoben und kopiert wer-

                                       48


     den mten. Ich habe aber den  Weg der  Einfachheit vorgezogen  (ja ja,
     ich wei...),  und deshalb  wird der  Font bei Laden in einzelne Puffer
     von konstanter Gre ausgepackt.  Dies erfolgt  auf die  gleiche Weise,
     wie das  VDI seine  Zeichen ausgibt: ber die Funktion vro_cpyfm. Da in
     der Character-Offset-Tabelle  alle wichtigen  Positionen vermerkt sind,
     geschieht dies  ohne weiteren  Rechenaufwand. Beim Speichern wird genau
     der umgekehrte Weg gegangen:  die Puffer  werden mittels  vro_cpyfm zum
     "Fontbild" zusammengesetzt.
     Darberhinaus wird  vro_cpyfm noch  in vielen anderen Funktionen einge-
     setzt, von den Verfremdungsfunktionen bis zu  den Pufferfunktionen hin.
     Dies bedeutet,  da die Rasterkopierfunktion unbedingt fehlerfrei funk-
     tionieren mssen, was heute  auch bei  Grafikkarten aber  der Fall sein
     drfte.  Kleiner  Nach-  oder  auch Vorteil: die Geschwindigkeit dieser
     Funktion beeinflut viele andere Funktionen, so  kann ein  Blitter oder
     NVDI sie  sehr beschleunigen.  Eine spezielle  Kopierroutine wre viel-
     leicht schneller ("... das  ist dann  wieder Arbeit."),  dafr wre der
     Aufwand aber  wieder hher  ("... wir  Informatiker sind  von Natur aus
     faul." Hallo Michael!)









































                                       49


     10. Fontregistrierung

     10.1. Die Idee

     Hinter der Idee, GDOS-Fonts  "registrieren" zu  lassen, steht folgender
     Gedanke: Da jeder Font eine Kennung (ID) besitzt, ist es notwendig, da
     diese ID nicht mehrfach fr verschiedene  Fonts vergeben  wird. Um dies
     zu  verhindern,  wird  jeder  Font registriert, d.h. wichtige Fontdaten
     werden in eine Liste aufgenommen, die allen zugnglich ist (obwohl eine
     mehrfache Belegung  nicht so  schlimm ist wie beim XBRA-Verfahren). Auf
     diese Weise kann man auch sehen, welche Fonts bereits existieren, damit
     man vielleicht  das Rad  nicht noch  einmal erfindet bzw. zeichnet. Wer
     die XBRA-Registrierung kennt, dem wird dieses Konzept bekannt sein.
     Die jeweils aktuelle Liste wird mit  jedem neuem  Update verteilt, kann
     aber auch  bei mir  auf Diskette angefordert werden (gleiches Verfahren
     wie das Anfordern einer Kopie von GEMFONT).
     Natrlich hngt die Zukunft dieser Idee  stark davon  ab, wie  gro die
     Resonanz, sprich  die Mitarbeit  ist (obwohl  man das ja eigentlich gar
     nicht als Arbeit bezeichnen kann). Also ...!


     10.2. Die Registrierung

     Um einen oder mehrere Fonts in die Liste aufnehmen zu  knnen, bentige
     ich folgende Angaben:

     -    die Font-Kennung (font_id) (Beispiel: "83")
     -    den Font-Namen (Name + Stil) (Beispiel: "Times bold")
     -    fr  welches  Ausgabegert/Auflsung  in  welchen Gren verfgbar
          (Beispiel: "300 DPI: 8,9,10,12 points, High: 4,6,8 points")
     -    Angabe ber das  Original  (Beispiel:  "Konvertierte SIGNUM.Zwei!-
          Schrift 'Dutch'", oder "mit GEMFONT erstellt" etc.)
     -    Bemerkungen (z.B. Fehler im Header)
     -    Bei kommerziell vertriebenen Fonts die vollstndige Bezugsadresse.
          Ansonsten geben Sie bitte mglichst genau  an, woher  man den Font
          bekommen kann  (etwa PD-Versand  oder bei einem Autor etc.), damit
          auch andere Benutzer diesen bei Bedarf erhalten knnen.
     -    Name und Anschrift des  Autors  des  Fonts  (sofern  bekannt, wenn
          mglich auch Netz-Adresse (Mailbox, FTP etc.))

     In jedem  Fall bentige ich fr Rckfragen unbedingt die Adresse derje-
     nigen Person, der mir Fonts  zur  Registrierung  anbietet.  Sollten Sie
     ber InterNet  erreichbar sein,  dann geben  Sie bitte  auch ihre Netz-
     adresse an, meine finden Sie weiter oben. Scheuen Sie sich dabei nicht,
     auch Fonts  registrieren zu  lassen, die nicht von Ihnen stammen. Damit
     die Liste mglichst vollstndig wird, erbitte  ich auch  die Registrie-
     rung von  Fonts kommerzieller  Produkte. Ebenso  bitte ich um Ergnzung
     oder Korrektur von bereits vorhandenen Angaben.


     10.3. Anfragen

     Anfragen bezglich Fonts sollten  Sie  zuerst  versuchen,  anhand einer
     aktuellen Fontliste  abzuklren. Sollten  Sie dennoch  Fragen haben, so
     knnen Sie mit mir Kontakt aufnehmen, entweder per  Post oder  ber das
     InterNet. Wenn Sie mir schreiben, legen Sie bitte ausreichend Rckporto
     bei.


                                       50


                            Antrag auf Registrierung

     Hiermit bitte ich um die Registrierung als Anwender  von GEMFONT. Meine
     Adresse lautet:


               __________________________________________________
                               (Vor- und Nachname)

               __________________________________________________
                             (Strae und Hausnummer)

               __________________________________________________
                                (PLZ und Ortname)

               __________________________________________________
                                     (Land)


     Den Sharewarebetrag von DM 30,- zahle ich wie folgt:

          [ ] - bar

          [ ] - per  Scheck  (Verrechnungsschecks  bitte  auf "Sascha Blank"
                ausstellen.)

     Folgende Angaben sind freiwillig und sollen dem Programmautor lediglich
     helfen,  sich  besser  auf  die  Ausstattung der Benutzer einstellen zu
     knnen:

             Computer (genaue Bezeichnung): ________________________

             Speicherausbau: ______ MByte        TOS-Version: ______

             Ich besitze folgenden Drucker: ________________________

             Er bietet folgende Auflsung (in DPI): ________________


     Wie sind Sie auf dieses Programm  aufmerksam geworden,  woher haben Sie
     diese Kopie erhalten?

          ____________________________________________________________

     Wenn Sie  ber InterNet  erreichbar sind und ber die Weiterentwicklung
     von GEMFONT auf dem  Laufenden gehalten  werden wollen,  dann geben Sie
     bitte hier ihre Email-Adresse an:

          ____________________________________________________________

     Ich  bin  damit  einverstanden,  da  meine Daten zu Verwaltungszwecken
     elektronisch gespeichert  werden. Eine  Weitergabe an  Dritte findet in
     aber keinem Fall statt. Falls Sie nicht einverstanden sind, dann strei-
     chen Sie diesen Absatz.


        ______________________________     ______________________________
               (Unterschrift)                     (Ort und Datum)

