summaryrefslogtreecommitdiff
path: root/macros/unicodetex/latex/fontspec/fontspec-code-enc.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/unicodetex/latex/fontspec/fontspec-code-enc.dtx')
-rw-r--r--macros/unicodetex/latex/fontspec/fontspec-code-enc.dtx158
1 files changed, 158 insertions, 0 deletions
diff --git a/macros/unicodetex/latex/fontspec/fontspec-code-enc.dtx b/macros/unicodetex/latex/fontspec/fontspec-code-enc.dtx
new file mode 100644
index 0000000000..7d30448002
--- /dev/null
+++ b/macros/unicodetex/latex/fontspec/fontspec-code-enc.dtx
@@ -0,0 +1,158 @@
+%%^^A%% fontspec-code-enc.dtx -- part of FONTSPEC <wspr.io/fontspec>
+
+% \section{Extended font encodings}
+%
+% \iffalse
+% \begin{macrocode}
+%<*fontspec>
+% \end{macrocode}
+% \fi
+%
+%
+% \begin{macro}{\EncodingCommand}
+% \begin{macrocode}
+\DeclareDocumentCommand \EncodingCommand { m O{} O{} m }
+ {
+ \bool_if:NF \l_@@_defining_encoding_bool
+ { \@@_error:nn {only-inside-encdef} \EncodingCommand }
+ \DeclareTextCommand{#1}{\UnicodeEncodingName}[#2][#3]{#4}
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\EncodingAccent}
+% \begin{macrocode}
+\DeclareDocumentCommand \EncodingAccent {mm}
+ {
+ \bool_if:NF \l_@@_defining_encoding_bool
+ { \@@_error:nn {only-inside-encdef} \EncodingAccent }
+ \DeclareTextCommand{#1}{\UnicodeEncodingName}{\add@unicode@accent{#2}}
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\EncodingSymbol}
+% \begin{macrocode}
+\DeclareDocumentCommand \EncodingSymbol {mm}
+ {
+ \bool_if:NF \l_@@_defining_encoding_bool
+ { \@@_error:nn {only-inside-encdef} \EncodingSymbol }
+ \DeclareTextSymbol{#1}{\UnicodeEncodingName}{#2}
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\EncodingComposite}
+% \begin{macrocode}
+\DeclareDocumentCommand \EncodingComposite {mmm}
+ {
+ \bool_if:NF \l_@@_defining_encoding_bool
+ { \@@_error:nn {only-inside-encdef} \EncodingComposite }
+ \DeclareTextComposite{#1}{\UnicodeEncodingName}{#2}{#3}
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\EncodingCompositeCommand}
+% \begin{macrocode}
+\DeclareDocumentCommand \EncodingCompositeCommand {mmm}
+ {
+ \bool_if:NF \l_@@_defining_encoding_bool
+ { \@@_error:nn {only-inside-encdef} \EncodingCompositeCommand }
+ \DeclareTextCompositeCommand{#1}{\UnicodeEncodingName}{#2}{#3}
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\DeclareUnicodeEncoding}
+% \begin{macrocode}
+\DeclareDocumentCommand \DeclareUnicodeEncoding {mm}
+ {
+ \DeclareFontEncoding{#1}{}{}
+ \DeclareFontSubstitution{#1}{lmr}{m}{n}
+ \DeclareFontFamily{#1}{lmr}{}
+
+ \DeclareFontShape{#1}{lmr}{m}{n}
+ {<->\UnicodeFontFile{lmroman10-regular}{\UnicodeFontTeXLigatures}}{}
+ \DeclareFontShape{#1}{lmr}{m}{it}
+ {<->\UnicodeFontFile{lmroman10-italic}{\UnicodeFontTeXLigatures}}{}
+ \DeclareFontShape{#1}{lmr}{m}{sc}
+ {<->\UnicodeFontFile{lmromancaps10-regular}{\UnicodeFontTeXLigatures}}{}
+ \DeclareFontShape{#1}{lmr}{bx}{n}
+ {<->\UnicodeFontFile{lmroman10-bold}{\UnicodeFontTeXLigatures}}{}
+ \DeclareFontShape{#1}{lmr}{bx}{it}
+ {<->\UnicodeFontFile{lmroman10-bolditalic}{\UnicodeFontTeXLigatures}}{}
+
+ \tl_set_eq:NN \l_@@_prev_unicode_name_tl \UnicodeEncodingName
+ \tl_set:Nn \UnicodeEncodingName {#1}
+ \bool_set_true:N \l_@@_defining_encoding_bool
+ #2
+ \bool_set_false:N \l_@@_defining_encoding_bool
+ \tl_set_eq:NN \UnicodeEncodingName \l_@@_prev_unicode_name_tl
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\UndeclareSymbol}
+% \begin{macro}{\UndeclareAccent}
+% \begin{macro}{\UndeclareCommand}
+% Synonyms for each other but all included for completeness.
+% \begin{macrocode}
+\DeclareDocumentCommand \UndeclareSymbol {m}
+ {
+ \bool_if:NF \l_@@_defining_encoding_bool
+ { \@@_error:nn {only-inside-encdef} \UndeclareSymbol }
+ \UndeclareTextCommand {#1} {\UnicodeEncodingName}
+ }
+\DeclareDocumentCommand \UndeclareAccent {m}
+ {
+ \bool_if:NF \l_@@_defining_encoding_bool
+ { \@@_error:nn {only-inside-encdef} \UndeclareAccent }
+ \UndeclareTextCommand {#1} {\UnicodeEncodingName}
+ }
+\DeclareDocumentCommand \UndeclareCommand {m}
+ {
+ \bool_if:NF \l_@@_defining_encoding_bool
+ { \@@_error:nn {only-inside-encdef} \UndeclareCommand }
+ \UndeclareTextCommand {#1} {\UnicodeEncodingName}
+ }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\UndeclareComposite}
+% \begin{macrocode}
+\DeclareDocumentCommand \UndeclareComposite {mm}
+ {
+ \bool_if:NF \l_@@_defining_encoding_bool
+ { \@@_error:nn {only-inside-encdef} \UndeclareComposite }
+ \cs_undefine:c
+ { \c_backslash_str \UnicodeEncodingName \token_to_str:N #1 - \tl_to_str:n {#2} }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \iffalse
+% \begin{macrocode}
+%</fontspec>
+% \end{macrocode}
+% \fi
+
+
+\endinput
+
+% /©
+% ------------------------------------------------
+% The FONTSPEC package <wspr.io/fontspec>
+% ------------------------------------------------
+% Copyright 2004-2020 Will Robertson, LPPL "maintainer"
+% Copyright 2009-2015 Khaled Hosny
+% Copyright 2013 Philipp Gesang
+% Copyright 2013-2016 Joseph Wright
+% ------------------------------------------------
+% This package is free software and may be redistributed and/or modified under
+% the conditions of the LaTeX Project Public License, version 1.3c or higher
+% (your choice): <http://www.latex-project.org/lppl/>.
+% ------------------------------------------------
+% ©/