Permalink
Fetching contributors…
Cannot retrieve contributors at this time
executable file 65 lines (53 sloc) 1.95 KB
#!/bin/bash
#
# Generates presentational copies for scanned pages.
# Intended to be called from quack.sh to generate images to shown on the QA page.
#
# Override settings by creating "presentation.settings" and specifying DEFAULT_COMMANDS
# and/or get_commands
#
SETTINGS="presentation.settings"
# geometry resizes to 50% (the > is redundant with percents <= 100, but we keep it
# as it is a fine default as we never want to enlarge).
# unsharp is for a high quality 300 DPI scan with no previous sharpen applied.
# level is highly source-specific. The default is a conservative starker contrast.
# no intensities > 240.
# Quality is for JPEG output. This needs to be quite high as JPEG artifacts are
# very visible with tiny text.
DEFAULT_COMMANDS="-geometry 50%x> -unsharp 0.8x0.1+0.8+2.0 -level 10,1.0,245 -quality 95"
# Input: source
# Output: COMMANDS (GraphicsMagick options)
function get_commands() {
local SOURCE="$1"
if [ "." != ".`echo \"$SOURCE\" | grep -o inesta`" ]; then
# This provider has very dark scans with no intensities > 240
COMMANDS="-geometry 50%x> -unsharp 0.8x0.1+0.8+2.0 -level 0,1.0,220 -quality 95"
return
fi
if [ "." != ".`echo \"$SOURCE\" | grep -o pex`" ]; then
# This provider has scans practically without any blown high- or low-lights
# Input is 400 DPI so we need to scale a bit more to reach ~150DPI
COMMANDS="-geometry 38%x> -unsharp 0.8x0.1+0.8+2.0 -level 30,0.8,240 -quality 95"
return
fi
COMMANDS="$DEFAULT_COMMANDS"
}
pushd `dirname $0` > /dev/null
ROOT=`pwd`
if [ -e "$SETTINGS" ]; then
echo "Sourcing settings from $SETTINGS"
source "$SETTINGS"
fi
popd > /dev/null
SOURCE="$1"
DESTINATION="$2"
if [ ! -f "$SOURCE" ]; then
echo "The image '$SOURCE' does not exist"
exit 2
fi
if [ "." == ".$DESTINATION" ]; then
echo "Usage: ./presentation.sh source destination"
exit 2
fi
get_commands "$SOURCE"
gm convert "$SOURCE" $COMMANDS "$DESTINATION"