diff options
Diffstat (limited to 'Master/texmf-dist/tex/context/third/degrade/t-degrade.tex')
-rw-r--r-- | Master/texmf-dist/tex/context/third/degrade/t-degrade.tex | 163 |
1 files changed, 0 insertions, 163 deletions
diff --git a/Master/texmf-dist/tex/context/third/degrade/t-degrade.tex b/Master/texmf-dist/tex/context/third/degrade/t-degrade.tex deleted file mode 100644 index b2dbba495c3..00000000000 --- a/Master/texmf-dist/tex/context/third/degrade/t-degrade.tex +++ /dev/null @@ -1,163 +0,0 @@ -%D \enableregime[utf] -%D \module -%D [ file=t-degrade, -%D version=2006.09.12, -%D title=\CONTEXT\ User Module, -%D subtitle=Degrading JPEG images, -%D author=Peter Münster, -%D date=\currentdate, -%D copyright={Peter Münster}] -%C This module is copyrighted by Peter Münster. -%C Please send any comments to pmrb at free.fr. - -% This program is free software; you can redistribute it and/or -% modify it under the terms of the GNU General Public License -% as published by the Free Software Foundation; either version 2 -% of the License, or (at your option) any later version. - -% This program is distributed in the hope that it will be useful, -% but without any warranty; without even the implied warranty of -% merchantability or fitness for a particular purpose. See the -% GNU General Public License for more details. - -\writestatus{loading}{Degrading JPEG images on the fly} - -\unprotect - -%D In this module we suppose, that original figures are either eps or jpg. -%D When creating pdf, eps is converted to pdf, and when creating dvi, -%D jpg is converted to eps. -%D Furthermore, jpg-images can be degraded to a given resolution, to get -%D smaller documents. - -%D When -%D \type{http://context.literatesolutions.com/collector/63} -%D is solved, we can make it better using \type{\appliedfigurefilename}, -%D \type{\figurewidth} etc, and without redefining \type{\externalfigure}. - -%D \macros{setupDegrade} -%D Sets the resolution, the directory for degraded images and the -%D directory, where the original images can be found (source directory). -%D -%D Default setup: -%D -%D \starttyping -%D \setupDegrade[Res=100,Dir=degrade,SDir=.] -%D \stoptyping -%D -%D Example: -%D -%D \starttyping -%D \setupDegrade[Res=600,Dir=degraded-images,SDir=/home/peter/jpegs] -%D \stoptyping - -\def\setupDegrade[#1]{\getparameters[Deg][#1]} -\setupDegrade[Res=100,Dir=degrade,SDir=.] - -%D In order to use this module, you must use \type{\externalfigure} -%D in the following way: \type{\externalfigure[file-prefix][options]}, -%D where \type{options} must contain the width or the height. -%D Furthermore, \type{\write18} must be enabled. -%D The shell-script is in a buffer, just to keep this module in only -%D one file. - -\startbuffer[degrade-script] -#!/bin/bash - -# We consider, that original figures are either eps or jpg. - -# Arguments: -# $1 = filename -# $2 = eps or pdf -# $3 = w or h -# $4 = resolution -# $5 = dimension of image -# $6 = source directory -# $7 = destination directory - -for i in jpeg2ps convert identify bc; do - if ! type $i &>/dev/null; then - echo Error: $i is not installed. - exit 1 - fi -done - -EPSTOPDF=epstopdf - -if ! type epstopdf &>/dev/null; then - if type texmfstart &>/dev/null; then - EPSTOPDF="texmfstart newpstopdf" - else - EPSTOPDF="texutil --figures --epstopdf" - fi -fi - -if [ -s "$1.jpg" ]; then - if [ "$2" = eps ] && [ "$1.jpg" -nt "$1.eps" ]; then - jpeg2ps "$1.jpg" >"$1.eps" - fi -else - if [ "$2" = pdf ] && [ "$1.eps" -nt "$1.pdf" ]; then - $EPSTOPDF "$1.eps" - fi -fi - -X= -[ $3 = h ] && X=x -FORMAT="%$3" -FILE="$6/$1.jpg" -DFILE="$7/$1.jpg" -DFILE_EPS="$7/$1.eps" -DPI="$4" -IW="$5" -MODE="$2" -INCH=72.27 - -mkdir -p $7 - -if [ -s "$FILE" ]; then - W=`identify -format "$FORMAT" "$FILE"` -else - rm -f "$DFILE" - exit 0 -fi - -NW=`echo "$DPI * $IW / $INCH" | bc` - -if [ $NW -ge $W ]; then - rm -f "$DFILE" -else - if [ -s "$DFILE" ] && \ - [ `identify -format "$FORMAT" "$DFILE"` -eq $NW ]; then - exit 0 - else - convert -verbose -resize $X$NW "$FILE" "$DFILE" - [ $MODE = eps ] && jpeg2ps "$DFILE" >"$DFILE_EPS" - fi -fi -\stopbuffer - -\def\Command{\immediate\write18} -\let\externalfigureO=\externalfigure -\def\externalfigure[#1][#2]{% - \getparameters[Deg][height=,#2]% - \processaction[\Degheight][% - \s!default =>\scratchdimen=\Degwidth \def\Deg@WH{w}, - \s!unknown =>\scratchdimen=\Degheight \def\Deg@WH{h}]% - \Command{bash ./\jobname-degrade-script.tmp #1 \ifcase\pdfoutput eps\else - pdf\fi\space\Deg@WH\space\DegRes\space\withoutpt\the\scratchdimen\space - \DegSDir\space\DegDir}% - \doiffileexistselse{\DegDir/#1.jpg}{\def\Deg@File{\DegDir/#1}}{% - \def\Deg@File{#1}}% - \externalfigureO[\Deg@File][#2]} - -\protect - -\doifnotmode{demo}{\endinput} - -%D Usage example: -%\usemodule[degrade] -% \setupDegrade[Res=200] Here you can adjust the resolution (unit = dpi). -\starttext -\externalfigure[hacker][width=0.2\textwidth] -\stoptext |