diff options
Diffstat (limited to 'Master/texmf-dist/fonts/source/public/ibycus/ibylig4.mf')
-rw-r--r-- | Master/texmf-dist/fonts/source/public/ibycus/ibylig4.mf | 250 |
1 files changed, 250 insertions, 0 deletions
diff --git a/Master/texmf-dist/fonts/source/public/ibycus/ibylig4.mf b/Master/texmf-dist/fonts/source/public/ibycus/ibylig4.mf new file mode 100644 index 00000000000..9334cd88992 --- /dev/null +++ b/Master/texmf-dist/fonts/source/public/ibycus/ibylig4.mf @@ -0,0 +1,250 @@ +% Version 4.3. 7 July, 1998. Response to a bug report. The wrong +% angle was in the line for ligtable angleright: ">" =: guillemotright; +% All tfm files corrected to reflect this change. + +% Version 4.2. 18 July, 1997. Small adjustments to the space between +% accent clusters and Uppercase H and I. A little more space after +% accented iota and before taller consonants. + +% Version 4.1. 28 April, 1996. Sevaral kerns for iota changed +% before p t and u to avoid crowding. Medial sigma is default +% before <> [] and other non standard symbols. (Final +% at word end, sentence punctuation, and parentheses). +% +% Ligature table for ibycus4 Version 4.0 using the \bang +% character as the postpositive indication of a dot under +% any letter or letter-and-accent combination except for +% iota subscript composites. + +% CAUTION: With this arrangement the exclamation point must +% set with \sfcode`\!=1000 or you get very odd spacing. +% This setting is supplied in ibycus4.tex + +ligtable "-": "-" =: endash; % en-dash +ligtable endash: "-" =: emdash; % em-dash +ligtable quotesnglleft: quotesnglleft =: quotedblleft; +ligtable quotesnglright: quotesnglright =: quotedblright; +% The Adobe names guillemotleft and guillemotright (\it sic}) +% are retained. +ligtable angleleft: "<" =: guillemotleft; +ligtable angleright: ">" =: guillemotright; + +k#:=-.5u#; kk#:=-1.5u#; kkk#:=-2u#; % three degrees of back kerning +i#:=.5u#; ii#:=1.5u#; iii#:=2u#; % three degrees of forward kerning +% +% the glyphs for the breathings (spiritus) and the acute and +% grave accents are not in the same code location as the digraph +% input characters "'" "`" "=" ")" "(", and "`" "'" are pretty +% well available for normal use when not immediately contiguous to +% accentable characters. This is achieved by a change from +% Silvio Levy's mapping to modified TLG Betacode. +% +ligtable "(": "(" =: ASCII"(", peri_spomenon =: asper_peri, + quotesnglright =: asper_oxy, quotesnglleft =: asper_bary, + "A" =:| asper_glyph, "E" =:| asper_glyph, "H" =:| asper_glyph, + "O" =:| asper_glyph, "W" =:| asper_glyph, "I" =:| asper_glyph, + "U" =:| asper_glyph, "R" =:| asper_glyph; +ligtable ")": ")" =: ASCII")", peri_spomenon =: lenis_peri, + quotesnglright =: lenis_oxy, quotesnglleft =: lenis_bary, + "A" =:| lenis_glyph, "E" =:| lenis_glyph, "H" =:| lenis_glyph, + "O" =:| lenis_glyph, "W" =:| lenis_glyph, "I" =:| lenis_glyph, + "U" =:| lenis_glyph, "R" =:| lenis_glyph; +% +ligtable asper_glyph: + "A" kern -7u#, "E" kern -3u#, "H" kern -3u#, "R" kern -3u#, + "O" kern -3.5u#, "W" kern -2.5u#, "I" kern -3u#, "U" kern -3u#; +ligtable lenis_glyph: + "A" kern -6u#, "E" kern kkk#, "H" kern kkk#, "R" kern kkk#, + "O" kern -2.5u#, "W" kern kkk#, "I" kern kkk#, "U" kern kkk#; +ligtable asper_oxy: lenis_oxy: + "A" kern -6u#, "E" kern -1u#, "H" kern -1u#, + "O" kern -2.5u#, "W" kern kk#, "I" kern -1u#, "U" kern kk#; +ligtable asper_bary: lenis_bary: + "A" kern -5u#, "E" kern kk#, "H" kern kk#, + "O" kern kkk#, "W" kern -1u#, "I" kern kkk#, "U" kern -1u#; +ligtable asper_peri: + "A" kern -6.5u#, "E" kern kkk#, "H" kern kkk#, "I" kern kkk#, + "O" kern -3u#, "W" kern -3u#, "U" kern kkk#; +ligtable lenis_peri: + "A" kern -6.5u#, "E" kern kkk#, "H" kern kkk#, "I" kern kkk#, + "O" kern -3u#, "W" kern -2.5u#, "U" kern kkk#; + +ligtable "a": quotesnglleft =: a_bary, quotesnglright =: a_oxy, + peri_spomenon =: a_peri, iotasubscript |=: a_isub, dubious |=: dotCEVaw, + "(" =: a_aspr, ")" =: a_len, "i" kern i#; % Post-positive breathings +ligtable "h": "+" =: aspirate, quotesnglleft =: h_bary, quotesnglright =: h_oxy, + peri_spomenon =: h_peri, iotasubscript |=: h_isub, dubious |=: dotchjz, + "(" =: h_aspr, ")" =: h_len, "i" kern ii#, + i_bary kern ii#, i_oxy kern ii#, i_peri kern ii#, + i_asproxy kern ii#, i_asprbary kern ii#, i_asprperi kern ii#, + i_lenoxy kern ii#, i_lenbary kern ii#, i_lenperi kern ii#; +ligtable "w": quotesnglleft =: w_bary, quotesnglright =: w_oxy, + peri_spomenon =: w_peri, iotasubscript |=: w_isub, dubious |=: dotCEVaw, + "(" =: w_aspr, ")" =: w_len, "i" kern i#, "n" kern k#; +ligtable "e": quotesnglleft =: e_bary, quotesnglright =: e_oxy, + peri_spomenon =: e_peri, + "(" =: e_aspr, ")" =: e_len, dubious |=: dote, "i" kern i#; +ligtable "o": quotesnglleft =: o_bary, quotesnglright =: o_oxy, + peri_spomenon =: o_peri, + "(" =: o_aspr, ")" =: o_len, dubious |=: dotkos, + "n" kern k#, "h" kern k#, "l" kern k#; +ligtable "i": quotesnglleft =: i_bary, quotesnglright =: i_oxy, + peri_spomenon =: i_peri, dubious |=: doti, + "(" =: i_aspr, ")" =: i_len, dieresis =: i_diaer, + "c" kern k#, "d" kern k#, "f" kern k#, "g" kern -1u#, "h" kern k#, + "k" kern k#, "l" kern k#, "n" kern kk#, "o" kern k#, "p" kern k#, + "q" kern k#, "s" kern k#, "t" kern -1u#, + "u" kern -1u#, "w" kern k#, "x" kern k#, "y" kern k#; +ligtable "u": quotesnglleft =: u_bary, quotesnglright =: u_oxy, + peri_spomenon =: u_peri, dubious |=: dotJdlmnpqu, + "(" =: u_aspr, ")" =: u_len, dieresis =: u_diaer, "i" kern i#; +ligtable "r": "(" =: r_aspr, ")" =: r_len, + r_aspr: r_len: dubious |=: dotr, "i" kern i#; + +ligtable a_aspr: quotesnglright =: a_asproxy, quotesnglleft =: a_asprbary, + peri_spomenon =: a_asprperi, iotasubscript |=: a_isub, dubious |=: dotCEVaw, + "i" kern i#; +ligtable h_aspr: quotesnglright =: h_asproxy, quotesnglleft =: h_asprbary, + peri_spomenon =: h_asprperi, iotasubscript |=: h_isub, dubious |=: dotchjz, + "i" kern ii#; +ligtable w_aspr: quotesnglright =: w_asproxy, quotesnglleft =: w_asprbary, + peri_spomenon =: w_asprperi, iotasubscript |=: w_isub, dubious |=: dotCEVaw, + "n" kern k#; +ligtable e_aspr: quotesnglright =: e_asproxy, quotesnglleft =: e_asprbary, + peri_spomenon =: e_asprperi, dubious |=: dote; +ligtable o_aspr: quotesnglright =: o_asproxy, quotesnglleft =: o_asprbary, + peri_spomenon =: o_asprperi, dubious |=: dotkos, "n" kern k#, "h" kern k#; +ligtable i_aspr: quotesnglright =: i_asproxy, quotesnglleft =: i_asprbary, + peri_spomenon =: i_asprperi, dubious |=: doti, + "c" kern k#, "d" kern k#, "f" kern k#, "g" kern -1u#, "h" kern k#, + "k" kern k#, "l" kern k#, "n" kern kk#, "o" kern k#, "p" kern k#, + "q" kern k#, "s" kern k#, "t" kern -1u#, + "u" kern -1u#, "w" kern k#, "x" kern k#, "y" kern k#; +ligtable u_aspr: quotesnglright =: u_asproxy, quotesnglleft =: u_asprbary, + peri_spomenon =: u_asprperi, dubious |=: dotJdlmnpqu; + +ligtable a_len: quotesnglright =: a_lenoxy, quotesnglleft =: a_lenbary, + dubious |=: dotCEVaw, + peri_spomenon =: a_lenperi, iotasubscript |=: a_isub; +ligtable h_len: quotesnglright =: h_lenoxy, quotesnglleft =: h_lenbary, dubious |=: dotchjz, + peri_spomenon =: h_lenperi, iotasubscript |=: h_isub, "i" kern ii#; +ligtable w_len: quotesnglright =: w_lenoxy, quotesnglleft =: w_lenbary, + dubious |=: dotCEVaw, + peri_spomenon =: w_lenperi, iotasubscript |=: w_isub, "n" kern k#; +ligtable e_len: quotesnglright =: e_lenoxy, quotesnglleft =: e_lenbary, + peri_spomenon =: e_lenperi, dubious |=: dote; +ligtable o_len: quotesnglright =: o_lenoxy, quotesnglleft =: o_lenbary, + peri_spomenon =: o_lenperi, dubious |=: dotkos, "n" kern k#, "h" kern k#; +ligtable i_len: quotesnglright =: i_lenoxy, quotesnglleft =: i_lenbary, + peri_spomenon =: i_lenperi, dubious |=: doti, + "c" kern k#, "d" kern k#, "f" kern k#, "g" kern -1u#, "h" kern k#, + "k" kern k#, "l" kern k#, "n" kern kk#, "o" kern k#, "p" kern k#, + "q" kern k#, "s" kern k#, "t" kern -1u#, + "u" kern -1u#, "w" kern k#, "x" kern k#, "y" kern k#; +ligtable u_len: quotesnglright =: u_lenoxy, quotesnglleft =: u_lenbary, + peri_spomenon =: u_lenperi, dubious |=: dotJdlmnpqu; + +ligtable "K": "+" =: Koppa, dubious |=: dotDK; % Uppercase Koppa +ligtable Koppa: dubious |=: dotGZ; + +% The curve of o and the hook at the top of h make kerns with +% m desirable +ligtable "m": dubious |=: dotJdlmnpqu, + "o" kern k#, o_oxy kern k#, o_bary kern k#, + "h" kern k#, h_oxy kern k#, h_bary kern k#, h_peri kern k#, + h_isub kern k#; + +% backward kerns for letters following accented iota +ligtable dieresis: quotesnglright =: diaeroxy, quotesnglleft =: diaerbary; + +ligtable i_diaer: quotesnglright =: i_diaeroxy, quotesnglleft =: i_diaerbary; +ligtable i_bary: dieresis=: i_diaerbary, i_oxy: dieresis=:i_diaeroxy, dubious |=: doti, + "c" kern k#, "d" kern k#, "f" kern k#, "g" kern -1u#, "h" kern k#, + "k" kern k#, "l" kern k#, "n" kern kk#, "o" kern k#, "p" kern k#, + "q" kern k#, "s" kern k#, "t" kern -1u#, + "u" kern -1u#, "w" kern k#, "x" kern k#, "y" kern k#; +% The widely spaced accent clusters on iota need more space before many +% consonants. Particularly lambda and ksi. +ligtable i_peri: i_asproxy: i_asprbary: i_asprperi: + i_lenoxy: i_lenbary: i_lenperi: i_diaerbary: i_diaeroxy: dubious |=: doti, + "d" kern k#, "f" kern k#, "g" kern -1u#, "h" kern k#, + "n" kern kk#, "o" kern k#, "p" kern k#, + "q" kern k#, "s" kern k#, "t" kern k#, + "u" kern -1u#, "w" kern k#, "x" kern k#; +% all needed forward kerns except for vowels, rho and sigma +% also a back kern for dh, but only when h is unaccented. +ligtable "k": "+" =: koppa, dubious |=: dotkos, "i" kern i#; +ligtable "A": dubious |=: dotAOQUXY, "E": dubious |=: dotCEVaw, + "W": dubious |=: dotBFLNPRSTW, "i" kern i#; +ligtable "n": "p": "q": dubious |=: dotJdlmnpqu, "t": dubious |=: dotbt, + "f": "y": dubious |=: dotfy, h_isub: + "i" kern i#; +ligtable "d": dubious |=: dotJdlmnpqu, "i" kern i#, "h" kern k#; +ligtable "b": dubious |=: dotbt, + "i" kern ii#; +ligtable dotbt: "i" kern i#; + +% forward kerns for accented upsilon and epsilon +ligtable o_oxy: o_bary: "h" kern k#, "l" kern k#, "n" kern k#, + o_asproxy: o_lenoxy: o_asprbary: o_lenbary: o_asprperi: o_lenperi: + dubious |=: dotkos; +ligtable u_diaer: quotesnglright =: u_diaeroxy, quotesnglleft =: u_diaerbary; +ligtable u_bary: dieresis =: u_diaerbary; +ligtable u_oxy: dieresis =: u_diaeroxy, + u_asprbary: u_asproxy: u_lenoxy: u_lenbary: + u_peri: u_asprperi: u_lenperi: + u_diaeroxy: u_diaerbary: dubious |=: dotJdlmnpqu, + e_oxy: e_asproxy: e_lenoxy: e_bary: e_lenbary: e_asprbary: + e_peri: e_asprperi: e_lenperi: dubious |=: dote, + "i" kern i#; + +% iota subscripts and forward kerns for alpha, eta and omega +ligtable a_bary: iotasubscript |=: a_isub, + dubious |=: dotCEVaw, "i" kern +i#; +% iota after simple barytone unused nught be iota adscript. +ligtable a_oxy: a_asproxy: a_lenoxy: a_asprbary: a_peri: a_asprperi: + a_lenperi: a_lenbary: + iotasubscript |=: a_isub, dubious |=: dotCEVaw, "i" kern i#; + +ligtable h_bary: h_asprbary: h_oxy: h_asproxy: h_lenoxy: h_lenbary: + h_peri: h_asprperi: h_lenperi: + iotasubscript |=: h_isub, dubious |=: dotchjz, "i" kern i#; + +ligtable w_bary: w_asprbary: w_oxy: w_asproxy: w_lenoxy: w_lenbary: + w_peri: w_asprperi: w_lenperi: + iotasubscript |=: w_isub, dubious |=: dotCEVaw, "i" kern i#, "n" kern k#; + + +ligtable "C": "+" =: Cigmalunate, Cigmalunate: dubious |=: dotCEVaw; +ligtable "c": "+" =: cigmalunate, cigmalunate: "z": dubious |=: dotchjz; +ligtable sigmafinal: dubious |=: dotchjz; + +% One ligature for (lowercase only) sampi, one kern with lowercase iota +% and all practicable arrangements for final sigma. +% It is assumed that sigma before a punctuation mark such as . , ; ? +% and probably ) should be final but before > ] } it is more likely +% to be medial. The treatment of ( matches ) and of { [ < matches +% > ] } (anything elxe would be more confusing. +% Final sigma can always be forced by using the letter "j" +% The last ligature s| is the way to force medial sigma at word end. +% Note the trick at the end which allows a dot under a forced medial +% sigma. +ligtable "s": "+" =: sampi, "i" kern i#, + boundarychar =: sigmafinal, + "." =:| sigmafinal, "," =:| sigmafinal, "?" =:| sigmafinal, + ":" =:| sigmafinal, ";" =:| sigmafinal, "(" =:| sigmafinal, + ")" =:| sigmafinal, "|" |=: null_space, null_space: dubious |=: dotkos; + +ligtable "l": dubious |=: dotJdlmnpqu; +ligtable "g": "x": dubious |=: dotgx; +ligtable "v": dubious |=: doti; +ligtable koppa: dubious |=: dotkoppa; +ligtable "I": dubious |=: dotI; +ligtable "G": "Z": dubious |=: dotGZ; +ligtable "V": dubious |=: dotCEVaw; +ligtable "B": "F": "L": "N": "P": "R": "S": "T": dubious |=: dotBFLNPRSTW; +ligtable "H": dubious |=: dotH; +ligtable "O": "Q": "U": "X": "Y": dubious |=: dotAOQUXY; +ligtable "D": dubious |=: dotDK; +ligtable "M": dubious |=: dotM;
\ No newline at end of file |