Commit Graph

25678 Commits

Author SHA1 Message Date
Günter Milde
0f265a5ab6 Remove special code for CJK that is no longer required (amends e665715fc4). 2019-03-13 11:13:44 +01:00
Jean-Marc Lasgouttes
f659af339e Revert "Let tm be a reference here as elsewhere"
This commit was wrong because a reference variable can never be
re-assigned (it would change the original variable). I learn C++
pitfalls every day.

Fixes bug #11512.

This reverts commit 10e2c65835.
2019-03-12 16:03:22 +01:00
Jean-Marc Lasgouttes
63bfaa14be Make TextMetrics noncopyable
This is done by declaring unimplemented private copy constructor and
assignment operator.

This breaks compilation in BufferView::textMetrics, which does a copy when
inserting a TextMetrics object in the cache. Some C++11 wizardry I will not
pretend to completely understand saves the day.

See the following page for details:
  https://en.cppreference.com/w/cpp/container/map/emplace

This avoids real world bugs like #11512.
2019-03-12 16:03:22 +01:00
Juergen Spitzmueller
8b92a2a689 Add NeedMBoxProtect [inset]layout option
This accesses the inulemcmd output param which protects specific commands
(\cite, \ref) in an \mbox.

This is needed in ulem and soul commands, since their complex
detokenization makes such commands (who produce multiple words via local
assignment) fail.

So now it is possible to properly support ulem and soul via
[inset]layout

Fixes a case reported in #9404
2019-03-12 14:08:05 +01:00
Juergen Spitzmueller
c41df5b671 Warn if included file does not exist
Patch by Jürgen Womser-Schütz
2019-03-12 09:00:59 +01:00
Juergen Spitzmueller
3c83f01f1b More exceptions to percent encoding
See #11511
2019-03-10 16:37:31 +01:00
Juergen Spitzmueller
936cddc715 Do not percent-encode & in urls
This is query syntax

Fixes: #11511

follows up [c2db448ff5/lyxgit]
2019-03-10 13:23:36 +01:00
Juergen Spitzmueller
de449daa71 update tex2lyx tests after file format change 2019-03-10 13:04:15 +01:00
Juergen Spitzmueller
ebd7a1a22a Support for the Malayalam language
Patch by Joice Joseph
2019-03-10 10:21:59 +01:00
Kornel Benko
c041439c51 FindAdv: Special handling for \dot{i} and 'ß'
Different behaviour in regexp{..} for 'İ' and 'ß':
1.) lowercase routine for 'İ' gives 'İ', so that if we are searching
  while ignoring case, the string '\dot{I}' is converted to '\dot{i}'.
  In this case we have to change it to 'İ' (instead of 'i', as one would expect).

2.) If 'ß' is inserted via keybord on fresh created regexp box it appears as \lyxmathsym{ß},
  if pasted from the lyx-screen it appears as \text{ß}
2019-03-10 00:29:56 +01:00
Kornel Benko
99e216b78d Amend 62f8b8be
The file test-insets.tex is changed, therefore the file
which is expected by tex2lyx (test-insets.lyx.lyx) has to be changed too.
2019-03-09 21:24:21 +01:00
Juergen Spitzmueller
55c9bc218a Do not use GUI language for shortcut info inset if no translation is available
Fixes: #11508

Now there is the opposite case which needs to be addressed:
If no translation is available for a shortcut in a non-latin-scripted
document, we need to switch the language to English.
2019-03-09 12:00:40 +01:00
Kornel Benko
f848183fa8 FindAdv: Expand the list of handled chars for dot below and ring above 2019-03-08 22:44:00 +01:00
Juergen Spitzmueller
2078a02ce9 Silence compiler warning 2019-03-08 16:48:49 +01:00
Günter Milde
24b675783f Ensure \LyX macro works also with non-standard font encodings (Greek, ...).
Babel provides the \textlatin macro to ensure Latin letter ASCII characters are
output as Latin letters.

