summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/fontspec
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-10-20 03:00:50 +0000
committerNorbert Preining <norbert@preining.info>2019-10-20 03:00:50 +0000
commit8fa38617045e3aa88b163fdc2fd683d72559b6d5 (patch)
treea0cf4b4ab921796fdd274f691910733d4dfb97d3 /macros/latex/contrib/fontspec
parent13a044b932f3f8d72791ca88eda528bdcbadcacc (diff)
CTAN sync 201910200300
Diffstat (limited to 'macros/latex/contrib/fontspec')
-rw-r--r--macros/latex/contrib/fontspec/CHANGES.md17
-rw-r--r--macros/latex/contrib/fontspec/fontspec-code-enc.dtx18
-rw-r--r--macros/latex/contrib/fontspec/fontspec-code-feat-opentype.dtx5
-rw-r--r--macros/latex/contrib/fontspec/fontspec-code-keyval.dtx12
-rw-r--r--macros/latex/contrib/fontspec/fontspec-code-msg.dtx5
-rw-r--r--macros/latex/contrib/fontspec/fontspec-code-scripts.dtx10
-rw-r--r--macros/latex/contrib/fontspec/fontspec-code-user.dtx6
-rw-r--r--macros/latex/contrib/fontspec/fontspec-code.pdfbin637164 -> 636249 bytes
-rw-r--r--macros/latex/contrib/fontspec/fontspec-doc-featset.tex8
-rw-r--r--macros/latex/contrib/fontspec/fontspec-doc-fontsel.tex12
-rw-r--r--macros/latex/contrib/fontspec/fontspec-doc-opentype.tex4
-rw-r--r--macros/latex/contrib/fontspec/fontspec.dtx6
-rw-r--r--macros/latex/contrib/fontspec/fontspec.pdfbin690085 -> 677611 bytes
13 files changed, 52 insertions, 51 deletions
diff --git a/macros/latex/contrib/fontspec/CHANGES.md b/macros/latex/contrib/fontspec/CHANGES.md
index 4fc699d0be..27e278cfe0 100644
--- a/macros/latex/contrib/fontspec/CHANGES.md
+++ b/macros/latex/contrib/fontspec/CHANGES.md
@@ -1,6 +1,23 @@
Change history
==============
+## v2.7d (2019/10/19)
+
+ * Allow the user to manually change `\rmdefault`, `\sfdefault`, `\ttdefault`
+ if desired. Note this could cause problems if the `fontspec` encoding does not
+ match the encoding of the specified families.
+ * Additional optional argument for `\EncodingCommand`.
+ * Suppress spurious warnings for `HyphenChar` feature in XeLaTeX.
+ * Add `Ligatures=TeXOff` even though it's not a real OpenType feature.
+ (Functionally equivalent to `Ligatures=TeXReset`.)
+ * New scripts definitions to match OpenType 1.8.3 (thanks Werner!).
+ * Documentation changes for `Numbers=Arabic`, `HypenChar=None` for `\ttfamily`.
+ * Documentation fixes (thanks `muzimuzhi`!).
+ * Prepare for `FakeBold` being available in `luaotfload` (thanks Khaled!).
+ * Bug fix for doubled + symbol when setting `tlig` feature in LuaTeX.
+ * Bug fix for Harfbuzz use. (Support still very minimal I'm afraid.)
+
+
## v2.7c (2019/03/15)
* Two optimisations reduce time for font definitions with a large number of
diff --git a/macros/latex/contrib/fontspec/fontspec-code-enc.dtx b/macros/latex/contrib/fontspec/fontspec-code-enc.dtx
index fef5d81549..1508176e32 100644
--- a/macros/latex/contrib/fontspec/fontspec-code-enc.dtx
+++ b/macros/latex/contrib/fontspec/fontspec-code-enc.dtx
@@ -8,28 +8,14 @@
% \end{macrocode}
% \fi
%
-% To be removed after the 2017 release of LaTeX2e:
-% \begin{macrocode}
-\providecommand\UnicodeFontFile[2]{"[#1]:#2"}
-\providecommand\UnicodeFontName[2]{"#1:#2"}
-%<XE>\providecommand\UnicodeFontTeXLigatures{mapping=tex-text;}
-%<LU>\providecommand\UnicodeFontTeXLigatures{+tlig;}
-% \end{macrocode}
-%
-% \begin{macrocode}
-\providecommand\add@unicode@accent[2]{#2\char#1\relax}
-\providecommand\DeclareUnicodeAccent[3]{%
- \DeclareTextCommand{#1}{#2}{\add@unicode@accent{#3}}%
-}
-% \end{macrocode}
%
% \begin{macro}{\EncodingCommand}
% \begin{macrocode}
-\DeclareDocumentCommand \EncodingCommand {mO{}m}
+\DeclareDocumentCommand \EncodingCommand { m O{} O{} m }
{
\bool_if:NF \l_@@_defining_encoding_bool
{ \@@_error:nn {only-inside-encdef} \EncodingCommand }
- \DeclareTextCommand{#1}{\UnicodeEncodingName}[#2]{#3}
+ \DeclareTextCommand{#1}{\UnicodeEncodingName}[#2][#3]{#4}
}
% \end{macrocode}
% \end{macro}
diff --git a/macros/latex/contrib/fontspec/fontspec-code-feat-opentype.dtx b/macros/latex/contrib/fontspec/fontspec-code-feat-opentype.dtx
index aaba25c293..706ea23854 100644
--- a/macros/latex/contrib/fontspec/fontspec-code-feat-opentype.dtx
+++ b/macros/latex/contrib/fontspec/fontspec-code-feat-opentype.dtx
@@ -44,12 +44,11 @@
\keys_define:nn {fontspec-opentype}
{
Ligatures / TeX .code:n = { \tl_set:Nn \l_@@_mapping_tl {tex-text} },
- Ligatures / TeX .groups:n = {opentype},
+ Ligatures / TeXOff .code:n = { \tl_clear:N \l_@@_mapping_tl },
Ligatures / TeXReset .code:n = { \tl_clear:N \l_@@_mapping_tl },
- Ligatures / TeXReset .groups:n = {opentype},
}
%</XE>
-%<LU>\@@_define_opentype_onreset:nnnnn {Ligatures} {TeX} {} { +tlig } {}
+%<LU>\@@_define_opentype_onoffreset:nnnnn {Ligatures} {TeX} {} {tlig} {}
% \end{macrocode}
%
% \subsection{Letters}
diff --git a/macros/latex/contrib/fontspec/fontspec-code-keyval.dtx b/macros/latex/contrib/fontspec/fontspec-code-keyval.dtx
index b68bb8bbde..d7d0f15688 100644
--- a/macros/latex/contrib/fontspec/fontspec-code-keyval.dtx
+++ b/macros/latex/contrib/fontspec/fontspec-code-keyval.dtx
@@ -122,7 +122,7 @@
Renderer .choices:nn =
{Full,Node,Basic,Base,Harfbuzz,OpenType,AAT,Graphite}
{
- \int_compare:nTF {\l_keys_choice_int >= 5} { \bool_set_true:N \l_@@_harfbuzz_bool }
+ \int_compare:nT {\l_keys_choice_int >= 5} { \bool_set_true:N \l_@@_harfbuzz_bool }
\tl_set:Nx \l_@@_mode_tl
{
@@ -625,7 +625,7 @@
{ \@@_primitive_font_set_hyphenchar:Nn \font {-1} }
}
{
- \@@_warning:nx {only-xetex-feature} {HyphenChar}
+%<LU> \@@_warning:nx {only-xetex-feature} {HyphenChar}
\tl_if_single:nTF {#1}
{ \tl_set:Nn \l_@@_hyphenchar_tl {`#1} }
@@ -783,7 +783,6 @@
},
FakeStretch .default:n = {1.2}
}
-%<*XE>
\keys_define:nn {fontspec}
{
FakeBold .code:n =
@@ -792,13 +791,6 @@
},
FakeBold .default:n = {1.5}
}
-%</XE>
-%<*LU>
-\keys_define:nn {fontspec}
- {
- FakeBold .code:n = { \@@_warning:n {fakebold-only-xetex} }
- }
-%</LU>
% \end{macrocode}
% These are to be given to a shape that has no real bold/italic
% to signal that \pkg{fontspec} should automatically create `fake' shapes.
diff --git a/macros/latex/contrib/fontspec/fontspec-code-msg.dtx b/macros/latex/contrib/fontspec/fontspec-code-msg.dtx
index 0a37b69284..1fb845f706 100644
--- a/macros/latex/contrib/fontspec/fontspec-code-msg.dtx
+++ b/macros/latex/contrib/fontspec/fontspec-code-msg.dtx
@@ -192,11 +192,6 @@
{
The "cm-default" package option is obsolete.
}
-\@@_msg_new:nnn {fontspec} {fakebold-only-xetex}
- {
- The "FakeBold" and "AutoFakeBold" options are only available with XeLaTeX.\\
- Option ignored.
- }
\@@_msg_new:nnn {fontspec} {font-index-needs-ttc}
{
The "FontIndex" feature is only supported by TTC (TrueType Collection) fonts.\\
diff --git a/macros/latex/contrib/fontspec/fontspec-code-scripts.dtx b/macros/latex/contrib/fontspec/fontspec-code-scripts.dtx
index 3d5644dd2a..23f4b1794f 100644
--- a/macros/latex/contrib/fontspec/fontspec-code-scripts.dtx
+++ b/macros/latex/contrib/fontspec/fontspec-code-scripts.dtx
@@ -41,6 +41,7 @@
\newfontscript{CustomDefault}{latn,DFLT}
\newfontscript{Deseret}{dsrt}
\newfontscript{Devanagari}{dev2,deva}
+\newfontscript{Dogra}{dogr}
\newfontscript{Duployan}{dupl}
\newfontscript{Egyptian~Hieroglyphs}{egyp}
\newfontscript{Elbasan}{elba}
@@ -51,9 +52,11 @@
\newfontscript{Grantha}{gran}
\newfontscript{Greek}{grek}
\newfontscript{Gujarati}{gjr2,gujr}
+\newfontscript{Gunjala~Gondi}{gong}
\newfontscript{Gurmukhi}{gur2,guru}
\newfontscript{Hangul~Jamo}{jamo}
\newfontscript{Hangul}{hang}
+\newfontscript{Hanifi~Rohingya}{rohg}
\newfontscript{Hanunoo}{hano}
\newfontscript{Hatran}{hatr}
\newfontscript{Hebrew}{hebr}
@@ -79,11 +82,14 @@
\newfontscript{Lycian}{lyci}
\newfontscript{Lydian}{lydi}
\newfontscript{Mahajani}{mahj}
+\newfontscript{Makasar}{maka}
\newfontscript{Malayalam}{mlm2,mlym}
\newfontscript{Mandaic}{mand}
\newfontscript{Manichaean}{mani}
\newfontscript{Marchen}{marc}
+\newfontscript{Masaram Gondi}{gonm}
\newfontscript{Math}{math}
+\newfontscript{Medefaidrin}{medf}
\newfontscript{Meitei~Mayek}{mtei}
\newfontscript{Mende~Kikakui}{mend}
\newfontscript{Meroitic~Cursive}{merc}
@@ -98,6 +104,7 @@
\newfontscript{N'Ko}{nko~}
\newfontscript{Nabataean}{nbat}
\newfontscript{Newa}{newa}
+\newfontscript{Nushu}{nshu}
\newfontscript{Odia}{ory2,orya}
\newfontscript{Ogham}{ogam}
\newfontscript{Ol~Chiki}{olck}
@@ -106,6 +113,7 @@
\newfontscript{Old~North~Arabian}{narb}
\newfontscript{Old~Permic}{perm}
\newfontscript{Old~Persian~Cuneiform}{xpeo}
+\newfontscript{Old~Sogdian}{sogo}
\newfontscript{Old~South~Arabian}{sarb}
\newfontscript{Old~Turkic}{orkh}
\newfontscript{Osage}{osge}
@@ -125,6 +133,7 @@
\newfontscript{Siddham}{sidd}
\newfontscript{Sign~Writing}{sgnw}
\newfontscript{Sinhala}{sinh}
+\newfontscript{Sogdian}{sogd}
\newfontscript{Sora~Sompeng}{sora}
\newfontscript{Sumero-Akkadian~Cuneiform}{xsux}
\newfontscript{Sundanese}{sund}
@@ -149,6 +158,7 @@
\newfontscript{Vai}{vai~}
\newfontscript{Warang~Citi}{wara}
\newfontscript{Yi}{yi~~}
+\newfontscript{Zanabazar~Square}{zanb}
% \end{macrocode}
% For convenience or backwards compatibility:
% \begin{macrocode}
diff --git a/macros/latex/contrib/fontspec/fontspec-code-user.dtx b/macros/latex/contrib/fontspec/fontspec-code-user.dtx
index 1a0173c981..7cbafbf8b0 100644
--- a/macros/latex/contrib/fontspec/fontspec-code-user.dtx
+++ b/macros/latex/contrib/fontspec/fontspec-code-user.dtx
@@ -44,7 +44,7 @@
\exp_not:n { \DeclareRobustCommand \rmfamily }
{
\exp_not:N \fontencoding { \g_@@_nfss_enc_tl }
- \exp_not:N \fontfamily { \l_@@_rmfamily_family_tl }
+ \exp_not:N \fontfamily { \exp_not:N \rmdefault }
\exp_not:N \selectfont
}
}
@@ -68,7 +68,7 @@
\exp_not:n { \DeclareRobustCommand \sffamily }
{
\exp_not:N \fontencoding { \g_@@_nfss_enc_tl }
- \exp_not:N \fontfamily { \l_@@_sffamily_family_tl }
+ \exp_not:N \fontfamily { \exp_not:N \sfdefault }
\exp_not:N \selectfont
}
}
@@ -92,7 +92,7 @@
\exp_not:n { \DeclareRobustCommand \ttfamily }
{
\exp_not:N \fontencoding { \g_@@_nfss_enc_tl }
- \exp_not:N \fontfamily { \l_@@_ttfamily_family_tl }
+ \exp_not:N \fontfamily { \exp_not:N \ttdefault }
\exp_not:N \selectfont
}
}
diff --git a/macros/latex/contrib/fontspec/fontspec-code.pdf b/macros/latex/contrib/fontspec/fontspec-code.pdf
index 2d68690c48..9df2844101 100644
--- a/macros/latex/contrib/fontspec/fontspec-code.pdf
+++ b/macros/latex/contrib/fontspec/fontspec-code.pdf
Binary files differ
diff --git a/macros/latex/contrib/fontspec/fontspec-doc-featset.tex b/macros/latex/contrib/fontspec/fontspec-doc-featset.tex
index 60e85ca925..d6aa8af2f1 100644
--- a/macros/latex/contrib/fontspec/fontspec-doc-featset.tex
+++ b/macros/latex/contrib/fontspec/fontspec-doc-featset.tex
@@ -485,12 +485,14 @@ see its \cs{prehyphenchar} primitive for further details.
\feat{HyphenChar} takes three types of input, which are chosen according to some
simple rules. If the input is the string \opt{None}, then hyphenation is
suppressed for this font.
+
+As part of \texttt{fontspec.cfg}, the default monospaced family (e.g., \verb|\ttfamily|)
+is set up to automatically set \feat{HyphenChar} \texttt{=} \opt{None}.
+
If the input is a single character, then this character is used.
Finally, if the input is longer than a single character
it must be the UTF-8 slot number of the hyphen character you desire.
-This package redefines \LaTeX's \cmd\-\ macro such that it adjusts along with the above changes.
-
\begin{Xexample}{hyphchar}{Explicitly choosing the hyphenation character.}
\def\text{\fbox{\parbox{1.55cm}{%
EXAMPLE HYPHENATION%
@@ -583,8 +585,6 @@ are equivalent:
If both of the \feat{AutoFake...} features are used, then the bold italic
font will also be faked.
-The \feat{FakeBold} and \feat{AutoFakeBold} features are only available with the \XeTeX\ engine and will be ignored in \LuaTeX.
-
\subsection{Letter spacing}
Letter spacing, or tracking, is the term given to adding (or subtracting) a small amount of horizontal space in between adjacent characters. It is specified with the \feat{LetterSpace}, which takes a numeric argument,
diff --git a/macros/latex/contrib/fontspec/fontspec-doc-fontsel.tex b/macros/latex/contrib/fontspec/fontspec-doc-fontsel.tex
index c1900322c0..df3996c308 100644
--- a/macros/latex/contrib/fontspec/fontspec-doc-fontsel.tex
+++ b/macros/latex/contrib/fontspec/fontspec-doc-fontsel.tex
@@ -35,7 +35,7 @@ These defaults (and further customisations possible) are discussed in \vref{sec:
\cmdbox{%
\CMD{\string\newfontfamily}\meta{cmd}\marg{font}\oarg{font features}\\
\CMD{\string\setfontfamily}{\color[gray]{0.5}\meta{cmd}\marg{font}\oarg{font features}}\\
- \CMD{\string\renewfontfamily}{\color[gray]{0.5}\meta{cmd}\marg{font}\oarg{font features}}
+ \CMD{\string\renewfontfamily}{\color[gray]{0.5}\meta{cmd}\marg{font}\oarg{font features}}\\
\CMD{\string\providefontfamily}{\color[gray]{0.5}\meta{cmd}\marg{font}\oarg{font features}}
}
@@ -135,7 +135,7 @@ search paths may be used directly (including in the current directory)
without having to explicitly define the location of the font file on disk.
Fonts selected by filename must include bold and italic variants explicitly,
-unless a \texttt{.fontspec} file is supplied for the font family (see section~\ref{sec:fontspecfile}).
+unless a \texttt{.fontspec} file is supplied for the font family (see \ref{sec:fontspecfile}).
We'll give some first examples specifying everything explicitly:
\begin{Verbatim}
\setmainfont{texgyrepagella-regular.otf}[
@@ -300,8 +300,8 @@ commands:
\newcommand\textnote[1]{{\notefont #1}}
\textnote{This is a note.}
\end{Verbatim}
-Note that the double braces are intentional; the inner pair are used to
-to delimit the scope of the font change.
+Note that the double braces are intentional; the inner pair is used to
+delimit the scope of the font change.
\begin{Lexample}{nff}{Defining new font families.}
\newfontfamily\notefont{Kurier}
@@ -431,7 +431,7 @@ In \LaTeX's \NFSS, font families are defined with names such as `\texttt{ppl}' (
\fontfamily{ppl}\selectfont
\end{Verbatim}
In \pkg{fontspec}, the family names are auto-generated based on the fontname of the font; for example, writing |\fontspec{Times New Roman}| for the first time would generate an internal font family name of `\texttt{TimesNewRoman(1)}'.
-Please note that should not rely on the name that is generated.
+Please note that you should not rely on the name that is generated.
In certain cases it is desirable to be able to choose this internal font family name so it can be re-used elsewhere for interacting with other packages that use the \LaTeX's font selection interface; an example might be
\begin{Verbatim}
@@ -528,7 +528,7 @@ to be successful. (Actually, it is \emph{only} \pkg{euler} that is the
problem.\note{Speaking of \pkg{euler}, if you want to use its
\texttt{[mathbf]} option, it won't work, and you'll need to put this after
\pkg{fontspec} is loaded instead:
-\ttfamily\cmd\AtBeginDocument\char`\{\cmd\DeclareMathAlphabet\cmd\mathbf\char`\{U\char`\}\char`\{eur\char`\}\char`\{b\char`\}\char`\{n\char`\}})
+\ttfamily\cmd\AtBeginDocument\char`\{\cmd\DeclareMathAlphabet\cmd\mathbf\char`\{U\char`\}\char`\{eur\char`\}\char`\{b\char`\}\char`\{n\char`\}\char`\}})
Note that \pkg{fontspec} will not change the font for general mathematics;
only the upright and bold shapes will be affected.
diff --git a/macros/latex/contrib/fontspec/fontspec-doc-opentype.tex b/macros/latex/contrib/fontspec/fontspec-doc-opentype.tex
index 9e16c370ee..3afdd09e43 100644
--- a/macros/latex/contrib/fontspec/fontspec-doc-opentype.tex
+++ b/macros/latex/contrib/fontspec/fontspec-doc-opentype.tex
@@ -1116,7 +1116,7 @@ not actually real OpenType features, but additions provided by \pkg{luaotfload}
\fontspec{LinLibertine_R.otf}
\test{Ligatures=Historic}{strict}
\test{Ligatures=Rare}{wurtzite}
- \test{Ligatures=NoCommon}{firefly}
+ \test{Ligatures=CommonOff}{firefly}
\end{Lexample}
@@ -1176,6 +1176,8 @@ The \opt{Arabic} option (with tag \verb|anum|) maps regular numerals to their Ar
based on the current \opt{Language} setting (see \vref{sec:ot}).
This option is based on a \LuaTeX\ feature of the \pkg{luaotfload} package,
not an OpenType feature. (Thus, this feature is unavailable in \XeTeX.)
+This feature should be considered deprecated; while there are no plans to remove it from this package,
+if its support is dropped from the font loader it could disappear from \pkg{fontspec} with little notice.
\subsubsection{Ornament --- \texttt{ornm}}
diff --git a/macros/latex/contrib/fontspec/fontspec.dtx b/macros/latex/contrib/fontspec/fontspec.dtx
index 32d51078ce..4705540d20 100644
--- a/macros/latex/contrib/fontspec/fontspec.dtx
+++ b/macros/latex/contrib/fontspec/fontspec.dtx
@@ -71,7 +71,7 @@
\ProvidesExplFile{fontspec.dtx}
%</dtx>
%<*fontspec>
- {2019/03/15}{2.7c}{Font selection for XeLaTeX and LuaLaTeX}
+ {2019/10/19}{2.7d}{Font selection for XeLaTeX and LuaLaTeX}
%</fontspec>
% \end{macrocode}
%
@@ -90,8 +90,8 @@
%<lua>local fontspec = fontspec
%<lua>fontspec.module = {
%<lua> name = "fontspec",
-%<lua> version = "2.7c",
-%<lua> date = "2019/03/15",
+%<lua> version = "2.7d",
+%<lua> date = "2019/10/19",
%<lua> description = "Font selection for XeLaTeX and LuaLaTeX",
%<lua> author = "Khaled Hosny, Philipp Gesang, Will Robertson",
%<lua> copyright = "Khaled Hosny, Philipp Gesang, Will Robertson",
diff --git a/macros/latex/contrib/fontspec/fontspec.pdf b/macros/latex/contrib/fontspec/fontspec.pdf
index 594815b868..4357ed68b9 100644
--- a/macros/latex/contrib/fontspec/fontspec.pdf
+++ b/macros/latex/contrib/fontspec/fontspec.pdf
Binary files differ