mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-25 19:07:45 +00:00
Load inputenc after babel with Thai.
"thai.ldf" breaks "inputenc" by changing catcodes. Loading "inputenc" after "babel" allows a workaround.
This commit is contained in:
parent
c349472d35
commit
7a87599a3e
@ -6,7 +6,7 @@
|
|||||||
\origin unavailable
|
\origin unavailable
|
||||||
\textclass article
|
\textclass article
|
||||||
\begin_preamble
|
\begin_preamble
|
||||||
\AtBeginDocument{\usepackage{fonts-tlwg}}
|
|
||||||
\end_preamble
|
\end_preamble
|
||||||
\use_default_options true
|
\use_default_options true
|
||||||
\maintain_unincluded_children false
|
\maintain_unincluded_children false
|
||||||
@ -27,7 +27,7 @@
|
|||||||
\use_microtype false
|
\use_microtype false
|
||||||
\use_dash_ligatures true
|
\use_dash_ligatures true
|
||||||
\graphics default
|
\graphics default
|
||||||
\default_output_format default
|
\default_output_format pdf2
|
||||||
\output_sync 0
|
\output_sync 0
|
||||||
\bibtex_command default
|
\bibtex_command default
|
||||||
\index_command default
|
\index_command default
|
||||||
@ -84,7 +84,7 @@
|
|||||||
\begin_body
|
\begin_body
|
||||||
|
|
||||||
\begin_layout Subsection*
|
\begin_layout Subsection*
|
||||||
Thai
|
Test workaround for Thai language
|
||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
\begin_layout Standard
|
\begin_layout Standard
|
||||||
|
@ -5,18 +5,15 @@
|
|||||||
\save_transient_properties true
|
\save_transient_properties true
|
||||||
\origin unavailable
|
\origin unavailable
|
||||||
\textclass article
|
\textclass article
|
||||||
\begin_preamble
|
|
||||||
\AtBeginDocument{\usepackage{fonts-tlwg}}
|
|
||||||
\end_preamble
|
|
||||||
\use_default_options true
|
\use_default_options true
|
||||||
\maintain_unincluded_children false
|
\maintain_unincluded_children false
|
||||||
\language english
|
\language english
|
||||||
\language_package default
|
\language_package default
|
||||||
\inputencoding utf8
|
\inputencoding utf8
|
||||||
\fontencoding auto
|
\fontencoding auto
|
||||||
\font_roman "lmodern" "FreeSerif"
|
\font_roman "lmodern" "Norasi"
|
||||||
\font_sans "default" "FreeSans"
|
\font_sans "default" "Garuda"
|
||||||
\font_typewriter "default" "FreeMono"
|
\font_typewriter "default" "Tlwg Mono"
|
||||||
\font_math "auto" "auto"
|
\font_math "auto" "auto"
|
||||||
\font_default_family default
|
\font_default_family default
|
||||||
\use_non_tex_fonts false
|
\use_non_tex_fonts false
|
||||||
@ -84,7 +81,7 @@
|
|||||||
\begin_body
|
\begin_body
|
||||||
|
|
||||||
\begin_layout Subsection*
|
\begin_layout Subsection*
|
||||||
Thai
|
Test workaround for Thai language
|
||||||
\end_layout
|
\end_layout
|
||||||
|
|
||||||
\begin_layout Standard
|
\begin_layout Standard
|
||||||
@ -203,7 +200,11 @@ uc/lccode changes prevent up/downcasing of high-bit characters
|
|||||||
\begin_inset Newline newline
|
\begin_inset Newline newline
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
(lösen →
|
(lösen
|
||||||
|
\begin_inset Formula $→$
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
|
||||||
\begin_inset ERT
|
\begin_inset ERT
|
||||||
status open
|
status open
|
||||||
|
|
||||||
@ -227,7 +228,11 @@ status open
|
|||||||
|
|
||||||
\end_inset
|
\end_inset
|
||||||
|
|
||||||
, LÖSEN →
|
, LÖSEN
|
||||||
|
\begin_inset Formula $→$
|
||||||
|
\end_inset
|
||||||
|
|
||||||
|
|
||||||
\begin_inset ERT
|
\begin_inset ERT
|
||||||
status open
|
status open
|
||||||
|
|
||||||
|
@ -171,4 +171,4 @@ lyx2lyx/export/latex/.*
|
|||||||
export/export/latex/.*(lyx..|xhtml)
|
export/export/latex/.*(lyx..|xhtml)
|
||||||
|
|
||||||
# don't test with non-TeX fonts:
|
# don't test with non-TeX fonts:
|
||||||
export/export/latex/en-th_(LTH|language-default).*systemF
|
#export/export/latex/en-th_(LTH|language-default).*systemF
|
||||||
|
@ -74,7 +74,7 @@ export/templates/Articles/International_Union_of_Crystallography.*_pdf4_systemF
|
|||||||
export/templates/Articles/R_Journal_(dvi3|pdf[45])_systemF
|
export/templates/Articles/R_Journal_(dvi3|pdf[45])_systemF
|
||||||
#export/templates/Articles/Kluwer_.*_systemF
|
#export/templates/Articles/Kluwer_.*_systemF
|
||||||
|
|
||||||
# Babel and fontenc not fails for some supported languages
|
# Babel and fontenc fails for some supported languages
|
||||||
# * check BabelPremble definitions in lib/languages
|
# * check BabelPremble definitions in lib/languages
|
||||||
# * fails also due to #11522, see "lyxbugs" below.
|
# * fails also due to #11522, see "lyxbugs" below.
|
||||||
export/export/latex/supported-languages_.*_systemF
|
export/export/latex/supported-languages_.*_systemF
|
||||||
@ -332,14 +332,6 @@ export/.*/he/.*_texF
|
|||||||
# See comment in unreliableTests
|
# See comment in unreliableTests
|
||||||
export/export/latex/uk-babel-date-missing-chars-with-ascii_pdf5_texF
|
export/export/latex/uk-babel-date-missing-chars-with-ascii_pdf5_texF
|
||||||
|
|
||||||
# Thai
|
|
||||||
# babel-thai globally changes catcodes for high-bit chars
|
|
||||||
# which prevents parsing of utf8 with vanilla inputenc (utf8x works)
|
|
||||||
# see also unreliable.wrong_output and unreliable.varying_versions
|
|
||||||
export/export/latex/en-th_utf8_(dvi|pdf[23]?|pdf4_texF)
|
|
||||||
# luainputenc fails with TL19:
|
|
||||||
export/export/latex/en-th_language-default_(dvi3|pdf5)_texF
|
|
||||||
|
|
||||||
|
|
||||||
# ================================================
|
# ================================================
|
||||||
Sublabel: externalissues
|
Sublabel: externalissues
|
||||||
|
@ -143,12 +143,6 @@ export/templates/Articles/American_Astronomical_Society_.*
|
|||||||
export/templates/Articles/Association_for_Computing_Machinery_pdf[45]_texF
|
export/templates/Articles/Association_for_Computing_Machinery_pdf[45]_texF
|
||||||
|
|
||||||
|
|
||||||
# Thai
|
|
||||||
# Babel-thai globally changes catcodes for high-bit chars
|
|
||||||
# which clashes with vanilla inputenc (utf8x and 8-bit input encodings and
|
|
||||||
# luainputenc work with TL17 but luainputenc fails with TL19):
|
|
||||||
export/export/latex/en-th_language-default_(dvi3|pdf5)_texF
|
|
||||||
|
|
||||||
Sublabel: wrong_output
|
Sublabel: wrong_output
|
||||||
######################
|
######################
|
||||||
# Export does not fail but the resulting document has errors.
|
# Export does not fail but the resulting document has errors.
|
||||||
@ -173,15 +167,6 @@ export/export/latex/es_auto-legacy_texF
|
|||||||
export/export/latex/uk-babel-date-missing-chars-with-ascii_.*_texF
|
export/export/latex/uk-babel-date-missing-chars-with-ascii_.*_texF
|
||||||
export/doc/uk/Intro_.*_texF
|
export/doc/uk/Intro_.*_texF
|
||||||
|
|
||||||
# Thai
|
|
||||||
# Babel-thai globally changes catcodes for high-bit chars
|
|
||||||
# which prevents parsing of utf8 with vanilla inputenc (utf8x works).
|
|
||||||
# see also invertedTests
|
|
||||||
export/export/latex/en-th_language-default_(dvi|pdf).?
|
|
||||||
export/export/latex/en-th_utf8_(dvi|pdf).*
|
|
||||||
#
|
|
||||||
# only ASCII characters in DVI (LuaTeX) with non-TeX fonts:
|
|
||||||
export/export/latex/en-th_utf8_dvi3_systemF
|
|
||||||
|
|
||||||
# LyX issues
|
# LyX issues
|
||||||
# **********
|
# **********
|
||||||
|
@ -1366,25 +1366,25 @@ Language thai
|
|||||||
FontEncoding LTH
|
FontEncoding LTH
|
||||||
DateFormats "dd MMMM yyyy|d MMM yyyy|dd/MM/yyyy"
|
DateFormats "dd MMMM yyyy|d MMM yyyy|dd/MM/yyyy"
|
||||||
LangCode th_TH
|
LangCode th_TH
|
||||||
|
# The first workaround requires loading inputenc after babel
|
||||||
|
# (cf. BufferParams.cpp):
|
||||||
PostBabelPreamble
|
PostBabelPreamble
|
||||||
% Restore \coyright definition corrupted by lthenc.def
|
|
||||||
\DeclareRobustCommand{\copyright}{%
|
|
||||||
\ifmmode{\nfss@text{\textcopyright}}\else\textcopyright\fi}
|
|
||||||
\DeclareTextSymbol{\textcopyright}{LTH}{8}
|
|
||||||
% Restore catcodes changed by thai.ldf (active characters required for inputenc)
|
% Restore catcodes changed by thai.ldf (active characters required for inputenc)
|
||||||
\@tempcnta=161%
|
\@tempcnta=161%
|
||||||
\@whilenum\@tempcnta<252\do{%
|
\@whilenum\@tempcnta<252\do{%
|
||||||
\catcode\@tempcnta=13
|
\catcode\@tempcnta=13
|
||||||
\advance\@tempcnta\@ne
|
\advance\@tempcnta\@ne
|
||||||
}%
|
}%
|
||||||
|
% Restore \coyright definition corrupted by lthenc.def
|
||||||
|
\DeclareRobustCommand{\copyright}{%
|
||||||
|
\ifmmode{\nfss@text{\textcopyright}}\else\textcopyright\fi}
|
||||||
|
\DeclareTextSymbol{\textcopyright}{LTH}{8}
|
||||||
|
% set up Thai fonts as substitue for the default families
|
||||||
|
\usepackage{substitutefont}
|
||||||
|
\substitutefont{LTH}{\rmdefault}{norasi}
|
||||||
|
\substitutefont{LTH}{\sfdefault}{garuda}
|
||||||
|
\substitutefont{LTH}{\ttdefault}{ttypist}
|
||||||
EndPostBabelPreamble
|
EndPostBabelPreamble
|
||||||
# Fixme: load font package?
|
|
||||||
# +1 support for font attributes in thai emphasizing etc.
|
|
||||||
# -1 forces ComputerModern as "non-thai" font
|
|
||||||
# TODO: set norasi as surrogate font for LTH (substitutefont.sty)
|
|
||||||
# PostBabelPreamble
|
|
||||||
# \usepackage{fonts-tlwg}
|
|
||||||
# EndPostBabelPreamble
|
|
||||||
End
|
End
|
||||||
|
|
||||||
# not supported by babel
|
# not supported by babel
|
||||||
|
@ -1801,9 +1801,10 @@ bool BufferParams::writeLaTeX(otexstream & os, LaTeXFeatures & features,
|
|||||||
if (features.mustProvide("pmboxdraw"))
|
if (features.mustProvide("pmboxdraw"))
|
||||||
os << "\\usepackage{pmboxdraw}\n";
|
os << "\\usepackage{pmboxdraw}\n";
|
||||||
|
|
||||||
// FIXME: In any document containing text in Thai language,
|
|
||||||
// we must load babel before inputenc (see lib/languages).
|
|
||||||
// handle inputenc etc.
|
// handle inputenc etc.
|
||||||
|
// (In documents containing text in Thai language,
|
||||||
|
// we must load inputenc after babel, see lib/languages).
|
||||||
|
if (!contains(features.getBabelPostsettings(), from_ascii("thai.ldf")))
|
||||||
writeEncodingPreamble(os, features);
|
writeEncodingPreamble(os, features);
|
||||||
|
|
||||||
// includeonly
|
// includeonly
|
||||||
@ -2288,6 +2289,11 @@ bool BufferParams::writeLaTeX(otexstream & os, LaTeXFeatures & features,
|
|||||||
!lyxrc.language_global_options)) + '\n';
|
!lyxrc.language_global_options)) + '\n';
|
||||||
os << features.getBabelPostsettings();
|
os << features.getBabelPostsettings();
|
||||||
}
|
}
|
||||||
|
// In documents containing text in Thai language,
|
||||||
|
// we must load inputenc after babel (see lib/languages).
|
||||||
|
if (contains(features.getBabelPostsettings(), from_ascii("thai.ldf")))
|
||||||
|
writeEncodingPreamble(os, features);
|
||||||
|
|
||||||
if (features.isRequired("bicaption"))
|
if (features.isRequired("bicaption"))
|
||||||
os << "\\usepackage{bicaption}\n";
|
os << "\\usepackage{bicaption}\n";
|
||||||
if (!listings_params.empty()
|
if (!listings_params.empty()
|
||||||
|
Loading…
Reference in New Issue
Block a user