Instead of 8 different definitions for the several variants of the macro definition,
wrappers are individually added if required and available.
2019-03-07 17:01:05 +01:00
Kornel Benko
b702eda4ed FindAdv: Amend cd4ae51f
Prevent to match only part of a macro.
For instance, we want find '\imath' but not '\imathxxxx'
while checking for accents.
2019-03-04 14:37:10 +01:00
Kornel Benko
cd4ae51f77 FindAdv: Amend b21c8b21: Expand the list for handled latin characters
1.) Added for 'breve' and 'grave' accents
2.) Corrected handling for 'i'-accents (allowed \hat{i} _and_ \hat{\imath})
	because of problems with ignoring case
3.) Spaces: Changed some indents in source
2019-03-04 14:05:44 +01:00
Günter Milde
68b6198d63 Fix/simplify "if" clause for application of \textcyrrillic or \textgreek.
Also with Xe/LuaTeX only required with non-native font encodings.
2019-03-04 00:04:03 +01:00
Günter Milde
7dfc6c7f8b Update latex export of combining characters.
* Remove exception for polytonikogreek (drop braces)
  no longer required since the fixes to #6463 and #9637.
* Update comments.
2019-03-04 00:04:03 +01:00
Kornel Benko
99bacf006e FindAdv: Handle some more accented latin characters.
Also try to use UTF8 encoded chars instead of their
latex equivalent if possible.
2019-03-03 14:08:27 +01:00
Kornel Benko
b21c8b214d FindAdv: Expand the list for handled latin characters 2019-03-02 22:00:20 +01:00
Kornel Benko
3541a49db4 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.
2019-03-02 15:42:38 +01:00
Günter Milde
e665715fc4 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 7bbf333fa1).

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.)
2019-02-28 22:55:43 +01:00
Kornel Benko
9d6b71c6b3 FindAdv: Use isAlnumASCII() instead of std::isalnum()
Thanks Jean-Marc
2019-02-28 13:00:12 +01:00
Jean-Marc Lasgouttes
32d6396f88 Use || instead of or operator
It is more consistent and visual studio seems to dislike it anyway.
2019-02-28 12:03:34 +01:00
Kornel Benko
2c5c397afa Amend aaffcd0b: Remove some remnants ... 2019-02-27 10:33:25 +01:00
Kornel Benko
aaffcd0b39 FindAdv: Do not use data from included listing if in search mode
Fixes #11496 	"Find and replace (advanced)" is too slow
2019-02-27 10:17:56 +01:00
Kornel Benko
b1f93e0982 FindAdv: Try to use a better algorithm to find begin of a searched string 2019-02-26 23:00:31 +01:00
Jean-Marc Lasgouttes
954531f247 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).

Fixes bug #11498.
2019-02-26 16:53:14 +01:00
Kornel Benko
babb291ef3 FindAdv: Partially revert e69f7022
The slowness returns, but the search works again
2019-02-26 13:24:36 +01:00
Richard Kimberly Heck
5b959033d2 Fix bad error message (bug 11486). 2019-02-25 21:56:40 -05:00
Jean-Marc Lasgouttes
4028eefe61 Make callstack printing useful and optional
When callback printing is enabled, link lyx with -rdynamic, so that
stacks have LyX symbols available.

Add option --disable-callstack-printing to configure.

Running "size" on binary:
 * with callstack printing support
   text	   data	    bss	    dec	    hex	filename
20891684	  34680	 107796	21034160	140f4b0	src/lyx

 * without callstack printing support
    text	   data	    bss	    dec	    hex	filename
