mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-12-23 05:25:26 +00:00
Extract the necessary magic from epstopdf.
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@7167 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
6097aeb408
commit
9f2f29ca34
@ -1,3 +1,9 @@
|
|||||||
|
2003-06-12 Angus Leeming <leeming@lyx.org>
|
||||||
|
|
||||||
|
* scripts/fig2pdftex.sh (legacy_xfig): Extract the necessary magic from
|
||||||
|
epstopdf and write it as a shell function, as suggested by Martin Vermeer.
|
||||||
|
Means that we are not dependent on the presence of epstopdf or of perl.
|
||||||
|
|
||||||
2003-06-12 Angus Leeming <leeming@lyx.org>
|
2003-06-12 Angus Leeming <leeming@lyx.org>
|
||||||
|
|
||||||
* scripts/fig2pdftex.sh (legacy_xfig): Use epstopdf, as suggested by
|
* scripts/fig2pdftex.sh (legacy_xfig): Use epstopdf, as suggested by
|
||||||
|
@ -16,10 +16,10 @@
|
|||||||
# to generate ${base}.pdftex_t
|
# to generate ${base}.pdftex_t
|
||||||
# Thereafter, you need only '\input{${base}.pdftex_t}' in your latex document.
|
# Thereafter, you need only '\input{${base}.pdftex_t}' in your latex document.
|
||||||
|
|
||||||
# These are the external programs we use
|
# The external programs
|
||||||
FIG2DEV=fig2dev
|
FIG2DEV=fig2dev
|
||||||
# If using "legacy_xfig" only
|
# Used only by legacy_xfig
|
||||||
EPSTOPDF=epstopdf
|
GS=gs
|
||||||
|
|
||||||
find_exe() {
|
find_exe() {
|
||||||
test $# -eq 1 || exit 1
|
test $# -eq 1 || exit 1
|
||||||
@ -49,12 +49,46 @@ modern_xfig() {
|
|||||||
exit 0;
|
exit 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
# This function is used only by legacy_xfig.
|
||||||
|
# It manipulates the Bounding Box info to enable gs to produce
|
||||||
|
# the appropriate PDF file from an EPS one.
|
||||||
|
# The generated PostScript commands are extracted from epstopdf, distributed
|
||||||
|
# with tetex.
|
||||||
|
clean_epsfile() {
|
||||||
|
test $# -eq 1 || exit 1
|
||||||
|
|
||||||
|
# No bounding box info
|
||||||
|
grep '%%BoundingBox' $1 > /dev/null || return 1;
|
||||||
|
|
||||||
|
bbox=`sed -n '/^%%BoundingBox/p' $1`
|
||||||
|
llx=`echo ${bbox} | cut -d' ' -f2`
|
||||||
|
lly=`echo ${bbox} | cut -d' ' -f3`
|
||||||
|
urx=`echo ${bbox} | cut -d' ' -f4`
|
||||||
|
ury=`echo ${bbox} | cut -d' ' -f5`
|
||||||
|
|
||||||
|
width=`expr $urx - $llx`
|
||||||
|
height=`expr $ury - $lly`
|
||||||
|
xoffset=`expr 0 - $llx`
|
||||||
|
yoffset=`expr 0 - $lly`
|
||||||
|
|
||||||
|
temp=$1.??
|
||||||
|
sed "/^%%BoundingBox/{
|
||||||
|
s/^\(%%BoundingBox:\).*/\1 0 0 ${width} ${height}\\
|
||||||
|
<< \/PageSize [${width} ${height}] >> setpagedevice\\
|
||||||
|
gsave ${xoffset} ${yoffset} translate/
|
||||||
|
}" $1 > $temp
|
||||||
|
|
||||||
|
mv -f $temp $1
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
# Older versions of xfig cannot do this, so we emulate the behaviour using
|
# Older versions of xfig cannot do this, so we emulate the behaviour using
|
||||||
# pstex and pstex_t output.
|
# pstex and pstex_t output.
|
||||||
legacy_xfig() {
|
legacy_xfig() {
|
||||||
# Can we find fig2dev and epstopdf?
|
# Can we find fig2dev and epstopdf?
|
||||||
find_exe ${FIG2DEV}
|
find_exe ${FIG2DEV}
|
||||||
find_exe ${EPSTOPDF}
|
find_exe ${GS}
|
||||||
|
|
||||||
input=$1
|
input=$1
|
||||||
pdftex_t=$2
|
pdftex_t=$2
|
||||||
@ -65,8 +99,10 @@ legacy_xfig() {
|
|||||||
${FIG2DEV} -Lpstex_t -p${outbase} ${input} ${pdftex_t}
|
${FIG2DEV} -Lpstex_t -p${outbase} ${input} ${pdftex_t}
|
||||||
|
|
||||||
# Convert the ${pstex} EPS file (free of "special" text) to PDF format
|
# Convert the ${pstex} EPS file (free of "special" text) to PDF format
|
||||||
# using epstopdf.
|
# using gs
|
||||||
${EPSTOPDF} --outfile=${pdf} ${pstex}
|
clean_epsfile ${pstex}
|
||||||
|
${GS} -q -dNOPAUSE -dBATCH -dSAFER \
|
||||||
|
-sDEVICE=pdfwrite -sOutputFile=${pdf} ${pstex}
|
||||||
rm -f ${pstex}
|
rm -f ${pstex}
|
||||||
|
|
||||||
exit 0;
|
exit 0;
|
||||||
@ -87,9 +123,9 @@ outbase=`echo ${output} | sed 's/[.][^.]*$//'`
|
|||||||
# Ascertain whether fig2dev is "modern enough".
|
# Ascertain whether fig2dev is "modern enough".
|
||||||
# If it is, then the help info will mention "pdftex_t" as one of the
|
# If it is, then the help info will mention "pdftex_t" as one of the
|
||||||
# available outputs.
|
# available outputs.
|
||||||
FUNCTION=modern_xfig
|
CONVERT_IT=modern_xfig
|
||||||
${FIG2DEV} -h | grep 'pdftex_t' > /dev/null || FUNCTION=legacy_xfig
|
${FIG2DEV} -h | grep 'pdftex_t' > /dev/null || CONVERT_IT=legacy_xfig
|
||||||
|
|
||||||
${FUNCTION} ${input} ${output} ${outbase}
|
${CONVERT_IT} ${input} ${output} ${outbase}
|
||||||
|
|
||||||
# The end
|
# The end
|
||||||
|
Loading…
Reference in New Issue
Block a user