From 47224c60b95bd1ae50c2502d9a606dd9c7feea9a Mon Sep 17 00:00:00 2001 From: =?utf8?q?G=C3=BCnter=20Milde?= Date: Sun, 28 Apr 2019 22:45:51 +0200 Subject: [PATCH] Use utf8 inputencoding for Russian documentation. Solves errors with luatex and enables compilation with xetex. Add dedicated test document for the errors with auto-legacy and xe/luatex. --- .../latex/languages/ru_auto-legacy-luatex.lyx | 177 ++++++++++++++++++ development/autotests/invertedTests | 4 +- lib/doc/ru/Intro.lyx | 2 +- lib/doc/ru/Tutorial.lyx | 2 +- lib/examples/ru/Example_%28LyXified%29.lyx | 2 +- lib/examples/ru/Example_%28raw%29.lyx | 2 +- 6 files changed, 183 insertions(+), 6 deletions(-) create mode 100644 autotests/export/latex/languages/ru_auto-legacy-luatex.lyx diff --git a/autotests/export/latex/languages/ru_auto-legacy-luatex.lyx b/autotests/export/latex/languages/ru_auto-legacy-luatex.lyx new file mode 100644 index 0000000000..e6aa96999a --- /dev/null +++ b/autotests/export/latex/languages/ru_auto-legacy-luatex.lyx @@ -0,0 +1,177 @@ +#LyX 2.4 created this file. For more info see https://www.lyx.org/ +\lyxformat 573 +\begin_document +\begin_header +\save_transient_properties true +\origin unavailable +\textclass article +\begin_preamble +% DO NOT ALTER THIS PREAMBLE!!! +% +%This preamble is designed to ensure that the document prints +% out as advertised. If you mess with this preamble, +% parts of the document may not print out as expected. If you +% have problems LaTeXing this file, please contact +% the documentation team +% email: lyx-docs@lists.lyx.org + +% the pages of the TOC is numbered roman +% and a pdf-bookmark for the TOC is added +\pagenumbering{roman} +\let\myTOC\tableofcontents +\renewcommand\tableofcontents{% + \pdfbookmark[1]{\contentsname}{} + \myTOC + \cleardoublepage + \pagenumbering{arabic} } +\end_preamble +\use_default_options false +\maintain_unincluded_children false +\language russian +\language_package default +\inputencoding auto-legacy +\fontencoding auto +\font_roman "default" "DejaVu Serif" +\font_sans "default" "DejaVu Sans" +\font_typewriter "default" "DejaVu Sans Mono" +\font_math "auto" "auto" +\font_default_family default +\use_non_tex_fonts false +\font_sc false +\font_osf false +\font_sf_scale 100 100 +\font_tt_scale 100 100 +\use_microtype false +\use_dash_ligatures false +\graphics default +\default_output_format pdf5 +\output_sync 0 +\bibtex_command default +\index_command default +\float_placement class +\float_alignment class +\paperfontsize 12 +\spacing single +\use_hyperref true +\pdf_title "Введение в LyX" +\pdf_author "LyX Team" +\pdf_subject "LyX-documentation Intro" +\pdf_keywords "LyX, documentation" +\pdf_bookmarks true +\pdf_bookmarksnumbered true +\pdf_bookmarksopen true +\pdf_bookmarksopenlevel 2 +\pdf_breaklinks false +\pdf_pdfborder false +\pdf_colorlinks true +\pdf_backref false +\pdf_pdfusetitle false +\pdf_quoted_options "linkcolor=black, citecolor=black, urlcolor=blue, filecolor=blue, pdfpagelayout=OneColumn, pdfnewwindow=true, pdfstartview=XYZ, plainpages=false" +\papersize a4paper +\use_geometry false +\use_package amsmath 1 +\use_package amssymb 1 +\use_package cancel 1 +\use_package esint 1 +\use_package mathdots 1 +\use_package mathtools 1 +\use_package mhchem 1 +\use_package stackrel 1 +\use_package stmaryrd 1 +\use_package undertilde 1 +\cite_engine basic +\cite_engine_type default +\biblio_style plain +\use_bibtopic false +\use_indices false +\paperorientation portrait +\suppress_date false +\justification true +\use_refstyle 0 +\use_minted 0 +\index Предметный указатель +\shortcut idx +\color #008000 +\end_index +\secnumdepth 3 +\tocdepth 2 +\paragraph_separation indent +\paragraph_indentation default +\is_math_indent 0 +\math_numbering_side default +\quotes_style russian +\dynamic_quotes 0 +\papercolumns 1 +\papersides 1 +\paperpagestyle default +\tablestyle default +\tracking_changes false +\output_changes false +\html_math_output 0 +\html_css_as_file 0 +\html_be_strict false +\end_header + +\begin_body + +\begin_layout Title +Введение в \SpecialChar LyX + +\end_layout + +\begin_layout Author +автор: команда разработки \SpecialChar LyX + +\begin_inset Newline newline +\end_inset + + +\end_layout + +\begin_layout Standard +\begin_inset CommandInset toc +LatexCommand tableofcontents + +\end_inset + + +\end_layout + +\begin_layout Section +Философия \SpecialChar LyX + +\end_layout + +\begin_layout Subsection + +\lang spanish +What is the problem? +\end_layout + +\begin_layout Standard + +\lang spanish +Babel-Russian uses utf8-encoded auto-strings when detecting Xe/LuaTeX. + This leads to wrong output with TeX fonts and legacy 8-bit input encodings, + e.g. + the ToC-title should be +\begin_inset Quotes eld +\end_inset + +Содержание +\begin_inset Quotes erd +\end_inset + + but is +\begin_inset Quotes eld +\end_inset + +ППППЯППППП +\begin_inset Quotes erd +\end_inset + + and to compilation errors. +\end_layout + +\end_body +\end_document diff --git a/development/autotests/invertedTests b/development/autotests/invertedTests index 5721012b1a..3d1dc56d17 100644 --- a/development/autotests/invertedTests +++ b/development/autotests/invertedTests @@ -225,8 +225,8 @@ export/doc/(|de/|es/|fr/)UserGuide_pdf4_texF # Babel-Russian uses UTF-8 for auto-strings if it detects Xe/LuaTeX. # This fails unless the inputencoding is set to utf-8, too. -export/doc/ru/(Intro|Tutorial)_.*_texF -export/examples/ru/.*LyXified.*_texF +export/export/latex/languages/ru_auto-legacy-luatex.*_texF + # Babel-Ukrainian uses UTF-8 if it detects Xe/LuaTeX (for "\date"). # With 8-bit TeX fonts this results in: diff --git a/lib/doc/ru/Intro.lyx b/lib/doc/ru/Intro.lyx index abc09dd8c5..4add8f12df 100644 --- a/lib/doc/ru/Intro.lyx +++ b/lib/doc/ru/Intro.lyx @@ -29,7 +29,7 @@ \maintain_unincluded_children false \language russian \language_package default -\inputencoding auto +\inputencoding utf8 \fontencoding global \font_roman "default" "DejaVu Serif" \font_sans "default" "DejaVu Sans" diff --git a/lib/doc/ru/Tutorial.lyx b/lib/doc/ru/Tutorial.lyx index 65f499565a..f8860eb81d 100644 --- a/lib/doc/ru/Tutorial.lyx +++ b/lib/doc/ru/Tutorial.lyx @@ -12,7 +12,7 @@ logicalmkup \maintain_unincluded_children false \language russian \language_package default -\inputencoding auto +\inputencoding utf8 \fontencoding global \font_roman "default" "DejaVu Serif" \font_sans "default" "DejaVu Sans" diff --git a/lib/examples/ru/Example_%28LyXified%29.lyx b/lib/examples/ru/Example_%28LyXified%29.lyx index d8e9c21f5f..a4f5ebcd89 100644 --- a/lib/examples/ru/Example_%28LyXified%29.lyx +++ b/lib/examples/ru/Example_%28LyXified%29.lyx @@ -9,7 +9,7 @@ \maintain_unincluded_children false \language russian \language_package default -\inputencoding auto +\inputencoding utf8 \fontencoding global \font_roman "default" "DejaVu Serif" \font_sans "default" "DejaVu Sans" diff --git a/lib/examples/ru/Example_%28raw%29.lyx b/lib/examples/ru/Example_%28raw%29.lyx index 8ee82616ca..22a15744ba 100644 --- a/lib/examples/ru/Example_%28raw%29.lyx +++ b/lib/examples/ru/Example_%28raw%29.lyx @@ -9,7 +9,7 @@ \maintain_unincluded_children false \language russian \language_package default -\inputencoding auto +\inputencoding utf8 \fontencoding global \font_roman "default" "DejaVu Serif" \font_sans "default" "DejaVu Sans" -- 2.39.5