summaryrefslogtreecommitdiff
path: root/support/pydocstrip/vndriver.dtx
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 /support/pydocstrip/vndriver.dtx
Initial commit
Diffstat (limited to 'support/pydocstrip/vndriver.dtx')
-rw-r--r--support/pydocstrip/vndriver.dtx390
1 files changed, 390 insertions, 0 deletions
diff --git a/support/pydocstrip/vndriver.dtx b/support/pydocstrip/vndriver.dtx
new file mode 100644
index 0000000000..01f24a8af0
--- /dev/null
+++ b/support/pydocstrip/vndriver.dtx
@@ -0,0 +1,390 @@
+% \iffalse
+%<dtx>\ProvidesFile{vndriver.dtx}[2003/11/01 v01.01 VNR.KTV.DTX.driver]
+% \fi
+%
+% \section{Driver}
+%
+% \subsection{Common Part}
+%
+% \begin{macrocode}
+%<*test|rm|it|csc>
+% \end{macrocode}
+%
+% |version_check| was introduced in |dc1.3|.
+% \begin{macrocode}
+version_check(1,0);
+% \end{macrocode}
+%
+% Accessories for polish special letters. Pseudoparameters.
+%
+% \begin{macrocode}
+input exaccess;
+input expseudo;
+% \end{macrocode}
+% \begin{macrocode}
+mode_setup;
+font_setup;
+pseudo_setup;
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</test|rm|it|csc>
+% \end{macrocode}
+%
+% \subsection{Test Mode}
+%
+% \begin{macrocode}
+%<test&(rm|it)> set_lowercase;
+%<test&(rm|it)> input vnaccent;
+%<test&rm> input_lr_fam;
+%<test&it> input_li_fam;
+% \end{macrocode}
+% \begin{macrocode}
+%<*test>
+set_uppercase;
+input vnaccent;
+input_ur_fam;
+%</test>
+% \end{macrocode}
+%
+%
+% \subsection{Only for T5supp}
+%
+% \subsubsection{Common Part}
+%
+% \begin{macrocode}
+%<*t5supp>
+input exbraces;
+input expunct;
+%<!csc> input exaccent;
+input exsign;
+%</t5supp>
+% \end{macrocode}
+%
+% \subsubsection{Roman}
+%
+% \begin{macrocode}
+%<*!test&rm&t5supp>
+set_lowercase;
+input vnaccent;
+input vndothook;
+input vnminus;
+input vnlacc;
+input vnclr;
+set_uppercase;
+input vnaccent;
+input vnuacc;
+input vncur;
+%</!test&rm&t5supp>
+% \end{macrocode}
+%
+% \subsubsection{Italic}
+%
+% \begin{macrocode}
+%<*!test&it&t5supp>
+set_lowercase;
+input vnaccent;
+input vndothook;
+input vnminus;
+input vnlacc;
+input vncli;
+set_uppercase;
+input vnaccent;
+input vnuacc;
+input vncur;
+%</!test&it&t5supp>
+% \end{macrocode}
+%
+% \subsubsection{CSC}
+%
+% \begin{macrocode}
+%<*!test&csc&t5supp>
+set_uppercase;
+input vnaccent;
+input vnuacc;
+input vncur;
+%</!test&csc&t5supp>
+% \end{macrocode}
+%
+% If the variable |gen_t5supp_supp| is already known,
+% the |next| equals |endinput| and the driver stops here;
+% otherwise, the |next| is |relax| and nothing happens.
+%
+% \begin{macrocode}
+%<*!test&!t5supp&csc>
+input exrulett;
+input exbraces;
+input expunct;
+input exsign;
+input exromp;
+input exrdigit;
+set_uppercase;
+input vnaccent;
+input vncur;
+%</!test&!t5supp&csc>
+% \end{macrocode}
+%
+% \subsection{Something from EC font}
+%
+% Letters from |EC| font.
+% \begin{macrocode}
+%<*!test&!t5supp&(rm|it)>
+input exbraces;
+input expunct;
+input exaccent;
+input exsign;
+input exrlig;
+input exromp;
+input exrulett;
+input exrllett;
+input exrdigit;
+%</!test&!t5supp&(rm|it)>
+% \end{macrocode}
+%
+% \subsection{Lowercase Letters}
+%
+% \begin{macrocode}
+%<*!test&!t5supp&(rm|it)>
+set_lowercase;
+input vnaccent;
+%</!test&!t5supp&(rm|it)>
+% \end{macrocode}
+%
+% \subsubsection{Roman fonts}
+%
+% \begin{macrocode}
+%<*!test&!t5supp&rm>
+input vnclr;
+input vndothook;
+input vnminus;
+%</!test&!t5supp&rm>
+% \end{macrocode}
+%
+% \subsubsection{Italic fonts}
+%
+% \begin{macrocode}
+%<*!test&!t5supp&it>
+input vncli;
+input vndothook;
+input vnminus;
+%</!test&!t5supp&it>
+% \end{macrocode}
+%
+% \subsection{Uppercase Letters}
+%
+% \begin{macrocode}
+%<*!test&!t5supp&(rm|it)>
+set_uppercase;
+input vnaccent;
+input vncur;
+%</!test&!t5supp&(rm|it)>
+% \end{macrocode}
+%
+% \subsection{Only for CSC}
+%
+% \begin{macrocode}
+%<*csc>
+% \end{macrocode}
+%
+% \begin{macrocode}
+boolean is_small_cap;
+is_small_cap:=true;
+% \end{macrocode}
+%%% fine higher
+% the `higher' values are used while putting accents and attaching ogoneks
+% \begin{macrocode}
+forsuffixes $ =
+ u,o, letter_fit,
+ x_height, bar_height,
+ body_height,stem:
+ higher.$.#:=$.#; higher.$:=$;
+endfor
+% \end{macrocode}
+%%% fine lower
+% \begin{macrocode}
+begingroup
+% \end{macrocode}
+% \begin{macrocode}
+ 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;
+% \end{macrocode}
+% optional part:
+% \begin{macrocode}
+ 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
+% \end{macrocode}
+% \begin{macrocode}
+ input expseudo;
+% \end{macrocode}
+% \begin{macrocode}
+ font_setup;
+ pseudo_setup;
+% \end{macrocode}
+% \begin{macrocode}
+%<*!test&!t5supp>
+ input_lig excspl;
+%</!test&!t5supp>
+% \end{macrocode}
+% \begin{macrocode}
+%<*test>
+ set_smallcap;
+ input vnaccent;
+ input_sc_fam;
+endgroup
+%</test>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<*!test&t5supp>
+ set_smallcap;
+ input vnaccent;
+ input vnlacc;
+ input vncur;
+ input txpseudo;
+ font_setup;
+ pseudo_setup;
+ input txaccent;
+ input vndothook;
+ input vnminus;
+% \end{macrocode}
+%
+% \begin{macrocode}
+endgroup
+%</!test&t5supp>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<*!test&!t5supp>
+ 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;
+% \end{macrocode}
+% \begin{macrocode}
+ set_smallcap;
+ input vnaccent;
+ input vncur;
+% \end{macrocode}
+% \begin{macrocode}
+ input txpseudo;
+ font_setup;
+ pseudo_setup;
+ input txaccent;
+ input vndothook;
+ input vnminus;
+% \end{macrocode}
+%
+% \begin{macrocode}
+endgroup;
+% \end{macrocode}
+%
+% \begin{macrocode}
+%</!test&!t5supp>
+% \end{macrocode}
+% \begin{macrocode}
+%</csc>
+% \end{macrocode}
+%
+% \subsection{Font Parameters}
+%
+% \subsubsection{Common Part}
+%
+% \begin{macrocode}
+%<*!test&!t5supp&(rm|it|csc)>
+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#;
+%</!test&!t5supp&(rm|it|csc)>
+% \end{macrocode}
+%
+% \begin{macrocode}
+%<*!test&!t5supp&(rm|it|csc)>
+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_baselineskip max(1.2*designsize,body_height#+paren_depth#);
+% font_digit_width % set inside the digits file
+% font_cap_stem % set after the programme of the capital I
+%</!test&!t5supp&(rm|it|csc)>
+% \end{macrocode}
+%
+% \subsubsection{Roman}
+%
+% \begin{macrocode}
+%<*!test&!t5supp&rm>
+if monospace:
+ font_normal_space 9u#; % no stretching or shrinking
+ font_quad 18u#;
+ font_extra_space 9u#;
+ input vnmligtb; % ligature := monospaced fonts
+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 vnrligtb; % ligature := not monospaced fonts
+fi
+%</!test&!t5supp&rm>
+% \end{macrocode}
+%
+% \subsubsection{Italic}
+%
+% \begin{macrocode}
+%<*!test&!t5supp&it>
+if monospace:
+ font_normal_space 9u#; % no stretching or shrinking
+ font_quad 18u#;
+ font_extra_space 9u#;
+ letter_fit# := letter_fit
+ := 0;
+ input vnmligtb; % ligature := monospaced
+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 vniligtb; % ligature := proportionally spaced
+fi
+%</!test&!t5supp&it>
+% \end{macrocode}
+%
+% \subsubsection{CSC}
+%
+% \begin{macrocode}
+%<*!test&csc&!t5supp>
+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
+%</!test&csc&!t5supp>
+% \end{macrocode}
+%
+% \endinput