#!/bin/bash # Copyright (C) 2010 LAFKON/Christoph Haag. # ---------------------------------------------------------------------- # # This is free software, and you may redistribute it under the GPL. # This Software comes with absolutely no warranty. # For details see the license: http://www.forkable.eu/utils/licenses/gpl # ---------------------------------------------------------------------- # # http://www.forkable.eu/generators/i-bd/newton.sh # ______________________________________________________________________ # # # - create SVG files suitable for import into processing # based on separated .tmp files (i/TRUNK/tmp) # ______________________________________________________________________ # NUMBERTOGENERATE=200 NUMBERTOPACK=50 TMPDIR=i/tmptmp; LAYERDIR=i/TRUNK/tmp VERSION=5 SVG=i/TRUNK/VERSo_101015--5-01.svg GRPOPEN=\ HEADEND=\ PDFMETA=$TMPDIR/meta.txt IDMAPTEXT=MAPTEXT IDPRCSSNG=PRCSSNG #################################################################### svgsFromLayers () { TYPE=$1 LIST=$2 LAYERID=$3 LAYERLIST=$TMPDIR/layers.list; rm $LAYERLIST SOURCELIST=$TMPDIR/source.list; rm $SOURCELIST COMBINATIONS=`cat i/combinations.list | sort -R | head -1`; ######################################## # WRITE LIST WITH POSSIBLE SOURCES # ######################################## ls $LAYERDIR/*\-\-${VERSION}-*.layer | \ grep $TYPE > $SOURCELIST ######################################## if [ `cat $SOURCELIST | wc -l` -le 0 ];then exit 0; fi ##################################################################### # WRITE LIST WITH LAYERS, SORT (TO KEEP ORDER) # ##################################################################### for LAYER in `grep -h $LAYERID \`cat $SOURCELIST\` | \ grep -v XX | sed 's/>//g' | \ sort | uniq` do SELECTLAYERFILE=`grep $LAYER \`cat $SOURCELIST \` | \ cut -d : -f 1 | shuf -n 1` echo $SELECTLAYERFILE >> $LAYERLIST done ##################################################################### # WRITE LAYERS TO A NEW SVG FILE (ONE FILE FOR EACH LAYER ) # ##################################################################### HEADENDLINENUMBER=`cat -n $SVG | \ grep $HEADEND | \ cut -f 1 | \ head -1` rm $LIST for LAYERFILE in `cat $LAYERLIST | \ awk '{FS="_" ; $0=$0 ; print $NF"|"$0}' | \ sort -n | uniq | cut -d "|" -f 2` do FILE=${LAYERFILE##*/} NAME=${FILE%%.*} NEWSVG=$TMPDIR/${NAME}.svg if [ `find $TMPDIR -name "${NAME}.svg" | wc -l` -lt 1 ]; then head -n $HEADENDLINENUMBER $SVG > $NEWSVG cat $LAYERFILE >> $NEWSVG echo "" >> $NEWSVG sed -i 's/style="display:none"//g' $NEWSVG inkscape --export-eps=$TMPDIR/tmp.eps \ --export-bbox-page \ --export-text-to-path $NEWSVG epstopdf $TMPDIR/tmp.eps --outfile=$TMPDIR/tmp-BBOX.pdf pdf2svg $TMPDIR/tmp-BBOX.pdf $TMPDIR/tmp.svg ## PDF2SVG COLOR BUG WITH PROCESSING ############## inkscape --export-plain-svg=$NEWSVG $TMPDIR/tmp.svg ################################################### rm $TMPDIR/tmp.eps fi if [ `grep path $NEWSVG | wc -l` -ge 1 ]; then echo $NEWSVG >> $LIST fi done } ###################################################################### ###################################################################### runProcessing () { SKETCHNAME=isaac_1_00 # EXPORT DISPLAY FOR PROCESSING HEADLESS ############################# export DISPLAY=localhost:1.0 ####################################### APPDIR=$(dirname "$0") SKETCH=$APPDIR/src/$SKETCHNAME/application.linux/lib/$SKETCHNAME.jar CR=$APPDIR/i/lib/1050/core.jar PDF=$APPDIR/i/lib/1050/pdf.jar TXT=$APPDIR/i/lib/1050/itext.jar GMRTV=$APPDIR/i/lib/1050/geomerative.jar BTK=$APPDIR/i/lib/1050/batikfont.jar JGL=$APPDIR/i/lib/1050/jogl.jar GLGN=$APPDIR/i/lib/1050/gluegen-rt.jar JBX=$APPDIR/i/lib/1050/JBox2D-2.0.1-b250-Library.jar: JBXDS=$APPDIR/i/lib/1050/JBox2D-2.0.1-b250-Library_ds.jar: PBX=$APPDIR/i/lib/1050/pbox2d.jar: FSC=$APPDIR/i/lib/1050/fisica.jar: LIBS=$SKETCH:$CR:$PDF:$TXT:$GMRTV:$BTK:$JGL:$GLGN:$JBX:$JBXDS:$PBX:$FSC java -Djava.library.path="$APPDIR" \ -cp "$LIBS" \ $SKETCHNAME } ###################################################################### OVERALL=1; while [ $OVERALL -le $NUMBERTOGENERATE ]; do # ___________________________________________________________________ # NUMBERPRCSSNG=`expr $NUMBERTOPACK \/ 2` NUMBERMAPINFO=`expr $NUMBERTOPACK \/ 2` # rm $TMPDIR/*.pdf; rm $TMPDIR/*.svg TRACELIST=$TMPDIR/trace.list; rm $TRACELIST DROPLIST=$TMPDIR/drop.list; rm $DROPLIST OBSTACLELIST=$TMPDIR/obstacle.list; rm $OBSTACLELIST COUNT=1; while [ $COUNT -le $NUMBERMAPINFO ]; do # -------------------------------------------------------------------- # OUTPUTDIR=$TMPDIR LAYERLIST=$TMPDIR/layers.list; rm $LAYERLIST SOURCELIST=$TMPDIR/source.list; rm $SOURCELIST INCLUDE=REAr LAYERID=mapid ######################################## # WRITE LIST WITH POSSIBLE SOURCES # ######################################## ls $LAYERDIR/*\-\-${VERSION}-*.layer | \ egrep "$INCLUDE" > $SOURCELIST ######################################## if [ `cat $SOURCELIST | wc -l` -le 0 ];then exit 0; fi ##################################################################### # WRITE LIST WITH LAYERS, SORT (TO KEEP ORDER) # ##################################################################### for LAYER in `grep -h $LAYERID \`cat $SOURCELIST\` | \ grep -v XX | sed 's/>//g' | \ sort | uniq` do SELECTLAYERFILE=`grep $LAYER \`cat $SOURCELIST \` | \ cut -d : -f 1 | shuf -n 1` echo $SELECTLAYERFILE >> $LAYERLIST done ##################################################################### # WRITE LAYERS TO A NEW SVG FILE # ##################################################################### NEWSVG=$TMPDIR/komplett.svg HEADENDLINENUMBER=`cat -n $SVG | \ grep $HEADEND | \ cut -f 1 | \ head -1` head -n $HEADENDLINENUMBER $SVG > $NEWSVG for LAYERFILE in `cat $LAYERLIST | \ awk '{FS="_" ; $0=$0 ; print $NF"|"$0}' | \ sort -n | cut -d "|" -f 2` do cat $LAYERFILE >> $NEWSVG done echo "" >> $NEWSVG sed -i 's/style="display:none"//g' $NEWSVG ###################################################################### DATE=`date +%y%m%d`; TIME=`date +%H%M%S` NAME=${IDMAPTEXT}_${DATE}-${TIME} inkscape --export-eps=$TMPDIR/tmp.eps \ --export-bbox-page \ --export-text-to-path $NEWSVG epstopdf $TMPDIR/tmp.eps --outfile=$TMPDIR/tmp-BBOX.pdf mv $TMPDIR/tmp-BBOX.pdf $OUTPUTDIR/${NAME}.pdf; rm $TMPDIR/tmp.eps COUNT=`expr $COUNT + 1` # -------------------------------------------------------------------- # done COUNT=1; while [ $COUNT -le $NUMBERPRCSSNG ]; do # -------------------------------------------------------------------- # OUTPUTDIR=$TMPDIR svgsFromLayers REAr $TRACELIST logoid touch $DROPLIST svgsFromLayers REAr $OBSTACLELIST obstacleid echo ${TMPDIR}"/" > i/tmp/tmpdir.i echo ${OUTPUTDIR}"/" > i/tmp/outputdir.i runProcessing PDF=`ls --sort=t $OUTPUTDIR/*.pdf | head -1` NAME=${IDPRCSSNG}_${PDF##*/} mv $PDF $OUTPUTDIR/${NAME%%.*}.pdf COUNT=`expr $COUNT + 1` # --------------------------------------------------------------------- # done TMPTEX=i-bd.tex LAYERS=$TMPDIR/layers.list PDFS=$TMPDIR/pdfs.list ; rm $PDFS MAPINFOS=$TMPDIR/mapinfos.list; rm $MAPINFOS MAP=i/TRUNK/openstreetmap_101013--0-01.pdf TEXT=i/TRUNK/rearTEXTONLY_101017--5-00.pdf ls --sort=t $TMPDIR/${IDMAPTEXT}*.pdf | head -n $NUMBERMAPINFO >> $MAPINFOS ls --sort=t $TMPDIR/${IDPRCSSNG}*.pdf | head -n $NUMBERPRCSSNG >> $PDFS #ls --sort=t $TMPDIR/${IDPRCSSNG}*.pdf | sort -R >> $PDFS COUNT=1 echo "\documentclass[14pt]{scrartcl} " > $TMPTEX echo "\usepackage{pdfpages} " >> $TMPTEX echo "\usepackage[hmargin=-24mm,vmargin=180mm]{geometry} " >> $TMPTEX echo "\geometry{paperwidth=297mm,paperheight=420mm} % A3 " >> $TMPTEX echo "\usepackage{url} " >> $TMPTEX echo "\pagestyle{empty} " >> $TMPTEX echo "\setlength{\unitlength}{\paperheight} " >> $TMPTEX echo "\\newcommand{\graphic}[1]{\includegraphics[width=1.1\paperwidth]{#1}} " >> $TMPTEX echo "\\begin{document} " >> $TMPTEX while [ $COUNT -le $NUMBERTOPACK ] do PDF=`cat $PDFS | shuf -n 1` MAPINFO=`cat $MAPINFOS | shuf -n 1` echo "\scalebox{.9}{ " >> $TMPTEX echo "\\begin{picture}(0,0) " >> $TMPTEX echo "\put(.05,-.62){\graphic{"$MAP"}} " >> $TMPTEX echo "\put(.05,-.62){\graphic{"$PDF"}} " >> $TMPTEX echo "\put(.05,-.62){\graphic{"$MAPINFO"}} " >> $TMPTEX echo "\put(.05,-.62){\graphic{"$TEXT"}} " >> $TMPTEX echo "\end{picture}} " >> $TMPTEX echo "\newpage " >> $TMPTEX COUNT=`expr $COUNT + 1` done echo "\\end{document} " >> $TMPTEX OUTPUTDIR=o/non-free/fr/A3/verso DATE=`date +%y%m%d`; TIME=`date +%H%M%S` NAME=${DATE}-${TIME} pdflatex -output-directory $OUTPUTDIR $TMPTEX mv $OUTPUTDIR/${TMPTEX%%.*}.pdf $OUTPUTDIR/${NAME}.pdf rm $TMPTEX #___________________________________________________________________# OVERALL=`expr $OVERALL + $NUMBERTOPACK` done exit 0;