Commit Graph

25996 Commits

Author SHA1 Message Date
Juergen Spitzmueller
7e2a424621 tex2lyx: cleanup font handling 2019-07-16 10:32:24 +02:00
Juergen Spitzmueller
f1d946bf32 tex2lyx: support for Fira fonts 2019-07-15 14:03:08 +02:00
Jean-Marc Lasgouttes
732395ef1e Add support for amsmath's smallmatrix
This is a tight matrix in script size that is suitable for using inline.

Patch from our own Martin Vermeer and myself.
2019-07-15 13:38:07 +02:00
Jean-Marc Lasgouttes
009e7a61bb Fixup ee0bd36a86: only clear margins when needed
The old code would erase text around inline math.

Related to #11333.
2019-07-15 13:06:09 +02:00
Juergen Spitzmueller
0d86faee2d Update tex2lyx tests 2019-07-15 08:23:42 +02:00
Juergen Spitzmueller
b50336c0b0 tex2lyx: support cantarell font 2019-07-15 08:10:47 +02:00
Jean-Marc Lasgouttes
ca5cac2b51 When pasting several cells in mathed, take cursor position in account
Related to bug #11390
2019-07-15 01:20:08 +02:00
Jean-Marc Lasgouttes
ee0bd36a86 Add empty rows to grid insets when numbers are too wide
This is done to ensure that numbering never overlaps equations. The
result can be different according to the bufferview, which is why
RowInfo::offset is now a std:map.

Remaing issues (how bad are theese ?):

- the numbering is considered too large when it overlaps the inset
  rect, whereas one could consider the width if the current row
  instead.

- previews may need to be adapted similarly to fit the whole screen width
2019-07-14 23:27:44 +02:00
Jean-Marc Lasgouttes
dea245d540 Draw display math numbering outside of inset
This is the first (easiest) step in fixing bugs 10668 and 11333.

The numbering is now drawn outside of the insets, which solves the
alignment problems and make editing easier.

What does not work yet:

- long labels will overwrite equations. To fix this, we need to
  implement the same algorithm as LaTeX and put labels on their own
  row when required.

- previews may need to be adapted similarly to fit the whole screen width
2019-07-14 23:27:44 +02:00
Jean-Marc Lasgouttes
e6b54ea4d2 Fix assertion in caret display code
It is not a good idea to call caretPosAndHeight when the caret is in a
paragraph that is not in cached metrics. This can happen when not
using "cursor follows scrollbar".

This commit refactor things a bit so that testing is done in
BufferView.

This bug is not in 2.3.x.
2019-07-14 23:27:44 +02:00
Kornel Benko
97a099b137 Add sans serif font "cantarell" 2019-07-14 21:44:58 +02:00
Jean-Marc Lasgouttes
ed856c9f4d Make some InsetMathGrid members private
Also remove the trailing underscore of XXXInfo members, since they are
not private in essence.

No intended behavior change.
2019-07-14 17:45:03 +02:00
Juergen Spitzmueller
2e72ed3e2c tex2lyx: support all MoreOpts 2019-07-14 15:29:18 +02:00
Jean-Marc Lasgouttes
4cc4663262 Replace MathData::kerning_ member by a function
This allows to make kerning depend on the BufferView? This is not
useful right now, but may become useful for multimonotor setting with
different dpi.
2019-07-14 14:45:36 +02:00
Juergen Spitzmueller
dc4a015fba Remove debug code 2019-07-14 12:04:53 +02:00
Juergen Spitzmueller
3c7ede3e9b update tex2lyx tests 2019-07-14 11:45:11 +02:00
Juergen Spitzmueller
dcf06fdb22 Split osf options to families
Nowadays we support sf and tt fonts with osf options, so this needs to
be selectable separately.

File format change.
2019-07-14 11:41:36 +02:00
Juergen Spitzmueller
c4e90cec86 tex2lyx: lineno support 2019-07-14 09:41:17 +02:00
Juergen Spitzmueller
509551cae0 More osf (texfont) fixes 2019-07-14 09:09:46 +02:00
Juergen Spitzmueller
27e0279e24 tex2lyx: extend support for some osf fonts. 2019-07-13 17:46:43 +02:00
Jean-Marc Lasgouttes
575761c665 Use backing store also with wayland platform
Like with macOS, the Wayland compositor seems to require a
backingstore when doing partial updates like we do.

