summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/mff/mfcorfnt.tex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/mff/mfcorfnt.tex
Initial commit
Diffstat (limited to 'macros/latex/contrib/mff/mfcorfnt.tex')
-rw-r--r--macros/latex/contrib/mff/mfcorfnt.tex492
1 files changed, 492 insertions, 0 deletions
diff --git a/macros/latex/contrib/mff/mfcorfnt.tex b/macros/latex/contrib/mff/mfcorfnt.tex
new file mode 100644
index 0000000000..1a76539415
--- /dev/null
+++ b/macros/latex/contrib/mff/mfcorfnt.tex
@@ -0,0 +1,492 @@
+%
+% Macro which are responsible for correction
+% of font parameters
+%
+
+\def\MFF@corr@many#1{%
+ \if@MFF@checkit
+ \MFF@dimenD=\MFF@temp@crisp\relax
+ \ifdim \@tempdimb<\MFF@dimenD
+ \@tempdimb=\MFF@dimenD \MFF@warncorr{#1}%
+ \fi
+ \MFF@dimenD=\MFF@temp@tiny\relax
+ \ifdim \@tempdimb<\MFF@dimenD
+ \@tempdimb=\MFF@dimenD \MFF@warncorr{#1}%
+ \fi
+ \MFF@dimenD=\MFF@temp@fine\relax
+ \ifdim \@tempdimb<\MFF@dimenD
+ \@tempdimb=\MFF@dimenD \MFF@warncorr{#1}%
+ \fi
+ \fi
+}
+
+\def\MFF@corr@corr#1{%
+ \if@MFF@checkit
+ \MFF@dimenD=\MFF@temp@cap_hair\relax
+ \ifdim \@tempdimb>0.2\MFF@dimenD
+ \@tempdimb=0.2\MFF@dimenD \MFF@warncorr{#1}%
+ \fi
+ \MFF@dimenD=\MFF@temp@stem\relax
+ \ifdim \@tempdimb>0.16666666667\MFF@dimenD
+ \@tempdimb=0.16666666667\MFF@dimenD \MFF@warncorr{#1}%
+ \fi
+ \MFF@dimenA=\MFF@temp@fudge\relax
+ \MFF@multiply{\MFF@dimenA}{\MFF@dimenD}{\MFF@dimenD}%
+ \ifdim \@tempdimb>0.25\MFF@dimenD
+ \@tempdimb=0.25\MFF@dimenD \MFF@warncorr{#1}%
+ \fi
+ \MFF@dimenD=\MFF@temp@curve\relax
+ \ifdim \@tempdimb>0.083333333333\MFF@dimenD
+ \@tempdimb=0.083333333333\MFF@dimenD \MFF@warncorr{#1}%
+ \fi
+ \fi
+}
+
+%
+% Correct font parameters
+%
+
+
+\def\MFF@correct@u{%
+ \@tempdimb=\MFF@scale@width\@tempdimb
+ \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{u}\fi
+}
+
+%\def\MFF@correct@width_adj{%
+%}
+
+\def\MFF@correct@serif_fit{%
+ \@tempdimb=\MFF@scale@width\@tempdimb
+}
+
+\def\MFF@correct@cap_serif_fit{%
+ \@tempdimb=\MFF@scale@width\@tempdimb
+}
+
+%\def\MFF@correct@letter_fit{%
+%}
+
+\def\MFF@correct@body_height{%
+ \@tempdimb=\MFF@scale@height\@tempdimb
+ \@tempdimb=\MFF@scale@asc\@tempdimb
+ \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{body_height}\fi
+}
+
+\def\MFF@correct@asc_height{%
+ \@tempdimb=\MFF@scale@height\@tempdimb
+ \@tempdimb=\MFF@scale@asc\@tempdimb
+ \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{asc_height}\fi
+ \if@MFF@checkit
+ \MFF@dimenD=\MFF@temp@x_height\relax
+ \ifdim \@tempdimb<1.2\MFF@dimenD
+ \@tempdimb=1.2\MFF@dimenD \MFF@warncorr{asc_height}%
+ \fi
+ \fi
+}
+
+\def\MFF@correct@cap_height{%
+ \@tempdimb=\MFF@scale@height\@tempdimb
+ \@tempdimb=\MFF@scale@asc\@tempdimb
+ \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{cap_height}\fi
+}
+
+\def\MFF@correct@fig_height{%
+ \@tempdimb=\MFF@scale@height\@tempdimb
+ \@tempdimb=\MFF@scale@asc\@tempdimb
+ \@tempdimb=\MFF@scale@math\@tempdimb
+ \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{fig_height}\fi
+}
+
+\def\MFF@correct@x_height{%
+ \@tempdimb=\MFF@scale@height\@tempdimb
+ \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{x_height}\fi
+ \edef\MFF@temp@x_height{\the\@tempdimb}%
+}
+
+\def\MFF@correct@math_axis{%
+ \@tempdimb=\MFF@scale@height\@tempdimb
+ \@tempdimb=\MFF@scale@math\@tempdimb
+ \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{math_axis}\fi
+}
+
+\def\MFF@correct@comma_depth{%
+ \@tempdimb=\MFF@scale@height\@tempdimb
+ \@tempdimb=\MFF@scale@desc\@tempdimb
+ \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{comma_depth}\fi
+}
+
+\def\MFF@correct@desc_depth{%
+ \@tempdimb=\MFF@scale@height\@tempdimb
+ \@tempdimb=\MFF@scale@desc\@tempdimb
+ \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{desc_depth}\fi
+}
+
+\def\MFF@correct@acc_height{%
+ \@tempdimb=\MFF@scale@height\@tempdimb
+ \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{acc_height}\fi
+}
+
+\def\MFF@correct@dot_height{%
+ \@tempdimb=\MFF@scale@height\@tempdimb
+ \@tempdimb=\MFF@scale@asc\@tempdimb
+ \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{dot_height}\fi
+}
+
+\def\MFF@correct@udot_height{%
+ \@tempdimb=\MFF@scale@height\@tempdimb
+ \@tempdimb=\MFF@scale@asc\@tempdimb
+ \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{udot_height}\fi
+}
+
+\def\MFF@correct@bar_height{%
+ \@tempdimb=\MFF@scale@height\@tempdimb
+ \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{bar_height}\fi
+ \if@MFF@checkit
+ \MFF@dimenD=\MFF@temp@x_height\relax
+ \ifdim \@tempdimb<0.5\MFF@dimenD
+ \@tempdimb=0.5\MFF@dimenD \MFF@warncorr{bar_height}%
+ \fi
+ \ifdim \@tempdimb>0.55\MFF@dimenD
+ \@tempdimb=0.55\MFF@dimenD \MFF@warncorr{bar_height}%
+ \fi
+ \fi
+}
+
+\def\MFF@correct@crisp{%
+ \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{crisp}\fi
+ \edef\MFF@temp@crisp{\the\@tempdimb}%
+}
+
+\def\MFF@correct@tiny{%
+ \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{tiny}\fi
+ \edef\MFF@temp@tiny{\the\@tempdimb}%
+}
+
+\def\MFF@correct@fine{%
+ \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{fine}\fi
+ \edef\MFF@temp@fine{\the\@tempdimb}%
+}
+
+\def\MFF@correct@thin_join{%
+ \@tempdimb=\MFF@scale@bold\@tempdimb
+ \if n\MFF@contrasttype
+ \MFF@dimenD=\MFF@temp@stem\relax
+ \@tempdimb=\MFF@dimenD
+ \fi
+ \if d\MFF@contrasttype
+ \MFF@dimenD=\MFF@temp@stem\relax
+ \fi
+ \@tempdimb=\MFF@scale@join\@tempdimb
+ \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{thin_join}\fi
+ \MFF@corr@many{thin_join}%
+}
+
+\def\MFF@correct@hair{%
+ \@tempdimb=\MFF@scale@thin\@tempdimb
+ \if n\MFF@contrasttype
+ \MFF@dimenD=\MFF@temp@stem\relax
+ \@tempdimb=\MFF@dimenD
+ \fi
+ \if d\MFF@contrasttype
+ \MFF@dimenD=\MFF@temp@stem\relax
+ \@tempdimb=\MFF@contrast\MFF@dimenD
+ \fi
+ \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{hair}\fi
+ \MFF@corr@many{hair}%
+ \edef\MFF@temp@hair{\the\@tempdimb}%
+}
+
+\def\MFF@correct@vair{%
+ \@tempdimb=\MFF@scale@thin\@tempdimb
+ \if n\MFF@contrasttype
+ \MFF@dimenD=\MFF@temp@stem\relax
+ \@tempdimb=\MFF@dimenD
+ \fi
+ \if d\MFF@contrasttype
+ \MFF@dimenD=\MFF@temp@stem\relax
+ \@tempdimb=\MFF@contrast\MFF@dimenD
+ \fi
+ \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{vair}\fi
+ \MFF@corr@many{vair}%
+}
+
+\def\MFF@correct@stem{%
+ \@tempdimb=\MFF@scale@bold\@tempdimb
+ \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{stem}\fi
+ \MFF@corr@many{stem}%
+ \edef\MFF@temp@stem{\the\@tempdimb}%
+}
+
+\def\MFF@correct@curve{%
+ \@tempdimb=\MFF@scale@bold\@tempdimb
+ \if n\MFF@contrasttype
+ \MFF@dimenD=\MFF@temp@stem\relax
+ \@tempdimb=\MFF@dimenD
+ \fi
+ \if d\MFF@contrasttype
+ \MFF@dimenD=\MFF@temp@stem\relax
+ \@tempdimb=\MFF@dimenD
+ \fi
+ \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{curve}\fi
+ \if@MFF@checkit
+ \MFF@dimenD=\MFF@temp@stem\relax
+ \ifdim \@tempdimb<\MFF@dimenD
+ \@tempdimb=\MFF@dimenD \MFF@warncorr{curve}%
+ \fi
+ \fi
+ \MFF@corr@many{curve}%
+ \edef\MFF@temp@curve{\the\@tempdimb}%
+}
+
+\def\MFF@correct@ess{%
+ \@tempdimb=\MFF@scale@bold\@tempdimb
+ \if n\MFF@contrasttype
+ \MFF@dimenD=\MFF@temp@stem\relax
+ \@tempdimb=\MFF@dimenD
+ \fi
+ \if d\MFF@contrasttype
+ \MFF@dimenD=\MFF@temp@stem\relax
+ \@tempdimb=\MFF@dimenD
+ \fi
+ \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{ess}\fi
+ \MFF@corr@many{ess}%
+}
+
+\def\MFF@correct@flare{%
+ \@tempdimb=\MFF@scale@bold\@tempdimb
+ \@tempdimb=\MFF@scale@dot\@tempdimb
+ \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{flare}\fi
+ \MFF@corr@many{flare}%
+}
+
+\def\MFF@correct@dot_size{%
+ \@tempdimb=\MFF@scale@bold\@tempdimb
+ \if n\MFF@contrasttype
+ \MFF@dimenD=\MFF@temp@stem\relax
+ \@tempdimb=\MFF@dimenD
+ \fi
+ \if d\MFF@contrasttype
+ \MFF@dimenD=\MFF@temp@stem\relax
+ \@tempdimb=\MFF@dimenD
+ \fi
+ \@tempdimb=\MFF@scale@dot\@tempdimb
+ \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{dot_size}\fi
+ \MFF@corr@many{dot_size}%
+}
+
+\def\MFF@correct@cap_hair{%
+ \@tempdimb=\MFF@scale@thin\@tempdimb
+ \if n\MFF@contrasttype
+ \MFF@dimenD=\MFF@temp@cap_stem\relax
+ \@tempdimb=\MFF@dimenD
+ \fi
+ \if d\MFF@contrasttype
+ \MFF@dimenD=\MFF@temp@cap_stem\relax
+ \@tempdimb=\MFF@contrast\MFF@dimenD
+ \fi
+ \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{cap_hair}\fi
+ \MFF@corr@many{cap_hair}%
+ \edef\MFF@temp@cap_hair{\the\@tempdimb}%
+}
+
+\def\MFF@correct@cap_stem{%
+ \@tempdimb=\MFF@scale@bold\@tempdimb
+ \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{cap_stem}\fi
+ \if@MFF@checkit
+ \MFF@dimenD=\MFF@temp@stem\relax
+ \ifdim \@tempdimb<\MFF@dimenD
+ \@tempdimb=\MFF@dimenD \MFF@warncorr{cap_stem}%
+ \fi
+ \fi
+ \MFF@corr@many{cap_stem}%
+ \edef\MFF@temp@cap_stem{\the\@tempdimb}%
+}
+
+\def\MFF@correct@cap_curve{%
+ \@tempdimb=\MFF@scale@bold\@tempdimb
+ \if n\MFF@contrasttype
+ \MFF@dimenD=\MFF@temp@cap_stem\relax
+ \@tempdimb=\MFF@dimenD
+ \fi
+ \if d\MFF@contrasttype
+ \MFF@dimenD=\MFF@temp@cap_stem\relax
+ \@tempdimb=\MFF@dimenD
+ \fi
+ \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{cap_curve}\fi
+ \if@MFF@checkit
+ \MFF@dimenD=\MFF@temp@curve\relax
+ \ifdim \@tempdimb<\MFF@dimenD
+ \@tempdimb=\MFF@dimenD \MFF@warncorr{cap_curve}%
+ \fi
+ \fi
+ \MFF@corr@many{cap_curve}%
+}
+
+\def\MFF@correct@cap_ess{%
+ \@tempdimb=\MFF@scale@bold\@tempdimb
+ \if n\MFF@contrasttype
+ \MFF@dimenD=\MFF@temp@cap_stem\relax
+ \@tempdimb=\MFF@dimenD
+ \fi
+ \if d\MFF@contrasttype
+ \MFF@dimenD=\MFF@temp@cap_stem\relax
+ \@tempdimb=\MFF@dimenD
+ \fi
+ \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{cap_ess}\fi
+ \MFF@corr@many{cap_ess}%
+}
+
+\def\MFF@correct@rule_thickness{%
+ \@tempdimb=\MFF@scale@thin\@tempdimb
+ \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{rule_thickness}\fi
+}
+
+\def\MFF@correct@dish{%
+ \@tempdimb=\MFF@scale@dish\@tempdimb
+}
+
+%\def\MFF@correct@bracket{%
+%}
+
+\def\MFF@correct@jut{%
+ \@tempdimb=\MFF@scale@width\@tempdimb
+ \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{jut}\fi
+}
+
+\def\MFF@correct@cap_jut{%
+ \@tempdimb=\MFF@scale@width\@tempdimb
+ \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{cap_jut}\fi
+}
+
+\def\MFF@correct@beak_jut{%
+ \@tempdimb=\MFF@scale@width\@tempdimb
+}
+
+%\def\MFF@correct@beak{%
+%}
+
+\def\MFF@correct@notch_cut{%
+ \@tempdimb=\MFF@scale@thin\@tempdimb
+ \@tempdimb=\MFF@scale@notch\@tempdimb
+ \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{notch_cut}\fi
+}
+
+\def\MFF@correct@bar{%
+ \@tempdimb=\MFF@scale@bold\@tempdimb
+ \if n\MFF@contrasttype
+ \MFF@dimenD=\MFF@temp@stem\relax
+ \@tempdimb=\MFF@dimenD
+ \fi
+ \if d\MFF@contrasttype
+ \MFF@dimenD=\MFF@temp@stem\relax
+ \@tempdimb=\MFF@dimenD
+ \fi
+ \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{bar}\fi
+ \MFF@corr@many{bar}%
+}
+
+\def\MFF@correct@slab{%
+ \@tempdimb=\MFF@scale@bold\@tempdimb
+ \if n\MFF@contrasttype
+ \MFF@dimenD=\MFF@temp@cap_stem\relax
+ \@tempdimb=\MFF@dimenD
+ \fi
+ \if d\MFF@contrasttype
+ \MFF@dimenD=\MFF@temp@cap_stem\relax
+ \@tempdimb=\MFF@dimenD
+ \fi
+ \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{slab}\fi
+ \MFF@corr@many{slab}%
+ \edef\MFF@temp@slab{\the\@tempdimb}%
+}
+
+\def\MFF@correct@cap_bar{%
+ \@tempdimb=\MFF@scale@bold\@tempdimb
+ \if n\MFF@contrasttype
+ \MFF@dimenD=\MFF@temp@cap_stem\relax
+ \@tempdimb=\MFF@dimenD
+ \fi
+ \if d\MFF@contrasttype
+ \MFF@dimenD=\MFF@temp@cap_stem\relax
+ \@tempdimb=\MFF@dimenD
+ \fi
+ \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{cap_bar}\fi
+ \MFF@corr@many{cap_bar}%
+}
+
+\def\MFF@correct@cap_band{%
+ \@tempdimb=\MFF@scale@bold\@tempdimb
+ \if n\MFF@contrasttype
+ \MFF@dimenD=\MFF@temp@cap_stem\relax
+ \@tempdimb=\MFF@dimenD
+ \fi
+ \if d\MFF@contrasttype
+ \MFF@dimenD=\MFF@temp@cap_stem\relax
+ \@tempdimb=\MFF@dimenD
+ \fi
+ \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{cap_band}\fi
+ \MFF@corr@many{cap_band}%
+}
+
+\def\MFF@correct@cap_notch_cut{%
+ \@tempdimb=\MFF@scale@thin\@tempdimb
+ \@tempdimb=\MFF@scale@notch\@tempdimb
+ \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{cap_notch_cut}\fi
+}
+
+%\def\MFF@correct@serif_drop{%
+%}
+
+\def\MFF@correct@stem_corr{%
+ \MFF@corr@corr{stem_cor}%
+ \if@MFF@checkit
+ \MFF@dimenD=\MFF@temp@hair\relax
+ \MFF@dimenA=\MFF@temp@fudge\relax
+ \MFF@multiply{\MFF@dimenA}{\MFF@dimenD}{\MFF@dimenD}%
+ \ifdim \@tempdimb>0.0625\MFF@dimenD
+ \@tempdimb=0.0625\MFF@dimenD \MFF@warncorr{stem_corr}%
+ \fi
+ \fi
+}
+
+\def\MFF@correct@vair_corr{%
+ \MFF@corr@corr{vair_cor}%
+ \if@MFF@checkit
+ \MFF@dimenD=\MFF@temp@slab\relax
+ \ifdim \@tempdimb>0.25\MFF@dimenD
+ \@tempdimb=0.25\MFF@dimenD \MFF@warncorr{vair_corr}%
+ \fi
+ \fi
+}
+
+%\def\MFF@correct@apex_corr{%
+%}
+
+%\def\MFF@correct@o{%
+%}
+
+%\def\MFF@correct@apex_o{%
+%}
+
+\def\MFF@correct@fudge{%
+ \ifdim \@tempdimb<0.5pt\relax \@tempdimb=0.5pt \MFF@warncorr{fudge}\fi
+ \edef\MFF@temp@fudge{\the\@tempdimb}%
+}
+
+%\def\MFF@correct@math_spread{%
+%}
+
+%\def\MFF@correct@superness{%
+%}
+
+%\def\MFF@correct@superpull{%
+%}
+
+\def\MFF@correct@beak_darkness{%
+ \ifdim \@tempdimb<\z@ \@tempdimb=0pt \MFF@warncorr{beak_darkness}\fi
+}
+
+
+%
+% End of font correction
+%