home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Computer Club Elmshorn Atari PD
/
CCE_PD.iso
/
mac
/
1000
/
CCE_1044.ZIP
/
CCE_1044
/
XUFSL105.LZH
/
xufsl.105
/
xufsl.txt
< prev
Wrap
Text File
|
1994-12-24
|
19KB
|
406 lines
eXtended Universal FontSeLektor
===============================
(c) 1994 RoSoft
Stefan Rogel
Köhlerweg 1
67661 Kaiserslautern
Bankverbindung: Kreissparkasse Kaiserslautern
BLZ 540 502 20
Kto. 100 807 577
eMail: Mausnetz: Stefan Rogel @ LU
Sonst: Stefan_Rogel@lu.maus.de
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 applikationsunabhängigen Konfigu-
ration des xUFSL
- XUFC.TXT Kurzanleitung zum xUFC
Für Programmierer sind sicherlich noch folgende Dateien interessant:
- XUFSL.H Definitionen für 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
FONTS
- MONACOxx.FNT Ein unproportionaler "Mac-like"-Zeichensatz
- CHICACxx.FNT Ein proportionaler "Max-like"-Zeichensatz
Obwohl ich den xUFSL auch dann weiterentwickeln werde, wenn keine Reaktionen
in Form von Spenden, Anregungen oder Fehlermeldungen kommen, wäre ich für eben-
solche (insbesondere erstere) sehr dankbar.
Insbesondere würde mich interessieren, ob und welche Programme von den erwei-
terten Optionen des xUFSL Gebrauch machen.
Für 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 ausführlich (soll heißen: gar nicht) kom-
mentiert, sollte jedoch von jedem Entwickler verstanden werden. In XUFSL.H habe
ich die verschiedenen Möglichkeiten des xUFSL für Entwickler einigermaßen aus-
führlich erläutert.
Wieso noch ein Fontselektor?
============================
Die mir bekannten "Zeichensatzauswahldialoge" sind zwar ganz brauchbar, wer-
den jedoch den steigenden Anforderungen, die sich mit Einführung 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 lauffähig, da er sich nach der Installation bei jedem Aufrufversuch
nur mit Bomben meldet...
Die Urversion, der UFSL von Michael Thänitz, läuft zwar korrekt, bietet jedoch
zu wenig Parametrierungen.
Die Konsequenz?
===============
Zunächst dachte ich, um eine Neuprogrammierung herumzukommen und habe etliche
Mailboxen durchwühlt, jedoch vergebens.
Also habe ich mich schweren Herzens hingesetzt und einen neuen Fontselektor
implementiert.
Das Ergebnis
============
Herausgekommen ist, so meine ich, ein Progrämmchen, das sich durchaus sehen
lassen kann. Hier eine Kurzbeschreibung:
- Kompatibel zum UFSL von Michael Thänitz bis zur letzten Version 0.97
- xUFSL bietet wahlweise einen unmodalen Fensterdialog
- Neben der Auswahl der Schrift - getrennt nach Fontname und -schnitt - kann
der Aufrufer zusätzlich folgende Parameter einstellen:
. Schriftgröße (bei skalierbaren Zeichensätzen jede Zwischengröße)
. Schriftbreite inkl. Kerning-Informationen: Pair- und Track-Kerning
(nur bei skalierbaren Zeichensätzen)
. Schriftneigung (ebenfalls nur bei skalierbaren Zeichensätzen)
. Schriftfarbe
. Schriftattribute, wahlweise wird als zusätzliches Attribut
die invertierte Schrift unterstützt (TF_INVERS:=0x40).
- Der xUFSL unterstützt ein konfigurierbares Popup: Mit EINEM Aufruf können
mehrere Schriften für verschiedene Zwecke abgefragt werden.
- Der xUFSL bietet eine Verwaltung von 'Fontsets'. Damit besteht ein besonders
schneller Zugriff auf bevorzugte und häufig benötigte Zeichensätze.
- Der Beispieltext kann durch Anklicken umgeschaltet werden, es stehen drei
frei editierbare (!) Texte zur Verfügung.
- Ansicht aller Zeichen eines Fonts. Damit ist der xUFSL ein vollwertiger Font-
viewer.
- Anzeige der aktuellen Font-ID.
- Der Dialog ist komplett tastaturbedienbar.
- Flexible Parametrierung, jede Funktion kann wahlweise abgschaltet werden.
- Als besonderes Bonbon besteht die Möglichkeit, die Dialogzeichensätze des
xUFSL einzustellen. Es sind alle Bitmap-Zeichensätze erlaubt, die 8 Punkte
(kleiner Zeichensatz) bzw. 10 Punkte (großer Zeichensatz) groß sind. Default-
mäßig wird der Systemzeichensatz verwendet.
Gut sieht z.B. der proportionale Chicago-Zeichensatz aus (siehe FONTS)!
- Sämtliche Parameter können in Zusammenarbeit mit dem xUFC applikationsunab-
hängig 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 (unter Windoof gibt es kaum ein Programm, was nicht mindestens 5MB auf der
Platte belegt, und das ist noch tief angesetzt ;-)). An diesem "Manko" werde
ich in Zukunft dennoch arbeiten.
Als Beispiel für 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 können. Da ich leider keinen Farbmonitor besitze, konnte ich
die Farbeinstellungen nicht austesten. Insbesondere hier wäre ich für Erfah-
rungen dankbar. Der xUFSL benötigt mindestens eine Auflösung von 640*400 Punk-
ten.
Verwendete Hardware
===================
Meine Systemkonfiguration ist leider nicht mehr die aktuellste:
Atari 520 ST+ von 1985 (...und läuft und läuft... seitdem ohne Defekte!),
erweitert auf 4+1 MB mit
- TOS 1.04 und MagiC 2.0 bzw. MultiTOS
- Speedo bzw. NVDI
- OverScan auf SM124 (auch noch von 1985!)
Unter diesen Konfigurationen läuft xUFSL einwandfrei.
Verwendete Software
===================
PureC 1.1 Leider immer noch, wann gibts endlich die Version 2.0?
Bezüglich des erzeugten Codes bleibts konkurrenzlos.
Interface 2.32 Aus meiner Sicht das beste Programm zum "Designen" von
Resourcen.
Gemini 1.9999 Wird die 2.0 mal erreicht?
Ease 3.5 Gefällt mir in manchen Punkten besser als Gemini:
- Doppelklick auf dem Desktop
- Menüpunkt für Programme, bei Gemini nur über Take-Off.
- Bei Verwendung vieler Icons beim Fensteraufbau wesentlich
schneller
Speedo 5.0 Achtung: Bis Speedo 5.0b gibt es u.U. Probleme, siehe
XUFSL.CHG! Abhilfe: Speedo 5.0c.
NVDI 3.01 Subjektiv noch schneller als die Version 2.5, auf jeden Fall
ein schneller Ersatz für Speedo, allerdings noch nicht ganz
fehlerfrei. Es gibt Probleme mit Kerning und Skewing.
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 trägt er in der
installierten Struktur die ID "xUFS" ein.
Begriffe
========
GDOS: 'Graphics Device Operating System', u.a. zur Verwaltung von Gerä-
tetreibern und Zeichensätzen zuständig. Da das GDOS von ATARI
lange stiefmütterlich behandelt wurde, konnte es sich nicht nen-
nenswert verbreiten. Dies hat sich erst in der jüngsten Zeit mit
der Entwicklung des einigermaßen leistungsfähigen SpeedoGDOS und
der erfreulichen Tendenz zu standardisierten Applikationen grund-
legend geändert.
Fontselektor: Ein Programm, das analog der im GEM integrierten Dateiauswahlbox
die Wahl von installierten Schriften ermöglicht.
Bitmap-Fonts: Zeichensätze, deren Darstellung auf einer Pixelmatrix basiert.
Solche Zeichensätze waren bis zur Einführung des FSM-GDOS Stan-
dard. Ein typisches Beispiel ist der Systemzeichensatz des ATARI.
Nachteil: Für jede Zeichengröße muß eine eigene Matrix definiert
werden, da eine algorithmische Matrixvergrößerung ein häßliches
Schriftbild ('Treppchenbildung') ergibt.
Vektorfonts: Im Gegensatz zu Bitmap-Fonts werden solche Zeichensätze anhand
von sog. Stützpunkten definiert, durch die Kurven (Bezier-Kurven)
gelegt werden. Solche Zeichensätze können ohne Qualitätsverluste
in jeder beliebigen Größe dargestellt werden, sind also 'skalier-
bar'.
Kurzanleitung
=============
Der xUFSL dient zur Zeichensatzauswahl für alle Programme, die einen UFSL
unterstützen. Je nach aufrufendem Programm und selektiertem Zeichensatz bietet
er unterschiedliche Möglichkeiten.
Bereich (Alt-B): Auswahl des Bereiches bzw. Fensters o.ä., für den der Zei-
chensatz verwendet werden soll. Dieses Popup ist applika-
tionsabhängig und evtl. nicht zu sehen.
Font (Alt-F): Auswahl des Zeichensatzes. Durch Anklicken kann einer der
installierten Zeichensätze über ein Popup ausgewählt werden.
Je nach Stellung des Schalters "Set verwenden" werden folgen-
de Zeichensätze angeboten:
Schalter aktiv:
- Einfachklick: Zeichensätze aus dem Fontset
- Doppelklick: Alle Zeichensätze
Schalter inaktiv:
- Einfachklick: Alle Zeichensätze
- Doppelklick: Zeichensätze aus dem Fontset
Schnitt (Alt-N): Auswahl der Schnitte des gewählten Zeichensatzes, nur für
Vektorfonts!
Parameterbereich "Standard" (Alt-S)
-----------------------------------
Die Einstellungen dieses Bereiches sind für alle Zeichensätze möglich.
Größe (Alt-G): Auswahl der Fontgröße. Es werden alle installierten Größen,
wenn es die Applikation unterstützt, auch eine Default-Größe,
angeboten. Bei skalierbaren Zeichensätzen kann im Feld
"Punkte" (Alt-P) eine beliebige Größe eingetragen werden.
Farbe (Alt-R): Auswahl einer Schriftfarbe, im Popup werden die zur Verfügung
stehenden Farben angeboten.
Parameterbereich "Effekte" (Alt-E)
----------------------------------
Die Einstellungen dieses Bereiches sind ebenfalls für alle Zeichensätze mög-
lich, sollten jedoch nur für Bitmap-Fonts angewendet werden, da für Vektor-
Fonts meist unterschiedliche Schriftschnitte vorhanden sind.
Parameterbereich "Vektor" (Alt-V)
---------------------------------
Die Einstellungen dieses Bereiches können nur bei Vektorzeichensätzen geändert
werden.
Breite (Alt-R): Auswahl der Schriftbreite analog der Größe. Zur Auswahl
werden neben der Defaultbreite die viertel, halbe, ganze,
doppelte und vierfache Breite angeboten. Diese Möglichkeit
bieten nur skalierbare Zeichensätze.
Kerning-Infos: Die Breite des auszugebenden Textes kann bei Vektorzeichensät-
zen zusätzlich über das sog. 'Kerning', zu deutsch: 'Unter-
schneiden', gesteuert werden. Mit dem Schalter "Paar-Kerning"
(Alt-K) 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 verändert werden. Ein höherer Wert bewirkt
ein näheres Zusammenrücken der Buchstaben (Alt >/<, Ctrl >/<).
Neigung: Definition der Neigung bei skalierbaren Zeichensätzen
(Alt +/-: 1 Grad Änderung, Ctrl +/-: 10 Grad Änderung).
Die Neigung kann auch direkt eingegeben werden. Dafür muß das
Neigungsfeld per Tastatur (TAB oder Pfeil unten) angewählt
werden. Im Neigungsfeld ist allerdings der Cursor nicht posi-
tionierbar, was jedoch keine Einschränkung bedeutet.
Parameterbereich "Info" (Alt-I)
-------------------------------
Anzeige einiger interessanter Informationen aus dem Fontheader. Leider nur für
Vektorfonts!
Name: Kurzname/Schnitt
Datum: Erstellungsdatum
Form: Breite/Dicke/Neigungswinkel
Kerning: Tracks/Paare
Parameterbereich "Extra" (Alt-X)
--------------------------------
Hier werden allgemeine Parametrierungen des xUFSL vorgenommen.
Auto-Redraw: Wenn dieser Schalter gesetzt ist, erfolgt das Redraw des Text-
(Alt-R) beispiels bei jeder Änderung eines Zeichensatzparameters. Das
kann u.U. bei Vektorzeichensätzen "nervend" sein und ist daher
abschaltbar. Ein Redraw kann jederzeit mit einem Doppelklick
auf den Wechselpfeil im Textbeispiel erzwungen werden.
Zentrieren: Der Dialog wird in der Bildschirmmitte zentriert. Andernfalls
(Alt-Z) wird der Dialog in Mauszeigernähe dargestellt.
Set verwenden: Bei der Zeichensatzauswahl wird das aktuelle Fontset verwen-
(Alt-W) det. Ansonsten werden alle installierten Zeichensätze angebo-
ten. Dieser Knopf ist nur wählbar, wenn das Fontset nicht leer
ist.
Set sortieren: Das aktuelle Fontset wird nach Zeichensatznamen sortiert. Auch
(Alt-T) dieser Knopf ist bei leerem Fontset nicht wählbar.
Ok übernimmt: Bei der Wahl des "Ok"-Knopfes wird der ausgewählte Zeichen-
(Alt-K) satz in das Fontset übernommen. Außerdem ist das Fontset dann
auf 8 Einträge begrenzt. Im Zweifelsfall wird der erste
Eintrag entfernt.
Laden/Sichern: Laden eines Fontsets bzw. Speichern des aktuellen Fontsets.
(Alt-L/N) Bei jedem Aufruf versucht der xUFSL, das Standard-Fontset
XUFSL.SET zu laden, das dann sofort zur Verfügung steht.
Dieses Fontset wird in dem Verzeichnis gesucht, aus dem der
xUFSL gestartet wurde. Mit dem Fontset werden neben den
Parametern auch die Textbeispiele gesichert.
Textbeispiel
------------
Das Textbeispiel kann beliebig editiert werden. Mit der Taste UNDO wird das
vorgegebene Beispiel zurückgeholt.
Als Titel des Textbeispiels wird der Zeichensatztyp und seine ID angezeigt.
Icon-Knöpfe
-----------
Mit den Icon-Knöpfen rechts neben dem Textbeispiel können verschiedene Zusatz-
funktionen ausgeführt werden.
Wechselpfeil: Mit einem Klick auf dieses Icon kann aus verschiedenen Text-
(Alt-Y) beispielen ausgewählt werden.
Info: Anzeige aller Zeichen des aktuell eingestellten Fonts in einer
(Alt-Q) Maximalgröße von 12 Punkten. Wenn der Mauszeiger über eines
der Zeichen bewegt wird, wird in der linken oberen Ecke dessen
ASCII-Code angezeigt. Wahlweise kann der Cursor auch mit den
Cursortasten bewegt werden.
Mit RETURN, ENTER oder der linken Maustaste wird das aktuelle
Zeichen in das Textbeispiel übernommen. Zeichen, die im Text-
beispiel vorkommen, werden hell dargestellt.
Die Anzeige wird mit ESC, UNDO oder der rechten Maustaste be-
endet.
Clipboard: Mit einem Klick auf das Clipboard-Symbol wird der eingestellte
(Alt-C) Zeichensatz MIT ALLEN PARAMETERN in das Fontset übernommen.
Ein leeres Clipboard zeigt an, daß der aktuelle Zeichensatz
nicht im Set ist. Ein helles "F" bedeutet, daß er im Set ent-
halten ist, jedoch mit anderen Attributen. Ein dunkles "F"
schließlich zeigt an, daß der Zeichensatz genauso im Fontset
enthalten ist.
Ein Fontset-Eintrag wird eindeutig durch den Zeichensatz und
die Größe in Punkten charakterisiert. Aus diesem Grund ist es
nicht möglich, denselben Zeichensatz in derselben Größe mehr-
fach im Fontset unterzubringen.
Papierkorb: Der Zeichensatz wird, falls er im Fontset enthalten ist, da-
(Alt-D) raus entfernt. Mit einem Doppelklick wird das ganze Fontset
gelöscht.
Info: Kurzinformation über den xUFSL.
Hilfe (Alt-H): Hilfefunktion der rufenden Applikation, sofern diese das
unterstützt.
Ok (Alt-O): Übernahme der gemachten Einstellungen.
Abbruch (Alt-A): Verwerfen der Einstellungen.
Alle Buttons können mit der Alternate-Taste in Verbindung mit dem unterstri-
chenen Buchstaben per Tastatur erreicht werden. Wenn statt der Alternate- die
Control-Taste verwendet wird, dann entspricht das einem Doppelklick.
Der Cursor kann innerhalb von Eingabefeldern selbst dann mit der Maus posi-
tioniert werden, wenn ein proportionaler Dialogzeichensatz gewählt wird.
Außerdem kann per <Alt>+Ziffernblock über den ASCII-Code jedes Zeichen er-
reicht werden! Das ist besonders zur Anzeige von Sonderzeichen im Textbei-
spiel interessant.
Auch die Popups sind komplett mit der Tastatur bedienbar:
Pfeiltasten: Nächster/vorheriger Eintrag
Shift+Pfeiltasten: Seite unten/oben
Control+Pfeiltasten: Erster/letzter Eintrag
Return oder Enter: Übernahme des aktuellen Wertes
ESC oder UNDO: Abbruch (auch mit rechter Maustaste)
Mit dem Anfangsbuchstaben können zyklisch alle Einträge gewählt werden, die
mit diesem Buchstaben beginnen.
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
Möglichkeiten aktiv unterstützen, bieten nur die Einstellung des Zeichensatzes
und der Schriftgröße an. Ebenso werden u.U. nur die unproportionalen Fonts zur
Auswahl angeboten.
Danksagungen
============
Für die Unterstützung bei der Fehlersuche und für neue Anregungen möchte ich,
und wenns auch noch so abgedroschen klingt, namentlich folgenden Leuten danken
(in alphabetischer Reihenfolge ;-):
- Dirk Allard @ WI2
- Ralf Heckmann @ IZ
- Gerhard Hölscher @ MS2
- Uwe Holtkamp @ DO2
- David Reitter @ WI2
- Ulrich Rossgoderer @ M
... und natürlich:
- Dirk Haun @ WI2 (CALVINO-Autor), mit dem ich mich nach langen Diskussionen
hoffentlich bald auf eine neue Selektor-Schnittstelle (xFSL) einigen werde.
- Michael Thänitz @ BI, von ihm stammt schließlich die UFSL-Idee.
- Holger Weets @ OL für diverse Programme, u.a. ST-Guide und Fontsel.
14.09.1994 Stefan Rogel
23.09.1994 Anpassung an xUFSL 1.02
01.10.1994 Anpassung an xUFSL 1.03
25.10.1994 Anpassung an xUFSL 1.04
23.12.1994 Anpassung an xUFSL 1.05