4
echo "Renaming page sizes in $f"
6
# Correct entries for small margin paper sizes which were already there
7
perl -p -i -e 's:SM/:.SM/:g' $f
8
perl -p -i -e 's:SmallMargins:Small Margins:g' $f
10
# Find which page sizes support duplex
11
duplexsizes=`grep -v '^//' $f | grep CustomMedia | grep '\.Duplex' | cut -d " " -f 4 | cut -d "/" -f 1 | cut -d '"' -f 2 | perl -p -e "s/\.Duplex//" | sort | uniq`
13
# Rename CustomMedia entries: duplex sizes -> standard sizes, standard sizes ->
15
echo -n " Renaming paper size definitions"
17
while [ $finished = 0 ]; do
18
perl -e 'my $content = join("", <>); $content =~ s:(CustomMedia\s*\")([^\s\.\/]+)(\/([^\"]+?\s+|))(\S+\"([^\n]*\n){0,4}\s*CustomMedia\s*\")(\2)(.Duplex)(\/[^\"]*?\s*)(AutoDuplex ):\1\2.SM\3Small Margins \5\7\9:smgi; print $content' $f > $f.new 2>/dev/null
19
if diff $f $f.new >/dev/null 2>/dev/null; then
29
# Update the UIConstraints entries of the paper sizes which support duplex
30
for size in $duplexsizes; do
31
echo -n " Updating UI Constraints for $size:"
32
perl -p -e 's/(UIConstraints\s*\"\s*\*PageSize\s+)('"$size"')(\s+\*Duplex\s*\")/\1\2.SM\3/i' $f > $f.new 2>/dev/null
33
if diff $f $f.new >/dev/null 2>/dev/null; then
43
# Remove remaining ".Duplex" from paper sizes in UIConstraints
44
perl -p -i -e 's:\.Duplex::g' $f