ctests: dedicated test for problem with textgreek and textcyrillic.

This commit is contained in:
Günter Milde 2019-03-12 22:44:13 +01:00
parent f659af339e
commit ddf947b8fd
3 changed files with 446 additions and 14 deletions

View File

@ -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

View File

@ -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
<lyxtabular version="3" rows="1" columns="2">
<features tabularvalignment="middle">
<column alignment="center" valignment="top">
<column alignment="center" valignment="top">
<row>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
добро
\end_layout
\end_inset
</cell>
<cell alignment="center" valignment="top" topline="true" bottomline="true" leftline="true" rightline="true" usebox="none">
\begin_inset Text
\begin_layout Plain Layout
λογος
\end_layout
\end_inset
</cell>
</row>
</lyxtabular>
\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

View File

@ -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