diff options
Diffstat (limited to 'tex/context/base/mkiv/type-ini.mkvi')
-rw-r--r-- | tex/context/base/mkiv/type-ini.mkvi | 90 |
1 files changed, 51 insertions, 39 deletions
diff --git a/tex/context/base/mkiv/type-ini.mkvi b/tex/context/base/mkiv/type-ini.mkvi index 2ac3ee207..ac5f6af2f 100644 --- a/tex/context/base/mkiv/type-ini.mkvi +++ b/tex/context/base/mkiv/type-ini.mkvi @@ -45,18 +45,30 @@ \let\currenttypescripts\empty \let\currenttypefile \empty +\installmacrostack\currenttypefile + \let\typescriptone \empty % public, used in typescripts \let\typescripttwo \empty % public, used in typescripts \let\typescriptthree\empty % public, used in typescripts +\installmacrostack\typescriptone +\installmacrostack\typescripttwo +\installmacrostack\typescriptthree + \let\fontclassstyle \empty +\installmacrostack\fontclassstyle + \let\m_font_typescripts_one \empty \let\m_font_typescripts_two \empty \let\m_font_typescripts_three\empty \let\m_font_typescripts_check\empty \let\m_font_typescripts_match\empty +\installmacrostack\m_font_typescripts_one +\installmacrostack\m_font_typescripts_two +\installmacrostack\m_font_typescripts_three + \let\t_font_typescripts\relax % uses as synonym \installcorenamespace{typescriptcache} @@ -75,6 +87,9 @@ \let\typescriptmethod\plusone % 1: empty==all==true 2: empty==false \let\typescriptstate \plustwo % 1: process 2: store +\installmacrostack\typescriptmethod +\installmacrostack\typescriptstate + \unexpanded\def\starttypescriptcollection {\dosingleempty\font_typescripts_collection_start} @@ -95,19 +110,21 @@ \def\font_typescripts_use_one{\let\typescriptmethod\plusone\font_typescripts_use} \def\font_typescripts_use_two{\let\typescriptmethod\plustwo\font_typescripts_use} +\installmacrostack\stoptypescript + \unexpanded\def\font_typescripts_use[#one][#two][#three]% - {\pushmacro\m_font_typescripts_one - \pushmacro\m_font_typescripts_two - \pushmacro\m_font_typescripts_three + {\push_macro_m_font_typescripts_one + \push_macro_m_font_typescripts_two + \push_macro_m_font_typescripts_three \edef\m_font_typescripts_one {\truetypescript{#one}}% \edef\m_font_typescripts_two {\truetypescript{#two}}% \edef\m_font_typescripts_three{\truetypescript{#three}}% - \pushmacro\typescriptone - \pushmacro\typescripttwo - \pushmacro\typescriptthree - \pushmacro\typescriptmethod - \pushmacro\typescriptstate - \pushmacro\stoptypescript + \push_macro_typescriptone + \push_macro_typescripttwo + \push_macro_typescriptthree + \push_macro_typescriptmethod + \push_macro_typescriptstate + \push_macro_stoptypescript \typescriptfoundfalse \let\typescriptstate\plusone % why \iftracetypescripts @@ -119,15 +136,15 @@ \font_typescripts_use_display \fi \setfalse\c_font_typescripts_first_pass - \popmacro\stoptypescript - \popmacro\typescriptstate - \popmacro\typescriptmethod - \popmacro\typescriptthree - \popmacro\typescripttwo - \popmacro\typescriptone - \popmacro\m_font_typescripts_three - \popmacro\m_font_typescripts_two - \popmacro\m_font_typescripts_one} + \pop_macro_stoptypescript + \pop_macro_typescriptstate + \pop_macro_typescriptmethod + \pop_macro_typescriptthree + \pop_macro_typescripttwo + \pop_macro_typescriptone + \pop_macro_m_font_typescripts_three + \pop_macro_m_font_typescripts_two + \pop_macro_m_font_typescripts_one} \def\font_typescripts_use_display {\processcommacommand[\typescriptfiles]\font_typescripts_load_file @@ -170,10 +187,10 @@ % 1 then, it doesn't get stored without doing that explicitly \unexpanded\def\loadtypescriptfile[#1]% - {\pushmacro\typescriptstate + {\push_macro_typescriptstate \let\typescriptstate\plustwo % assumes 2 at the outer level \clf_loadtypescriptfile{#1}% - \popmacro\typescriptstate} + \pop_macro_typescriptstate} \unexpanded\def\loadfoundtypescriptfile#1% {\startreadingfile @@ -191,30 +208,26 @@ {\global\advance\c_font_typescripts_n_of_preloaded\plusone \expandafter\normalgdef\csname\??typescriptcache\the\c_font_typescripts_n_of_preloaded\endcsname {\starttypescript#definitions\stoptypescript}% - %\normalexpanded{\global\t_font_typescripts{\the\expandafter\t_font_typescripts\noexpand\csname\??typescriptcache\the\c_font_typescripts_n_of_preloaded\endcsname}}} - \global\t_font_typescripts\expandafter\expandafter\expandafter - {\expandafter\the\expandafter\t_font_typescripts - \csname\??typescriptcache\the\c_font_typescripts_n_of_preloaded\endcsname}} + \gtoksapp\t_font_typescripts\expandafter + {\csname\??typescriptcache\the\c_font_typescripts_n_of_preloaded\endcsname}} \def\font_typescripts_collection_start_store#definitions\stoptypescriptcollection {\global\advance\c_font_typescripts_n_of_preloaded\plusone \expandafter\normalgdef\csname\??typescriptcache\the\c_font_typescripts_n_of_preloaded\endcsname {\starttypescriptcollection#definitions\stoptypescriptcollection}% - %\normalexpanded{\global\t_font_typescripts{\the\expandafter\t_font_typescripts\noexpand\csname\??typescriptcache\the\c_font_typescripts_n_of_preloaded\endcsname}}} - \global\t_font_typescripts\expandafter\expandafter\expandafter - {\expandafter\the\expandafter\t_font_typescripts - \csname\??typescriptcache\the\c_font_typescripts_n_of_preloaded\endcsname}} + \gtoksapp\t_font_typescripts\expandafter + {\csname\??typescriptcache\the\c_font_typescripts_n_of_preloaded\endcsname}} \def\font_typescripts_load_file#filename% {\setfalse\c_font_typescripts_quit - \pushmacro\currenttypefile + \push_macro_currenttypefile \def\currenttypefile{#filename}% \ifconditional\c_font_typescripts_preload \font_typescript_process_typescript_file_and_store \else \font_typescript_process_typescript_file \fi - \popmacro\currenttypefile + \pop_macro_currenttypefile \ifconditional\c_font_typescripts_quit \quitcommalist \setfalse\c_font_typescripts_quit @@ -294,8 +307,7 @@ \def\font_typescripts_start_gobble#definitions\stoptypescript{} \def\font_typescripts_start_document#definitions\stoptypescript - %{\appendtoks\starttypescript#definitions\stoptypescript\to\c_font_typescripts_document} - {\c_font_typescripts_document\expandafter{\the\c_font_typescripts_document\starttypescript#definitions\stoptypescript}} + {\toksapp\c_font_typescripts_document{\starttypescript#definitions\stoptypescript}} \def\font_typescripts_start_process % could be a faster \doifelsenextoptionalif needed {\let\typescriptone \m_font_typescripts_one @@ -344,10 +356,10 @@ \let\font_typescripts_start_process_again_three\font_typescripts_start_process_yes \def\font_typescripts_start_process_indeed - {\pushmacro\fontclass} + {\push_macro_fontclass} \unexpanded\def\stoptypescript - {\popmacro\fontclass} + {\pop_macro_fontclass} \def\font_typescripts_check#asked#target#followup[#value]% script use value next {\donefalse @@ -521,8 +533,8 @@ \let\@@tsdirection \empty \let\@@tsdesignsize\empty \geteparameters[\??ts][#settings]% todo raw - \pushmacro\fontclass - \pushmacro\fontclassstyle + \push_macro_fontclass + \push_macro_fontclassstyle \setcurrentfontclass{#name}% \savefontclassparameters{#style}\@@tsrscale\@@tsfeatures\@@tsfallbacks\@@tsgoodies\@@tsdesignsize\@@tsdirection \the\everybeforedefinetypeface} @@ -536,8 +548,8 @@ \def\font_typefaces_defining_stop {\the\everyafterdefinetypeface - \popmacro\fontclassstyle - \popmacro\fontclass} + \pop_macro_fontclassstyle + \pop_macro_fontclass} \def\dofastdefinetypeface#name#style#fontshape#fontsize#settings% called from the lua end (via case d) {\font_typefaces_define_indeed[#name][#style]% @@ -597,7 +609,7 @@ {\doifelsenothing{#styles} {\font_typescripts_inherit_indeed[#name][\s!rm,\s!ss,\s!tt,\s!mm][\fontclass]} {\doifnot{#name}{#parentclass} - {\global\let\font_typescripts_inherit_check\font_typescripts_inherit_check_indeed + {\glet\font_typescripts_inherit_check\font_typescripts_inherit_check_indeed \def\font_typescripts_inherit_check_step#style{\setevalue{\??typescriptinheritances#name:#style}{#parentclass}}% \processcommalist[#styles]\font_typescripts_inherit_check_step}}} |