diff options
Diffstat (limited to 'Master/texmf-dist/fonts/source/vntex/vnr/vncsc.mf')
-rw-r--r-- | Master/texmf-dist/fonts/source/vntex/vnr/vncsc.mf | 164 |
1 files changed, 164 insertions, 0 deletions
diff --git a/Master/texmf-dist/fonts/source/vntex/vnr/vncsc.mf b/Master/texmf-dist/fonts/source/vntex/vnr/vncsc.mf new file mode 100644 index 00000000000..ceff20fa1fa --- /dev/null +++ b/Master/texmf-dist/fonts/source/vntex/vnr/vncsc.mf @@ -0,0 +1,164 @@ +% Copyright 2003-2005 Han The Thanh <hanthethanh@gmx.net>. +% This file is part of vntex. License: LPPL, version 1.3 or newer, +% according to http://www.latex-project.org/lppl.txt + +% driver for cap and smallcap fonts (based on eccsc.mf) + +version_check(1,0); % |version_check| was introduced in dc1.3 + +input exaccess; % accessories for polish special letters +input expseudo; % pseudoparameters + +mode_setup; +font_setup; +pseudo_setup; + +if known testing: + set_uppercase; + input vnaccent; + input_ur_fam; +elseif known gen_t5_supp: + input exbraces; % ^ ~ cwm ( ) < | > [ ] \ { } _ - (177) space (040) + input expunct; % < << > >> ! ` ' * + , . / = ; : (spanish !) + input exsign; % zero for mille, " # $ % @ pound sign + set_uppercase; + input vnaccent; + input vnuacc; + input vnuor; % Ohorn + input vnuur; % Uhorn + input vnudr; % D-bar +else: + input exrulett; % upper case (majuscules) + input exbraces; % ^ ~ cwm ( ) < | > [ ] \ { } _ - (177) space (040) + input expunct; % < << > >> ! ` ' * + , . / = ; : (spanish !) + input exsign; % zero for mille, " # $ % @ pound sign + input exromp; % (roman punctuation) & ? (spanish ?) + input exrdigit; % roman digits + + set_uppercase; + input vnaccent; + input vnuar; % modified/accented "A" + input vnuer; % modified/accented "E" + input vnuir; % accented "I" + input vnuor; % modified/accented "O" + input vnuur; % modified/accented "U" + input vnuyr; % accented "Y" + input vnudr; % D-bar +fi % known testing/gen_t5_supp + +boolean is_small_cap; is_small_cap:=true; +%%% fine higher +% the `higher' values are used while putting accents and attaching ogoneks +forsuffixes $=u,o,letter_fit,x_height,bar_height,body_height,stem: + higher.$.#:=$.#; higher.$:=$; +endfor + +%%% fine lower +begingroup +forsuffixes $= u, width_adj, cap_serif_fit, letter_fit, + body_height, cap_height, x_height, bar_height, comma_depth, + flare, dot_size, cap_hair, stem, cap_stem, cap_curve, cap_ess, + cap_jut, beak_jut, beak, slab, cap_bar, cap_band, cap_notch_cut, + o, apex_o: save $; $.#:=lower.$.#; endfor +fudge:=lower.fudge; + +% optional part: +forsuffixes $ = depth_corr, left_corr, top_breadth_corr, tip_breadth_corr, + tip_xcorr, tip_ycorr, pre_angle, post_angle, pre_limit, post_limit, + pre_lightness, post_lightness, pre_deflexion, post_deflexion, cap_flat, + ogonek_pen#: if known lower.$: $:=lower.$; fi +endfor + +input expseudo; % Recalculate pseudoparameters + +font_setup; +pseudo_setup; % now try again with |lower| settings + +if unknown testing and unknown gen_t5_supp: + input_lig excspl; % dotless i,j; letter ligatures FF FI FL FFI FFL D- +fi + +if known testing: + set_smallcap; + input vnaccent; + input_sc_fam; + def next= endgroup endinput enddef; +elseif known gen_t5_supp: + set_smallcap; + input vnaccent; + input vnlacc; + input vnuor; % Ohorn + input vnuur; % Uhorn + input vnudr; % D-bar + input txpseudo; % Recalculate pseudoparameters for capital accents + font_setup; + pseudo_setup; + input txaccent; % Accents for capital letters with small cap parameters + input vndothook;% dotbelow and hookabove + input vnminus; % minus iff monospace: + def next= endgroup endinput enddef; +else: + let next=relax; +fi % known testing/gen_t5_supp +next; + +extra_endchar:=extra_endchar&"charcode:=charcode+code_offset"; +code_offset:=ASCII"a" - ASCII"A"; + +input exrulett; % upper case (majuscules) + +suppress_i_dot := true; + +code_offset:=0; + +set_smallcap; +input vnaccent; +input vnuar; % modified/accented "A" +input vnuer; % modified/accented "E" +input vnuir; % accented "I" +input vnuor; % modified/accented "O" +input vnuur; % modified/accented "U" +input vnuyr; % accented "Y" +input vnudr; % D-bar + +input txpseudo; % Recalculate pseudoparameters for capital accents +font_setup; +pseudo_setup; +input txaccent; % Accents for capital letters with small cap parameters +input vndothook;% dotbelow and hookabove +input vnminus; % minus iff monospace: + +endgroup; + + +% Fontparameter +% +font_coding_scheme := "Vietnamese TeX Font Encoding"; +boundarychar := oct"027"; +font_slant slant; +font_x_height x_height#; +font_cap_height cap_height#; +font_asc_height asc_height#; +font_acc_cap_height (cap_height#+acc_height#); +font_desc_depth desc_depth#; +font_max_height (max(asc_height#,body_height#, cap_height#+acc_height#)); +font_max_depth (max(desc_depth#,paren_depth#,the_ogonek_depth#)); +% font_digit_width % set inside the digits file +% font_cap_stem % set after the programme of the capital I +font_baselineskip max(1.2*designsize,body_height#+paren_depth#); + +if monospace: + font_normal_space 9u#; % no stretching or shrinking + font_quad 18u#; + font_extra_space 9u#; + input vnmligtb; % do the monospace ligature programs +else: + font_normal_space 6u# + 2letter_fit#; + font_normal_stretch 3u#; + font_normal_shrink 2u#; + font_quad 18u# + 4letter_fit#; + font_extra_space 2u#; + input vncligtb; % do the ligature programs, not for monospaced fonts +fi + +endinput; |