This extends the mechanism that has been introduced for macOS. This
has to be done at run time, not compile time.
2019-07-13 16:23:57 +02:00
Juergen Spitzmueller
db638018d9 tex2lyx support for MoreOptions in IBM Plex and Noto, support Adobe Source fonts at all 2019-07-13 15:44:52 +02:00
Juergen Spitzmueller
e0578e4d61 More MoreOpts fixes 2019-07-13 15:33:20 +02:00
Juergen Spitzmueller
0738ff08ba Consider CompleteFont with MoreOptions 2019-07-13 14:55:07 +02:00
Juergen Spitzmueller
003d675c2f Use \babelfonts only if babel >= 3.15 is available. 2019-07-13 08:42:42 +02:00
Jean-Marc Lasgouttes
5e33e4fc2c Catch improbable exception
We know that the exception is correct, but coverity does not.
It would be much better to check that at compile time...
2019-07-13 00:24:21 +02:00
Jean-Marc Lasgouttes
ca217fbfaa Check regex_match result when parsing cvslog
Spotted by coverity.
2019-07-13 00:10:32 +02:00
Günter Milde
130c744069 Drop support for XeTeX + TeX fonts + inputenc utf8.
LyX follows LaTeX in dropping support for this combination
(it only worked by tricking "inputenc.sty").
There is no known case where this combination is required or helpfull.

For power users with special needs, XeTeX + TeX fonts is still
available after setting the input encoding to "ascii" or "utf8-plain".

See also #10600.
2019-07-12 12:56:20 +02:00
Richard Kimberly Heck
6960bab65c Fix bug #11612.
Register verbatim includes with the outliner.
2019-07-11 16:21:38 -04:00
Richard Kimberly Heck
83afe8aa19 Shorten labels. 2019-07-11 16:21:38 -04:00
Juergen Spitzmueller
41a705b055 update tex2lyx tests 2019-07-11 20:34:47 +02:00
Juergen Spitzmueller
c3c2815092 Implement support for font options
This revives a patch by Uwe and extends it. Additional options to font
packages/fontspec can now be entered in Document Settings.
This is principally also true for TeX fonts, if the new TeXFont tag
MoreOptions is set. For the time being, I have only done this for
MinionPro, as a model and prove of concept.

Note that adding more TeXFonts requires a file format change,
respectively, and changes to tex2lyx (in the same way as I've done for
MinionPro).

This addresses #8226
2019-07-11 20:28:34 +02:00
Juergen Spitzmueller
9ca2f90bf5 Update tex2lyx tests 2019-07-11 13:24:56 +02:00
Juergen Spitzmueller
cb5bd87e9c Add support for \babelfont
This is a higher-level (non-TeX) font interface of babel that draws on,
but is supposed to be used rather than, fontspec with babel and XeTeX/
LuaTeX.

File format change.

