Verschiedene Schriftarten (unter a99)

Thomas Berger ThB.com at t-online.de
Don Dez 21 15:17:45 CET 2000


Lieber Herr Allers,

[Ihre Frage erinnerte mich auch an unsere Diskussion mit Frau 
Lass auf dem Anwendertreffen allegro-NordWest in Wilhelmshaven]

> Aber nicht nur das: da es sich - wie im vorliegenden Fall - um
> Anwender handelt, die Repräsentanten deutscher Kultur und
> Sprache an diesen Orten sind, können sie zwar gut auf das a mit
> Tilde aus Brasilien und Portugal verzichten, nicht aber auf den
> kompletten Zeichensatz des Deutschen; also gehören zu "ihrem"
> Zeichensatz auch die  6 Umlaute sowie das scharfe s.
> 
> Für mich war die Lösung irgendwie klar: So, wie für a99 ein
> Windows-Ostwest-True-Type-Font entwickelt wurde, muß auch für
> Kopenhagen und für Moskau und Almaty und Athen je ein eigener
> Font (mit Softy oder Fontographer oder ...) konstruiert werden, der
> den genannten Ansprüchen entgegenkommt bzw. sie erfüllt.


> Kollegen, die mich dabei beobachten, fragen dann: "Was machst Du
> da eigentlich? Gibt es denn unter den Tausenden von Windows-
> Fonts, die es auf der Welt gibt, nicht den, den Du brauchst?"
> Eigentlich haben sie mit dieser Frage ja Recht; ich bin zwar der
> Meinung, daß die Stunden, die man braucht, um
> herauszubekommen, ob es den Font, den man sucht, wirklich auf
> der Welt schon gibt, ausreichen, um ihn selbst zu machen - aber
> vielleicht irre ich mich ja auch?

Der Font heisst typischerweise Times New Roman, Courier New,
oder Arial. Sie sollten sich einmal an einen NT-Rechner setzen
und die Windows-Zeichentabelle starten: Sie sehen dann, wie
die verschiedenen Schriftarten (eigentlich: Schriftfamilien,
denn fuer Fett und kursiv gibt es jeweils andere Schriftschnitte)
sich auf die verschiedenen Gruppen (Unicode-Pages) verteilen.
Die Gruppe "Windows-Zeichen" ist dabei speziell und bezieht
sich auf die unter Windows eingestellte Codepage.

 
> Dann gibt es die noch windows-orientierteren Kollegen, die sagen:
> "Ist doch seit Windows xyz kein Problem mehr: Du schreibst erst in
> westlich (Deutsch) mit allen Zeichen, die dazugehören, und wenn es
> dann ans Griechische geht, schaltest Du um auf Griechisch und
> schreibst einfach weiter, und schaltest dann wieder auf Deutsch
> zurück, wenn Du es brauchst - mit Windows alles kein Problem!"

Stimmt. Insbesondere was den Aspekt angeht, dass zum
Font ja auch stets die Unterstuetzung durch ein Tastaturlayout
gehoert, wenn es um die Dateneingabe geht. An der Stelle
brach ja auch schon der DOS-Ostwestzeichensatz zusammen und mit
dem allegro-Windows-Zeichensatz ist es genauso.

Man sollte sowieso ziemlich klar zwischen Font und Zeichensatz
unterscheiden: Windows-Fonts sind so und so codiert, alle
im uebrigen gleich, und haben typischerweise viel mehr
Glyphen auf viel mehr Zeichenpositionen als eine einzelne
Codepage (=aktueller Zeichensatz) enthalten kann. Auf
Windows-Systemen gibt es zudem ja auch noch implizite
Konversionen, wenn es um das Kopieren aus DOS-Fenstern
in Windows-Fenster und umgekehrt geht. Genau so eine
implizite Konversion veranstaltet ja auch allegro mit 
der Tabelle o.apt, nur dass hier keine Konversion cp850
<-> cp1252 stattfindet, sondern eine von einer Erweiterung
von cp437 ("ostwest") in einen vergleichsweise noch wilderen
("allegro").

Wenn Sie also aus einem DOS-Fenster etwas in das a99-
Eingabefeld kopieren, erfolgt zunaechst durch Windows
eine Interpretation der Ostwest-Zeichen als cp850-Zeichen,
diese werden dann nach cp1252 konvertiert. Durch a99
erfolgt eine Interpretation der Eingabe als "allegro"-
codiert und eine Konversion in den DOS-Zeichensatz
"ostwest". Erstaunlich eigentlich, dass es bei so
vielen Zeichen ueberhaupt manchmal funktioniert, dies
liegt aber daran, dass die meisten Anwender (in Deutschland)
sowieso im sicheren Bereich der Schnittmenge von cp437
und cp850 operieren und die ganzen bibliothekarischen
Zeichensaetze ein ziemlicher Luxus sind.

