Commit Graph

388 Commits

Author SHA1 Message Date
Martin Vermeer
10c88aa58f Initial commit of Inkscape SVG LaTeX + PDF support
Based on Daniel Groger's work of five years ago, with minor changes

http://www.mail-archive.com/lyx-devel%40lists.lyx.org/msg169820.html

This extends the support for Xfig LaTeX + PDF to a more modern and
actively developed vector graphics editor. Embedded Objects manual
updated, also to include a workaround for an Inkscape 0.91 bug.
2016-10-04 00:01:18 +02:00
Georg Baum
df8e0ed9e0 Add xlsx format
We do already have docx, but xlsx was missing. This is a separate format
because of the MIME type. nd because some users might need converters which
can only handle one format. Now the spreadsheet template does not hide the
fact anymore that it can deal with xlsx files as well.
2016-09-05 22:52:38 +02:00
Scott Kostyshak
330e52b9cb Fix dviluatex exports of Sweave/knitr/Lily/noweb
After the fix at fe06ef0e, several converter chains to DVI
(dviluatex) were broken because they had previously gone through an
incorrect link in the chain.

This commit adds converters for the above formats to dviluatex and
fixes the following ctests:

  export/examples/Literate_dvi3_texF
  export/examples/Literate_dvi3_systemF
  export/examples/knitr_dvi3_texF
  export/examples/knitr_dvi3_systemF
  export/examples/lilypond_dvi3_texF
  export/examples/lilypond_dvi3_systemF
  export/examples/noweb2lyx_dvi3_texF
  export/examples/noweb2lyx_dvi3_systemF
  export/examples/sweave_dvi3_texF
  export/examples/sweave_dvi3_systemF
  export/templates/RJournal_dvi3_texF
2016-08-07 14:04:05 -04:00
Richard Heck
69f8ab21ef Fix typo in new dia converter. 2016-07-31 12:46:12 -04:00
Richard Heck
1840e2dbaf Enable export of spreadsheets with XHTML. 2016-07-31 01:26:15 -04:00
Richard Heck
a45ffddb23 Enable SVG export of XFig figures for XHTML. 2016-07-31 01:26:15 -04:00
Richard Heck
3f1199d56a Allow XHTML export of Dia diagrams. 2016-07-31 01:26:15 -04:00
Juergen Spitzmueller
fe06ef0e27 Correct format 2016-07-09 13:57:49 +02:00
José Matos
7848bdd4fe Fix bug #10273
Although this a problem that only manifests itself on windows the change is general
and it works anywhere.

The major change is to change the file redirection > to -o the specifies the output file.

At the same time it makes the call to lyx2lyx less cryptic, e.g. to revert to the 1.3
format we have:

\converter lyx lyx13x "python -tt $$s/lyx2lyx/lyx2lyx -t 221 $$i > $$o"     ""

now instead of
python -tt $$s/lyx2lyx/lyx2lyx -t 221 $$i > $$o

we use a call where the version to revert is explicit
python -tt $$s/lyx2lyx/lyx2lyx -V 1.3 -o $$o $$i

or we could write a longer, but more understandable form:
python -tt $$s/lyx2lyx/lyx2lyx --final_version 1.3 --output $$o $$i