Addresses: #11614
2019-07-11 13:21:32 +02:00
Juergen Spitzmueller
0018e4ec96 Fix indentation 2019-07-11 11:32:59 +02:00
Juergen Spitzmueller
04bd57a86a Factor out test for bidi package (= XeTeX + polyglossia) 2019-07-11 10:31:10 +02:00
Juergen Spitzmueller
1d0929b5d9 Proper number ordering with luabidi
As opposed to bidi (XeTeX), luabidi (LuaTeX) does no automatic reordering,
so we need to use \\LR{}
2019-07-11 09:54:28 +02:00
Juergen Spitzmueller
d3aa102260 Brackets reversion differs in luabidi (LuaTeX) from bidi (XeTeX)
This amends [195f62ac93/lyxgit]
2019-07-11 08:25:18 +02:00
Juergen Spitzmueller
6f8db58778 LuaTeX (luabidi) does not swap table columns
This amends [21b347a2f8485/lyxgit].
2019-07-10 22:57:34 +02:00
Juergen Spitzmueller
a95339c6e1 LuaTeX (luabidi) does not correct directions
This amends [9d20bc4e98/lyxgit].
2019-07-10 19:10:16 +02:00
Juergen Spitzmueller
b6f0c1de3d Fix right and left layout alignment (in workarea) with RTL
Fixes: #11606
2019-07-10 14:50:08 +02:00
Jean-Marc Lasgouttes
7ad7698692 Fixup c349472d: Remove unused private field
Spotted by coverity.
2019-07-09 15:15:07 +02:00
Juergen Spitzmueller
623f7b4795 Truncate long citation label in the middle rather than the end.
Fixes: #10769
2019-07-09 14:48:11 +02:00
Juergen Spitzmueller
52fffee7f2 Preserve star on citation style change via menu
Fixes: #11439
2019-07-09 10:47:18 +02:00
Juergen Spitzmueller
13b6632228 Add TextClass option BibInToc
Fixes #1889
2019-07-08 15:40:17 +02:00
Richard Kimberly Heck
d96a9aa37f Fix bug #10091.
See the discussion. The decision was just to keep re-trying for a
bit, since the lock preventing us from removing the old file seems
to clear after a bit.
2019-07-07 13:13:52 -04:00
Juergen Spitzmueller
d876319e85 \detokenize paths containing ~ 2019-07-07 10:32:06 +02:00
Richard Kimberly Heck
f17e868e65 Whitespace 2019-07-06 15:19:51 -04:00
Richard Kimberly Heck
45f0fae10c Fix some nullptr warnings. 2019-07-06 15:16:02 -04:00
Juergen Spitzmueller
bf6a7dc38f Fix nomencl generation with LuaTeX
Fixes: #11571
2019-07-06 15:15:06 +02:00
Jean-Marc Lasgouttes
5a22b2e391 Fixup 17571104: really avoid empty numbers in toc
For some reason, I missed this one when trying to fix the bug.

Fixes bug #11423.
2019-07-01 12:05:31 +02:00
Jean-Marc Lasgouttes
455f10eae7 Revert "backing store"
This is not ready yet.

This reverts commit 1a2b1a3bfa.
2019-07-01 10:38:16 +02:00
Juergen Spitzmueller
6c7c6e580f tex2lyx: add general TODO item 2019-06-30 16:14:24 +02:00
Juergen Spitzmueller
bda3b6d07e [2.3 cand.] Fix import of custom float definitions
Candidate for stable
2019-06-30 11:13:20 +02:00
Juergen Spitzmueller
63492d4efa Cleanup TODO 2019-06-30 10:58:49 +02:00
Jean-Marc Lasgouttes
e485102ef2 For python 3 require at least 3.5
This handles configure.ac and os::python23. What remains to be done is cmake.
2019-06-28 00:06:28 +02:00
Juergen Spitzmueller
cd5c406d9a More localization fixes 2019-06-26 12:25:53 +02:00
Juergen Spitzmueller
c703f76fe1 legacy > traditional 2019-06-26 11:14:59 +02:00
Juergen Spitzmueller
a62c4252ab Flag GUI strings for translation
Still room for improvement
2019-06-26 11:04:56 +02:00
Juergen Spitzmueller
0a8294d426 Improve encoding GUI string 2019-06-26 08:57:05 +02:00
Jean-Marc Lasgouttes
1a2b1a3bfa backing store 2019-06-25 12:39:32 +02:00
Isaac Oscar Gariano
4c587fb9da Make autocorrect have priority.
Place autocorrect at the top of `InsetMathNest::interpretChar`,
ensuring that any autocorrections that trigger on special characters
(such as '^' or '~') work. In particular, you can now make an
autocorrection from "<~" to "\preceq"!
2019-06-25 12:27:28 +02:00
Juergen Spitzmueller
5cef539e8b update tex2lyx tests 2019-06-23 13:05:38 +02:00
Juergen Spitzmueller
94654b3586 Linguistics: add support for Discourse Representation Structures
File format change
2019-06-23 12:59:56 +02:00
Juergen Spitzmueller
57788b8719 Fix tooltip 2019-06-22 08:35:14 +02:00
Günter Milde
71a57e0f4d Preserve \inputencoding value when switching to non-TeX fonts.
With non-TeX fonts, the \inputencoding setting is overridden
by "utf8-plain" (pass-through). Keeping the old value allows
switching back to TeX fonts without the need to (re)set
the input encoding.