17953640	  34648	 107796	18096084	1141fd4	src/lyx
2019-02-25 17:58:06 +01:00
Jean-Marc Lasgouttes
bc128e7bf8 Use range-based loops in BufferList 2019-02-25 15:19:58 +01:00
Jean-Marc Lasgouttes
7f0525e9e0 Change the way scrolled rows are tracked
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.
2019-02-25 15:19:58 +01:00
Kornel Benko
e69f702275 FindAdv: Fix #11496 -- too slow find
Also added some more macros to handle
2019-02-25 12:12:19 +01:00
Jean-Marc Lasgouttes
ab02a907f0 Move some TextMetrics code around.
No change intended.
2019-02-25 11:58:50 +01:00
Kornel Benko
6a6b670bbd FindAdv: Correctly match '\[' and '\]' in regular expressions with format enabled
We have to check for instances of '{[}' and '{]}' and
omit removing the enclosing parentheses
2019-02-23 13:11:34 +01:00
Kornel Benko
44a06adb6c 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.
2019-02-22 13:21:23 +01:00
Kornel Benko
01fd1f7679 FindAdv: Discard \parbox, \input macros
The languge of these macros does not matter. What's more,
without removing them we may obtain wrong matching.
2019-02-21 20:32:08 +01:00
Kornel Benko
8a0db92523 FindAdv: Handle \shortcut
Essentially remove the header and handle the language inside
\shortcut{...} appropriately
2019-02-21 14:45:41 +01:00
Jean-Marc Lasgouttes
9bdc0dab31 Honor Update::SinglePar properly
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.

Update PAINTING_ANALYSIS.
2019-02-20 14:41:22 +01:00
Kornel Benko
a298fc55d9 FindAdv: Added handling for latex environments
1.) Make sure the environment is mentioned in the string for search
  (Added the keyword \latexenvironment{...})
2.) Handle it similar to \textcolor{}

That way we can also search for 'conclusion*' or 'summary' etc
in Additional.lyx.
2019-02-20 14:14:50 +01:00
Kornel Benko
0a2dda0904 Findadv: Added handling for frontmatter macros
title, subtitle, author etc.
2019-02-19 23:11:09 +01:00
Enrico Forestieri
c3b9504835 Fix bug #11490
Correctly add the branch name suffix when the stem
of the filename contains a dot.
2019-02-19 19:51:11 +01:00
Jean-Marc Lasgouttes
2ae51b947b Rename TextMetrics::dimension() to dim() 2019-02-19 18:04:43 +01:00
Jean-Marc Lasgouttes
91fc45ed35 Do not use trailing underscore for local variable 2019-02-18 16:04:15 +01:00
Jean-Marc Lasgouttes
4c90183e4d Remove unused method 2019-02-18 16:03:38 +01:00
Jean-Marc Lasgouttes
a04b5c3965 Rename Row::dimension() to dim()
This is what is done elsewhere.
2019-02-18 15:47:27 +01:00
Jean-Marc Lasgouttes
10e2c65835 Let tm be a reference here as elsewhere 2019-02-18 15:47:27 +01:00
Jean-Marc Lasgouttes
26ad2c6a67 Do a round of DEPM after changing layout 2019-02-18 15:36:21 +01:00
Jean-Marc Lasgouttes
386a347484 DEPM: allow to delete empty paragraphs after deleting extra spaces
Remove return statement when spaces have been deleted.

Add an early return in part 2 when current paragraph is not empty.

Remove some comments that concern things that are OK now.
2019-02-18 15:36:21 +01:00
Jean-Marc Lasgouttes
aaab1ad65d DEPM: do not strip explicitly leading spaces
For the local version of DEPM, only what was around old cursor should change

For the global version, leading spaces are already handled.
2019-02-18 15:36:21 +01:00
Jean-Marc Lasgouttes
1f1a1b0dc7 DEPM: replace loop by existing method 2019-02-18 15:36:21 +01:00
Jean-Marc Lasgouttes
b59b968c3e DEPM: reorganize a bit (no change intended)
Exit early if the cursor has not moved.

Place comments where they belong.
2019-02-18 15:36:21 +01:00
Jean-Marc Lasgouttes
2dc62d0405 DEPM: handle undo when deleting spaces
Also, do not do any DEPM when the buffer is read-only.
2019-02-18 15:36:21 +01:00
Juergen Spitzmueller
dbe963a1ef Fix copy/paste error spotted by coverity. 2019-02-18 15:14:16 +01:00
Jean-Marc Lasgouttes
c521e3e1de Initialize member
Spotted by coverity
2019-02-18 15:10:30 +01:00
Juergen Spitzmueller
71737b87f9 Basic support for biblatex-chicago
This uses a specific wrapper package that must be loaded instead of
biblatex.

Via "Requires biblatex-chicago", this is now possible.

