The caret geometry is now computed in BufferView as a list of shapes
(caret, horizontal l-shape if needed, completion triangle if needed)
kept in a variable of type CaretGeometry.
The code in WorkArea.cpp only has to draw these shapes. The
CaretWidget (which never was a widget) in GuiWorkArea.cpp is gone
now.
As a consequence, the bounding box for the cursor is known precisely
and therefore rows should be repainted correctly now. This avoids
caret droppings.
Fixes bug #12024.
FontEncoding L7x required for hyphenation but no longer set
by Babel (since 2017-12-06).
The PostBabelPreamble now sets L7x for Lithuanian, if it is defined
and restores the previous font encodng on exit.
Try to find the most inner row that is overwritten by the caret. This
allows to replace the hack in TextMetrics::draw, which did not really
work.
Note that there are still issues with emphasized caret at the
beginning of inset, which will require some code reorganisation.
Fixes current recipe of bug #12024.
This has been done by reading the LaTeX sources (classes.dtx) to try
to get things right
* fix font sizes of chapters and parts. Note that the labels have
smaller size as the title itself.
* fix alignment of Part and put label on top
* add spacing between label and title.
This is particularly important for contents in RtL languages, where
the right margin may contain the paragraph indentation, or
itemize/enumeration symbols.
Fixes bug #12030.
The export inputenc-luatex-utf8_pdf5_texF has been succeeding for a
while and was likely fixed by a TeX Live update. Compiling manually
and looking at the output looks good.
The unicode tests would often fail when tested in parallel because
we were not exporting to unique file names. From what I understand,
a variant similar to the following race condition occurred:
1. Thread A exports to file blah.pdf.
2. Thread B exports to file blah.pdf.
3. Thread A confirms file blah.pdf exists.
4. Thread A deletes exported file blah.pdf to clean up.
5. Thread B fails to find file blah.pdf and reports a failure.