Dieser Bereich befindet sich noch im Aufbau.

Vorab stelle ich hier Informationen zu einem aktuellen Projekt zur Verfügung.

Skak-Zeichensatz als Type-1

Es handelt sich um einen Metafont-Zeichensatz, der zum Setzen von figurinen Symbolen und Informator-Symbolen benutzt wird. Die Grundlage ist der Zeichensatz chess von Piet Tutelaers. Daran anschließend wurde er von Torben Hoffmann und Dirk Bächle verbessert und erweitert und unter dem neuen Namen skak veröffentlicht.

Nachdem inzwischen die meisten TeX-Zeichensätze im PostScript™-Type-1-Format vorliegen, liegt es nahe, auch diese Metafont-Quellen umzuwandeln. Der erste Schritt besteht in der Roh-Konvertierung durch mftrace. Danach werden die Pfade bereinigt (überflüssige Stützpunkte, fehlende Extrema, falsche Orientierung, etc.). Eine Hauptschwierigkeit besteht darin, dass in Metafont Linien direkt gezeichnet werden (sozusagen entlang einer gedachten Mitte; typischer Befehl: pickup pencircle scaled thin; draw z1..z2;) mit einer vorher definierten Dicke, während in Type-1 nur die Umrisse gezeichnet werden und abhängig von der Pfadorientierung diese Konturen als gefüllt bzw. nicht gefüllt betrachtet werden.

Beispiel (Metafont zeichnet eine Linie der Dicke 20 von (100,250) nach (600,250)):

  thin#:=1/5pt#;
pickup pencircle scaled thin;
z1=(.1d,.25d);
z2=(.6d,.25d);
draw z1..z2;

Angenommen die Strichstärke thin beträgt 1/5pt#, so ergeben sich z.B. die PostScript™-Stützpunkte (90,250), (100,260), (100,240), (600,240), (610,250), (600,260).

Übrigens sieht das mftrace-Ergebnis so aus (die roten Pfeile kennzeichnen Fehler):

Im Nachfolgenden habe ich eine Liste der Schlüsseldimensionen aller Glyphen beider Zeichensätze aufgelistet. Aus ihr geht schon ziemlich deutlich hervor, wo die noch vorhandenen Schwächen liegen. Zum Beispiel ist die Strichstärke mit 1/3pt# definiert, womit PostScript das Problem mit »halben« Punkten bekommt (33 Einheiten / 2).

Einige weitere Diskussionspunkte:
– Metafont-Code beim Springer fehlerhaft (Rücken-/Halsteil; im Type-1 korrigiert)
– Vor- und Nachbreiten verbessern (z.B. beim »C«, »N«, »O«, »X«, »d«, »p«, »r«, »x« und »y«)
– x-Höhe vereinheitlichen und evtl. an Computer Modern anpassen
– +/- und -/+ aneinander anpassen (warum +/- nicht auf Grundlinie?)
– Bauer auf Grundlinie
– Wieso steht der Turm nicht auf der Grundlinie?
– Ich halte weak point für zu groß
– Warum sind K, R, B als narrow_figurine() generiert, aber nicht N, p, Q?
– Ich glaube, einige Informator-Zeichen fehlen (muss ich noch überprüfen)

      type-1                     mf
