From ddf947b8fdde2f3b31bd4d8d1bbbd1c1d4cd2828 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=BCnter=20Milde?= Date: Tue, 12 Mar 2019 22:44:13 +0100 Subject: [PATCH] ctests: dedicated test for problem with textgreek and textcyrillic. --- autotests/export/latex/CJK/zh_CN-toc.lyx | 2 +- .../export/latex/textcyr-textgreek-test.lyx | 426 ++++++++++++++++++ development/autotests/invertedTests | 32 +- 3 files changed, 446 insertions(+), 14 deletions(-) create mode 100644 autotests/export/latex/textcyr-textgreek-test.lyx diff --git a/autotests/export/latex/CJK/zh_CN-toc.lyx b/autotests/export/latex/CJK/zh_CN-toc.lyx index e9f7f8d282..f25b80e53f 100644 --- a/autotests/export/latex/CJK/zh_CN-toc.lyx +++ b/autotests/export/latex/CJK/zh_CN-toc.lyx @@ -23,7 +23,7 @@ \font_typewriter "default" "default" \font_math "auto" "auto" \font_default_family default -\use_non_tex_fonts true +\use_non_tex_fonts false \font_sc false \font_osf false \font_sf_scale 100 100 diff --git a/autotests/export/latex/textcyr-textgreek-test.lyx b/autotests/export/latex/textcyr-textgreek-test.lyx new file mode 100644 index 0000000000..fb5d3ebe3b --- /dev/null +++ b/autotests/export/latex/textcyr-textgreek-test.lyx @@ -0,0 +1,426 @@ +#LyX 2.2 created this file. For more info see http://www.lyx.org/ +\lyxformat 508 +\begin_document +\begin_header +\save_transient_properties true +\origin unavailable +\textclass article +\begin_preamble +\usepackage{parskip} +\end_preamble +\use_default_options true +\maintain_unincluded_children false +\language english +\language_package default +\inputencoding auto +\fontencoding global +\font_roman "libertine" "DejaVu Serif" +\font_sans "biolinum" "default" +\font_typewriter "txtt" "default" +\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 +\graphics default +\default_output_format pdf2 +\output_sync 0 +\bibtex_command default +\index_command default +\paperfontsize default +\spacing single +\use_hyperref false +\pdf_author "" +\pdf_keywords "" +\pdf_bookmarks true +\pdf_bookmarksnumbered false +\pdf_bookmarksopen false +\pdf_bookmarksopenlevel 1 +\pdf_breaklinks true +\pdf_pdfborder true +\pdf_colorlinks false +\pdf_backref false +\pdf_pdfusetitle true +\papersize a4paper +\use_geometry false +\use_package amsmath 1 +\use_package amssymb 1 +\use_package cancel 1 +\use_package esint 1 +\use_package mathdots 0 +\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 false +\use_refstyle 0 +\index Ευρετήριο +\shortcut idx +\color #008000 +\end_index +\leftmargin 3cm +\topmargin 2cm +\rightmargin 3cm +\bottommargin 1cm +\secnumdepth 3 +\tocdepth 3 +\paragraph_separation skip +\defskip smallskip +\quotes_language english +\papercolumns 1 +\papersides 1 +\paperpagestyle headings +\tracking_changes false +\output_changes true +\html_math_output 0 +\html_css_as_file 0 +\html_be_strict false +\author -1402925745 "Günter Milde" +\end_header + +\begin_body + +\begin_layout Section* +\noindent +Font-encoding changes for non-Latin scripts +\end_layout + +\begin_layout Standard +LyX supports letters in non-Latin scripts (Greek and Cyrillic) with 8-bit + LaTeX fonts via automatic insertion of +\emph on +font encoding +\emph default + switches in the LaTeX source. +\end_layout + +\begin_layout Itemize +\noindent +The +\begin_inset Quotes eld +\end_inset + + +\backslash +textgreek +\begin_inset Quotes erd +\end_inset + + command switches to the Greek font +\emph on + +\emph default +encoding +\emph on + +\emph default + +\begin_inset Quotes eld +\end_inset + +LGR +\begin_inset Quotes erd +\end_inset + +, the +\begin_inset Quotes eld +\end_inset + + +\backslash +textcyrillic +\begin_inset Quotes erd +\end_inset + + command switches to +\begin_inset Quotes eld +\end_inset + +T2A +\begin_inset Quotes erd +\end_inset + +. +\end_layout + +\begin_layout Itemize +\noindent +If the text language is Greek/Russian, the font encoding switch is handled + by +\begin_inset Quotes eld +\end_inset + +Babel +\begin_inset Quotes erd +\end_inset + +. + In any other case, the +\begin_inset Quotes eld +\end_inset + +textgreek +\begin_inset Quotes erd +\end_inset + +/ +\begin_inset Quotes erd +\end_inset + +textcyr +\begin_inset Quotes erd +\end_inset + + wrapper is required to select a font that supports the Greek/Cyrillic script. +\end_layout + +\begin_layout Itemize +\noindent +The test (and eventual wrapping) must be done for all characters requiring + the textgreek/textcyr feature (not only for the characters that cannot + be encoded in the \SpecialChar LaTeX + input encoding). +\end_layout + +\begin_layout Subsection* +\noindent +Test +\end_layout + +\begin_layout Itemize +\noindent +Greek script in English text: +\begin_inset Quotes eld +\end_inset + +τελευταίας έκδοσης του GRASS +\begin_inset Quotes erd +\end_inset + + +\end_layout + +\begin_layout Itemize +\noindent +Greek script in Greek text: +\begin_inset Quotes eld +\end_inset + + +\lang greek +τελευταίας έκδοσης του +\lang english + GRASS +\begin_inset Quotes erd +\end_inset + + +\end_layout + +\begin_layout Itemize +\noindent +Cyrillic script in English text: добро пожаловать! +\end_layout + +\begin_layout Itemize +\noindent +Cyrillic script in Russian text: +\lang russian +добро пожаловать! +\end_layout + +\begin_layout Standard +\noindent +Test wrapper boundaries: +\end_layout + +\begin_layout Itemize +\noindent +Adjacent Greek and Cyrillic letters: λογοςдобро and доброλογος. +\end_layout + +\begin_layout Itemize +\noindent +Adjacent Latin and +\begin_inset Quotes eld +\end_inset + +alien +\begin_inset Quotes erd +\end_inset + + letters: γσsg gsσγ гсsg gsсг. +\end_layout + +\begin_layout Itemize +\noindent +Adjacent Latin and +\begin_inset Quotes eld +\end_inset + +alien +\begin_inset Quotes erd +\end_inset + + letters in Greek/Russian: +\lang greek +γσsg gsσγ +\lang english + +\lang russian +гсsg gsсг +\lang english +. +\end_layout + +\begin_layout Itemize +\noindent +Insets, table: +\begin_inset Note Greyedout +status open + +\begin_layout Plain Layout +добро +\end_layout + +\end_inset + +, +\begin_inset Note Greyedout +status open + +\begin_layout Plain Layout +λογος +\end_layout + +\end_inset + +, +\begin_inset Tabular + + + + + + +\begin_inset Text + +\begin_layout Plain Layout +добро +\end_layout + +\end_inset + + +\begin_inset Text + +\begin_layout Plain Layout +λογος +\end_layout + +\end_inset + + + + +\end_inset + +. +\end_layout + +\begin_layout Itemize +\noindent +Font attribute change: +\series bold +доб +\series default +ро λογ +\series bold +ος +\series default +, +\strikeout on +доб +\strikeout default +ро λογ +\strikeout on +ος +\end_layout + +\begin_layout Itemize +\noindent +Language change: +\lang afrikaans +доб +\lang english +ро λογ +\lang afrikaans +ος. +\end_layout + +\begin_layout Itemize +Change-tracking: +\change_deleted -1402925745 1551826123 +доб +\change_unchanged +ро λο +\change_deleted -1402925745 1551826128 +γος +\change_unchanged +, +\change_inserted -1402925745 1551826325 +доб +\change_unchanged +ро λο +\change_inserted -1402925745 1551826220 +γος +\change_unchanged +. +\end_layout + +\begin_layout Standard +\noindent +Test combining unicode characters, +\end_layout + +\begin_layout Quote +\noindent + +\lang greek +ᾶ/ +\lang english +ᾶ, +\lang greek +ά +\lang english +/ά (pre-composed) vs. + +\lang greek +α̃ +\lang english +/α̃ (combining tilde). +\end_layout + +\begin_layout Quote +\noindent +Greek: α̃ α̊ α̂ and να̃ να̊ να̂ (e.g. + Ἀθη̃ναι) +\end_layout + +\begin_layout Quote +Cyrillic: и̃ и̊ а́ and си̃ си̊ са́ (e.g. + Самова́р) +\end_layout + +\end_body +\end_document diff --git a/development/autotests/invertedTests b/development/autotests/invertedTests index 5f9d3ab41f..cc685c4aa7 100644 --- a/development/autotests/invertedTests +++ b/development/autotests/invertedTests @@ -145,6 +145,25 @@ Sublabel: lyxbugs # missing character with XeTeX/LuaTeX and Babel (OK with Polyglossia) export/export/latex/6197-polish-amssymb_pdf._texF +#8035 work around a Polyglossia bug: +# An error is reported if the document font does not announce support for a +# script (Cyrillic, Greek, ...) which Polyglossia thinks is required to +# typeset the document language. This is not required with LyX's check for +# missing characters and results in many false positives: +# a) with fonts including the required characters but +# not the tag tested by Polyglossia, +# b) if the document language is "Serbian (Latin Script)", +# the Cyrillic script is not required yet Polyglossia tests for support. +# The document "sr/Braille.lyx" is an example of case b). +# (For some reason, the false positive error is not thrown with PDF (luatex).) +export/examples/sr/Braille_(dvi3|pdf4)_systemF + +#9681 Run-together words in Greek and Cyrillic documents +# no-termination of replacement macros can lead to non-existing macros if +# unencodable or force-converted Greek or Cyrillic letters are immediately +# followed by Latin letters. See also unreliableTests. +export/export/latex/textcyr-textgreek-test_pdf2 + #9871 LyX sends invalid Unicode to iconv when converting to ASCII # most probably due to BabelPreamble code (language specific headings for # theorems, problems , ... are written in the language's default encoding @@ -159,19 +178,6 @@ export/doc/es/Customization_pdf4_texF export/examples/es/linguistics_pdf4_texF export/export/latex/bug9871-slovak-ascii-preambleencoding_pdf2 -#8035 work around a Polyglossia bug: -# An error is reported if the document font does not announce support for a -# script (Cyrillic, Greek, ...) which Polyglossia thinks is required to -# typeset the document language. This is not required with LyX's check for -# missing characters and results in many false positives: -# a) with fonts including the required characters but -# not the tag tested by Polyglossia, -# b) if the document language is "Serbian (Latin Script)", -# the Cyrillic script is not required yet Polyglossia tests for support. -# The document "sr/Braille.lyx" is an example of case b). -# (For some reason, the false positive error is not thrown with PDF (luatex).) -export/examples/sr/Braille_(dvi3|pdf4)_systemF - #10355 xmllint detects failures export/doc/attic/eu_UserGuide_xhtml export/doc/(es|ja)/UserGuide_xhtml