For proper support, a citeengine file needs to be written

This commit here could also be backported to stable.
2019-02-18 13:14:53 +01:00
Kornel Benko
96ca66d664 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
2019-02-18 00:40:55 +01:00
Kornel Benko
dfbe29317d FindAdv: Even more fine tuning 2019-02-16 18:39:10 +01:00
Kornel Benko
faf7f0666f FindAdv: More fine tuning 2019-02-13 13:41:57 +01:00
Kornel Benko
8d752b68e9 FindAdv: Fine tuning 2019-02-12 14:21:14 +01:00
Günter Milde
296bafa928 Update comment. 2019-02-12 09:30:48 +01:00
Günter Milde
7a17610a00 Load "textcomp" and "pmboxdraw" before "(lua)inputenc" to fix #11454.
Prevents wrong or missing characters with LuaTeX and 8-bit fonts.

Also "uninvert" the corresponding test case and two other
no longer failing "unicodesymbols" exports.
2019-02-12 09:22:55 +01:00
Kornel Benko
a47dbed6bd 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.
2019-02-11 13:13:28 +01:00
Jean-Marc Lasgouttes
2215f4c2b4 Fix Visual C++ warnning 2019-02-11 10:44:13 +01:00
Kornel Benko
f19bd163de 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
2019-02-10 18:00:55 +01:00
Günter Milde
7bbf333fa1 Don't switch encodings to/from CJK if the document encoding is using the CJK package.
Also, since we return earlier if the document encoding is an utf8-variant
since fc0ab1283, the wrapper around "setEncoding" is no longer required.
2019-02-09 20:42:24 +01:00
Kornel Benko
7fa1244dd8 Findadv: Add handling for powerdot macros
With format enabled, these macros were hard to process:
	lyxslide, twocolumn
2019-02-07 13:35:47 +01:00
Jean-Marc Lasgouttes
e203bf519b Fix algorithm for finding localized files
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.
2019-02-06 15:53:47 +01:00
Günter Milde
426ed23ec0 Fix CJK preamble.
Don't load the CJK package with utf8x (feature clash).

Load CJK (not CJKutf8) with traditional Chinese and "language-default".
2019-02-05 20:29:10 +01:00
Scott Kostyshak
591ee36df0 Comment: add matching parenthesis 2019-02-05 13:42:08 -05:00
Enrico Forestieri
26c692a0c8 Use braces for listings caption
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.
2019-02-05 19:04:12 +01:00
Jean-Marc Lasgouttes
5e4fd6c796 DEPM: fix infinite loop. 2019-02-05 11:52:17 +01:00
Günter Milde
fc0ab1283c 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.
2019-02-05 11:31:27 +01:00
Günter Milde
32e4a85e43 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.
2019-02-05 11:25:33 +01:00
Kornel Benko
50550a215f 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.
2019-02-05 08:04:47 +01:00
Jean-Marc Lasgouttes
051b6ce68a Do not rely on x_ when painting label
Additionally fixes a warning about unused value (from clang-analyzer).
2019-02-04 12:15:21 +01:00
Enrico Forestieri
6316b9b7ae Fix bug #11484
When splitting parameters at commas, take into account that
commas inside curly braces are not parameter separators.
2019-02-04 10:49:02 +01:00
Jean-Marc Lasgouttes
c00234503f Fix DEPM at end of paragraph
Remove special handling of spaces at end of paragraph. Now they are
handled like interword spaces by both DEPM methods.

Fix off-by-one error in loop when testing for end of paragraph.

Style: use Dociterator::lastpos() instead of Paragraph::size().

Part of bug #11412.
2019-01-30 23:50:53 +01:00
Günter Milde
319a986fc0 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.
2019-01-30 15:14:45 +01:00
Juergen Spitzmueller
c2db448ff5 ? and = must not be percent-encoded in hrefs
Fixes: #11482
2019-01-29 14:50:06 +01:00
Jean-Marc Lasgouttes
5c380dcc73 DEPM: some factorization beween both versions
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.

