eXtended Universal FontSeLektor
===============================

(c) 1994 RoSoft
         Stefan Rogel
         Khlerweg 1
   67661 Kaiserslautern

   Bankverbindung: Kreissparkasse Kaiserslautern
                   BLZ  540 502 20
                   Kto. 100 807 577

Erreichbar im Mausnetz unter Stefan Rogel (@LU und @WI2).

Der xUFSL ist Freeware und darf beliebig zusammen mit folgenden Dateien
weitergegeben werden:

XUFSL
  - XUFSL.PRG     Der xUFSL selbst
  - XUFSL.CHG     Versionshistorie des xUFSL
  - XUFSL.TXT     Kurzanleitung zum xUFSL

  XUFC
  - XUFC.CPX      Ein kleines CPX-Utility zur applikationsunabhngigen Konfigu-
                  ration des xUFSL
  - XUFC.TXT      Kurzanleitung zum xUFC

  Fr Programmierer sind sicherlich noch folgende Dateien interessant:

  - XUFSL.H       Definitionen fr den xUFSL

  CALLUFSL
  - CALLUFSL.PRG  Programm mit Quelltexten (PureC 1.1) zum Aufruf des xUFSL
  - CALLUFSL.C
  - CALLUFSL.RSC
  - CALLUFSL.H
  - CALLUFSL.HRD
  - CALLUFSL.PRJ

  COOKIE
  - COOKIE.C      Teilweise um C-Aufrufe erweitere Routinen zur COOKIE-Verwal-
  - COOKIE.H      tung. Die Originale sind von Arnd Beissner und in jeder gut
  - COOKIE.LIB    sortierten Mailbox zu finden.
  - COOKIE.S

Obwohl ich den xUFSL auch dann weiterentwickeln werde, wenn keine Reaktionen
in Form von Spenden, Anregungen oder Fehlermeldungen kommen, wre ich fr eben-
solche (insbesondere erstere) sehr dankbar.
Insbesondere wrde mich interessieren, ob und welche Programme von den erwei-
terten Optionen des xUFSL Gebrauch machen.
Fr die Implementierung des xUFSL-Aufrufes kann CALLUFSL.PRG mit den beiliegen-
den Quelltexten zu rate gezogen werden. Dieses Programm ist zwar 'quick and
dirty' geschrieben und nicht gerade ausfhrlich (soll heien: gar nicht) kom-
mentiert, sollte jedoch von jedem Entwickler verstanden werden. In XUFSL.H habe
ich die verschiedenen Mglichkeiten des xUFSL fr Entwickler einigermaen aus-
fhrlich erlutert.


Wieso noch ein Fontselektor?
============================

Die mir bekannten "Zeichensatzauswahldialoge" sind zwar ganz brauchbar, wer-
den jedoch den steigenden Anforderungen, die sich mit Einfhrung der Multi-
tasking-Betriebssysteme und des SpeedoGDOS ergeben haben, nicht mehr gerecht.
Der "FONTSEL" von Holger Weets (1.00/11.5.94) ist bei mir (MagiC 2.0, Speedo
5.0a) nicht lauffhig, da er sich nach der Installation bei jedem Aufrufversuch
nur mit Bomben meldet...
Die Urversion, der UFSL von Michael Thnitz, luft zwar korrekt, bietet jedoch
zu wenig Parametrierungen.


Die Konsequenz?
===============

Zunchst dachte ich, um eine Neuprogrammierung herumzukommen und habe etliche
Mailboxen durchwhlt, jedoch vergebens.
Also habe ich mich schweren Herzens hingesetzt und einen neuen Fontselektor
implementiert.


Das Ergebnis
============

Herausgekommen ist, so meine ich, ein Progrmmchen, das sich durchaus sehen
lassen kann. Hier eine Kurzbeschreibung:
- Kompatibel zum UFSL von Michael Thnitz bis zur letzten Version 0.97
- xUFSL bietet wahlweise einen unmodalen Fensterdialog
- Neben der Auswahl der Schrift kann der Anwender zustzlich folgende Para-
  meter einstellen:
  . Schriftgre (bei skalierbaren Zeichenstzen jede Zwischengre)
  . Schriftbreite inkl. Kerning-Informationen: Pair- und Track-Kerning
    (nur bei skalierbaren Zeichenstzen)
  . Schriftneigung (ebenfalls nur bei skalierbaren Zeichenstzen)
  . Schriftfarbe
  . Schriftattribute, wahlweise wird als zustzliches Attribut
    die invertierte Schrift untersttzt (TF_INVERS:=0x40).
