X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=lib%2Fconfigure.py;h=093b2867442dd1dbb6b79aa9ae0814c3bf621ab5;hb=8151f74f2174339c79511e87592dda6c494d27d4;hp=ccd572e8527ecfcd11a291bca289b06d972ca4c8;hpb=1f7a1257f10704868b5e1c23fea575d833f30546;p=lyx.git diff --git a/lib/configure.py b/lib/configure.py index ccd572e852..093b286744 100644 --- a/lib/configure.py +++ b/lib/configure.py @@ -1,4 +1,5 @@ #! /usr/bin/env python +# -*- coding: utf-8 -*- # # file configure.py # This file is part of LyX, the document processor. @@ -7,9 +8,6 @@ # \author Bo Peng # Full author contact details are available in file CREDITS. -# This is an experimental version of the configure script, written -# in Python. - import sys, os, re, shutil, glob @@ -240,8 +238,8 @@ def checkFormatEntries(dtl_tools): checkViewer('a FEN viewer and editor', ['xboard -lpf $$i -mode EditPosition'], rc_entry = [r'\Format fen fen FEN "" "%%" "%%" ""']) # - path, iv = checkViewer('a raster image viewer', ['xv', 'kview', 'gimp']) - path, ie = checkViewer('a raster image editor', ['gimp']) + path, iv = checkViewer('a raster image viewer', ['xv', 'kview', 'gimp-remote', 'gimp']) + path, ie = checkViewer('a raster image editor', ['gimp-remote', 'gimp']) addToRC(r'''\Format bmp bmp BMP "" "%s" "%s" "" \Format gif gif GIF "" "%s" "%s" "" \Format jpg jpg JPEG "" "%s" "%s" "" @@ -271,16 +269,16 @@ def checkFormatEntries(dtl_tools): \Format text2 txt "Plain text (pstotext)" "" "" "%%" "document" \Format text3 txt "Plain text (ps2ascii)" "" "" "%%" "document" \Format text4 txt "Plain text (catdvi)" "" "" "%%" "document" -\Format textparagraph txt "Plain text (paragraphs)" "" "" "%%" "document"''' ]) +\Format textparagraph txt "Plain Text, Join Lines" "" "" "%%" "document"''' ]) # #checkProg('a Postscript interpreter', ['gs'], # rc_entry = [ r'\ps_command "%%"' ]) - checkViewer('a Postscript previewer', ['gv', 'ghostview -swap', 'kghostview'], + checkViewer('a Postscript previewer', ['kghostview', 'evince', 'gv', 'ghostview -swap'], rc_entry = [r'''\Format eps eps EPS "" "%%" "" "vector" \Format ps ps Postscript t "%%" "" "document,vector"''']) # - checkViewer('a PDF previewer', ['acrobat', 'acroread', 'gv', 'ghostview', \ - 'xpdf', 'kpdf', 'kghostview'], + checkViewer('a PDF previewer', ['kpdf', 'evince', 'kghostview', 'xpdf', 'acrobat', 'acroread', \ + 'gv', 'ghostview'], rc_entry = [r'''\Format pdf pdf "PDF (ps2pdf)" P "%%" "" "document,vector" \Format pdf2 pdf "PDF (pdflatex)" F "%%" "" "document,vector" \Format pdf3 pdf "PDF (dvipdfm)" m "%%" "" "document,vector"''']) @@ -291,25 +289,32 @@ def checkFormatEntries(dtl_tools): # Windows only: DraftDVI addToRC(r'\Format dvi2 dvi DraftDVI "" "" "document,vector"') # - checkViewer('an HTML previewer', ['mozilla file://$$p$$i', 'netscape'], + checkViewer('an HTML previewer', ['firefox', 'mozilla file://$$p$$i', 'netscape'], rc_entry = [r'\Format html html HTML H "%%" "" "document"']) # checkViewer('Noteedit', ['noteedit'], rc_entry = [r'\Format noteedit not Noteedit "" "%%" "%%" "vector"']) # + checkViewer('an OpenDocument viewer', ['oowriter'], + rc_entry = [r'\Format odt odt OpenDocument "" "%%" "%%" "document,vector"']) + # # entried that do not need checkProg addToRC(r'''\Format date "" "date command" "" "" "" "" \Format fax "" Fax "" "" "" "document" \Format lyx lyx LyX "" "" "" "" \Format lyx13x lyx13 "LyX 1.3.x" "" "" "" "document" \Format lyx14x lyx14 "LyX 1.4.x" "" "" "" "document" +\Format clyx cjklyx "CJK LyX 1.4.x (big5)" "" "" "" "document" +\Format jlyx cjklyx "CJK LyX 1.4.x (euc-jp)" "" "" "" "document" +\Format klyx cjklyx "CJK LyX 1.4.x (euc-kr)" "" "" "" "document" \Format lyxpreview lyxpreview "LyX Preview" "" "" "" "" \Format pdftex pdftex_t PDFTEX "" "" "" "" \Format program "" Program "" "" "" "" \Format pstex pstex_t PSTEX "" "" "" "" \Format rtf rtf "Rich Text Format" "" "" "" "document,vector" -\Format sxw sxw "OpenOffice.Org Writer" O "" "" "document,vector" -\Format wmf wmf "Windows Meta File" "" "" "" "vector" +\Format sxw sxw "OpenOffice.Org (sxw)" "" "" "" "document,vector" +\Format wmf wmf "Windows Metafile" "" "" "" "vector" +\Format emf emf "Enhanced Metafile" "" "" "" "vector" \Format word doc "MS Word" W "" "" "document,vector" \Format wordhtml html "HTML (MS Word)" "" "" "" "document" ''') @@ -345,14 +350,28 @@ def checkConverterEntries(): checkProg('an MS Word -> LaTeX converter', ['wvCleanLatex $$i $$o'], rc_entry = [ r'\converter word latex "%%" ""' ]) # - checkProg('a LaTeX -> MS Word converter', ["htlatex $$i 'html,word' 'symbol/!' '-cvalidate'"], - rc_entry = [ r'\converter latex wordhtml "%%" ""' ]) + path, htmlconv = checkProg('a LaTeX -> HTML converter', ['htlatex $$i', 'tth -t -e2 -L$$b < $$i > $$o', \ + 'latex2html -no_subdir -split 0 -show_section_numbers $$i', 'hevea -s $$i'], + rc_entry = [ r'\converter latex html "%%" "needaux"' ]) + if htmlconv == 'htlatex' or htmlconv == 'latex2html': + addToRC(r'''\copier html "python -tt $$s/scripts/ext_copy.py -e html,png,css $$i $$o"''') + else: + addToRC(r'''\copier html "python -tt $$s/scripts/ext_copy.py $$i $$o"''') + + # + path, htmlconv = checkProg('a LaTeX -> MS Word converter', ["htlatex $$i 'html,word' 'symbol/!' '-cvalidate'"], + rc_entry = [ r'\converter latex wordhtml "%%" "needaux"' ]) + if htmlconv == 'htlatex': + addToRC(r'''\copier wordhtml "python -tt $$s/scripts/ext_copy.py -e html,png,css $$i $$o"''') # checkProg('an OpenOffice.org -> LaTeX converter', ['w2l -clean $$i'], rc_entry = [ r'\converter sxw latex "%%" ""' ]) # - checkProg('a LaTeX -> OpenOffice.org converter', ['oolatex $$i', 'oolatex.sh $$i'], - rc_entry = [ r'\converter latex sxw "%%" "latex"' ]) + checkProg('an OpenDocument -> LaTeX converter', ['w2l -clean $$i'], + rc_entry = [ r'\converter odt latex "%%" ""' ]) + # + checkProg('a LaTeX -> Open Document converter', ['oolatex $$i', 'oolatex.sh $$i', 'htlatex $$i \'xhtml,ooffice\' \'ooffice/! -cmozhtf\' \'-coo\' \'-cvalidate\''], + rc_entry = [ r'\converter latex odt "%%" "needaux"' ]) # On windows it is called latex2rt.exe checkProg('a LaTeX -> RTF converter', ['latex2rtf -p -S -o $$o $$i', 'latex2rt -p -S -o $$o $$i'], rc_entry = [ r'\converter latex rtf "%%" "needaux"' ]) @@ -402,12 +421,19 @@ def checkConverterEntries(): \converter tgif pdf "tgif -stdout -print -color -pdf $$i > $$o" ""''', '']) # - checkProg('a WMF -> EPS converter', ['wmf2eps -o $$o $$i'], - rc_entry = [ r'\converter wmf eps "%%" ""', '']) + checkProg('a WMF -> EPS converter', ['metafile2eps $$i $$o', 'wmf2eps -o $$o $$i'], + rc_entry = [ r'\converter wmf eps "%%" ""']) + # + checkProg('an EMF -> EPS converter', ['metafile2eps $$i $$o', 'wmf2eps -o $$o $$i'], + rc_entry = [ r'\converter emf eps "%%" ""']) # checkProg('an EPS -> PDF converter', ['epstopdf'], rc_entry = [ r'\converter eps pdf "epstopdf --outfile=$$o $$i" ""', '']) # + # no agr -> pdf converter, since the pdf library used by gracebat is not + # free software and therefore not compiled in in many installations. + # Fortunately, this is not a big problem, because we will use epstopdf to + # convert from agr to pdf via eps without loss of quality. checkProg('a Grace -> Image converter', ['gracebat'], rc_entry = [ r'''\converter agr eps "gracebat -hardcopy -printfile $$o -hdevice EPS $$i 2>/dev/null" "" @@ -416,9 +442,6 @@ def checkConverterEntries(): \converter agr ppm "gracebat -hardcopy -printfile $$o -hdevice PNM $$i 2>/dev/null" ""''', '']) # - checkProg('a LaTeX -> HTML converter', ['htlatex $$i', 'tth -t -e2 -L$$b < $$i > $$o', \ - 'latex2html -no_subdir -split 0 -show_section_numbers $$i', 'hevea -s $$i'], - rc_entry = [ r'\converter latex html "%%" "originaldir,needaux"' ]) # path, lilypond = checkProg('a LilyPond -> EPS/PDF/PNG converter', ['lilypond']) if (lilypond != ''): @@ -444,15 +467,21 @@ def checkConverterEntries(): # FIXME: no rc_entry? comment it out # checkProg('Image converter', ['convert $$i $$o']) # - # Entried that do not need checkProg + # Entries that do not need checkProg addToRC(r'''\converter lyxpreview ppm "python -tt $$s/scripts/lyxpreview2bitmap.py" "" -\converter date dateout "date +%d-%m-%Y > $$o" "" +\converter date dateout "python -tt $$s/scripts/date.py %d-%m-%Y > $$o" "" \converter docbook docbook-xml "cp $$i $$o" "xml" \converter fen asciichess "python -tt $$s/scripts/fen2ascii.py $$i $$o" "" \converter fig pdftex "python -tt $$s/scripts/fig2pdftex.py $$i $$o" "" \converter fig pstex "python -tt $$s/scripts/fig2pstex.py $$i $$o" "" \converter lyx lyx13x "python -tt $$s/lyx2lyx/lyx2lyx -t 221 $$i > $$o" "" \converter lyx lyx14x "python -tt $$s/lyx2lyx/lyx2lyx -t 245 $$i > $$o" "" +\converter lyx clyx "python -tt $$s/lyx2lyx/lyx2lyx -c big5 -t 245 $$i > $$o" "" +\converter lyx jlyx "python -tt $$s/lyx2lyx/lyx2lyx -c euc_jp -t 245 $$i > $$o" "" +\converter lyx klyx "python -tt $$s/lyx2lyx/lyx2lyx -c euc_kr -t 245 $$i > $$o" "" +\converter clyx lyx "python -tt $$s/lyx2lyx/lyx2lyx -c big5 $$i > $$o" "" +\converter jlyx lyx "python -tt $$s/lyx2lyx/lyx2lyx -c euc_jp $$i > $$o" "" +\converter klyx lyx "python -tt $$s/lyx2lyx/lyx2lyx -c euc_kr $$i > $$o" "" ''') @@ -518,6 +547,7 @@ def checkOtherEntries(): addToRC(r'''\copier fig "python -tt $$s/scripts/fig_copy.py $$i $$o" \copier pstex "python -tt $$s/scripts/tex_copy.py $$i $$o $$l" \copier pdftex "python -tt $$s/scripts/tex_copy.py $$i $$o $$l" +\copier program "python -tt $$s/scripts/ext_copy.py $$i $$o" ''') @@ -538,7 +568,7 @@ def processLayoutFile(file, bool_docbook, bool_linuxdoc): ''' classname = file.split(os.sep)[-1].split('.')[0] # return ('LaTeX', '[a,b]', 'a', ',b,c', 'article') for \DeclareLaTeXClass[a,b,c]{article} - p = re.compile(r'\Declare(LaTeX|DocBook)Class\s*(\[([^,]*)(,.*)*\])*\s*{(.*)}') + p = re.compile(r'\Declare(LaTeX|DocBook|LinuxDoc)Class\s*(\[([^,]*)(,.*)*\])*\s*{(.*)}') for line in open(file).readlines(): res = p.search(line) if res != None: