Commit Graph

6920 Commits

Author SHA1 Message Date
Jean-Marc
41740ea915 Merge remote-tracking branch 'features/str-metrics'
This branch implements string-wise metrics computation. The goal is to
have both good metrics computation (and font with proper kerning and
ligatures) and better performance than what we have with
force_paint_single_char. Moreover there has been some code
factorization in TextMetrics, where the same row-breaking algorithm
was basically implemented 3 times.

Globally, the new code is a bit shorter than the existing one, and it
is much cleaner.  There is still a lot of potential for code removal,
especially in the RowPainter, which should be rewritten to use the new
Row information.

The bugs fixed and caused by this branch are tracked at ticket #9003:
http://www.lyx.org/trac/ticket/9003

What is done:

* Make TextMetrics methods operate on Row objects: breakRow and
  setRowHeight instead of rowBreakPoint and rowHeight.

* Change breakRow operation to operate at strings level to compute
  metrics The list of elements is stored in the row object in visual
  ordering, not logical. This will eventually allow to get rid of the
  Bidi class.

* rename getColumnNearX to getPosNearX (and change code accordingly).
  It does not make sense to return a position relative to the start of
  row, since nobody needs this.

* Re-implement cursorX and getPosNearX using row elements.

* Get rid of lyxrc.force_paint_single_char. This was a workaround that
  is not necessary anymore.

* Implement proper string metrics computation (with cache). Remove
  useless workarounds which disable kerning and ligatures.

* Draw also RtL text string-wise. This speeds-up drawing.

* Do not cut strings at selection boundary in RowPainter. This avoids
  ligature/kerning breaking in latin text, and bad rendering problems
  in Arabic.

* Remove homebrew Arabic and Hebrew support from Encoding.cpp. We now
  rely on Qt to do handle complex scripts.

* Get rid of LyXRC::rtl_support, which does not have a real use case.

* Fix display of [] and {} delimiters in Arabic scripts.
2014-07-25 20:10:55 +02:00
Enrico Forestieri
294d08b1bf Add forward search command for qpdfview.
Also update docs explaining how to activate reverse search in qpdfview.
2014-07-13 20:08:43 +02:00
Enrico Forestieri
d5210c555a Add some postscript and pdf viewers for Unix and Windows.
For Windows: AcroRd32 and gsview (both 32 and 64 bit versions).
For Unix: qpdfview.

Qpdfview is a nice alternative to Okular for KDE users and a superior
alternative to Evince for Gnome users, due to its complete synctex
support. It only depends on Qt libraries for the graphical interface.
2014-07-13 20:05:37 +02:00
Jean-Marc Lasgouttes
45eb314a86 Get rid of rtl_support preference
This variable was introduced to guard against any bad consequence of the then-new right-to-left
languages support. Let's be bold and get rid of it altogether!

Now right to left support is always enabled.
2014-07-09 21:11:08 +02:00
Jean-Marc Lasgouttes
9d5c947110 Remove LyXRC option force_paint_single_char
It was not honored anymore.
2014-07-08 23:12:09 +02:00
Juergen Spitzmueller
0c3b88e3cb Support for Swiss German (old spelling) 2014-07-05 13:38:55 +02:00
Georg Baum
22dcdd6d8f Fix bug #9162: Missing \use_indices
The lyx2lyx conversion for format 352 was incomplete: It should have been
added the \use_indices setting, but it relied on the fact that the default in
LyX for missing \use_indices is the same as the old format without that
setting used. However, the default might change in the future, and later
lyx2lyx conversions rely on that setting as well.
2014-07-04 19:55:44 +02:00
Juergen Spitzmueller
658edc7f43 Document pdfcomment in LaTeXConfig.lyx 2014-07-03 11:32:53 +02:00
Juergen Spitzmueller
d333d7d696 Add support for the pdfcomment package.
Fixes: #6975.
2014-07-03 11:30:56 +02:00
Juergen Spitzmueller
bdd2635ec0 Some comments 2014-07-02 14:44:38 +02:00
Juergen Spitzmueller
52c219ee29 Support for conference posters
The following poster classes are now supported:

* a0poster
* beamerposter
* sciposter
2014-07-02 14:01:28 +02:00
Juergen Spitzmueller
4a0976ceeb Add support for the sectionbox and tcolorbox packages.
They will be used by the conference poster classes that will be supported in a minute.
2014-07-02 13:48:01 +02:00
Juergen Spitzmueller
ac2d4dd7ba Babel now supports Swiss German 2014-07-02 13:19:07 +02:00
Juergen Spitzmueller
4ab4cfa690 Polyglossia now supports Austrian German 2014-07-02 13:14:11 +02:00
Scott Kostyshak
bb250e4d95 Restore compilation of AEA template for TeX Live
After the previous change this document failed to compile under
TeX Live 2013 and 2014. By using a different bib file, it
compiles. For more information, see
  https://www.mail-archive.com/lyx-devel@lists.lyx.org/msg183786.html
2014-06-27 22:42:13 -04:00
Scott Kostyshak
e76707d9d5 AEA.lyx: update format 2014-06-27 22:42:13 -04:00
Scott Kostyshak
8c5be96164 Give more tips in beamer-article.lyx 2014-06-19 01:44:15 -04:00
Pavel Sanda
0eb94a3e61 Fix license string according to http://spdx.org/licenses/.
https://www.mail-archive.com/lyx-devel@lists.lyx.org/msg184749.html
2014-06-17 09:50:28 -07:00
Uwe Stöhr
8cb15c218b French documentation files: port today's changes 2014-06-13 01:27:19 +02:00
Kornel Benko
1b3e4c73f8 Cmake tests: Added parser_tools test to the lyx2lyx group tests 2014-06-12 09:07:57 +02:00
Georg Baum
c1ac09e11f Fix bug #7954 (now really)
Thanks to maciejr we know now what the remaining problem was with bug 7954:
My unicode symbol fallback works fine, the problem was that a font named
"Symbol" is available on OS X, but it does not use the font-specific encoding
we expect: Almost all glyphs are at their unicode code point.
Therefore the bug is fixed by re-enabling the unicode workaround and blocking
the Symbol font on OS X.
2014-06-07 10:54:17 +02:00
Enrico Forestieri
00547009c2 Cleanup seminar.layout after the upgrade to format 50. 2014-05-29 22:07:37 +02:00
Georg Baum
953a4d13d9 Add missing bits of layout file format update
This is needed so that the new format number is actually used. Since the
conversion is a noop I did not update the layout files (more updates will
come).
2014-05-29 21:25:08 +02:00
Georg Baum
4e078230a0 Update layouts with separators to format 50 2014-05-29 21:22:15 +02:00
Georg Baum
1187b8834e Include lyx2lyx test in tarball 2014-05-29 15:13:59 +02:00
Georg Baum
11be833a2e Execute lyx2lyx unit test when running tests
Actually lyx2lyx has a tiny unit test. Add it to the autotools test machinery
and fix it: Since nobody knew about it the test was of course broken.
2014-05-29 14:57:05 +02:00
Georg Baum
55af9cb006 Fix the fix
MAC-style (pre-OS X) line ends were not recognized anymore
2014-05-29 14:44:38 +02:00
Juergen Spitzmueller
20bcaec061 Add layout tag that determines if/when a paragraph can be indented.
Fixes: #7327, #7458, #8670
2014-05-29 14:10:32 +02:00
Juergen Spitzmueller
06cee46d7e Add some SVG versions of self-made icons found here on my box 2014-05-29 13:32:45 +02:00
Georg Baum
c75c6e446a Do not corrupt documents without newline at EOF
trim_eol() assumes that a line always ends either with \n, \r, or \r\n.
This assumption is always valid except for the last line of a document, since it
may miss the trailing newline. LyX does not create such documents, bu they may
result from automatic creation tools, and LyX can read them, so lyx2lyx should
be able to read them as well.
2014-05-29 13:15:07 +02:00
Enrico Forestieri
0080201977 Avoid processing multiple times the same paragraph when converting latex arguments. 2014-05-29 11:05:34 +02:00
Enrico Forestieri
dbd4d781dc Fix an off-by-one error in the reversion of beamer documents. 2014-05-29 10:55:30 +02:00
Enrico Forestieri
da75d31948 Fix reversion of box insets. 2014-05-29 10:44:02 +02:00
Georg Baum
4cea2efe21 Native support for \notag
This is mainly needed to reduce the amount of ERT if you convert AMS example
documents with tex2lyx. No GUI support is needed, since \notag is equivalent
to \nonumber.
2014-05-27 22:17:35 +02:00
Georg Baum
5dc9568f8d Native support for \smash[t] and \smash[b]
This is a follow-up of bug #8967. The implementation is self-explaining, the
only part which needs a comment is lyx2lyx: Since a 100% correct solution is
not possible, it has been decided not to switch amsmath off in the forward
conversion if no other ams command than \smash[t] and \smash[b] is used, but
to consider it a bug that older versions do not load amsmath automatically for
these commands. In the backward direction it is easy to keep the document
compilable, so just do that.
2014-05-27 22:13:58 +02:00
Juergen Spitzmueller
c7eb04158f Clean up empty ERTs that are produced in comples beamer argument conversions 2014-05-25 22:46:42 +02:00
Juergen Spitzmueller
e8e75f45b9 Support spreaded argument delimiters in beamer block conversion 2014-05-25 22:42:44 +02:00
Juergen Spitzmueller
57664026f2 In collorary conversion, support argument delimiters spread over several ERTs
The roundtrip still has issues.
2014-05-25 15:08:08 +02:00
Juergen Spitzmueller
36051e1daa Fixes in the beamer block routine
This makes beamerlyxexample1 open after the roundtrip, but the file does not compile yet (remaining issues in other routines)
2014-05-25 15:00:38 +02:00
Scott Kostyshak
e716f1ef12 Add Sumatra as a PDF reader
It currently does not make a difference that it is before
Adobe Reader in configure.py because as Enrico points out
on Windows the default viewer configured in the OS is used.
2014-05-24 07:37:16 -04:00
Pavel Sanda
70ce2dffcf * Additional.lyx - note for windows git users.
https://www.mail-archive.com/lyx-users%40lists.lyx.org/msg98988.html
2014-05-21 11:12:02 -07:00
Juergen Spitzmueller
c21e51a4f9 Fix nesting in some beamer reversion methods.
Patch by Enrico
2014-05-21 11:37:51 +02:00
Juergen Spitzmueller
9b4160e0f8 Fix reversion of beamer overprint when a nested paragraph has an argument 2014-05-21 11:36:47 +02:00
Enrico Forestieri
cda00d8329 Fix reversion of beamer documents.
Beamer documents do not have a "--Separator--" layout but a
"Separator" one. Also fix a thinko causing the deletion of
"\end_layout" tags in some cases.
2014-05-19 19:39:51 +02:00
Richard Heck
72acf9fb27 Fix copy/paste error, and whitespace. 2014-05-19 09:41:05 -04:00
Richard Heck
eb26d85dc9 Add limits to searches in convert_TeX_brace_to_Argument. 2014-05-18 11:24:53 -04:00
Enrico Forestieri
3eefb8cfa6 Update documented command for running tex2lyx tests. 2014-05-12 23:54:50 +02:00
Georg Baum
ced24dea55 Fix lyx2lyx warning for tex2lyx files
I would not have thought that reLyX was considered, but not tex2lyx!
2014-05-12 22:06:24 +02:00
Georg Baum
9e5ecdcdce Update version 2014-05-12 21:53:27 +02:00
Richard Heck
62d4af2f9c Install lyx2lyx/lyx_2_2.py. 2014-05-12 09:16:31 -04:00