PDSIG\GSUB=JdAOS/2jC$`TSI0NFCTSI1^w[K4wTSI2FTSI3 1ʤTSI5cmapo gxcvt P6HfpgmoĢ\ugasp  glyfr\jFheadR(6hheae`$hmtxbloca|hmaxp}|!L nameTLH!l3postlOU, prepMsb 0TDFLTlatncaltcalt  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~Z~b~^ > f   Z  v V6fF:jJ* zZ:HD@l6 , ~ !"!""`"##V##$R$$%N%&&h&''d'((Z()()z)*0**+8++,4,,-6--.,.~./"/t/00j011`122h23 3|34b4565X556N67$7F7h7777788&8:8H8j88888899$9B9T9b9t99999:9::$:6:P:v:::::;;0;B;\;j;;;;;;<<2<` >2>L>n>>>>>?.?B?d?x????@@,@N&:Pf|::;H;H::;4;4::333:33; :2::::D:::&:Pf|::=<<:<<<<222<2t2t<<2^<<|<|9<66..6./66:/6(:L^p6666555555595556555.L.L5.855555"4H\5j5j5j65X5X55--5-525555"4H\44474477-l-l7-X47v447b"4H\445$44x54x4x,,4f,44R4>44>"4H\4444d444R4R,,4@,x4|4,34h4"4H\334D4D3424242,,4 ,4 4 3^33 4++3+33t333`"4H\22522522+d+d2+P5n225Z2"4H\225622p5$22**2*422642"4H\22442444**4*p4414z4z 4*<*<1*(V11~B1"4H\1Z1Z211H2x11))1)2R1l12>1X$6H\p002202220111)H)H1)411011 4))0(300B30(:L^p0b0b0b0b0P0P0P0P30>0>0>00,0,0,000(T(T0(@/////"4H\///0 ////''/'///p/p/"4H\/L/L/L1/:/:11't't1'`/1~//1j"4H\../,../..''.&....."4H\.l.l0.l.Z0.Z.Z&&.H&0.4. 0. "4H\.L.L&0.L.:&.:.:&$&$.(&%..%."4H\---B-B--0-0-0%%-%- - -,,"4H\-l-l---Z- - - %D%D,%0,,- ,,"4H\,,,,,,,,$$,$,,t,,,`"4H\,,,,,z,z,z,z$d$d,h$P,T,T,@,@,@"4H\,,.l,, .Z, , ##+#.4++. +"4H\++.6++.$++##+#p-+t+`-+`"4H\+n+n+n+n+\+\+\+\##+J#+6+6+"+"+"$6H\p+`+`+`*z+N+N*h*h* +<+<*V""*D"|+*0++*"4H\****H***6*6" " *$" ****)"4H\*n*\!!!*6*""4H\!L!L!L!L!:!:!:!:!@!@!(!,!!!!!"4H\  (( ((( ( (( (("4H\)))))))) ` `) L)))))"4H\)))'~)z)z'l'l'Z)T'F)@)@'2"4H\)))') ) '''l('p(('\"4H\))D(2 ("4H\(((((((((t(`(`(L(L(L"4H\(r(r%%(`%%%00%%%(&%r%r"4H\((%%'%%%%t%`%`'%L%L"4H\'''%(''%%PP%<'Z$'F'F$"4H\'"'"'"'"''''&&&&&&"4H\&&$$&$$$pp$t\$`$`&$L$L"4H\&x&x&x%&f&f%%%x&@%d&,&,%P"4H\&B&B&B#&0&0###|& #%%#l"4H\%%%%%%%%  % %%%%%&8J\p%%%%%%%%%%%%%%%t%|%|%h%h%h"4H\````NNNN<((2.@DDD444$.@Prr.@RR B    .@    .@"""Z"x|"f.@\\DL44$*.@::*.@^$4DTdvpp"``,PP@...@XHH8&"2DTfRBB 2 p  d.@DD4.@ht.@dTTDn2.@NNr>bbR@.@,r .@H88 (x$4DTdv||ll\\L:: 0@RhXXH48&.@ .@dd>T..2 .@bbR>0.@.@n^^N<.@H~ll.@DD4.@DD4.@  F.@|.@\\L* 0@R    |> l Z 0@R     xb f.@BBB222".@DDD4446$.@ .@       t b b.@ B B 2 : .@      "2BRd    z z j rz Hh.@DDD444 $E.@PPP@@@ 0.@ v 0@RF66& h 0@RFFl6\\~&L <*.@ \.@ pp.@PP@ .@ fr.@D44 $U.@D44$~G.@XXDH44d$&N.@0   .@||.@\\Lh*.@  .@<,, .@ffZVJJr:4(.@^^tNdd T,B.@   X H H 8 &.@ P @ @| 0 .@hhhXXX*H66.@   r `.@    x.@4vv.@ l \ \ L^ : 0@R<< b, R R B ~ 2  .@   P  @ @, 0  .@    x x x h V V.@ | l l \ J.@ *  6   0FXZZ J : |S f TR 0FXZZ ,J  : Q\  P"2BRd ( (     .@  b RRB 0"2BXp ` ` ` P P P  @ @ 0 0J   J.@D  4  .@|j.@ rb  R@ 8JN P  @>6$ & 8ANS$* :D8!8A 38ATFTI IJ B T< TuT +H) TvR J  :(, FS U J lBJmnBINUB dI bT _T  {T yBF sD. DH 72H 2 JT ?  DHT&DT  QST  U JUwEHJ ~EG|}BDG oBG)BjpBGINTU IAI ace DFIPRT Tz`FT2FtuvDF-D iDISghIQRfHJP8HVHT 6ML3DH332| SAJA@ " $ NT4    ^ 8    <NlN2j4 D!8" #<$%&' (,!z)"*#|+ $2,%<-&B.'`/(f0)D1*@2*3+4,5-f6`.,7F.8091:2`;3@<4R= 5<>6\?7\@8A9 B: C:D; E;F<G =<H>\In?,J@KA*LbAMbBNB~OC,PCQDRESF|TbG.UGVbHWxHXxHYIpZI[zJ\K]K^L._L`MaNb,OvcPd$QeRfSg,ThViWjYvkzZ*lZm[6n.\,oz]Zp]qz^r_$s,_t`uXavBc:wzd|xzdyepzf{8g|zhV}zh~ziJbizk&kzl4zlm(&oq@zs"xs@tvTx|n\zd2 ,z6Br|>nF\dD"j4HH|P(j|\n*~*xFJ$z"V288F>$$zb|tł(P|xʊ˚\̶\Ln|к46*jVӔDՀZd@t.ݢ<ޞT2@R4[w/* TT glyph 0, char 0xffff */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 2, 18, 114 CALL[], 2, 7, 106 CALL[], 3, 16, 114 CALL[], 3, 6, 106 IUP[Y] IUP[X] /* TT glyph 1, char 0x20 */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ /* TT glyph 2, char 0x41 (A) */ /* VTT 6.31 compiler Tue Aug 27 17:35:25 2019 */ SVTCA[Y] MIAP[R], 2, 8 SHP[1], 7 MIAP[R], 4, 2 SRP2[], 7 IP[], 8 MDAP[R], 8 CALL[], 8, 0, 106 SRP1[], 2 SRP2[], 4 IP[], 10 IUP[Y] IUP[X] /* TT glyph 3, char 0x42 (B) */ /* VTT 6.31 compiler Tue Aug 27 17:36:20 2019 */ SVTCA[Y] CALL[], 7, 8, 114 CALL[], 7, 33, 106 CALL[], 8, 2, 114 CALL[], 8, 17, 106 SRP2[], 7 IP[], 32 MDAP[R], 32 CALL[], 32, 18, 106 IP[], 16 IP[], 15 IUP[Y] IUP[X] /* TT glyph 4, char 0x43 (C) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 5, 3, 114 CALL[], 5, 11, 106 CALL[], 23, 9, 114 CALL[], 23, 18, 106 SRP1[], 11 IP[], 9 MDAP[R], 9 IUP[Y] IUP[X] /* TT glyph 5, char 0x44 (D) */ /* VTT 6.31 compiler Tue Aug 27 17:37:44 2019 */ SVTCA[Y] CALL[], 6, 8, 114 CALL[], 6, 15, 106 CALL[], 7, 2, 114 CALL[], 7, 14, 106 IUP[Y] IUP[X] /* TT glyph 6, char 0x45 (E) */ /* VTT 6.31 compiler Tue Aug 27 17:37:59 2019 */ SVTCA[Y] CALL[], 8, 8, 114 CALL[], 8, 5, 106 CALL[], 9, 2, 114 CALL[], 9, 0, 106 SRP2[], 8 IP[], 1 MDAP[R], 1 CALL[], 1, 4, 106 IUP[Y] IUP[X] /* TT glyph 7, char 0x46 (F) */ /* VTT 6.31 compiler Tue Aug 27 17:38:12 2019 */ SVTCA[Y] CALL[], 6, 8, 114 CALL[], 7, 2, 114 CALL[], 7, 0, 106 SRP2[], 6 IP[], 1 MDAP[R], 1 CALL[], 1, 4, 106 IUP[Y] IUP[X] /* TT glyph 8, char 0x47 (G) */ /* VTT 6.31 compiler Tue Aug 27 17:38:29 2019 */ SVTCA[Y] CALL[], 3, 9, 114 CALL[], 3, 22, 106 CALL[], 9, 3, 114 CALL[], 9, 15, 106 SRP2[], 3 IP[], 12 IP[], 26 MDAP[R], 12 MDAP[R], 26 CALL[], 26, 27, 106 IUP[Y] IUP[X] /* TT glyph 9, char 0x48 (H) */ /* VTT 6.31 compiler Tue Aug 27 17:39:20 2019 */ SVTCA[Y] MIAP[R], 6, 8 SHP[1], 1 MIAP[R], 7, 2 SHP[1], 0 SRP2[], 6 IP[], 9 MDAP[R], 9 CALL[], 9, 4, 106 IUP[Y] IUP[X] /* TT glyph 10, char 0x49 (I) */ /* VTT 6.31 compiler Tue Aug 27 17:39:56 2019 */ SVTCA[Y] CALL[], 4, 8, 114 CALL[], 4, 5, 106 SHP[2], 2 CALL[], 9, 2, 114 CALL[], 9, 8, 106 SHP[2], 11 IUP[Y] IUP[X] /* TT glyph 11, char 0x4a (J) */ /* VTT 6.31 compiler Tue Aug 27 17:40:43 2019 */ SVTCA[Y] CALL[], 4, 9, 114 CALL[], 4, 12, 106 CALL[], 18, 2, 114 CALL[], 18, 17, 106 SRP1[], 12 IP[], 9 MDAP[R], 9 IUP[Y] IUP[X] /* TT glyph 12, char 0x4b (K) */ /* VTT 6.31 compiler Tue Aug 27 17:40:58 2019 */ SVTCA[Y] CALL[], 4, 8, 114 SHP[2], 17 CALL[], 5, 2, 114 SHP[2], 12 SRP2[], 17 IP[], 7 CALL[], 7, 2, 106 IP[], 0 IP[], 15 IUP[Y] IUP[X] /* TT glyph 13, char 0x4c (L) */ /* VTT 6.31 compiler Tue Aug 27 17:41:30 2019 */ SVTCA[Y] CALL[], 2, 8, 114 CALL[], 2, 5, 106 CALL[], 3, 2, 114 IUP[Y] IUP[X] /* TT glyph 14, char 0x4d (M) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 10, 8, 114 SHP[2], 2 CALL[], 12, 2, 114 SHP[2], 15 SRP2[], 2 IP[], 13 MDAP[R], 13 CALL[], 13, 6, 106 CALL[], 13, 8, 105 SHP[2], 3 IUP[Y] IUP[X] /* TT glyph 15, char 0x4e (N) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 7, 8, 114 SHP[2], 3 CALL[], 9, 2, 114 SHP[2], 1 SRP2[], 3 IP[], 10 IP[], 4 IUP[Y] IUP[X] /* TT glyph 16, char 0x4f (O) */ /* VTT 6.31 compiler Tue Aug 27 17:42:11 2019 */ SVTCA[Y] CALL[], 3, 3, 114 CALL[], 3, 11, 106 CALL[], 7, 9, 114 CALL[], 7, 15, 106 IUP[Y] IUP[X] /* TT glyph 17, char 0x50 (P) */ /* VTT 6.31 compiler Tue Aug 27 17:42:24 2019 */ SVTCA[Y] CALL[], 10, 8, 114 CALL[], 11, 2, 114 CALL[], 11, 19, 106 SRP2[], 10 IP[], 20 MDAP[R], 20 CALL[], 20, 8, 106 IUP[Y] IUP[X] /* TT glyph 18, char 0x51 (Q) */ /* VTT 6.31 compiler Tue Aug 27 17:42:46 2019 */ SVTCA[Y] CALL[], 4, 14, 114 CALL[], 4, 1, 106 CALL[], 7, 9, 114 SHP[2], 15 CALL[], 7, 18, 106 CALL[], 11, 3, 114 CALL[], 11, 22, 106 IUP[Y] IUP[X] /* TT glyph 19, char 0x52 (R) */ /* VTT 6.31 compiler Tue Aug 27 17:43:03 2019 */ SVTCA[Y] CALL[], 5, 8, 114 SHP[2], 15 CALL[], 6, 2, 114 CALL[], 6, 24, 106 SRP2[], 5 IP[], 16 MDAP[R], 16 CALL[], 16, 3, 106 IP[], 14 IUP[Y] IUP[X] /* TT glyph 20, char 0x53 (S) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 5, 9, 114 CALL[], 5, 10, 106 CALL[], 23, 3, 114 CALL[], 23, 31, 106 SRP1[], 10 IP[], 28 MDAP[R], 28 SRP2[], 10 SLOOP[], 8 IP[], 13, 2, 15, 16, 38, 37, 19, 34 IUP[Y] IUP[X] /* TT glyph 21, char 0x54 (T) */ /* VTT 6.31 compiler Tue Aug 27 17:43:38 2019 */ SVTCA[Y] CALL[], 3, 8, 114 CALL[], 6, 2, 114 CALL[], 6, 5, 106 SHP[2], 1 IUP[Y] IUP[X] /* TT glyph 22, char 0x55 (U) */ /* VTT 6.31 compiler Tue Aug 27 17:43:53 2019 */ SVTCA[Y] CALL[], 16, 8, 114 CALL[], 2, 2, 114 CALL[], 16, 7, 106 SRP1[], 2 SHP[1], 12 IUP[Y] IUP[X] /* TT glyph 23, char 0x56 (V) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 0, 2, 114 SHP[2], 5 CALL[], 7, 9, 114 SRP2[], 0 IP[], 2 IUP[Y] IUP[X] /* TT glyph 24, char 0x57 (W) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 7, 9, 114 SHP[2], 3 CALL[], 8, 2, 114 SHP[2], 1 SRP1[], 3 SRP2[], 1 IP[], 13 MDAP[R], 13 SRP2[], 3 SLOOP[], 3 IP[], 14, 11, 4 IUP[Y] IUP[X] /* TT glyph 25, char 0x58 (X) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 6, 8, 114 SHP[2], 3 CALL[], 8, 2, 114 SHP[2], 11 SRP1[], 3 SLOOP[], 4 IP[], 10, 7, 1, 4 IUP[Y] IUP[X] /* TT glyph 26, char 0x59 (Y) */ /* VTT 6.31 compiler Tue Aug 27 17:44:41 2019 */ SVTCA[Y] CALL[], 2, 8, 114 CALL[], 4, 2, 114 SHP[2], 8 SRP2[], 2 SLOOP[], 3 IP[], 3, 0, 6 IUP[Y] IUP[X] /* TT glyph 27, char 0x5a (Z) */ /* VTT 6.31 compiler Tue Aug 27 17:45:36 2019 */ SVTCA[Y] CALL[], 1, 8, 114 CALL[], 1, 0, 106 SHP[2], 3 CALL[], 6, 2, 114 CALL[], 6, 5, 106 SHP[2], 8 IUP[Y] IUP[X] /* TT glyph 28, char 0x61 (a) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 1, 10, 114 SHP[2], 2 CALL[], 1, 0, 106 SHP[2], 26 CALL[], 7, 11, 114 SHP[2], 3 CALL[], 7, 40, 106 SHP[2], 30 CALL[], 21, 7, 114 CALL[], 21, 20, 106 SRP1[], 7 IP[], 13 SRP1[], 13 SHP[1], 15 CALL[], 13, 34, 106 SHP[2], 31 IUP[Y] IUP[X] /* TT glyph 29, char 0x62 (b) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 7, 11, 114 SHP[2], 9 CALL[], 7, 26, 106 CALL[], 10, 0, 114 CALL[], 15, 7, 114 SHP[2], 13 CALL[], 15, 21, 106 SHP[2], 23 IUP[Y] IUP[X] /* TT glyph 30, char 0x63 (c) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 7, 7, 114 CALL[], 7, 15, 106 CALL[], 26, 11, 114 CALL[], 26, 21, 106 SRP1[], 15 IP[], 12 IUP[Y] IUP[X] /* TT glyph 31, char 0x64 (d) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 0, 0, 114 CALL[], 1, 10, 114 SHP[2], 2 CALL[], 7, 11, 114 SHP[2], 3 CALL[], 7, 31, 106 SHP[2], 22 CALL[], 15, 7, 114 SHP[2], 19 CALL[], 15, 25, 106 SHP[2], 23 IUP[Y] IUP[X] /* TT glyph 32, char 0x65 (e) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 10, 11, 114 CALL[], 10, 5, 106 CALL[], 18, 7, 114 CALL[], 18, 25, 106 SRP2[], 10 IP[], 2 MDAP[R], 2 CALL[], 2, 28, 106 SHP[2], 21 IUP[Y] IUP[X] /* TT glyph 33, char 0x66 (f) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 7, 10, 114 CALL[], 15, 1, 114 CALL[], 15, 20, 106 SRP2[], 7 IP[], 2 MDAP[R], 2 SHP[1], 10 CALL[], 2, 5, 106 SHP[2], 9 IUP[Y] IUP[X] /* TT glyph 34, char 0x67 (g) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 6, 15, 114 CALL[], 6, 7, 106 CALL[], 16, 11, 114 SHP[2], 12 CALL[], 16, 40, 106 SHP[2], 31 CALL[], 24, 7, 114 SHP[2], 28 CALL[], 24, 34, 106 SHP[2], 32 CALL[], 29, 6, 114 IUP[Y] IUP[X] /* TT glyph 35, char 0x68 (h) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 12, 10, 114 SHP[2], 4 CALL[], 13, 0, 114 CALL[], 19, 7, 114 SHP[2], 16 CALL[], 19, 8, 106 SHP[2], 10 IUP[Y] IUP[X] /* TT glyph 36, char 0x69 (i) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 7, 1, 114 CALL[], 7, 15, 106 CALL[], 19, 10, 114 CALL[], 19, 20, 106 SHP[2], 16 CALL[], 24, 6, 114 CALL[], 24, 23, 106 IUP[Y] IUP[X] /* TT glyph 37, char 0x6a (j) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 7, 1, 114 CALL[], 7, 15, 106 CALL[], 21, 15, 114 CALL[], 21, 22, 106 CALL[], 29, 6, 114 CALL[], 29, 28, 106 IUP[Y] IUP[X] /* TT glyph 38, char 0x6b (k) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 6, 10, 114 SHP[2], 18 CALL[], 7, 0, 114 CALL[], 14, 6, 114 SRP2[], 6 IP[], 9 MDAP[R], 9 CALL[], 9, 4, 106 IP[], 1 IP[], 17 IUP[Y] IUP[X] /* TT glyph 39, char 0x6c (l) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 3, 11, 114 CALL[], 10, 0, 114 CALL[], 10, 9, 106 CALL[], 3, 16, 106 IUP[Y] IUP[X] /* TT glyph 40, char 0x6d (m) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 19, 10, 114 SHP[2], 12 SRP1[], 12 SHP[1], 4 CALL[], 20, 6, 114 CALL[], 26, 7, 114 SHP[2], 23 CALL[], 26, 15, 106 SHP[2], 17 SHP[1], 33 SRP1[], 33 SHP[1], 30 CALL[], 33, 8, 106 SHP[2], 10 IUP[Y] IUP[X] /* TT glyph 41, char 0x6e (n) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 12, 10, 114 SHP[2], 4 CALL[], 13, 6, 114 CALL[], 19, 7, 114 SHP[2], 16 CALL[], 19, 8, 106 SHP[2], 10 IUP[Y] IUP[X] /* TT glyph 42, char 0x6f (o) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 15, 11, 114 CALL[], 7, 7, 114 CALL[], 7, 21, 106 CALL[], 15, 27, 106 IUP[Y] IUP[X] /* TT glyph 43, char 0x70 (p) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 7, 11, 114 SHP[2], 10 CALL[], 7, 31, 106 SHP[2], 29 CALL[], 13, 14, 114 CALL[], 14, 6, 114 CALL[], 20, 7, 114 SHP[2], 17 CALL[], 20, 26, 106 SHP[2], 28 IUP[Y] IUP[X] /* TT glyph 44, char 0x71 (q) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 0, 6, 114 CALL[], 1, 14, 114 CALL[], 7, 11, 114 SHP[2], 3 CALL[], 7, 31, 106 SHP[2], 22 CALL[], 15, 7, 114 SHP[2], 19 CALL[], 15, 25, 106 SHP[2], 23 IUP[Y] IUP[X] /* TT glyph 45, char 0x72 (r) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 14, 10, 114 CALL[], 14, 15, 106 SHP[2], 11 CALL[], 19, 6, 114 CALL[], 19, 18, 106 CALL[], 25, 7, 114 SHP[2], 22 CALL[], 25, 7, 106 SHP[2], 10 SRP1[], 11 IP[], 4 MDAP[R], 4 IUP[Y] IUP[X] /* TT glyph 46, char 0x73 (s) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 20, 7, 114 SHP[2], 22 CALL[], 20, 25, 106 CALL[], 40, 11, 114 SHP[2], 2 CALL[], 40, 5, 106 SRP1[], 25 SLOOP[], 8 IP[], 8, 36, 11, 12, 32, 31, 16, 28 IUP[Y] IUP[X] /* TT glyph 47, char 0x74 (t) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 2, 11, 114 CALL[], 2, 20, 106 CALL[], 13, 6, 114 SHP[2], 9 CALL[], 13, 11, 106 CALL[], 13, 16, 106 SHP[2], 8 IUP[Y] IUP[X] /* TT glyph 48, char 0x75 (u) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 1, 10, 114 SHP[2], 2 CALL[], 1, 0, 106 SHP[2], 22 CALL[], 7, 11, 114 SHP[2], 4 CALL[], 7, 16, 106 SHP[2], 19 CALL[], 11, 7, 114 SHP[2], 21 IUP[Y] IUP[X] /* TT glyph 49, char 0x76 (v) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 0, 6, 114 SHP[2], 5 CALL[], 7, 11, 114 SRP1[], 5 IP[], 3 IUP[Y] IUP[X] /* TT glyph 50, char 0x77 (w) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 7, 11, 114 SHP[2], 3 CALL[], 8, 6, 114 SRP1[], 3 SLOOP[], 3 IP[], 4, 11, 15 SHP[2], 13 SRP1[], 13 SHP[1], 1 IUP[Y] IUP[X] /* TT glyph 51, char 0x78 (x) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 6, 10, 114 SHP[2], 3 CALL[], 8, 6, 114 SHP[2], 11 SRP1[], 3 SLOOP[], 4 IP[], 10, 1, 7, 4 IUP[Y] IUP[X] /* TT glyph 52, char 0x79 (y) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 6, 15, 114 CALL[], 6, 7, 106 CALL[], 12, 10, 114 CALL[], 13, 6, 114 SHP[2], 18 SRP1[], 12 IP[], 16 IUP[Y] IUP[X] /* TT glyph 53, char 0x7a (z) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 3, 10, 114 CALL[], 3, 0, 106 SHP[2], 4 CALL[], 7, 6, 114 CALL[], 7, 6, 106 SHP[2], 9 IUP[Y] IUP[X] /* VTTTalk Unicode 0xffff */ /* ACT generated Thu Aug 15 21:20:18 2019 */ OFFSET[r], 155, 0, 0 /* TT glyph 55, char 0xffff */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] MIAP[R], 1, 16 SHP[1], 24 MIAP[R], 2, 19 SRP2[], 1 IP[], 45 MDAP[R], 45 SRP2[], 2 IP[], 46 IP[], 4 SRP1[], 46 SHP[1], 42 SRP1[], 42 SHP[1], 38 SRP1[], 38 SHP[1], 34 SRP1[], 34 SHP[1], 30 SRP1[], 30 SHP[1], 26 SRP1[], 4 SHP[1], 8 SRP1[], 8 SHP[1], 12 SRP1[], 12 SHP[1], 16 SRP1[], 16 SHP[1], 20 SRP1[], 45 SHP[1], 41 SRP1[], 41 SHP[1], 37 SRP1[], 37 SHP[1], 33 SRP1[], 33 SHP[1], 29 SHP[2], 6 SRP1[], 6 SHP[1], 10 SRP1[], 10 SHP[1], 14 SRP1[], 14 SHP[1], 18 SRP1[], 18 SHP[1], 22 IUP[Y] IUP[X] /* TT glyph 56, char 0x30 (0) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 3, 5, 114 CALL[], 3, 11, 106 CALL[], 7, 13, 114 CALL[], 7, 15, 106 SRP1[], 11 IP[], 31 IP[], 23 IUP[Y] IUP[X] /* TT glyph 57, char 0x31 (1) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 3, 12, 114 CALL[], 3, 4, 106 SHP[2], 0 CALL[], 9, 4, 114 CALL[], 9, 6, 106 IUP[Y] IUP[X] /* TT glyph 58, char 0x32 (2) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 2, 12, 114 CALL[], 2, 23, 106 SHP[2], 3 CALL[], 16, 5, 114 CALL[], 16, 8, 106 SRP1[], 23 IP[], 11 MDAP[R], 11 IUP[Y] IUP[X] /* TT glyph 59, char 0x33 (3) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 7, 13, 114 CALL[], 7, 12, 106 CALL[], 34, 5, 114 CALL[], 34, 26, 106 SRP1[], 12 IP[], 10 IP[], 29 MDAP[R], 10 MDAP[R], 29 SRP2[], 10 SLOOP[], 3 IP[], 42, 41, 20 IUP[Y] IUP[X] /* TT glyph 60, char 0x34 (4) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 3, 12, 114 CALL[], 13, 4, 114 SRP2[], 3 IP[], 14 MDAP[R], 14 SRP2[], 13 IP[], 9 SHP[1], 10 CALL[], 14, 2, 106 SHP[2], 6 IUP[Y] IUP[X] /* TT glyph 61, char 0x35 (5) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 6, 13, 114 CALL[], 6, 14, 106 CALL[], 23, 4, 114 CALL[], 23, 26, 106 SRP2[], 6 IP[], 29 IP[], 11 MDAP[R], 29 MDAP[R], 11 SRP1[], 29 SHP[1], 27 CALL[], 29, 19, 106 SHP[2], 21 IUP[Y] IUP[X] /* TT glyph 62, char 0x36 (6) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 6, 13, 114 CALL[], 6, 33, 106 CALL[], 14, 4, 114 CALL[], 14, 15, 106 SRP2[], 6 IP[], 22 MDAP[R], 22 SHP[1], 19 CALL[], 22, 28, 106 SHP[2], 31 IUP[Y] IUP[X] /* TT glyph 63, char 0x37 (7) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 2, 12, 114 CALL[], 7, 4, 114 CALL[], 7, 4, 106 SRP1[], 2 IP[], 5 IUP[Y] IUP[X] /* TT glyph 64, char 0x38 (8) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 6, 13, 114 CALL[], 6, 53, 106 CALL[], 21, 5, 114 CALL[], 21, 38, 106 SRP2[], 6 IP[], 32 CALL[], 32, 47, 106 SLOOP[], 4 IP[], 29, 13, 14, 28 IUP[Y] IUP[X] /* TT glyph 65, char 0x39 (9) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 7, 12, 114 CALL[], 7, 8, 106 CALL[], 22, 5, 114 CALL[], 22, 27, 106 SRP2[], 7 IP[], 33 SRP1[], 33 SHP[1], 25 CALL[], 33, 15, 106 SHP[2], 11 IUP[Y] IUP[X] /* TT glyph 66, char 0x2e (.) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 15, 19, 114 CALL[], 15, 7, 106 IUP[Y] IUP[X] /* TT glyph 67, char 0x2c (,) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] MDAP[R], 0 CALL[], 0, 2, 106 IUP[Y] IUP[X] /* TT glyph 68, char 0x3a (:) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 7, 7, 114 CALL[], 7, 15, 106 CALL[], 31, 19, 114 CALL[], 31, 23, 106 IUP[Y] IUP[X] /* TT glyph 69, char 0x3b (;) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 7, 7, 114 CALL[], 7, 15, 106 MDAP[R], 19 CALL[], 19, 17, 106 IUP[Y] IUP[X] /* TT glyph 70, char 0x21 (!) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 1, 16, 114 CALL[], 19, 19, 114 CALL[], 19, 11, 106 CALL[], 11, 2, 105 IUP[Y] IUP[X] /* TT glyph 71, char 0x3f (?) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 14, 3, 114 CALL[], 14, 6, 106 CALL[], 41, 11, 114 CALL[], 41, 33, 106 CALL[], 33, 24, 105 SRP1[], 6 IP[], 9 MDAP[R], 9 SRP2[], 6 IP[], 18 IP[], 3 SRP2[], 24 IP[], 1 IP[], 20 IUP[Y] IUP[X] /* TT glyph 72, char 0x2a (*) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 11, 134, 114 CALL[], 11, 5, 105 SHP[2], 3 SLOOP[], 11 IP[], 2, 6, 4, 1, 7, 8, 0, 10, 13, 14, 9 IUP[Y] IUP[X] /* TT glyph 73, char 0x23 (#) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 11, 18, 114 SHP[2], 7 CALL[], 20, 16, 114 SHP[2], 25 SRP1[], 11 IP[], 30 IP[], 14 MDAP[R], 30 MDAP[R], 14 SRP1[], 30 SHP[1], 1 SHP[1], 17 CALL[], 30, 22, 106 SHP[2], 18 SHP[2], 26 SRP1[], 14 SHP[1], 2 SHP[1], 31 CALL[], 14, 13, 106 SHP[2], 5 SHP[2], 9 IUP[Y] IUP[X] /* TT glyph 74, char 0x2f (/) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 0, 136, 114 CALL[], 0, 2, 106 IUP[Y] IUP[X] /* TT glyph 75, char 0x5c (\) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 0, 136, 114 CALL[], 0, 2, 106 IUP[Y] IUP[X] /* VTTTalk Unicode 0xffff */ /* ACT generated Thu Aug 15 21:20:18 2019 */ OFFSET[R], 72, 2, -140 /* VTTTalk Unicode 0xffff */ /* ACT generated Thu Aug 15 21:20:18 2019 */ OFFSET[R], 68, 0, 170 /* TT glyph 78, char 0x28 (() */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] MDAP[R], 7 CALL[], 7, 10, 106 CALL[], 7, 21, 105 CALL[], 21, 18, 106 IUP[Y] IUP[X] /* TT glyph 79, char 0x29 ()) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] MDAP[R], 10 CALL[], 10, 9, 106 CALL[], 10, 20, 105 CALL[], 20, 21, 106 IUP[Y] IUP[X] /* TT glyph 80, char 0x7b ({) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] MDAP[R], 21 CALL[], 21, 26, 106 CALL[], 21, 54, 105 CALL[], 54, 49, 106 SRP2[], 21 IP[], 11 MDAP[R], 11 CALL[], 11, 10, 106 IP[], 38 IP[], 37 IUP[Y] IUP[X] /* TT glyph 81, char 0x7d (}) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] MDAP[R], 32 CALL[], 32, 27, 106 CALL[], 32, 54, 105 CALL[], 54, 4, 106 SRP2[], 32 IP[], 42 MDAP[R], 42 CALL[], 42, 43, 106 IP[], 15 IP[], 16 IUP[Y] IUP[X] /* TT glyph 82, char 0x5b ([) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] MDAP[R], 6 CALL[], 6, 1, 106 SRP0[], 6 MDRP[m>RBl], 5 CALL[], 5, 2, 106 IUP[Y] IUP[X] /* TT glyph 83, char 0x5d (]) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] MDAP[R], 7 CALL[], 7, 6, 106 SRP0[], 7 MDRP[mRBl], 10 SHP[2], 6 CALL[], 6, 3, 106 IUP[Y] IUP[X] /* TT glyph 105, char 0xffff */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 11, 18, 114 SHP[2], 6 MDRP[m) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 5, 135, 114 CALL[], 5, 3, 106 CALL[], 3, 4, 106 CALL[], 5, 6, 106 CALL[], 6, 0, 106 CALL[], 0, 7, 106 SRP1[], 6 SRP2[], 5 IP[], 1 IP[], 2 IUP[Y] IUP[X] /* TT glyph 159, char 0x3c (<) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 1, 135, 114 CALL[], 1, 0, 106 IP[], 5 IP[], 4 CALL[], 0, 6, 106 CALL[], 6, 7, 106 CALL[], 1, 3, 106 CALL[], 3, 2, 106 IUP[Y] IUP[X] /* TT glyph 160, char 0x7e (~) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] MDAP[R], 11 CALL[], 11, 8, 105 CALL[], 8, 16, 106 CALL[], 11, 25, 105 CALL[], 25, 22, 105 CALL[], 22, 2, 106 IUP[Y] IUP[X] /* TT glyph 161, char 0x5e (^) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 0, 16, 114 CALL[], 0, 2, 105 SHP[2], 7 IP[], 4 IUP[Y] IUP[X] /* TT glyph 162, char 0x25 (%) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 7, 17, 114 CALL[], 7, 21, 106 CALL[], 21, 27, 105 CALL[], 27, 15, 106 SMD[], 160 MDRP[m>RWh], 28 CALL[], 28, 31, 106 CALL[], 47, 19, 114 CALL[], 47, 59, 106 CALL[], 59, 53, 105 CALL[], 53, 39, 106 MDRP[m>RWh], 30 CALL[], 30, 29, 106 IUP[Y] IUP[X] /* VTTTalk Unicode 0xffff */ /* ACT generated Thu Aug 15 21:20:18 2019 */ OFFSET[R], 153, 0, -178 /* TT glyph 164, char 0x40 (@) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 36, 19, 114 CALL[], 36, 31, 106 MDRP[m>RWh], 10 SHP[2], 5 SHP[2], 6 CALL[], 10, 54, 106 CALL[], 43, 17, 114 CALL[], 43, 24, 106 MDRP[m>RWh], 16 SHP[2], 19 CALL[], 16, 49, 106 IUP[Y] IUP[X] /* TT glyph 165, char 0x26 (&) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 3, 19, 114 CALL[], 3, 47, 106 CALL[], 16, 17, 114 CALL[], 16, 23, 106 SRP1[], 3 IP[], 32 IP[], 20 MDAP[R], 32 MDAP[R], 20 SRP1[], 3 SRP2[], 32 SLOOP[], 5 IP[], 1, 38, 35, 30, 10 SRP1[], 20 IP[], 26 IP[], 13 CALL[], 10, 40, 106 CALL[], 36, 18, 114 IUP[Y] IUP[X] /* TT glyph 166, char 0x7c (|) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] MIAP[R], 0, 133 MDRP[m>RBl], 2 IUP[Y] IUP[X] /* TT glyph 167, char 0xffff */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 5, 18, 114 CALL[], 10, 19, 114 SHP[2], 6 CALL[], 10, 54, 106 SMD[], 96 SRP0[], 10 MDRP[m>RWh], 32 CALL[], 32, 37, 106 CALL[], 17, 7, 114 SHP[2], 20 CALL[], 17, 49, 106 SRP0[], 17 MDRP[m>RWh], 25 CALL[], 25, 44, 106 IUP[Y] IUP[X] /* TT glyph 168, char 0xffff */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 3, 18, 114 SHP[2], 34 CALL[], 6, 19, 114 SHP[2], 37 CALL[], 6, 73, 106 SHP[2], 80 CALL[], 16, 17, 114 SHP[2], 47 SRP2[], 3 IP[], 32 IP[], 20 MDAP[R], 32 MDAP[R], 20 SRP1[], 32 SLOOP[], 9 IP[], 35, 4, 75, 68, 65, 1, 60, 30, 10 SRP1[], 10 SHP[1], 41 CALL[], 10, 69, 106 SHP[2], 76 SRP1[], 32 SHP[1], 62 SRP1[], 20 SHP[1], 50 CALL[], 16, 23, 106 SHP[2], 53 IUP[Y] IUP[X] /* TT glyph 169, char 0xffff */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] MIAP[R], 0, 131 CALL[], 0, 1, 106 MIAP[R], 5, 133 MDRP[m>RBl], 4 IUP[Y] IUP[X] /* TT glyph 170, char 0xffff */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] MIAP[R], 1, 133 MDRP[m>RBl], 0 SLOOP[], 3 IP[], 19, 7, 52 CALL[], 7, 8, 106 IP[], 35 IP[], 36 IUP[Y] IUP[X] /* TT glyph 171, char 0xffff */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] MIAP[R], 1, 133 MDRP[m>RBl], 0 SHP[2], 6 CALL[], 6, 7, 106 SRP1[], 1 SHP[1], 11 CALL[], 11, 10, 106 IUP[Y] IUP[X] /* VTTTalk Unicode 0xffff */ /* ACT generated Thu Aug 15 21:20:18 2019 */ OFFSET[r], 166, -80, 0 OFFSET[r], 166, -1120, 0 /* TT glyph 173, char 0xffff */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] MIAP[R], 1, 133 SHP[1], 5 MDRP[m>RBl], 3 SHP[2], 4 CALL[], 9, 135, 114 CALL[], 9, 8, 106 CALL[], 9, 10, 106 CALL[], 10, 11, 106 SRP1[], 8 SLOOP[], 4 IP[], 15, 12, 13, 14 IUP[Y] IUP[X] /* TT glyph 174, char 0xffff */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] MIAP[R], 1, 133 SHP[1], 12 MDRP[m>RBl], 3 SHP[2], 11 MIAP[R], 14, 132 CALL[], 14, 5, 106 MDRP[mRWh], 4 CALL[], 4, 3, 106 SRP0[], 14 MDRP[m>RWh], 17 CALL[], 17, 0, 106 IUP[Y] IUP[X] /* TT glyph 187, char 0xffff */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] MIAP[R], 14, 132 CALL[], 14, 13, 106 CALL[], 13, 8, 105 SLOOP[], 4 IP[], 2, 10, 11, 1 CALL[], 8, 7, 106 SMD[], 96 MDRP[m>RWh], 4 CALL[], 4, 3, 106 SRP0[], 14 MDRP[m>RWh], 17 CALL[], 17, 0, 106 IUP[Y] IUP[X] /* TT glyph 188, char 0xffff */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] MIAP[R], 10, 16 CALL[], 10, 9, 106 CALL[], 9, 4, 105 CALL[], 4, 3, 106 SMD[], 96 MDRP[m>RWh], 0 SHP[2], 22 CALL[], 0, 17, 106 SHP[2], 21 SRP1[], 4 SRP2[], 9 SLOOP[], 8 IP[], 20, 16, 23, 6, 7, 24, 15, 19 SRP0[], 10 MDRP[m>RWh], 13 SHP[2], 25 CALL[], 13, 14, 106 SHP[2], 18 IUP[Y] IUP[X] /* TT glyph 189, char 0xffff */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] MIAP[R], 3, 132 CALL[], 3, 0, 105 SHP[2], 6 CALL[], 0, 5, 106 SHP[2], 13 CALL[], 3, 2, 106 CALL[], 2, 14, 105 SLOOP[], 4 IP[], 11, 8, 7, 12 CALL[], 14, 19, 106 CALL[], 19, 16, 105 SHP[2], 9 CALL[], 16, 17, 106 SHP[2], 10 IUP[Y] IUP[X] /* TT glyph 190, char 0xffff */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] MIAP[R], 14, 132 SHP[1], 19 CALL[], 14, 13, 106 SHP[2], 0 MDRP[mRWh], 4 SHP[2], 9 CALL[], 4, 3, 106 SHP[2], 8 SRP0[], 18 MDRP[m>RWh], 21 SHP[2], 16 CALL[], 21, 0, 106 SHP[2], 17 IUP[Y] IUP[X] /* TT glyph 196, char 0xffff */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 13, 135, 114 SHP[2], 5 CALL[], 13, 11, 106 SHP[2], 3 CALL[], 11, 12, 106 SHP[2], 4 CALL[], 13, 14, 106 SHP[2], 6 SLOOP[], 4 IP[], 1, 9, 10, 2 CALL[], 14, 8, 106 SHP[2], 0 CALL[], 8, 15, 106 SHP[2], 7 IUP[Y] IUP[X] /* TT glyph 197, char 0xffff */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] MIAP[R], 17, 131 SHP[1], 0 CALL[], 17, 10, 106 SHP[2], 1 SLOOP[], 4 IP[], 13, 4, 5, 14 CALL[], 10, 12, 106 SHP[2], 3 CALL[], 12, 11, 106 SHP[2], 2 CALL[], 17, 15, 106 SHP[2], 6 CALL[], 15, 16, 106 SHP[2], 7 IUP[Y] IUP[X] /* TT glyph 198, char 0xffff */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] MIAP[R], 8, 132 CALL[], 8, 11, 106 CALL[], 11, 15, 105 SLOOP[], 4 IP[], 1, 4, 5, 0 CALL[], 15, 18, 106 CALL[], 18, 14, 106 SHP[2], 3 CALL[], 14, 19, 106 SHP[2], 2 CALL[], 8, 12, 106 SHP[2], 6 CALL[], 12, 13, 106 SHP[2], 7 IUP[Y] IUP[X] /* VTTTalk Unicode 0xffff */ /* ACT generated Thu Aug 15 21:20:18 2019 */ OFFSET[r], 158, -144, 0 OFFSET[r], 158, -2266, 0 OFFSET[r], 158, -1200, 0 /* TT glyph 200, char 0xffff */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] MIAP[R], 15, 131 CALL[], 15, 10, 105 CALL[], 10, 9, 106 CALL[], 15, 16, 106 CALL[], 16, 5, 105 CALL[], 5, 6, 106 SRP1[], 16 SRP2[], 15 IP[], 7 IP[], 8 IUP[Y] IUP[X] /* TT glyph 201, char 0xffff */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] MIAP[R], 15, 131 CALL[], 15, 10, 105 CALL[], 10, 9, 106 CALL[], 15, 16, 106 CALL[], 16, 5, 105 CALL[], 5, 6, 106 SRP1[], 16 SRP2[], 15 IP[], 7 IP[], 8 IUP[Y] IUP[X] /* TT glyph 202, char 0xffff */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] MIAP[R], 23, 131 CALL[], 23, 9, 106 SLOOP[], 4 IP[], 1, 16, 17, 0 CALL[], 9, 14, 105 SHP[2], 3 CALL[], 14, 15, 106 SHP[2], 2 CALL[], 23, 19, 105 SHP[2], 28 CALL[], 19, 18, 106 SHP[2], 29 IUP[Y] IUP[X] /* TT glyph 203, char 0xffff */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] MIAP[R], 20, 131 CALL[], 20, 4, 106 SLOOP[], 4 IP[], 13, 0, 1, 12 CALL[], 4, 10, 105 SHP[2], 2 CALL[], 10, 11, 106 SHP[2], 3 CALL[], 20, 15, 105 SHP[2], 22 CALL[], 15, 14, 106 SHP[2], 21 IUP[Y] IUP[X] /* VTTTalk Unicode 0xffff */ /* ACT generated Thu Aug 15 21:20:18 2019 */ OFFSET[r], 159, -882, 0 OFFSET[R], 68, 58, 180 /* TT glyph 205, char 0xffff */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 2, 16, 114 MIAP[R], 5, 131 SHP[1], 21 CALL[], 5, 6, 106 SHP[2], 24 CALL[], 6, 12, 105 CALL[], 12, 13, 106 SRP1[], 6 SRP2[], 5 IP[], 14 IP[], 15 CALL[], 5, 17, 105 CALL[], 17, 16, 106 CALL[], 32, 19, 114 CALL[], 32, 40, 106 CALL[], 40, 1, 105 IUP[Y] IUP[X] /* VTTTalk Unicode 0xffff */ /* ACT generated Thu Aug 15 21:20:18 2019 */ OFFSET[r], 159, -1036, 0 OFFSET[r], 72, -100, 0 /* VTTTalk Unicode 0xffff */ /* ACT generated Thu Aug 15 21:20:18 2019 */ OFFSET[r], 158, -144, 0 OFFSET[r], 159, -2236, 0 OFFSET[r], 72, -1190, 0 /* TT glyph 208, char 0xffff */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 0, 135, 114 CALL[], 0, 1, 106 CALL[], 0, 3, 106 CALL[], 3, 2, 106 SRP1[], 1 SLOOP[], 4 IP[], 4, 7, 6, 5 IUP[Y] IUP[X] /* TT glyph 209, char 0xffff */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] MIAP[R], 0, 133 MDRP[m>RBl], 2 CALL[], 5, 135, 114 CALL[], 5, 4, 106 CALL[], 4, 7, 106 CALL[], 5, 6, 106 SRP1[], 7 SLOOP[], 4 IP[], 10, 9, 8, 11 IUP[Y] IUP[X] /* TT glyph 210, char 0xffff */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] MIAP[R], 1, 133 SHP[1], 4 MDRP[m>RBl], 3 SHP[2], 7 CALL[], 9, 135, 114 CALL[], 9, 8, 106 CALL[], 8, 11, 106 CALL[], 9, 10, 106 SRP1[], 11 SLOOP[], 4 IP[], 14, 13, 12, 15 IUP[Y] IUP[X] /* VTTTalk Unicode 0xffff */ /* ACT generated Thu Aug 15 21:20:18 2019 */ OFFSET[r], 158, -144, 0 OFFSET[r], 159, -2236, 0 OFFSET[r], 166, -1190, 0 /* TT glyph 212, char 0xffff */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 2, 9, 114 CALL[], 2, 4, 106 SHP[1], 5 CALL[], 2, 49, 106 SHP[2], 12 CALL[], 7, 135, 114 CALL[], 7, 6, 106 IP[], 11 IP[], 10 CALL[], 7, 9, 106 CALL[], 9, 8, 106 CALL[], 23, 17, 114 SHP[2], 20 CALL[], 23, 21, 106 CALL[], 23, 30, 106 SHP[2], 37 SRP1[], 49 IP[], 27 MDAP[R], 27 SRP2[], 49 SLOOP[], 12 IP[], 45, 35, 47, 48, 13, 14, 32, 31, 36, 43, 17, 40 IUP[Y] IUP[X] /* TT glyph 213, char 0xffff */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 0, 135, 114 CALL[], 0, 1, 106 CALL[], 1, 3, 106 CALL[], 3, 2, 106 SRP1[], 1 SRP2[], 0 IP[], 4 IP[], 5 SHP[1], 18 SHP[2], 19 CALL[], 19, 21, 106 CALL[], 21, 20, 106 SRP1[], 18 SRP2[], 19 IP[], 23 IP[], 22 CALL[], 14, 9, 114 CALL[], 14, 15, 106 SHP[1], 17 CALL[], 14, 45, 106 SHP[2], 24 CALL[], 32, 17, 114 CALL[], 32, 33, 106 SHP[1], 35 CALL[], 32, 37, 106 SHP[2], 6 SRP1[], 45 SLOOP[], 12 IP[], 47, 11, 49, 44, 25, 26, 8, 7, 36, 43, 29, 40 IUP[Y] IUP[X] /* VTTTalk Unicode 0xffff */ /* ACT generated Thu Aug 15 21:20:18 2019 */ OFFSET[r], 159, -1036, 0 OFFSET[r], 153, -180, 0 /* VTTTalk Unicode 0xffff */ /* ACT generated Thu Aug 15 21:20:18 2019 */ OFFSET[r], 158, -144, 0 OFFSET[r], 159, -2236, 0 OFFSET[r], 153, -1190, 0 /* TT glyph 216, char 0xffff */ /* VTT 6.31 compiler Thu Aug 29 22:08:58 2019 */ SVTCA[Y] MDAP[R], 2 CALL[], 2, 3, 106 CALL[], 3, 6, 105 CALL[], 6, 7, 106 SRP1[], 2 IP[], 1 CALL[], 1, 0, 106 IP[], 4 CALL[], 7, 10, 105 SHP[2], 9 CALL[], 10, 11, 106 SHP[2], 8 IUP[Y] IUP[X] /* TT glyph 217, char 0xffff */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] MIAP[R], 16, 132 SMD[], 96 MDRP[m>RWh], 13 CALL[], 13, 12, 106 CALL[], 16, 17, 106 MDRP[mRWh], 8 CALL[], 8, 9, 106 IUP[Y] IUP[X] /* TT glyph 218, char 0xffff */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] MIAP[R], 16, 132 SMD[], 96 MDRP[m>RWh], 14 SHP[2], 19 CALL[], 14, 13, 106 SHP[2], 0 CALL[], 16, 27, 106 CALL[], 27, 22, 105 SLOOP[], 8 IP[], 2, 11, 21, 24, 25, 20, 12, 1 CALL[], 22, 7, 106 MDRP[m>RWh], 9 SHP[2], 4 CALL[], 9, 10, 106 SHP[2], 3 IUP[Y] IUP[X] /* TT glyph 219, char 0xffff */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] MIAP[R], 16, 132 SMD[], 96 MDRP[m>RWh], 14 SHP[2], 19 CALL[], 14, 13, 106 SHP[2], 0 CALL[], 16, 27, 106 CALL[], 27, 22, 105 SLOOP[], 8 IP[], 2, 11, 21, 24, 25, 20, 12, 1 CALL[], 22, 7, 106 MDRP[m>RWh], 9 SHP[2], 4 CALL[], 9, 10, 106 SHP[2], 3 IUP[Y] IUP[X] /* TT glyph 220, char 0xffff */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] MIAP[R], 18, 132 SMD[], 96 MDRP[m>RWh], 15 SHP[2], 20 CALL[], 15, 14, 106 SHP[2], 19 CALL[], 18, 21, 106 CALL[], 21, 4, 105 SLOOP[], 4 IP[], 12, 2, 1, 13 CALL[], 4, 7, 106 MDRP[m>RWh], 10 SHP[2], 5 CALL[], 10, 11, 106 SHP[2], 6 IUP[Y] IUP[X] /* VTTTalk Unicode 0xffff */ /* ACT generated Thu Aug 15 21:20:18 2019 */ OFFSET[r], 159, -1044, 0 OFFSET[r], 158, -136, 0 /* TT glyph 222, char 0xffff */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 1, 135, 114 SHP[2], 9 CALL[], 1, 0, 106 SHP[2], 8 SLOOP[], 4 IP[], 13, 5, 4, 12 CALL[], 0, 6, 106 SHP[2], 14 CALL[], 6, 7, 106 SHP[2], 15 CALL[], 1, 3, 106 SHP[2], 11 CALL[], 3, 2, 106 SHP[2], 10 IUP[Y] IUP[X] /* TT glyph 223, char 0xffff */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] MIAP[R], 23, 131 CALL[], 23, 18, 105 SHP[2], 7 CALL[], 18, 17, 106 SHP[2], 6 CALL[], 23, 24, 106 SLOOP[], 6 IP[], 4, 15, 1, 0, 16, 5 CALL[], 24, 13, 105 SHP[2], 2 CALL[], 13, 14, 106 SHP[2], 3 IUP[Y] IUP[X] /* TT glyph 224, char 0xffff */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] MIAP[R], 24, 132 SMD[], 96 MDRP[m>RWh], 21 SHP[2], 7 CALL[], 21, 20, 106 SHP[2], 6 CALL[], 24, 25, 106 MDRP[mRWh], 16 SHP[2], 2 CALL[], 16, 17, 106 SHP[2], 3 IUP[Y] IUP[X] /* VTTTalk Unicode 0xffff */ /* ACT generated Thu Aug 15 21:20:18 2019 */ OFFSET[r], 159, -134, 0 OFFSET[r], 159, -2236, 0 OFFSET[r], 159, -1180, 0 /* TT glyph 226, char 0xffff */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 31, 135, 114 CALL[], 31, 30, 106 CALL[], 30, 28, 106 CALL[], 28, 29, 106 CALL[], 31, 33, 106 CALL[], 33, 32, 106 SRP2[], 28 SLOOP[], 3 IP[], 49, 43, 56 CALL[], 49, 11, 106 CALL[], 43, 17, 106 CALL[], 56, 4, 106 IUP[Y] IUP[X] /* VTTTalk Unicode 0xffff */ /* ACT generated Thu Aug 15 21:20:18 2019 */ OFFSET[r], 158, -144, 0 OFFSET[r], 159, -2236, 0 OFFSET[r], 160, -1190, 0 /* TT glyph 228, char 0xffff */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 48, 135, 114 CALL[], 48, 47, 106 CALL[], 47, 45, 106 CALL[], 45, 46, 106 CALL[], 48, 50, 106 CALL[], 50, 49, 106 SRP2[], 45 SLOOP[], 6 IP[], 90, 78, 66, 60, 72, 84 CALL[], 90, 3, 106 CALL[], 78, 16, 106 CALL[], 66, 28, 106 CALL[], 60, 34, 106 CALL[], 72, 22, 106 CALL[], 84, 10, 106 IUP[Y] IUP[X] /* TT glyph 229, char 0xffff */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] MIAP[R], 0, 136 CALL[], 0, 2, 106 IP[], 4 IP[], 11 CALL[], 6, 135, 114 CALL[], 6, 5, 106 IP[], 10 IP[], 9 CALL[], 6, 8, 106 CALL[], 8, 7, 106 IUP[Y] IUP[X] /* TT glyph 230, char 0xffff */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 1, 135, 114 CALL[], 1, 2, 106 SHP[2], 11 CALL[], 2, 4, 106 CALL[], 4, 3, 106 SRP1[], 2 SRP2[], 1 SLOOP[], 4 IP[], 5, 16, 15, 6 SHP[2], 12 CALL[], 12, 14, 106 CALL[], 14, 13, 106 MIAP[R], 18, 136 CALL[], 18, 8, 106 SLOOP[], 4 IP[], 10, 17, 7, 0 IUP[Y] IUP[X] /* TT glyph 231, char 0xffff */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] MIAP[R], 30, 131 CALL[], 30, 0, 106 CALL[], 0, 15, 105 CALL[], 15, 19, 106 CALL[], 19, 10, 106 SRP2[], 15 IP[], 25 CALL[], 25, 4, 106 IUP[Y] IUP[X] /* TT glyph 232, char 0xffff */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 56, 17, 114 CALL[], 56, 22, 106 MDRP[m>RWh], 14 SHP[2], 17 CALL[], 14, 62, 106 CALL[], 72, 19, 114 SRP1[], 56 SLOOP[], 5 IP[], 39, 75, 77, 35, 49 CALL[], 35, 43, 106 CALL[], 49, 29, 106 CALL[], 72, 80, 106 MDRP[m>RWh], 8 SHP[2], 3 SHP[2], 5 CALL[], 8, 67, 106 IUP[Y] IUP[X] /* TT glyph 233, char 0xffff */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] MIAP[R], 12, 16 CALL[], 12, 25, 105 IP[], 22 IP[], 8 CALL[], 22, 2, 106 CALL[], 8, 16, 106 SMD[], 96 SRP0[], 25 MDRP[m>RWh], 28 CALL[], 28, 31, 106 IUP[Y] IUP[X] /* TT glyph 234, char 0xffff */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 0, 135, 114 CALL[], 0, 1, 106 CALL[], 1, 3, 106 CALL[], 3, 2, 106 CALL[], 0, 55, 106 CALL[], 55, 56, 106 SRP2[], 3 SLOOP[], 3 IP[], 39, 45, 32 CALL[], 39, 20, 106 CALL[], 45, 14, 106 CALL[], 32, 27, 106 IUP[Y] IUP[X] /* TT glyph 235, char 0xffff */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] MDAP[R], 25 CALL[], 25, 53, 105 SLOOP[], 4 IP[], 49, 36, 8, 22 CALL[], 49, 2, 106 CALL[], 36, 16, 106 CALL[], 8, 43, 106 CALL[], 22, 30, 106 IUP[Y] IUP[X] /* TT glyph 236, char 0xffff */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 0, 135, 114 CALL[], 0, 1, 106 CALL[], 1, 3, 106 CALL[], 3, 2, 106 CALL[], 0, 91, 106 CALL[], 91, 92, 105 SRP2[], 3 SLOOP[], 6 IP[], 51, 63, 75, 81, 69, 57 CALL[], 51, 45, 106 CALL[], 63, 32, 106 CALL[], 75, 20, 106 CALL[], 81, 14, 106 CALL[], 69, 26, 106 CALL[], 57, 38, 106 IUP[Y] IUP[X] /* TT glyph 237, char 0xffff */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] MIAP[R], 0, 132 CALL[], 0, 3, 106 CALL[], 3, 11, 105 CALL[], 11, 10, 106 CALL[], 8, 16, 114 CALL[], 8, 6, 106 IP[], 5 IUP[Y] IUP[X] /* TT glyph 238, char 0xffff */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] CALL[], 7, 17, 114 SHP[2], 25 CALL[], 7, 45, 106 SHP[2], 57 CALL[], 45, 39, 105 SHP[2], 51 CALL[], 39, 15, 106 CALL[], 15, 20, 105 CALL[], 20, 19, 106 SRP1[], 15 SHP[1], 33 SRP1[], 25 SRP2[], 33 IP[], 21 IP[], 18 CALL[], 83, 19, 114 SHP[2], 62 CALL[], 83, 115, 106 SHP[2], 103 CALL[], 115, 109, 105 SHP[2], 97 CALL[], 109, 91, 106 SHP[2], 70 SRP1[], 62 SRP2[], 70 IP[], 58 IP[], 73 CALL[], 91, 75, 105 CALL[], 75, 74, 106 IUP[Y] IUP[X] /* TT glyph 239, char 0x60 (`) */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ SVTCA[Y] MIAP[R], 0, 17 CALL[], 0, 2, 106 IUP[Y] IUP[X] /* TT glyph 240, char 0xffff */ /* VTT 6.31 compiler Sun Aug 25 11:19:33 2019 */ /* auto-generated pre-program */ /* VTT 6.31 compiler Thu Aug 29 22:08:58 2019 */ /* Grey scaling? */ CALL[], 84 /* InstructionsOn */ #PUSHOFF MPPEM[] #PUSH, 2047 GT[] MPPEM[] #PUSH, 8 LT[] OR[] #PUSH, 1 GETINFO[] #PUSH, 37 GTEQ[] #PUSH, 1 GETINFO[] #PUSH, 64 LTEQ[] AND[] #PUSH, 6 GETINFO[] #PUSH, 0 NEQ[] AND[] OR[] IF[] #PUSH, 1, 1 INSTCTRL[] EIF[] #PUSHON /* DropOutCtrlOff */ SCANCTRL[], 400 SCANTYPE[], 1 SCANTYPE[], 5 /* CvtCutIn */ SVTCA[Y] SCVTCI[], 64 WS[], 3, 64 #PUSHOFF MPPEM[] #PUSH, 144 GTEQ[] IF[] #PUSH, 3, 0, 0 SCVTCI[] WS[] EIF[] #PUSHON /* ClearTypeCtrl */ #PUSHOFF #PUSH, 2, 2 RS[] LTEQ[] IF[] #PUSH, 4, 3 INSTCTRL[] EIF[] #PUSHON /* LinearAdvanceWidths */ SVTCA[Y] CALL[], 2, 89 SVTCA[Y] CALL[], 8, 89 CALL[], 3, 52, 2, 85 CALL[], 9, 52, 8, 85 SVTCA[Y] CALL[], 0, 89 SVTCA[Y] CALL[], 6, 89 SVTCA[Y] CALL[], 10, 89 SVTCA[Y] CALL[], 14, 89 CALL[], 1, 52, 0, 85 CALL[], 7, 52, 6, 85 CALL[], 11, 52, 10, 85 CALL[], 15, 57, 14, 85 SVTCA[Y] CALL[], 4, 89 SVTCA[Y] CALL[], 12, 89 CALL[], 5, 52, 4, 85 CALL[], 13, 52, 12, 85 SVTCA[Y] CALL[], 16, 89 SVTCA[Y] CALL[], 18, 89 CALL[], 17, 52, 16, 85 CALL[], 19, 52, 18, 85 SVTCA[X] CALL[], 21, 25, 68, 22, 107, 90 SVTCA[X] CALL[], 23, 57, 22, 45, 91 SVTCA[X] CALL[], 26, 53, 25, 25, 91 SVTCA[X] CALL[], 24, 57, 22, 45, 91 SVTCA[X] CALL[], 27, 53, 25, 25, 91 SVTCA[X] CALL[], 28, 22, 255, 31 SVTCA[Y] CALL[], 29, 5, 23, 22, 92 SVTCA[Y] CALL[], 30, 24, 38, 31 SVTCA[X] CALL[], 31, 52, 24, 22, 92 CALL[], 32, 31, 94, 31 SVTCA[X] CALL[], 33, 25, 20, 31 CALL[], 34, 25, 255, 31 SVTCA[Y] CALL[], 35, 5, 26, 25, 92 SVTCA[Y] CALL[], 36, 27, 21, 31 SVTCA[X] CALL[], 37, 24, 27, 25, 92 CALL[], 38, 37, 205, 31 CALL[], 39, 38, 103, 31 CALL[], 40, 37, 45, 31 CALL[], 44, 43, 103, 31 CALL[], 47, 46, 61, 31 CALL[], 48, 47, 114, 31 SVTCA[X] CALL[], 50, 49, 41, 31 CALL[], 51, 49, 128, 31 CALL[], 52, 51, 171, 31 CALL[], 53, 49, 45, 31 SVTCA[Y] CALL[], 55, 54, 147, 31 CALL[], 56, 54, 52, 31 CALL[], 59, 58, 43, 31 SVTCA[X] CALL[], 61, 28, 103, 31 CALL[], 62, 28, 255, 31 CALL[], 63, 28, 128, 31 SVTCA[Y] CALL[], 64, 29, 64, 31 CALL[], 65, 29, 255, 31 CALL[], 66, 29, 114, 31 CALL[], 67, 30, 47, 31 CALL[], 68, 30, 255, 31 CALL[], 69, 30, 114, 31 CALL[], 70, 32, 94, 31 CALL[], 71, 32, 255, 31 CALL[], 72, 31, 255, 31 CALL[], 73, 31, 128, 31 CALL[], 74, 31, 61, 31 SVTCA[X] CALL[], 75, 33, 255, 31 CALL[], 76, 34, 32, 31 CALL[], 77, 34, 52, 31 CALL[], 78, 34, 86, 31 CALL[], 79, 34, 255, 31 CALL[], 80, 34, 128, 31 SVTCA[Y] CALL[], 81, 35, 54, 31 CALL[], 82, 35, 114, 31 CALL[], 83, 35, 255, 31 CALL[], 84, 35, 94, 31 CALL[], 85, 36, 114, 31 CALL[], 86, 36, 114, 31 CALL[], 87, 39, 255, 31 CALL[], 88, 38, 255, 31 CALL[], 89, 37, 255, 31 CALL[], 90, 40, 128, 31 CALL[], 91, 40, 255, 31 CALL[], 92, 40, 94, 31 SVTCA[X] CALL[], 93, 41, 255, 31 CALL[], 94, 42, 31, 31 CALL[], 95, 42, 86, 31 CALL[], 96, 42, 255, 31 CALL[], 97, 42, 128, 31 SVTCA[Y] CALL[], 98, 43, 128, 31 CALL[], 99, 43, 255, 31 CALL[], 100, 44, 255, 31 CALL[], 101, 45, 205, 31 CALL[], 102, 45, 255, 31 CALL[], 103, 48, 255, 31 CALL[], 104, 47, 255, 31 CALL[], 105, 46, 205, 31 CALL[], 106, 46, 255, 31 SVTCA[X] CALL[], 107, 50, 128, 31 CALL[], 108, 50, 255, 31 CALL[], 109, 52, 171, 31 CALL[], 110, 52, 255, 31 CALL[], 111, 51, 255, 31 CALL[], 112, 49, 205, 31 CALL[], 113, 49, 255, 31 CALL[], 114, 53, 147, 31 CALL[], 115, 53, 255, 31 SVTCA[Y] CALL[], 116, 54, 255, 31 CALL[], 117, 55, 255, 31 CALL[], 118, 54, 69, 31 CALL[], 119, 56, 255, 31 CALL[], 120, 56, 171, 31 CALL[], 121, 57, 255, 31 CALL[], 122, 59, 128, 31 CALL[], 123, 59, 255, 31 CALL[], 124, 58, 114, 31 CALL[], 125, 58, 205, 31 CALL[], 126, 58, 255, 31 CALL[], 127, 58, 147, 31 CALL[], 128, 58, 54, 31 CALL[], 129, 58, 35, 31 CALL[], 130, 60, 255, 31 RTG[] /* Font-program */ /* ACT generated Thu Aug 15 21:20:18 2019 */ FDEF[], 9 /* Set fv to X pv perpendicular to italic angle CALL[], 9 */ #BEGIN #PUSHOFF SVTCA[X] #PUSH, 11, 10 RS[] SWAP[] RS[] NEG[] SPVFS[] #PUSHON #END ENDF[] FDEF[], 10 /* Set fv to italic angle pv to Y CALL[], 10 */ #BEGIN #PUSHOFF SVTCA[Y] #PUSH, 10, 11 RS[] SWAP[] RS[] SFVFS[] #PUSHON #END ENDF[] FDEF[], 16 /* Set fv to X pv perpendicular to adjusted italic angle CALL[], 16 */ #BEGIN #PUSHOFF SVTCA[X] #PUSH, 6 RS[] #PUSH, 7 RS[] NEG[] SPVFS[] #PUSHON #END ENDF[] FDEF[], 31 /* fn 31 equalizes two cvts below a given ppem size CALL[], , , , 31 */ #BEGIN #PUSHOFF /* STACK: , , */ #PUSH, 79 /* #samples/pixel */ CALL[] DUP[] #PUSH, 64 LTEQ[] IF[] /* #samples/pixel <= 1 */ /* STACK: , , , <#samples/pixel> */ POP[] /* #samples/pixel not involved */ MPPEM[] /* STACK: , , , */ GT[] IF[] RCVT[] WCVTP[] ELSE[] POP[] POP[] EIF[] ELSE[] /* #samples/pixel > 1 */ /* STACK: , , , <#samples/pixel> */ SWAP[] POP[] /* ppem Size not involved */ #PUSH, 64 /* STACK: , , <#samples/pixel>, <1> */ #PUSH, 4 /* child cvt */ CINDEX[] RCVT[] #PUSH, 4 /* parent cvt */ CINDEX[] RCVT[] SUB[] ABS[] /* STACK: , , <#samples/pixel>, <1>, <|[child cvt] - [parent cvt]|> */ ROLL[] MUL[] GT[] IF[] /* 1 > #samples/pixel * delta cvt */ RCVT[] WCVTP[] ELSE[] POP[] POP[] EIF[] EIF[] #PUSHON #END ENDF[] FDEF[], 40 /* Set fv to adjusted italic angle pv to Y CALL[], 40 */ #BEGIN #PUSHOFF SVTCA[Y] #PUSH, 7 RS[] #PUSH, 6 RS[] SFVFS[] #PUSHON #END ENDF[] FDEF[], 70 /* fn changes by (in ±1/64 pixel) at ppem sizes to (inclusive) CALL[], , , , , 70 */ #BEGIN #PUSHOFF MPPEM[] GTEQ[] SWAP[] MPPEM[] LTEQ[] AND[] IF[] DUP[] RCVT[] ROLL[] ADD[] WCVTP[] ELSE[] POP[] POP[] EIF[] #PUSHON #END ENDF[] FDEF[], 71 /* fn changes by (in ±1/64 pixel) at ppem size CALL[], , , , 71 */ #BEGIN #PUSHOFF MPPEM[] EQ[] IF[] DUP[] RCVT[] ROLL[] ADD[] WCVTP[] ELSE[] POP[] POP[] EIF[] #PUSHON #END ENDF[] FDEF[], 72 /* fn moves by (in ±1/64 pixel) at ppem sizes to (inclusive) CALL[], , , , , 72 */ #BEGIN #PUSHOFF MPPEM[] GTEQ[] SWAP[] MPPEM[] LTEQ[] AND[] IF[] SHPIX[] ELSE[] POP[] POP[] EIF[] #PUSHON #END ENDF[] FDEF[], 73 /* fn moves by (in ±1/64 pixel) at ppem size CALL[], , , , 73 */ #BEGIN #PUSHOFF MPPEM[] EQ[] IF[] SHPIX[] ELSE[] POP[] POP[] EIF[] #PUSHON #END ENDF[] FDEF[], 74 /* if = anti-aliasing in s[2] (set by fn 84) fn changes by (in ±1/64 pixel) at ppem sizes to (inclusive) CALL[], , , , , , 74 */ #BEGIN #PUSHOFF #PUSH, 2 RS[] EQ[] IF[] /* if = s[2] then fwd to fn 70 */ #PUSH, 70 CALL[] ELSE[] /* else cleanup stack and bail out */ POP[] POP[] POP[] POP[] EIF[] #PUSHON #END ENDF[] FDEF[], 75 /* if = anti-aliasing in s[2] (set by fn 84) fn changes by (in ±1/64 pixel) at ppem size CALL[], , , , , 75 */ #BEGIN #PUSHOFF #PUSH, 2 RS[] EQ[] IF[] /* if = s[2] then fwd to fn 71 */ #PUSH, 71 CALL[] ELSE[] /* else cleanup stack and bail out */ POP[] POP[] POP[] EIF[] #PUSHON #END ENDF[] FDEF[], 76 /* if = anti-aliasing in s[2] (set by fn 84) fn moves by (in ±1/64 pixel) at ppem sizes to (inclusive) CALL[], , , , , , 76 */ #BEGIN #PUSHOFF #PUSH, 2 RS[] EQ[] IF[] /* if = s[2] then fwd to fn 72 */ #PUSH, 72 CALL[] ELSE[] /* else cleanup stack and bail out */ POP[] POP[] POP[] POP[] EIF[] #PUSHON #END ENDF[] FDEF[], 77 /* if = anti-aliasing in s[2] (set by fn 84) fn moves by (in ±1/64 pixel) at ppem size CALL[], , , , , 77 */ #BEGIN #PUSHOFF #PUSH, 2 RS[] EQ[] IF[] /* if = s[2] then fwd to fn 73 */ #PUSH, 73 CALL[] ELSE[] /* else cleanup stack and bail out */ POP[] POP[] POP[] EIF[] #PUSHON #END ENDF[] FDEF[], 78 /* apply minimum distance and round depending on s[2], , and pv code = 0: position code = 1: distance code = 2: delta distance (for fractional inheritance) CALL[], , , 78 returns with rounded distance on stack */ #BEGIN #PUSHOFF /* STACK: , */ SWAP[] DUP[] #PUSH, 0 LT[] ROLL[] ROLL[] ABS[] /* STACK: , , <|dist|> */ #PUSH, 0, 3 /* code */ CINDEX[] EQ[] IF[] /* position */ /* STACK: , , <|dist|> */ #PUSH, 64 /* STACK: , , <|dist|>, <#samples/pixel> */ ELSE[] /* STACK: , , <|dist|> */ #PUSH, 1, 3 /* code */ CINDEX[] EQ[] IF[] /* distance */ #PUSH, 5 /* minimum distance */ RS[] MAX[] EIF[] #PUSH, 79 /* #samples/pixel */ CALL[] /* STACK: , , <|dist|>, <#samples/pixel> */ EIF[] SWAP[] #PUSH, 98 /* round to virtual grid */ CALL[] /* STACK: , , <[|dist|]> */ SWAP[] POP[] /* STACK: , <[|dist|]> */ SWAP[] IF[] NEG[] EIF[] /* STACK: <[dist]> */ #PUSHON #END ENDF[] FDEF[], 79 /* depending on rendering environment and pv determine #samples/pixel for rounding etc. notice that for PVs other than X or Y, this method will default to X, reflecting the bias inherent in the asymmetrical nature of ClearType CALL[], 79 returns the #samples/pixel in 26.6 */ #BEGIN #PUSHOFF #PUSH, 8, 0 GPV[] POP[] EQ[] ADD[] RS[] #PUSHON #END ENDF[] FDEF[], 80 /* depending on rendering environment and pv determine actual stroke optimization method CALL[], 80 returns with method on stack (see fn 112 for definition of method) */ #BEGIN #PUSHOFF #PUSH, 12, 0 GPV[] POP[] EQ[] ADD[] RS[] #PUSHON #END ENDF[] FDEF[], 81 /* adjust advance width to compensate for rasterizer's rounding errors CALL[], , 81 */ #BEGIN #PUSHOFF /* STACK: */ SVTCA[X] DUP[] GC[O] /* STACK: , */ #PUSH, 2 RS[] DUP[] #PUSH, 4096 /* fract AW value in 26.6 */ DIV[] #PUSH, 4096 /* 64 in 26.6 */ MUL[] EVEN[] /* fract AW bit not set */ SWAP[] #PUSH, 256 /* comp AW value in 26.6 */ DIV[] #PUSH, 4096 /* 64 in 26.6 */ MUL[] EVEN[] /* comp AW bit not set */ AND[] IF[] #PUSH, 32 ADD[] FLOOR[] EIF[] SCFS[] #PUSHON #END ENDF[] FDEF[], 83 /* CALL[], , 83 returns with square root of radicand on stack */ #BEGIN #PUSHOFF /* STACK: */ #PUSH, 0, 2 CINDEX[] /* STACK: , , */ #WBeginLoop83: #PUSH, 2 /* low */ CINDEX[] #PUSH, 2 /* high */ CINDEX[] GTEQ[] #PUSH, WOffset83a SWAP[] JROT[], (WOffset83a=#WEndLoop83) /* while low <= high */ /* STACK: , , */ #PUSH, 2 /* low */ CINDEX[] #PUSH, 2 /* high */ CINDEX[] ADD[] #PUSH, 32 MUL[] /* STACK: , , , */ DUP[] DUP[] #PUSH, 6 /* radicand */ CINDEX[] SWAP[] DIV[] /* STACK: , , , , , */ LT[] IF[] /* STACK: , , , */ ROLL[] POP[] #PUSH, 1 ADD[] SWAP[] /* STACK: , , */ ELSE[] DUP[] DUP[] #PUSH, 6 /* radicand */ CINDEX[] SWAP[] DIV[] GT[] IF[] /* STACK: , , , */ SWAP[] POP[] #PUSH, 1 SUB[] /* STACK: , , */ ELSE[] /* STACK: , , , */ ROLL[] POP[] SWAP[] POP[] DUP[] /* STACK: , , */ EIF[] EIF[] #PUSH, WOffset83b JMPR[], (WOffset83b=#WBeginLoop83) #WEndLoop83: /* STACK: , , */ ADD[] #PUSH, 32 MUL[] SWAP[] POP[] /* STACK: */ #PUSHON #END ENDF[] FDEF[], 84 /* fn determines current rasterizing environment and stores it in s[2] as follows: bit 0 (value 1) = Grey-Scaling bit 1 (value 2) = ClearType(tm) bit 2 (value 4) = Compatible Width ClearType bit 3 (value 8) = Vertical Direction (horizontally striped) ClearType bit 4 (value 16) = BGR as opposed to RGB Devices bit 5 (value 32) = ClearType on Rapier CE Devices bit 6 (value 64) = ClearType with fractional advance widths bit 7 (value 128) = ClearType with non-ClearType direction anti-aliasing bit 8 (value 256) = ClearType with gray full-pixel s[2] is used e.g. in fns 74 through 77 To test against any combination of these flags, add up the respective values. specific to the current rasterizing environment fn stores the following parameters s[5] = minimum distance s[8] = #samples/pixel in x-direction s[9] = #samples/pixel in y-direction s[12] = stroke optimization method in x-direction s[13] = stroke optimization method in y-direction CALL[], 84 */ /* Version 2.1 20120101 */ #BEGIN #PUSHOFF #PUSH,2,0 WS[] /* s[2] = grey scaling: off (by default) */ #PUSH,35,1 /* 35 = MS Rasterizer version 1.7 */ GETINFO[] /* 1 = tell GETINFO to give us the rasterizer version */ LTEQ[] /* 35 <= version ? */ #PUSH,64,1 /* 64 = highest rasterizer version assigned to MS */ GETINFO[] /* 1 = tell GETINFO to give us the rasterizer version */ GTEQ[] /* 64 >= version ? */ AND[] /* 35 <= version && version <= 64 ? */ IF[] /* if so, we're running MS rasterizer version 1.7 or higher */ #PUSH,4096,32 /* 4096 = flag returned by GETINFO if grey scaling bit is on */ GETINFO[] /* 32 = tell GETINFO to give us the grey scaling bit */ EQ[] /* 4096 == flag ? */ IF[] /* if so, we're running under grey scaling */ #PUSH,2,1,2 RS[] ADD[] WS[] /* s[2] += grey scaling: on (by now) */ EIF[] #PUSH,36,1 /* 36 = MS Rasterizer version 1.6+ (WinCE) or 1.8 (WinXP) */ GETINFO[] /* 1 = tell GETINFO to give us the rasterizer version */ LTEQ[] /* 36 <= version ? (already tested version <= 64) */ IF[] /* if so, we're running MS rasterizer version 1.6+ (WinCE) or 1.8 (WinXP) or higher */ #PUSH,8192,64 /* 8192 = flag returned by GETINFO if ClearTypeTM bit is on */ GETINFO[] /* 64 = tell GETINFO to give us the ClearTypeTM bit */ EQ[] /* 8192 == flag ? */ IF[] /* if so, we're running under ClearTypeTM */ #PUSH,2,2,2 RS[] ADD[] WS[] /* s[2] += ClearTypeTM: on (by now) */ #PUSH,36,1 /* 36 = MS Rasterizer version 1.6+ (WinCE) */ GETINFO[] EQ[] IF[] /***** we're running Rasterizer v1.6+ for WinCE with ClearType *****/ #PUSH,2,32,2 RS[] ADD[] WS[] /* s[2] += Rapier CE: on (by now) */ SVTCA[Y] MPPEM[] SVTCA[X] MPPEM[] GT[] IF[] #PUSH,2,8,2 RS[] ADD[] WS[] EIF[] ELSE[] /***** we're running Rasterizer v1.8 (or higher) for WinXP with ClearType (or Win2k 2000 with ClearType patch) *****/ #PUSH,16384,128 /* 16384 = flag returned by GETINFO if ClearTypeTM silly aw bit is on */ GETINFO[] /* 128 = tell GETINFO to give us the ClearTypeTM silly aw bit */ EQ[] /* 16384 == flag ? */ IF[] /* if so, we're running under ClearTypeTM silly aw */ #PUSH,2,4,2 RS[] ADD[] WS[] /* s[2] += ClearTypeTM silly aw: on (by now) */ EIF[] #PUSH,16384,128 /* 32768 = flag returned by GETINFO if ClearTypeTM in vertical direction bit is on */ MUL[] /* Assembler restriction: produce 32768 by multiplying 16384 by 2 (2 in F26.6 is 128) */ #PUSH,256 /* 256 = tell GETINFO to give us the ClearTypeTM in vertical direction bit */ GETINFO[] EQ[] /* 32768 == flag ? */ IF[] /* if so, we're running ClearTypeTM in vertical direction */ #PUSH,2,8,2 RS[] ADD[] WS[] /* s[2] += ClearTypeTM in vertical direction: on (by now) */ EIF[] #PUSH,16384,256 /* 65536 = flag returned by GETINFO if ClearTypeTM in BGR order bit is on */ MUL[] /* Assembler restriction: produce 65536 by multiplying 16384 by 4 (4 in F26.6 is 256) */ #PUSH,512 /* 512 = tell GETINFO to give us the ClearTypeTM in BGR order bit */ GETINFO[] EQ[] /* 65536 == flag ? */ IF[] /* if so, we're running under ClearTypeTM in BGR order */ #PUSH,2,16,2 RS[] ADD[] WS[] /* s[2] += ClearTypeTM in BGR order: on (by now) */ EIF[] #PUSH,38,1 /* 38 = MS Rasterizer version 1.9 */ GETINFO[] /* 1 = tell GETINFO to give us the rasterizer version */ LTEQ[] /* 38 <= version ? (already tested version <= 64) */ IF[] /* if so, we're running MS rasterizer version 1.9 (Windows Longhorn) or higher */ #PUSH,16384,512 /* 131072 = flag returned by GETINFO if ClearTypeTM fractional advance widths bit is on */ MUL[] /* Assembler restriction: produce 131072 by multiplying 16384 by 8 (8 in F26.6 is 512) */ #PUSH,1024 /* 1024 = tell GETINFO to give us the ClearTypeTM fractional advance widths bit */ GETINFO[] EQ[] /* 131072 == flag ? */ IF[] /* if so, we're running under ClearTypeTM fractional advance widths */ #PUSH,2,64,2 RS[] ADD[] WS[] /* s[2] += ClearTypeTM fractional advance widths: on (by now) */ EIF[] #PUSH,16384,1024 /* 262144 = flag returned by GETINFO if ClearTypeTM non-ClearType direction anti-aliasing bit is on */ MUL[] /* Assembler restriction: produce 262144 by multiplying 16384 by 16 (16 in F26.6 is 1024) */ #PUSH,2048 /* 2048 = tell GETINFO to give us the ClearTypeTM non-ClearType direction anti-aliasing bit */ GETINFO[] EQ[] /* 262144 == flag ? */ IF[] /* if so, we're running under ClearTypeTM non-ClearType direction anti-aliasing */ #PUSH,2,128,2 RS[] ADD[] WS[] /* s[2] += ClearTypeTM non-ClearType direction anti-aliasing: on (by now) */ EIF[] #PUSH,40,1 /* 40 = Rasterizer v2.1 Windows 8, SubPixel */ GETINFO[] /* 1 = tell GETINFO to give us the rasterizer version */ LTEQ[] /* 40 <= version ? (already tested version <= 64) */ IF[] /* if so, we're running MS rasterizer version 2.1 (Windows 8) or higher */ #PUSH,16384,2048 /* 524288 = flag returned by GETINFO if ClearTypeTM non-ClearType direction anti-aliasing bit is on */ MUL[] /* Assembler restriction: produce 524288 by multiplying 16384 by 32 (32 in F26.6 is 2048) */ #PUSH,4096 /* 4096 = tell GETINFO to give us the ClearTypeTM gray full-pixel rendering bit */ GETINFO[] EQ[] /* 524288 == flag ? */ IF[] /* if so, we're running under ClearTypeTM gray full-pixel rendering */ #PUSH,2,256,2 RS[] ADD[] WS[] /* s[2] += ClearTypeTM gray full-pixel rendering: on (by now) */ EIF[] EIF[] EIF[] /* Vista or greater rasterizer */ EIF[] /* Windows ClearType (Platt) */ EIF[] /* ClearType Enabled */ EIF[] /* ClearType enabled rasterizer */ EIF[] /* Microsoft Rasterizer */ /* store rasterizing environment specific parameters */ #PUSH, 0, 2 RS[] EQ[] IF[] /* for b&w */ #PUSH, 5, 64, 8, 64, 9, 64, 12, 2, 13, 2 ELSE[] #PUSH, 1, 2 RS[] EQ[] IF[] /* for grey-scaling */ #PUSH, 5, 64, 8, 256, 9, 256, 12, 1, 13, 1 ELSE[] #PUSH, 128, 2 RS[] GT[] IF[] /* for ClearType */ #PUSH, 5, 64, 8, 384, 9, 64 ELSE[] /* for y-anti-aliased ClearType */ #PUSH, 256, 2 RS[] GT[] IF[] /* Gray ClearType */ #PUSH, 5, 64, 8, 384, 9, 320 ELSE[] /* Gray ClearType */ #PUSH, 384, 2 RS[] GT[] IF[] /* Gray ClearType */ #PUSH, 5, 64, 8, 512, 9, 64 ELSE[] /* Gray ClearType y-anti-aliased */ #PUSH, 5, 64, 8, 256, 9, 256 EIF[] EIF[] EIF[] #PUSH,16384,128 /* b&w aw? */ GETINFO[] NEQ[] #PUSH,16384,512 /* fract aw? */ MUL[] #PUSH,1024 GETINFO[] NEQ[] AND[] IF[] /* natural widths */ #PUSH, 12, 0, 13, 1 ELSE[] /* compatible or fractional widths */ #PUSH, 12, 0, 13, 1 EIF[] EIF[] EIF[] WS[] WS[] WS[] WS[] WS[] #PUSHON #END ENDF[] FDEF[], 85 /* fn 85 equalizes double specified heights below a given ppem size CALL[], , , , 85 */ /* Version 2.0 20141201 */ #BEGIN #PUSHOFF /* STACK: , , */ RCVT[] /* pick absolute (square) height */ #PUSH, 2, 78 /* 2 appears to work for heights and weights */ CALL[] SWAP[] /* STACK: , <[abs cvt]>, */ #PUSH, 79 /* #samples/pixel */ CALL[] DUP[] #PUSH, 64 LTEQ[] IF[] /* #samples/pixel = 1 (or less...) */ /* STACK: , <[abs cvt]>, , <#samples/pixel> */ POP[] MPPEM[] LTEQ[] /* specified ppem size <= actual ppem size ? */ IF[] /* STACK: , <[abs cvt]> */ #PUSH, 2 CINDEX[] RCVT[] /* pick relative height (overshoot) */ #PUSH, 1, 78 CALL[] ADD[] /* add overshoot to square height */ /* STACK: , <[rel cvt] + [abs cvt]> */ EIF[] ELSE[] /* #samples/pixel > 1 */ /* STACK: , <[abs cvt]>, , <#samples/pixel> */ SWAP[] MPPEM[] LTEQ[] /* specified ppem size <= actual ppem size */ IF[] /* STACK: , <[abs cvt]>, <#samples/pixel> */ #PUSH, 3 /* rel cvt */ CINDEX[] RCVT[] DUP[] ABS[] ROLL[] MUL[] #PUSH, 64 /* STACK: , <[abs cvt]>, <[rel cvt]>, <|[rel cvt]| * #samples/pixel>, <1> */ GTEQ[] /* #samples/pixel greater than or equal to 1 pixel */ IF[] /* STACK: , <[abs cvt]>, <[rel cvt]> */ #PUSH, 2, 78 CALL[] ADD[] /* add overshoot to square height */ /* STACK: , <[rel cvt] + [abs cvt]> */ ELSE[] /* STACK: , <[abs cvt]>, <[rel cvt]> */ POP[] /* STACK: , <[abs cvt]> */ EIF[] ELSE[] /* STACK: ,,<#samples/pixel>*/ POP[] /* STACK: ,*/ EIF[] EIF[] /* STACK: , <[act cvt]> */ WCVTP[] /* make this the round height */ #PUSHON #END ENDF[] FDEF[], 86 /* function to naturally space an accent above or below a base character CALL[], , , , , , 86 convert distance (fUnits) to pixels, round, and space child from parent by result this essentially implements the functionality of an MDRP[m>RWh] instrunction for composites which lack a suitable implementation of "original" coordinates. roundMethod 0, 1, 2, and 3 round down to, to, up to, and to half virtual grid function assumes cvt #20 is reserved and can be used temporarily in here... */ #BEGIN #PUSHOFF /* extract the sign from distance */ /* STACK: , , , , */ DUP[] #PUSH, 0 LT[] DUP[] IF[] SWAP[] NEG[] ELSE[] SWAP[] EIF[] /* scale distance using reserved cvt */ /* STACK: , , , , , <|distance|> */ #PUSH, 20, 20 /* reserved cvt */ ROLL[] WCVTF[] RCVT[] /* round per round method and #samples/pixel in current pv */ /* STACK: , , , , , <|distance|'> */ #PUSH, 79 /* #samples/pixel */ CALL[] SWAP[] #PUSH, 97, 6 /* round to virtual grid, roundMethod */ MINDEX[] ADD[] CALL[] /* round to virtual grid */ /* STACK: , , , , <[|distance|']> */ /* apply minimum distance, if applicable */ ROLL[] IF[] #PUSH, 5 /* minimum distance */ RS[] MAX[] EIF[] /* fold the sign back into distance */ /* STACK: , , <[|distance|']> */ SWAP[] IF[] NEG[] EIF[] /* move child by [distance'] */ /* STACK: , , <[distance']> */ SWAP[] SRP0[] MSIRP[m] /* STACK: */ #PUSHON #END ENDF[] FDEF[], 87 /* fn places an accent on top of a base character fn uses the same constraint model as fn 111 (interpolate median), except that for composites there is no concept of original coordinates, hence the respective values are provided by the caller as CALL[], , , , , , 87 */ #BEGIN #PUSHOFF /* partialFactor: ((c0 + c1)/2 - p0)/(p1 - p0) target median: ((c0 + c1)/2 - p0)*(p1' - p0')/(p1 - p0)> + p0' = partialFactor*(p1' - p0') source median: (c0' + c1')/2 primed coordinates are [N]ew, other coordinates are [O]riginal */ /* STACK: , , , , */ #PUSH, 3 /* p0 */ CINDEX[] MD[N] MUL[] /* STACK: , , , <((c0 + c1)/2 - p0)*(p1' - p0')/(p1 - p0)> */ SWAP[] /* p0 */ GC[N] ADD[] /* STACK: , , */ #PUSH, 79 /* #samples/pixel */ CALL[] SWAP[] /* STACK: , , <#samples/pixel>, */ #PUSH, 4 /* c0 */ CINDEX[] #PUSH, 4 /* c1 */ CINDEX[] MD[N] #PUSH, 3 /* #samples/pixel */ CINDEX[] MUL[] /* STACK: , , <#samples/pixel>, , */ ODD[] DUP[] ADD[] #PUSH, 98 ADD[] CALL[] /* round to (half) virtual grid */ /* STACK: , , <[targetMedian]> */ #PUSH, 3 /* c0 */ CINDEX[] DUP[] SRP0[] GC[N] ROLL[] /* c1 */ GC[N] ADD[] #PUSH, 32 MUL[] /* STACK: , , */ SUB[] /* STACK: , */ MSIRP[m] #PUSHON #END ENDF[] FDEF[], 88 /* set up storage locations with the x and y components of the italic and adjusted italic angles as follows: s[ 6] = adjusted italic angle y s[ 7] = adjusted italic angle x s[10] = italic angle y s[11] = italic angle x while rendering in b&w, determines the optimal phase for positioning italic strokes s[ 4] = optimal phase CALL[], , , 88 */ #BEGIN #PUSHOFF /* STACK: , */ #PUSH, 0 /* Use twilight points to calculate stroke angles */ SZPS[] #PUSH, 2, 3 /* riseCvt */ CINDEX[] #PUSH, 1, 4 /* runCvt */ CINDEX[] /* STACK: , , <2>, , <1>, */ SVTCA[X] /* Set twilight point 1 with italic run cvt in x */ MIAP[r] SVTCA[Y] /* Set twilight point 2 with italic rise cvt in y */ MIAP[r] #PUSH, 1, 2 /* and let the rasterizer do the math */ SPVTL[r] GPV[] #PUSH, 10 /* store the x and y components of the italic angle */ SWAP[] NEG[] /* notice that since we're essentially setting the pv to a line */ WS[] /* from (runCvt,0) to (0,riseCvt), the calculcated pv will be */ #PUSH, 11 /* proportional to (runCvt,0) - (0,riseCvt) = (runCvt,-riseCvt). */ SWAP[] /* Hence we have to mirror the result at the base line, which is */ WS[] /* done by flipping (negating) the sign of the y component here. */ /* STACK: , */ #PUSH, 2, 3 /* riseCvt */ CINDEX[] #PUSH, 1, 4 /* runCvt */ CINDEX[] SVTCA[X] /* same for the adjusted italic angle */ MIAP[R] /* except to round the twilight point in x... */ SVTCA[Y] MIAP[R] /* ...and in y */ #PUSH, 1, 2 SPVTL[r] GPV[] #PUSH, 6 SWAP[] NEG[] /* same neg as above */ WS[] #PUSH, 7 SWAP[] WS[] #PUSH, 1 /* restore graphics state */ SZPS[] /* STACK: , */ #PUSH, 0, 2 RS[] EQ[] IF[] /* running b&w? */ /* STACK: , */ /* determine adjusted run' = run*[rise]/rise */ RCVT[] SWAP[] RCVT[] DUP[] RTG[] ROUND[Bl] ROLL[] MUL[] SWAP[] DIV[] /* STACK: */ /* determine phase = (run' - [run'])/2 = half the rounding error */ DUP[] DUP[] #PUSH, 64 LT[] IF[] CEILING[] /* optimize for "minimum italic angle" */ ELSE[] FLOOR[] /* optimize for minimal number of jaggies */ EIF[] SUB[] #PUSH, 32 MUL[] /* STACK: */ /* for its use on bottom italic edge, determine complement to full pixel */ #PUSH, 64 SWAP[] SUB[] /* and store in s[4] */ #PUSH, 4 SWAP[] WS[] /* STACK: */ ELSE[] /* STACK: , */ #PUSH, 4, 0 WS[] POP[] POP[] /* STACK: */ EIF[] RTG[] SVTCA[X] #PUSHON #END ENDF[] FDEF[], 89 /* function rounds depending on rendering environment and pv CALL[], , 89 */ #BEGIN #PUSHOFF DUP[] RCVT[] #PUSH, 0, 78 /* roundDist */ CALL[] WCVTP[] #PUSHON #END ENDF[] FDEF[], 90 /* below : make both children the same as the (averaged) parent cvt at and above: calculate child cvt as of child cvt CALL[],

