aboutsummaryrefslogtreecommitdiff
path: root/troff/font/devutf/charlib/LV
diff options
context:
space:
mode:
Diffstat (limited to 'troff/font/devutf/charlib/LV')
-rw-r--r--troff/font/devutf/charlib/LV202
1 files changed, 202 insertions, 0 deletions
diff --git a/troff/font/devutf/charlib/LV b/troff/font/devutf/charlib/LV
new file mode 100644
index 00000000..280d390e
--- /dev/null
+++ b/troff/font/devutf/charlib/LV
@@ -0,0 +1,202 @@
+%
+% PostScript 12 and 8 line logos - vertical configuration. Switch occurs
+% automatically below point size 29. Code from Matthijs Melchior.
+%
+
+/LOGO-dict-mm where not {
+ 64 dict /LOGO-dict-mm exch def
+}{pop} ifelse
+LOGO-dict-mm begin % initialize dictionary
+
+
+/globesetup {
+/r exch def
+/N exch def
+/d 2 N r mul N 1 sub add div def
+/h d r mul def
+} def
+/mkabs {
+/yp exch def
+/xl exch def
+dup dup 0 get xl mul 0 exch put
+dup dup 1 get h mul yp add 1 exch put
+dup dup 2 get xl mul 2 exch put
+dup dup 3 get h mul yp add 3 exch put
+dup dup 4 get xl mul 4 exch put
+dup dup 5 get h mul yp add 5 exch put
+} def
+/topsegment {
+/n exch def
+/y n r mul n .5 add add d mul def
+/a y 1 y dup mul sub sqrt atan def
+/x a cos def
+/c2 exch x y mkabs def
+/ly1 exch h mul y add def
+/lx1 exch x abs mul def
+/c1 exch x y mkabs def
+x y /moveto load
+0 0 1 a 180 a sub /arc load
+c1 aload pop /curveto load
+lx1 ly1 /lineto load
+c2 aload pop /curveto load
+/closepath load
+} def
+/botsegment {
+/n exch 1 add def
+/y n r mul n .5 sub add d mul def
+/a y 1 y dup mul sub sqrt atan def
+/x a cos def
+/c2 exch x y mkabs def
+/ly1 exch h mul y add def
+/lx1 exch x abs mul def
+/c1 exch x y mkabs def
+x y /moveto load
+0 0 1 a 540 a sub /arcn load
+c1 aload pop /curveto load
+lx1 ly1 /lineto load
+c2 aload pop /curveto load
+/closepath load
+} def
+/segment {
+/n exch def
+/dh exch 1 exch sub 2 div def
+/ylb n r mul n 0.5 add add d mul def
+/ylt ylb h add def
+/yrb ylb h dh mul add def
+/yrt ylt h dh mul sub def
+/alb ylb 1 ylb dup mul sub sqrt atan def
+/alt ylt 1 ylt dup mul sub sqrt atan def
+/arb yrb 1 yrb dup mul sub sqrt atan 180 exch sub def
+/art yrt 1 yrt dup mul sub sqrt atan 180 exch sub def
+/xlb alb cos def
+/xlt alt cos def
+/xrb arb cos def
+/xrt art cos def
+/c4 exch xrb abs ylb mkabs def
+/ly2 exch h mul ylb add def
+/lx2 exch xrb abs mul def
+/c3 exch xrb abs ylb mkabs def
+/c2 exch xrt abs ylt mkabs def
+/ly1 exch h mul ylt add def
+/lx1 exch xrt abs mul def
+/c1 exch xrt abs ylt mkabs def
+xlb ylb /moveto load
+0 0 1 alb alt /arc load
+c2 4 get c2 5 get /lineto load
+c2 2 get c2 3 get
+c2 0 get c2 1 get
+lx1 ly1 /curveto load
+c1 4 get c1 5 get /lineto load
+c1 2 get c1 3 get
+c1 0 get c1 1 get
+xrt yrt /curveto load
+0 0 1 art arb /arc load
+c3 aload pop /curveto load
+lx2 ly2 /lineto load
+c4 aload pop /curveto load
+/closepath load
+} def
+8 2.5 globesetup
+/globe8 [
+/newpath load
+[ -.9 .1 -.6 .2 -.5 .2 ] -.5 .2 [ -.4 .2 .0 .0 .4 .0 ] 3 topsegment
+[ -.9 -.35 -.85 -.35 -.8 -.35 ] -.1 -.35 [ .1 -.35 .3 .0 .5 .0 ]
+[ -.8 .35 -.75 .35 -.7 .35 ] -.1 .35 [ .1 .35 .4 .0 .55 .0 ] .55 2 segment
+[ -.8 -.35 -.75 -.35 -.7 -.35 ] .05 -.35 [ .2 -.35 .4 .0 .55 .0 ]
+[ -.8 .35 -.75 .35 -.7 .35 ] .05 .35 [ .2 .35 .45 .0 .6 .0 ] .7 1 segment
+[ -.8 -.35 -.75 -.35 -.7 -.35 ] .0 -.35 [ .15 -.35 .4 .0 .6 .0 ]
+[ -.8 .35 -.75 .35 -.7 .35 ] .0 .35 [ .15 .35 .4 .0 .6 .0 ] .7 0 segment
+[ -.7 -.35 -.65 -.35 -.6 -.35 ] -.1 -.35 [ .05 -.35 .35 .0 .55 .0 ]
+[ -.7 .35 -.65 .35 -.6 .35 ] -.1 .35 [ .05 .35 .25 .0 .4 .0 ] .8 -1 segment
+[ -.65 -.2 -.55 -.2 -.45 -.2 ] -.3 -.2 [ -.2 -.2 .2 .0 .3 .0 ]
+[ -.65 .1 -.55 .1 -.45 .1 ] -.45 .1 [ -.3 .1 -.1 .0 .0 .0 ] .96 -2 segment
+[ .0 .0 .0 .0 .0 .0 ] .0 .0 [ .0 .0 .0 .0 .0 .0 ]
+[ .0 .0 .0 .0 .0 .0 ] .0 .0 [ .0 .0 .0 .0 .0 .0 ] 1 -3 segment
+[ .0 .0 .0 .0 .0 .0 ] .0 .0 [ .0 .0 .0 .0 .0 .0 ] -4 botsegment
+] cvx def
+12 3 globesetup
+/globe12 [
+/newpath load
+[ -.8 .2 -.7 .25 -.5 .25 ] -.4 .25 [ -.2 .25 .0 .0 .2 .0 ] 5 topsegment
+[ -.7 -.35 -.7 -.35 -.6 -.35 ] -.3 -.35 [ -.1 -.35 .3 .0 .55 .0 ]
+[ -.7 .35 -.7 .35 -.6 .35 ] -.25 .35 [ -.05 .35 .4 .0 .55 .0 ] .6 4 segment
+[ -.8 -.35 -.7 -.35 -.6 -.35 ] -.1 -.35 [ .1 -.35 .4 .0 .5 .0 ]
+[ -.8 .35 -.7 .35 -.6 .35 ] -.1 .35 [ .1 .35 .4 .0 .5 .0 ] .7 3 segment
+[ -.8 -.35 -.7 -.35 -.6 -.35 ] .0 -.35 [ .1 -.35 .45 .0 .55 .0 ]
+[ -.8 .35 -.7 .35 -.6 .35 ] .0 .35 [ .15 .35 .4 .0 .5 .0 ] .8 2 segment
+[ -.75 -.35 -.7 -.35 -.6 -.35 ] .0 -.35 [ .2 -.35 .4 .0 .5 .0 ]
+[ -.75 .35 -.7 .35 -.6 .35 ] .0 .35 [ .2 .35 .45 .0 .55 .0 ] .9 1 segment
+[ -.7 -.35 -.6 -.35 -.55 -.35 ] .0 -.35 [ .1 -.35 .45 .0 .55 .0 ]
+[ -.7 .35 -.6 .35 -.55 .35 ] .0 .35 [ .1 .35 .5 .0 .6 .0 ] .9 0 segment
+] cvx
+[
+[ -.7 -.35 -.6 -.35 -.5 -.35 ] -.15 -.35 [ .0 -.35 .4 .0 .5 .0 ]
+[ -.65 .35 -.55 .35 -.45 .35 ] -.15 .35 [ .0 .35 .35 .0 .45 .0 ] .9 -1 segment
+[ -.8 -.1 -.5 -.3 -.4 -.3 ] -.2 -.3 [ .0 -.3 .3 .0 .4 .0 ]
+[ -.8 .1 -.5 .3 -.4 .3 ] -.2 .3 [ .0 .3 .2 .0 .3 .0 ] 1 -2 segment
+[ -.7 -.1 -.5 -.15 -.4 -.15 ] -.3 -.15 [ -.2 -.15 .0 .0 .2 .0 ]
+[ -.7 .05 -.5 .1 -.4 .1 ] -.4 .1 [ -.3 .1 .0 .0 .2 .0 ] 1 -3 segment
+[ .0 .0 .0 .0 .0 .0 ] .0 .0 [ .0 .0 .0 .0 .0 .0 ]
+[ .0 .0 .0 .0 .0 .0 ] .0 .0 [ .0 .0 .0 .0 .0 .0 ] 1 -4 segment
+[ .0 .0 .0 .0 .0 .0 ] .0 .0 [ .0 .0 .0 .0 .0 .0 ]
+[ .0 .0 .0 .0 .0 .0 ] .0 .0 [ .0 .0 .0 .0 .0 .0 ] 1 -5 segment
+[ .0 .0 .0 .0 .0 .0 ] .0 .0 [ .0 .0 .0 .0 .0 .0 ] -6 botsegment
+] cvx
+4 array cvx
+dup 0 5 -1 roll put
+dup 1 /exec load put
+dup 2 4 -1 roll put
+dup 3 /exec load put
+def
+
+/l { lineto } def
+/rl { rlineto } def
+/m { moveto } def
+/rm { rmoveto } def
+/C { closepath } def
+/c { curveto } def
+/rc { rcurveto } def
+/T { m 0 29 rl -9.5 0 rl 0 7 rl 29 0 rl 0 -7 rl -9.5 0 rl 0 -29 rl C } def
+/ATT {
+newpath
+1 36 div dup scale
+0 0 m 12 36 rl 8 0 rl -11 -36 rl C
+25 0 m -11 36 rl 8 0 rl 12 -36 rl C
+10 7 m 0 7 rl 14 0 rl 0 -7 rl C
+36 0 T
+80 6 m -3 0 -5 1.2 -6 2 rc -12 10 rl -2.4 2 -2.7 6 0 6 rc
+1 0 2 -1 2 -2 rc 0 -4 rl 7 0 rl 0 4 rl
+0 5 -3 7 -9 7 rc -6 0 -9 -3 -9 -7 rc
+0 -2 0 -3.6 2 -6 rc 12 -10 rl 6 -5 10 -6 13 -6 rc C
+71 18 m 0 -6 rl 0 -5 -3 -7 -7 -7 rc -3 0 -5 2 -5 4 rc 0 1 0 3 2 4 rc
+-4 5 rl -4 -2 -6 -6 -6 -9 rc 0 -7 6 -10 13 -10 rc
+9 0 14 6 14 11 rc 0 8 rl C
+82 0 T
+36 dup scale
+} def
+
+end
+
+/build_LV { % standard ATT logo
+ LOGO-dict-mm begin
+ /w exch def
+ ptsize 29 lt % select globe, # lines depends on point size
+ { /globe /globe8 load def }
+ { /globe /globe12 load def } ifelse
+ gsave
+ currentpoint translate
+ size 2 div dup scale
+ gsave
+ 1.02 1 transform round exch round exch itransform
+ translate
+ globe fill
+ grestore
+ gsave
+ %2.15 .62 translate
+ -0.1 -1.0 translate
+ .78 dup scale
+ ATT fill
+ grestore
+ grestore
+ end
+} def