Entsprechende Zeichenkonversionen vorausgesetzt (die
ich habe) ist es kein Problem, alle Ostwest-Zeichen und
auch die meisten Protyp-Kombinationen in einer 
Exportparameterdatei auf den Mix cp1252, cp1250, cp1254
und cp1257 aufzuteilen: Im Anzeigefeld kann man dann
ausschliesslich mit Times Roman etc. operieren, die
Texte kann man dann in jeder Textverarbeitung nachbearbeiten,
so wie man es sich vorstellt: Markieren und einen beliebigen
anderen Font waehlen, ohne dass etwas entgleist.
Ich tue dies normalerweise aber nicht, weil man dann
nicht mehr die Texte vom Anzeige- in das Eingabefeld
kopieren kann, denn hier ist ja nicht mehr der Font
betroffen, sondern der Zeichensatz.


> Intuitiv weiß ich, oder meine ich zu wissen, daß das nicht geht. Ich
> sage dann, daß Allegro ein Datenbanksystem ist und kein
> Textverarbeitungsprogramm wie Word, das auf diesen Wechsel von
> Fonts eingestellt ist und auf ihn angemessen zu reagieren weiß.

Schlimmer: Anders als etwa USMARC-Systeme, die nicht nur
den Font, sondern vor allem auch den Zeichensatz auf 
Griechisch, Hebraeisch und Arabisch umschalten koennen
(o.k., ich weiss nicht, ob die Systeme das koennen, der
MARC-Zeichensatz "ANSEL" sieht das aber vor, inklusive
korrekter Umschaltung der Direktionalitaet) ist allegro
ein System, das nur einen Zeichensatz kennt.


> Und ich sage, daß das Datenbanksystem Allegro, um portierbare und
> für den Systemverwalter steuerbare  Resultate zu erzielen
> definierter Fonts bedarf.

Lies: Zeichensaetze

> Langer Rede kurzer Sinn: Ich bitte entweder um Hinweise darauf,
> wie und ob in der schönen Windows-Welt solch Mühen wie die
> Erarbeitung weiterer Fonts ähnlich dem Ostwest-Fonts überflüssig
> werden, oder um schlagende, möglichst netzzugreifbare)
> Argumente dafür, daß man diesen Weg gehen muß.

Alle Windows-Zeichensaetze haben auf den Positionen unterhalb
von 128 die Standard-ASCII-Zeichen (bei manchen DOS-Codepages
ist dies noch anders). Die meisten Windows-Zeichensaetze
sind auf den Positionen 128-159 sehr duenn bestueckt, denn ihnen
liegen Zeichensaetze aus der ISO-8859-Familie zugrunde, wo
diese Positionen nicht legal sind.

Wenn ich Ihnen einen Rat geben darf:
Benutzen Sie fuer alle Anwendungen mit lateinischem Alphabet
entweder den OSTWEST-Zeichensatz oder sogar *einen* Windows-
Standardzeichensatz. Ihre Nord- und Suedeuropaeischen
Anwender werden dann zwar stets mit "deutscher" (genauer:
Braunschweiger!) Tastatureinstellung arbeiten (bzw. wuerden 
dann unter Windows darauf umschalten, waehrend sie mit 
allegro arbeiten), das scheint mir aber auch angemessen,
so wie Sie das Material schildern.

Fuer alle anderen Laender muessten Sie sich an der gaengigen
Windows-Codepage fuer dieses Land orientieren und auch die
zugehoerige bzw. am besten passende DOS-Codepage identifizieren.
Die deutschen Umlaute und das sz muessen Sie dann auf 
irgendwelche Positionen dazufummeln (sie sind ja auch sehr
wichtig, weil sie ja insbesondere noch eine nichtstandard-
Aufloesung bei der Indexierung erfordern) und zwar moeglichst
so, dass auf einem System mit entsprechendem nationalen
Windows diese Zeichen moeglichst bereits durch Windows
aufeinander abgebildet werden, wenn Sie aus DOS- in Windows-
Fenster kopieren. Allegroseitig brauchen Sie dann entsprechende
Konversionstabellen o.apt, d.apt, i.apt etc.
Ausgehend von auf den jeweiligen Rechnern verfuegbaren Fonts
koennen Sie dann mit Fonty auch noch die Glyphen in fuer
allegro zu benutzenden Fonts ergaenzen. Fuer DOS gab es
m.E. auch Hilfsprogramme, die ega.cpi-Dateien auf eine spezielle
Codetabelle hin auszulesen und daraus Inputdateien fuer
Fontload zu machen. Aber vielleicht ist die DOS-Unterstuetzung
der Anzeige inzwischen schon kein Punkt besonderer Wichtigkeit
mehr.

viele Gruesse
Thomas Berger