diff options
author | Karl Berry <karl@freefriends.org> | 2018-01-03 21:58:14 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2018-01-03 21:58:14 +0000 |
commit | a6cb1a9c4e48b5842ddd65d73193db2a0c7e3e01 (patch) | |
tree | 2dcf4b9a3142e2827dcab0cf8e67e26d7b5350d5 /Master/texmf-dist/fonts/source | |
parent | a638bb58b46f0925ed96d71424739a8b698f08e2 (diff) |
beuron (3jan18)
git-svn-id: svn://tug.org/texlive/trunk@46197 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/fonts/source')
-rw-r--r-- | Master/texmf-dist/fonts/source/public/beuron/beuronbuchst.mf | 320 | ||||
-rw-r--r-- | Master/texmf-dist/fonts/source/public/beuron/beuronkern.mf | 259 |
2 files changed, 416 insertions, 163 deletions
diff --git a/Master/texmf-dist/fonts/source/public/beuron/beuronbuchst.mf b/Master/texmf-dist/fonts/source/public/beuron/beuronbuchst.mf index c1dbf97206b..6a47fa607c9 100644 --- a/Master/texmf-dist/fonts/source/public/beuron/beuronbuchst.mf +++ b/Master/texmf-dist/fonts/source/public/beuron/beuronbuchst.mf @@ -1,14 +1,14 @@ % beuronbuchst.mf % Die Buchstaben der Beuroner Kunst % The letters of Beuronese art -% Autor: Keno Wehr -% 4. September 2016 +% Autor: K. Wehr +% 1. November 2017 % U.I.O.G.D. mode_setup; -Schriftgr# := 1cc#; % nominelle Schriftgröße -hoe# := 2/3Schriftgr#; % Höhe der Buchstaben +Schriftgr# := 1cc#; % nominelle Schriftgröße +hoe# := 2/3Schriftgr#; % Höhe der Buchstaben font_size Schriftgr#; font_x_height 0.6hoe#; @@ -18,62 +18,62 @@ font_normal_stretch f*1/3hoe#; font_normal_shrink f*1/6hoe#; -S# := 0.11hoe#; % Stiftbreite +S# := 0.11hoe#; % Stiftbreite define_pixels(S); -klAb# := f*1.0S#; % kleinstmöglicher Buchstabenabstand -grAb# := f*2.6S#; % größtmöglicher Buchstabenabstand -Ue:=0.2*S; % Überstand der Rundungen nach oben und unten +klAb# := f*1.0S#; % kleinstmöglicher Buchstabenabstand +grAb# := f*2.6S#; % größtmöglicher Buchstabenabstand +Ue:=0.2*S; % Überstand der Rundungen nach oben und unten % Korrektur des solve-Makros, die Verschachtelungen erlaubt: vardef save_solve@#(expr true_x,false_x) = - save tx_, fx_, x_; - tx_ := true_x; - fx_ := false_x; - forever: - x_ := 0.5[tx_,fx_]; - exitif abs(tx_-fx_) <= tolerance; - if @#(x_): tx_ else: fx_ fi := x_; - endfor - x_ + save tx_, fx_, x_; + tx_ := true_x; + fx_ := false_x; + forever: + x_ := 0.5[tx_,fx_]; + exitif abs(tx_-fx_) <= tolerance; + if @#(x_): tx_ else: fx_ fi := x_; + endfor + x_ enddef; % Bestimme z.i so, dass die Gerade durch z.i und z.j zur Parallelen durch z.k % den Abstand S hat: def bestimme_Parallelenpunkt_A(suffix i, j, k) = - % Überprüfe, ob der Abstand der Geraden durch z.i und z.j zur Parallelen - % durch z.k größer ist als S, wobei die unbekannte Koordinate von z.i durch - % das Argument ersetzt wird: - vardef Abstand_groesser_S(expr Wert) = - pair Lotfuss; - if (unknown x.i): - Lotfuss = whatever[z.j,(Wert,y.i)]; - Lotfuss-z.k = whatever*((Wert,y.i)-z.j) rotated 90; - else: - Lotfuss = whatever[z.j,(x.i,Wert)]; - Lotfuss-z.k = whatever*((x.i,Wert)-z.j) rotated 90; - fi - length(Lotfuss-z.k) > S - enddef; - - if (unknown x.i): - x.i = save_solve Abstand_groesser_S(x.j,x.k); - else: - y.i = save_solve Abstand_groesser_S(y.j,y.k); - fi + % Überprüfe, ob der Abstand der Geraden durch z.i und z.j zur Parallelen + % durch z.k größer ist als S, wobei die unbekannte Koordinate von z.i durch + % das Argument ersetzt wird: + vardef Abstand_groesser_S(expr Wert) = + pair Lotfuss; + if (unknown x.i): + Lotfuss = whatever[z.j,(Wert,y.i)]; + Lotfuss-z.k = whatever*((Wert,y.i)-z.j) rotated 90; + else: + Lotfuss = whatever[z.j,(x.i,Wert)]; + Lotfuss-z.k = whatever*((x.i,Wert)-z.j) rotated 90; + fi + length(Lotfuss-z.k) > S + enddef; + + if (unknown x.i): + x.i = save_solve Abstand_groesser_S(x.j,x.k); + else: + y.i = save_solve Abstand_groesser_S(y.j,y.k); + fi enddef; % Bestimme den Punkt z.i links von der Geraden durch z.j und z.k so, % dass er von dieser Geraden den Abstand Ab hat: def bestimme_Parallelenpunkt_B(suffix i, j, k)(expr Ab) = - pair Lotfuss; - Lotfuss = z.j+Ab*unitvector(z.k-z.j) rotated 90; - z.i-Lotfuss = whatever*(z.k-z.j); + pair Lotfuss; + Lotfuss = z.j+Ab*unitvector(z.k-z.j) rotated 90; + z.i-Lotfuss = whatever*(z.k-z.j); enddef; -Avn# := klAb#; % Vor- und Nachbreite des A -Ab# := f*1.15hoe#+2Avn#; % Dickte des A +Avn# := klAb#; % Vor- und Nachbreite des A +Ab# := f*1.15hoe#+2Avn#; % Dickte des A define_pixels(Avn); beginchar("A",Ab#,hoe#,0); "Buchstabe A"; @@ -86,8 +86,8 @@ y6 = y7 = h; bestimme_Parallelenpunkt_A(6,1,5); z5-z2 = whatever*(z6-z1); fill z1--z2--z5--z3--z4--z7--z6--cycle; -picture ABild; -ABild := currentpicture; +picture ABild_teilweise, ABild; +ABild_teilweise := currentpicture; z8 = 0.45[z2,z5]; x9 = w/2; z10 = (w-x8,y8); @@ -103,16 +103,17 @@ z9l-z8l = whatever*(z9-z8); z10l-z9l = whatever*(z10-z9); penstroke z8e--z9e--z10e; penlabels(range 1 thru 10); +ABild := currentpicture; endchar; -Pvor# := grAb#; % Vorbreite des P -Pnach# := 0.4[klAb#,grAb#]; % Nachbreite des P -Pb# := f*0.7hoe#+Pvor#+Pnach#; % Dickte des P +Pvor# := grAb#; % Vorbreite des P +Pnach# := 0.4[klAb#,grAb#]; % Nachbreite des P +Pb# := f*0.7hoe#+Pvor#+Pnach#; % Dickte des P define_pixels(Pvor,Pnach); beginchar("P",Pb#,hoe#,0); "Buchstabe P"; -PBreite := w-Pvor-Pnach; % wird für das B und das R benötigt +PBreite := w-Pvor-Pnach; % wird für das B und das R benötigt pickup pensquare scaled S; lft bot z1 = (Pvor,0); lft top z2 = (Pvor,h); @@ -127,12 +128,14 @@ y6 = y2; pickup pencircle scaled S; draw z3---z5..z4..z6---z2; labels(range 1 thru 6); +picture PBild; +PBild := currentpicture; endchar; -Bvor# := grAb#; % Vorbreite des B -Bnach# := 0.5[klAb#,grAb#]; % Nachbreite des B -Bb# := f*0.85hoe#+Bvor#+Bnach#; % Dickte des B +Bvor# := grAb#; % Vorbreite des B +Bnach# := 0.5[klAb#,grAb#]; % Nachbreite des B +Bb# := f*0.85hoe#+Bvor#+Bnach#; % Dickte des B define_pixels(Bvor,Bnach); beginchar("B",Bb#,hoe#,0); "Buchstabe B"; @@ -151,16 +154,18 @@ y7 = 0.5[y1,y3]; x8 = x9 = 0.5[x1,x7]; y8 = y1; draw z3--z9; -draw z3--z5; % falls bei großer Stauchung z5 links von z3 liegt +draw z3--z5; % falls bei großer Stauchung z5 links von z3 liegt pickup pencircle scaled S; draw z1---z8..z7..{left}z9; draw z2---z6..z4..{left}z5; labels(range 1 thru 9); +picture BBild; +BBild := currentpicture; endchar; -Ovn# := 0.3[klAb#,grAb#]; % Vor- und Nachbreite des O -Ob# := f*1.1hoe#+2Ovn#; % Dickte des O +Ovn# := 0.3[klAb#,grAb#]; % Vor- und Nachbreite des O +Ob# := f*1.1hoe#+2Ovn#; % Dickte des O define_pixels(Ovn); beginchar("O",Ob#,hoe#,0); "Buchstabe O"; @@ -171,26 +176,28 @@ x2 = x4 = w/2; y1 = y3 = h/2; top y2 = h+Ue; bot y4 = -Ue; -OBreite := w-2Ovn; % wird für das Q benötigt -pair OUnten; % wird für das G benötigt +OBreite := w-2Ovn; % wird für das Q benötigt +pair OUnten; % wird für das G benötigt OUnten := z4; def OSpannung = ..tension 0.93.. enddef; -path OPfad; % wird für das C und das G benötigt +path OPfad; % wird für das C und das G benötigt OPfad := z1 OSpannung z2 OSpannung z3 OSpannung z4 OSpannung cycle; draw OPfad; -picture OBild; % wird für das Q benötigt -OBild := currentpicture; labels(1,2,3,4); +picture OBild; % wird auch für das Q benötigt +OBild := currentpicture; endchar; -Cvor# := Ovn#; % Vorbreite des C -Cnach# := 0.55[klAb#,grAb#]; % Nachbreite des C -Cb# := f*0.95hoe#+Cvor#+Cnach#; % Dickte des C +Cvor# := Ovn#; % Vorbreite des C +Cnach# := 0.55[klAb#,grAb#]; % Nachbreite des C +Cb# := f*0.95hoe#+Cvor#+Cnach#; % Dickte des C beginchar("C",Cb#,hoe#,0); "Buchstabe C"; pickup pencircle scaled S; cutdraw subpath(0.5,3.5) of OPfad; +picture CBild; +CBild := currentpicture; endchar; @@ -213,6 +220,8 @@ y5 = y2; pickup pencircle scaled S; draw z1---z4..z3..z5---z2; labels(range 1 thru 5); +picture DBild; +DBild := currentpicture; endchar; @@ -223,7 +232,7 @@ define_pixels(Evor,Enach); beginchar("E",Eb#,hoe#,0); "Buchstabe E"; interim autorounding := 0; -EBreite := w-Evor-Enach; % Breite der Glyphe +EBreite := w-Evor-Enach; % Breite der Glyphe pickup pencircle scaled S; lft x5 = Evor; lft x3 = Evor+1/8EBreite; @@ -241,6 +250,8 @@ Eunten = z4{left}..z5{down}..z6{right}..{up}z7; cutdraw subpath(0.4,3.0) of Eoben; cutdraw subpath(0,2.7) of Eunten; labels(range 1 thru 7); +picture EBild; +EBild := currentpicture; endchar; @@ -261,6 +272,8 @@ y5 = y4; draw z1--z2--z3; draw z4--z5; labels(range 1 thru 5); +picture FBild; +FBild := currentpicture; endchar; @@ -270,7 +283,7 @@ Gb# := f*1.05*hoe#+Gvor#+Gnach#; define_pixels(Gvor, Gnach); beginchar("G",Gb#,hoe#,0); "Buchstabe G"; -Galpha:=65; % Anfangswinkel in Punkt 1 +Galpha:=65; % Anfangswinkel in Punkt 1 pickup pencircle scaled S; z4 = OUnten; rt x3 = w-Gnach; @@ -281,6 +294,8 @@ x1 = 0.5[Gvor+S/2,x2]; y1 = 0.25[y2,y4]; cutdraw subpath(0.5,3) of OPfad & z4{right}..z3{up}..z2{left}..{-dir(Galpha)}z1; labels(range 1 thru 4); +picture GBild; +GBild := currentpicture; endchar; @@ -300,6 +315,8 @@ draw z1--z2; draw z3--z4; draw z5--z6; labels(range 1 thru 6); +picture HBild; +HBild := currentpicture; endchar; @@ -311,6 +328,8 @@ bot z1 = (0.5w,0); top z2 = (0.5w,h); draw z1--z2; labels(1,2); +picture IBild; +IBild := currentpicture; endchar; @@ -330,6 +349,8 @@ rt x3 = rt x4 = w-Jnach; y4 = h; cutdraw z1{down}..z2{right}..z3---z4; labels(1,2,3,4); +picture JBild; +JBild := currentpicture; endchar; @@ -355,6 +376,8 @@ z8-z4 = whatever*(z9-z5); draw z1--z2; fill z4--z8--z9--z5--z7--z6--z3--cycle; labels(range 1 thru 9); +picture KBild; +KBild := currentpicture; endchar; @@ -366,6 +389,8 @@ rt bot z3 = (w-Fnach,0); draw z1--z2; draw z1--z3; labels(1,2,3); +picture LBild; +LBild := currentpicture; endchar; @@ -391,6 +416,8 @@ draw z1--z2; draw z3--z4; fill z7--z5--z9--z10--z6--z8--cycle; labels(range 1 thru 10); +picture MBild; +MBild := currentpicture; endchar; @@ -414,6 +441,8 @@ draw z1--z2; draw z3--z4; fill z5--z6--z7--z8..cycle; labels(range 1 thru 8); +picture NBild; +NBild := currentpicture; endchar; @@ -432,6 +461,8 @@ x4-x2 = x3-x1; bestimme_Parallelenpunkt_B(2,1,3)(S); fill z1--z2--z4--z3--cycle; labels(1,2,3,4); +picture QBild; +QBild := currentpicture; endchar; @@ -461,6 +492,8 @@ draw z2---z6..z4{down}..{left}z5; interim autorounding := 0; cutdraw z3{right}..z7---z8; labels(range 1 thru 8); +picture RBild; +RBild := currentpicture; endchar; @@ -486,6 +519,8 @@ path SPfad; SPfad = z1{up}..z2{left}..z3{down}..z4..z5{down}..z6{left}..{up}z7; cutdraw subpath (0.3,5.75) of SPfad; labels(range 1 thru 7); +picture SBild; +SBild := currentpicture; endchar; @@ -498,7 +533,7 @@ pickup pensquare scaled S; bot z1 = (w/2,0); top z2 = (w/2,h); draw z1--z2; -Talpha = 30; % Neigungswinkel der Querstrichenden +Talpha = 30; % Neigungswinkel der Querstrichenden penpos3(whatever,-90-Talpha); penpos4(whatever,-90+Talpha); x3r = w-x4r = Tvn; @@ -506,11 +541,13 @@ y3l = y4l = h; y3l-y3r = y4l-y4r = S; penstroke z3e--z4e; penlabels(1,2,3,4); +picture TBild; +TBild := currentpicture; endchar; beginchar("U",Ab#,hoe#,0); "Buchstabe U"; -currentpicture := ABild reflectedabout ((0,h/2),(w,h/2)); +currentpicture := ABild_teilweise reflectedabout ((0,h/2),(w,h/2)); picture VBild; VBild := currentpicture; endchar; @@ -538,15 +575,15 @@ x10 = w-x13; x11 = w-x12; y10 = y11 = y12 = y13 = 0; vardef linker_Winkel_groesser(expr xWert) = - x8' := xWert; - y8' := y8; - x5' := whatever; - y5' := y5; - x10' := whatever; - y10' := y10; - bestimme_Parallelenpunkt_A(10',1,8'); - bestimme_Parallelenpunkt_A(5',8',7); - 180-angle(z1-z10') > angle(z5'-z8') + x8' := xWert; + y8' := y8; + x5' := whatever; + y5' := y5; + x10' := whatever; + y10' := y10; + bestimme_Parallelenpunkt_A(10',1,8'); + bestimme_Parallelenpunkt_A(5',8',7); + 180-angle(z1-z10') > angle(z5'-z8') enddef; x8 = save_solve linker_Winkel_groesser(x1+S,x7-S); bestimme_Parallelenpunkt_A(10,1,8); @@ -555,6 +592,8 @@ z2-z8 = whatever*(z1-z10); z11-z7 = whatever*(z5-z8); fill z1--z2--z8--z5--z6--z9--z3--z4--z13--z12--z7--z11--z10--cycle; labels(range 1 thru 13); +picture WBild; +WBild := currentpicture; endchar; @@ -571,9 +610,11 @@ x2 = x6 = w-x3 = w-x7; bestimme_Parallelenpunkt_A(7,1,8); fill z1--z2--z8--z7--cycle; fill z3--z4--z6--z5--cycle; -z9 = whatever[z4,z6] = whatever[z1,z7]; % Hilfspunkt für das Y +z9 = whatever[z4,z6] = whatever[z1,z7]; % Hilfspunkt für das Y Xmh = y9; labels(range 1 thru 9); +picture XBild; +XBild := currentpicture; endchar; @@ -595,6 +636,8 @@ top y8 = y5; fill z1--z6--z4--z3--z5--z2--cycle; draw z7--z8; labels(range 1 thru 8); +picture YBild; +YBild := currentpicture; endchar; @@ -618,10 +661,12 @@ x8-x7 = x6-x5; bestimme_Parallelenpunkt_A(7,5,8); fill z5--z6--z8--z7--cycle; labels(range 1 thru 8); +picture ZBild; +ZBild := currentpicture; endchar; -Tzb# := f*1.0hoe#; % Dickte des Trennzeichens (Mittenpunkt) +Tzb# := f*1.0hoe#; % Dickte des Trennzeichens (Mittenpunkt) beginchar("/",Tzb#,hoe#,0); "Worttrennung"; pickup pencircle scaled 1.5S; @@ -639,9 +684,9 @@ drawdot z2; endchar; -Krvn# := 1.5grAb#; % Vor- und Nachbreite des Kreuzzeichens (+) -Krhoe# := 0.65hoe#; % Höhe und Breite des Kreuzzeichens -Krb# := Krhoe#+2Krvn#; % Dickte des Kreuzzeichens +Krvn# := 1.5grAb#; % Vor- und Nachbreite des Kreuzzeichens (+) +Krhoe# := 0.65hoe#; % Höhe und Breite des Kreuzzeichens +Krb# := Krhoe#+2Krvn#; % Dickte des Kreuzzeichens define_pixels(Krhoe); beginchar("+",Krb#,hoe#,0); "Kreuz"; @@ -657,8 +702,8 @@ labels(1,2,3,4); endchar; -Bsvn# := 0.4[klAb#,grAb#]; % Vor- und Nachbreite des Bindestrichs -Bsb# := f*0.5hoe#+2Bsvn#; % Dickte des Bindestrichs +Bsvn# := 0.4[klAb#,grAb#]; % Vor- und Nachbreite des Bindestrichs +Bsb# := f*0.5hoe#+2Bsvn#; % Dickte des Bindestrichs define_pixels(Bsvn); beginchar("-",Bsb#,hoe#,0); "Bindestrich"; @@ -678,12 +723,11 @@ endchar; % Griechisches Omega -Omegavn# := Ovn#; % Vor- und Nachbreite des Omega -Omegab# := f*1.1hoe#+2Omegavn#; % Dickte des Omega +Omegavn# := Ovn#; % Vor- und Nachbreite des Omega +Omegab# := f*1.1hoe#+2Omegavn#; % Dickte des Omega define_pixels(Omegavn); -beginchar(10,Omegab#,hoe#,0); "Griechischer Buchstabe Omega"; -%interim autorounding := 0; +beginchar(141,Omegab#,hoe#,0); "Griechischer Buchstabe Omega"; pickup pensquare scaled S; lft x1 = w-rt x9 = Omegavn+S/3; bot y1 = 0; @@ -710,6 +754,110 @@ cutoff(z7h,180); labels(range 1 thru 9,3h,7h); endchar; +beginchar("a",Ab#,hoe#,0); "Buchstabe a"; +currentpicture := ABild; +endchar; + +beginchar("b",Bb#,hoe#,0); "Buchstabe b"; +currentpicture := BBild; +endchar; + +beginchar("c",Cb#,hoe#,0); "Buchstabe c"; +currentpicture := CBild; +endchar; + +beginchar("d",Db#,hoe#,0); "Buchstabe d"; +currentpicture := DBild; +endchar; + +beginchar("e",Eb#,hoe#,0); "Buchstabe e"; +currentpicture := EBild; +endchar; + +beginchar("f",Fb#,hoe#,0); "Buchstabe f"; +currentpicture := FBild; +endchar; + +beginchar("g",Gb#,hoe#,0); "Buchstabe g"; +currentpicture := GBild; +endchar; + +beginchar("h",Hb#,hoe#,0); "Buchstabe h"; +currentpicture := HBild; +endchar; + +beginchar("i",Ib#,hoe#,0); "Buchstabe i"; +currentpicture := IBild; +endchar; + +beginchar("j",Jb#,hoe#,0); "Buchstabe j"; +currentpicture := JBild; +endchar; + +beginchar("k",Kb#,hoe#,0); "Buchstabe k"; +currentpicture := KBild; +endchar; + +beginchar("l",Fb#,hoe#,0); "Buchstabe l"; +currentpicture := LBild; +endchar; + +beginchar("m",Mb#,hoe#,0); "Buchstabe m"; +currentpicture := MBild; +endchar; + +beginchar("n",Nb#,hoe#,0); "Buchstabe n"; +currentpicture := NBild; +endchar; + +beginchar("o",Ob#,hoe#,0); "Buchstabe o"; +currentpicture := OBild; +endchar; + +beginchar("p",Pb#,hoe#,0); "Buchstabe p"; +currentpicture := PBild; +endchar; + +beginchar("q",Qb#,hoe#,0); "Buchstabe q"; +currentpicture := QBild; +endchar; + +beginchar("r",Rb#,hoe#,0); "Buchstabe r"; +currentpicture := RBild; +endchar; + +beginchar("s",Sb#,hoe#,0); "Buchstabe s"; +currentpicture := SBild; +endchar; + +beginchar("t",Tb#,hoe#,0); "Buchstabe t"; +currentpicture := TBild; +endchar; + +beginchar("u",Ab#,hoe#,0); "Buchstabe u"; +currentpicture := VBild; +endchar; + +beginchar("v",Ab#,hoe#,0); "Buchstabe v"; +currentpicture := VBild; +endchar; + +beginchar("w",Wb#,hoe#,0); "Buchstabe w"; +currentpicture := WBild; +endchar; + +beginchar("x",Xb#,hoe#,0); "Buchstabe x"; +currentpicture := XBild; +endchar; + +beginchar("y",Yb#,hoe#,0); "Buchstabe y"; +currentpicture := YBild; +endchar; + +beginchar("z",Zb#,hoe#,0); "Buchstabe z"; +currentpicture := ZBild; +endchar; + input beuronkern; end diff --git a/Master/texmf-dist/fonts/source/public/beuron/beuronkern.mf b/Master/texmf-dist/fonts/source/public/beuron/beuronkern.mf index 93e582d6228..56fefa864a6 100644 --- a/Master/texmf-dist/fonts/source/public/beuron/beuronkern.mf +++ b/Master/texmf-dist/fonts/source/public/beuron/beuronkern.mf @@ -1,80 +1,185 @@ % beuronkern.mf % Unterschneidung der Schrift der Beuroner Kunst % Kerning of the Beuronese art font -% 20. März 2016 - -kAA#:=1/2klAb#; % Zusatzabstand zwischen AA, VU, VV, VW, VY etc. -kAT#:=-1/2klAb#; % Unterschneidung von AT und TA -kAV#:=-5/8klAb#; % AV, AW, AY, VA etc. -kBV#:=-3/8klAb#; % BU, BV, BW, BY -kCO#:=1/4klAb#; % CC, CG, CO, CQ -kDA#:=-1/8klAb#; % DA, DU, DV, DW -kDO#:=1/8klAb#; % DC, DG, DO, DQ -kEC#:=-1/8klAb#; % EC, EG, EO, EQ -kEV#:=-1/8klAb#; % EU, EV, EW -kFA#:=-1/2klAb#; % FA, LU, LV, LW -kFC#:=-3/8klAb#; % FC, FG, FO, FQ, LC, LG, LO, LQ -kFV#:=1/2klAb#; % FU, FV, FW, FY, LA -kKC#:=-1/8klAb#; % KC, KG, KO, KQ, XC, XG, XO, XQ, OX -kOC#:=1/4klAb#; % OC, OG, OO, OQ -kOT#:=-1/8klAb#; % DT, OT, QT, TC, TG, TO, TQ -kOY#:=-1/4klAb#; % OY, QY, YC, YG, YO, YQ -kQV#:=-0/8klAb#; % QU, QV, QW -kRC#:=-1/4klAb#; % RC, RG, RO, RQ -kRV#:=-1/4klAb#; % RU, RV, RW, RY -kSC#:=1/8klAb#; % SC, SG, SO, SQ -kSV#:=-1/8klAb#; % SU, SV, SW, SY -kTV#:=1/2klAb#; % TU, TV, TW, VT etc. -kTBs#:=-3/4klAb#; % T-, -T -kVE#:=-1/4klAb#; % UE, VE, WE, YE -kVJ#:=-3/8klAb#; % UJ, VJ, WJ, YJ -kZV#:=1/4klAb#; % ZU, ZV, ZW -kBsC#:=1/4klAb#; % -C, -G, -O, -Q - -ligtable "A": "A" kern kAA#, "E" kern 1/8klAb#, "S" kern 1/4klAb#, - "T" kern kAT#, "U" kern kAV#, "V" kern kAV#, "W" kern kAV#, "Y" kern kAV#; -ligtable "B": "A" kern -1/8klAb#, "E" kern -1/8klAb#, "T" kern -1/8klAb#, - "U" kern kBV#, "V" kern kBV#, "W" kern kBV#, "Y" kern kBV#; -ligtable "C": "C" kern kCO#, "E" kern 1/4klAb#, "G" kern kCO#, "O" kern kCO#, - "Q" kern kCO#; -ligtable "D": "A" kern kDA#, "C" kern kDO#, "E" kern -1/8klAb#, "G" kern kDO#, - "O" kern kDO#, "Q" kern kDO#, "T" kern kOT#, "U" kern kDA#, "V" kern kDA#, - "W" kern kDA#, "Y" kern kDA#; -ligtable "E": "C" kern kEC#, "G" kern kEC#, "O" kern kEC#, "Q" kern kEC#, - "S" kern -1/4klAb#, "T" kern -1/2klAb#, "U" kern kEV#, "V" kern kEV#, - "W" kern kEV#, "X" kern -1/4klAb#, "Y" kern kEV#; -ligtable "F": "A" kern kFA#, "C" kern kFC#, "E" kern -1/4klAb#, "G" kern kFC#, - "O" kern kFC#, "Q" kern kFC#, "S" kern -1/4klAb#, "T" kern 1/2klAb#, - "U" kern kFV#, "V" kern kFV#, "W" kern kFV#, "Y" kern kFV#; -ligtable "G": "G" kern 1/8klAb#, "Y" kern -1/8klAb#; -ligtable "J": "A" kern -1/8klAb#; -ligtable "K": "X": "C" kern kKC#, "E" kern -1/4klAb#, "G" kern kKC#, - "O" kern kKC#, "Q" kern kKC#, "-" kern -1/2klAb#; -ligtable "L": "A" kern kFV#, "C" kern kFC#, "G" kern kFC#, "O" kern kFC#, - "Q" kern kFC#, "T" kern -3/4klAb#, "U" kern kFA#, "V" kern kFA#, - "W" kern kFA#, "Y" kern -5/8klAb#, "-" kern -5/8klAb#; -ligtable "O": "C" kern kOC#, "E" kern 1/8klAb#, "G" kern kOC#, "O" kern kOC#, - "Q" kern kOC#, "T" kern kOT#, "X" kern kKC#, "Y" kern kOY#; -ligtable "P": "A" kern -1/2klAb#, "E" kern -1/4klAb#, "S" kern -1/8klAb#; -ligtable "Q": "T" kern kOT#, "U" kern kQV#, "V" kern kQV#, "W" kern kQV#, - "Y" kern kOY#; -ligtable "R": "A" kern 1/2klAb#, "C" kern kRC#, "G" kern kRC#, "O" kern kRC#, - "Q" kern kRC#, "S" kern 1/4klAb#, "T" kern -1/4klAb#, "U" kern kRV#, - "V" kern kRV#, "W" kern kRV#, "Y" kern kRV#, "Z" kern 1/8klAb#, - "-" kern -1/4klAb#; -ligtable "S": "C" kern kSC#, "E" kern 1/8klAb#, "G" kern kSC#, "O" kern kSC#, - "Q" kern kSC#, "T" kern -1/4klAb#, "U" kern kSV#, "V" kern kSV#, - "W" kern kSV#, "Y" kern kSV#; -ligtable "T": "A" kern kAT#, "C" kern kOT#, "E" kern -1/4klAb#, "G" kern kOT#, - "O" kern kOT#, "Q" kern kOT#, "S" kern -1/2klAb#, "T" kern 1/2klAb#, - "U" kern kTV#, "V" kern kTV#, "W" kern kTV#, "Z" kern 1/4klAb#, - "-" kern kTBs#; -ligtable "U": "V": "W": "A" kern kAV#, "E" kern kVE#, "J" kern kVJ#, - "S" kern -1/4klAb#, "T" kern kTV#, "U" kern kAA#, "V" kern kAA#, - "W" kern kAA#, "Y" kern kAA#; -ligtable "Y": "A" kern kAV#, "C" kern kOY#, "E" kern kVE#, "G" kern kOY#, - "J" kern kVJ#, "O" kern kOY#, "Q" kern kOY#, "S" kern -3/8klAb#, - "U" kern kAA#, "V" kern kAA#, "W" kern kAA#; -ligtable "Z": "U" kern kZV#, "V" kern kZV#, "W" kern kZV#; -ligtable "-": "C" kern kBsC#, "G" kern kBsC#, "O" kern kBsC#, "Q" kern kBsC#, - "T" kern kTBs#; +% 22. Dezember 2017 + +kAA#:=1/2klAb#; % AA, [UVW]U, [UVW]V, [UVW]W, [UVW]Y, YU, YV, YW +kAE#:=1/8klAb#; % AE +kAS#:=1/4klAb#; % AS +kAT#:=-1/2klAb#; % AT, TA +kAV#:=-5/8klAb#; % AU, AV, AW, AY, [UVW]A, YA + +kBA#:=-1/8klAb#; % BA +kBE#:=-1/8klAb#; % BE +kBT#:=-1/8klAb#; % BT +kBV#:=-3/8klAb#; % BU, BV, BW, BY + +kCC#:=1/4klAb#; % CC, CG, CO, CQ +kCE#:=1/4klAb#; % CE + +kDA#:=-1/8klAb#; % DA, DU, DV, DW, DY +kDC#:=1/8klAb#; % DC, DG, DO, DQ +kDE#:=-1/8klAb#; % DE + +kEC#:=-1/8klAb#; % EC, EG, EO, EQ +kES#:=-1/4klAb#; % ES +kET#:=-1/2klAb#; % ET +kEV#:=-1/8klAb#; % EU, EV, EW, EY +kEX#:=-1/4klAb#; % EX + +kFA#:=-1/2klAb#; % FA, LU, LV, LW +kFC#:=-3/8klAb#; % FC, FG, FO, FQ, LC, LG, LO, LQ +kFE#:=-1/4klAb#; % FE +kFS#:=-1/4klAb#; % FS +kFT#:=1/2klAb#; % FT +kFV#:=1/2klAb#; % FU, FV, FW, FY, LA + +kGG#:=1/8klAb#; % GG +kGY#:=-1/8klAb#; % GY + +kJA#:=-1/8klAb#; % JA + +kKC#:=-1/8klAb#; % [KX]C, [KX]G, [KX]O, [KX]Q, OX +kKE#:=-1/4klAb#; % [KX]E +kKBs#:=-1/2klAb#; % [KX]-, -X + +kLT#:=-3/4klAb#; % LT +kLY#:=-5/8klAb#; % LY +kLBs#:=-5/8klAb#; % L- + +kOC#:=1/4klAb#; % OC, OG, OO, OQ +kOE#:=1/8klAb#; % OE +kOT#:=-1/8klAb#; % DT, OT, QT, TC, TG, TO, TQ +kOY#:=-1/4klAb#; % OY, QY, YC, YG, YO, YQ + +kPA#:=-1/2klAb#; % PA +kPE#:=-1/4klAb#; % PE +kPS#:=-1/8klAb#; % PS + +kOBs#:=1/4klAb#; % O-, -C, -G, -O, -Q + +kQV#:=-1/8klAb#; % QU, QV, QW + +kRA#:=1/2klAb#; % RA +kRC#:=-1/4klAb#; % RC, RG, RO, RQ +kRS#:=1/4klAb#; % RS +kRT#:=-1/4klAb#; % RT +kRV#:=-1/4klAb#; % RU, RV, RW, RY +kRZ#:=1/8klAb#; % RZ +kRBs#:=-1/4klAb#; % R- + +kSC#:=1/8klAb#; % SC, SG, SO, SQ +kSE#:=1/8klAb#; % SE +kST#:=-1/4klAb#; % ST +kSV#:=-1/8klAb#; % SU, SV, SW, SY + +kTE#:=-1/4klAb#; % TE +kTS#:=-1/2klAb#; % TS +kTT#:=1/2klAb#; % TT +kTV#:=1/2klAb#; % TU, TV, TW, [UVW]T +kTZ#:=1/4klAb#; % TZ, ZT +kTBs#:=-3/4klAb#; % T-, -T + +kVE#:=-1/4klAb#; % [UVW]E, YE +kVJ#:=-3/8klAb#; % [UVW]J, YJ +kVS#:=-1/4klAb#; % [UVW]S +kVZ#:=1/4klAb#; % [UVW]Z, ZU, ZV, ZW + +kYS#:=-3/8klAb#; % YS + + +ligtable "A": "a": "A" kern kAA#, "a" kern kAA#, "E" kern kAE#, "e" kern kAE#, + "S" kern kAS#, "s" kern kAS#, "T" kern kAT#, "t" kern kAT#, "U" kern kAV#, + "u" kern kAV#, "V" kern kAV#, "v" kern kAV#, "W" kern kAV#, "w" kern kAV#, + "Y" kern kAV#, "y" kern kAV#; + +ligtable "B": "b": "A" kern kBA#, "a" kern kBA#, "E" kern kBE#, "e" kern kBE#, + "T" kern kBT#, "t" kern kBT#, "U" kern kBV#, "u" kern kBV#, "V" kern kBV#, + "v" kern kBV#, "W" kern kBV#, "w" kern kBV#, "Y" kern kBV#, "y" kern kBV#; + +ligtable "C": "c": "C" kern kCC#, "c" kern kCC#, "E" kern kCE#, "e" kern kCE#, + "G" kern kCC#, "g" kern kCC#, "O" kern kCC#, "o" kern kCC#, "Q" kern kCC#, + "q" kern kCC#; + +ligtable "D": "d": "A" kern kDA#, "a" kern kDA#, "C" kern kDC#, "c" kern kDC#, + "E" kern kDE#, "e" kern kDE#, "G" kern kDC#, "g" kern kDC#, "O" kern kDC#, + "o" kern kDC#, "Q" kern kDC#, "q" kern kDC#, "T" kern kOT#, "t" kern kOT#, + "U" kern kDA#, "u" kern kDA#, "V" kern kDA#, "v" kern kDA#, "W" kern kDA#, + "W" kern kDA#, "Y" kern kDA#, "y" kern kDA#; + +ligtable "E": "e": "C" kern kEC#, "c" kern kEC#, "G" kern kEC#, "g" kern kEC#, + "O" kern kEC#, "o" kern kEC#, "Q" kern kEC#, "q" kern kEC#, "S" kern kES#, + "s" kern kES#, "T" kern kET#, "t" kern kET#, "U" kern kEV#, "u" kern kEV#, + "V" kern kEV#, "v" kern kEV#, "W" kern kEV#, "w" kern kEV#, "X" kern kEX#, + "x" kern kEX#, "Y" kern kEV#, "y" kern kEV#; + +ligtable "F": "f": "A" kern kFA#, "a" kern kFA#, "C" kern kFC#, "c" kern kFC#, + "E" kern kFE#, "e" kern kFE#, "G" kern kFC#, "g" kern kFC#, "O" kern kFC#, + "o" kern kFC#, "Q" kern kFC#, "q" kern kFC#, "S" kern kFS#, "s" kern kFS#, + "T" kern kFT#, "t" kern kFT#, "U" kern kFV#, "u" kern kFV#, "V" kern kFV#, + "v" kern kFV#, "W" kern kFV#, "w" kern kFV#, "Y" kern kFV#, "y" kern kFV#; + +ligtable "G": "g": "G" kern kGG#, "g" kern kGG#, "Y" kern kGY#, "y" kern kGY#; + +ligtable "J": "j": "A" kern kJA#, "a" kern kJA#; + +ligtable "K": "k": "X": "x": "C" kern kKC#, "c" kern kKC#, "E" kern kKE#, + "e" kern kKE#, "G" kern kKC#, "g" kern kKC#, "O" kern kKC#, "o" kern kKC#, + "Q" kern kKC#, "q" kern kKC#, "-" kern kKBs#; + +ligtable "L": "l": "A" kern kFV#, "a" kern kFV#, "C" kern kFC#, "c" kern kFC#, + "G" kern kFC#, "g" kern kFC#, "O" kern kFC#, "o" kern kFC#, "Q" kern kFC#, + "q" kern kFC#, "T" kern kLT#, "t" kern kLT#, "U" kern kFA#, "u" kern kFA#, + "V" kern kFA#, "v" kern kFA#, "W" kern kFA#, "w" kern kFA#, "Y" kern kLY#, + "y" kern kLY#, "-" kern kLBs#; + +ligtable "O": "o": "C" kern kOC#, "c" kern kOC#, "E" kern kOE#, "e" kern kOE#, + "G" kern kOC#, "g" kern kOC#, "O" kern kOC#, "o" kern kOC#, "Q" kern kOC#, + "q" kern kOC#, "T" kern kOT#, "t" kern kOT#, "X" kern kKC#, "x" kern kKC#, + "Y" kern kOY#, "y" kern kOY#, "-" kern kOBs#; + +ligtable "P": "p": "A" kern kPA#, "a" kern kPA#, "E" kern kPE#, "e" kern kPE#, + "S" kern kPS#, "s" kern kPS#; + +ligtable "Q": "q": "T" kern kOT#, "t" kern kOT#, "U" kern kQV#, "u" kern kQV#, + "V" kern kQV#, "v" kern kQV#, "W" kern kQV#, "w" kern kQV#, "Y" kern kOY#, + "y" kern kOY#; + +ligtable "R": "r": "A" kern kRA#, "a" kern kRA#, "C" kern kRC#, "c" kern kRC#, + "G" kern kRC#, "g" kern kRC#, "O" kern kRC#, "o" kern kRC#, "Q" kern kRC#, + "q" kern kRC#, "S" kern kRS#, "s" kern kRS#, "T" kern kRT#, "t" kern kRT#, + "U" kern kRV#, "u" kern kRV#, "V" kern kRV#, "v" kern kRV#, "W" kern kRV#, + "w" kern kRV#, "Y" kern kRV#, "y" kern kRV#, "Z" kern kRZ#, "z" kern kRZ#, + "-" kern kRBs#; + +ligtable "S": "s": "C" kern kSC#, "c" kern kSC#, "E" kern kSE#, "e" kern kSE#, + "G" kern kSC#, "g" kern kSC#, "O" kern kSC#, "o" kern kSC#, "Q" kern kSC#, + "q" kern kSC#, "T" kern kST#, "t" kern kST#, "U" kern kSV#, "u" kern kSV#, + "V" kern kSV#, "v" kern kSV#, "W" kern kSV#, "w" kern kSV#, "Y" kern kSV#, + "y" kern kSV#; + +ligtable "T": "t": "A" kern kAT#, "a" kern kAT#, "C" kern kOT#, "c" kern kOT#, + "E" kern kTE#, "e" kern kTE#, "G" kern kOT#, "g" kern kOT#, "O" kern kOT#, + "o" kern kOT#, "Q" kern kOT#, "q" kern kOT#, "S" kern kTS#, "s" kern kTS#, + "T" kern kTT#, "t" kern kTT#, "U" kern kTV#, "u" kern kTV#, "V" kern kTV#, + "v" kern kTV#, "W" kern kTV#, "w" kern kTV#, "Z" kern kTZ#, "z" kern kTZ#, + "-" kern kTBs#; + +ligtable "U": "u": "V": "v": "W": "w": "A" kern kAV#, "a" kern kAV#, + "E" kern kVE#, "e" kern kVE#, "J" kern kVJ#, "j" kern kVJ#, "S" kern kVS#, + "s" kern kVS#, "T" kern kTV#, "t" kern kTV#, "U" kern kAA#, "u" kern kAA#, + "V" kern kAA#, "v" kern kAA#, "W" kern kAA#, "w" kern kAA#, "Y" kern kAA#, + "y" kern kAA#, "Z" kern kVZ#, "z" kern kVZ#; + +ligtable "Y": "y": "A" kern kAV#, "a" kern kAV#, "C" kern kOY#, "c" kern kOY#, + "E" kern kVE#, "e" kern kVE#, "G" kern kOY#, "g" kern kOY#, "J" kern kVJ#, + "j" kern kVJ#, "O" kern kOY#, "o" kern kOY#, "Q" kern kOY#, "q" kern kOY#, + "S" kern kYS#, "s" kern kYS#, "U" kern kAA#, "u" kern kAA#, "V" kern kAA#, + "v" kern kAA#, "W" kern kAA#, "w" kern kAA#; + +ligtable "Z": "z": "T" kern kTZ#, "t" kern kTZ#, "U" kern kVZ#, "u" kern kVZ#, + "V" kern kVZ#, "v" kern kVZ#, "W" kern kVZ#, "w" kern kVZ#; + +ligtable "-": "C" kern kOBs#, "c" kern kOBs#, "G" kern kOBs#, "g" kern kOBs#, + "O" kern kOBs#, "o" kern kOBs#, "Q" kern kOBs#, "q" kern kOBs#, + "T" kern kTBs#, "t" kern kTBs#, "X" kern kKBs#, "x" kern kKBs#; |