Annotation of researchv10no/cmd/postscript/devpost/charlib/LH, revision 1.1

1.1     ! root        1: %
        !             2: % PostScript 12 and 8 line logos - horizontal configuration. Switch occurs
        !             3: % automatically below point size 29. Code from Matthijs Melchior.
        !             4: %
        !             5: 
        !             6: /LOGO-dict-mm where not {
        !             7:        64 dict dup /LOGO-dict-mm exch def
        !             8: } if
        !             9: begin          % initialize dictionary
        !            10: 
        !            11: 
        !            12: %!PS
        !            13: /globesetup {
        !            14: /r exch def
        !            15: /N exch def
        !            16: /d 2 N r mul N 1 sub add div def
        !            17: /h d r mul def
        !            18: } def
        !            19: /mkabs {
        !            20: /yp exch def
        !            21: /xl exch def
        !            22: dup dup 0 get xl mul 0 exch put
        !            23: dup dup 1 get h mul yp add 1 exch put
        !            24: dup dup 2 get xl mul 2 exch put
        !            25: dup dup 3 get h mul yp add 3 exch put
        !            26: dup dup 4 get xl mul 4 exch put
        !            27: dup dup 5 get h mul yp add 5 exch put
        !            28: } def
        !            29: /topsegment {
        !            30: /n exch def
        !            31: /y n r mul n .5 add add d mul def
        !            32: /a y 1 y dup mul sub sqrt atan def
        !            33: /x a cos def
        !            34: /c2 exch x y mkabs def
        !            35: /ly1 exch h mul y add def
        !            36: /lx1 exch x abs mul def
        !            37: /c1 exch x y mkabs def
        !            38: x y /moveto load
        !            39: 0 0 1 a 180 a sub /arc load
        !            40: c1 aload pop /curveto load
        !            41: lx1 ly1 /lineto load
        !            42: c2 aload pop /curveto load
        !            43: /closepath load
        !            44: } def
        !            45: /botsegment {
        !            46: /n exch 1 add def
        !            47: /y n r mul n .5 sub add d mul def
        !            48: /a y 1 y dup mul sub sqrt atan def
        !            49: /x a cos def
        !            50: /c2 exch x y mkabs def
        !            51: /ly1 exch h mul y add def
        !            52: /lx1 exch x abs mul def
        !            53: /c1 exch x y mkabs def
        !            54: x y /moveto load
        !            55: 0 0 1 a 540 a sub /arcn load
        !            56: c1 aload pop /curveto load
        !            57: lx1 ly1 /lineto load
        !            58: c2 aload pop /curveto load
        !            59: /closepath load
        !            60: } def
        !            61: /segment {
        !            62: /n exch def
        !            63: /dh exch 1 exch sub 2 div def
        !            64: /ylb n r mul n 0.5 add add d mul def
        !            65: /ylt ylb h add def
        !            66: /yrb ylb h dh mul add def
        !            67: /yrt ylt h dh mul sub def
        !            68: /alb ylb 1 ylb dup mul sub sqrt atan def
        !            69: /alt ylt 1 ylt dup mul sub sqrt atan def
        !            70: /arb yrb 1 yrb dup mul sub sqrt atan 180 exch sub def
        !            71: /art yrt 1 yrt dup mul sub sqrt atan 180 exch sub def
        !            72: /xlb alb cos def
        !            73: /xlt alt cos def
        !            74: /xrb arb cos def
        !            75: /xrt art cos def
        !            76: /c4 exch xrb abs ylb mkabs def
        !            77: /ly2 exch h mul ylb add def
        !            78: /lx2 exch xrb abs mul def
        !            79: /c3 exch xrb abs ylb mkabs def
        !            80: /c2 exch xrt abs ylt mkabs def
        !            81: /ly1 exch h mul ylt add def
        !            82: /lx1 exch xrt abs mul def
        !            83: /c1 exch xrt abs ylt mkabs def
        !            84: xlb ylb /moveto load
        !            85: 0 0 1 alb alt /arc load
        !            86: c2 4 get c2 5 get /lineto load
        !            87: c2 2 get c2 3 get
        !            88: c2 0 get c2 1 get
        !            89: lx1 ly1        /curveto load
        !            90: c1 4 get c1 5 get /lineto load
        !            91: c1 2 get c1 3 get
        !            92: c1 0 get c1 1 get
        !            93: xrt yrt /curveto load
        !            94: 0 0 1 art arb /arc load
        !            95: c3 aload pop /curveto load
        !            96: lx2 ly2 /lineto load
        !            97: c4 aload pop /curveto load
        !            98: /closepath load
        !            99: } def
        !           100: 8 2.5 globesetup
        !           101: /globe8 [
        !           102: /newpath load
        !           103: [ -.9   .1  -.6   .2  -.5   .2  ] -.5   .2  [ -.4   .2   .0  .0  .4  .0 ] 3 topsegment
        !           104: [ -.9  -.35 -.85 -.35 -.8  -.35 ] -.1  -.35 [  .1  -.35  .3  .0  .5  .0 ]
        !           105: [ -.8   .35 -.75  .35 -.7   .35 ] -.1   .35 [  .1   .35  .4  .0  .55 .0 ] .55 2 segment
        !           106: [ -.8  -.35 -.75 -.35 -.7  -.35 ]  .05 -.35 [  .2  -.35  .4  .0  .55 .0 ]
        !           107: [ -.8   .35 -.75  .35 -.7   .35 ]  .05  .35 [  .2   .35  .45 .0  .6  .0 ] .7  1 segment
        !           108: [ -.8  -.35 -.75 -.35 -.7  -.35 ]  .0  -.35 [  .15 -.35  .4  .0  .6  .0 ]
        !           109: [ -.8   .35 -.75  .35 -.7   .35 ]  .0   .35 [  .15  .35  .4  .0  .6  .0 ] .7  0 segment
        !           110: [ -.7  -.35 -.65 -.35 -.6  -.35 ] -.1  -.35 [  .05 -.35  .35 .0  .55 .0 ]
        !           111: [ -.7   .35 -.65  .35 -.6   .35 ] -.1   .35 [  .05  .35  .25 .0  .4  .0 ] .8 -1 segment
        !           112: [ -.65 -.2  -.55 -.2 -.45  -.2  ] -.3   -.2 [ -.2  -.2   .2  .0  .3  .0 ]
        !           113: [ -.65  .1  -.55  .1 -.45   .1  ] -.45  .1  [ -.3   .1  -.1  .0  .0  .0 ] .96 -2 segment
        !           114: [  .0   .0   .0   .0  .0    .0  ]  .0   .0  [  .0   .0   .0  .0  .0  .0 ]
        !           115: [  .0   .0   .0   .0  .0    .0  ]  .0   .0  [  .0   .0   .0  .0  .0  .0 ]  1 -3 segment
        !           116: [  .0   .0   .0   .0  .0    .0  ]  .0   .0  [  .0   .0   .0  .0  .0  .0 ] -4 botsegment
        !           117: ] cvx def
        !           118: 12 3 globesetup
        !           119: /globe12 [
        !           120: /newpath load
        !           121: [ -.8   .2  -.7  .25 -.5   .25 ] -.4  .25 [ -.2   .25  .0  .0  .2  .0 ] 5 topsegment
        !           122: [ -.7  -.35 -.7 -.35 -.6  -.35 ] -.3 -.35 [ -.1  -.35  .3  .0  .55 .0 ]
        !           123: [ -.7   .35 -.7  .35 -.6   .35 ] -.25 .35 [ -.05  .35  .4  .0  .55 .0 ] .6  4 segment
        !           124: [ -.8  -.35 -.7 -.35 -.6  -.35 ] -.1 -.35 [  .1  -.35  .4  .0  .5  .0 ]
        !           125: [ -.8   .35 -.7  .35 -.6   .35 ] -.1  .35 [  .1   .35  .4  .0  .5  .0 ] .7  3 segment
        !           126: [ -.8  -.35 -.7 -.35 -.6  -.35 ]  .0 -.35 [  .1  -.35  .45 .0  .55 .0 ]
        !           127: [ -.8   .35 -.7  .35 -.6   .35 ]  .0  .35 [  .15  .35  .4  .0  .5  .0 ] .8  2 segment
        !           128: [ -.75 -.35 -.7 -.35 -.6  -.35 ]  .0 -.35 [  .2  -.35  .4  .0  .5  .0 ]
        !           129: [ -.75  .35 -.7  .35 -.6   .35 ]  .0  .35 [  .2   .35  .45 .0  .55 .0 ] .9  1 segment
        !           130: [ -.7  -.35 -.6 -.35 -.55 -.35 ]  .0 -.35 [  .1  -.35  .45 .0  .55 .0 ]
        !           131: [ -.7   .35 -.6  .35 -.55  .35 ]  .0  .35 [  .1   .35  .5  .0  .6  .0 ] .9  0 segment
        !           132: ] cvx
        !           133: [
        !           134: [ -.7 -.35 -.6 -.35 -.5  -.35 ] -.15 -.35 [  .0  -.35  .4  .0  .5  .0 ]
        !           135: [ -.65 .35 -.55 .35 -.45  .35 ] -.15  .35 [  .0   .35  .35 .0  .45 .0 ] .9 -1 segment
        !           136: [ -.8 -.1  -.5 -.3  -.4  -.3  ] -.2  -.3  [  .0  -.3   .3  .0  .4  .0 ]
        !           137: [ -.8  .1  -.5  .3  -.4   .3  ] -.2   .3  [  .0   .3   .2  .0  .3  .0 ] 1 -2 segment
        !           138: [ -.7 -.1  -.5 -.15 -.4  -.15 ] -.3  -.15 [ -.2  -.15  .0  .0  .2  .0 ]
        !           139: [ -.7  .05 -.5  .1  -.4   .1  ] -.4   .1  [ -.3   .1   .0  .0  .2  .0 ] 1 -3 segment
        !           140: [  .0  .0   .0  .0   .0   .0  ]  .0   .0  [  .0   .0   .0  .0  .0  .0 ]
        !           141: [  .0  .0   .0  .0   .0   .0  ]  .0   .0  [  .0   .0   .0  .0  .0  .0 ] 1 -4 segment
        !           142: [  .0  .0   .0  .0   .0   .0  ]  .0   .0  [  .0   .0   .0  .0  .0  .0 ]
        !           143: [  .0  .0   .0  .0   .0   .0  ]  .0   .0  [  .0   .0   .0  .0  .0  .0 ] 1 -5 segment
        !           144: [  .0  .0   .0  .0   .0   .0  ]  .0   .0  [  .0   .0   .0  .0  .0  .0 ] -6 botsegment
        !           145: ] cvx
        !           146: 4 array cvx
        !           147: dup 0 5 -1 roll put
        !           148: dup 1 /exec load put
        !           149: dup 2 4 -1 roll put
        !           150: dup 3 /exec load put
        !           151: def
        !           152: 
        !           153: %!PS
        !           154: /l {  lineto } def
        !           155: /rl {  rlineto } def
        !           156: /m {  moveto } def
        !           157: /rm {  rmoveto } def
        !           158: /C { closepath } def
        !           159: /c {  curveto } def
        !           160: /rc {  rcurveto } def
        !           161: /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
        !           162: /ATT {
        !           163: newpath
        !           164: 1 36 div dup scale
        !           165: 0  0 m  12 36 rl  8 0 rl -11 -36 rl C
        !           166: 25  0 m -11 36 rl  8 0 rl  12 -36 rl C
        !           167: 10  7 m   0  7 rl 14 0 rl   0  -7 rl C
        !           168: 36  0 T
        !           169: 80  6 m -3 0 -5 1.2 -6 2 rc -12 10 rl -2.4 2 -2.7 6 0 6 rc
        !           170: 1 0 2 -1 2 -2 rc 0 -4 rl 7 0 rl 0 4 rl
        !           171: 0 5 -3 7 -9 7 rc -6 0 -9 -3 -9 -7 rc
        !           172: 0 -2 0 -3.6 2 -6 rc 12 -10 rl 6 -5 10 -6 13 -6 rc C
        !           173: 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
        !           174: -4 5 rl -4 -2 -6 -6 -6 -9 rc 0 -7 6 -10 13 -10 rc
        !           175: 9 0 14 6 14 11 rc 0 8 rl C
        !           176: 82  0 T
        !           177: 36 dup scale
        !           178: } def
        !           179: 
        !           180: end
        !           181: 
        !           182: /build_LH { % standard ATT logo
        !           183:     LOGO-dict-mm begin
        !           184:        /w exch def
        !           185:        ptsize 29 lt    % select globe, # lines depends on point size
        !           186:                { /globe /globe8 load def }
        !           187:                { /globe /globe12 load def } ifelse
        !           188:        gsave
        !           189:         currentpoint translate
        !           190:         size 2 div dup scale
        !           191:         gsave
        !           192:          1.02 1 transform round exch round exch itransform
        !           193:          translate
        !           194:          globe fill
        !           195:         grestore
        !           196:         gsave
        !           197:          2.15 .62 translate
        !           198:          .78 dup scale
        !           199:          ATT fill
        !           200:         grestore
        !           201:        grestore
        !           202:     end
        !           203: } def

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.