, , , , , 90 */ #BEGIN #PUSHOFF /* STACK:

, , , , */ MPPEM[] LTEQ[] #PUSH, 64, 79 /* #samples/pixel */ CALL[] LT[] OR[] IF[] /* at or above ppem limit or rounding to less than a pixel */ /* STACK:

, , , */ DUP[] RCVT[] #PUSH, 1, 78 /* roundDist */ CALL[] DUP[] ROLL[] ROLL[] /* STACK:

, , , <[ch1]>, , <[ch1]> */ WCVTP[] /* STACK:

, , , <[ch1]> */ DUP[] #PUSH, 64, 4 MINDEX[] SUB[] MUL[] SUB[] #PUSH, 1, 78 /* roundDist */ CALL[] /* STACK:

, , <[ch1] - [ch1]*(1-fraction)> */ WCVTP[] POP[] /* parent not involved */ /* STACK: */ ELSE[] /* STACK:

, , , */ SWAP[] POP[] /* fraction not involved */ /* STACK:

, , */ ROLL[] RCVT[] #PUSH, 1, 78 /* roundDist */ CALL[] /* STACK: , , <[p]> */ DUP[] ROLL[] SWAP[] /* STACK: , <[p]>, , <[p]> */ WCVTP[] WCVTP[] /* STACK: */ EIF[] #PUSHON #END ENDF[] FDEF[], 91 /* below : make child cvt the same as parent cvt

