summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/fontspec/fontspec-opening.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/fontspec/fontspec-opening.dtx')
-rw-r--r--Master/texmf-dist/source/latex/fontspec/fontspec-opening.dtx87
1 files changed, 87 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/fontspec/fontspec-opening.dtx b/Master/texmf-dist/source/latex/fontspec/fontspec-opening.dtx
new file mode 100644
index 00000000000..84975859eea
--- /dev/null
+++ b/Master/texmf-dist/source/latex/fontspec/fontspec-opening.dtx
@@ -0,0 +1,87 @@
+%
+% \section{Opening code}
+%
+% \iffalse
+% \begin{macrocode}
+%<*fontspec&(xetexx|luatex)>
+% \end{macrocode}
+% \fi
+%
+% \subsection{Package options}
+%
+% \begin{macrocode}
+\DeclareOption{cm-default}
+ { \@@_warning:n {cm-default-obsolete} }
+\DeclareOption{math}{\bool_set_true:N \g_@@_math_bool}
+\DeclareOption{no-math}{\bool_set_false:N \g_@@_math_bool}
+\DeclareOption{config}{\bool_set_true:N \g_@@_cfg_bool}
+\DeclareOption{no-config}{\bool_set_false:N \g_@@_cfg_bool}
+\DeclareOption{euenc}{\bool_set_true:N \g_@@_euenc_bool}
+\DeclareOption{tuenc}{\bool_set_false:N \g_@@_euenc_bool}
+\DeclareOption{quiet}
+ {
+ \msg_redirect_module:nnn { fontspec } { warning } { info }
+ \msg_redirect_module:nnn { fontspec } { info } { none }
+ }
+\DeclareOption{silent}
+ {
+ \msg_redirect_module:nnn { fontspec } { warning } { none }
+ \msg_redirect_module:nnn { fontspec } { info } { none }
+ }
+\ExecuteOptions{config,math,euenc}
+\ProcessOptions*
+% \end{macrocode}
+%
+%
+%
+%
+% \subsection{Encodings}
+%
+% Soon to be the default, with a just-in-case check:
+% \begin{macrocode}
+\tl_set:Nn \g_fontspec_encoding_tl {TU}
+\file_if_exist:nF {tuenc.def} { \bool_set_true:N \g_@@_euenc_bool }
+\bool_if:NT \g_@@_euenc_bool
+ {
+%<xetexx> \tl_set:Nn \g_fontspec_encoding_tl {EU1}
+%<luatex> \tl_set:Nn \g_fontspec_encoding_tl {EU2}
+ }
+% \end{macrocode}
+%
+% \begin{macrocode}
+\tl_set:Nn \rmdefault {lmr}
+\tl_set:Nn \sfdefault {lmss}
+\tl_set:Nn \ttdefault {lmtt}
+\RequirePackage[\g_fontspec_encoding_tl]{fontenc}
+\tl_set_eq:NN \UTFencname \g_fontspec_encoding_tl % for xunicode if needed
+\normalsize % to overcome the encoding changing the current font size
+% \end{macrocode}
+% Dealing with a couple of the problems introduced by \pkg{babel}:
+% \begin{macrocode}
+\tl_set_eq:NN \cyrillicencoding \g_fontspec_encoding_tl
+\tl_set_eq:NN \latinencoding \g_fontspec_encoding_tl
+\AtBeginDocument
+ {
+ \tl_set_eq:NN \cyrillicencoding \g_fontspec_encoding_tl
+ \tl_set_eq:NN \latinencoding \g_fontspec_encoding_tl
+ }
+% \end{macrocode}
+% That latin encoding definition is repeated to suppress font warnings.
+% Something to do with \cmd\select@language\ ending up in the \texttt{.aux}
+% file which is read at the beginning of the document.
+%
+% \begin{macrocode}
+\bool_if:NT \g_@@_euenc_bool
+ {
+%<luatex> \cs_set_eq:NN \fontspec_tmp: \XeTeXpicfile
+%<luatex> \cs_set:Npn \XeTeXpicfile {}
+ \RequirePackage{xunicode}
+%<luatex> \cs_set_eq:NN \XeTeXpicfile \fontspec_tmp:
+ }
+% \end{macrocode}
+%
+% \iffalse
+% \begin{macrocode}
+%</fontspec&(xetexx|luatex)>
+% \end{macrocode}
+% \fi