Also change back the GUI name of the "auto-legacy" setting
(cf. #11115).
2019-06-21 12:40:41 +02:00
Jean-Marc Lasgouttes
938463b5d6 Fixup 3dc54d4a: fix string encoding issues with Qt4
The culprit here is the constructor QString(QByteArray const &): in
Qt4, it would interpret the byte array as latin1, and in Qt5 as utf8.

Therefore it is safer to use explicitly QString::fromUtf8 instead of
this constructor.

Several places where additionally simplified, in order to avoid some
extra conversions.
2019-06-20 11:27:15 +02:00
Jean-Marc Lasgouttes
3a7142d9bf Fix compilation with Qt4 2019-06-20 10:48:59 +02:00
Günter Milde
5fe6bc616c Fix order of Unicode encodings in Settings combobox.
Ensure the default encoding "utf8" comes always first,
followed by other common variants.
The encodings were sorted based on the GUI name which leads to
the default setting moving from the top position in some localizations.
2019-06-19 21:09:16 +02:00
Günter Milde
53500242f9 Harmonize input encoding selection widgets.
See #11115.
2019-06-18 15:43:34 +02:00
Jean-Marc Lasgouttes
5249eaaa60 Use <cstdint> instead of <boost/cstdint.hpp>
This is mandated by C++11.
2019-06-17 16:19:31 +02:00
Jean-Marc Lasgouttes
fbe0caa483 Do not use BOOST_CURRENT_FUNCTION
There is no need to use that, since __func__ is standard in C++11.

Anyway, this code is unused unless one defines USE__func__ to something.
2019-06-17 15:57:03 +02:00
Jean-Marc Lasgouttes
2b1515a936 Rename LM_ST_* to *_STYLE and FONT_SIZE_* to *_SIZE
This makes code more uniform. This is typically something that is done
at end of cycle to limit backport issues later.
2019-06-14 17:05:49 +02:00
Jean-Marc Lasgouttes
f12e796999 Revert "Rename LM_TC_* to FONT_STYLE_*"
Got it wrong, revert for now.

This reverts commit 67215833a1.
2019-06-14 17:05:00 +02:00
Jean-Marc Lasgouttes
67215833a1 Rename LM_TC_* to FONT_STYLE_*
This makes code more uniform. This is typically something that is done
at end of cycle to limit backport issues later.
2019-06-14 16:42:02 +02:00
Jean-Marc Lasgouttes
134f3aedaf Avoid warnings with gcc 9
The warning about unneeded std::move can be solved by conditioning on
C++14 mode.

The warnings about deprecated copy is harder, so we disable it for
now. We will be able to fix our part, but Qt triggers it a lot too.
2019-06-12 18:49:29 +02:00
Jean-Marc Lasgouttes
5173f22024 Fix some warnings found by the -Wall options of autoconf and automake.
There are still warnings to address. For now, they not enabled by default.
2019-06-12 18:00:18 +02:00
Jean-Marc Lasgouttes
22f599250e Remove support for gcc 4.6
This was kept so long because of Ubuntu 12.04 LTS, but having a
not-really-c++11 compiler is not nice.
2019-06-12 15:03:18 +02:00
Günter Milde
c627507b3f Revert 051de65db and implement alternative fix for remainder of #11115. 2019-06-12 11:48:47 +02:00
Richard Kimberly Heck
acd0f2fc78 Do not show both 'hide' and 'close' options on tabs for child buffers.
We can only close it (as opposed to hide it) if it's not a child.
Part of #11331.
2019-06-10 16:47:16 -04:00
Enrico Forestieri
1cb2a443b5 Fix bug #11595
Avoid an endless loop when in the definition of a macro the macro
itself is used in the LyX representation part.
2019-06-09 22:36:59 +02:00
José Matos
ad96fd835b Divide the python detection in three functions, with a clear delegation of responsibilities
python23_call: determines if the binary given is appropriate and adds the necessary calling options

find_python_binary: get a list of candidates and choose the right one using python23_call

python: returns the name of the python interpreter that can be found on PATH, using find_python_binary
2019-06-08 12:49:30 +01:00
José Matos
02ee471d9d Move python related functions together to make it easy to read the code. 2019-06-08 12:22:26 +01:00
José Matos
35c299f86d Remove alternative operator representations (and,or) and improve comments for python binary detection. 2019-06-08 09:15:03 +01:00
Jean-Marc Lasgouttes
41c0fc171a Revert "Remove unneeded std::move"
This confuses gcc 4.9

This reverts commit 44e88a4c13.
2019-06-07 19:41:16 +02:00
Pavel Sanda
bf99ece736 Start reporting missing citations and broken references in LaTeX build.
Now we report these in the same way as LaTeX errors (but let the user to
see the result anyway). It remains to be shown much is this disturbing
to users. Generally, ignoring these is not a good idea, because they are
harder to manually spot in longer documents.

The details of reported error varies because log linebreaks at 90
induced by pdflatex make log harder to parse.
The committed code is more robust than previous, in which some missing
cits/refs with long keys would go unnoticed.

Tested on bibtex and natbib.

https://www.mail-archive.com/lyx-devel@lists.lyx.org/msg208912.html
2019-06-07 16:47:04 +02:00
José Matos
adb779a692 Change python run time detection to privilege python 3 over python 2.
This should work as before but now we also control the python version and ignore it if it is not in the supported range.
2019-06-07 15:27:25 +01:00
Jean-Marc Lasgouttes
44e88a4c13 Remove unneeded std::move
Signalled by gcc 9.
2019-06-06 15:23:42 +02:00
Jean-Marc Lasgouttes
b8b5ed8b31 Clean up Language.cpp
Use range-base for loops everywhere.

Rename languagelist to languagelist_, since it is private.
2019-06-05 16:28:37 +02:00
Jean-Marc Lasgouttes
bf88ad495c Make Word Wrap property confiurable by language
It is now possible to specify in the lib/language file whether screen
rows can be broken anywhere (CJK languages) or only at work boundary.

Set WordWrap to false for the CJK languages (notice that japanese-cjk
had been forgotten before).

Moreover, remove a test for separators in row element that was not
really helpful.

Fixes part of ticket #10299.
2019-06-05 15:50:53 +02:00
Günter Milde
051de65db9 Fix remainder of #11115.
Implement GUI suggestions from
https://www.lyx.org/trac/ticket/11115#comment:26
2019-06-05 11:18:36 +02:00
Juergen Spitzmueller
2f648cc17a small correction 2019-06-04 11:10:54 +02:00
Juergen Spitzmueller
e2f81b3a84 Rework linguistic gloss support
This now uses the new and enhanced \digloss ad \trigloss macros of
convington 2.0 rather than the deficient self-baked ones.

File format change.
2019-06-04 11:01:19 +02:00
Günter Milde
b2cee3dcc5 Support more languages (file format change).
Format incremented to 576:
Support for the document languages azerbaijani, bengali,
churchslavonic, and oldrussian.
2019-06-03 16:58:10 +02:00
Jean-Marc Lasgouttes
d02244c8fb Make caret visible inside math macros arguments
The first step is to move the MathRow cache to BufferView, alongside
coordCache. This was on the todo list anyway, since it allows to let
go the math row information when the math equation is not on the
screen anymore. With the old scheme, it would always remain in memory.

Then, when computing caret size in MathData::metrics, make sure that
the mathrow of the elements that are linearized in the MathRow object
get their caret size information initialized too.

Fixes bug #11587.
2019-06-03 16:28:16 +02:00
Juergen Spitzmueller
18ebcab403 Properly reset lineno_opts 2019-06-03 14:33:08 +02:00
Isaac
3519be2292 Removed shortcuts to toggle autocorrect.
They are not really needed now that autocorrection can be undone. This
increases autocorrect usability.
2019-06-03 11:09:09 +02:00
Jean-Marc Lasgouttes
64396717db Allow to undo partly math autocorrect
To this end, introduce Undo::splitUndoGroup, which ends currently
group and creates a new one with same nesting level.
2019-06-02 21:17:26 +02:00
Isaac
bed546d6f6 Make math autocorrrect work with more than 2 chars
Currently, math autocorrect allows to transform a couple of characters
to a new one. This patch allows to transform a couple (sequence,
character) to a new character.

No example are implemented right now. One possible idea would be
"--" + ">" => \longrightarrow
2019-06-02 21:12:12 +02:00
Juergen Spitzmueller
d2b6232ce7 Fix lineno options param
This has been written even if empty -- and thus caused reading errors.
2019-06-02 19:07:01 +02:00