at and above: calculate child cvt as of parent cvt

CALL[], , ,

, , 91 */ #BEGIN #PUSHOFF /* STACK: , ,

, */ MPPEM[] LTEQ[] #PUSH, 64, 79 /* #samples/pixel */ CALL[] LT[] OR[] IF[] /* at or above ppem limit or rounding to less than a pixel */ /* STACK: , ,

*/ RCVT[] DUP[] ROLL[] /* STACK: , <[p]>, <[p]>, */ #PUSH, 64 SUB[] MUL[] ADD[] /* STACK: , <[p] + [p]*(fraction - 1)> */ ELSE[] /* STACK: , ,

*/ SWAP[] POP[] /* fraction not involved */ RCVT[] /* STACK: , [p] */ EIF[] #PUSH, 1, 78 /* roundDist */ CALL[] WCVTP[] /* STACK: */ #PUSHON #END ENDF[] FDEF[], 92 /* function to calculate a child cvt as a of two parent cvts , CALL[], , , , , 92 */ #BEGIN #PUSHOFF /* STACK: , , , */ SWAP[] RCVT[] DUP[] /* STACK: , , , <[p0]>, <[p0]> */ ROLL[] RCVT[] SWAP[] SUB[] /* STACK: , , <[p0]>, <[p1] - [p0]> */ DUP[] ABS[] #PUSH, 64 LTEQ[] /* STACK: , , <[p0]>, <[p1] - [p0]>, */ #PUSH, 4 CINDEX[] DUP[] #PUSH, 0 GTEQ[] SWAP[] #PUSH, 64 LTEQ[] AND[] AND[] /* STACK: , , <[p0]>, <[p1] - [p0]>, = 0 && blend <= 64?> */ #PUSH, 64, 79 /* #samples/pixel */ CALL[] EQ[] AND[] /* STACK: , , <[p0]>, <[p1] - [p0]>, = 0 && blend <= 64 && rounding to full pixel?> */ IF[] /* STACK: , , <[p0]>, <[p1] - [p0]> */ ROLL[] GPV[] ABS[] SWAP[] ABS[] SWAP[] /* STACK: , <[p0]>, <[p1] - [p0]>, , <|pv.x|>, <|pv.y|> */ GTEQ[] /* pv closer to x? */ IF[] /* STACK: , <[p0]>, <[p1] - [p0]>, */ /* bias towards p1: blend' := 1 - (1 - blend)² */ #PUSH, 64, 64 ROLL[] SUB[] DUP[] MUL[] SUB[] /* , <[p0]>, <[p1] - [p0]>, <1 - (1 - blend)²> */ ELSE[] /* STACK: , <[p0]>, <[p1] - [p0]>, */ /* bias towards p0: blend' := blend² */ DUP[] MUL[] /* STACK: , <[p0]>, <[p1] - [p0]>, */ EIF[] ELSE[] /* STACK: , , <[p0]>, <[p1] - [p0]> */ /* use unbiased blend */ ROLL[] /* STACK: , <[p0]>, <[p1] - [p0]>, */ EIF[] /* STACK: , <[p0]>, <[p1] - [p0]>, */ MUL[] #PUSH, 2, 78 /* roundDist */ CALL[] ADD[] /* STACK: , <[ch]> */ WCVTP[] #PUSHON #END ENDF[] FDEF[], 93 /* fn sets vectors to X (used in calculated calls) CALL[], 93 */ #BEGIN #PUSHOFF SVTCA[X] #PUSHON #END ENDF[] FDEF[], 94 /* fn sets vectors to Y (used in calculated calls) CALL[], 94 */ #BEGIN #PUSHOFF SVTCA[Y] #PUSHON #END ENDF[] FDEF[], 95 /* Set fv to X, pv perpendicular to italic angle (used in calculated calls) CALL[], 95 */ #BEGIN #PUSHOFF SFVTCA[X] #PUSH, 11, 10 RS[] SWAP[] RS[] NEG[] SPVFS[] #PUSHON #END ENDF[] FDEF[], 96 /* Set fv to italic angle, pv to Y (used in calculated calls) CALL[], 96 */ #BEGIN #PUSHOFF #PUSH, 10, 11 RS[] SWAP[] RS[] SFVFS[] SPVTCA[Y] #PUSHON #END ENDF[] FDEF[], 97 /* round down to virtual grid CALL[], <#samples/pixel>, , 97 returns with rounded argument on stack */ #BEGIN #PUSHOFF /* STACK: <#samples/pixel>, */ /* upscale argument by #samples/pixel */ #PUSH, 2 /* #samples/pixel */ CINDEX[] MUL[] /* do the rounding in upscaled domain */ FLOOR[] /* round down to super grid */ /* Downscaling uses a DIV[] operation, which is implemented as floor(numerator/denominator). For round(numerator/denominator) instead, add ½ denominator to numerator before dividing. But since the division in 26.6 has to multiply the numerator by 2^6 (64) before dividing, we have to divide said ½ denominator by 64 before adding, hence the 8192 (= 128 in 26.6). */ #PUSH, 2 /* #samples/pixel */ CINDEX[] #PUSH, 8192 DIV[] ADD[] /* downscale rounded and adjusted argument */ SWAP[] /* #samples/pixel */ DIV[] /* STACK: <[argument]> */ #PUSHON #END ENDF[] FDEF[], 98 /* round to virtual grid CALL[], <#samples/pixel>, , 98 returns with rounded argument on stack */ #BEGIN #PUSHOFF /* STACK: <#samples/pixel>, */ #PUSH, 2 /* #samples/pixel */ CINDEX[] MUL[] /* do the rounding in upscaled domain */ #PUSH, 32 /* round to super grid */ ADD[] FLOOR[] /* see above for adjustments below */ #PUSH, 2 /* #samples/pixel */ CINDEX[] #PUSH, 8192 DIV[] ADD[] /* downscale rounded and adjusted argument */ SWAP[] /* #samples/pixel */ DIV[] /* STACK: <[argument]> */ #PUSHON #END ENDF[] FDEF[], 99 /* round up to virtual grid CALL[], <#samples/pixel>, , 99 returns with rounded argument on stack */ #BEGIN #PUSHOFF /* STACK: <#samples/pixel>, */ #PUSH, 2 /* #samples/pixel */ CINDEX[] MUL[] /* do the rounding in upscaled domain */ CEILING[] /* round up to super grid */ /* see above for adjustments below */ #PUSH, 2 /* #samples/pixel */ CINDEX[] #PUSH, 8192 DIV[] ADD[] /* downscale rounded and adjusted argument */ SWAP[] /* #samples/pixel */ DIV[] /* STACK: <[argument]> */ #PUSHON #END ENDF[] FDEF[], 100 /* round to half virtual grid CALL[], <#samples/pixel>, , 100 returns with rounded argument on stack */ #BEGIN #PUSHOFF /* STACK: <#samples/pixel>, */ #PUSH, 2 /* #samples/pixel */ CINDEX[] MUL[] /* do the rounding in upscaled domain */ FLOOR[] #PUSH, 32 /* round to half super grid */ ADD[] /* see above for adjustments below */ #PUSH, 2 /* #samples/pixel */ CINDEX[] #PUSH, 8192 DIV[] ADD[] /* downscale rounded and adjusted argument */ SWAP[] /* #samples/pixel */ DIV[] /* STACK: <[argument]> */ #PUSHON #END ENDF[] FDEF[], 101 /* determine actual distance to be used for emulating MDRP[<] instruction with rendering environment specific rounding CALL[],

, , 101 returns with rounded distance on stack */ #BEGIN #PUSHOFF /* STACK:

, */ SWAP[] MD[O] /* round without minDist */ #PUSH, 2, 78 /* roundDist */ CALL[] /* STACK: <[w]> */ #PUSHON #END ENDF[] FDEF[], 102 /* determine actual distance to be used for emulating MDRP[>] instruction with rendering environment specific rounding CALL[],

, , 102 returns with rounded distance on stack */ #BEGIN #PUSHOFF /* STACK:

, */ SWAP[] MD[O] /* round with minDist */ #PUSH, 1, 78 /* roundDist */ CALL[] /* STACK: <[w]> */ #PUSHON #END ENDF[] FDEF[], 103 /* determine actual distance to be used for emulating MIRP[<] instruction with rendering environment specific rounding CALL[],

, , , 103 returns with rounded distance on stack */ #BEGIN #PUSHOFF /* STACK:

, , */ SWAP[] /* c */ ROLL[] /* p */ MD[O] SWAP[] /* cvt */ /* STACK: , */ /* do cvt cut-in test */ RCVT[] ABS[] #PUSH, 2 CINDEX[] ABS[] #PUSH, 2 CINDEX[] SUB[] ABS[] #PUSH, 3 /* cvt cut-in */ RS[] /* STACK: , <|wCvt|>, <||wNat| - |wCvt||>, */ GT[] IF[] /* STACK: , <|wCvt|> */ /* cvt cut-in test failed */ POP[] DUP[] ABS[] /* else cvt cut-in test succeeded */ EIF[] /* STACK: , <|w|> */ /* round without minDist */ #PUSH, 2, 78 /* roundDist */ CALL[] /* STACK: , <[w]> */ /* inherit sign from wNat */ SWAP[] #PUSH, 0 LT[] IF[] NEG[] EIF[] /* STACK: <[w]> */ #PUSHON #END ENDF[] FDEF[], 104 /* determine actual distance to be used for emulating MIRP[>] instruction with rendering environment specific rounding CALL[],

, , , 104 returns with rounded distance on stack */ #BEGIN #PUSHOFF /* STACK:

, , */ SWAP[] /* c */ ROLL[] /* p */ MD[O] SWAP[] /* cvt */ /* STACK: , */ /* do cvt cut-in test */ RCVT[] ABS[] #PUSH, 2 CINDEX[] ABS[] #PUSH, 2 CINDEX[] SUB[] ABS[] #PUSH, 3 /* cvt cut-in */ RS[] /* STACK: , <|wCvt|>, <||wNat| - |wCvt||>, */ GT[] IF[] /* STACK: , <|wCvt|> */ /* cvt cut-in test failed */ POP[] DUP[] ABS[] /* else cvt cut-in test succeeded */ EIF[] /* STACK: , <|w|> */ /* round with minDist */ #PUSH, 1, 78 /* roundDist */ CALL[] /* STACK: , <[w]> */ /* inherit sign from wNat */ SWAP[] #PUSH, 0 LT[] IF[] NEG[] EIF[] /* STACK: <[w]> */ #PUSHON #END ENDF[] FDEF[], 105 /* emulate MDRP[<] instruction with rendering environment specific rounding CALL[],

, , 105 */ #BEGIN #PUSHOFF /* STACK:

, */ DUP[] /* c */ #PUSH, 3 /* p */ CINDEX[] MD[O] #PUSH, 2, 78 /* roundDist */ CALL[] /* STACK:

, , <[dist]> */ ROLL[] SRP0[] MSIRP[M] #PUSHON #END ENDF[] FDEF[], 106 /* emulate MDRP[>] instruction with rendering environment specific rounding CALL[],

, , 106 */ #BEGIN #PUSHOFF /* STACK:

, */ DUP[] /* c */ #PUSH, 3 /* p */ CINDEX[] MD[O] #PUSH, 1, 78 /* roundDist */ CALL[] /* STACK:

, , <[dist]> */ ROLL[] SRP0[] MSIRP[M] #PUSHON #END ENDF[] FDEF[], 107 /* emulate MIRP[<] instruction with rendering environment specific rounding CALL[],

, , , 107 */ #BEGIN #PUSHOFF /* STACK:

