mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-25 10:58:52 +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
|
||||
\textclass article
|
||||
\begin_preamble
|
||||
\AtBeginDocument{\usepackage{fonts-tlwg}}
|
||||
|
||||
\end_preamble
|
||||
\use_default_options true
|
||||
\maintain_unincluded_children false
|
||||
@ -27,7 +27,7 @@
|
||||
\use_microtype false
|
||||
\use_dash_ligatures true
|
||||
\graphics default
|
||||
\default_output_format default
|
||||
\default_output_format pdf2
|
||||
\output_sync 0
|
||||
\bibtex_command default
|
||||
\index_command default
|
||||
@ -84,7 +84,7 @@
|
||||
\begin_body
|
||||
|
||||
\begin_layout Subsection*
|
||||
Thai
|
||||
Test workaround for Thai language
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
|
@ -5,18 +5,15 @@
|
||||
\save_transient_properties true
|
||||
\origin unavailable
|
||||
\textclass article
|
||||
\begin_preamble
|
||||
\AtBeginDocument{\usepackage{fonts-tlwg}}
|
||||
\end_preamble
|
||||
\use_default_options true
|
||||
\maintain_unincluded_children false
|
||||
\language english
|
||||
\language_package default
|
||||
\inputencoding utf8
|
||||
\fontencoding auto
|
||||
\font_roman "lmodern" "FreeSerif"
|
||||
\font_sans "default" "FreeSans"
|
||||
\font_typewriter "default" "FreeMono"
|
||||
\font_roman "lmodern" "Norasi"
|
||||
\font_sans "default" "Garuda"
|
||||
\font_typewriter "default" "Tlwg Mono"
|
||||
\font_math "auto" "auto"
|
||||
\font_default_family default
|
||||
\use_non_tex_fonts false
|
||||
@ -84,7 +81,7 @@
|
||||
\begin_body
|
||||
|
||||
\begin_layout Subsection*
|
||||
Thai
|
||||
Test workaround for Thai language
|
||||
\end_layout
|
||||
|
||||
\begin_layout Standard
|
||||
@ -203,7 +200,11 @@ uc/lccode changes prevent up/downcasing of high-bit characters
|
||||
\begin_inset Newline newline
|
||||
\end_inset
|
||||
|
||||
(lösen →
|
||||
(lösen
|
||||
\begin_inset Formula $→$
|
||||
\end_inset
|
||||
|
||||
|
||||
\begin_inset ERT
|
||||
status open
|
||||
|
||||
@ -227,7 +228,11 @@ status open
|
||||
|
||||
\end_inset
|
||||
|
||||
, LÖSEN →
|
||||
, LÖSEN
|
||||
\begin_inset Formula $→$
|
||||
\end_inset
|
||||
|
||||
|
||||
\begin_inset ERT
|
||||
status open
|
||||
|
||||
|
@ -171,4 +171,4 @@ lyx2lyx/export/latex/.*
|
||||
export/export/latex/.*(lyx..|xhtml)
|
||||
|
||||
# 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/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
|
||||
# * fails also due to #11522, see "lyxbugs" below.
|
||||
export/export/latex/supported-languages_.*_systemF
|
||||
@ -332,14 +332,6 @@ export/.*/he/.*_texF
|
||||
# See comment in unreliableTests
|
||||
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
|
||||
|
@ -143,12 +143,6 @@ export/templates/Articles/American_Astronomical_Society_.*
|
||||
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
|
||||
######################
|
||||
# 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/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
|
||||
# **********
|
||||
|
@ -1366,25 +1366,25 @@ Language thai
|
||||
FontEncoding LTH
|
||||
DateFormats "dd MMMM yyyy|d MMM yyyy|dd/MM/yyyy"
|
||||
LangCode th_TH
|
||||
# The first workaround requires loading inputenc after babel
|
||||
# (cf. BufferParams.cpp):
|
||||
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)
|
||||
\@tempcnta=161%
|
||||
\@whilenum\@tempcnta<252\do{%
|
||||
\catcode\@tempcnta=13
|
||||
\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
|
||||
# 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
|
||||
|
||||
# not supported by babel
|
||||
|
@ -1801,10 +1801,11 @@ bool BufferParams::writeLaTeX(otexstream & os, LaTeXFeatures & features,
|
||||
if (features.mustProvide("pmboxdraw"))
|
||||
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.
|
||||
writeEncodingPreamble(os, features);
|
||||
// (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);
|
||||
|
||||
// includeonly
|
||||
if (!features.runparams().includeall && !included_children_.empty()) {
|
||||
@ -2288,6 +2289,11 @@ bool BufferParams::writeLaTeX(otexstream & os, LaTeXFeatures & features,
|
||||
!lyxrc.language_global_options)) + '\n';
|
||||
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"))
|
||||
os << "\\usepackage{bicaption}\n";
|
||||
if (!listings_params.empty()
|
||||
|
Loading…
Reference in New Issue
Block a user