FWIW I shuffled the order of the arguments just for the sake of readability,
to let $$i be the last argument.
2016-07-08 16:06:03 +01:00
Georg Baum
3420910d7b Remove asciiimage and asciixfig formats
The external templates requested conversion to these formats, but there was no
converter defined, so plain text export did fail, and there are no obvious ways
to create plain text representations for the files used by these templates.
Now we output the file name as for other templates and also the graphics inset.
This fixes bug #7135.
2016-06-25 21:09:21 +02:00
Georg Baum
d66d6f7805 Remove external date inset
The external date inset was implemented as a demonstrator for external insets
in general. It was never intended for production code. Now that we have several
external insets defined we do not need the demonstrator anymore. This fixes
bugs #4398 and #9948.
2016-06-19 21:23:25 +02:00
Georg Baum
73a5e423bd Make configure.py python3 compatible
This was done using 2to3 and manual tweaking afterwards to ensure that it
works with python2 as well.
2016-06-08 19:29:15 +02:00
Scott Kostyshak
dc52bdf647 configure: Add export format for 2.2.x 2016-06-05 03:53:57 -04:00
Georg Baum
eade4ceb92 Export svg in xhtml, not svgz (bug 10160)
LyX did not distinguish compressed and uncompressed svg files previously.
Therefore XHTML export of vector graphics did use svgz images directly, which
is not supported by browsers. If svg and svgz are treated as two formats then
all works fine. This is also consistent with the loadable image formats
reported by qt: It reports both svg and svgz.
The gunzip dependency in converters is not new (it is already used internally),
but the gzip dependency is new, so it might not be available on windows.
This is not important at the moment, since we do not yet need to convert svg
to svgz, I only added the converter for completeness.
2016-06-02 22:34:28 +02:00
Guillaume Munch
f60e705299 Remove test for luatex+fontspec compatibility (#8478)
This test used freeze on luatex's font cache generation, and only
very old versions of luatex and fontspec are incompatible with each
other.
2016-05-15 19:30:35 +01:00
Georg Baum
8da5d01ff7 Detect ImageMagick 7
Imagemagick 7 does not have a convert command anymore, it is now called magick.
Joint work by Uwe and me.
2016-05-10 21:27:57 +02:00
Georg Baum
a1cc936548 Ensure that TeXFiles.py is run by python2
We ensure that configure.py is called by python2, regardless whether 'python'
is python 2 or 3. Therefore we can simply call TeXFiles.py with the currently
running interpreter. This fixes configuration on systems where 'python' is
python 3.
2016-05-10 07:18:48 +02:00
Günter Milde
9ff11a7935 Swap preference of PDF->Postscript converters.
According to http://stefaanlippens.net/pdf2ps_vs_pdftops 
pdftops is better than pdf2ps (which transforms fonts into bitmaps which
results in larger files, non scalability and longer conversion times). 
(tip by Georg Baum,  http://permalink.gmane.org/gmane.editors.lyx.general/85973)
2016-01-09 15:51:25 +01:00
Georg Baum
52978f94d2 Explain why rsvg_convert is in front of inkscape
Otherwise it could easily happen that the order is changed, since rsvg_convert
seems to be more picky about invalid files (see http://www.lyx.org/trac/ticket/9891)
2015-12-07 21:17:33 +01:00
Uwe Stöhr
1b8abed0d4 configure.py: add inkscape as converter for EMF/WMF files 2015-12-02 02:08:19 +01:00
Uwe Stöhr
f1032b1f4a configure.py: support OpenDocument as input format
- new converter for OpenDocument text -> LaTeX
2015-11-11 01:59:17 +01:00
Enrico Forestieri
f8bfc8405e Fix bug #7657: Detect inkscape from the configure script
On Windows, if inkscape is not found in the PATH, search for it
in the registry and store its full path in lyxrc.defaults.
2015-11-02 23:46:14 +01:00
Stephan Witt
65a95620b2 Correct commit 92b0886: true is not True in python. 2015-09-15 07:18:16 +02:00
Juergen Spitzmueller
0e62745995 Fix parsing of class and category declaration line in layout files
* Omit commented-out lines
* Properly escape backslash
* Do not allow non-space chars after delaration
* Allow blanks before # comment character

Fixes: #9746
2015-09-02 14:29:06 +02:00
Juergen Spitzmueller
616c7b9272 Resolve shortcut conflict 2015-07-25 10:15:44 +02:00
Stephan Witt
92b08869b2 preserve symlinks on copying of user directory from previous version 2015-07-22 11:57:08 +02:00
Enrico Forestieri
cd14673834 Avoid unnecessary growth of python lists
The path argument of checkProg* was added to the PATH list in a nested
loop such that the list doubles in size each time the loop is executed,
thus also slowing down detection of missing programs.
2015-06-16 17:03:32 +02:00
Uwe Stöhr
643f9ad4da configure.py: add support for pandoc and docx
- make LyX aware of the docx format
- add converters to odt and docx using the program Pandoc
2015-06-14 17:27:21 +02:00
Uwe Stöhr
afba823c2c configure.py: add another OpenDocument and a Word converter 2015-05-31 20:04:07 +02:00
Uwe Stöhr
ae577fe249 configure.py: revert ee5760ef/lyxgit and [78252f1f/lyxgit] 2015-05-31 18:12:41 +02:00
Uwe Stöhr
ee5760ef8c configure.py: elyxer is not provided as executable 2015-05-31 03:11:13 +02:00
Uwe Stöhr
78252f1f6a configure.py: remove 2 unnecessary entries
they are double, one entry is sufficient
2015-05-31 03:06:19 +02:00
Uwe Stöhr
8d6c608de8 configure.py: partly revert previous commit
This should not have gone in.
2015-05-31 03:03:29 +02:00
Uwe Stöhr
5b9fef895c configure.py: rename OpenOffice -> OpenDocument
these formats are OpenDocument formats OpenOffice is just one of the OpenDocument editors
2015-05-31 02:58:44 +02:00
Uwe Stöhr
dd25ea2ed7 configure.py: add --nofooter option to hide elyXer's footer 2015-05-30 02:44:59 +02:00
Richard Heck
3c2b3e6907 Remove printing support from LyX.
This was bug #6747.
2015-05-27 18:13:08 -04:00
Enrico Forestieri
c2a18fc142 Bump RC format for commit 260a98d2 2015-05-23 18:24:26 +02:00
Enrico Forestieri
7da981b322 Fix crash related to the icon info inset.
When closing a document with the cursor near an icon info inset, LyX
may crash on loading again the same document. This is most probably due
to the fact that compressed svg icons are first uncompressed to a
temporary file before being used. The temporary file is then deleted
but something still expects to find it in place. The exact circumstances
that lead to the crash are unknown, and maybe there is also a race entering
the picture here. However, a document that always leads to a crash can be
found attached here: http://article.gmane.org/gmane.editors.lyx.devel/154566
This commit does not fix the cause of the crash but rather avoids it.
As a bonus, the svg icons used by LyX are not uncompressed anymore before
being used, speeding up startup time. This is not a problem, because Qt
can deal with compressed svg images.
2015-03-22 22:25:38 +01:00
Jean-Marc Lasgouttes
477fddebe5 Add proper importers for Sweave and knitr.
Fixes bug #8734.
2015-03-16 18:43:51 +01:00
Kornel Benko
3104c105d8 eplace unparseable char in lib/configure.py.
Apparently xgettext is choking on that unicode char (\302 \240)
2015-02-17 13:24:56 +01:00
Uwe Stöhr
4549468dc9 configure.py: change name of a converter as discussed 2015-02-17 00:44:47 +01:00
Richard Heck
eaaeda65cb Do not show new "cropped" formats on export menu.
(cherry picked from commit 2fc44e96f5)
2015-02-15 10:59:04 -05:00
Georg Baum
ff97582e01 Fix lyxrc formatting error
Thanks to Jürgen for noticing this. I rearranged the formatting after testing,
so this slipped through.
2015-02-14 10:30:29 +01:00
Georg Baum
70afbc82ac Add low-res pdf export as suggested by James
As discussed on the list, but I did not need to create two new pdf formats
since any given document either uses TeX fonts or not. For the same reason
I also added an additional converter to PDF (cropped).
2015-02-11 22:24:04 +01:00
Uwe Stöhr
b2c761a7db configure.py: quote path to python
this fixes a path issue unveiled while inspecting bug #8478
2015-02-10 23:35:25 +01:00
Enrico Forestieri
417c233d07 Fix bug #9235: LyX 2.2's tex2lyx fails in general on Windows
The reason being the backslashes in the path. Note that escaping
does not work here because the path is being interpreted multiple
times (how many times I don't know) and that would be fragile.
For this same reason, the change is not limited to Windows.
2014-11-27 22:35:20 +01:00
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
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