summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/fonts/source/lh/base/llvligtb.mf
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/fonts/source/lh/base/llvligtb.mf')
-rw-r--r--Master/texmf-dist/fonts/source/lh/base/llvligtb.mf244
1 files changed, 244 insertions, 0 deletions
diff --git a/Master/texmf-dist/fonts/source/lh/base/llvligtb.mf b/Master/texmf-dist/fonts/source/lh/base/llvligtb.mf
new file mode 100644
index 00000000000..902ea7a956a
--- /dev/null
+++ b/Master/texmf-dist/fonts/source/lh/base/llvligtb.mf
@@ -0,0 +1,244 @@
+%
+% llvligtb.mf
+%
+%% Cyrillic font container with T2 encoding beta-support
+%
+% This file is future part of lxfonts package
+% Version 3.1 // Patchlevel=0
+% (c) O.Lapko
+%
+% This package belongs to the public domain under conditions similar to
+% those of D. E. Knuth specified for the Computer Modern family of fonts.
+% In particular, only the authors are entitled to modify this file
+% and to save it under the same name.
+%
+% Content:
+%
+% Ligatures
+% This file should be called for NOT monospaced fonts !
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+LHver_check(3,4); % like |version_check| in ec
+
+% The following ligatures are integrated:
+%
+% for CM fonts:
+% !`
+% ?`
+% for T2
+% -- gives -
+% --- gives --
+% -<hyphenchar> gives <hyphenchar>
+% common
+% <<
+% >>
+% ,,(LH:in new version only)
+% ''
+% ``
+%
+
+if known spanish_shriek: % for CM fonts only
+
+ ligtable "!": "`" =: spanish_shriek;
+ ligtable "?": "`" =: spanish_query;
+
+fi
+
+if genmode="ex": % for T2 only
+
+ %english quotes
+ ligtable
+ "`": "`"=:oct"020", %ec:``
+ oct"020" kern 2u#, %ec:``
+ "?" kern 2u#,
+ "!" kern 2u#;
+
+ ligtable
+ "'": "'"=:oct"021", %ec:''
+ oct"021" kern 2u#, %ec:''
+ "?" kern 2u#,
+ "!" kern 2u#;
+
+ %dashes
+ ligtable
+ "-": "-" =: oct"025", %endash
+ oct"177" =: oct"177"; % <hyphen><hyphenchar> => <hyphenchar>
+
+ ligtable
+ oct"025": "-"=: oct"026"; % "---" => cyremdash in t2 !!!
+
+fi
+
+
+% ligatures for cyrillic quotes
+if (altcoding and (ligs <> 0)) % for CM
+ or (genmode="ex"): % or if T2 started
+
+ beginligtable
+ labelchar ([ASCII"<"]);
+ setlig ([ASCII"<"],CYR_.flqq); % "<<"
+ endligtable;
+
+ beginligtable
+ labelchar ([ASCII">"]);
+ setlig ([ASCII">"],CYR_.frqq); % ">>"
+ endligtable;
+
+ beginligtable
+ labelchar ([ASCII","]);
+ setlig ([ASCII","],CYR_.baseqq); % ",,"
+ endligtable;
+
+fi % ligatures for cyrillic quotes
+
+k#:=-.5u#; ku#:=-1u#; kk#:=-1.5u#; kkk#:=-2u#; % four degrees of kerning
+
+% kerning for T2 only
+if genmode="ex":
+
+ beginligtable
+ labelchar (boundarychar);
+ setkern [-kk#] ([oct"020"], %ec:``
+ [oct"021"], %ec:''
+ CYR_.baseqq,%t2:,,
+ [oct"055"], %-
+ [oct"140"], %`
+ [oct"047"]);%'
+ endligtable;
+
+ beginligtable
+ labelchar ([oct"020"]); %ec:``
+ setkern [2u#] ([oct"140"], %`
+ [oct"020"]);%ec:``
+ setkern [-kk#] (boundarychar);
+ endligtable;
+
+ beginligtable
+ labelchar ([oct"021"]); %ec:''
+ setkern [2u#] ([oct"047"], %'
+ [oct"021"]);%ec:''
+ setkern [-kk#] (boundarychar);
+ endligtable;
+
+fi % for T2 only
+
+
+% here is used full Cyrillic letter stuff for kerning
+ beginligtable
+ labelchar (CYR_.baseqq); %ec[oct"022"]:,,
+ if roman_ec:
+ setkern [2u#] ([oct"015"]); %ec:,
+ fi
+ if altcoding or roman_ec:
+ setkern [2u#] ([ASCII","]);
+ fi
+ if roman_ec:
+ labelchar ([oct"015"]);
+ fi
+ setkern [2u#] (CYR_.baseqq);%t2:,,
+ setkern [-kk#] (boundarychar);
+ if altcoding or roman_ec:
+ setkern [kkk#] ([ASCII"V"]);
+ setkern [kk#] ([ASCII"W"],
+ [ASCII"Y"]);
+ setkern [k#] ([ASCII"O"],
+ [ASCII"C"],
+ [ASCII"G"],
+ [ASCII"Q"]);
+ if not TITLEfont:
+ if ROMANfont:
+ setkern [-kkk#] ([ASCII"j"]);
+ setkern [u#] ([ASCII"g"]);
+ fi
+ if ROMANfont or SmallCapsfont:
+ setkern [u#] ([ASCII"y"]);
+ fi
+ setkern [kk#] ([ASCII"v"]);
+ setkern [-u#] ([ASCII"w"]);
+ fi
+ fi
+ setkern [-kk#] (CYR_.D);
+ setkern [kkk#] (CYR_.IZH,
+ CYR_.IZH_dgr,
+ CYR_.IZH_uml,
+ CYR_.IZH_ac);
+ setkern [kk#] (CYR_.Y,
+ CYR_.Y_hcrs,
+ CYR_.Y_bar,
+ CYR_.Y_ac,
+ CYR_.LAT_W);
+ setkern [kk#] (CYR_.U,
+ CYR_.U_shrt,
+ CYR_.U_bar,
+ CYR_.U_gr,
+ CYR_.U_ac,
+ CYR_.U_uml,
+ CYR_.U_dac,
+ CYR_.U_hat,
+ CYR_.U_tld,
+ CYR_.U_com);
+ setkern [k#] (CYR_.O,
+ CYR_.O_uml,
+ CYR_.O_lcom,
+ CYR_.O_bar,
+ CYR_.O_ac,
+ CYR_.F,
+ CYR_.OTLD,
+ CYR_.OTLD_uml,
+ CYR_.OTLD_bar,
+ CYR_.OTLD_ac,
+ CYR_.ABH_HA,
+ CYR_.LAT_Q,
+ CYR_.OMGA,
+ CYR_.OMGA_tlo,
+ CYR_.OT,
+ CYR_.PSI,
+ CYR_.FITA,
+ CYR_.OMGA_rnd,
+ CYR_.OO_cdot,
+ CYR_.OO_cddot,
+ CYR_.S,
+ CYR_.S_dsc,
+ CYR_.UKR_E,
+ CYR_.UKR_E_ac,
+ CYR_.KOPPA,
+ CYR_.VKOPPA);
+ if not TITLEfont:
+ if ROMANfont:
+ setkern [-kkk#] (CYR_.lat_j);
+ fi
+ if ROMANfont or SmallCapsfont:
+ setkern [-kk#] (CYR_.d);
+ setkern [u#] (CYR_.u,
+ CYR_.u_shrt,
+ CYR_.u_bar,
+ CYR_.u_gr,
+ CYR_.u_ac,
+ CYR_.u_uml,
+ CYR_.u_dac,
+ CYR_.u_hat,
+ CYR_.u_tld,
+ CYR_.u_com);
+ fi
+ setkern [-u#] (CYR_.lat_w);
+ setkern [kk#] (CYR_.izh,
+ CYR_.izh_dgr,
+ CYR_.izh_uml,
+ CYR_.izh_ac,
+ CYR_.lat_w,
+ CYR_.y,
+ CYR_.y_hcrs,
+ CYR_.y_bar,
+ CYR_.y_ac);
+ fi
+ endligtable;
+
+ beginligtable
+ labelchar (CYR_.frqq);%ec[oct"024"]:>>
+ setkern [kk#] ([ASCII"."],
+ [ASCII","]);
+ endligtable;
+
+endinput;
+%end of file