Part of bug #11412.
2019-01-29 14:42:13 +01:00
Günter Milde
62865d190d Fix CJK environment nesting issue.
If the last paragraph is nested in an environment,
we'll have to \end that first.
2019-01-28 23:02:33 +01:00
Günter Milde
34f5ba3c54 Fix for CJK-documents with input-encoding "utf8". 2019-01-28 17:49:58 +01:00
Günter Milde
7da76b1b9f Load CJK support package before font selection. 2019-01-28 17:26:52 +01:00
Jean-Marc Lasgouttes
4435be026e Take care of spaces tracked as inserted in depm
When there are Change::INSERTED spaces in the range of consecutive
spaces to delete, it is better to remove them first.

Part of bug #11412.
2019-01-28 10:25:55 +01:00
Juergen Spitzmueller
a936bc2df5 Do not check for duplicates when pasting a label into a non-outputting inset.
Issue mentioned at #10333
2019-01-25 14:40:30 +01:00
Günter Milde
5ebc0b3f43 Fix second part of #5386.
A \clearpage command issued right before \end{CJK} is recommended by the
package author to prevent any un-processed CJK chars outside the
\begin{CJK} and \end{CJK} scope. Otherwise, TOC, header, footer,
and may contain CJK chars but get processed outside the CJK environment scope.

Tha new dedicated export test fails without the fix.
2019-01-24 14:40:19 +01:00
Günter Milde
197735747e Support for documents in other scripts with parts in CJK scripts.
Fix CJK support for documents using input-encoding "utf8-cjk"
when the main language is not Chinese, Korean, or Japanese.
2019-01-24 00:40:51 +01:00
Richard Kimberly Heck
7f8cfde2e7 Add spaces. Thanks, Kornel. 2019-01-19 22:05:47 -05:00
Richard Kimberly Heck
b804e8851c Rename emergency file when it is kept.
Otherwise, we will ask about it again next time, when the file
may have changed. Also, if we crash again, we'll over-write that
file, which we may not want to do.

See bug #11464.
2019-01-17 23:00:23 -05:00
Jean-Marc Lasgouttes
66a3d64346 Try to compute row height like it should be done
Currently, our computation of row height is not completely standard:
* we ignore completely the QFontMetrics::leading() parameter

* we add arbitrarily 2 hardcoded pixels to the height.

This patch reverses these two choices, which leads to
* slightly larger spacing for MinionPro (which has a big leading).

* an additional spacing of 20% font height that depends on dpi and zoom.

Visual inspection with LibreOffice seems to imply that it disregards
the font leading but uses a interline which is 20% larger than the
font height.
2019-01-16 11:04:53 +01:00
Jean-Marc Lasgouttes
7848d3c90c Allow to type a space in front of another one
This is a follow-up to 714b731e. This fixes the issue when the cursor
is in front of a space
  abc| def
and one inserts another space (to start a word). DEPM would eat one
space and produce
  abc |def
instead of
  abc | def

Additionally, fix the same_par boolean, wheich did not take the cell
index into account.

Related to ticket #11412.
2019-01-14 16:41:12 +01:00
Juergen Spitzmueller
cd6229ee5c Fix copy-paste error 2019-01-13 11:38:28 +01:00
Juergen Spitzmueller
143703f927 Amend 7b639d2db2
Not the (ASCII) encoding matters here, but the (TU) font encoding.
2019-01-13 11:25:17 +01:00
Juergen Spitzmueller
7b639d2db2 Script wrapper is needed with ASCII encoding 2019-01-12 18:45:41 +01:00
Enrico Forestieri
ad0c9a548b Remove PYTHONPATH from the environment on Windows
This make sure to use the the modules distributed with LyX,
avoiding reconfigure failures.
2019-01-12 18:37:41 +01:00
Enrico Forestieri
472bdf5910 Replace environment variables in PATH prefix
The PATH prefix modified through the GUI was set without
replacing embedded environment variables. This might have
caused problems on Windows with external python installations.
2019-01-11 18:15:40 +01:00
Juergen Spitzmueller
ead498f0a6 Add support for U+2693 (ANCHOR)
Fixes: #10706
2019-01-11 16:42:08 +01:00
Jean-Marc Lasgouttes
edb46d2a94 Fix alignment of rows when text width is variable
When several lines of text are in the same variable-width tabular
cell, it is not possible to align properly the rows until the cell
width is known.

