summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/context/base/enco-pfr.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/context/base/enco-pfr.tex')
-rw-r--r--Master/texmf-dist/tex/context/base/enco-pfr.tex303
1 files changed, 0 insertions, 303 deletions
diff --git a/Master/texmf-dist/tex/context/base/enco-pfr.tex b/Master/texmf-dist/tex/context/base/enco-pfr.tex
deleted file mode 100644
index 902eb7bcd55..00000000000
--- a/Master/texmf-dist/tex/context/base/enco-pfr.tex
+++ /dev/null
@@ -1,303 +0,0 @@
-%D \module
-%D [ file=enco-pfr,
-%D version=2000.12.10, % adapted 2005.08.14 to more delayed loading
-%D title=\CONTEXT\ Encoding Macros,
-%D subtitle=PDF Font Resource Inclusion,
-%D author=Hans Hagen,
-%D date=\currentdate,
-%D copyright={PRAGMA / Hans Hagen \& Ton Otten}]
-%C
-%C This module is part of the \CONTEXT\ macro||package and is
-%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
-%C details.
-
-\beginXETEX
- \endinput
-\endXETEX
-
-\beginLUATEX
- \endinput
-\endLUATEX
-
-\ifx\pdffontresource\undefined\else\endinput\fi
-
-\writestatus{loading}{Context Encoding Macros (pdf)}
-
-%D This is an experimental module in which we implement
-%D font resource inclusion in \PDF. One reason to include
-%D font resources is that it enables a search engine to
-%D perform a search (I'm told). This feature ws requested by
-%D Petr Ferdus from Czech.
-
-%D A simple test file may look like this (watch how we first
-%D load the encoding and then the font; previous font
-%D definitions are left untouched.)
-%D
-%D \starttyping
-%D % output=pdftex interface=en
-%D
-%D \useencoding[pfr]
-%D \setupbodyfont[csr]
-%D
-%D \starttext
-%D test \`z \'z \bf test \sl test \bs quite funny \`z \page
-%D test \`z \'z \bf test \sl test \bs quite funny \`z \page
-%D \stoptext
-%D \stoptyping
-%D
-%D We do our best to include a (often large) font resources
-%D only once. The current implementation is not that
-%D general which is also due to the fact that \type
-%D {\pdffontattr} is expanded instantly and persistent. A
-%D more versatile (but also slower) approach is to keep track
-%D of the fonts and either flush the information at shipout
-%D time, or at the end of the document.
-
-%D \macros
-%D {ifincludepdffontresources}
-%D
-%D You can turn of this feature using the following switch.
-
-\newif\ifincludepdffontresources \includepdffontresourcestrue
-
-\ifx\pdfglyphtounicode\undefined \else \loadmarkfile{enco-pfr} \fi
-
-% somehow we cannot preload this beast; also, it's mk dependent
-%
-% \appendtoks
-% \doifelse{\jobsuffix}{pdf}{\loadmkiifile{pdfr-def.tex}}%
-% \to \everystarttext
-
-% ugly, this should go to the driver spec-tpd
-
-\ifx\pdfgentounicode\undefined \else
- \ifcase\pdfgentounicode \else
- \expandafter \expandafter \expandafter \endinput
- \fi
-\fi
-
-\unprotect
-
-% a problem is that there is always an ec vector added even when
-% we switch to texnansi early; this has to do with the fact that
-% we need to setup fonts at startup; this a pain when we have
-% textless documents, so we should have a way around, i.e. an
-% extension to pdftex where we can tag numbers inside user specs
-% and attributes.
-%
-% currently we need to use immediate so we end up with entries
-
-%D The name of the resource is stored in a macro, as is its
-%D object reference. A resource is only processed once. When
-%D done, the resource name is erased, and we use this fact to
-%D prevent redefinition as well as well as reloading. So, a
-%D macro defined with \type {\pdffontfileresource} can have
-%D three states:
-%D
-%D \startitemize[packed]
-%D \item undefined: not yet loaded, and not yet included
-%D \item some value: loaded, but not yet included
-%D \item empty: loaded, and already included
-%D \stopitemize
-
-\def\pdffontresource {pdfr:\currentencoding}
-\def\pdffontfileresource{pdff:\pdffontresource}
-
-%D A resource is defined in a file prefixed by \type {pdfr-}.
-%D The following \PDF\ code is composed by Ondrej Koala Vacha (I
-%D probably mispelled this name).
-%D
-%D \starttyping
-%D \startpdffontresource[il2]
-%D /CIDInit /ProcSet findresource begin
-%D 12 dict begin
-%D begincmap
-%D /CIDSystemInfo
-%D << /Registry (Adobe)
-%D /Ordering (T1UV)
-%D /Supplement 0
-%D >> def
-%D /CMapName /Adobe-Identity-UCS def
-%D /CMapType 1 def
-%D 1 begincodespacerange
-%D <00> <FF>
-%D endcodespacerange
-%D %%FontSpecificEncoding
-%D 191 beginbfrange
-%D <20> <20> <0020> % space dec: 32 oct:040 hex:20
-%D .... .... ...... . ........ .... .. ....... ......
-%D <ff> <ff> <00ff> % dotaccent dec:255 oct:377 hex:ff
-%D endbfrange
-%D endcmap
-%D CMapName currentdict /CMap defineresource pop end
-%D end
-%D \stoppdffontresource
-%D \stoptyping
-%D
-%D We don't preload such huge definitions, and process them
-%D run||time to save memory. Therefore, in the encoding
-%D vector, we only add an entry like:
-%D
-%D \starttyping
-%D \startencoding [il2]
-%D \usepdffontresource il2
-%D \stopencoding
-%D \stoptyping
-%D
-%D This macro is defined as follows.
-
-\def\usepdffontresource #1 %
- {\doifundefinedelse\pdffontfileresource % okay, undefined, so either
- {\setxvalue\pdffontfileresource{#1}} % brand new, or not yet loaded
- {\doifvaluesomething\pdffontfileresource % only if not loaded in which
- {\setxvalue\pdffontfileresource{#1}}}} % case it's made empty
-
-%D Watch how we check for duplicated loading. The resource
-%D itself, when asked for, is included immediately, after which
-%D we save its reference. Normally a document will have one
-%D such a resource.
-
-% \long\def\startpdffontresource[#1]#2\stoppdffontresource
-% {\doif{#1}\currentencoding
-% {\immediate\pdfobj useobjnum \getvalue{\pdffontresource} stream {#2}}}
-
-% alternatively we can use object references
-
-% fails when we switch back and forward between dvi/pdf mode
-%
-% \long\def\startpdffontresource[#1]#2\stoppdffontresource
-% {\doif{#1}\currentencoding{\doifdefined\pdffontresource
-% {\immediate\pdfobj useobjnum \getvalue{\pdffontresource} stream {#2}}}}
-
-\long\def\startpdffontresource[#1]#2\stoppdffontresource
- {\doif{#1}\currentencoding{\doifdefined\pdffontresource
- {\expanded{\doshipoutpdffontresource{\getvalue{\pdffontresource}}{#2}}}}}
-
-\def\doshipoutpdffontresource#1#2%
- {\ifnum\realpageno<\plustwo
- \doglobal\appendtoks
- \ifcase\pdfoutput\else\immediate\pdfobj useobjnum #1 stream {#2}\fi
- \to\everyfirstshipout
- \else
- \ifcase\pdfoutput\else\immediate\pdfobj useobjnum #1 stream {#2}\fi
- \fi}
-
-% cleaner but not better:
-%
-% \newtoks \collectedpdffontresources
-%
-% \def\doshipoutpdffontresource#1#2%
-% {\doglobal\appendtoks
-% \ifcase\pdfoutput\else\immediate\pdfobj useobjnum #1 stream {#2}\fi
-% \to \collectedpdffontresources}
-%
-% \def\dofluspdffontresources
-% {\the\collectedpdffontresources
-% \global\collectedpdffontresources\emptytoks}
-%
-% \appendtoks \dofluspdffontresources \to \everybeforeshipout
-
-%D The reference to such a vector is to be handled at font
-%D definition time, which is why we hook it into the font
-%D loading routine. A little bit of indirectness speeds up
-%D the process when this feature is disabled and keeps the
-%D macros readable.
-
-% \newevery \everyfont \relax
-
-\appendtoksonce \includepdffontresource \to \everyfont
-
-% \def\includepdffontresource
-% {\ifincludepdffontresources
-% \ifx\pdffontattr\undefined
-% % we're not using (a recent version of) pdftex
-% \else\ifcase\pdfoutput
-% % we're not in pdf mode
-% \else
-% \doincludepdffontresource
-% \fi\fi
-% \fi}
-
-\def\includepdffontresource
- {\ifx\pdfgentounicode\undefined
- \expandafter\ifx\the\font\nullfont \else
- \ifx\pdffontattr\undefined
- % we're not using (a recent version of) pdftex
- \else\ifcase\pdfoutput
- % we're not in pdf mode
- \else
- \doincludepdffontresource
- \fi\fi
- \fi
- \else\ifcase\pdfgentounicode
- \ifincludepdffontresources
- \expandafter\ifx\the\font\nullfont \else
- \ifx\pdffontattr\undefined
- % we're not using (a recent version of) pdftex
- \else\ifcase\pdfoutput
- % we're not in pdf mode
- \else
- \doincludepdffontresource
- \fi\fi
- \fi
- \fi
- \or
- \global\let\includepdffontresource\relax % automatic, built in
- \fi\fi}
-
-\def\dododoincludepdffontresource#1% encoding
- {\bgroup
- \edef\currentencoding{#1}%
- \doifvaluesomething\pdffontfileresource
- {\startreadingfile
- \ignorelines % just in case \par is redefined; this thing can get called anywhere
- \readsysfile{pdfr-\getvalue\pdffontfileresource}\donothing\donothing
- \stopreadingfile
- \letgvalue\pdffontfileresource\empty}%
- \egroup}
-
-\def\doincludepdffontresource
- {\ifcsname\s!ucmap\fontfile\endcsname\else
- \dodoincludepdffontresource
- \fi}
-
-\def\dodoincludepdffontresource
- {% does this font has an encoding specified vector
- \doifsomething\currentencoding % no \ifx
- {% is there a pdf font encoding resource file defined
- \ifcsname\pdffontresource\endcsname
- % (fake) object defined
- \else\ifcsname\pdffontfileresource\endcsname
- % is there a resource already included
- \doifsomething\pdffontfileresource
- {\pdfobj reserveobjnum {}%
- \setxvalue\pdffontresource{\the\pdflastobj}%
- \flushatshipout{\dododoincludepdffontresource{\currentencoding}}}%
-% \doglobal\appendetoks
-% \noexpand\dododoincludepdffontresource{\currentencoding}%
-% \to \everybeforeshipout}% prevent multiple loading
- \fi\fi
- \ifcsname\pdffontresource\endcsname
- \expanded{\pdffontattr\font{/ToUnicode \csname\pdffontresource\endcsname\space0 R}}%
- % do it only once for each font
- \letgvalue{\s!ucmap\fontfile}\empty
- \fi}}
-
-%D For the moment, we keep this definition here, if only
-%D because \type {\usepdffontencoding} is not defined in the
-%D core. In the end, this will go to \type {enco-*.tex}.
-%D
-%D Test:
-%D
-%D \starttyping
-%D \useencoding[pfr] \usetypescript[palatino][ec] \setupbodyfont[palatino]
-%D
-%D \starttext
-%D fi ff ffi
-%D \stoptext
-%D \stoptyping
-
-\startencoding [il2] \usepdffontresource il2 \stopencoding
-\startencoding [ec] \usepdffontresource ec \stopencoding
-
-\protect \endinput