diff options
Diffstat (limited to 'Build/source/libs/t1lib/t1lib-5.1.2/doc/t1dump')
14 files changed, 5167 insertions, 0 deletions
diff --git a/Build/source/libs/t1lib/t1lib-5.1.2/doc/t1dump/parallelpath.eps b/Build/source/libs/t1lib/t1lib-5.1.2/doc/t1dump/parallelpath.eps new file mode 100644 index 00000000000..f9f53e5bf7a --- /dev/null +++ b/Build/source/libs/t1lib/t1lib-5.1.2/doc/t1dump/parallelpath.eps @@ -0,0 +1,327 @@ +%!PS-Adobe-2.0 EPSF-1.2 +%%Creator: (Created manually by RMz, 2003-01-15. Illustration of t1lib parallel path construction) +%%Title: Parallel Path Construction +%%Pages: 1 +%%PageOrder: Ascend +%%BoundingBox: 0 0 600 500 +%%EndComments +% +% 3. + +gsave + +/xa 100 def +/ya 100 def +/xb 100 def +/yb 400 def +/xc 500 def +/yc 750 def +/xd 500 def +/yd 100 def + +% 4. +/xa 100 def +/ya 300 def +/xb 100 def +/y5 400 def +/xc 500 def +/yc 300 def +/xd 300 def +/yd 300 def + + +% 2. +/xa 100 def +/ya 100 def +/xb 100 def +/yb 400 def +/xc 300 def +/yc 550 def +/xd 500 def +/yd 600 def + +% 1. +/xa 55 def +/ya 40 def +/xb 120 def +/yb 200 def +/xc 300 def +/yc 400 def +/xd 550 def +/yd 445 def + +/TimesRoman findfont 25 scalefont setfont +/line1 20 string def + + + + + +/linewidth 100 def + +% compute distance from Bezier_A to Bezier_B +/dista xb xa sub dup mul yb ya sub dup mul add sqrt def + +% compute distance from Bezier_C to Bezier_D +/distd xd xc sub dup mul yd yc sub dup mul add sqrt def + +/diameter linewidth 2 div def + +% compute resulting limit values of thick curve at end points +/dxa yb ya sub diameter mul dista div def +/dya xb xa sub diameter mul dista div neg def +/dxd yd yc sub diameter mul distd div def +/dyd xd xc sub diameter mul distd div neg def + +% draw curve as rendered by ghostscript +0.9 0.9 0.9 setrgbcolor +xa ya moveto +xb yb xc yc xd yd curveto +%linewidth 40 div setlinewidth +linewidth setlinewidth +0 setlinecap +stroke + +0.0 0.0 0.0 setrgbcolor +xa ya moveto +xb yb xc yc xd yd curveto +1 setlinewidth +0 setlinecap +[4 4] 0 setdash +stroke + + +% reset dash +[] 0 setdash + +% correct right path end points +/xar xa dxa add def +/yar ya dya add def +/xdr xd dxd add def +/ydr yd dyd add def + +% correct left path end points +/xal xa dxa sub def +/yal ya dya sub def +/xdl xd dxd sub def +/ydl yd dyd sub def + + +/x1 xa xb add 0.5 mul def +/y1 ya yb add 0.5 mul def +/x2 xb xc add 0.5 mul def +/y2 yb yc add 0.5 mul def +/x3 xc xd add 0.5 mul def +/y3 yc yd add 0.5 mul def +/x4 xa xb 2 mul add xc add 4 div def +/y4 ya yb 2 mul add yc add 4 div def +/x5 xd xc 2 mul add xb add 4 div def +/y5 yd yc 2 mul add yb add 4 div def +/x6 xa xb 3 mul add xc 3 mul add xd add 8 div def +/y6 ya yb 3 mul add yc 3 mul add yd add 8 div def + +0 0 0 setrgbcolor +newpath xa ya 4.0 0 360 arc closepath fill +newpath xb yb 4.0 0 360 arc closepath fill +newpath xc yc 4.0 0 360 arc closepath fill +newpath xd yd 4.0 0 360 arc closepath fill + +0 0 0 setrgbcolor +newpath x1 y1 3.0 0 360 arc closepath fill +newpath x2 y2 3.0 0 360 arc closepath fill +newpath x3 y3 3.0 0 360 arc closepath fill + +0 0 0 setrgbcolor +newpath x4 y4 2.0 0 360 arc closepath fill +newpath x5 y5 2.0 0 360 arc closepath fill + +0 0 0 setrgbcolor +newpath x6 y6 4.0 0 360 arc closepath stroke + + +% compute right-side normal vector +/nabs diameter x5 x4 sub dup mul y5 y4 sub dup mul add sqrt div def + +/nxr y5 y4 sub nabs mul def +/nyr x4 x5 sub nabs mul def + +0 0 0 setrgbcolor +newpath x6 nxr add y6 nyr add 4.0 0 360 arc closepath stroke +newpath x6 nxr sub y6 nyr sub 4.0 0 360 arc closepath stroke + +% calculate location and direction vectors of lines to intersect +/bloc1x 4 nxr x6 add mul xar 2 mul sub xdr add 3 div def +/bloc1y 4 nyr y6 add mul yar 2 mul sub ydr add 3 div def +/bdir1x xc xd add xa sub xb sub def +/bdir1y yc yd add ya sub yb sub def +/bloc2x xar def +/bloc2y yar def +/bdir2x xb xa sub def +/bdir2y yb ya sub def + +% calculate determinant and inverse +/bdet bdir2x bdir1y mul bdir2y bdir1x mul sub def + +%bdet 0.0 eq +bdet abs 0.001 le +{ + /xbr xb nxr add def + /ybr yb nyr add def + /bnu 0.0 def + /bmu 0.0 def +} +{ + /binvdet 1 bdet div def + + % calculate inverse of dir matrix + /binvdir2x bdir1y binvdet mul def + /binvdir2y bdir2y binvdet mul neg def + /binvdir1x bdir1x binvdet mul neg def + /binvdir1y bdir2x binvdet mul def + + % calculate mu and nu value (nu actually is not required) + /bmu binvdir2x bloc1x bloc2x sub mul binvdir1x bloc1y bloc2y sub mul add def + /bnu binvdir2y bloc1x bloc2x sub mul binvdir1y bloc1y bloc2y sub mul add def + + /xbr bloc2x bmu bdir2x mul add def + /ybr bloc2y bmu bdir2y mul add def +} +ifelse + + + +% calculate location and direction vectors of lines to intersect +/cloc1x 4 nxr x6 add mul xar add xdr 2 mul sub 3 div def +/cloc1y 4 nyr y6 add mul yar add ydr 2 mul sub 3 div def +/cdir1x xc xd add xa sub xb sub def +/cdir1y yc yd add ya sub yb sub def +/cloc2x xdr def +/cloc2y ydr def +/cdir2x xc xd sub def +/cdir2y yc yd sub def + +% calculate determinant and inverse +/cdet cdir2x cdir1y mul cdir2y cdir1x mul sub def + +%cdet 0.0 eq +cdet abs 0.001 le +{ + % curve is just a straight line + /xcr xc nxr add def + /ycr yc nyr add def + /cmu 0.0 def +} +{ + /cinvdet 1 cdet div def + + % calculate inverse of dir matrix + /cinvdir2x cdir1y cinvdet mul def + /cinvdir2y cdir2y cinvdet mul neg def + /cinvdir1x cdir1x cinvdet mul neg def + /cinvdir1y cdir2x cinvdet mul def + + % calculate mu and nu value (mu actually is not required) + /cmu cinvdir2x cloc1x cloc2x sub mul cinvdir1x cloc1y cloc2y sub mul add def + /cnu cinvdir2y cloc1x cloc2x sub mul cinvdir1y cloc1y cloc2y sub mul add def + + /xcr cloc2x cmu cdir2x mul add def + /ycr cloc2y cmu cdir2y mul add def +} +ifelse + + +% Analyse coefficients and decide how to compute displacements +bmu 0.1 le +{ + /xbr 8 nxr x6 add mul xar sub xdr sub 3 div xcr sub def + /ybr 8 nyr y6 add mul yar sub ydr sub 3 div ycr sub def +} +if + +cmu 0.1 le +{ + /xcr 8 nxr x6 add mul xar sub xdr sub 3 div xbr sub def + /ycr 8 nyr y6 add mul yar sub ydr sub 3 div ybr sub def +} +if + + +% define delta values +/dxb xbr xb sub def +/dyb ybr yb sub def +/dxc xcr xc sub def +/dyc ycr yc sub def + + +0.5 setlinewidth + +% show tangent at t=0.5 and their shifted counterparts +[32 32] 0 setdash +x4 y4 moveto +x5 y5 lineto +stroke +x4 nxr add y4 nyr add moveto +x5 nxr add y5 nyr add lineto +x4 nxr sub y4 nyr sub moveto +x5 nxr sub y5 nyr sub lineto +stroke +[] 0 setdash + +0 0 0 setrgbcolor +1 setlinewidth + +% stroke right curve +xar yar moveto +xb dxb add yb dyb add xc dxc add yc dyc add xdr ydr curveto +stroke +% stroke left curve +xal yal moveto +xb dxb sub yb dyb sub xc dxc sub yc dyc sub xdl ydl curveto +stroke + +%0.2 0.5 0.8 setrgbcolor +%newpath bloc2x bloc2y 5.0 0 360 arc closepath fill +%bloc2x 10 bdir2x mul sub bloc2y 10 bdir2y mul sub moveto +%bloc2x 10 bdir2x mul add bloc2y 10 bdir2y mul add lineto stroke + +%0.5 0.5 0.5 setrgbcolor +%newpath bloc1x bloc1y 5.0 0 360 arc closepath fill +%bloc1x 10 bdir1x mul sub bloc1y 10 bdir1y mul sub moveto +%bloc1x 10 bdir1x mul add bloc1y 10 bdir1y mul add lineto stroke + + +% draw tangents +0 0 0 setrgbcolor +%1 setlinewidth +%[5 5] 0 setdash +0.5 setlinewidth +[4 4] 0 setdash +xa ya moveto xb yb lineto stroke +xd yd moveto xc yc lineto stroke +[] 0 setdash +xar yar moveto xb dxb add yb dyb add lineto stroke +xdr ydr moveto xc dxc add yc dyc add lineto stroke +xal yal moveto xb dxb sub yb dyb sub lineto stroke +xdl ydl moveto xc dxc sub yc dyc sub lineto stroke + +% draw auxiliary lines +[8 8] 0 setdash +xb yb moveto xc yc lineto stroke +[16 16] 0 setdash +x1 y1 moveto x2 y2 lineto stroke +x2 y2 moveto x3 y3 lineto stroke + + +% draw resulting points +0 0 0 setrgbcolor +newpath xar yar 4.0 0 360 arc closepath fill +newpath xb dxb add yb dyb add 4.0 0 360 arc closepath fill +newpath xc dxc add yc dyc add 4.0 0 360 arc closepath fill +newpath xdr ydr 4.0 0 360 arc closepath fill +newpath xal yal 4.0 0 360 arc closepath fill +newpath xb dxb sub yb dyb sub 4.0 0 360 arc closepath fill +newpath xc dxc sub yc dyc sub 4.0 0 360 arc closepath fill +newpath xdl ydl 4.0 0 360 arc closepath fill + + +grestore diff --git a/Build/source/libs/t1lib/t1lib-5.1.2/doc/t1dump/parallelpath_sk.eps b/Build/source/libs/t1lib/t1lib-5.1.2/doc/t1dump/parallelpath_sk.eps new file mode 100644 index 00000000000..ccb61e87ee9 --- /dev/null +++ b/Build/source/libs/t1lib/t1lib-5.1.2/doc/t1dump/parallelpath_sk.eps @@ -0,0 +1,850 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%For: Rainer Menzner +%%CreationDate: Sun Feb 9 17:57:06 2003 +%%Title: parallelpath_sk.eps +%%Creator: Sketch 0.6.8 +%%Pages: 1 +%%BoundingBox: 8 92 614 598 +%%Extensions: CMYK +%%DocumentSuppliedResources: (atend) +%%DocumentNeededResources: font Helvetica +%%EndComments + +%%BeginProlog +%%BeginResource: procset Linux-Sketch-Procset 1.0 2 +/SketchDict 100 dict def +SketchDict begin +/bd { bind def } bind def +/x { exch } bd +/xd { exch def } bd +/PI 3.14159265358979323846264338327 def +/radgrad { 180 mul PI div } bd +/skstartmatrix matrix currentmatrix def +/tmpmat matrix def +/ISOLatin1Encoding dup where +{ pop pop } +{ [/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand +/quoteright /parenleft /parenright /asterisk /plus /comma /minus /period +/slash /zero /one /two /three /four /five /six /seven /eight /nine /colon +/semicolon /less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J +/K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z /bracketleft /backslash +/bracketright /asciicircum /underscore /quoteleft /a /b /c /d /e /f /g /h /i +/j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z /braceleft /bar /braceright +/asciitilde /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /dotlessi /grave /acute /circumflex /tilde /macron /breve +/dotaccent /dieresis /.notdef /ring /cedilla /.notdef /hungarumlaut /ogonek +/caron /space /exclamdown /cent /sterling /currency /yen /brokenbar /section +/dieresis /copyright /ordfeminine /guillemotleft /logicalnot /hyphen +/registered /macron /degree /plusminus /twosuperior /threesuperior /acute /mu +/paragraph /periodcentered /cedilla /onesuperior /ordmasculine /guillemotright +/onequarter /onehalf /threequarters /questiondown /Agrave /Aacute /Acircumflex +/Atilde /Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex +/Edieresis /Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde /Ograve +/Oacute /Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute +/Ucircumflex /Udieresis /Yacute /Thorn /germandbls /agrave /aacute +/acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute +/ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis /eth /ntilde +/ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash /ugrave +/uacute /ucircumflex /udieresis /yacute /thorn /ydieresis] def +} +ifelse +/arct dup where +{pop pop} +{ +/arct {arcto pop pop pop pop} bd +} +ifelse +/size 0 def +/fontname 0 def +/newfont 0 def +/sf { +/size xd +/fontname xd +fontname findfont +dup /Encoding get StandardEncoding eq +{ +dup +length dict /newfont xd +{ +1 index +/FID ne +{ newfont 3 1 roll put } +{ pop pop } +ifelse +} forall +newfont /Encoding ISOLatin1Encoding put +fontname newfont definefont +} +if +size scalefont setfont +} bd +/pusht {matrix currentmatrix} bd +/popt {setmatrix} bd +/pushc {gsave} bd +/popc {grestore} bd +/rgb {setrgbcolor} bd +/w { setlinewidth } bd +/j { setlinejoin } bd +/J { setlinecap } bd +/d { setdash } bd +/F { eofill } bd +/f { closepath F } bd +/S { +pusht +skstartmatrix setmatrix stroke +popt +} bd +/s { closepath S } bd +/m { moveto } bd +/l { lineto } bd +/c { curveto } bd +/txt { +/tmpmat tmpmat currentmatrix def +dup type /arraytype eq {concat} {translate} ifelse +0 0 m +tmpmat +} bd +/T {txt x show popt} bd +/P {txt x true charpath popt} bd +/TP {txt x dup show 0 0 m true charpath popt} bd +/C {newpath 0 360 arc} bd +/R { +2 copy m +x 2 index l +x 2 index x l +l +closepath +} bd +/ellipse { +dup type /arraytype eq +{ +pusht x concat +0 0 1.0 C +popt +} +{ +pusht 5 1 roll +4 -1 roll concat +newpath +dup 2 eq { +0 0 m +} if +3 1 roll +radgrad x +radgrad x +0 0 1 5 -2 roll +arc +0 ne { closepath } if +popt +} +ifelse +} bd +/radius1 0 def +/radius2 0 def +/factor 0 def +/rect { +dup type /arraytype eq +{ +pusht x concat +0 0 m 1 0 l 1 1 l 0 1 l closepath +popt +} +{ +/radius2 xd +/radius1 xd +pusht x concat +radius1 radius2 div 1 scale +0 radius2 m +0 1 radius2 1 radius2 arct +radius2 radius1 div +dup 1 1 index 0 radius2 arct +0 0 0 radius2 arct +0 0 0 1 radius2 arct +closepath +popt +} +ifelse +} bd +/buf 0 def +/width 0 def +/height 0 def +/skcimg { +/tmpmat tmpmat currentmatrix def +{ concat } if +/height xd +/width xd +/buf width 3 mul string def +width height scale +width height 8 +[width 0 0 height neg 0 height] +{ currentfile buf readhexstring pop } bind +false 3 colorimage +tmpmat setmatrix +} bd +/skgimg { +/tmpmat tmpmat currentmatrix def +{ concat } if +/height xd +/width xd +/buf width string def +width height scale +width height 8 +[width 0 0 height neg 0 height] +{ currentfile buf readhexstring pop } bind +image +tmpmat setmatrix +} bd +/rclip { +4 2 roll m +dup 0 x rlineto +x 0 rlineto +neg 0 x rlineto +closepath +clip +} bd +/skeps { +10 dict begin +/sk_state save def +concat +3 index neg 3 index neg translate +rclip +0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin +10 setmiterlimit [ ] 0 setdash +newpath +/sk_dict_count countdictstack def +/sk_count count 1 sub def +userdict begin +/showpage { } def +/languagelevel where +{ +pop +languagelevel 1 ne +{ +false setstrokeadjust +false setoverprint +} if +} if +} bd +/skepsend { +count sk_count sub { pop } repeat +countdictstack sk_dict_count sub { end } repeat +sk_state restore +end +} bd +/gradidx 0 def +/gradient { +3 mul array +/gradidx 0 def +} bd +/$ { +3 index gradidx 5 -1 roll put +2 index gradidx 1 add 4 -1 roll put +1 index gradidx 2 add 3 -1 roll put +/gradidx gradidx 3 add def +} bd +/! { +3 +{ +dup dup gradidx dup 3 1 roll 3 sub get put +/gradidx gradidx 1 add def +} +repeat +} bd +/gradcolor { +3 mul dup 2 add 1 exch % idx 1 idx+2 +{ +1 index exch % array array i +get % array component +exch % component array +} +for +4 1 roll +} bd +/x0 0 def /y0 0 def /x1 0 def /y1 0 def +/left 0 def /right 0 def /top 0 def /bottom 0 def +/numcolors 0 def +/axial { +/y1 xd /x1 xd /y0 xd /x0 xd +dup length 3 idiv /numcolors xd +pusht exch % ctm array +x0 x1 ne y0 y1 ne or +{ +x0 y0 translate +[x1 x0 sub y1 y0 sub dup neg 2 index 0 0] concat +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +newpath +0 gradcolor rgb clippath f +0 1 numcolors 1 sub +{ +dup numcolors div +3 1 roll +gradcolor rgb +exch +bottom right top R f +} +for +} +if +pop +popt +} bd +/r0 0 def /r1 0 def /dr 0 def +/radial { +/r1 xd /r0 xd /y0 xd /x0 xd +/dr r1 r0 sub def +dup length 3 idiv /numcolors xd +pusht exch % ctm array +r0 r1 ne +{ +x0 y0 translate +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +newpath +dr 0 gt {numcolors 1 sub}{0} ifelse gradcolor rgb +clippath f +dr 0 gt {numcolors 1 sub -1 0} { 0 1 numcolors 1 sub} ifelse +{ +dup numcolors div dr mul r0 add +3 1 roll +gradcolor rgb +exch +0 0 3 -1 roll C f +} +for +} +if +pop +popt +} bd +/max { +2 copy lt {exch} if pop +} bd +/conical { +pusht 5 1 roll +3 1 roll /y0 xd /x0 xd +x0 y0 translate +radgrad rotate +dup length 3 idiv /numcolors xd +clippath flattenpath pathbbox newpath +4 { abs 4 1 roll} repeat +3 { max } repeat +2 mul +dup scale +0 gradcolor rgb +0 0 1 0 360 arc f +1 1 numcolors 1 sub +{ +dup numcolors div 180 mul +3 1 roll +gradcolor rgb +exch +0 0 moveto +0 0 1 4 -1 roll dup neg arc +closepath f +} +for +pop +popt +} bd +/XStep 0 def /YStep 0 def /imagedata 0 def /components 0 def +/tileimage2 { +exch 4 2 roll +/height xd +/width xd +mark +/components 2 index +/PatternType 1 +/PaintType 1 +/TilingType 1 +/BBox [0 0 width height] +/XStep width +/YStep height +/PaintProc { +begin +XStep YStep 8 +matrix +imagedata +false +components +colorimage +end +} +counttomark 2 div cvi dup dict begin +{ def } repeat +pop currentdict end +dup +/imagedata +4 -1 roll +width height mul mul string +currentfile exch readhexstring pop +put +exch +makepattern +setpattern +clippath +eofill +} bd +/tileimage1 { +concat +/components xd +/height xd +/width xd +/imagedata +currentfile +width height mul components mul string +readhexstring pop +def +clippath flattenpath pathbbox +/top xd /right xd /bottom xd /left xd +left width div floor width mul +bottom height div floor height mul +translate +top bottom sub height div ceiling cvi +{ +gsave +right left sub width div ceiling cvi +{ +width height 8 matrix +components 1 eq +{ +{ imagedata } +image +} +{ +imagedata +false components +colorimage +} +ifelse +width 0 translate +} +repeat +grestore +0 height translate +} +repeat +} bd +/makepattern where +{ +pop +/tileimage /tileimage2 load def +} +{ +/tileimage /tileimage1 load def +} +ifelse +end +%%EndResource +%%EndProlog + +%%BeginSetup +%%IncludeResource: font Helvetica + +10.433 setmiterlimit +%%EndSetup + +%%Page: 1 1 +SketchDict begin +0 0 600 500 [1 0 0 1 11.0594 95.5815] +skeps +%%BeginDocument: /home/rmz/src/t1lib-5.0.0/doc/t1dump/parallelpath.eps +%!PS-Adobe-2.0 EPSF-1.2 +%%Creator: (Created manually by RMz, 2003-01-15. Illustration of t1lib parallel path construction) +%%Title: Parallel Path Construction +%%Pages: 1 +%%PageOrder: Ascend +%%BoundingBox: 0 0 600 500 +%%EndComments +% +% 3. + +gsave + +/xa 100 def +/ya 100 def +/xb 100 def +/yb 400 def +/xc 500 def +/yc 750 def +/xd 500 def +/yd 100 def + +% 4. +/xa 100 def +/ya 300 def +/xb 100 def +/y5 400 def +/xc 500 def +/yc 300 def +/xd 300 def +/yd 300 def + + +% 2. +/xa 100 def +/ya 100 def +/xb 100 def +/yb 400 def +/xc 300 def +/yc 550 def +/xd 500 def +/yd 600 def + +% 1. +/xa 55 def +/ya 40 def +/xb 120 def +/yb 200 def +/xc 300 def +/yc 400 def +/xd 550 def +/yd 445 def + +/TimesRoman findfont 25 scalefont setfont +/line1 20 string def + + + + + +/linewidth 100 def + +% compute distance from Bezier_A to Bezier_B +/dista xb xa sub dup mul yb ya sub dup mul add sqrt def + +% compute distance from Bezier_C to Bezier_D +/distd xd xc sub dup mul yd yc sub dup mul add sqrt def + +/diameter linewidth 2 div def + +% compute resulting limit values of thick curve at end points +/dxa yb ya sub diameter mul dista div def +/dya xb xa sub diameter mul dista div neg def +/dxd yd yc sub diameter mul distd div def +/dyd xd xc sub diameter mul distd div neg def + +% draw curve as rendered by ghostscript +0.9 0.9 0.9 setrgbcolor +xa ya moveto +xb yb xc yc xd yd curveto +%linewidth 40 div setlinewidth +linewidth setlinewidth +0 setlinecap +stroke + +0.0 0.0 0.0 setrgbcolor +xa ya moveto +xb yb xc yc xd yd curveto +1 setlinewidth +0 setlinecap +[4 4] 0 setdash +stroke + + +% reset dash +[] 0 setdash + +% correct right path end points +/xar xa dxa add def +/yar ya dya add def +/xdr xd dxd add def +/ydr yd dyd add def + +% correct left path end points +/xal xa dxa sub def +/yal ya dya sub def +/xdl xd dxd sub def +/ydl yd dyd sub def + + +/x1 xa xb add 0.5 mul def +/y1 ya yb add 0.5 mul def +/x2 xb xc add 0.5 mul def +/y2 yb yc add 0.5 mul def +/x3 xc xd add 0.5 mul def +/y3 yc yd add 0.5 mul def +/x4 xa xb 2 mul add xc add 4 div def +/y4 ya yb 2 mul add yc add 4 div def +/x5 xd xc 2 mul add xb add 4 div def +/y5 yd yc 2 mul add yb add 4 div def +/x6 xa xb 3 mul add xc 3 mul add xd add 8 div def +/y6 ya yb 3 mul add yc 3 mul add yd add 8 div def + +0 0 0 setrgbcolor +newpath xa ya 4.0 0 360 arc closepath fill +newpath xb yb 4.0 0 360 arc closepath fill +newpath xc yc 4.0 0 360 arc closepath fill +newpath xd yd 4.0 0 360 arc closepath fill + +0 0 0 setrgbcolor +newpath x1 y1 3.0 0 360 arc closepath fill +newpath x2 y2 3.0 0 360 arc closepath fill +newpath x3 y3 3.0 0 360 arc closepath fill + +0 0 0 setrgbcolor +newpath x4 y4 2.0 0 360 arc closepath fill +newpath x5 y5 2.0 0 360 arc closepath fill + +0 0 0 setrgbcolor +newpath x6 y6 4.0 0 360 arc closepath stroke + + +% compute right-side normal vector +/nabs diameter x5 x4 sub dup mul y5 y4 sub dup mul add sqrt div def + +/nxr y5 y4 sub nabs mul def +/nyr x4 x5 sub nabs mul def + +0 0 0 setrgbcolor +newpath x6 nxr add y6 nyr add 4.0 0 360 arc closepath stroke +newpath x6 nxr sub y6 nyr sub 4.0 0 360 arc closepath stroke + +% calculate location and direction vectors of lines to intersect +/bloc1x 4 nxr x6 add mul xar 2 mul sub xdr add 3 div def +/bloc1y 4 nyr y6 add mul yar 2 mul sub ydr add 3 div def +/bdir1x xc xd add xa sub xb sub def +/bdir1y yc yd add ya sub yb sub def +/bloc2x xar def +/bloc2y yar def +/bdir2x xb xa sub def +/bdir2y yb ya sub def + +% calculate determinant and inverse +/bdet bdir2x bdir1y mul bdir2y bdir1x mul sub def + +%bdet 0.0 eq +bdet abs 0.001 le +{ + /xbr xb nxr add def + /ybr yb nyr add def + /bnu 0.0 def + /bmu 0.0 def +} +{ + /binvdet 1 bdet div def + + % calculate inverse of dir matrix + /binvdir2x bdir1y binvdet mul def + /binvdir2y bdir2y binvdet mul neg def + /binvdir1x bdir1x binvdet mul neg def + /binvdir1y bdir2x binvdet mul def + + % calculate mu and nu value (nu actually is not required) + /bmu binvdir2x bloc1x bloc2x sub mul binvdir1x bloc1y bloc2y sub mul add def + /bnu binvdir2y bloc1x bloc2x sub mul binvdir1y bloc1y bloc2y sub mul add def + + /xbr bloc2x bmu bdir2x mul add def + /ybr bloc2y bmu bdir2y mul add def +} +ifelse + + + +% calculate location and direction vectors of lines to intersect +/cloc1x 4 nxr x6 add mul xar add xdr 2 mul sub 3 div def +/cloc1y 4 nyr y6 add mul yar add ydr 2 mul sub 3 div def +/cdir1x xc xd add xa sub xb sub def +/cdir1y yc yd add ya sub yb sub def +/cloc2x xdr def +/cloc2y ydr def +/cdir2x xc xd sub def +/cdir2y yc yd sub def + +% calculate determinant and inverse +/cdet cdir2x cdir1y mul cdir2y cdir1x mul sub def + +%cdet 0.0 eq +cdet abs 0.001 le +{ + % curve is just a straight line + /xcr xc nxr add def + /ycr yc nyr add def + /cmu 0.0 def +} +{ + /cinvdet 1 cdet div def + + % calculate inverse of dir matrix + /cinvdir2x cdir1y cinvdet mul def + /cinvdir2y cdir2y cinvdet mul neg def + /cinvdir1x cdir1x cinvdet mul neg def + /cinvdir1y cdir2x cinvdet mul def + + % calculate mu and nu value (mu actually is not required) + /cmu cinvdir2x cloc1x cloc2x sub mul cinvdir1x cloc1y cloc2y sub mul add def + /cnu cinvdir2y cloc1x cloc2x sub mul cinvdir1y cloc1y cloc2y sub mul add def + + /xcr cloc2x cmu cdir2x mul add def + /ycr cloc2y cmu cdir2y mul add def +} +ifelse + + +% Analyse coefficients and decide how to compute displacements +bmu 0.1 le +{ + /xbr 8 nxr x6 add mul xar sub xdr sub 3 div xcr sub def + /ybr 8 nyr y6 add mul yar sub ydr sub 3 div ycr sub def +} +if + +cmu 0.1 le +{ + /xcr 8 nxr x6 add mul xar sub xdr sub 3 div xbr sub def + /ycr 8 nyr y6 add mul yar sub ydr sub 3 div ybr sub def +} +if + + +% define delta values +/dxb xbr xb sub def +/dyb ybr yb sub def +/dxc xcr xc sub def +/dyc ycr yc sub def + + +0.5 setlinewidth + +% show tangent at t=0.5 and their shifted counterparts +[32 32] 0 setdash +x4 y4 moveto +x5 y5 lineto +stroke +x4 nxr add y4 nyr add moveto +x5 nxr add y5 nyr add lineto +x4 nxr sub y4 nyr sub moveto +x5 nxr sub y5 nyr sub lineto +stroke +[] 0 setdash + +0 0 0 setrgbcolor +1 setlinewidth + +% stroke right curve +xar yar moveto +xb dxb add yb dyb add xc dxc add yc dyc add xdr ydr curveto +stroke +% stroke left curve +xal yal moveto +xb dxb sub yb dyb sub xc dxc sub yc dyc sub xdl ydl curveto +stroke + +%0.2 0.5 0.8 setrgbcolor +%newpath bloc2x bloc2y 5.0 0 360 arc closepath fill +%bloc2x 10 bdir2x mul sub bloc2y 10 bdir2y mul sub moveto +%bloc2x 10 bdir2x mul add bloc2y 10 bdir2y mul add lineto stroke + +%0.5 0.5 0.5 setrgbcolor +%newpath bloc1x bloc1y 5.0 0 360 arc closepath fill +%bloc1x 10 bdir1x mul sub bloc1y 10 bdir1y mul sub moveto +%bloc1x 10 bdir1x mul add bloc1y 10 bdir1y mul add lineto stroke + + +% draw tangents +0 0 0 setrgbcolor +%1 setlinewidth +%[5 5] 0 setdash +0.5 setlinewidth +[4 4] 0 setdash +xa ya moveto xb yb lineto stroke +xd yd moveto xc yc lineto stroke +[] 0 setdash +xar yar moveto xb dxb add yb dyb add lineto stroke +xdr ydr moveto xc dxc add yc dyc add lineto stroke +xal yal moveto xb dxb sub yb dyb sub lineto stroke +xdl ydl moveto xc dxc sub yc dyc sub lineto stroke + +% draw auxiliary lines +[8 8] 0 setdash +xb yb moveto xc yc lineto stroke +[16 16] 0 setdash +x1 y1 moveto x2 y2 lineto stroke +x2 y2 moveto x3 y3 lineto stroke + + +% draw resulting points +0 0 0 setrgbcolor +newpath xar yar 4.0 0 360 arc closepath fill +newpath xb dxb add yb dyb add 4.0 0 360 arc closepath fill +newpath xc dxc add yc dyc add 4.0 0 360 arc closepath fill +newpath xdr ydr 4.0 0 360 arc closepath fill +newpath xal yal 4.0 0 360 arc closepath fill +newpath xb dxb sub yb dyb sub 4.0 0 360 arc closepath fill +newpath xc dxc sub yc dyc sub 4.0 0 360 arc closepath fill +newpath xdl ydl 4.0 0 360 arc closepath fill + + +grestore +%%EndDocument +skepsend +/Helvetica 12 sf +(A) +48 127 0 0 0 rgb +T +(A') +108 98 T +(B) +117 293 T +(C) +306 501 T +(D) +572 541 T +(D') +582 485 T +(C') +348 434 T +(B') +177 248 T +(P1) +82 211 T +(P2) +204 394 T +(P3) +432 524 T +(P4) +146 308 T +(P5) +321 461 T +(P6) +256 376 T +newpath +130.394 294.803 m +130.394 136.063 l +65.1969 136.063 l +1 w +0 j +0 J +[4 4 ] 0 d +S +newpath +68.0315 136.063 m +113.386 116.22 l +113.386 136.063 l +S +(w/2) +74 115 T +(P6') +283 331 T +(A'') +14 138 T +(B'') +79 334 T +(C'') +274 549 T +(D'') +561 581 T +(P6'') +198 428 T +%%PageTrailer +showpage +%%Trailer +end +%%DocumentSuppliedResources: procset Linux-Sketch-Procset 1.0 2 +%%EOF + diff --git a/Build/source/libs/t1lib/t1lib-5.1.2/doc/t1dump/parallelpath_sk.pdf b/Build/source/libs/t1lib/t1lib-5.1.2/doc/t1dump/parallelpath_sk.pdf Binary files differnew file mode 100644 index 00000000000..79a12f1a68c --- /dev/null +++ b/Build/source/libs/t1lib/t1lib-5.1.2/doc/t1dump/parallelpath_sk.pdf diff --git a/Build/source/libs/t1lib/t1lib-5.1.2/doc/t1dump/parallelpath_sk.sk b/Build/source/libs/t1lib/t1lib-5.1.2/doc/t1dump/parallelpath_sk.sk new file mode 100644 index 00000000000..91e751533a5 --- /dev/null +++ b/Build/source/libs/t1lib/t1lib-5.1.2/doc/t1dump/parallelpath_sk.sk @@ -0,0 +1,124 @@ +##Sketch 1 2 +document() +layout('A4',0) +layer('Ebene 1',1,1,0,0,(0,0,0)) +eps((11.0594,95.5815),'parallelpath.eps') +fp((0,0,0)) +le() +lw(1) +Fn('Helvetica') +txt('A',(48.6889,127.34)) +fp((0,0,0)) +le() +lw(1) +Fn('Helvetica') +txt("A'",(108.399,98.9939)) +fp((0,0,0)) +le() +lw(1) +Fn('Helvetica') +txt('B',(117.18,293.277)) +fp((0,0,0)) +le() +lw(1) +Fn('Helvetica') +txt('C',(306.795,501.208)) +fp((0,0,0)) +le() +lw(1) +Fn('Helvetica') +txt('D',(572.904,541.071)) +fp((0,0,0)) +le() +lw(1) +Fn('Helvetica') +txt("D'",(582.6,485.048)) +fp((0,0,0)) +le() +lw(1) +Fn('Helvetica') +txt("C'",(348.812,434.412)) +fp((0,0,0)) +le() +lw(1) +Fn('Helvetica') +txt("B'",(177.512,248.028)) +fp((0,0,0)) +le() +lw(1) +Fn('Helvetica') +txt('P1',(82.704,211.398)) +fp((0,0,0)) +le() +lw(1) +Fn('Helvetica') +txt('P2',(204.094,394.016)) +fp((0,0,0)) +le() +lw(1) +Fn('Helvetica') +txt('P3',(432.847,524.91)) +fp((0,0,0)) +le() +lw(1) +Fn('Helvetica') +txt('P4',(146.899,308.758)) +fp((0,0,0)) +le() +lw(1) +Fn('Helvetica') +txt('P5',(321.878,461.346)) +fp((0,0,0)) +le() +lw(1) +Fn('Helvetica') +txt('P6',(256.159,376.234)) +lw(1) +ld((4, 4)) +b() +bs(130.394,294.803,0) +bs(130.394,136.063,0) +bs(65.1969,136.063,0) +lw(1) +ld((4, 4)) +b() +bs(68.0315,136.063,0) +bs(113.386,116.22,0) +bs(113.386,136.063,0) +fp((0,0,0)) +le() +lw(1) +Fn('Helvetica') +txt('w/2',(74.8713,115.976)) +fp((0,0,0)) +le() +lw(1) +Fn('Helvetica') +txt("P6'",(283.465,331.654)) +fp((0,0,0)) +le() +lw(1) +Fn('Helvetica') +txt("A''",(14.1732,138.898)) +fp((0,0,0)) +le() +lw(1) +Fn('Helvetica') +txt("B''",(79.3701,334.488)) +fp((0,0,0)) +le() +lw(1) +Fn('Helvetica') +txt("C''",(274.961,549.921)) +fp((0,0,0)) +le() +lw(1) +Fn('Helvetica') +txt("D''",(561.26,581.102)) +fp((0,0,0)) +le() +lw(1) +Fn('Helvetica') +txt("P6''",(198.425,428.031)) +guidelayer('Hilfslinien',1,0,0,1,(0,0,1)) +grid((0,0,2.83465,2.83465),1,(0,0,1),'Gitter') diff --git a/Build/source/libs/t1lib/t1lib-5.1.2/doc/t1dump/t1dump_B.eps b/Build/source/libs/t1lib/t1lib-5.1.2/doc/t1dump/t1dump_B.eps new file mode 100644 index 00000000000..79384002049 --- /dev/null +++ b/Build/source/libs/t1lib/t1lib-5.1.2/doc/t1dump/t1dump_B.eps @@ -0,0 +1,813 @@ +%!PS-Adobe-2.0 EPSF-1.2 +%%Creator: t1lib (edited manually by RMz, 2003-03-01) +%%Title: Type1Char Character Dump +%%Pages: 1 +%%PageOrder: Ascend +%%BoundingBox: 0 0 400 280 +%%DocumentPaperSizes: a4 +%%EndComments +%! +/T1LibDict 100 dict def +T1LibDict begin +% Setup the size from the type1 module +/t1SetupSize { + /size exch def +} def + +% Prepare the page. Compute scales and fill the charspace unit square +% background +/t1PreparePage { + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % Start of Customizable Section + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + % Setup a standard linewidth + /t1dumpstdlinewidth 0.6 def + % Setup a scale for drawing direction arrows + /arrowscale 1.5 def + + % Should we draw the device pixel grid? (1=yes, otherwise no) + /t1drawgrid 0 def + % Should we draw stems? (1=yes, otherwise no) + /t1drawstems 0 def + % Should we draw alignment zones? (1=yes, otherwise no) + /t1drawzones 0 def + % Should we fill the charspace unit square? (1=yes, otherwise no) + /t1fillunitsquare 0 def + % Should we fill the device page? (1=yes, otherwise no) + /t1fillpage 0 def + % Should we show path segment On-Curve points? (1=yes, otherwise no) + /t1showoncurvepoints 0 def + % Should we show path segment Off Curve points? (1=yes, otherwise no) + /t1showoffcurvepoints 0 def + % Should we show Bezier tangets and their defining points? (1=yes, otherwise no) + /t1showbeziertangents 0 def + + % Define a few colors + /t1linecolor { 0.0 0.0 0.0 } def + /t1hlinecolor { 1.0 0.0 0.0 } def + /t1slinecolor { 0.0 0.0 0.0 } def + /t1movecolor { 1.0 1.0 1.0 } def + /t1hmovecolor { 1.0 0.0 0.0 } def + /t1smovecolor { 1.0 1.0 1.0 } def + /t1curvecolor { 0.0 0.0 0.0 } def + /t1hcurvecolor { 1.0 0.0 0.0 } def + /t1scurvecolor { 0.0 0.0 0.0 } def + /t1sprolongatecolor { 0.0 0.0 0.0 } def + /t1stemcolor { 0.0 0.0 1.0 } def + /t1alignedstemcolor { 1.0 0.0 1.0 } def + /t1bottomzonecolor { 1.0 1.0 0.0 } def + /t1topzonecolor { 1.0 1.0 0.0 } def + /t1arrowcolor { 0.0 0.0 0.0 } def + /t1harrowcolor { 1.0 0.0 0.0 } def + /t1sarrowcolor { 0.0 0.0 0.0 } def + /t1sbwcolor { 0.0 0.0 0.0 } def + /t1closepathcolor { 0.0 0.0 0.0 } def + /t1hclosepathcolor { 1.0 0.0 0.0 } def + /t1sclosepathcolor { 0.0 0.0 0.0 } def + /t1pagecolor { 0.7 0.7 0.7 } def + /t1unitsquarecolor { 0.4 0.4 0.4 } def + /t1gridcolor { 0.0 0.0 0.0 } def + + % Line scale relative to the standard linewidth + /t1linescale 2.5 def + /t1hlinescale 0.4 def + /t1slinescale 1.0 def + /t1movescale 0.0 def + /t1hmovescale 0.0 def + /t1smovescale 0.0 def + /t1curvescale 2.5 def + /t1hcurvescale 0.4 def + /t1scurvescale 1.0 def + /t1curvetangentscale 0.5 def + /t1sprolongatescale 1.0 def + /t1stemscale 0.5 def + /t1alignedstemscale 0.5 def + /t1bottomzonescale 0.5 def + /t1topzonescale 0.5 def + /t1closepathscale 0.4 def + /t1hclosepathscale 0.4 def + /t1sclosepathscale 0.4 def + /t1gridscale 0.5 def + + % Line dash specifications (stems and zones are not configurable!) + /t1linedash { [2 2] 0 } def + /t1hlinedash { [] 0 } def + /t1slinedash { [] 0 } def + /t1movedash { [2 2] 0 } def + /t1hmovedash { [2 2] 0 } def + /t1smovedash { [2 2] 0 } def + /t1curvedash { [2 2] 0 } def + /t1hcurvedash { [] 0 } def + /t1scurvedash { [] 0 } def + /t1sprolongatedash { [3 3] 0 }def + /t1closepathdash { [] 0 } def + /t1hclosepathdash { [] 0 } def + /t1sclosepathdash { [] 0 } def + /t1griddash { [3 3] 0 } def + + % Define a clipping rectangle ROI (in charspace coordinates) + /t1ROIxmin 405 def + /t1ROIxmax 505 def + /t1ROIymin 320 def + /t1ROIymax 340 def +% /t1ROIxmin 0 def +% /t1ROIxmax 600 def +% /t1ROIymin -100 def +% /t1ROIymax 800 def + + % Device values (in bp). These must match the Bounding Box Statement! + /xmindev 0 neg def + /xmaxdev 400 def + /ymindev 0 neg def + /ymaxdev 280 def + /dxdev 1 def + /dydev 1 def + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % End of Customizable Section + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + % logical pixel values + /xminpixel t1ROIxmin 1000.0 div size mul def + /xmaxpixel t1ROIxmax 1000.0 div size mul def + /yminpixel t1ROIymin 1000.0 div size mul def + /ymaxpixel t1ROIymax 1000.0 div size mul def + /dxpixel 1 def + /dypixel 1 def + + % compute scales and set minimum scale + /scalex xmaxdev xmindev sub xmaxpixel xminpixel sub div def + /scaley ymaxdev ymindev sub ymaxpixel yminpixel sub div def + scalex scaley gt { /scale scaley def } { /scale scalex def } ifelse + + % Fill device page + xmindev ymindev moveto + xmaxdev 0 rlineto + 0 ymaxdev rlineto + xmaxdev neg 0 rlineto + 0 ymaxdev neg rlineto + closepath + clip + t1fillpage 1 eq + { + t1pagecolor setrgbcolor + fill + } if + + % reassign device values + /xmindev xminpixel scale mul def + /xmaxdev xmaxpixel scale mul def + /ymindev yminpixel scale mul def + /ymaxdev ymaxpixel scale mul def + /dxdev dxpixel scale mul def + /dydev dypixel scale mul def + + % translate coordinate system + xminpixel scale mul neg yminpixel scale mul neg translate + + % Fill unit square of charspace coordinate system + t1fillunitsquare 1 eq + { + t1unitsquarecolor setrgbcolor + 0 0 moveto + size scale mul 0 rlineto + 0 size scale mul rlineto + size scale mul neg 0 rlineto + 0 size scale mul neg rlineto + closepath fill + } if +} def + +/t1FinishPage { + t1drawgrid 1 eq + { + t1gridcolor setrgbcolor + t1gridscale setlinewidth + t1griddash setdash + % draw grid and align to the point (0,0) + 0 dxdev xmaxdev { + /xval exch def + xval ymindev moveto + xval ymaxdev lineto + stroke + } for + 0 dxdev neg xmindev { + /xval exch def + xval ymindev moveto + xval ymaxdev lineto + stroke + } for + 0 dydev ymaxdev { + /yval exch def + xmindev yval moveto + xmaxdev yval lineto + stroke + } for + 0 dydev neg ymindev { + /yval exch def + xmindev yval moveto + xmaxdev yval lineto + stroke + } for + } if +} def + +% Define three arrow routines available for later providing the output with directions +/t1arrowhead { + /tmpy exch def + /tmpx exch def + gsave + t1arrowcolor setrgbcolor + currx curry translate + tmpy tmpx atan rotate + newpath + 0 0 moveto + 0 2 arrowscale currentlinewidth neg mul mul rlineto + 6 arrowscale currentlinewidth mul mul 2 arrowscale currentlinewidth mul mul rlineto + 6 arrowscale currentlinewidth mul mul neg 2 arrowscale currentlinewidth mul mul rlineto + closepath + fill + grestore + tmpx + tmpy +} def +/t1harrowhead { + /tmpy exch def + /tmpx exch def + gsave + t1harrowcolor setrgbcolor + currhx currhy translate + tmpy tmpx atan rotate + newpath + 0 0 moveto + 0 2 arrowscale currentlinewidth neg mul mul rlineto + 6 arrowscale currentlinewidth mul mul 2 arrowscale currentlinewidth mul mul rlineto + 6 arrowscale currentlinewidth mul mul neg 2 arrowscale currentlinewidth mul mul rlineto + closepath + fill + grestore + tmpx + tmpy +} def +/t1sarrowhead { + /tmpy exch def + /tmpx exch def + gsave + t1sarrowcolor setrgbcolor + currsx currsy translate + tmpy tmpx atan rotate + newpath + 0 0 moveto + 0 2 arrowscale t1dumpstdlinewidth neg mul mul rlineto + 6 arrowscale t1dumpstdlinewidth mul mul 2 arrowscale t1dumpstdlinewidth mul mul rlineto + 6 arrowscale t1dumpstdlinewidth mul mul neg 2 arrowscale t1dumpstdlinewidth mul mul rlineto + closepath + fill + grestore + tmpx + tmpy +} def + +/t1rlineto { + /y2 exch scale mul def + /x2 exch scale mul def + t1linecolor setrgbcolor + t1linedash setdash + t1linescale t1dumpstdlinewidth mul setlinewidth + t1showoncurvepoints 1 eq + { + newpath currx x2 add curry y2 add 1.5 currentlinewidth mul 0 360 arc closepath fill + } if + currx curry moveto + x2 y2 rlineto + stroke + /currx currx x2 add def + /curry curry y2 add def +} def + +/t1srlineto { + /y2 exch scale mul def + /x2 exch scale mul def + t1slinecolor setrgbcolor + t1slinedash setdash + t1slinescale t1dumpstdlinewidth mul setlinewidth + t1showoncurvepoints 1 eq + { + newpath currsx x2 add currsy y2 add 1.5 currentlinewidth mul 0 360 arc closepath fill + } if + currsx currsy moveto + x2 y2 rlineto + stroke + /currsx currsx x2 add def + /currsy currsy y2 add def +} def + +/t1sprolongate { + /y2 exch scale mul def + /x2 exch scale mul def + t1sprolongatecolor setrgbcolor + t1sprolongatedash setdash + t1sprolongatescale t1dumpstdlinewidth mul setlinewidth + t1showoncurvepoints 1 eq + { + newpath currsx x2 add currsy y2 add 1.5 currentlinewidth mul 0 360 arc closepath fill + } if + currsx currsy moveto + x2 y2 rlineto + stroke + /currsx currsx x2 add def + /currsy currsy y2 add def +} def + +/t1hintedrlineto { + /y2 exch scale mul def + /x2 exch scale mul def + t1hlinecolor setrgbcolor + t1hlinedash setdash + t1hlinescale t1dumpstdlinewidth mul setlinewidth + t1showoncurvepoints 1 eq + { + newpath currhx x2 add currhy y2 add 1.5 currentlinewidth mul 0 360 arc closepath fill + } if + currhx currhy moveto + x2 y2 rlineto + stroke + /currhx currhx x2 add def + /currhy currhy y2 add def +} def + +/t1rmoveto { + /y2 exch scale mul def + /x2 exch scale mul def + t1movecolor setrgbcolor + t1movedash setdash + t1movescale t1dumpstdlinewidth mul setlinewidth + t1showoncurvepoints 1 eq + { + newpath currx x2 add curry y2 add 1.5 currentlinewidth mul 0 360 arc closepath fill + } if + currx curry moveto + x2 y2 rlineto + stroke + /currx currx x2 add def + /curry curry y2 add def + /startx currx def + /starty curry def +} def + +/t1srmoveto { + /y2 exch scale mul def + /x2 exch scale mul def + t1smovecolor setrgbcolor + t1smovedash setdash + t1smovescale t1dumpstdlinewidth mul setlinewidth + t1showoncurvepoints 1 eq + { + newpath currsx x2 add currsy y2 add 1.5 currentlinewidth mul 0 360 arc closepath fill + } if + currsx currsy moveto + x2 y2 rlineto + stroke + /currsx currsx x2 add def + /currsy currsy y2 add def + /startsx currsx def + /startsy currsy def +} def + +/t1hintedrmoveto { + /y2 exch scale mul def + /x2 exch scale mul def + t1hmovecolor setrgbcolor + t1hmovedash setdash + t1hmovescale t1dumpstdlinewidth mul setlinewidth + t1showoncurvepoints 1 eq + { + newpath currhx x2 add currhy y2 add 1.5 currentlinewidth mul 0 360 arc closepath fill + } if + currhx currhy moveto + x2 y2 rlineto + stroke + /currhx currhx x2 add def + /currhy currhy y2 add def + /starthx currhx def + /starthy currhy def +} def + +/t1rrcurveto { + /y4 exch scale mul def + /x4 exch scale mul def + /y3 exch scale mul def + /x3 exch scale mul def + /y2 exch scale mul def + /x2 exch scale mul def + t1curvecolor setrgbcolor + t1curvedash setdash + t1curvescale t1dumpstdlinewidth mul setlinewidth + t1showoffcurvepoints 1 eq + { + + newpath currx x2 add curry y2 add 1.0 currentlinewidth mul 0 360 arc closepath fill + newpath currx x2 x3 add add curry y2 y3 add add 1.0 currentlinewidth mul 0 360 arc closepath fill + } if + t1showoncurvepoints 1 eq + { + newpath currx x2 x3 x4 add add add curry y2 y3 y4 add add add 1.5 currentlinewidth mul 0 360 arc closepath fill + } if + t1showbeziertangents 1 eq + { + [2 2] 0 setdash + t1curvetangentscale currentlinewidth mul setlinewidth + currx curry moveto + currx x2 add curry y2 add lineto + stroke + currx x2 x3 add add curry y2 y3 add add moveto + currx x2 x3 x4 add add add curry y2 y3 y4 add add add lineto + stroke + } if + t1curvedash setdash + t1curvescale t1dumpstdlinewidth mul setlinewidth + currx curry moveto + x2 y2 x2 x3 add y2 y3 add x2 x3 x4 add add y2 y3 y4 add add rcurveto + stroke + /currx currx x2 x3 x4 add add add def + /curry curry y2 y3 y4 add add add def +} def + +/t1srrcurveto { + /y4 exch scale mul def + /x4 exch scale mul def + /y3 exch scale mul def + /x3 exch scale mul def + /y2 exch scale mul def + /x2 exch scale mul def + t1scurvecolor setrgbcolor + t1scurvedash setdash + t1scurvescale t1dumpstdlinewidth mul setlinewidth + t1showoffcurvepoints 1 eq + { + newpath currsx x2 add currsy y2 add 1.0 currentlinewidth mul 0 360 arc closepath fill + newpath currsx x2 x3 add add currsy y2 y3 add add 1.0 currentlinewidth mul 0 360 arc closepath fill + } if + t1showoncurvepoints 1 eq + { + newpath currsx x2 x3 x4 add add add currsy y2 y3 y4 add add add 1.5 currentlinewidth mul 0 360 arc closepath fill + } if + t1showbeziertangents 1 eq + { + [2 2] 0 setdash + t1curvetangentscale currentlinewidth mul setlinewidth + currsx currsy moveto + currsx x2 add currsy y2 add lineto + stroke + currsx x2 x3 add add currsy y2 y3 add add moveto + currsx x2 x3 x4 add add add currsy y2 y3 y4 add add add lineto + stroke + } if + t1scurvedash setdash + t1scurvescale t1dumpstdlinewidth mul setlinewidth + currsx currsy moveto + x2 y2 x2 x3 add y2 y3 add x2 x3 x4 add add y2 y3 y4 add add rcurveto + stroke + /currsx currsx x2 x3 x4 add add add def + /currsy currsy y2 y3 y4 add add add def +} def + +/t1hintedrrcurveto { + /y4 exch scale mul def + /x4 exch scale mul def + /y3 exch scale mul def + /x3 exch scale mul def + /y2 exch scale mul def + /x2 exch scale mul def + t1hcurvecolor setrgbcolor + t1hcurvedash setdash + t1hcurvescale t1dumpstdlinewidth mul setlinewidth + t1showoncurvepoints 1 eq + { + newpath currhx x2 add currhy y2 add 1.0 currentlinewidth mul 0 360 arc closepath fill + newpath currhx x2 x3 add add currhy y2 y3 add add 1.0 currentlinewidth mul 0 360 arc closepath fill + } if + t1showoncurvepoints 1 eq + { + newpath currhx x2 x3 x4 add add add currhy y2 y3 y4 add add add 1.5 currentlinewidth mul 0 360 arc closepath fill + } if + t1showbeziertangents 1 eq + { + [2 2] 0 setdash + t1curvetangentscale currentlinewidth mul setlinewidth + currhx currhy moveto + currhx x2 add currhy y2 add lineto + stroke + currhx x2 x3 add add currhy y2 y3 add add moveto + currhx x2 x3 x4 add add add currhy y2 y3 y4 add add add lineto + stroke + } if + t1hcurvedash setdash + t1hcurvescale t1dumpstdlinewidth mul setlinewidth + currhx currhy moveto + x2 y2 x2 x3 add y2 y3 add x2 x3 x4 add add y2 y3 y4 add add rcurveto + stroke + /currhx currhx x2 x3 x4 add add add def + /currhy currhy y2 y3 y4 add add add def +} def + +/t1sbw { + /wy exch scale mul def + /wx exch scale mul def + /sby exch scale mul def + /sbx exch scale mul def + t1sbwcolor setrgbcolor + newpath sbx sby 3 0 360 arc closepath fill + newpath wx wy 3 0 360 arc closepath fill + /currx sbx def + /curry sby def + /currhx sbx def + /currhy sby def + /currsx sbx def + /currsy sby def +} def + +/t1closepath { + t1closepathdash setdash + t1closepathscale t1dumpstdlinewidth mul setlinewidth + t1closepathcolor setrgbcolor + currx curry moveto + startx starty lineto + stroke +} def + +/t1sclosepath { + t1sclosepathdash setdash + t1sclosepathscale t1dumpstdlinewidth mul setlinewidth + t1sclosepathcolor setrgbcolor + currsx currsy moveto + startsx startsy lineto + stroke +} def + +/t1hintedclosepath { + t1hclosepathdash setdash + t1hclosepathscale t1dumpstdlinewidth mul setlinewidth + t1hclosepathcolor setrgbcolor + currhx currhy moveto + starthx starthy lineto + stroke +} def + +/t1vstem { + t1drawstems 1 eq + { + /stemwidth exch scale mul def + /stemstart exch scale mul def + t1stemscale t1dumpstdlinewidth mul setlinewidth + t1stemcolor setrgbcolor + [] 0 setdash + stemstart ymindev moveto + stemstart ymaxdev lineto + stroke + [2 2] 0 setdash + stemwidth stemstart add ymindev moveto + stemwidth stemstart add ymaxdev lineto + stroke + } if +} def + +/t1alignedvstem { + t1drawstems 1 eq + { + /stemwidth exch scale mul def + /stemstart exch scale mul def + t1alignedstemscale t1dumpstdlinewidth mul setlinewidth + t1alignedstemcolor setrgbcolor + [] 0 setdash + stemstart ymindev moveto + stemstart ymaxdev lineto + stroke + [2 2] 0 setdash + stemwidth stemstart add ymindev moveto + stemwidth stemstart add ymaxdev lineto + stroke + } if +} def + +/t1hstem { + t1drawstems 1 eq + { + /stemwidth exch scale mul def + /stemstart exch scale mul def + t1stemscale t1dumpstdlinewidth mul setlinewidth + t1stemcolor setrgbcolor + [] 0 setdash + xmindev stemstart moveto + xmaxdev stemstart lineto + stroke + [2 2] 0 setdash + xmindev stemwidth stemstart add moveto + xmaxdev stemwidth stemstart add lineto + stroke + } if +} def + +/t1alignedhstem { + t1drawstems 1 eq + { + /stemwidth exch scale mul def + /stemstart exch scale mul def + t1alignedstemscale t1dumpstdlinewidth mul setlinewidth + t1alignedstemcolor setrgbcolor + [] 0 setdash + xmindev stemstart moveto + xmaxdev stemstart lineto + stroke + [2 2] 0 setdash + xmindev stemwidth stemstart add moveto + xmaxdev stemwidth stemstart add lineto + stroke + } if +} def + +/t1bottomzone { + t1drawzones 1 eq + { + /bottom exch scale mul def + /top exch scale mul def + t1bottomzonescale t1dumpstdlinewidth mul setlinewidth + t1bottomzonecolor setrgbcolor + [] 0 setdash + xmindev bottom moveto + xmaxdev bottom lineto + stroke + [2 2] 0 setdash + xmindev top moveto + xmaxdev top lineto + stroke + } if +} def + +/t1topzone { + t1drawzones 1 eq + { + /bottom exch scale mul def + /top exch scale mul def + t1topzonescale t1dumpstdlinewidth mul setlinewidth + t1topzonecolor setrgbcolor + [2 2] 0 setdash + xmindev bottom moveto + xmaxdev bottom lineto + stroke + [] 0 setdash + xmindev top moveto + xmaxdev top lineto + stroke + } if +} def + +end + +% Next follows drawing code from charstring commands: +T1LibDict begin + +gsave +15.000001 t1SetupSize +t1PreparePage +-0.329987 0.000000 t1bottomzone +10.244583 10.574570 t1topzone +6.464737 6.719727 t1topzone +9.989594 10.154587 t1topzone +-3.089874 -2.909882 t1bottomzone +0.539978 0.000000 0.539978 0.000000 t1sbw +2.789886 5.489777 t1srmoveto +0.112495 -0.000000 t1sprolongate +0.000000 3.689850 t1srlineto +0.000000 0.426294 -0.027113 0.061186 0.649588 0.000000 t1srrcurveto +1.859924 0.000000 t1srlineto +1.370460 0.000000 0.496964 -1.199817 0.000000 -0.757604 t1srrcurveto +0.000000 -0.906489 -0.692951 -1.200926 -1.594456 0.000000 t1srrcurveto +-2.174911 0.000000 t1srlineto +-0.000000 -0.112495 t1sprolongate +t1sclosepath +-0.112495 -0.112495 t1srmoveto +0.112495 -0.000000 t1sprolongate +2.174911 0.000000 t1srlineto +1.735409 0.000000 0.776989 1.318972 0.000000 1.013433 t1srrcurveto +0.000000 0.832331 -0.552993 1.350080 -1.539422 0.000000 t1srrcurveto +-1.859924 0.000000 t1srlineto +-0.760355 0.000000 -0.087111 -0.148805 0.000000 -0.563666 t1srrcurveto +0.000000 -3.689850 t1srlineto +-0.000000 -0.112495 t1sprolongate +t1sclosepath +2.287407 0.112495 t1srmoveto +1.364944 -0.134995 t1srmoveto +0.021624 -0.110398 t1sarrowhead t1sprolongate +1.486204 0.291112 t1sarrowhead 1.094566 0.991078 0.000000 1.183112 t1srrcurveto +0.000000 1.384597 -1.449269 1.262795 -1.993091 0.000000 t1srrcurveto +-5.489777 0.000000 t1srlineto +-0.112495 0.000000 t1sprolongate +0.000000 -0.112495 t1sprolongate +0.000000 -0.464981 t1srlineto +0.000000 -0.112495 t1sprolongate +0.112495 0.000000 t1sprolongate +0.359985 0.000000 t1srlineto +1.121659 0.000000 -0.049202 -0.140224 0.000000 -0.452251 t1srrcurveto +0.000000 -7.904678 t1srlineto +0.000000 -0.452251 0.049202 -0.140224 -1.121659 0.000000 t1srrcurveto +-0.359985 0.000000 t1srlineto +-0.112495 0.000000 t1sprolongate +0.000000 -0.112495 t1sprolongate +0.000000 -0.464981 t1srlineto +0.000000 -0.112495 t1sprolongate +0.112495 0.000000 t1sprolongate +5.879761 0.000000 t1srlineto +2.045333 0.000000 1.412026 1.374159 0.000000 1.483225 t1srrcurveto +0.000000 1.378456 -1.290667 1.158998 -1.704620 0.184283 t1srrcurveto +-0.012091 -0.111844 t1sarrowhead t1sprolongate +t1sclosepath +-0.749328 -0.032142 t1srmoveto +0.737237 -0.079701 t1sprolongate +1.625245 -0.175702 t1sarrowhead 1.169233 -1.090910 0.000000 -1.231438 t1srrcurveto +0.000000 -1.336660 -1.287864 -1.295733 -1.944504 0.000000 t1srrcurveto +-5.879761 0.000000 t1srlineto +0.000000 -0.112495 t1sprolongate +0.112495 0.000000 t1sprolongate +0.000000 0.464981 t1srlineto +-0.112495 -0.000000 t1sprolongate +-0.000000 -0.112495 t1sprolongate +0.359985 0.000000 t1srlineto +1.188247 0.000000 0.109200 0.189762 0.000000 0.627705 t1srrcurveto +0.000000 7.904678 t1srlineto +0.000000 0.627705 -0.109200 0.189762 -1.188247 0.000000 t1srrcurveto +-0.359985 0.000000 t1srlineto +0.000000 -0.112495 t1sprolongate +0.112495 0.000000 t1sprolongate +0.000000 0.464981 t1srlineto +-0.112495 -0.000000 t1sprolongate +-0.000000 -0.112495 t1sprolongate +5.489777 0.000000 t1srlineto +1.906750 0.000000 1.310619 -1.197105 0.000000 -1.225297 t1srrcurveto +0.000000 -1.036798 -0.975350 -0.928844 -1.423677 -0.278865 t1srrcurveto +-0.727704 -0.142540 t1sarrowhead t1sprolongate +t1sclosepath +0.749328 0.032142 t1srmoveto +-0.929962 -4.777306 t1srmoveto +-1.874924 0.000000 t1srlineto +-0.649588 0.000000 0.027113 0.061186 0.000000 0.426294 t1srrcurveto +0.000000 4.094833 t1srlineto +-0.112495 0.000000 t1sprolongate +0.000000 -0.112495 t1sprolongate +2.819885 0.000000 t1srlineto +1.397939 0.000000 0.604479 -1.316665 0.000000 -0.970742 t1srrcurveto +0.000000 -1.013388 -0.739705 -1.169023 -1.472705 0.000000 t1srrcurveto +t1sclosepath +-0.000000 -0.224991 t1srmoveto +1.617169 0.000000 0.820232 1.290877 0.000000 1.116525 t1srrcurveto +0.000000 1.039176 -0.655469 1.473221 -1.571940 0.000000 t1srrcurveto +-2.819885 0.000000 t1srlineto +-0.112495 -0.000000 t1sprolongate +-0.000000 -0.112495 t1sprolongate +0.000000 -4.094833 t1srlineto +0.000000 -0.563666 0.087111 -0.148805 0.760355 0.000000 t1srrcurveto +1.874924 0.000000 t1srlineto +t1sclosepath +0.000000 0.112495 t1srmoveto +t1FinishPage +0.539978 0.000000 0.539978 0.000000 t1sbw +2.789886 5.489777 t1rmoveto +0.000000 3.689850 t1rlineto +0.000000 0.494980 0.029999 0.104996 0.704971 0.000000 t1rrcurveto +1.859924 0.000000 t1rlineto +1.454941 0.000000 0.524979 -1.274948 0.000000 -0.794968 t1rrcurveto +0.000000 -0.959961 -0.734970 -1.259949 -1.664932 0.000000 t1rrcurveto +t1closepath +1.364944 -0.134995 t1rmoveto +1.454941 0.284988 1.034958 0.959961 0.000000 1.109955 t1rrcurveto +0.000000 1.304947 -1.379944 1.229950 -1.949921 0.000000 t1rrcurveto +-5.489777 0.000000 t1rlineto +0.000000 -0.464981 t1rlineto +0.359985 0.000000 t1rlineto +1.154953 0.000000 0.029999 -0.164993 0.000000 -0.539978 t1rrcurveto +0.000000 -7.904678 t1rlineto +0.000000 -0.539978 -0.029999 -0.164993 -1.154953 0.000000 t1rrcurveto +-0.359985 0.000000 t1rlineto +0.000000 -0.464981 t1rlineto +5.879761 0.000000 t1rlineto +1.994919 0.000000 1.349945 1.334946 0.000000 1.409943 t1rrcurveto +0.000000 1.304947 -1.229950 1.124954 -1.664932 0.179993 t1rrcurveto +t1closepath +-0.929962 -4.889801 t1rmoveto +-1.874924 0.000000 t1rlineto +-0.704971 0.000000 -0.029999 0.104996 0.000000 0.494980 t1rrcurveto +0.000000 4.094833 t1rlineto +2.819885 0.000000 t1rlineto +1.484940 0.000000 0.629974 -1.394943 0.000000 -1.004959 t1rrcurveto +0.000000 -1.064957 -0.779968 -1.229950 -1.544937 0.000000 t1rrcurveto +t1closepath +t1FinishPage +grestore + +end diff --git a/Build/source/libs/t1lib/t1lib-5.1.2/doc/t1dump/t1dump_B.pdf b/Build/source/libs/t1lib/t1lib-5.1.2/doc/t1dump/t1dump_B.pdf Binary files differnew file mode 100644 index 00000000000..46c9267a59e --- /dev/null +++ b/Build/source/libs/t1lib/t1lib-5.1.2/doc/t1dump/t1dump_B.pdf diff --git a/Build/source/libs/t1lib/t1lib-5.1.2/doc/t1dump/t1dump_eight.eps b/Build/source/libs/t1lib/t1lib-5.1.2/doc/t1dump/t1dump_eight.eps new file mode 100644 index 00000000000..115c41696bc --- /dev/null +++ b/Build/source/libs/t1lib/t1lib-5.1.2/doc/t1dump/t1dump_eight.eps @@ -0,0 +1,708 @@ +%!PS-Adobe-2.0 EPSF-1.2 +%%Creator: t1lib (edited manually by RMz, 2003-01-15) +%%Title: Type1Char Character Dump +%%Pages: 1 +%%PageOrder: Ascend +%%BoundingBox: 0 0 280 400 +%%EndComments +%! +/T1LibDict 100 dict def +T1LibDict begin +% Setup the size from the type1 module +/t1SetupSize { + /size exch def +} def + +% Prepare the page. Compute scales and fill the charspace unit square +% background +/t1PreparePage { + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % Start of Customizable Section + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + % Setup a standard linewidth + /t1dumpstdlinewidth 1.0 def + % Setup a scale for drawing direction arrows + /arrowscale 1.5 def + + % Should we draw the device pixel grid? (1=yes, otherwise no) + /t1drawgrid 0 def + % Should we draw stems? (1=yes, otherwise no) + /t1drawstems 0 def + % Should we draw alignment zones? (1=yes, otherwise no) + /t1drawzones 0 def + % Should we fill the charspace unit square? (1=yes, otherwise no) + /t1fillunitsquare 0 def + % Should we fill the device page? (1=yes, otherwise no) + /t1fillpage 0 def + % Should we show path segment On-Curve points? (1=yes, otherwise no) + /t1showoncurvepoints 0 def + % Should we show path segment Off Curve points? (1=yes, otherwise no) + /t1showoffcurvepoints 0 def + % Should we show Bezier tangets and their defining points? (1=yes, otherwise no) + /t1showbeziertangents 0 def + + % Define a few colors + /t1linecolor { 0.0 0.0 0.0 } def + /t1hlinecolor { 1.0 0.0 0.0 } def + /t1slinecolor { 1.0 1.0 1.0 } def + /t1movecolor { 0.0 0.0 0.0 } def + /t1hmovecolor { 1.0 0.0 0.0 } def + /t1smovecolor { 1.0 1.0 1.0 } def + /t1curvecolor { 0.0 0.0 0.0 } def + /t1hcurvecolor { 1.0 0.0 0.0 } def + /t1scurvecolor { 0.0 0.0 1.0 } def + /t1sprolongatecolor { 1.0 0.0 1.0 } def + /t1stemcolor { 0.0 0.0 1.0 } def + /t1alignedstemcolor { 1.0 0.0 1.0 } def + /t1bottomzonecolor { 1.0 1.0 0.0 } def + /t1topzonecolor { 1.0 1.0 0.0 } def + /t1arrowcolor { 0.0 0.0 0.0 } def + /t1harrowcolor { 1.0 0.0 0.0 } def + /t1sarrowcolor { 0.0 0.0 1.0 } def + /t1sbwcolor { 0.0 0.0 0.0 } def + /t1closepathcolor { 0.0 0.0 0.0 } def + /t1hclosepathcolor { 1.0 0.0 0.0 } def + /t1sclosepathcolor { 0.0 0.0 1.0 } def + /t1pagecolor { 0.7 0.7 0.7 } def + /t1unitsquarecolor { 0.4 0.4 0.4 } def + /t1gridcolor { 0.0 0.0 0.0 } def + + % Line scale relative to the standard linewidth + /t1linescale 0.8 def + /t1hlinescale 0.4 def + /t1slinescale 0.4 def + /t1movescale 0.4 def + /t1hmovescale 0.4 def + /t1smovescale 0.4 def + /t1curvescale 0.8 def + /t1hcurvescale 0.4 def + /t1scurvescale 0.4 def + /t1curvetangentscale 0.5 def + /t1sprolongatescale 0.4 def + /t1stemscale 0.5 def + /t1alignedstemscale 0.5 def + /t1bottomzonescale 0.5 def + /t1topzonescale 0.5 def + /t1closepathscale 0.8 def + /t1hclosepathscale 0.4 def + /t1sclosepathscale 0.4 def + /t1gridscale 0.5 def + + % Line dash specifications (stems and zones are not configurable!) + /t1linedash { [] 0 } def + /t1hlinedash { [] 0 } def + /t1slinedash { [] 0 } def + /t1movedash { [2 2] 0 } def + /t1hmovedash { [2 2] 0 } def + /t1smovedash { [2 2] 0 } def + /t1curvedash { [] 0 } def + /t1hcurvedash { [] 0 } def + /t1scurvedash { [] 0 } def + /t1sprolongatedash { [1 1] 0 }def + /t1closepathdash { [] 0 } def + /t1hclosepathdash { [] 0 } def + /t1sclosepathdash { [] 0 } def + /t1griddash { [3 3] 0 } def + + % Define a clipping rectangle ROI (in charspace coordinates) + /t1ROIxmin 0 def + /t1ROIxmax 500 def + /t1ROIymin -50 def + /t1ROIymax 700 def + + % Device values (in bp). These must match the Bounding Box Statement! + /xmindev 0 neg def + /xmaxdev 280 def + /ymindev 0 neg def + /ymaxdev 400 def + /dxdev 1 def + /dydev 1 def + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % End of Customizable Section + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + % logical pixel values + /xminpixel t1ROIxmin 1000.0 div size mul def + /xmaxpixel t1ROIxmax 1000.0 div size mul def + /yminpixel t1ROIymin 1000.0 div size mul def + /ymaxpixel t1ROIymax 1000.0 div size mul def + /dxpixel 1 def + /dypixel 1 def + + % compute scales and set minimum scale + /scalex xmaxdev xmindev sub xmaxpixel xminpixel sub div def + /scaley ymaxdev ymindev sub ymaxpixel yminpixel sub div def + scalex scaley gt { /scale scaley def } { /scale scalex def } ifelse + + % Fill device page + xmindev ymindev moveto + xmaxdev 0 rlineto + 0 ymaxdev rlineto + xmaxdev neg 0 rlineto + 0 ymaxdev neg rlineto + closepath + clip + t1fillpage 1 eq + { + t1pagecolor setrgbcolor + fill + } if + + % reassign device values + /xmindev xminpixel scale mul def + /xmaxdev xmaxpixel scale mul def + /ymindev yminpixel scale mul def + /ymaxdev ymaxpixel scale mul def + /dxdev dxpixel scale mul def + /dydev dypixel scale mul def + + % translate coordinate system + xminpixel scale mul neg yminpixel scale mul neg translate + + % Fill unit square of charspace coordinate system + t1fillunitsquare 1 eq + { + t1unitsquarecolor setrgbcolor + 0 0 moveto + size scale mul 0 rlineto + 0 size scale mul rlineto + size scale mul neg 0 rlineto + 0 size scale mul neg rlineto + closepath fill + } if +} def + +/t1FinishPage { + t1drawgrid 1 eq + { + t1gridcolor setrgbcolor + t1gridscale setlinewidth + t1griddash setdash + % draw grid and align to the point (0,0) + 0 dxdev xmaxdev { + /xval exch def + xval ymindev moveto + xval ymaxdev lineto + stroke + } for + 0 dxdev neg xmindev { + /xval exch def + xval ymindev moveto + xval ymaxdev lineto + stroke + } for + 0 dydev ymaxdev { + /yval exch def + xmindev yval moveto + xmaxdev yval lineto + stroke + } for + 0 dydev neg ymindev { + /yval exch def + xmindev yval moveto + xmaxdev yval lineto + stroke + } for + } if +} def + +% Define three arrow routines available for later providing the output with directions +/t1arrowhead { + /tmpy exch def + /tmpx exch def + gsave + t1arrowcolor setrgbcolor + currx curry translate + tmpy tmpx atan rotate + newpath + 0 0 moveto + 0 2 arrowscale currentlinewidth neg mul mul rlineto + 6 arrowscale currentlinewidth mul mul 2 arrowscale currentlinewidth mul mul rlineto + 6 arrowscale currentlinewidth mul mul neg 2 arrowscale currentlinewidth mul mul rlineto + closepath + fill + grestore + tmpx + tmpy +} def +/t1harrowhead { + /tmpy exch def + /tmpx exch def + gsave + t1harrowcolor setrgbcolor + currhx currhy translate + tmpy tmpx atan rotate + newpath + 0 0 moveto + 0 2 arrowscale currentlinewidth neg mul mul rlineto + 6 arrowscale currentlinewidth mul mul 2 arrowscale currentlinewidth mul mul rlineto + 6 arrowscale currentlinewidth mul mul neg 2 arrowscale currentlinewidth mul mul rlineto + closepath + fill + grestore + tmpx + tmpy +} def +/t1sarrowhead { + /tmpy exch def + /tmpx exch def + gsave + t1sarrowcolor setrgbcolor + currsx currsy translate + tmpy tmpx atan rotate + newpath + 0 0 moveto + 0 2 arrowscale currentlinewidth neg mul mul rlineto + 6 arrowscale currentlinewidth mul mul 2 arrowscale currentlinewidth mul mul rlineto + 6 arrowscale currentlinewidth mul mul neg 2 arrowscale currentlinewidth mul mul rlineto + closepath + fill + grestore + tmpx + tmpy +} def + +/t1rlineto { + /y2 exch scale mul def + /x2 exch scale mul def + t1linecolor setrgbcolor + t1linedash setdash + t1linescale t1dumpstdlinewidth mul setlinewidth + t1showoncurvepoints 1 eq + { + newpath currx x2 add curry y2 add 1.5 currentlinewidth mul 0 360 arc closepath fill + } if + currx curry moveto + x2 y2 rlineto + stroke + /currx currx x2 add def + /curry curry y2 add def +} def + +/t1srlineto { + /y2 exch scale mul def + /x2 exch scale mul def + t1slinecolor setrgbcolor + t1slinedash setdash + t1slinescale t1dumpstdlinewidth mul setlinewidth + t1showoncurvepoints 1 eq + { + newpath currsx x2 add currsy y2 add 1.5 currentlinewidth mul 0 360 arc closepath fill + } if + currsx currsy moveto + x2 y2 rlineto + stroke + /currsx currsx x2 add def + /currsy currsy y2 add def +} def + +/t1sprolongate { + /y2 exch scale mul def + /x2 exch scale mul def + t1sprolongatecolor setrgbcolor + t1sprolongatedash setdash + t1sprolongatescale t1dumpstdlinewidth mul setlinewidth + t1showoncurvepoints 1 eq + { + newpath currsx x2 add currsy y2 add 1.5 currentlinewidth mul 0 360 arc closepath fill + } if + currsx currsy moveto + x2 y2 rlineto + stroke + /currsx currsx x2 add def + /currsy currsy y2 add def +} def + +/t1hintedrlineto { + /y2 exch scale mul def + /x2 exch scale mul def + t1hlinecolor setrgbcolor + t1hlinedash setdash + t1hlinescale t1dumpstdlinewidth mul setlinewidth + t1showoncurvepoints 1 eq + { + newpath currhx x2 add currhy y2 add 1.5 currentlinewidth mul 0 360 arc closepath fill + } if + currhx currhy moveto + x2 y2 rlineto + stroke + /currhx currhx x2 add def + /currhy currhy y2 add def +} def + +/t1rmoveto { + /y2 exch scale mul def + /x2 exch scale mul def + t1movecolor setrgbcolor + t1movedash setdash + t1movescale t1dumpstdlinewidth mul setlinewidth + t1showoncurvepoints 1 eq + { + newpath currx x2 add curry y2 add 1.5 currentlinewidth mul 0 360 arc closepath fill + } if + currx curry moveto + x2 y2 rlineto + stroke + /currx currx x2 add def + /curry curry y2 add def + /startx currx def + /starty curry def +} def + +/t1srmoveto { + /y2 exch scale mul def + /x2 exch scale mul def + t1smovecolor setrgbcolor + t1smovedash setdash + t1smovescale t1dumpstdlinewidth mul setlinewidth + t1showoncurvepoints 1 eq + { + newpath currsx x2 add currsy y2 add 1.5 currentlinewidth mul 0 360 arc closepath fill + } if + currsx currsy moveto + x2 y2 rlineto + stroke + /currsx currsx x2 add def + /currsy currsy y2 add def + /startsx currsx def + /startsy currsy def +} def + +/t1hintedrmoveto { + /y2 exch scale mul def + /x2 exch scale mul def + t1hmovecolor setrgbcolor + t1hmovedash setdash + t1hmovescale t1dumpstdlinewidth mul setlinewidth + t1showoncurvepoints 1 eq + { + newpath currhx x2 add currhy y2 add 1.5 currentlinewidth mul 0 360 arc closepath fill + } if + currhx currhy moveto + x2 y2 rlineto + stroke + /currhx currhx x2 add def + /currhy currhy y2 add def + /starthx currhx def + /starthy currhy def +} def + +/t1rrcurveto { + /y4 exch scale mul def + /x4 exch scale mul def + /y3 exch scale mul def + /x3 exch scale mul def + /y2 exch scale mul def + /x2 exch scale mul def + t1curvecolor setrgbcolor + t1curvedash setdash + t1curvescale t1dumpstdlinewidth mul setlinewidth + t1showoffcurvepoints 1 eq + { + + newpath currx x2 add curry y2 add 1.0 currentlinewidth mul 0 360 arc closepath fill + newpath currx x2 x3 add add curry y2 y3 add add 1.0 currentlinewidth mul 0 360 arc closepath fill + } if + t1showoncurvepoints 1 eq + { + newpath currx x2 x3 x4 add add add curry y2 y3 y4 add add add 1.5 currentlinewidth mul 0 360 arc closepath fill + } if + t1showbeziertangents 1 eq + { + [2 2] 0 setdash + t1curvetangentscale currentlinewidth mul setlinewidth + currx curry moveto + currx x2 add curry y2 add lineto + stroke + currx x2 x3 add add curry y2 y3 add add moveto + currx x2 x3 x4 add add add curry y2 y3 y4 add add add lineto + stroke + } if + t1curvedash setdash + t1curvescale t1dumpstdlinewidth mul setlinewidth + currx curry moveto + x2 y2 x2 x3 add y2 y3 add x2 x3 x4 add add y2 y3 y4 add add rcurveto + stroke + /currx currx x2 x3 x4 add add add def + /curry curry y2 y3 y4 add add add def +} def + +/t1srrcurveto { + /y4 exch scale mul def + /x4 exch scale mul def + /y3 exch scale mul def + /x3 exch scale mul def + /y2 exch scale mul def + /x2 exch scale mul def + t1scurvecolor setrgbcolor + t1scurvedash setdash + t1scurvescale t1dumpstdlinewidth mul setlinewidth + t1showoffcurvepoints 1 eq + { + newpath currsx x2 add currsy y2 add 1.0 currentlinewidth mul 0 360 arc closepath fill + newpath currsx x2 x3 add add currsy y2 y3 add add 1.0 currentlinewidth mul 0 360 arc closepath fill + } if + t1showoncurvepoints 1 eq + { + newpath currsx x2 x3 x4 add add add currsy y2 y3 y4 add add add 1.5 currentlinewidth mul 0 360 arc closepath fill + } if + t1showbeziertangents 1 eq + { + [2 2] 0 setdash + t1curvetangentscale currentlinewidth mul setlinewidth + currsx currsy moveto + currsx x2 add currsy y2 add lineto + stroke + currsx x2 x3 add add currsy y2 y3 add add moveto + currsx x2 x3 x4 add add add currsy y2 y3 y4 add add add lineto + stroke + } if + t1scurvedash setdash + t1scurvescale t1dumpstdlinewidth mul setlinewidth + currsx currsy moveto + x2 y2 x2 x3 add y2 y3 add x2 x3 x4 add add y2 y3 y4 add add rcurveto + stroke + /currsx currsx x2 x3 x4 add add add def + /currsy currsy y2 y3 y4 add add add def +} def + +/t1hintedrrcurveto { + /y4 exch scale mul def + /x4 exch scale mul def + /y3 exch scale mul def + /x3 exch scale mul def + /y2 exch scale mul def + /x2 exch scale mul def + t1hcurvecolor setrgbcolor + t1hcurvedash setdash + t1hcurvescale t1dumpstdlinewidth mul setlinewidth + t1showoncurvepoints 1 eq + { + newpath currhx x2 add currhy y2 add 1.0 currentlinewidth mul 0 360 arc closepath fill + newpath currhx x2 x3 add add currhy y2 y3 add add 1.0 currentlinewidth mul 0 360 arc closepath fill + } if + t1showoncurvepoints 1 eq + { + newpath currhx x2 x3 x4 add add add currhy y2 y3 y4 add add add 1.5 currentlinewidth mul 0 360 arc closepath fill + } if + t1showbeziertangents 1 eq + { + [2 2] 0 setdash + t1curvetangentscale currentlinewidth mul setlinewidth + currhx currhy moveto + currhx x2 add currhy y2 add lineto + stroke + currhx x2 x3 add add currhy y2 y3 add add moveto + currhx x2 x3 x4 add add add currhy y2 y3 y4 add add add lineto + stroke + } if + t1hcurvedash setdash + t1hcurvescale t1dumpstdlinewidth mul setlinewidth + currhx currhy moveto + x2 y2 x2 x3 add y2 y3 add x2 x3 x4 add add y2 y3 y4 add add rcurveto + stroke + /currhx currhx x2 x3 x4 add add add def + /currhy currhy y2 y3 y4 add add add def +} def + +/t1sbw { + /wy exch scale mul def + /wx exch scale mul def + /sby exch scale mul def + /sbx exch scale mul def + t1sbwcolor setrgbcolor + newpath sbx sby 3 0 360 arc closepath fill + newpath wx wy 3 0 360 arc closepath fill + /currx sbx def + /curry sby def + /currhx sbx def + /currhy sby def + /currsx sbx def + /currsy sby def +} def + +/t1closepath { + t1closepathdash setdash + t1closepathscale t1dumpstdlinewidth mul setlinewidth + t1closepathcolor setrgbcolor + currx curry moveto + startx starty lineto + stroke +} def + +/t1sclosepath { + t1sclosepathdash setdash + t1sclosepathscale t1dumpstdlinewidth mul setlinewidth + t1sclosepathcolor setrgbcolor + currsx currsy moveto + startsx startsy lineto + stroke +} def + +/t1hintedclosepath { + t1hclosepathdash setdash + t1hclosepathscale t1dumpstdlinewidth mul setlinewidth + t1hclosepathcolor setrgbcolor + currhx currhy moveto + starthx starthy lineto + stroke +} def + +/t1vstem { + t1drawstems 1 eq + { + /stemwidth exch scale mul def + /stemstart exch scale mul def + t1stemscale t1dumpstdlinewidth mul setlinewidth + t1stemcolor setrgbcolor + [] 0 setdash + stemstart ymindev moveto + stemstart ymaxdev lineto + stroke + [2 2] 0 setdash + stemwidth stemstart add ymindev moveto + stemwidth stemstart add ymaxdev lineto + stroke + } if +} def + +/t1alignedvstem { + t1drawstems 1 eq + { + /stemwidth exch scale mul def + /stemstart exch scale mul def + t1alignedstemscale t1dumpstdlinewidth mul setlinewidth + t1alignedstemcolor setrgbcolor + [] 0 setdash + stemstart ymindev moveto + stemstart ymaxdev lineto + stroke + [2 2] 0 setdash + stemwidth stemstart add ymindev moveto + stemwidth stemstart add ymaxdev lineto + stroke + } if +} def + +/t1hstem { + t1drawstems 1 eq + { + /stemwidth exch scale mul def + /stemstart exch scale mul def + t1stemscale t1dumpstdlinewidth mul setlinewidth + t1stemcolor setrgbcolor + [] 0 setdash + xmindev stemstart moveto + xmaxdev stemstart lineto + stroke + [2 2] 0 setdash + xmindev stemwidth stemstart add moveto + xmaxdev stemwidth stemstart add lineto + stroke + } if +} def + +/t1alignedhstem { + t1drawstems 1 eq + { + /stemwidth exch scale mul def + /stemstart exch scale mul def + t1alignedstemscale t1dumpstdlinewidth mul setlinewidth + t1alignedstemcolor setrgbcolor + [] 0 setdash + xmindev stemstart moveto + xmaxdev stemstart lineto + stroke + [2 2] 0 setdash + xmindev stemwidth stemstart add moveto + xmaxdev stemwidth stemstart add lineto + stroke + } if +} def + +/t1bottomzone { + t1drawzones 1 eq + { + /bottom exch scale mul def + /top exch scale mul def + t1bottomzonescale t1dumpstdlinewidth mul setlinewidth + t1bottomzonecolor setrgbcolor + [] 0 setdash + xmindev bottom moveto + xmaxdev bottom lineto + stroke + [2 2] 0 setdash + xmindev top moveto + xmaxdev top lineto + stroke + } if +} def + +/t1topzone { + t1drawzones 1 eq + { + /bottom exch scale mul def + /top exch scale mul def + t1topzonescale t1dumpstdlinewidth mul setlinewidth + t1topzonecolor setrgbcolor + [2 2] 0 setdash + xmindev bottom moveto + xmaxdev bottom lineto + stroke + [] 0 setdash + xmindev top moveto + xmaxdev top lineto + stroke + } if +} def + +end + +% Next follows drawing code from charstring commands: +T1LibDict begin + +gsave +20.000001 t1SetupSize +t1PreparePage +-0.439758 0.000000 t1bottomzone +13.652496 14.092255 t1topzone +8.615265 8.955078 t1topzone +13.312683 13.532562 t1topzone +-4.117737 -3.877869 t1bottomzone +0.839539 0.000000 0.839539 0.000000 t1sbw +2.418671 9.134979 t1arrowhead t1rmoveto +-0.919495 0.599670 t1arrowhead -0.079956 0.679626 0.000000 0.339813 t1rrcurveto +0.000000 1.219330 t1arrowhead 1.299286 0.839539 1.419220 0.000000 t1rrcurveto +1.459198 0.000000 t1arrowhead 1.279297 -1.039429 0.000000 -1.439209 t1rrcurveto +0.000000 -1.139374 t1arrowhead -0.779572 -0.959473 -1.199341 -0.699615 t1rrcurveto +t1closepath +0.439758 -0.299835 t1arrowhead t1rmoveto +1.439209 0.739594 t1arrowhead 0.979462 1.039429 0.000000 1.319275 t1rrcurveto +0.000000 1.838989 t1arrowhead -1.779022 1.139374 -1.819000 0.000000 t1rrcurveto +-1.998901 0.000000 t1arrowhead -1.619110 -1.479187 0.000000 -1.858978 t1rrcurveto +0.000000 -0.359802 t1arrowhead 0.039978 -0.899506 0.839539 -0.939484 t1rrcurveto +0.219879 -0.239868 t1arrowhead 0.739594 -0.499725 0.499725 -0.339813 t1rrcurveto +-1.159363 -0.579681 t1arrowhead -1.719055 -1.119385 0.000000 -1.978912 t1rrcurveto +0.000000 -2.118835 t1arrowhead 2.038879 -1.339264 2.098846 0.000000 t1rrcurveto +2.258759 0.000000 t1arrowhead 1.898956 1.659088 0.000000 2.138824 t1rrcurveto +0.000000 0.719604 t1arrowhead -0.219879 0.899506 -0.759583 0.839539 t1rrcurveto +-0.379791 0.419769 t1arrowhead -0.319824 0.199890 -1.279297 0.799561 t1rrcurveto +t1closepath +-1.998901 -0.839539 t1arrowhead t1rmoveto +0.559692 -0.339813 t1arrowhead 0.939484 -0.599670 0.959473 -0.619659 t1rrcurveto +0.559692 -0.379791 t1arrowhead 0.939484 -0.599670 0.000000 -1.219330 t1rrcurveto +0.000000 -1.479187 t1arrowhead -1.499176 -1.039429 -1.639099 0.000000 t1rrcurveto +-1.719055 0.000000 t1arrowhead -1.439209 1.239319 0.000000 1.659088 t1rrcurveto +0.000000 1.159363 t1arrowhead 0.639648 1.279297 1.699066 0.939484 t1rrcurveto +t1closepath +t1FinishPage +grestore + +end diff --git a/Build/source/libs/t1lib/t1lib-5.1.2/doc/t1dump/t1dump_eight.pdf b/Build/source/libs/t1lib/t1lib-5.1.2/doc/t1dump/t1dump_eight.pdf Binary files differnew file mode 100644 index 00000000000..a8d982eff02 --- /dev/null +++ b/Build/source/libs/t1lib/t1lib-5.1.2/doc/t1dump/t1dump_eight.pdf diff --git a/Build/source/libs/t1lib/t1lib-5.1.2/doc/t1dump/t1dump_o.eps b/Build/source/libs/t1lib/t1lib-5.1.2/doc/t1dump/t1dump_o.eps new file mode 100644 index 00000000000..8c6509e5524 --- /dev/null +++ b/Build/source/libs/t1lib/t1lib-5.1.2/doc/t1dump/t1dump_o.eps @@ -0,0 +1,747 @@ +%!PS-Adobe-2.0 EPSF-1.2 +%%Creator: t1lib (edited manually by RMz, 2003-03-01) +%%Title: Type1Char Character Dump +%%Pages: 1 +%%PageOrder: Ascend +%%BoundingBox: 0 0 280 400 +%%EndComments +%! +/T1LibDict 100 dict def +T1LibDict begin +% Setup the size from the type1 module +/t1SetupSize { + /size exch def +} def + +% Prepare the page. Compute scales and fill the charspace unit square +% background +/t1PreparePage { + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % Start of Customizable Section + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + % Setup a standard linewidth + /t1dumpstdlinewidth 1.0 def + % Setup a scale for drawing direction arrows + /arrowscale 1.2 def + + % Should we draw the device pixel grid? (1=yes, otherwise no) + /t1drawgrid 0 def + % Should we draw stems? (1=yes, otherwise no) + /t1drawstems 0 def + % Should we draw alignment zones? (1=yes, otherwise no) + /t1drawzones 0 def + % Should we fill the charspace unit square? (1=yes, otherwise no) + /t1fillunitsquare 0 def + % Should we fill the device page? (1=yes, otherwise no) + /t1fillpage 0 def + % Should we show path segment On-Curve points? (1=yes, otherwise no) + /t1showoncurvepoints 0 def + % Should we show path segment Off Curve points? (1=yes, otherwise no) + /t1showoffcurvepoints 0 def + % Should we show Bezier tangets and their defining points? (1=yes, otherwise no) + /t1showbeziertangents 0 def + + % Define a few colors + /t1linecolor { 0.0 0.0 0.0 } def + /t1hlinecolor { 1.0 0.0 0.0 } def + /t1slinecolor { 1.0 1.0 1.0 } def + /t1movecolor { 0.0 0.0 0.0 } def + /t1hmovecolor { 1.0 0.0 0.0 } def + /t1smovecolor { 0.0 0.0 0.0 } def + /t1curvecolor { 0.0 0.0 0.0 } def + /t1hcurvecolor { 1.0 0.0 0.0 } def + /t1scurvecolor { 0.0 0.0 0.0 } def + /t1sprolongatecolor { 1.0 0.0 1.0 } def + /t1stemcolor { 0.0 0.0 1.0 } def + /t1alignedstemcolor { 1.0 0.0 1.0 } def + /t1bottomzonecolor { 1.0 1.0 0.0 } def + /t1topzonecolor { 1.0 1.0 0.0 } def + /t1arrowcolor { 0.0 0.0 0.0 } def + /t1harrowcolor { 1.0 0.0 0.0 } def + /t1sarrowcolor { 0.0 0.0 0.0 } def + /t1sbwcolor { 0.0 0.0 0.0 } def + /t1closepathcolor { 0.0 0.0 0.0 } def + /t1hclosepathcolor { 1.0 0.0 0.0 } def + /t1sclosepathcolor { 0.0 0.0 1.0 } def + /t1pagecolor { 0.7 0.7 0.7 } def + /t1unitsquarecolor { 0.4 0.4 0.4 } def + /t1gridcolor { 0.0 0.0 0.0 } def + + % Line scale relative to the standard linewidth + /t1linescale 0.4 def + /t1hlinescale 0.4 def + /t1slinescale 0.4 def + /t1movescale 0.1 def + /t1hmovescale 0.4 def + /t1smovescale 0.1 def + /t1curvescale 0.4 def + /t1hcurvescale 0.4 def + /t1scurvescale 0.4 def + /t1curvetangentscale 0.5 def + /t1sprolongatescale 0.4 def + /t1stemscale 0.5 def + /t1alignedstemscale 0.5 def + /t1bottomzonescale 0.5 def + /t1topzonescale 0.5 def + /t1closepathscale 0.4 def + /t1hclosepathscale 0.4 def + /t1sclosepathscale 0.4 def + /t1gridscale 0.5 def + + % Line dash specifications (stems and zones are not configurable!) + /t1linedash { [4 4] 0 } def + /t1hlinedash { [] 0 } def + /t1slinedash { [] 0 } def + /t1movedash { [2 2] 0 } def + /t1hmovedash { [2 2] 0 } def + /t1smovedash { [2 2] 0 } def + /t1curvedash { [4 4] 0 } def + /t1hcurvedash { [] 0 } def + /t1scurvedash { [] 0 } def + /t1sprolongatedash { [1 1] 0 }def + /t1closepathdash { [] 0 } def + /t1hclosepathdash { [] 0 } def + /t1sclosepathdash { [] 0 } def + /t1griddash { [3 3] 0 } def + + % Define a clipping rectangle ROI (in charspace coordinates) + /t1ROIxmin 0 def + /t1ROIxmax 400 def + /t1ROIymin -50 def + /t1ROIymax 700 def + + % Device values (in bp). These must match the Bounding Box Statement! + /xmindev 0 neg def + /xmaxdev 280 def + /ymindev 0 neg def + /ymaxdev 400 def + /dxdev 1 def + /dydev 1 def + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % End of Customizable Section + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + % logical pixel values + /xminpixel t1ROIxmin 1000.0 div size mul def + /xmaxpixel t1ROIxmax 1000.0 div size mul def + /yminpixel t1ROIymin 1000.0 div size mul def + /ymaxpixel t1ROIymax 1000.0 div size mul def + /dxpixel 1 def + /dypixel 1 def + + % compute scales and set minimum scale + /scalex xmaxdev xmindev sub xmaxpixel xminpixel sub div def + /scaley ymaxdev ymindev sub ymaxpixel yminpixel sub div def + scalex scaley gt { /scale scaley def } { /scale scalex def } ifelse + + % Fill device page + xmindev ymindev moveto + xmaxdev 0 rlineto + 0 ymaxdev rlineto + xmaxdev neg 0 rlineto + 0 ymaxdev neg rlineto + closepath + clip + t1fillpage 1 eq + { + t1pagecolor setrgbcolor + fill + } if + + % reassign device values + /xmindev xminpixel scale mul def + /xmaxdev xmaxpixel scale mul def + /ymindev yminpixel scale mul def + /ymaxdev ymaxpixel scale mul def + /dxdev dxpixel scale mul def + /dydev dypixel scale mul def + + % translate coordinate system + xminpixel scale mul neg yminpixel scale mul neg translate + + % Fill unit square of charspace coordinate system + t1fillunitsquare 1 eq + { + t1unitsquarecolor setrgbcolor + 0 0 moveto + size scale mul 0 rlineto + 0 size scale mul rlineto + size scale mul neg 0 rlineto + 0 size scale mul neg rlineto + closepath fill + } if +} def + +/t1FinishPage { + t1drawgrid 1 eq + { + t1gridcolor setrgbcolor + t1gridscale setlinewidth + t1griddash setdash + % draw grid and align to the point (0,0) + 0 dxdev xmaxdev { + /xval exch def + xval ymindev moveto + xval ymaxdev lineto + stroke + } for + 0 dxdev neg xmindev { + /xval exch def + xval ymindev moveto + xval ymaxdev lineto + stroke + } for + 0 dydev ymaxdev { + /yval exch def + xmindev yval moveto + xmaxdev yval lineto + stroke + } for + 0 dydev neg ymindev { + /yval exch def + xmindev yval moveto + xmaxdev yval lineto + stroke + } for + } if +} def + +% Define three arrow routines available for later providing the output with directions +/t1arrowhead { + /tmpy exch def + /tmpx exch def + gsave + t1arrowcolor setrgbcolor + currx curry translate + tmpy tmpx atan rotate + newpath + 0 0 moveto + 0 2 arrowscale t1dumpstdlinewidth neg mul mul rlineto + 6 arrowscale t1dumpstdlinewidth mul mul 2 arrowscale t1dumpstdlinewidth mul mul rlineto + 6 arrowscale t1dumpstdlinewidth mul mul neg 2 arrowscale t1dumpstdlinewidth mul mul rlineto + closepath + fill + grestore + tmpx + tmpy +} def +/t1harrowhead { + /tmpy exch def + /tmpx exch def + gsave + t1harrowcolor setrgbcolor + currhx currhy translate + tmpy tmpx atan rotate + newpath + 0 0 moveto + 0 2 arrowscale currentlinewidth neg mul mul rlineto + 6 arrowscale currentlinewidth mul mul 2 arrowscale currentlinewidth mul mul rlineto + 6 arrowscale currentlinewidth mul mul neg 2 arrowscale currentlinewidth mul mul rlineto + closepath + fill + grestore + tmpx + tmpy +} def +/t1sarrowhead { + /tmpy exch def + /tmpx exch def + gsave + t1sarrowcolor setrgbcolor + currsx currsy translate + tmpy tmpx atan rotate + newpath + 0 0 moveto + 0 2 arrowscale t1dumpstdlinewidth neg mul mul rlineto + 6 arrowscale t1dumpstdlinewidth mul mul 2 arrowscale t1dumpstdlinewidth mul mul rlineto + 6 arrowscale t1dumpstdlinewidth mul mul neg 2 arrowscale t1dumpstdlinewidth mul mul rlineto + closepath + fill + grestore + tmpx + tmpy +} def + +/t1rlineto { + /y2 exch scale mul def + /x2 exch scale mul def + t1linecolor setrgbcolor + t1linedash setdash + t1linescale t1dumpstdlinewidth mul setlinewidth + t1showoncurvepoints 1 eq + { + newpath currx x2 add curry y2 add 1.5 currentlinewidth mul 0 360 arc closepath fill + } if + currx curry moveto + x2 y2 rlineto + stroke + /currx currx x2 add def + /curry curry y2 add def +} def + +/t1srlineto { + /y2 exch scale mul def + /x2 exch scale mul def + t1slinecolor setrgbcolor + t1slinedash setdash + t1slinescale t1dumpstdlinewidth mul setlinewidth + t1showoncurvepoints 1 eq + { + newpath currsx x2 add currsy y2 add 1.5 currentlinewidth mul 0 360 arc closepath fill + } if + currsx currsy moveto + x2 y2 rlineto + stroke + /currsx currsx x2 add def + /currsy currsy y2 add def +} def + +/t1sprolongate { + /y2 exch scale mul def + /x2 exch scale mul def + t1sprolongatecolor setrgbcolor + t1sprolongatedash setdash + t1sprolongatescale t1dumpstdlinewidth mul setlinewidth + t1showoncurvepoints 1 eq + { + newpath currsx x2 add currsy y2 add 1.5 currentlinewidth mul 0 360 arc closepath fill + } if + currsx currsy moveto + x2 y2 rlineto + stroke + /currsx currsx x2 add def + /currsy currsy y2 add def +} def + +/t1hintedrlineto { + /y2 exch scale mul def + /x2 exch scale mul def + t1hlinecolor setrgbcolor + t1hlinedash setdash + t1hlinescale t1dumpstdlinewidth mul setlinewidth + t1showoncurvepoints 1 eq + { + newpath currhx x2 add currhy y2 add 1.5 currentlinewidth mul 0 360 arc closepath fill + } if + currhx currhy moveto + x2 y2 rlineto + stroke + /currhx currhx x2 add def + /currhy currhy y2 add def +} def + +/t1rmoveto { + /y2 exch scale mul def + /x2 exch scale mul def + t1movecolor setrgbcolor + t1movedash setdash + t1movescale t1dumpstdlinewidth mul setlinewidth + t1showoncurvepoints 1 eq + { + newpath currx x2 add curry y2 add 1.5 currentlinewidth mul 0 360 arc closepath fill + } if + currx curry moveto + x2 y2 rlineto + stroke + /currx currx x2 add def + /curry curry y2 add def + /startx currx def + /starty curry def +} def + +/t1srmoveto { + /y2 exch scale mul def + /x2 exch scale mul def + t1smovecolor setrgbcolor + t1smovedash setdash + t1smovescale t1dumpstdlinewidth mul setlinewidth + t1showoncurvepoints 1 eq + { + newpath currsx x2 add currsy y2 add 1.5 currentlinewidth mul 0 360 arc closepath fill + } if + currsx currsy moveto + x2 y2 rlineto + stroke + /currsx currsx x2 add def + /currsy currsy y2 add def + /startsx currsx def + /startsy currsy def +} def + +/t1hintedrmoveto { + /y2 exch scale mul def + /x2 exch scale mul def + t1hmovecolor setrgbcolor + t1hmovedash setdash + t1hmovescale t1dumpstdlinewidth mul setlinewidth + t1showoncurvepoints 1 eq + { + newpath currhx x2 add currhy y2 add 1.5 currentlinewidth mul 0 360 arc closepath fill + } if + currhx currhy moveto + x2 y2 rlineto + stroke + /currhx currhx x2 add def + /currhy currhy y2 add def + /starthx currhx def + /starthy currhy def +} def + +/t1rrcurveto { + /y4 exch scale mul def + /x4 exch scale mul def + /y3 exch scale mul def + /x3 exch scale mul def + /y2 exch scale mul def + /x2 exch scale mul def + t1curvecolor setrgbcolor + t1curvedash setdash + t1curvescale t1dumpstdlinewidth mul setlinewidth + t1showoffcurvepoints 1 eq + { + + newpath currx x2 add curry y2 add 1.0 currentlinewidth mul 0 360 arc closepath fill + newpath currx x2 x3 add add curry y2 y3 add add 1.0 currentlinewidth mul 0 360 arc closepath fill + } if + t1showoncurvepoints 1 eq + { + newpath currx x2 x3 x4 add add add curry y2 y3 y4 add add add 1.5 currentlinewidth mul 0 360 arc closepath fill + } if + t1showbeziertangents 1 eq + { + [2 2] 0 setdash + t1curvetangentscale currentlinewidth mul setlinewidth + currx curry moveto + currx x2 add curry y2 add lineto + stroke + currx x2 x3 add add curry y2 y3 add add moveto + currx x2 x3 x4 add add add curry y2 y3 y4 add add add lineto + stroke + } if + t1curvedash setdash + t1curvescale t1dumpstdlinewidth mul setlinewidth + currx curry moveto + x2 y2 x2 x3 add y2 y3 add x2 x3 x4 add add y2 y3 y4 add add rcurveto + stroke + /currx currx x2 x3 x4 add add add def + /curry curry y2 y3 y4 add add add def +} def + +/t1srrcurveto { + /y4 exch scale mul def + /x4 exch scale mul def + /y3 exch scale mul def + /x3 exch scale mul def + /y2 exch scale mul def + /x2 exch scale mul def + t1scurvecolor setrgbcolor + t1scurvedash setdash + t1scurvescale t1dumpstdlinewidth mul setlinewidth + t1showoffcurvepoints 1 eq + { + newpath currsx x2 add currsy y2 add 1.0 currentlinewidth mul 0 360 arc closepath fill + newpath currsx x2 x3 add add currsy y2 y3 add add 1.0 currentlinewidth mul 0 360 arc closepath fill + } if + t1showoncurvepoints 1 eq + { + newpath currsx x2 x3 x4 add add add currsy y2 y3 y4 add add add 1.5 currentlinewidth mul 0 360 arc closepath fill + } if + t1showbeziertangents 1 eq + { + [2 2] 0 setdash + t1curvetangentscale currentlinewidth mul setlinewidth + currsx currsy moveto + currsx x2 add currsy y2 add lineto + stroke + currsx x2 x3 add add currsy y2 y3 add add moveto + currsx x2 x3 x4 add add add currsy y2 y3 y4 add add add lineto + stroke + } if + t1scurvedash setdash + t1scurvescale t1dumpstdlinewidth mul setlinewidth + currsx currsy moveto + x2 y2 x2 x3 add y2 y3 add x2 x3 x4 add add y2 y3 y4 add add rcurveto + stroke + /currsx currsx x2 x3 x4 add add add def + /currsy currsy y2 y3 y4 add add add def +} def + +/t1hintedrrcurveto { + /y4 exch scale mul def + /x4 exch scale mul def + /y3 exch scale mul def + /x3 exch scale mul def + /y2 exch scale mul def + /x2 exch scale mul def + t1hcurvecolor setrgbcolor + t1hcurvedash setdash + t1hcurvescale t1dumpstdlinewidth mul setlinewidth + t1showoncurvepoints 1 eq + { + newpath currhx x2 add currhy y2 add 1.0 currentlinewidth mul 0 360 arc closepath fill + newpath currhx x2 x3 add add currhy y2 y3 add add 1.0 currentlinewidth mul 0 360 arc closepath fill + } if + t1showoncurvepoints 1 eq + { + newpath currhx x2 x3 x4 add add add currhy y2 y3 y4 add add add 1.5 currentlinewidth mul 0 360 arc closepath fill + } if + t1showbeziertangents 1 eq + { + [2 2] 0 setdash + t1curvetangentscale currentlinewidth mul setlinewidth + currhx currhy moveto + currhx x2 add currhy y2 add lineto + stroke + currhx x2 x3 add add currhy y2 y3 add add moveto + currhx x2 x3 x4 add add add currhy y2 y3 y4 add add add lineto + stroke + } if + t1hcurvedash setdash + t1hcurvescale t1dumpstdlinewidth mul setlinewidth + currhx currhy moveto + x2 y2 x2 x3 add y2 y3 add x2 x3 x4 add add y2 y3 y4 add add rcurveto + stroke + /currhx currhx x2 x3 x4 add add add def + /currhy currhy y2 y3 y4 add add add def +} def + +/t1sbw { + /wy exch scale mul def + /wx exch scale mul def + /sby exch scale mul def + /sbx exch scale mul def + t1sbwcolor setrgbcolor + newpath sbx sby 3 0 360 arc closepath fill + newpath wx wy 3 0 360 arc closepath fill + /currx sbx def + /curry sby def + /currhx sbx def + /currhy sby def + /currsx sbx def + /currsy sby def +} def + +/t1closepath { + t1closepathdash setdash + t1closepathscale t1dumpstdlinewidth mul setlinewidth + t1closepathcolor setrgbcolor + currx curry moveto + startx starty lineto + stroke +} def + +/t1sclosepath { + t1sclosepathdash setdash + t1sclosepathscale t1dumpstdlinewidth mul setlinewidth + t1sclosepathcolor setrgbcolor + currsx currsy moveto + startsx startsy lineto + stroke +} def + +/t1hintedclosepath { + t1hclosepathdash setdash + t1hclosepathscale t1dumpstdlinewidth mul setlinewidth + t1hclosepathcolor setrgbcolor + currhx currhy moveto + starthx starthy lineto + stroke +} def + +/t1vstem { + t1drawstems 1 eq + { + /stemwidth exch scale mul def + /stemstart exch scale mul def + t1stemscale t1dumpstdlinewidth mul setlinewidth + t1stemcolor setrgbcolor + [] 0 setdash + stemstart ymindev moveto + stemstart ymaxdev lineto + stroke + [2 2] 0 setdash + stemwidth stemstart add ymindev moveto + stemwidth stemstart add ymaxdev lineto + stroke + } if +} def + +/t1alignedvstem { + t1drawstems 1 eq + { + /stemwidth exch scale mul def + /stemstart exch scale mul def + t1alignedstemscale t1dumpstdlinewidth mul setlinewidth + t1alignedstemcolor setrgbcolor + [] 0 setdash + stemstart ymindev moveto + stemstart ymaxdev lineto + stroke + [2 2] 0 setdash + stemwidth stemstart add ymindev moveto + stemwidth stemstart add ymaxdev lineto + stroke + } if +} def + +/t1hstem { + t1drawstems 1 eq + { + /stemwidth exch scale mul def + /stemstart exch scale mul def + t1stemscale t1dumpstdlinewidth mul setlinewidth + t1stemcolor setrgbcolor + [] 0 setdash + xmindev stemstart moveto + xmaxdev stemstart lineto + stroke + [2 2] 0 setdash + xmindev stemwidth stemstart add moveto + xmaxdev stemwidth stemstart add lineto + stroke + } if +} def + +/t1alignedhstem { + t1drawstems 1 eq + { + /stemwidth exch scale mul def + /stemstart exch scale mul def + t1alignedstemscale t1dumpstdlinewidth mul setlinewidth + t1alignedstemcolor setrgbcolor + [] 0 setdash + xmindev stemstart moveto + xmaxdev stemstart lineto + stroke + [2 2] 0 setdash + xmindev stemwidth stemstart add moveto + xmaxdev stemwidth stemstart add lineto + stroke + } if +} def + +/t1bottomzone { + t1drawzones 1 eq + { + /bottom exch scale mul def + /top exch scale mul def + t1bottomzonescale t1dumpstdlinewidth mul setlinewidth + t1bottomzonecolor setrgbcolor + [] 0 setdash + xmindev bottom moveto + xmaxdev bottom lineto + stroke + [2 2] 0 setdash + xmindev top moveto + xmaxdev top lineto + stroke + } if +} def + +/t1topzone { + t1drawzones 1 eq + { + /bottom exch scale mul def + /top exch scale mul def + t1topzonescale t1dumpstdlinewidth mul setlinewidth + t1topzonecolor setrgbcolor + [2 2] 0 setdash + xmindev bottom moveto + xmaxdev bottom lineto + stroke + [] 0 setdash + xmindev top moveto + xmaxdev top lineto + stroke + } if +} def + +end + +% Next follows drawing code from charstring commands: +T1LibDict begin + +gsave +20.000001 t1SetupSize +t1PreparePage +-0.439758 0.000000 t1bottomzone +13.652496 14.092255 t1topzone +8.615265 8.955078 t1topzone +13.312683 13.532562 t1topzone +-4.117737 -3.877869 t1bottomzone +0.559692 0.000000 0.559692 0.000000 t1sbw +9.005051 4.277649 t1srmoveto +0.000000 2.635088 -2.059844 2.192259 -2.507646 0.000000 t1srrcurveto +-2.589196 0.000000 t1sarrowhead -1.998282 -2.253895 0.000000 -2.573452 t1srrcurveto +0.000000 -2.662721 2.147325 -1.984725 2.420165 0.000000 t1srrcurveto +2.501468 0.000000 t1sarrowhead 2.086011 2.026044 0.000000 2.621402 t1srrcurveto +t1sclosepath +-0.299835 0.000000 t1srmoveto +0.000000 -2.455808 -1.951770 -1.891803 -2.335873 0.000000 t1srrcurveto +-2.257264 0.000000 t1sarrowhead -2.010390 1.853166 0.000000 2.494445 t1srrcurveto +0.000000 2.423801 1.879586 2.103710 2.408057 0.000000 t1srrcurveto +2.329696 0.000000 t1sarrowhead 1.937959 -2.045412 0.000000 -2.482100 t1srrcurveto +t1sclosepath +0.149918 -0.000000 t1srmoveto +-4.417572 -3.847885 t1srmoveto +-0.808825 0.000000 -0.829075 0.393694 -0.511556 0.871540 t1srrcurveto +-0.129291 -0.075888 t1sprolongate +0.130347 0.074061 t1sprolongate +-0.475605 0.837065 t1sarrowhead -0.004550 1.172020 0.000000 0.735306 t1srrcurveto +0.000000 0.791693 0.003844 1.036104 0.457587 0.838909 t1srrcurveto +-0.131612 0.071788 t1sprolongate +0.129291 -0.075888 t1sprolongate +0.510742 0.870153 t1sarrowhead 0.888167 0.395081 0.750547 0.000000 t1srrcurveto +0.828025 0.000000 0.810390 -0.413156 0.492055 -0.813783 t1srrcurveto +0.493212 -0.815696 t1sarrowhead 0.004874 -1.109989 0.000000 -0.775217 t1srrcurveto +0.000000 -0.730684 -0.003321 -1.039578 -0.420610 -0.841221 t1srrcurveto +-0.000299 -0.000599 t1sprolongate +-0.000294 -0.000601 t1sprolongate +-0.415892 -0.850688 t1sarrowhead -0.828838 -0.544427 -0.939312 0.000000 t1srrcurveto +t1sclosepath +-0.000000 -0.299835 t1srmoveto +1.059589 0.000000 0.930195 0.614936 0.463625 0.948323 t1srrcurveto +-0.134684 0.065845 t1sprolongate +0.134090 -0.067045 t1sprolongate +0.458906 0.917812 t1sarrowhead -0.003321 1.119235 0.000000 0.708525 t1srrcurveto +0.000000 0.743948 0.004874 1.208737 -0.546217 0.903359 t1srrcurveto +-0.547374 0.905273 t1sarrowhead -0.908665 0.466361 -0.931008 0.000000 t1srrcurveto +-0.848574 0.000000 -0.990800 -0.444457 -0.568665 -0.968836 t1srrcurveto +-0.001193 -0.002032 t1sprolongate +-0.001128 -0.002068 t1sprolongate +-0.501886 -0.920124 t1sarrowhead 0.003844 -1.122710 0.000000 -0.767450 t1srrcurveto +0.000000 -0.703903 -0.004550 -1.266640 0.523846 -0.921968 t1srrcurveto +0.000521 -0.000918 t1sprolongate +0.000534 -0.000910 t1sprolongate +0.567850 -0.967449 t1sarrowhead 0.929958 -0.445844 0.910231 0.000000 t1srrcurveto +t1sclosepath +0.000000 0.149918 t1srmoveto +t1FinishPage +0.559692 0.000000 0.559692 0.000000 t1sbw +8.855133 4.277649 t1rmoveto +0.000000 2.558594 t1arrowhead -1.998901 2.118835 -2.418671 0.000000 t1rrcurveto +-2.498627 0.000000 -1.938934 -2.178802 0.000000 -2.498627 t1rrcurveto +0.000000 -2.578583 t1arrowhead 2.078857 -1.918945 2.338715 0.000000 t1rrcurveto +2.418671 0.000000 2.018890 1.958923 0.000000 2.538605 t1rrcurveto +t1closepath +-4.417572 -3.997803 t1rmoveto +-0.859528 0.000000 t1arrowhead -0.879517 0.419769 -0.539703 0.919495 t1rrcurveto +-0.499725 0.879517 0.000000 1.219330 0.000000 0.719604 t1rrcurveto +0.000000 0.779572 t1arrowhead 0.000000 1.079407 0.479736 0.879517 t1rrcurveto +0.539703 0.919495 0.939484 0.419769 0.799561 0.000000 t1rrcurveto +0.879517 0.000000 t1arrowhead 0.859528 -0.439758 0.519714 -0.859528 t1rrcurveto +0.519714 -0.859528 0.000000 -1.159363 0.000000 -0.759583 t1rrcurveto +0.000000 -0.719604 t1arrowhead 0.000000 -1.079407 -0.439758 -0.879517 t1rrcurveto +-0.439758 -0.899506 -0.879517 -0.579681 -0.999451 0.000000 t1rrcurveto +t1closepath +t1FinishPage +grestore + +end diff --git a/Build/source/libs/t1lib/t1lib-5.1.2/doc/t1dump/t1dump_o.pdf b/Build/source/libs/t1lib/t1lib-5.1.2/doc/t1dump/t1dump_o.pdf Binary files differnew file mode 100644 index 00000000000..5d5230bcb9c --- /dev/null +++ b/Build/source/libs/t1lib/t1lib-5.1.2/doc/t1dump/t1dump_o.pdf diff --git a/Build/source/libs/t1lib/t1lib-5.1.2/doc/t1dump/t1dump_t_1.eps b/Build/source/libs/t1lib/t1lib-5.1.2/doc/t1dump/t1dump_t_1.eps new file mode 100644 index 00000000000..e818872f398 --- /dev/null +++ b/Build/source/libs/t1lib/t1lib-5.1.2/doc/t1dump/t1dump_t_1.eps @@ -0,0 +1,799 @@ +%!PS-Adobe-2.0 EPSF-1.2 +%%Creator: t1lib (edited manually by RMz, 2003-01-15) +%%Title: Type1Char Character Dump +%%Pages: 1 +%%PageOrder: Ascend +%%BoundingBox: 0 0 280 400 +%%DocumentPaperSizes: a4 +%%EndComments +%! +/T1LibDict 100 dict def +T1LibDict begin +% Setup the size from the type1 module +/t1SetupSize { + /size exch def +} def + +% Prepare the page. Compute scales and fill the charspace unit square +% background +/t1PreparePage { + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % Start of Customizable Section + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + % Setup a standard linewidth + /t1dumpstdlinewidth 1.0 def + % Setup a scale for drawing direction arrows + /arrowscale 3.0 def + + % Should we draw the device pixel grid? (1=yes, otherwise no) + /t1drawgrid 0 def + % Should we draw stems? (1=yes, otherwise no) + /t1drawstems 0 def + % Should we draw alignment zones? (1=yes, otherwise no) + /t1drawzones 0 def + % Should we fill the charspace unit square? (1=yes, otherwise no) + /t1fillunitsquare 0 def + % Should we fill the device page? (1=yes, otherwise no) + /t1fillpage 0 def + % Should we show path segment On-Curve points? (1=yes, otherwise no) + /t1showoncurvepoints 0 def + % Should we show path segment Off Curve points? (1=yes, otherwise no) + /t1showoffcurvepoints 0 def + % Should we show Bezier tangets and their defining points? (1=yes, otherwise no) + /t1showbeziertangents 0 def + + % Define a few colors + /t1linecolor { 0.0 0.0 0.0 } def + /t1hlinecolor { 1.0 0.0 0.0 } def + /t1slinecolor { 0.0 0.0 0.0 } def + /t1movecolor { 0.0 0.0 0.0 } def + /t1hmovecolor { 0.0 0.0 0.0 } def + /t1smovecolor { 0.0 0.0 0.0 } def + /t1curvecolor { 0.0 0.0 0.0 } def + /t1hcurvecolor { 1.0 0.0 0.0 } def + /t1scurvecolor { 0.0 0.0 0.0 } def + /t1sprolongatecolor { 1.0 1.0 1.0 } def + /t1stemcolor { 0.0 0.0 1.0 } def + /t1alignedstemcolor { 1.0 0.0 1.0 } def + /t1bottomzonecolor { 1.0 1.0 0.0 } def + /t1topzonecolor { 1.0 1.0 0.0 } def + /t1arrowcolor { 0.0 0.0 0.0 } def + /t1harrowcolor { 1.0 0.0 0.0 } def + /t1sarrowcolor { 0.0 0.0 1.0 } def + /t1sbwcolor { 0.0 0.0 0.0 } def + /t1closepathcolor { 0.0 0.0 0.0 } def + /t1hclosepathcolor { 1.0 0.0 0.0 } def + /t1sclosepathcolor { 0.0 0.0 1.0 } def + /t1pagecolor { 0.7 0.7 0.7 } def + /t1unitsquarecolor { 0.4 0.4 0.4 } def + /t1gridcolor { 0.0 0.0 0.0 } def + + % Line scale relative to the standard linewidth + /t1linescale 1.2 def + /t1hlinescale 0.4 def + /t1slinescale 0.4 def + /t1movescale 0.4 def + /t1hmovescale 0.4 def + /t1smovescale 0.4 def + /t1curvescale 1.2 def + /t1hcurvescale 0.4 def + /t1scurvescale 0.4 def + /t1curvetangentscale 0.5 def + /t1sprolongatescale 0.0 def + /t1stemscale 0.5 def + /t1alignedstemscale 0.5 def + /t1bottomzonescale 0.5 def + /t1topzonescale 0.5 def + /t1closepathscale 0.8 def + /t1hclosepathscale 0.4 def + /t1sclosepathscale 0.4 def + /t1gridscale 0.5 def + + % Line dash specifications (stems and zones are not configurable!) + /t1linedash { [2 2] 0 } def + /t1hlinedash { [] 0 } def + /t1slinedash { [] 0 } def + /t1movedash { [2 2] 0 } def + /t1hmovedash { [2 2] 0 } def + /t1smovedash { [2 2] 0 } def + /t1curvedash { [2 2] 0 } def + /t1hcurvedash { [] 0 } def + /t1scurvedash { [] 0 } def + /t1sprolongatedash { [1 1] 0 }def + /t1closepathdash { [2 2] 0 } def + /t1hclosepathdash { [] 0 } def + /t1sclosepathdash { [] 0 } def + /t1griddash { [3 3] 0 } def + + % Define a clipping rectangle ROI (in charspace coordinates) + /t1ROIxmin 0 def + /t1ROIxmax 300 def + /t1ROIymin -50 def + /t1ROIymax 650 def + + % Device values (in bp). These must match the Bounding Box Statement! + /xmindev 0 neg def + /xmaxdev 280 def + /ymindev 0 neg def + /ymaxdev 400 def + /dxdev 1 def + /dydev 1 def + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % End of Customizable Section + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + % logical pixel values + /xminpixel t1ROIxmin 1000.0 div size mul def + /xmaxpixel t1ROIxmax 1000.0 div size mul def + /yminpixel t1ROIymin 1000.0 div size mul def + /ymaxpixel t1ROIymax 1000.0 div size mul def + /dxpixel 1 def + /dypixel 1 def + + % compute scales and set minimum scale + /scalex xmaxdev xmindev sub xmaxpixel xminpixel sub div def + /scaley ymaxdev ymindev sub ymaxpixel yminpixel sub div def + scalex scaley gt { /scale scaley def } { /scale scalex def } ifelse + + % Fill device page + xmindev ymindev moveto + xmaxdev 0 rlineto + 0 ymaxdev rlineto + xmaxdev neg 0 rlineto + 0 ymaxdev neg rlineto + closepath + clip + t1fillpage 1 eq + { + t1pagecolor setrgbcolor + fill + } if + + % reassign device values + /xmindev xminpixel scale mul def + /xmaxdev xmaxpixel scale mul def + /ymindev yminpixel scale mul def + /ymaxdev ymaxpixel scale mul def + /dxdev dxpixel scale mul def + /dydev dypixel scale mul def + + % translate coordinate system + xminpixel scale mul neg yminpixel scale mul neg translate + + % Fill unit square of charspace coordinate system + t1fillunitsquare 1 eq + { + t1unitsquarecolor setrgbcolor + 0 0 moveto + size scale mul 0 rlineto + 0 size scale mul rlineto + size scale mul neg 0 rlineto + 0 size scale mul neg rlineto + closepath fill + } if +} def + +/t1FinishPage { + t1drawgrid 1 eq + { + t1gridcolor setrgbcolor + t1gridscale setlinewidth + t1griddash setdash + % draw grid and align to the point (0,0) + 0 dxdev xmaxdev { + /xval exch def + xval ymindev moveto + xval ymaxdev lineto + stroke + } for + 0 dxdev neg xmindev { + /xval exch def + xval ymindev moveto + xval ymaxdev lineto + stroke + } for + 0 dydev ymaxdev { + /yval exch def + xmindev yval moveto + xmaxdev yval lineto + stroke + } for + 0 dydev neg ymindev { + /yval exch def + xmindev yval moveto + xmaxdev yval lineto + stroke + } for + } if +} def + +% Define three arrow routines available for later providing the output with directions +/t1arrowhead { + /tmpy exch def + /tmpx exch def + gsave + t1arrowcolor setrgbcolor + currx curry translate + tmpy tmpx atan rotate + newpath + 0 0 moveto + 0 2 arrowscale currentlinewidth neg mul mul rlineto + 6 arrowscale currentlinewidth mul mul 2 arrowscale currentlinewidth mul mul rlineto + 6 arrowscale currentlinewidth mul mul neg 2 arrowscale currentlinewidth mul mul rlineto + closepath + fill + grestore + tmpx + tmpy +} def +/t1harrowhead { + /tmpy exch def + /tmpx exch def + gsave + t1harrowcolor setrgbcolor + currhx currhy translate + tmpy tmpx atan rotate + newpath + 0 0 moveto + 0 2 arrowscale currentlinewidth neg mul mul rlineto + 6 arrowscale currentlinewidth mul mul 2 arrowscale currentlinewidth mul mul rlineto + 6 arrowscale currentlinewidth mul mul neg 2 arrowscale currentlinewidth mul mul rlineto + closepath + fill + grestore + tmpx + tmpy +} def +/t1sarrowhead { + /tmpy exch def + /tmpx exch def + gsave + t1sarrowcolor setrgbcolor + currsx currsy translate + tmpy tmpx atan rotate + newpath + 0 0 moveto + 0 2 arrowscale currentlinewidth neg mul mul rlineto + 6 arrowscale currentlinewidth mul mul 2 arrowscale currentlinewidth mul mul rlineto + 6 arrowscale currentlinewidth mul mul neg 2 arrowscale currentlinewidth mul mul rlineto + closepath + fill + grestore + tmpx + tmpy +} def + +/t1rlineto { + /y2 exch scale mul def + /x2 exch scale mul def + t1linecolor setrgbcolor + t1linedash setdash + t1linescale t1dumpstdlinewidth mul setlinewidth + t1showoncurvepoints 1 eq + { + newpath currx x2 add curry y2 add 1.5 currentlinewidth mul 0 360 arc closepath fill + } if + currx curry moveto + x2 y2 rlineto + stroke + /currx currx x2 add def + /curry curry y2 add def +} def + +/t1srlineto { + /y2 exch scale mul def + /x2 exch scale mul def + t1slinecolor setrgbcolor + t1slinedash setdash + t1slinescale t1dumpstdlinewidth mul setlinewidth + t1showoncurvepoints 1 eq + { + newpath currsx x2 add currsy y2 add 1.5 currentlinewidth mul 0 360 arc closepath fill + } if + currsx currsy moveto + x2 y2 rlineto + stroke + /currsx currsx x2 add def + /currsy currsy y2 add def +} def + +/t1sprolongate { + /y2 exch scale mul def + /x2 exch scale mul def + t1sprolongatecolor setrgbcolor + t1sprolongatedash setdash + t1sprolongatescale t1dumpstdlinewidth mul setlinewidth + t1showoncurvepoints 1 eq + { + newpath currsx x2 add currsy y2 add 1.5 currentlinewidth mul 0 360 arc closepath fill + } if + currsx currsy moveto + x2 y2 rlineto + stroke + /currsx currsx x2 add def + /currsy currsy y2 add def +} def + +/t1hintedrlineto { + /y2 exch scale mul def + /x2 exch scale mul def + t1hlinecolor setrgbcolor + t1hlinedash setdash + t1hlinescale t1dumpstdlinewidth mul setlinewidth + t1showoncurvepoints 1 eq + { + newpath currhx x2 add currhy y2 add 1.5 currentlinewidth mul 0 360 arc closepath fill + } if + currhx currhy moveto + x2 y2 rlineto + stroke + /currhx currhx x2 add def + /currhy currhy y2 add def +} def + +/t1rmoveto { + /y2 exch scale mul def + /x2 exch scale mul def + t1movecolor setrgbcolor + t1movedash setdash + t1movescale t1dumpstdlinewidth mul setlinewidth + t1showoncurvepoints 1 eq + { + newpath currx x2 add curry y2 add 1.5 currentlinewidth mul 0 360 arc closepath fill + } if + currx curry moveto + x2 y2 rlineto + stroke + /currx currx x2 add def + /curry curry y2 add def + /startx currx def + /starty curry def +} def + +/t1srmoveto { + /y2 exch scale mul def + /x2 exch scale mul def + t1smovecolor setrgbcolor + t1smovedash setdash + t1smovescale t1dumpstdlinewidth mul setlinewidth + t1showoncurvepoints 1 eq + { + newpath currsx x2 add currsy y2 add 1.5 currentlinewidth mul 0 360 arc closepath fill + } if + currsx currsy moveto + x2 y2 rlineto + stroke + /currsx currsx x2 add def + /currsy currsy y2 add def + /startsx currsx def + /startsy currsy def +} def + +/t1hintedrmoveto { + /y2 exch scale mul def + /x2 exch scale mul def + t1hmovecolor setrgbcolor + t1hmovedash setdash + t1hmovescale t1dumpstdlinewidth mul setlinewidth + t1showoncurvepoints 1 eq + { + newpath currhx x2 add currhy y2 add 1.5 currentlinewidth mul 0 360 arc closepath fill + } if + currhx currhy moveto + x2 y2 rlineto + stroke + /currhx currhx x2 add def + /currhy currhy y2 add def + /starthx currhx def + /starthy currhy def +} def + +/t1rrcurveto { + /y4 exch scale mul def + /x4 exch scale mul def + /y3 exch scale mul def + /x3 exch scale mul def + /y2 exch scale mul def + /x2 exch scale mul def + t1curvecolor setrgbcolor + t1curvedash setdash + t1curvescale t1dumpstdlinewidth mul setlinewidth + t1showoffcurvepoints 1 eq + { + + newpath currx x2 add curry y2 add 1.0 currentlinewidth mul 0 360 arc closepath fill + newpath currx x2 x3 add add curry y2 y3 add add 1.0 currentlinewidth mul 0 360 arc closepath fill + } if + t1showoncurvepoints 1 eq + { + newpath currx x2 x3 x4 add add add curry y2 y3 y4 add add add 1.5 currentlinewidth mul 0 360 arc closepath fill + } if + t1showbeziertangents 1 eq + { + [2 2] 0 setdash + t1curvetangentscale currentlinewidth mul setlinewidth + currx curry moveto + currx x2 add curry y2 add lineto + stroke + currx x2 x3 add add curry y2 y3 add add moveto + currx x2 x3 x4 add add add curry y2 y3 y4 add add add lineto + stroke + } if + t1curvedash setdash + t1curvescale t1dumpstdlinewidth mul setlinewidth + currx curry moveto + x2 y2 x2 x3 add y2 y3 add x2 x3 x4 add add y2 y3 y4 add add rcurveto + stroke + /currx currx x2 x3 x4 add add add def + /curry curry y2 y3 y4 add add add def +} def + +/t1srrcurveto { + /y4 exch scale mul def + /x4 exch scale mul def + /y3 exch scale mul def + /x3 exch scale mul def + /y2 exch scale mul def + /x2 exch scale mul def + t1scurvecolor setrgbcolor + t1scurvedash setdash + t1scurvescale t1dumpstdlinewidth mul setlinewidth + t1showoffcurvepoints 1 eq + { + newpath currsx x2 add currsy y2 add 1.0 currentlinewidth mul 0 360 arc closepath fill + newpath currsx x2 x3 add add currsy y2 y3 add add 1.0 currentlinewidth mul 0 360 arc closepath fill + } if + t1showoncurvepoints 1 eq + { + newpath currsx x2 x3 x4 add add add currsy y2 y3 y4 add add add 1.5 currentlinewidth mul 0 360 arc closepath fill + } if + t1showbeziertangents 1 eq + { + [2 2] 0 setdash + t1curvetangentscale currentlinewidth mul setlinewidth + currsx currsy moveto + currsx x2 add currsy y2 add lineto + stroke + currsx x2 x3 add add currsy y2 y3 add add moveto + currsx x2 x3 x4 add add add currsy y2 y3 y4 add add add lineto + stroke + } if + t1scurvedash setdash + t1scurvescale t1dumpstdlinewidth mul setlinewidth + currsx currsy moveto + x2 y2 x2 x3 add y2 y3 add x2 x3 x4 add add y2 y3 y4 add add rcurveto + stroke + /currsx currsx x2 x3 x4 add add add def + /currsy currsy y2 y3 y4 add add add def +} def + +/t1hintedrrcurveto { + /y4 exch scale mul def + /x4 exch scale mul def + /y3 exch scale mul def + /x3 exch scale mul def + /y2 exch scale mul def + /x2 exch scale mul def + t1hcurvecolor setrgbcolor + t1hcurvedash setdash + t1hcurvescale t1dumpstdlinewidth mul setlinewidth + t1showoncurvepoints 1 eq + { + newpath currhx x2 add currhy y2 add 1.0 currentlinewidth mul 0 360 arc closepath fill + newpath currhx x2 x3 add add currhy y2 y3 add add 1.0 currentlinewidth mul 0 360 arc closepath fill + } if + t1showoncurvepoints 1 eq + { + newpath currhx x2 x3 x4 add add add currhy y2 y3 y4 add add add 1.5 currentlinewidth mul 0 360 arc closepath fill + } if + t1showbeziertangents 1 eq + { + [2 2] 0 setdash + t1curvetangentscale currentlinewidth mul setlinewidth + currhx currhy moveto + currhx x2 add currhy y2 add lineto + stroke + currhx x2 x3 add add currhy y2 y3 add add moveto + currhx x2 x3 x4 add add add currhy y2 y3 y4 add add add lineto + stroke + } if + t1hcurvedash setdash + t1hcurvescale t1dumpstdlinewidth mul setlinewidth + currhx currhy moveto + x2 y2 x2 x3 add y2 y3 add x2 x3 x4 add add y2 y3 y4 add add rcurveto + stroke + /currhx currhx x2 x3 x4 add add add def + /currhy currhy y2 y3 y4 add add add def +} def + +/t1sbw { + /wy exch scale mul def + /wx exch scale mul def + /sby exch scale mul def + /sbx exch scale mul def + t1sbwcolor setrgbcolor + newpath sbx sby 3 0 360 arc closepath fill + newpath wx wy 3 0 360 arc closepath fill + /currx sbx def + /curry sby def + /currhx sbx def + /currhy sby def + /currsx sbx def + /currsy sby def +} def + +/t1closepath { + t1closepathdash setdash + t1closepathscale t1dumpstdlinewidth mul setlinewidth + t1closepathcolor setrgbcolor + currx curry moveto + startx starty lineto + stroke +} def + +/t1sclosepath { + t1sclosepathdash setdash + t1sclosepathscale t1dumpstdlinewidth mul setlinewidth + t1sclosepathcolor setrgbcolor + currsx currsy moveto + startsx startsy lineto + stroke +} def + +/t1hintedclosepath { + t1hclosepathdash setdash + t1hclosepathscale t1dumpstdlinewidth mul setlinewidth + t1hclosepathcolor setrgbcolor + currhx currhy moveto + starthx starthy lineto + stroke +} def + +/t1vstem { + t1drawstems 1 eq + { + /stemwidth exch scale mul def + /stemstart exch scale mul def + t1stemscale t1dumpstdlinewidth mul setlinewidth + t1stemcolor setrgbcolor + [] 0 setdash + stemstart ymindev moveto + stemstart ymaxdev lineto + stroke + [2 2] 0 setdash + stemwidth stemstart add ymindev moveto + stemwidth stemstart add ymaxdev lineto + stroke + } if +} def + +/t1alignedvstem { + t1drawstems 1 eq + { + /stemwidth exch scale mul def + /stemstart exch scale mul def + t1alignedstemscale t1dumpstdlinewidth mul setlinewidth + t1alignedstemcolor setrgbcolor + [] 0 setdash + stemstart ymindev moveto + stemstart ymaxdev lineto + stroke + [2 2] 0 setdash + stemwidth stemstart add ymindev moveto + stemwidth stemstart add ymaxdev lineto + stroke + } if +} def + +/t1hstem { + t1drawstems 1 eq + { + /stemwidth exch scale mul def + /stemstart exch scale mul def + t1stemscale t1dumpstdlinewidth mul setlinewidth + t1stemcolor setrgbcolor + [] 0 setdash + xmindev stemstart moveto + xmaxdev stemstart lineto + stroke + [2 2] 0 setdash + xmindev stemwidth stemstart add moveto + xmaxdev stemwidth stemstart add lineto + stroke + } if +} def + +/t1alignedhstem { + t1drawstems 1 eq + { + /stemwidth exch scale mul def + /stemstart exch scale mul def + t1alignedstemscale t1dumpstdlinewidth mul setlinewidth + t1alignedstemcolor setrgbcolor + [] 0 setdash + xmindev stemstart moveto + xmaxdev stemstart lineto + stroke + [2 2] 0 setdash + xmindev stemwidth stemstart add moveto + xmaxdev stemwidth stemstart add lineto + stroke + } if +} def + +/t1bottomzone { + t1drawzones 1 eq + { + /bottom exch scale mul def + /top exch scale mul def + t1bottomzonescale t1dumpstdlinewidth mul setlinewidth + t1bottomzonecolor setrgbcolor + [] 0 setdash + xmindev bottom moveto + xmaxdev bottom lineto + stroke + [2 2] 0 setdash + xmindev top moveto + xmaxdev top lineto + stroke + } if +} def + +/t1topzone { + t1drawzones 1 eq + { + /bottom exch scale mul def + /top exch scale mul def + t1topzonescale t1dumpstdlinewidth mul setlinewidth + t1topzonecolor setrgbcolor + [2 2] 0 setdash + xmindev bottom moveto + xmaxdev bottom lineto + stroke + [] 0 setdash + xmindev top moveto + xmaxdev top lineto + stroke + } if +} def + +end + +% Next follows drawing code from charstring commands: +T1LibDict begin + +gsave +15.000001 t1SetupSize +t1PreparePage +-0.329987 0.000000 t1bottomzone +10.244583 10.574570 t1topzone +6.464737 6.719727 t1topzone +9.989594 10.154587 t1topzone +-3.089874 -2.909882 t1bottomzone +-0.164993 0.374985 t1hstem +0.000000 1.000000 t1alignedhstem +2.414902 0.299988 t1hstem +2.000000 1.000000 t1alignedhstem +5.999756 0.464981 t1hstem +5.000000 1.000000 t1alignedhstem +8.924637 0.299988 t1hstem +9.000000 1.000000 t1alignedhstem +1.559937 1.034958 t1vstem +2.000000 1.000000 t1alignedvstem +4.604813 0.374985 t1vstem +4.000000 1.000000 t1alignedvstem +0.284988 0.000000 0.284988 0.000000 t1sbw +2.309906 5.999756 t1srmoveto +0.000000 -0.112495 t1sprolongate +2.144913 0.000000 t1srlineto +0.112495 0.000000 t1sprolongate +0.000000 0.112495 t1sprolongate +0.000000 0.464981 t1srlineto +0.000000 0.112495 t1sprolongate +-0.112495 0.000000 t1sprolongate +-2.144913 0.000000 t1srlineto +-0.000000 -0.112495 t1sprolongate +0.112495 -0.000000 t1sprolongate +0.000000 2.759888 t1srlineto +0.000000 0.112495 t1sprolongate +-0.112495 0.000000 t1sprolongate +-0.374985 0.000000 t1srlineto +-0.111132 0.000000 t1sprolongate +-0.001355 -0.111124 t1sprolongate +-0.014942 -1.225209 -0.444926 -1.502841 -1.367155 -0.055802 t1srrcurveto +-0.107908 -0.004404 t1sprolongate +0.000000 -0.107997 t1sprolongate +0.000000 -0.329987 t1srlineto +0.000000 -0.112495 t1sprolongate +0.112495 0.000000 t1sprolongate +1.274948 0.000000 t1srlineto +-0.000000 0.112495 t1sprolongate +-0.112495 -0.000000 t1sprolongate +0.000000 -4.139832 t1srlineto +0.000000 -1.938169 1.481412 -0.199244 0.566005 0.000000 t1srrcurveto +1.163073 0.000000 0.434362 1.158258 0.000000 0.979156 t1srrcurveto +0.000000 0.854965 t1srlineto +0.000000 0.112495 t1sprolongate +-0.112495 0.000000 t1sprolongate +-0.374985 0.000000 t1srlineto +-0.112495 0.000000 t1sprolongate +0.000000 -0.112495 t1sprolongate +0.000000 -0.824966 t1srlineto +0.000000 -1.086171 -0.432363 -0.481265 -0.460100 0.000000 t1srrcurveto +-0.872319 0.000000 -0.020145 1.203144 0.000000 0.304295 t1srrcurveto +0.000000 4.169830 t1srlineto +-0.112495 0.000000 t1sprolongate +t1sclosepath +-0.112495 0.112495 t1srmoveto +-0.000000 -0.112495 t1sprolongate +0.000000 -4.169830 t1srlineto +0.000000 -0.205685 -0.020145 -1.526745 1.137599 0.000000 t1srrcurveto +0.649854 0.000000 0.467600 0.658688 0.000000 1.133739 t1srrcurveto +0.000000 0.824966 t1srlineto +-0.112495 -0.000000 t1sprolongate +-0.000000 -0.112495 t1sprolongate +0.374985 0.000000 t1srlineto +0.000000 0.112495 t1sprolongate +-0.112495 0.000000 t1sprolongate +0.000000 -0.854965 t1srlineto +0.000000 -0.940766 -0.405604 -0.971656 -0.966840 0.000000 t1srrcurveto +-0.513951 0.000000 -1.308475 0.160742 0.000000 1.751680 t1srrcurveto +0.000000 4.139832 t1srlineto +-0.000000 0.112495 t1sprolongate +-0.112495 -0.000000 t1sprolongate +-1.274948 0.000000 t1srlineto +0.000000 -0.112495 t1sprolongate +0.112495 0.000000 t1sprolongate +0.000000 0.329987 t1srlineto +-0.112495 -0.000000 t1sprolongate +0.004588 -0.112402 t1sprolongate +1.572725 0.064193 0.455038 1.707028 0.015057 1.234691 t1srrcurveto +-0.112487 0.001372 t1sprolongate +-0.000000 -0.112495 t1sprolongate +0.374985 0.000000 t1srlineto +0.000000 0.112495 t1sprolongate +-0.112495 0.000000 t1sprolongate +0.000000 -2.759888 t1srlineto +-0.000000 -0.112495 t1sprolongate +0.112495 -0.000000 t1sprolongate +2.144913 0.000000 t1srlineto +0.000000 0.112495 t1sprolongate +-0.112495 0.000000 t1sprolongate +0.000000 -0.464981 t1srlineto +0.112495 -0.000000 t1sprolongate +-0.000000 0.112495 t1sprolongate +-2.144913 0.000000 t1srlineto +-0.112495 -0.000000 t1sprolongate +t1sclosepath +0.112495 -4.282326 t1srmoveto +t1FinishPage +0.284988 0.000000 0.284988 0.000000 t1sbw +2.309906 5.999756 t1rmoveto +2.144913 0.000000 t1rlineto +0.000000 0.464981 t1rlineto +-2.144913 0.000000 t1rlineto +0.000000 2.759888 t1rlineto +-0.374985 0.000000 t1rlineto +-0.014999 -1.229950 -0.449982 -1.604935 -1.469940 -0.059998 t1rrcurveto +0.000000 -0.329987 t1rlineto +1.274948 0.000000 t1rlineto +0.000000 -4.139832 t1rlineto +0.000000 -1.844925 1.394943 -0.179993 0.539978 0.000000 t1rrcurveto +1.064957 0.000000 0.419983 1.064957 0.000000 0.959961 t1rrcurveto +0.000000 0.854965 t1rlineto +-0.374985 0.000000 t1rlineto +0.000000 -0.824966 t1rlineto +0.000000 -1.109955 -0.449982 -0.569977 -0.554977 0.000000 t1rrcurveto +-1.004959 0.000000 0.000000 1.364944 0.000000 0.254990 t1rrcurveto +t1closepath +t1FinishPage +grestore + +end diff --git a/Build/source/libs/t1lib/t1lib-5.1.2/doc/t1dump/t1dump_t_1.pdf b/Build/source/libs/t1lib/t1lib-5.1.2/doc/t1dump/t1dump_t_1.pdf Binary files differnew file mode 100644 index 00000000000..394ac9e1389 --- /dev/null +++ b/Build/source/libs/t1lib/t1lib-5.1.2/doc/t1dump/t1dump_t_1.pdf diff --git a/Build/source/libs/t1lib/t1lib-5.1.2/doc/t1dump/t1dump_t_2.eps b/Build/source/libs/t1lib/t1lib-5.1.2/doc/t1dump/t1dump_t_2.eps new file mode 100644 index 00000000000..50c2e102146 --- /dev/null +++ b/Build/source/libs/t1lib/t1lib-5.1.2/doc/t1dump/t1dump_t_2.eps @@ -0,0 +1,799 @@ +%!PS-Adobe-2.0 EPSF-1.2 +%%Creator: t1lib (edited manually by RMz, 2003-02-08) +%%Title: Type1Char Character Dump +%%Pages: 1 +%%PageOrder: Ascend +%%BoundingBox: 0 0 280 400 +%%DocumentPaperSizes: a4 +%%EndComments +%! +/T1LibDict 100 dict def +T1LibDict begin +% Setup the size from the type1 module +/t1SetupSize { + /size exch def +} def + +% Prepare the page. Compute scales and fill the charspace unit square +% background +/t1PreparePage { + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % Start of Customizable Section + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + % Setup a standard linewidth + /t1dumpstdlinewidth 1.0 def + % Setup a scale for drawing direction arrows + /arrowscale 3.0 def + + % Should we draw the device pixel grid? (1=yes, otherwise no) + /t1drawgrid 0 def + % Should we draw stems? (1=yes, otherwise no) + /t1drawstems 0 def + % Should we draw alignment zones? (1=yes, otherwise no) + /t1drawzones 0 def + % Should we fill the charspace unit square? (1=yes, otherwise no) + /t1fillunitsquare 0 def + % Should we fill the device page? (1=yes, otherwise no) + /t1fillpage 0 def + % Should we show path segment On-Curve points? (1=yes, otherwise no) + /t1showoncurvepoints 0 def + % Should we show path segment Off Curve points? (1=yes, otherwise no) + /t1showoffcurvepoints 0 def + % Should we show Bezier tangets and their defining points? (1=yes, otherwise no) + /t1showbeziertangents 0 def + + % Define a few colors + /t1linecolor { 0.0 0.0 0.0 } def + /t1hlinecolor { 1.0 0.0 0.0 } def + /t1slinecolor { 1.0 1.0 1.0 } def + /t1movecolor { 0.0 0.0 0.0 } def + /t1hmovecolor { 0.0 0.0 0.0 } def + /t1smovecolor { 1.0 1.0 1.0 } def + /t1curvecolor { 0.0 0.0 0.0 } def + /t1hcurvecolor { 1.0 0.0 0.0 } def + /t1scurvecolor { 1.0 1.0 1.0 } def + /t1sprolongatecolor { 0.0 0.0 0.0 } def + /t1stemcolor { 0.0 0.0 1.0 } def + /t1alignedstemcolor { 1.0 0.0 1.0 } def + /t1bottomzonecolor { 1.0 1.0 0.0 } def + /t1topzonecolor { 1.0 1.0 0.0 } def + /t1arrowcolor { 0.0 0.0 0.0 } def + /t1harrowcolor { 1.0 0.0 0.0 } def + /t1sarrowcolor { 0.0 0.0 1.0 } def + /t1sbwcolor { 0.0 0.0 0.0 } def + /t1closepathcolor { 0.0 0.0 0.0 } def + /t1hclosepathcolor { 1.0 0.0 0.0 } def + /t1sclosepathcolor { 0.0 0.0 1.0 } def + /t1pagecolor { 0.7 0.7 0.7 } def + /t1unitsquarecolor { 0.4 0.4 0.4 } def + /t1gridcolor { 0.0 0.0 0.0 } def + + % Line scale relative to the standard linewidth + /t1linescale 1.2 def + /t1hlinescale 0.4 def + /t1slinescale 0.0 def + /t1movescale 0.4 def + /t1hmovescale 0.4 def + /t1smovescale 0.0 def + /t1curvescale 1.2 def + /t1hcurvescale 0.4 def + /t1scurvescale 0.0 def + /t1curvetangentscale 0.5 def + /t1sprolongatescale 0.4 def + /t1stemscale 0.5 def + /t1alignedstemscale 0.5 def + /t1bottomzonescale 0.5 def + /t1topzonescale 0.5 def + /t1closepathscale 0.8 def + /t1hclosepathscale 0.4 def + /t1sclosepathscale 0.4 def + /t1gridscale 0.5 def + + % Line dash specifications (stems and zones are not configurable!) + /t1linedash { [2 2] 0 } def + /t1hlinedash { [] 0 } def + /t1slinedash { [] 0 } def + /t1movedash { [2 2] 0 } def + /t1hmovedash { [2 2] 0 } def + /t1smovedash { [2 2] 0 } def + /t1curvedash { [2 2] 0 } def + /t1hcurvedash { [] 0 } def + /t1scurvedash { [] 0 } def + /t1sprolongatedash { [] 0 }def + /t1closepathdash { [2 2] 0 } def + /t1hclosepathdash { [] 0 } def + /t1sclosepathdash { [] 0 } def + /t1griddash { [3 3] 0 } def + + % Define a clipping rectangle ROI (in charspace coordinates) + /t1ROIxmin 0 def + /t1ROIxmax 300 def + /t1ROIymin -50 def + /t1ROIymax 650 def + + % Device values (in bp). These must match the Bounding Box Statement! + /xmindev 0 neg def + /xmaxdev 280 def + /ymindev 0 neg def + /ymaxdev 400 def + /dxdev 1 def + /dydev 1 def + + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + % + % End of Customizable Section + % + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + % logical pixel values + /xminpixel t1ROIxmin 1000.0 div size mul def + /xmaxpixel t1ROIxmax 1000.0 div size mul def + /yminpixel t1ROIymin 1000.0 div size mul def + /ymaxpixel t1ROIymax 1000.0 div size mul def + /dxpixel 1 def + /dypixel 1 def + + % compute scales and set minimum scale + /scalex xmaxdev xmindev sub xmaxpixel xminpixel sub div def + /scaley ymaxdev ymindev sub ymaxpixel yminpixel sub div def + scalex scaley gt { /scale scaley def } { /scale scalex def } ifelse + + % Fill device page + xmindev ymindev moveto + xmaxdev 0 rlineto + 0 ymaxdev rlineto + xmaxdev neg 0 rlineto + 0 ymaxdev neg rlineto + closepath + clip + t1fillpage 1 eq + { + t1pagecolor setrgbcolor + fill + } if + + % reassign device values + /xmindev xminpixel scale mul def + /xmaxdev xmaxpixel scale mul def + /ymindev yminpixel scale mul def + /ymaxdev ymaxpixel scale mul def + /dxdev dxpixel scale mul def + /dydev dypixel scale mul def + + % translate coordinate system + xminpixel scale mul neg yminpixel scale mul neg translate + + % Fill unit square of charspace coordinate system + t1fillunitsquare 1 eq + { + t1unitsquarecolor setrgbcolor + 0 0 moveto + size scale mul 0 rlineto + 0 size scale mul rlineto + size scale mul neg 0 rlineto + 0 size scale mul neg rlineto + closepath fill + } if +} def + +/t1FinishPage { + t1drawgrid 1 eq + { + t1gridcolor setrgbcolor + t1gridscale setlinewidth + t1griddash setdash + % draw grid and align to the point (0,0) + 0 dxdev xmaxdev { + /xval exch def + xval ymindev moveto + xval ymaxdev lineto + stroke + } for + 0 dxdev neg xmindev { + /xval exch def + xval ymindev moveto + xval ymaxdev lineto + stroke + } for + 0 dydev ymaxdev { + /yval exch def + xmindev yval moveto + xmaxdev yval lineto + stroke + } for + 0 dydev neg ymindev { + /yval exch def + xmindev yval moveto + xmaxdev yval lineto + stroke + } for + } if +} def + +% Define three arrow routines available for later providing the output with directions +/t1arrowhead { + /tmpy exch def + /tmpx exch def + gsave + t1arrowcolor setrgbcolor + currx curry translate + tmpy tmpx atan rotate + newpath + 0 0 moveto + 0 2 arrowscale currentlinewidth neg mul mul rlineto + 6 arrowscale currentlinewidth mul mul 2 arrowscale currentlinewidth mul mul rlineto + 6 arrowscale currentlinewidth mul mul neg 2 arrowscale currentlinewidth mul mul rlineto + closepath + fill + grestore + tmpx + tmpy +} def +/t1harrowhead { + /tmpy exch def + /tmpx exch def + gsave + t1harrowcolor setrgbcolor + currhx currhy translate + tmpy tmpx atan rotate + newpath + 0 0 moveto + 0 2 arrowscale currentlinewidth neg mul mul rlineto + 6 arrowscale currentlinewidth mul mul 2 arrowscale currentlinewidth mul mul rlineto + 6 arrowscale currentlinewidth mul mul neg 2 arrowscale currentlinewidth mul mul rlineto + closepath + fill + grestore + tmpx + tmpy +} def +/t1sarrowhead { + /tmpy exch def + /tmpx exch def + gsave + t1sarrowcolor setrgbcolor + currsx currsy translate + tmpy tmpx atan rotate + newpath + 0 0 moveto + 0 2 arrowscale currentlinewidth neg mul mul rlineto + 6 arrowscale currentlinewidth mul mul 2 arrowscale currentlinewidth mul mul rlineto + 6 arrowscale currentlinewidth mul mul neg 2 arrowscale currentlinewidth mul mul rlineto + closepath + fill + grestore + tmpx + tmpy +} def + +/t1rlineto { + /y2 exch scale mul def + /x2 exch scale mul def + t1linecolor setrgbcolor + t1linedash setdash + t1linescale t1dumpstdlinewidth mul setlinewidth + t1showoncurvepoints 1 eq + { + newpath currx x2 add curry y2 add 1.5 currentlinewidth mul 0 360 arc closepath fill + } if + currx curry moveto + x2 y2 rlineto + stroke + /currx currx x2 add def + /curry curry y2 add def +} def + +/t1srlineto { + /y2 exch scale mul def + /x2 exch scale mul def + t1slinecolor setrgbcolor + t1slinedash setdash + t1slinescale t1dumpstdlinewidth mul setlinewidth + t1showoncurvepoints 1 eq + { + newpath currsx x2 add currsy y2 add 1.5 currentlinewidth mul 0 360 arc closepath fill + } if + currsx currsy moveto + x2 y2 rlineto + stroke + /currsx currsx x2 add def + /currsy currsy y2 add def +} def + +/t1sprolongate { + /y2 exch scale mul def + /x2 exch scale mul def + t1sprolongatecolor setrgbcolor + t1sprolongatedash setdash + t1sprolongatescale t1dumpstdlinewidth mul setlinewidth + t1showoncurvepoints 1 eq + { + newpath currsx x2 add currsy y2 add 1.5 currentlinewidth mul 0 360 arc closepath fill + } if + currsx currsy moveto + x2 y2 rlineto + stroke + /currsx currsx x2 add def + /currsy currsy y2 add def +} def + +/t1hintedrlineto { + /y2 exch scale mul def + /x2 exch scale mul def + t1hlinecolor setrgbcolor + t1hlinedash setdash + t1hlinescale t1dumpstdlinewidth mul setlinewidth + t1showoncurvepoints 1 eq + { + newpath currhx x2 add currhy y2 add 1.5 currentlinewidth mul 0 360 arc closepath fill + } if + currhx currhy moveto + x2 y2 rlineto + stroke + /currhx currhx x2 add def + /currhy currhy y2 add def +} def + +/t1rmoveto { + /y2 exch scale mul def + /x2 exch scale mul def + t1movecolor setrgbcolor + t1movedash setdash + t1movescale t1dumpstdlinewidth mul setlinewidth + t1showoncurvepoints 1 eq + { + newpath currx x2 add curry y2 add 1.5 currentlinewidth mul 0 360 arc closepath fill + } if + currx curry moveto + x2 y2 rlineto + stroke + /currx currx x2 add def + /curry curry y2 add def + /startx currx def + /starty curry def +} def + +/t1srmoveto { + /y2 exch scale mul def + /x2 exch scale mul def + t1smovecolor setrgbcolor + t1smovedash setdash + t1smovescale t1dumpstdlinewidth mul setlinewidth + t1showoncurvepoints 1 eq + { + newpath currsx x2 add currsy y2 add 1.5 currentlinewidth mul 0 360 arc closepath fill + } if + currsx currsy moveto + x2 y2 rlineto + stroke + /currsx currsx x2 add def + /currsy currsy y2 add def + /startsx currsx def + /startsy currsy def +} def + +/t1hintedrmoveto { + /y2 exch scale mul def + /x2 exch scale mul def + t1hmovecolor setrgbcolor + t1hmovedash setdash + t1hmovescale t1dumpstdlinewidth mul setlinewidth + t1showoncurvepoints 1 eq + { + newpath currhx x2 add currhy y2 add 1.5 currentlinewidth mul 0 360 arc closepath fill + } if + currhx currhy moveto + x2 y2 rlineto + stroke + /currhx currhx x2 add def + /currhy currhy y2 add def + /starthx currhx def + /starthy currhy def +} def + +/t1rrcurveto { + /y4 exch scale mul def + /x4 exch scale mul def + /y3 exch scale mul def + /x3 exch scale mul def + /y2 exch scale mul def + /x2 exch scale mul def + t1curvecolor setrgbcolor + t1curvedash setdash + t1curvescale t1dumpstdlinewidth mul setlinewidth + t1showoffcurvepoints 1 eq + { + + newpath currx x2 add curry y2 add 1.0 currentlinewidth mul 0 360 arc closepath fill + newpath currx x2 x3 add add curry y2 y3 add add 1.0 currentlinewidth mul 0 360 arc closepath fill + } if + t1showoncurvepoints 1 eq + { + newpath currx x2 x3 x4 add add add curry y2 y3 y4 add add add 1.5 currentlinewidth mul 0 360 arc closepath fill + } if + t1showbeziertangents 1 eq + { + [2 2] 0 setdash + t1curvetangentscale currentlinewidth mul setlinewidth + currx curry moveto + currx x2 add curry y2 add lineto + stroke + currx x2 x3 add add curry y2 y3 add add moveto + currx x2 x3 x4 add add add curry y2 y3 y4 add add add lineto + stroke + } if + t1curvedash setdash + t1curvescale t1dumpstdlinewidth mul setlinewidth + currx curry moveto + x2 y2 x2 x3 add y2 y3 add x2 x3 x4 add add y2 y3 y4 add add rcurveto + stroke + /currx currx x2 x3 x4 add add add def + /curry curry y2 y3 y4 add add add def +} def + +/t1srrcurveto { + /y4 exch scale mul def + /x4 exch scale mul def + /y3 exch scale mul def + /x3 exch scale mul def + /y2 exch scale mul def + /x2 exch scale mul def + t1scurvecolor setrgbcolor + t1scurvedash setdash + t1scurvescale t1dumpstdlinewidth mul setlinewidth + t1showoffcurvepoints 1 eq + { + newpath currsx x2 add currsy y2 add 1.0 currentlinewidth mul 0 360 arc closepath fill + newpath currsx x2 x3 add add currsy y2 y3 add add 1.0 currentlinewidth mul 0 360 arc closepath fill + } if + t1showoncurvepoints 1 eq + { + newpath currsx x2 x3 x4 add add add currsy y2 y3 y4 add add add 1.5 currentlinewidth mul 0 360 arc closepath fill + } if + t1showbeziertangents 1 eq + { + [2 2] 0 setdash + t1curvetangentscale currentlinewidth mul setlinewidth + currsx currsy moveto + currsx x2 add currsy y2 add lineto + stroke + currsx x2 x3 add add currsy y2 y3 add add moveto + currsx x2 x3 x4 add add add currsy y2 y3 y4 add add add lineto + stroke + } if + t1scurvedash setdash + t1scurvescale t1dumpstdlinewidth mul setlinewidth + currsx currsy moveto + x2 y2 x2 x3 add y2 y3 add x2 x3 x4 add add y2 y3 y4 add add rcurveto + stroke + /currsx currsx x2 x3 x4 add add add def + /currsy currsy y2 y3 y4 add add add def +} def + +/t1hintedrrcurveto { + /y4 exch scale mul def + /x4 exch scale mul def + /y3 exch scale mul def + /x3 exch scale mul def + /y2 exch scale mul def + /x2 exch scale mul def + t1hcurvecolor setrgbcolor + t1hcurvedash setdash + t1hcurvescale t1dumpstdlinewidth mul setlinewidth + t1showoncurvepoints 1 eq + { + newpath currhx x2 add currhy y2 add 1.0 currentlinewidth mul 0 360 arc closepath fill + newpath currhx x2 x3 add add currhy y2 y3 add add 1.0 currentlinewidth mul 0 360 arc closepath fill + } if + t1showoncurvepoints 1 eq + { + newpath currhx x2 x3 x4 add add add currhy y2 y3 y4 add add add 1.5 currentlinewidth mul 0 360 arc closepath fill + } if + t1showbeziertangents 1 eq + { + [2 2] 0 setdash + t1curvetangentscale currentlinewidth mul setlinewidth + currhx currhy moveto + currhx x2 add currhy y2 add lineto + stroke + currhx x2 x3 add add currhy y2 y3 add add moveto + currhx x2 x3 x4 add add add currhy y2 y3 y4 add add add lineto + stroke + } if + t1hcurvedash setdash + t1hcurvescale t1dumpstdlinewidth mul setlinewidth + currhx currhy moveto + x2 y2 x2 x3 add y2 y3 add x2 x3 x4 add add y2 y3 y4 add add rcurveto + stroke + /currhx currhx x2 x3 x4 add add add def + /currhy currhy y2 y3 y4 add add add def +} def + +/t1sbw { + /wy exch scale mul def + /wx exch scale mul def + /sby exch scale mul def + /sbx exch scale mul def + t1sbwcolor setrgbcolor + newpath sbx sby 3 0 360 arc closepath fill + newpath wx wy 3 0 360 arc closepath fill + /currx sbx def + /curry sby def + /currhx sbx def + /currhy sby def + /currsx sbx def + /currsy sby def +} def + +/t1closepath { + t1closepathdash setdash + t1closepathscale t1dumpstdlinewidth mul setlinewidth + t1closepathcolor setrgbcolor + currx curry moveto + startx starty lineto + stroke +} def + +/t1sclosepath { + t1sclosepathdash setdash + t1sclosepathscale t1dumpstdlinewidth mul setlinewidth + t1sclosepathcolor setrgbcolor + currsx currsy moveto + startsx startsy lineto + stroke +} def + +/t1hintedclosepath { + t1hclosepathdash setdash + t1hclosepathscale t1dumpstdlinewidth mul setlinewidth + t1hclosepathcolor setrgbcolor + currhx currhy moveto + starthx starthy lineto + stroke +} def + +/t1vstem { + t1drawstems 1 eq + { + /stemwidth exch scale mul def + /stemstart exch scale mul def + t1stemscale t1dumpstdlinewidth mul setlinewidth + t1stemcolor setrgbcolor + [] 0 setdash + stemstart ymindev moveto + stemstart ymaxdev lineto + stroke + [2 2] 0 setdash + stemwidth stemstart add ymindev moveto + stemwidth stemstart add ymaxdev lineto + stroke + } if +} def + +/t1alignedvstem { + t1drawstems 1 eq + { + /stemwidth exch scale mul def + /stemstart exch scale mul def + t1alignedstemscale t1dumpstdlinewidth mul setlinewidth + t1alignedstemcolor setrgbcolor + [] 0 setdash + stemstart ymindev moveto + stemstart ymaxdev lineto + stroke + [2 2] 0 setdash + stemwidth stemstart add ymindev moveto + stemwidth stemstart add ymaxdev lineto + stroke + } if +} def + +/t1hstem { + t1drawstems 1 eq + { + /stemwidth exch scale mul def + /stemstart exch scale mul def + t1stemscale t1dumpstdlinewidth mul setlinewidth + t1stemcolor setrgbcolor + [] 0 setdash + xmindev stemstart moveto + xmaxdev stemstart lineto + stroke + [2 2] 0 setdash + xmindev stemwidth stemstart add moveto + xmaxdev stemwidth stemstart add lineto + stroke + } if +} def + +/t1alignedhstem { + t1drawstems 1 eq + { + /stemwidth exch scale mul def + /stemstart exch scale mul def + t1alignedstemscale t1dumpstdlinewidth mul setlinewidth + t1alignedstemcolor setrgbcolor + [] 0 setdash + xmindev stemstart moveto + xmaxdev stemstart lineto + stroke + [2 2] 0 setdash + xmindev stemwidth stemstart add moveto + xmaxdev stemwidth stemstart add lineto + stroke + } if +} def + +/t1bottomzone { + t1drawzones 1 eq + { + /bottom exch scale mul def + /top exch scale mul def + t1bottomzonescale t1dumpstdlinewidth mul setlinewidth + t1bottomzonecolor setrgbcolor + [] 0 setdash + xmindev bottom moveto + xmaxdev bottom lineto + stroke + [2 2] 0 setdash + xmindev top moveto + xmaxdev top lineto + stroke + } if +} def + +/t1topzone { + t1drawzones 1 eq + { + /bottom exch scale mul def + /top exch scale mul def + t1topzonescale t1dumpstdlinewidth mul setlinewidth + t1topzonecolor setrgbcolor + [2 2] 0 setdash + xmindev bottom moveto + xmaxdev bottom lineto + stroke + [] 0 setdash + xmindev top moveto + xmaxdev top lineto + stroke + } if +} def + +end + +% Next follows drawing code from charstring commands: +T1LibDict begin + +gsave +15.000001 t1SetupSize +t1PreparePage +-0.329987 0.000000 t1bottomzone +10.244583 10.574570 t1topzone +6.464737 6.719727 t1topzone +9.989594 10.154587 t1topzone +-3.089874 -2.909882 t1bottomzone +-0.164993 0.374985 t1hstem +0.000000 1.000000 t1alignedhstem +2.414902 0.299988 t1hstem +2.000000 1.000000 t1alignedhstem +5.999756 0.464981 t1hstem +5.000000 1.000000 t1alignedhstem +8.924637 0.299988 t1hstem +9.000000 1.000000 t1alignedhstem +1.559937 1.034958 t1vstem +2.000000 1.000000 t1alignedvstem +4.604813 0.374985 t1vstem +4.000000 1.000000 t1alignedvstem +0.284988 0.000000 0.284988 0.000000 t1sbw +2.309906 5.999756 t1srmoveto +0.000000 -0.112495 t1sprolongate +2.144913 0.000000 t1srlineto +0.112495 0.000000 t1sprolongate +0.000000 0.112495 t1sprolongate +0.000000 0.464981 t1srlineto +0.000000 0.112495 t1sprolongate +-0.112495 0.000000 t1sprolongate +-2.144913 0.000000 t1srlineto +-0.000000 -0.112495 t1sprolongate +0.112495 -0.000000 t1sprolongate +0.000000 2.759888 t1srlineto +0.000000 0.112495 t1sprolongate +-0.112495 0.000000 t1sprolongate +-0.374985 0.000000 t1srlineto +-0.111132 0.000000 t1sprolongate +-0.001355 -0.111124 t1sprolongate +-0.014942 -1.225209 -0.444926 -1.502841 -1.367155 -0.055802 t1srrcurveto +-0.107908 -0.004404 t1sprolongate +0.000000 -0.107997 t1sprolongate +0.000000 -0.329987 t1srlineto +0.000000 -0.112495 t1sprolongate +0.112495 0.000000 t1sprolongate +1.274948 0.000000 t1srlineto +-0.000000 0.112495 t1sprolongate +-0.112495 -0.000000 t1sprolongate +0.000000 -4.139832 t1srlineto +0.000000 -1.938169 1.481412 -0.199244 0.566005 0.000000 t1srrcurveto +1.163073 0.000000 0.434362 1.158258 0.000000 0.979156 t1srrcurveto +0.000000 0.854965 t1srlineto +0.000000 0.112495 t1sprolongate +-0.112495 0.000000 t1sprolongate +-0.374985 0.000000 t1srlineto +-0.112495 0.000000 t1sprolongate +0.000000 -0.112495 t1sprolongate +0.000000 -0.824966 t1srlineto +0.000000 -1.086171 -0.432363 -0.481265 -0.460100 0.000000 t1srrcurveto +-0.872319 0.000000 -0.020145 1.203144 0.000000 0.304295 t1srrcurveto +0.000000 4.169830 t1srlineto +-0.112495 0.000000 t1sprolongate +t1sclosepath +-0.112495 0.112495 t1srmoveto +-0.000000 -0.112495 t1sprolongate +0.000000 -4.169830 t1srlineto +0.000000 -0.205685 -0.020145 -1.526745 1.137599 0.000000 t1srrcurveto +0.649854 0.000000 0.467600 0.658688 0.000000 1.133739 t1srrcurveto +0.000000 0.824966 t1srlineto +-0.112495 -0.000000 t1sprolongate +-0.000000 -0.112495 t1sprolongate +0.374985 0.000000 t1srlineto +0.000000 0.112495 t1sprolongate +-0.112495 0.000000 t1sprolongate +0.000000 -0.854965 t1srlineto +0.000000 -0.940766 -0.405604 -0.971656 -0.966840 0.000000 t1srrcurveto +-0.513951 0.000000 -1.308475 0.160742 0.000000 1.751680 t1srrcurveto +0.000000 4.139832 t1srlineto +-0.000000 0.112495 t1sprolongate +-0.112495 -0.000000 t1sprolongate +-1.274948 0.000000 t1srlineto +0.000000 -0.112495 t1sprolongate +0.112495 0.000000 t1sprolongate +0.000000 0.329987 t1srlineto +-0.112495 -0.000000 t1sprolongate +0.004588 -0.112402 t1sprolongate +1.572725 0.064193 0.455038 1.707028 0.015057 1.234691 t1srrcurveto +-0.112487 0.001372 t1sprolongate +-0.000000 -0.112495 t1sprolongate +0.374985 0.000000 t1srlineto +0.000000 0.112495 t1sprolongate +-0.112495 0.000000 t1sprolongate +0.000000 -2.759888 t1srlineto +-0.000000 -0.112495 t1sprolongate +0.112495 -0.000000 t1sprolongate +2.144913 0.000000 t1srlineto +0.000000 0.112495 t1sprolongate +-0.112495 0.000000 t1sprolongate +0.000000 -0.464981 t1srlineto +0.112495 -0.000000 t1sprolongate +-0.000000 0.112495 t1sprolongate +-2.144913 0.000000 t1srlineto +-0.112495 -0.000000 t1sprolongate +t1sclosepath +0.112495 -4.282326 t1srmoveto +t1FinishPage +0.284988 0.000000 0.284988 0.000000 t1sbw +2.309906 5.999756 t1rmoveto +2.144913 0.000000 t1rlineto +0.000000 0.464981 t1rlineto +-2.144913 0.000000 t1rlineto +0.000000 2.759888 t1rlineto +-0.374985 0.000000 t1rlineto +-0.014999 -1.229950 -0.449982 -1.604935 -1.469940 -0.059998 t1rrcurveto +0.000000 -0.329987 t1rlineto +1.274948 0.000000 t1rlineto +0.000000 -4.139832 t1rlineto +0.000000 -1.844925 1.394943 -0.179993 0.539978 0.000000 t1rrcurveto +1.064957 0.000000 0.419983 1.064957 0.000000 0.959961 t1rrcurveto +0.000000 0.854965 t1rlineto +-0.374985 0.000000 t1rlineto +0.000000 -0.824966 t1rlineto +0.000000 -1.109955 -0.449982 -0.569977 -0.554977 0.000000 t1rrcurveto +-1.004959 0.000000 0.000000 1.364944 0.000000 0.254990 t1rrcurveto +t1closepath +t1FinishPage +grestore + +end diff --git a/Build/source/libs/t1lib/t1lib-5.1.2/doc/t1dump/t1dump_t_2.pdf b/Build/source/libs/t1lib/t1lib-5.1.2/doc/t1dump/t1dump_t_2.pdf Binary files differnew file mode 100644 index 00000000000..bb5f24dec0f --- /dev/null +++ b/Build/source/libs/t1lib/t1lib-5.1.2/doc/t1dump/t1dump_t_2.pdf |