Therefore a parameter is added to redoParagraph to skip this
computation, so that it can be done later in TextMetrics::metrics.
Other calls to redoParagraph in the code are not affected. It is not
clear at this point whether they may create artefacts.

computeRowMetrics has been renamed to setRowAlignment to better
reflect its use.

Fixes bug #11447.
2019-01-11 16:23:05 +01:00
Juergen Spitzmueller
f6a77d5d82 "Script chars" also need to be output as macro with full utf8 engines and TeX fonts
Fixes rest of #9681
2019-01-11 10:08:49 +01:00
Richard Kimberly Heck
6848dbfd2b Remove empty file discovered by Kornel.
Looks like an accidental commit.

> git log GuiGraphicsUi.h
commit a1cec91afa
Author: André Pönitz <poenitz@gmx.net>
Date:   Fri Aug 31 05:53:55 2007 +0000

    move our stuff off the Q* namespace

    git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@19935 a592a061-630c-0410-9148-cb99ea01b6c8

That's all a rename, basically. The original file, QGraphicsUi.h, was commited at 12e5a52b92, and it was empty then, too.
2019-01-10 13:23:33 -05:00
Günter Milde
41055bab88 Fix handling of Thai tis620-0 input encoding.
The Thai tis620-0 input encoding is supported via the inputenc "plug in"
(data) file tis620.def from https://ctan.org/pkg/babel-thai.

We can handle it like the other contributed input encodings, e.g.,
Greek (ISO 8859-7) and the several Cyrillic encodings from
http://www.ctan.org/pkg/latex-cyrillic.

Under TeXLive 2018, the input encoding defaults to utf8, if there is no call to
inputenc. The added test file fails without the patch but compiles fine, if the
file "tis620.def" is present in the TEXPATH.
2019-01-09 09:23:16 +01:00
Juergen Spitzmueller
9982651fd6 CJKutf8 is only to be used with the dedicated utf8-cjk encoding 2019-01-09 08:29:41 +01:00
Juergen Spitzmueller
52371c969b Improve readability
No functional change.
2019-01-07 17:02:06 +01:00
Jean-Marc Lasgouttes
4bc8e90c25 use range-based for loops 2019-01-07 15:33:45 +01:00
Juergen Spitzmueller
9d20bc4e98 When using polyglossia (bidi), paragraph directions don't need to be swapped
Bidi does that.

Fixes: #11399
2019-01-07 13:54:23 +01:00
Richard Kimberly Heck
d6b4db1a4f Remove now unused routine. 2019-01-06 17:50:14 -05:00
Richard Kimberly Heck
c4fdab6993 Use combo box data rather than looking up info from InsetRef. 2019-01-06 17:46:40 -05:00
Richard Kimberly Heck
b35d90014e Add comment. 2019-01-06 13:02:40 -05:00
Richard Kimberly Heck
b91e2b9998 Remove debugging code. 2019-01-06 13:00:21 -05:00
Richard Kimberly Heck
9b3f9cc687 Fix problem caused by re-ordering of menu at 5f6332bf4.
This broke the activation and de-activation of plural, capitalize,
etc. I guess that tells us how much those get used....
2019-01-06 12:52:44 -05:00
Juergen Spitzmueller
c9dd349bee Don't output CJK environment with non-TeX fonts
This amends d193cd05a8.
2019-01-06 16:40:36 +01:00
Juergen Spitzmueller
d193cd05a8 Properly implement CJKutf8
If we use that, the document actually needs to be in utf8 encoding, and
the CJK environment needs to account for it.

