Default font encoding for Lithuanian, Latvian, and Polish (was: Regression while adding unnumbered chapters to ToC?)
Scott Kostyshak
skostysh at lyx.org
Wed Mar 10 03:36:46 UTC 2021
On Mon, Nov 23, 2020 at 10:11:24PM -0000, Guenter Milde wrote:
> Dear LyX developers,
>
> triggerd by the "Regression while adding unnumbered chapters to ToC", I had
> a closer look at lib/languages and tried a tentative fix.
>
> On 2020-09-17, Günter Milde wrote:
> > On 17.09.20, Scott Kostyshak wrote:
> >> On Sat, Sep 05, 2020 at 05:22:00PM +0000, V K wrote:
> >> > On Saturday, September 5, 2020, 08:08:20 PM GMT+3, V K <sovhist at yahoo.com> wrote:
>
> > ...
>
> >> > So I opened file of the book (report class) I was writing in Lyx 2.3
> >> > (and it compiles) in Lyx 2.4 and it won't compile with error: "!
> >> > LaTeX Error: Command \k unavailable in encoding OT1." I tried various
> >> > options to find the cause (maybe that depends on the fact that I
> >> > constantly need use cyrillic Russian books in bibliography and so on
> ...
> >> > – some of errors while changing options pointed to cyrrilic
> >> > footnotes, but that can be another issue). I think I narrowed cause
> >> > and the problem is with ERT solutions how to insert unnumbered
> >> > chapter to ToC. If I remove line
> >> > \addcontentsline{toc}{chapter}{Įvadas} document compiles. It compiles
> >> > even after removing unicode letter "Į" from that line:
> >> > \addcontentsline{toc}{chapter}{vadas} (it compiles from the second
> >> > try). The same thing is with longer solution to add all unnumbered
> >> > chapters to ToC from there:
> >> > https://tex.stackexchange.com/questions/185367/add-an-unnmbered-section-to-the-table-of-contents-in-lyx
> >> > Line \markboth{Įvadas}{Įvadas} creates problem using fancy pagestyle
> >> > and removing "Į" cures that. So I can't add unnumbered chapters to
> >> > ToC. I changed language of the document to Latvian, English and it
> >> > compiles fine.
> ...
>
> > I believe the reason is that in 2.3, two font encodings "T1,L7x" are
> > auto-loaded by lyx but in 2.4 only "L7x".
>
> When T1 is not loaded, Babel sets the legacy macro \latinencoding to OT1.
> As Babel-Russion still calls \latinencoding after leaving Russian text parts,
> and Babel-Lithuanian no longer changes the font encoding when entering
> Lithuanian, this leads to errors with the ogonec accent (\k is not defined
> in OT1).
>
> 8eff3b1772 fixes the regression by adding a font-encoding switch to the
> PostBabelPreamble.
>
> However, for a consistent handling, we need to decide, when to use/force
> non-standard font encodings for languages that work only partially with the
> LyX-default T1:
>
> # * FontEncoding is a bar-separated list of font encodings.
> # The first value is the required font encoding for correct hyphenation with
> # 8-bit TeX (http://www.hyphenation.org). Eventually following values may be
> # used if the selected font is unavailable in FontEncoding. They provide all
> # letters used in the language, but some only as "surrogate pairs" with
> # possible problems for hyphenation and drag-and-drop from the generated
> # documents. Default: "ASCII".
>
> The languages Lithuanian, Latvian, and Polish require
> non-standard font encodings (L7x rsp. QX) for correct hyphenation and
> drag-and-drop) and compile without errors with T1.
> This is reflected in the FontEncoding tags:
>
> Language latvian
> FontEncoding L7x|T1|OT1 ¹
>
> Language lithuanian
> FontEncoding L7x ²
>
> Language polish
> FontEncoding QX|T1
>
> ¹ Latvian also allows OT1, as it does not use the ogonek accent.
>
> ² Lithuanian does not specify the alternative T1 for historic reasons:
> up to 2017-12-06, Babel-Lithuanian switched to the L7x font encoding for
> Lithuanian text.
>
> As a consequence, currently:
>
> Lithuanian defaults to L7x
> +1 correct hyphenation, correct drag-and-drop from PDF,
> -1 font problems if not using Latin Modern, TeX Gyre, or non-TeX fonts
> (LaTeX falls back to LM-Roman, with no italic or bold variants).
>
> Users can override this with
> Document>Settings>LaTeX font encoding > Custom T1.
>
> Latvian and Polish default to T1
> +1 supported by most TeX fonts
> -1 wrong hyphenation, drag-and-drop from PDF corrupts some diacritics.
>
> Users can may override this with
> Document>Settings>LaTeX font encoding > Custom L7x (rsp. Custom QX).
> However, after a text part in Russian, the font encoding would still
> switch to \latinencoding (T1 or OT1), so code similar to the Lithuanian
> PostBabelPreamble is required, too.
>
> How can we proceed?
>
> a) keep as is
> b) add T1 as alternative in Lithuanian
> c) remove T1 as alternative from Polish and Latvian
> d) let LyX use L7x/QX if the selected font supports it and T1 otherwise.
>
>
>
> Günter
>
> --
> lyx-devel mailing list
> lyx-devel at lists.lyx.org
> http://lists.lyx.org/mailman/listinfo/lyx-devel
I don't know, but I'm bumping in case anyone else has a preference. If
no one else responds, I propose that you do whatever you think is best.
Scott
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://lists.lyx.org/pipermail/lyx-devel/attachments/20210309/4331424d/attachment-0001.asc>
More information about the lyx-devel
mailing list