summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/fonts/source/public/ibycus/ibylig4.mf
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/fonts/source/public/ibycus/ibylig4.mf')
-rw-r--r--Master/texmf-dist/fonts/source/public/ibycus/ibylig4.mf250
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