Candidate for stable.
2019-01-06 14:36:11 +01:00
Enrico Forestieri
7296e0e6ba Avoid crash with gzipped file
In computing the length of the extension, the code does not account
for the prefix "unzipped_", which is added when the zipped filename
does not have one of the extensions "gz", "z", "Z", or "svgz", and
thus the used index is out of bounds. See also this thread:
https://www.mail-archive.com/lyx-devel@lists.lyx.org/msg207360.html
2019-01-05 19:17:37 +01:00
Jean-Marc Lasgouttes
5fc035f99c Fixup 5c1d65af: proper spacing between text and label in rtl
Fix bug #11425.
2019-01-04 17:13:10 +01:00
Jean-Marc Lasgouttes
5c1d65afee Fix drawing of labels in insets
In many cases, the origin xo_ of insets was forgotten.

Fixes bug #11425.
2019-01-04 17:06:49 +01:00
Jean-Marc Lasgouttes
a69e01d0b4 Avoid crash when using inset-select-all in tabular
When changing cell idx, it is important to set the pit to a reasonable
value.
2019-01-04 13:57:13 +01:00
Jean-Marc Lasgouttes
f97c11f4e9 Remove unused mathod (CursorSlice::at_cell_end is the same) 2019-01-04 13:55:57 +01:00
Juergen Spitzmueller
35534231d4 Always update bibfiles cache with bibliography environment before opening citation dialog
We need to do this unconditionally, since there is no (trivial and non-
awkward) way to update it when the bibliography paragraphs are modified.

Fixes: #4899
2019-01-04 13:01:03 +01:00
Richard Kimberly Heck
ba8cf1a50b Also pay attention to OutputParams::free_spacing. 2019-01-03 19:16:48 -05:00
Richard Kimberly Heck
6135824f40 Fix bug #11432.
Take account of Layout::free_spacing.
2019-01-03 19:13:43 -05:00
Jean-Marc Lasgouttes
d8498d4785 Fix vertical offset of fonts like MinionPro
For some reason, adding a LTR/RTL Override unicode character before a
MinionPro string increases the ascent of the line.

This creates vertical offset issues when painting if the ascent used
as reference is the one of the font. Use the QTextLine ascent instead
for better results.

This is a followup to 1bed76e2a.

Fixes (reopened) ticket #11284.
2019-01-03 12:19:47 +01:00
Juergen Spitzmueller
62f8b8beb9 Update tex2lyx tests 2019-01-03 12:00:23 +01:00
Jean-Marc Lasgouttes
c8f4b68423 Add override statements to please clang
Eventually, all overridden virtual methods should be marked properly.
Currently, clang only warns about those in classes that already use
override in at least one place (which was the case dor GuiApplication).
2019-01-02 18:49:23 +01:00
Jean-Marc Lasgouttes
fba9f5b9e8 Remove premature (and bad) optimization
When blinking the caret, it looks like a cool idea to only update the
small rectangle containing the caret. Actually it is an awful idea, since
the paint event will paint some rows, and these rows will not be
properly painted outside of the small rectangle. Unfortunately, the
painter will skip those "painted" rows on next paint events.

This leads to painting errors that depend on the ordering of "real"
and "caret" paint events. This is the reason why they only appeared
with split screens.

Quote of the day: ``The real problem is that programmers have spent far
too much time worrying about efficiency in the wrong places and at the
wrong times; premature optimization is the root of all evil (or at
least most of it) in programming.''
-- Donald Knuth, The Art of Computer Programming.

Fixes bug #11354.
2019-01-02 18:36:02 +01:00
Enrico Forestieri
9755371729 Fix conversion of math braces to html 2019-01-02 09:49:59 +01:00
Juergen Spitzmueller
8f332f4429 Fix Include dialog UI
#11443
2019-01-02 09:19:45 +01:00
Enrico Forestieri
b3cba2a09c Amend [2dcb7300/lyxgit]
Avoid a crash by checking that a cell is not empty before
accessing its content.
2019-01-02 09:08:39 +01:00
Juergen Spitzmueller
1db5abbfbd Mark labels in non-outputting insets as inactive.
Fixes: #11437
2018-12-31 18:32:38 +01:00
Juergen Spitzmueller
e61c60fae8 Add inactive labels to the toc
It makes sense to navigate to them.