- Der Beispieltext kann durch Anklicken umgeschaltet werden.
- Anzeige der aktuellen Font-ID.
- Der Dialog ist bis auf die Farbauswahl komplett tastaturbedienbar.
- Flexible Parametrierung, jede Funktion kann wahlweise abgschaltet werden.
- Als besonderes Bonbon besteht die Mglichkeit, die Dialogzeichenstze des
  xUFSL einzustellen. Es sind alle Bitmap-Zeichenstze erlaubt, die 8 Punkte
  (kleiner Zeichensatz) bzw. 10 Punkte (groer Zeichensatz) gro sind. Default-
  mig wird der Systemzeichensatz verwendet.
  Gut sieht z.B. der proportionale Chicago-Zeichensatz aus!
- Smtliche Parameter knnen in Zusammenareit mit dem xUFC applikationsunabhn-
  gig konfiguriert werden.
- Ein kleiner Wermutstropfen: xUFSL ist mit ca. 58 KB relativ gro geraten, was
  allerdings in der heutigen Zeit keine allzu wichtige Rolle mehr spielen soll-
  te. An diesem "Manko" werde ich in Zukunft noch arbeiten.

Als Beispiel fr den Aufruf des xUFSL kann das im Quelltext beiliegende Pro-
gramm CALLUFSL.PRG dienen. Dort kann man auch mit den verschiedenen Optionen
"herumspielen".

Ich habe xUFSL mit verschiedenen Programmen ausgetestet und dabei keine Fehler
mehr feststellen knnen. Da ich leider keinen Farbmonitor besitze, konnte ich
die Farbeinstellungen nicht austesten. Insbesondere hier wre ich fr Erfah-
rungen dankbar. Der xUFSL bentigt mindestens eine Auflsung von 640*400 Punk-
ten.


Verwendete Hardware
===================

Meine Systemkonfiguration ist leider nicht mehr die aktuellste:
   Atari 520 ST+ von 1985 (...und luft und luft... seitdem ohne Defekte!),
   erweitert auf 4+1 MB mit
   - TOS 1.04 und MagiC 2.0 bzw. MultiTOS
   - SpeedoGDOS 5.0a
   - OverScan auf SM124 (auch noch von 1985!)
Unter diesen Konfigurationen luft xUFSL einwandfrei.


Verwendete Software
===================

PureC 1.1        Leider immer noch, wann gibts endlich die Version 2.0?
Interface 2.21   Aus meiner Sicht das beste Programm zum "Designen" von
                 Resourcen.


Installation
============

Die Installation des xUFSL kann entweder im AUTO-Ordner oder per Aufruf des
XUFSL.PRG vom Desktop aus erfolgen.
Der xUFSL installiert sich mit dem Cookie "UFSL", sofern dieser noch nicht be-
legt ist. Zur Unterscheidung zu den bekannten Fontselektoren trgt er in der
installierten Struktur die ID "xUFS" ein.


Begriffe
========

GDOS:         'Graphics Device Operating System', u.a. zur Verwaltung von Ger-
              tetreibern und Zeichenstzen zustndig. Da das GDOS von ATARI
              lange stiefmtterlich behandelt wurde, konnte es sich nicht nen-
              nenswert verbreiten. Dies hat sich erst in der jngsten Zeit mit
              der Entwicklung des einigermaen leistungsfhigen SpeedoGDOS und
              der erfreulichen Tendenz zu standardisierten Applikationen grund-
              legend gendert.
Fontselektor: Ein Programm, das analog der im GEM integrierten Dateiauswahlbox
              die Wahl von installierten Schriften ermglicht.
Bitmap-Fonts: Zeichenstze, deren Darstellung auf einer Pixelmatrix basiert.
              Solche Zeichenstze waren bis zur Einfhrung des FSM-GDOS Stan-
              dard. Ein typisches Beispiel ist der Systemzeichensatz des ATARI.
              Nachteil: Fr jede Zeichengre mu eine eigene Matrix definiert
              werden, da eine algorithmische Matrixvergrerung ein hliches
              Schriftbild ('Treppchenbildung') ergibt.
Vektorfonts:  Im Gegensatz zu Bitmap-Fonts werden solche Zeichenstze anhand
              von sog. Sttzpunkten definiert, durch die Kurven (Bezier-Kurven)
              gelegt werden. Solche Zeichenstze knnen ohne Qualittsverluste
              in jeder beliebigen Gre dargestellt werden, sind also 'skalier-
              bar'.


Kurzanleitung
=============

Der xUFSL dient zur Zeichensatzauswahl fr alle Programme, die einen UFSL
untersttzen. Je nach aufrufendem Programm bietet er unterschiedliche Mglich-
keiten:

Bereich (Alt-C): Auswahl des Bereiches bzw. Fensters o.., fr den der Zei-
                 chensatz verwendet werden soll. Dieses Popup ist applika-
                 tionsabhngig und evtl. nicht zu sehen.
