mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-22 13:18:28 +00:00
Use \babelfonts only if babel >= 3.15 is available.
This commit is contained in:
parent
5e33e4fc2c
commit
003d675c2f
@ -120,6 +120,29 @@
|
|||||||
#6
|
#6
|
||||||
\fi}
|
\fi}
|
||||||
|
|
||||||
|
% Tests whether an package is present in a specific version (or newer)
|
||||||
|
% Syntax: \TestPackageVersion{<name>}{<yyyy/mm/dd>}
|
||||||
|
% Note: This requires the package to be loaded first
|
||||||
|
|
||||||
|
\newcommand{\TestPackageVersion}[2]{
|
||||||
|
\message{^^J\prefix checking for package #1 at least as of #2...}
|
||||||
|
\IfFileExists{#1.sty}
|
||||||
|
{
|
||||||
|
\@ifpackagelater{#1}{#2}{\existstrue}{\existsfalse}
|
||||||
|
}
|
||||||
|
{
|
||||||
|
\existsfalse
|
||||||
|
}
|
||||||
|
\ifexists
|
||||||
|
\message{yes^^J}
|
||||||
|
\AddVariable{#1}{yes}
|
||||||
|
\AddPackage{#1-#2}
|
||||||
|
\else
|
||||||
|
\message{no^^J}
|
||||||
|
\AddVariable{#1}{no}
|
||||||
|
\fi}
|
||||||
|
|
||||||
|
|
||||||
% Adapted from ltxcheck.tex
|
% Adapted from ltxcheck.tex
|
||||||
\newcommand{\TestFont}[2][\default]{
|
\newcommand{\TestFont}[2][\default]{
|
||||||
\def\default{#2}
|
\def\default{#2}
|
||||||
@ -527,6 +550,11 @@
|
|||||||
%\TestPackage{mathabx}
|
%\TestPackage{mathabx}
|
||||||
%\TestPackage{mathdesign}% But see above!
|
%\TestPackage{mathdesign}% But see above!
|
||||||
|
|
||||||
|
%%% Specific package versions
|
||||||
|
% This only works if the package has been loaded before
|
||||||
|
\IfFileExists{babel.sty}{\RequirePackage{babel}}{}
|
||||||
|
\TestPackageVersion{babel}{2017/11/03}
|
||||||
|
|
||||||
%%% Document classes
|
%%% Document classes
|
||||||
% The list of layout files has been put in this file here by the
|
% The list of layout files has been put in this file here by the
|
||||||
% configure script.
|
% configure script.
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#LyX 2.4 created this file. For more info see https://www.lyx.org/
|
#LyX 2.4 created this file. For more info see https://www.lyx.org/
|
||||||
\lyxformat 578
|
\lyxformat 580
|
||||||
\begin_document
|
\begin_document
|
||||||
\begin_header
|
\begin_header
|
||||||
\save_transient_properties true
|
\save_transient_properties true
|
||||||
@ -4940,6 +4940,31 @@ Table of contents
|
|||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
\begin_deeper
|
\begin_deeper
|
||||||
|
\begin_layout Standard
|
||||||
|
|
||||||
|
\change_inserted -712698321 1563000039
|
||||||
|
As of version 3.15 (2017/11/03),
|
||||||
|
\family sans
|
||||||
|
babel
|
||||||
|
\family default
|
||||||
|
also provides specific commands to select OpenType, TrueType and PostScript
|
||||||
|
fonts from the Operating System (with XeTeX or LuaTeX).
|
||||||
|
If this version (or a newer one) is installed (on your system:
|
||||||
|
\begin_inset Info
|
||||||
|
type "package"
|
||||||
|
arg "babel-2017/11/03"
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
), \SpecialChar LyX
|
||||||
|
will use this rather than
|
||||||
|
\family sans
|
||||||
|
fontspec
|
||||||
|
\family default
|
||||||
|
's commands.
|
||||||
|
\change_unchanged
|
||||||
|
|
||||||
|
\end_layout
|
||||||
|
|
||||||
\begin_layout Standard
|
\begin_layout Standard
|
||||||
Your \SpecialChar LaTeX
|
Your \SpecialChar LaTeX
|
||||||
installation has hyphenation patterns for the following languages:
|
installation has hyphenation patterns for the following languages:
|
||||||
|
@ -1762,8 +1762,9 @@ bool BufferParams::writeLaTeX(otexstream & os, LaTeXFeatures & features,
|
|||||||
os << from_ascii(ams);
|
os << from_ascii(ams);
|
||||||
|
|
||||||
if (useNonTeXFonts) {
|
if (useNonTeXFonts) {
|
||||||
// Babel loads fontspec itself
|
// Babel (as of 2017/11/03) loads fontspec itself
|
||||||
if (!features.isProvided("fontspec") && !features.useBabel())
|
if (!features.isProvided("fontspec")
|
||||||
|
&& !(features.useBabel() && features.isAvailable("babel-2017/11/03")))
|
||||||
os << "\\usepackage{fontspec}\n";
|
os << "\\usepackage{fontspec}\n";
|
||||||
if (features.mustProvide("unicode-math")
|
if (features.mustProvide("unicode-math")
|
||||||
&& features.isAvailable("unicode-math"))
|
&& features.isAvailable("unicode-math"))
|
||||||
@ -3390,14 +3391,15 @@ string const BufferParams::loadFonts(LaTeXFeatures & features) const
|
|||||||
// variants are understood by both engines. However,
|
// variants are understood by both engines. However,
|
||||||
// we want to provide support for at least TeXLive 2009
|
// we want to provide support for at least TeXLive 2009
|
||||||
// (for XeTeX; LuaTeX is only supported as of v.2)
|
// (for XeTeX; LuaTeX is only supported as of v.2)
|
||||||
// Babel has its own higher-level interface on top of
|
// As of 2017/11/03, Babel has its own higher-level
|
||||||
// fontspec that is to be used.
|
// interface on top of fontspec that is to be used.
|
||||||
bool const babel = features.useBabel();
|
bool const babelfonts = features.useBabel()
|
||||||
|
&& features.isAvailable("babel-2017/11/03");
|
||||||
string const texmapping =
|
string const texmapping =
|
||||||
(features.runparams().flavor == OutputParams::XETEX) ?
|
(features.runparams().flavor == OutputParams::XETEX) ?
|
||||||
"Mapping=tex-text" : "Ligatures=TeX";
|
"Mapping=tex-text" : "Ligatures=TeX";
|
||||||
if (fontsRoman() != "default") {
|
if (fontsRoman() != "default") {
|
||||||
if (babel)
|
if (babelfonts)
|
||||||
os << "\\babelfont{rm}[";
|
os << "\\babelfont{rm}[";
|
||||||
else
|
else
|
||||||
os << "\\setmainfont[";
|
os << "\\setmainfont[";
|
||||||
@ -3411,7 +3413,7 @@ string const BufferParams::loadFonts(LaTeXFeatures & features) const
|
|||||||
if (fontsSans() != "default") {
|
if (fontsSans() != "default") {
|
||||||
string const sans = parseFontName(fontsSans());
|
string const sans = parseFontName(fontsSans());
|
||||||
if (fontsSansScale() != 100) {
|
if (fontsSansScale() != 100) {
|
||||||
if (babel)
|
if (babelfonts)
|
||||||
os << "\\babelfont{sf}";
|
os << "\\babelfont{sf}";
|
||||||
else
|
else
|
||||||
os << "\\setsansfont";
|
os << "\\setsansfont";
|
||||||
@ -3422,7 +3424,7 @@ string const BufferParams::loadFonts(LaTeXFeatures & features) const
|
|||||||
os << texmapping << "]{"
|
os << texmapping << "]{"
|
||||||
<< sans << "}\n";
|
<< sans << "}\n";
|
||||||
} else {
|
} else {
|
||||||
if (babel)
|
if (babelfonts)
|
||||||
os << "\\babelfont{sf}[";
|
os << "\\babelfont{sf}[";
|
||||||
else
|
else
|
||||||
os << "\\setsansfont[";
|
os << "\\setsansfont[";
|
||||||
@ -3435,7 +3437,7 @@ string const BufferParams::loadFonts(LaTeXFeatures & features) const
|
|||||||
if (fontsTypewriter() != "default") {
|
if (fontsTypewriter() != "default") {
|
||||||
string const mono = parseFontName(fontsTypewriter());
|
string const mono = parseFontName(fontsTypewriter());
|
||||||
if (fontsTypewriterScale() != 100) {
|
if (fontsTypewriterScale() != 100) {
|
||||||
if (babel)
|
if (babelfonts)
|
||||||
os << "\\babelfont{tt}";
|
os << "\\babelfont{tt}";
|
||||||
else
|
else
|
||||||
os << "\\setmonofont";
|
os << "\\setmonofont";
|
||||||
@ -3446,7 +3448,7 @@ string const BufferParams::loadFonts(LaTeXFeatures & features) const
|
|||||||
os << "]{"
|
os << "]{"
|
||||||
<< mono << "}\n";
|
<< mono << "}\n";
|
||||||
} else {
|
} else {
|
||||||
if (babel)
|
if (babelfonts)
|
||||||
os << "\\babelfont{tt}";
|
os << "\\babelfont{tt}";
|
||||||
else
|
else
|
||||||
os << "\\setmonofont";
|
os << "\\setmonofont";
|
||||||
|
Loading…
Reference in New Issue
Block a user