They are marked as inactive with the cross.
2018-12-31 18:30:20 +01:00
Juergen Spitzmueller
54366c38ef Fix gotoLabel with inactive labels
This now frist looks for the active label. Only if none is found, it
jumps to the (first) inactive label.
2018-12-31 18:28:44 +01:00
Juergen Spitzmueller
5afacb144d Separate LabelCache from RefCache
We only assign references to label _string_. Which inset this corresponds
to will be decided in context.
2018-12-31 18:27:34 +01:00
Juergen Spitzmueller
48c6d5de21 typo 2018-12-31 14:19:06 +01:00
Juergen Spitzmueller
5cfd256974 When checking inset activity status, also check containing insets
which could be deteled
2018-12-30 18:27:28 +01:00
Juergen Spitzmueller
e8c1cb5074 Expand comment 2018-12-30 13:24:51 +01:00
José Matos
8663a371f3 Merge branch 'master' of git.lyx.org:lyx 2018-12-29 19:24:59 +00:00
José Matos
3f03f0a447 Move all python shebangs from /usr/bin/env to python3.
The change is only relevant to development as all the call to python scripts is done
calling C++ os::python that invoques the appropriate python version.

The change is two fold, on one hand remove all the uses of /usr/bin/env for python.

On the other hand rename all the calls to python from python to python3 making it explicit
and being compliant with PEP 394 -- The "python" Command on Unix-Like Systems:
https://www.python.org/dev/peps/pep-0394/

Remove the sheebang from src/graphics/GraphicsConverter.cpp because it is not necessary.

Some small whitespace changes.
2018-12-29 19:14:41 +00:00
Enrico Forestieri
69726b832b Fix bug #4269
Call gunzip with quoted filenames as they may contain spaces or
other special characters.
2018-12-29 20:11:56 +01:00
Juergen Spitzmueller
c457ea90e7 micro amendments 2018-12-29 17:53:21 +01:00
Pavel Sanda
33284ee5c8 Completion popup menu did not respond to Esc.
https://www.mail-archive.com/lyx-devel@lists.lyx.org/msg207346.html
2018-12-29 14:36:38 +01:00
Juergen Spitzmueller
da273a944f Fix some parsing glitches in Autonest and IsAutonestedBy
Layouts can have spaces, underlines (that must be read as spaces, and
be enquoted)

Candidate for stable
2018-12-29 13:36:39 +01:00
Juergen Spitzmueller
59d73f52b8 Do not auto-insert separator for keepempty layouts
Candidate for stable
2018-12-29 13:35:39 +01:00
Juergen Spitzmueller
a67c541d6b Fixup LocalLayout ui after [3847e0ef/lyxgit] 2018-12-29 11:47:37 +01:00
Juergen Spitzmueller
a550a613e8 Some minor amendments to [3ae6bff538/lyxgit] 2018-12-29 10:26:28 +01:00
Juergen Spitzmueller
3ae6bff538 Do not consider deleted labels in ambiguity check
This adds a new (boolean) parameter "active" to the label cache, where
we track whether a label is deleted in ct mode (the same could be done,
if wanted, for labels in notes and inactive branches).

Deleted (inactive) labels are neither considered in the uniqueness check
nor added to the outliner. This also means that undeleted references to
deleted labels are now (correctly) marked as BROKEN.

Fixes: #6563
2018-12-29 10:08:02 +01:00
Richard Kimberly Heck
ac3693c04f Fix bug #11422.
We need to load the master document before applying the params, since
otherwise the TOC reset (and other things) happen before the master
has been loaded (and set as parent).
2018-12-29 00:23:26 -05:00
Juergen Spitzmueller
254affa0b9 Fix regression introduced in a65f1e54dc 2018-12-28 17:25:53 +01:00
Scott Kostyshak
c5301a6495 Fix assertion when checking if change in selection
The check for the iterator being in the same paragraph as the end of
selection was incorrect, because paragraphs in different cells could
have the same pit. We now additionally condition on having the same
idx.

This commit amends d1279875 (and thus 23de5e5e).

For discussion, see:

  https://www.mail-archive.com/search?l=mid&q=a5afd0c01a0eb9a84fd4d050d15eb23016d6f38a.camel%40lyx.org

Thanks to Jürgen.
2018-12-28 10:46:30 -05:00