, , */ #PUSH, 3 /* p */ CINDEX[] #PUSH, 3 /* c */ CINDEX[] ROLL[] /* cvt */ #PUSH, 103 /* resActDist, cvt, noMinDist */ CALL[] /* STACK:

, , <[dist]> */ ROLL[] SRP0[] MSIRP[M] #PUSHON #END ENDF[] FDEF[], 108 /* emulate MIRP[>] instruction with rendering environment specific rounding CALL[],

, , , 108 */ #BEGIN #PUSHOFF /* STACK:

, , */ #PUSH, 3 /* p */ CINDEX[] #PUSH, 3 /* c */ CINDEX[] ROLL[] /* cvt */ #PUSH, 104 /* resActDist, cvt, minDist */ CALL[] /* STACK:

, , <[dist]> */ ROLL[] SRP0[] MSIRP[M] #PUSHON #END ENDF[] FDEF[], 109 /* fn symmetrically constrains a stroke

, with CALL[],

, , , 109 */ #BEGIN #PUSHOFF /* STACK:

, , */ /* determine old median */ #PUSH, 3 /*

*/ CINDEX[] GC[N] #PUSH, 3 /* */ CINDEX[] GC[N] ADD[] /* STACK:

, , , <2*median> */ /* lock parent */ #PUSH, 4 /* p */ CINDEX[] MDAP[r] /* STACK:

, , , <2*median> */ /* link child */ #PUSH, 4 /* p */ CINDEX[] #PUSH, 4 /* c */ CINDEX[] #PUSH, 4 /* cvt */ MINDEX[] DUP[] #PUSH, 0 LT[] IF[] POP[] #PUSH, 106 /* resMIRP, noCvt, minDist */ ELSE[] #PUSH, 108 /* resMIRP, cvt, minDist */ EIF[] CALL[] /* STACK:

, , <2*median> */ /* determine new median */ #PUSH, 3 /*

*/ CINDEX[] GC[N] #PUSH, 3 /* */ CINDEX[] GC[N] ADD[] /* STACK:

, , <2*median>, <2*median'> */ SUB[] #PUSH, 128 DIV[] /* floor to 1/64 for now */ /* STACK:

, , */ DUP[] ROLL[] DUP[] SRP0[] SWAP[] MSIRP[m] SWAP[] DUP[] SRP0[] SWAP[] MSIRP[m] /* STACK: */ #PUSHON #END ENDF[] FDEF[], 110 /* calculate offset for emulation of interpolation of median of and between parents and using current pv and fv CALL[], , , , , 110 returns with offset on stack */ #BEGIN #PUSHOFF /* STACK: , , , */ #PUSH, 3 /* c0 */ CINDEX[] GC[O] #PUSH, 3 /* c1 */ CINDEX[] GC[O] ADD[] /* STACK: , , , , */ #PUSH, 5 /* p0 */ CINDEX[] GC[O] #PUSH, 128 MUL[] SUB[] /* STACK: , , , , */ #PUSH, 2 /* p1 */ CINDEX[] #PUSH, 6 /* p0 */ CINDEX[] MD[N] MUL[] /* STACK: , , , , <(c0 + c1 - 2*p0)*(p1' - p0')> */ SWAP[] /* p1 */ #PUSH, 5 /* p0 */ CINDEX[] MD[O] #PUSH, 128 MUL[] /* prevent inadvertent divide-by-zero e.g. on non-spacing glyphs */ DUP[] IF[] DIV[] ELSE[] POP[] EIF[] /* STACK: , , , <(c0 + c1 - 2*p0)*(p1' - p0')/(2*(p1 - p0))> */ #PUSH, 4 /* p0 */ MINDEX[] GC[N] ADD[] /* STACK: , , <(c0'' + c1'')/2> */ ROLL[] /* c0 */ GC[N] ROLL[] /* c1 */ GC[N] ADD[] #PUSH, 32 MUL[] /* STACK: <(c0'' + c1'')/2>, <(c0' + c1')/2> */ SUB[] /* STACK: */ #PUSHON #END ENDF[] FDEF[], 111 /* emulate interpolation of median of and between parents and using current pv and fv CALL[], , , , , 111 */ #BEGIN #PUSHOFF /* STACK: , , , */ #PUSH, 4 /* p0 */ MINDEX[] #PUSH, 4 /* c0 */ CINDEX[] #PUSH, 4 /* c1 */ CINDEX[] #PUSH, 4 /* p1 */ MINDEX[] #PUSH, 110 /* calc offset for interpolation of median */ CALL[] /* STACK: , , */ DUP[] /* STACK: , , , */ ROLL[] DUP[] SRP0[] SWAP[] /* STACK: , , , */ MSIRP[m] SWAP[] DUP[] SRP0[] SWAP[] /* STACK: , */ MSIRP[m] #PUSHON #END ENDF[] FDEF[], 112 /* adjust (unrounded) stroke phase to target phase according to method 0: round to nearest virtual pixel method 1: apply method 2 below 2 pixel wide strokes else method 0 method 2: optimize for max #black pixels method 3: optimize for one edge aligned right?: boolean indicating a left (false) or right (true) stroke) CALL[], , , , , 112 returns with (rounded) adjusted phase on stack */ #BEGIN #PUSHOFF /* STACK: , , , */ SWAP[] DUP[] #PUSH, 1 EQ[] IF[] /* STACK: , , , */ /* replace method depending on stroke weight */ POP[] #PUSH, 2 /* weight */ CINDEX[] #PUSH, 2, 78 /* roundDist */ CALL[] #PUSH, 128 LT[] DUP[] ADD[] EIF[] DUP[] ADD[] ADD[] /* STACK: , , */ DUP[] #PUSH, 1 LTEQ[] IF[] /* just round to nearest virtual pixel */ POP[] POP[] /* STACK: */ ELSE[] DUP[] #PUSH, 5 LTEQ[] IF[] /* optimize for max #black pixels */ POP[] /* STACK: , */ DUP[] FLOOR[] SUB[] /* STACK: , */ #PUSH, 64 SWAP[] SUB[] /* STACK: , <1-fractWeight> */ #PUSH, 0, 3 /* phase */ CINDEX[] LT[] #PUSH, 3 /* phase */ CINDEX[] #PUSH, 3 /* 1-fractWeight */ CINDEX[] LT[] AND[] IF[] /* if 0 < phase < 1-fractWeight then need to adjust phase */ /* STACK: , <1-fractWeight> */ DUP[] #PUSH, 3 CINDEX[] SUB[] /* STACK: , <1-fractWeight>, <1-fractWeight-phase> */ ROLL[] GTEQ[] IF[] /* error from phase to 1-fractWeight >= error from 0 to phase */ POP[] #PUSH, 0 /* target 0 as phase */ EIF[] /* else target 1-fractWeight as phase, which is what's left on stack */ ELSE[] /* STACK: , <1-fractWeight> */ POP[] EIF[] ELSE[] /* optimize for one edge aligned */ /* STACK: , , */ #PUSH, 7 EQ[] IF[] /* right flush */ /* STACK: , */ DUP[] FLOOR[] SUB[] /* STACK: , */ NEG[] SWAP[] POP[] ELSE[] /* left flush (and default) */ /* STACK: , */ POP[] POP[] #PUSH, 0 EIF[] EIF[] EIF[] #PUSH, 2, 78 /* roundDist */ CALL[] /* STACK: phase */ #PUSHON #END ENDF[] FDEF[], 113 /* fn calculates delta phase for optimal position of stroke bordered by

and according to (see fn 112 for definition of method) CALL[],

, , , 113 returns with delta phase in interval ]-½,+½] on stack */ #BEGIN #PUSHOFF /* STACK:

, , */ /* use sequence of parameters

and to determine if this is a "left" stroke (in which case we may add grey to the right), or a "right" stroke (in which case we may add grey to the left) */ #PUSH, 2 /* c */ CINDEX[] #PUSH, 4 /* p */ CINDEX[] MD[O] #PUSH, 0 GTEQ[] IF[] #PUSH, 0 /* "left" stroke */ ELSE[] ROLL[] ROLL[] SWAP[] ROLL[] #PUSH, 1 /* "right" stroke */ EIF[] /* STACK:

, , , */ #PUSH, 4 /* p */ CINDEX[] GC[N] DUP[] FLOOR[] SUB[] DUP[] /* STACK:

, , , , , */ #PUSH, 5 /* c */ MINDEX[] #PUSH, 6 /* p */ MINDEX[] MD[N] /* STACK: , , , , */ #PUSH, 5 /* method */ MINDEX[] #PUSH, 5 /* right? */ MINDEX[] #PUSH, 112 /* adjust to target stroke phase */ CALL[] /* STACK: , */ SWAP[] SUB[] /* STACK: */ /* minimze phase into interval ]-½,+½] */ NEG[] #PUSH, 32 ADD[] DUP[] FLOOR[] SUB[] #PUSH, 32 SUB[] NEG[] #PUSHON #END ENDF[] FDEF[], 114 /* emulate MIAP instruction with rendering environment specific rounding CALL[], , , 114 */ #BEGIN #PUSHOFF /* STACK: , */ #PUSH, 2 /* c */ CINDEX[] GC[N] DUP[] /* STACK: , , , */ ROLL[] DUP[] #PUSH, 0 LT[] IF[] /* STACK: , , , */ POP[] /* cvt < 0 (no cvt used) => w = wNat */ /* STACK: , , */ #PUSH, 2, 78 /* roundDist */ CALL[] ELSE[] RCVT[] /* STACK: , , , */ /* no cvt cut-in test (for eventual support of automatic small caps, superiors, and inferiors), pop wNat to use wCvt */ SWAP[] POP[] /* leave value as rounded by cpgm */ /* STACK: , , */ EIF[] SUB[] NEG[] /* STACK: , */ #PUSH, 2 CINDEX[] SRP0[] MSIRP[M] #PUSHON #END ENDF[] FDEF[], 115 /* interpolates a point

in between points and dirFlag: postRoundFlag*8 + dir dir: X = 0, Y = 1, X/ = 2, Y/ = 3, ... depending on rendering environment and pv may optimise point position CALL[], , , , , 115 */ #BEGIN #PUSHOFF /* STACK: , ,

, */ /* separate postRoundFlag from dir */ #PUSH, 4 /* dirFlag */ MINDEX[] DUP[] #PUSH, 512 DIV[] DUP[] #PUSH, 512 MUL[] ROLL[] SWAP[] SUB[] /* STACK:, ,

, , ,

*/ DUP[] #PUSH, 93 /* setV */ ADD[] CALL[] /* STACK: ,

, , ,

*/ #PUSH, 5 /* p0 */ CINDEX[] SRP1[] ROLL[] /* p1 */ SRP2[] ROLL[] /* p */ DUP[] IP[] /* STACK: , , ,

*/ ROLL[] /* postRoundFlag */ IF[] /* STACK: ,

,

*/ #PUSH, 93, 4096, 4 /* setV, 64, dir */ MINDEX[] MUL[] ODD[] ADD[] CALL[] /* STACK: ,

*/ SWAP[] POP[] DUP[] /* p */ SRP0[] DUP[] GC[N] DUP[] #PUSH, 2, 78 /* roundDist */ CALL[] SWAP[] SUB[] /* STACK:

, <[p.c]-p.c> */ ELSE[] /* STACK: ,

,

*/ SWAP[] POP[] /* STACK: ,

*/ DUP[] ROLL[] DUP[] /* p0 */ SRP0[] MD[N] #PUSH, 2, 78 /* roundDist */ CALL[] /* STACK:

, <[p.dist]> */ EIF[] MSIRP[M] /* STACK: */ #PUSHON #END ENDF[] FDEF[], 116 /* constrains a stroke in

, defined by parent

and child , and by cvt , and interpolates it between points and dir: X = 0, Y = 1, X/ = 2 sof: (stroke optimization flags ||, |<, and >| ) don't = 0, do = 1, leftBias = 2, rightBias = 3 CALL[],

, ,

, , , , , 116 */ #BEGIN #PUSHOFF /* STACK:

, ,

, , , , */ #PUSH, 93, 4096, 9 /* setV, 64, dir */ CINDEX[] MUL[] ODD[] ADD[] CALL[] /* constrain stroke */ #PUSH, 5 /* p */ CINDEX[] #PUSH, 5 /* c */ CINDEX[] #PUSH, 5 /* cvt */ MINDEX[] #PUSH, 109 /* symDist */ CALL[] /* STACK:

, ,

, , , */ #PUSH, 93, 7 /* setV, dir */ CINDEX[] ADD[] CALL[] #PUSH, 5 /* gp0 */ CINDEX[] #PUSH, 5 /* p */ CINDEX[] #PUSH, 5 /* c */ CINDEX[] #PUSH, 5 /* gp1 */ CINDEX[] #PUSH, 111 /* interpolate median */ CALL[] /* STACK:

, ,

, , , */ #PUSH, 93, 4096, 8 /* setV, 64, dir */ MINDEX[] MUL[] ODD[] ADD[] CALL[] /* STACK: ,

, , , */ DUP[] #PUSH, 0 GT[] IF[] /* optimize stroke position */ #PUSH, 80 CALL[] /* STACK: ,

, , , , */ #PUSH, 5 /* p */ CINDEX[] #PUSH, 5 /* c */ CINDEX[] #PUSH, 7 /* p */ CINDEX[] #PUSH, 7 /* c */ CINDEX[] #PUSH, 5 /* som */ CINDEX[] #PUSH, 113 /* get delta phase for optimal stroke position */ CALL[] #PUSH, 2 SLOOP[] SHPIX[] /* STACK: ,

, , , , */ #PUSH, 0 GT[] #PUSH, 2 /* sof */ CINDEX[] #PUSH, 1 GT[] AND[] IF[] /* STACK: ,

, , , */ /* determine total side-bearing space to see if we need to bias the black body */ #PUSH, 4 /* p */ CINDEX[] #PUSH, 6 /* gp0 */ CINDEX[] MD[N] #PUSH, 3 /* gp1 */ CINDEX[] #PUSH, 5 /* c */ CINDEX[] MD[N] ADD[] DUP[] #PUSH, 64 GT[] IF[] /* STACK: ,

, , , , */ /* enough total side-bearing space left, leave it alone */ POP[] ELSE[] /* STACK: ,

, , , , */ /* 1 pixel or less total side-bearing space left */ #PUSH, 0 GT[] IF[] /* STACK: ,

, , , */ /* any total side-bearing space left at all */ DUP[] #PUSH, 2 EQ[] IF[] /* STACK: ,

, , , */ /* move stroke flush left */ #PUSH, 4 /* p */ CINDEX[] #PUSH, 4 /* c */ CINDEX[] #PUSH, 7 /* gp0 */ CINDEX[] #PUSH, 7 /* p */ CINDEX[] MD[N] #PUSH, 2 SLOOP[] SHPIX[] ELSE[] /* STACK: ,

, , , */ /* move stroke flush left */ #PUSH, 4 /* p */ CINDEX[] #PUSH, 4 /* c */ CINDEX[] #PUSH, 4 /* gp1 */ CINDEX[] #PUSH, 6 /* c */ CINDEX[] MD[N] #PUSH, 2 SLOOP[] SHPIX[] EIF[] EIF[] EIF[] EIF[] EIF[] /* STACK: ,

, , , */ POP[] POP[] POP[] POP[] POP[] /* STACK: */ #PUSHON #END ENDF[] FDEF[], 117 /* fn tries to place and constrain two strokes and between grandparents and in direction

dir: X = 0, Y = 1, X/ = 2 X/ (italic) is not yet implemented; to do so properly will need to factor the italic phase optimization part out of fn 131 and make it available to this fn. CALL[], , , , , , , , , , 117 */ #BEGIN #PUSHOFF /* STACK: , , , , , , , , */ #PUSH, 93, 4096, 11 /* setV, dir */ CINDEX[] MUL[] ODD[] ADD[] CALL[] /* STACK: , , , , , , , , */ /* interpolate black body */ #PUSH, 7 /* p0 */ CINDEX[] #PUSH, 7 /* c0 */ CINDEX[] #PUSH, 6 /* p1 */ CINDEX[] #PUSH, 6 /* c1 */ CINDEX[] #PUSH, 12 /* gp0 */ CINDEX[] #PUSH, 12 /* p0 */ CINDEX[] #PUSH, 9 /* c1 */ CINDEX[] #PUSH, 8 /* gp1 */ CINDEX[] #PUSH, 110 /* calc offset for interpolation of median */ CALL[] #PUSH, 4 SLOOP[] SHPIX[] /* STACK: , , , , , , , , */ /* constrain stroke0 */ #PUSH, 7 /* p0 */ CINDEX[] #PUSH, 7 /* c0 */ CINDEX[] #PUSH, 7 /* cvt0 */ MINDEX[] #PUSH, 109 /* symDist */ CALL[] /* STACK: , , , , , , , */ /* constrain stroke1 */ #PUSH, 4 /* p1 */ CINDEX[] #PUSH, 4 /* c1 */ CINDEX[] #PUSH, 4 /* cvt1 */ MINDEX[] #PUSH, 109 /* symDist */ CALL[] /* STACK: , , , , , , */ #PUSH, 80 CALL[] /* STACK: , , , , , , , */ /* determine phase0 for optimal position of stroke0 */ #PUSH, 6 /* p0 */ CINDEX[] #PUSH, 6 /* c0 */ CINDEX[] #PUSH, 3 /* som */ CINDEX[] #PUSH, 113 /* get delta phase for optimal stroke position */ CALL[] /* STACK: , , , , , , , , */ /* forward to stroke1 position */ #PUSH, 5 /* p1 */ CINDEX[] #PUSH, 5 /* c1 */ CINDEX[] #PUSH, 3 /* phase0 */ CINDEX[] #PUSH, 2 SLOOP[] SHPIX[] /* STACK: , , , , , , , , */ /* determine phase1 for optimal position of stroke1 */ DUP[] #PUSH, 6 /* p1 */ CINDEX[] #PUSH, 6 /* c1 */ CINDEX[] #PUSH, 5 /* som */ CINDEX[] #PUSH, 113 /* get delta phase for optimal stroke position */ CALL[] ADD[] /* STACK: , , , , , , , , , */ /* undo forwarding to stroke1 position */ #PUSH, 6 /* p1 */ CINDEX[] #PUSH, 6 /* c1 */ CINDEX[] #PUSH, 4 /* phase0 */ CINDEX[] NEG[] #PUSH, 2 SLOOP[] SHPIX[] /* STACK: , , , , , , , , , */ /* determine double average phase error */ #PUSH, 2 /* phase0 */ CINDEX[] #PUSH, 2 /* phase1 */ CINDEX[] ADD[] /* STACK: , , , , , , , , , , <2*phaseError> */ DUP[] #PUSH, 64 GTEQ[] IF[] /* STACK: , , , , , , , , , , <2*phaseError> */ /* double average phase error >= 1 pixel, correct to the left */ POP[] #PUSH, 64 SUB[] SWAP[] #PUSH, 64 SUB[] SWAP[] ELSE[] /* STACK: , , , , , , , , , , <2*phaseError> */ #PUSH, -64 LT[] IF[] /* STACK: , , , , , , , , , , <2*phaseError> */ /* double average phase error < -1 pixel, correct to the right */ #PUSH, 64 ADD[] SWAP[] #PUSH, 64 ADD[] SWAP[] EIF[] EIF[] /* STACK: , , , , , , , , , */ /* apply corrected optimal phase0 to stroke0 */ #PUSH, 8 /* p0 */ CINDEX[] #PUSH, 8 /* c0 */ CINDEX[] #PUSH, 4 /* phase0 */ MINDEX[] #PUSH, 2 SLOOP[] SHPIX[] /* STACK: , , , , , , , , */ /* apply corrected optimal phase1 to stroke1 */ #PUSH, 5 /* p1 */ CINDEX[] #PUSH, 5 /* c1 */ CINDEX[] ROLL[] /* phase1 */ #PUSH, 2 SLOOP[] SHPIX[] /* STACK: , , , , , , , */ DUP[] #PUSH, 0 GT[] IF[] /* STACK: , , , , , , , */ /* determine total side-bearing space to see if we need to bias the black body */ #PUSH, 6 /* p0 */ CINDEX[] #PUSH, 8 /* gp0 */ CINDEX[] MD[N] #PUSH, 3 /* gp1 */ CINDEX[] #PUSH, 5 /* c1 */ CINDEX[] MD[N] ADD[] DUP[] #PUSH, 64 GT[] IF[] /* enough total side-bearing space left, leave it alone */ POP[] ELSE[] /* 1 pixel or less total side-bearing space left */ #PUSH, 0 GT[] IF[] /* STACK: , , , , , , , */ /* any total side-bearing space left at all, move black-body flush left and start over */ #PUSH, 6 /* p0 */ CINDEX[] #PUSH, 6 /* c0 */ CINDEX[] #PUSH, 6 /* p1 */ CINDEX[] #PUSH, 6 /* c1 */ CINDEX[] #PUSH, 11 /* gp0 */ CINDEX[] #PUSH, 11 /* p0 */ CINDEX[] MD[N] #PUSH, 4 SLOOP[] SHPIX[] /* STACK: , , , , , , , */ /* optimize position of stroke0 forwarding phase0 to stroke1 */ #PUSH, 6 /* p0 */ CINDEX[] #PUSH, 6 /* c0 */ CINDEX[] #PUSH, 6 /* p1 */ CINDEX[] #PUSH, 6 /* c1 */ CINDEX[] #PUSH, 10 /* p0 */ CINDEX[] #PUSH, 10 /* c0 */ CINDEX[] #PUSH, 7 /* som */ CINDEX[] #PUSH, 113 /* get delta phase for optimal stroke position */ CALL[] #PUSH, 4 /* apply to both strokes */ SLOOP[] SHPIX[] /* STACK: , , , , , , , */ /* optimize position of stroke1 */ #PUSH, 4 /* p1 */ CINDEX[] #PUSH, 4 /* c1 */ CINDEX[] #PUSH, 5 /* c1 */ CINDEX[] #PUSH, 7 /* p1 */ CINDEX[] #PUSH, 5 /* som */ CINDEX[] #PUSH, 113 /* get delta phase for optimal stroke position */ CALL[] #PUSH, 2 /* apply to second stroke only */ SLOOP[] SHPIX[] ELSE[] /* STACK: , , , , , , , */ /* no total side-bearing space left, move stroke1 left by 1 pixel */ #PUSH, 4 /* p1 */ CINDEX[] #PUSH, 4 /* c1 */ CINDEX[] #PUSH, -64, 2 SLOOP[] SHPIX[] EIF[] EIF[] EIF[] /* STACK: , , , , , , , */ POP[] POP[] POP[] POP[] POP[] POP[] POP[] POP[] #PUSHON #END ENDF[] FDEF[], 118 /* fn to set pv perpendicular to p1 and c0' such that distance c0'<---p0 measures cvt or natural distance if cvt = -1. used as support to ResX|YDDist and ResX|YDLink CALL[], , , , , 118 */ #BEGIN #PUSHOFF /* STACK: , , , */ #PUSH, 4 /* p1 */ CINDEX[] #PUSH, 3 /* c0 */ CINDEX[] SDPVTL[R] #PUSH, 3 /* p0 */ CINDEX[] #PUSH, 3 /* c0 */ CINDEX[] ROLL[] /* cvt */ DUP[] #PUSH, 0 LT[] IF[] POP[] #PUSH, 101 /* resActDist, noCvt, noMinDist */ ELSE[] #PUSH, 104 /* resActDist, cvt, minDist */ EIF[] CALL[] ABS[] /* STACK: , , , */ #PUSH, 4 /* p1 */ CINDEX[] #PUSH, 4 /* p0 */ CINDEX[] SPVTL[r] #PUSH, 4 /* p1 */ CINDEX[] #PUSH, 4 /* p0 */ CINDEX[] MD[N] /* STACK: , , , , */ /* test if solution exists at all */ DUP[] DUP[] MUL[] #PUSH, 3 /* w */ CINDEX[] DUP[] MUL[] LTEQ[] #PUSH, 0, 3 /* d */ CINDEX[] EQ[] OR[] /* STACK: , , , , , */ IF[] /* STACK: , , , , */ /* solution doesn't exist, hence prepare to bail out */ POP[] POP[] SWAP[] POP[] SPVTL[R] ELSE[] /* STACK: , , , , */ /* solution exists, hence continue computation */ DUP[] MUL[] #PUSH, 2 /* w */ CINDEX[] DUP[] MUL[] SUB[] DUP[] /* STACK: , , , , , */ #PUSH, 83 /* sqrt */ CALL[] /* STACK: , , , , , */ ROLL[] /* w */ MUL[] /* STACK: , , , , */ #PUSH, 5 /* p1 */ CINDEX[] #PUSH, 5 /* p0 */ CINDEX[] SDPVTL[R] #PUSH, 4 /* p0 */ CINDEX[] #PUSH, 4 /* c0 */ MINDEX[] MD[O] #PUSH, 0 LT[] IF[] NEG[] /* dy */ EIF[] /* STACK: , , , */ #PUSH, 4 /* p1 */ MINDEX[] DUP[] SVTCA[X] GC[N] SWAP[] SVTCA[Y] GC[N] /* STACK: , , , , */ #PUSH, 5 /* p0 */ MINDEX[] DUP[] SVTCA[X] GC[N] SWAP[] SVTCA[Y] GC[N] /* STACK: , , , , , */ #PUSH, 0 /* enter twilight zone */ SZPS[] SVTCA[Y] #PUSH, 0 SWAP[] SCFS[] SVTCA[X] #PUSH, 0 SWAP[] SCFS[] /* STACK: , , , */ SVTCA[Y] DUP[] #PUSH, 1 SWAP[] SCFS[] #PUSH, 2 SWAP[] SCFS[] SVTCA[X] DUP[] #PUSH, 1 SWAP[] SCFS[] #PUSH, 2 SWAP[] SCFS[] /* STACK: , */ SWAP[] /* STACK: , */ #PUSH, 2, 0, 1 SFVTL[r] SWAP[] SHPIX[] /* STACK: */ #PUSH, 2, 0, 1 SFVTL[R] SWAP[] SHPIX[] /* STACK: */ #PUSH, 2, 1 SPVTL[R] #PUSH, 1 /* leave twilight zone */ SZPS[] EIF[] #PUSHON #END ENDF[] FDEF[], 119 /* align c with p unless fv is perpendicular to pv fv and pv assumed to be set prior to calling fn 119 used as support to ResX|YDDist and ResX|YDLink CALL[],

, , 119 */ #BEGIN #PUSHOFF /* STACK:

, */ SWAP[] SRP0[] /* STACK: */ GFV[] GPV[] /* STACK: , , , , */ ROLL[] MUL[] SWAP[] ROLL[] MUL[] ADD[] ABS[] /* STACK: , <|pv.y*fv.y + pv.x*fv.x|> */ #PUSH, 16384, 1024 MUL[] /* the above dot product multiplies two 2.14 numbers in 26.6 arithmetic yielding a 2.22 number (2^14 * 2^14 / 2^6 = 2^22) like the rasterizer, we're comparing this number to 1/16: |fv1·pv| < 1/16 means fv1 is within ±arcsin(1/16) or ±3.5833° perpendicular to pv in 2.22 format 1/16 is 2^18, but since the assembler won't allow us to push 2^18 = 262144, we make up this number as a multiplication the multiplication, in turn, is again done in 26.6 format, hence we multiply 16384 with 1024 (2^14 * 2^10 / 2^6 = 2^18) */ LT[] IF[] /* fv is approximately perpendicular to pv which by itself is perpendicular to a line from p to c' (with c' the twilight point 2 computed in fn 118), i.e. fv is approximately parallel to line from p to c'. Given the usage of fn 119 this means that fv is approximately coincident with said line, or c is approximately aligned already, hence simply touch the point, but without involving the pv */ /* STACK: */ #PUSH, 0 SHPIX[] ELSE[] /* STACK: */ ALIGNRP[] EIF[] /* STACK: */ #PUSHON #END ENDF[] FDEF[], 120 /* support to ResX|YDDist and ResX|YDLink where fv0 and fv1 are x or y CALL[], , , , , , , , , 120 */ #BEGIN #PUSHOFF /* STACK: , , , , , , , */ #PUSH, 6 /* p1 */ CINDEX[] #PUSH, 9 /* p0 */ CINDEX[] #PUSH, 9 /* c0 */ CINDEX[] #PUSH, 7 /* cvt0 */ MINDEX[] #PUSH, 118 CALL[] /* STACK: , , , , , , */ SWAP[] #PUSH, 0 /* x? */ EQ[] IF[] SFVTCA[X] ELSE[] SFVTCA[Y] EIF[] /* STACK: , , , , , */ #PUSH, 4 /* p1 */ CINDEX[] #PUSH, 6 /* c0 */ MINDEX[] #PUSH, 119 CALL[] /* STACK: , , , , */ #PUSH, 5 /* p0 */ CINDEX[] #PUSH, 5 /* p1 */ MINDEX[] #PUSH, 5 /* c1 */ CINDEX[] #PUSH, 5 /* cvt1 */ MINDEX[] #PUSH, 118 CALL[] /* STACK: , , */ #PUSH, 0 /* x? */ EQ[] IF[] SFVTCA[X] ELSE[] SFVTCA[Y] EIF[] /* STACK: , */ #PUSH, 119 CALL[] /* STACK: */ #PUSHON #END ENDF[] FDEF[], 121 /* support to ResX|YDDist and ResX|YDLink where fv0 is x or y while fv1 is to-line CALL[], , , , , , , , , , 121 */ #BEGIN #PUSHOFF /* STACK: , , , , , , , , */ #PUSH, 7 /* p1 */ CINDEX[] #PUSH, 10 /* p0 */ CINDEX[] #PUSH, 10 /* c0 */ CINDEX[] #PUSH, 8 /* cvt0 */ MINDEX[] #PUSH, 118 CALL[] /* STACK: , , , , , , , */ ROLL[] #PUSH, 0 /* x? */ EQ[] IF[] SFVTCA[X] ELSE[] SFVTCA[Y] EIF[] /* STACK: , , , , , , */ #PUSH, 5 /* p1 */ CINDEX[] #PUSH, 7 /* c0 */ MINDEX[] #PUSH, 119 CALL[] /* STACK: , , , , , */ #PUSH, 6 /* p0 */ CINDEX[] #PUSH, 6 /* p1 */ MINDEX[] #PUSH, 6 /* c1 */ CINDEX[] #PUSH, 6 /* cvt1 */ MINDEX[] #PUSH, 118 CALL[] /* STACK: , , , */ SFVTL[r] /* STACK: , */ #PUSH, 119 CALL[] /* STACK: */ #PUSHON #END ENDF[] FDEF[], 122 /* support to ResX|YDDist and ResX|YDLink where fv0 is to-line while fv1 is x or y CALL[], , , , , , , , , , 122 */ #BEGIN #PUSHOFF /* STACK: , , , , , , , , */ #PUSH, 7 /* p1 */ CINDEX[] #PUSH, 10 /* p0 */ CINDEX[] #PUSH, 10 /* c0 */ CINDEX[] #PUSH, 8 /* cvt0 */ MINDEX[] #PUSH, 118 CALL[] /* STACK: , , , , , , , */ ROLL[] ROLL[] SFVTL[r] /* STACK: , , , , , */ #PUSH, 4 /* p1 */ CINDEX[] #PUSH, 6 /* c0 */ MINDEX[] #PUSH, 119 CALL[] /* STACK: , , , , */ #PUSH, 5 /* p0 */ CINDEX[] #PUSH, 5 /* p1 */ MINDEX[] #PUSH, 5 /* c1 */ CINDEX[] #PUSH, 5 /* cvt1 */ MINDEX[] #PUSH, 118 CALL[] /* STACK: , , */ #PUSH, 0 /* x? */ EQ[] IF[] SFVTCA[X] ELSE[] SFVTCA[Y] EIF[] /* STACK: , */ #PUSH, 119 CALL[] /* STACK: */ #PUSHON #END ENDF[] FDEF[], 123 /* support to ResX|YDDist and ResX|YDLink where both fv0 and fv1 are to-line CALL[], , , , , , , , , , , 123 */ #BEGIN #PUSHOFF /* STACK: , , , , , , , , , */ #PUSH, 8 /* p1 */ CINDEX[] #PUSH, 11 /* p0 */ CINDEX[] #PUSH, 11 /* c0 */ CINDEX[] #PUSH, 9 /* cvt0 */ MINDEX[] #PUSH, 118 CALL[] /* STACK: , , , , , , , , */ #PUSH, 4 /* fv0.p0 */ MINDEX[] #PUSH, 4 /* fv0.p1 */ MINDEX[] SFVTL[r] /* STACK: , , , , , , */ #PUSH, 5 /* p1 */ CINDEX[] #PUSH, 7 /* c0 */ MINDEX[] #PUSH, 119 CALL[] /* STACK: , , , , , */ #PUSH, 6 /* p0 */ CINDEX[] #PUSH, 6 /* p1 */ MINDEX[] #PUSH, 6 /* c1 */ CINDEX[] #PUSH, 6 /* cvt1 */ MINDEX[] #PUSH, 118 CALL[] /* STACK: , , , */ SFVTL[r] /* STACK: , */ #PUSH, 119 CALL[] /* STACK: */ #PUSHON #END ENDF[] FDEF[], 124 /* determine on which side of edge p0->p1 is c by calculating vector product (c - p0) ^ (p1 - p0) CALL[], , , , 124 returns with vector product on stack if vector product < 0 then c is on the left of p0->p1 if vector product > 0 then c is on the right of p0->p1 else c is exactly on p0->p1 */ #BEGIN #PUSHOFF /* STACK: , , */ SPVTCA[X] #PUSH, 3 /* p0 */ CINDEX[] #PUSH, 3 /* c */ CINDEX[] MD[O] #PUSH, 4 /* p0 */ CINDEX[] #PUSH, 3 /* p1 */ CINDEX[] MD[O] /* STACK: , , , , */ SPVTCA[Y] #PUSH, 5 /* p0 */ CINDEX[] #PUSH, 5 /* c */ MINDEX[] MD[O] #PUSH, 5 /* p0 */ MINDEX[] #PUSH, 5 /* p1 */ MINDEX[] MD[O] /* STACK: , , , */ #PUSH, 4 /* a.x */ MINDEX[] MUL[] ROLL[] /* b.x */ ROLL[] /* a.y */ MUL[] SUB[] /* STACK: */ #PUSHON #END ENDF[] FDEF[], 125 /* fn interpolates a pair of diagonal links between grand-parents gp0 and gp1 along pv pv: X = 0, Y = 1, X/ = 2; fv0 and fv1: x and y components in 2.14 CALL[], , , , , , , , , , , , , fv1.y>, 125 */ #BEGIN #PUSHOFF /* interpolate parents between grand-parents along pv */ /* STACK: , , , , , , , , , , , , fv1.y> */ #PUSH, 93, 14 /* pv */ CINDEX[] ADD[] CALL[] #PUSH, 12 /* gp0 */ MINDEX[] SRP1[] #PUSH, 5 /* gp1 */ MINDEX[] SRP2[] #PUSH, 10 /* p0 */ CINDEX[] IP[] #PUSH, 7 /* p1 */ CINDEX[] IP[] /* determine if this is a crisscrossed stroke */ /* STACK: , , , , , , , , , , fv1.y> */ #PUSH, 10 /* p0 */ CINDEX[] #PUSH, 10 /* c0 */ CINDEX[] #PUSH, 9 /* p1 */ CINDEX[] #PUSH, 124 /* c0 on which side of edge p0->p1? */ CALL[] #PUSH, 0 LT[] #PUSH, 11 /* p0 */ CINDEX[] #PUSH, 8 /* c1 */ CINDEX[] #PUSH, 10 /* p1 */ CINDEX[] #PUSH, 124 /* c1 on which side of edge p0->p1? */ CALL[] #PUSH, 0 LT[] EQ[] IF[] /* both childern on same side of parent edge p0>->p1 hence re-align children with parents perp to dpv. */ /* STACK: , , , , , , , , , , fv1.y> */ #PUSH, 7 /* p1 */ CINDEX[] #PUSH, 11 /* p0 */ CINDEX[] SDPVTL[R] #PUSH, 4 /* fv0.x */ CINDEX[] #PUSH, 4 /* fv0.y */ CINDEX[] SFVFS[] #PUSH, 10 /* p0 */ CINDEX[] SRP0[] #PUSH, 9 /* c0 */ CINDEX[] MDRP[m->p1 hence re-align children with parents per method for crisscrossed strokes */ /* STACK: , , , , , , , , , , fv1.y> */ #PUSH, 7 /* p1 */ CINDEX[] #PUSH, 11 /* p0 */ CINDEX[] #PUSH, 11 /* c0 */ CINDEX[] #PUSH, -1, 118 /* no cvt0, no minDist */ CALL[] /* STACK: , , , , , , , , , , fv1.y> */ #PUSH, 4 /* fv0.x */ CINDEX[] #PUSH, 4 /* fv0.y */ CINDEX[] SFVFS[] /* STACK: , , , , , , , , , , fv1.y> */ #PUSH, 7 /* p1 */ CINDEX[] #PUSH, 10 /* c0 */ CINDEX[] #PUSH, 119 CALL[] /* STACK: , , , , , , , , , , fv1.y> */ #PUSH, 10 /* p0 */ CINDEX[] #PUSH, 8 /* p1 */ CINDEX[] #PUSH, 8 /* c1 */ CINDEX[] #PUSH, -1, 118 /* no cvt1, no minDist */ CALL[] /* STACK: , , , , , , , , , , fv1.y> */ #PUSH, 2 /* fv1.x */ CINDEX[] #PUSH, 2 /* fv1.y */ CINDEX[] SFVFS[] /* STACK: , */ #PUSH, 10 /* p0 */ CINDEX[] #PUSH, 7 /* c1 */ CINDEX[] #PUSH, 119 CALL[] EIF[] /* determine pre-link medians, measuring perpendicularly to p0->p1 */ /* STACK: , , , , , , , , , , fv1.y> */ #PUSH, 10 /* p0 */ CINDEX[] GC[N] #PUSH, 10 /* c0 */ CINDEX[] GC[N] ADD[] #PUSH, 8 /* p1 */ CINDEX[] GC[N] #PUSH, 8 /* c1 */ CINDEX[] GC[N] ADD[] /* links */ /* STACK: , , , , , , , , , , fv1.y>, , */ #PUSH, 6 /* fv0.x */ CINDEX[] #PUSH, 6 /* fv0.y */ CINDEX[] SFVFS[] #PUSH, 12 /* p0 */ CINDEX[] #PUSH, 12 /* c0 */ CINDEX[] #PUSH, 12 /* cvt0 */ MINDEX[] DUP[] #PUSH, 0 LT[] IF[] POP[] #PUSH, 106 /* resMIRP, noCvt, minDist */ ELSE[] #PUSH, 108 /* resMIRP, cvt, minDist */ EIF[] CALL[] /* STACK: , , , , , , , , , fv1.y>, , */ #PUSH, 4 /* fv1.x */ CINDEX[] #PUSH, 4 /* fv1.y */ CINDEX[] SFVFS[] #PUSH, 9 /* p1 */ CINDEX[] #PUSH, 9 /* c1 */ CINDEX[] #PUSH, 9 /* cvt1 */ MINDEX[] DUP[] #PUSH, 0 LT[] IF[] POP[] #PUSH, 106 /* resMIRP, noCvt, minDist */ ELSE[] #PUSH, 108 /* resMIRP, cvt, minDist */ EIF[] CALL[] /* subtract post-link medians from pre-link ones */ /* STACK: , , , , , , , , fv1.y>, , */ SWAP[] #PUSH, 10 /* p0 */ CINDEX[] GC[N] #PUSH, 10 /* c0 */ CINDEX[] GC[N] ADD[] SUB[] #PUSH, 32 MUL[] SWAP[] #PUSH, 8 /* p1 */ CINDEX[] GC[N] #PUSH, 8 /* c1 */ CINDEX[] GC[N] ADD[] SUB[] #PUSH, 32 MUL[] /* finally move points by respective deltas */ /* STACK: , , , , , , , , fv1.y>, , */ #PUSH, 1, 12 /* pv */ CINDEX[] EQ[] IF[] SFVTCA[Y] ELSE[] SFVTCA[X] EIF[] #PUSH, 10 /* p0 */ MINDEX[] DUP[] SRP0[] #PUSH, 3 /* delta0 */ CINDEX[] MSIRP[m] #PUSH, 6 /* fv0.x */ MINDEX[] #PUSH, 6 /* fv0.y */ MINDEX[] SFVFS[] #PUSH, 7 /* c0 */ MINDEX[] DUP[] SRP0[] ROLL[] /* delta0 */ MSIRP[m] /* STACK: , , , , fv1.y>, */ #PUSH, 1, 7 /* pv */ MINDEX[] EQ[] IF[] SFVTCA[Y] ELSE[] SFVTCA[X] EIF[] #PUSH, 5 /* p1 */ MINDEX[] DUP[] SRP0[] #PUSH, 2 /* delta1 */ CINDEX[] MSIRP[m] ROLL[] /* fv0.x */ ROLL[] /* fv0.y */ SFVFS[] SWAP[] /* c1 */ DUP[] SRP0[] SWAP[] /* delta1 */ MSIRP[m] /* STACK: */ #PUSHON #END ENDF[] FDEF[], 126 /* glue code to fn 125 where both fv0 and fv1 are x or y CALL[], , , , , , , , , , , , 126 */ #BEGIN #PUSHOFF /* STACK: , , , , , , , , , , */ SWAP[] /* fv0 */ #PUSH, 1 EQ[] IF[] #PUSH, 0, 16384 ELSE[] #PUSH, 16384, 0 EIF[] ROLL[] /* fv1 */ #PUSH, 1 EQ[] IF[] #PUSH, 0, 16384 ELSE[] #PUSH, 16384, 0 EIF[] #PUSH, 125 /* resIPDDLink */ CALL[] #PUSHON #END ENDF[] FDEF[], 127 /* glue code to fn 125 where fv0 is to line and fv1 is x or y CALL[], , , , , , , , , , , , , 127 */ #BEGIN #PUSHOFF /* STACK: , , , , , , , , , , , */ ROLL[] /* fv0.0 */ ROLL[] /* fv0.1 */ SFVTL[r] GFV[] ROLL[] /* fv1 */ #PUSH, 1 EQ[] IF[] #PUSH, 0, 16384 ELSE[] #PUSH, 16384, 0 EIF[] #PUSH, 125 /* resIPDDLink */ CALL[] #PUSHON #END ENDF[] FDEF[], 128 /* glue code to fn 125 where fv0 is x or y and fv1 is to line CALL[], , , , , , , , , , , , , 128 */ #BEGIN #PUSHOFF /* STACK: , , , , , , , , , , , */ SFVTL[r] #PUSH, 1 EQ[] IF[] #PUSH, 0, 16384 ELSE[] #PUSH, 16384, 0 EIF[] GFV[] #PUSH, 125 /* resIPDDLink */ CALL[] #PUSHON #END ENDF[] FDEF[], 129 /* glue code to fn 125 where both fv0 and fv1 are to line CALL[], , , , , , , , , , , , , , 129 */ #BEGIN #PUSHOFF /* STACK: , , , , , , , , , , , , */ #PUSH, 4 /* fv0.0 */ MINDEX[] #PUSH, 4 /* fv0.1 */ MINDEX[] SFVTL[r] GFV[] #PUSH, 4 /* fv1.0 */ MINDEX[] #PUSH, 4 /* fv1.1 */ MINDEX[] SFVTL[r] GFV[] #PUSH, 125 /* resIPDDLink */ CALL[] #PUSHON #END ENDF[] FDEF[], 130 /* extrapolate x-coordinate of