+------------------------+ +--------------------------------+
name wd ht dp l r x wd ht dp l r x chess meaning
+ 700 525 25 75 75 250 700 1000 25 75 75 250 'check'
- 400 325 - 75 75 300 400 1000 - 75 75 300 ''
A 800 516 - 84 84 400 900 1000 - 83.5 183.5 400 'with attack'
B 800 753 27 27 27 - 800 900 100 ? ? - 'bishop'
C 600 716 - 184 184 (400) 600 1000 - ? ? (400) 'with initiative'
D 1000 817 17 83 83 (400) 1000 1000 - 83.5 83.5 400 'zugzwang'
E 1000 817 16 84 84 (400) 1000 1000 - 83.5 83.5 (400) 'with the idea'
F 1000 817 17 83 83 (400) 1000 1000 - 83.5 83.5 (400) 'only move'
G 1000 818 15 86 83 - 1000 1000 - 83.5 83.5 - 'diagonal'
H 1000 617 - 88 88 (400) 1000 1000 - 83.5 83.5 (400) 'file'
I 1000 817 17 83 83 (400) 1000 1000 (16.5) 83.5 83.5 (400) 'centre'
J 1000 818 17 83 83 (400) 1000 1000 (16.5) 83.5 83.5 (400) 'weak point'
K 800 796 80 6 6 - 800 900 100 ? ? - 'king'
L 1000 818 17 83 83 (400) 1000 1000 (16.5) 83.5 83.5 (400) 'ending'
M 800 715 - 83 183 (400) 800 1000 - 83.5 183.5 (400) 'queen’s side'
N 1000 771 6 105 119 - 1000 900 100 ? ? - 'knight'
O 800 715 - 183 83 (400) 800 1000 - 183.5 83.5 (400) 'king’s side'
P 400 817 17 83 83 (400) 400 1000 (16.5) 83.5 83.5 (400) 'etc'
Q 1000 813 11 64 64 - 1000 900 100 ? ? - 'queen'
R 800 660 93 74 74 - 800 900 100 ? ? - 'rook'
S 800 816 15 83 83 (400) 800 1000 (16.5) 83.5 83.5 (400) 'advantage in # of pawns'
T 1000 817 17 83 83 (400) 1000 1000 (16.5) 83.5 83.5 (400) 'time'
U 1000 817 17 83 83 (400) 1000 1000 (16.5) 83.5 83.5 (400) 'greater board room'
V 800 616 - 84 84 (400) 800 1000 - 83.5 83.5 (400) 'with counter-play'
X 700 475 - 125 125 (250) 600 1000 0 75 75 (225) 'capture symbol'
a 1000 817 17 83 83 - 1000 1000 (16.5) 83.5 83.5 - 'pair of bishops'
b 1200 534 17 83 83 - 1200 1000 (16.5) 83.5 83.5 - 'better is'
c 700 818 - 83 83 - 700 1000 - 83.5 83.5 - 'White is much better'
d 900 818 67 257 257 (442.5) 900 1000 66.5 258.5 258.5 (375) 'double pawns'
e 700 617 17 83 83 - 700 1000 (16.5) 83.5 83.5 - 'Black is much better'
f 700 818 - 83 83 - 700 1000 - 83.5 83.5 - 'White is slightly better'
g 700 718 16 83 83 - 700 1000 - 83.5 83.5 - 'Black is slightly better'
h 1300 518 16 83 83 250 1300 1000 (16.5) 83.5 83.5 250 'White is winning'
i 1300 518 16 83 83 250 1300 1000 (16.5) 83.5 83.5 250 'Black is winning'
j 700 417 - 83 83 (350) 700 1000 - 83.5 83.5 (350) 'equal position'
k 700 494 - 83 83 (350) 700 1000 - 83.5 83.5 (350) 'unclear position'
l 1000 367 - 83 83 350 1000 1000 - 83.5 83.5 350 'see'
m 900 717 17 83 83 (350) 900 1000 (16.5) 83.5 83.5 (350) 'checkmate'
n 700 593 - 83 83 - 700 1000 - 83.5 83.5 - 'with compensation for the material'
o 1000 817 17 83 83 - 1000 1000 (16.5) 83.5 83.5 - 'bishops of opposite color'
p 1000 746 - 216 216 - 1000 900 - ? ? - 'pawn'
q 1250 593 - 83 83 (400) 1250 1000 - 83.5 83.5 (400) 'separated pawns'
r 900 716 17 233 233 - 1000 1000 (16.5) 283.5 283.5 - 'passed pawn'
s 1000 817 17 83 83 - 1000 1000 (16.5) 83.5 83.5 - 'bishops of the same color'
t 1000 817 17 83 83 (400) 1000 1000 (16.5) 83.5 83.5 (400) 'development advantage'
u 1000 593 - 83 83 (400) 1000 1000 - 83.5 83.5 (400) 'united pawns'
v 1000 809 17 83 83 - 1000 1000 (16.5) 83.5 83.5 - 'without'
w 1000 809 17 83 83 - 1000 1000 (16.5) 83.5 83.5 - 'with'
x 1000 650 49 151 150 (300) 1000 800 (41.6) 158.3 158.3 (300) 'cross marker'
y 1000 642 42 158 158 (300) 1000 800 (41.6) 158.3 158.3 (300) 'circle marker'

Hier können Sie die aktuelle Fassung herunterladen: SkakNew

Die Zeichenbelegung können Sie der Tabelle entnehmen (auf die Grafik klicken für ein größeres Bild)

© 2003 Art & Satz • Ulrich Dirr