Font (Alt-F):    Auswahl des Zeichensatzes. Durch Anklicken kann einer der
                 installierten Zeichenstze ber ein Popup ausgewhlt werden.
                 Das Popup ist komplett mit der Tastatur bedienbar:
                 Pfeiltasten:         Nchster/vorheriger Eintrag
                 Shift+Pfeiltasten:   Seite unten/oben
                 Control+Pfeiltasten: Erster/letzter Eintrag
                 Mit dem Anfangsbuchstaben knnen zyklisch alle Eintrge
                 gewhlte werden, die mit diesem Buchstaben beginnen.
Gre (Alt-G):   Auswahl der Fontgre. Es werden alle installierten Gren,
                 wenn es die Applikation untersttzt, auch eine Default-Gre,
                 angeboten. Bei skalierbaren Zeichenstzen kann im Feld
                 "Punkte" (Alt-P) eine beliebige Gre eingetragen werden.
                 Wenn die Punkteingabe mit <Shift>+Ziffernblock erfolgt,
                 unterbleibt das u.U. nervende Redraw des Textbeispiels!
Breite (Alt-B):  Auswahl der Schriftbreite analog der Gre. Zur Auswahl
                 werden neben der Defaultbreite die viertel, halbe, ganze,
                 doppelte und vierfache Breite angeboten. Diese Mglichkeit
                 bieten nur skalierbare Zeichenstze.
Kerning-Infos:   Die Breite des auszugebenden Textes kann bei Vektorzeichenst-
                 zen zustzlich ber das sog. 'Kerning', zu deutsch: 'Unter-
                 schneiden', gesteuert werden. Mit dem Schalter "Paar-Kerning"
                 (Alt-N) kann das Unterschneiden bestimmter Buchstabenpaare
                 (z.B. 'Ve' oder 'Fa', je nach Zeichensatz) eingeschaltet wer-
                 den. Dies hat zur Folge, da die betroffenen Paare 'ineinan-
                 dergeschoben' werden.
                 Mit dem Schieberegler "Weite" kann der generelle Abstand zwi-
                 schen den Zeichen verndert werden. Ein hherer Wert bewirkt
                 ein nheres Zusammenrcken der Buchstaben (Alt >/<, Ctrl >/<).
Neigung:         Definition der Neigung bei skalierbaren Zeichenstzen
                 (Alt +/-, Ctrl +/-).
Farbe:           Auswahl einer Schriftfarbe, leider nicht per Tastatur.
Attribute:       Beliebig kombinierbare Attribute. Diese sollten nur bei Bit-
                 map-Zeichenstzen verwendet werden, da fr Vektorzeichenstze
                 i.a. eigene Schriftschnitte zur Verfgung stehen.
Beispiel:        Mit einem Klick auf dieses Feld kann aus verschiedenen Text-
                 beispielen ausgewhlt werden. Zustzlich wird als berschrift
                 des Feldes die ID des eingestellten Zeichensatzes angezeigt.
                 Mit einem Doppelklick werden alle eingestellten Parameter in
                 das Textbeispiel bernommen. Applikationsabhngig kann diese
                 Aktualisierung auch automatisch erfolgen.
Info (Alt-I):    Kurzinformation ber den xUFSL.
Hilfe (Alt-H):   Hilfefunktion der rufenden Applikation, sofern diese das
                 untersttzt.
Ok (Alt-O):      bernahme der gemachten Einstellungen.
Abbruch (Alt-A): Verwerfen der Einstellungen.

Links neben dem Zeichensatznamen wird mittels eines Bildchens die Art des
Zeichensatzes angezeigt (hnlich wie bei Phnix 3.5). Dabei steht
- das 'System'-A fr einen unproportionalen Bitmap-Zeichensatz,
- das 'proportionale' A fr einen proportionalen Bitmap-Zeichensatz und
- das 'Speedo'-S fr einen Vektorzeichensatz.

Der FULLER des Fensters, sofern vorhanden, zentriert den Dialog, der CLOSER
entspricht, sofern vorhanden, dem "Abbruch"-Knopf.

Viele Applikationen, die SpeedoGDOS oder ein anderes GDOS nicht mit allen
Mglichkeiten aktiv untersttzen, bieten nur die Einstellung des Zeichensatzes
und der Schriftgre an. Ebenso werden u.U. nur die unproportionalen Fonts zur
Auswahl angeboten.


Danksagungen
============

Fr die Untersttzung bei der Fehlersuche und fr neue Anregungen mchte ich,
und wenns auch noch so abgedroschen klingt, namentlich folgenden Leuten danken:
- David Reitter @ WI2
- Gerhard Hlscher @ MS2
- Ralf Heckmann @ IZ
- Dirk Allard @ WI2

... und natrlich:
- Michael Thnitz @ BI, von ihm stammt schlielich die UFSL-Idee.
- Holger Weets @ OL fr diverse Programme, u.a. ST-Guide und Fontsel.


14.09.1994 Stefan Rogel
23.09.1994 Anpassung an Version 1.02
01.10.1994 Anpassung an Version 1.03