to base line along italic angle returns with extrapolated x-coordinate on stack CALL[],

, 130 */ #BEGIN #PUSHOFF DUP[] SVTCA[X] GC[N] SWAP[] SVTCA[Y] GC[N] /* STACK: , */ #PUSH, 10 /* rise */ RS[] #PUSH, 11 /* run */ RS[] /* STACK: , , , */ ROLL[] MUL[] SWAP[] DIV[] SUB[] /* STACK: */ #PUSHON #END ENDF[] FDEF[], 131 /* constrains an italic stroke, defined by parents and , by children and , and by cvts and , and inter- polates it between points and for b&w stroke additionally optimizes the resulting pixel pattern CALL[], , , , , , , , , 131 */ #BEGIN #PUSHOFF /* STACK: , , , , , , , */ #PUSH, 9 /* pv perp italic, fv X */ CALL[] /* lock parent edge */ #PUSH, 6 /* p0 */ CINDEX[] MDAP[r] #PUSH, 5 /* p1 */ CINDEX[] RDTG[] MDRP[m, , , , , , , */ /* interpolate median of p0 and c0 between lsb and rsb */ #PUSH, 8 /* lsb */ CINDEX[] #PUSH, 7 /* p0 */ CINDEX[] #PUSH, 6 /* c0 */ CINDEX[] #PUSH, 10 /* rsb */ CINDEX[] #PUSH, 111 /* interpolate median */ CALL[] /* STACK: , , , , , , , */ /* if the two actual parent->child distances round to the same stroke weight */ #PUSH, 6 /* p0 */ CINDEX[] #PUSH, 5 /* c0 */ CINDEX[] #PUSH, 4 /* cvt0 */ MINDEX[] DUP[] #PUSH, 0 LT[] IF[] POP[] #PUSH, 102 /* resActDist, noCvt, minDist */ ELSE[] #PUSH, 104 /* resActDist, cvt, minDist */ EIF[] CALL[] /* STACK: , , , , , , , <[dist0]> */ #PUSH, 5 /* p1 */ CINDEX[] #PUSH, 4 /* c1 */ CINDEX[] #PUSH, 4 /* cvt1 */ MINDEX[] DUP[] #PUSH, 0 LT[] IF[] POP[] #PUSH, 102 /* resActDist, noCvt, minDist */ ELSE[] #PUSH, 104 /* resActDist, cvt, minDist */ EIF[] CALL[] /* STACK: , , , , , , <[dist0]>, <[dist1]> */ EQ[] IF[] /* STACK: , , , , , */ /* adjust median of p1 and c1 in parallel */ RDTG[] #PUSH, 4 /* p0 */ CINDEX[] SRP0[] #PUSH, 3 /* p1 */ CINDEX[] MDRP[m, , , */ ELSE[] /* STACK: , , , , , */ /* interpolate median of p1 and c1 between lsb and rsb independently */ #PUSH, 6 /* lsb */ MINDEX[] #PUSH, 4 /* p1 */ CINDEX[] #PUSH, 3 /* c1 */ CINDEX[] #PUSH, 8 /* rsb */ MINDEX[] #PUSH, 111 /* interpolate median */ CALL[] /* STACK: , , , */ EIF[] /* STACK: , , , */ /* for b&w only optimize pixel pattern */ #PUSH, 0, 2 RS[] EQ[] IF[] /* STACK: , , , */ /* extrapolate c0 to base line */ RDTG[] #PUSH, 2 /* c0 */ CINDEX[] #PUSH, 130 CALL[] /* extrapolate p0 to base line */ #PUSH, 5 /* p0 */ CINDEX[] #PUSH, 130 CALL[] /* get parentPhase from extrapolated x-coordinate */ DUP[] DUP[] ROUND[Bl] SUB[] #PUSH, 4 /* targetPhase */ RS[] /* STACK: , , , , , , , */ /* shifting parent edge by deltaPhase optimizes stepping pattern on parent edge */ SVTCA[X] SWAP[] SUB[] /* STACK: , , , , , , */ /* minimize the positioning error by mapping deltaPhase from [-63,63] to [-32,31] */ #PUSH, 96 ADD[] DUP[] ROUND[Bl] SUB[] #PUSH, 32 SUB[] /* STACK: , , , , , , */ /* save minimized deltaPhase for child edge and shift parent edge */ DUP[] #PUSH, 8 /* p0 */ MINDEX[] #PUSH, 8 /* p1 */ MINDEX[] ROLL[] #PUSH, 2 SLOOP[] SHPIX[] /* STACK: , , , , */ /* since child edge is linked perpendicular to italic angle, the resulting stroke would include unnecessary pixels, hence determine phase of distance between extrapolated x-coordinates (deltaDeltaPhase) */ ROLL[] ROLL[] SUB[] DUP[] ROUND[Bl] SUB[] /* STACK: , , , */ /* subtract from deltaPhase (don't shift quite as far...) */ SUB[] /* STACK: , , */ /* shift parent edge */ #PUSH, 2 SLOOP[] SHPIX[] /* STACK: */ ELSE[] /* STACK: , , , */ POP[] POP[] POP[] POP[] /* STACK: */ EIF[] RTG[] #PUSHON #END ENDF[] FDEF[], 132 /* for monochrome only: stack points

through on top of

below CALL[],

, , , 132 */ #BEGIN #PUSHOFF /* STACK:

, , */ MPPEM[] GT[] #PUSH, 1, 2 RS[] GTEQ[] AND[] IF[] /* STACK:

