lib/Tools/logo
changeset 73407 603010a9e611
parent 73398 180981b87929
parent 73406 9939146b90ad
child 73408 be11fe268b33
equal deleted inserted replaced
73398:180981b87929 73407:603010a9e611
     1 #!/usr/bin/env bash
       
     2 #
       
     3 # Author: Makarius
       
     4 #
       
     5 # DESCRIPTION: create an instance of the Isabelle logo (PDF)
       
     6 
       
     7 
       
     8 PRG="$(basename "$0")"
       
     9 
       
    10 function usage()
       
    11 {
       
    12   echo
       
    13   echo "Usage: isabelle $PRG [OPTIONS] [XYZ]"
       
    14   echo
       
    15   echo "  Create instance XYZ of the Isabelle logo (PDF)."
       
    16   echo
       
    17   echo "  Options are:"
       
    18   echo "    -o FILE      alternative output file (default \"isabelle_xyx.pdf\")"
       
    19   echo "    -q           quiet mode"
       
    20   echo
       
    21   exit 1
       
    22 }
       
    23 
       
    24 function fail()
       
    25 {
       
    26   echo "$1" >&2
       
    27   exit 2
       
    28 }
       
    29 
       
    30 
       
    31 ## process command line
       
    32 
       
    33 # options
       
    34 
       
    35 OUTPUT_FILE=""
       
    36 QUIET=""
       
    37 
       
    38 while getopts "o:q" OPT
       
    39 do
       
    40   case "$OPT" in
       
    41     o)
       
    42       OUTPUT_FILE="$OPTARG"
       
    43       ;;
       
    44     q)
       
    45       QUIET=true
       
    46       ;;
       
    47     \?)
       
    48       usage
       
    49       ;;
       
    50   esac
       
    51 done
       
    52 
       
    53 shift $(($OPTIND - 1))
       
    54 
       
    55 
       
    56 # args
       
    57 
       
    58 TEXT=""
       
    59 [ "$#" -ge 1 ] && { TEXT="$1"; shift; }
       
    60 
       
    61 [ "$#" -ne 0 ] && usage
       
    62 
       
    63 
       
    64 ## main
       
    65 
       
    66 if [ -z "$OUTPUT_FILE" ]; then
       
    67   OUTPUT_NAME="$(echo "$TEXT" | tr A-Z a-z)"
       
    68   if [ -z "$OUTPUT_NAME" ]; then
       
    69     OUTPUT_FILE="isabelle.pdf"
       
    70   else
       
    71     OUTPUT_FILE="isabelle_${OUTPUT_NAME}.pdf"
       
    72   fi
       
    73 fi
       
    74 
       
    75 [ -z "$QUIET" ] && echo "$OUTPUT_FILE" >&2
       
    76 perl -p -e "s,<any>,$TEXT," "$ISABELLE_HOME/lib/logo/isabelle_any.eps" | \
       
    77   "$ISABELLE_EPSTOPDF" --filter > "$OUTPUT_FILE"