summaryrefslogtreecommitdiff
path: root/tex/context/base/type-ini.tex
diff options
context:
space:
mode:
Diffstat (limited to 'tex/context/base/type-ini.tex')
-rw-r--r--tex/context/base/type-ini.tex37
1 files changed, 28 insertions, 9 deletions
diff --git a/tex/context/base/type-ini.tex b/tex/context/base/type-ini.tex
index 0fbe16289..02a49bb8e 100644
--- a/tex/context/base/type-ini.tex
+++ b/tex/context/base/type-ini.tex
@@ -30,9 +30,8 @@
\usetypescriptfile[\f!typeprefix spe] % special macros
\usetypescriptfile[\f!typeprefix exa] % some examples
\usetypescriptfile[\f!typeprefix loc] % local scripts
-% [\f!typeprefix pre] % predefined scripts (compatible)
-
-% \usetypescriptfile[typeface] % project scripts
+%usetypescriptfile[\f!typeprefix pre] % predefined scripts (compatible)
+%usetypescriptfile[typeface] % project scripts
\let\currenttypescripts\empty
@@ -141,14 +140,34 @@
% in run time user type scripts
\fi\fi}
+\let\allfontmapsfiles\empty \newif\ifautoloadmapfiles
+
\def\loadmapfile[#1]%
- {\processcommalist[#1]\doloadmapfile}
+ {\def\docommando##1%
+ {\doifinstringelse{.}{#1}
+ {\doglobal\addtocommalist{#1}\allfontmapsfiles}
+ {\expanded{\docommando{#1.\f!fontmapmapextension}}}}%
+ \processcommalist[#1]\docommando}
+
+\def\doloadfontmapfile#1% will be special
+ {\ifcase\realpageno
+ % can't happen
+ \or
+ \writestatus{pdftex}{using map file: #1}%
+ \pdfmapfile{+#1}%
+ \else
+ \writestatus{pdftex}{skipping map file: #1}%
+ \fi}
-\def\doloadmapfile#1% will be special
- {\ifcase\pdfoutput\else\ifx\pdfmapfile\undefined\else
- \doifundefined{map+#1}
- {\global\letvalue{map+#1}\empty\pdfmapfile{+#1}}%
- \fi\fi}
+\def\loadallfontmapfiles
+ {\ifautoloadmapfiles \ifx\allfontmapsfiles\empty \else
+ \ifcase\pdfoutput\else \ifx\pdfmapfile\undefined \else
+ \processcommacommand[\allfontmapsfiles]\doloadfontmapfile
+ \global\let\allfontmapsfiles\empty
+ \fi \fi
+ \fi \fi}
+
+\appendtoks \loadallfontmapfiles \to \everybeforeshipout
% \definetypeface [#1:joke] [#2:rm]
% \definetypeface [#1:joke] [#2:rm] [#3:...]