, */ SWAP[] SRP0[] DUP[] SVTCA[X] ALIGNRP[] SVTCA[Y] ALIGNRP[] ELSE[] /* STACK:

, */ POP[] POP[] EIF[] #PUSHON #END ENDF[] FDEF[], 133 /* support fn for fns 134 and 135 CALL[], , , , 133 */ #BEGIN #PUSHOFF SWAP[] /* STACK: , , */ #WBeginLoop133: #PUSH, 2 /* to */ CINDEX[] #PUSH, 2 /* from */ CINDEX[] GTEQ[] IF[] /* STACK: , , */ DUP[] #PUSH, 4 /* align? */ CINDEX[] IF[] ALIGNRP[] ELSE[] IP[] EIF[] #PUSH, 1 ADD[] #PUSH, WOffset133 JMPR[], (WOffset133=#WBeginLoop133) EIF[] /* STACK: , , */ POP[] POP[] POP[] #PUSHON #END ENDF[] FDEF[], 134 /* support fn for italic IUP[?] assume pv and fv are set externally CALL[], , , 134 */ #BEGIN #PUSHOFF /* STACK: , */ #PUSH, 2 /* p0 */ CINDEX[] GC[O] #PUSH, 2 /* p1 */ CINDEX[] GC[O] EQ[] /* STACK: , , */ ROLL[] /* p0 */ DUP[] DUP[] SRP0[] SRP1[] #PUSH, 1 ADD[] ROLL[] /* p1 */ DUP[] SRP2[] #PUSH, 1 SUB[] /* STACK: , , */ #PUSH, 133 CALL[] #PUSHON #END ENDF[] FDEF[], 135 /* support fn for italic IUP[?] assume pv and fv are set externally CALL[], , , , , 135 */ #BEGIN #PUSHOFF /* STACK: , , , */ #PUSH, 4 /* p0 */ CINDEX[] GC[O] #PUSH, 2 /* p1 */ CINDEX[] GC[O] EQ[] /* STACK: , , , , */ SWAP[] DUP[] SRP2[] #PUSH, 1 SUB[] SWAP[] DUP[] #PUSH, 6 /* p0 */ MINDEX[] DUP[] DUP[] SRP0[] SRP1[] #PUSH, 1 ADD[] #PUSH, 6 /* end */ MINDEX[] /* STACK: , , , , , */ #PUSH, 133 CALL[] ROLL[] ROLL[] #PUSH, 133 CALL[] #PUSHON #END ENDF[] FDEF[], 150 /* Function 150 takes 5 arguments */ /* VERSION 1.0 20120420 */ /* This function moves a point between a PPEM range */ /* for the given rasterizer mode (in Store 2) ClearType */ /* CALL[],,,,, , 150 */ /* Lowest PPEM range to be modified (inclusive) */ /* Highest PPEM range to be modified (inclusive) */ /* point to be modified */ /* Amount to move point, in ± 64ths */ /* value in store 2 */ /* 150 Function number */ #BEGIN #PUSHOFF #PUSH, 2 RS[] /* read store 2 */ EQ[] /* is it = to the last arg? */ IF[] /* if so . . . */ GPV[] /* Save current PV on stack to restore */ SPVTCA[Y] /* We should only MPPEM with Y PV */ ROLL[] MPPEM[] /* check cur. size against high ppem */ GTEQ[] #PUSH, 4 MINDEX[] MPPEM[] /* and low ppem */ LTEQ[] AND[] IF[] /* if it's between, then */ SPVFS[] /* Restore orig PV */ SHPIX[] /* move the point by the amount */ ELSE[] SPVFS[] /* Restore orig PV */ POP[] /* otherwise remove the remaining arguments */ POP[] EIF[] ELSE[] POP[] /* remove the remaining arguments if the first test fails */ POP[] POP[] POP[] EIF[] #END #PUSHON ENDF[] FDEF[], 151 /* Function 151 takes 5 arguments */ /* VERSION 1.0 20120420 */ /* This function moves a point between a PPEM range */ /* for the given set of rasterizer flags (in Store 2) */ /* CALL[],,,,, , 151 */ /* Lowest PPEM range to be modified (inclusive) */ /* Highest PPEM range to be modified (inclusive) */ /* point to be modified */ /* Amount to move point, in ± 64ths */ /* bit of a value in store 2 */ /* Function 151 differs from Function 150 in that instead of requiring an */ /* exact match with the value in store 2, a given set of flags (or bit values) */ /* can be referenced. For example, if the function should execute */ /* in any situation where ClearType with fractional AWs is enabled, */ /* (c.f. Function 84) irrespective of other flags (e.g. BGR as opposed */ /* to RGB Devices or non-ClearType direction anti-aliasing) then one */ /* would use a value of 64. (c.f. Function 84.) */ /* The rasterizer values for are defined in the function */ /* 84 header. */ /* EXAMPLE: */ /* If one wanted the move to occur if either subpixel positioned or full gray pixel */ /* then one would take the 64 (from subpixel positioned) and the 256 (from */ /* gray full-pixel) and add them to get 320. With a value of 320, the point will */ /* get moved if either subpixel positioned or full gray pixel is enabled. */ /* If one wanted to move to occur always if ClearType was on, independent of */ /* any subtype or spacing flag, one would set the rasterizer mode to 2. */ /* 151 Function number */ #BEGIN #PUSHOFF #PUSH, 152 /* Call function 152 with the rasterizer mode on the top of stack */ CALL[] IF[] /* if so . . . */ GPV[] /* Save current PV on stack to restore */ SPVTCA[Y] /* We should only MPPEM with Y PV */ ROLL[] MPPEM[] /* check cur. size against high ppem */ GTEQ[] #PUSH, 4 MINDEX[] MPPEM[] /* and low ppem */ LTEQ[] AND[] IF[] /* if it's between, then */ SPVFS[] /* Restore orig PV */ SHPIX[] /* move the point by the amount */ ELSE[] SPVFS[] /* Restore orig PV */ POP[] /* otherwise remove the remaining arguments */ POP[] EIF[] ELSE[] POP[] /* remove the remaining arguments if the first test fails */ POP[] POP[] POP[] EIF[] #END #PUSHON ENDF[] FDEF[], 152 /* Function 152 takes 1 argument, a "bitfield" flag. */ /* VERSION 1.0 20111117 */ /* Function 152 is intended to take a set of one or more bits as input and do an AND (e.g. mask) of those bits with the set of flags returned by Function 84. Then determine if there is at least one of these resultant bits that are set. Function 152 returns TRUE if the match is successful, and FALSE if it is not successful. If the parameter is zero, indicating no flags, then the function returns FALSE. This function takes a maxiumum of 32 bit flags. USES: Storage 2 (FN 84) RETURNS: 0 or 1 */ #BEGIN #PUSHOFF /* Input parameter is a set of one or more flags */ DUP[] #PUSH, 2 /* Read FN 84 flags */ RS[] EQ[] /* If a simple match, return TRUE */ #PUSH, 1 SWAP[] #PUSH, BEcln SWAP[] JROT[], (BEcln=#LEndClear) /* Jump to end and clean up stack. */ POP[] #PUSH, 0, 2 RS[] /* Read FN 84 flags */ #PUSH, BEclr /* If no FN 84 flags, return FALSE */ SWAP[] JROF[], (BEclr=#LEndClear) POP[] #PUSH, 2 RS[] SWAP[] #PUSH, 32 /* Maximum number of bits to loop through */ /* TopLoop: */ #LTopLoop: /* STACK Loop Iteration Count Updated (shifted) Input Value Updated (shifted) FN 84 Flag */ DUP[] NOT[] IF[] /* Exit the loop when done */ POP[] POP[] POP[] #PUSH, 0, BDEnd /* 73 End */ JMPR[], (BDEnd=#LEndFn) EIF[] ROLL[] ROLL[] DUP[] ROLL[] DUP[] ROLL[] SWAP[] /* STACK Updated (shifted) FN 84 Flag Updated (shifted) Input Value Updated (shifted) FN 84 Flag Updated (Shifted) Input Value Loop Interation Count */ /* Check to see if the lower-order bit is set in the FN 84 Flag */ #PUSH, 4096 /* Convert to 26.6 by multiply by 64 x 64 */ MUL[] ODD[] IF[] /* Check to see if the lower-order bit is set in the Input Value */ #PUSH, 4096 MUL[] ODD[] IF[] /* We can early out here once we find our first match */ POP[] POP[] POP[] #PUSH, 1, BTEnd /* 1 is the TRUE return code */ JMPR[], (BTEnd=#LEndFn) EIF[] ELSE[] POP[] EIF[] /* STACK Updated (shifted) FN 84 Flag Updated (shifted) Input Value Loop Interation Count */ /* Shift both the Input Value and the FN 84 Flag each one bit right */ #PUSH, 128 /* 2 in 26.6 */ DIV[] DUP[] NOT[] IF[] POP[] POP[] POP[] #PUSH, 0, BPEnd /* 0 is end condition of FALSE */ JMPR[], (BPEnd=#LEndFn) EIF[] SWAP[] #PUSH, 128 /* 2 in 26.6 */ DIV[] DUP[] NOT[] IF[] POP[] POP[] POP[] #PUSH, 0, BZEnd /* End */ JMPR[], (BZEnd=#LEndFn) EIF[] ROLL[] #PUSH, 1 SUB[] #PUSH, WReLoop /* -77 TopLoop */ JMPR[], (WReLoop=#LTopLoop) /* EndClear: */ #LEndClear: SWAP[] POP[] #LEndFn: /* End: */ #END #PUSHON ENDF[] FDEF[], 153 /* Function 153 takes 1 argument, a "bitfield" flag. */ /* VERSION 1.0 20111117 */ /* Function 153 is intended to take a set of one or more bits as input and do an AND (e.g. mask) of those bits with the set of flags returned by Function 84. Then determine if ALL of these resultant bits from the mask are set. Function 153 returns TRUE if the match is successful, and FALSE if it is not successful. If the parameter is zero, indicating no flags, then the function returns FALSE. This function takes a maxiumum of 32 flags. USES: Storage 2 (FN 84) RETURNS: 0 or 1 */ #BEGIN #PUSHOFF /* Input parameter is a set of one or more flags */ DUP[] #PUSH, 2 /* Read FN 84 flags */ RS[] EQ[] /* If a simple match, return TRUE */ #PUSH, 1 SWAP[] #PUSH, BEcln SWAP[] JROT[], (BEcln=#LEndClear) /* Jump to end and clean up stack. */ POP[] #PUSH, 0, 2 RS[] /* Read FN 84 flags */ #PUSH, BEclr /* If no FN 84 flags, return FALSE */ SWAP[] JROF[], (BEclr=#LEndClear) POP[] #PUSH, 0, 2 /* 0 is the boolean tracking success, start off with FALSE */ RS[] ROLL[] #PUSH, 32 /* Maximum number of bits to loop through */ /* TopLoop: */ #LTopLoop: /* STACK Loop Iteration Count Updated (shifted) Input Value Updated (shifted) FN 84 Flag Conditional boolean tracking success */ DUP[] NOT[] IF[] /* Exit the loop when done */ POP[] POP[] POP[] #PUSH, BDEnd /* 73 End */ JMPR[], (BDEnd=#LEndFn) EIF[] ROLL[] ROLL[] DUP[] ROLL[] DUP[] ROLL[] SWAP[] /* STACK Updated (shifted) FN 84 Flag Updated (shifted) Input Value Updated (shifted) FN 84 Flag Updated (Shifted) Input Value Loop Interation Count Conditional boolean tracking success */ /* Check to see if the lower-order bit is set in the FN 84 Flag */ #PUSH, 4096 /* Convert to 26.6 by multiply by 64 x 64 */ MUL[] ODD[] IF[] /* Check to see if the lower-order bit is set in the Input Value */ #PUSH, 4096 MUL[] ODD[] IF[] #PUSH, 4 MINDEX[] #PUSH, 1 /* Set TRUE return code */ OR[] /* We OR this because we will immediately exit if we fail this test */ #PUSH, 4 MINDEX[] #PUSH, 4 MINDEX[] #PUSH, 4 MINDEX[] ELSE[] POP[] POP[] POP[] POP[] #PUSH, BTEnd , 0 /* 0 is the FALSE return code */ SWAP[] JMPR[], (BTEnd=#LEndFn) EIF[] ELSE[] POP[] EIF[] #PUSH, 4 /* Can this be cleaned up and integrated with the code below? */ MINDEX[] SWAP[] /* STACK Updated (shifted) FN 84 Flag Conditional boolean tracking success Updated (shifted) Input Value Loop Interation Count */ /* Shift both the Input Value and the FN 84 Flag each one bit right */ #PUSH, 128 /* 2 in 26.6 */ DIV[] DUP[] NOT[] IF[] ROLL[] NOT[] ROLL[] AND[] SWAP[] POP[] SWAP[] POP[] #PUSH, BPEnd /* 29 End */ JMPR[], (BPEnd=#LEndFn) EIF[] ROLL[] #PUSH, 128 /* 2 in 26.6 */ DIV[] DUP[] NOT[] IF[] POP[] POP[] SWAP[] POP[] #PUSH, BZEnd /* End */ JMPR[], (BZEnd=#LEndFn) EIF[] #PUSH, 4 MINDEX[] #PUSH, 1 SUB[] #PUSH, WReLoop /* -77 TopLoop */ JMPR[], (WReLoop=#LTopLoop) /* EndClear: */ #LEndClear: SWAP[] POP[] #LEndFn: /* End: */ #END #PUSHON ENDF[] /* Control Program */ /* ACT generated Thu Aug 15 21:20:18 2019 */ CATEGORY Stroke CATEGORY StrokeInheritance InstructionsOn @8..2047 DropOutCtrlOff @144 CvtCutIn = 1, 0@144 /* 1 pixel cut-in for over- and undershoots */ ClearTypeCtrl = 1 LinearAdvanceWidths = 0 /***** Height CVTs *****/ UpperCase Grey Y SquareHeight 2: 1420 /* cap height */ ASM("SVTCA[Y]") ASM("CALL[], 2, 89") 8: 0 /* base line */ ASM("SVTCA[Y]") ASM("CALL[], 8, 89") RoundHeight 3: 20 ~ 2 @ 52 /* cap height overshoot */ 9: -20 ~ 8 @ 52 /* base line undershoot */ LowerCase SquareHeight 0: 1500 /* lc ascender */ ASM("SVTCA[Y]") ASM("CALL[], 0, 89") 6: 1060 /* x height */ ASM("SVTCA[Y]") ASM("CALL[], 6, 89") 10: 0 /* base line */ ASM("SVTCA[Y]") ASM("CALL[], 10, 89") 14: -460 /* lc descender */ ASM("SVTCA[Y]") ASM("CALL[], 14, 89") RoundHeight 1: 20 ~ 0 @ 52 /* lc ascender overshoot */ 7: 20 ~ 6 @ 52 /* x height overshoot */ 11: -20 ~ 10 @ 52 /* base line undershoot */ 15: -18 ~ 14 @ 57 /* lc descender undershoot */ Figure SquareHeight 4: 1420 /* figure height */ ASM("SVTCA[Y]") ASM("CALL[], 4, 89") 12: 0 /* base line */ ASM("SVTCA[Y]") ASM("CALL[], 12, 89") RoundHeight 5: 20 ~ 4 @ 52 /* figure height overshoot */ 13: -20 ~ 12 @ 52 /* base line undershoot */ Other SquareHeight 16: 1420 /* other height */ ASM("SVTCA[Y]") ASM("CALL[], 16, 89") 18: 0 /* base line */ ASM("SVTCA[Y]") ASM("CALL[], 18, 89") RoundHeight 17: 20 ~ 16 @ 52 /* other height overshoot */ 19: -20 ~ 18 @ 52 /* base line undershoot */ /***** Reserved CVTs *****/ AnyGroup AnyColor AnyDirection AnyCategory 20: 0 /* DO NOT USE!!! */ /***** Grand-Parent CVT *****/ AnyGroup Black X StrokeInheritance 21: 207 /* 44x */ /***** Parent CVTs *****/ UpperCase Black X StrokeInheritance 22: 202 /* 22x */ LowerCase Black X StrokeInheritance 25: 212 /* 22x */ ASM("SVTCA[X]") ASM("CALL[], 21, 25, 68, 22, 107, 90") UpperCase Black Y StrokeInheritance 23: 180 /* 25x */ ASM("SVTCA[X]") ASM("CALL[], 23, 57, 22, 45, 91") LowerCase Black Y StrokeInheritance 26: 176 /* 13x */ ASM("SVTCA[X]") ASM("CALL[], 26, 53, 25, 25, 91") UpperCase Black Diag StrokeInheritance 24: 180 /* 25x */ ASM("SVTCA[X]") ASM("CALL[], 24, 57, 22, 45, 91") LowerCase Black Diag StrokeInheritance 27: 176 /* 13x */ ASM("SVTCA[X]") ASM("CALL[], 27, 53, 25, 25, 91") /***** StrokeInheritance CVTs *****/ UpperCase Black X StrokeInheritance 28: 206 = 22 @255 /* 35x */ Y StrokeInheritance 29: 182 /* 36x */ ASM("SVTCA[Y]") ASM("CALL[], 29, 5, 23, 22, 92") Diag StrokeInheritance 30: 153 = 24 @ 38 /* 9x */ 31: 198 /* 29x */ ASM("SVTCA[X]") ASM("CALL[], 31, 52, 24, 22, 92") 32: 187 = 31 @ 94 /* 13x */ LowerCase Black X StrokeInheritance 33: 160 = 25 @ 20 /* 1x */ 34: 212 = 25 @255 /* 33x */ Y StrokeInheritance 35: 179 /* 42x */ ASM("SVTCA[Y]") ASM("CALL[], 35, 5, 26, 25, 92") Diag StrokeInheritance 36: 126 = 27 @ 21 /* 4x */ 37: 190 /* 30x */ ASM("SVTCA[X]") ASM("CALL[], 37, 24, 27, 25, 92") 38: 186 = 37 @205 /* 10x */ 39: 176 = 38 @103 /* 2x */ 40: 213 = 37 @ 45 /* 6x */ Figure Black X StrokeInheritance 41: 138 /* 1x */ 42: 214 /* 20x */ Y StrokeInheritance 43: 184 /* 19x */ 44: 194 = 43 @103 /* 2x */ Diag StrokeInheritance 45: 154 /* 2x */ 46: 215 /* 8x */ 47: 198 = 46 @ 61 /* 4x */ 48: 189 = 47 @114 /* 2x */ Other Black X StrokeInheritance 49: 197 /* 26x */ 50: 172 = 49 @ 41 /* 4x */ 51: 192 = 49 @128 /* 9x */ 52: 186 = 51 @171 /* 5x */ 53: 220 = 49 @ 45 /* 5x */ Y StrokeInheritance 54: 170 /* 32x */ 55: 176 = 54 @147 /* 6x */ 56: 190 = 54 @ 52 /* 5x */ 57: 380 /* 1x */ Diag StrokeInheritance 58: 183 /* 32x */ 59: 159 = 58 @ 43 /* 6x */ 60: 230 /* 2x */ /***** Stroke CVTs *****/ UpperCase Black X Stroke 61: 192 = 28 @103 /* 5x */ 62: 202 = 28 @255 /* 15x */ 63: 214 = 28 @128 /* 15x */ Y Stroke 64: 166 = 29 @ 64 /* 5x */ 65: 181 = 29 @255 /* 25x */ 66: 190 = 29 @114 /* 6x */ Diag Stroke 67: 131 = 30 @ 47 /* 2x */ 68: 152 = 30 @255 /* 6x */ 69: 161 = 30 @114 /* 1x */ 70: 176 = 32 @ 94 /* 6x */ 71: 187 = 32 @255 /* 7x */ 72: 199 = 31 @255 /* 9x */ 73: 206 = 31 @128 /* 3x */ 74: 216 = 31 @ 61 /* 4x */ LowerCase Black X Stroke 75: 160 = 33 @255 /* 1x */ 76: 180 = 34 @ 32 /* 1x */ 77: 192 = 34 @ 52 /* 1x */ 78: 200 = 34 @ 86 /* 1x */ 79: 212 = 34 @255 /* 25x */ 80: 220 = 34 @128 /* 5x */ Y Stroke 81: 160 = 35 @ 54 /* 3x */ 82: 170 = 35 @114 /* 2x */ 83: 178 = 35 @255 /* 24x */ 84: 190 = 35 @ 94 /* 13x */ Diag Stroke 85: 117 = 36 @114 /* 2x */ 86: 135 = 36 @114 /* 2x */ 87: 176 = 39 @255 /* 2x */ 88: 186 = 38 @255 /* 8x */ 89: 194 = 37 @255 /* 14x */ 90: 206 = 40 @128 /* 1x */ 91: 214 = 40 @255 /* 4x */ 92: 224 = 40 @ 94 /* 1x */ Figure Black X Stroke 93: 138 = 41 @255 /* 1x */ 94: 180 = 42 @ 31 /* 1x */ 95: 202 = 42 @ 86 /* 1x */ 96: 214 = 42 @255 /* 16x */ 97: 222 = 42 @128 /* 2x */ Y Stroke 98: 176 = 43 @128 /* 1x */ 99: 184 = 43 @255 /* 16x */ 100: 194 = 44 @255 /* 2x */ Diag Stroke 101: 149 = 45 @205 /* 1x */ 102: 158 = 45 @255 /* 1x */ 103: 189 = 48 @255 /* 2x */ 104: 200 = 47 @255 /* 2x */ 105: 214 = 46 @205 /* 2x */ 106: 221 = 46 @255 /* 2x */ Other Black X Stroke 107: 164 = 50 @128 /* 1x */ 108: 171 = 50 @255 /* 3x */ 109: 180 = 52 @171 /* 1x */ 110: 186 = 52 @255 /* 4x */ 111: 192 = 51 @255 /* 4x */ 112: 196 = 49 @205 /* 1x */ 113: 200 = 49 @255 /* 7x */ 114: 213 = 53 @147 /* 2x */ 115: 220 = 53 @255 /* 3x */ Y Stroke 116: 170 = 54 @255 /* 19x */ 117: 177 = 55 @255 /* 6x */ 118: 184 = 54 @ 69 /* 2x */ 119: 190 = 56 @255 /* 3x */ 120: 196 = 56 @171 /* 2x */ 121: 380 = 57 @255 /* 1x */ Diag Stroke 122: 151 = 59 @128 /* 1x */ 123: 159 = 59 @255 /* 5x */ 124: 175 = 58 @114 /* 4x */ 125: 179 = 58 @205 /* 4x */ 126: 184 = 58 @255 /* 11x */ 127: 191 = 58 @147 /* 3x */ 128: 202 = 58 @ 54 /* 3x */ 129: 213 = 58 @ 35 /* 1x */ 130: 230 = 60 @255 /* 2x */ /***** Specialty Height CVTs *****/ 131: 802 /* hyphen top */ 132: 1052 /* equals top */ 133: 1760 /* bar top */ 134: 1176 /* asterisk top */ 135: 810 /* greater nose top */ 136: 1520 /* slash top */ p0   r L H   j\VXd,X\Z(6 ^!`"0P# $!p%"d&#J'$F(6&6)'l*(\+ *H,+h-",. -/.0/1021~32d43>54*65758697:8|;9`<:X=;P>"A?.B@4C@DAtEB:FBGCHDIfEJGKGLHbMHbNHbOIPIQJRKSLTMBUMBVMWMXMYMZN[O$\O$]O^P~_QP`RBaRb:ScU(d.VeWDfX<gYBh[&i[j]k^Zl^Zm^Zn2_Xo`p`qalrals6altbu>cv>dwfxfyfz f{>g&|hd}hd~hdVhdiiiiik\mDnnn pr`uxpz~{}} ~^ jttt4b8d"L2:&`86pDDVD<Hv^L\n4\$TNPVP44LRLvj||4,,&,RbndX4D8`h2hĚjĚ P^nT*˾bF8&4&/* VTTTalk glyph 0, char 0xffff */ /* GUI generated Thu Aug 15 21:21:05 2019 */ /* Y direction */ ResYAnchor(2,18) ResYDist(2,7) ResYAnchor(3,16) ResYDist(3,6) /* X direction */ Smooth() /* VTTTalk Unicode 0x20 */ /* ACT generated Thu Aug 15 21:20:18 2019 */ /* Auto-Hinting Light */ /* ***Settings*** */ /* ModeHinting = LightLatin */ /* ToAnchorBottom = true */ /*Auto-Hinting Light is not applied: Empty glyph or glyph with one point*/ /* VTTTalk glyph 2, char 0x41 (A) */ /* GUI generated Tue Aug 27 17:34:58 2019 */ /* Y direction */ YAnchor(2,8) YShift(2,7) YAnchor(4,2) YIPAnchor(7,8,4) ResYDist(8,0) YInterpolate(2,10,4) /* X direction */ Smooth() /* VTTTalk glyph 3, char 0x42 (B) */ /* GUI generated Thu Aug 15 16:13:21 2019 */ /* Y direction */ ResYAnchor(7,8) ResYDist(7,33) ResYAnchor(8,2) ResYDist(8,17) YIPAnchor(8,32,7) ResYDist(32,18) YInterpolate(32,16,15,18) /* X direction */ Smooth() /* VTTTalk glyph 4, char 0x43 (C) */ /* GUI generated Thu Aug 15 22:07:57 2019 */ /* Y direction */ ResYAnchor(5,3) ResYDist(5,11) ResYAnchor(23,9) ResYDist(23,18) YIPAnchor(18,9,11) /* X direction */ Smooth() /* VTTTalk glyph 5, char 0x44 (D) */ /* GUI generated Tue Aug 27 17:37:30 2019 */ /* Y direction */ ResYAnchor(6,8) ResYDist(6,15) ResYAnchor(7,2) ResYDist(7,14) /* X direction */ Smooth() /* VTTTalk glyph 6, char 0x45 (E) */ /* GUI generated Tue Aug 27 17:20:54 2019 */ /* Y direction */ ResYAnchor(8,8) ResYDist(8,5) ResYAnchor(9,2) ResYDist(9,0) YIPAnchor(8,1,9) ResYDist(1,4) /* X direction */ Smooth() /* VTTTalk glyph 7, char 0x46 (F) */ /* GUI generated Tue Aug 27 17:23:19 2019 */ /* Y direction */ ResYAnchor(6,8) ResYAnchor(7,2) ResYDist(7,0) YIPAnchor(6,1,7) ResYDist(1,4) /* X direction */ Smooth() /* VTTTalk glyph 8, char 0x47 (G) */ /* GUI generated Thu Aug 15 16:27:03 2019 */ /* Y direction */ ResYAnchor(3,9) ResYDist(3,22) ResYAnchor(9,3) ResYDist(9,15) YIPAnchor(9,12,26,3) ResYDist(26,27) /* X direction */ Smooth() /* VTTTalk glyph 9, char 0x48 (H) */ /* GUI generated Tue Aug 27 17:39:14 2019 */ /* Y direction */ YAnchor(6,8) YShift(6,1) YAnchor(7,2) YShift(7,0) YIPAnchor(6,9,7) ResYDist(9,4) /* X direction */ Smooth() /* VTTTalk glyph 10, char 0x49 (I) */ /* GUI generated Tue Aug 27 17:39:56 2019 */ /* Y direction */ ResYAnchor(4,8) ResYDist(4,5) YShift(5,2) ResYAnchor(9,2) ResYDist(9,8) YShift(8,11) /* X direction */ Smooth() /* VTTTalk glyph 11, char 0x4a (J) */ /* GUI generated Thu Aug 15 16:29:57 2019 */ /* Y direction */ ResYAnchor(4,9) ResYDist(4,12) ResYAnchor(18,2) ResYDist(18,17) YIPAnchor(12,9,17) /* X direction */ Smooth() /* VTTTalk glyph 12, char 0x4b (K) */ /* GUI generated Tue Aug 13 13:11:22 2019 */ /* Y direction */ ResYAnchor(4,8) YShift(4,17) ResYAnchor(5,2) YShift(5,12) YInterpolate(17,7,5) ResYDist(7,2) YInterpolate(2,0,15,7) /* X direction */ Smooth() /* VTTTalk glyph 13, char 0x4c (L) */ /* GUI generated Tue Aug 27 17:41:17 2019 */ /* Y direction */ ResYAnchor(2,8) ResYDist(2,5) ResYAnchor(3,2) /* X direction */ Smooth() /* VTTTalk glyph 14, char 0x4d (M) */ /* GUI generated Thu Aug 15 16:35:47 2019 */ /* Y direction */ ResYAnchor(10,8) YShift(10,2) ResYAnchor(12,2) YShift(12,15) YIPAnchor(2,13,12) ResYDist(13,6) ResYDist(13,8) YShift(8,3) /* X direction */ Smooth() /* VTTTalk glyph 15, char 0x4e (N) */ /* GUI generated Thu Aug 15 16:38:58 2019 */ /* Y direction */ ResYAnchor(7,8) YShift(7,3) ResYAnchor(9,2) YShift(9,1) YInterpolate(3,10,4,9) /* X direction */ Smooth() /* VTTTalk glyph 16, char 0x4f (O) */ /* GUI generated Tue Aug 27 17:41:50 2019 */ /* Y direction */ ResYAnchor(3,3) ResYDist(3,11) ResYAnchor(7,9) ResYDist(7,15) /* X direction */ Smooth() /* VTTTalk glyph 17, char 0x50 (P) */ /* GUI generated Thu Aug 15 16:39:19 2019 */ /* Y direction */ ResYAnchor(10,8) ResYAnchor(11,2) ResYDist(11,19) YIPAnchor(10,20,11) ResYDist(20,8) /* X direction */ Smooth() /* VTTTalk glyph 18, char 0x51 (Q) */ /* GUI generated Thu Aug 15 16:45:11 2019 */ /* Y direction */ ResYAnchor(4,14) ResYDist(4,1) ResYAnchor(7,9) YShift(7,15) ResYDist(7,18) ResYAnchor(11,3) ResYDist(11,22) /* X direction */ Smooth() /* VTTTalk glyph 19, char 0x52 (R) */ /* GUI generated Thu Aug 15 16:46:32 2019 */ /* Y direction */ ResYAnchor(5,8) YShift(5,15) ResYAnchor(6,2) ResYDist(6,24) YIPAnchor(5,16,6) ResYDist(16,3) YInterpolate(3,14,16) /* X direction */ Smooth() /* VTTTalk glyph 20, char 0x53 (S) */ /* GUI generated Thu Aug 15 22:08:07 2019 */ /* Y direction */ ResYAnchor(5,9) ResYDist(5,10) ResYAnchor(23,3) ResYDist(23,31) YIPAnchor(10,28,31) YInterpolate(10,13,2,15,16,38,37,19,34,28) /* X direction */ Smooth() /* VTTTalk glyph 21, char 0x54 (T) */ /* GUI generated Tue Aug 27 17:43:26 2019 */ /* Y direction */ ResYAnchor(3,8) ResYAnchor(6,2) ResYDist(6,5) YShift(5,1) /* X direction */ Smooth() /* VTTTalk Unicode 0x55 (U) */ /* ACT generated Thu Aug 15 21:20:18 2019 */ /* Auto-Hinting Light */ /* ***Settings*** */ /* ModeHinting = LightLatin */ /* ToAnchorBottom = true */ /* CVT 2 2 */ /* CVT 16 8 */ /* Min and Max */ ResYAnchor(16,8) /* min, CVT */ ResYAnchor(2,2) /* max, CVT */ /* CVTs - beginning */ /* CVTs - end */ /* YDir: Stroke #0 */ ResYDist(16,7) /*perpendicular to the stroke*/ /* Extreme Max */ YShift(2,12) Smooth() /* VTTTalk glyph 23, char 0x56 (V) */ /* GUI generated Thu Aug 15 16:53:20 2019 */ /* Y direction */ ResYAnchor(0,2) YShift(0,5) ResYAnchor(7,9) YInterpolate(0,2,7) /* X direction */ Smooth() /* VTTTalk glyph 24, char 0x57 (W) */ /* GUI generated Thu Aug 15 17:00:50 2019 */ /* Y direction */ ResYAnchor(7,9) YShift(7,3) ResYAnchor(8,2) YShift(8,1) YIPAnchor(3,13,1) YInterpolate(3,14,11,4,13) /* X direction */ Smooth() /* VTTTalk glyph 25, char 0x58 (X) */ /* GUI generated Thu Aug 15 17:01:09 2019 */ /* Y direction */ ResYAnchor(6,8) YShift(6,3) ResYAnchor(8,2) YShift(8,11) YInterpolate(8,10,7,1,4,3) /* X direction */ Smooth() /* VTTTalk glyph 26, char 0x59 (Y) */ /* GUI generated Tue Aug 27 17:44:41 2019 */ /* Y direction */ ResYAnchor(2,8) ResYAnchor(4,2) YShift(4,8) YInterpolate(2,3,0,6,4) /* X direction */ Smooth() /* VTTTalk glyph 27, char 0x5a (Z) */ /* GUI generated Tue Aug 27 17:45:09 2019 */ /* Y direction */ ResYAnchor(1,8) ResYDist(1,0) YShift(0,3) ResYAnchor(6,2) ResYDist(6,5) YShift(5,8) /* X direction */ Smooth() /* VTTTalk glyph 28, char 0x61 (a) */ /* GUI generated Thu Aug 15 22:09:23 2019 */ /* Y direction */ ResYAnchor(1,10) YShift(1,2) ResYDist(1,0) YShift(0,26) ResYAnchor(7,11) YShift(7,3) ResYDist(7,40) YShift(40,30) ResYAnchor(21,7) ResYDist(21,20) YInterpolate(7,13,20) YShift(13,15) ResYDist(13,34) YShift(34,31) /* X direction */ Smooth() /* VTTTalk glyph 29, char 0x62 (b) */ /* GUI generated Thu Aug 15 17:03:09 2019 */ /* Y direction */ ResYAnchor(7,11) YShift(7,9) ResYDist(7,26) ResYAnchor(10,0) ResYAnchor(15,7) YShift(15,13) ResYDist(15,21) YShift(21,23) /* X direction */ Smooth() /* VTTTalk glyph 30, char 0x63 (c) */ /* GUI generated Thu Aug 15 17:31:22 2019 */ /* Y direction */ ResYAnchor(7,7) ResYDist(7,15) ResYAnchor(26,11) ResYDist(26,21) YInterpolate(21,12,15) /* X direction */ Smooth() /* VTTTalk glyph 31, char 0x64 (d) */ /* GUI generated Thu Aug 15 17:03:50 2019 */ /* Y direction */ ResYAnchor(0,0) ResYAnchor(1,10) YShift(1,2) ResYAnchor(7,11) YShift(7,3) ResYDist(7,31) YShift(31,22) ResYAnchor(15,7) YShift(15,19) ResYDist(15,25) YShift(25,23) /* X direction */ Smooth() /* VTTTalk glyph 32, char 0x65 (e) */ /* GUI generated Thu Aug 15 22:11:01 2019 */ /* Y direction */ ResYAnchor(10,11) ResYDist(10,5) ResYAnchor(18,7) ResYDist(18,25) YIPAnchor(18,2,10) YNoRound(28) ResYDist(2,28) YShift(28,21) /* X direction */ Smooth() /* VTTTalk glyph 33, char 0x66 (f) */ /* GUI generated Thu Aug 15 17:09:09 2019 */ /* Y direction */ ResYAnchor(7,10) ResYAnchor(15,1) ResYDist(15,20) YIPAnchor(7,2,15) YShift(2,10) ResYDist(2,5) YShift(5,9) /* X direction */ Smooth() /* VTTTalk glyph 34, char 0x67 (g) */ /* GUI generated Thu Aug 15 17:09:26 2019 */ /* Y direction */ ResYAnchor(6,15) ResYDist(6,7) ResYAnchor(16,11) YShift(16,12) ResYDist(16,40) YShift(40,31) ResYAnchor(24,7) YShift(24,28) ResYDist(24,34) YShift(34,32) ResYAnchor(29,6) /* X direction */ Smooth() /* VTTTalk glyph 35, char 0x68 (h) */ /* GUI generated Thu Aug 15 17:09:36 2019 */ /* Y direction */ ResYAnchor(12,10) YShift(12,4) ResYAnchor(13,0) ResYAnchor(19,7) YShift(19,16) ResYDist(19,8) YShift(8,10) /* X direction */ Smooth() /* VTTTalk glyph 36, char 0x69 (i) */ /* GUI generated Thu Aug 15 17:09:43 2019 */ /* Y direction */ ResYAnchor(7,1) ResYDist(7,15) ResYAnchor(19,10) ResYDist(19,20) YShift(20,16) ResYAnchor(24,6) ResYDist(24,23) /* X direction */ Smooth() /* VTTTalk glyph 37, char 0x6a (j) */ /* GUI generated Thu Aug 15 17:12:57 2019 */ /* Y direction */ ResYAnchor(7,1) ResYDist(7,15) ResYAnchor(21,15) ResYDist(21,22) ResYAnchor(29,6) ResYDist(29,28) /* X direction */ Smooth() /* VTTTalk glyph 38, char 0x6b (k) */ /* GUI generated Tue Aug 13 13:33:18 2019 */ /* Y direction */ ResYAnchor(6,10) YShift(6,18) ResYAnchor(7,0) ResYAnchor(14,6) YIPAnchor(6,9,14) ResYDist(9,4) YInterpolate(4,1,17,9) /* X direction */ Smooth() /* VTTTalk Unicode 0x6c (l) */ /* ACT generated Thu Aug 15 21:20:18 2019 */ /* Auto-Hinting Light */ /* ***Settings*** */ /* ModeHinting = LightLatin */ /* ToAnchorBottom = true */ /* CVT 3 11 */ /* CVT 10 0 */ /* Min and Max */ ResYAnchor(3,11) /* min, CVT */ ResYAnchor(10,0) /* max, CVT */ /* CVTs - beginning */ /* CVTs - end */ /* YDir: Stroke #0 */ ResYDist(10,9) /*perpendicular to the stroke*/ /* YDir: Stroke #1 */ ResYDist(3,16) /*perpendicular to the stroke*/ Smooth() /* VTTTalk glyph 40, char 0x6d (m) */ /* GUI generated Thu Aug 15 21:26:51 2019 */ /* Y direction */ ResYAnchor(19,10) YShift(19,12) YShift(12,4) ResYAnchor(20,6) ResYAnchor(26,7) YShift(26,23) ResYDist(26,15) YShift(15,17) YShift(26,33) YShift(33,30) ResYDist(33,8) YShift(8,10) /* X direction */ Smooth() /* VTTTalk glyph 41, char 0x6e (n) */ /* GUI generated Thu Aug 15 17:14:05 2019 */ /* Y direction */ ResYAnchor(12,10) YShift(12,4) ResYAnchor(13,6) ResYAnchor(19,7) YShift(19,16) ResYDist(19,8) YShift(8,10) /* X direction */ Smooth() /* VTTTalk Unicode 0x6f (o) */ /* ACT generated Thu Aug 15 21:20:18 2019 */ /* Auto-Hinting Light */ /* ***Settings*** */ /* ModeHinting = LightLatin */ /* ToAnchorBottom = true */ /* CVT 7 7 */ /* CVT 15 11 */ /* Min and Max */ ResYAnchor(15,11) /* min, CVT */ ResYAnchor(7,7) /* max, CVT */ /* CVTs - beginning */ /* CVTs - end */ /* YDir: Stroke #0 */ ResYDist(7,21) /*perpendicular to the stroke*/ /* YDir: Stroke #1 */ ResYDist(15,27) /*perpendicular to the stroke*/ Smooth() /* VTTTalk glyph 43, char 0x70 (p) */ /* GUI generated Thu Aug 15 17:16:02 2019 */ /* Y direction */ ResYAnchor(7,11) YShift(7,10) ResYDist(7,31) YShift(31,29) ResYAnchor(13,14) ResYAnchor(14,6) ResYAnchor(20,7) YShift(20,17) ResYDist(20,26) YShift(26,28) /* X direction */ Smooth() /* VTTTalk glyph 44, char 0x71 (q) */ /* GUI generated Thu Aug 15 17:16:06 2019 */ /* Y direction */ ResYAnchor(0,6) ResYAnchor(1,14) ResYAnchor(7,11) YShift(7,3) ResYDist(7,31) YShift(31,22) ResYAnchor(15,7) YShift(15,19) ResYDist(15,25) YShift(25,23) /* X direction */ Smooth() /* VTTTalk glyph 45, char 0x72 (r) */ /* GUI generated Thu Aug 15 17:16:21 2019 */ /* Y direction */ ResYAnchor(14,10) ResYDist(14,15) YShift(15,11) ResYAnchor(19,6) ResYDist(19,18) ResYAnchor(25,7) YShift(25,22) ResYDist(25,7) YShift(7,10) YIPAnchor(11,4,7) /* X direction */ Smooth() /* VTTTalk glyph 46, char 0x73 (s) */ /* GUI generated Thu Aug 15 17:21:05 2019 */ /* Y direction */ ResYAnchor(20,7) YShift(20,22) ResYDist(20,25) ResYAnchor(40,11) YShift(40,2) ResYDist(40,5) YInterpolate(5,8,36,11,12,32,31,16,28,25) /* X direction */ Smooth() /* VTTTalk glyph 47, char 0x74 (t) */ /* GUI generated Thu Aug 15 17:21:26 2019 */ /* Y direction */ ResYAnchor(2,11) ResYDist(2,20) ResYAnchor(13,6) YShift(13,9) ResYDist(13,11) ResYDist(13,16) YShift(16,8) /* X direction */ Smooth() /* VTTTalk glyph 48, char 0x75 (u) */ /* GUI generated Thu Aug 15 17:22:06 2019 */ /* Y direction */ ResYAnchor(1,10) YShift(1,2) ResYDist(1,0) YShift(0,22) ResYAnchor(7,11) YShift(7,4) ResYDist(7,16) YShift(16,19) ResYAnchor(11,7) YShift(11,21) /* X direction */ Smooth() /* VTTTalk glyph 49, char 0x76 (v) */ /* GUI generated Thu Aug 15 17:22:31 2019 */ /* Y direction */ ResYAnchor(0,6) YShift(0,5) ResYAnchor(7,11) YInterpolate(7,3,5) /* X direction */ Smooth() /* VTTTalk glyph 50, char 0x77 (w) */ /* GUI generated Thu Aug 15 17:22:50 2019 */ /* Y direction */ ResYAnchor(7,11) YShift(7,3) ResYAnchor(8,6) YInterpolate(8,4,11,15,3) YShift(8,13) YShift(13,1) /* X direction */ Smooth() /* VTTTalk glyph 51, char 0x78 (x) */ /* GUI generated Thu Aug 15 17:23:04 2019 */ /* Y direction */ ResYAnchor(6,10) YShift(6,3) ResYAnchor(8,6) YShift(8,11) YInterpolate(8,10,1,7,4,3) /* X direction */ Smooth() /* VTTTalk glyph 52, char 0x79 (y) */ /* GUI generated Thu Aug 15 17:23:27 2019 */ /* Y direction */ ResYAnchor(6,15) ResYDist(6,7) ResYAnchor(12,10) ResYAnchor(13,6) YShift(13,18) YInterpolate(13,16,12) /* X direction */ Smooth() /* VTTTalk glyph 53, char 0x7a (z) */ /* GUI generated Thu Aug 15 17:23:39 2019 */ /* Y direction */ ResYAnchor(3,10) ResYDist(3,0) YShift(0,4) ResYAnchor(7,6) ResYDist(7,6) YShift(6,9) /* X direction */ Smooth() /* VTTTalk glyph 55, char 0xffff */ /* GUI generated Thu Aug 15 17:29:02 2019 */ /* Y direction */ YAnchor(1,16) YShift(1,24) YAnchor(2,19) YIPAnchor(2,45,1) YInterpolate(2,46,4,45) YShift(46,42) YShift(42,38) YShift(38,34) YShift(34,30) YShift(30,26) YShift(4,8) YShift(8,12) YShift(12,16) YShift(16,20) YShift(45,41) YShift(41,37) YShift(37,33) YShift(33,29) YShift(2,6) YShift(6,10) YShift(10,14) YShift(14,18) YShift(18,22) /* X direction */ Smooth() /* VTTTalk glyph 56, char 0x30 (0) */ /* GUI generated Thu Aug 15 17:30:07 2019 */ /* Y direction */ ResYAnchor(3,5) ResYDist(3,11) ResYAnchor(7,13) ResYDist(7,15) YInterpolate(15,31,23,11) /* X direction */ Smooth() /* VTTTalk glyph 57, char 0x31 (1) */ /* GUI generated Thu Aug 15 17:30:14 2019 */ /* Y direction */ ResYAnchor(3,12) ResYDist(3,4) YShift(4,0) ResYAnchor(9,4) ResYDist(9,6) /* X direction */ Smooth() /* VTTTalk glyph 58, char 0x32 (2) */ /* GUI generated Thu Aug 15 22:12:39 2019 */ /* Y direction */ ResYAnchor(2,12) ResYDist(2,23) YShift(23,3) ResYAnchor(16,5) ResYDist(16,8) YIPAnchor(23,11,8) /* X direction */ Smooth() /* VTTTalk glyph 59, char 0x33 (3) */ /* GUI generated Thu Aug 15 22:12:51 2019 */ /* Y direction */ ResYAnchor(7,13) ResYDist(7,12) ResYAnchor(34,5) ResYDist(34,26) YIPAnchor(12,10,29,26) YInterpolate(10,42,41,20,29) /* X direction */ Smooth() /* VTTTalk glyph 60, char 0x34 (4) */ /* GUI generated Thu Aug 15 17:37:36 2019 */ /* Y direction */ ResYAnchor(3,12) ResYAnchor(13,4) YIPAnchor(3,14,13) YInterpolate(14,9,13) YShift(14,10) ResYDist(14,2) YShift(2,6) /* X direction */ Smooth() /* VTTTalk glyph 61, char 0x35 (5) */ /* GUI generated Thu Aug 15 22:13:00 2019 */ /* Y direction */ ResYAnchor(6,13) ResYDist(6,14) ResYAnchor(23,4) ResYDist(23,26) YIPAnchor(23,29,11,6) YShift(29,27) ResYDist(29,19) YShift(19,21) /* X direction */ Smooth() /* VTTTalk glyph 62, char 0x36 (6) */ /* GUI generated Thu Aug 15 17:38:56 2019 */ /* Y direction */ ResYAnchor(6,13) ResYDist(6,33) ResYAnchor(14,4) ResYDist(14,15) YIPAnchor(14,22,6) YShift(22,19) ResYDist(22,28) YShift(28,31) /* X direction */ Smooth() /* VTTTalk glyph 63, char 0x37 (7) */ /* GUI generated Thu Aug 15 17:39:08 2019 */ /* Y direction */ ResYAnchor(2,12) ResYAnchor(7,4) ResYDist(7,4) YInterpolate(2,5,4) /* X direction */ Smooth() /* VTTTalk glyph 64, char 0x38 (8) */ /* GUI generated Thu Aug 15 17:39:42 2019 */ /* Y direction */ ResYAnchor(6,13) ResYDist(6,53) ResYAnchor(21,5) ResYDist(21,38) YInterpolate(6,32,21) ResYDist(32,47) YInterpolate(47,29,13,14,28,32) /* X direction */ Smooth() /* VTTTalk glyph 65, char 0x39 (9) */ /* GUI generated Thu Aug 15 17:40:23 2019 */ /* Y direction */ ResYAnchor(7,12) ResYDist(7,8) ResYAnchor(22,5) ResYDist(22,27) YInterpolate(7,33,22) YShift(33,25) ResYDist(33,15) YShift(15,11) /* X direction */ Smooth() /* VTTTalk glyph 66, char 0x2e (.) */ /* GUI generated Thu Aug 15 21:30:38 2019 */ /* Y direction */ ResYAnchor(15,19) ResYDist(15,7) /* X direction */ Smooth() /* VTTTalk glyph 67, char 0x2c (,) */ /* GUI generated Thu Aug 15 21:31:10 2019 */ /* Y direction */ YAnchor(0) ResYDist(0,2) /* X direction */ Smooth() /* VTTTalk glyph 68, char 0x3a (:) */ /* GUI generated Thu Aug 15 17:41:02 2019 */ /* Y direction */ ResYAnchor(7,7) ResYDist(7,15) ResYAnchor(31,19) ResYDist(31,23) /* X direction */ Smooth() /* VTTTalk glyph 69, char 0x3b (;) */ /* GUI generated Thu Aug 15 17:41:35 2019 */ /* Y direction */ ResYAnchor(7,7) ResYDist(7,15) YAnchor(19) ResYDist(19,17) /* X direction */ Smooth() /* VTTTalk glyph 70, char 0x21 (!) */ /* GUI generated Thu Aug 15 18:31:45 2019 */ /* Y direction */ ResYAnchor(1,16) ResYAnchor(19,19) ResYDist(19,11) ResYDist(11,2) /* X direction */ Smooth() /* VTTTalk glyph 71, char 0x3f (?) */ /* GUI generated Thu Aug 15 22:13:07 2019 */ /* Y direction */ ResYAnchor(14,3) ResYDist(14,6) ResYAnchor(41,11) ResYDist(41,33) ResYDist(33,24) YIPAnchor(6,9,24) YInterpolate(6,18,3,9) YInterpolate(9,1,20,24) /* X direction */ Smooth() /* VTTTalk glyph 72, char 0x2a (*) */ /* GUI generated Thu Aug 15 17:47:05 2019 */ /* Y direction */ ResYAnchor(11,134) ResYDist(11,5) YShift(5,3) YInterpolate(5,2,6,4,1,7,8,0,10,13,14,9,11) /* X direction */ Smooth() /* VTTTalk glyph 73, char 0x23 (#) */ /* GUI generated Thu Aug 15 22:13:48 2019 */ /* Y direction */ ResYAnchor(11,18) YShift(11,7) ResYAnchor(20,16) YShift(20,25) YIPAnchor(20,30,14,11) YShift(30,1) YShift(30,17) ResYDist(30,22) YShift(22,18) YShift(22,26) YShift(14,2) YShift(14,31) ResYDist(14,13) YShift(13,5) YShift(13,9) /* X direction */ Smooth() /* VTTTalk glyph 74, char 0x2f (/) */ /* GUI generated Thu Aug 15 18:35:17 2019 */ /* Y direction */ ResYAnchor(0,136) ResYDist(0,2) /* X direction */ Smooth() /* VTTTalk glyph 75, char 0x5c (\) */ /* GUI generated Thu Aug 15 18:35:32 2019 */ /* Y direction */ ResYAnchor(0,136) ResYDist(0,2) /* X direction */ Smooth() /* VTTTalk glyph 78, char 0x28 (() */ /* GUI generated Thu Aug 15 21:34:28 2019 */ /* Y direction */ YAnchor(7) ResYDist(7,10) ResYDist(7,21) ResYDist(21,18) /* X direction */ Smooth() /* VTTTalk glyph 79, char 0x29 ()) */ /* GUI generated Thu Aug 15 21:34:40 2019 */ /* Y direction */ YAnchor(10) ResYDist(10,9) ResYDist(10,20) ResYDist(20,21) /* X direction */ Smooth() /* VTTTalk glyph 80, char 0x7b ({) */ /* GUI generated Sun Aug 25 11:16:36 2019 */ /* Y direction */ YAnchor(21) ResYDist(21,26) ResYDist(21,54) ResYDist(54,49) YIPAnchor(54,11,21) ResYDist(11,10) YInterpolate(10,38,37,11) /* X direction */ Smooth() /* VTTTalk glyph 81, char 0x7d (}) */ /* GUI generated Sun Aug 25 11:17:15 2019 */ /* Y direction */ YAnchor(32) ResYDist(32,27) ResYDist(32,54) ResYDist(54,4) YIPAnchor(54,42,32) ResYDist(42,43) YInterpolate(43,15,16,42) /* X direction */ Smooth() /* VTTTalk glyph 82, char 0x5b ([) */ /* GUI generated Thu Aug 15 21:39:52 2019 */ /* Y direction */ YAnchor(6) ResYDist(6,1) YDist(6,5) ResYDist(5,2) /* X direction */ Smooth() /* VTTTalk glyph 83, char 0x5d (]) */ /* GUI generated Thu Aug 15 21:40:05 2019 */ /* Y direction */ YAnchor(7) ResYDist(7,6) YDist(7,2) ResYDist(2,3) /* X direction */ Smooth() /* VTTTalk glyph 85, char 0x5f (_) */ /* GUI generated Thu Aug 15 21:40:17 2019 */ /* Y direction */ ResYAnchor(0,8) ResYDist(0,3) /* X direction */ Smooth() /* VTTTalk glyph 89, char 0x2018 */ /* GUI generated Thu Aug 15 21:40:40 2019 */ /* Y direction */ ResYAnchor(0,16) ResYDist(0,2) /* X direction */ Smooth() /* VTTTalk glyph 90, char 0x2019 */ /* GUI generated Thu Aug 15 21:40:46 2019 */ /* Y direction */ ResYAnchor(1,16) ResYDist(1,2) /* X direction */ Smooth() /* VTTTalk glyph 92, char 0x27 (') */ /* GUI generated Thu Aug 15 21:41:04 2019 */ /* Y direction */ ResYAnchor(0,16) ResYDist(0,2) /* X direction */ Smooth() /* VTTTalk glyph 93, char 0xffff */ /* GUI generated Wed Aug 14 09:06:27 2019 */ /* Y direction */ YAnchor(0,131) YShift(0,4) ResYDist(0,3) YShift(3,7) /* X direction */ Smooth() /* VTTTalk glyph 94, char 0xffff */ /* GUI generated Wed Aug 14 09:49:27 2019 */ /* Y direction */ YAnchor(0,130) ResYDist(0,3) YShift(3,7) YShift(7,11) YShift(0,4) YShift(4,8) /* X direction */ Smooth() /* VTTTalk glyph 95, char 0xffff */ /* GUI generated Sun Aug 25 11:18:05 2019 */ /* Y direction */ ResYAnchor(9,131) ResYDist(9,8) YInterpolate(8,1,0,9) ResYDist(8,3) ResYDist(3,2) ResYDist(9,14) ResYDist(14,15) /* X direction */ Smooth() /* VTTTalk glyph 96, char 0xffff */ /* GUI generated Thu Aug 15 18:48:11 2019 */ /* Y direction */ YAnchor(0,133) ResYDist(0,2) YAnchor(6,131) ResYDist(6,5) /* X direction */ Smooth() /* VTTTalk glyph 97, char 0xffff */ /* GUI generated Sun Aug 25 11:19:06 2019 */ /* Y direction */ YAnchor(9,131) ResYDist(9,8) YInterpolate(8,1,0,9) ResYDist(8,3) ResYDist(3,2) ResYDist(9,14) ResYDist(14,15) /* X direction */ Smooth() /* VTTTalk glyph 98, char 0xffff */ /* GUI generated Thu Aug 15 18:49:57 2019 */ /* Y direction */ YAnchor(6,131) ResYDist(6,5) YInterpolate(5,19,14,22,23,13,18,6) ResYDist(5,16) YShift(16,21) ResYDist(16,15) YShift(15,20) ResYDist(6,11) YShift(11,24) ResYDist(11,12) YShift(12,17) /* X direction */ Smooth() /* VTTTalk glyph 99, char 0xffff */ /* GUI generated Thu Aug 15 18:50:30 2019 */ /* Y direction */ YAnchor(7,131) ResYDist(7,0) ResYDist(0,9) ResYDist(7,6) YInterpolate(6,2,1,7) ResYDist(6,3) ResYDist(3,4) /* X direction */ Smooth() /* VTTTalk glyph 100, char 0xffff */ /* GUI generated Thu Aug 15 18:51:38 2019 */ /* Y direction */ YAnchor(6,131) ResYDist(6,5) YInterpolate(5,15,1,12,11,0,16,6) ResYDist(5,2) YShift(2,13) ResYDist(2,3) YShift(3,14) ResYDist(6,9) YShift(9,10) ResYDist(9,8) YShift(8,17) /* X direction */ Smooth() /* VTTTalk glyph 101, char 0xffff */ /* GUI generated Thu Aug 15 18:55:03 2019 */ /* Y direction */ YAnchor(16,131) ResYDist(16,15) ResYDist(16,30) ResYDist(30,4) ResYDist(4,26) YInterpolate(15,20,30) ResYDist(20,10) /* X direction */ Smooth() /* VTTTalk glyph 102, char 0xffff */ /* GUI generated Thu Aug 15 18:57:14 2019 */ /* Y direction */ YAnchor(0,133) ResYDist(0,3) YInterpolate(3,31,43,54,0) ResYDist(31,26) ResYDist(43,42) YInterpolate(42,15,14,43) ResYDist(54,59) /* X direction */ Smooth() /* VTTTalk glyph 103, char 0xffff */ /* GUI generated Fri Aug 16 00:52:35 2019 */ /* Y direction */ ResYAnchor(10,18) YShift(10,6) ResYDist(10,17) ResYDist(17,22) ResYAnchor(56,16) YShift(56,60) ResYDist(56,50) ResYDist(50,45) YIPAnchor(10,65,66,56) YInterpolate(65,71,66) ResYDist(65,11) YShift(11,7) YShift(7,4) YShift(65,77) YShift(77,1) ResYDist(71,72) YInterpolate(72,33,34,71) ResYDist(66,55) YShift(55,59) YShift(59,62) YShift(66,78) YShift(78,0) /* X direction */ Smooth() /* VTTTalk glyph 104, char 0xffff */ /* GUI generated Thu Aug 15 19:02:56 2019 */ /* Y direction */ YAnchor(8,133) YShift(8,7) ResYDist(7,2) YDist(8,10) YShift(10,6) ResYDist(6,3) /* X direction */ Smooth() /* VTTTalk glyph 105, char 0xffff */ /* GUI generated Thu Aug 15 22:15:16 2019 */ /* Y direction */ ResYAnchor(11,18) YShift(11,6) YDist(11,14) ResYDist(14,17) ResYAnchor(24,16) YShift(24,28) YDist(24,21) ResYDist(21,18) YIPAnchor(11,33,34,24) ResYDist(33,12) YShift(12,8) YShift(8,5) YShift(33,36) YShift(36,2) ResYDist(34,23) YShift(23,27) YShift(27,30) YShift(34,37) YShift(37,1) /* X direction */ Smooth() /* VTTTalk glyph 106, char 0xffff */ /* GUI generated Thu Aug 15 19:05:48 2019 */ /* Y direction */ YAnchor(16,131) ResYDist(16,7) ResYDist(16,19) ResYDist(19,15) /* X direction */ Smooth() /* VTTTalk glyph 109, char 0xffff */ /* GUI generated Thu Aug 15 21:46:42 2019 */ /* Y direction */ YAnchor(0,132) ResYDist(0,3) YDist(3,36) ResYDist(36,39) YInterpolate(39,27,0) YShift(27,11) ResYDist(27,35) YShift(35,19) /* X direction */ Smooth() /* VTTTalk glyph 110, char 0xffff */ /* GUI generated Thu Aug 15 21:48:09 2019 */ /* Y direction */ ResYAnchor(1,135) ResYDist(1,0) YInterpolate(0,5,4,1) ResYDist(0,6) ResYDist(6,7) ResYDist(1,3) ResYDist(3,2) YInterpolate(7,31,2) YShift(31,15) ResYDist(31,39) YShift(39,23) /* X direction */ Smooth() /* VTTTalk glyph 112, char 0xffff */ /* GUI generated Thu Aug 15 21:49:01 2019 */ /* Y direction */ YAnchor(0,132) ResYDist(0,3) YDist(3,20) ResYDist(20,23) YInterpolate(23,11,0) ResYDist(11,19) /* X direction */ Smooth() /* VTTTalk glyph 115, char 0xffff */ /* GUI generated Thu Aug 15 21:50:37 2019 */ /* Y direction */ YAnchor(32,132) ResYDist(32,23) YShift(23,7) ResYDist(23,31) YShift(31,15) ResYDist(32,35) YDist(35,36) ResYDist(36,39) ResYDist(39,71) YShift(71,55) ResYDist(71,63) YShift(63,47) /* X direction */ Smooth() /* VTTTalk glyph 116, char 0xffff */ /* GUI generated Thu Aug 15 21:51:13 2019 */ /* Y direction */ YAnchor(16,132) ResYDist(16,7) ResYDist(7,15) ResYDist(16,19) YDist(19,20) ResYDist(20,23) ResYDist(23,39) ResYDist(39,31) /* X direction */ Smooth() /* VTTTalk glyph 117, char 0xffff */ /* GUI generated Thu Aug 15 21:52:11 2019 */ /* Y direction */ ResYAnchor(21,135) ResYDist(21,19) ResYDist(19,20) ResYDist(20,7) ResYDist(7,15) ResYDist(21,22) ResYDist(22,16) ResYDist(16,23) ResYDist(23,39) ResYDist(39,31) YInterpolate(22,17,18,21) /* X direction */ Smooth() /* VTTTalk glyph 118, char 0xffff */ /* GUI generated Thu Aug 15 21:56:17 2019 */ /* Y direction */ ResYAnchor(17,135) ResYDist(17,16) YInterpolate(16,21,20,17) ResYDist(16,22) ResYDist(22,23) ResYDist(23,39) ResYDist(39,31) ResYDist(17,19) ResYDist(19,18) ResYDist(18,7) ResYDist(7,15) /* X direction */ Smooth() /* VTTTalk glyph 122, char 0xffff */ /* GUI generated Thu Aug 15 21:57:04 2019 */ /* Y direction */ YAnchor(16,136) ResYDist(16,6) YIPAnchor(16,14,10,6) YShift(14,18) ResYDist(14,13) YShift(13,1) YShift(10,2) ResYDist(10,9) YShift(9,5) /* X direction */ Smooth() /* VTTTalk glyph 123, char 0xffff */ /* GUI generated Fri Aug 16 00:49:01 2019 */ /* Y direction */ YAnchor(18,131) YShift(18,2) ResYDist(18,17) YDist(17,14) YShift(14,6) ResYDist(14,13) YShift(13,9) ResYDist(13,10) YDist(18,21) YShift(21,1) ResYDist(21,22) YShift(22,26) YAnchor(24,136) /* X direction */ Smooth() /* VTTTalk glyph 127, char 0xffff */ /* GUI generated Thu Aug 15 22:29:25 2019 */ /* Y direction */ ResYAnchor(14,17) ResYDist(14,6) YAnchor(29,132) ResYDist(29,30) ResYDist(30,33) ResYDist(33,34) ResYAnchor(51,19) ResYDist(51,43) ResYDist(43,24) YIPAnchor(24,9,6) YInterpolate(24,20,1,9) YInterpolate(9,3,18,6) /* X direction */ Smooth() /* VTTTalk glyph 132, char 0xffff */ /* GUI generated Thu Aug 15 22:31:22 2019 */ /* Y direction */ ResYAnchor(7,18) YShift(7,11) ResYDist(7,2) ResYDist(2,42) ResYAnchor(26,16) YShift(26,22) ResYDist(26,31) ResYDist(31,34) YIPAnchor(26,52,15,7) ResYDist(52,27) YShift(27,23) YShift(23,19) YShift(52,46) YShift(46,18) ResYDist(15,14) YShift(14,10) YShift(10,6) YShift(15,43) YShift(43,53) /* X direction */ Smooth() /* VTTTalk glyph 133, char 0xffff */ /* GUI generated Fri Aug 16 00:52:13 2019 */ /* Y direction */ ResYAnchor(16,18) YShift(16,12) ResYDist(16,4) ResYDist(4,64) ResYAnchor(25,16) YShift(25,29) YIPAnchor(25,22,19,16) YInterpolate(22,75,19) ResYDist(22,23) YShift(23,28) YShift(28,31) YShift(22,67) YShift(67,80) ResYDist(75,74) YInterpolate(74,53,52,75) ResYDist(19,18) YShift(18,13) YShift(13,10) YShift(19,66) YShift(66,69) ResYDist(25,36) ResYDist(36,41) /* X direction */ Smooth() /* VTTTalk glyph 134, char 0xffff */ /* GUI generated Thu Aug 15 22:35:14 2019 */ /* Y direction */ YAnchor(13,18) YShift(13,9) YDist(13,5) ResYDist(5,2) YAnchor(22,16) YShift(22,26) YIPAnchor(13,17,18,22) ResYDist(17,15) YShift(15,11) YShift(11,7) YShift(17,33) YShift(33,36) ResYDist(18,20) YShift(20,24) YShift(24,28) YShift(18,34) YShift(34,39) YDist(22,30) ResYDist(30,1) /* X direction */ Smooth() /* VTTTalk glyph 137, char 0xffff */ /* GUI generated Thu Aug 15 22:37:26 2019 */ /* Y direction */ ResYAnchor(32,18) YShift(32,28) ResYAnchor(41,16) YShift(41,45) YIPAnchor(32,35,38,41) ResYDist(35,33) YShift(33,29) YShift(29,25) YShift(35,55) YShift(55,23) ResYDist(38,40) YShift(40,44) YShift(44,48) YShift(48,20) YShift(38,54) YShift(54,22) ResYAnchor(51,17) ResYDist(51,17) ResYAnchor(63,19) ResYDist(63,71) ResYDist(71,9) YInterpolate(17,3,14,12,5,9) /* X direction */ Smooth() /* VTTTalk glyph 138, char 0xffff */ /* GUI generated Thu Aug 15 22:39:34 2019 */ /* Y direction */ ResYAnchor(19,18) YShift(19,15) YShift(15,11) YShift(11,7) ResYAnchor(28,16) YIPAnchor(19,22,25,28) ResYDist(22,20) YShift(20,16) YShift(16,12) YShift(12,8) YShift(8,4) YShift(22,44) YShift(44,51) YShift(51,55) YShift(55,2) ResYDist(25,27) YShift(27,31) YShift(31,35) YShift(35,39) YShift(39,43) YShift(25,47) YShift(47,50) YShift(50,54) YShift(54,1) YShift(28,32) YShift(32,36) YShift(36,40) /* X direction */ Smooth() /* VTTTalk glyph 139, char 0xffff */ /* GUI generated Thu Aug 15 22:41:24 2019 */ /* Y direction */ ResYAnchor(27,18) YShift(27,23) YShift(23,19) YShift(19,15) YShift(15,11) YShift(11,7) ResYAnchor(36,16) YIPAnchor(36,33,30,27) ResYDist(33,35) YShift(35,39) YShift(39,43) YShift(43,47) YShift(47,51) YShift(51,55) YShift(55,59) YShift(33,63) YShift(63,66) YShift(66,71) YShift(71,74) YShift(74,78) YShift(78,1) ResYDist(30,28) YShift(28,24) YShift(24,20) YShift(20,16) YShift(16,12) YShift(12,8) YShift(8,4) YShift(30,60) YShift(60,67) YShift(67,68) YShift(68,75) YShift(75,79) YShift(79,2) YShift(36,40) YShift(40,44) YShift(44,48) YShift(48,52) YShift(52,56) /* X direction */ Smooth() /* VTTTalk glyph 140, char 0xffff */ /* GUI generated Thu Aug 15 22:46:29 2019 */ /* Y direction */ ResYAnchor(35,18) YShift(35,31) YShift(31,27) YShift(27,23) YShift(23,19) YShift(19,15) YShift(15,11) YShift(11,7) ResYAnchor(44,16) YIPAnchor(35,38,41,44) ResYDist(38,37) YShift(37,33) YShift(33,29) YShift(29,25) YShift(25,21) YShift(21,17) YShift(17,13) YShift(13,9) YShift(9,5) YShift(38,76) YShift(76,83) YShift(83,84) YShift(84,91) YShift(91,92) YShift(92,99) YShift(99,103) YShift(103,2) ResYDist(41,42) YShift(42,46) YShift(46,50) YShift(50,54) YShift(54,58) YShift(58,62) YShift(62,66) YShift(66,70) YShift(70,74) YShift(41,79) YShift(79,82) YShift(82,87) YShift(87,90) YShift(90,95) YShift(95,98) YShift(98,102) YShift(102,1) YShift(44,48) YShift(48,52) YShift(52,56) YShift(56,60) YShift(60,64) YShift(64,68) YShift(68,72) /* X direction */ Smooth() /* VTTTalk glyph 141, char 0xffff */ /* GUI generated Thu Aug 15 22:47:40 2019 */ /* Y direction */ ResYAnchor(14,18) YShift(14,10) ResYAnchor(23,16) YShift(23,27) YIPAnchor(14,17,20,23) ResYDist(17,16) YShift(16,12) YShift(12,8) YShift(8,36) YShift(17,35) YShift(35,5) YShift(5,37) ResYDist(20,21) YShift(21,25) YShift(25,1) YShift(1,28) YShift(20,34) YShift(34,4) YShift(4,31) /* X direction */ Smooth() /* VTTTalk glyph 142, char 0xffff */ /* GUI generated Thu Aug 15 22:48:55 2019 */ /* Y direction */ ResYAnchor(7,18) YShift(7,0) ResYDist(7,3) ResYAnchor(16,16) YShift(16,20) YIPAnchor(16,13,10,7) ResYDist(13,14) YShift(14,18) YShift(18,22) YShift(13,33) YShift(33,25) ResYDist(10,9) YShift(9,5) YShift(5,29) YShift(10,30) YShift(30,26) /* X direction */ Smooth() /* VTTTalk glyph 143, char 0xffff */ /* GUI generated Thu Aug 15 22:50:20 2019 */ /* Y direction */ ResYAnchor(6,18) ResYDist(6,2) YShift(6,29) YShift(29,0) ResYAnchor(15,16) YShift(15,19) YIPAnchor(15,12,9,6) ResYDist(12,14) YShift(14,18) YShift(18,22) YShift(12,53) YShift(53,23) ResYDist(9,7) YShift(7,3) YShift(3,28) YShift(9,51) YShift(51,25) ResYDist(15,39) ResYDist(39,42) /* X direction */ Smooth() /* VTTTalk glyph 145, char 0xffff */ /* GUI generated Thu Aug 15 22:50:55 2019 */ /* Y direction */ YAnchor(3,136) ResYDist(3,1) YAnchor(4,132) ResYDist(4,7) YDist(7,8) ResYDist(8,11) /* X direction */ Smooth() /* VTTTalk glyph 146, char 0xffff */ /* GUI generated Thu Aug 15 22:52:21 2019 */ /* Y direction */ YAnchor(3,136) ResYDist(3,1) YAnchor(4,16) YShift(4,8) ResYDist(4,7) YShift(7,11) YDist(7,12) YShift(12,16) ResYDist(12,15) YShift(15,19) /* X direction */ Smooth() /* VTTTalk glyph 147, char 0xffff */ /* GUI generated Thu Aug 15 22:53:21 2019 */ /* Y direction */ ResYAnchor(1,135) ResYDist(1,2) ResYDist(2,4) ResYDist(4,3) YInterpolate(2,5,6,1) YAnchor(10,136) ResYDist(10,8) YInterpolate(8,7,0,10) /* X direction */ Smooth() /* VTTTalk glyph 150, char 0xffff */ /* GUI generated Thu Aug 15 22:55:14 2019 */ /* Y direction */ ResYAnchor(4,18) YShift(4,0) ResYDist(4,3) ResYAnchor(6,133) /* X direction */ Smooth() /* VTTTalk glyph 151, char 0xffff */ /* GUI generated Thu Aug 15 22:55:24 2019 */ /* Y direction */ ResYAnchor(0,18) ResYDist(0,3) /* X direction */ Smooth() /* VTTTalk glyph 152, char 0x24 ($) */ /* GUI generated Thu Aug 15 22:57:10 2019 */ /* Y direction */ ResYAnchor(4,13) YShift(4,1) ResYDist(4,2) ResYDist(4,9) YShift(9,47) ResYAnchor(20,5) YShift(20,17) ResYDist(20,18) ResYDist(20,27) YShift(27,34) YIPAnchor(9,24,27) YInterpolate(9,43,32,45,46,10,11,29,28,33,40,14,37,24) /* X direction */ Smooth() /* VTTTalk glyph 153, char 0x2b (+) */ /* GUI generated Thu Aug 15 22:57:33 2019 */ /* Y direction */ YAnchor(7,131) ResYDist(7,9) YShift(7,11) ResYDist(7,6) YShift(6,2) ResYDist(6,4) /* X direction */ Smooth() /* VTTTalk glyph 154, char 0x2212 */ /* GUI generated Thu Aug 15 22:57:49 2019 */ /* Y direction */ YAnchor(0,131) ResYDist(0,3) /* X direction */ Smooth() /* VTTTalk glyph 155, char 0xd7 */ /* GUI generated Thu Aug 15 22:58:45 2019 */ /* Y direction */ YAnchor(9) YShift(9,11) ResYDist(9,3) YShift(3,5) YInterpolate(3,2,6,4,1,7,10,0,8,9) /* X direction */ Smooth() /* VTTTalk glyph 156, char 0xf7 */ /* GUI generated Thu Aug 15 22:59:30 2019 */ /* Y direction */ YAnchor(19,131) ResYDist(19,15) ResYDist(15,7) ResYDist(19,18) ResYDist(18,27) ResYDist(27,35) /* X direction */ Smooth() /* VTTTalk glyph 157, char 0x3d (=) */ /* GUI generated Thu Aug 15 22:59:55 2019 */ /* Y direction */ YAnchor(0,132) ResYDist(0,3) ResYDist(3,4) ResYDist(4,7) /* X direction */ Smooth() /* VTTTalk glyph 158, char 0x3e (>) */ /* GUI generated Thu Aug 15 23:01:03 2019 */ /* Y direction */ ResYAnchor(5,135) ResYDist(5,3) ResYDist(3,4) ResYDist(5,6) ResYDist(6,0) ResYDist(0,7) YInterpolate(6,1,2,5) /* X direction */ Smooth() /* VTTTalk glyph 159, char 0x3c (<) */ /* GUI generated Thu Aug 15 23:04:58 2019 */ /* Y direction */ ResYAnchor(1,135) ResYDist(1,0) YInterpolate(0,5,4,1) ResYDist(0,6) ResYDist(6,7) ResYDist(1,3) ResYDist(3,2) /* X direction */ Smooth() /* VTTTalk glyph 160, char 0x7e (~) */ /* GUI generated Thu Aug 15 23:09:43 2019 */ /* Y direction */ YAnchor(11) ResYDist(11,8) ResYDist(8,16) ResYDist(11,25) ResYDist(25,22) ResYDist(22,2) /* X direction */ Smooth() /* VTTTalk glyph 161, char 0x5e (^) */ /* GUI generated Thu Aug 15 23:11:07 2019 */ /* Y direction */ ResYAnchor(0,16) ResYDist(0,2) YShift(2,7) YInterpolate(0,4,2) /* X direction */ Smooth() /* VTTTalk glyph 162, char 0x25 (%) */ /* GUI generated Thu Aug 15 23:15:56 2019 */ /* Y direction */ ResYAnchor(7,17) ResYDist(7,21) ResYDist(21,27) ResYDist(27,15) YDist(15,28,>=2.5) ResYDist(28,31) ResYAnchor(47,19) ResYDist(47,59) ResYDist(59,53) ResYDist(53,39) YDist(39,30,>=2.5) ResYDist(30,29) /* X direction */ Smooth() /* VTTTalk glyph 164, char 0x40 (@) */ /* GUI generated Thu Aug 15 23:17:30 2019 */ /* Y direction */ ResYAnchor(36,19) ResYDist(36,31) YDist(31,10,>=1) YShift(10,5) YShift(10,6) ResYDist(10,54) ResYAnchor(43,17) ResYDist(43,24) YDist(24,16,>=1) YShift(16,19) ResYDist(16,49) /* X direction */ Smooth() /* VTTTalk glyph 165, char 0x26 (&) */ /* GUI generated Thu Aug 15 23:21:32 2019 */ /* Y direction */ ResYAnchor(3,19) ResYDist(3,47) ResYAnchor(16,17) ResYDist(16,23) YIPAnchor(3,32,20,23) YInterpolate(3,1,38,35,30,10,32) YInterpolate(32,26,13,20) ResYDist(10,40) ResYAnchor(36,18) /* X direction */ Smooth() /* VTTTalk glyph 166, char 0x7c (|) */ /* GUI generated Thu Aug 15 23:22:29 2019 */ /* Y direction */ YAnchor(0,133) YDist(0,2) /* X direction */ Smooth() /* VTTTalk glyph 167, char 0xffff */ /* GUI generated Thu Aug 15 23:23:24 2019 */ /* Y direction */ ResYAnchor(5,18) ResYAnchor(10,19) YShift(10,6) ResYDist(10,54) YDist(10,32,>=1.5) ResYDist(32,37) ResYAnchor(17,7) YShift(17,20) ResYDist(17,49) YDist(17,25,>=1.5) ResYDist(25,44) /* X direction */ Smooth() /* VTTTalk glyph 168, char 0xffff */ /* GUI generated Thu Aug 15 23:25:57 2019 */ /* Y direction */ ResYAnchor(3,18) YShift(3,34) ResYAnchor(6,19) YShift(6,37) ResYDist(6,73) YShift(73,80) ResYAnchor(16,17) YShift(16,47) YIPAnchor(3,32,20,16) YInterpolate(3,35,4,75,68,65,1,60,30,10,32) YShift(10,41) ResYDist(10,69) YShift(69,76) YShift(32,62) YShift(20,50) ResYDist(16,23) YShift(23,53) /* X direction */ Smooth() /* VTTTalk glyph 169, char 0xffff */ /* GUI generated Thu Aug 15 23:26:39 2019 */ /* Y direction */ YAnchor(0,131) ResYDist(0,1) YAnchor(5,133) YDist(5,4) /* X direction */ Smooth() /* VTTTalk glyph 170, char 0xffff */ /* GUI generated Thu Aug 15 23:29:33 2019 */ /* Y direction */ YAnchor(1,133) YDist(1,0) YInterpolate(0,19,7,52,1) ResYDist(7,8) YInterpolate(8,35,36,7) /* X direction */ Smooth() /* VTTTalk glyph 171, char 0xffff */ /* GUI generated Thu Aug 15 23:30:59 2019 */ /* Y direction */ YAnchor(1,133) YDist(1,0) YShift(0,6) ResYDist(6,7) YShift(1,11) ResYDist(11,10) /* X direction */ Smooth() /* VTTTalk glyph 173, char 0xffff */ /* GUI generated Thu Aug 15 23:32:40 2019 */ /* Y direction */ YAnchor(1,133) YShift(1,5) YDist(1,3) YShift(3,4) ResYAnchor(9,135) ResYDist(9,8) ResYDist(9,10) ResYDist(10,11) YInterpolate(11,15,12,13,14,8) /* X direction */ Smooth() /* VTTTalk glyph 174, char 0xffff */ /* GUI generated Thu Aug 15 23:33:05 2019 */ /* Y direction */ YAnchor(1,133) YShift(1,12) YDist(1,3) YShift(3,11) YAnchor(14,132) ResYDist(14,5) YDist(5,6) ResYDist(6,9) /* X direction */ Smooth() /* VTTTalk glyph 175, char 0xffff */ /* GUI generated Thu Aug 15 23:35:29 2019 */ /* Y direction */ YAnchor(1,133) ResYDist(1,3) ResYAnchor(5,135) ResYDist(5,4) ResYDist(5,6) ResYDist (6,7) YInterpolate(7,11,8,9,10,4) /* X direction */ Smooth() /* VTTTalk glyph 176, char 0xffff */ /* GUI generated Thu Aug 15 23:38:27 2019 */ /* Y direction */ YAnchor(8,133) ResYDist(8,6) YAnchor(10,132) ResYDist(10,1) YDist(1,2) ResYDist(2,5) /* X direction */ Smooth() /* VTTTalk glyph 177, char 0xffff */ /* GUI generated Thu Aug 15 23:39:18 2019 */ /* Y direction */ ResYAnchor(1,135) ResYDist(1,0) ResYDist(1,2) ResYDist(2,3) YInterpolate(3,7,4,5,6,0) /* X direction */ Smooth() /* VTTTalk glyph 178, char 0xffff */ /* GUI generated Thu Aug 15 23:40:49 2019 */ /* Y direction */ ResYAnchor(0,135) ResYDist(0,1) ResYDist(1,3) ResYDist(3,2) YInterpolate(1,4,5,0) ResYAnchor(17,9) YShift(17,14) ResYDist(17,16) ResYDist(17,22) YShift(22,43) ResYAnchor(30,17) ResYDist(30,31) YShift(30,33) ResYDist(30,35) YShift(35,6) YInterpolate(22,45,11,47,42,23,24,8,7,34,41,27,38,35) /* X direction */ Smooth() /* VTTTalk glyph 179, char 0xffff */ /* GUI generated Thu Aug 15 23:42:47 2019 */ /* Y direction */ YAnchor(11,131) ResYDist(11,10) YShift(10,5) YShift(5,1) ResYDist(10,8) YShift(8,4) ResYDist(11,13) YShift(13,17) YShift(11,16) YShift(16,0) /* X direction */ Smooth() /* VTTTalk glyph 180, char 0xffff */ /* GUI generated Thu Aug 15 23:43:26 2019 */ /* Y direction */ YAnchor(15,131) ResYDist(15,14) YShift(14,10) YShift(10,6) YShift(6,2) ResYDist(14,12) YShift(12,8) YShift(8,4) ResYDist(15,17) YShift(17,21) YShift(21,25) YShift(15,19) YShift(19,23) YShift(23,27) /* X direction */ Smooth() /* VTTTalk glyph 184, char 0xffff */ /* GUI generated Thu Aug 15 23:43:45 2019 */ /* Y direction */ YAnchor(0,132) ResYDist(0,3) ResYDist(3,4) ResYDist(4,7) /* X direction */ Smooth() /* VTTTalk glyph 185, char 0xffff */ /* GUI generated Thu Aug 15 23:44:22 2019 */ /* Y direction */ YAnchor(4,131) YDist(4,3) ResYDist(3,0) ResYDist(4,7) YDist(7,8) ResYDist(8,11) /* X direction */ Smooth() /* VTTTalk glyph 186, char 0xffff */ /* GUI generated Thu Aug 15 23:45:49 2019 */ /* Y direction */ YAnchor(14,132) ResYDist(14,13) ResYDist(13,8) YInterpolate(8,2,10,11,1,13) ResYDist(8,7) YDist(7,4,>=3/2) ResYDist(4,3) YDist(14,17,>=3/2) ResYDist(17,0) /* X direction */ Smooth() /* VTTTalk glyph 186, char 0xffff */ /* GUI generated Thu Aug 15 23:45:49 2019 */ /* Y direction */ YAnchor(14,132) ResYDist(14,13) ResYDist(13,8) YInterpolate(8,2,10,11,1,13) ResYDist(8,7) YDist(7,4,>=3/2) ResYDist(4,3) YDist(14,17,>=3/2) ResYDist(17,0) /* X direction */ Smooth() /* VTTTalk glyph 188, char 0xffff */ /* GUI generated Thu Aug 15 23:51:06 2019 */ /* Y direction */ YAnchor(10,16) ResYDist(10,9) ResYDist(9,4) ResYDist(4,3) YDist(3,0,>=3/2) YShift(0,22) ResYDist(0,17) YShift(17,21) YInterpolate(4,20,16,23,6,7,24,15,19,9) YDist(10,13,>=3/2) YShift(13,25) ResYDist(13,14) YShift(14,18) /* X direction */ Smooth() /* VTTTalk glyph 189, char 0xffff */ /* GUI generated Thu Aug 15 23:53:56 2019 */ /* Y direction */ YAnchor(3,132) ResYDist(3,0) YShift(0,6) ResYDist(0,5) YShift(5,13) ResYDist(3,2) ResYDist(2,14) YInterpolate(14,11,8,7,12,2) ResYDist(14,19) ResYDist(19,16) YShift(16,9) ResYDist(16,17) YShift(17,10) /* X direction */ Smooth() /* VTTTalk glyph 190, char 0xffff */ /* GUI generated Thu Aug 15 23:53:20 2019 */ /* Y direction */ YAnchor(14,132) YShift(14,19) ResYDist(14,13) YShift(13,0) YDist(13,10) YShift(10,3) ResYDist(10,9) YShift(9,4) YAnchor(16,136) ResYDist(16,6) /* X direction */ Smooth() /* VTTTalk glyph 191, char 0xffff */ /* GUI generated Thu Aug 15 23:55:00 2019 */ /* Y direction */ YAnchor(9,131) ResYDist(9,2) ResYDist(2,4) ResYDist(4,3) YInterpolate(2,5,6,9) ResYDist(9,7) ResYDist(7,8) /* X direction */ Smooth() /* VTTTalk glyph 192, char 0xffff */ /* GUI generated Thu Aug 15 23:56:31 2019 */ /* Y direction */ YAnchor(16,131) ResYDist(16,9) YInterpolate(9,1,12,13,0,16) ResYDist(9,11) YShift(11,3) ResYDist(11,10) YShift(10,2) ResYDist(16,14) YShift(14,21) ResYDist(14,15) YShift(15,22) /* X direction */ Smooth() /* VTTTalk glyph 194, char 0xffff */ /* GUI generated Thu Aug 29 22:05:19 2019 */ /* Y direction */ YAnchor(4) ResYDist(4,3) ResYDist(3,0) ResYDist(0,7) YInterpolate(7,5,4) ResYDist(5,6) YInterpolate(6,1,5) ResYDist(7,8) YShift(8,9) ResYDist(8,11) YShift(11,10) /* X direction */ Smooth() /* VTTTalk glyph 195, char 0xffff */ /* GUI generated Thu Aug 15 23:58:41 2019 */ /* Y direction */ YAnchor(18,132) ResYDist(18,15) ResYDist(15,10) YInterpolate(15,1,13,12,2,10) ResYDist(10,7) YDist(7,4,>=1.5) YShift(4,9) ResYDist(4,3) YShift(3,8) YDist(18,21,>=1.5) YShift(21,16) ResYDist(21,0) YShift(0,17) /* X direction */ Smooth() /* VTTTalk glyph 196, char 0xffff */ /* GUI generated Thu Aug 15 23:59:53 2019 */ /* Y direction */ ResYAnchor(13,135) YShift(13,5) ResYDist(13,11) YShift(11,3) ResYDist(11,12) YShift(12,4) ResYDist(13,14) YShift(14,6) YInterpolate(14,1,9,10,2,13) ResYDist(14,8) YShift(8,0) ResYDist(8,15) YShift(15,7) /* X direction */ Smooth() /* VTTTalk glyph 197, char 0xffff */ /* GUI generated Fri Aug 16 00:01:39 2019 */ /* Y direction */ YAnchor(17,131 ) YShift(17,0) ResYDist(17,10) YShift(10,1) YInterpolate(10,13,4,5,14,17) ResYDist(10,12) YShift(12,3) ResYDist(12,11) YShift(11,2) ResYDist(17,15) YShift(15,6) ResYDist(15,16) YShift(16,7) /* X direction */ Smooth() /* VTTTalk glyph 198, char 0xffff */ /* GUI generated Fri Aug 16 00:02:50 2019 */ /* Y direction */ YAnchor(8,132) ResYDist(8,11) ResYDist(11,15) YInterpolate(15,1,4,5,0,11) ResYDist(15,18) ResYDist(18,14) YShift(14,3) ResYDist(14,19) YShift(19,2) ResYDist(8,12) YShift(12,6) ResYDist(12,13) YShift(13,7) /* X direction */ Smooth() /* VTTTalk glyph 200, char 0xffff */ /* GUI generated Fri Aug 16 00:03:29 2019 */ /* Y direction */ YAnchor(15,131) ResYDist(15,10) ResYDist(10,9) ResYDist(15,16) ResYDist(16,5) ResYDist(5,6) YInterpolate(16,7,8,15) /* X direction */ Smooth() /* VTTTalk glyph 200, char 0xffff */ /* GUI generated Fri Aug 16 00:03:29 2019 */ /* Y direction */ YAnchor(15,131) ResYDist(15,10) ResYDist(10,9) ResYDist(15,16) ResYDist(16,5) ResYDist(5,6) YInterpolate(16,7,8,15) /* X direction */ Smooth() /* VTTTalk glyph 202, char 0xffff */ /* GUI generated Fri Aug 16 00:04:24 2019 */ /* Y direction */ YAnchor(23,131) ResYDist(23,9) YInterpolate(9,1,16,17,0,23) ResYDist(9,14) YShift(14,3) ResYDist(14,15) YShift(15,2) ResYDist(23,19) YShift(19,28) ResYDist(19,18) YShift(18,29) /* X direction */ Smooth() /* VTTTalk glyph 203, char 0xffff */ /* GUI generated Fri Aug 16 00:06:06 2019 */ /* Y direction */ YAnchor(20,131) ResYDist(20,4) YInterpolate(20,13,0,1,12,4) ResYDist(4,10) YShift(10,2) ResYDist(10,11) YShift(11,3) ResYDist(20,15) YShift(15,22) ResYDist(15,14) YShift(14,21) /* X direction */ Smooth() /* VTTTalk glyph 205, char 0xffff */ /* GUI generated Fri Aug 16 00:07:18 2019 */ /* Y direction */ ResYAnchor(2,16) YAnchor(5,131) YShift(5,21) ResYDist(5,6) YShift(6,24) ResYDist(6,12) ResYDist(12,13) YInterpolate(6,14,15,5) ResYDist(5,17) ResYDist(17,16) ResYAnchor(32,19) ResYDist(32,40) ResYDist(40,1) /* X direction */ Smooth() /* VTTTalk glyph 208, char 0xffff */ /* GUI generated Fri Aug 16 00:07:53 2019 */ /* Y direction */ ResYAnchor(0,135) ResYDist(0,1) ResYDist(0,3) ResYDist(3,2) YInterpolate(2,4,7,6,5,1) /* X direction */ Smooth() /* VTTTalk glyph 209, char 0xffff */ /* GUI generated Fri Aug 16 00:09:26 2019 */ /* Y direction */ YAnchor(0,133) YDist(0,2) ResYAnchor(5,135) ResYDist(5,4) ResYDist(4,7) ResYDist(5,6) YInterpolate(7,10,9,8,11,6) /* X direction */ Smooth() /* VTTTalk glyph 210, char 0xffff */ /* GUI generated Fri Aug 16 00:10:36 2019 */ /* Y direction */ YAnchor(1,133) YShift(1,4) YDist(1,3) YShift(3,7) ResYAnchor(9,135) ResYDist(9,8) ResYDist(8,11) ResYDist(9,10) YInterpolate(11,14,13,12,15,10) /* X direction */ Smooth() /* VTTTalk glyph 212, char 0xffff */ /* GUI generated Fri Aug 16 00:14:38 2019 */ /* Y direction */ ResYAnchor(2,9) ResYDist(2,4) YShift(2,5) ResYDist(2,49) YShift(49,12) ResYAnchor(7,135) ResYDist(7,6) YInterpolate(6,11,10,7) ResYDist(7,9) ResYDist(9,8) ResYAnchor(23,17) YShift(23,20) ResYDist(23,21) ResYDist(23,30) YShift(30,37) YIPAnchor(49,27,30) YInterpolate(49,45,35,47,48,13,14,32,31,36,43,17,40,27) /* X direction */ Smooth() /* VTTTalk glyph 213, char 0xffff */ /* GUI generated Fri Aug 16 00:19:56 2019 */ /* Y direction */ ResYAnchor(0,135) ResYDist(0,1) ResYDist(1,3) ResYDist(3,2) YInterpolate(1,4,5,0) YShift(1,18) YShift(0,19) ResYDist(19,21) ResYDist(21,20) YInterpolate(18,23,22,19) ResYAnchor(14,9) ResYDist(14,15) YShift(14,17) ResYDist(14,45) YShift(45,24) ResYAnchor(32,17) ResYDist(32,33) YShift(32,35) ResYDist(32,37) YShift(37,6) YInterpolate(45,47,11,49,44,25,26,8,7,36,43,29,40,37) /* X direction */ Smooth() /* VTTTalk glyph 216, char 0xffff */ /* GUI generated Thu Aug 29 22:08:51 2019 */ /* Y direction */ YAnchor(2) ResYDist(2,3) ResYDist(3,6) ResYDist(6,7) YInterpolate(7,1,2) ResYDist(1,0) YInterpolate(0,4,1) ResYDist(7,10) YShift(10,9) ResYDist(10,11) YShift(11,8) /* X direction */ Smooth() /* VTTTalk glyph 217, char 0xffff */ /* GUI generated Fri Aug 16 00:22:18 2019 */ /* Y direction */ YAnchor(16,132) YDist(16,13,>=3/2) ResYDist(13,12) ResYDist(16,17) YDist(17,4) YInterpolate(4,10,2,1,11,17) ResYDist(4,5) YDist(5,8,>=3/2) ResYDist(8,9) /* X direction */ Smooth() /* VTTTalk glyph 218, char 0xffff */ /* GUI generated Fri Aug 16 00:24:28 2019 */ /* Y direction */ YAnchor(16,132) YDist(16,14,>=3/2) YShift(14,19) ResYDist(14,13) YShift(13,0) ResYDist(16,27) ResYDist(27,22) YInterpolate(22,2,11,21,24,25,20,12,1,27) ResYDist(22,7) YDist(7,9,>=3/2) YShift(9,4) ResYDist(9,10) YShift(10,3) /* X direction */ Smooth() /* VTTTalk glyph 218, char 0xffff */ /* GUI generated Fri Aug 16 00:24:28 2019 */ /* Y direction */ YAnchor(16,132) YDist(16,14,>=3/2) YShift(14,19) ResYDist(14,13) YShift(13,0) ResYDist(16,27) ResYDist(27,22) YInterpolate(22,2,11,21,24,25,20,12,1,27) ResYDist(22,7) YDist(7,9,>=3/2) YShift(9,4) ResYDist(9,10) YShift(10,3) /* X direction */ Smooth() /* VTTTalk glyph 220, char 0xffff */ /* GUI generated Fri Aug 16 00:26:08 2019 */ /* Y direction */ YAnchor(18,132) YDist(18,15,>=3/2) YShift(15,20) ResYDist(15,14) YShift(14,19) ResYDist(18,21) ResYDist(21,4) YInterpolate(4,12,2,1,13,21) ResYDist(4,7) YDist(7,10,>=3/2) YShift(10,5) ResYDist(10,11) YShift(11,6) /* X direction */ Smooth() /* VTTTalk glyph 222, char 0xffff */ /* GUI generated Fri Aug 16 00:27:01 2019 */ /* Y direction */ ResYAnchor(1,135) YShift(1,9) ResYDist (1,0) YShift(0,8) YInterpolate(0,13,5,4,12,1) ResYDist(0,6) YShift(6,14) ResYDist(6,7) YShift(7,15) ResYDist(1,3) YShift(3,11) ResYDist(3,2) YShift(2,10) /* X direction */ Smooth() /* VTTTalk glyph 223, char 0xffff */ /* GUI generated Fri Aug 16 00:28:34 2019 */ /* Y direction */ YAnchor(23,131) ResYDist(23,18) YShift(18,7) ResYDist(18,17) YShift(17,6) ResYDist(23,24) YInterpolate(24,4,15,1,0,16,5,23) ResYDist(24,13) YShift(13,2) ResYDist(13,14) YShift(14,3) /* X direction */ Smooth() /* VTTTalk glyph 224, char 0xffff */ /* GUI generated Fri Aug 16 00:30:08 2019 */ /* Y direction */ YAnchor(24,132) YDist(24,21,>=3/2) YShift(21,7) ResYDist(21,20) YShift(20,6) ResYDist(24,25) YDist(25,12) YInterpolate(12,18,4,1,10,9,0,5,19,25) ResYDist(12,13) YDist(13,16,>=3/2) YShift(16,2) ResYDist(16,17) YShift(17,3) /* X direction */ Smooth() /* VTTTalk glyph 226, char 0xffff */ /* GUI generated Fri Aug 16 00:31:02 2019 */ /* Y direction */ ResYAnchor(31,135) ResYDist(31,30) ResYDist(30,28) ResYDist(28,29) ResYDist(31,33) ResYDist(33,32) YInterpolate(28,49,43,56,33) ResYDist(49,11) ResYDist(43,17) ResYDist(56,4) /* X direction */ Smooth() /* VTTTalk glyph 228, char 0xffff */ /* GUI generated Fri Aug 16 00:32:13 2019 */ /* Y direction */ ResYAnchor(48,135) ResYDist(48,47) ResYDist(47,45) ResYDist(45,46) ResYDist(48,50) ResYDist(50,49) YInterpolate(45,90,78,66,60,72,84,50) ResYDist(90,3) ResYDist(78,16) ResYDist(66,28) ResYDist(60,34) ResYDist(72,22) ResYDist(84,10) /* X direction */ Smooth() /* VTTTalk glyph 229, char 0xffff */ /* GUI generated Fri Aug 16 00:33:14 2019 */ /* Y direction */ YAnchor(0,136) ResYDist(0,2) YInterpolate(2,4,11,0) ResYAnchor(6,135) ResYDist(6,5) YInterpolate(5,10,9,6) ResYDist(6,8) ResYDist(8,7) /* X direction */ Smooth() /* VTTTalk glyph 230, char 0xffff */ /* GUI generated Fri Aug 16 00:34:42 2019 */ /* Y direction */ ResYAnchor(1,135) ResYDist(1,2) YShift(2,11) ResYDist(2,4) ResYDist(4,3) YInterpolate(2,5,16,15,6,1) YShift(1,12) ResYDist(12,14) ResYDist(14,13) YAnchor(18,136) ResYDist(18,8) YInterpolate(8,10,17,7,0,18) /* X direction */ Smooth() /* VTTTalk glyph 231, char 0xffff */ /* GUI generated Fri Aug 16 00:36:31 2019 */ /* Y direction */ YAnchor(30,131) ResYDist(30,0) ResYDist(0,15) ResYDist(15,19) ResYDist(19,10) YInterpolate(15,25,19) ResYDist(25,4) /* X direction */ Smooth() /* VTTTalk glyph 232, char 0xffff */ /* GUI generated Fri Aug 16 00:38:25 2019 */ /* Y direction */ ResYAnchor(56,17) ResYDist(56,22) YDist(22,14,>=) YShift(14,17) ResYDist(14,62) ResYAnchor(72,19) YInterpolate(72,39,75,77,35,49,56) ResYDist(35,43) ResYDist(49,29) ResYDist(72,80) YDist(80,8,>=) YShift(8,3) YShift(8,5) ResYDist(8,67) /* X direction */ Smooth() /* VTTTalk glyph 233, char 0xffff */ /* GUI generated Fri Aug 16 00:39:13 2019 */ /* Y direction */ YAnchor(12,16) ResYDist(12,25) YInterpolate(25,22,8,12) ResYDist(22,2) ResYDist(8,16) YDist(25,28,>=3/2) ResYDist(28,31) /* X direction */ Smooth() /* VTTTalk glyph 234, char 0xffff */ /* GUI generated Fri Aug 16 00:39:59 2019 */ /* Y direction */ ResYAnchor(0,135) ResYDist(0,1) ResYDist(1,3) ResYDist(3,2) ResYDist(0,55) ResYDist(55,56) YInterpolate(3,39,45,32,55) ResYDist(39,20) ResYDist(45,14) ResYDist(32,27) /* X direction */ Smooth() /* VTTTalk glyph 235, char 0xffff */ /* GUI generated Fri Aug 16 00:41:07 2019 */ /* Y direction */ YAnchor(25) ResYDist(25,53) YInterpolate(53,49,36,8,22,25) ResYDist(49,2) ResYDist(36,16) ResYDist(8,43) ResYDist(22,30) /* X direction */ Smooth() /* VTTTalk glyph 236, char 0xffff */ /* GUI generated Fri Aug 16 00:42:03 2019 */ /* Y direction */ ResYAnchor(0,135) ResYDist(0,1) ResYDist(1,3) ResYDist(3,2) ResYDist(0,91) ResYDist(91,92) YInterpolate(3,51,63,75,81,69,57,91) ResYDist(51,45) ResYDist(63,32) ResYDist(75,20) ResYDist(81,14) ResYDist(69,26) ResYDist(57,38) /* X direction */ Smooth() /* VTTTalk glyph 237, char 0xffff */ /* GUI generated Fri Aug 16 00:42:47 2019 */ /* Y direction */ YAnchor(0,132) ResYDist(0,3) ResYDist(3,11) ResYDist(11,10) ResYAnchor(8,16) ResYDist(8,6) YInterpolate(6,5,8) /* X direction */ Smooth() /* VTTTalk glyph 238, char 0xffff */ /* GUI generated Fri Aug 16 00:44:27 2019 */ /* Y direction */ ResYAnchor(7,17) YShift(7,25) ResYDist(7,45) YShift(45,57) ResYDist(45,39) YShift(39,51) ResYDist(39,15) ResYDist(15,20) ResYDist(20,19) YShift(15,33) YInterpolate(25,21,18,33) ResYAnchor(83,19) YShift(83,62) ResYDist(83,115) YShift(115,103) ResYDist(115,109) YShift(109,97) ResYDist(109,91) YShift(91,70) YInterpolate(62,58,73,70) ResYDist(91,75) ResYDist(75,74) /* X direction */ Smooth() /* VTTTalk glyph 239, char 0x60 (`) */ /* GUI generated Thu Aug 15 23:55:15 2019 */ /* Y direction */ YAnchor(0,17) ResYDist(0,2) /* X direction */ Smooth() /* VTTTalk Unicode 0xffff */ /* ACT generated Thu Aug 15 21:20:18 2019 */ /* Auto-Hinting Light */ /* ***Settings*** */ /* ModeHinting = LightLatin */ /* ToAnchorBottom = true */ /*Auto-Hinting Light is not applied: Empty glyph or glyph with one point*/ /* VTTTalk glyph 216, char 0xffff */ /* GUI generated Thu Aug 29 22:08:51 2019 */ /* Y direction */ YAnchor(2) ResYDist(2,3) ResYDist(3,6) ResYDist(6,7) YInterpolate(7,1,2) ResYDist(1,0) YInterpolate(0,4,1) ResYDist(7,10) YShift(10,9) ResYDist(10,11) YShift(11,8) /* X direction */ Smooth()  /9@Z`z~  " 0:A[a{  "A;ވ6@HF[I\NOHCTBJDEGRKSUPQ$4~|u|"*@J~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSQPONMLKJIHGF( , C#Ce -, C#C -,CCe -,O+ @QX!KRXED!!Y#!@%E%EadcRXED!!YY-,CC -,KS#KQZX E`D!!Y-,KTX E`D!!Y-,KS#KQZX8!!Y-,KTX8!!Y-,CTXF+!!!!Y-,CTXG+!!!Y-,CTXH+!!!!Y-,CTXI+!!!Y-,# Pd%TX@%TXCYO+Y#b+#!#XeY-, !T`C-, !T`C-, GC bcW#bcWZX `fYH-,%%%S5#x%%` c %#bPX!`# %#bRX#!a!#! YY` c#!-,B#Q@SZX TXC`BY$QX @TXC`B$TX C`BKKRXC`BY@TXC`BY@cTXC`BY@cTXC`BY&QX@cTX@C`BY@cTXC`BY(QX@cTXC`BYYYYYYYCTX@ @@ @  CTX@   CRX@ @CRX@ @CRX@ @@ YYY@U@cUZX  YYYBBBBB-,EN+#O+ @QX!KQX%EN+`Y#KQX%E dc@SXN+`!Y!YYD-, P X#e#YpEO+#a&`+XCY#XeY#:-,%Ic#F`O+#%%I%cV `b`+% FF` ca:-,%%>> #eB #B%%?? #eB#BCTXE#E ic#b @PXgfYa c@#a#BB!!Y-, EN+D-,KQ@O+P[X EN+ D @&acaN+D!#!EN+ #DDY-,KQ@O+P[XE @ac`#!EYN+D-,#E E#a d@Q% S#@QZZ@O+TZX d#d#SX@@a ca cYYcN+`D-,-,-, C#Ce -, C#C -,%cf% b`#b-,%c `f% b`#b-,%cg% b`#b-,%cf `% b`#b-,#JN+-,#JN+-,#J#Ed%d%adCRX! dYN+#PXeY-,#J#Ed%d%adCRX! dYN+#PXeY-, %JN+;-, %JN+;-,%%g+;-,%%h+;-,%F%F`%.%%& PX!jlY+%F%F`ab #:# #:-,%G%G`%Gca%%Ic#%Jc Xb!Y&F`FF` ca-,&%%&n+ #:# #:-,# TX!%N+P `Y `` QX!! QX! fa@#a%P%%PZX %aSX!Y!YTX fae#!!!YYYN+-,%%JSX#Y%F fa &&I&&p+#ae ` fa ae-,%F PX!N+E#!Yae%;-,& b c#a ]`+% 9X]&cV`+#!  F N+#a#! IN+Y;-,] %cV`+%%&m+]%`+%%%%o+]&cV`+ RXP+%%%%%q+8R%RZX%%I%%I` @RX!RX TX%%%%I8%%%%I8YYYYY!!!!!-,] %cV`+%%%% % % %%n+8%%&m+%%&m+P+%%%q+%%%8 %%%q+`%%%e8%%` @SX!@a#@a#PX@`#@`#YY%%&8%%8 RX%%I%%I` @RX!RX%%%% % %I8%%%% % %%q+8%%%%%q+8%%8YYY!!!!!!!!-,%%%% PX!ehY+d%%%%I c% cQ%T[X!!#! c% ca S+c%%%&JPXeY& F#F& F#F#H#H #H#H #H#H##8 #8Y-,# c#c`d@cPX8DXH2L @j j rjr++++9/+01!!!!!h0TXVL @jjrr+++9/+01!!#!h0``#@j   j rj r++++99//+01%# 4$3 #4&#"327!5!`Currz[S[(&GNL}P" @ j ?3?39/+01#!#3!"tdj @ j rjr++2++201!!5!!5!MK``0@ jr j r++++9/01#"&&533265!5!0tܘrș<Ȑkuߜ@j rr+2+29+9901#36653#v}ȲvΜpA< (@KL@ rjr+++01%!3LTȾ20!@ i j  r r+2+29/++201#####!30̘8tLpb @   rr+2+299013###33\HtLd@ j r jr++++01! !$! !L  ::0,` @j j r r+++9/+01###!654&##3pؘuHꘊL4d@ j rj rjr+++2+++0133# 5$! $! ! fRN\  Rh::Dt>,v@jjrr+2++9/+901!#!#!2!2654&#!l|u%"wxe1~r||&(@ &%"  jr j r++++9/901#"'732654''&&546632#4&#"~޾jʎ_ndp|GKNXgi;pD{\PkJPg]CW$bP`@ jrr+++201!#!5!`\\2ξ$@ jrr+++3012332653#~PP,@  rr+2+901333!,LLp `!@  r r+2+29/9013!#!3333޾n nxҐ`6\Bp @  rr+2+2901 ##3pMM113A  @ rr++2901#333#ZZ:. @jrjr++2++201%!5!5!.hp\`8(3@ "j jr(j rj r+2+2+2+2++93+201%'##"&5463254&''76655&&#"3  zXjE2cK~\Z x|9lj  F*Bj:@ PNMOP@j r rj  r+2+++2+201#"'3363654&# 3 h>u<|8hǵR(8@ j rjr++++901&&546632#4&#"327#vVj^(Yc`'@jrj r rr++2+2+2+2+201'##"&&54663235!"3 zccu|z$ Z^}ikxĴ0ƶ(8!@j jr j r++++9/+201!327#"&&546632'4&#"(4Ġ{pחy{ ?Dd@ j jr r+++9/3+201!!#!5!532&#fNNrjvV2|`"8()@r "jr(j  rjr+++2+2+2+2+01'%6655##"&&546632375!"3q T zccu|z$:{ fZ^}ik|0ƶ@ jr r r+2++2+201#4&#"#33663PdZ 8̺NdnkiN@jrj rjr++++2++01&&546632#!!5!!5!jD((D((D((D(vFR,(D((D((D((D(⮮ư @jrjrjr++++++01&&546632#'7665!5!D((D((D((D(p뿪 ȡdp(D((D((D((D(z 6t!@ j rr r+2++9/+9901!###3326673nFIl:a3?ZX¦X(@ j j r r++++01%#"&&5!5!3267(PV|H !]Z,eCXZe1p@8!+@ !j!!jrr  r+23++2+233+201#4&#"#4#"#3366323663d(*hTfԼYWDX]P8v*86>Z$MKMKAW8@ jr r r+2++2+201#4&#"#33663PdZ 8̺Ndn$ki(8@ jjr r++++01&&546632#6654&#"3mmђmmђuuuu4P8%@jrr rj  r+2+2+++2+201#"&'##33663654&# !.ccz Z|u 8}^ZkihX48%@jrj rrr+++2+2+2+201###"&&546632375!"3 zccu|z$pZ^}ik|0ƶP8)@ jrjr j r++2+++2+29/01#4&#"!!53#5!3663AEM<p$ 8Ssg谰İ8(&@$ (j( rjr+2++2+901&'732654&''.546632&#"#Ĕ17fzrDn ?E.0>DiOuD=E,,0LrTsD<$d@ j j rj r+++2++201%#"&&5!5!3!!3267$^ |.iSX@&q 8#@ rj rj r+2+2+2+2+201%'##"&5332653cj`vtԪ ltƶ0`hNP`$@  rr+2+901333!P"$|Fj$@  r r+2+923013!#!3333x d<$^8hhjF$ @  r r+2+2901 ##3F{$p s2 V$@  r rjr++++2901'7667#337V<ʐ |8idP$:utw8h $ @ jrj r++2++201%!!5!5!miXİy7j$/_@. !!%%))- ""&&**..--?3?9/99333333333333323333013!#!#!#!#!#!333333333333nޞ nPܤܤܸܮܚ$8h     t<@ j r jr++++9901! !$! !&&546632#t D((D()E((E)0,(E)(D((D()E( @ j rj r++2++01%!!5!5%3<bNԺLPH@ jrj r++2++9/01%!5$54#"#46632HdEEemgŊ꺺e]wYszF*'@*)   "j"r j r++++99//901# 3!2654&##'6654&#"#46632[Ssܛ zps}p֖JXdg~^|p|mWae]wYRbH`@j  r r++9/93+201##!73!3`8̧>bF)@j  jrj r++++99//3+201#"&&533265!"#!!63iulւxևupdpbo{ B)v<!#@jjr!j r++++9/3+201#"&&55%3663654&#"!rmєu,җq0 nz {p@ jr r+++901#!#tt<)5$@  /j &jr5j r++++9+901#"&&54675&&546632$32654&#"654&#"3rٙrhȌhrymmyxnnxg̷aa|qUUq{ff\gqqg{qxxq{v<!#@ !j!!jrj r++++93+201'$##"&5466365!"3ubZ?:mєx0iX nzҗq { jr++01&&546632#0D((D((D((D((D((D((D((D(~ j/+01%3#x8@ jrjr++++01&&546632#&&546632#0D((D((D((D((D((D((D((D((D((D((D((D((D((D((D((D(~8@ jjr++/+01&&546632##0D((D((D((D(rxP(D((D((D((D(@ i jrr++++013#&&546632# :D((D((D((D(2$(D((D((D((D()+@ !i)!j) rjr+++++9/9999017654&#"#46632#5&&546632#j`kuecހ>D((D((D((D(hiFNbZwYMgSuR`(D((D((D((D(n>@   i r++2901'%73%>JLLd9njd̔jx`7@  jj r r+2+299//33+2233+2201#3##!##53#533!33!`zhhhhhhTL jr++013#d\ jr++013#d.pv@ HtD $h@ ji j/+++01$$33#"33#͡30vv0($٪$h@ j i j /+++012654&##'32##7vv0302XSa\ܪ d6!@%& j 61j6ij/+++9/+9901&&54774&춹'&54632&#"327#XLj0+mNñP<<&U[_WV`[U&<;;B7j"!GHjMMAA jGABABA8 2-j82i<8rj i r+2+++2++99//9+2333+99+2333013##!#!#"'732654'&&54675&&5476654&#"'632!3!33!3"!!XuP<<&U[`VW_[U&<Vl>M0vv 2+hhhhh+DhYaVXT d@DP[@4$)j$iEBB j45KJjPCCjKr@ji r+2+++299//9+2333+99+2333++017#"&&57!#!##53#533!3!'4632&#"3!!!.#52667!<>::6622..)*jggcc\\[[TTSSLL& !!&%j)&)&#,r #r+2333333+99//+2333333333333333+2333333333333333333333301#3##!#!#!#!#!#!#!##53#533!3!3!3!3!3!3!33!!!!!!!!!!!!!,,,j,j,j,zhhhhhhhhhhhhhhhhhhhhhhhhh#'O@)""j%##$ jr r+2+299//+233333+233333013#3##!##53#533!!!!5!6/hhhhhhhP!C@$  j!!  j rir+2++299//+2333+233301#!!!##53#533!33#3#%!!m-ZhhhhhPh26O@,'*j'i33  j55  j rir++33+299//+2333+2333++01!!##53#533!33#3#!5"&5$33#"3!!-Yk30vvchhhh=$٪0h#JH @ jjj?+?++01#!!!!.t2,ƺl !@ j jj?+?3+22+201#!!%!!!!%!!d.t2l,ƺ (@ j jjjr++++99?+990155#3`NBb.;v m#JJ#J~#J@JnP@ rjr+2++01!!!5!3  ȰhP jr++01!!!h0а| (/<@'+ -. !(%  "jjr/ jj r+2++2+2++29/901$#"'7'&&54673#4&'654''ӷRǷHD0QWGKM10NT%D;L 9MbNCW$TaO; vdL @ ij  i?+3+2+01!#!5!3Lll#UWdhL" j?+01!!d"y7 @  j /3+2901 '77ee__)ysyzz{tdL#@#jijji?+++++01&&546632#!5&&546632#2A&&A&&A&&A&A&&A&&A&&A&&A&&@&&@&&A&u&@&&A&&A&&@&dnL@ jij?+++01!!!!dƺP%@jjjjjr++++++990155DB  vv`!@jjjjjr++99++++015``dL@ji ij i /+++++0163232553#"&'&&#"#5d1aIIa1dmo3eLLe3x224ir++2901!###ܦH6/;3@!j5'j;5i/;j/rjjijr++++++++++01&&546632#6654&#"3&&546632#6654&#"3NN^^MN]9EE9:FF:\^>NN^]MN]9EE9:FF:P`aPOc`PUEHVVHEUxXP`aPPa`PUEGUUGEUd LNl0+6'@1j+j+r 6j $j$r++22+++2+01#5##"&54632354&#"327# 463654&#"30 oSMo ywyZɣU\WMKSK|oyzn<<uoC4yozoy8$/9@"$r (j &#    jr/jr++++99//999++01!'#"&&5467&&54632#4&#"653$7'3fye@;ëJD\dHH 1he[b8hDtZm*[MЧ@FqgEUȊ]5#yN9V/ ?013#l0d,6/@,j1jr %j ` 6j rr++2+++2++01#5##"&&532354&#"327# 6365#"30 oSY}BEd ywyZޙKQ΂WSKd|:oyz!#yo00Fz !BIPM@.5j2> L Ej) #KDA<   /rPIj%r"r+2+2+2+299//93+233+201#'# %&&54632#4&#"653'# %&&5463 #4&#"653$73 73vP=|MQJDBJ/)p;{OOhJDBJ0(O0L⨼|N⨼˻_slJ=zE@FQK3rAry]qlJ=~I@FQK4s?ryɺ`a@`a@j?+?01!#3F"BD;@ $#j4?9+990133"#"'732654'&&54635"&5467654&#"'632DNm+0jLnUdZZd¶UnA$@4-ZhGE\%Ye"c[#XHJycX,r8T @ j j?2+3+013!5!!5rT6l"H '@  j j j r?32++++9013!35H  p@ jj  ?32?++013!!!#3!p `TTzƺz< %@  jjjrj?+++++90135O  @j j j?+?++01!!!#3!FFbƺz<mM@jjjr++++9015m  !)/N@4- /*")& #j!jr+jj rjjjr++++99+2++2++3+290155#"'7'&&54673654'Bs2ӵPŷPVGK*v hM0NT$DbMCW$u%;@$@ i i j ?+23+2+23301!#!#!5!3!3l(l#UUWW+6@j i j?+233+23+2333301!##!5###!5##!5!3!35!3!35!3l&Tj:TVl#UUUWWWh#t#T#LDP#T#LFPhn@ jij?+++01!!!!h00ƺ @  jjj?+++01!!!!!! p+@jj`j  i j?++9+++01575!5!75'!5!5'F z hp+@jj`j  i j?++9+++01575!5!75'!5!5'FLjz p;@$ j  j`j i j ?+++2+292+20175!5!75'!5!5'5 556,JFFlL zzpnp 3@ j ij  ij ji?+2+2++9++2+201!5!%5!%!dx4lF $><ںz!@j j  j?3+22+2?+01!!!#!5!!5!3!*4//bƺ.Һ:,hp $@j j jj j ?+++99++01!555Ml" pn p+@jj j j  j?+9+2+2+2+2015%6675!555!5&&%5F ql0zjE), pn ,U"#FD6v )@  j ijjij/+++9+9+2+201%5%5LLvp3@jj ` j  ij?++9+2+22+201575!5%!75'!%5!5'Fbx8z h0@jj  j j j r+2+2+2+29+2+20155%55hDBDB22NN22NNp/@jj j j  j?3+29+2+2+2+201555!555rFl plzpn pn p 3@  j jjjj i j?++9++2+2+2+201555!!%5%!!rFlx$>zpn4ܺ#p#&P@p$@jij j i?+++++99015!q F0f,)EjzU,p$@jij j i?+++++99015!q F0 f,)EjzU,p+@jij i j?+9+2+2+2+2015%6675!5!5&&%5F qq F0 H0zjE),,)EjzU,,Up+@ji j i  j?+9+2+2+2+201!5!q F0,)EjzU,&#D:(8@#(i (j rji j ijr+?3+2++99+++++01#3!!5!!#"&&54663T&q F0fD((D((D((D(,)EjzU,(D((D((D((D(T#H#p#DHZ@jjjr++++901 *l`j)t #@  jjjr?++++9013#5T<"xl`u)X '@  j j j r?32++++90133#5 P"xl`u)#p#DZ#+1P@5-#/0  $+( 11%jjr j j jr 1jj r++3+2++99+++2++29/901$#5'&&54673#4&'54''ιH&PŷJD2PVGK<3{$D )@ j  ijjij/+++9+9+2+20155LZvܒv\,'@ jj  j j `?++9++01!!5! F N,z* p5@! j j  ij j`?2+2++9+2+201575!5!5'!%5%!FF   lzz  \,5@! j j  ij j`?2+2++9+2+201575!5!5'!75'!FFT,z,z*  \,1@ j j  ijj`?2+2++9+2+201!!5!q:FWx:ll,z* L#x@0@ j jjj  j r+2+29+2+2+2+20155@08D`p-@ j ijji?+2+2+9+2+20155!F,q F0"z>,)EjzU,\,3@j j  jj`?2+2+9+2+2015!!5!F,FJ,z*,z* #z#Dd@p81@ 8j+j1 j1+8! j!jjjjr++++++9+++01&#"#"&'&&#"5667663232667663Ac`@/F0):T6VmB=cK/J3.E)q F04$:a?OpE?Z=:Q3!-RH^rF,)EjzU,  #p#DZp\@@,T jHj<"jBjNjZjZNB=ZA:Y;;R5Kc=BmVUmB5M44T !! ",)EjzU,   "  @ $@jj jr j?+99++99++013#5Jʮv&]:@% j j j jj jr++2++92++?+90155#53~B2ʣ?&;v hFf @j jjij?++++9+01!#"&'&&#"#5463232655! g3gKNd304ʓ5hQNk506&^JN8686aW2F22221+@8CP9@$CjHPj1j#+j'KM#18Hr>j8j8r++2++9+++22+01#5##"&54632354&#"#"&'&&#"#546323267>3654&#"37# 673 oSMo ywp)mN1cHK`1x́3eNKh3,8#WMKSKgU\fDzoyzn]ȱmo2Xjs4yozoy<< JDB"@j`jj i ?+99+++0163232553#"&'&&#"#5!!D]]dmo__xx22\p81@ j-j'j'- 78j7jjjjr++++++9+++015%6675&&'&&#"#"&&'&&#"'632326766325&&%5F q)E.3J/Kc=BmV6T:)0F/@`cHR-!3Q:=Z?EpO?a:$40zjE),Fr  ,Uh6"@j+j$j1j1$5i/+9++++0163232667>3232553#"&'&&#"#"&'&&#"#5h1U@Aa:.D0#1J38\<1B#ʕ.[GD^.1J1%8J-%LB@Z+&!&2**'2p[@@,9&jEjQjKj? j3-j3?KQE9[\i[jjjjr++++++9++++++015%6675&&'&&#"#"&'&&#"#"&'&&#"#"'73267663232676632326766325&&%5F q)E.3J/Kc=BmVUmB5M4 J@Ph4OpE?Z=@Y9#1YOU'444M5BmUVmB=cK5R;;Y:AZ=>jN=Z?EpO?a:$40zjE)," !! (  "   ,U,n @jr j ij?+++++901!!##!5!{@F⺺H!-9K[gsW@5KJj[KiI:F>Fm[jasmigSsj>Sr!!ji'j3-'i9-jr+2+2+2+++399+2+2+2+299++01&&546632# &''>32#32654&# 32654&##"&&546632#"&&54663654&#"3 654&#"3NN^^MN]![\ RW^MN]FF:9EE9FF:9EE9 QV^NN^i!\MN]^NN^%EE9:FF:MEE9:FF:P`aPOc`Pg[V~U}DOc`PVHEUUEHVVHEUUEHVT~DP`aPeYxPa`PP`aP"UEGUUGEUUEGUUGEUX` j?+013#Xu(x_< e٧  *```LL|P,B``D`XpXP<PFj2ytzHvptvnxTdp tdddhhhhh@Bl@(xhl@LhThhhhhhhlh|ddydd`d6dl8l DrHpm @hhhhh@ThTL@@@@D\h,X!!M"E0Hx8t$U"_OP'] & v  1 ] = + X  h $RYmR &:N[o/w0Ua K O[gt@biBNx   1 !!J!h!!!" """#R#d#$o$$%%%Y%%%&&{&' ''('9'W'}''(:((()$)1)d))*'*j*{**+.+p+}+++,%,U,,-----.#.q.///K///0]0n11E112\23 3j44=55#5#t`/u#dd~*j 0 6z2   (< J T l d   * :  T t   0 0  61 2019 Microsoft Corporation. All Rights Reserved.Cascadia CodeRegularCascadia Code RegularCascadia CodeCascadiaCodeCascadia Code is a trademark of the Microsoft group of companies.Saja Typeworkshttp://sajatypeworks.comMicrosoft supplied font. You may use this font to create, display, and print content as permitted by the license terms or terms of use, of the Microsoft product, service, or content in which this font was included. You may only (i) embed this font in content as permitted by the embedding restrictions included in this font; and (ii) temporarily download this font to a printer or other output device to help print content. Any other use is prohibited. The following license, based on the SIL Open Font license (https://scripts.sil.org/OFL), applies to this font. Additional license terms may be found on the GitHub repository for this font (https://github.com/microsoft/cascadia-code/blob/master/LICENSE). Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions: 1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself. 2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user. 3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users. 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission. 5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software. THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.https://scripts.sil.org/OFL 2019 Microsoft Corporation. All Rights Reserved.Cascadia CodeRegularCascadia Code RegularCascadia CodeVersion 1909.160CascadiaCode-RegularSaja TypeworksAaron Bellhttp://sajatypeworks.comhttp://sajatypeworks.com 2019 Microsoft Corporation. All Rights Reserved.Cascadia CodeRegularCascadia Code RegularCascadia CodeVersion 1909.160CascadiaCodeSaja TypeworksAaron Bellhttp://sajatypeworks.comhttp://sajatypeworks.comMicrosoft supplied font. You may use this font to create, display, and print content as permitted by the license terms or terms of use, of the Microsoft product, service, or content in which this font was included. You may only (i) embed this font in content as permitted by the embedding restrictions included in this font; and (ii) temporarily download this font to a printer or other output device to help print content. Any other use is prohibited. The following license, based on the SIL Open Font license (https://scripts.sil.org/OFL), applies to this font. Additional license terms may be found on the GitHub repository for this font (https://github.com/microsoft/cascadia-code/blob/master/LICENSE). Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions: 1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself. 2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user. 3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users. 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission. 5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software. THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE.https://scripts.sil.org/OFL2$%&'()*+,-./0123456789:;<=DEFGHIJKLMNOPQRSTUVWXYZ[\]" ? ^`>@B       !"#$%&'()*+,-./0123456789:;<=>?@A !aAB# _CDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~C x.multiply w_w_w.liga asterisk.lccolon.uc hyphen.lchyphen_hyphen.ligahyphen_hyphen_hyphen.ligahyphen_hyphen_greater.ligahyphen_bar.ligahyphen_greater.ligahyphen_greater_greater.ligahyphen_less.ligahyphen_less_less.ligahyphen_asciitilde.ligabraceleft_bar.ligabraceright_numbersign.ligabracketleft_bar.ligabracketright_numbersign.ligaperiod_hyphen.ligaperiod_period.ligaperiod_period_period.ligaperiod_period_equal.ligaperiod_period_less.ligaperiod_question.ligaperiod_equal.ligacolon_colon.ligacolon_colon_colon.ligacolon_colon_equal.ligacolon_equal.ligacolon_greater.ligacolon_less.ligasemicolon_semicolon.ligaexclam_exclam.ligaexclam_exclam_period.ligaexclam_equal.ligaexclam_equal_equal.ligaquestion_period.ligaquestion_colon.ligaquestion_question.ligaquestion_equal.ligaasterisk_asterisk.ligaasterisk_asterisk_asterisk.ligaasterisk_greater.ligaasterisk_slash.liganumbersign_parenleft.liganumbersign_braceleft.liganumbersign_bracketleft.liganumbersign_colon.liganumbersign_exclam.liganumbersign_question.liganumbersign_numbersign.liga%numbersign_numbersign_numbersign.liga0numbersign_numbersign_numbersign_numbersign.liganumbersign_equal.liganumbersign_underscore.liga$numbersign_underscore_parenleft.ligaslash_asterisk.ligaslash_equal.ligaslash_equal_equal.ligaslash_greater.ligaslash_slash.ligaslash_slash_slash.ligaunderscore_bar_underscore.ligaunderscore_underscore.ligaplus.lcat.lcampersand_ampersand.ligabar_hyphen.ligabar_braceright.ligabar_bracketright.liga bar_bar.ligabar_bar_bar_greater.ligabar_bar_equal.ligabar_bar_greater.ligabar_equal.ligabar_greater.ligadollar_greater.ligaplus_plus.ligaplus_plus_plus.ligaplus_greater.ligaequal_colon_equal.ligaequal_exclam_equal.ligaequal_equal.ligaequal_equal_equal.ligaequal_equal_greater.ligaequal_greater.ligaequal_greater_greater.ligaequal_less_less.ligaequal_slash_equal.ligagreater_hyphen.ligagreater_hyphen_greater.ligagreater_colon.ligagreater_equal.ligagreater_equal_greater.ligagreater_greater.ligagreater_greater_hyphen.ligagreater_greater_equal.ligagreater_greater_greater.ligaless_hyphen.ligaless_hyphen_hyphen.ligaless_hyphen_greater.ligaless_hyphen_less.ligaless_colon.ligaless_exclam_hyphen_hyphen.ligaless_asterisk.ligaless_asterisk_greater.liga less_bar.ligaless_bar_bar.ligaless_bar_bar_bar.ligaless_bar_greater.ligaless_dollar.ligaless_dollar_greater.ligaless_plus.ligaless_plus_greater.ligaless_equal.ligaless_equal_equal.ligaless_equal_equal_greater.ligaless_equal_greater.ligaless_equal_less.ligaless_greater.ligaless_less.ligaless_less_hyphen.ligaless_less_equal.ligaless_less_less.ligaless_asciitilde.ligaless_asciitilde_greater.ligaless_asciitilde_asciitilde.ligaless_slash.ligaless_slash_greater.ligaasciitilde_hyphen.ligaasciitilde_at.ligaasciitilde_equal.ligaasciitilde_greater.ligaasciitilde_asciitilde.liga"asciitilde_asciitilde_greater.ligaasciicircum_equal.ligapercent_percent.ligaLIG@<:#:6:~:}:|:r{;z;y9x8w8v6Eu7t6s5r5q1p1o3n4m4l2k2j.i.h/g0f-e-d,c+b+a*`*_*V^*])\(^[(Z(Y%X&W'V$rU$rT#^S#R#rQ#6P"O"N"VM"4L" K!J=IHG F ^ErDC/@BrA@@?>=g;:+8647651-433121)0/r/.=,+g(%-'&g&%%\$#\"! ^4\&\5[9-[5[9-[DkZ4U4UYY 4 U4U YY9U 4 U4U4UY YYY 4U4UYY@@T+KRKP[%S@QZUZ[XYBKSXBYCQXY++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++