From 63dca538e93ba4f865585672d9614a4aa8ed42bf Mon Sep 17 00:00:00 2001 From: Angus Leeming Date: Wed, 4 Sep 2002 10:15:56 +0000 Subject: [PATCH] Simplify code by telling gs to output bitmap files as %d, not %Nd where N is some painfully specified integer. git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@5204 a592a061-630c-0410-9148-cb99ea01b6c8 --- lib/ChangeLog | 5 +++++ lib/scripts/lyxpreview2ppm.sh | 21 +++++++++------------ src/graphics/ChangeLog | 4 ++++ src/graphics/PreviewLoader.C | 35 +++++++++-------------------------- 4 files changed, 27 insertions(+), 38 deletions(-) diff --git a/lib/ChangeLog b/lib/ChangeLog index d214aaa8a5..f101cf1ea0 100644 --- a/lib/ChangeLog +++ b/lib/ChangeLog @@ -1,3 +1,8 @@ +2002-09-04 Angus Leeming + + * scripts/lyxpreview2ppm.sh: output gs filenames as %d, not %Nd where N + is some input value. + 2002-09-04 Lars Gullik Bjønnes * layouts/stdclass.inc: include stdfloats.h diff --git a/lib/scripts/lyxpreview2ppm.sh b/lib/scripts/lyxpreview2ppm.sh index 55fd671600..a6d12eb090 100644 --- a/lib/scripts/lyxpreview2ppm.sh +++ b/lib/scripts/lyxpreview2ppm.sh @@ -14,17 +14,15 @@ # preview.sty can be obtained from CTAN/macros/latex/contrib/supported/preview. -# This script takes three arguments: +# This script takes two arguments: # TEXFILE: the name of the .tex file to be converted. -# SCALEFACTOR: scale factor, used to ascertain the resolution of the +# SCALEFACTOR: a scale factor, used to ascertain the resolution of the # generated image which is then passed to gs. -# NDIGITS: the number of digits in the filenames generated by gs, -# ${BASE}%0${NDIGITS}d.ppm. # If successful, this script will leave in dir ${DIR}: -# ${BASE}[0-9]\{${NDIGITS}\}.ppm: a (possibly large) number of image files. -# ${BASE}.metrics: a file containing info needed by LyX to -# position the images correctly on the screen. +# ${BASE}\([0-9]*\).ppm: a (possibly large) number of image files. +# ${BASE}.metrics: a file containing info needed by LyX to position the +# images correctly on the screen. # All other files ${BASE}* will be deleted. # Three helper functions. @@ -49,7 +47,7 @@ REQUIRED_VERSION () { } # Preliminary check. -if [ $# -ne 3 ]; then +if [ $# -ne 2 ]; then exit 1 fi @@ -63,7 +61,6 @@ DIR=`dirname $1` BASE=`basename $1 .tex` SCALEFACTOR=$2 -NDIGITS=$3 TEXFILE=${BASE}.tex LOGFILE=${BASE}.log @@ -139,7 +136,7 @@ if [ ${INT_RESOLUTION} -gt 150 ]; then fi gs -q -dNOPAUSE -dBATCH -dSAFER \ - -sDEVICE=pnmraw -sOutputFile=${BASE}%0${NDIGITS}d.ppm \ + -sDEVICE=pnmraw -sOutputFile=${BASE}%d.ppm \ -dGraphicsAlphaBit=${ALPHA} -dTextAlphaBits=${ALPHA} -r${RESOLUTION} \ ${PSFILE} @@ -151,5 +148,5 @@ fi # All has been successful, so remove everything except the bitmap files # and the metrics file. FILES=`ls ${BASE}* | \ - sed -e "/${BASE}.metrics/d" -e "/${BASE}[0-9]\{${NDIGITS}\}.ppm/d"` -rm -f ${FILES} + sed -e "/${BASE}.metrics/d" -e "/${BASE}\([0-9]*\).ppm/d"` +rm -f ${FILES} texput.log diff --git a/src/graphics/ChangeLog b/src/graphics/ChangeLog index 1b8b84681c..d9fa602899 100644 --- a/src/graphics/ChangeLog +++ b/src/graphics/ChangeLog @@ -1,3 +1,7 @@ +2002-09-04 Angus Leeming + + * PreviewLoader.C: remove this ndigits stuff as an unnecessary extra. + 2002-09-03 Angus Leeming * PreviewLoader.C: fix crash reported by Norbert Koksch when diff --git a/src/graphics/PreviewLoader.C b/src/graphics/PreviewLoader.C index 57d3749e05..8eb1e1597e 100644 --- a/src/graphics/PreviewLoader.C +++ b/src/graphics/PreviewLoader.C @@ -86,16 +86,6 @@ private: }; -// Given a base-10 number return the number of digits needed to store it. -// Eg 2 requires 1 digit, 22 requires 2 digits and 999 requires 3 digits. -// Note that André suggests just returning '12' here... - int ndigits(int /*num*/) -{ - //return 1 + int(std::log10(double(num))); - return 5; -} - - /// Store info on a currently executing, forked process. struct InProgress { /// @@ -256,18 +246,14 @@ namespace { struct IncrementedFileName { IncrementedFileName(string const & to_format, - string const & filename_base, int nd) - : to_format_(to_format), base_(filename_base), - ndigits_(nd), counter_(1) + string const & filename_base) + : to_format_(to_format), base_(filename_base), counter_(1) {} StrPair const operator()(string const & snippet) { ostringstream os; - os << base_ - << setfill('0') << setw(ndigits_) << counter_++ - << "." << to_format_; - + os << base_ << counter_++ << "." << to_format_; string const file = os.str().c_str(); return make_pair(snippet, file); @@ -276,7 +262,6 @@ struct IncrementedFileName { private: string const & to_format_; string const & base_; - int const ndigits_; int counter_; }; @@ -292,9 +277,8 @@ InProgress::InProgress(string const & filename_base, PendingSnippets::const_iterator pend = pending.end(); BitmapFile::iterator sit = snippets.begin(); - std::transform(pit, pend, sit, - IncrementedFileName(to_format, filename_base, - ndigits(int(snippets.size())))); + std::transform(pit, pend, sit, + IncrementedFileName(to_format, filename_base)); } @@ -471,6 +455,9 @@ void PreviewLoader::Impl::startLoading() // such processes if it starts correctly. InProgress inprogress(filename_base, pending_, pconverter_->to); + // clear pending_, so we're ready to start afresh. + pending_.clear(); + // Output the LaTeX file. string const latexfile = filename_base + ".tex"; @@ -485,14 +472,10 @@ void PreviewLoader::Impl::startLoading() // The conversion command. ostringstream cs; cs << pconverter_->command << " " << latexfile << " " - << int(font_scaling_factor_) << " " - << ndigits(int(pending_.size())); + << int(font_scaling_factor_); string const command = LibScriptSearch(cs.str().c_str()); - // clear pending_, so we're ready to start afresh. - pending_.clear(); - // Initiate the conversion from LaTeX to bitmap images files. Forkedcall::SignalTypePtr convert_ptr; convert_ptr.reset(new Forkedcall::SignalType); -- 2.39.2