Kornel Benko [Sat, 2 Mar 2019 14:42:38 +0000 (15:42 +0100)]
FindAdv: Try to add the possibility to search for accented characters in regex
The problem is the handling of regex as using math-mode. That is
any accented character is converted to a math macro.
For instance "ä" --> "\\ddot{a}".
Outside of math or regex it is not converted (if used xetex flavour),
but there are other chars which are converted in math and in text (but differently)
For instance "ů"
in math --> "\\mathring{u}"
in text --> "\\r{u}"
TODO: determine the still not handled conversions.
It would be nice, if we could persuade math factory to not convert
these characters, but I was unable to find the place where the
conversion actually takes place.
Günter Milde [Wed, 27 Feb 2019 13:01:53 +0000 (14:01 +0100)]
Don't switch encodings when a document wide encoding is specified.
Remove special code for CJK that is no longer required after
we use CJKutf8 document-wide with inputenc "utf8-cjk"
(and "utf8" for languages requiring CJK) (since 7bbf333fa100).
CJK characters can no longer be used with a document-wide 8-bit encoding.
(Hint: Use utf8-cjk or one of the CJK legacy encodings if your document contains CJK characters.)
Günter Milde [Tue, 26 Feb 2019 18:13:15 +0000 (19:13 +0100)]
ctest update
* Do not change font choices when testing with non-TeX fonts.
* Add "nonstandard" tag for documents with requirements outside TeXLive.
* Ignore missing character in legacy Basque document.
Update screen as needed when preferences are changed
This commit removes the adhoc code in GuiPrefs and moves it to LyXRC,
so that it triggers in every preference change.
The code has also been updated to trigger on more variables, e.g.
font_*_foundry.
Note that the actual function that are called have not been changed
(addPreviews and LFUN_SCREEN_FONT_UPDATE), although there are doubts
that they behave as needed (see FIXMEs).
The goal of this commit is to simplify the logic in TextMetrics::draw.
Now, rows are repainted depending on their changed() status.
Instead of checking whether rows have been scrolled horizontally at
draw time, the code marks the row as changed when testing for
horizontal scrolling.
To this end a new method TestMetrics::setRowChanged is added, that
searches a row in the text metrics cache and marks it changed if
found.
The old code that remembered the previously scrolled row can now be
removed.
Kornel Benko [Fri, 22 Feb 2019 12:21:23 +0000 (13:21 +0100)]
FindAdv: debug info
1.) Fill the 'head'-member to easier recognize the macro. May be discarded
later, although it does not take too much run-time
2.) Add some comment
3.) Ignore any macro inside the regex.
The SinglePar update flags has been a no-op for a long time without
naybody noticing. This means that the current paragraph was
always rebroken and redrawn, even when only moving the cursor around.
Now we only do that when Update::SinglePar has been specified. This
means that there may be cases where update will not be correct
anymore, because this flag has not been specified. These places will
have to be found and fixed.
Kornel Benko [Sun, 17 Feb 2019 23:40:55 +0000 (00:40 +0100)]
FindAdv: Handle more cases
Some macros need:
1.) Take care of case sensitivity
2.) Better handling of used argument values
3.) Cleaner list-environment search
4.) Remove superfluous '~' if searching for description or labeling env
Scott Kostyshak [Fri, 15 Feb 2019 17:12:10 +0000 (12:12 -0500)]
Intro.lyx: remove a "short title"
This short title removed a spaced, and when taking a look we decided
that the advantages of removing it (simplicity and consistency)
outweigh the benefits of having a shorter entry in the table of
contents and PDF bookmarks.
Kornel Benko [Mon, 11 Feb 2019 12:06:02 +0000 (13:06 +0100)]
FindAdv: Try to find real start of found match
Sometime it happen that the selection contains area which was skipped
in splitOnKnownMacros().
So we check, if a shorter selection would give the same mach size.
Uwe Stöhr [Sun, 10 Feb 2019 23:17:42 +0000 (00:17 +0100)]
Win installer: updates and fixes
- enable support for Georgian
- update file sizes
- re-introduce the dictionary download because it is necessary to step through several mirrors if necessary. This function was once added because as it is now, only one mirror is used, if it is dead the user won't get the dictionary
- update the mirror list
Kornel Benko [Sun, 10 Feb 2019 17:00:55 +0000 (18:00 +0100)]
FindAdv: Add handling of begin{multicols}[...][...]{...}
Also
a.) try to speed up regex search using non-greedy mode (.*?)
b.) remove '\n' completely in searched strings if it is not surrounded with
aplanumerical chars
Now we search in priority with the GUI language, and then the
language(s) specified in the LANGUAGES environment variable.
Preoviously, the GUI language would only be considered when
LANGUAGES was not set (which was a bug).
Take this opportunity to remove old compatibility code from 2007.
Commit [3366c49f/lyxgit] intended to strip braces only for minted
but was actually stripping them also for listings. As the braces
are necessary for the listings package, reintroduce them.
This is a master-only issue.
Günter Milde [Tue, 5 Feb 2019 10:31:27 +0000 (11:31 +0100)]
Check for CJK instead of CJKutf8.
The specific test was introduced in ef6be5f4 because
CJKutf8 was relatively new (cf. lyx.org/trac/ticket/5386).
10 years on, CJKutf8 is an established part of the CJK bundle
and we can skip the special test for CJKutf8 to make the logic
considerabely simpler to read, maintain and debug.
Günter Milde [Sun, 3 Feb 2019 21:04:17 +0000 (22:04 +0100)]
Prevent fallback to "utf8" if "inputenc" package is not loaded.
Since April 2018, pdflatex falls back to input-encoding utf8 if
it does not detect an input encoding setting.
https://www.latex-project.org/news/latex2e-news/ltnews28.pdf
This leads to failure with CJK legacy encodings and may not
be what you want if selecting "Language Default (no inputenc)"
as document input-encoding.
Kornel Benko [Tue, 5 Feb 2019 07:04:47 +0000 (08:04 +0100)]
Findadv: Handle \lettrine{} in initials.module
The problem here is, that selecting any subset of a \lettrine{}
line always creates an initials header. That makes it impossible
to our search engine to find strings, because the regex does not
contain that info. So we have to discard the leading \lettrine part
completely.
We place now a marker (\endarguments) to determine that removable
part.
Günter Milde [Wed, 30 Jan 2019 14:14:45 +0000 (15:14 +0100)]
Do not use \inputencoding when the buffer input encoding is one of the "legacy" CJK encodings.
If Document>Settings>Language>Encoding is set to any value except "auto" or "default", we
expect the whole document to use this encoding. Wiht encodings from the CJK package, this means
one big "CJK" environment and no encoding switches.
Characters that are not handled by the CJK package need to be "forced" in lib/unicodesymbols.
This is completed for "euc-cn", the others will follow.
Additionally, correct the cursor by an offset equal to the variation of paragraph size : if change tracking is on, deleting a space may mean that it is just marked as deleted.
Kornel Benko [Tue, 29 Jan 2019 12:21:05 +0000 (13:21 +0100)]
Amend a25b9702, lyx2lyx: Corrected handling of system-font-specs
In the lines specifying the font, e.g.
\font_typewriter "DejaVuSansMono" "DejaVu Sans Mono"
the system font specs may contain words separated by spaces