File: uprint

package info (click to toggle)
mined 2000.10-5
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 10,912 kB
  • ctags: 2,256
  • sloc: ansic: 130,722; sh: 1,742; makefile: 253; perl: 169; sed: 152; cpp: 28
file content (97 lines) | stat: -rwxr-xr-x 2,374 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
#! /bin/sh

#############################################################################
# print preprocessor for invocation of uniprint
# usage: uprint [-font <font>] [-size <size>] filename ...
# environment:
#   FONT=<font>
#       the name of a font file, e.g. LucidaBrightRegular or bodoni.ttf
#       the file must reside in the configured font path
#   FONTPATH=<font directory search path>
#       separate directory names with :
#   FONTSIZE=<size>
#   LPR=<optional print spooling command instead of lpr>
#       if you need to spool files not using the operating system's spooler
#   PRINTER=<printer>

#############################################################################
# set font and size preference
#font=cyberbit
#font=code2000
#font=georgia
#font=comic

font=${FONT-cyberbit}

#size=11
size=$FONTSIZE

# additional font directories to search for desired font
morefonts="$HOME/fonts:$HOME/ttfonts:$HOME/opt/fonts:$HOME/opt/ttfonts:/usr/ttfonts:/usr/X11/lib/X11/fonts/truetype"


#############################################################################
# setup up parameters

# font directories to search for desired font
FONTPATH=${FONTPATH-$YUDITDATA}
case "$FONTPATH" in
"")	FONTPATH="$morefonts";;
*)	FONTPATH="$FONTPATH:$morefonts";;
esac


# try to extract font and size specificatios from command line parameters
params=
while
    case "$1" in
    -f|-font)	font="$2"
		shift; shift
		true;;
    -s|-size)	size="$2"
		shift; shift
		true;;
    -*)		params="$params $1"
		shift
		true;;
    *)		false;;
    esac
do	true
done


# try to find font file
font=`basename $font .ttf`
fontfiles=`echo ${FONTPATH}: | sed -e "s,:,/$font.ttf ,g"`
fontfile=`ls $fontfiles 2> /dev/null | sed -e 1q`


#############################################################################
# construct parameters for uniprint
case "$fontfile" in
"")	fontspec=;;
*)	fontspec="-font $fontfile";;
esac

case "$size" in
"")	sizespec=;;
*)	sizespec="-size $size";;
esac


#############################################################################
# print files
for f in "$@"
do
	if type uniprint
	then	if [ "$LPR" != "" ]
		then	uniprint $params -wrap $fontspec $sizespec -out - "$f" | $LPR "$f"
		else	uniprint $params -wrap $fontspec $sizespec "$f"
		fi
	else	false
	fi
done


#############################################################################
# end