From 30dd9f517c9c093ff3319061647a4555264f7914 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 28 Dec 2005 00:07:27 +0000 Subject: trunk git-svn-id: svn://tug.org/texlive/trunk@9 c570f23f-e606-0410-a88d-b1316a301751 --- Master/xemtex/doc/ghostscript/API.htm | 671 + Master/xemtex/doc/ghostscript/C-style.htm | 1588 +++ Master/xemtex/doc/ghostscript/CJK.htm | 497 + Master/xemtex/doc/ghostscript/CJKTTCID.htm | 409 + Master/xemtex/doc/ghostscript/COPYING | 340 + Master/xemtex/doc/ghostscript/COPYING.LGPL | 510 + Master/xemtex/doc/ghostscript/Changes.htm | 288 + Master/xemtex/doc/ghostscript/Current.htm | 272 + Master/xemtex/doc/ghostscript/DLL.htm | 703 + Master/xemtex/doc/ghostscript/Develop.htm | 4327 ++++++ Master/xemtex/doc/ghostscript/Devices.htm | 6046 ++++++++ Master/xemtex/doc/ghostscript/Drivers.htm | 2538 ++++ Master/xemtex/doc/ghostscript/Fonts.htm | 1288 ++ Master/xemtex/doc/ghostscript/Helpers.htm | 303 + Master/xemtex/doc/ghostscript/Hershey.htm | 305 + Master/xemtex/doc/ghostscript/History1.htm | 436 + Master/xemtex/doc/ghostscript/History2.htm | 5231 +++++++ Master/xemtex/doc/ghostscript/History3.htm | 8597 ++++++++++++ Master/xemtex/doc/ghostscript/History4.htm | 3980 ++++++ Master/xemtex/doc/ghostscript/History5.htm | 13454 ++++++++++++++++++ Master/xemtex/doc/ghostscript/History6.htm | 7293 ++++++++++ Master/xemtex/doc/ghostscript/History7.htm | 5109 +++++++ Master/xemtex/doc/ghostscript/Htmstyle.htm | 778 ++ Master/xemtex/doc/ghostscript/Humor.htm | 99 + Master/xemtex/doc/ghostscript/Install.htm | 540 + Master/xemtex/doc/ghostscript/Issues.htm | 502 + Master/xemtex/doc/ghostscript/Language.htm | 1897 +++ Master/xemtex/doc/ghostscript/Lib.htm | 491 + Master/xemtex/doc/ghostscript/Maintain.htm | 210 + Master/xemtex/doc/ghostscript/Make.htm | 2766 ++++ Master/xemtex/doc/ghostscript/New-user.htm | 592 + Master/xemtex/doc/ghostscript/News.htm | 96 + Master/xemtex/doc/ghostscript/Projects.htm | 629 + Master/xemtex/doc/ghostscript/Ps-style.htm | 514 + Master/xemtex/doc/ghostscript/Ps2epsi.htm | 154 + Master/xemtex/doc/ghostscript/Ps2pdf.htm | 502 + Master/xemtex/doc/ghostscript/Psfiles.htm | 832 ++ Master/xemtex/doc/ghostscript/README | 391 + Master/xemtex/doc/ghostscript/Readme.htm | 634 + Master/xemtex/doc/ghostscript/Release.htm | 769 + Master/xemtex/doc/ghostscript/Source.htm | 383 + Master/xemtex/doc/ghostscript/Unix-lpr.htm | 267 + Master/xemtex/doc/ghostscript/Use.htm | 3036 ++++ Master/xemtex/doc/ghostscript/Xfonts.htm | 265 + Master/xemtex/doc/ghostscript/examples/alphabet.ps | 62 + Master/xemtex/doc/ghostscript/examples/annots.pdf | Bin 0 -> 500156 bytes .../xemtex/doc/ghostscript/examples/cjk/all_ac1.ps | 221 + .../xemtex/doc/ghostscript/examples/cjk/all_ag1.ps | 218 + .../xemtex/doc/ghostscript/examples/cjk/all_aj1.ps | 218 + .../xemtex/doc/ghostscript/examples/cjk/all_aj2.ps | 214 + .../xemtex/doc/ghostscript/examples/cjk/all_ak1.ps | 215 + .../doc/ghostscript/examples/cjk/gscjk_ac.ps | 120 + .../doc/ghostscript/examples/cjk/gscjk_ag.ps | 120 + .../doc/ghostscript/examples/cjk/gscjk_aj.ps | 114 + .../doc/ghostscript/examples/cjk/gscjk_ak.ps | 116 + .../xemtex/doc/ghostscript/examples/cjk/iso2022.ps | 1256 ++ Master/xemtex/doc/ghostscript/examples/colorcir.ps | 125 + Master/xemtex/doc/ghostscript/examples/doretree.ps | 2485 ++++ Master/xemtex/doc/ghostscript/examples/escher.ps | 384 + Master/xemtex/doc/ghostscript/examples/golfer.ps | 1401 ++ Master/xemtex/doc/ghostscript/examples/grayalph.ps | 65 + Master/xemtex/doc/ghostscript/examples/ridt91.eps | 135 + Master/xemtex/doc/ghostscript/examples/snowflak.ps | 93 + Master/xemtex/doc/ghostscript/examples/tiger.ps | 2737 ++++ Master/xemtex/doc/ghostscript/examples/vasarely.ps | 588 + Master/xemtex/doc/ghostscript/examples/waterfal.ps | 80 + Master/xemtex/doc/ghostscript/gs-vms.hlp | 293 + Master/xemtex/doc/ghostscript/gs.css | 73 + Master/xemtex/doc/ghostscript/gsdoc.el | 701 + Master/xemtex/doc/ghostscript/index.html | 14 + Master/xemtex/gsfonts/a010013l.afm | 1341 ++ Master/xemtex/gsfonts/a010013l.pfb | Bin 0 -> 34871 bytes Master/xemtex/gsfonts/a010013l.pfm | Bin 0 -> 4679 bytes Master/xemtex/gsfonts/a010015l.afm | 1341 ++ Master/xemtex/gsfonts/a010015l.pfb | Bin 0 -> 36354 bytes Master/xemtex/gsfonts/a010015l.pfm | Bin 0 -> 4682 bytes Master/xemtex/gsfonts/a010033l.afm | 1341 ++ Master/xemtex/gsfonts/a010033l.pfb | Bin 0 -> 35156 bytes Master/xemtex/gsfonts/a010033l.pfm | Bin 0 -> 4683 bytes Master/xemtex/gsfonts/a010035l.afm | 1341 ++ Master/xemtex/gsfonts/a010035l.pfb | Bin 0 -> 36128 bytes Master/xemtex/gsfonts/a010035l.pfm | Bin 0 -> 4686 bytes Master/xemtex/gsfonts/b018012l.afm | 1341 ++ Master/xemtex/gsfonts/b018012l.pfb | Bin 0 -> 44934 bytes Master/xemtex/gsfonts/b018012l.pfm | Bin 0 -> 4681 bytes Master/xemtex/gsfonts/b018015l.afm | 1341 ++ Master/xemtex/gsfonts/b018015l.pfb | Bin 0 -> 44768 bytes Master/xemtex/gsfonts/b018015l.pfm | Bin 0 -> 4685 bytes Master/xemtex/gsfonts/b018032l.afm | 1341 ++ Master/xemtex/gsfonts/b018032l.pfb | Bin 0 -> 44162 bytes Master/xemtex/gsfonts/b018032l.pfm | Bin 0 -> 4685 bytes Master/xemtex/gsfonts/b018035l.afm | 1341 ++ Master/xemtex/gsfonts/b018035l.pfb | Bin 0 -> 44950 bytes Master/xemtex/gsfonts/b018035l.pfm | Bin 0 -> 4689 bytes Master/xemtex/gsfonts/c059013l.afm | 1341 ++ Master/xemtex/gsfonts/c059013l.pfb | Bin 0 -> 46830 bytes Master/xemtex/gsfonts/c059013l.pfm | Bin 0 -> 4681 bytes Master/xemtex/gsfonts/c059016l.afm | 1341 ++ Master/xemtex/gsfonts/c059016l.pfb | Bin 0 -> 48864 bytes Master/xemtex/gsfonts/c059016l.pfm | Bin 0 -> 4681 bytes Master/xemtex/gsfonts/c059033l.afm | 1341 ++ Master/xemtex/gsfonts/c059033l.pfb | Bin 0 -> 45832 bytes Master/xemtex/gsfonts/c059033l.pfm | Bin 0 -> 4681 bytes Master/xemtex/gsfonts/c059036l.afm | 1341 ++ Master/xemtex/gsfonts/c059036l.pfb | Bin 0 -> 47083 bytes Master/xemtex/gsfonts/c059036l.pfm | Bin 0 -> 4685 bytes Master/xemtex/gsfonts/d050000l.afm | 226 + Master/xemtex/gsfonts/d050000l.pfb | Bin 0 -> 45955 bytes Master/xemtex/gsfonts/d050000l.pfm | Bin 0 -> 674 bytes Master/xemtex/gsfonts/fonts.dir | 44 + Master/xemtex/gsfonts/fonts.scale | 44 + Master/xemtex/gsfonts/n019003l.afm | 1341 ++ Master/xemtex/gsfonts/n019003l.pfb | Bin 0 -> 36026 bytes Master/xemtex/gsfonts/n019003l.pfm | Bin 0 -> 4679 bytes Master/xemtex/gsfonts/n019004l.afm | 1341 ++ Master/xemtex/gsfonts/n019004l.pfb | Bin 0 -> 35941 bytes Master/xemtex/gsfonts/n019004l.pfm | Bin 0 -> 4679 bytes Master/xemtex/gsfonts/n019023l.afm | 1341 ++ Master/xemtex/gsfonts/n019023l.pfb | Bin 0 -> 38314 bytes Master/xemtex/gsfonts/n019023l.pfm | Bin 0 -> 4683 bytes Master/xemtex/gsfonts/n019024l.afm | 1341 ++ Master/xemtex/gsfonts/n019024l.pfb | Bin 0 -> 39013 bytes Master/xemtex/gsfonts/n019024l.pfm | Bin 0 -> 4683 bytes Master/xemtex/gsfonts/n019043l.afm | 1341 ++ Master/xemtex/gsfonts/n019043l.pfb | Bin 0 -> 36615 bytes Master/xemtex/gsfonts/n019043l.pfm | Bin 0 -> 4686 bytes Master/xemtex/gsfonts/n019044l.afm | 1341 ++ Master/xemtex/gsfonts/n019044l.pfb | Bin 0 -> 37240 bytes Master/xemtex/gsfonts/n019044l.pfm | Bin 0 -> 4686 bytes Master/xemtex/gsfonts/n019063l.afm | 1341 ++ Master/xemtex/gsfonts/n019063l.pfb | Bin 0 -> 37247 bytes Master/xemtex/gsfonts/n019063l.pfm | Bin 0 -> 4690 bytes Master/xemtex/gsfonts/n019064l.afm | 1341 ++ Master/xemtex/gsfonts/n019064l.pfb | Bin 0 -> 38310 bytes Master/xemtex/gsfonts/n019064l.pfm | Bin 0 -> 4690 bytes Master/xemtex/gsfonts/n021003l.afm | 1341 ++ Master/xemtex/gsfonts/n021003l.pfb | Bin 0 -> 46026 bytes Master/xemtex/gsfonts/n021003l.pfm | Bin 0 -> 4685 bytes Master/xemtex/gsfonts/n021004l.afm | 1341 ++ Master/xemtex/gsfonts/n021004l.pfb | Bin 0 -> 44729 bytes Master/xemtex/gsfonts/n021004l.pfm | Bin 0 -> 4685 bytes Master/xemtex/gsfonts/n021023l.afm | 1341 ++ Master/xemtex/gsfonts/n021023l.pfb | Bin 0 -> 45458 bytes Master/xemtex/gsfonts/n021023l.pfm | Bin 0 -> 4689 bytes Master/xemtex/gsfonts/n021024l.afm | 1341 ++ Master/xemtex/gsfonts/n021024l.pfb | Bin 0 -> 44656 bytes Master/xemtex/gsfonts/n021024l.pfm | Bin 0 -> 4689 bytes Master/xemtex/gsfonts/n022003l.afm | 1341 ++ Master/xemtex/gsfonts/n022003l.pfb | Bin 0 -> 45758 bytes Master/xemtex/gsfonts/n022003l.pfm | Bin 0 -> 4679 bytes Master/xemtex/gsfonts/n022004l.afm | 1341 ++ Master/xemtex/gsfonts/n022004l.pfb | Bin 0 -> 50493 bytes Master/xemtex/gsfonts/n022004l.pfm | Bin 0 -> 4679 bytes Master/xemtex/gsfonts/n022023l.afm | 1341 ++ Master/xemtex/gsfonts/n022023l.pfb | Bin 0 -> 44404 bytes Master/xemtex/gsfonts/n022023l.pfm | Bin 0 -> 4683 bytes Master/xemtex/gsfonts/n022024l.afm | 1341 ++ Master/xemtex/gsfonts/n022024l.pfb | Bin 0 -> 51527 bytes Master/xemtex/gsfonts/n022024l.pfm | Bin 0 -> 4683 bytes Master/xemtex/gsfonts/p052003l.afm | 1341 ++ Master/xemtex/gsfonts/p052003l.pfb | Bin 0 -> 52665 bytes Master/xemtex/gsfonts/p052003l.pfm | Bin 0 -> 4683 bytes Master/xemtex/gsfonts/p052004l.afm | 1341 ++ Master/xemtex/gsfonts/p052004l.pfb | Bin 0 -> 52406 bytes Master/xemtex/gsfonts/p052004l.pfm | Bin 0 -> 4683 bytes Master/xemtex/gsfonts/p052023l.afm | 1341 ++ Master/xemtex/gsfonts/p052023l.pfb | Bin 0 -> 50022 bytes Master/xemtex/gsfonts/p052023l.pfm | Bin 0 -> 4683 bytes Master/xemtex/gsfonts/p052024l.afm | 1341 ++ Master/xemtex/gsfonts/p052024l.pfb | Bin 0 -> 51285 bytes Master/xemtex/gsfonts/p052024l.pfm | Bin 0 -> 4687 bytes Master/xemtex/gsfonts/s050000l.afm | 213 + Master/xemtex/gsfonts/s050000l.pfb | Bin 0 -> 33709 bytes Master/xemtex/gsfonts/s050000l.pfm | Bin 0 -> 682 bytes Master/xemtex/gsfonts/z003034l.afm | 1341 ++ Master/xemtex/gsfonts/z003034l.pfb | Bin 0 -> 49289 bytes Master/xemtex/gsfonts/z003034l.pfm | Bin 0 -> 4690 bytes Master/xemtex/gslib/CIDFnmap | 157 + Master/xemtex/gslib/CIDFnmap.ARP | 34 + Master/xemtex/gslib/CIDFnmap.Bae | 31 + Master/xemtex/gslib/CIDFnmap.CJK | 289 + Master/xemtex/gslib/CIDFnmap.Koc | 50 + Master/xemtex/gslib/CIDFnmap.Ore | 53 + Master/xemtex/gslib/CIDFnmap.Sol | 54 + Master/xemtex/gslib/CIDFnmap.Win | 79 + Master/xemtex/gslib/CIDFnmap.b5 | 26 + Master/xemtex/gslib/CIDFnmap.gb | 24 + Master/xemtex/gslib/CIDFnmap.ksx | 31 + Master/xemtex/gslib/CIDFnmap.sj | 81 + Master/xemtex/gslib/Fontmap | 3 + Master/xemtex/gslib/Fontmap.ATB | 169 + Master/xemtex/gslib/Fontmap.ATM | 186 + Master/xemtex/gslib/Fontmap.GS | 404 + Master/xemtex/gslib/Fontmap.OS2 | 215 + Master/xemtex/gslib/Fontmap.OSF | 163 + Master/xemtex/gslib/Fontmap.SGI | 406 + Master/xemtex/gslib/Fontmap.Sol | 487 + Master/xemtex/gslib/Fontmap.Ult | 147 + Master/xemtex/gslib/Fontmap.VMS | 424 + Master/xemtex/gslib/Info-macos.plist | 14 + Master/xemtex/gslib/acctest.ps | 100 + Master/xemtex/gslib/addxchar.ps | 358 + Master/xemtex/gslib/afmdiff.awk | 150 + Master/xemtex/gslib/align.ps | 74 + Master/xemtex/gslib/bdftops | 3 + Master/xemtex/gslib/bdftops.bat | 5 + Master/xemtex/gslib/bdftops.cmd | 7 + Master/xemtex/gslib/bdftops.ps | 796 ++ Master/xemtex/gslib/bj8.rpd | 17 + Master/xemtex/gslib/bj8gc12f.upp | 44 + Master/xemtex/gslib/bj8hg12f.upp | 44 + Master/xemtex/gslib/bj8oh06n.upp | 44 + Master/xemtex/gslib/bj8pa06n.upp | 44 + Master/xemtex/gslib/bj8pp12f.upp | 44 + Master/xemtex/gslib/bj8ts06n.upp | 44 + Master/xemtex/gslib/bjc610a0.upp | 44 + Master/xemtex/gslib/bjc610a1.upp | 44 + Master/xemtex/gslib/bjc610a2.upp | 44 + Master/xemtex/gslib/bjc610a3.upp | 44 + Master/xemtex/gslib/bjc610a4.upp | 45 + Master/xemtex/gslib/bjc610a5.upp | 44 + Master/xemtex/gslib/bjc610a6.upp | 44 + Master/xemtex/gslib/bjc610a7.upp | 44 + Master/xemtex/gslib/bjc610a8.upp | 44 + Master/xemtex/gslib/bjc610b1.upp | 44 + Master/xemtex/gslib/bjc610b2.upp | 44 + Master/xemtex/gslib/bjc610b3.upp | 44 + Master/xemtex/gslib/bjc610b4.upp | 45 + Master/xemtex/gslib/bjc610b6.upp | 44 + Master/xemtex/gslib/bjc610b7.upp | 44 + Master/xemtex/gslib/bjc610b8.upp | 44 + Master/xemtex/gslib/caption.ps | 57 + Master/xemtex/gslib/cbjc600.ppd | 404 + Master/xemtex/gslib/cbjc800.ppd | 389 + Master/xemtex/gslib/cdj550.upp | 48 + Master/xemtex/gslib/cdj690.upp | 52 + Master/xemtex/gslib/cdj690ec.upp | 54 + Master/xemtex/gslib/cid2code.ps | 161 + Master/xemtex/gslib/decrypt.ps | 14 + Master/xemtex/gslib/dnj750c.upp | 47 + Master/xemtex/gslib/dnj750m.upp | 59 + Master/xemtex/gslib/docie.ps | 219 + Master/xemtex/gslib/dvipdf | 40 + Master/xemtex/gslib/eps2eps | 20 + Master/xemtex/gslib/eps2eps.bat | 26 + Master/xemtex/gslib/eps2eps.cmd | 36 + Master/xemtex/gslib/errpage.ps | 363 + Master/xemtex/gslib/fixmswrd.pl | 208 + Master/xemtex/gslib/font2c | 3 + Master/xemtex/gslib/font2c.bat | 5 + Master/xemtex/gslib/font2c.cmd | 7 + Master/xemtex/gslib/font2c.ps | 676 + Master/xemtex/gslib/font2pcl.ps | 604 + Master/xemtex/gslib/gs_agl.ps | 1070 ++ Master/xemtex/gslib/gs_btokn.ps | 321 + Master/xemtex/gslib/gs_ccfnt.ps | 76 + Master/xemtex/gslib/gs_ce_e.ps | 48 + Master/xemtex/gslib/gs_cff.ps | 758 + Master/xemtex/gslib/gs_cidcm.ps | 511 + Master/xemtex/gslib/gs_cidfn.ps | 702 + Master/xemtex/gslib/gs_cmap.ps | 524 + Master/xemtex/gslib/gs_cmdl.ps | 181 + Master/xemtex/gslib/gs_css_e.ps | 115 + Master/xemtex/gslib/gs_dbt_e.ps | 60 + Master/xemtex/gslib/gs_diskf.ps | 225 + Master/xemtex/gslib/gs_dpnxt.ps | 113 + Master/xemtex/gslib/gs_dps.ps | 203 + Master/xemtex/gslib/gs_dps1.ps | 142 + Master/xemtex/gslib/gs_dps2.ps | 217 + Master/xemtex/gslib/gs_dscp.ps | 119 + Master/xemtex/gslib/gs_epsf.ps | 243 + Master/xemtex/gslib/gs_fform.ps | 93 + Master/xemtex/gslib/gs_fonts.ps | 1041 ++ Master/xemtex/gslib/gs_frsd.ps | 83 + Master/xemtex/gslib/gs_icc.ps | 115 + Master/xemtex/gslib/gs_il1_e.ps | 67 + Master/xemtex/gslib/gs_il2_e.ps | 64 + Master/xemtex/gslib/gs_init.ps | 1885 +++ Master/xemtex/gslib/gs_kanji.ps | 159 + Master/xemtex/gslib/gs_ksb_e.ps | 65 + Master/xemtex/gslib/gs_l.xbm | 29 + Master/xemtex/gslib/gs_l.xpm | 58 + Master/xemtex/gslib/gs_l2img.ps | 185 + Master/xemtex/gslib/gs_l_m.xbm | 29 + Master/xemtex/gslib/gs_lev2.ps | 935 ++ Master/xemtex/gslib/gs_lgo_e.ps | 92 + Master/xemtex/gslib/gs_lgx_e.ps | 61 + Master/xemtex/gslib/gs_ll3.ps | 469 + Master/xemtex/gslib/gs_m.xbm | 16 + Master/xemtex/gslib/gs_m.xpm | 44 + Master/xemtex/gslib/gs_m_m.xbm | 16 + Master/xemtex/gslib/gs_mex_e.ps | 67 + Master/xemtex/gslib/gs_mgl_e.ps | 65 + Master/xemtex/gslib/gs_mro_e.ps | 62 + Master/xemtex/gslib/gs_pdf_e.ps | 45 + Master/xemtex/gslib/gs_pdfwr.ps | 495 + Master/xemtex/gslib/gs_pfile.ps | 128 + Master/xemtex/gslib/gs_rdlin.ps | 21 + Master/xemtex/gslib/gs_res.ps | 928 ++ Master/xemtex/gslib/gs_s.xbm | 11 + Master/xemtex/gslib/gs_s.xpm | 36 + Master/xemtex/gslib/gs_s_m.xbm | 11 + Master/xemtex/gslib/gs_setpd.ps | 777 ++ Master/xemtex/gslib/gs_statd.ps | 366 + Master/xemtex/gslib/gs_std_e.ps | 74 + Master/xemtex/gslib/gs_sym_e.ps | 84 + Master/xemtex/gslib/gs_t.xbm | 8 + Master/xemtex/gslib/gs_t.xpm | 28 + Master/xemtex/gslib/gs_t_m.xbm | 8 + Master/xemtex/gslib/gs_trap.ps | 104 + Master/xemtex/gslib/gs_ttf.ps | 1789 +++ Master/xemtex/gslib/gs_typ32.ps | 128 + Master/xemtex/gslib/gs_typ42.ps | 45 + Master/xemtex/gslib/gs_type1.ps | 183 + Master/xemtex/gslib/gs_wan_e.ps | 47 + Master/xemtex/gslib/gs_wl1_e.ps | 67 + Master/xemtex/gslib/gs_wl2_e.ps | 67 + Master/xemtex/gslib/gs_wl5_e.ps | 67 + Master/xemtex/gslib/gsbj | 3 + Master/xemtex/gslib/gsbj.bat | 5 + Master/xemtex/gslib/gsdj | 3 + Master/xemtex/gslib/gsdj.bat | 5 + Master/xemtex/gslib/gsdj500 | 3 + Master/xemtex/gslib/gsdj500.bat | 5 + Master/xemtex/gslib/gslj | 3 + Master/xemtex/gslib/gslj.bat | 5 + Master/xemtex/gslib/gslp | 3 + Master/xemtex/gslib/gslp.bat | 5 + Master/xemtex/gslib/gslp.ps | 695 + Master/xemtex/gslib/gsnd | 3 + Master/xemtex/gslib/gsnd.bat | 5 + Master/xemtex/gslib/gsndt.bat | 5 + Master/xemtex/gslib/gsnup.ps | 89 + Master/xemtex/gslib/gssetgs.bat | 8 + Master/xemtex/gslib/gst.bat | 5 + Master/xemtex/gslib/gstt.bat | 5 + Master/xemtex/gslib/ht_ccsto.ps | 3171 +++++ Master/xemtex/gslib/image-qa.ps | 1827 +++ Master/xemtex/gslib/impath.ps | 180 + Master/xemtex/gslib/jispaper.ps | 28 + Master/xemtex/gslib/landscap.ps | 31 + Master/xemtex/gslib/level1.ps | 3 + Master/xemtex/gslib/lines.ps | 166 + Master/xemtex/gslib/lp386.bat | 2 + Master/xemtex/gslib/lp386r2.bat | 2 + Master/xemtex/gslib/lpgs.bat | 5 + Master/xemtex/gslib/lpr2.bat | 5 + Master/xemtex/gslib/lprsetup.sh | 189 + Master/xemtex/gslib/markhint.ps | 131 + Master/xemtex/gslib/markpath.ps | 60 + Master/xemtex/gslib/necp2x.upp | 35 + Master/xemtex/gslib/necp2x6.upp | 35 + Master/xemtex/gslib/packfile.ps | 334 + Master/xemtex/gslib/pcharstr.ps | 127 + Master/xemtex/gslib/pdf2dsc | 26 + Master/xemtex/gslib/pdf2dsc.bat | 18 + Master/xemtex/gslib/pdf2dsc.ps | 166 + Master/xemtex/gslib/pdf2ps | 29 + Master/xemtex/gslib/pdf2ps.bat | 24 + Master/xemtex/gslib/pdf2ps.cmd | 41 + Master/xemtex/gslib/pdf_base.ps | 640 + Master/xemtex/gslib/pdf_draw.ps | 1151 ++ Master/xemtex/gslib/pdf_font.ps | 1224 ++ Master/xemtex/gslib/pdf_main.ps | 813 ++ Master/xemtex/gslib/pdf_ops.ps | 521 + Master/xemtex/gslib/pdf_sec.ps | 361 + Master/xemtex/gslib/pdfopt | 20 + Master/xemtex/gslib/pdfopt.bat | 22 + Master/xemtex/gslib/pdfopt.ps | 1126 ++ Master/xemtex/gslib/pdfwrite.ps | 284 + Master/xemtex/gslib/pf2afm | 8 + Master/xemtex/gslib/pf2afm.bat | 17 + Master/xemtex/gslib/pf2afm.cmd | 7 + Master/xemtex/gslib/pf2afm.ps | 497 + Master/xemtex/gslib/pfbtopfa | 16 + Master/xemtex/gslib/pfbtopfa.ps | 35 + Master/xemtex/gslib/pftogsf.bat | 20 + Master/xemtex/gslib/pj-gs.sh | 289 + Master/xemtex/gslib/ppath.ps | 55 + Master/xemtex/gslib/pphs | 7 + Master/xemtex/gslib/pphs.ps | 222 + Master/xemtex/gslib/prfont.ps | 242 + Master/xemtex/gslib/printafm | 7 + Master/xemtex/gslib/printafm.ps | 149 + Master/xemtex/gslib/ps2ai.ps | 552 + Master/xemtex/gslib/ps2ascii | 18 + Master/xemtex/gslib/ps2ascii.bat | 15 + Master/xemtex/gslib/ps2ascii.cmd | 18 + Master/xemtex/gslib/ps2ascii.ps | 1509 ++ Master/xemtex/gslib/ps2epsi | 78 + Master/xemtex/gslib/ps2epsi.bat | 28 + Master/xemtex/gslib/ps2epsi.cmd | 31 + Master/xemtex/gslib/ps2epsi.ps | 248 + Master/xemtex/gslib/ps2pdf | 7 + Master/xemtex/gslib/ps2pdf.bat | 18 + Master/xemtex/gslib/ps2pdf.cmd | 43 + Master/xemtex/gslib/ps2pdf12 | 5 + Master/xemtex/gslib/ps2pdf12.bat | 15 + Master/xemtex/gslib/ps2pdf12.cmd | 11 + Master/xemtex/gslib/ps2pdf13 | 5 + Master/xemtex/gslib/ps2pdf13.bat | 15 + Master/xemtex/gslib/ps2pdf13.cmd | 11 + Master/xemtex/gslib/ps2pdf14 | 5 + Master/xemtex/gslib/ps2pdf14.bat | 15 + Master/xemtex/gslib/ps2pdf14.cmd | 11 + Master/xemtex/gslib/ps2pdfwr | 36 + Master/xemtex/gslib/ps2pdfxx.bat | 56 + Master/xemtex/gslib/ps2ps | 20 + Master/xemtex/gslib/ps2ps.bat | 23 + Master/xemtex/gslib/ps2ps.cmd | 36 + Master/xemtex/gslib/pv.sh | 37 + Master/xemtex/gslib/quit.ps | 1 + Master/xemtex/gslib/ras1.upp | 8 + Master/xemtex/gslib/ras24.upp | 8 + Master/xemtex/gslib/ras3.upp | 8 + Master/xemtex/gslib/ras32.upp | 8 + Master/xemtex/gslib/ras4.upp | 8 + Master/xemtex/gslib/ras8m.upp | 8 + Master/xemtex/gslib/rollconv.ps | 385 + Master/xemtex/gslib/showchar.ps | 94 + Master/xemtex/gslib/showpage.ps | 1 + Master/xemtex/gslib/st640ih.upp | 57 + Master/xemtex/gslib/st640ihg.upp | 42 + Master/xemtex/gslib/st640p.upp | 49 + Master/xemtex/gslib/st640pg.upp | 34 + Master/xemtex/gslib/st640pl.upp | 49 + Master/xemtex/gslib/st640plg.upp | 34 + Master/xemtex/gslib/stc.upp | 53 + Master/xemtex/gslib/stc1520h.upp | 58 + Master/xemtex/gslib/stc2.upp | 53 + Master/xemtex/gslib/stc200_h.upp | 51 + Master/xemtex/gslib/stc2_h.upp | 53 + Master/xemtex/gslib/stc2s_h.upp | 57 + Master/xemtex/gslib/stc300.upp | 60 + Master/xemtex/gslib/stc300bl.upp | 40 + Master/xemtex/gslib/stc300bm.upp | 43 + Master/xemtex/gslib/stc500p.upp | 48 + Master/xemtex/gslib/stc500ph.upp | 48 + Master/xemtex/gslib/stc600ih.upp | 58 + Master/xemtex/gslib/stc600p.upp | 34 + Master/xemtex/gslib/stc600pl.upp | 34 + Master/xemtex/gslib/stc640p.upp | 33 + Master/xemtex/gslib/stc800ih.upp | 58 + Master/xemtex/gslib/stc800p.upp | 34 + Master/xemtex/gslib/stc800pl.upp | 34 + Master/xemtex/gslib/stc_h.upp | 53 + Master/xemtex/gslib/stc_l.upp | 26 + Master/xemtex/gslib/stcany.upp | 24 + Master/xemtex/gslib/stcany_h.upp | 24 + Master/xemtex/gslib/stcinfo.ps | 800 ++ Master/xemtex/gslib/stcolor.ps | 172 + Master/xemtex/gslib/stocht.ps | 63 + Master/xemtex/gslib/sysvlp.sh | 46 + Master/xemtex/gslib/traceimg.ps | 43 + Master/xemtex/gslib/traceop.ps | 84 + Master/xemtex/gslib/type1enc.ps | 66 + Master/xemtex/gslib/type1ops.ps | 238 + Master/xemtex/gslib/uninfo.ps | 221 + Master/xemtex/gslib/unix-lpr.sh | 161 + Master/xemtex/gslib/unprot.ps | 68 + Master/xemtex/gslib/viewcmyk.ps | 64 + Master/xemtex/gslib/viewgif.ps | 161 + Master/xemtex/gslib/viewjpeg.ps | 153 + Master/xemtex/gslib/viewmiff.ps | 125 + Master/xemtex/gslib/viewpbm.ps | 185 + Master/xemtex/gslib/viewpcx.ps | 151 + Master/xemtex/gslib/viewps2a.ps | 33 + Master/xemtex/gslib/wftopfa | 3 + Master/xemtex/gslib/wftopfa.ps | 304 + Master/xemtex/gslib/winmaps.ps | 107 + Master/xemtex/gslib/wmakebat.bat | 4 + Master/xemtex/gslib/wrfont.ps | 663 + Master/xemtex/gslib/zeroline.ps | 101 + Master/xemtex/perl/lib/AnyDBM_File.pm | 93 + Master/xemtex/perl/lib/AutoLoader.pm | 337 + Master/xemtex/perl/lib/B.pm | 971 ++ Master/xemtex/perl/lib/B/Deparse.pm | 4233 ++++++ Master/xemtex/perl/lib/Carp.pm | 196 + Master/xemtex/perl/lib/Carp/Heavy.pm | 247 + Master/xemtex/perl/lib/Class/Struct.pm | 632 + Master/xemtex/perl/lib/Config.pm | 8895 ++++++++++++ Master/xemtex/perl/lib/Cwd.pm | 570 + Master/xemtex/perl/lib/Data/Dumper.pm | 1160 ++ Master/xemtex/perl/lib/Digest/MD5.pm | 279 + Master/xemtex/perl/lib/DynaLoader.pm | 826 ++ Master/xemtex/perl/lib/Errno.pm | 221 + Master/xemtex/perl/lib/Exporter.pm | 416 + Master/xemtex/perl/lib/Exporter/Heavy.pm | 232 + Master/xemtex/perl/lib/Fcntl.pm | 216 + Master/xemtex/perl/lib/File/Basename.pm | 289 + Master/xemtex/perl/lib/File/Compare.pm | 178 + Master/xemtex/perl/lib/File/Copy.pm | 443 + Master/xemtex/perl/lib/File/Find.pm | 1212 ++ Master/xemtex/perl/lib/File/Glob.pm | 465 + Master/xemtex/perl/lib/File/Path.pm | 267 + Master/xemtex/perl/lib/File/Spec.pm | 292 + Master/xemtex/perl/lib/File/Spec/Unix.pm | 482 + Master/xemtex/perl/lib/File/Spec/Win32.pm | 370 + Master/xemtex/perl/lib/File/Temp.pm | 1876 +++ Master/xemtex/perl/lib/FindBin.pm | 183 + Master/xemtex/perl/lib/Getopt/Long.pm | 2048 +++ Master/xemtex/perl/lib/IO.pm | 47 + Master/xemtex/perl/lib/IO/File.pm | 169 + Master/xemtex/perl/lib/IO/Handle.pm | 613 + Master/xemtex/perl/lib/IO/Seekable.pm | 128 + Master/xemtex/perl/lib/List/Util.pm | 194 + Master/xemtex/perl/lib/POSIX.pm | 950 ++ Master/xemtex/perl/lib/SDBM_File.pm | 116 + Master/xemtex/perl/lib/Scalar/Util.pm | 170 + Master/xemtex/perl/lib/SelectSaver.pm | 54 + Master/xemtex/perl/lib/Symbol.pm | 162 + Master/xemtex/perl/lib/Term/Cap.pm | 651 + Master/xemtex/perl/lib/Text/ParseWords.pm | 263 + Master/xemtex/perl/lib/Text/Tabs.pm | 97 + Master/xemtex/perl/lib/Text/Wrap.pm | 211 + Master/xemtex/perl/lib/Tie/Hash.pm | 243 + Master/xemtex/perl/lib/Tie/Scalar.pm | 140 + Master/xemtex/perl/lib/Time/HiRes.pm | 357 + Master/xemtex/perl/lib/Time/Local.pm | 255 + Master/xemtex/perl/lib/UNIVERSAL.pm | 118 + Master/xemtex/perl/lib/XSLoader.pm | 138 + Master/xemtex/perl/lib/attributes.pm | 414 + Master/xemtex/perl/lib/auto/B/B.dll | Bin 0 -> 90112 bytes Master/xemtex/perl/lib/auto/Cwd/Cwd.dll | Bin 0 -> 6656 bytes Master/xemtex/perl/lib/auto/Data/Dumper/Dumper.dll | Bin 0 -> 20992 bytes Master/xemtex/perl/lib/auto/Digest/MD5/MD5.dll | Bin 0 -> 12800 bytes .../xemtex/perl/lib/auto/DynaLoader/autosplit.ix | 8 + .../perl/lib/auto/DynaLoader/dl_expandspec.al | 34 + .../lib/auto/DynaLoader/dl_find_symbol_anywhere.al | 19 + .../xemtex/perl/lib/auto/DynaLoader/dl_findfile.al | 115 + Master/xemtex/perl/lib/auto/Fcntl/Fcntl.dll | Bin 0 -> 10752 bytes Master/xemtex/perl/lib/auto/File/Glob/Glob.dll | Bin 0 -> 12800 bytes Master/xemtex/perl/lib/auto/IO/IO.dll | Bin 0 -> 12288 bytes Master/xemtex/perl/lib/auto/List/Util/Util.dll | Bin 0 -> 15872 bytes Master/xemtex/perl/lib/auto/POSIX/POSIX.dll | Bin 0 -> 86016 bytes Master/xemtex/perl/lib/auto/POSIX/abs.al | 13 + Master/xemtex/perl/lib/auto/POSIX/alarm.al | 13 + Master/xemtex/perl/lib/auto/POSIX/assert.al | 15 + Master/xemtex/perl/lib/auto/POSIX/atan2.al | 13 + Master/xemtex/perl/lib/auto/POSIX/atexit.al | 12 + Master/xemtex/perl/lib/auto/POSIX/atof.al | 12 + Master/xemtex/perl/lib/auto/POSIX/atoi.al | 12 + Master/xemtex/perl/lib/auto/POSIX/atol.al | 12 + Master/xemtex/perl/lib/auto/POSIX/autosplit.ix | 153 + Master/xemtex/perl/lib/auto/POSIX/bsearch.al | 12 + Master/xemtex/perl/lib/auto/POSIX/calloc.al | 12 + Master/xemtex/perl/lib/auto/POSIX/chdir.al | 13 + Master/xemtex/perl/lib/auto/POSIX/chmod.al | 13 + Master/xemtex/perl/lib/auto/POSIX/chown.al | 13 + Master/xemtex/perl/lib/auto/POSIX/clearerr.al | 12 + Master/xemtex/perl/lib/auto/POSIX/closedir.al | 13 + Master/xemtex/perl/lib/auto/POSIX/cos.al | 13 + Master/xemtex/perl/lib/auto/POSIX/creat.al | 13 + Master/xemtex/perl/lib/auto/POSIX/div.al | 12 + Master/xemtex/perl/lib/auto/POSIX/errno.al | 13 + Master/xemtex/perl/lib/auto/POSIX/execl.al | 12 + Master/xemtex/perl/lib/auto/POSIX/execle.al | 12 + Master/xemtex/perl/lib/auto/POSIX/execlp.al | 12 + Master/xemtex/perl/lib/auto/POSIX/execv.al | 12 + Master/xemtex/perl/lib/auto/POSIX/execve.al | 12 + Master/xemtex/perl/lib/auto/POSIX/execvp.al | 12 + Master/xemtex/perl/lib/auto/POSIX/exit.al | 13 + Master/xemtex/perl/lib/auto/POSIX/exp.al | 13 + Master/xemtex/perl/lib/auto/POSIX/fabs.al | 13 + Master/xemtex/perl/lib/auto/POSIX/fclose.al | 12 + Master/xemtex/perl/lib/auto/POSIX/fcntl.al | 13 + Master/xemtex/perl/lib/auto/POSIX/fdopen.al | 12 + Master/xemtex/perl/lib/auto/POSIX/feof.al | 12 + Master/xemtex/perl/lib/auto/POSIX/ferror.al | 12 + Master/xemtex/perl/lib/auto/POSIX/fflush.al | 12 + Master/xemtex/perl/lib/auto/POSIX/fgetc.al | 12 + Master/xemtex/perl/lib/auto/POSIX/fgetpos.al | 12 + Master/xemtex/perl/lib/auto/POSIX/fgets.al | 12 + Master/xemtex/perl/lib/auto/POSIX/fileno.al | 12 + Master/xemtex/perl/lib/auto/POSIX/fopen.al | 12 + Master/xemtex/perl/lib/auto/POSIX/fork.al | 13 + Master/xemtex/perl/lib/auto/POSIX/fprintf.al | 12 + Master/xemtex/perl/lib/auto/POSIX/fputc.al | 12 + Master/xemtex/perl/lib/auto/POSIX/fputs.al | 12 + Master/xemtex/perl/lib/auto/POSIX/fread.al | 12 + Master/xemtex/perl/lib/auto/POSIX/free.al | 12 + Master/xemtex/perl/lib/auto/POSIX/freopen.al | 12 + Master/xemtex/perl/lib/auto/POSIX/fscanf.al | 12 + Master/xemtex/perl/lib/auto/POSIX/fseek.al | 12 + Master/xemtex/perl/lib/auto/POSIX/fsetpos.al | 12 + Master/xemtex/perl/lib/auto/POSIX/fstat.al | 17 + Master/xemtex/perl/lib/auto/POSIX/ftell.al | 12 + Master/xemtex/perl/lib/auto/POSIX/fwrite.al | 12 + Master/xemtex/perl/lib/auto/POSIX/getc.al | 13 + Master/xemtex/perl/lib/auto/POSIX/getchar.al | 13 + Master/xemtex/perl/lib/auto/POSIX/getegid.al | 13 + Master/xemtex/perl/lib/auto/POSIX/getenv.al | 13 + Master/xemtex/perl/lib/auto/POSIX/geteuid.al | 13 + Master/xemtex/perl/lib/auto/POSIX/getgid.al | 13 + Master/xemtex/perl/lib/auto/POSIX/getgrgid.al | 13 + Master/xemtex/perl/lib/auto/POSIX/getgrnam.al | 13 + Master/xemtex/perl/lib/auto/POSIX/getgroups.al | 14 + Master/xemtex/perl/lib/auto/POSIX/getlogin.al | 13 + Master/xemtex/perl/lib/auto/POSIX/getpgrp.al | 13 + Master/xemtex/perl/lib/auto/POSIX/getpid.al | 13 + Master/xemtex/perl/lib/auto/POSIX/getppid.al | 13 + Master/xemtex/perl/lib/auto/POSIX/getpwnam.al | 13 + Master/xemtex/perl/lib/auto/POSIX/getpwuid.al | 13 + Master/xemtex/perl/lib/auto/POSIX/gets.al | 13 + Master/xemtex/perl/lib/auto/POSIX/getuid.al | 13 + Master/xemtex/perl/lib/auto/POSIX/gmtime.al | 13 + Master/xemtex/perl/lib/auto/POSIX/isatty.al | 13 + Master/xemtex/perl/lib/auto/POSIX/kill.al | 13 + Master/xemtex/perl/lib/auto/POSIX/labs.al | 12 + Master/xemtex/perl/lib/auto/POSIX/ldiv.al | 12 + Master/xemtex/perl/lib/auto/POSIX/link.al | 13 + Master/xemtex/perl/lib/auto/POSIX/load_imports.al | 224 + Master/xemtex/perl/lib/auto/POSIX/localtime.al | 13 + Master/xemtex/perl/lib/auto/POSIX/log.al | 13 + Master/xemtex/perl/lib/auto/POSIX/longjmp.al | 12 + Master/xemtex/perl/lib/auto/POSIX/malloc.al | 12 + Master/xemtex/perl/lib/auto/POSIX/memchr.al | 12 + Master/xemtex/perl/lib/auto/POSIX/memcmp.al | 12 + Master/xemtex/perl/lib/auto/POSIX/memcpy.al | 12 + Master/xemtex/perl/lib/auto/POSIX/memmove.al | 12 + Master/xemtex/perl/lib/auto/POSIX/memset.al | 12 + Master/xemtex/perl/lib/auto/POSIX/mkdir.al | 13 + Master/xemtex/perl/lib/auto/POSIX/offsetof.al | 12 + Master/xemtex/perl/lib/auto/POSIX/opendir.al | 16 + Master/xemtex/perl/lib/auto/POSIX/perror.al | 13 + Master/xemtex/perl/lib/auto/POSIX/pow.al | 13 + Master/xemtex/perl/lib/auto/POSIX/printf.al | 13 + Master/xemtex/perl/lib/auto/POSIX/putc.al | 12 + Master/xemtex/perl/lib/auto/POSIX/putchar.al | 12 + Master/xemtex/perl/lib/auto/POSIX/puts.al | 12 + Master/xemtex/perl/lib/auto/POSIX/qsort.al | 12 + Master/xemtex/perl/lib/auto/POSIX/raise.al | 13 + Master/xemtex/perl/lib/auto/POSIX/rand.al | 12 + Master/xemtex/perl/lib/auto/POSIX/readdir.al | 13 + Master/xemtex/perl/lib/auto/POSIX/realloc.al | 12 + Master/xemtex/perl/lib/auto/POSIX/redef.al | 13 + Master/xemtex/perl/lib/auto/POSIX/remove.al | 13 + Master/xemtex/perl/lib/auto/POSIX/rename.al | 13 + Master/xemtex/perl/lib/auto/POSIX/rewind.al | 13 + Master/xemtex/perl/lib/auto/POSIX/rewinddir.al | 13 + Master/xemtex/perl/lib/auto/POSIX/rmdir.al | 13 + Master/xemtex/perl/lib/auto/POSIX/scanf.al | 12 + Master/xemtex/perl/lib/auto/POSIX/setbuf.al | 12 + Master/xemtex/perl/lib/auto/POSIX/setjmp.al | 12 + Master/xemtex/perl/lib/auto/POSIX/setvbuf.al | 12 + Master/xemtex/perl/lib/auto/POSIX/siglongjmp.al | 12 + Master/xemtex/perl/lib/auto/POSIX/sigsetjmp.al | 12 + Master/xemtex/perl/lib/auto/POSIX/sin.al | 13 + Master/xemtex/perl/lib/auto/POSIX/sleep.al | 13 + Master/xemtex/perl/lib/auto/POSIX/sprintf.al | 13 + Master/xemtex/perl/lib/auto/POSIX/sqrt.al | 13 + Master/xemtex/perl/lib/auto/POSIX/srand.al | 12 + Master/xemtex/perl/lib/auto/POSIX/sscanf.al | 12 + Master/xemtex/perl/lib/auto/POSIX/stat.al | 13 + Master/xemtex/perl/lib/auto/POSIX/strcat.al | 12 + Master/xemtex/perl/lib/auto/POSIX/strchr.al | 12 + Master/xemtex/perl/lib/auto/POSIX/strcmp.al | 12 + Master/xemtex/perl/lib/auto/POSIX/strcpy.al | 12 + Master/xemtex/perl/lib/auto/POSIX/strcspn.al | 12 + Master/xemtex/perl/lib/auto/POSIX/strerror.al | 14 + Master/xemtex/perl/lib/auto/POSIX/strlen.al | 12 + Master/xemtex/perl/lib/auto/POSIX/strncat.al | 12 + Master/xemtex/perl/lib/auto/POSIX/strncmp.al | 12 + Master/xemtex/perl/lib/auto/POSIX/strncpy.al | 12 + Master/xemtex/perl/lib/auto/POSIX/strpbrk.al | 12 + Master/xemtex/perl/lib/auto/POSIX/strrchr.al | 12 + Master/xemtex/perl/lib/auto/POSIX/strspn.al | 12 + Master/xemtex/perl/lib/auto/POSIX/strstr.al | 13 + Master/xemtex/perl/lib/auto/POSIX/strtok.al | 12 + Master/xemtex/perl/lib/auto/POSIX/system.al | 13 + Master/xemtex/perl/lib/auto/POSIX/time.al | 13 + Master/xemtex/perl/lib/auto/POSIX/tmpfile.al | 12 + Master/xemtex/perl/lib/auto/POSIX/tolower.al | 13 + Master/xemtex/perl/lib/auto/POSIX/toupper.al | 13 + Master/xemtex/perl/lib/auto/POSIX/umask.al | 13 + Master/xemtex/perl/lib/auto/POSIX/ungetc.al | 12 + Master/xemtex/perl/lib/auto/POSIX/unimpl.al | 14 + Master/xemtex/perl/lib/auto/POSIX/unlink.al | 13 + Master/xemtex/perl/lib/auto/POSIX/usage.al | 13 + Master/xemtex/perl/lib/auto/POSIX/utime.al | 13 + Master/xemtex/perl/lib/auto/POSIX/vfprintf.al | 12 + Master/xemtex/perl/lib/auto/POSIX/vprintf.al | 12 + Master/xemtex/perl/lib/auto/POSIX/vsprintf.al | 12 + Master/xemtex/perl/lib/auto/POSIX/wait.al | 13 + Master/xemtex/perl/lib/auto/POSIX/waitpid.al | 13 + .../xemtex/perl/lib/auto/SDBM_File/SDBM_File.dll | Bin 0 -> 20480 bytes Master/xemtex/perl/lib/auto/Time/HiRes/HiRes.dll | Bin 0 -> 10240 bytes Master/xemtex/perl/lib/auto/re/re.dll | Bin 0 -> 114688 bytes Master/xemtex/perl/lib/base.pm | 94 + Master/xemtex/perl/lib/bytes.pm | 68 + Master/xemtex/perl/lib/bytes_heavy.pl | 8 + Master/xemtex/perl/lib/constant.pm | 345 + Master/xemtex/perl/lib/fields.pm | 285 + Master/xemtex/perl/lib/integer.pm | 93 + Master/xemtex/perl/lib/lib.pm | 205 + Master/xemtex/perl/lib/newgetopt.pl | 75 + Master/xemtex/perl/lib/overload.pm | 1432 ++ Master/xemtex/perl/lib/re.pm | 134 + Master/xemtex/perl/lib/strict.pm | 117 + Master/xemtex/perl/lib/subs.pm | 40 + Master/xemtex/perl/lib/unicore/ArabLink.pl | 49 + Master/xemtex/perl/lib/unicore/ArabLnkGrp.pl | 98 + Master/xemtex/perl/lib/unicore/Bidirectional.pl | 692 + Master/xemtex/perl/lib/unicore/Blocks.pl | 116 + Master/xemtex/perl/lib/unicore/Canonical.pl | 816 ++ Master/xemtex/perl/lib/unicore/Category.pl | 1732 +++ Master/xemtex/perl/lib/unicore/CombiningClass.pl | 169 + Master/xemtex/perl/lib/unicore/Decomposition.pl | 5120 +++++++ Master/xemtex/perl/lib/unicore/Exact.pl | 110 + Master/xemtex/perl/lib/unicore/JamoShort.pl | 73 + Master/xemtex/perl/lib/unicore/Lbrk.pl | 1073 ++ Master/xemtex/perl/lib/unicore/Name.pl | 13869 +++++++++++++++++++ Master/xemtex/perl/lib/unicore/Number.pl | 537 + Master/xemtex/perl/lib/unicore/Scripts.pl | 371 + Master/xemtex/perl/lib/unicore/To/Digit.pl | 274 + Master/xemtex/perl/lib/unicore/To/Fold.pl | 849 ++ Master/xemtex/perl/lib/unicore/To/Lower.pl | 760 + Master/xemtex/perl/lib/unicore/To/Title.pl | 818 ++ Master/xemtex/perl/lib/unicore/To/Upper.pl | 845 ++ Master/xemtex/perl/lib/unicore/lib/ASCII.pl | 13 + Master/xemtex/perl/lib/unicore/lib/Alnum.pl | 423 + Master/xemtex/perl/lib/unicore/lib/Alpha.pl | 390 + Master/xemtex/perl/lib/unicore/lib/Alphabet.pl | 372 + Master/xemtex/perl/lib/unicore/lib/Any.pl | 14 + Master/xemtex/perl/lib/unicore/lib/Arabic.pl | 26 + Master/xemtex/perl/lib/unicore/lib/Armenian.pl | 16 + Master/xemtex/perl/lib/unicore/lib/AsciiHex.pl | 15 + Master/xemtex/perl/lib/unicore/lib/Assigned.pl | 398 + Master/xemtex/perl/lib/unicore/lib/Bengali.pl | 27 + Master/xemtex/perl/lib/unicore/lib/BidiAL.pl | 33 + Master/xemtex/perl/lib/unicore/lib/BidiAN.pl | 14 + Master/xemtex/perl/lib/unicore/lib/BidiB.pl | 17 + Master/xemtex/perl/lib/unicore/lib/BidiBN.pl | 26 + Master/xemtex/perl/lib/unicore/lib/BidiCS.pl | 23 + Master/xemtex/perl/lib/unicore/lib/BidiCont.pl | 14 + Master/xemtex/perl/lib/unicore/lib/BidiEN.pl | 23 + Master/xemtex/perl/lib/unicore/lib/BidiES.pl | 14 + Master/xemtex/perl/lib/unicore/lib/BidiET.pl | 36 + Master/xemtex/perl/lib/unicore/lib/BidiL.pl | 366 + Master/xemtex/perl/lib/unicore/lib/BidiLRE.pl | 13 + Master/xemtex/perl/lib/unicore/lib/BidiLRO.pl | 13 + Master/xemtex/perl/lib/unicore/lib/BidiNSM.pl | 115 + Master/xemtex/perl/lib/unicore/lib/BidiON.pl | 121 + Master/xemtex/perl/lib/unicore/lib/BidiPDF.pl | 13 + Master/xemtex/perl/lib/unicore/lib/BidiR.pl | 26 + Master/xemtex/perl/lib/unicore/lib/BidiRLE.pl | 13 + Master/xemtex/perl/lib/unicore/lib/BidiRLO.pl | 13 + Master/xemtex/perl/lib/unicore/lib/BidiS.pl | 15 + Master/xemtex/perl/lib/unicore/lib/BidiWS.pl | 20 + Master/xemtex/perl/lib/unicore/lib/Blank.pl | 20 + Master/xemtex/perl/lib/unicore/lib/Bopomofo.pl | 14 + Master/xemtex/perl/lib/unicore/lib/Buhid.pl | 13 + Master/xemtex/perl/lib/unicore/lib/C.pl | 400 + Master/xemtex/perl/lib/unicore/lib/Canadian.pl | 14 + Master/xemtex/perl/lib/unicore/lib/Canon.pl | 224 + Master/xemtex/perl/lib/unicore/lib/Cc.pl | 15 + Master/xemtex/perl/lib/unicore/lib/Cf.pl | 25 + Master/xemtex/perl/lib/unicore/lib/Cherokee.pl | 13 + Master/xemtex/perl/lib/unicore/lib/Cn.pl | 399 + Master/xemtex/perl/lib/unicore/lib/Cntrl.pl | 29 + Master/xemtex/perl/lib/unicore/lib/Co.pl | 16 + Master/xemtex/perl/lib/unicore/lib/Common.pl | 367 + Master/xemtex/perl/lib/unicore/lib/Compat.pl | 143 + Master/xemtex/perl/lib/unicore/lib/Cs.pl | 14 + Master/xemtex/perl/lib/unicore/lib/Cyrillic.pl | 18 + Master/xemtex/perl/lib/unicore/lib/DCcircle.pl | 17 + Master/xemtex/perl/lib/unicore/lib/DCcompat.pl | 81 + Master/xemtex/perl/lib/unicore/lib/DCfinal.pl | 125 + Master/xemtex/perl/lib/unicore/lib/DCfont.pl | 47 + Master/xemtex/perl/lib/unicore/lib/DCfracti.pl | 14 + Master/xemtex/perl/lib/unicore/lib/DCinitia.pl | 87 + Master/xemtex/perl/lib/unicore/lib/DCisolat.pl | 110 + Master/xemtex/perl/lib/unicore/lib/DCmedial.pl | 66 + Master/xemtex/perl/lib/unicore/lib/DCnarrow.pl | 18 + Master/xemtex/perl/lib/unicore/lib/DCnoBrea.pl | 17 + Master/xemtex/perl/lib/unicore/lib/DCsmall.pl | 15 + Master/xemtex/perl/lib/unicore/lib/DCsquare.pl | 15 + Master/xemtex/perl/lib/unicore/lib/DCsub.pl | 13 + Master/xemtex/perl/lib/unicore/lib/DCsuper.pl | 22 + Master/xemtex/perl/lib/unicore/lib/DCvertic.pl | 15 + Master/xemtex/perl/lib/unicore/lib/DCwide.pl | 15 + Master/xemtex/perl/lib/unicore/lib/Dash.pl | 26 + Master/xemtex/perl/lib/unicore/lib/Deprecat.pl | 14 + Master/xemtex/perl/lib/unicore/lib/Deseret.pl | 14 + Master/xemtex/perl/lib/unicore/lib/Devanaga.pl | 18 + Master/xemtex/perl/lib/unicore/lib/Diacriti.pl | 89 + Master/xemtex/perl/lib/unicore/lib/Digit.pl | 33 + Master/xemtex/perl/lib/unicore/lib/Ethiopic.pl | 38 + Master/xemtex/perl/lib/unicore/lib/Extender.pl | 23 + Master/xemtex/perl/lib/unicore/lib/Georgian.pl | 14 + Master/xemtex/perl/lib/unicore/lib/Gothic.pl | 13 + Master/xemtex/perl/lib/unicore/lib/Graph.pl | 398 + Master/xemtex/perl/lib/unicore/lib/Grapheme.pl | 25 + Master/xemtex/perl/lib/unicore/lib/Greek.pl | 40 + Master/xemtex/perl/lib/unicore/lib/Gujarati.pl | 26 + Master/xemtex/perl/lib/unicore/lib/Gurmukhi.pl | 27 + Master/xemtex/perl/lib/unicore/lib/Han.pl | 25 + Master/xemtex/perl/lib/unicore/lib/Hangul.pl | 22 + Master/xemtex/perl/lib/unicore/lib/Hanunoo.pl | 13 + Master/xemtex/perl/lib/unicore/lib/Hebrew.pl | 22 + Master/xemtex/perl/lib/unicore/lib/HexDigit.pl | 18 + Master/xemtex/perl/lib/unicore/lib/Hiragana.pl | 14 + Master/xemtex/perl/lib/unicore/lib/Hyphen.pl | 21 + Master/xemtex/perl/lib/unicore/lib/IdContin.pl | 416 + Master/xemtex/perl/lib/unicore/lib/IdStart.pl | 321 + Master/xemtex/perl/lib/unicore/lib/Ideograp.pl | 20 + Master/xemtex/perl/lib/unicore/lib/IdsBinar.pl | 14 + Master/xemtex/perl/lib/unicore/lib/IdsTrina.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InAlphab.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InArabi2.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InArabi3.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InArabic.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InArmeni.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InArrows.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InBasicL.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InBengal.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InBlockE.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InBopom2.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InBopomo.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InBoxDra.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InBraill.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InBuhid.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InByzant.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InCherok.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InCjkCo2.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InCjkCo3.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InCjkCo4.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InCjkCom.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InCjkRad.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InCjkSym.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InCjkUn2.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InCjkUn3.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InCjkUni.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InCombi2.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InCombi3.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InCombin.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InContro.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InCurren.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InCyril2.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InCyrill.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InDesere.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InDevana.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InDingba.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InEnclo2.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InEnclos.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InEthiop.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InGenera.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InGeomet.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InGeorgi.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InGothic.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InGreek.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InGreekA.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InGreekE.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InGujara.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InGurmuk.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InHalfwi.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InHangu2.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InHangu3.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InHangul.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InHanuno.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InHebrew.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InHighPr.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InHighSu.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InHiraga.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InIdeogr.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InIpaExt.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InKanbun.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InKangxi.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InKannad.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InKatak2.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InKataka.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InKhmer.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InLao.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InLatin1.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InLatin2.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InLatin3.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InLatinE.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InLetter.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InLowSur.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InMalaya.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InMathe2.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InMathem.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InMisce2.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InMisce3.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InMisce4.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InMiscel.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InMongol.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InMusica.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InMyanma.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InNumber.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InOgham.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InOldIta.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InOptica.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InOriya.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InPrivat.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InRunic.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InSinhal.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InSmallF.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InSpacin.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InSpecia.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InSupers.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InSuppl2.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InSuppl3.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InSuppl4.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InSuppl5.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InSupple.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InSyriac.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InTagalo.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InTagban.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InTags.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InTamil.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InTelugu.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InThaana.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InThai.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InTibeta.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InUnifie.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InVariat.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InYiRadi.pl | 13 + Master/xemtex/perl/lib/unicore/lib/InYiSyll.pl | 13 + Master/xemtex/perl/lib/unicore/lib/Inherite.pl | 37 + Master/xemtex/perl/lib/unicore/lib/JoinCont.pl | 13 + Master/xemtex/perl/lib/unicore/lib/Kannada.pl | 25 + Master/xemtex/perl/lib/unicore/lib/Katakana.pl | 17 + Master/xemtex/perl/lib/unicore/lib/Khmer.pl | 14 + Master/xemtex/perl/lib/unicore/lib/L.pl | 319 + Master/xemtex/perl/lib/unicore/lib/L_.pl | 112 + Master/xemtex/perl/lib/unicore/lib/Lao.pl | 30 + Master/xemtex/perl/lib/unicore/lib/Latin.pl | 31 + Master/xemtex/perl/lib/unicore/lib/Ll.pl | 433 + Master/xemtex/perl/lib/unicore/lib/Lm.pl | 33 + Master/xemtex/perl/lib/unicore/lib/Lo.pl | 217 + Master/xemtex/perl/lib/unicore/lib/LogicalO.pl | 14 + Master/xemtex/perl/lib/unicore/lib/Lower.pl | 432 + Master/xemtex/perl/lib/unicore/lib/Lowercas.pl | 439 + Master/xemtex/perl/lib/unicore/lib/Lt.pl | 23 + Master/xemtex/perl/lib/unicore/lib/Lu.pl | 432 + Master/xemtex/perl/lib/unicore/lib/M.pl | 125 + Master/xemtex/perl/lib/unicore/lib/Malayala.pl | 23 + Master/xemtex/perl/lib/unicore/lib/Math.pl | 101 + Master/xemtex/perl/lib/unicore/lib/Mc.pl | 65 + Master/xemtex/perl/lib/unicore/lib/Me.pl | 17 + Master/xemtex/perl/lib/unicore/lib/Mirrored.pl | 105 + Master/xemtex/perl/lib/unicore/lib/Mn.pl | 117 + Master/xemtex/perl/lib/unicore/lib/Mongolia.pl | 15 + Master/xemtex/perl/lib/unicore/lib/Myanmar.pl | 19 + Master/xemtex/perl/lib/unicore/lib/N.pl | 56 + Master/xemtex/perl/lib/unicore/lib/Nd.pl | 34 + Master/xemtex/perl/lib/unicore/lib/Nl.pl | 19 + Master/xemtex/perl/lib/unicore/lib/No.pl | 33 + Master/xemtex/perl/lib/unicore/lib/Nonchara.pl | 30 + Master/xemtex/perl/lib/unicore/lib/Ogham.pl | 13 + Master/xemtex/perl/lib/unicore/lib/OldItali.pl | 13 + Master/xemtex/perl/lib/unicore/lib/Oriya.pl | 26 + Master/xemtex/perl/lib/unicore/lib/OtherAlp.pl | 99 + Master/xemtex/perl/lib/unicore/lib/OtherDef.pl | 17 + Master/xemtex/perl/lib/unicore/lib/OtherGra.pl | 13 + Master/xemtex/perl/lib/unicore/lib/OtherLow.pl | 19 + Master/xemtex/perl/lib/unicore/lib/OtherMat.pl | 76 + Master/xemtex/perl/lib/unicore/lib/OtherUpp.pl | 14 + Master/xemtex/perl/lib/unicore/lib/P.pl | 97 + Master/xemtex/perl/lib/unicore/lib/Pc.pl | 20 + Master/xemtex/perl/lib/unicore/lib/Pd.pl | 25 + Master/xemtex/perl/lib/unicore/lib/Pe.pl | 75 + Master/xemtex/perl/lib/unicore/lib/Pf.pl | 17 + Master/xemtex/perl/lib/unicore/lib/Pi.pl | 18 + Master/xemtex/perl/lib/unicore/lib/Po.pl | 83 + Master/xemtex/perl/lib/unicore/lib/Print.pl | 400 + Master/xemtex/perl/lib/unicore/lib/Ps.pl | 77 + Master/xemtex/perl/lib/unicore/lib/Punct.pl | 96 + Master/xemtex/perl/lib/unicore/lib/Quotatio.pl | 24 + Master/xemtex/perl/lib/unicore/lib/Radical.pl | 15 + Master/xemtex/perl/lib/unicore/lib/Runic.pl | 14 + Master/xemtex/perl/lib/unicore/lib/S.pl | 159 + Master/xemtex/perl/lib/unicore/lib/Sc.pl | 24 + Master/xemtex/perl/lib/unicore/lib/Sinhala.pl | 23 + Master/xemtex/perl/lib/unicore/lib/Sk.pl | 35 + Master/xemtex/perl/lib/unicore/lib/Sm.pl | 71 + Master/xemtex/perl/lib/unicore/lib/So.pl | 117 + Master/xemtex/perl/lib/unicore/lib/SoftDott.pl | 19 + Master/xemtex/perl/lib/unicore/lib/Space.pl | 21 + Master/xemtex/perl/lib/unicore/lib/SpacePer.pl | 23 + Master/xemtex/perl/lib/unicore/lib/Syriac.pl | 14 + Master/xemtex/perl/lib/unicore/lib/Tagalog.pl | 14 + Master/xemtex/perl/lib/unicore/lib/Tagbanwa.pl | 15 + Master/xemtex/perl/lib/unicore/lib/Tamil.pl | 28 + Master/xemtex/perl/lib/unicore/lib/Telugu.pl | 24 + Master/xemtex/perl/lib/unicore/lib/Terminal.pl | 48 + Master/xemtex/perl/lib/unicore/lib/Thaana.pl | 13 + Master/xemtex/perl/lib/unicore/lib/Thai.pl | 15 + Master/xemtex/perl/lib/unicore/lib/Tibetan.pl | 25 + Master/xemtex/perl/lib/unicore/lib/Title.pl | 22 + Master/xemtex/perl/lib/unicore/lib/UnifiedI.pl | 22 + Master/xemtex/perl/lib/unicore/lib/Upper.pl | 431 + Master/xemtex/perl/lib/unicore/lib/Uppercas.pl | 433 + Master/xemtex/perl/lib/unicore/lib/WhiteSpa.pl | 21 + Master/xemtex/perl/lib/unicore/lib/Word.pl | 424 + Master/xemtex/perl/lib/unicore/lib/XDigit.pl | 15 + Master/xemtex/perl/lib/unicore/lib/Yi.pl | 18 + Master/xemtex/perl/lib/unicore/lib/Z.pl | 21 + Master/xemtex/perl/lib/unicore/lib/Zl.pl | 14 + Master/xemtex/perl/lib/unicore/lib/Zp.pl | 14 + Master/xemtex/perl/lib/unicore/lib/Zs.pl | 20 + Master/xemtex/perl/lib/unicore/lib/_CanonDC.pl | 16 + Master/xemtex/perl/lib/unicore/lib/_CaseIgn.pl | 118 + Master/xemtex/perl/lib/unicore/lib/_CombAbo.pl | 54 + Master/xemtex/perl/lib/utf8.pm | 152 + Master/xemtex/perl/lib/utf8_heavy.pl | 344 + Master/xemtex/perl/lib/vars.pm | 82 + Master/xemtex/perl/lib/warnings.pm | 489 + Master/xemtex/perl/lib/warnings/register.pm | 51 + Master/xemtex/perl/site/lib/Tk.pm | 696 + Master/xemtex/perl/site/lib/Tk/Adjuster.pm | 435 + Master/xemtex/perl/site/lib/Tk/After.pm | 88 + Master/xemtex/perl/site/lib/Tk/Bitmap.pm | 18 + Master/xemtex/perl/site/lib/Tk/Button.pm | 148 + Master/xemtex/perl/site/lib/Tk/Camel.xpm | 41 + Master/xemtex/perl/site/lib/Tk/Canvas.pm | 60 + Master/xemtex/perl/site/lib/Tk/Checkbutton.pm | 42 + Master/xemtex/perl/site/lib/Tk/Clipboard.pm | 110 + Master/xemtex/perl/site/lib/Tk/CmdLine.pm | 954 ++ Master/xemtex/perl/site/lib/Tk/ColorEdit.xpm | 58 + Master/xemtex/perl/site/lib/Tk/ColorEditor.pm | 759 + Master/xemtex/perl/site/lib/Tk/Config.pm | 12 + Master/xemtex/perl/site/lib/Tk/Configure.pm | 69 + Master/xemtex/perl/site/lib/Tk/Derived.pm | 510 + Master/xemtex/perl/site/lib/Tk/Dialog.pm | 70 + Master/xemtex/perl/site/lib/Tk/DialogBox.pm | 115 + Master/xemtex/perl/site/lib/Tk/Entry.pm | 517 + Master/xemtex/perl/site/lib/Tk/Event.pm | 13 + Master/xemtex/perl/site/lib/Tk/Event/IO.pm | 122 + Master/xemtex/perl/site/lib/Tk/FBox.pm | 891 ++ Master/xemtex/perl/site/lib/Tk/Frame.pm | 373 + Master/xemtex/perl/site/lib/Tk/IconList.pm | 536 + Master/xemtex/perl/site/lib/Tk/Image.pm | 73 + Master/xemtex/perl/site/lib/Tk/Label.pm | 21 + Master/xemtex/perl/site/lib/Tk/Listbox.pm | 856 ++ Master/xemtex/perl/site/lib/Tk/MainWindow.pm | 188 + Master/xemtex/perl/site/lib/Tk/Menu.pm | 1130 ++ Master/xemtex/perl/site/lib/Tk/Menu/Item.pm | 180 + Master/xemtex/perl/site/lib/Tk/Menubutton.pm | 398 + Master/xemtex/perl/site/lib/Tk/Optionmenu.pm | 110 + Master/xemtex/perl/site/lib/Tk/Pixmap.pm | 19 + Master/xemtex/perl/site/lib/Tk/Pretty.pm | 93 + Master/xemtex/perl/site/lib/Tk/ROText.pm | 36 + Master/xemtex/perl/site/lib/Tk/Radiobutton.pm | 45 + Master/xemtex/perl/site/lib/Tk/Scale.pm | 278 + Master/xemtex/perl/site/lib/Tk/Scrollbar.pm | 414 + Master/xemtex/perl/site/lib/Tk/Submethods.pm | 46 + Master/xemtex/perl/site/lib/Tk/Text.pm | 1600 +++ Master/xemtex/perl/site/lib/Tk/Text/Tag.pm | 46 + Master/xemtex/perl/site/lib/Tk/Tk.xbm | 44 + Master/xemtex/perl/site/lib/Tk/Tk.xpm | 41 + Master/xemtex/perl/site/lib/Tk/Toplevel.pm | 211 + Master/xemtex/perl/site/lib/Tk/Widget.pm | 1298 ++ Master/xemtex/perl/site/lib/Tk/Wm.pm | 165 + Master/xemtex/perl/site/lib/Tk/X.pm | 398 + Master/xemtex/perl/site/lib/Tk/X11/license.terms | 32 + Master/xemtex/perl/site/lib/Tk/Xcamel.gif | Bin 0 -> 4193 bytes Master/xemtex/perl/site/lib/Tk/act_folder.xbm | 5 + Master/xemtex/perl/site/lib/Tk/act_folder.xpm | 22 + Master/xemtex/perl/site/lib/Tk/anim.gif | Bin 0 -> 2533 bytes Master/xemtex/perl/site/lib/Tk/balArrow.xbm | 4 + Master/xemtex/perl/site/lib/Tk/cbxarrow.xbm | 6 + Master/xemtex/perl/site/lib/Tk/file.xbm | 5 + Master/xemtex/perl/site/lib/Tk/file.xpm | 18 + Master/xemtex/perl/site/lib/Tk/folder.xbm | 5 + Master/xemtex/perl/site/lib/Tk/folder.xpm | 21 + Master/xemtex/perl/site/lib/Tk/icon.gif | Bin 0 -> 1924 bytes Master/xemtex/perl/site/lib/Tk/license.terms | 35 + Master/xemtex/perl/site/lib/Tk/openfile.xbm | 5 + Master/xemtex/perl/site/lib/Tk/openfolder.xbm | 5 + Master/xemtex/perl/site/lib/Tk/openfolder.xpm | 21 + Master/xemtex/perl/site/lib/Tk/prolog.ps | 284 + Master/xemtex/perl/site/lib/Tk/srcfile.xpm | 18 + Master/xemtex/perl/site/lib/Tk/textfile.xpm | 18 + Master/xemtex/perl/site/lib/Tk/tranicon.gif | Bin 0 -> 1718 bytes Master/xemtex/perl/site/lib/Tk/widgets.pm | 21 + Master/xemtex/perl/site/lib/Tk/win.xbm | 6 + Master/xemtex/perl/site/lib/Tk/winfolder.xpm | 39 + Master/xemtex/perl/site/lib/Tk/wintext.xpm | 42 + Master/xemtex/perl/site/lib/Win32/API.pm | 719 + Master/xemtex/perl/site/lib/Win32/API/Struct.pm | 528 + Master/xemtex/perl/site/lib/Win32/API/Type.pm | 440 + Master/xemtex/perl/site/lib/XML/Parser.pm | 1089 ++ Master/xemtex/perl/site/lib/XML/Parser/Expat.pm | 1231 ++ .../xemtex/perl/site/lib/auto/Tk/Bitmap/Bitmap.dll | Bin 0 -> 6144 bytes .../xemtex/perl/site/lib/auto/Tk/CancelRepeat.al | 15 + .../xemtex/perl/site/lib/auto/Tk/Canvas/Canvas.dll | Bin 0 -> 139264 bytes .../perl/site/lib/auto/Tk/Clipboard/autosplit.ix | 6 + .../perl/site/lib/auto/Tk/Clipboard/getSelected.al | 15 + Master/xemtex/perl/site/lib/auto/Tk/EnterFocus.al | 26 + .../xemtex/perl/site/lib/auto/Tk/Entry/Entry.dll | Bin 0 -> 23040 bytes Master/xemtex/perl/site/lib/auto/Tk/Error.al | 20 + .../xemtex/perl/site/lib/auto/Tk/Event/Event.dll | Bin 0 -> 53248 bytes Master/xemtex/perl/site/lib/auto/Tk/FirstMenu.al | 21 + .../xemtex/perl/site/lib/auto/Tk/FocusChildren.al | 35 + Master/xemtex/perl/site/lib/auto/Tk/FocusOK.al | 33 + .../perl/site/lib/auto/Tk/Frame/AddScrollbars.al | 52 + .../xemtex/perl/site/lib/auto/Tk/Frame/FindMenu.al | 22 + .../perl/site/lib/auto/Tk/Frame/autosplit.ix | 24 + .../perl/site/lib/auto/Tk/Frame/freeze_on_map.al | 18 + Master/xemtex/perl/site/lib/auto/Tk/Frame/label.al | 24 + .../perl/site/lib/auto/Tk/Frame/labelPack.al | 50 + .../perl/site/lib/auto/Tk/Frame/labelVariable.al | 27 + .../perl/site/lib/auto/Tk/Frame/packscrollbars.al | 86 + .../perl/site/lib/auto/Tk/Frame/queuePack.al | 18 + Master/xemtex/perl/site/lib/auto/Tk/Frame/sbset.al | 15 + .../perl/site/lib/auto/Tk/Frame/scrollbars.al | 24 + Master/xemtex/perl/site/lib/auto/Tk/ImageNames.al | 13 + Master/xemtex/perl/site/lib/auto/Tk/ImageTypes.al | 13 + .../perl/site/lib/auto/Tk/Listbox/AutoScan.al | 48 + .../perl/site/lib/auto/Tk/Listbox/BeginExtend.al | 29 + .../perl/site/lib/auto/Tk/Listbox/BeginSelect.al | 45 + .../perl/site/lib/auto/Tk/Listbox/BeginToggle.al | 39 + .../site/lib/auto/Tk/Listbox/ButtonRelease_1.al | 16 + .../xemtex/perl/site/lib/auto/Tk/Listbox/Cancel.al | 43 + .../perl/site/lib/auto/Tk/Listbox/Cntrl_End.al | 18 + .../perl/site/lib/auto/Tk/Listbox/Cntrl_Home.al | 18 + .../site/lib/auto/Tk/Listbox/Cntrl_backslash.al | 18 + .../perl/site/lib/auto/Tk/Listbox/DataExtend.al | 39 + .../perl/site/lib/auto/Tk/Listbox/ExtendUpDown.al | 30 + .../perl/site/lib/auto/Tk/Listbox/Listbox.dll | Bin 0 -> 20992 bytes .../xemtex/perl/site/lib/auto/Tk/Listbox/Motion.al | 66 + .../perl/site/lib/auto/Tk/Listbox/SelectAll.al | 31 + .../perl/site/lib/auto/Tk/Listbox/SetList.al | 15 + .../xemtex/perl/site/lib/auto/Tk/Listbox/UpDown.al | 39 + .../perl/site/lib/auto/Tk/Listbox/autosplit.ix | 42 + .../site/lib/auto/Tk/Listbox/clipboardPaste.al | 21 + .../site/lib/auto/Tk/Listbox/deleteSelected.al | 18 + .../perl/site/lib/auto/Tk/Listbox/getSelected.al | 22 + .../perl/site/lib/auto/Tk/Listbox/xyIndex.al | 27 + .../site/lib/auto/Tk/Menubutton/Menubutton.dll | Bin 0 -> 14848 bytes .../xemtex/perl/site/lib/auto/Tk/Pixmap/Pixmap.dll | Bin 0 -> 19968 bytes Master/xemtex/perl/site/lib/auto/Tk/Receive.al | 23 + Master/xemtex/perl/site/lib/auto/Tk/RepeatId.al | 16 + .../xemtex/perl/site/lib/auto/Tk/Scale/Activate.al | 33 + .../perl/site/lib/auto/Tk/Scale/ButtonDown.al | 40 + .../xemtex/perl/site/lib/auto/Tk/Scale/ButtonUp.al | 16 + .../perl/site/lib/auto/Tk/Scale/ControlPress.al | 31 + Master/xemtex/perl/site/lib/auto/Tk/Scale/Drag.al | 29 + .../xemtex/perl/site/lib/auto/Tk/Scale/EndDrag.al | 23 + Master/xemtex/perl/site/lib/auto/Tk/Scale/Enter.al | 19 + .../perl/site/lib/auto/Tk/Scale/Increment.al | 61 + Master/xemtex/perl/site/lib/auto/Tk/Scale/Leave.al | 15 + .../xemtex/perl/site/lib/auto/Tk/Scale/Scale.dll | Bin 0 -> 20992 bytes .../perl/site/lib/auto/Tk/Scale/autosplit.ix | 22 + .../perl/site/lib/auto/Tk/Scrollbar/ButtonDown.al | 55 + .../perl/site/lib/auto/Tk/Scrollbar/ButtonUp.al | 26 + .../xemtex/perl/site/lib/auto/Tk/Scrollbar/Drag.al | 44 + .../perl/site/lib/auto/Tk/Scrollbar/EndDrag.al | 29 + .../perl/site/lib/auto/Tk/Scrollbar/Enter.al | 21 + .../perl/site/lib/auto/Tk/Scrollbar/Leave.al | 18 + .../perl/site/lib/auto/Tk/Scrollbar/Motion.al | 15 + .../perl/site/lib/auto/Tk/Scrollbar/ScrlByPages.al | 38 + .../perl/site/lib/auto/Tk/Scrollbar/ScrlByUnits.al | 37 + .../perl/site/lib/auto/Tk/Scrollbar/ScrlToPos.al | 35 + .../site/lib/auto/Tk/Scrollbar/ScrlTopBottom.al | 32 + .../perl/site/lib/auto/Tk/Scrollbar/Scrollbar.dll | Bin 0 -> 15872 bytes .../perl/site/lib/auto/Tk/Scrollbar/Select.al | 59 + .../perl/site/lib/auto/Tk/Scrollbar/StartDrag.al | 33 + .../perl/site/lib/auto/Tk/Scrollbar/autosplit.ix | 30 + Master/xemtex/perl/site/lib/auto/Tk/Selection.al | 18 + Master/xemtex/perl/site/lib/auto/Tk/Text/Text.dll | Bin 0 -> 94208 bytes .../xemtex/perl/site/lib/auto/Tk/Text/autosplit.ix | 3 + Master/xemtex/perl/site/lib/auto/Tk/Tk.dll | Bin 0 -> 573440 bytes .../perl/site/lib/auto/Tk/Toplevel/FG_BindIn.al | 19 + .../perl/site/lib/auto/Tk/Toplevel/FG_BindOut.al | 20 + .../perl/site/lib/auto/Tk/Toplevel/FG_Create.al | 56 + .../perl/site/lib/auto/Tk/Toplevel/FG_Destroy.al | 29 + .../xemtex/perl/site/lib/auto/Tk/Toplevel/FG_In.al | 24 + .../perl/site/lib/auto/Tk/Toplevel/FG_Out.al | 32 + .../perl/site/lib/auto/Tk/Toplevel/autosplit.ix | 10 + .../xemtex/perl/site/lib/auto/Tk/TraverseToMenu.al | 27 + .../perl/site/lib/auto/Tk/Widget/ASkludge.al | 30 + .../perl/site/lib/auto/Tk/Widget/autosplit.ix | 10 + .../site/lib/auto/Tk/Widget/clipboardKeysyms.al | 51 + .../perl/site/lib/auto/Tk/Widget/pathname.al | 15 + .../perl/site/lib/auto/Tk/Wm/AnchorAdjust.al | 17 + .../xemtex/perl/site/lib/auto/Tk/Wm/FullScreen.al | 29 + Master/xemtex/perl/site/lib/auto/Tk/Wm/Popup.al | 45 + Master/xemtex/perl/site/lib/auto/Tk/Wm/Post.al | 20 + .../xemtex/perl/site/lib/auto/Tk/Wm/autosplit.ix | 14 + .../perl/site/lib/auto/Tk/Wm/iconposition.al | 24 + Master/xemtex/perl/site/lib/auto/Tk/X/X.dll | Bin 0 -> 19968 bytes Master/xemtex/perl/site/lib/auto/Tk/X/autosplit.ix | 3 + Master/xemtex/perl/site/lib/auto/Tk/autosplit.ix | 43 + Master/xemtex/perl/site/lib/auto/Tk/break.al | 13 + .../perl/site/lib/auto/Tk/focusFollowsMouse.al | 14 + Master/xemtex/perl/site/lib/auto/Tk/focusNext.al | 45 + Master/xemtex/perl/site/lib/auto/Tk/focusPrev.al | 65 + Master/xemtex/perl/site/lib/auto/Tk/interps.al | 14 + Master/xemtex/perl/site/lib/auto/Tk/lsearch.al | 19 + Master/xemtex/perl/site/lib/auto/Tk/tabFocus.al | 13 + .../xemtex/perl/site/lib/auto/Tk/updateWidgets.al | 17 + Master/xemtex/perl/site/lib/auto/Win32/API/API.dll | Bin 0 -> 20480 bytes .../perl/site/lib/auto/XML/Parser/Expat/Expat.dll | Bin 0 -> 163840 bytes 1196 files changed, 292306 insertions(+) create mode 100644 Master/xemtex/doc/ghostscript/API.htm create mode 100644 Master/xemtex/doc/ghostscript/C-style.htm create mode 100644 Master/xemtex/doc/ghostscript/CJK.htm create mode 100644 Master/xemtex/doc/ghostscript/CJKTTCID.htm create mode 100644 Master/xemtex/doc/ghostscript/COPYING create mode 100644 Master/xemtex/doc/ghostscript/COPYING.LGPL create mode 100644 Master/xemtex/doc/ghostscript/Changes.htm create mode 100644 Master/xemtex/doc/ghostscript/Current.htm create mode 100644 Master/xemtex/doc/ghostscript/DLL.htm create mode 100644 Master/xemtex/doc/ghostscript/Develop.htm create mode 100644 Master/xemtex/doc/ghostscript/Devices.htm create mode 100644 Master/xemtex/doc/ghostscript/Drivers.htm create mode 100644 Master/xemtex/doc/ghostscript/Fonts.htm create mode 100644 Master/xemtex/doc/ghostscript/Helpers.htm create mode 100644 Master/xemtex/doc/ghostscript/Hershey.htm create mode 100644 Master/xemtex/doc/ghostscript/History1.htm create mode 100644 Master/xemtex/doc/ghostscript/History2.htm create mode 100644 Master/xemtex/doc/ghostscript/History3.htm create mode 100644 Master/xemtex/doc/ghostscript/History4.htm create mode 100644 Master/xemtex/doc/ghostscript/History5.htm create mode 100644 Master/xemtex/doc/ghostscript/History6.htm create mode 100644 Master/xemtex/doc/ghostscript/History7.htm create mode 100644 Master/xemtex/doc/ghostscript/Htmstyle.htm create mode 100644 Master/xemtex/doc/ghostscript/Humor.htm create mode 100644 Master/xemtex/doc/ghostscript/Install.htm create mode 100644 Master/xemtex/doc/ghostscript/Issues.htm create mode 100644 Master/xemtex/doc/ghostscript/Language.htm create mode 100644 Master/xemtex/doc/ghostscript/Lib.htm create mode 100644 Master/xemtex/doc/ghostscript/Maintain.htm create mode 100644 Master/xemtex/doc/ghostscript/Make.htm create mode 100644 Master/xemtex/doc/ghostscript/New-user.htm create mode 100644 Master/xemtex/doc/ghostscript/News.htm create mode 100644 Master/xemtex/doc/ghostscript/Projects.htm create mode 100644 Master/xemtex/doc/ghostscript/Ps-style.htm create mode 100644 Master/xemtex/doc/ghostscript/Ps2epsi.htm create mode 100644 Master/xemtex/doc/ghostscript/Ps2pdf.htm create mode 100644 Master/xemtex/doc/ghostscript/Psfiles.htm create mode 100644 Master/xemtex/doc/ghostscript/README create mode 100644 Master/xemtex/doc/ghostscript/Readme.htm create mode 100644 Master/xemtex/doc/ghostscript/Release.htm create mode 100644 Master/xemtex/doc/ghostscript/Source.htm create mode 100644 Master/xemtex/doc/ghostscript/Unix-lpr.htm create mode 100644 Master/xemtex/doc/ghostscript/Use.htm create mode 100644 Master/xemtex/doc/ghostscript/Xfonts.htm create mode 100644 Master/xemtex/doc/ghostscript/examples/alphabet.ps create mode 100644 Master/xemtex/doc/ghostscript/examples/annots.pdf create mode 100644 Master/xemtex/doc/ghostscript/examples/cjk/all_ac1.ps create mode 100644 Master/xemtex/doc/ghostscript/examples/cjk/all_ag1.ps create mode 100644 Master/xemtex/doc/ghostscript/examples/cjk/all_aj1.ps create mode 100644 Master/xemtex/doc/ghostscript/examples/cjk/all_aj2.ps create mode 100644 Master/xemtex/doc/ghostscript/examples/cjk/all_ak1.ps create mode 100644 Master/xemtex/doc/ghostscript/examples/cjk/gscjk_ac.ps create mode 100644 Master/xemtex/doc/ghostscript/examples/cjk/gscjk_ag.ps create mode 100644 Master/xemtex/doc/ghostscript/examples/cjk/gscjk_aj.ps create mode 100644 Master/xemtex/doc/ghostscript/examples/cjk/gscjk_ak.ps create mode 100644 Master/xemtex/doc/ghostscript/examples/cjk/iso2022.ps create mode 100644 Master/xemtex/doc/ghostscript/examples/colorcir.ps create mode 100644 Master/xemtex/doc/ghostscript/examples/doretree.ps create mode 100644 Master/xemtex/doc/ghostscript/examples/escher.ps create mode 100644 Master/xemtex/doc/ghostscript/examples/golfer.ps create mode 100644 Master/xemtex/doc/ghostscript/examples/grayalph.ps create mode 100644 Master/xemtex/doc/ghostscript/examples/ridt91.eps create mode 100644 Master/xemtex/doc/ghostscript/examples/snowflak.ps create mode 100644 Master/xemtex/doc/ghostscript/examples/tiger.ps create mode 100644 Master/xemtex/doc/ghostscript/examples/vasarely.ps create mode 100644 Master/xemtex/doc/ghostscript/examples/waterfal.ps create mode 100644 Master/xemtex/doc/ghostscript/gs-vms.hlp create mode 100644 Master/xemtex/doc/ghostscript/gs.css create mode 100644 Master/xemtex/doc/ghostscript/gsdoc.el create mode 100644 Master/xemtex/doc/ghostscript/index.html create mode 100644 Master/xemtex/gsfonts/a010013l.afm create mode 100644 Master/xemtex/gsfonts/a010013l.pfb create mode 100644 Master/xemtex/gsfonts/a010013l.pfm create mode 100644 Master/xemtex/gsfonts/a010015l.afm create mode 100644 Master/xemtex/gsfonts/a010015l.pfb create mode 100644 Master/xemtex/gsfonts/a010015l.pfm create mode 100644 Master/xemtex/gsfonts/a010033l.afm create mode 100644 Master/xemtex/gsfonts/a010033l.pfb create mode 100644 Master/xemtex/gsfonts/a010033l.pfm create mode 100644 Master/xemtex/gsfonts/a010035l.afm create mode 100644 Master/xemtex/gsfonts/a010035l.pfb create mode 100644 Master/xemtex/gsfonts/a010035l.pfm create mode 100644 Master/xemtex/gsfonts/b018012l.afm create mode 100644 Master/xemtex/gsfonts/b018012l.pfb create mode 100644 Master/xemtex/gsfonts/b018012l.pfm create mode 100644 Master/xemtex/gsfonts/b018015l.afm create mode 100644 Master/xemtex/gsfonts/b018015l.pfb create mode 100644 Master/xemtex/gsfonts/b018015l.pfm create mode 100644 Master/xemtex/gsfonts/b018032l.afm create mode 100644 Master/xemtex/gsfonts/b018032l.pfb create mode 100644 Master/xemtex/gsfonts/b018032l.pfm create mode 100644 Master/xemtex/gsfonts/b018035l.afm create mode 100644 Master/xemtex/gsfonts/b018035l.pfb create mode 100644 Master/xemtex/gsfonts/b018035l.pfm create mode 100644 Master/xemtex/gsfonts/c059013l.afm create mode 100644 Master/xemtex/gsfonts/c059013l.pfb create mode 100644 Master/xemtex/gsfonts/c059013l.pfm create mode 100644 Master/xemtex/gsfonts/c059016l.afm create mode 100644 Master/xemtex/gsfonts/c059016l.pfb create mode 100644 Master/xemtex/gsfonts/c059016l.pfm create mode 100644 Master/xemtex/gsfonts/c059033l.afm create mode 100644 Master/xemtex/gsfonts/c059033l.pfb create mode 100644 Master/xemtex/gsfonts/c059033l.pfm create mode 100644 Master/xemtex/gsfonts/c059036l.afm create mode 100644 Master/xemtex/gsfonts/c059036l.pfb create mode 100644 Master/xemtex/gsfonts/c059036l.pfm create mode 100644 Master/xemtex/gsfonts/d050000l.afm create mode 100644 Master/xemtex/gsfonts/d050000l.pfb create mode 100644 Master/xemtex/gsfonts/d050000l.pfm create mode 100644 Master/xemtex/gsfonts/fonts.dir create mode 100644 Master/xemtex/gsfonts/fonts.scale create mode 100644 Master/xemtex/gsfonts/n019003l.afm create mode 100644 Master/xemtex/gsfonts/n019003l.pfb create mode 100644 Master/xemtex/gsfonts/n019003l.pfm create mode 100644 Master/xemtex/gsfonts/n019004l.afm create mode 100644 Master/xemtex/gsfonts/n019004l.pfb create mode 100644 Master/xemtex/gsfonts/n019004l.pfm create mode 100644 Master/xemtex/gsfonts/n019023l.afm create mode 100644 Master/xemtex/gsfonts/n019023l.pfb create mode 100644 Master/xemtex/gsfonts/n019023l.pfm create mode 100644 Master/xemtex/gsfonts/n019024l.afm create mode 100644 Master/xemtex/gsfonts/n019024l.pfb create mode 100644 Master/xemtex/gsfonts/n019024l.pfm create mode 100644 Master/xemtex/gsfonts/n019043l.afm create mode 100644 Master/xemtex/gsfonts/n019043l.pfb create mode 100644 Master/xemtex/gsfonts/n019043l.pfm create mode 100644 Master/xemtex/gsfonts/n019044l.afm create mode 100644 Master/xemtex/gsfonts/n019044l.pfb create mode 100644 Master/xemtex/gsfonts/n019044l.pfm create mode 100644 Master/xemtex/gsfonts/n019063l.afm create mode 100644 Master/xemtex/gsfonts/n019063l.pfb create mode 100644 Master/xemtex/gsfonts/n019063l.pfm create mode 100644 Master/xemtex/gsfonts/n019064l.afm create mode 100644 Master/xemtex/gsfonts/n019064l.pfb create mode 100644 Master/xemtex/gsfonts/n019064l.pfm create mode 100644 Master/xemtex/gsfonts/n021003l.afm create mode 100644 Master/xemtex/gsfonts/n021003l.pfb create mode 100644 Master/xemtex/gsfonts/n021003l.pfm create mode 100644 Master/xemtex/gsfonts/n021004l.afm create mode 100644 Master/xemtex/gsfonts/n021004l.pfb create mode 100644 Master/xemtex/gsfonts/n021004l.pfm create mode 100644 Master/xemtex/gsfonts/n021023l.afm create mode 100644 Master/xemtex/gsfonts/n021023l.pfb create mode 100644 Master/xemtex/gsfonts/n021023l.pfm create mode 100644 Master/xemtex/gsfonts/n021024l.afm create mode 100644 Master/xemtex/gsfonts/n021024l.pfb create mode 100644 Master/xemtex/gsfonts/n021024l.pfm create mode 100644 Master/xemtex/gsfonts/n022003l.afm create mode 100644 Master/xemtex/gsfonts/n022003l.pfb create mode 100644 Master/xemtex/gsfonts/n022003l.pfm create mode 100644 Master/xemtex/gsfonts/n022004l.afm create mode 100644 Master/xemtex/gsfonts/n022004l.pfb create mode 100644 Master/xemtex/gsfonts/n022004l.pfm create mode 100644 Master/xemtex/gsfonts/n022023l.afm create mode 100644 Master/xemtex/gsfonts/n022023l.pfb create mode 100644 Master/xemtex/gsfonts/n022023l.pfm create mode 100644 Master/xemtex/gsfonts/n022024l.afm create mode 100644 Master/xemtex/gsfonts/n022024l.pfb create mode 100644 Master/xemtex/gsfonts/n022024l.pfm create mode 100644 Master/xemtex/gsfonts/p052003l.afm create mode 100644 Master/xemtex/gsfonts/p052003l.pfb create mode 100644 Master/xemtex/gsfonts/p052003l.pfm create mode 100644 Master/xemtex/gsfonts/p052004l.afm create mode 100644 Master/xemtex/gsfonts/p052004l.pfb create mode 100644 Master/xemtex/gsfonts/p052004l.pfm create mode 100644 Master/xemtex/gsfonts/p052023l.afm create mode 100644 Master/xemtex/gsfonts/p052023l.pfb create mode 100644 Master/xemtex/gsfonts/p052023l.pfm create mode 100644 Master/xemtex/gsfonts/p052024l.afm create mode 100644 Master/xemtex/gsfonts/p052024l.pfb create mode 100644 Master/xemtex/gsfonts/p052024l.pfm create mode 100644 Master/xemtex/gsfonts/s050000l.afm create mode 100644 Master/xemtex/gsfonts/s050000l.pfb create mode 100644 Master/xemtex/gsfonts/s050000l.pfm create mode 100644 Master/xemtex/gsfonts/z003034l.afm create mode 100644 Master/xemtex/gsfonts/z003034l.pfb create mode 100644 Master/xemtex/gsfonts/z003034l.pfm create mode 100644 Master/xemtex/gslib/CIDFnmap create mode 100644 Master/xemtex/gslib/CIDFnmap.ARP create mode 100644 Master/xemtex/gslib/CIDFnmap.Bae create mode 100644 Master/xemtex/gslib/CIDFnmap.CJK create mode 100644 Master/xemtex/gslib/CIDFnmap.Koc create mode 100644 Master/xemtex/gslib/CIDFnmap.Ore create mode 100644 Master/xemtex/gslib/CIDFnmap.Sol create mode 100644 Master/xemtex/gslib/CIDFnmap.Win create mode 100644 Master/xemtex/gslib/CIDFnmap.b5 create mode 100644 Master/xemtex/gslib/CIDFnmap.gb create mode 100644 Master/xemtex/gslib/CIDFnmap.ksx create mode 100644 Master/xemtex/gslib/CIDFnmap.sj create mode 100644 Master/xemtex/gslib/Fontmap create mode 100644 Master/xemtex/gslib/Fontmap.ATB create mode 100644 Master/xemtex/gslib/Fontmap.ATM create mode 100644 Master/xemtex/gslib/Fontmap.GS create mode 100644 Master/xemtex/gslib/Fontmap.OS2 create mode 100644 Master/xemtex/gslib/Fontmap.OSF create mode 100644 Master/xemtex/gslib/Fontmap.SGI create mode 100644 Master/xemtex/gslib/Fontmap.Sol create mode 100644 Master/xemtex/gslib/Fontmap.Ult create mode 100644 Master/xemtex/gslib/Fontmap.VMS create mode 100644 Master/xemtex/gslib/Info-macos.plist create mode 100644 Master/xemtex/gslib/acctest.ps create mode 100644 Master/xemtex/gslib/addxchar.ps create mode 100644 Master/xemtex/gslib/afmdiff.awk create mode 100644 Master/xemtex/gslib/align.ps create mode 100644 Master/xemtex/gslib/bdftops create mode 100644 Master/xemtex/gslib/bdftops.bat create mode 100755 Master/xemtex/gslib/bdftops.cmd create mode 100644 Master/xemtex/gslib/bdftops.ps create mode 100644 Master/xemtex/gslib/bj8.rpd create mode 100644 Master/xemtex/gslib/bj8gc12f.upp create mode 100644 Master/xemtex/gslib/bj8hg12f.upp create mode 100644 Master/xemtex/gslib/bj8oh06n.upp create mode 100644 Master/xemtex/gslib/bj8pa06n.upp create mode 100644 Master/xemtex/gslib/bj8pp12f.upp create mode 100644 Master/xemtex/gslib/bj8ts06n.upp create mode 100644 Master/xemtex/gslib/bjc610a0.upp create mode 100644 Master/xemtex/gslib/bjc610a1.upp create mode 100644 Master/xemtex/gslib/bjc610a2.upp create mode 100644 Master/xemtex/gslib/bjc610a3.upp create mode 100644 Master/xemtex/gslib/bjc610a4.upp create mode 100644 Master/xemtex/gslib/bjc610a5.upp create mode 100644 Master/xemtex/gslib/bjc610a6.upp create mode 100644 Master/xemtex/gslib/bjc610a7.upp create mode 100644 Master/xemtex/gslib/bjc610a8.upp create mode 100644 Master/xemtex/gslib/bjc610b1.upp create mode 100644 Master/xemtex/gslib/bjc610b2.upp create mode 100644 Master/xemtex/gslib/bjc610b3.upp create mode 100644 Master/xemtex/gslib/bjc610b4.upp create mode 100644 Master/xemtex/gslib/bjc610b6.upp create mode 100644 Master/xemtex/gslib/bjc610b7.upp create mode 100644 Master/xemtex/gslib/bjc610b8.upp create mode 100644 Master/xemtex/gslib/caption.ps create mode 100644 Master/xemtex/gslib/cbjc600.ppd create mode 100644 Master/xemtex/gslib/cbjc800.ppd create mode 100644 Master/xemtex/gslib/cdj550.upp create mode 100644 Master/xemtex/gslib/cdj690.upp create mode 100644 Master/xemtex/gslib/cdj690ec.upp create mode 100644 Master/xemtex/gslib/cid2code.ps create mode 100644 Master/xemtex/gslib/decrypt.ps create mode 100644 Master/xemtex/gslib/dnj750c.upp create mode 100644 Master/xemtex/gslib/dnj750m.upp create mode 100644 Master/xemtex/gslib/docie.ps create mode 100644 Master/xemtex/gslib/dvipdf create mode 100644 Master/xemtex/gslib/eps2eps create mode 100644 Master/xemtex/gslib/eps2eps.bat create mode 100755 Master/xemtex/gslib/eps2eps.cmd create mode 100644 Master/xemtex/gslib/errpage.ps create mode 100644 Master/xemtex/gslib/fixmswrd.pl create mode 100644 Master/xemtex/gslib/font2c create mode 100644 Master/xemtex/gslib/font2c.bat create mode 100755 Master/xemtex/gslib/font2c.cmd create mode 100644 Master/xemtex/gslib/font2c.ps create mode 100644 Master/xemtex/gslib/font2pcl.ps create mode 100644 Master/xemtex/gslib/gs_agl.ps create mode 100644 Master/xemtex/gslib/gs_btokn.ps create mode 100644 Master/xemtex/gslib/gs_ccfnt.ps create mode 100644 Master/xemtex/gslib/gs_ce_e.ps create mode 100644 Master/xemtex/gslib/gs_cff.ps create mode 100644 Master/xemtex/gslib/gs_cidcm.ps create mode 100644 Master/xemtex/gslib/gs_cidfn.ps create mode 100644 Master/xemtex/gslib/gs_cmap.ps create mode 100644 Master/xemtex/gslib/gs_cmdl.ps create mode 100644 Master/xemtex/gslib/gs_css_e.ps create mode 100644 Master/xemtex/gslib/gs_dbt_e.ps create mode 100644 Master/xemtex/gslib/gs_diskf.ps create mode 100644 Master/xemtex/gslib/gs_dpnxt.ps create mode 100644 Master/xemtex/gslib/gs_dps.ps create mode 100644 Master/xemtex/gslib/gs_dps1.ps create mode 100644 Master/xemtex/gslib/gs_dps2.ps create mode 100644 Master/xemtex/gslib/gs_dscp.ps create mode 100644 Master/xemtex/gslib/gs_epsf.ps create mode 100644 Master/xemtex/gslib/gs_fform.ps create mode 100644 Master/xemtex/gslib/gs_fonts.ps create mode 100644 Master/xemtex/gslib/gs_frsd.ps create mode 100644 Master/xemtex/gslib/gs_icc.ps create mode 100644 Master/xemtex/gslib/gs_il1_e.ps create mode 100644 Master/xemtex/gslib/gs_il2_e.ps create mode 100644 Master/xemtex/gslib/gs_init.ps create mode 100644 Master/xemtex/gslib/gs_kanji.ps create mode 100644 Master/xemtex/gslib/gs_ksb_e.ps create mode 100644 Master/xemtex/gslib/gs_l.xbm create mode 100644 Master/xemtex/gslib/gs_l.xpm create mode 100644 Master/xemtex/gslib/gs_l2img.ps create mode 100644 Master/xemtex/gslib/gs_l_m.xbm create mode 100644 Master/xemtex/gslib/gs_lev2.ps create mode 100644 Master/xemtex/gslib/gs_lgo_e.ps create mode 100644 Master/xemtex/gslib/gs_lgx_e.ps create mode 100644 Master/xemtex/gslib/gs_ll3.ps create mode 100644 Master/xemtex/gslib/gs_m.xbm create mode 100644 Master/xemtex/gslib/gs_m.xpm create mode 100644 Master/xemtex/gslib/gs_m_m.xbm create mode 100644 Master/xemtex/gslib/gs_mex_e.ps create mode 100644 Master/xemtex/gslib/gs_mgl_e.ps create mode 100644 Master/xemtex/gslib/gs_mro_e.ps create mode 100644 Master/xemtex/gslib/gs_pdf_e.ps create mode 100644 Master/xemtex/gslib/gs_pdfwr.ps create mode 100644 Master/xemtex/gslib/gs_pfile.ps create mode 100644 Master/xemtex/gslib/gs_rdlin.ps create mode 100644 Master/xemtex/gslib/gs_res.ps create mode 100644 Master/xemtex/gslib/gs_s.xbm create mode 100644 Master/xemtex/gslib/gs_s.xpm create mode 100644 Master/xemtex/gslib/gs_s_m.xbm create mode 100644 Master/xemtex/gslib/gs_setpd.ps create mode 100644 Master/xemtex/gslib/gs_statd.ps create mode 100644 Master/xemtex/gslib/gs_std_e.ps create mode 100644 Master/xemtex/gslib/gs_sym_e.ps create mode 100644 Master/xemtex/gslib/gs_t.xbm create mode 100644 Master/xemtex/gslib/gs_t.xpm create mode 100644 Master/xemtex/gslib/gs_t_m.xbm create mode 100644 Master/xemtex/gslib/gs_trap.ps create mode 100644 Master/xemtex/gslib/gs_ttf.ps create mode 100644 Master/xemtex/gslib/gs_typ32.ps create mode 100644 Master/xemtex/gslib/gs_typ42.ps create mode 100644 Master/xemtex/gslib/gs_type1.ps create mode 100644 Master/xemtex/gslib/gs_wan_e.ps create mode 100644 Master/xemtex/gslib/gs_wl1_e.ps create mode 100644 Master/xemtex/gslib/gs_wl2_e.ps create mode 100644 Master/xemtex/gslib/gs_wl5_e.ps create mode 100644 Master/xemtex/gslib/gsbj create mode 100644 Master/xemtex/gslib/gsbj.bat create mode 100644 Master/xemtex/gslib/gsdj create mode 100644 Master/xemtex/gslib/gsdj.bat create mode 100644 Master/xemtex/gslib/gsdj500 create mode 100644 Master/xemtex/gslib/gsdj500.bat create mode 100644 Master/xemtex/gslib/gslj create mode 100644 Master/xemtex/gslib/gslj.bat create mode 100644 Master/xemtex/gslib/gslp create mode 100644 Master/xemtex/gslib/gslp.bat create mode 100644 Master/xemtex/gslib/gslp.ps create mode 100644 Master/xemtex/gslib/gsnd create mode 100644 Master/xemtex/gslib/gsnd.bat create mode 100644 Master/xemtex/gslib/gsndt.bat create mode 100644 Master/xemtex/gslib/gsnup.ps create mode 100644 Master/xemtex/gslib/gssetgs.bat create mode 100644 Master/xemtex/gslib/gst.bat create mode 100644 Master/xemtex/gslib/gstt.bat create mode 100644 Master/xemtex/gslib/ht_ccsto.ps create mode 100644 Master/xemtex/gslib/image-qa.ps create mode 100644 Master/xemtex/gslib/impath.ps create mode 100644 Master/xemtex/gslib/jispaper.ps create mode 100644 Master/xemtex/gslib/landscap.ps create mode 100644 Master/xemtex/gslib/level1.ps create mode 100644 Master/xemtex/gslib/lines.ps create mode 100644 Master/xemtex/gslib/lp386.bat create mode 100644 Master/xemtex/gslib/lp386r2.bat create mode 100644 Master/xemtex/gslib/lpgs.bat create mode 100644 Master/xemtex/gslib/lpr2.bat create mode 100644 Master/xemtex/gslib/lprsetup.sh create mode 100644 Master/xemtex/gslib/markhint.ps create mode 100644 Master/xemtex/gslib/markpath.ps create mode 100644 Master/xemtex/gslib/necp2x.upp create mode 100644 Master/xemtex/gslib/necp2x6.upp create mode 100644 Master/xemtex/gslib/packfile.ps create mode 100644 Master/xemtex/gslib/pcharstr.ps create mode 100644 Master/xemtex/gslib/pdf2dsc create mode 100644 Master/xemtex/gslib/pdf2dsc.bat create mode 100644 Master/xemtex/gslib/pdf2dsc.ps create mode 100644 Master/xemtex/gslib/pdf2ps create mode 100644 Master/xemtex/gslib/pdf2ps.bat create mode 100755 Master/xemtex/gslib/pdf2ps.cmd create mode 100644 Master/xemtex/gslib/pdf_base.ps create mode 100644 Master/xemtex/gslib/pdf_draw.ps create mode 100644 Master/xemtex/gslib/pdf_font.ps create mode 100644 Master/xemtex/gslib/pdf_main.ps create mode 100644 Master/xemtex/gslib/pdf_ops.ps create mode 100644 Master/xemtex/gslib/pdf_sec.ps create mode 100644 Master/xemtex/gslib/pdfopt create mode 100644 Master/xemtex/gslib/pdfopt.bat create mode 100644 Master/xemtex/gslib/pdfopt.ps create mode 100644 Master/xemtex/gslib/pdfwrite.ps create mode 100644 Master/xemtex/gslib/pf2afm create mode 100644 Master/xemtex/gslib/pf2afm.bat create mode 100755 Master/xemtex/gslib/pf2afm.cmd create mode 100644 Master/xemtex/gslib/pf2afm.ps create mode 100644 Master/xemtex/gslib/pfbtopfa create mode 100644 Master/xemtex/gslib/pfbtopfa.ps create mode 100644 Master/xemtex/gslib/pftogsf.bat create mode 100644 Master/xemtex/gslib/pj-gs.sh create mode 100644 Master/xemtex/gslib/ppath.ps create mode 100644 Master/xemtex/gslib/pphs create mode 100644 Master/xemtex/gslib/pphs.ps create mode 100644 Master/xemtex/gslib/prfont.ps create mode 100644 Master/xemtex/gslib/printafm create mode 100644 Master/xemtex/gslib/printafm.ps create mode 100644 Master/xemtex/gslib/ps2ai.ps create mode 100644 Master/xemtex/gslib/ps2ascii create mode 100644 Master/xemtex/gslib/ps2ascii.bat create mode 100755 Master/xemtex/gslib/ps2ascii.cmd create mode 100644 Master/xemtex/gslib/ps2ascii.ps create mode 100644 Master/xemtex/gslib/ps2epsi create mode 100644 Master/xemtex/gslib/ps2epsi.bat create mode 100755 Master/xemtex/gslib/ps2epsi.cmd create mode 100644 Master/xemtex/gslib/ps2epsi.ps create mode 100644 Master/xemtex/gslib/ps2pdf create mode 100644 Master/xemtex/gslib/ps2pdf.bat create mode 100755 Master/xemtex/gslib/ps2pdf.cmd create mode 100644 Master/xemtex/gslib/ps2pdf12 create mode 100644 Master/xemtex/gslib/ps2pdf12.bat create mode 100755 Master/xemtex/gslib/ps2pdf12.cmd create mode 100644 Master/xemtex/gslib/ps2pdf13 create mode 100644 Master/xemtex/gslib/ps2pdf13.bat create mode 100755 Master/xemtex/gslib/ps2pdf13.cmd create mode 100644 Master/xemtex/gslib/ps2pdf14 create mode 100644 Master/xemtex/gslib/ps2pdf14.bat create mode 100755 Master/xemtex/gslib/ps2pdf14.cmd create mode 100644 Master/xemtex/gslib/ps2pdfwr create mode 100644 Master/xemtex/gslib/ps2pdfxx.bat create mode 100644 Master/xemtex/gslib/ps2ps create mode 100644 Master/xemtex/gslib/ps2ps.bat create mode 100755 Master/xemtex/gslib/ps2ps.cmd create mode 100644 Master/xemtex/gslib/pv.sh create mode 100644 Master/xemtex/gslib/quit.ps create mode 100644 Master/xemtex/gslib/ras1.upp create mode 100644 Master/xemtex/gslib/ras24.upp create mode 100644 Master/xemtex/gslib/ras3.upp create mode 100644 Master/xemtex/gslib/ras32.upp create mode 100644 Master/xemtex/gslib/ras4.upp create mode 100644 Master/xemtex/gslib/ras8m.upp create mode 100644 Master/xemtex/gslib/rollconv.ps create mode 100644 Master/xemtex/gslib/showchar.ps create mode 100644 Master/xemtex/gslib/showpage.ps create mode 100644 Master/xemtex/gslib/st640ih.upp create mode 100644 Master/xemtex/gslib/st640ihg.upp create mode 100644 Master/xemtex/gslib/st640p.upp create mode 100644 Master/xemtex/gslib/st640pg.upp create mode 100644 Master/xemtex/gslib/st640pl.upp create mode 100644 Master/xemtex/gslib/st640plg.upp create mode 100644 Master/xemtex/gslib/stc.upp create mode 100644 Master/xemtex/gslib/stc1520h.upp create mode 100644 Master/xemtex/gslib/stc2.upp create mode 100644 Master/xemtex/gslib/stc200_h.upp create mode 100644 Master/xemtex/gslib/stc2_h.upp create mode 100644 Master/xemtex/gslib/stc2s_h.upp create mode 100644 Master/xemtex/gslib/stc300.upp create mode 100644 Master/xemtex/gslib/stc300bl.upp create mode 100644 Master/xemtex/gslib/stc300bm.upp create mode 100644 Master/xemtex/gslib/stc500p.upp create mode 100644 Master/xemtex/gslib/stc500ph.upp create mode 100644 Master/xemtex/gslib/stc600ih.upp create mode 100644 Master/xemtex/gslib/stc600p.upp create mode 100644 Master/xemtex/gslib/stc600pl.upp create mode 100644 Master/xemtex/gslib/stc640p.upp create mode 100644 Master/xemtex/gslib/stc800ih.upp create mode 100644 Master/xemtex/gslib/stc800p.upp create mode 100644 Master/xemtex/gslib/stc800pl.upp create mode 100644 Master/xemtex/gslib/stc_h.upp create mode 100644 Master/xemtex/gslib/stc_l.upp create mode 100644 Master/xemtex/gslib/stcany.upp create mode 100644 Master/xemtex/gslib/stcany_h.upp create mode 100644 Master/xemtex/gslib/stcinfo.ps create mode 100644 Master/xemtex/gslib/stcolor.ps create mode 100644 Master/xemtex/gslib/stocht.ps create mode 100644 Master/xemtex/gslib/sysvlp.sh create mode 100644 Master/xemtex/gslib/traceimg.ps create mode 100644 Master/xemtex/gslib/traceop.ps create mode 100644 Master/xemtex/gslib/type1enc.ps create mode 100644 Master/xemtex/gslib/type1ops.ps create mode 100644 Master/xemtex/gslib/uninfo.ps create mode 100644 Master/xemtex/gslib/unix-lpr.sh create mode 100644 Master/xemtex/gslib/unprot.ps create mode 100644 Master/xemtex/gslib/viewcmyk.ps create mode 100644 Master/xemtex/gslib/viewgif.ps create mode 100644 Master/xemtex/gslib/viewjpeg.ps create mode 100644 Master/xemtex/gslib/viewmiff.ps create mode 100644 Master/xemtex/gslib/viewpbm.ps create mode 100644 Master/xemtex/gslib/viewpcx.ps create mode 100644 Master/xemtex/gslib/viewps2a.ps create mode 100644 Master/xemtex/gslib/wftopfa create mode 100644 Master/xemtex/gslib/wftopfa.ps create mode 100644 Master/xemtex/gslib/winmaps.ps create mode 100644 Master/xemtex/gslib/wmakebat.bat create mode 100644 Master/xemtex/gslib/wrfont.ps create mode 100644 Master/xemtex/gslib/zeroline.ps create mode 100644 Master/xemtex/perl/lib/AnyDBM_File.pm create mode 100644 Master/xemtex/perl/lib/AutoLoader.pm create mode 100644 Master/xemtex/perl/lib/B.pm create mode 100644 Master/xemtex/perl/lib/B/Deparse.pm create mode 100644 Master/xemtex/perl/lib/Carp.pm create mode 100644 Master/xemtex/perl/lib/Carp/Heavy.pm create mode 100644 Master/xemtex/perl/lib/Class/Struct.pm create mode 100644 Master/xemtex/perl/lib/Config.pm create mode 100644 Master/xemtex/perl/lib/Cwd.pm create mode 100644 Master/xemtex/perl/lib/Data/Dumper.pm create mode 100644 Master/xemtex/perl/lib/Digest/MD5.pm create mode 100644 Master/xemtex/perl/lib/DynaLoader.pm create mode 100644 Master/xemtex/perl/lib/Errno.pm create mode 100644 Master/xemtex/perl/lib/Exporter.pm create mode 100644 Master/xemtex/perl/lib/Exporter/Heavy.pm create mode 100644 Master/xemtex/perl/lib/Fcntl.pm create mode 100644 Master/xemtex/perl/lib/File/Basename.pm create mode 100644 Master/xemtex/perl/lib/File/Compare.pm create mode 100644 Master/xemtex/perl/lib/File/Copy.pm create mode 100644 Master/xemtex/perl/lib/File/Find.pm create mode 100644 Master/xemtex/perl/lib/File/Glob.pm create mode 100644 Master/xemtex/perl/lib/File/Path.pm create mode 100644 Master/xemtex/perl/lib/File/Spec.pm create mode 100644 Master/xemtex/perl/lib/File/Spec/Unix.pm create mode 100644 Master/xemtex/perl/lib/File/Spec/Win32.pm create mode 100644 Master/xemtex/perl/lib/File/Temp.pm create mode 100644 Master/xemtex/perl/lib/FindBin.pm create mode 100644 Master/xemtex/perl/lib/Getopt/Long.pm create mode 100644 Master/xemtex/perl/lib/IO.pm create mode 100644 Master/xemtex/perl/lib/IO/File.pm create mode 100644 Master/xemtex/perl/lib/IO/Handle.pm create mode 100644 Master/xemtex/perl/lib/IO/Seekable.pm create mode 100644 Master/xemtex/perl/lib/List/Util.pm create mode 100644 Master/xemtex/perl/lib/POSIX.pm create mode 100644 Master/xemtex/perl/lib/SDBM_File.pm create mode 100644 Master/xemtex/perl/lib/Scalar/Util.pm create mode 100644 Master/xemtex/perl/lib/SelectSaver.pm create mode 100644 Master/xemtex/perl/lib/Symbol.pm create mode 100644 Master/xemtex/perl/lib/Term/Cap.pm create mode 100644 Master/xemtex/perl/lib/Text/ParseWords.pm create mode 100644 Master/xemtex/perl/lib/Text/Tabs.pm create mode 100644 Master/xemtex/perl/lib/Text/Wrap.pm create mode 100644 Master/xemtex/perl/lib/Tie/Hash.pm create mode 100644 Master/xemtex/perl/lib/Tie/Scalar.pm create mode 100644 Master/xemtex/perl/lib/Time/HiRes.pm create mode 100644 Master/xemtex/perl/lib/Time/Local.pm create mode 100644 Master/xemtex/perl/lib/UNIVERSAL.pm create mode 100644 Master/xemtex/perl/lib/XSLoader.pm create mode 100644 Master/xemtex/perl/lib/attributes.pm create mode 100644 Master/xemtex/perl/lib/auto/B/B.dll create mode 100644 Master/xemtex/perl/lib/auto/Cwd/Cwd.dll create mode 100644 Master/xemtex/perl/lib/auto/Data/Dumper/Dumper.dll create mode 100644 Master/xemtex/perl/lib/auto/Digest/MD5/MD5.dll create mode 100644 Master/xemtex/perl/lib/auto/DynaLoader/autosplit.ix create mode 100644 Master/xemtex/perl/lib/auto/DynaLoader/dl_expandspec.al create mode 100644 Master/xemtex/perl/lib/auto/DynaLoader/dl_find_symbol_anywhere.al create mode 100644 Master/xemtex/perl/lib/auto/DynaLoader/dl_findfile.al create mode 100644 Master/xemtex/perl/lib/auto/Fcntl/Fcntl.dll create mode 100644 Master/xemtex/perl/lib/auto/File/Glob/Glob.dll create mode 100644 Master/xemtex/perl/lib/auto/IO/IO.dll create mode 100644 Master/xemtex/perl/lib/auto/List/Util/Util.dll create mode 100644 Master/xemtex/perl/lib/auto/POSIX/POSIX.dll create mode 100644 Master/xemtex/perl/lib/auto/POSIX/abs.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/alarm.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/assert.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/atan2.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/atexit.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/atof.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/atoi.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/atol.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/autosplit.ix create mode 100644 Master/xemtex/perl/lib/auto/POSIX/bsearch.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/calloc.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/chdir.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/chmod.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/chown.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/clearerr.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/closedir.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/cos.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/creat.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/div.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/errno.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/execl.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/execle.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/execlp.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/execv.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/execve.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/execvp.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/exit.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/exp.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/fabs.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/fclose.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/fcntl.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/fdopen.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/feof.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/ferror.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/fflush.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/fgetc.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/fgetpos.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/fgets.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/fileno.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/fopen.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/fork.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/fprintf.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/fputc.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/fputs.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/fread.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/free.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/freopen.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/fscanf.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/fseek.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/fsetpos.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/fstat.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/ftell.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/fwrite.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/getc.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/getchar.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/getegid.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/getenv.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/geteuid.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/getgid.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/getgrgid.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/getgrnam.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/getgroups.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/getlogin.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/getpgrp.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/getpid.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/getppid.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/getpwnam.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/getpwuid.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/gets.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/getuid.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/gmtime.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/isatty.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/kill.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/labs.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/ldiv.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/link.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/load_imports.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/localtime.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/log.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/longjmp.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/malloc.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/memchr.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/memcmp.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/memcpy.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/memmove.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/memset.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/mkdir.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/offsetof.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/opendir.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/perror.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/pow.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/printf.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/putc.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/putchar.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/puts.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/qsort.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/raise.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/rand.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/readdir.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/realloc.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/redef.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/remove.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/rename.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/rewind.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/rewinddir.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/rmdir.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/scanf.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/setbuf.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/setjmp.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/setvbuf.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/siglongjmp.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/sigsetjmp.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/sin.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/sleep.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/sprintf.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/sqrt.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/srand.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/sscanf.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/stat.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/strcat.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/strchr.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/strcmp.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/strcpy.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/strcspn.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/strerror.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/strlen.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/strncat.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/strncmp.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/strncpy.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/strpbrk.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/strrchr.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/strspn.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/strstr.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/strtok.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/system.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/time.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/tmpfile.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/tolower.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/toupper.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/umask.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/ungetc.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/unimpl.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/unlink.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/usage.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/utime.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/vfprintf.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/vprintf.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/vsprintf.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/wait.al create mode 100644 Master/xemtex/perl/lib/auto/POSIX/waitpid.al create mode 100644 Master/xemtex/perl/lib/auto/SDBM_File/SDBM_File.dll create mode 100644 Master/xemtex/perl/lib/auto/Time/HiRes/HiRes.dll create mode 100644 Master/xemtex/perl/lib/auto/re/re.dll create mode 100644 Master/xemtex/perl/lib/base.pm create mode 100644 Master/xemtex/perl/lib/bytes.pm create mode 100644 Master/xemtex/perl/lib/bytes_heavy.pl create mode 100644 Master/xemtex/perl/lib/constant.pm create mode 100644 Master/xemtex/perl/lib/fields.pm create mode 100644 Master/xemtex/perl/lib/integer.pm create mode 100644 Master/xemtex/perl/lib/lib.pm create mode 100644 Master/xemtex/perl/lib/newgetopt.pl create mode 100644 Master/xemtex/perl/lib/overload.pm create mode 100644 Master/xemtex/perl/lib/re.pm create mode 100644 Master/xemtex/perl/lib/strict.pm create mode 100644 Master/xemtex/perl/lib/subs.pm create mode 100644 Master/xemtex/perl/lib/unicore/ArabLink.pl create mode 100644 Master/xemtex/perl/lib/unicore/ArabLnkGrp.pl create mode 100644 Master/xemtex/perl/lib/unicore/Bidirectional.pl create mode 100644 Master/xemtex/perl/lib/unicore/Blocks.pl create mode 100644 Master/xemtex/perl/lib/unicore/Canonical.pl create mode 100644 Master/xemtex/perl/lib/unicore/Category.pl create mode 100644 Master/xemtex/perl/lib/unicore/CombiningClass.pl create mode 100644 Master/xemtex/perl/lib/unicore/Decomposition.pl create mode 100644 Master/xemtex/perl/lib/unicore/Exact.pl create mode 100644 Master/xemtex/perl/lib/unicore/JamoShort.pl create mode 100644 Master/xemtex/perl/lib/unicore/Lbrk.pl create mode 100644 Master/xemtex/perl/lib/unicore/Name.pl create mode 100644 Master/xemtex/perl/lib/unicore/Number.pl create mode 100644 Master/xemtex/perl/lib/unicore/Scripts.pl create mode 100644 Master/xemtex/perl/lib/unicore/To/Digit.pl create mode 100644 Master/xemtex/perl/lib/unicore/To/Fold.pl create mode 100644 Master/xemtex/perl/lib/unicore/To/Lower.pl create mode 100644 Master/xemtex/perl/lib/unicore/To/Title.pl create mode 100644 Master/xemtex/perl/lib/unicore/To/Upper.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/ASCII.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Alnum.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Alpha.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Alphabet.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Any.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Arabic.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Armenian.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/AsciiHex.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Assigned.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Bengali.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/BidiAL.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/BidiAN.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/BidiB.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/BidiBN.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/BidiCS.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/BidiCont.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/BidiEN.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/BidiES.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/BidiET.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/BidiL.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/BidiLRE.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/BidiLRO.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/BidiNSM.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/BidiON.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/BidiPDF.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/BidiR.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/BidiRLE.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/BidiRLO.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/BidiS.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/BidiWS.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Blank.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Bopomofo.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Buhid.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/C.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Canadian.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Canon.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Cc.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Cf.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Cherokee.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Cn.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Cntrl.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Co.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Common.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Compat.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Cs.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Cyrillic.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/DCcircle.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/DCcompat.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/DCfinal.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/DCfont.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/DCfracti.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/DCinitia.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/DCisolat.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/DCmedial.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/DCnarrow.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/DCnoBrea.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/DCsmall.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/DCsquare.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/DCsub.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/DCsuper.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/DCvertic.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/DCwide.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Dash.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Deprecat.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Deseret.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Devanaga.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Diacriti.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Digit.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Ethiopic.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Extender.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Georgian.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Gothic.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Graph.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Grapheme.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Greek.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Gujarati.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Gurmukhi.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Han.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Hangul.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Hanunoo.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Hebrew.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/HexDigit.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Hiragana.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Hyphen.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/IdContin.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/IdStart.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Ideograp.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/IdsBinar.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/IdsTrina.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InAlphab.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InArabi2.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InArabi3.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InArabic.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InArmeni.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InArrows.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InBasicL.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InBengal.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InBlockE.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InBopom2.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InBopomo.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InBoxDra.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InBraill.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InBuhid.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InByzant.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InCherok.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InCjkCo2.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InCjkCo3.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InCjkCo4.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InCjkCom.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InCjkRad.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InCjkSym.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InCjkUn2.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InCjkUn3.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InCjkUni.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InCombi2.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InCombi3.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InCombin.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InContro.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InCurren.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InCyril2.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InCyrill.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InDesere.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InDevana.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InDingba.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InEnclo2.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InEnclos.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InEthiop.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InGenera.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InGeomet.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InGeorgi.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InGothic.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InGreek.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InGreekA.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InGreekE.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InGujara.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InGurmuk.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InHalfwi.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InHangu2.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InHangu3.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InHangul.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InHanuno.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InHebrew.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InHighPr.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InHighSu.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InHiraga.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InIdeogr.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InIpaExt.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InKanbun.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InKangxi.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InKannad.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InKatak2.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InKataka.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InKhmer.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InLao.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InLatin1.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InLatin2.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InLatin3.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InLatinE.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InLetter.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InLowSur.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InMalaya.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InMathe2.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InMathem.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InMisce2.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InMisce3.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InMisce4.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InMiscel.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InMongol.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InMusica.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InMyanma.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InNumber.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InOgham.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InOldIta.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InOptica.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InOriya.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InPrivat.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InRunic.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InSinhal.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InSmallF.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InSpacin.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InSpecia.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InSupers.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InSuppl2.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InSuppl3.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InSuppl4.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InSuppl5.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InSupple.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InSyriac.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InTagalo.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InTagban.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InTags.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InTamil.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InTelugu.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InThaana.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InThai.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InTibeta.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InUnifie.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InVariat.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InYiRadi.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/InYiSyll.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Inherite.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/JoinCont.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Kannada.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Katakana.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Khmer.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/L.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/L_.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Lao.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Latin.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Ll.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Lm.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Lo.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/LogicalO.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Lower.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Lowercas.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Lt.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Lu.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/M.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Malayala.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Math.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Mc.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Me.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Mirrored.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Mn.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Mongolia.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Myanmar.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/N.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Nd.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Nl.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/No.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Nonchara.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Ogham.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/OldItali.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Oriya.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/OtherAlp.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/OtherDef.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/OtherGra.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/OtherLow.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/OtherMat.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/OtherUpp.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/P.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Pc.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Pd.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Pe.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Pf.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Pi.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Po.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Print.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Ps.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Punct.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Quotatio.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Radical.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Runic.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/S.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Sc.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Sinhala.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Sk.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Sm.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/So.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/SoftDott.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Space.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/SpacePer.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Syriac.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Tagalog.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Tagbanwa.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Tamil.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Telugu.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Terminal.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Thaana.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Thai.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Tibetan.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Title.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/UnifiedI.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Upper.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Uppercas.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/WhiteSpa.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Word.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/XDigit.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Yi.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Z.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Zl.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Zp.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/Zs.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/_CanonDC.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/_CaseIgn.pl create mode 100644 Master/xemtex/perl/lib/unicore/lib/_CombAbo.pl create mode 100644 Master/xemtex/perl/lib/utf8.pm create mode 100644 Master/xemtex/perl/lib/utf8_heavy.pl create mode 100644 Master/xemtex/perl/lib/vars.pm create mode 100644 Master/xemtex/perl/lib/warnings.pm create mode 100644 Master/xemtex/perl/lib/warnings/register.pm create mode 100644 Master/xemtex/perl/site/lib/Tk.pm create mode 100644 Master/xemtex/perl/site/lib/Tk/Adjuster.pm create mode 100644 Master/xemtex/perl/site/lib/Tk/After.pm create mode 100644 Master/xemtex/perl/site/lib/Tk/Bitmap.pm create mode 100644 Master/xemtex/perl/site/lib/Tk/Button.pm create mode 100644 Master/xemtex/perl/site/lib/Tk/Camel.xpm create mode 100644 Master/xemtex/perl/site/lib/Tk/Canvas.pm create mode 100644 Master/xemtex/perl/site/lib/Tk/Checkbutton.pm create mode 100644 Master/xemtex/perl/site/lib/Tk/Clipboard.pm create mode 100644 Master/xemtex/perl/site/lib/Tk/CmdLine.pm create mode 100644 Master/xemtex/perl/site/lib/Tk/ColorEdit.xpm create mode 100644 Master/xemtex/perl/site/lib/Tk/ColorEditor.pm create mode 100644 Master/xemtex/perl/site/lib/Tk/Config.pm create mode 100644 Master/xemtex/perl/site/lib/Tk/Configure.pm create mode 100644 Master/xemtex/perl/site/lib/Tk/Derived.pm create mode 100644 Master/xemtex/perl/site/lib/Tk/Dialog.pm create mode 100644 Master/xemtex/perl/site/lib/Tk/DialogBox.pm create mode 100644 Master/xemtex/perl/site/lib/Tk/Entry.pm create mode 100644 Master/xemtex/perl/site/lib/Tk/Event.pm create mode 100644 Master/xemtex/perl/site/lib/Tk/Event/IO.pm create mode 100644 Master/xemtex/perl/site/lib/Tk/FBox.pm create mode 100644 Master/xemtex/perl/site/lib/Tk/Frame.pm create mode 100644 Master/xemtex/perl/site/lib/Tk/IconList.pm create mode 100644 Master/xemtex/perl/site/lib/Tk/Image.pm create mode 100644 Master/xemtex/perl/site/lib/Tk/Label.pm create mode 100644 Master/xemtex/perl/site/lib/Tk/Listbox.pm create mode 100644 Master/xemtex/perl/site/lib/Tk/MainWindow.pm create mode 100644 Master/xemtex/perl/site/lib/Tk/Menu.pm create mode 100644 Master/xemtex/perl/site/lib/Tk/Menu/Item.pm create mode 100644 Master/xemtex/perl/site/lib/Tk/Menubutton.pm create mode 100644 Master/xemtex/perl/site/lib/Tk/Optionmenu.pm create mode 100644 Master/xemtex/perl/site/lib/Tk/Pixmap.pm create mode 100644 Master/xemtex/perl/site/lib/Tk/Pretty.pm create mode 100644 Master/xemtex/perl/site/lib/Tk/ROText.pm create mode 100644 Master/xemtex/perl/site/lib/Tk/Radiobutton.pm create mode 100644 Master/xemtex/perl/site/lib/Tk/Scale.pm create mode 100644 Master/xemtex/perl/site/lib/Tk/Scrollbar.pm create mode 100644 Master/xemtex/perl/site/lib/Tk/Submethods.pm create mode 100644 Master/xemtex/perl/site/lib/Tk/Text.pm create mode 100644 Master/xemtex/perl/site/lib/Tk/Text/Tag.pm create mode 100644 Master/xemtex/perl/site/lib/Tk/Tk.xbm create mode 100644 Master/xemtex/perl/site/lib/Tk/Tk.xpm create mode 100644 Master/xemtex/perl/site/lib/Tk/Toplevel.pm create mode 100644 Master/xemtex/perl/site/lib/Tk/Widget.pm create mode 100644 Master/xemtex/perl/site/lib/Tk/Wm.pm create mode 100644 Master/xemtex/perl/site/lib/Tk/X.pm create mode 100644 Master/xemtex/perl/site/lib/Tk/X11/license.terms create mode 100644 Master/xemtex/perl/site/lib/Tk/Xcamel.gif create mode 100644 Master/xemtex/perl/site/lib/Tk/act_folder.xbm create mode 100644 Master/xemtex/perl/site/lib/Tk/act_folder.xpm create mode 100644 Master/xemtex/perl/site/lib/Tk/anim.gif create mode 100644 Master/xemtex/perl/site/lib/Tk/balArrow.xbm create mode 100644 Master/xemtex/perl/site/lib/Tk/cbxarrow.xbm create mode 100644 Master/xemtex/perl/site/lib/Tk/file.xbm create mode 100644 Master/xemtex/perl/site/lib/Tk/file.xpm create mode 100644 Master/xemtex/perl/site/lib/Tk/folder.xbm create mode 100644 Master/xemtex/perl/site/lib/Tk/folder.xpm create mode 100644 Master/xemtex/perl/site/lib/Tk/icon.gif create mode 100644 Master/xemtex/perl/site/lib/Tk/license.terms create mode 100644 Master/xemtex/perl/site/lib/Tk/openfile.xbm create mode 100644 Master/xemtex/perl/site/lib/Tk/openfolder.xbm create mode 100644 Master/xemtex/perl/site/lib/Tk/openfolder.xpm create mode 100644 Master/xemtex/perl/site/lib/Tk/prolog.ps create mode 100644 Master/xemtex/perl/site/lib/Tk/srcfile.xpm create mode 100644 Master/xemtex/perl/site/lib/Tk/textfile.xpm create mode 100644 Master/xemtex/perl/site/lib/Tk/tranicon.gif create mode 100644 Master/xemtex/perl/site/lib/Tk/widgets.pm create mode 100644 Master/xemtex/perl/site/lib/Tk/win.xbm create mode 100644 Master/xemtex/perl/site/lib/Tk/winfolder.xpm create mode 100644 Master/xemtex/perl/site/lib/Tk/wintext.xpm create mode 100644 Master/xemtex/perl/site/lib/Win32/API.pm create mode 100644 Master/xemtex/perl/site/lib/Win32/API/Struct.pm create mode 100644 Master/xemtex/perl/site/lib/Win32/API/Type.pm create mode 100644 Master/xemtex/perl/site/lib/XML/Parser.pm create mode 100644 Master/xemtex/perl/site/lib/XML/Parser/Expat.pm create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Bitmap/Bitmap.dll create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/CancelRepeat.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Canvas/Canvas.dll create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Clipboard/autosplit.ix create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Clipboard/getSelected.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/EnterFocus.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Entry/Entry.dll create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Error.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Event/Event.dll create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/FirstMenu.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/FocusChildren.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/FocusOK.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Frame/AddScrollbars.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Frame/FindMenu.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Frame/autosplit.ix create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Frame/freeze_on_map.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Frame/label.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Frame/labelPack.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Frame/labelVariable.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Frame/packscrollbars.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Frame/queuePack.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Frame/sbset.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Frame/scrollbars.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/ImageNames.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/ImageTypes.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Listbox/AutoScan.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Listbox/BeginExtend.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Listbox/BeginSelect.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Listbox/BeginToggle.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Listbox/ButtonRelease_1.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Listbox/Cancel.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Listbox/Cntrl_End.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Listbox/Cntrl_Home.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Listbox/Cntrl_backslash.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Listbox/DataExtend.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Listbox/ExtendUpDown.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Listbox/Listbox.dll create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Listbox/Motion.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Listbox/SelectAll.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Listbox/SetList.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Listbox/UpDown.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Listbox/autosplit.ix create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Listbox/clipboardPaste.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Listbox/deleteSelected.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Listbox/getSelected.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Listbox/xyIndex.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Menubutton/Menubutton.dll create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Pixmap/Pixmap.dll create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Receive.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/RepeatId.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Scale/Activate.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Scale/ButtonDown.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Scale/ButtonUp.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Scale/ControlPress.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Scale/Drag.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Scale/EndDrag.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Scale/Enter.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Scale/Increment.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Scale/Leave.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Scale/Scale.dll create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Scale/autosplit.ix create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Scrollbar/ButtonDown.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Scrollbar/ButtonUp.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Scrollbar/Drag.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Scrollbar/EndDrag.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Scrollbar/Enter.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Scrollbar/Leave.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Scrollbar/Motion.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Scrollbar/ScrlByPages.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Scrollbar/ScrlByUnits.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Scrollbar/ScrlToPos.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Scrollbar/ScrlTopBottom.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Scrollbar/Scrollbar.dll create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Scrollbar/Select.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Scrollbar/StartDrag.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Scrollbar/autosplit.ix create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Selection.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Text/Text.dll create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Text/autosplit.ix create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Tk.dll create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Toplevel/FG_BindIn.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Toplevel/FG_BindOut.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Toplevel/FG_Create.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Toplevel/FG_Destroy.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Toplevel/FG_In.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Toplevel/FG_Out.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Toplevel/autosplit.ix create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/TraverseToMenu.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Widget/ASkludge.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Widget/autosplit.ix create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Widget/clipboardKeysyms.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Widget/pathname.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Wm/AnchorAdjust.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Wm/FullScreen.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Wm/Popup.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Wm/Post.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Wm/autosplit.ix create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/Wm/iconposition.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/X/X.dll create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/X/autosplit.ix create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/autosplit.ix create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/break.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/focusFollowsMouse.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/focusNext.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/focusPrev.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/interps.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/lsearch.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/tabFocus.al create mode 100644 Master/xemtex/perl/site/lib/auto/Tk/updateWidgets.al create mode 100644 Master/xemtex/perl/site/lib/auto/Win32/API/API.dll create mode 100644 Master/xemtex/perl/site/lib/auto/XML/Parser/Expat/Expat.dll diff --git a/Master/xemtex/doc/ghostscript/API.htm b/Master/xemtex/doc/ghostscript/API.htm new file mode 100644 index 00000000000..01eff34f577 --- /dev/null +++ b/Master/xemtex/doc/ghostscript/API.htm @@ -0,0 +1,671 @@ + + + +The Ghostscript Interpreter Application Programming Interface (API) + + + + + + + + + + +

The Ghostscript Interpreter Application Programming Interface (API)

+ + + + + +

Table of contents

+ + + + + + + +

For other information, see the Ghostscript +overview. + +

+WARNING: The API described in this document is subject to changes in +future releases, possibly ones that are not backward compatible with what +is described here. + + + +


+ + + + + + +

What is the Ghostscript Interpreter API?

+ +

+The Ghostscript interpreter can be built as a dynamic link library +(DLL) on the Windows or OS/2 platforms, as a shared object on the +GNU/Linux platform and as a framework on MacOS X. +With some changes, it could be built as a static library. +This document describes the Application Programming Interface (API) +for the Ghostscript interpreter library. +This should not be confused with the +Ghostscript library which provides a graphics +library but not the interpreter. +

+This supercedes the old DLL interface. +

+To provide the interface described in the +usage documentation, a smaller independent +executable loads the DLL/shared object. +This executable provides all the interaction with the windowing system, +including image windows and, if necessary, a text window. + +

+The Ghostscript interpreter library's name and characteristics differ +for each platform: + +

+ +

+The source for the executable is in dw*.* (Windows), +dp*.* (OS/2) and dx*.* (GNU/Linux). +See these source files for examples of how to use the DLL. + +

+The source file dxmainc.c can serve as an example of how to use the +framework shared component on MacOS X. Just change the header includes to use +the Ghostscript namespace: +

#include <Ghostscript/errors.h>
+#include <Ghostscript/iapi.h>
+and link with: +
cc -o gsc dxmainc.c -framework Ghostscript
+To get a useable executable. Ghostscript.framework must be properly +installed in the search path for this to work. + +

+At this stage, Ghostscript does not support multiple instances +of the interpreter within a single process. + +


+ +

Exported functions

+ +

+The functions exported by the DLL/shared object are described +in the header file iapi.h +and are summarised below. Omitted from the summary are +the calling convention (e.g. __stdcall), details of return +values and error handling. + + +

+ +

gsapi_revision()

+ +
+This function returns the revision numbers and strings of the Ghostscript +interpreter library; you should call it before any other interpreter +library functions to make sure that the correct version of the +Ghostscript interpreter has been loaded. + +
+
+typedef struct gsapi_revision_s {
+    const char *product;
+    const char *copyright;
+    long revision;
+    long revisiondate;
+} gsapi_revision_t;
+gsapi_revision_t r;
+
+if (gsapi_revision(&r, sizeof(r)) == 0) {
+    if (r.revision < 650)
+       printf("Need at least Ghostscript 6.50");
+}
+else {
+    printf("revision structure size is incorrect");
+}
+
+
+ + +

gsapi_new_instance()

+
+Create a new instance of Ghostscript. +This instance is passed to most other gsapi functions. +The caller_handle will be provided to callback functions. +At this stage, Ghostscript supports only one instance. +
+ + +

gsapi_delete_instance()

+
+Destroy an instance of Ghostscript. +Before you call this, Ghostscript must have finished. +If Ghostscript has been initialised, you must call +gsapi_exit before gsapi_delete_instance. +
+ + +

gsapi_set_stdio()

+
+Set the callback functions for stdio +The stdin callback function should return the number of +characters read, 0 for EOF, or -1 for error. +The stdout and stderr callback functions should return +the number of characters written. +
+ + +

gsapi_set_poll()

+
+Set the callback function for polling. +This is used for handling window events or cooperative +multitasking. This function will only be called if +the Ghostscript interpreter was compiled with CHECK_INTERRUPTS +as described in gpcheck.h. +
+ +

gsapi_set_display_callback()

+
+Set the callback structure for the display +device. If the display device is used, +this must be called after +gsapi_new_instance() +and before gsapi_init_with_args(). +See gdevdsp.h +for more details. +
+ +

gsapi_init_with_args()

+
+Initialise the interpreter. +This calls gs_main_init_with_args() in +imainarg.c. +See below for return codes. +The arguments are the same as the "C" main function: +argv[0] is ignored and the user supplied arguments +are argv[1] to argv[argc-1]. +
+ +

gsapi_run_*()

+
+The gsapi_run_* functions are like +gs_main_run_* except that the error_object is omitted. +If these functions return <= -100, either quit or a fatal +error has occured. You must call gsapi_exit() next. +The only exception is gsapi_run_string_continue() +which will return e_NeedInput if all is well. +See below for return codes. +
+ +

gsapi_exit()

+
+Exit the interpreter. +This must be called on shutdown if gsapi_init_with_args() +has been called, and just before gsapi_delete_instance(). +
+ +

Return codes

+ +

+The gsapi_init_with_args, gsapi_run_* and +gsapi_exit functions return an integer code. + +

+ + +

Return codes from gsapi_*()
+
Code +      + Status +

+
0 +   + No errors +
e_Quit +   + "quit" has been executed. + This is not an error. + gsapi_exit() must be called next. +
e_NeedInput +   + More input is needed by + gsapi_run_string_continue(). + This is not an error. +
e_Info +   + "gs -h" has been executed. + This is not an error. + gsapi_exit() must be called next. +
< 0 +   + Error +
<= -100 +   + Fatal error. +gsapi_exit() must be called next. +
+ + +

+The gsapi_run_*() functions do not flush stdio. +If you want to see output from Ghostscript you +must do this explicitly as shown in the example below. + +

+When executing a string with gsapi_run_string_*(), +currentfile is the input from the string. +Reading from %stdin uses the stdin callback. + + + + +

Example Usage

+Some overly simple examples of using the Ghostscript interpreter library are: + +

Example 1

+
+/* Example of using GS DLL as a ps2pdf converter.  */
+
+#ifdef _Windows
+/* Compile with:
+ * cl -D_Windows -Isrc -Febin\ps2pdf.exe ps2pdf.c bin\gsdll32.lib
+ */
+#include <windows.h>
+#define GSDLLEXPORT __declspec(dllimport)
+#endif
+
+#include "errors.h"
+#include "iapi.h"
+
+gs_main_instance *minst;
+
+int main(int argc, char *argv[])
+{
+    int code;
+    int exit_code;
+    const char * gsargv[10];
+    int gsargc;
+    gsargv[0] = "ps2pdf";	/* actual value doesn't matter */
+    gsargv[1] = "-dNOPAUSE";
+    gsargv[2] = "-dBATCH";
+    gsargv[3] = "-dSAFER";
+    gsargv[4] = "-sDEVICE=pdfwrite";
+    gsargv[5] = "-sOutputFile=out.pdf";
+    gsargv[6] = "-c";
+    gsargv[7] = ".setpdfwrite";
+    gsargv[8] = "-f";
+    gsargv[9] = "input.ps";
+    gsargc=10;
+
+    code = gsapi_new_instance(&minst, NULL);
+    if (code < 0)
+	return 1;
+    code = gsapi_init_with_args(minst, gsargc, gsargv);
+    gsapi_exit(minst);
+
+    gsapi_delete_instance(minst);
+
+    if ((code == 0) || (code == e_Quit))
+	return 0;
+    return 1;
+}
+
+ +

Example 2

+
+/* Similar to command line gs */
+
+#include <stdio.h>
+#include "errors.h"
+#include "iapi.h"
+
+/* stdio functions */
+static int GSDLLCALL
+gsdll_stdin(void *instance, char *buf, int len)
+{
+    int ch;
+    int count = 0;
+    while (count < len) {
+	ch = fgetc(stdin);
+	if (ch == EOF)
+	    return 0;
+	*buf++ = ch;
+	count++;
+	if (ch == '\n')
+	    break;
+    }
+    return count;
+}
+
+static int GSDLLCALL
+gsdll_stdout(void *instance, const char *str, int len)
+{
+    fwrite(str, 1, len, stdout);
+    fflush(stdout);
+    return len;
+}
+
+static int GSDLLCALL
+gsdll_stderr(void *instance, const char *str, int len)
+{
+    fwrite(str, 1, len, stderr);
+    fflush(stderr);
+    return len;
+}
+
+gs_main_instance *minst;
+const char start_string[] = "systemdict /start get exec\n";
+
+int main(int argc, char *argv[])
+{
+    int code;
+    int exit_code;
+
+    code = gsapi_new_instance(&minst, NULL);
+    if (code < 0)
+	return 1;
+    gsapi_set_stdio(minst, gsdll_stdin, gsdll_stdout, gsdll_stderr);
+    code = gsapi_init_with_args(minst, argc, argv);
+    if (code == 0)
+	code = gsapi_run_string(minst, start_string, 0, &exit_code);
+    gsapi_exit(minst);
+
+    gsapi_delete_instance(minst);
+
+    if ((code == 0) || (code == e_Quit))
+	return 0;
+    return 1;
+}
+
+ +

Example 3

+ +Replace main() in either of the above with the following code, +showing how you can feed Ghostscript piecemeal: +
+const char *command = "1 2 add == flush\n";
+
+int main(int argc, char *argv[])
+{
+    int code;
+    int exit_code;
+
+    code = gsapi_new_instance(&minst, NULL);
+    if (code < 0)
+	return 1;
+    code = gsapi_init_with_args(minst, argc, argv);
+
+    if (code == 0) {
+	gsapi_run_string_begin(minst, 0, &exit_code);
+	gsapi_run_string_continue(minst, command, strlen(command), 0, &exit_code);
+	gsapi_run_string_continue(minst, "qu", 2, 0, &exit_code);
+	gsapi_run_string_continue(minst, "it", 2, 0, &exit_code);
+	gsapi_run_string_end(minst, 0, &exit_code);
+    }
+
+    gsapi_exit(minst);
+
+    gsapi_delete_instance(minst);
+
+    if ((code == 0) || (code == e_Quit))
+	return 0;
+    return 1;
+}
+
+ + +

Multiple threads

+The Ghostscript library should have been compiled with a +thread safe run time library. +Synchronisation of threads is entirely up to the caller. + +

Standard input and output

+

+When using the Ghostscript interpreter library interface, you have a +choice of two standard input/output methods. +

+

+The callback functions are described in +iapi.h. + + +

Display device

+

+The display device is available for use with +the Ghostscript interpreter library. This is described in the file +gdevdsp.h. +This device provides you with access to the raster output of +Ghostscript. It is your responsibility to copy this raster +to a display window or printer. +

+To use this device, you must provide a callback structure +with addresses of a number of callback functions. +The address of the callback structure is provided using +gsapi_set_display_callback(). +This must be called after +gsapi_new_instance() +and before +gsapi_init_with_args(). +

+The callbacks are for device open, close, resize, sync, page, +memory allocation and updating. +Each callback function contains a handle can be set using +

+ -dDisplayHandle=1234 +
+

+The device raster format can be configured using +

+ -dDisplayFormat=NNNN +
+Options include + +The format values are described in +gdevdsp.h. +The format is flexible enough to support common Windows, OS/2, GNU/Linux +and Mac raster formats. To select the display device with a +Windows 24-bit RGB raster: +
+    char **nargv;
+    char arg1[64];
+    char arg2[64];
+    char arg3[64];
+    code = gsapi_new_instance(&minst, NULL);
+    gsapi_set_stdio(minst, gsdll_stdin, gsdll_stdout, gsdll_stderr);
+    code = gsapi_set_display_callback(minst, &display_callback);
+    sprintf(arg1, "-sDEVICE=display");
+    sprintf(arg2, "-dDisplayHandle=%d", 0);
+    sprintf(arg3, "-dDisplayFormat=%d", 
+        DISPLAY_COLORS_RGB | DISPLAY_ALPHA_NONE | DISPLAY_DEPTH_8 | 
+        DISPLAY_LITTLEENDIAN | DISPLAY_BOTTOMFIRST);
+    nargv = (char **)malloc((argc + 4) * sizeof(char *));
+    nargv[0] = argv[0];
+    nargv[1] = arg1;
+    nargv[2] = arg2;
+    nargv[3] = arg3;
+    memcpy(nargv + 4, argv + 1, argc * sizeof(char *));
+    argc += 3;
+    code = gsapi_init_with_args(minst, argc, nargv);
+
+ +

+The display device provides you with the address and size of the +raster using the display_size() callback. +You are then responsible for displaying this raster. +Some examples are in +dwmain.c (Windows), +dpmain.c (OS/2) and +dxmain.c (X11/GNU/Linux). + +

+ + + + +


+ + +

+Copyright © 2001 artofcode LLC. All rights reserved. + +

+This software is provided AS-IS with no warranty, either express or +implied. + +This software is distributed under license and may not be copied, +modified or distributed except as expressly authorized under the terms +of the license contained in the file LICENSE in this distribution. + +

+Ghostscript version 7.07, 17 May 2003 + + + + + + diff --git a/Master/xemtex/doc/ghostscript/C-style.htm b/Master/xemtex/doc/ghostscript/C-style.htm new file mode 100644 index 00000000000..0e17e4d5e0e --- /dev/null +++ b/Master/xemtex/doc/ghostscript/C-style.htm @@ -0,0 +1,1588 @@ + + + +Ghostscript C coding guidelines + + + + + + + + + + +

Ghostscript C coding guidelines

+ + + + + +

Table of contents

+ +
+ + + + + +

+For other information, see the Ghostscript +overview. + + + +


+ + + + + +

Introduction

+ +

+This document describes Ghostscript's C coding conventions. It is primarily +prescriptive, documenting what developers should do when writing +new code; the companion developer documentation (Develop.htm) is primarily descriptive, +documenting the way things are. + +

+We encourage following the general language usage and stylistic rules for +any code that will be integrated with Ghostscript, even if the code doesn't +use Ghostscript's run-time facilities or have anything to do with +PostScript, PDF, or page description languages. Ghostscript itself follows +some additional conventions; these are documented separately under "Ghostscript conventions" below. + +


+ +

C language do's and don'ts

+ +

+There are several different versions of the C language, and even of the ANSI +C standard. Ghostscript versions through 7.0 were designed to compile on +pre-ANSI compilers as well as on many compilers that implemented the ANSI +standard with varying faithfulness. Ghostscript versions since 7.0 do not +cater for pre-ANSI compilers: they must conform to the ANSI 1989 standard +(ANS X3.159-1989), with certain restrictions and a few conventional +additions. + +

Preprocessor

+ +

Conditionals

+ +Restrictions: + + + +

Macros

+ +

+Restrictions: + +

+ +

Other

+ +

+Restrictions: + +

+ +

Lexical elements

+ +

+Do not use: + +

+ +

+Restrictions: + +

+ +

Scoping (extern, static, ...)

+ +

+Do not use: + +

+ +

+Restrictions: + +

+ +

Scalars

+ +

+Restrictions: + +

+ +

Arrays

+ +

+Restrictions: + +

+ +

Typedefs

+ +

+Restrictions: + +

+ +

Structures

+ +

+Restrictions: + +

  • Don't use anonymous structures if you can possibly avoid it, except +occasionally as components of other structures. Ideally, use the +struct keyword only for declaring named structure types, +like this: + +
    +typedef struct xxx_s {
    +   ... members ...
    +} xxx_t; +
    + +
  • Use struct only when declaring structure types, never +for referring to them (e.g., never declare a variable as type +struct xxx_s *). + +
  • Don't assume that the compiler will (or won't) insert padding in +structures to align members for best performance. To preserve alignment, +only declare structure members that are narrower than an int +if there will be a lot of instances of that structure in memory. For such +structures, insert byte and/or short padding +members as necessary to re-establish int alignment. + +
  • Don't declare initialized auto structures. + + + +

    Unions

    + +

    +Restrictions: + +

      + +
    • Use unions only as components of structures, not as typedefs in their +own right. + +
    • Don't attempt to initialize unions: not all compilers support this, even +though it is in the 1989 ANSI standard. + +
    + +

    Expressions

    + +

    +Restrictions: + +

      + +
    • Don't assign a larger integer data type to a smaller one without a cast +(int_x = long_y). + +
    • It's OK to use the address of a structure or array element +(&p->e, &a[i]) locally, or pass it to a +procedure that won't store it, but don't store such an address in allocated +storage unless you're very sure of what you're doing. + +
    • Don't use conditional expressions with structure or union values. +(Pointers to structures or unions are OK.) + +
    • For calling a variable or parameter procedure, use +ptr->func(...). Some old code uses explicit indirection, +(*ptr->func)(...): don't use this in new code. + +
    • Don't write expressions that depend on order of evaluation, unless the +order is created explicitly by use of ||, +&&, ?:, ,, or +function nesting (the arguments of a function must be evaluated before the +function is called). In particular, don't assume that the arguments of a +function will be evaluated left-to-right, or that the left side of an +assignment will be evaluated before the right. + +
    • Don't mix integer and enumerated types ad lib: treat enumerated types as +distinct from integer types, and use casts to convert between the two. +(Some compilers generate warnings if you do not do this.) + +
    + +

    Statements

    + +

    +Restrictions: + +

      + +
    • If you use an expression as a statement, other than an assignment or a +function call with void return value, enclose it explicitly +in DISCARD(). + +
    • The type of the operand of a switch must match the type +of the case labels, whether the labels are ints or the +members of an enum type. (Use a cast if necessary.) + +
    • It is OK for one case of a switch to "fall through" into another (i.e., +for the statement just before a case label not to be a control transfer), +but a comment /* falls through */ is +required. + +
    • If you are returning an error code specified explicitly (e.g., +return gs_error_rangecheck or +return e_rangecheck), use +return_error() rather than plain return. +However, if the program is simply propagating an error code generated +elsewhere, as opposed to generating the error, use return +(e.g., if (code < 0) return code). + +
    + +

    Procedures

    + +

    +Restrictions: + +

      + +
    • Provide a prototype for every procedure, and make sure the prototype is +available at every call site. If the procedure is local to a file +(private), the prototype should precede the procedure, in +the same file; if the procedure is global, the prototype should be in a +header file. + +
    • If a procedure parameter is itself a procedure, do list its parameter +types rather than just using (). For example, + +
      +int foo(int (*callback)(int, int)); +
      + +

      +rather than just + +

      +int foo(int (*callback)()); +
      + +
    • Don't use the P* macros in new code. (See the +Procedures section of Language extensions +below for more information.) + +
    • Always provide an explicit return type for procedures, in both the +prototype and the definition: don't rely on the implicit declaration as +int. + +
    • Don't use float as the return type of a procedure, +unless there's a special reason. Floating point hardware typically does +everything in double precision internally and has to do extra work to +convert between double and single precision. + +
    • Don't declare parameters as being of type float, +short, or char. If you do this and forget +to include the prototype at a call site, ANSI compilers will generate +incompatible calling sequences. Use floatp (a synonym for +double, mnemonic for "float parameter") instead of +float, and use int or uint +instead of short or char. + +
    + +

    Standard library

    + +

    +Restrictions: + +

      + +
    • Only use library features that are documented in the established ANSI +standard (e.g., Harbison & Steele's book). Do not use procedures that are +"standards" promulgated by Microsoft (e.g., stricmp), or +originate in BSD Unix (e.g., strcasecmp), or were added in +later versions of the standard such as C 9X. + +
    • Do not use any features from stdio.h that assume the +existence of stdin, stdout, or +stderr. See gsio.h for the full +list. Instead, use gs_stdin et al. + +
    + +
    + +

    Language extensions

    + +

    Scoping

    + +
    + +
    inline + +
    inline is available even if the compiler does not +support it. Be aware, however, that it may have no effect. In particular, +do not use inline in header files. Instead, use the +extern_inline facility described just below. + +
    extern_inline + +
    Compilers that do support inline vary in how they decide +whether to (also) compile a closed-code copy of the procedure. Because of +this, putting an inline procedure in a header file may +produce multiple closed copies, causing duplicate name errors at link time. +extern_inline provides a safe way to put +inline procedures in header files, regardless of compiler. +Unfortunately, the only way we've found to make this fully portable involves +a fair amount of boilerplate. For details, please see stdpre.h. + +
    private + +
    Use private instead of static for all +file-local procedures, and also for file-local variables defined at the +outermost level. However, use static, not +private, for variables defined within a procedure. + +

    +private is normally #define'd as static. +However, it can also be #define'd as empty, which allows profilers to +measure all procedures, and 'nm' to list all interesting statically +allocated variables, not just public ones. + +

    + +

    Scalar types

    + +
    + +
    bool, true, false + +
    bool is intended as a Boolean type, with canonical +values true and false. In a more reasonable +language, such as Java, bool is an enumerated type requiring +an explicit cast to or from int; however, because C's +conditionals are defined as producing int values, we can't +even define bool as a C enum without +provoking compiler warnings. + +

    +Even though bool is a synonym for int, treat +them as conceptually different types: + +

      +
    • Initialize or set bool variables to true +or false, not 0 or 1. +
    • Use the Boolean operators !, &&, +and || only with Booleans. Don't use the idiom +!!x to create a Boolean that is true iff x +!= 0: use x != 0. +
    • Use an explicit (int) cast to convert a Boolean to an +integer. +
    + +
    byte, ushort, uint, ulong + +
    These types are simply shorthands for unsigned char, short, int, +long. + +
    floatp + +
    This is a synonym for double. It should be used for, +and only for, procedure parameters that would otherwise be +float. (As noted above, procedure parameters should not be +declared as float.) + +
    bits8, bits16, bits32 + +
    These are unsigned integer types of the given width. Use them wherever +the actual width matters: do not, for example, use +short assuming that it is 16 bits wide. + +
    bits64 + +
    ****** NOT IMPLEMENTED YET ****** +This is an unsigned 64-bit integer type, but it may not be available on all +platforms. Any code that uses this type should be surrounded by +#if ARCH_HAS_BITS64. + +
    + +

    Procedures

    + +
    + +
    P0(), P1(p1), ..., P16(p1, ..., p16) [deprecated] + +
    Nearly all existing code uses these macros for the parameter lists of +procedure prototypes, e.g., +int proc(P2(int a, int b)), to provide +compatibility with pre-ANSI, a.k.a. "traditional" or "K & R", compilers. +Since only ANSI compilers are now supported, don't use these macros in new +code: use the ANSI standard syntax +int proc(int a, int b). + +
    + +
    + +

    Stylistic conventions

    + +

    +Ghostscript's coding rules cover not only the use of the language, but also +many stylistic issues like the choice of names and the use of whitespace. +The stylistic rules are meant to produce code that is easy to read. It's +important to observe them as much as possible in order to maintain a +consistent style, but if you find these rules getting in your way or +producing ugly-looking results once in a while, it's OK to break it. + +

    Formatting

    + +

    Indentation

    + +

    +We've formatted all of our code using the GNU indent program. + +

    +indent -bad -nbap -nsob -br -ce -cli4 -npcs -ncs \
    +   -i4 -di0 -psl -lp -lps somefile.c +
    + +

    +does a 98% accurate job of producing our preferred style. Unfortunately, +there are bugs in all versions of GNU indent, requiring +both pre- and post-processing of the code. The gsindent +script in the Ghostscript fileset contains the necessary workarounds. + +

    +Put indentation points every 4 spaces, with 8 spaces = 1 tab stop. + +

    +For assignments (including chain assignments), put the entire statement on +one line if it will fit; if not, break it after a = and +indent all the following lines. I.e., format like this: + +

    +var1 = value;
    +var1 = var2 = value;
    +var1 =
    +    value;
    +var1 =
    +    var2 = value;
    +var1 = var2 =
    +    value; +
    + +

    +But not like this: + +

    +var1 =
    +var2 = value; +
    + +

    +Indent in-line blocks thus: + +

    +{
    +   ... declarations ...
    +   {{ blank line if any declarations above }}
    +   ... statements ...
    +} +
    + +

    +Similarly, indent procedures thus: + +

    +return_type
    +proc_name(... arguments ...)
    +{
    +   ... declarations ...
    +   {{ blank line if any declarations above }}
    +   ... statements ...
    +} +
    + +

    +If a control construct (if, do, +while, or for) has a one-line body, use +this: + +

    +... control construct ...
    +   ... subordinate simple statement ... +
    + +

    +If it has a multi-line body, use this: + +

    +... control construct ... {
    +   ... subordinate code ...
    +} +
    + +

    +If the subordinate code has declarations, see blocks above. + +

    +For if-else statements, do this: + +

    +if ( ... ) {
    +   ... subordinate code ...
    +} else if ( ... ) {
    +   ... subordinate code ...
    +} else {
    +   ... subordinate code ...
    +} +
    + +

    +When there are more than two alternatives, as in the example above, use the +above ("parallel") syntax rather than the following ("nested") syntax: + +

    +if ( ... ) {
    +   ... subordinate code ...
    +} else {
    +   if ( ... ) {
    +      ... subordinate code ...
    +   } else {
    +      ... subordinate code ...
    +   }
    +} +
    + +

    +Similarly, for do-while statements, do this: + +

    +do {
    +   ... body ...
    +} while ( ... condition ... ); +
    + +

    Spaces

    + +

    +Do put a space: +

      +
    • after every comma and semicolon, unless it ends a line; +
    • around every binary operator other than "->" and +".", although you can omit the spaces around the innermost +operator in a nested expression if you like; +
    • on both sides of the parentheses of an if, for, or while. +
    + +

    +Don't put a space: +

      +
    • at the end of a line; +
    • before a comma or semicolon; +
    • after unary prefix operators; +
    • before the parenthesis of a macro or procedure call. +
    + +

    Parentheses

    + +

    +Parentheses are important in only a few places: + +

      +
    • Around the inner subexpressions in expressions that mix +&& and ||, even if they are not +required by precedence, for example + +
      +(xx && yy) || zz +
      + +
    • Similarly around inner subexpressions in expressions that mix +&, |, or shifts, especially if mixing +these with other operators, for instance + +
      +(x << 3) | (y >> 5) +
      + +
    • In macro definitions around every use of an argument that logically +could be an expression, for example + +
      +((x) * (x) + (y) * (y)) +
      + +
    + +

    +Anywhere else, given the choice, use fewer parentheses. + +

    +For stylistic consistency with the existing Ghostscript code, put +parentheses around conditional expressions even if they aren't +syntactically required, unless you really dislike doing this. Note that +the parentheses should go around the entire expression, not the condition. +For instance, instead of + +

    +hpgl_add_point_to_path(pgls, arccoord_x, arccoord_y,
    +   (pgls->g.pen_down) ? gs_lineto : gs_moveto); +
    + +

    +use + +

    +hpgl_add_point_to_path(pgls, arccoord_x, arccoord_y,
    +   (pgls->g.pen_down ? gs_lineto : gs_moveto)); +
    + +

    Preprocessor

    + +

    Conditionals

    + +

    +Using preprocessor conditionals can easily lead to unreadable code, since +the eye really wants to read linearly rather than having to parse the +conditionals just to figure out what code is relevant. It's OK to use +conditionals that have small scope and that don't change the structure or +logic of the program (typically, they select between different sets of +values depending on some configuration parameter), but where possible, break +up source modules rather than use conditionals that affect the structure or +logic. + +

    Macros

    + +

    +Ghostscript code uses macros heavily to effectively extend the rather +weak abstraction capabilities of the C language, specifically in the area of +memory management and garbage collection: in order to read Ghostscript code +effectively, you simply have to learn some of these macros as though they +were part of the language. The current code also uses macros heavily for +other purposes, but we are trying to phase these out as rapidly as possible, +because they make the code harder to read and debug, and to use the +rules that follow consistently in new code. + +

    +Define macros in the smallest scope you can manage (procedure, file, or +.h file), and #undef them at the end of +that scope: that way, someone reading the code can see the definitions +easily when reading the uses. If that isn't appropriate, define them in as +large a scope as possible, so that they effectively become part of the +language. This places an additional burden on the reader, but it can be +amortized over reading larger amounts of code. + +

    +Try hard to use procedures instead of macros. Use "inline" +if you really think the extra speed is needed, but only within a +.c file: don't put inline procedures in .h +files, because most compilers don't honor "inline" and +you'll wind up with a copy of the procedure in every .c +file that includes the .h file. + +

    +If you define a macro that looks like a procedure, make sure it will work +wherever a procedure will work. In particular, put parentheses around every +use of an argument within the macro body, so that the macro will parse +correctly if some of the arguments are expressions, and put parentheses +around the entire macro body. (This is still subject to the problem that an +argument may be evaluated more than once, but there is no way around this in +C, since C doesn't provide for local variables within expressions.) + +

    +If you define macros for special loop control structures, make their uses +look somewhat like ordinary loops, for instance: + +

    +BEGIN_RECT(xx, yy) {
    +  ... body indented one position ...
    +} END_RECT(xx, yy); +
    + +

    +If at all possible, don't use free variables in macros -- that is, variables +that aren't apparent as arguments of the macro. If you must use free +variables, list them all in a comment at the point where the macro is +defined. + +

    Comments

    + +

    +The most important descriptive comments are ones in header files that +describe structures, including invariants; but every procedure or structure +declaration, or group of other declarations, should have a comment. Don't +spend a lot of time commenting executable code unless something unusual or +subtle is going on. + +

    Naming

    + +

    +Use fully spelled-out English words in names, rather than contractions. +This is most important for procedure and macro names, global variables and +constants, values of #define and enum, +struct and other typedef names, and +structure member names, and for argument and variable names which have +uninformative types like int. It's not very important for +arguments or local variables of distinctive types, or for local index or +count variables. + +

    +Avoid names that run English words together: +"hpgl_compute_arc_center" is better than +"hpgl_compute_arccenter". However, for terms drawn from +some predefined source, like the names of PostScript operators, use a term +in its well-known form (for instance, gs_setlinewidth +rather than gs_set_line_width). + +

    +Procedures, variables, and structures visible outside a single +.c file should generally have prefixes that indicate what +subsystem they belong to (in the case of Ghostscript, gs_ +or gx_). This rule isn't followed very consistently. + +

    Types

    + +

    +Many older structure names don't have _t on the end, but +this suffix should be used in all new code. (The _s +structure name is needed only to satisfy some debuggers. No code other than +the structure declaration should refer to it.) + +

    +Declare structure types that contain pointers to other instances of +themselves like this: + +

    +typedef struct xxx_s xxx_t;
    +struct xxx_s {
    +   ... members ...
    +   xxx_t *ptr_member_name;
    +   ... members ...
    +}; +
    + +

    +If, to maintain data abstraction and avoid including otherwise unnecessary +header files, you find that you want the type xxx_t to be +available in a header file that doesn't include the definition of the +structure xxx_s, use this approach: + +

    +#ifndef xxx_DEFINED
    +#  define xxx_DEFINED
    +typedef struct xxx_s xxx_t;
    +#endif
    +struct xxx_s {
    +   ... members ...
    +}; +
    + +

    +You can then copy the first 4 lines in other header files. (Don't ever +include them in an executable code file.) + +

    +Don't bother using const for anything other than with +pointers as described below. However, in those places where it is necessary +to cast a pointer of type const T * to type +T *, always include a comment that explains why you are +"breaking const". + +

    Pointers

    + +

    +Use const for pointer referents (that is, +const T *) wherever possible and appropriate. + +

    +If you find yourself wanting to use void *, try to +find an alternative using unions or (in the case of super- and subclasses) +casts, unless you're writing something like a memory manager that really +treats memory as opaque. + +

    Procedures

    + +

    +In general, don't create procedures that are private and only called from +one place. However, if a compound statement (especially an arm of a +conditional) is too long for the eye easily to match its enclosing braces +"{...}" -- that is, longer than 10 or 15 lines -- and it +doesn't use or set a lot of state held in outer local variables, it may be +more readable if you put it in a procedure. + +

    Miscellany

    + +

    Local variables

    + +

    +Don't assign new values to procedure parameters. It makes debugging very +confusing when the parameter values printed for a procedure are not the +ones actually supplied by the caller. Instead use a separate local +variable initialized to the value of the parameter. + +

    +If a local variable is only assigned a value once, assign it that value at +its declaration, if possible. For example, + +

    +int x = some expression ; +
    + +

    +rather than + +

    +int x;
    +...
    +x = some expression ; +
    + +

    +Use a local pointer variable like this to "narrow" pointer types: + +

    +int
    +someproc(... gx_device *dev ...)
    +{
    +   gx_device_printer *const pdev = (gx_device_printer *)dev;

    +   ...
    +} +
    + +

    Compiler warnings

    + +

    +The following section refers to the warnings produced by gcc: +your compiler may produce different ones. + +

    +It's OK if compilation produces the following warnings: + +

      +
    • <name> might be used uninitialized in this function +
    • cast discards `const' from pointer target type +
    + +

    +The first of these often occurs because the compiler isn't aware of control +flow restrictions that guarantee the variable will be initialized before +use: if it occurs in new code, check the code carefully, but don't worry +about the message. The second is often unavoidable in code that initializes +or frees a structure that is otherwise const during its +lifetime. +

    + +Do work hard to eliminate all warnings other than these, +since they often indicate the possible presence of coding errors. +In particular, get rid of warnings about parameter passing or +initialization that discards const, +by using explicit casts. + +


    + +

    File structuring

    + +

    All files

    + +

    +Keep file names within the "8.3" format for portability: +

      +
    • Use only letters, digits, dash, and underscore in file names. +
    • Don't assume upper and lower case letters are distinct. +
    • Put no more than 8 characters before the ".", if any. +
    • If there is a ".", put between 1 and 3 characters after the ".". +
    + +

    +For files other than documentation files, use only lower case letters +in the names; for HTML documentation files, capitalize the first letter. + +

    +Every code file should start with comments containing + +

      +
    1. a copyright notice, +
    2. the name of the file in the form of an RCS Id: + +
      +/*Id$: filename.ext $*/ +
      + +

      +(using the comment convention appropriate to the language of the file), and + +

    3. a summary, no more than one line, of what the file contains. +
    + +

    +If you create a file by copying the beginning of another file, be sure to +update the copyright year and change the file name. + +

    Makefiles

    + +

    +Use the extension .mak for makefiles. + +

    +For each + +

    +#include "xxx.h" +
    + +

    +make sure there is a dependency on $(xxx_h) in the +makefile. If xxx ends with a "_", this rule still holds, +so that if you code + +

    +#include "math_.h" +
    + +

    +the makefile must contain a dependency on "$(math__h)" +(note the two underscores "__"). + +

    +List the dependencies bottom-to-top, like the #include +statements themselves; within each level, list them alphabetically. Do +this also with #include statements themselves whenever +possible (but sometimes there are inter-header dependencies that require +bending this rule). + +

    +For compatibility with the build utilities on OpenVMS, always put a space +before the colon that separates the target(s) of a rule from the dependents. + +

    General C code

    + +

    +List #include statements from "bottom" to "top", that is, +in the following order: + +

      +
    1. System includes ("xxx_.h") +
    2. gs*.h +
    3. gx*.h (yes, gs and gx +are in the wrong order.) +
    4. s*.h +
    5. i*.h (or other interpreter headers that don't start +with "i") +
    + +

    Headers (.h files)

    + +

    +In header files, always use the following at the beginning of a header file +to prevent double inclusion: + +

    +{{ Copyright notice etc. }}

    + +#ifndef <filename>_INCLUDED
    +#define <filename>_INCLUDED

    + +{{ The contents of the file }}

    + +#endif /* <filename>_INCLUDED */ +
    + +

    +The header file is the first place that a reader goes for +information about procedures, structures, constants, etc., so ensure that +every procedure and structure has a comment that says what it does. Divide +procedures into meaningful groups set off by some distinguished form of +comment. + +

    Source (.c files)

    + +

    +After the initial comments, arrange C files in the following order: + +

      +
    1. #include statements +
    2. Exported data declarations +
    3. Explicit externs (if necessary) +
    4. Forward declarations of procedures +
    5. Private data declarations +
    6. Exported procedures +
    7. Private procedures +
    + +

    +Be flexible about the order of the declarations if necessary to improve +readability. Many older files don't follow this order, often without good +reason. + +


    + +

    Ghostscript conventions

    + +

    Specific names

    + +

    +The Ghostscript code uses certain names consistently for certain kinds of +values. Some of the commonest and least obvious are these two: + +

    code

    + +
    +A value to be returned from a procedure: + + +
    < 0 +      + An error code defined in +gserrors.h +(or errors.h) +
    0 +   + Normal return +
    > 0 +   + A non-standard but successful return (which must be documented, preferably with the procedure's prototype) +
    + +
    + +

    status

    + +
    +A value returned from a stream procedure: + + +
    < 0 +      + An exceptional condition as defined in +scommon.h +
    0 +   + Normal return (or, from the "process" procedure, means that more input is needed) +
    1 +   + More output space is needed (from the "process" procedure) +
    +
    + +

    Structure type descriptors

    + +

    +The Ghostscript memory manager requires run-time type information for every +structure. (We don't document this in detail here: see the Structure descriptors section +of the developer documentation for details.) Putting the descriptor for a +structure next to the structure definition will help keep the two +consistent, so immediately after the definition of a structure +xxx_s, define its structure descriptor: + +

    +struct xxx_s {
    +   ... members ...
    +};
    +#define private_st_xxx()  /* in <filename>.c */\
    +  gs_private_st_<whatever>(st_xxx, xxx_t,\
    +    "xxx_t", xxx_enum_ptrs, xxx_reloc_ptrs,\
    +    ... additional parameters as needed ...) +
    + +

    +The file that implements operations on this structure +(<filename>.c) should then include, near the +beginning, the line: + +

    +private_st_xxx(); +
    + +

    +In much existing code, structure descriptors are declared as +public, which allows clients to allocate instances of the +structure directly. We now consider this bad design. Instead, structure +descriptors should always be private; the implementation +file should provide one or more procedures for allocating instances, e.g., + +

    +xxx_t *gs_xxx_alloc(P1(gs_memory_t *mem)); +
    + +

    +If it is necessary to make a structure descriptor public, it should be +declared in its clients as + +

    +extern_st(st_xxx); +
    + +

    "Objects"

    + +

    +Ghostscript makes heavy use of object-oriented constructs, including +analogues of classes, instances, subclassing, and class-associated +procedures. However, these constructs are implemented in C rather than C++, +for two reasons: + +

      + +
    • The first Ghostscript code was written in 1986, long before C++ was +codified or was well supported by tools. Even today, C++ tools rarely +support C++ as well as C tools support C. + +
    • C++ imposes its own implementations for virtual procedures, inheritance, +run-time type information, and (to some extent) memory management. +Ghostscript requires use of its own memory manager, and also sometimes +requires the ability to change the virtual procedures of an object +dynamically. + +
    + +

    Classes

    + +

    +The source code representation of a class is simply a +typedef for a C struct. See Structures, above, for details. + +

    Procedures

    + +

    +Ghostscript has no special construct for non-virtual procedures associated +with a class. In some cases, the typedef for the class is +in a header file but the struct declaration is in the +implementation code file: this provides an extra level of opaqueness, since +clients then can't see the representation and must make all accesses through +procedures. You should use this approach in new code, if it doesn't +increase the size of the code too much or require procedure calls for very +heavily used accesses. + +

    +Ghostscript uses three different approaches for storing and accessing +virtual procedures, plus a fourth one that is recommended but not currently +used. For exposition, we assume the class (type) is named +xxx_t, it has a virtual procedure +void (*virtu)(P1(xxx_t *)), and we have a variable +declared as xxx_t *pxx. + +

      + +
    1. The procedures are stored in a separate, constant structure of type +xxx_procs, of which virtu is a member. The +structure definition of xxx_t includes a member defined as +const xxx_procs *procs (always named +procs). The construct for calling the virtual procedure is +pxx->procs->virtu(pxx). + +
    2. The procedures are defined in a structure of type +xxx_procs as above. The structure definition of +xxx_t includes a member defined as +xxx_procs procs (always named procs). +The construct for calling the virtual procedure is +pxx->procs.virtu(pxx). + +
    3. The procedures are not defined in a separate structure: each procedure +is a separate member of xxx_t. The construct for calling +the virtual procedure is pxx->virtu(pxx). + +
    4. The procedures are defined in a structure of type +xxx_procs as above. The structure definition of +xxx_t includes a member defined as +xxx_procs procs[1] (always named +procs). The construct for calling the virtual procedure is +again pxx->procs->virtu(pxx). + +
    + +

    +Note that in approach 1, the procedures are in a shared constant structure; +in approaches 2 - 4, they are in a per-instance structure that can be +changed dynamically, which is sometimes important. + +

    +In the present Ghostscript code, approach 1 is most common, followed by 2 +and 3; 4 is not used at all. For new code, you should use 1 or 4: that way, +all virtual procedure calls have the same form, regardless of whether the +procedures are shared and constant or per-instance and mutable. + +

    Subclassing

    + +

    +Ghostscript's class mechanism allows for subclasses that can add data +members, or can add procedure members if approach 1 or 3 (above) is used. +Since C doesn't support subclassing, we use a convention to accomplish it. +In the example below, gx_device is the root class; it has a +subclass gx_device_forward, which in turn has a subclass +gx_device_null. First we define a macro for all the members +of the root class, and the root class type. (As for structures in general, +classes need a structure descriptor, as discussed in Structures above: we include these in the examples +below.) + +

    +#define gx_device_common\
    +    type1 member1;\
    +    
    ...
    +    typeN memberN
    +
    +typedef struct gx_device_s {
    +    gx_device_common;
    +} gx_device;
    +
    +#define private_st_gx_device()  /* in gsdevice.c */\
    +  gs_private_st_
    <whatever>(st_gx_device, gx_device,\
    +    "gx_device", device_enum_ptrs, device_reloc_ptrs,\
    +    
    ... additional parameters as needed ...) +
    + +

    +We then define a similar macro and type for the subclass. + +

    +#define gx_device_forward_common\
    +    gx_device_common;\
    +    gx_device *target
    +
    +typedef struct gx_device_forward_s {
    +    gx_device_forward_common;
    +} gx_device_forward;
    +
    +#define private_st_device_forward()  /* in gsdevice.c */\
    +  gs_private_st_suffix_add1(st_device_forward, gx_device_forward,\
    +    "gx_device_forward", device_forward_enum_ptrs, device_forward_reloc_ptrs,\
    +    gx_device, target) +
    + +

    +Finally, we define a leaf class, which doesn't need a macro because we don't +currently subclass it. (We can create the macro later if needed, with no +changes anywhere else.) In this particular case, the leaf class has no +additional data members, but it could have some. + +

    +typedef struct gx_device_null_s {
    +    gx_device_forward_common;
    +};
    +
    +#define private_st_device_null()  /* in gsdevice.c */\
    +  gs_private_st_suffix_add0_local(st_device_null, gx_device_null,\
    +    "gx_device_null", device_null_enum_ptrs, device_null_reloc_ptrs,\
    +    gx_device_forward) +
    + +

    +Note that the above example is not the actual definition of +the gx_device structure type: the actual type has some +additional complications because it has a finalization procedure. See src/gxdevcli.h for the details. + +

    +If you add members to a root class (such as gx_device in +this example), or change existing members, do this in the +gx_device_common macro, not the gx_device +structure definition. Similarly, to change the +gx_device_forward class, modify the +gx_device_forward_common macro, not the structure +definition. Only change the structure definition if the class is a leaf +class (one with no _common macro and no possibility of +subclassing), like gx_device_null. + +

    Error handling

    + +

    +Every caller should check for error returns and, in general, propagate them +to its callers. By convention, nearly every procedure returns an +int to indicate the outcome of the call: + +

    +
    < 0 +      + Error return +
    0 +   + Normal return +
    > 0 +   + Non-error return other than the normal case +
    + +

    +To make a procedure generate an error and return it, as opposed to +propagating an error generated by a lower procedure, you should use + +

    +return_error(error_number); +
    + +

    +Sometimes it is more convenient to generate the error in one place and +return it in another. In this case, you should use + +

    +code = gs_note_error(error_number);
    +...
    +return code; +
    + +

    +In executables built for debugging, the -E (or +-Z#) command line switch causes return_error +and gs_note_error to print the error number and the source +file and line: this is often helpful for identifying the original cause of +an error. + +

    +See the file src/gserrors.h for the error +return codes used by the graphics library, most of which correspond directly +to PostScript error conditions. + + + + +


    + + +

    + +This software is provided AS-IS with no warranty, either express or +implied. + +This software is distributed under license and may not be copied, +modified or distributed except as expressly authorized under the terms +of the license contained in the file LICENSE in this distribution. + + +

    +Copyright © 1996-2002 artofcode LLC. +All rights reserved. + + +

    +Ghostscript version 7.07, 17 May 2003 + + + + + diff --git a/Master/xemtex/doc/ghostscript/CJK.htm b/Master/xemtex/doc/ghostscript/CJK.htm new file mode 100644 index 00000000000..9833db35da4 --- /dev/null +++ b/Master/xemtex/doc/ghostscript/CJK.htm @@ -0,0 +1,497 @@ + + + +Features to support CJK CID-keyed in Ghostscript + + + + + + + + + +

    Features to support CJK CID-keyed font in Ghostscript

    + + + + + +

    Table of contents

    + +
    + + + + + +

    Impatient users looking for step-by-step installation notes for +CJK fonts should check gs-cjk documents at + +http://www.gyve.org/gs-cjk/supplement/. + + + +


    + + + + + + + +

    Font license

    +

    +As we note in "Adding your own fonts", +you have to read the license of fonts carefully. +The fact you obtain the fonts legally does not mean +always that you can use them with Ghostscript. + +Usually, outline fonts for east Asian scripts are licensed under +more restricted conditions in comparison with ASCII or Latin +fonts, because they must provide a large number of glyphs, +more than 8000 glyphs. + +For example, Adobe licenses the Asian font package for Acrobat +Reader as "solely for Acrobat Reader". So even if your system +have pre-installed Acrobat Reader, you cannot use its Asian fonts +in Ghostscript. + + +

    About OCF fonts

    +

    +Prior to PostScript level 2015, PostScript fonts for multibyte encoded +script (Chinese, Japanese, Korean and Vietnamese etc) were implemented +as a collection of many elemental Type1/Type3 fonts and a selector. +Today these fonts are known as OCF (Original Composite Font). +Ghostscript fully supports OCF. + + +

    +Adobe has announced that OCF is obsolete. +For details of OCF, refer
    +

    +"CJKV Information Processing" (Ken Lunde, O'Reilly 1999) p. 281,
    +"PostScript Language Reference Manual, third edition" p. 357 + +href="http://partners.adobe.com/asn/developer/pdfs/tn/PLRM.pdf +
    +"PostScript Language Tutorial and Cookbook, Japanese edition" (Adobe Systems, Incorporated, ASCII Corporation 1989) pp. 241-271,
    +
    +and Technical Notes for CID-keyed fonts. + + +

    About CID-keyed fonts

    +

    +In PostScript level 2015, Adobe introduced a new font format +"CID-keyed font" for CJK scripts. +For details of the CID-keyed font format, refer
    +

    +"PostScript Language Reference Manual, third edition" p. 364 + +http://partners.adobe.com/asn/developer/pdfs/tn/PLRM.pdf
    +Technical Specification #5014 "Adobe CMap and CIDFont Files Specification" + +http://partners.adobe.com/asn/developer/pdfs/tn/5014.CMap_CIDFont_Spec.pdf +
    +Technical Specification #5092 "CID-keyed Font Technology Overview" + +http://partners.adobe.com/asn/developer/pdfs/tn/5092.CID_Overview.pdf +
    +
    +Ghostscript provides the basic functionalities of CID-keyed fonts, +but the "rearranged font" feature is not implemented. +The present functionalities are enough for common usage. +Some Japanese PostScript programs expect that any system that +supports CID-keyed fonts will also support "rearranged font". +Such programs do not work well with ghostscript. +Chinese and Korean scripts were never officially supplied by OCF, +so such problems are rare. + +

    +The CID-keyed font format has a double layered structure. +The lower layer is a CID-keyed font. The public interface of the +CID-keyed font is a 16-bit CID (character identifier) number +which is given to each unique "glyph" for subsets of various scripts. +This is not a "character" code like ASCII/Unicode/etc. +Adobe specifies CIDs for CJK scripts: +Adobe-CNS1 & 2 (Traditional Chinese Hanzi glyphs), +Adobe-GB1 (Simplified Chinese Hanzi glyphs), +Adobe-Japan1 & 2 (Japanese Kana and Kanji glyphs), +Adobe-Korea1 & 2 (Hangul and Hanja glyphs), +Adobe-HongKong1 (Traditional Chinese Hanzi in HongKong), +and Adobe-Vietnam1 (Chu-Han). +The catalogues of glyphs for some CIDs are published by Adobe, +refer Technical Notes service of Adobe:
    +

    + +http://partners.adobe.com/asn/developer/technotes/fonts.html +
    + + + + +

    +A CID-keyed font must provide the CID number interface, +but the format of the glyph data may vary:
    +

      +
    • CIDFontType 0 (FontType 9, CID-keyed Type1 font),
    • +
    • CIDFontType 1 (FontType 10, CID-keyed Type3 font),
    • +
    • CIDFontType 2 (FontType 11, CID-keyed Type42 font - TrueType)
    • +
    + + + + + + +

    +The higher layer is a CMap. A CMap provides a map from the multibyte +character code to the CID of corresponding glyph, under a specified +encoding system. PostScript fonts must provide a character +code interface, so a bare CID-keyed font cannot be used as normal +PostScript font without a CMap (e.g. findfont, show, +etc are not usable, however glyphshow operator is usable for +a bare CID-keyed font). +In a CID-keyed font system, the various encoding systems can be supported +by higher layer only. The lower layer is sharable. + +

    +A CMap file is stored in the /CMap resource category and the +CID-keyed font file is stored in the /CIDFont resource category. +Several operators introduced for CID-keyed fonts assume these locations, +so CMap and CIDFont must not be stored in the /Font resource used +traditionally used by PostScript fonts. + +

    +For "named resource category", refer +Finding PostScript Level 2 resources of Ghostscript. + +

    +Adobe distributes their official CMap (redistributable but no modification +is permitted) on O'Reilly ftp site: +

    + +ftp://ftp.oreilly.com/pub/examples/nutshell/cjkv/adobe/ +
    + +To use CID-keyed font, these CMap files must be installed into the CMap +resource directory. + + + +

    CIDFontType 0

    +

    +CIDFontType0 is the most standard CIDFont of PostScript. +It consists of two separated parts: PostScript +program and attached binary data. The glyph data is stored in attached +binary part and is dynamically accessed. In comparison with OCF, +loading a CIDFontType0 is light-weight and comsumes less memory. + +

    +To make Ghostscript recognize a CIDFontType0 font is easy. +If the CIDFontType0 font file is installed into a directory named "CIDFont" +under GenericResourceDir (see +Finding PostScript Level 2 resources), +Ghostscript will find it when searching for resources in /CIDFont category. + + + + +

    CJK TrueType font and CIDFontType 2

    +

    +In PostScript 2010, Adobe introduced the Type42 font format +to embed a host-based TrueType font into a PostScript program. +For details of the Type42 font format, refer to +

    +The Type 42 Font Format Specification. Technical Note #5012 + +"http://partners.adobe.com/asn/developer/pdfs/tn/5012.Type42_Spec.pdf + +
    +CIDFontType2 is a CID extension of the Type42 font format. +If Ghostscript is compiled with +ttfont device +and CMap files are installed, Ghostscript is capable of +handling CIDFontType2 resource embedded in PostScript program +or PDF document. +The Type42 font specification notes that Type42 is an installable font +format, but there's no font distributed in the Type42 format. +This is a big difference from the standard PostScript fonts: Type1, Type3 +and CIDFontType0. + +

    +Ghostscript now provides "on-the-fly CIDFontType2 converter" +for CJK TrueType, similar to the "on-the-fly Type42 converter" for +Roman TrueType fonts. +This does not mean you can perfectly substitute a required PostScript +fonts by a TrueType font. CJK TrueType font often lack many +non-popular glyphs and a few popular glyphs in Adobe CID. +As a result, a TrueType font +(designed as screen font for window system) cannot be a perfect +replacement for an Adobe PostScript font +Refer CJKTTCID.htm for further particulars. + +

    +The operator .openttcidfont constructs CIDFontType2 +font dictionary from a given TrueType font. .openttcidfont +requires extra CMaps for PDF available from: + +

    + +http://partners.adobe.com/asn/developer/technotes/acrobatpdf.html + +
    + +The basic syntax of .openttcidfont is:
    +
    +<ttf_filename> .openttcidfont
    +
    + +

    +When a font file in Microsoft's TrueType Collection format +(a font file with suffix .ttc + includes multiple fonts in single file) is given, +the first font in it is used by default. +To specify a font manually, index of the font should be passed +to .openttcidfont, as:
    + +

    +<ttc_filename> 2 .openttcidfont
    +
    + +

    +Old TrueType fonts were encoded by CJK-system specific encodings +(e.g. Big5, Johab, ShiftJIS, etc) without stating what encoding +is used. +On the other hand, recent TrueType fonts are encoded by Unicode, +but included glyphs are limited to specific language. +By default, .openttcidfont detects encoding of +TrueType font and the suitable Adobe CID automatically, but if +you have trouble, these parameters should be specified manually. +To specify Adobe CID and TrueType encoding explicitly, pass a name +object as: + +

    +<ttf_filename> /Adobe-Japan1-ShiftJIS .openttcidfont
    +
    + +In such syntax, Adobe-Japan1 specifies Adobe CID to be mapped, +and ShiftJIS specifies the encoding of TrueType fonts. +Currently supported Adobe CIDs are:
    + +
    +Adobe-CNS1
    +Adobe-GB1
    +Adobe-Japan1
    +Adobe-Japan2
    +Adobe-Korea1
    +
    + +and, supported TrueType encodings are:
    + +
    +Big5
    +Johab
    +PRC
    +ShiftJIS
    +Unicode
    +Wansung
    +
    + +In addition about on-the-fly CIDFontType2 conversion of TrueType fonts +(of Big5, PRC, ShiftJIS, Wangsung), .openttcidfont requires +more extra CMap files which are available from Asian font packages for +Adobe Acrobat Reader. See "Adobe +CMaps" subsection of "Fonts and font facilities supplied with +Ghostscript" section. + + + +

    About "CIDFnmap" of Ghostscript

    +

    +By applying various CMap to single CIDFont, various font resources +can be generated. To utilize this feature conveniently, "CIDFnmap" +is introduced. CIDFnmap is similar to Fontmap, but it handles resource +name of CIDFont. + +

    +To map all /Ryumin-Light-* fonts (/Ryumin-Light-H, /Ryumin-Light-RKSJ-H +etc) derived from /Ryumin-Light CIDFont to those from /WadaMin-Regular, +following single entry works enough:
    + +

    +/Ryumin-Light /WadaMin-Regular ;
    +
    + +Also CIDFnmap can define a resource from a file specified with full path, +it is convenient to import resource from out of Ghostscript directory tree:
    + +
    +/WadaMin-Regular (/usr/lib/X11/fonts/CIDFont/WadaMin-Regular) ;
    +
    + +If the given file is TrueType font, CIDFnmap automatically detect it, and +execute .openttcidfont:
    + +
    +/HG-MinchoL (/usr/openwin/lib/locale/ja/X11/fonts/TT/HG-MinchoL.ttf) ;
    +
    + +Other operands for .openttcidfont (TTC index, CID/encoding +specification) can be specified as:
    + +
    + +/HeiseiMin-W3H (/usr/openwin/lib/locale/ja/X11/fonts/TT/HeiseiMin-W3H.ttf) /Adobe-Japan2-Unicode ;
    +
    +
    +/Ryobi-PGothic (/usr/X11R6/lib/X11/fonts/TrueType/tcgothb.ttc) 2 /Adobe-Japan1-Unicode ;
    +
    +
    + + +

    +For detail, please refer included sample CIDFnmap. For the sites +to get font itself, refer Fonts.htm. + +

    +
    CIDFnmap.Ore
    +
    + For free CJK CIDFontType0 fonts manufactured by Adobe. +
    + +
    CIDFnmap.Bae
    +
    + For free Hangul TrueType fonts manufactured by Hwan Design Inc.. +
    + +
    CIDFnmap.ARP
    +
    + For free Simplified/Traditional Chinese TrueType fonts + manifactured by Arphic Technology. +
    + +
    CIDFnmap.Koc
    +
    + Japanese TrueType fonts and free CIDFontType0 version of them, + Kochi Mincho and Gothic. +
    + +
    CIDFnmap.Sol
    +
    + For CJK TrueType fonts bundled on Solaris 8 International edition. +
    + +
    CIDFnmap.Win
    +
    + For CJK TrueType fonts bundled on Windows. +
    + +
    CIDFnmap.CJK
    +
    + Aliasing for printer-based CJK fonts + (/HYGoThic-Medium, /MSung-Light, /Ryumin-Light, /STSong-Light, etc) + and fallback font definitions for missing fonts in PDF. +
    + +
    CIDFnmap.b5, CIDFnmap.gb, CIDFnmap.ksx, CIDFnmap.sj
    +
    + Aliasing locale-specific CIDFontNames which are often required + with multi-byte encoding in PS/PDF files. +
    + +
    + + +NOTE: +In gs7.2x and later release, +"CIDFnmap" feature will be merged into new mapping feature: +"cidfmap" and "CIDFnmap" itself will be removed. + + +

    +There are CJK samples in examples/cjk: + +all_ac1.ps, all_ag1.ps, all_aj1.ps, all_aj2.ps, all_ak1.ps + +(drawing all glyphs in Adobe CID for Traditional Chinese, +Simplified Chinese, Japanese, Japanese Hojo Kanji, Korean) + +gscjk_ac.ps, gscjk_ag.ps, gscjk_aj.ps, gscjk_ak.ps + +(drawing short texts in horizontal and vertical writing modes) +and multilingual sample iso2022.ps +(this sample loads many fonts for various scripts, quite heavy). +gscjk_* samples are written in Asian character encoding and +iso2022.ps is in ISO-2022, not pure ASCII. +To modify them, an internationalized or binary capable editor +are recommended. + +

    +For proofing by PostScript printers (for Asian market), +these samples use standard printer-based CJK fonts: +/HYGoThic-Medium, /MSung-Light, /Ryumin-Light, /STSong-Light etc. +To display them correctly by Ghostscript, +printer-based fonts must be aliased to available fonts on Ghostscript. +CIDFnmap.CJK lists known printer-based CJK fonts, +modify it for your own environment. + + + + + +

    +This section by Suzuki Toshiya and gs-cjk project. +<mpsuzuki@gyve.org> + + + + +


    + + + +

    Copyright © 2001 gs-cjk project +<http://www.gyve.org/gs-cjk/>. +

    Copyright © 2002 artofocode LLC. All rights reserved. + +

    This file is part of GNU Ghostscript. See the +GNU General Public License (the "License") for +full details of the terms of using, copying, modifying, and redistributing +GNU Ghostscript. + +

    +Ghostscript version 7.07, 17 May 2003 + + + + + + + diff --git a/Master/xemtex/doc/ghostscript/CJKTTCID.htm b/Master/xemtex/doc/ghostscript/CJKTTCID.htm new file mode 100644 index 00000000000..c777bc5b557 --- /dev/null +++ b/Master/xemtex/doc/ghostscript/CJKTTCID.htm @@ -0,0 +1,409 @@ + + + +Adobe CIDs and glyphs in CJK TrueType font + + + + + + + + + +

    Adobe CIDs and glyphs in CJK TrueType font

    + + + + + +

    Table of contents

    + +
    + + + + + +This article is written by Taiji Yamada +<taiji@aihara.co.jp>. +He takes full responsibility for the wording and content of this article. + +

    For other information, see the Ghostscript +overview. + + + +


    + + + + + + +

    Overview

    + +

    +This note provides information on utilization of CJK (Chinese, +Japanese and Korean) TrueType fonts (TTF) as CIDFoneType 2 (Type11) +CID-keyed fonts from the viewpoint of its validity and limitation. +In order to compose CIDFontType 2 font from CJK TTF on the fly, +Ghostscript uses not only standard CMaps (mapping from character +encoding to CID, we call them ToCID CMaps in following) but also +ToUnicode CMaps (mapping from CID to Unicode) and +ToCode CMaps (mapping from CID to non-Unicode character encodings) +which are freely distributed with Acrobat Reader by Adobe Systems +Incorporated. + +For detail of ToUnicode CMaps, refer +

    +Adobe Systems Incorporated, +"PDF Reference, Third Edition, Version 1.4", +p. 368 + +http://partners.adobe.com/asn/developer/acrosdk/docs/filefmtspecs/PDFReference.zip +
    +Adobe Systems Incorporated, +"ToUnicode Mapping File Tutorial", +Technical Note #5411
    + +http://partners.adobe.com/asn/developer/pdfs/tn/5411.ToUnicode.pdf
    +
    +ToUnicode and ToCode CMaps are designed for text-searching in PDF, +and you should not expect Adobe ToUnicode CMap as a one-to-one map +between Adobe glyph collection and glyph/character in Unicode. + +The current algorithm of Ghostscript to map CIDs to TTF glyph ID +completely depends on Adobe CMaps, TrueType cmap and GSUB tables. + +

    +The current revision of on-the-fly CIDFontType 2 technology +supports the following kinds Registry-Ordering (RO) of CID-keyed +fonts: + +

    +	[RO]
    +	Adobe-CNS1
    +	Adobe-GB1
    +	Adobe-Japan1
    +	Adobe-Japan2
    +	Adobe-Korea1
    +

    + +and doesn't support the following kinds of CID-keyed fonts:
    + +
    +	[RO]
    +	Adobe-CNS2
    +	Adobe-HongKong1
    +	Adobe-Korea2
    +	Adobe-Vietnam1
    +

    + +The current revision can handle the following kinds (Encoding in cmap +table) of TrueType fonts as CID-keyed fonts:
    + +
    +	[Encoding]	[RO]
    +	Unicode		Adobe-*
    +	ShiftJIS	Adobe-Japan1
    +	PRC		Adobe-GB1
    +	Big5		Adobe-CNS1
    +	Wansung		Adobe-Korea1
    +	Johab		Adobe-Korea1
    +

    + +and doesn't support UCS-4 Encoding TrueType fonts for the present. In +the case of Unicode Encoding, RO can be detected by reading ``Code +Page Character Range'' of OS/2 table of TTF as follows:
    + +
    +	[Encoding]	[Code Page]		[RO]
    +	Unicode		Japanese		Adobe-Japan1
    +			Simplified Chinese	Adobe-GB1
    +			Korean Wansung		Adobe-Korea1
    +			Traditional Chinese	Adobe-CNS1
    +			Korean Johab		Adobe-Korea1
    +

    + +For each combination of RO and TTF Encoding, following Adobe CMaps are +applied:
    + +
    +	[RO-Encoding]		[Supplement limit]
    +		[used CMap]		- [Comment]
    +
    +	Adobe-CNS1-Big5		0
    +		Adobe-CNS1-ETen-B5	- ToCode CMap
    +		ETen-B5-V		- ToCID CMap
    +		ETen-B5-H		- ToCID CMap
    +
    +	Adobe-CNS1-Unicode	3
    +		Adobe-CNS1-UCS2		- ToUnicode CMap
    +		UniCNS-UCS2-V		- ToCID CMap
    +		UniCNS-UCS2-H		- ToCID CMap
    +
    +	Adobe-GB1-PRC		2
    +		Adobe-GB1-GBK-EUC	- ToCode CMap
    +		GBK-EUC-V		- ToCID CMap
    +		GBK-EUC-H		- ToCID CMap
    +
    +	Adobe-GB1-Unicode	4
    +		Adobe-GB1-UCS2		- ToUnicode CMap
    +		UniGB-UCS2-V		- ToCID CMap
    +		UniGB-UCS2-H		- ToCID CMap
    +
    +	Adobe-Japan1-ShiftJIS	2
    +		Adobe-Japan1-90ms-RKSJ	- ToCode CMap
    +		90ms-RKSJ-V		- ToCID CMap
    +		90ms-RKSJ-H		- ToCID CMap
    +
    +	Adobe-Japan1-Unicode	4
    +		Adobe-Japan1-UCS2	- ToUnicode CMap
    +		UniJIS-UCS2-V		- ToCID CMap
    +		UniJIS-UCS2-H		- ToCID CMap
    +
    +	Adobe-Japan2-Unicode	0
    +		UniHojo-UCS2-V		- ToCID CMap
    +		UniHojo-UCS2-H		- ToCID CMap
    +
    +	Adobe-Korea1-Johab	1
    +		KSC-Johab-V		- ToCID CMap
    +		KSC-Johab-H		- ToCID CMap
    +
    +	Adobe-Korea1-Unicode	2
    +		Adobe-Korea1-UCS2	- ToUnicode CMap
    +		UniKS-UCS2-V		- ToCID CMap
    +		UniKS-UCS2-H		- ToCID CMap
    +
    +	Adobe-Korea1-Wansung	1
    +		Adobe-Korea1-KSCms-UHC	- ToCode CMap
    +		KSCms-UHC-V		- ToCID CMap
    +		KSCms-UHC-H		- ToCID CMap
    +

    + +where Supplement values are denoted as the limit determined by the +maximum CID in used CMaps. + +

    +The Glyph Substitution table (GSUB) of TTF, Single Substitution Format +2 is read for vertically-used glyphs in CIDs. The current revision +doesn't handle any other formats of GSUB, so handling ligatures and +variants as CID-keyed fonts might be tasks to be solved in future. + +

    +In recent CID-keyed fonts, pre-rotated Latin glyphs are defined, but +the current revision merely maps to normal Latin glyphs. +Ghostscript cannot handle them at present. + +

    +Adobe CIDs that current Ghostscript can fills by CJK TTF

    +

    +Following tables and comments provide the details of validity and +limitation for the individual kinds of CID-keyed fonts composed from +generally-circulated and Unicode TrueType fonts at the current +revision. Naturally, these results of glyphs lacking are affected by +TrueType fonts you use.
    + +

    +Adobe-CNS1 CID-keyed font composed from Traditional Chinese Unicode TTF
    +-----------------------------------------------------------------------
    +[ROS]		[CID range]	[Comment]
    +Adobe-CNS1-0	    0-  505	96,97,124-127,228,260 are lacking
    +		  506-  561	no problem
    +		  562-  594	all glyphs are lacking
    +		  595-13645	no problem
    +		13646-13748	13646,13647 are lacking
    +		13749-13998	13996-13998 are lacking
    +		13999-14098	some glyphs are lacking
    +Adobe-CNS1-1	14099-17407	lots of glyphs are lacking (*1)
    +Adobe-CNS1-2	17408-17600	17503,17504 are lacking (*2)
    +Adobe-CNS1-3	17601-17605	17603 is lacking
    +		17606-18845	lots of glyphs are lacking (*3)
    +Adobe-CNS1-4	18846-18961	all glyphs assignment is impossible (*4)
    +(*1) HK GCCS
    +(*2) not pre-rotated
    +(*3) HK SCS
    +(*4) HK SCS (unused in UniCNS-UCS-2 CMap, though used in UniCNS-UTF8,
    +UniCNS-UTF16, UniCNS-UTF32, also ETHK-B5, needless to say HKscs-B5)
    +
    +
    +Adobe-GB1 CID-keyed font composed from Simplified Chinese Unicode TTF
    +---------------------------------------------------------------------
    +[ROS]		[CID range]	[Comment]
    +Adobe-GB1-0	    0-  939	99,695,698,737,935,938 are lacking
    +		  940- 7702	no problem
    +		 7703- 7716	7705,7708 are incorrect
    +Adobe-GB1-1	 7717- 9896	no problem
    +Adobe-GB1-2	 9897-22126	no problem
    +Adobe-GB1-3	22127-22352	22347,22350,22352 are lacking (*1)
    +Adobe-GB1-4	22353-22427	all glyphs are not available (*2)
    +		22428-29058	all glyphs are not available (*3)
    +		29059-29063	all glyphs are not available (*4)
    +(*1) not pre-rotated
    +(*2) additional Hiragana and Katakana, extended Bopomofo glyphs
    +(*3) the Unified Han Ideographs Extension A
    +(*4) pre-rotated glyphs
    +
    +
    +Adobe-Japan1 CID-keyed font composed from Japanese Unicode TTF
    +--------------------------------------------------------------
    +[ROS]		[CID range]	[Comment]
    +Adobe-Japan1-0	    0- 1124	lots of glyphs are lacking or incorrect:
    +				96-98,127,128,130-133,135-137,226,326,
    +				390,396,422,424,502,506-509,512,513,515,
    +				606,607,632
    +		 1125- 7477	no problem
    +		 7478- 7632	7478 is lacking and 7608,7609 are incorrect
    +		 7633- 8004	lots of glyphs are lacking or incorrect (*4)
    +		 8005- 8283	lots of glyphs are lacking or incorrect:
    +				8008,8053,8059-8061,8091,8102-8111,8166-8181,
    +				8189,8190,8227-8229,8260
    +Adobe-Japan1-1	 8284- 8358	lots of glyphs are lacking or incorrect:
    +				8295-8297,8300-8302,
    +				8306,8307,8321,8322,8325,8326
    +Adobe-Japan1-2	 8359- 8717	no problem
    +		 8718- 8719	8718 is lacking and 8719 is incorrect
    +Adobe-Japan1-3	 8720- 9353	some glyphs are lacking or incorrect (*1)
    +Adobe-Japan1-4	 9354- 9737	some glyphs are lacking or incorrect (*2)
    +		 9738-13319 	lots of glyphs are lacking or incorrect (*3)
    +		13320-15443	all glyphs are variants or lacking (*4)
    +(*1) not pre-rotated
    +(*2) not italic form
    +(*3) many ligature, pre-rotated, pre-rotated and italic form glyphs
    +(*4) lots of variants are assigned substitutes
    +
    +
    +Adobe-Japan2 CID-keyed font composed from Japanese Unicode TTF
    +--------------------------------------------------------------
    +[ROS]		[CID range]	[Comment]
    +Adobe-Japan2-0	    0- 6067	no problem
    +
    +
    +Adobe-Korea1 CID-keyed font composed from Korean Unicode TTF
    +------------------------------------------------------------
    +[ROS]		[CID range]	[Comment]
    +Adobe-Korea1-0	    0-  357	some glyphs are lacking or incorrect:
    +				61,97,100,104,111,227
    +		  358- 3435	no problem
    +		 3436- 8055	no problem
    +		 8056- 8190	lots of glyphs are lacking or incorrect:
    +				8059,8061,8075,8083-8085,8089,8091,8093,8190
    +		 8191- 9332	no problem
    +Adobe-Korea1-1	 9333-18154	perhaps no problem, but cannot check (*)
    +Adobe-Korea1-2	18155-18351	some glyphs are lacking
    +(*) Technical Note on Adobe-Korea1-1,2 has not been published yet[6].
    +
    + +

    +The current mapping algorithm based on ToCID CMaps and ToUnicode +CMaps still has problems. The gs-cjk project[7] is considering how +to settle the matters. + + +

    References

    +
      +
    1. Microsoft Corporation, "OpenType specification" + +http://www.asia.microsoft.com/typography/otspec/ +
    2. + +
    3. +Adobe Systems Incorporated, +"Adobe-CNS1-4 Character Collection for CID-Keyed Fonts", +Technical Note #5080 + +http://partners.adobe.com/asn/developer/pdfs/tn/5080.Adobe-CNS1-4.pdf +
    4. + +
    5. +Adobe Systems Incorporated, +"Adobe-GB1-4 Character Collection for CID-Keyed Fonts", +Technical Note #5079 + +http://partners.adobe.com/asn/developer/pdfs/tn/5079.Adobe-GB1-4.pdf +
    6. + +
    7. +Adobe Systems Incorporated, +"Adobe-Japan1-4 Character Collection for CID-Keyed Fonts", +Technical Note #5078 + +http://partners.adobe.com/asn/developer/pdfs/tn/5078.Adobe-Japan1-4.pdf + +
    8. + +
    9. +Adobe Systems Incorporated, +"Adobe-Japan2-0 Character Collection for CID-Keyed Fonts", +Technical Note #5097 + +http://partners.adobe.com/asn/developer/pdfs/tn/5097.Adobe-Japan2-0.pdf + +
    10. + +
    11. +Adobe Systems Incorporated, +"Adobe-Korea1-0 Character Collection for CID-Keyed Fonts" +Technical Note #5093 + +http://partners.adobe.com/asn/developer/pdfs/tn/5093.Adobe-Korea1-0.pdf + +
    12. + +
    13. +Taiji Yamada, "Tips on PostScript" + +http://www.aihara.co.jp/~taiji/tops/
    14. + +
    15. "gs-cjk project" + +http://www.gyve.org/gs-cjk/
    16. +
    + + + + + +
    + + + +

    Copyright © 2001 Taiji Yamada <taiji@aihara.co.jp> and +gs-cjk project. +

    Copyright © 2002 artofcode LLC. All rights reserved. + +

    This file is part of GNU Ghostscript. See the +GNU General Public License (the "License") for +full details of the terms of using, copying, modifying, and redistributing +GNU Ghostscript. + +

    +Ghostscript version 7.07, 17 May 2003 + + + + + + + diff --git a/Master/xemtex/doc/ghostscript/COPYING b/Master/xemtex/doc/ghostscript/COPYING new file mode 100644 index 00000000000..fbdd65f6f8b --- /dev/null +++ b/Master/xemtex/doc/ghostscript/COPYING @@ -0,0 +1,340 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Library General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Library General +Public License instead of this License. diff --git a/Master/xemtex/doc/ghostscript/COPYING.LGPL b/Master/xemtex/doc/ghostscript/COPYING.LGPL new file mode 100644 index 00000000000..cf9b6b99726 --- /dev/null +++ b/Master/xemtex/doc/ghostscript/COPYING.LGPL @@ -0,0 +1,510 @@ + + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations +below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. +^L + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it +becomes a de-facto standard. To achieve this, non-free programs must +be allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. +^L + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control +compilation and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. +^L + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. +^L + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at least + three years, to give the same user the materials specified in + Subsection 6a, above, for a charge no more than the cost of + performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. +^L + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. +^L + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply, and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License +may add an explicit geographical distribution limitation excluding those +countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. +^L + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS +^L + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms +of the ordinary General Public License). + + To apply these terms, attach the following notices to the library. +It is safest to attach them to the start of each source file to most +effectively convey the exclusion of warranty; and each file should +have at least the "copyright" line and a pointer to where the full +notice is found. + + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or +your school, if any, to sign a "copyright disclaimer" for the library, +if necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James + Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + + diff --git a/Master/xemtex/doc/ghostscript/Changes.htm b/Master/xemtex/doc/ghostscript/Changes.htm new file mode 100644 index 00000000000..e3626b64c5e --- /dev/null +++ b/Master/xemtex/doc/ghostscript/Changes.htm @@ -0,0 +1,288 @@ + + +Ghostscript 7.07 change history as of 2003-05-17 15:57:59 + + + + + +

    + + +

    Documentation

    +
    +Increment the version number after release. (doc/News.htm [1.90.2.18.2.6]:
    +2003/04/08 11:05:47 giles)
    +
    +Apply standard FSF license banner to files missed the 7.06 release. Patch
    +from Brett Smith. (doc/Readme.htm [1.31.2.16.2.5]: 2003/04/12 14:02:38
    +giles)
    +
    +Update the version and data for the 7.07 release.
    +(doc/API.htm [1.11.2.13.2.6], doc/C-style.htm [1.21.2.11.2.5],
    +doc/DLL.htm [1.15.2.11.2.5], doc/Develop.htm [1.47.2.18.2.6],
    +doc/Devices.htm [1.34.2.15.2.6], doc/Drivers.htm [1.21.2.11.2.5],
    +doc/Fonts.htm [1.22.2.13.2.6], doc/Helpers.htm [1.17.2.11.2.5],
    +doc/History1.htm [1.13.2.11.2.5], doc/History2.htm [1.13.2.11.2.6],
    +doc/History3.htm [1.13.2.11.2.6], doc/History4.htm [1.13.2.11.2.6],
    +doc/History5.htm [1.15.2.11.2.6], doc/History6.htm [1.30.2.11.2.6],
    +doc/History7.htm [1.5.2.17.2.7], doc/Htmstyle.htm [1.18.2.11.2.5],
    +doc/Install.htm [1.26.2.13.2.6], doc/Issues.htm [1.15.2.13.2.5],
    +doc/Language.htm [1.34.2.16.2.5], doc/Lib.htm [1.14.2.11.2.5],
    +doc/Maintain.htm [1.23.2.12.2.6], doc/Make.htm [1.36.2.19.2.6],
    +doc/New-user.htm [1.30.2.14.2.6], doc/News.htm [1.90.2.18.2.7],
    +doc/Projects.htm [1.33.2.11.2.6], doc/Ps-style.htm [1.13.2.11.2.5],
    +doc/Ps2epsi.htm [1.15.2.12.2.6], doc/Ps2pdf.htm [1.32.2.11.2.5],
    +doc/Psfiles.htm [1.22.2.12.2.5], doc/Readme.htm [1.31.2.16.2.6],
    +doc/Release.htm [1.40.2.23.2.6], doc/Source.htm [1.13.2.11.2.5],
    +doc/Unix-lpr.htm [1.13.2.11.2.5], doc/Use.htm [1.33.2.22.2.6],
    +doc/Xfonts.htm [1.13.2.11.2.5], doc/gs-vms.hlp [1.12.2.10.2.5],
    +man/dvipdf.1 [1.10.2.9.2.5], man/font2c.1 [1.10.2.9.2.5],
    +man/gs.1 [1.10.2.10.2.5], man/gslp.1 [1.10.2.9.2.5],
    +man/gsnd.1 [1.10.2.9.2.5], man/pdf2dsc.1 [1.10.2.9.2.5],
    +man/pdf2ps.1 [1.12.2.9.2.5], man/pdfopt.1 [1.10.2.9.2.5],
    +man/pf2afm.1 [1.10.2.9.2.5], man/pfbtopfa.1 [1.11.2.9.2.5],
    +man/printafm.1 [1.10.2.9.2.5], man/ps2ascii.1 [1.10.2.9.2.5],
    +man/ps2epsi.1 [1.10.2.10.2.5], man/ps2pdf.1 [1.14.2.11.2.5],
    +man/ps2pdfwr.1 [1.13.2.10.2.5], man/ps2ps.1 [1.17.2.9.2.5],
    +man/wftopfa.1 [1.10.2.9.2.5]: 2003/05/17 14:38:59 giles)
    +
    +Update the release notes. (doc/News.htm [1.90.2.18.2.8]: 2003/05/17 14:44:22
    +giles)
    +
    +

    Procedures

    +
    +Increment the version number after release. (version.mak [1.36.2.9.2.5]:
    +2003/04/08 11:05:47 giles)
    +
    +Apply standard FSF license banner to files missed the 7.06 release. Patch
    +from Brett Smith. (toolbin/3way.tcl [1.3.6.1.2.1],
    +toolbin/cvs2hist.py [1.9.2.2.2.1], toolbin/errlist.tcl [1.3.6.1.2.1],
    +toolbin/gsindent [1.3.6.1.2.1], toolbin/gsmake.tcl [1.5.6.1.2.1],
    +toolbin/gssubst [1.1.4.1.2.1], toolbin/headers.tcl [1.3.6.1.2.1],
    +toolbin/leaks.tcl [1.3.6.1.2.1], toolbin/makegnu.tcl [1.3.6.1.2.1],
    +toolbin/makeset.tcl [1.10.2.3.2.1], toolbin/many2pdf.tcl [1.1.4.1.2.1],
    +toolbin/pdfinflt.ps [1.1.2.1.2.1], toolbin/pre [1.11.2.3.2.1],
    +toolbin/precheck.tcl [1.3.6.1.2.1], toolbin/suite.tcl [1.3.6.1.2.1],
    +toolbin/tmake.tcl [1.3.6.1.2.1]: 2003/04/12 14:02:39 giles)
    +
    +Add the bbox device to the default macos shlib build. Bug 686811.
    +(macos-mcp.mak [1.3.2.8.2.2]: 2003/04/27 23:50:11 giles)
    +
    +Add the display device to the default macos shlib build.
    +(macos-mcp.mak [1.3.2.8.2.3]: 2003/04/27 23:52:55 giles)
    +
    +Log message: For the pngalpha device, set the default background color to
    +white in the bKGD chunk. Add an option -dBackgroundColor=16#RRGGBB to
    +explicitly set the background color. This is needed by a common web browser
    +that doesn't correctly support PNG with alpha transparency. DETAILS:
    +Programs that don't fully support alpha transparency let libpng convert an
    +RGBA image to RGB. The background color used is either provided by the
    +program, or in the bKGD chunk, or it falls back to gray. MSIE was defaulting
    +to a gray background which is not commonly used on web pages. By writing a
    +white bKGD chunk, PNG files will display correctly against a white
    +background in MSIE. If a solid color for a web page background is used with
    +<body bgcolor="#CCCC00">, then PNG images appearing on that page would
    +need to be created with -dBackgroundColor=16#CCCC00. For textured background
    +there is no hope. Microsoft needs to fix Internet Explorer.
    +(libpng.mak [1.10.2.3.2.2]: 2003/05/15 10:05:29 ghostgum)
    +
    +Update the version and data for the 7.07 release.
    +(version.mak [1.36.2.9.2.6]: 2003/05/17 14:39:00 giles)
    +
    +

    Utilities

    +
    +Apply standard FSF license banner to files missed the 7.06 release. Patch
    +from Brett Smith. (lib/Fontmap.ATB [1.2.6.1.2.1],
    +lib/Fontmap.ATM [1.2.6.1.2.1], lib/Fontmap.GS [1.2.6.1.2.1],
    +lib/Fontmap.OS2 [1.2.6.1.2.1], lib/Fontmap.SGI [1.2.6.1.2.1],
    +lib/Fontmap.Sol [1.2.6.1.2.1], lib/Fontmap.Ult [1.2.6.1.2.1],
    +lib/addxchar.ps [1.2.6.1.2.1], lib/align.ps [1.2.6.1.2.1],
    +lib/bdftops.ps [1.3.2.2.2.1], lib/caption.ps [1.2.6.1.2.1],
    +lib/cid2code.ps [1.3.4.1.2.1], lib/docie.ps [1.2.6.1.2.1],
    +lib/errpage.ps [1.2.6.1.2.1], lib/font2c.ps [1.3.2.1.2.1],
    +lib/font2pcl.ps [1.2.6.2.2.1], lib/gslp.ps [1.2.6.2.2.1],
    +lib/gsnup.ps [1.2.6.1.2.1], lib/image-qa.ps [1.3.2.1.2.1],
    +lib/impath.ps [1.3.4.1.2.1], lib/jispaper.ps [1.2.6.1.2.1],
    +lib/lines.ps [1.2.6.1.2.1], lib/markhint.ps [1.2.6.1.2.1],
    +lib/markpath.ps [1.2.6.1.2.1], lib/packfile.ps [1.2.6.2.2.1],
    +lib/pcharstr.ps [1.2.6.1.2.1], lib/pdf2dsc.ps [1.3.4.2.2.1],
    +lib/pdfopt.ps [1.10.2.2.2.1], lib/pdfwrite.ps [1.7.2.1.2.1],
    +lib/pfbtopfa.ps [1.2.6.1.2.1], lib/ppath.ps [1.2.6.1.2.1],
    +lib/pphs.ps [1.3.2.1.2.1], lib/ps2ai.ps [1.2.6.1.2.1],
    +lib/ps2ascii.ps [1.3.2.2.2.1], lib/ps2epsi.ps [1.5.2.3.2.1],
    +lib/rollconv.ps [1.1.8.1], lib/showchar.ps [1.2.6.1.2.1],
    +lib/stcinfo.ps [1.2.6.1.2.1], lib/stcolor.ps [1.2.6.1.2.1],
    +lib/stocht.ps [1.3.6.1.2.1], lib/traceimg.ps [1.2.6.2.2.1],
    +lib/traceop.ps [1.2.6.1.2.1], lib/type1enc.ps [1.2.6.1.2.1],
    +lib/type1ops.ps [1.2.6.1.2.1], lib/uninfo.ps [1.2.6.1.2.1],
    +lib/unprot.ps [1.2.6.1.2.1], lib/viewcmyk.ps [1.2.6.2.2.1],
    +lib/viewgif.ps [1.2.6.1.2.1], lib/viewjpeg.ps [1.1.6.2.2.1],
    +lib/viewmiff.ps [1.2.6.1.2.1], lib/viewpbm.ps [1.2.6.2.2.1],
    +lib/viewpcx.ps [1.2.6.2.2.1], lib/viewps2a.ps [1.2.6.1.2.1],
    +lib/wftopfa.ps [1.2.6.1.2.1], lib/winmaps.ps [1.2.6.1.2.1],
    +lib/wrfont.ps [1.2.6.1.2.1], lib/zeroline.ps [1.2.6.1.2.1]: 2003/04/12
    +14:02:38 giles)
    +
    +Avoid calling a null pgsdll_callback, as can happen with the new client api
    +and CHECK_INTERRUPTS. This fix affects primarily MacOS; similar protections
    +are already in place for other platforms, although the global was not
    +explicitly initialized to null. Also return EOFC in the mac stdio stream
    +process if no callback is defined. Closes bug 686768. Also backports some
    +code cleanup from HEAD. (gp_mac.c [1.1.4.3.2.2], gp_macio.c [1.2.4.5.2.3]:
    +2003/04/12 16:37:26 giles)
    +
    +Add a missing variable declaration for VMS. Patch from Forrest Cahoon and
    +Jouk Jansen. (gp_vms.c [1.7.2.3.2.2]: 2003/04/14 13:58:04 giles)
    +
    +

    Drivers

    +
    +Avoid calling a null pgsdll_callback, as can happen with the new client api
    +and CHECK_INTERRUPTS. This fix affects primarily MacOS; similar protections
    +are already in place for other platforms, although the global was not
    +explicitly initialized to null. Also return EOFC in the mac stdio stream
    +process if no callback is defined. Closes bug 686768. Also backports some
    +code cleanup from HEAD. (gdevmac.c [1.1.4.3.2.2]: 2003/04/12 16:37:26 giles)
    +
    +In the display device, store the line pointers separately from the bits, so
    +that the bits can be placed in special memory (e.g. allocated in video
    +memory). Fixes Bug 686780 display_memalloc() asks for too much memory. If
    +reopening the display device fails after setting the callback, display an
    +error message. Allocate the large display bitmap using a low level allocator
    +to avoid exceeding the memory limit of the previously used device stable
    +memory allocator. Fixes bugs 686836 "-r doesn't work" and duplicate 686838
    +"Ghostscript doesn't do anything". DETAILS: The display memory device and
    +the raster including line pointers was allocated using the stable allocator
    +of the display device. This had a limit of 1Mbyte, which was exceeded when
    +the resolution was greater then 114dpi. This would cause subsequent
    +allocations to fail, but it appears that nothing else tried to use this
    +allocator after the display device. The display device was changed to
    +allocate the line pointers separately to allow the raster to be allocated in
    +special memory, e.g. video memory or shared memory. This caused the
    +subsequent allocation of the line pointers to fail when resolution exceeded
    +114dpi. The modified code now allocates the raster with
    +gs_alloc_byte_array_immovable, which allocates directly from the C heap, not
    +subject to any memory limit apart from the overall -K limit if specified,
    +and is not subject to garbage collection. The normal allocator now has
    +sufficient memory to allocate the line pointers without problem. The raster
    +pointer is removed from the pointers that are enumerated during garbage
    +collection. (gdevdsp.c [1.5.2.5.2.3]: 2003/05/01 10:06:26 ghostgum)
    +
    +Log message: For the pngalpha device, set the default background color to
    +white in the bKGD chunk. Add an option -dBackgroundColor=16#RRGGBB to
    +explicitly set the background color. This is needed by a common web browser
    +that doesn't correctly support PNG with alpha transparency. DETAILS:
    +Programs that don't fully support alpha transparency let libpng convert an
    +RGBA image to RGB. The background color used is either provided by the
    +program, or in the bKGD chunk, or it falls back to gray. MSIE was defaulting
    +to a gray background which is not commonly used on web pages. By writing a
    +white bKGD chunk, PNG files will display correctly against a white
    +background in MSIE. If a solid color for a web page background is used with
    +<body bgcolor="#CCCC00">, then PNG images appearing on that page would
    +need to be created with -dBackgroundColor=16#CCCC00. For textured background
    +there is no hope. Microsoft needs to fix Internet Explorer.
    +(gdevpng.c [1.4.2.1.2.3]: 2003/05/15 10:05:29 ghostgum)
    +
    +

    PDF Interpreter

    +
    +Apply standard FSF license banner to files missed the 7.06 release. Patch
    +from Brett Smith. (lib/pdf_base.ps [1.14.2.1.2.1],
    +lib/pdf_draw.ps [1.36.2.2.2.1], lib/pdf_font.ps [1.23.2.6.2.1],
    +lib/pdf_main.ps [1.35.2.7.2.3], lib/pdf_ops.ps [1.17.2.2.2.1]: 2003/04/12
    +14:02:39 giles)
    +
    +

    Interpreter

    +
    +Increment the version number after release. (lib/gs_init.ps [1.40.2.12.2.2]:
    +2003/04/08 11:05:47 giles)
    +
    +Apply standard FSF license banner to files missed the 7.06 release. Patch
    +from Brett Smith. (examples/waterfal.ps [1.3.2.1.2.1],
    +lib/gs_agl.ps [1.2.6.1.2.1], lib/gs_btokn.ps [1.5.2.1.2.1],
    +lib/gs_ccfnt.ps [1.5.2.1.2.1], lib/gs_ce_e.ps [1.2.6.1.2.1],
    +lib/gs_cff.ps [1.10.2.1.2.1], lib/gs_cidcm.ps [1.5.2.2.2.1],
    +lib/gs_cidfn.ps [1.18.4.5.2.1], lib/gs_cmap.ps [1.11.2.4.2.1],
    +lib/gs_cmdl.ps [1.2.6.1.2.1], lib/gs_css_e.ps [1.2.6.1.2.1],
    +lib/gs_dbt_e.ps [1.2.6.1.2.1], lib/gs_diskf.ps [1.2.6.1.2.1],
    +lib/gs_dpnxt.ps [1.2.6.1.2.1], lib/gs_dps.ps [1.4.6.1.2.1],
    +lib/gs_dps1.ps [1.2.6.1.2.1], lib/gs_dps2.ps [1.3.4.1.2.1],
    +lib/gs_dscp.ps [1.4.2.1.2.1], lib/gs_epsf.ps [1.2.6.11.2.3],
    +lib/gs_fform.ps [1.2.6.1.2.1], lib/gs_fonts.ps [1.13.2.3.2.1],
    +lib/gs_frsd.ps [1.4.6.1.2.1], lib/gs_icc.ps [1.2.2.1.2.1],
    +lib/gs_il1_e.ps [1.2.6.1.2.1], lib/gs_il2_e.ps [1.2.6.1.2.1],
    +lib/gs_init.ps [1.40.2.12.2.3], lib/gs_kanji.ps [1.2.6.1.2.1],
    +lib/gs_ksb_e.ps [1.2.6.1.2.1], lib/gs_l2img.ps [1.2.6.1.2.1],
    +lib/gs_lev2.ps [1.7.2.4.2.3], lib/gs_lgo_e.ps [1.3.6.1.2.1],
    +lib/gs_lgx_e.ps [1.2.6.1.2.1], lib/gs_ll3.ps [1.10.2.2.2.1],
    +lib/gs_mex_e.ps [1.2.6.1.2.1], lib/gs_mgl_e.ps [1.3.6.1.2.1],
    +lib/gs_mro_e.ps [1.2.6.1.2.1], lib/gs_pdf_e.ps [1.2.6.1.2.1],
    +lib/gs_pdfwr.ps [1.11.2.1.2.1], lib/gs_pfile.ps [1.2.6.1.2.1],
    +lib/gs_rdlin.ps [1.2.6.1.2.1], lib/gs_res.ps [1.16.2.2.2.1],
    +lib/gs_setpd.ps [1.8.2.2.2.2], lib/gs_statd.ps [1.5.2.2.2.1],
    +lib/gs_std_e.ps [1.2.6.1.2.1], lib/gs_sym_e.ps [1.2.6.1.2.1],
    +lib/gs_trap.ps [1.3.6.2.2.1], lib/gs_ttf.ps [1.9.2.4.2.1],
    +lib/gs_typ32.ps [1.3.2.2.2.1], lib/gs_typ42.ps [1.2.6.1.2.1],
    +lib/gs_type1.ps [1.5.2.1.2.1], lib/gs_wan_e.ps [1.2.6.1.2.1],
    +lib/gs_wl1_e.ps [1.2.6.1.2.1], lib/gs_wl2_e.ps [1.2.6.1.2.1],
    +lib/gs_wl5_e.ps [1.2.6.1.2.1]: 2003/04/12 14:02:38 giles)
    +
    +Sort the list of devices in the output of 'gs -h' so they're easier to read.
    +List the default device separately as it's no longer first. Based on a patch
    +from Nelson Beebe. Closes bug 416746. Also correct a warning in argproc().
    +(imainarg.c [1.13.2.3.2.2]: 2003/04/12 16:43:14 giles)
    +
    +In the display device, store the line pointers separately from the bits, so
    +that the bits can be placed in special memory (e.g. allocated in video
    +memory). Fixes Bug 686780 display_memalloc() asks for too much memory. If
    +reopening the display device fails after setting the callback, display an
    +error message. Allocate the large display bitmap using a low level allocator
    +to avoid exceeding the memory limit of the previously used device stable
    +memory allocator. Fixes bugs 686836 "-r doesn't work" and duplicate 686838
    +"Ghostscript doesn't do anything". DETAILS: The display memory device and
    +the raster including line pointers was allocated using the stable allocator
    +of the display device. This had a limit of 1Mbyte, which was exceeded when
    +the resolution was greater then 114dpi. This would cause subsequent
    +allocations to fail, but it appears that nothing else tried to use this
    +allocator after the display device. The display device was changed to
    +allocate the line pointers separately to allow the raster to be allocated in
    +special memory, e.g. video memory or shared memory. This caused the
    +subsequent allocation of the line pointers to fail when resolution exceeded
    +114dpi. The modified code now allocates the raster with
    +gs_alloc_byte_array_immovable, which allocates directly from the C heap, not
    +subject to any memory limit apart from the overall -K limit if specified,
    +and is not subject to garbage collection. The normal allocator now has
    +sufficient memory to allocate the line pointers without problem. The raster
    +pointer is removed from the pointers that are enumerated during garbage
    +collection. (idisp.c [1.2.2.2.2.2]: 2003/05/01 10:06:26 ghostgum)
    +
    +Security fixes. Add detection of %pipe% device when in SAFER mode. Also fix
    +detection of 'renamefile' to prevent rename from a file that is not on the
    +PermitFileControl list. (zfile.c [1.11.2.4.2.2]: 2003/05/17 14:28:33 ray)
    +
    +

    Library

    +
    +Increment the version number after release. (gscdef.c [1.15.2.4.2.3]:
    +2003/04/08 11:05:47 giles)
    +
    +Update the version and data for the 7.07 release. (gscdef.c [1.15.2.4.2.4]:
    +2003/05/17 14:39:00 giles)
    +
    +

    Other

    +
    +Test the optimization compiler flag '-O2' before using it since some vendor
    +compilers have different syntax. (Makefile.in [1.1.4.13.2.3],
    +configure.ac [1.4.4.12.2.2]: 2003/04/16 13:59:56 giles)
    +
    +Include the bbox device in the default autoconf build.
    +(Makefile.in [1.1.4.13.2.4]: 2003/04/29 18:33:31 giles)
    +
    +
    diff --git a/Master/xemtex/doc/ghostscript/Current.htm b/Master/xemtex/doc/ghostscript/Current.htm new file mode 100644 index 00000000000..1d4fd4270f6 --- /dev/null +++ b/Master/xemtex/doc/ghostscript/Current.htm @@ -0,0 +1,272 @@ + + + +Information specifically about the current release + + + + + + + + + + +

    Information specifically about Ghostscript 6.0

    + + + + + +

    Table of contents

    + + + + + + + +

    For other information, see the Ghostscript +overview. + + + +


    + + + + + +

    New features (since release 5.50)

    + +

    +(This is not a complete list of new features: see the +news for details.) + +

    +Ghostscript now handles essentially all of PostScript LanguageLevel 3 and +PDF 1.3 (Acrobat 4.x compatibility). See Language.htm for details. + +

    +The PDF writer now implements most of the Acrobat (TM) Distiller parameters +for compressing and downsampling images. + +

    +The PDF writer now recognizes nearly all varieties of pdfmark, other than +the Distiller 3.0 "named object" pdfmarks and the Distiller 4.0 "document +structure" pdfmarks. + +

    +The PDF writer now handles text in all fonts, not just the 14 built-in ones, +and implements the Distiller parameters affecting font embedding and +subsetting. (It still usually converts double-byte fonts to bitmaps.) + +

    +16- and 24-bit X Windows displays are now fully supported. + +

    +You now need only the header files and shared libraries, not the source +code, if you want to use precompiled versions of the jpeg, libpng, or zlib +libraries. + +

    +The syntax +%iodevice%filename is now +supported with the -sOutputFile= switch, allowing you to +send raster output to a piped command. + +

    +You can now use MMK or MMS to build Ghostscript on OpenVMS systems. + +

    +For driver writers, there are improved facilities for planar output, +rasterizing directly into a driver-provided buffer, detecting bands that are +all white or that only use a subset of the colorants, and providing CRDs +from the driver. + +

    +The driver API now includes facilities for passing high-level text +operations, completing the set of high-level operations (bitmap images and +vector graphics were implemented in 5.50). See the +documentation for details. + +

    +Ghostscript as a dynamically linked library is now supported on the Mac as +well as on Windows. + +

    +GNU readline was supported in most of the beta distributions for 6.0, but +was removed at the last minute because of objections from the Free Software +Foundation. Please see here for more +information. + +

    Changes (since release 5.50)

    + +

    Directories and build procedure

    + +

    +The files in the release now have a more complex directory structure. In +the table below, top refers to the top-level directory, +gsn.nn. + +

    +The top/ is where you create a link to the +appropriate makefile in top/src/. On all systems +other than MS Windows, the build procedure does not write into this +directory. + +

    +The files included in the Ghostscript release now are found in five +subdirectories. + +

      +
    • top/src/ contains the C/C++ source code, the +makefiles, and all other files needed to build the program. The build +procedure reads from this directory but does not write into it. Nothing in +this directory is needed at run time. + +
    • top/lib/ contains PostScript and script +files needed at run time. The build procedure reads from this directory but +does not write into it. The contents of this directory are needed at run +time and are copied by the Unix make install command. + +

    • top/doc/ contains documentation. Copied by +make install. + +
    • top/man/ contains Unix man +pages. Copied by make install. + +
    • top/examples/ contains sample PostScript and +PDF files. Copied by make install. + +
    + +

    +The build procedure creates two additional subdirectories, +top/obj/ (or debugobj or +pgobj) and top/bin/. See the +documentation on how to build Ghostscript for more +information. + +

    Other changes

    + +

    +If you are a developer working with the Ghostscript code in any way other +than writing or modifying drivers, please read all of the "Incompatible +changes" sections of the release news for important +information. + +

    Known problems

    + +

    +See the release news for details. + +

    Usage

    + +

    +On a DOS system, interrupting the interpreter by typing control-C doesn't +restore the display mode. + +

    Limitations

    + +

    +serialnumber returns the same value in all copies. + +

    +Some floating point exceptions terminate the interpreter, rather than +producing a limitcheck error. + +

    +The DCTEncode filter disregards the Blend +parameter, and uses different QuantTables and +HuffTables from Adobe's. + +

    +The DCT filters do not support nonintegral sample ratios. Also, +DCTEncode will not create files with Sum(HS×VS)>10 +(regardless of the value of the Relax parameter) because +they violate the JPEG standard; but DCTDecode will read +such files. + +

    +The size of the execution stack cannot be changed dynamically. (However, +the sizes of the operand and dictionary stacks can be changed.) + +

    +Separation and DeviceN color spaces are +implemented, but devices that actually produce color separations are not +supported: these color spaces always use the alternate space. The special +color separations All and None, and the +primary separations (Red, Green, etc.), are +not supported. + +

    +execform and ucache are implemented, but +they do not actually do any caching; setucacheparams and +ucachestatus are dummies. (This only impacts performance, +not functionality.) + +

    +The image operator honors the Interpolate +flag in the image dictionary only for ImageType 1 and 3 images, only if the +combined transformation (ImageMatrix + CTM) doesn't involve +rotation, skewing, or X-reflection, and only for certain scalings and color +spaces; imagemask doesn't honor Interpolate +at all. + +

    +Some path-building operations that would generate a device coordinate +larger than +/-2^19 will cause a +limitcheck. However, the common ones ([r]moveto, +[r]lineto, [r]curveto, closepath) will not. + +

    Graphics bugs

    + +

    +There are no known graphics bugs in this release. + +

    Non-graphics bugs

    + +

    +The definefont operator (Subrs (type 1 fonts)) expects +arrays but won't accept packed arrays. + +

    +Syntax errors occurring within a binary token do not produce the error +message specified by the Adobe documentation. + + + + +


    + +

    +Copyright © 1996, 1997, 1998, 1999 Aladdin Enterprises. +All rights reserved. + +

    +This software is provided AS-IS with no warranty, either express or +implied. + +This software is distributed under license and may not be copied, +modified or distributed except as expressly authorized under the terms +of the license contained in the file LICENSE in this distribution. + +

    +Ghostscript version 7.07, 17 May 2003 + + + + + diff --git a/Master/xemtex/doc/ghostscript/DLL.htm b/Master/xemtex/doc/ghostscript/DLL.htm new file mode 100644 index 00000000000..180d4218349 --- /dev/null +++ b/Master/xemtex/doc/ghostscript/DLL.htm @@ -0,0 +1,703 @@ + + + +How to use the Ghostscript Dynamic Link Library (DLL) + + + + + + + + + + +

    How to use the Ghostscript Dynamic Link Library (DLL)

    + + + + + +

    Table of contents

    + + + + + + + +

    For other information, see the Ghostscript +overview. + +

    +WARNING: The API described in this document is obsolete and will +be removed in the future. +The current Ghostscript Interpreter API +is described in API.htm. + + + +


    + + + + + +

    What is the Ghostscript DLL?

    + +

    +For the OS/2, Win16 and Win32 platforms, Ghostscript is built as a dynamic +link library (DLL), and to provide the interface described in the usage documentation, a smaller independent executable +(.EXE) loads this DLL, which provides all the interaction +with the windowing system, including image windows and, if necessary, a +text window. This document describes the DLL interface, which consists of +eight main functions, seven platform-independent +ones provided by the DLL and one, the callback +function, provided by the caller. The DLL provides some other +platform-specific functions for display devices. + +

    +The DLL's name and characteristics differ among the three platforms: + +

      +
    • The OS/2 DLL GSDLL2.DLL has +MULTIPLE NONSHARED data segments and can be called by multiple programs +simultaneously. + +
    • The Win32 DLL GSDLL32.DLL has +MULTIPLE NONSHARED data segments. Under Win32s it can be used by only one +program at a time, but under Windows 95/98 or Windows NT it can be called by +multiple programs simultaneously. + +
    • The Win16 DLL GSDLL16.DLL is a +large-memory model DLL with far static data. Due to the limitations of +16-bit MS Windows -- Windows 3.n -- the DLL can be used by only one program +at a time. +
    + +

    +The source for the executable is in dp*.* (OS/2) and +dw*.* (Windows). See these source files for examples of +how to use the DLL. + +


    + +

    Platform-independent DLL functions

    + +

    +The seven functions provided by the DLL are +

      +
    • int GSDLLAPI gsdll_revision(char **product, char **copyright, long *gs_revision, long *gs_revisiondate) +
    • int GSDLLAPI gsdll_init(GSDLL_CALLBACK callback, HWND hwnd, int argc, char *argv[]); +
    • int GSDLLAPI gsdll_execute_begin(void); +
    • int GSDLLAPI gsdll_execute_cont(const char *str, int len); +
    • int GSDLLAPI gsdll_execute_end(void); +
    • int GSDLLAPI gsdll_exit(void); +
    • int GSDLLAPI gsdll_lock_device(unsigned char *device, int flag); + +

      +where GSDLLAPI is defined under OS/2 as + +

      +#define GSDLLAPI +
      + +

      +and under MS Windows as + +

      +#define GSDLLAPI CALLBACK _export +
      +
    + +

    gsdll_revision()

    + +
    +This function returns the revision numbers and strings of the Ghostscript +DLL; you should call it before gsdll_init() to make sure +that the correct version of the Ghostscript DLL has been loaded. For +example + +
    +
    char *product;
    +char *copyright;
    +long revision;
    +long revisiondate;
    +gsdll_revision(&product, &copyright, &revision, &revisiondate);
    +
    + +

    +You may use NULL pointers if you do not want a particular +value. +

    + +

    gsdll_init()

    + +
    +gsdll_init() must be called after loading the DLL and +before executing any Ghostscript commands. The arguments are the address +of the callback function, a parent window handle, the count of arguments +and an array of pointers to the arguments. For example + +
    +
    char *argv[5];
    +argv[0] = "gswin.exe";
    +argv[1] = "-Ic:\\gs;c:\gs\\fonts";
    +argv[2] = "-dNOPAUSE",
    +argv[3] = "-sDEVICE=djet500",
    +argv[4] = NULL;
    +argc = 4;
    +
    +code = gsdll_init(gsdll_callback, hwnd, argc, argv);
    +
    + +

    +hwnd is used as the parent window handle for any windows +created by Ghostscript. hwnd may be NULL +if the caller has no windows, but if it is NULL, you should +avoid using devices which may open windows. + +

    +A return code of 0 (zero) indicates no errors, and the code may now call +gsdll_execute_begin() or gsdll_exit(). If +the return value is non-zero then gsdll_exit() must not be +called. + +

    +A return value of GSDLL_INIT_QUIT indicates that one of the +command line files or arguments called "quit", or that +Ghostscript was reading stdin and reached end-of-file. This is not an +error. gsdll_exit() must not be called. + +

    +A return value of GSDLL_INIT_IN_USE indicates that the DLL +is in use by another application (Windows 3.1 only). The DLL should be +immediately unloaded (or the caller terminated). +gsdll_exit() must not be called. +

    + +

    gsdll_execute_begin()

    + +
    +This must be called after gsdll_init() and before +gsdll_execute_cont(). +
    + +

    gsdll_execute_cont()

    + +
    +After successfully calling gsdll_init() and +gsdll_execute_begin(), commands may be given to Ghostscript +with gsdll_execute_cont(). Examples are: + +
    +
    char *command = "1 2 add == flush\n";
    +code = gsdll_execute_cont(command, strlen(command));
    +command = "qu"
    +code = gsdll_execute_cont(command, strlen(command));
    +command = "it\n"
    +code = gsdll_execute_cont(command, strlen(command));
    +
    + + + + +

    Return codes from gsdll_execute_cont()
    +
    Code +      + Status +

    +
    0 +   + No errors +
    < 0 +   + Error +
    <= -100 +   + "quit" has been executed, or fatal error. +gsdll_exit() must then be called: do not call +gsdll_execute_end(). +
    +
    + +gsdll_execute_cont() +does not flush stdio, so if you want to see output from Ghostscript you +must do this explicitly as shown in the example above. + +

    +When executing a string with gsdll_execute_cont(), +currentfile is the input from +gsdll_execute_cont(). Reading from %stdin +uses the callback. + +

    + +

    gsdll_execute_end()

    + +
    +If gsdll_execute_cont() did not return an error, then +gsdll_execute_end() must be called after +gsdll_execute_cont() and before +gsdll_exit(). +
    + +

    gsdll_exit()

    + +
    +Call gsdll_exit() to terminate the Ghostscript DLL. It must be called if a +fatal error has occurred; see the return value +of gsdll_execute_cont(). After calling +gsdll_exit(), there are two options: + +
      +
    • Unload the DLL, either by terminating the application or by +calling DosFreeModule (OS/2) or FreeLibrary (MS Windows). + +
    • Call gsdll_init() again to restart Ghostscript. +
    +
    + +

    gsdll_lock_device()

    + +
    +Since the caller may be multithreaded, a lock is needed to control access +to the display device, and gsdll_lock_device() provides that +locking. + +
    +
    int gsdll_lock_device(unsigned char *device, int flag);
    + /* Lock the device if flag = TRUE */
    + /* Unlock the device if flag = FALSE */
    + /* device is a pointer to Ghostscript os2dll or mswindll device */
    + /* from GSDLL_DEVICE message. */
    + /* Return value is the lock count. */
    +
    + + +

    Locking and unlocking devices
    +
    To lock a device +      + gsdll_lock_device(device, 1); +
    To unlock a device +   + gsdll_lock_device(device, 0); +
    +
    + +

    +This function is typically used to lock the device while repainting a +window or copying the device bitmap to the clipboard. Ghostscript may draw +into the device bitmap or update the palette entries while the device is +locked by the caller, but locking the device prevents the Ghostscript DLL +from closing the device or changing its size or depth. + +

    +Under OS/2, Windows 95/98 and Windows NT, this lock is implemented using a +mutual exclusion semaphore (mutex). The return value is the lock count, +which is either 0 ("unlocked") or 1 ("locked"). The function blocks until +the device is locked by the caller. + +

    +Under Win16 or Win32s, gsdll_lock_device() always returns +immediately with a lock count as its return value. A lock count of 2 or +more is definite indication of an error, probably calling the function +twice. Access to the device should be controlled by checking the Windows +message queue only when the bitmap is not being accessed. +

    + +
    + +

    Callback function

    + +
    +As an argument to gsdll_init() the +caller must provide a callback function which the DLL invokes for stdio and +to notify the caller about device events. The function provided by the +caller has this prototype: + +
    +int gsdll_callback(int message, char *str, unsigned long count); +
    + +

    +The Pascal calling convention is not used. An example callback function +is: + +

    +
    int
    +gsdll_callback(int message, char *str, unsigned long count)
    +{
    +char *p;
    +    switch (message) {
    +        case GSDLL_STDIN:
    +            p = fgets(str, count, stdin);
    +            if (p)
    +                return strlen(str);
    +            else
    +                return 0;
    +        case GSDLL_STDOUT:
    +            if (str != (char *)NULL)
    +                fwrite(str, 1, count, stdout);
    +            return count;
    +        case GSDLL_DEVICE:
    +            fprintf(stdout,"Callback: DEVICE %p %s\n", str,
    +                count ? "open" : "close");
    +            break;
    +        case GSDLL_SYNC:
    +            fprintf(stdout,"Callback: SYNC %p\n", str);
    +            break;
    +        case GSDLL_PAGE:
    +            fprintf(stdout,"Callback: PAGE %p\n", str);
    +            break;
    +        case GSDLL_SIZE:
    +            fprintf(stdout,"Callback: SIZE %p width=%d height=%d\n", str,
    +                (int)(count & 0xffff), (int)((count>>16) & 0xffff) );
    +            break;
    +        case GSDLL_POLL:
    +            return 0; /* no error */
    +        default:
    +            fprintf(stdout,"Callback: Unknown message=%d\n",message);
    +            break;
    +    }
    +    return 0;
    +}
    +
    + + + +

    Messages used by callback
    +
    Symbol +    + +    + Use +

    +
    GSDLL_STDIN +   + 1 +   + get count characters to str from stdin, return number of characters read +
    GSDLL_STDOUT +   + 2 +   + put count characters from str + to stdout, return number of characters written +
    GSDLL_DEVICE +   + 3 +   + device str has been opened if + count = 1, closed if + count = 0 +
    GSDLL_SYNC +   + 4 +   + sync_output for device str +
    GSDLL_PAGE +   + 5 +   + output_page for device str +
    GSDLL_SIZE +   + 6 +   + resize for device str: + LOWORD(count) is new xsize, + HIWORD(count) is new ysize +
    GSDLL_POLL +   + 7 +   + Called from gp_check_interrupt()
    + Can be used by the caller to poll the message queue. + Normally returns 0. To abort + gsdll_execute_cont(), return a non-zero + error code until gsdll_execute_cont() + returns. +
    +
    +
    + +
    + +

    Ghostscript DLL device for OS/2

    + +

    +The os2dll device is provided in the Ghostscript DLL for +use by the caller. No drawing facilities are provided by the DLL because +the DLL may be loaded by a text-only (non-PM) application. The caller is +notified via the gsdll_callback() when a new +os2dll device is opened or closed +(GSDLL_DEVICE), when the window should be redrawn +(GSDLL_SYNC or GSDLL_PAGE) or when the +bitmap size changes (GSDLL_SIZE). +Note that more than one os2dll device may be opened. + +

    gsdll_get_bitmap()

    + +
    +gsdll_get_bitmap() returns a pointer to a bitmap in BMP +format. The os2dll device draws into this bitmap. + +
    +
    unsigned long gsdll_get_bitmap(unsigned char *device, unsigned char **pbitmap);
    + /* return in pbitmap the address of the bitmap */
    + /* device is a pointer to Ghostscript os2dll device from GSDLL_DEVICE message */
    +
    + +

    +The caller can then display the bitmap however it likes, but should lock +the bitmap with gsdll_lock_device() before painting from +it, and unlock it afterwards. The bitmap address does not change until the +os2dll device is closed; however the bitmap size and +palette may change whenever the bitmap is not locked. +

    + +

    Example DLL usage for OS/2

    + +

    +The example here shows a minimal usage of the Ghostscript DLL under OS/2. +The sample callback function above is needed. + +

    +
    #define INCL_DOS
    +#include <os2.h>
    +#include <stdio.h>
    +#include "gsdll.h"
    +
    +PFN_gsdll_init pgsdll_init;
    +PFN_gsdll_execute_begin pgsdll_execute_begin;
    +PFN_gsdll_execute_cont pgsdll_execute_cont;
    +PFN_gsdll_execute_end pgsdll_execute_end;
    +PFN_gsdll_exit pgsdll_exit;
    +
    +HMODULE hmodule_gsdll;
    +char buf[256];
    +
    +int
    +main(int argc, char *argv[])
    +{
    +int code;
    +APIRET rc;
    +    if (!DosLoadModule(buf, sizeof(buf), "GSDLL2", &hmodule_gsdll)) {
    +        fprintf(stderr, "Loaded GSDLL2\n");
    +        DosQueryProcAddr(hmodule_gsdll, 0, "gsdll_init", (PFN *)(&pgsdll_init));
    +        DosQueryProcAddr(hmodule_gsdll, 0, "gsdll_execute_begin", (PFN *)(&pgsdll_execute_begin));
    +        DosQueryProcAddr(hmodule_gsdll, 0, "gsdll_execute_cont", (PFN *)(&pgsdll_execute_cont));
    +        DosQueryProcAddr(hmodule_gsdll, 0, "gsdll_execute_end", (PFN *)(&pgsdll_execute_end));
    +        DosQueryProcAddr(hmodule_gsdll, 0, "gsdll_exit", (PFN *)(&pgsdll_exit));
    +    }
    +    else {
    +        fprintf(stderr, "Can't load GSDLL2\n");
    +    }
    +
    +    code = (*pgsdll_init)(gsdll_callback, NULL, argc, argv);
    +    fprintf(stdout,"gsdll_init returns %d\n", code);
    +    code = (*pgsdll_execute_begin)();
    +    if (code==0) {
    +        while (fgets(buf, sizeof(buf), stdin)) {
    +            code = (*pgsdll_execute_cont)(buf, strlen(buf));
    +            fprintf(stdout,"gsdll_execute returns %d\n", code);
    +            if (code < 0)
    +               break;
    +        }
    +        if (!code)
    +            code = (*pgsdll_execute_end)();
    +        code = (*pgsdll_exit)();
    +        fprintf(stdout,"gsdll_exit returns %d\n", code);
    +    }
    +    rc = DosFreeModule(hmodule_gsdll);
    +    fprintf(stdout,"DosFreeModule returns %d\n", rc);
    +    return 0;
    +}
    +
    + +
    + +

    Ghostscript DLL device for MS Windows

    + +

    +The mswindll device is provided in the Ghostscript DLL for +use by the caller. The caller is notified via the +gsdll_callback() when a new mswindll device +is opened or closed (GSDLL_DEVICE), when the window should +be redrawn (GSDLL_SYNC or GSDLL_PAGE) or +when the bitmap size changes (GSDLL_SIZE). Note that more +than one mswindll device may be opened. + +

    +Four DLL functions are available to use the mswindll +device. + +

    gsdll_copy_dib()

    + +
    +Copy the mswindll bitmap to the clipboard. + +
    +
    HGLOBAL GSDLLAPI gsdll_copy_dib(unsigned char *device);
    + /* make a copy of the device bitmap and return shared memory handle to it */
    + /* device is a pointer to Ghostscript device from GSDLL_DEVICE message */
    +
    +
    + +

    gsdll_copy_palette()

    + +
    +Copy the mswindll palette to the clipboard. + +
    +
    HPALETTE GSDLLAPI gsdll_copy_palette(unsigned char *device);
    +/* make a copy of the device palette and return a handle to it */
    +/* device is a pointer to Ghostscript device from GSDLL_DEVICE message */
    +
    +
    + +

    gsdll_draw()

    + +
    +Display output from the mswindll device. The caller should +create a window and call gsdll_draw() in response to the +WM_PAINT message. The device context hdc +must be for a device because SetDIBitsToDevice() is used. + +
    +
    void GSDLLAPI gsdll_draw(unsigned char *device, HDC hdc,
    +                                  LPRECT dest, LPRECT src);
    +/* copy the rectangle src from the device bitmap */
    +/* to the rectangle dest on the device given by hdc */
    +/* hdc must be a device context for a device (NOT a bitmap) */
    +/* device is a pointer to Ghostscript device from GSDLL_DEVICE message */
    +
    +
    + +

    gsdll_get_bitmap_row()

    + +
    +Get a BMP header, a palette, and a pointer to a row in the bitmap. This +function exists to allow the bitmap to be copied to a file or structured +storage without the overhead of having two copies of the bitmap in memory +at the same time. + +

    +Ghostscript can change the palette while the device is locked. Do not call +this function while Ghostscript is busy. + +

    +
    int GSDLLAPI gsdll_get_bitmap_row(unsigned char *device, LPBITMAPINFOHEADER pbmih,
    +    LPRGBQUAD prgbquad, LPBYTE *ppbyte, unsigned int row)
    +/* If pbmih nonzero, copy the BITMAPINFOHEADER.
    + * If prgbquad nonzero, copy the palette.
    + *   number of entries copied is given by pbmih->biClrUsed
    + * If ppbyte nonzero, return pointer to row.
    + *   pointer is only valid while device is locked
    + */
    +
    +
    + +
    + +

    Ghostscript DLL Device for 16-bit MS Windows

    + +

    +This platform has the most problems of the three. Support for it may be +dropped in future. + +

    +The Win16 DLL GSDLL16.DLL is a large-memory model DLL with +far static data. Due to the limitations of 16-bit MS Windows, the DLL can +be used by only one program at a time. + +

    +However, GSDLL16 is marked as having SINGLE SHARED data +segments, allowing multiple applications to load it with no error +indication. (The DLL wouldn't load at all if MULTIPLE NONSHARED was used). +Nonetheless, it cannot be used by more than one application at a +time, so applications loading GSDLL16 should check the +return value of gsdll_init(): if this value is non-zero, +then GSDLL16 is already in use by another application and +should not be used: GSDLL16 should be +unloaded immediately using FreeLibrary(), or the calling +program should quit without attempting to use the library.. + +

    +The segmented architecture of the Intel 80286 causes the usual amount of +grief when using GSDLL16. Because the callback is called +from the DLL, which is using a different data segment, the callback must be +declared as _far _export: + +

    +
    int _far _export gsdll_callback(int message, char *str, unsigned long count);
    +
    + +

    +Instead of giving gsdll_init() the address of +gsdll_callback(), it should instead be given the address of +a thunk created by MakeProcInstance. This thunk changes +the data segment back to that used by the caller: + +

    +
    FARPROC lpfnCallback;
    +lpfnCallback = (FARPROC)MakeProcInstance((FARPROC)gsdll_callback, hInstance);
    +code = (*pgsdll_init)((GSDLL_CALLBACK)lpfnCallback, NULL, argc, argv);
    +if (!code) {
    +    fprintf(stderr, "GSDLL16 is already in use\n");
    +    return -1;
    +}
    +
    + + + + +
    + +

    +Copyright © 1996, 1997, 1998 Aladdin Enterprises. +All rights reserved. + +

    +This software is provided AS-IS with no warranty, either express or +implied. + +This software is distributed under license and may not be copied, +modified or distributed except as expressly authorized under the terms +of the license contained in the file LICENSE in this distribution. + +

    +Ghostscript version 7.07, 17 May 2003 + + + + + diff --git a/Master/xemtex/doc/ghostscript/Develop.htm b/Master/xemtex/doc/ghostscript/Develop.htm new file mode 100644 index 00000000000..d6080881fc8 --- /dev/null +++ b/Master/xemtex/doc/ghostscript/Develop.htm @@ -0,0 +1,4327 @@ + + + +Information for Ghostscript developers + + + + + + + + + +

    Information for Ghostscript developers

    + + + + + +

    Table of contents

    + +
    + + + + + +

    For other information, see the Ghostscript +overview and the documentation related to maintaining Ghostscript. + + + +


    + + + + + +

    Introduction

    + +

    +This document provides a wealth of information about Ghostscript's +internals, primarily for developers actively working on Ghostscript. It is +primarily descriptive, documenting the way things are; the +companion C style guide is primarily +prescriptive, documenting what developers should do when +writing new code. + +

    +THIS FILE IS A WORK IN PROGRESS. MANY SECTIONS ARE PLACE-HOLDERS. + +

    Architecture

    + +

    Design goals

    + +

    +Ghostscript has the following high-level design goals (not listed in order +of importance): + +

      +
    • Functionality +
        +
      • Ability to interpret the current PostScript and PDF languages, as +defined (and occasionally, in the case of conflict, as implemented) by +Adobe. +
      • Ability to convert PostScript to and from PDF, comparable to +Adobe products. +
      • Ability to produce output for a wide range of resolutions (from +TV-resolution displays to imagesetters) and color models (black and white, +multilevel gray, bilevel or multi-level RGB and CMYK, 6- or 8-color +inkjet printers, spot color). +
      +
    • Performance +
        +
      • Ability to render PostScript and PDF with commercial-quality performance +(memory usage, speed, and output quality) on all platforms. +
      • Specifically, ability to render PostScript effectively in embedded +environments with constrained RAM, including the ability to put the code and +supporting data in ROM. +
      +
    • Licensing +
        +
      • Licensing that supports both the Open Source / Free software communities +and a commercial licensing business. +
      • Freedom from licensing restrictions or fees imposed by third parties. +
      +
    • Other +
        +
      • Easy source portability to any platform (CPU, operating system, and +development tools) that has an ANSI or K&R C compiler. +
      • Support for writing new interpreters and new drivers with no change to +any existing code; specifically, ability to support PCL 5e, PCL 5c, and PCL +XL interpreters, and the ever-changing roster of inkjet printers. +
      +
    + +

    +These goals often conflict: part of Ghostscript's claim to quality is that +the conflicts have been resolved well. + +

    Design principles

    + +

    +Part of what has kept Ghostscript healthy through many years of major code +revisions and functional expansion is consistent and conscientious adherence +to a set of design principles. We hope the following list captures the most +important ones. + +

    Non-preemption

    + +

    +Ghostscript is designed to be used as a component. As such, it must share +its environment with other components. Therefore, it must not require +ownership of, or make decisions about, inherently shared resources. +Specifically, it must not assume that it can "own" either the locus of +control or the management of the address space. + +

    +Not owning control means that whenever Ghostscript passes control to its +caller, it must do so in a way that doesn't constrain what the caller can do +next. The caller must be able to call any other piece of software, wait for +an external event, execute another task, etc., without having to worry about +Ghostscript being in an unknown state. While this is easy to arrange in a +multi-threaded environment (by running Ghostscript in a separate thread), +multi-threading APIs are not well standardized at this time (December 2000), +and may not be implemented efficiently, or at all, on some platforms. +Therefore, Ghostscript must choose between only two options for interacting +with its caller: to return, preserving its own state in data +structures, or to call back through a caller-supplied procedure. +Calling back constrains the client program unacceptably: the callback +procedure only has the options of either returning, or aborting Ghostscript. +In particular, if it wants (for whatever reason) to multi-task Ghostscript +with another program, it cannot do so in general, especially if the other +program also uses callback rather than suspension. Therefore, Ghostscript +tries extremely hard to return, rather than calling back, for all caller +interaction. In particular: + +

      + +
    • For callers that want to pass input to Ghostscript piece by piece, +Ghostscript returns with an e_NeedInput code rather than +using a callback. This allows the caller complete flexibility in its +control structure for managing the source of input. (It might, for example, +be generating the input dynamically.) + +
    • In the future, the same arrangement should be used for input from +stdin and output to stdout and +stderr. + +
    • Likewise, scheduling of Ghostscript's own threads (contexts), currently +done with a callback, should be done with suspension. The Display +Ghostscript project (GNU DGS) is working on this. + +
    + +

    +The one area where suspension is not feasible with Ghostscript's current +architecture is device output. Device drivers are called from deep within +the graphics library. (If Ghostscript were being redesigned from scratch, +we might try to do this with suspension as well, or at least optional +suspension.) + +

    +Not owning management of the address space means that even though +Ghostscript supports garbage collection for its own data, it must not do any +of the things that garbage collection schemes for C often require: it must +not replace 'malloc' and 'free', must not require its clients to use its own +allocator, must not rely on manipulating the read/write status of memory +pages, must not require special compiler or run-time support (e.g., APIs for +scanning the C stack), must not depend on the availability of +multi-threading, and must not take possession of one of a limited number of +timer interrupts. However, in order not to constrain its own code unduly, +it must also not require using special macros or calls to enter or leave +procedures or assign pointers, and must not constrain the variety of C data +structures any more than absolutely necessary. It achieves all of these +goals, at the expense of some complexity, some performance cost (mostly for +garbage collection), and some extra manual work required for each structure +type allocated by its allocator. The details appear in the Memory management section below. + +

    Multi-instantiability

    + +

    +From many years of experience with the benefits of object-oriented design, +we have learned that when the word "the" appears in a software design -- +"the" process scheduler, "the" memory manager, "the" output device, "the" +interpreter, "the" stack -- it often flags an area in which the software +will have difficulty adapting to future needs. For this reason, Ghostscript +attempts to make every internal structure capable of existing in multiple +instances. For example, Ghostscript's memory manager is not a one-of-a-kind +entity with global state and procedures: it is (or rather they are, since +Ghostscript has multiple memory managers, some of which have multiple +instances) objects with their own state and (virtual) procedures. +Ghostscript's PostScript interpreter has no writable non-local data +(necessary, but not sufficient, to allow multiple instances), and in the +future will be extended to be completely reentrant and instantiable. The +device driver API is designed to make this easy for drivers as well. The +graphics library is currently not completely reentrant or instantiable: we +hope this will occur in the future. + +

    Late configuration binding

    + +

    +Ghostscript is designed to make configuration choices as late as possible, +subject to simplicity and performance considerations. The major binding +times for such choices are compilation, linking, startup, and dynamic. + +

      + +
    • Compilation binds only CPU and compiler characteristics (including data +type size, presence of floating point hardware, and data alignment), and +whether the code will be used for production, debugging, or profiling. + +
    • Linking binds the choice of what features and device drivers will be +included in the executable. (Work is underway to make the choice of drivers +dynamic.) + +
    • Startup binds essentially nothing. Almost every option and parameter +that can appear on the command line can also be changed dynamically. + +
    • The selection of output device, all parameters associated with the +device, the selection of debugging printout and self-checking (in debugging +configurations), the macro-allocation of memory, and almost all other +operational parameters are dynamic. + +
    + +

    +In addition, a number of major implementation decisions are made dynamically +depending on the availability of resources. For example, Ghostscript +chooses between banded and non-banded rendering depending on memory +availability. + +

    Large-scale structure

    + +

    +At the largest design scale, Ghostscript consists of 4 layers. Layer N +is allowed to use the facilities of all layers M <= N. + +

      + +
    1. The bottom layer is called the substrate. It +includes facilities like memory management, streams, fixed-point arithmetic, +and low-level interfaces to the operating system. The substrate is written +in C, with a little C++ and/or assembler code for some platforms. + +
    2. The layer above the substrate is the graphics layer. It consists of two +separate sub-parts. The graphics layer is written in C. + +
        + +
      • The graphics library manages graphics +state information for, and decomposes and renders 2-D images described +using, a graphics model that is approximately the union of those of +PostScript, PDF, and PCL 5e/5c/XL. + +
      • The device drivers are called by the +graphics library to produce actual output. The graphics library, and all +higher layers, call device driver procedures only through virtual functions. + +
      + +
    3. The principal clients of the graphics layer are language interpreters. +Ghostscript as distributed includes the PostScript interpreter; there are also +interpreters for PCL 5e, PCL 5c, and PCL XL, which are not currently freely +redistributable and are not included in the standard Ghostscript package. +The PostScript interpreter is written partly in C and partly in PostScript. + +
    4. The PDF interpreter is actually a client +of the PostScript interpreter: it is written entirely in PostScript. + +
    + +

    +The most important interface in Ghostscript is the API between the graphics +library and the device drivers: new printers (and, to a lesser extent, +window systems, displays, plotters, film recorders, and graphics file +formats) come on the scene frequently, and it must be possible to produce +output for them with a minimum of effort and distruption. This API is the +only one that is extensively documented (see Drivers.htm) and kept stringently backward-compatible +through successive releases. + +

    Object-oriented constructs

    + +

    +Ghostscript makes heavy use of object-oriented constructs, including +analogues of classes, instances, subclassing, and class-associated +procedures. Since Ghostscript is written in C, not C++, implementing these +constructs requires following coding conventions. The "Objects" section of the C style guide +explains these. + +

    +The memory manager API provides run-time type information about each class, +but this information does not include anything about subclassing. See under +Structure descriptors below. + +


    + +

    File roadmap

    + +

    +This section of the document provides a roadmap to all of the Ghostscript +source files. + +

    Substrate

    + +

    Memory manager

    + +

    +See below. + +

    Streams

    + +
    + +
    +Framework, file and string streams: +
    +src/gsdsrc.c, +src/gsdsrc.h, +src/scommon.h, +src/sfxboth.c, +src/sfxfd.c, +src/sfxstdio.c, +src/stream.h, +src/stream.c, +src/strimpl.h. + +
    +Standard filters: +
    + +
    + +
    +CCITTFax: +
    +src/scf.h, +src/scfd.c, +src/scfdgen.c, +src/scfdtab.c, +src/scfe.c, +src/scfetab.c, +src/scfparam.c, +src/scfx.h. + +
    +DCT (JPEG): +
    +src/gsjconf.h, +src/gsjmorec.h, +src/sdcparam.c, +src/sdcparam.h, +src/sdct.h, +src/sdctc.c, +src/sdctd.c, +src/sdcte.c, +src/sddparam.c, +src/sdeparam.c, +src/sjpeg.h, +src/sjpegc.c, +src/sjpegd.c, +src/sjpege.c. + +
    +Other compression/decompression: +
    +src/slzwc.c, +src/slzwce.c, +src/slzwd.c, +src/slzwx.h, +src/srld.c, +src/srle.c, +src/srlx.h. + +
    +Other: +
    +src/sa85d.c, +src/sa85d.h, +src/sa85x.h, +src/sfilter1.c, +src/sfilter2.c, +src/sstring.c, +src/sstring.h. + +
    + +
    +Non-standard filters used to implement standard filters: +
    +src/seexec.c, +src/sfilter.h, +src/shc.c, +src/shc.h, +src/shcgen.c, +src/shcgen.h, +src/spdiff.c, +src/spdiffx.h, +src/spngp.c, +src/spngpx.h, +src/szlibc.c, +src/szlibd.c, +src/szlibe.c, +src/szlibx.h, +src/szlibxx.h. + +
    +Non-standard filters: +
    +src/sbcp.c, +src/sbcp.h, +src/sbhc.c, +src/sbhc.h, +src/sbtx.h, +src/sbwbs.c, +src/sbwbs.h, +src/smd5.c, +src/smd5.h, +src/sarc4.c, +src/sarc4.h, +src/smtf.c, +src/smtf.h. + +
    +Internal filters: +
    +asrc/siinterp.c, +src/siinterp.h, +src/siscale.c, +src/siscale.h, +src/sisparam.h. + +
    +Higher-level stream support: +
    +src/spprint.c, +src/spprint.h, +src/spsdf.c, +src/spsdf.h, +src/srdline.h. + +
    + +

    Platform-specific code

    + +See below. + +

    Miscellaneous

    + +
    + +
    +Library top level: +
    +src/gsinit.c, +src/gslib.h. + +
    +Configuration-related: +
    +src/gconf.c, +src/gconf.h, +src/gscdef.c, +src/gscdefs.h. + +
    +Arithmetic: +
    +src/gsfemu.c, +src/gxarith.h, +src/gxdda.h, +src/gxfarith.h, +src/gxfixed.h, +src/gxfrac.h. + +
    +Operating system interface: +
    +src/gserror.h, +src/gsexit.h, +src/gxstdio.h, +src/gxsync.c, +src/gxsync.h. + +
    +Other: +
    +src/gsargs.c, +src/gsargs.h, +src/gserrors.h, +src/gsnotify.c, +src/gsnotify.h, +src/gsrect.h, +src/gstypes.h, +src/gsuid.h, +src/gsutil.h, +src/gsutil.c, +src/gx.h, +src/md5.c, +src/md5.h. + +
    + +

    Graphics library

    + +

    Support

    + +
    + +
    +Bitmap processing: +
    +src/gsbitcom.c, +src/gsbitmap.h, +src/gsbitops.c, +src/gsbitops.h, +src/gsbittab.c, +src/gsbittab.h, +src/gsflip.c, +src/gsflip.h, +src/gxbitmap.h, +src/gxbitops.h, +src/gxsample.c, +src/gxsample.h. + +
    +Functions: +
    +src/gsfunc.c, +src/gsfunc.h, +src/gsfunc0.c, +src/gsfunc0.h, +src/gsfunc3.c, +src/gsfunc3.h, +src/gsfunc4.c, +src/gsfunc4.h, +src/gsfuncv.c, +src/gsfuncv.h, +src/gxfunc.h. + +
    +Parameter lists: +
    +src/gscparam.c, +src/gsparam.c, +src/gsparam.h, +src/gsparam2.c (not used), +src/gsparams.c, +src/gsparams.h, +src/gsparamx.c, +src/gsparamx.h. + +
    +I/O-related: +
    +src/gdevpipe.c, +src/gsfname.c, +src/gsfname.h, +src/gsio.h, +src/gsiodev.c, +src/gsiodevs.c, +src/gxiodev.h. + +
    + +

    Paths

    + +
    + +
    +Coordinate transformation: +
    +src/gscoord.c, +src/gscoord.h, +src/gsmatrix.c, +src/gsmatrix.h, +src/gxcoord.h, +src/gxmatrix.h. + +
    +Path building: +
    +src/gsdps1.c, +src/gspath.c, +src/gspath.h, +src/gspath1.c, +src/gspath2.h, +src/gxpath.c, +src/gxpath.h, +src/gxpath2.c, +src/gxpcopy.c, +src/gxpdash.c, +src/gxpflat.c, +src/gzpath.h. + +
    +Path rendering: +
    +src/gdevddrw.c, +src/gsdps1.c, +src/gspaint.c, +src/gspaint.h, +src/gspenum.h, +src/gxfill.c, +src/gxpaint.c, +src/gxpaint.h, +src/gxstroke.c. + +
    +Clipping: +
    +See under Clipping below. + +
    + +

    Text

    + +
    + +
    +Fonts, generic: +
    +src/gsfont.c, +src/gsfont.h, +src/gxfont.h. + +
    +Fonts, specific FontTypes: +
    +src/gsfcid.c, +src/gsfcmap.c, +src/gsfcmap.h, +src/gsfont0.c, +src/gxcid.h, +src/gxfcid.h, +src/gxfcmap.h, +src/gxfont0.h, +src/gxfont1.h, +src/gxfont42.h, +src/gxftype.h, +src/gxttf.h. + +
    +Character rendering + font cache, generic: +
    +src/gsccode.h, +src/gschar.c, +src/gschar.h, +src/gscpm.h, +src/gstext.c, +src/gstext.h, +src/gxbcache.c, +src/gxbcache.h, +src/gxccache.c, +src/gxccman.c, +src/gxchar.c, +src/gxchar.h, +src/gxfcache.h, +src/gxtext.h. + +
    +Character rendering, specific FontTypes: +
    +src/gschar0.c, +src/gscrypt1.c, +src/gscrypt1.h, +src/gstype1.c, +src/gstype1.h, +src/gstype2.c, +src/gstype42.c, +src/gxchrout.c, +src/gxchrout.h, +src/gxhint1.c, +src/gxhint2.c, +src/gxhint3.c, +src/gxop1.h, +src/gxtype1.c, +src/gxtype1.h. + +
    + +

    Images

    + +
    + +
    +Buffered API (mostly for PostScript interpreter): +
    +src/gsimage.c, +src/gsimage.h. + +
    +Generic support: +
    +src/gsiparam.h, +src/gxiclass.h, +src/gximage.c, +src/gximage.h, +src/gxiparam.h. + +
    +Type 1 and 4 images: +
    + +
    + +
    +Setup: +
    +src/gsiparm4.h, +src/gximage1.c, +src/gximage4.c. + +
    +Rendering: +
    +src/gxi12bit.c, +src/gxicolor.c, +src/gxidata.c, +src/gxifast.c, +src/gximono.c, +src/gxino12b.c, +src/gxipixel.c, +src/gxiscale.c. + +
    + +
    +Type 2 images (Display PostScript): +
    +src/gsiparm2.h, +src/gximage2.c. + +
    +Type 3 images: +
    +src/gsipar3x.h, +src/gsiparm3.h, +src/gximag3x.c, +src/gximag3x.h, +src/gximage3.c, +src/gximage3.h. + +
    +Other: +
    +src/gsimpath.c. + +
    + +

    Paint

    + +

    +Ghostscript uses 4 internal representations of color. We list them here in +the order in which they occur in the rendering pipeline. + +

      + +
    1. Clients of the graphics library normally specify colors using the +client color structure (gs_client_color, defined in +src/gsccolor.h), consisting of one or more +numeric values and/or a pointer to a Pattern instance. This corresponds +directly to the values that would be passed to the PostScript +setcolor operator: one or more (floating-point) numeric +components and/or a Pattern. Client colors are interpreted relative to a +color space (gs_color_space, defined in src/gscspace.h and src/gxcspace.h, with specific color spaces +defined in other files). Client colors do not explicitly reference the +color space in which they are are interpreted: setcolor uses +the color space in the graphics state, while images and shadings explicitly +specify the color space to be used. + +
    2. For ordinary non-Pattern colors, the first step in color rendering +reduces a client color to a concrete color -- a set of values in a +color space that corresponds to the device's color model (except for +possible conversions between DeviceGray, DeviceRGB, and DeviceCMYK), +together with an identification of the associated color space. (The +confusion here between color spaces and color models will have to be cleaned +up when we implement native Separation/DeviceN colors.) Concrete colors are +like the numeric values in a client color, except that they are represented +by arrays of frac values (defined in src/gxfrac.h) rather than floats. The procedure +for this step is the virtual concretize_color and +concrete_space procedures in the (original) color space. +This step reduces Indexed colors, CIEBased colors, and Separation and +DeviceN colors that use the alternate space. + +
    3. The final step requires mapping a concrete color to the device's color +model, done by procedures in src/gxcmap.c. +These procedures combine the following three conceptual sub-steps: + +
        + +
      • A possible mapping between Device color spaces, possibly involving black +generation and undercolor removal. The non-trivial cases are implemented in +src/gxdcconv.c. + +
      • Application of the transfer function(s) (done in-line). + +
      • Halftoning if necessary: see below. + +
      + +The result is called (inappropriately) a device color +(gx_device_color, defined in src/gsdcolor.h and src/gxdcolor.h). For ordinary non-Pattern +colors, a device color is either a pure color, or a halftone. The device +and color model associated with a device color are implicit. The procedure +for this step is the virtual remap_concrete_color procedure +in the color space. + +
    4. The pure colors that underlie a device color are opaque pixel +values defined by the device (misnamed gx_color_index, +defined in src/gscindex.h). The device with +which they are associated is implicit. Although the format and +interpretation of a pixel value are known only to the device, the device's +color model and color representation capabilities are public, defined by a +gx_color_info structure stored in the device (defined in src/gxdevcli.h). Virtual procedures of the +device driver map between pixel values and RGB or CMYK. (This area is +untidy and will need to be cleaned up when we implement native +Separation/DeviceN colors.) + +
    + +

    +Steps 2 and 3 are normally combined into a single step for efficiency, as +the remap_color virtual procedure in a color space. + +

    +Using a device color to actually paint pixels requires a further step called +color loading, implemented by the load virtual +procedure in the device color. This does nothing for pure colors, but loads +the caches for halftones and Patterns. + +

    +All of the above steps -- concretizing, mapping to a device color, and color +loading -- are done as late as possible, normally not until the color is +actually needed for painting. + +

    +All painting operations (fill, stroke, imagemask/show) eventually call a +virtual procedure in the device color, either fill_rectangle +or fill_mask to actually paint pixels. For rectangle fills, +pure colors call the device's fill_rectangle procedure; +halftones and tiled Patterns call the device's +tile_rectangle; shaded Patterns, and painting operations +that involve a RasterOp, do something more complicated. + +

    + +
    +Color specification: +
    +src/gsccolor.h, +src/gscolor.c, +src/gscolor.h, +src/gscolor1.c, +src/gscolor1.h, +src/gscolor2.c, +src/gscolor2.h, +src/gscolor3.c, +src/gscolor3.h, +src/gshsb.c, +src/gshsb.h, +src/gxcolor2.h, +src/gxcvalue.h. + +
    +Color spaces: +
    +src/gscdevn.c, +src/gscdevn.h, +src/gscie.c, +src/gscie.h, +src/gscpixel.c, +src/gscpixel.h, +src/gscscie.c, +src/gscsepnm.h, +src/gscsepr.c, +src/gscsepr.h, +src/gscspace.c, +src/gscspace.h, +src/gscssub.c, +src/gscssub.h, +src/gxcdevn.h, +src/gxcie.h, +src/gxcspace.h. + +
    +Color mapping: +
    +src/gsciemap.c, +src/gscindex.h, +src/gscrd.c, +src/gscrd.h, +src/gscrdp.c, +src/gscrdp.h, +src/gscsel.h, +src/gsdcolor.h, +src/gxcindex.h, +src/gxcmap.c, +src/gxcmap.h, +src/gxctable.c, +src/gxctable.h, +src/gxdcconv.c, +src/gxdcconv.h, +src/gxdcolor.c, +src/gxdcolor.h, +src/gxdither.c, +src/gxdither.h, +src/gxfmap.h, +src/gxlum.h, +src/gxtmap.h. + +

    +ICC profiles are in some ways a special case of color mapping, but are +not standard in PostScript. + +

    +Color mapping: +
    +src/gsicc.c, +src/gsicc.h, + +
    + +

    +Ghostscript represents halftones internally by "whitening orders" -- +essentially, arrays of arrays of bit coordinates within a halftone cell, +specifying which bits are inverted to get from halftone level K to level +K+1. The code does support all of the PostScript halftone types, but they +are all ultimately reduced to whitening orders. + +

    +Threshold arrays, the more conventional representation of halftones, can be +mapped to whitening orders straightforwardly; however, whitening orders can +represent non-monotonic halftones (halftones where the bits turned on for +level K+1 don't necessarily include all the bits turned on for level K), +while threshold arrays cannot. On the other hand, threshold arrays allow +rapid conversion of images (using a threshold comparison for each pixel) +with no additional space, while whitening orders do not: they require +storing the rendered halftone cell for each possible level as a bitmap. + +

    +Ghostscript uses two distinct types of rendered halftones -- that is, the +bitmap(s) that represent a particular level. + +

      + +
    • Binary halftones. The rendered halftone is a single bit plane; each bit +selects one of two pure colors. These are fast but limited: they are used +for monochrome output devices, or for color devices in those cases where +only two distinct colors are involved in a halftone (e.g., a pure cyan shade +on a CMYK device). The device color for a binary halftone stores a pointer +to the halftone bitmap, and the two pure colors. + +
    • Multi-plane halftones. Internally, each plane is rendered individually. +Since there isn't enough room to store all 2^N pure colors, multi-plane +halftones only store the scaled values for the individual components; the +halftone renderer maps these to the pure colors on the fly, then combines +the planes to assemble an N-bit index into the list of colors for each +pixel, and stores the color into the fully rendered halftone. + +
    + +

    +The halftone level for rendering a color is computed in src/gxdither.c; the actual halftone mask or +tile is computed either in src/gxcht.c (for +multi-plane halftones), or in src/gxht.c and src/gxhtbit.c (for binary halftones). + +

    + +
    +Halftoning: +
    +src/gsht.c, +src/gsht.h, +src/gsht1.c, +src/gsht1.h, +src/gshtscr.c, +src/gshtx.c, +src/gshtx.h, +src/gxcht.c, +src/gxdht.h, +src/gxdhtres.h, +src/gxht.c, +src/gxht.h, +src/gxhtbit.c, +src/gxhttile.h, +src/gxhttype.h, +src/gzht.h. + +
    + +

    +Pattern colors (tiled patterns and shadings) each use a slightly different +approach from solid colors. + +

    +The device color for a tiled (PatternType 1) pattern contains a pointer to a +pattern instance, plus (for uncolored patterns) the device color to be +masked. The pattern instance includes a procedure that actually paints the +pattern if the pattern is not in the cache. For the PostScript interpreter, +this procedure returns an e_RemapColor exception code: this +eventually causes the interpreter to run the pattern's PaintProc, loading +the rendering into the cache, and then re-execute the original drawing +operator. + +

    + +
    +Patterns: +
    +src/gspcolor.c, +src/gspcolor.h, +src/gsptype1.c, +src/gsptype1.h, +src/gxp1fill.c, +src/gxp1impl.h, +src/gxpcache.h, +src/gxpcmap.c, +src/gxpcolor.h. + +
    + +

    +The device color for a shading (PatternType 2) pattern also contains a +pointer to a pattern instance. Shadings are not cached: painting with a +shading runs the shading algorithm every time. + +

    + +
    +Shading: +
    +src/gsptype2.c, +src/gsptype2.h, +src/gsshade.c, +src/gsshade.h, +src/gxshade.c, +src/gxshade.h, +src/gxshade1.c, +src/gxshade4.c, +src/gxshade4.h, +src/gxshade6.c. + +
    + +

    +In addition to the PostScript graphics model, Ghostscript supports RasterOp, +a weak form of alpha channel, and eventually the full PDF 1.4 transparency +model. The implemention of these facilities is quite slipshod and +scattered: only RasterOp is really implemented fully. There is a general +compositing architecture, but it is hardly used at all, and in particular is +not used for RasterOp. ****** TO BE COMPLETED ****** + +

    + +
    +Compositing architecture: +
    +src/gscompt.h, +src/gxcomp.h. + +
    +RasterOp: +
    +src/gdevdrop.c, +src/gdevrops.c, +src/gsnorop.c, +src/gsrop.c, +src/gsrop.h, +src/gsropc.c, +src/gsropc.h, +src/gsropt.h, +src/gsroptab.c, +src/gxdevrop.h, +src/gxropc.h. + +
    +Alpha channel and compositing: +
    +src/gsalpha.c, +src/gsalpha.h, +src/gsalphac.c, +src/gsalphac.h, +src/gsdpnext.h, +src/gxalpha.h. + +
    +Advanced transparency: +
    +src/gstparam.h, +src/gstrans.c, +src/gstrans.h, +src/gxblend.c, +src/gxblend.h, +src/gdevp14.c. +src/gdevp14.h. +src/gdevpnga.c. + +
    + +

    Clipping

    + +

    +The Ghostscript graphics library implements clipping by inserting a clipping +device in the device pipeline. The clipping device modifies all drawing +operations to confine them to the clipping region. + +

    +The library supports three different kinds of clipping: + +

    + +
    +Region/path clipping +
    +This corresponds to the PostScript concept of a clipping path. The clipping +region is specified either by a list of rectangles (subject to the +constraints documented in src/gxcpath.h), or +by a path that is converted to such a list of rectangles. + +
    +Stationary mask clipping +
    +This corresponds to the mask operand of a PostScript ImageType 3 image. The +clipping region is specified by a bitmap and an (X,Y) offset in the +coordinate space. + +
    +Tiled mask clipping +
    +This corresponds to the region painted by a PostScript Pattern, for the case +where the Pattern does not completely cover its bounding box but the +combined transformation matrix has no skew or non-orthogonal rotation (i.e., +XStep and YStep map respectively to (X,0) and (0,Y) or vice versa). The +clipping region is specified by a bitmap and an (X,Y) offset in the +coordinate space, and is replicated indefinitely in both X and Y. + +
    + +

    +Note that simply scan-converting a clipping path in the usual way does not +produce a succession of rectangles that can simply be stored as the list for +region-based clipping: in general, the rectangles do not satisfy the +constraint for rectangle lists specified in src/gxcpath.h, since they may overlap in X, Y, +or both. A non-trivial "clipping list accumulator" device is needed to +produce a rectangle list that does satisfy the constraint. + +

    + +
    +Clipping support: +
    +src/gxclip.c, +src/gxclip.h. + +
    +Region/path clipping: +
    +src/gxcpath.c, +src/gxcpath.h, +src/gzcpath.h. + +
    +Clipping list accumulator: +
    +src/gxacpath.c, +src/gzacpath.h. + +
    +Mask clipping support: +
    +src/gxmclip.c, +src/gxmclip.h. + +
    +Stationary mask clipping: +
    +src/gxclipm.c, +src/gxclipm.h. + +
    +Tiled mask clipping: +
    +src/gxclip2.c, +src/gxclip2.h. + +
    + +

    Other graphics

    + +
    + +
    +Miscellaneous graphics state: +
    +src/gsclipsr.c, +src/gsclipsr.h, +src/gsdps.c, +src/gsdps.h, +src/gsdps1.c, +src/gsistate.c, +src/gsline.c, +src/gsline.h, +src/gslparam.h, +src/gsstate.c, +src/gsstate.h, +src/gstrap.c, +src/gstrap.h, +src/gxclipsr.h, +src/gxistate.h, +src/gxline.h, +src/gxstate.h, +src/gzline.h, +src/gzstate.h. + +
    + +

    Driver support

    + +
    + +
    +Generic driver support: +
    +src/gdevdcrd.c, +src/gdevdcrd.h, +src/gdevemap.c, +src/gsdevice.c, +src/gsdevice.h, +src/gsdparam.c, +src/gsxfont.h, +src/gxdevbuf.h, +src/gxdevcli.h, +src/gxdevice.h, +src/gxrplane.h, +src/gxxfont.h. + +
    +Accessing rendered bits: +
    +src/gdevdbit.c, +src/gdevdgbr.c, +src/gxbitfmt.h, +src/gxgetbit.h. + +
    +"Printer" driver support: +
    +src/gdevmeds.c, +src/gdevmeds.h, +src/gdevppla.c, +src/gdevppla.h, +src/gdevprn.c, +src/gdevprn.h, +src/gdevprna.c, +src/gdevprna.h, +src/gxband.h, +src/gxpageq.c, +src/gxpageq.h. + +
    +High-level device support: +
    +src/gdevvec.c, +src/gdevvec.h. + +
    +Banding: +
    +src/gxclbits.c, +src/gxcldev.h, +src/gxclfile.c, +src/gxclimag.c, +src/gxclio.h, +src/gxclist.c, +src/gxclist.h, +src/gxcllzw.c, +src/gxclmem.c, +src/gxclmem.h, +src/gxclpage.c, +src/gxclpage.h, +src/gxclpath.c, +src/gxclpath.h, +src/gxclrast.c, +src/gxclread.c, +src/gxclrect.c, +src/gxclutil.c, +src/gxclzlib.c. + +
    + +

    Device drivers

    + +

    +See doc/Drivers.htm for extensive documentation on +the interface between the core code and drivers. + +

    +The driver API includes high-level (path / image / text), mid-level +(polygon), and low-level (rectangle / raster) operations. Most devices +implement only the low-level operations, and let generic code break down the +high-level operations. However, some devices produce high-level output, and +therefore must implement the high-level operations. + +

    Internal devices

    + +

    +There are a number of "devices" that serve internal purposes. Some of these +are meant to be real rendering targets; others are intended for use in +device pipelines. The rendering targets are: + +

    + +
    +Memory devices, depth-independent: +
    +src/gdevmem.c, +src/gdevmem.h, +src/gdevmpla.c, +src/gdevmpla.h, +src/gdevmrop.h, +src/gsdevmem.c, +src/gxdevmem.h. + +
    +Memory devices, specific depths: +
    +src/gdevm1.c, +src/gdevm2.c, +src/gdevm4.c, +src/gdevm8.c, +src/gdevm16.c, +src/gdevm24.c, +src/gdevm32.c, +src/gdevmr1.c, +src/gdevmr2n.c, +src/gdevmr8n.c. + +
    +Alpha-related devices: +
    +src/gdevabuf.c, +src/gdevalph.c. + +
    +Other devices: +
    +src/gdevdflt.c, +src/gdevhit.c, +src/gdevht.c, +src/gdevht.h, +src/gdevmrun.c, +src/gdevmrun.h, +src/gdevplnx.c, +src/gdevplnx.h, + +
    + +

    +The forwarding devices meant for use in pipelines are: + +

    + +
    +The bounding box device: +
    +src/gdevbbox.h, +src/gdevbbox.c. + +
    +Clipping devices: +
    +See under Clipping above. + +
    +Device filter stack: +
    +src/gsdfilt.c, +src/gsdfilt.h, + +
    +Other devices: +
    +src/gdevcmap.c, +src/gdevcmap.h, +src/gdevnfwd.c. + +
    + +

    PostScript and PDF writers

    + +

    +Because PostScript and PDF have the same graphics model, lexical syntax, and +stack-based execution model, the drivers that produce PostScript and PDF +output share a significant amount of support code. In the future, the +PostScript output driver should be replaced with a slightly modified version +of the PDF driver, since the latter is far more sophisticated (in +particular, it has extensive facilities for image compression and for +handling text and fonts). + +

    + +
    +Shared support: +
    + +
    +Writing fonts: +
    +src/gdevpsf.h, +src/gdevpsf1.c, +src/gdevpsf2.c, +src/gdevpsfm.c, +src/gdevpsft.c, +src/gdevpsfu.c, +src/gdevpsfx.c. + +
    +Other: +
    +src/gdevpsdf.h, +src/gdevpsdi.c, +src/gdevpsdp.c, +src/gdevpsds.c, +src/gdevpsds.h, +src/gdevpsdu.c. + +
    + +
    +PostScript output driver ([e]pswrite): +
    +src/gdevps.c, +src/gdevpsu.c, +src/gdevpsu.h. + +
    +PDF output driver (pdfwrite): +
    +
    + +
    +Substrate: +
    +src/gdevpdfo.c, +src/gdevpdfo.h, +src/gdevpdfr.c, +src/gdevpdfu.c. + +
    +Text and fonts: +
    +src/gdevpdfe.c, +src/gdevpdff.c, +src/gdevpdff.h, +src/gdevpdfs.c, +src/gdevpdft.c, +src/gdevpdfw.c. + +
    +Graphics: +
    +src/gdevpdfc.c, +src/gdevpdfd.c, +src/gdevpdfg.c, +src/gdevpdfg.h, +src/gdevpdfv.c. + +
    +Images: +
    +src/gdevpdfb.c, +src/gdevpdfi.c, +src/gdevpdfj.c. + +
    +Other: +
    +src/gdevpdf.c, +src/gdevpdfm.c, +src/gdevpdfp.c, +src/gdevpdfx.h. + +
    + +
    + +

    Other high-level devices

    + +

    +Currently, the CGM driver is raster-only. If anyone cares seriously about +CGM in the future, this driver should be upgraded to a higher level. + +

    + +
    +PCL XL output device (pxlmono, pxlcolor): +
    +src/gdevpx.c, +src/gdevpxat.h, +src/gdevpxen.h, +src/gdevpxop.h, +src/gdevpxut.c, +src/gdevpxut.h. + +
    +Other high-level devices: +
    +src/gdevtrac.c. + +
    + +

    Other maintained drivers

    + +

    +The standard Ghostscript distribution includes a collection of drivers, +mostly written by Aladdin Enterprises, that are "maintained" in the same +sense as the Ghostscript core code. + +

    + +
    +Display drivers: +
    +src/gdev8bcm.c, +src/gdev8bcm.h, +src/gdevegaa.asm, +src/gdevevga.c, +src/gdevl256.c, +src/gdevpccm.c, +src/gdevpccm.h, +src/gdevpcfb.c, +src/gdevpcfb.h, +src/gdevs3ga.c, +src/gdevsco.c, +src/gdevsvga.c, +src/gdevsvga.h, +src/gdevvglb.c. + +
    +Window system drivers: +
    + +
    + +
    +X Windows: +
    +src/gdevx.c, +src/gdevx.h, +src/gdevxalt.c, +src/gdevxcmp.c, +src/gdevxcmp.h, +src/gdevxini.c, +src/gdevxres.c, +src/gdevxxf.c. + +
    +Microsoft Windows: +
    +src/gdevmswn.c, +src/gdevmswn.h, +src/gdevmsxf.c, +src/gdevwddb.c, +src/gdevwdib.c. + +
    +OS/2 Presentation Manager: +
    +src/gdevpm.c, +src/gdevpm.h, +src/gspmdrv.c, +src/gspmdrv.h. + +
    + +
    +Raster file output drivers: +
    + +
    + +
    +Fax and TIFF: +
    +src/gdevfax.c, +src/gdevfax.h, +src/gdevtfax.c, +src/gdevtfax.h, +src/gdevtifs.c, +src/gdevtifs.h, +src/gdevtfnx.c. + +
    +(Low-level) CGM: +
    +src/gdevcgm.c, +src/gdevcgml.c, +src/gdevcgml.h, +src/gdevcgmx.h. + +
    +Other raster file formats: +
    +src/gdevbit.c, +src/gdevbmp.c, +src/gdevbmp.h, +src/gdevbmpa.c, +src/gdevbmpc.c, +src/gdevjpeg.c, +src/gdevmiff.c, +src/gdevp2up.c, +src/gdevpcx.c, +src/gdevpbm.c, +src/gdevpng.c, +src/gdevpsim.c. + +
    + +
    +Printer drivers: +
    + +
    + +
    +Operating system printer services: +
    +src/gdevos2p.c, +src/gdevwpr2.c, +src/gdevwprn.c. + +
    +H-P monochrome printers: +
    +src/gdevdljm.c, +src/gdevdljm.h, +src/gdevdjet.c, +src/gdevlj56.c. + +
    +Other printers: +
    +src/gdevatx.c. + +
    + +
    + +

    Contributed drivers

    + +

    +This list is likely to be incomplete and inaccurate: see src/contrib.mak for the real one. + +

    + +
    +Display and window system drivers: +
    +src/gdev3b1.c, +src/gdevherc.c, +src/gdevpe.c, +src/gdevsnfb.c, +src/gdevsun.c. + +
    +Raster file output drivers: +
    +src/gdevcfax.c, +src/gdevcif.c, +src/gdevdfax.c, +src/gdevifno.c, +src/gdevmgr.c, +src/gdevmgr.h, +src/gdevsgi.c, +src/gdevsgi.h, +src/gdevsunr.c. + +
    +Printer drivers: +
    +lib/bj8.rpd, +lib/cbjc600.ppd, +lib/cbjc800.ppd, +src/gdev3852.c, +src/gdev4081.c, +src/gdev4693.c, +src/gdev8510.c, +src/gdevadmp.c, +src/gdevbj10.c, +src/gdevbjc.h, +src/gdevbjcl.c, +src/gdevbjcl.h, +src/gdevccr.c, +src/gdevcdj.c, +src/gdevclj.c, +src/gdevcljc.c, +src/gdevcp50.c, +src/gdevcslw.c, +src/gdevdjtc.c, +src/gdevdm24.c, +src/gdevepsc.c, +src/gdevepsn.c, +src/gdevescp.c, +src/gdevhl7x.c, +src/gdevhpij.c, +src/gdevhpij.h, +src/gdevijs.c, +src/gdevimgn.c, +src/gdevl31s.c, +src/gdevlbp8.c, +src/gdevlp8k.c, +src/gdevlxm.c, +src/gdevn533.c, +src/gdevo182.c, +src/gdevokii.c, +src/gdevpcl.c, +src/gdevpcl.h, +src/gdevphex.c, +src/gdevpjet.c, +src/gdevsj48.c, +src/gdevsppr.c, +src/gdevstp.c, +src/gdevstc.c, +src/gdevstc.h, +src/gdevstc1.c, +src/gdevstc2.c, +src/gdevstc3.c, +src/gdevstc4.c, +src/gdevtknk.c, +src/gdevupd.c. +src/gdevhl12.c. + +
    + +

    PostScript interpreter

    + +

    +The PostScript interpreter is conceptually simple: in fact, an interpreter +that could execute "3 4 add =" and print "7" was running 3 weeks after the +first line of Ghostscript code was written. However, a number of +considerations make the code large and complex. + +

    +The interpreter is designed to run in environments with very limited memory. +The main consequence of this is that it cannot allocate its stacks +(dictionary, execution, operand) as ordinary arrays, since the +user-specified stack size limit may be very large. Instead, it allocates +them as a linked list of blocks. See below for more details. + +

    +The interpreter must never cause a C runtime error that it cannot trap. +Unfortunately, C implementations almost never provide the ability to trap +stack overflow. In order to put a fixed bound on the C stack size, the +interpreter never implements PostScript recursion by C recursion. This +means that any C code that logically needs to call the interpreter must +instead push a continuation (including all necessary state information) on +the PostScript execution stack, followed by the PostScript object to be +executed, and then return to the interpreter. Unfortunately, since +PostScript Level 2 introduces streams whose data source can be a PostScript +procedure, any code that reads or writes stream data must be prepared to +suspend itself, storing all necessary state in a continuation. There are +some places where this is extremely awkward, such as the scanner/parser. + +

    +The use of continuations affects many places in the interpreter, and even +some places in the graphics library. For example, when processing an image, +one may need to call a PostScript procedure as part of mapping a CIE color +to a device color. Ghostscript uses a variety of dodges to handle this: for +example, in the case of CIE color mapping, all of the PostScript procedures +are pre-sampled and the results cached. The Adobe implementation limits +this kind of recursion to a fixed number of levels (5?): this would be +another acceptable approach, but at this point it would require far more +code restructuring than it would be worth. + +

    +A significant amount of the PostScript language implementation is in fact +written in PostScript. Writing in PostScript leverages the C code for +multi-threading, garbage collection, error handling, continuations for +streams, etc., etc.; also, we have found PostScript in general more concise +and easier to debug than C, mostly because of memory management issues. So +given the choice, we tended to implement a feature in PostScript if it +worked primarily with PostScript data structures, wasn't heavily used +(example: font loading), or if it interacted with the stream or other +callback machinery (examples: ReusableFileDecode streams, resourceforall). +Often we would add non-standard PostScript operators for functions that had +to run faster or that did more C-like things, such as the media matching +algorithm for setpagedevice. + + + +

    Main program

    + +

    +The main program of the interpreter is normally invoked from the command +line, but it has an API as well. In fact, it has two APIs: one that +recognizes the existence of multiple "interpreter instances" (although it +currently provides a default instance, which almost all clients use), and a +completely different one designed for Windows DLLs. These should be unified +as soon as possible, since there are two steadily growing incompatible +bodies of client code. + +

    + +
    +Files: +
    +src/gs.c, +src/gserver.c, +src/iccinit0.c, +src/iinit.c, +src/iinit.h, +src/imain.c, +src/imain.h, +src/imainarg.c, +src/imainarg.h, +src/iminst.h, +src/main.h. + +
    + +

    Data structures

    + +

    +The main data structures visible to the PostScript programmers are arrays, +contexts, dictionaries, names, and stacks. + +

    +Arrays have no unusual properties. See under Refs below +for more information about how array elements are stored. + +

    +Contexts are used to hold the interpreter state even in configurations that +don't include the Display PostScript multiple context extension. Context +switching is implemented by a complex cooperation of C and PostScript code. + +

    +Dictionaries have two special properties worth noting: + +

      + +
    • They use an optimized storage representation if all the keys are names, +which is almost always the case. + +
    • They interact with a caching scheme used to accelerate name lookup in +the interpreter. + +
    + +

    +Names are allocated in blocks. The characters and hash chains are stored +separately from the lookup cache information, so that in the future, most of +the former can be compiled into the executable and shared or put in ROM. +(This is not actually done yet.) + +

    +As mentioned above, each stack is allocated as a linked list of blocks. +However, for reasonable performance, operators must normally be able to +access their operands and produce their results using indexing rather than +an access procedure. This is implemented by ensuring that all the operands +of an operator are in the topmost block of the stack, using guard entries +that cause an internal error if the condition isn't met. See src/iostack.h for more details. + +

    + +
    +General data structures: +
    + +
    + +
    +Contexts: +
    +src/icontext.c, +src/icontext.h, +src/icstate.h. + +
    +Dictionaries: +
    +src/iddict.h, +src/idict.h, +src/idict.c, +src/idictdef.h. + +
    +Names: +
    +src/iname.c, +src/iname.h, +src/inamedef.h, +src/inameidx.h, +src/inames.h, +src/inamestr.h. + +
    +Stacks: +
    +src/isdata.h, +src/istack.c, +src/istack.h, +src/istkparm.h. + +
    + +
    +Specific stacks: +
    + +
    + +
    +Dictionary stack: +
    +src/dstack.h, +src/estack.h, +src/iddstack.h, +src/idsdata.h, +src/idstack.c, +src/idstack.h. + +
    +Execution stack: +
    +src/iesdata.h, +src/iestack.h. + +
    +Operand stack: +
    +src/iosdata.h, +src/iostack.h, +src/ostack.h. + +
    + +
    + +

    Interpreter loop

    + +
    + +
    +Files: +
    +src/interp.c, +src/interp.h. + +
    + +

    Scanning/parsing

    + +

    +PostScript parsing consists essentially of token scanning, and is simple in +principle. The scanner is complex because it must be able to suspend its +operation at any time (i.e., between any two input characters) to allow an +interpreter callout, if its input is coming from a procedure-based stream +and the procedure must be called to provide more input data. + +

    + +
    +Main scanner: +
    +src/iscan.c, +src/iscan.h, +src/iscannum.c, +src/iscannum.h, +src/scanchar.h, +src/scantab.c. + +
    +Binary tokens: +
    +src/btoken.h, +src/ibnum.c, +src/ibnum.h, +src/inobtokn.c, +src/iscanbin.c, +src/iscanbin.h. + +
    +DSC parsing: +
    +src/dscparse.c, +src/dscparse.h. + +
    + +

    Standard operators

    + +
    + +
    +Non-output-related: +
    + +
    + +
    +Filters: +
    +src/ifilter.h, +src/ifilter2.h, +src/ifrpred.h, +src/ifwpred.h, +src/istream.h, +src/zfbcp.c, +src/zfdctd.c, +src/zfdcte.c, +src/zfdecode.c, +src/zfilter.c, +src/zfilter2.c, +src/zfilterx.c, +src/zfmd5.c, +src/zfarc4.c, +src/zfproc.c, +src/zfrsd.c, +src/zfzlib.c. + +
    +File and stream I/O: +
    +src/files.h, +src/itoken.h, +src/zbseq.c, +src/zdscpars.c, +src/zfile.c, +src/zfileio.c, +src/ztoken.c. + +
    +Data structures: +
    +src/zarray.c, +src/zdict.c, +src/zgeneric.c, +src/zpacked.c, +src/zstring.c. + +
    +Functions: +
    +src/ifunc.h, +src/zfunc.c, +src/zfunc0.c, +src/zfunc3.c, +src/zfunc4.c, + +
    +Other: +
    +src/ivmem2.h, +src/zarith.c, +src/zcontext.c, +src/zcontrol.c, +src/zmath.c, +src/zmatrix.c, +src/zmisc.c, +src/zmisc1.c, +src/zmisc2.c, +src/zmisc3.c, +src/zrelbit.c, +src/zstack.c, +src/ztype.c, +src/zusparam.c, +src/zvmem.c, +src/zvmem2.c. + +
    + +
    +Output-related: +
    + +
    + +
    +Device management: +
    +src/zdevcal.c, +src/zdevice.c, +src/zdevice2.c, +src/ziodev.c, +src/ziodev2.c, +src/ziodevs.c, +src/ziodevsc.c, +src/zmedia2.c, +src/zdfilter.c. + +
    +Fonts and text: +
    +src/bfont.h, +src/ccfont.h, +src/iccfont.c, +src/icfontab.c, +src/ichar.h, +src/ichar1.h, +src/icharout.h, +src/icid.h, +src/ifcid.h, +src/ifont.h, +src/ifont1.h, +src/ifont2.h, +src/ifont42.h, +src/zbfont.c, +src/zcfont.c, +src/zchar.c, +src/zchar1.c, +src/zchar2.c, +src/zchar32.c, +src/zchar42.c, +src/zcharout.c, +src/zcharx.c, +src/zcid.c, +src/zfcid.c, +src/zfcid0.c, +src/zfcid1.c, +src/zfcmap.c, +src/zfont.c, +src/zfont0.c, +src/zfont1.c, +src/zfont2.c, +src/zfont32.c, +src/zfont42.c. + +
    +Color, pattern, and halftone: +
    +src/icie.h, +src/icolor.h, +src/icremap.h, +src/icsmap.h, +src/iht.h, +src/ipcolor.h, +src/zcie.c, +src/zcolor.c, +src/zcolor1.c, +src/zcolor2.c, +src/zcrd.c, +src/zcsdevn.c, +src/zcsindex.c, +src/zcspixel.c, +src/zcssepr.c, +src/zicc.c, +src/zhsb.c, +src/zht.c, +src/zht1.c, +src/zht2.c, +src/zpcolor.c, +src/zshade.c, +src/ztrans.c. + +
    +Images: +
    +src/iimage.h, +src/iimage2.h, +src/zimage.c, +src/zimage2.c, +src/zimage3.c. + +
    +Other graphics: +
    +src/igstate.h, +src/zdpnext.c, +src/zdps.c, +src/zdps1.c, +src/zgstate.c, +src/zpaint.c, +src/zpath.c, +src/zpath1.c, +src/zrop.c, +src/ztrap.c, +src/zupath.c. + +
    + +
    +Operator support: +
    +src/oparc.h, +src/opcheck.h, +src/opdef.h, +src/oper.h, +src/opextern.h. + +
    + +

    Non-standard operators

    + +

    +The interpreter includes many non-standard operators. Most of these provide +some part of the function of a standard operator, so that the standard +operator itself can be implemented in PostScript: these are not of interest +to users, and their function is usually obvious from the way they are used. +However, some non-standard operators provide access to additional, +non-standard facilities that users might want to know about, such as +transparency, RasterOp, and in-memory rendering. These are documented at Language.htm#Additional_operators. + +

    +We don't document the complete set of non-standard operators here, because +the set changes frequently. However, all non-standard operators are +supposed to have names that begin with '.', so you can find them all by +executing the following (Unix) command: + +

    +grep '{".[.]' src/[zi]*.c
    +
    + +

    +In addition to individual non-standard operators implemented in the same +files as standard ones, there are several independent optional packages of +non-standard operators. As with other non-standard operators, the names of +all the operators in these packages begin with '.'. We list those packages +here. + +

    + +
    +src/zdosio.c +
    +Provides access to PC hardware I/O through MS-DOS system calls. Probably no +longer useful. + +
    +src/zdouble.c +
    +Provides "double" floating point arithmetic, using 8-byte strings to hold +values. Developed under a contract; probably used only by the group that +funded the development. + +
    +src/zsysvm.c +
    +Provides operators for allocating objects in specific VM spaces, +disregarding the current VM mode. + +
    +src/zccube.c +
    +Provides an operator for building a color cube from an arbitrary tint +transform, so that tint transforms can be applied from inside the +graphics library without calling back to the PostScript interpreter. + +
    + +

    Interpreter support

    + +

    +Memory management (refs, GC, save/restore) -- see below. + +

    + +
    +Miscellaneous support: +
    +src/errors.h, +src/ghost.h, +src/iconf.c, +src/iconf.h, +src/idparam.c, +src/idparam.h, +src/ilevel.h, +src/inouparm.c, +src/iparam.c, +src/iparam.h, +src/iparray.h, +src/iutil.c, +src/iutil.h, +src/iutil2.c, +src/iutil2.h, +src/iutilasm.asm. + +
    + +

    PostScript code

    + +
    + +
    +Initialization and language support: +
    + +
    + +
    +All configurations: +
    +lib/gs_init.ps, +lib/gs_statd.ps. + +
    +Level 2: +
    +lib/gs_btokn.ps, +lib/gs_dps1.ps, +lib/gs_dps2.ps, +lib/gs_lev2.ps, +lib/gs_res.ps, +lib/gs_setpd.ps. + +
    +LanguageLevel 3: +
    +lib/gs_frsd.ps, +lib/gs_ll3.ps, +lib/gs_trap.ps. + +
    +Display PostScript: +
    +lib/gs_dpnxt.ps, +lib/gs_dps.ps. + +
    +ICC color profiles: +
    +lib/gs_icc.ps. + +
    + +
    +Font loading and support: +
    + +
    + +
    +Font name mapping: +
    +lib/Fontmap, +lib/Fontmap.ATB, +lib/Fontmap.ATM, +lib/Fontmap.GS, +lib/Fontmap.OS2, +lib/Fontmap.OSF, +lib/Fontmap.SGI, +lib/Fontmap.Sol, +lib/Fontmap.Ult, +lib/Fontmap.VMS. + +
    +CIDFont name mapping: +
    +lib/CIDFnmap, +lib/CIDFnmap.ARP, +lib/CIDFnmap.Bae, +lib/CIDFnmap.CJK, +lib/CIDFnmap.Koc, +lib/CIDFnmap.Ore, +lib/CIDFnmap.Sol, +lib/CIDFnmap.Win, +lib/CIDFnmap.b5, +lib/CIDFnmap.gb, +lib/CIDFnmap.ksx, +lib/CIDFnmap.sj. + +
    +Generic: +
    +lib/gs_ccfnt.ps, +lib/gs_fonts.ps. + +
    +Type 1 and CFF: +
    +lib/gs_cff.ps, +lib/gs_diskf.ps, +lib/gs_type1.ps. + +
    +TrueType: +
    +lib/gs_ttf.ps, +lib/gs_typ42.ps. + +
    +CID-keyed: +
    +lib/gs_cidcm.ps, +lib/gs_cidfn.ps, +lib/gs_cmap.ps. + +
    +Other: +
    +lib/gs_kanji.ps, +lib/gs_pfile.ps, +lib/gs_typ32.ps. + +
    + +
    +Encodings: +
    + +
    + +
    +Adobe-specified: +
    +lib/gs_ce_e.ps, +lib/gs_dbt_e.ps, +lib/gs_il1_e.ps, +lib/gs_mex_e.ps, +lib/gs_mro_e.ps, +lib/gs_pdf_e.ps, +lib/gs_std_e.ps, +lib/gs_sym_e.ps, +lib/gs_wan_e.ps. + +
    +Additional: +
    +lib/gs_il2_e.ps, +lib/gs_ksb_e.ps, +lib/gs_wl1_e.ps, +lib/gs_wl2_e.ps, +lib/gs_wl5_e.ps. + +
    +Pseudo-encodings for internal use: +
    +lib/gs_css_e.ps, +lib/gs_lgo_e.ps, +lib/gs_lgx_e.ps, +lib/gs_mgl_e.ps. + +
    + +
    +Miscellaneous: +
    + +
    + +
    +Other support: +
    +lib/gs_agl.ps, +lib/gs_dscp.ps, +lib/gs_epsf.ps, +lib/gs_pdfwr.ps, +lib/gs_rdlin.ps. + +
    +X Windows icon bitmaps: +
    +lib/gs_l.xbm, +lib/gs_l.xpm, +lib/gs_l_m.xbm, +lib/gs_m.xbm, +lib/gs_m.xpm, +lib/gs_m_m.xbm, +lib/gs_s.xbm, +lib/gs_s.xpm, +lib/gs_s_m.xbm, +lib/gs_t.xbm, +lib/gs_t.xpm, +lib/gs_t_m.xbm. + +
    +Not currently used: +
    +lib/gs_cmdl.ps, +lib/gs_fform.ps, +lib/gs_l2img.ps. + +
    + +
    + +

    PDF interpreter

    + +

    +Ghostscript's PDF interpreter is written entirely in PostScript, because its +data structures are the same as PostScript's, and it is much more convenient +to manipulate PostScript-like data structures in PostScript than in C. +There is definitely a performance cost, but apparently not a substantial +one: we considered moving the main interpreter loop (read a token using +slightly different syntax than PostScript, push it on the stack if literal, +look it up in a special dictionary for execution if not) into C, but we did +some profiling and discovered that this wasn't accounting for enough of the +time to be worthwhile. + +

    +Until recently, there was essentially no C code specifically for the purpose +of supporting PDF interpretation. The one major exception is the PDF 1.4 +transparency features, which we (but not Adobe) have made available to +PostScript code. + +

    +In addition to patching the run operator to detect PDF +files, the interpreter provides some procedures in lib/pdf_main.ps that are meant to be called +from applications such as previewers. + +

    + +
    +Files: +
    +lib/pdf_base.ps, +lib/pdf_draw.ps, +lib/pdf_font.ps, +lib/pdf_main.ps, +lib/pdf_ops.ps, +lib/pdf_sec.ps. + +
    + +

    Build process

    + +

    Makefile structure

    + +

    +Ghostscript's makefiles embody a number of design decisions and assumptions +that may not be obvious from a casual reading of the code. + +

      + +
    • All files are stored in subdirectories. The names of all subdirectories +used in the build process are defined in the top-level makefiles for the +various platforms: there are no "hard wired" directory names in any makefile +rule. Subdirectory names in the makefiles are relative to the directory +that is current at build time: normally this directory is the parent of the +various subdirectories, and holds only a makefile, which in +turn simply references the real top-level makefile in the source +subdirectory. + +
    • All compiler and linker switches are likewise defined by macros, again +preferably in the top-level platform makefile. + +
    • There is an absolute distinction between "source-like" subdirectories, +which are read-only during the build process, and "object-like" +subdirectories, all of whose contents are generated by the build process and +which can be emptied (rm *) at any time with no bad +effects. The source subdirectories are defined by macros named +xxxSRCDIR. + +
    • Object subdirectories may distinguish further between those that hold +the results of the build process that are needed at run time (i.e., that +should be included in a run-time distribution), defined by +BINDIR, and those that are not needed at run time, defined +by xxxGENDIR and xxxOBJDIR. (The +distinction between these is historical and probably no longer relevant.) + +
    • There may be multiple object subdirectories for different build +configurations. On Unix, the obj and bin +directories are used for normal production builds, the +debugobj directory for debugging builds, and the +pgobj directory for profiling builds; other platforms may +use different conventions. The Unix makefiles support targets named +debug and pg for debugging and profiling +builds respectively; other platforms generally do not. + +
    • Makefiles will be maintained by hand. This requires editing the +following makefile elements whenever the relevant source files changes: + +
        + +
      • Every header (.h) file must have a corresponding macro definition in a +makefile. If abc.h #includes def.h and +xyz.h, the definition must have the form + +
        +xyz_h=$(xxxSRCD)xyz.h $(def_h) $(xyz_h)
        +
        + +where xxxSRCD is the macro defining the relevant source +directory (including a trailing '/'). Note that the '.' in the file name +has been replaced by an underscore. Note also that the definition must +follow all definitions it references, since some make +programs expand macros in definitions at the time of definition rather than +at the time of use. + +
      • Every .c file must have a corresponding rule in a makefile. If +abc.c #includes def.h and +lmn.h, the rule must have approximately the form + +
        +$(xxxOBJD)abc.$(OBJ) : $(xxxSRCD)abc.c $(def_h) $(lmn_h)
        +    $(xxCC) $(xxO_)abc.$(OBJ) $(C_) $(xxxSRCD)abc.c
        +
        + +where xxxSRCD is as before; xxxOBJD is the +relevant object directory; xxCC defines the name of the C +compiler plus the relevant compilation switches; and xxO_ +and C_ are macros used to bridge syntactic differences +between different make programs. + +
      + +
    + +

    +The requirement to keep makefiles up to date by hand has been controversial. +Two alternatives are generally proposed. + +

      + +
    • Programs like makedeps, which generate build rules +automatically from the #include lists in C files. We have found such +programs useless: they "wire in" specific, concrete directory names, not +only for our own code but even for the system header files; they have to be +run manually whenever code files are added, renamed, or deleted, or whenever +the list of #includes in any file changes; and they cannot deal with +different source files requiring different compilation switches. + +
    • MSVC-style "project" files. These are equally useless: they are not +portable across different vendors' tools -- in fact, there may not even be a +usable import/export facility to convert their data to or from text form -- +and they cannot combine configuration-independent data with +configuration-specific data. + +
    + +

    +We have seriously considered writing our own build program in Tcl or Python +that would eliminate these problems, or perhaps porting the tools developed +by Digital's Vesta research project (if we can get access to them); however, +either of these approaches would create potential portability problems of +its own, not to mention difficulties in integrating with others' build +systems. + +

    +In the meantime, to ease the pain for mortal users and developers on +Unix platforms, we have adopted the standard autoconf tool to +systematically generate an appropriate top-level makefile for the +target system. As currently implemented, its use makes no deep changes +to the Ghostscript build system, but rather generates a makefile, more +or less the same as would be achieved by starting from a +platform-specific toplevel makefile and hand-editing. The relevant +autoconf sources are in src/Makefile.in, and configure.ac. These sources are used in +the release process to create a configure +script in the toplevel directory of releases. Also, there is an autogen.sh script to automate the autoconf +process somewhat. The names and locations of these files were chosen +to be clear to those familiar with autoconf, even though they represent +a slight departure from Ghostscript tradition. + +

    +For more information about makefiles: + +

    + +

    .dev files

    + +

    +On top of the general conventions just described, Ghostscript's makefiles +add a further layer of structure in order to support an open-ended set of +fine-grained, flexible configuration options. Selecting an option (usually +called a "module") for inclusion in the build may affect the build in many +ways: + +

      + +
    • Almost always, it requires linking in some compiled code files. + +
    • It may require running some additional initialization procedures at +startup. + +
    • It may require reading in some additional PostScript files at startup. +For example, a Level 2 PostScript build requires support for PostScript +resources and for setpagedevice, which are implemented in PostScript code. + +
    • It may require adding entries to a variety of internal tables that +catalogue such things as drivers, IODevices, Function types, etc. + +
    • It may require that other particular modules be included. For example, +the "PostScript Level 2" module requires the modules for various filters, +color spaces, etc. + +
    • It may require removing some other (default) module from the +build. For example, the core (Level 1) PostScript build has a "stub" for +binary tokens, which are a Level 2 feature but are referenced by the core +scanner: a Level 2 build must remove the stub. For more information about +this, look for the string -replace in the makefiles and in +src/genconf.c. + +
    + +

    +Each module is defined in the makefiles by rules that create a file named +xxx.dev. The dependencies of the rule include all +the files that make up the module (compiled code files, PostScript files, +etc.); the body of the rule creates the .dev file by writing the description +of the module into it. A program called genconf, described +in the next section, merges all the relevant .dev files together. For +examples of .dev rules, see any of the Ghostscript makefiles. + +

    +Ultimately, a person must specify the root set of modules to include in a +build (which of course may require other modules, recursively). +Ghostscript's makefiles do this with a set of macros called +FEATURE_DEVS and DEVICE_DEVSn, defined in +each top-level makefile, but nothing in the module machinery depends on +this. + +

    Generators

    + +

    +Ghostscript's build procedure is somewhat unusual in that it compiles and +then executes some support programs during the build process. These +programs then generate data or source code that is used later on in the +build. + +

    +The most important and complex of the generator programs is +genconf. genconf merges all the .dev files +that make up the build, and creates three or more output files used in later +stages: + +

      + +
    • gconfig.h, consisting mainly of macro calls, one call +per "resource" making up the build, other than "resources" listed in the +other output files. + +
    • gconfigf.h, produced only for PostScript builds with +compiled-in fonts, consisting of one macro call per font. + +
    • A linker control file whose name varies from one platform to another, +containing the list of compiled code files to be linked. + +
    • If necessary, another linker control file, also varying between +platforms, that contains other information for the linker such as the list +of system libraries to be searched. (On Unix platforms, the two linker +control functions are combined in a single file.) + +
    + +
    + +
    +Source generators: +
    + +
    + +
    +src/genarch.c +
    +Creates a header file containing a variety of information about the hardware +and compiler that isn't provided in any standard system header file. Always +used. + +
    +src/genconf.c (also generates non-source) +
    +Constructs header files and linker control files from the collection of +options and modules that make up the build. See above. Always used. + +
    +src/genht.c +
    +Converts a PostScript halftone (in a particular constrained format) to a C +data structure that can be compiled into an executable. Only used if any +such halftones are included in the build. + +
    +src/geninit.c +
    +Converts PostScript initialization files to C data structures that can be +compiled into an executable. Only used when building a PostScript +interpreter, and only if COMPILE_INITS was set to 1 in the +makefile. + +
    + +
    +Other generators: +
    + +
    + +
    +src/echogs.c +
    +Implements a variety of shell-like functions to get around quirks, +limitations, and omissions in the shells on various platforms. Always used. + +
    +src/genconf.c (also generates source) +
    +See above. + +
    +src/gendev.c (not used) +
    +Was intended as a replacement for genconf, but was never +completed. + +
    + +
    + +

    Support

    + +

    +There are a number of programs, scripts, and configuration files that exist +only for the sake of the build process. + +

    + +
    +Files for PC environments: +
    +src/gswin.icx, +src/gswin16.icx, +src/bcc32.cfg, +src/cp.bat, +src/cp.cmd, +src/dw32c.def, +src/dwmain.rc, +src/dwmain16.def, +src/dwmain32.def, +src/dwsetup.def, +src/dwsetup.rc, +src/dwuninst.def, +src/dwuninst.rc, +src/gs16spl.def, +src/gs16spl.rc, +src/gsdll2.def, +src/gsdll2.rc, +src/gsdll32.def, +src/gsdll32.rc, +src/gsdll32w.lnk, +src/gsos2.def, +src/gsos2.icx, +src/gsos2.rc, +src/gspmdrv.def, +src/gspmdrv.icx, +src/gspmdrv.rc, +src/gswin.rc, +src/gswin32.rc, +src/gswin386.rc, +src/mv.bat, +src/mv.cmd, +src/rm.bat, +src/rm.cmd, +src/turboc.cfg. + +
    +Files for MacOS: +
    +lib/Info-macos.plist. + +
    +Files for OpenVMS: +
    +src/append_l.com, +src/copy_one.com, +src/rm_all.com, +src/rm_one.com. + +
    +Other files: +
    +src/bench.c, +src/catmake, +src/ccgs, +src/instcopy. + +
    + +

    Utilities

    + +

    +Ghostscript comes with many utilities for doing things like viewing bitmap +files and converting between file formats. Some of these are written in +PostScript, some as scripts, and some as scripts that invoke special +PostScript code. + +

    Utilities in PostScript

    + +

    +These are all documented in doc/Psfiles.htm, q.v. + +

    Utility scripts

    + +

    +Many of these scripts come in both Unix and MS-DOS (.bat +versions; some also have an OS/2 (.cmd) version. The choice +of which versions are provided is historical and irregular. These scripts +should all be documented somewhere, but currently, many of them have man +pages, a few have their own documentation in the doc directory, and some +aren't documented at all. + +

    + +
    +Script files without PC versions: +
    +lib/afmdiff.awk, +lib/dvipdf, +lib/fixmswrd.pl, +lib/lprsetup.sh, +lib/pfbtopfa, +lib/pj-gs.sh, +lib/pphs, +lib/printafm, +lib/pv.sh, +lib/sysvlp.sh, +lib/unix-lpr.sh, +lib/wftopfa. + +
    +Script files with PC versions: +
    +lib/bdftops, +lib/bdftops.bat, +lib/bdftops.cmd, +lib/eps2eps, +lib/eps2eps.bat, +lib/eps2eps.cmd, +lib/font2c, +lib/font2c.bat, +lib/font2c.cmd, +lib/gsbj, +lib/gsbj.bat, +lib/gsdj, +lib/gsdj.bat, +lib/gsdj500, +lib/gsdj500.bat, +lib/gslj, +lib/gslj.bat, +lib/gslp, +lib/gslp.bat, +lib/gsnd, +lib/gsnd.bat, +lib/pdf2dsc, +lib/pdf2dsc.bat, +lib/pdf2ps, +lib/pdf2ps.bat, +lib/pdf2ps.cmd, +lib/pdfopt, +lib/pdfopt.bat, +lib/pf2afm, +lib/pf2afm.bat, +lib/pf2afm.cmd, +lib/ps2ascii, +lib/ps2ascii.bat, +lib/ps2ascii.cmd, +lib/ps2epsi, +lib/ps2epsi.bat, +lib/ps2epsi.cmd, +lib/ps2pdf, +lib/ps2pdf.bat, +lib/ps2pdf.cmd, +lib/ps2pdf12, +lib/ps2pdf12.bat, +lib/ps2pdf12.cmd, +lib/ps2pdf13, +lib/ps2pdf13.bat, +lib/ps2pdf13.cmd, +lib/ps2pdf14, +lib/ps2pdf14.bat, +lib/ps2pdf14.cmd, +lib/ps2pdfwr, +lib/ps2pdfxx.bat, +lib/ps2ps, +lib/ps2ps.bat, +lib/ps2ps.cmd. + +
    +Script files with only PC versions: +
    +lib/gsndt.bat, +lib/gssetgs.bat, +lib/gst.bat, +lib/gstt.bat, +lib/lp386.bat, +lib/lp386r2.bat, +lib/lpgs.bat, +lib/lpr2.bat, +lib/pftogsf.bat, +lib/wmakebat.bat. + +
    + +
    + +

    Memory management

    + +

    Memory manager architecture

    + +

    +In many environments, the memory manager is a set of library facilities that +implicitly manage the entire address space in a homogenous manner. +Ghostscript's memory manager architecture has none of these properties: + +

      + +
    • Rather than a single library accessed as procedures, Ghostscript +includes multiple allocator types, each of which in turn may have multiple +instances (allocators). Allocators are 'objects' with a substantial set of +virtual functions. + +
    • Rather than managing the entire address space, each allocator manages a +storage pool, which it may or may not be able to expand or reduce by calling +on a 'parent' allocator. + +
    • Rather than a single genus of untyped storage blocks, Ghostscript's +allocators provide two genera -- type-tagged 'objects', and 'strings' -- +with substantially different properties. + +
    + +

    Objects vs strings

    + +

    +As noted above, allocators provide two different storage genera. + +

    +Objects: + +

      +
    • Are aligned in storage to satisfy the most stringent alignment +requirement imposed by the CPU or compiler; +
    • Can be referenced only by pointers to their start, not to any internal +location, unless special arrangements are made; +
    • May contain pointers to other objects, or to strings; +
    • Have an associated structure descriptor that specifies their +size (usually) and the location of any pointers contained within them. +
    + +

    +Given a pointer to an object, the allocator that allocated it must be able +to return the object's size and the pointer to its structure descriptor. +(It is up to the client to know what allocator allocated an object.) + +

    +Strings: + +

      +
    • Are not aligned in storage; +
    • Can be referenced by pointers (consisting of a starting address and a +length) to any substring, starting anywhere within the string; +
    • May not contain pointers; +
    • Do not have a structure descriptor. +
    + +

    +The object/string distinction reflects a space/capability tradeoff. The +per-object space overhead of the standard type of allocator is typically 12 +bytes; this is too much to impose on every string of a few bytes. On the +other hand, restricting object pointers to reference the start of the object +currently makes object garbage collection and compaction more +space-efficient. If we were to redesign the standard allocator, we would +probably opt for a different design in which strings were allocated within +container objects of a few hundred bytes, and pointers into the middle of +all objects were allowed. + +

    Structure descriptors

    + +

    +Every object allocated by a Ghostscript allocator has an associated +structure descriptor, which the caller provides when allocating the object. +The structure descriptor serves several purposes: + +

      +
    • Specifying the size of the object for allocation; +
    • Providing pointer-enumeration and pointer-relocation procedures for +the garbage collector; +
    • Providing an optional finalization procedure to be called when the +object is freed (either explicitly or automatically). +
    + +

    +Structure descriptors are read-only, and are normally defined statically +using one of the large set of gs_private_st_ or +gs_public_st_ macros in src/gsstruct.h. + +

    +While the structure descriptor normally specifies the size of the object, +one can also allocate an array of bytes or objects, whose size is a multiple +of the size in the descriptor. For this reason, every object stores its +size as well as a reference to its descriptor. + +

    +Because the standard Ghostscript garbage collector is conservative and can +move objects, every object allocated by a Ghostscript allocator must have an +accurate structure descriptor. If you define a new type of object +(structure) that will be allocated in storage managed by Ghostscript, you +must create an accurate descriptor for it, and use that descriptor +to allocate it. The process of creating accurate descriptors for all +structures was long and painful, and accounted for many hard-to-diagnose +bugs. + +

    +By convention, the structure descriptor for structure type +xxx_t is named st_xxx (this is preferred), +or occasionally st_xxx_t. + +

    +Note that a structure descriptor is only required for objects allocated by +the Ghostscript allocator. A structure type xxx_t does not +require a structure descriptor if instances of that type are used +only in the following ways: + +

      + +
    • Instances are allocated only on the C stack, e.g., as +xxx_t xxx1, xxx2;, or on the C heap, with +malloc or through the Ghostscript "wrapper" defined in src/gsmalloc.h. + +
    • Pointers to instances are not stored in places where the garbage +collector will try to trace the pointer. + +
    • Code never attempts to get the structure type or size of an instance +through the allocator API. + +
    + +

    +In general, structures without descriptors are problem-prone, and are +deprecated; in new code, they should only be used if the structure is +confined to a single .c file and its instances are only allocated on the C +stack. + +

    +
    +Files: +
    +src/gsstruct.h, +src/gsstype.h. +
    + +

    Garbage collection

    + +

    +The allocator architecture is designed to support compacting garbage +collection. Every object must be able to enumerate all the pointers it +contains, both for tracing and for relocation. As noted just above, the +structure descriptor provides procedures that do this. + +

    +Whether or not a particular allocator type actually provides a garbage +collector is up to the allocator: garbage collection is invoked through a +virtual procedure. In practice, however, there are only two useful garbage +collectors for Ghostscript's own allocator: + +

      +
    • The "real" garbage collector associated with the PostScript interpreter, +described below; +
    • A "non" garbage collector that only merges adjacent free blocks. +
    + +
    +
    +Files: +
    +src/gsgc.h, +src/gsnogc.c, +src/gsnogc.h. +
    + +

    Movability

    + +

    +As just noted, objects are normally movable by the garbage collector. +However, some objects must be immovable, usually because some other piece of +software must retain pointers to them. The allocator API includes +procedures for allocating both movable (default) and immovable objects. +Note, however, that even immovable objects must be traceable (have a +structure descriptor), and may be freed, by the garbage collector. + +

    Parent hierarchy

    + +

    +When an allocator needs to add memory to the pool that it manages, it +requests the memory from its parent allocator. Every allocator has +a pointer to its parent; multiple allocators may share a single parent. The +ultimate ancestor of all allocators that can expand their pool dynamically +is an allocator that calls malloc, described below. However, especially in embedded environments, an +allocator may be limited to a fixed-size pool assigned to it when it is +created. + +

    Allocator API

    + +In summary, the allocator API provides the following principal operations: + +
      +
    • Allocate and free movable (default) or immovable objects and strings. +
    • Return the structure type and size of an object. +
    • Resize (shrink or grow) movable objects and strings, preserving +the contents insofar as possible. +
    • Report the size of the managed pool, and how much of it is in use. +
    • Register and unregister root pointers for the garbage collector. +
    • Free the allocator itself. +
    • Consolidate adjacent free blocks to reduce fragmentation. +
    + +

    +For details, see src/gsmemory.h. + +

    +The allocator API also includes one special hook for the PostScript +interpreter: the concept of stable allocators. See the section on save and +restore below for details. + +

    +
    +Files: +
    +src/gsmemraw.h, +src/gsmemory.c, +src/gsmemory.h, +src/gsstruct.h, +src/gsstype.h. +
    + +

    Freeing storage

    + +

    +Ghostscript's memory management architecture provides three different ways +to free objects: explicitly, by reference counting, or by garbage +collection. They provide different safety / performance / convenience +tradeoffs; we believe that all three are necessary. + +

    +Objects are always freed as a whole; strings may be freed piecemeal. + +

    +An object may have an associated finalization procedure, defined in the +structure descriptor. This procedure is called just before the object is +freed, independent of which method is being used to free the object. A few +types of objects have a virtual finalization procedure as well: the +finalization procedure defined in the descriptor simply calls the one in the +object. + +

    Explicit freeing

    + +

    +Objects and strings may be freed explicitly, using the +gs_free_ virtual procedures in the allocator API. It is up +to the client to ensure that all allocated objects are freed at most once, +and that there are no dangling pointers. + +

    +Explicit freeing is the fastest method, but is the least convenient and +least safe. It is most appropriate when storage is freed in the same +procedure where it is allocated, or for storage that is known to be +referenced by only one pointer. + +

    Reference counting

    + +

    +Objects may be managed by reference counting. When an object is allocated, +its reference count may be set to 0 or 1. Subsequently, when the reference +count is decremented to 0, the object is freed. + +

    +The reference counting machinery provides its own virtual finalization +procedure for all reference-counted objects. The machinery calls this +procedure when it is about to free the object (but not when the object is +freed in any other way, which is probably a design bug). This is in +addition to (and called before) any finalization procedure associated with +the object type. + +

    +Reference counting is as fast as explicit freeing, but takes more space in +the object. It is most appropriate for relatively large objects which are +referenced only from a small set of pointers. Note that reference counting +cannot free objects that are involved in a pointer cycle (e.g., A -> B -> C +-> A). + +

    +
    +Files: +
    +src/gsrefct.h. +
    + +

    (Real) garbage collection

    + +

    +Objects and strings may be freed automatically by a garbage collector. See +below. + +

    Special implementations

    + +

    malloc

    + +

    +As mentioned above, the ultimate ancestor of +all allocators with an expandable pool is one that calls +malloc. + +

    +
    +Files: +
    +src/gsmalloc.h, +src/gsmalloc.c. +
    + +

    Locking

    + +

    +In a multi-threaded environment, if an allocator must be callable from +multiple threads (for example, if it is used to allocate structures in one +thread that are passed to, and freed by, another thread), the allocator must +provide mutex protection. Ghostscript provides this capability in the form +of a wrapper allocator, that simply forwards all calls to a +target allocator under protection of a mutex. Using the wrapper +technique, any allocator can be made thread-safe. + +

    +
    +Files: +
    +src/gsmemlok.h, +src/gsmemlok.c. +
    + +

    Retrying

    + +

    +In an embedded environment, job failure due to memory exhaustion is very +undesirable. Ghostscript provides a wrapper allocator that, when an +allocation attempt fails, calls a client-provided procedure that can attempt +to free memory, then ask for the original allocation to be retried. For +example, such a procedure can wait for a queue to empty, or can free memory +occupied by caches. + +

    +
    +Files: +
    +src/gsmemret.h, +src/gsmemret.c. +
    + +

    Standard implementation

    + +

    +The standard Ghostscript allocator gets storage from its parent (normally +the malloc allocator) in large blocks called +chunks, and then allocates objects up from the low end and strings +down from the high end. Large objects or strings are allocated in their own +chunk. + +

    +The standard allocator maintains a set of free-block lists for small object +sizes, one list per size (rounded up to the word size), plus a free-block +list for large objects (but not for objects so large that they get their own +chunk: when such an object is freed, its chunk is returned to the parent). +The lists are not sorted; adjacent blocks are only merged if needed. + +

    +While the standard allocator implements the generic allocator API, and is +usable with the library alone, it includes a special hook for the PostScript +interpreter to aid in the efficient allocation of PostScript composite +objects (arrays and dictionaries). See the section on Refs below for details. + +

    +
    +Files: +
    +src/gsalloc.c, +src/gsalloc.h, +src/gxalloc.h, +src/gxobj.h. +
    + +

    PostScript interpreter extensions

    + +

    +The PostScript interpreter uses an allocator that extends the graphic +library's standard allocator to handle PostScript objects, +save and restore, and real garbage +collection. + +

    Refs (PostScript "objects")

    + +

    +Ghostscript represents what the PLRM calls PostScript "objects" using a +structure called a ref, defined in src/iref.h; packed refs, used for the elements of +packed arrays, are defined in src/ipacked.h. +See those files for detailed information. + +

    +
    +Files: +
    +src/ipacked.h, +src/iref.h. +
    + +

    +The PLRM calls for two types of "virtual memory" (VM) space: global and +local. Ghostscript adds a third space, system VM, whose lifetime +is an entire session -- i.e., it is effectively "permanent". All three +spaces are subject to garbage collection. There is a separate allocator +instance for each VM space (actually, two instances each for global and +local spaces; see below). In a +system with multiple contexts and multiple global or local VMs, each global +or local VM has its own allocator instance(s). + +

    +Refs that represent PostScript composite objects, and therefore include +pointers to stored data, include a 2-bit VM space tag to indicate in which +VM the object data are stored. In addition to system, global, and local VM, +there is a tag for "foreign" VM, which means that the memory is not managed +by a Ghostscript allocator at all. Every store into a composite object must +check for invalidaccess: the VM space tag values are chosen +to help make this check efficient. See src/ivmspace.h, src/iref.h, and src/store.h for details. + +

    +
    +Files: +
    +src/ivmspace.h. +
    + +

    +PostScript composite objects (arrays and dictionaries) are usually small. +Using a separate memory manager object for each composite object would waste +a lot of space for object headers. Therefore, the interpreter's memory +manager packs multiple composite objects (also called "ref-containing +objects") into a single memory manager object, similar to the way the memory +manager packs multiple objects into a chunk (see above). See src/gxalloc.h for details. This memory manager +object has a structure descriptor, like all other memory manager objects. + +

    +Note that the value.pdict, value.refs, or +value.packed member of a ref must point to a PostScript +composite object, and therefore can point into the middle of a memory +manager object. This requires special handling by the garbage collector (q.v.). + +

    +
    +Files: +
    +src/ialloc.c, +src/ialloc.h, +src/iastate.h, +src/iastruct.h, +src/ilocate.c, +src/imemory.h, +src/istruct.h. +
    + +

    save/.forgetsave/restore

    + +

    +In addition to save and restore, Ghostscript +provides a .forgetsave operator that makes things as though +a given save had never happened. (In data base terminology, +save is "begin transaction", restore is +"abort transaction", and .forgetsave is "end/commit +transaction"). .forgetsave was implemented for a specific +commercial customer (who may no longer even be using it): it was a pain to +make work, but it's in the code now, and should be maintained. See the +extensive comments in src/isave.c for more +information about how these operations work. + +

    +
    +Files: +
    +src/idosave.h, +src/isave.c, +src/isave.h, +src/isstate.h, +src/store.h. +
    + +

    Stable allocators

    + +

    +Even though save and restore are concepts +from the PostScript interpreter, the generic allocator architecture and API +include a feature to support them, called stable allocators. Every +allocator has an associated stable allocator, which tags pointers with the +same VM space number but which is not subject to save and +restore. System VM is intrinsically stable (its associated +stable allocator is the same allocator), so there are only 5 allocators in +ordinary single-context usage: system VM, stable global VM, ordinary global +VM, stable local VM, ordinary local VM. + +

    +The reason that we cannot simply allocate all stable objects in system VM is +that their refs must still be tagged with the correct VM space number, so +that the check against storing pointers from global VM to local VM can be +enforced properly. + +

    +All PostScript objects are normally allocated with the non-stable +allocators. The stable allocators should be used with care, since using +them can easily create dangling pointers: if storage allocated with a stable +allocator contains any references to PostScript objects, the client is +responsible for ensuring that the references don't outlive the referenced +objects, normally by ensuring that any such referenced objects are allocated +at the outermost save level. (The original reason for +wanting stable allocators was the PostScript stacks, which are essentially +PostScript arrays but are not subject to save and +restore.) For more examples, search the sources for +references to gs_memory_stable. + +

    Garbage collection

    + +

    +The interpreter's garbage collector is a compacting, non-conservative, +mark-and-sweep collector. + +

      +
    • It compacts storage because that is the only way to avoid permanent +sandbars, which is essential in limited-memory environments. +
    • It is non-conservative because conservative collectors (which attempt +to determine whether arbitrary bit patterns are pointers) cannot compact. +
    • It uses mark-and-sweep, rather than a more modern copying approach, +because it cannot afford the extra memory required for copying. +
    + +

    +Roots for tracing must be registered with the allocator. Most roots are +registered during initialization. + +

    +"Mark-and-sweep" is a bit of a misnomer. The garbage collector actually has +5 main phases: + +

      +
    • Sweep to clear marks; +
    • Trace and mark; +
    • Sweep to compute relocation; +
    • Sweep to relocate pointers; +
    • Sweep and compact. +
    + +

    +There is some extra complexity to handle collecting local VM only. In this +case, all pointers in global VM are treated as roots, and global VM is not +compacted. + +

    +As noted above, PostScript arrays and strings can have refs that point +within them (because of getinterval). Thus the garbage +collector must mark each element of an array, and even each byte of a +string, individually. Specifically, it marks objects, refs, and strings +using 3 different mechanisms: + +

      + +
    • Objects have a mark bit in their header: see +src/gxobj.h, + +
    • Refs and packed refs have a reserved mark bit: see src/iref.h and src/ipacked.h. + +
    • Strings use a separate bit table, with one bit per string byte: see +src/gxalloc.h, + +
    + +

    +Similarly, it records the relocation information for objects, refs, and +strings differently: + +

      + +
    • Objects record relocation in the object header. + +
    • Refs record relocation in unused fields of refs such as nulls that +don't use their value field. Every memory manager object +that stores ref-containing objects as described above has an extra, unused +ref at the end for this purpose. + +
    • Strings use a separate relocation table. + +
    + +
    +
    +Files: +
    +src/igc.c, +src/igc.h, +src/igcref.c, +src/igcstr.c, +src/igcstr.h, +src/ireclaim.c. +
    + +
    + +

    Portability

    + +

    +One of Ghostscript's most important features is its great portability across +platforms (CPUs, operating systems, compilers, and build tools). The code +supports portability through two mechanisms: + +

      + +
    • Structural mechanisms -- segregating +platform-dependent information into files in a particular way. + +
    • Coding standards -- avoiding relying on byte +order, scalar size, and platform-specific compiler or library features. + +
    + +

    Structural

    + +

    CPU and compiler

    + +

    +Ghostscript attempts to discover characteristics of the CPU and compiler +automatically during the build process, by compiling and then executing a +program called genarch. genarch generates a +file obj/arch.h, which almost all Ghostscript files then +include. This works well for things like word size, byte order, and +floating point representation, but it can't determine whether or not a +compiler supports a particular feature, because if a feature is absent, the +compilation may fail. + +

    +
    +Files: +
    +src/genarch.c, +obj/arch.h. +
    + +

    Library headers

    + +

    +Despite the supposed standardization of ANSI C, platforms vary considerably +in where (and whether) they provide various standard library facilities. +Currently, Ghostscript's build process doesn't attempt to sort this out +automatically. Instead, for each library header file +<xxx.h> there is a +corresponding Ghostscript source file +src/xxx_.h, containing a set of +compile-time conditionals that attempt to select the correct platform header +file, or in some cases substitute Ghostscript's own code for a missing +facility. You may need to edit these files when moving to platforms with +unusually non-standard libraries. + +

    +
    +Files: +
    +src/ctype_.h, +src/dirent_.h, +src/dos_.h, +src/errno_.h, +src/fcntl_.h, +src/jerror_.h, +src/malloc_.h, +src/math_.h, +src/memory_.h, +src/pipe_.h, +src/png_.h, +src/stat_.h, +src/stdio_.h, +src/string_.h, +src/time_.h, +src/unistd_.h, +src/vmsmath.h, +src/windows_.h, +src/x_.h. +
    + +

    +It has been suggested that the GNU configure scripts do the +above better, for Unix systems, than Ghostscript's current methods. While +this may be true, we have found configure scripts difficult +to write, understand, and maintain; and the autoconf tool +for generating configure scripts, which we found easy to +use, doesn't cover much of the ground that Ghostscript requires. + +

    Cross-platform APIs

    + +

    +For a few library facilities that are available on all platforms but are not +well standardized, or that may need to be changed for special environments, +Ghostscript defines its own APIs. It is an architectural property of +Ghostscript that the implementations of these APIs are the only .c files for +which the choice of platform (as opposed to choices of drivers or optional +features) determines whether they are compiled and linked into an +executable. + +

    + +
    +API: +
    +src/gp.h, +src/gpcheck.h, +src/gpgetenv.h, +src/gpmisc.h, +src/gpsync.h. + +
    +Implementation files shared among multiple platforms: +
    +src/gp_getnv.c, +src/gp_mktmp.c, +src/gp_nsync.c, +src/gp_psync.c, +src/gp_strdl.c, +src/gpmisc.c. + +
    +Platform-specific implementation files: +
    +src/gp_dosfe.c, +src/gp_dosfs.c, +src/gp_dvx.c, +src/gp_iwatc.c, +src/gp_msdos.c, +src/gp_mshdl.c, +src/gp_msio.c, +src/gp_mslib.c, +src/gp_mswin.c, +src/gp_mswin.h, +src/gp_ntfs.c, +src/gp_os2.c, +src/gp_os9.c, +src/gp_stdia.c, +src/gp_stdin.c, +src/gp_sysv.c, +src/gp_unifn.c, +src/gp_unifs.c, +src/gp_unix.c, +src/gp_vms.c, +src/gp_wgetv.c, +src/gp_win32.c, +src/gp_wsync.c. + +
    + +

    Makefiles

    + +

    +For information on the structure and conventions used within makefiles, see +the Makefile structure section above. + +

    +Ghostscript's makefiles are structured very similarly to the cross-platform +library files. The great majority of the makefiles are portable across all +platforms and all versions of make. To achieve this, the +platform-independent makefiles must obey two constraints beyond those of the +POSIX make program: + +

      + +
    • No conditionals or includes are allowed. While most +make programs now provide some form of conditional execution +and some form of inclusion, there is no agreement on the syntax. +(Conditionals and includes are allowed in platform-dependent makefiles; in +fact, an inclusion facility is required.) + +
    • There must be a space on both sides of the : that separates the target +of a rule from its dependencies. This is required for compatibility with +the OpenVMS MMS and MMK programs. + +
    + +

    +The top-level makefile for each platform (where "platform" includes the OS, +the compiler, and the flavor of make) contains all the build +options, plus includes for the generic makefiles and any +platform-dependent makefiles that are shared among multiple platforms. + +

    +While most of the top-level makefiles build a PostScript and/or PDF +interpreter configuration, there are also a few makefiles that build a test +program that only uses the graphics library without any language +interpreter. Among other things, this can be helpful in verifying that no +accidental dependencies on the interpreter have crept into the library or +drivers. + +

    +For families of similar platforms, the question arises whether to use +multiple top-level makefiles, or whether to use a single top-level makefile +that may require minor editing for some (or all) platforms. Ghostscript +currently uses the following top-level makefiles for building interpreter +configurations: + +

    + +

    +The following top-level makefiles build the library test program: + +

    + +

    +The MSVC makefiles may require editing to select between different versions +of MSVC, since different versions may have slightly incompatible command +line switches or customary installation path names. The Unix makefiles +often require editing to deal with differing library path names and/or +library names. For details, see the Unix +section of the documentation for building Ghostscript. + +

    + +
    +Library test program: +
    +src/gslib.c. + +
    +Platform-independent makefiles: +
    + +
    + +
    +Graphics library and support: +
    +src/contrib.mak, +src/devs.mak, +src/gnudevs.mak, +src/gs.mak, +src/lib.mak, +src/version.mak. + +
    +PostScript interpreter and fonts: +
    +src/cfonts.mak, +src/int.mak, +src/wmin.mak. + +
    +Third-party libraries: +
    +src/icclib.mak, +src/ijs.mak, +src/jpeg.mak, +src/libpng.mak, +src/zlib.mak. + +
    + +
    +Shared platform-dependent makefiles: +
    + +
    + +
    +Unix: +
    +src/unix-aux.mak, +src/unix-dll.mak, +src/unix-end.mak, +src/unixhead.mak, +src/unixinst.mak, +src/unixlink.mak. + +
    +Microsoft Windows and MS-DOS: +
    +src/msvccmd.mak, +src/msvctail.mak, +src/pcwin.mak, +src/wccommon.mak, +src/wctail.mak, +src/winint.mak, +src/winlib.mak, +src/winplat.mak. + +
    +Other: +
    +src/dvx-head.mak, +src/dvx-tail.mak,
    +src/macos-fw.mak, +for building as a MacOS X Framework. + +
    + +
    + +

    Coding

    + +

    +Coding for portability requires avoiding both explicit +dependencies, such as platform-dependent #ifdefs, and +implicit dependencies, such as dependencies on byte order or the +size of the integral types. + +

    Explicit dependencies

    + +

    +The platform-independent .c files never, ever, use #ifdef or +#if to select code for specific platforms. Instead, we +always try to characterize some abstract property that is being tested. For +example, rather than checking for macros that are defined on those specific +platforms that have 64-bit long values, we define a macro +ARCH_SIZEOF_LONG that can then be tested. Such macros are +always defined in a .h file, either automatically in arch.h, +or explicitly in a xxx_.h file, as described in +earlier sections. + +

    +
    +Files: +
    +src/std.h, +src/stdpre.h. +
    + +

    Implicit dependencies

    + +

    +The most common source of byte ordering dependencies is casting between +types (T1 *) and (T2 *) where T1 and T2 are numeric types that aren't merely +signed/unsigned variants of each other. To avoid this, the only casts +allowed in the code are between numeric types, from a pointer type to a long +integral type, and between pointer types. + +

    +Ghostscript's code assumes the following about the sizes of various types: + +

    +
    char
    8 bits +
    short
    16 bits +
    int
    32 or 64 bits +
    long
    32 or 64 bits +
    float
    32 bits (may work with 64 bits) +
    double
    64 bits (may work with 128 bits) +
    + +

    +The code does not assume that the char type is signed (or +unsigned); except for places where the value is always a literal string, or +for interfacing to library procedures, the code uses byte (a +Ghostscript synonym for unsigned char) almost everywhere. + +

    +Pointers are signed on some platforms and unsigned on others. In the few +places in the memory manager where it's necessary to reliably order-compare +(as opposed to equality-compare) pointers that aren't known to point to the +same allocated block of memory, the code uses the +PTR_relation macros rather than direct comparisons. + +

    +See the files listed above for other situations where a macro provides +platform-independence or a workaround for bugs in specific compilers or +libraries (of which there are a distressing number). + +

    Platform-specific code

    + +

    +There are some features that are inherently platform-specific: + +

      + +
    • Microsoft Windows requires a lot of special top-level code, and also has +an installer and uninstaller. + +
    • OS/2 requires a little special code. + +
    • MacOS also requires special top-level code (now distributed with the +standard Ghostscript package). + +
    • All platforms supporting DLLs (currently all three of the above) share +some special top-level code. + +
    + +
    + +
    +MS Windows files: +
    +src/dpmain.c, +src/dwdll.c, +src/dwdll.h, +src/dwimg.c, +src/dwimg.h, +src/dwinst.cpp, +src/dwinst.h, +src/dwmain.c, +src/dwmain.h, +src/dwmainc.c, +src/dwnodll.c, +src/dwreg.c, +src/dwreg.h, +src/dwsetup.cpp, +src/dwsetup.h, +src/dwtext.c, +src/dwtext.h, +src/dwuninst.cpp, +src/dwuninst.h, +src/gp_msdll.c, +src/gp_mspol.c, +src/gp_msprn.c, +src/gs16spl.c, +src/gsdllwin.h. + +
    +OS/2 files: +
    +src/gsdllos2.h. + +
    +Unix files: +
    +src/dxmain.c. +src/dxmainc.c. + +
    +Macintosh files: +
    +src/gdevmac.c. +src/gdevmac.h. +src/gdevmacpictop.h. +src/gdevmacttf.h. +src/gdevmacxf.c. +src/gp_mac.c. +src/gp_mac.h. +src/gp_macio.c. +src/macgenmcpxml.sh. +src/macsysstat.h. +src/macsystypes.h. + +
    +VMS files: +
    +src/vms_x_fix.h. + +
    +DLL files: +
    +src/gsdll.c, +src/gsdll.h, +src/gdevdsp.c, +src/gdevdsp.h, +src/gdevdsp2.h, +src/iapi.c, +src/iapi.h, +src/idisp.c, +src/idisp.h. +

    +The new DLL interface (new as of 7.0) is especially useful with the +new display device, so it is included here. Both are due to Russell +Lang. + +

    + + +
    + +

    Adding features and options

    + +

    +[Ray, please supply more information about what you want here] + +

    Troubleshooting

    + +

    +The Ghostscript code has many tracing and debugging features that can be +enabled at run time using the -Z command line switch, if the +executable was compiled with DEBUG defined. One +particularly useful combination is -Z@\?, which fills free +memory blocks with a pattern and also turns on run-time memory consistency +checking. For more information, see doc/Use.htm#Debugging; you can also search for +occurrences of if_debug or gs_debug_c in the +source code. Note that many of these features are in the graphics library +and do not require a PostScript interpreter. + +

    +The code also contains many run-time procedures whose only purpose is to be +called from the debugger to print out various data structures, including all +the procedures in src/idebug.c (for the +PostScript interpreter) and the debug_dump_ procedures in src/gsmisc.c. + +

    +
    +Files: +
    +doc/Use.htm#Debugging, +src/gdebug.h, +src/gsmdebug.h, +src/idebug.h, +src/idebug.c. +
    + + + + +
    + +

    +Copyright © 2001 artofcode LLC. +All rights reserved. + +

    +This software is provided AS-IS with no warranty, either express or +implied. + +This software is distributed under license and may not be copied, +modified or distributed except as expressly authorized under the terms +of the license contained in the file LICENSE in this distribution. + + +

    +Ghostscript version 7.07, 17 May 2003 + + + + + diff --git a/Master/xemtex/doc/ghostscript/Devices.htm b/Master/xemtex/doc/ghostscript/Devices.htm new file mode 100644 index 00000000000..57d39eec9da --- /dev/null +++ b/Master/xemtex/doc/ghostscript/Devices.htm @@ -0,0 +1,6046 @@ + + + +Details of Ghostscript output devices + + + + + + + + + + +

    Details of Ghostscript output devices

    + + + + + +

    Table of contents

    + +
    + + + + + +

    For other information, see the Ghostscript +overview. You may also be interested in how to +build Ghostscript and install it, as well as +the description of the driver interface. + + + +


    + + + + + +

    Notes on measurements

    + +

    +Several different important kinds of measures appear throughout this +document: inches, centimeters and millimeters, points, and bits per pixel. + +

    +
    Inches +
    1 inch equals 2.54 centimeters. The inch measure is sometimes +represented by "in" or a quotation mark (") to the right +of a measure, like 8.5in or 8.5"". Dots per inch, +"dpi", are the common measure of printing resolution for dot-matrix, +laser, and ink-jet printers. U.S. "letter" paper is exactly +8.5in×11in, approximately 21.6cm×27.9cm. (See in the usage +documentation all the paper sizes +predefined in Ghostscript.) + +
    Centimeters and millimeters +
    ISO standard paper sizes such as A4 and A3 are commonly represented in +the SI units of centimeters and millimeters. Centimeters are abbreviated +"cm", millimeters "mm". ISO A4 paper is +quite close to 21.0×29.7 centimeters (approximately 8.3×11.7 +inches). + +
    Points +
    Points are a measure traditionally used in the printing trade and now +in PostScript, which specifies exactly 72 points per inch (approximately +28.35 per centimeter). The paper sizes +known to Ghostscript are defined in the initialization file +gs_statd.ps in terms of points. + +
    Bits per pixel +
    Commonly abbreviated "bpp". +
    + +
    + +

    IJS - Inkjet and other raster devices

    + +

    +IJS is a relatively new initiative to improve the quality and ease of +use of inkjet printing with Ghostscript. Using IJS, you can add new +drivers or upgrade existing ones without recompiling Ghostscript. +All driver authors are encouraged to adapt their drivers for IJS, and +if there is an IJS driver available for your printer, it should be +your first choice. The non-ijs raster printer drivers are deprecated +and will be removed in future versions of ghostscript. +

    + +

    +Even more importantly, the vast majority of inkjet printers are now +supported by one of the two free collections described below: +Gimp-Print and HPIJS. Therefore +the ijs interface is your best bet for such printers from a practical +point of view as well. +

    + +

    Please see the IJS web +page for more information about IJS, including a listing of +IJS-compatible drivers. +

    + +

    +A typical command line for IJS is: +

    + +
    + +gs -DSAFER -sDEVICE=ijs -sIjsServer=hpijs + -sDeviceManufacturer=HEWLETT-PACKARD -sDeviceModel='DESKJET 990' + -DIjsUseOutputFD -sOutputFile=/dev/usb/lp1 -DNOPAUSE -- + examples/tiger.eps + +
    + + +

    +Individual IJS command line parameters are as follows: +

    + +
    +
    -sIjsServer={path} +
    Sets the pathname for the IJS server (ie printer driver). Examples +are "hpijs" and "ijsgimpprint". +Ghostscript will spawn a new process for this driver, and communicate +with it using the IJS protocol. The pathname need not be absolute, +as the PATH environment variable is searched, but it's probably a good +idea for robustness and security. Note also that if -dSAFER is not +specified, it's possible for PostScript code to set this parameter, +so it can cause arbitrary code to be executed. See the section on Security for more information. +
    + +
    +
    -sDeviceManufacturer={name} +
    -sDeviceModel={name} +
    These parameters select the device according to IEEE-1284 standard +device ID strings. In general, consult the documentation for the +driver to find the appropriate settings. Note that, if the value +contains a space, you'll want to quote the value in your shell, as +in the example above. +
    + +
    +
    -sIjsParams={params} +
    This parameter allows you to set arbitrary IJS parameters on +the IJS driver. The format is a comma-separated list of +key=value pairs. If it is necessary to send a +value containing a comma or backslash, it can be escaped with +a backslash. Thus, '-sIjsParams=Foo=bar,Baz=a\,b' sets +the parameter Foo to "bar", and Baz to "a,b". +
    + +
    +
    -dIjsUseOutputFD +
    This flag indicates that Ghostscript should open the output file +and pass a file descriptor to the server. If not set, Ghostscript +simply passes the filename set in OutputFile to the server. In most +cases, this flag won't matter, but if you have a driver which works +only with OutputFD (such as hpijs 1.0.2), or if you're using the +-sOutputFile="|cmd" syntax, you'll need to set it. +
    + +
    +
    -dBitsPerSample=N +
    This parameter controls the number of bits per sample. The +default value of 8 should be appropriate for most work. For monochrome +images, use -dBitsPerSample=1. +
    + +

    Generic Ghostscript options that are particularly relevant for IJS +are summarized below: +

    + +
    +
    -rnumber +
    -rnumber1xnumber2 +
    Sets the resolution, in dpi. If the resolution is not specified, +Ghostscript queries the IJS server to determine the preferred resolution. +When the resolution is specified, it overrides the value (if any) +preferred by the IJS server. +
    + +
    +
    -dDuplex +
    -dTumble +
    These flags enable duplex (two-sided) printing. Tumble controls +the orientation. When Tumble is false, the pages +are oriented suitably at the left or right. When Tumble is true, +the pages are oriented suitably for binding at the top or +bottom. +
    + +
    +
    -sProcessColorModel={name} +
    Use this flag to select the process color model. Suitable values +include DeviceGray, DeviceRGB, and DeviceCMYK. +
    + +

    Building IJS

    + +

    IJS is included by default on Unix gcc builds, and also in +autoconf'ed builds. Others may need some makefile tweaking. First, +make sure the IJS device is selected: + +

    +DEVICE_DEVS2=$(DD)ijs.dev +
    + +

    Next, make sure that the path and execution type are set in +the toplevel makefile. The values for Unix are as follows: + +

    +IJSSRCDIR=ijs +IJSEXECTYPE=unix +
    + +

    At present, "unix" and "win" are the only supported values for +IJSEXECTYPE. If neither sounds appropriate for your system, it's +possible that more porting work is needed. + +

    Last, make sure that ijs.mak is included in the toplevel makefile. +It should be present right after the include of icclib.mak. + +

    IJS is not inherently platform-specific. We're very much interested +in taking patches from people who have ported it to non-mainstream +platforms. And once it's built, you won't have to recompile Ghostscript +to support new drivers! + +


    + +

    Gimp-Print drivers

    + +

    +The Gimp-Print driver collection supports a wide variety of inkjet +printers and supports Ghostscript's 'ijs' interface. Just set the +IjsServer parameter to 'ijsgimpprint'. +Please see http://gimp-print.sourceforge.net/ for more +information including supported printers and appropriate options. + +

    +GNU Ghostscript also includes a special client device for the Gimp-Print +family of drivers. The device itself is called stp for historical +reasons. This device will not be supported in future versions of Ghostscript +or Gimp-print. + +

    +You will need to have the Gimp-Print library installed to use this +device. The library distribution also includes extensive documentation +on supported printers and the options available with each. Thanks to the +Gimp-Print team for all their hard work integrating their excellent +driver suite. + +

    +Please note that the stp driver interface is only supported through +gimp-print version 4.2. If you have 4.2.1 or later, please use the IJS +interface (described above) instead. + +

    HP Inkjet official drivers

    + +

    +HP provides official drivers for many of their printer models. +In order to use these drivers, you will need the HP Inkjet Server as +well as Ghostscript, available from http://hpinkjet.sourceforge.net. + +

    +This version of ghostscript also contains a special client driver 'hpijs' +that predates the current ijs interface. It will not be supported in future +versions of Ghostscript. + +

    +Thanks to the folks at HP, +especially David Suffield for making these drivers available and working to +integrate it with Ghostscript. + +


    + +

    MS Windows printers

    + +

    +This section was written by Russell Lang, the author of Ghostscript's +MS Windows-specific printer driver, and updated by +Pierre Arnaud, +the current maintainer. +

    + +

    +The mswinpr2 device uses MS Windows printer drivers, and +thus should work with any printer with device-independent bitmap (DIB) +raster capabilities. The printer resolution cannot be selected directly +using PostScript commands from Ghostscript: use the printer setup in the +Control Panel instead. It is however possible to specify a maximum resolution +for the printed document (see below). +

    + +

    +If no Windows printer name is specified in -sOutputFile, +Ghostscript prompts for a Windows printer using the standard Print Setup +dialog box. You must set the orientation to Portrait and the page size to +that expected by Ghostscript; otherwise the image will be clipped. +Ghostscript sets the physical device size to that of the Windows printer +driver, but it does not update the PostScript clipping path. +

    + +

    +If a Windows printer name is specified in -sOutputFile using +the format "\\spool\printer_name", for instance +

    + +
    +gs ... -sOutputFile="\\spool\Apple LaserWriter II NT" +
    + +

    +then Ghostscript attempts to open the Windows printer without prompting +(except, of course, if the printer is connected to FILE:). +Ghostscript attempts to set the Windows printer page size and orientation +to match that expected by Ghostscript, but doesn't always succeed. It uses +this algorithm: +

    + +
      +
    1. If the requested page size matches one of the Windows standard page +sizes +/- 2mm, request that standard size.
    2. + +
    3. Otherwise if the requested page size matches one of the Windows +standard page sizes in landscape mode, ask for that standard size in +landscape.
    4. + +
    5. Otherwise ask for the page size by specifying only its dimensions.
    6. + +
    7. Merge the requests above with the defaults. If the printer driver +ignores the requested paper size, no error is generated: it will print on +the wrong paper size.
    8. + +
    9. Open the Windows printer with the merged orientation and size.
    10. +
    + +

    +The Ghostscript physical device size is updated to match the Windows +printer physical device. +

    + +

    Supported command-line parameters

    + +

    +The mswinpr2 device supports a limited number of command-line +parameters (e.g. it does not support setting the printer resolution). The +recognized parameters are the following: +

    + +
    +
    +
    -sDEVICE=mswinpr2
    +
    Selects the MS Windows printer device. If Ghostscript was not +compiled with this device as the default output device, you have to specify +it on the command line.
    + +
    -dNoCancel
    +
    Hides the progress dialog, which shows the percent of the document page +already processed and also provides a cancel button. This option +is useful if GS is intended to print pages in the background, without any +user intervention.
    + +
    -sOutputFile="\\spool\printer_name"
    +
    Specifies which printer should be used. The printer_name should be +typed exactly as it appears in the Printers control panel, including spaces.
    + +
    +
    + +

    Supported options (device properties)

    + +

    +Several extra options exist which cannot be set through the command-line, +but only by executing the appropriate PostScript setup code. These options +can be set through the inclusion of a setup file on the command-line: +

    + +
    +gs ... setup.ps ... +
    + +

    +The setup.ps file is responsible for the device selection, therefore +you should not specify the -sDEVICE=mswinpr2 option on the +command-line if you are using such a setup file. Here is an example of such +a setup file: +

    + +
    +mark
    +  /NoCancel      true                       % don't show the cancel dialog
    +  /BitsPerPixel  4                          % force 4 bits/pixel
    +  /UserSettings
    +    <<
    +      /DocumentName  (Ghostscript document) % name for the Windows spooler
    +      /MaxResolution 360                    % maximum document resolution
    +    >>
    +  (mswinpr2) finddevice                     % select the Windows device driver
    +  putdeviceprops
    +setdevice
    +
    + +

    +This example disables the progress dialog (same as the -dNoCancel +option), forces a 4 bits/pixel output resolution and specifies additional user +settings, such as the document name (which will be displayed by the Windows +spooler for the queued document) and the maximum resolution (here 360 dpi). +It then finds and selects an instance of the MS Windows device printer +and activates it. This will show the standard printer dialog, since no +/OutputFile property was specified. +

    + +

    +The following options are available: +

    + +
    +
    +
    /NoCancel boolean
    +
    Disables (hides) the progress dialog when set to true or +show the progress dialog if not set or set to false.
    + +
    /OutputFile string
    +
    Specifies which printer should be used. The string should be of the form +\\spool\printer_name, where the printer_name should be +typed exactly as it appears in the Printers control panel, including spaces.
    + +
    /QueryUser integer
    +
    Shows the standard printer dialog (1 or any other value), +shows the printer setup dialog (2) or selects the +default Windows printer without any user interaction (3).
    + +
    /BitsPerPixel integer
    +
    Sets the device depth to the specified bits per pixel. Currently supported +values are 1 (monochrome), 4 (CMYK with screening +handled by Ghostscript) and 24 (True Color, dithering handled by +the Windows printer driver; this option can produce huge print jobs).
    + +
    /UserSettings dict
    +
    Sets additional options, defined in a dictionary. The following properties can +be set: + +
    +
    /DocumentName string
    +
    Defines the user friendly document name which will be displayed by the +Windows spooler.
    + +
    /DocumentRange [n1 n2]
    +
    Defines the range of pages contained in the document. This information can +be used by the printer dialog, in conjunction with the following property.
    + +
    /SelectedRange [n1 n2]
    +
    Defines the selected range of pages. This information will be displayed in +the printer dialog and will be updated after the user interaction. A PostScript +program could check these values and print only the selected page range.
    + +
    /MaxResolution dpi
    +
    Specifies the maximum tolerated output resolution. If the selected printer has +a higher resolution than dpi, then Ghostscript will render the +document with a submultiple of the printer resolution. For example, if +MaxResolution is set to 360 and the output printer supports +up to 1200 dpi, then Ghostscript renders the document with an internal +resolution of 1200/4=300 dpi. This can be very useful to reduce the memory +requirements when printing in True Color on some high resolution ink-jet color +printers.
    + +
    + +
    +
    + +

    +These properties can be queried through the currentpagedevice +operator. The following PostScript code snippet shows how to do it for some +of the properties: +

    + +
    +currentpagedevice /BitsPerPixel get ==  % displays the selected depth
    +
    +currentpagedevice /UserSettings get     % get the additional options..
    +/us exch def                            % ..and assign them to a variable
    +
    +us /DocumentName get ==     % displays the document name
    +us /SelectedRange get ==    % displays the selected page range
    +
    +% other misc. informations (don't rely on them)
    +
    +us /Color get ==            % 1 => monochrome output, 2 => color output
    +us /PrintCopies get ==      % displays the number of copies requested
    +
    + +

    +There are a few undocumented informations stored in the UserSettings +dictionary. You should not rely on them. Their use is still experimental and +they could be removed in a future version. +

    + +

    Duplex printing

    + +

    +If the Windows printer supports the duplex printing feature, then it will +also be available through the mswinpr2 device. You can query +for this support through the /Duplex propery of the +currentpagedevice. If it returns null, then +the feature is not supported by the selected printer. Otherwise, true +means that the printer is currently set up to print on both faces of the paper +and false that it is not, but that it can. +

    + +

    +The following example shows how to print on both faces of the paper (using +the long side of the paper as the reference): +

    + +
    +<< /Duplex true /Tumble false >> setpagedevice
    +
    + +

    +

    + + +
    + +

    File formats

    + +

    JPEG file format (JFIF)

    + +

    +Ghostscript includes output drivers that can produce Independent JPEG Group JFIF (JPEG File +Interchange Format) files from PostScript images. Please note that +JPEG is a compression method specifically intended for continuous-tone +images such as photographs, not for graphics, and it is therefore quite +unsuitable for the vast majority of page images produced with PostScript, +which should be saved in a form better for graphics, such as +Portable Network Graphics +(PNG) format. If you get crummy-looking JPEG files, don't blame +Ghostscript; instead consult a reference about uses and abuses of JPEG, +such as the JPEG FAQ + +

    +http://www.faqs.org/faqs/jpeg-faq/ +
    + +

    +You can use the JPEG output drivers -- jpeg to produce +color JPEG files and jpeggray for grayscale JPEGs -- the +same as other file-format drivers: by specifying the device name and an +output file name, for example + +

    +gs -sDEVICE=jpeg -sOutputFile=foo.jpg foo.ps +
    + +

    +You can also use the -r +switch to specify the imaging resolution and thus the output file's +size in pixels. The default resolution is normally 72×72dpi. + +

    +The JPEG devices support several special parameters to control the JPEG +"quality setting" (DCT quantization level). + +

    +
    +
    -dJPEGQ=N (integer from 0 to 100, default 75) +
    Set the quality level N according to the widely used +IJG quality scale, which balances the extent of compression against the +fidelity of the image when reconstituted. Lower values drop more +information from the image to achieve higher compression, and therefore +have lower quality when reconstituted. + +
    -dQFactor=M (float from 0.0 to 1.0) +
    Adobe's QFactor quality scale, which you may use in place of +JPEGQ above. The QFactor scale is used by PostScript's +DCTEncode filter but is nearly unheard-of elsewhere. +
    +
    + +

    +At this writing the default JPEG quality level of 75 is equivalent to +-dQFactor=0.5, but the JPEG default might change in the +future. The JPEG drivers could be extended to support additional JPEG +compression options, such as the other DCTEncode filter parameters, but so +far they haven't been. + +

    TIFF file formats

    + +

    +There are two unrelated sets of TIFF drivers. There are two color TIFF +drivers that produce uncompressed output: + +

    +
    +
    tiff12nc +
    Produces 12-bit RGB output (4 bits per component). +
    tiff24nc +
    Produces 24-bit RGB output (8 bits per component). +
    +
    + +

    +The remaining TIFF drivers all produce black-and-white output with different +compression modes: + +

    +
    +
    tiffcrle +
    G3 fax encoding with no EOLs +
    tiffg3 +
    G3 fax encoding with EOLs +
    tiffg32d +
    2-D G3 fax encoding +
    tiffg4 +
    G4 fax encoding +
    tifflzw +
    LZW-compatible (tag = 5) compression +
    tiffpack +
    PackBits (tag = 32773) compression +
    +
    + +

    +The black-and-white TIFF drivers support creation of files that are +comprised of more than a single strip. Multi-strip files reduce the memory +requirement on the reader, since readers need only store and process one +strip at a time. These drivers provide two parameters beyond the standard +set: + +

    +
    +
    -dMaxStripSize=N (non-negative integer; default = 0) +
    Set the maximum (uncompressed) size of a strip. + +
    -dAdjustWidth=true|false (Boolean; default = +true) +
    If true, then if the requested page width is close to either A4 (1728 +columns) or B4 (2048 columns), set the page width to A4 or B4 respectively. +
    + +

    +The TIFF 6.0 specification, Section 7, page 27, recommends that the size of +each strip be about 8 Kbytes. As an example, to generate the 'tiger' in +tiffg4 format that has the recommended strip size, use: + +

    +gs -sDEVICE=tiffg4 -sOutputFile=tiger.tif -dMaxStripSize=8192 examples/tiger.ps
    +
    + +

    +If the value of the MaxStripSize parameter is smaller than a +single image row, then no error will be generated, and the TIFF file will be +generated correctly using one row per strip. Note that smaller strip sizes +increase the size of the file by increasing the size of the StripOffsets and +StripByteCounts tables, and by reducing the effectiveness of the compression +which must start over for each strip. + +

    +If the value of MaxStripSize is 0 (the default), then the entire image will +be a single strip. + + +


    + +

    Display Devices

    + +

    +Ghostscript is often used for screen display of postscript and pdf documents. +In many cases, a client or 'viewer' application calls the ghostscript engine +to do the rasterization and handles the display of the resulting image itself, +but it is also possible to invoke ghostscript directly and select an output +device which directly handles displaying the image on screen. + +

    +This section describes the various display-oriented devices that are available +in ghostscript. + +

    X Window System

    + +

    +Perhaps the most common use of of a display device is with the X Window System +on unix-like systems. It is the default device on the command line client on +such systems, and is used more creatively by the gv client application. + +

    +The available devices are: + +

    +
    x11 +
    This is the default device, handling display on X11R6. + +
    x11alpha +
    This is the x11 device, but with antialiasing. It is equivalent to +invoking the x11 device with the options -dGraphicsAlphaBits=4 +-dTextAlphaBits=4 -dMaxBitmap=50000000. + +
    x11cmyk +
    This device rasterizes the image in the CMKY color space, then flattens +it to RGB for display. It's intended for testing only. + +
    x11mono +
    This is a strict black-and-white device for 1-bit monochrome displays. + +
    x11gray2 +
    This is a device for 2 bpp (4-level) monochrome displays. + +
    x11gray4 +
    This is a device for 4 bpp (16-level) monochrome displays. +
    + + +
    + +

    H-P color inkjet printers

    + +

    +This section, written by George Cameron, deals with the DeskJet 500C, +DeskJet 550C, PaintJet, PaintJet XL, PaintJet XL300, the DEC LJ250 +operating in PaintJet-compatible mode. + +

    Drivers contained in gdevcdj.c

    + +

    +The source module gdevcdj.c contains six generic drivers: + +

    +
    cdj500 +      + HP DeskJet 500C and 540C +
    cdj550 +   + HP DeskJet 550C, 560C, 660C, 660Cse +
    pjxl300 +   + HP PaintJet XL300, DeskJet 1200C, and CopyJet +
    pjtest +   + HP PaintJet +
    pjxltest +   + HP PaintJet XL +
    declj250 +   + DEC LJ250 +
    + +

    +All these drivers have 8-bit (monochrome), 16-bit and 24-bit (colour) and +for the DJ 550C, 32-bit (colour, CMYK mode) options in addition to standard +colour and mono drivers. It is also possible to set various +printer-specific parameters from the command line, for example + +

    +gs -sDEVICE=cDeskJet -dBitsPerPixel=16 -dDepletion=1 -dShingling=2 tiger.ps +
    + +

    +Note: the old names cDeskJet, +cdjcolor and cdjmono drivers have been +retained; however, their functionality duplicates that available using the +drivers above (and cDeskJet is identical to +cdj500). That is, we can use + +

    +
    gs -sDEVICE=cdj500 -dBitsPerPixel=24 +     + for cdjcolor, and +
    gs -sDEVICE=cdj500 -dBitsPerPixel=1 +   + for cdjmono +
    + +

    Default paper size

    + +

    +If the preprocessor symbol A4 is defined, the default paper +size is ISO A4; otherwise it is U.S. letter size (see about +paper sizes in the usage +documentation). You can specify other paper +sizes on the command line, including A3 for the PaintJet XL and +PaintJet XL300, as also explained in the usage documentation. + +

    DeskJet physical limits

    + +

    +The DeskJet's maximum printing width is 2400 dots, or 8 inches +(20.32cm). The printer manuals say that the maximum recommended printing +height on the page is 10.3 inches (26.16cm), but since this is obviously +not true for A4 paper, and I have been unable to detect any problems in +printing longer page lengths, this would seem to be a rather artificial +restriction. + +

    +All DeskJets have 0.5 inches (1.27cm) of unprintable bottom margin, due to the mechanical +arrangement used to grab the paper. Side margins are approximately 0.25 inches (0.64cm) +for U.S. letter paper, and 0.15 inches (0.38cm) for A4. + +

    Printer properties (command-line parameters)

    + +

    +Several printer "properties" have been implemented for these printers. +Those available so far are all integer quantities, and thus may be +specified, for instance, like + +

    +gs -dBitsPerPixel=32 -dShingling=1 ... +
    + +

    +which sets the BitsPerPixel parameter to 32 and the +Shingling parameter to 1. + +

    Bits per pixel

    + +

    +If the preprocessor symbol BITSPERPIXEL is defined as an +integer (see below for the range of allowable values), that number defines +the default bits per pixel (bit depth) for the generic drivers. If the +symbol is undefined, the default is 24 bits per pixel. It is, of course, +still possible to specify the value from the command line as described +below. Note also that the cDeskJet, +cdjcolor and cdjmono drivers are unaffected +by setting this symbol, as their default settings are predefined to be 1, 3 +and 24 respectively. + +

    +All of the drivers in gdevcdj.c accept a command line +option to set the BitsPerPixel property. This gives +considerable flexibility in choosing various tradeoffs among speed, +quality, colour, etc. The valid numbers are: + +

    +
    1 +
    A standard Ghostscript monochrome driver, using black ink (by +installing the separate mono cartridge in the case of the DeskJet 500C, or +automatically for the other printers). + +
    3 +
    A standard Ghostscript colour driver, using internal dithering. This +is fast to compute and to print, but the clustered dithering can lose some +detail and colour fidelity. + +
    8 +
    An "error-diffusion" monochrome driver which uses Floyd-Steinberg +dithering to print greyscale images. The patterns are much more randomised +than with the normal clustered dithering, but the data files can be much +larger and somewhat slower to print. + +
    16 +
    A "cheaper" version of the 24-bit driver, which generates +Floyd-Steinberg colour dithered output using the minimum memory (this may +be helpful when using Ghostscript has not been compiled using a 16-bit +build environment). The quality can be almost as good as the 24-bit +version. + +
    24 +
    A high-quality colour driver using Floyd-Steinberg dithering for +maximum detail and colour range. However, it is very memory-intensive, and +thus can be slow to compute. It tends to produce rather larger raw data +files, so they can also take longer to print. + +
    32 +
    Only for the DeskJet 550C, which uses the black cartridge and the +colour cartridge simultaneously (that is, CMYK printing). This printer can +both be faster and give higher quality than the DeskJet 500C, because of +the true black ink. (Note that the 24-bit mode also permits CMYK printing +on this printer, and uses less memory. Any differences between 24-bit and +32-bit should be small.) +
    + +

    DeskJet properties

    + +
    + +
    Name +      + Type +      +   +

    +
    BlackCorrect +   + int +   + Colour correction to give better blacks when using the DJ500C in colour mode. For example, the default of 4 reduces the cyan component to 4/5. Range accepted: 0 - 9 (0 = none). +
    Shingling +   + int +   + Interlaced, multi-pass printing: 0 = none, 1 = 50%, 2 = 25%, 2 is best and slowest. +
    Depletion +   + int +   + "Intelligent" dot-removal: 0 = none, 1 = 25%, 2 = 50%, 1 best for graphics? Use 0 for transparencies. +
    + +

    PaintJet XL300 / PaintJet XL properties

    + +
    + + +
    Name +      + Type +      + +

    +
    PrintQuality +   + int +   + Mechanical print quality: -1 = fast, 0 = normal, 1 = presentation. Fast mode reduces ink usage and uses single-pass operation for some media types. Presentation uses more ink and the maximum number of passes, giving slowest printing for highest quality +
    RenderType +   + int +   +
    +
    0
    driver does dithering +
    1
    snap to primaries +
    2
    snap black to white, others to black +
    3
    ordered dither +
    4
    error diffusion +
    5
    monochrome ordered dither +
    6
    monochrome error diffusion +
    7
    cluster ordered dither +
    8
    monochrome cluster ordered dither +
    9
    user-defined dither (not supported) +
    10
    monochrome user-defined dither ns. +
    +
    + +

    +The PaintJet (non-XL) has no additional properties. + +

    + +

    Gamma correction

    + +

    +One consequence of using Floyd-Steinberg dithering rather than Ghostscript's +default clustered ordered dither is that it is much more obvious that the +ink dots are rather larger on the page than their nominal 1/180-inch or 1/300-inch +size (clustering the dots tends to minimise this effect). Thus it is often +the case that the printed result is rather too dark. A simple empirical +correction for this may be achieved by preceding the actual PostScript +file to be printed by a short file which effectively sets the gamma for +the device, such as + +

    +gs ... gamma.ps colorpic.ps -c quit +
    + +

    +where gamma.ps is + +

    +
    %!
    +/.fixtransfer {
    +  currentcolortransfer 4 {
    +    mark exch
    +    dup type dup /arraytype eq exch /packedarraytype eq or
    +    1 index xcheck and { /exec load } if
    +    0.333 /exp load
    +    ] cvx 4 1 roll
    +  } repeat setcolortransfer
    +} bind odef
    +.fixtransfer
    +/setpagedevice { setpagedevice .fixtransfer } bind odef
    +
    + +

    +This does the gamma correction after whatever correction +the device might be doing already. To do the correction +before the current correction, + +

    +
    %!
    +/.fixtransfer {
    +  currentcolortransfer 4 {
    +    mark 0.333 /exp load 4 -1 roll
    +    dup type dup /arraytype eq exch /packedarraytype eq or
    +    1 index xcheck and { /exec load } if
    +    ] cvx 4 1 roll
    +  } repeat setcolortransfer
    +} bind odef
    +.fixtransfer
    +/setpagedevice { setpagedevice .fixtransfer } bind odef
    +
    + +

    +This example sets the gamma for R, G, and B to 3, which seems to work +reasonably well in practice. + +

    HP's resolution-enhanced mode for Inkjet printers

    + +

    +This feature is available on HP's more recent inkjet printers, including +the DeskJet 520 (mono), 540 (mono or colour) and 560C (mono and colour). +The colour and monochrome drivers for the HP DeskJet 550c are (probably) +the best you will get for use with Ghostscript, for the following reasons. + +

    +These printers do not offer true 600×300dpi resolution. Those that +print in colour are strictly 300×300dpi in colour mode, while in mono +mode there is a pseudo 600×300dpi mode with the restriction that you +can't print two adjacent dots. In effect what you have is 600dpi dot +positioning, but on average you don't get more dots per line. This +provides the possibility, for instance, to have sharper character outlines, +because you can place dots on the edges nearer to their ideal positions. +This is why it is worth doing. + +

    +However, HP will not support user-level programming of this +resolution-enhanced mode, one reason being that (I understand) all the dot +spacing has to be done by the driver, and if you get it wrong, you can +actually damage the print head. + +

    +To summarise, you may lose a smidgin of (potential) text clarity using the +550c drivers (cdj550, cdjcolor, +cdjmono etc.), but other than that, they are the ones for +the job. + +

    General tips

    + +

    +For all the printers above, the choice of paper is critically important to +the final results. The printer manuals suggest type of paper, but in +general, smoother, less fibrous types give better results. In particular, +the special ink-jet paper can make a big difference: colours are brighter, +but most importantly, there is almost no colour bleed, even with adjacent +areas of very heavy inking. Similarly the special coated transparencies +also work well (and ordinary transparencies do not work at all!). + +

    +The Unix procedure unix-lpr.sh +provides one example of setting up a multi-option colour PostScript +lpr queue on Unix systems, and includes the ability to +choose a range of different colour options and printer accounting and error +logging. + +

    +Caveat emptor! It is not always easy for me to test all of these +drivers, as the only colour printer I have here is the DeskJet 500C. I rely +on others to test drivers for the additional machines and report their +findings back to me. + +


    + +

    Canon BJC-8200 printer

    + +

    +This section was contributed by the author of the uniprint +configuration files for the Canon BJC-8200, Stephan C. Buchert <scb@stelab.nagoya-u.ac.jp>. +These files also handle the Japanese Canon F850 printer. + +

    +Warning: Usage of this program is neither supported nor endorsed by +the Canon corporation. Please see the Ghostscript license regarding warranty. + +

    Introduction

    + +

    +The Canon Bubble Jet printer BJC-8200 is designed for printing digital +photos and halftone images. Software drivers for Windows 95-2000 and Mac are +usually included and can be downloaded from the Canon web sites like +http://consumer.usa.canon.com/bjc/bjc8200/ +for the US market. If these drivers cannot be used for some reason, then at +present Ghostscript is probably the alternative giving the best results. + +

    +The BJC-8200 has features not found among the specs of earlier bubble jet +models (except the even more advanced BJC-8500) and is advertised to offer: + +

      + +
    1. microfine droplet technology; + +
    2. support for printing on a new type of paper, Photo Paper Pro; + +
    3. a printhead capable of printing up to 1200 DpI; + +
    4. individual ink tanks for 6 colors; + +
    5. an internal status monitor reporting low ink back to a driver; + +
    6. an optional color scanner cartridge for up to 600 DpI resolution. + +
    + +

    +Access to features 5 and 6 requires use of the original Canon drivers for +the foreseeable future. This README is about getting the printer features +1-3 working with Ghostscript. No (re)compilation of Ghostscript is normally +required. + +

    +Ghostscript comes with a relatively highly configurable driver, called +uniprint, for printers which understand raster +images in various propriety formats. Most options for this driver are +usually organized into files having the suffix ".upp." Ghostscript +versions >= 5.10 (or even earlier) include such uniprint control files +for the Canon BJC-610. They work also well for some other Canon Bubble +Jet models, for example for my BJC-35vII. But when using them for a +BJC-8200 the result is unsatisfactory. + +

    The uniprint control files for the BJC-8200

    + +

    +After some experimenting with the options for uniprint I have obtained quite +satisfactory prints with my printer(*). This distribution includes six new +uniprint control files: + +

      +
    • bj8pp12f.upp +
    • bj8hg12f.upp +
    • bj8gc12f.upp +
    • bj8oh06n.upp +
    • bj8ts06n.upp +
    • bj8pa06n.upp +
    + +

    +They are included in Ghostscript >=6.21. For older versions you can put +them anywhere in the Ghostscript search path (type "gs -h" to see the +path), but should perhaps add the files to the directory with the +other *.upp files. This is "/usr/share/ghostscript/gs6.01/lib" in my +RedHat Linux 6.1 box with Aladdin Ghostscript 6.01. + +

    +Here is an explanation of my file name convention: the prefix "bj8" should +perhaps be used for the Canon BJC-8200 and compatible (like the Japanese +F850 and perhaps the non-Japanese BJC-8500) models. The next two letters +indicate the print media: + +

      +
    • pp "Photo Paper Pro" +
    • hg "High Gloss Photo Film" +
    • gc "Glossy Photo Cards" +
    • oh "OHP transparencies" +
    • ts "T-shirt transfer" +
    • pa "Plain Paper" +
    + +

    +The numbers at positions 6 and 7 indicate the resolution + +

      +
    • 12 1200x1200 DpIxDpI +
    • 06 600x600 DpIxDpI +
    + +

    +The last letter stands for a quality factor that effects also the print +speed (presumably related to the number of passes that the printhead makes). + +

      +
    • f highest quality +
    • n normal quality +
    + +

    +Printing a postcard size (~10x15 cm^2) image at 1200x1200 DpI^2 takes about +3 minutes. The output of Ghostscript is then typically 4-5 MByte. The +bootleneck seems to be the transfer of the raster image in run-length +encoded Canon format to the printer (via the parallel port on my system) or +the printer's speed, not Ghostscript or the uniprint renderer. + +

    Further Optimization for the Canon BJC-8200

    + +So far I have only experimented with the printer initialization code at the +beginning of each page (-dupBeginPageCommand) and the resolution (-r). Other +options, particularly the transfer arrays (-dupBlackTransfer, +-dupCyanTransfer, -dupMagentaTransfer, -dupYellowTransfer) and the margins +(-dupMargins) were simply copied from the files for the BJC-610, but they +may need to be changed for optimized performance. + +

    +Here is information useful for changing or adding uniprint control files for +the BJC-8200: + +

    +In "-dupBeginPageCommand=..." use the line + +

    + 1b28 64 0400 04b0 04b0 +
    + +

    +for 1200x1200 resolution, and + +

    + 1b28 64 0400 0258 0258 +
    + +

    +for 600x600. The "-r" option in the control file must of course match this +line. Other resolutions might work as well, but I didn't try. + +

    +Crucial are the numbers in the lines like + +

    +   1b28 63 0300 3005 04
    +                   ^  ^
    +       Plain Paper 0  4 Highest quality
    +  OHP transparency 2  .
    +  T-shirt transfer 3  .
    + Glossy Photo Film 5  .
    +  High Gloss Paper 6  0 Lowest quality
    +   Photo Paper Pro 9
    +
    + +

    Outlook

    + +

    +Presently uniprint can use the black (K), cyan (C), magenta (M), and +yellow (Y) colors in the BJC-8200. The unused colors are photo (or +light) cyan (c) and magenta (m). Also the Canon driver seems to use +only CMYK, for example when printing on Photo Paper Pro in "Camera" or +"SuperPhoto" mode. These modes supposedly produce prints of the best +quality that the Canon driver can offer. Other modes of Canon driver +do use up to all six color cartridges (CMYKcm). Therefore expanding +uniprint's capabilities for six colors would be interesting, but it may +not increase the output quality of 6-color printers such as the +BJC-8200 drastically. + +

    +More control files for uniprint could be added in order to offer more +versatility for controlling the BJC-8200 within a Ghostscript +installation. The number of possible combinations for media type, resolution +and print quality factor is very large, many combinations would not make +much sense, many might be used here and there, but relatively rarely. The +user would have to remember a name for each combination that is used. + +

    +A better way would be to let the user patch optionally a user owned or +system wide uniprint control file before each print via some print +tool. This is similar to the approach taken by Canon with their driver for +Windows. Similarly a uniprint tool could also incorporate other functions +such as printing test and demo pages and the low ink warning once the +protocol for this is known. Clearly it would be difficult to code such a +uniprint tool for all the platforms where Ghostscript is running. + +

    Usage on RedHat Linux

    + +

    +In order to install a BJC-8200 printer on a RedHat Linux system with +RedHat's printtool, you need also to insert with a text editor the contents +of the file bj8.rpd into the RedHat printer database +/usr/lib/rhs/rhs-printfilters/printerdb. Insert it most +appropriately after the section + +

    +StartEntry: U_CanonBJC610
    +.
    +.
    +.
    +EndEntry
    +
    +< --- insert here "bj8.rpd" from this distribution:
    +< --- StartEntry: U_CanonBJC8200
    +      .
    +      .
    +      .
    +
    + +

    Contacting the Author

    + +

    +E-mail address: <scb@stelab.nagoya-u.ac.jp> + +

    +Footnotes: + +

    +(*) Actually I have a F850, not a BJC-8200. That model is sold for the +Japanese market only. The specs and also the external look are the +same as those of the BJC-8200 models for the American and European +markets. I expect that the raster image mode which is used exclusively +by Ghostscript is entirely compatible for both models. + +

    +Stephan C. Buchert + +


    + +

    Other Canon BubbleJet (BJC) printers

    + +

    +This section was contributed by the author of the drivers, Yves Arrouye +(<yves.arrouye@usa.net>, but +please do not send questions to him: he no longer maintains these drivers.) +The drivers handle Canon BJC-600, BJC-4xxx, BJC-70, Stylewriter 2x00, and +BJC-800 printers. + +

    History

    + +

    +The BJC-600 driver was written in the first place by Yoshio Kuniyoshi and +later modified by Yves Arrouye. We tried to make it evolve synchronously, +though Yoshio cannot be reached since a long time ago. The drivers are +based on code for the HP printers by George Cameron (in fact, they are in +the same file!), so he's the first person to thank. + +

    +The 2.00 version of the drivers was a complete rewrite of the driver +(arguments, optimization, colour handling, in short: everything!) by Yves +Arrouye. That release was also the first one to be able to use the full +width of an A3 paper size. PostScript Printer Description (PPD) files for +the drivers were released with version 2.15. They are incomplete, +but they can be used to drive the printers' main features. + +

    Configuring and building the BJC drivers

    + +

    Modify values in +gdevbjc.h

    + +

    +Configure the drivers by modifying the default values in the file +gdevbjc.h or on the compilation line. If you don't do +that, the drivers use reasonable defaults that make them work "as +expected". All default values shown here are defined in that file. + +

    CMYK-to-RGB color conversion

    + +

    +By default, the drivers use the same algorithm as Ghostscript to convert +CMYK colors to RGB. If you prefer to use Adobe formulas, define +USE_ADOBE_CMYK_RGB when compiling. (See the top of the +file gdevcdj.c to see the difference between the two.) + +

    Vertical centering of the +printable area

    + +

    +The drivers center the imageable area horizontally but not vertically, so +that what can be printed does use the most of the output media. If you +define BJC_DEFAULT_CENTEREDAREA when compiling, then the +top and bottom margins will be the same, resulting in a (smaller) +vertically centered imageable area also. + +

    Page margins

    + +

    +If you define USE_RECOMMENDED_MARGINS, then the top and +bottom margins will be the same (that is, +BJC_DEFAULT_CENTEREDAREA will be defined for you) and the +margins will be the 12.4mm recommended by Canon. Since margins are +complicated (because one must rely on the mechanical precision of the +printer), the drivers do something about the bottom margin: by default the +bottom margin is 9.54mm for the BJC-600 driver and 7mm for the BJC-800. If +you define USE_TIGHT_MARGINS, then the bottom margin is 7mm +for both drivers (but I never managed to get my own BJC-600 to print a line +on this low bound, hence the larger default). Regardless of the presence +of this definition, USE_FIXED_MARGINS will not allow the +BJC-800 to use the lower 7mm bottom margin, so if you have a problem with +the bottom margin on a BJC-800, just define that (without defining +USE_TIGHT_MARGINS, of course). + +

    +A quick way to be sure the margins you selected is to print a file whose +contents are: + +

    +%!
    +clippath stroke showpage +
    + +

    +If the margins are okay, you will get a rectangle visibly surrounding +the printable area. If they're not correct, one or more of the sides will +be either incomplete or completely unprinted. + +

    Makefile and compilation

    + +

    +Make sure the bjc600 or bjc800 devices are +in DEVICE_DEVS in +the makefile; that is, look in the makefile for your platform and add +them if necessary -- they may already be there. As of Ghostscript 5.10, +for instance, one makefile has + +

    +DEVICE_DEVS6=bj10e.dev bj200.dev bjc600.dev bjc800.dev +
    + +

    Use of the drivers

    + +

    +There are two drivers here. The "bjc600" one supports the BJC-600 and +BJC-4xxx (maybe the BJC-70 as well) and the "bjc800" one supports the +BJC-800 series. Remarks here that apply to both drivers use the name +"bjc". + +

    Supported Options and Defaults

    + +

    +Note: "options", "properties", and "parameters" designate the same thing: +device parameters that you can change. + +

    +Giving an option an incorrect value causes an error. Unless stated +otherwise, this error will be a rangecheckerror. Options may be set from +the Ghostscript command line (using the -d and +-s switches or other predetermined switches if they have an +effect on the driver) or using the PostScript Level 2 +setpagedevice operator if Ghostscript has been compiled +with the level2 or level3 device (which it should +;-)). There are no special-purpose operators such as +one was able to find in Level 1 printers. + +

    +The bjc uses 24 bits per pixel by default (unless you change the value of +BJC_BITSPERPIXEL), corresponding to CMYK printing. +Supported modes are 1 bpp and 4 bpp (gray levels), 8 bpp, 16 bpp, 24 bpp +and 32 bpp (colours). Colours are preferably stored in the CMYK model +(which means, for example, that with 16 bpp there are only 16 different +shades of each color) but it is possible to store them as RGB color for +some depths. Some modes do Floyd-Steinberg dithering and some don't, but +use the default Ghostscript halftoning (in fact, when halftoning is used, +dithering takes also place but because of the low point density it is +usually not efficient, and thus invisible). + +

    + +

    Descriptions of printing modes by bpp and Colors
    +
    bpp +     + Colors +     + Mode +

    +
    32 +   + 4 +   + CMYK colour printing, Floyd-Steinberg dithering +
    24 +   + 4 +   + The same. (But each primary colour is stored on 6 bits instead of 8.) +
    24 +   + 3 +   + RGB colour printing, Floyd-Steinberg dithering. This mode does + not use the black cartridge (that's why it + exists, for when you don't want to use it ;-)). + Each primary colour is stored in 8 bits as in the 32/4 mode, + but black generation and under-color removal are done on the + driver side and not by Ghostscript, so you have no control over + it. (This mode is no longer supported in this driver.) +
    16 +   + 4 +   + CMYK colour printing, halftoned by Ghostscript. F-S dithering + is still visible here (but the halftone patterns are visible + too!). +
    8 +   + 4 +   + The same. (But each primary colour is stored in 2 bits instead of 4.) +
    8 +   + 3 +   + RGB colour printing. This mode is not intended for use. What I + mean is that it should be used only if you want to use custom + halftone screens and the halftoning is broken using the + 8/4 mode (some versions of Ghostscript have this problem). +
    8 +   + 1 +   + Gray-level printing, Floyd-Steinberg dithering +
    1 +   + 1 +   + Gray-level printing halftoned by Ghostscript +
    + +

    +These modes are selected using the BitsPerPixel and +Colors integer options (either from the command line or in +a PostScript program using setpagedevice). See below. + +

    +A note about darkness of what is printed: Canon printers do print dark, +really. And the Floyd-Steinberg dithering may eventually darken your image +too. So you may need to apply gamma correction by calling Ghostscript as in + +

    +gs -sDEVICE=bjc600 gamma.ps myfile.ps +
    + +

    +where gamma.ps changes the gamma correction (here to 3 for +all colors); 0.45 gives me good results, but your mileage may vary. The +bigger the value the lighter the output: + +

    +{ 0.45 exp } dup dup currenttransfer setcolortransfer +
    + +

    +The drivers support printing at 90dpi, 180dpi and 360dpi. Horizontal and +vertical resolutions must be the same or a limitcheck error will happen. A +rangecheck will happen too if the resolution is not +90 ×2^N. If the driver +is compiled with -DBJC_STRICT a rangecheck also happens if +the resolution is not one of those supported. This is not the case, as we +expect that there may be a 720dpi bjc some day. + +

    +Here are the various options supported by the bjc drivers, along with +their types, supported values, effects, and usage: + +

    +
    BitsPerPixel (int) +
    Choose the depth of the page. Valid values are 1, 8, 16, 24 (the +default) and 32. + +

    +Note that when this is set for the first time, the Colors +property is automatically adjusted unless it is also specified. The table +here shows the corresponding color models and the rendering method visible: +"GS" for Ghostscript halftoning and "F-S" for Floyd-Steinberg dithering. +When both are present it means that the dithering of halftones is visible. +Default choices are indicated by asterisk "*". + +

    + +

    Valid Colors values for
    allowed BitsPerPixel values +

    +
    bpp +      + Colors +      +   +      + Color model +      + Dithering +

    +
    32 +   + 4 +   +   +   + CMYK +   + F-S +
    24 +   + 4 +   + * +   + CMYK +   + F-S +
      +   + 3 +   +   +   + RGB +   + F-S +
    16 +   + 4 +   +   +   + CMYK +   + GS, F-S +
    8 +   + 4 +   + * +   + CMYK +   + GS +
      +   + 3 +   +   +   + RGB +   + GS +
      +   + 1 +   +   +   + K (CMYK) +   + F-S +
    1 +   + 1 +   + * +   + K (CMYK) +   + GS +
    + +

    Also note that automagical change of one parameter depending on the +other one does not work in a setpagedevice call. This +means that if you want to change BitsPerPixel to a value +whose valid Colors values do not include the actual +Colors value, you must change Colors too. +

    + +
    +
    Colors (int) +
    Choose the number of color components from among 1, 3 and 4 (the +default). This setting cannot be used in a PostScript program, only on +Ghostscript's command line. See ProcessColorModel below +for what to use to change the number of colors with PostScript code. + +

    +Note that setting this property does limit the choices of +BitsPerPixel. As for the previous property, its first +setting may induce a setting of the "other value" +(BitsPerPixel here). The table here indicates valid +combinations with "V", default values with asterisk "*". + +

    +

    Valid BitsPerPixel values
    for allowed Colors values

    +
      +   +   +   + BitsPerPixel OK values
    +
    Colors +    + Type +    + 32 +    + 24 +    + 16 +    + 8 +    + 1 +

    +
    4 +   + CMYK +   + V +   + * +   + V +   + V +   +   +
    3 +   + RGB +   +   +   + * +   +   +   + V +   +   +
    1 +   + K +   +   +   +   +   +   +   + V +   + * +
    + +

    Also note that automagical change of one parameter depending on the +other one does not work in a setpagedevice call. This +means that if you want to change Colors to a value whose +valid BitsPerPixel values don't include the actual +BitsPerPixel value, you must change +BitsPerPixel too. +

    + +
    +
    ProcessColorModel (symbol) +
    A symbol taken from /DeviceGray, +/DeviceRGB or /DeviceCMYK which can be used +to select 1, 3 or 4 colors respectively. Note that this parameter takes +precedence over Colors, and that both affect the same +variable of the driver. (See Colors above for values +combined with BitsPerPixel.) +
    + +
    +
    HWResolution (floats array) +
    An array of two floats giving the horizontal and vertical resolution in +dots per inch from among 90, 180 and 360 (the default). Both values must +be the same. On the Ghostscript command line, the resolution may be +changed with the -r +switch. +
    + +
    +
    ManualFeed (bool) +
    Indicate that the sheets won't be fed automatically by the printer, +false by default. (Not meaningful on the BJC-600, I fear.) +
    + +
    +
    MediaType (string) +
    The media to print on, chosen from among "PlainPaper", +"CoatedPaper", "TransparencyFilm", +"Envelope", "Card" and +"Other". Default is "PlainPaper". For +"Envelope", "Card" or +"Other" the driver puts the printer into thick mode +automatically regardless of the actual media weight. +
    + +
    +
    MediaWeight (int or null) +
    The weight of the media in grams per square meter. Null (the default) +indicates that the weight is of no importance. If the specified media +weight is greater than 105 (that is, the value of the compilation default +BJC???_MEDIAWEIGHT_THICKLIMIT) then the +printer will be set to use thick paper. +
    + +
    +
    PrintQuality (string) +
    The quality of printing. + + +
    Value +    + bjc600 +    + bjc800 +    +   +

    +
    Low +   +   +   + X +   + Has the effect of making only two printing passes instead of four, so should be twice the speed; known as "CN" (Color Normal) mode +
    Draft +   + X +   + X +   + Unlights the "HQ" light on a BJC-600 +
    Normal +   + X +   + X +   + Default for both drivers; lights the "HQ" light on a BJC-600 +
    High +   + X +   + X +   + Means 200% black and 100% CMY; lights the "Bk+" light on a BJC-600 +
    +
    + +
    +
    DitheringType (string) +
    Dithering algorithm from between "Floyd-Steinberg" and +"None". "None" is the default for 1/1 print +mode, "Floyd-Steinberg" for other modes. At the moment +this parameter is read-only, though no error is generated if one tries to +change it. This parameter is not of much value at the moment and is here +mainly to reserve the name for future addition of dithering algorithms. +
    + +
    +
    PrintColors (int) +
    Mask for printing color. If 0, use black for any color; otherwise the +value must be the sum of any of 1 (cyan), 2 (magenta), 4 (yellow) and 8 +(black), indicating which colors will be used for printing. When printing +colour, only colours specified will be printed (this means that some planes +will be missing if a color's value above is omitted). When printing grays, +black is used if it is present in the PrintColors; +otherwise, the image is printed by superimposing each requested color. +
    + +
    +
    MonochromePrint (bool) +
    For bjc600 only, false by default. +Substitute black for Cyan, Magenta and Yellow when printing -- useful, for +example, to get some monochrome output of a dithered printing This is a +hardware mechanism as opposed to the previous software one. I think that +using this or setting PrintColors to 0 will give the same +results. +
    + +

    +Note that the MediaType and ThickMedia +options will be replaced by the use of the device +InputAttributes and OutputAttributes as +soon as possible. Please note too that the print mode may be reset at the +start of printing, not at the end. This is the expected behaviour. If you +need to reset the printer to its default state, simply print a file that +does just a showpage. + +

    Device information

    + +

    +Here is other information published by the driver that you will find +in the deviceinfo dictionary. + +

    +
    OutputFaceUp (bool) +
    This has the boolean value true, indicating that the +sheets are stacked face up. +
    + +
    +
    Version (float) +
    In the form M.mmpp, where M is the major +version, mm the bjc driver's minor version, and pp the specific +driver minor version (that is, M.mm will always be +the same for the bjc600 and bjc800 +drivers). +
    + +
    +
    VersionString (string) +
    A string showing the driver version and other indications. At the +moment, things like "a" or "b" may follow the version to indicate alpha or +beta versions. The date of the last change to this version is given in the +form MM/DD/YY (no, it won't adapt to your locale). +
    + +

    Hardware margins

    + +

    +The BJC printers have top and bottom hardware margins of 3mm and 7.1mm +respectively (Canon says 7mm, but this is unusable because of the rounding +of paper sizes to PostScript points). The left margin is 3.4mm for A4 and +smaller paper sizes, 6.4mm for U.S. paper sizes, envelopes and cards. It +is 4.0mm for A3 paper on the BJC-800. + +

    +The maximum printing width of a BJC-600 printer is 203mm. The maximum +printing width of a BJC-800 printer is 289mm on A3 paper, 203mm on +U.S. letter and ISO A4 paper. + +

    PostScript printer description (PPD) files

    + +

    +The files CBJC600.PPD and CBJC800.PPD (whose +long names are, respectively, Canon_BubbleJetColor_600.ppd +and Canon_BubbleJetColor_800.ppd) are PPD files to drive the +features of the bjc600 and bjc800 drivers. +They can be used, for example, on NextStep systems (presumably on OpenStep +systems too) and on Unix systems with Adobe's TranScript and +pslpr (not tested). The files are not complete at the +moment. Please note that NextStep's printing interface does not +correctly enforce constraints specified in these files (in UIConstraints +descriptions): you must force yourself to use valid combinations of +options. + +

    Customizing the PPD files

    + +

    +By default the PPD files are set for U.S. letter size paper, and they use a +normalized transfer function. If you choose to use A4 printing by default, +you must replace "Letter" with "A4" in +these (noncontiguous) lines: + +

    +     [...]
    +*DefaultPageSize: Letter
    +     [...]
    +*DefaultRegion: Letter
    +     [...]
    +*DefaultImageableArea: Letter
    +     [...]
    +
    + +

    +Some versions of Ghostscript have problems with normalized colors, which +makes them add magenta in gray levels. If you experience this problem, +in the PPD file replace the line + +

    +*DefaultTransfer: Normalized +
    + +

    +with the alternate line + +

    +*DefaultTransfer: Null +
    + +

    +The "thick media" option is implemented by choosing a value of 120 or 80 +(for thick and thin media respectively) for the MediaWeight +feature of the drivers. If you ever change the threshold for thick media +in the driver code, you may need to change the values in the PPD files too. + +

    +All customization should be done using the "*Include:" +feature of PPD files so that your local changes will be retained if you +update the PPD files. + +

    How to report problems

    + +

    +Yves Arrouye no longer maintains this driver, and will not answer questions +about it. If you are posting a question about it in a public form, please +be as descriptive as possible, and please send information that can be used +to reproduce the problem. Don't forget to say which driver you use, and in +what version. Version information can be found in the source code of the +driver or by issuing the following command in a shell: + +

    +echo "currentpagedevice /VersionString get ==" | gs -q -sDEVICE=bjc600 - +
    + +

    Acknowledgements

    + +

    +I am particularly grateful to Yoshio Kuniyoshi <yoshio@nak.math.keio.ac.jp> +without whom I'd never make these drivers, and also to L. Peter Deutsch, +who answered all my (often silly) questions about Ghostscript's driver +interface. + +

    +Thanks also to the people who volunteered to beta-test the v2.x BJC +drivers: David Gaudine +<david@donald.concordia.ca>, +Robert M. Kenney <rmk@unh.edu>, +James McPherson +<someone@erols.com> +and Ian Thurlbeck +<ian@stams.strath.ac.uk> +(listed alphabetically) were particularly helpful by discovering bugs and +helping find out exact paper margins on printers I don't have access to. + +

    +And many thanks to Klaus-Gunther Hess +<ghess@elmos.de> for looking +at the dithering code and devising a good CMYK dithering algorithm for the +Epson Stylus Color, which I then adapted to the code of these drivers. + +


    + +

    Epson Stylus color printer (see also uniprint)

    + +

    +This section was contributed by Gunther Hess +<ghess@elmos.de>, who also wrote +uniprint, a later set of drivers. You should probably see +the section on uniprint for whether +it might be better for your uses than this driver. + +

    Usage

    + +

    + +This driver is selected with "-sDEVICE=stcolor", producing +output for an Epson Stylus Color at 360dpi resolution by default. But it +can do much more with this printer, and with significantly better quality, +than with the default mode; and it can also produce code for monochrome +versions of the printer. This can be achieved via either command-line +options or Ghostscript input. For convenience a PostScript file is +supplied for use as an initial input file. Try the following command: + +

    +gs -sDEVICE=stcolor -r{Xdpi}x{Ydpi} stcolor.ps {YourFile.ps} +
    + +

    +where {Xdpi} is one of 180, 360, or 720 and {Ydpi} is one of +90, 180, 360, or 720. The result should be significantly better. You may +use stcolor.ps with other devices too, but I do not +recommend this, since it does nothing then. stcolor.ps +should be available with binary distributions and should reside in the same +directory as other Ghostscript initialization files or in the same +directory as the files to be printed. Thus if Ghostscript is part of your +printer-spooler, you can insert + +

    +(stcolor.ps) findlibfile { pop run } if pop +
    + +

    +in files you want to use the improved algorithms. You may want to adapt +stcolor.ps file to your specific needs. The methods and +options for this are described here, but this description is restricted to +Ghostscript options, while their manipulation at the PostScript level is +documented in the material on the relationship of +Ghostscript and PostScript and in stcolor.ps. + +

    Options

    + +

    +Now to explain the options (as written on my UNIX system). The order is +somehow related to their use during the printing process: + +

    +
    -dUnidirectional +
    Force unidirectional printing, recommended for transparencies +
    + +
    +
    -dMicroweave +
    Enable the printer's "microweave" feature; see +"What is weaving?" below. +
    + +
    +
    -dnoWeave +
    Disable any Weaving (overrides -dMicroweave) +
    + +
    +
    -dSoftweave +
    Enable the driver's internal weaving. Note that Softweave works only with the original Stylus Color and the PRO-Series. +
    + +
    +
    -sDithering={name} +
    Select another dithering algorithm (name) from among +
    +
    gscmyk +      + fast color output, CMYK process color model (default) +
    gsmono +   + fast monochrome output +
    gsrgb +   + fast color output, RGB process color model +
    fsmono +   + Floyd-Steinberg, monochrome +
    fsrgb +   + Floyd-Steinberg, RGB process color model (almost identical to the cdj550/bjc algorithm) +
    fsx4 +   + Floyd-Steinberg, CMYK process color model (shares code with fsmono and fsrgb, but is algorithmically really bad) +
    fscmyk +   + Floyd-Steinberg, CMYK process color model and proper modifications for CMYK +
    hscmyk +   + modified Floyd-Steinberg with CMYK model ("hs" stands for "hess" not for "high speed", but the major difference from fscmyk is speed) +
    fs2 +   + algorithm by Steven Singer (RGB) should be identical to escp2cfs2. +
    +
    + +
    +
    -dBitsPerPixel={1...32} +
    number of bits used for pixel storage; the larger the value, the better +the quality -- at least in theory. In fsrgb one can gain +some speed by restricting to 24 bits rather than the default 30. +
    + +
    +
    -dFlag0 +
    causes some algorithms to select a uniform initialisation rather than a +set of random values. May yield a sharper image impression at the cost of +dithering artifacts. (Applies to hscmyk and all fs modes, +except for fs2, which always uses a constant initialization.) +
    + +
    +
    -dFlag1 ... -dFlag4 +
    Available for future algorithms. +
    + +
    +
    -dColorAdjustMatrix='{three, nine, or sixteen +floating-point values}' +
    This is a matrix to adjust the colors. Values should be between -1.0 +and 1.0, and the number of values depends on the color model the selected +algorithm uses. In RGB and CMYK modes a matrix with 1.0 on the diagonal +produces no transformation. This feature is really required, but I could +not identify a similar feature at the language level, so I implemented it, +but I don't know reasonable values yet. +
    + +
    +
    -dCtransfer='{float float ...}' or +
    -dMtransfer=..., -dY..., -dK... or +
    -dRtransfer='{float float ...}' or +
    -dG..., -dB... or +
    -dKtransfer='{float float ...}' +
    Which you use depends on the algorithm, which may be either either +CMYK, RGB or monochrome. The values are arrays of floats in the range from +0 to 1.0, representing the visible color intensity for the device. One may +achieve similar effects with setcolortransfer at the +language level, but this takes more time and the underlying code for the +driver-specific parameters is still required. The size of the arrays is +arbitrary and the defaults are "{0.0 1.0}", which is a +linear characteristic. Most of the code in stcolor.ps are +better transfer arrays. +
    + +
    +
    -dKcoding='{float...}' +
    -dC..., -dM... etc. +
    Arrays between 0.0 and 1.0, controlling the internal coding of the +color values. Clever use of these arrays may yield further enhancements, +but I have no experience yet. (To be discontinued with version 2.x.) +
    + +
    +
    -sModel=st800 +
    Causes output to be suitable for the monochrome Stylus 800 (no weaving, +no color). +
    + +
    +
    -sOutputCode={name} +
    Can be either "plain", "runlength" or +"deltarow" and changes the ESC/P2 coding technique +used by the driver. The default is to use runlength encoding. +"plain" selects uncompressed encoding and generates +enormous amounts of data. +
    + +
    +
    -descp_Band=1/8/15/24 +
    Number of nozzles of scanlines used in printing, Useful only with +-dnoWeave. Larger Values yield smaller code, but this +doesn't increase the printing speed. +
    + +
    +
    -descp_Width=N +
    Number of pixels Printed in each scan Line. (Useful only when tuning +margins; see below) +
    + +
    +
    -descp_Height=pixels +
    Length of the entire page in pixels. (Parameter of +"ESC(C" in default initialization.) +
    + +
    +
    -descp_Top=scan lines +
    Top margin in scan lines. (First parameter of "ESC(c" +in default initialization.) +
    + +
    +
    -descp_Bottom=scan lines +
    Bottom margin in scan lines. (Second parameter of +"ESC(c" in default initialization.) +
    + +
    +
    -sescp_Init="string" +
    Override for the initialization sequence. (Must set graphics mode 1 +and units.) +
    + +
    +
    -sescp_Release="string" +
    Overrides the release sequence, "ESC @ FF" by +default. +
    + +

    +ESC/P2 allows any resolutions to be valid in theory, but only +-r360x360 (the default) and -r720x720 (not +on STC-IIs ? and st800) are known to work with most printers. + +

    + +

    + +

    Valid option combinations
    Stylus I & Pro-Series only

    +
    Resolution +      + escp_Band +      + Weave usable +      + escp_Band &
    number of passes +

    +
    180x90 +   + 15 +   + noWeave +   +   +
    180x180 +   + 1 , 8, 24 +   + noWeave, Microweave +   + 15/2 SoftWeave +
    180x360 +   +   +   +   +   + 15/4 SoftWeave +
    180x720 +   +   +   +   +   + 15/8 SoftWeave +
    360x90 +   + 15 +   + noWeave +   +   +
    360x180 +   + 1, 8, 24 +   + noWeave, Microweave +   + 15/2 SoftWeave +
    360x360 +   + 1, 8, 24 +   + noWeave, Microweave +   + 15/4 SoftWeave +
    360x720 +   +   +   +   +   + 15/8 SoftWeave +
    720x90 +   + 15 +   + noWeave +   +   +
    720x180 +   +   +   +   +   + 15/2 SoftWeave +
    720x360 +   +   +   +   +   + 15/4 SoftWeave +
    720x720 +   + 1 +   + noWeave, Microweave +   + 15/8 SoftWeave +
    + +
    +Beware: there are only few validity checks for parameters. A good +example is escp_Band: if you set this, the driver uses your +value even if the value is not supported by the printer. You asked for +it and you got it! +
    + +

    Application note and FAQ

    + +

    +Quite a bunch of parameters. Hopefully you never need any of them, besides +feeding stcolor.ps to Ghostscript in front of your input. + +

    +After answering some questions over fifty times I prepared a FAQ. Here is +version 1.3 of the FAQ, as of stcolor version 1.20 (for +Ghostscript 3.50). + +

    Support for A3 paper

    + +

    +Yes, this driver supports the A3-size printer: merely set the required +pagesize and margins. A simple way to do this is to specify the +command-line switch "-sPAPERSIZE=a3" or include the +procedure call "a3" in the PostScript prolog section. To +optimize the printable area or set the proper margins, see the next +paragraph. + +

    Margins, PageSize

    + +

    +I refuse to add code to stcolor that tries to guess the +proper margins or page size, because I found that such guessing is usually +wrong and needs correction in either the source or the parameters. You can +modify stcolor.ps to do that, however. After the line + +

    +mark % prepare stack for "putdeviceprops" +
    + +

    +insert these lines, which define page size and margins in points: + +

    +
    /.HWMargins [9.0 39.96 12.6 9.0]     % Left, bottom, right, top (1/72")
    +/PageSize   [597.6 842.4]            % Paper, including margins (1/72")
    +/Margins [ % neg. Offset to Left/Top in Pixels
    +   4 index 0 get STCold /HWResolution get 0 get mul 72 div neg
    +   5 index 3 get STCold /HWResolution get 1 get mul 72 div neg
    +]
    + +

    +Feel free to change the values of .HWMargins and +PageSize to match your needs; the values given are the +defaults when the driver is compiled with "-DA4". This +option or its omission may cause trouble: the Stylus Color can print up to +exactly 8 inches (2880 pixels) at 360dpi. The remaining paper is the +margin, where the left margin varies only slightly with the paper size, +while the right margin is significantly increased for wider paper, such as +U.S. letter size. + +

    +Note that if you are using an ISO paper size with a version of +stcolor after 1.20 and compiled without +"-DA4", then the default margin is too large, and you need +to add the proper ".HWMargins" to the command line or to +stcolor.ps. + +

    Stylus Color II / IIs and 1500

    + +

    +First the good news: the driver can print on the Stylus Color II. +Now the bad news: +

      +
    • According to Epson support the driver "abuses" the color +capabilities. (See "Future Plans" for details.) +
    • You need some parameters on the command line (or in +stcolor.ps). +
    • I doubted that it would be usable with the Stylus Color IIs, but +it is usable and suffers from mixing problems! +
    + +

    + +To make things work, you MUST disable the driver's internal +weaving (Softweave), in one of these two ways: + +

    +gs -dMicroweave ...
    +gs -dnoWeave -descp_Band=1 ... +
    + +

    +Version 1.90, current as of Ghostscript 5.10, fixes this bug by new default +behaviour. I experienced significantly increased printing speed with the +second variant on the old Stylus Color, when printing mostly monochrome +data. + +

    Recommendations

    + +

    +The next section is a contribution from Jason Patterson <jason@reflections.com.au> +who evaluated a previous version (1.17). Ghostscript was invoked as follows: + +

    +
    gs +
    -sDEVICE=stcolor -r720x720 +-sDithering=... -sOutputFile=escp.out stcolor.ps +whatsoever.ps + +
    + +

    +where "..." is the name of the desired algorithm. +stcolor.ps was omitted for the gs-algorithms +(gsmono, gsrgb and gscmyk), +for which it is useless and would not allow the selection of +"gscmyk". + +

    Color dithering experiments with +gdevstc 1.21

    + +

    +Here are data about the EPSON Stylus Color driver's different dithering +methods, based on a little experiment using four good quality scanned +images of quite varied nature, to begin with, a summary of the results of +the four experiments. Sanity note: the results here are from only +four images and a total of 24 printouts (eight on 720dpi paper, sixteen on +plain paper). Your results will almost certainly vary, and your standards +might not be the same as mine, so use these results only as a guide, not as +a formal evaluation. + +

    + +

    Quality of output by method
    +
    +    + +

    +
    gsmono +     +Pretty much what you'd expect from a mono ordered pattern. +Looks like what a lot of mono laser printers produce. +
    fsmono +  +Excellent for monochrome. +
    gscmyk +  +Not very good, but expected from an ordered pattern. +
    gsrgb +  +A little better than gscmyk. More consistent +looking. +
    fs2 +  +Good, but not quite as good as fsrgb. Gets the +brightness wrong: too light at 720dpi, too dark at 360dpi. +
    fsrgb +  +Very good, but a little too dark and has a slight blue tint. +
    hscmyk +  +Excellent. Slightly better than fsrgb and +fs2. Better than fscmyk on +some images, almost the same on most. +
    fscmyk +  +Best. Very, very slightly better than hscmyk. +On some images nearly as good as the EPSON demos done with +the MS Windows driver. +
    + +
    +

    Overall visual quality (1-10), best to worst
    +
    Monochrome +
         + fsmono +    + ****************** +
      + gsmono +   + ********** +
      +   +   + 0 1 2 3 4 5 6 7 8 9 10 +

    +
    Colour +
      + fscmyk +   + ******************* +
      + hscmyk +   + ******************* +
      + fsrgb +   + ****************** +
      + fs2 +   + ***************** +
      + gsrgb +   + ********** +
      + gscmyk +   + ********* +
      +   +   + 0 1 2 3 4 5 6 7 8 9 10 +
    + +

    Color transformation

    + +

    +In the initial version of the driver distributed with Ghostscript 3.33, the +parameter "SpotSize" was the only way to manipulate the +colors at the driver level. According to the parameters enumerated above, +this has changed significantly with version 1.16 and above as a result an +ongoing discussion about dithering algorithms and "false color" on the +Epson Stylus Color. This initiated the transformation of the +stcolor driver into a framework for different dithering +algorithms, providing a generalized interface to the internal Ghostscript +color models and the other data structures related to Ghostscript drivers. + +

    +The main thing such a framework should be able to do is to deliver the +values the dithering algorithm needs; and since this directly influences +the optical image impression, this transformation should be adjustable +without the need for recompilation and relinking. In general the process +can be described as follows: + +

    +
    ColorAdjustMatrix + Coding +   + Transfer +   +
    | + Ghostscript color + | + => + | + Ghostscript raster + | + => + | + Dithering data + | +
    | +   + | +   + | + 1/2/4/8/16/32-bit + | +   + | +   + | +
    | + 1/3/4 16-bit values + | +   + | + 1/3/4 values + | +   + | + (arbitrary type) + | +
    + +

    +Due to the limitations on raster storage, information is lost in the first +transformation step, except for the 16-bit monochrome mode. So any color +adjustment should take place before this step and this is where the optional +ColorAdjustMatrix works. + +

    +The first transformation step, called "coding", is controlled by the +?coding arrays. The decoding process expands the range of +values expontentially to a larger range than that provided by the initial +Ghostscript color model, and is therefore a reasonable place to make +device- or algorithm-specific adjustments. This is where the +?transfer arrays are used. Array access might be not the +fastest method, but its generality is superior, so this step is always +based upon internally algorithm-specific array access. If 8 bits are stored +per color component and if the algorithm uses bytes too, the second +transformation is included within the first, which saves significant +computation time when printing the data. + +

    ColorAdjustMatrix

    + +

    +The driver supports different values for ProcessColorModel, +which raises the need for different color adjustments. Here +"CAM" stands for "ColorAdjustMatrix". + +

    +
    DeviceGray (three floats) +
    if ((r == g) && (g == b))
    +   K' = 1.0 - R;
    +else
    +   K' = 1.0 - CAM[0] * R + CAM[1] * G + CAM[2] * B;
    + +

    +According to the documentation on drivers, the +latter (the "else" clause) should never happen. +

    + +
    +
    DeviceRGB (nine floats) +
    if((r == g) && (g == b))
    +   R' = B' = G' = R;
    +else
    +   R' = CAM[0]*R + CAM[1]*G + CAM[2]*B;
    +   G' = CAM[3]*R + CAM[4]*G + CAM[5]*B;
    +   B' = CAM[6]*R + CAM[7]*G + CAM[8]*B;
    + +

    +The printer always uses four inks, so a special treatment of black is +provided. Algorithms may take special action if R, G, and B are all +equal. +

    + +
    +
    DeviceCMYK (sixteen floats) +
    +
    if((c == m) && (m == y))
    +   K' = max(C,K);
    +   C' = M' = Y' = 0;
    +else
    +   K  = min(C,M,Y);
    +   if((K > 0) && ColorAdjustMatrix_present) { => UCR
    +      C -= K;
    +      M -= K;
    +      Y -= K;
    +   }
    +
    +   C' = CAM[ 0]*C + CAM[ 1]*M + CAM[ 2]*Y + CAM[ 3]*K;
    +   M' = CAM[ 4]*C + CAM[ 5]*M + CAM[ 6]*Y + CAM[ 7]*K;
    +   Y' = CAM[ 8]*C + CAM[ 9]*M + CAM[10]*Y + CAM[11]*K;
    +   K' = CAM[12]*C + CAM[13]*M + CAM[14]*Y + CAM[15]*K;
    + +

    +Again we have a special black treatment. "max(C,K)" was introduced +because of a slight misbehaviour of Ghostscript, which delivers +black under certain circumstances as (1,1,1,0). Normally, when +no special black separation and undercolor removal procedures +are defined at the PostScript level, either (C,M,Y,0) or (0,0,0,K) +values are mapped. This would make the extended ColorAdjustMatrix +quite tedious, and so during mapping, black separation is done for +(C,M,Y,0) requests; and if there is a ColorAdjustMatrix, undercolor +removal is used too. In other words the default matrix is: + +

    +
    1 0 0 1 +
    0 1 0 1 +
    0 0 1 1 +
    0 0 0 1 +
    + +

    +and it is applied to CMYK values with separated and removed black. Raising +the CMY coefficients while lowering the K coefficients reduces black and +intensifies color. But be careful, because even small deviations from the +default cause drastic changes. +

    + +

    +If no ColorAdjustMatrix is set, the matrix computations are +skipped. Thus the transformation reduces to range inversion in monochrome +mode and black separation in CMYK mode. + +

    RGB / CMYK coding and transfer, and BitsPerPixel

    + +

    +These two (groups of) parameters are arrays of floating-point numbers in +the range 0.0 to 1.0. They control the truncation to the desired number of +bits stored in raster memory (BitsPerPixel) and the ink +density. The "truncation" may become a nonlinear function if any of the +?coding arrays is set. Assume the following Ghostscript +invocation: + +

    gs -sDEVICE=stcolor -sDithering=fscmyk -dBitsPerPixel=16 \
    +     -dKcoding='{ 0.0 0.09 0.9 1.0 }' \
    +     -dMcoding='{ 0.0 0.09 0.9 1.0 }' \
    +   -dKtransfer='{ 0.0 0.09 0.9 1.0 }' \
    +   -dYtransfer='{ 0.0 0.09 0.9 1.0 }'
    +
    + +

    +We may have either or both of ?coding and +?transfer, giving four possible combinations. (These four +combinations appear in the given example.) The resulting mapping appears +in the following tables, where except for the internal Indices (4 +components × 4 bits = 16 BitsPerPixel), all values +are normalized to the range 0 to 1. The actual range is 0 to 65535 for the +Ghostscript color and 0 to 16777215 for the ink values delivered to the +fscmyk algorithm. Sorry for the bunch of numbers +following, but you may try this example in conjunction with +stcinfo.ps, which should give you a graphical printout of +the following numbers when you issue a showpage command. + +

    +
      +   + Cyan
    +
      + Magenta
    +
    CI/15 +   + gs_color_values +   + CI +   + Ink +   + gs_color_values +   + CI +   + Ink +

    +
    0.000 +   + 0.000 - 0.062 +   + 0 +   + 0.000 +   + -0.123 - 0.123 +   + 0 +   + 0.000 +
    0.067 +   + 0.063 - 0.125 +   + 1 +   + 0.067 +   + 0.123 - 0.299 +   + 1 +   + 0.247 +
    0.133 +   + 0.125 - 0.187 +   + 2 +   + 0.133 +   + 0.299 - 0.365 +   + 2 +   + 0.351 +
    0.200 +   + 0.188 - 0.250 +   + 3 +   + 0.200 +   + 0.365 - 0.392 +   + 3 +   + 0.379 +
    0.267 +   + 0.250 - 0.312 +   + 4 +   + 0.267 +   + 0.392 - 0.420 +   + 4 +   + 0.406 +
    0.333 +   + 0.313 - 0.375 +   + 5 +   + 0.333 +   + 0.420 - 0.447 +   + 5 +   + 0.433 +
    0.400 +   + 0.375 - 0.437 +   + 6 +   + 0.400 +   + 0.447 - 0.475 +   + 6 +   + 0.461 +
    0.467 +   + 0.438 - 0.500 +   + 7 +   + 0.467 +   + 0.475 - 0.502 +   + 7 +   + 0.488 +
    0.533 +   + 0.500 - 0.562 +   + 8 +   + 0.533 +   + 0.502 - 0.529 +   + 8 +   + 0.516 +
    0.600 +   + 0.563 - 0.625 +   + 9 +   + 0.600 +   + 0.529 - 0.557 +   + 9 +   + 0.543 +
    0.667 +   + 0.625 - 0.687 +   + 10 +   + 0.667 +   + 0.557 - 0.584 +   + 10 +   + 0.571 +
    0.733 +   + 0.688 - 0.750 +   + 11 +   + 0.733 +   + 0.584 - 0.612 +   + 11 +   + 0.598 +
    0.800 +   + 0.750 - 0.812 +   + 12 +   + 0.800 +   + 0.612 - 0.639 +   + 12 +   + 0.626 +
    0.867 +   + 0.813 - 0.875 +   + 13 +   + 0.867 +   + 0.639 - 0.715 +   + 13 +   + 0.653 +
    0.933 +   + 0.875 - 0.937 +   + 14 +   + 0.933 +   + 0.715 - 0.889 +   + 14 +   + 0.778 +
    1.000 +   + 0.938 - 1.000 +   + 15 +   + 1.000 +   + 0.889 - 1.111 +   + 15 +   + 1.000 +
    + +

    +The difference between cyan and magenta is the presence of a coding array. +The coding process must map a range of color values to each of the sixteen +component indices. If no coding array is given, this is accomplished +by dividing by 4096, equivalent to a right shift by 12 bits. The +final ink density resides in the given interval and moves from the left to +the right side from 0 to 15. For magenta there is a coding array +and the ink value matches the center of the intervals. But the distribution +of the mapped intervals follows the given coding array and is nonlinear in +the linear color space of Ghostscript. + +

    +Now let us take a look at the case with transfer arrays: + +

    +
      +   + Yellow
    +
      + Black
    +
    CI/15 +   + gs_color_values +   + CI +   + Ink +   + gs_color_values +   + CI +   + Ink +

    +
    0.000 +   + 0.000 - 0.062 +   + 0 +   + 0.000 +   + -0.123 - 0.123 +   + 0 +   + 0.000 +
    0.067 +   + 0.063 - 0.125 +   + 1 +   + 0.018 +   + 0.123 - 0.299 +   + 1 +   + 0.067 +
    0.133 +   + 0.125 - 0.187 +   + 2 +   + 0.036 +   + 0.299 - 0.365 +   + 2 +   + 0.133 +
    0.200 +   + 0.188 - 0.250 +   + 3 +   + 0.054 +   + 0.365 - 0.392 +   + 3 +   + 0.200 +
    0.267 +   + 0.250 - 0.312 +   + 4 +   + 0.072 +   + 0.392 - 0.420 +   + 4 +   + 0.267 +
    0.333 +   + 0.313 - 0.375 +   + 5 +   + 0.090 +   + 0.420 - 0.447 +   + 5 +   + 0.333 +
    0.400 +   + 0.375 - 0.437 +   + 6 +   + 0.252 +   + 0.447 - 0.475 +   + 6 +   + 0.400 +
    0.467 +   + 0.438 - 0.500 +   + 7 +   + 0.414 +   + 0.475 - 0.502 +   + 7 +   + 0.467 +
    0.533 +   + 0.500 - 0.562 +   + 8 +   + 0.576 +   + 0.502 - 0.529 +   + 8 +   + 0.533 +
    0.600 +   + 0.563 - 0.625 +   + 9 +   + 0.738 +   + 0.529 - 0.557 +   + 9 +   + 0.600 +
    0.667 +   + 0.625 - 0.687 +   + 10 +   + 0.900 +   + 0.557 - 0.584 +   + 10 +   + 0.667 +
    0.733 +   + 0.688 - 0.750 +   + 11 +   + 0.920 +   + 0.584 - 0.612 +   + 11 +   + 0.733 +
    0.800 +   + 0.750 - 0.812 +   + 12 +   + 0.940 +   + 0.612 - 0.639 +   + 12 +   + 0.800 +
    0.867 +   + 0.813 - 0.875 +   + 13 +   + 0.960 +   + 0.639 - 0.715 +   + 13 +   + 0.867 +
    0.933 +   + 0.875 - 0.937 +   + 14 +   + 0.980 +   + 0.715 - 0.889 +   + 14 +   + 0.933 +
    1.000 +   + 0.938 - 1.000 +   + 15 +   + 1.000 +   + 0.889 - 1.111 +   + 15 +   + 1.000 +
    + +

    +Yellow uses a transfer array. There is no linear correspondence between +the color and the ink values: this correspondence is defined through the +given array. In other words, the transfer arrays define a nonlinear ink +characteristic, which is exactly the same functionality that PostScript's +"(color)transfer" function provides. + +

    +While for yellow the intervals match the intervals used with cyan, for +black the intervals match the magenta intervals. But watch the +correspondence between the CI/15 values and the ink density for black: this +is a linear distribution in the ink domain. + +

    +Not a bad idea, I think. Consider the fs2 algorithm: it +uses values in the range 0 to 255. If any transfer array were alone, some +of the 256 possible values would never be used and others would be used for +adjacent intervals several times. Establishing an identical coding array +solves this problem, so the full potential of the algorithm is used. + +

    +Another useful feature of the coding arrays is that they are internally +normalized to the range 0-1. In 720x720dpi mode the transfer arrays in +stcolor.ps limit the dot density to about 50%, so these +arrays end at 0.5 (and begin at 0.5 for RGB). Because of automatic +normalization, these arrays can also be used as coding arrays. But of +course in the fs2 case mentioned above, values from 0 to +127 will never be delivered to the algorithm, while values 128-255 are +delivered for adjacent intervals. + +

    +To clarify the intended use of the three parameters (parameter groups), keep this in mind: + +

      +
    • ColorAdjustMatrix is never used when transferring gray +values. This restricts it to what the name says: adjustment of colors, +that is, correction for miscolored ink. Do not use it for saturation or +brightness control. + +
    • ?transfer arrays control the values delivered to the +driver, which in turn controls the ink quantity. Use these arrays to +control saturation and brightness. In general these arrays are identical +for all inks. If they differ they provide a simpler scheme for color +correction, which is not necessarily faster than the +ColorAdjustMatrix. + +
    • ?coding arrays control the color value intervals mapped +to the internal color indices. +
    + +

    What is weaving?

    + +

    +The Epson Stylus Color has a head assembly that contains two physically +identifiable heads, one for black and one for cyan, magenta, and yellow +(CMY). This makes four "logical" heads, one for each color component. +Each of these four heads has several jets at some vertical (Y) distance +from one another, so several horizontal lines can be printed of a given +color during one pass of the heads. From experience I think there are +fifteen jets per color, spaced at 1/90in. + +

    +So the question arises of how to print at a Y resolution of 360dpi with +90dpi jets. Simply by division one gets 360dpi/90dpi = 4, which tells us +that 4 passes of the head assembly are needed to achieve a Y resolution of +360dpi. + +

    +Weaving is the method of how the fifteen jets are used to print adjacent +horizontal rows separated here by 1/360 inch: + +

    +

    Print-head jets used with and without weaving
    +
      +   + Weaving
    +
         + noWeave
    +
      + Pass + 1 +   + 2 +   + 3 +   + 4 +   + 1 +   + 2 +   + 3 +   + 4 +
    Row +
    0 +   + jet 0 +   + -- +   + -- +   + -- +   + jet 0 +   + -- +   + -- +   + -- +
    1 +   + -- +   + jet 1 +   + -- +   + -- +   + -- +   + jet 0 +   + -- +   + -- +
    2 +   + -- +   + -- +   + jet 2 +   + -- +   + -- +   + -- +   + jet 0 +   + -- +
    3 +   + -- +   + -- +   + -- +   + jet 3 +   + -- +   + -- +   + -- +   + jet 0 +
    4 +   + jet 1 +   + -- +   + -- +   + -- +   + jet 1 +   + -- +   + -- +   + -- +
    5 +   + -- +   + jet 2 +   + -- +   + -- +   + -- +   + jet 1 +   + -- +   + -- +
    6 +   + -- +   + -- +   + jet 3 +   + -- +   + -- +   + -- +   + jet 1 +   + -- +
    ... +
    + +

    +Now let's assume that the dot diameter is different for each individual +jet, but the average among the jets matches the desired resolution. With +weaving, adjacent rows are printed by different jets, thus some averaging +takes place. Without weaving, adjacent rows are printed by the same jet +and this makes the dot diameter deviations visible as 1/90in stripes on +the paper. + +

    Print mode parameters

    + +

    +The parameters "Unidirectional", +"Microweave", "noWeave", +"OutputCode", "Model" and the given +resolution control the data generated for the printer. + +

    Unidirectional

    + +

    +Simply toggles the unidirectional mode of the printer. Setting +"Unidirectional" definitely slows printing speed, but may +improve the quality. I use this for printing transparencies, where fast +head movement could smear the ink. + +

    Microweave, +noWeave and OutputCode=deltarow

    + +

    +The first are two booleans, which implies that four combinations are +possible. Actually only three exist (if you don't count for +deltarow): Softweave, +Microweave, and noWeave. The first and +second are functionally identical, the difference being whether the driver +or the printer does the job. + +

    +In the default Softweave mode the driver sends the data +properly arranged to the printer, while in Microweave mode, +it is the printer that arranges the data. But in general the host processor +is much faster than the printer's processor, and thus it is faster for the +host do the job. In addition to that, for 720dpi eight passes are +required, and the amount of buffer space needed to buffer the data for the +passes is far beyond the printer's memory. Softweave +requires an odd value of "escp_Band"; the Stylus Color +provides fifteen for that. + +

    +"OutputCode" controls the encoding used. In the basic +modes, the choice consists of "plain" and "runlength". The computation of +runlength-encoded data does not take much time, less than the data tranfer +to the printer; thus this is the recommended mode, and of course the +default. With the Stylus Color, Epson introduced some new encoding +principles, namely "tiff" and "deltarow". While the first was omitted from +this driver for lack of apparent advantages, "deltarow" is +available as an option. "Softweave" cannot be used with +this encoding, so if OutputCode=deltarow is set, +Microweave becomes the default. Maybe that the size of the +ESC/P2 code becomes smaller, but I have never observed faster printing +speed. Things tend to become slower with deltarow compared +to Softweave. + +

    Model

    + +

    +Some ESC/P2 printers such as the Stylus 800 do not offer +Microweave or the commands required to do +Softweave. Setting Model just changes the +defaults and omits some parts of the initialization sequence which are not +compatible with the given printer model. Currently only +"st800" is supported besides the default +stcolor. + +

    Bugs and pitfalls

    + +
      +
    • The given ?coding and ?transfer arrays +should be strictly monotonic. + +
    • It is impossible to change WHITE: that's your paper. +Thus RGB transfer should end at 1.0 and CMYK transfer should start at 0.0. + +
    • Usually 8 bits per component yields fastest operation. + +
    • The ColorAdjustMatrix is not used in the reverse +transformation used when Ghostscript does the dithering +(gs* modes). Expect funny results. + +
    • If BitsPerPixel is less than 6, the entire coding and +transfer process does not work. This is always true for the +gs* modes and becomes true for the other modes if +BitsPerPixel is forced to low values. + +
    • 720×720dpi printing should never select the gs* +modes and should always use stcolor.ps. (I prefer +360×720.) +
    + +

    Tests

    + +

    +This section gives an overview of performance in terms of processing and +printing times, from tests run after version 1.13. Printing was done +offline (simply copying a processed file to the printer) to measure real +printing speed without regard to speed of processing on the host, since at +high resolutions, processing time is the same order of magnitude and thus +may become the limiting factor. + +

    The various OutputCodes

    + +

    +I ran several files though Ghostscript and recorded the size of the +resulting print code, the processing time, and the printing time, at least +for some of the files, always using these options: + +

    +gs -sDEVICE=stcolor -sPAPERSIZE=a4 stcolor.ps - < file.ps +
    + +

    +(Actually "-sPAPERSIZE=a4" is in my +gs_init.ps since I'm a germ.) + +

    "deltarow" is the new encoding principle +("ESC . 3 10 10 1") with +Microweave on. It is activated with +"-sOutputCode=deltarow". + +

    "Softweave" actually means that nothing else was used: +it is the default, and implies that odd v=40/h=10/m=15 mode +("ESC . 1 40 10 15"). + +

    "Microweave" means "-dMicroweave", +equivalent to "ESC . 1 10 10 1", +with full skip optimization and microweave activated. + +

    +Finally I wanted to see the plain Kathy Ireland, and used +"-sOutputCode=plain", which just replaces runlength +encoding (RLE) by no encoding, thus using +"ESC . 0 40 10 15". [So sorry +;-) Kathy was still dressed in blue in front of the blue +sea on a blue air cushion -- nice to see but hard to dither.] + +

    +So here are the results. + +

    + +

    File sizes and printing speeds with various weaving methods
    +
      +   + golfer.ps +   + colorcir.ps +   + drawing.ps +   + brief.ps +

    +
    deltarow +   + 572751/48.180u +   + 643374/41.690u +   + 90142/46.180u/1:50 +   + 178563/49.350u/2:22 +
    Softweave +   + 559593/46.810u +   + 669966/44.960u +   + 296168/48.160u/1:30 +   + 269808/43.320u/1:55 +
    Microweave +   + 590999/56.060u +   + 754276/42.890u +   + 338885/47.060u/1:50 +   + 282314/44.690u/2:22 +
    + +
    + +

    Kathy Ireland
    +
      +   + kathy.ps +

    +
    deltarow +   + 3975334/111.940u/5:35 +
    Softweave +   + 3897112/101.940u/3:10 +
    Microweave +   + 4062829/100.990u/3:15 +
    plain/soft +   + 5072255/104.390u/3:05 +
    + +

    +It may be that I've not chosen the optimal deltarow code, +but even if it saves at lot of bytes, printing-speed is not increased. + +

    +At least the printer prefers plain Kathy. In other words, sending 1 +Megabyte or 20% more data has no impact on printing speed. +drawing.ps is an exception to this rule: plain prints +slower than RLE. + +

    +"Unclever" coding -- especially with deltarow -- can +significantly slow down printing. But even if very significant advantages +in the size of the code are achieved, "deltarow" is not +competitive. colorcir.ps shows savings with +deltarow, but printing is a mess. + +

    Printing time related to other options

    + +

    +Full page halftone images printed, unless otherwise noted. + +

    +

    Printing time related to other options
    +
    dpi +   + Print mode +   + Size KB +   + Time +   + Comments +

    +
    180x180 +   + mono +   + -/uni +   + 358 +   + 1:15 +   +   +
      +   +   +   + -/bi +   + 358 +   + 0:45 +   +   +
      +   +   +   + micro/bi +   + 205 +   + 0:45 +   + Not weaving +
      +   +   +   + soft/bi +   + 179 +   + 1:25 +   +   +
      +   + color +   + -/bi +   + 641 +   + 2:45 +   +   +
      +   +   +   + soft/bi +   + 556 +   + 1:32 +   +   +
    360x360 +   + mono +   + -/uni +   + 269 +   + 0:50 +   + Monochrome text +
      +   +   +   + -/bi +   + 269 +   + 0:35 +   + Monochrome text +
      +   +   +   + micro/bi +   + 269 +   + 2:25 +   + Monochrome text +
      +   +   +   + soft/uni +   + 250 +   + 3:15 +   + Monochrome text +
      +   +   +   + soft/bi +   + 250 +   + 1:55 +   + Monochrome text +
      +   + color +   + -/bi +   + 346 +   + 1:00 +   + Sparse-color page, visible displacements +
      +   +   +   + micro/bi +   + 346 +   + 1:50 +   + Sparse-color page, looks buggy -- printer? +
      +   +   +   + soft/bi +   + 294 +   + 1:30 +   + Sparse-color page, O.K. +
      +   +   +   + -/bi +   + 2218 +   + 2:45 +   + Visible stripes +
      +   +   +   + micro/bi +   + 5171 +   + 3:17 +   +   +
      +   +   +   + soft/bi +   + 3675 +   + 3:05 +   +   +
    360x720 +   + mono +   + soft/bi +   + 2761 +   + 5:40 +   +   +
      +   + color +   + soft/bi +   + 7789 +   + 6:15 +   + Just a small difference! +
    720x360 +   + color +   + soft/bi +   + 7182 +   + 5:40 +   +   +
    720x720 +   + color +   + micro/bi +   + 14748 +   + 30:26 +   + Actually beyond printer's capabilities +
      +   +   +   + soft/bi +   + 14407 +   + 11:08 +   +   +
    + +

    Acknowledgments

    + +

    +This driver was copied from gdevcdj.c (Ghostscript 3.12), +which was contributed by George Cameron, Koert Zeilstra, and Eckhard +Rueggeberg. Some of the ESC/P2 code was drawn from Richard Brown's +gdevescp.c. The POSIX interrupt code (compilation option +-DSTC_SIGNAL) is from Frederic Loyer. Several improvements +are based on discussions with Brian Converse, Bill Davidson, Gero Guenther, +Jason Patterson, ? Rueschstroer, and Steven Singer. + +

    +While I wish to thank everyone mentioned above, they are by no means +responsible for bugs in the stcolor driver -- just for the features. + +

    +Gunther Hess
    +Richard Wagner Strasse 112
    +D-47057 Duisburg
    +Germany
    ++49 203 376273 telephone (MET evening hours)
    +<ghess@elmos.de> +
    + +
    + +

    uniprint, a flexible unified printer driver

    + +

    +uniprint is a unified parametric driver by Gunther Hess +<ghess@elmos.de> for several +kinds of printers and devices, including + +

    +
      +
    • any Epson Stylus Color, Stylus, or Stylus Pro +
    • HP PCL/RTL +
    • Canon BubbleJet Color 610 +
    • NEC P2X +
    • Sun raster file format +
    + +

    +This driver is intended to become a unified printer driver. If you +consider it ugly, please send me your suggestions for improvements. The +driver will be updated with them. Thus the full explanation of the driver's +name is: + +

    +Ugly- -> Updated- -> Unified Printer Driver +
    + +

    +But you probably want to know something about the functionality. +At the time of this writing uniprint drives: + +

      +
    • NEC Pinwriter P2X (24-pin monochrome impact printer, ESC/P style) +
    • Several Epson Stylus Color models (ESC/P2 style) +
    • HP-DeskJet 550c (basic HP-RTL) +
    • Canon BJC 610 +
    + +

    +It can be configured for various other printers without recompilation +and offers uncompressed (ugly) Sun rasterfiles as another format, but +this format is intended for testing purposes rather than real use. +The usage of this driver is quite simple. The typical command line looks +like this: + +

    +gs @{MODEL}.upp -sOutputFile={printable file} MyFile.ps -c quit +
    + +

    +For example, from my GNU/Linux box: + +

    +gs @stc.upp -sOutputFile=/dev/lp1 tiger.ps -c quit +
    + +
    +

    Unified Printer Parameter files distributed with Ghostscript
    +
    Canon BJC 610 (color, rendered) +
         + bjc610a0.upp +    + 360×360dpi +    + plain paper, high speed +
      + bjc610a1.upp +   + 360×360dpi +   + plain paper +
      + bjc610a2.upp +   + 360×360dpi +   + coated paper +
      + bjc610a3.upp +   + 360×360dpi +   + transparency film +
      + bjc610a4.upp +   + 360×360dpi +   + back print film +
      + bjc610a5.upp +   + 360×360dpi +   + fabric sheet +
      + bjc610a6.upp +   + 360×360dpi +   + glossy paper +
      + bjc610a7.upp +   + 360×360dpi +   + high gloss film +
      + bjc610a8.upp +   + 360×360dpi +   + high resolution paper +
      +
      + bjc610b1.upp +   + 720×720dpi +   + plain paper +
      + bjc610b2.upp +   + 720×720dpi +   + coated paper +
      + bjc610b3.upp +   + 720×720dpi +   + transparency film +
      + bjc610b4.upp +   + 720×720dpi +   + back print film +
      + bjc610b6.upp +   + 720×720dpi +   + glossy paper +
      + bjc610b7.upp +   + 720×720dpi +   + high-gloss paper +
      + bjc610b8.upp +   + 720×720dpi +   + high resolution paper +
      +
    HP Ink-Printers +
      + cdj550.upp +   + 300×300dpi +   + 32-bit CMYK +
      + cdj690.upp +   + 300×300dpi +   + Normal mode +
      + cdj690ec.upp +   + 300×300dpi +   + Economy mode +
      + dnj750c.upp +   + 300×300dpi +   + Color -- also good for 450C +
      + dnj750m.upp +   + 600×600dpi +   + Monochrome +
      +
    NEC P2X +
      + necp2x.upp +   + 360×360dpi +   + 8-bit (Floyd-Steinberg) +
      +
    Any Epson Stylus Color +
      + stcany.upp +   + 360×360dpi +   + 4-bit, PostScript halftoning +
      + stcany_h.upp +   + 720×720dpi +   + 4-bit, PostScript halftoning +
      +
    Original Epson Stylus and Stylus Pro Color +
      + stc.upp +   + 360×360dpi +   + 32-bit CMYK, 15-pin +
      + stc_l.upp +   + 360×360dpi +   + 4-bit, PostScript halftoning, weaved noWeave +
      + stc_h.upp +   + 720×720dpi +   + 32-bit CMYK, 15-pin Weave +
      +
    Epson Stylus Color II +
      + stc2.upp +   + 360×360dpi +   + 32-bit CMYK, 20-pin, Epson Stylus Color II(s) +
      + stc2_h.upp +   + 720×720dpi +   + 32-bit CMYK, 20-pin, Epson Stylus Color II +
      + stc2s_h.upp +   + 720×720dpi +   + 32-bit CMYK, 20-pin, Epson Stylus Color IIs +
      +
    Epson Stylus Color 200 +
      + stc200.upp +   + 360×720dpi +   + Plain Paper +
      +
    Epson Stylus Color 300 +
      + stc300.upp +   + 360×360dpi +   + 32-bit CMYK, plain paper +
      + stc300bl.upp +   + 180×180dpi +   + black only, plain paper +
      + stc300bm.upp +   + 360×360dpi +   + black only, plain paper +
      +
    Epson Stylus Color 500 (good transfer curves for plain paper) +
      + stc500p.upp +   + 360×360dpi +   + 32-bit CMYK, noWeave, plain paper +
      + stc500ph.upp +   + 720×720dpi +   + 32-bit CMYK, noWeave, plain paper +
      +
    Epson Stylus Color 600, 32/90-inch weaving +
      + stc600pl.upp +   + 360×360dpi +   + 32-bit CMYK, 32-pin, plain paper +
      + stc600p.upp +   + 720×720dpi +   + 32-bit CMYK, 32-pin, plain paper +
      + stc600ih.upp +   + 1440×720dpi +   + 32-bit CMYK, 30-pin, inkjet paper +
      +
    Epson Stylus Color 640 +
      + stc640p.upp +   + 720×720dpi +   + plain paper? + + + +
      + st640p.upp +   + 720×720dpi +   + CMYK, plain paper +
      + st640pg.upp +   + 720×720dpi +   + grayscale, plain paper +
      + st640pl.upp +   + 360×360dpi +   + CMYK, plain paper +
      + st640plg.upp +   + 360×360dpi +   + grayscale, plain paper +
      + st640ih.upp +   + 1440×720dpi +   + CMYK, inkjet paper +
      + st640ihg.upp +   + 1440×720dpi +   + grayscale, inkjet paper + + + + + + +
      +
    Epson Stylus Color 800, 64/180-inch weaving +
      + stc800pl.upp +   + 360×360dpi +   + 32-bit CMYK, 64-pin, plain paper +
      + stc800p.upp +   + 720×720dpi +   + 32-bit CMYK, 64-pin, plain paper +
      + stc800ih.upp +   + 1440×720dpi +   + 32-bit CMYK, 62-pin, inkjet paper +
      + stc1520.upp +   + 1440×720dpi +   + 32-bit CMYK, 62-pin, inkjet paper +
      +
    Sun raster file +
      + ras1.upp +   + 1-bit +   + monochrome (Ghostscript) +
      + ras3.upp +   + 3-bit +   + RGB (Ghostscript) +
      + ras4.upp +   + 4-bit +   + CMYK (Ghostscript) +
      + ras8m.upp +   + 8-bit +   + grayscale (Floyd-Steinberg) +
      + ras24.upp +   + 24-bit +   + RGB (Floyd-Steinberg) +
      + ras32.upp +   + 32-bit +   + CMYK (CMYK-Floyd-Steinberg) +
    + +

    +Thanks to Danilo Beuche, Guido Classen, Mark Goldberg and Hans-Heinrich +Viehmann for providing the files for the stc200, hp690, stc500 and the +stc640. Thanks to Michael Lossin <losse@germanymail.com> for the +newer st640 parameter sets. + +

    +Please note the following: + +

      +
    • Changing the resolution with Ghostscript's +-r switch is +usually not possible. +
    • For Epson Stylus Color models not listed above, the two +stc500 variants are likely to work in addition to +stcany, but their gamma correction might be wrong. +
    + +

    The state of this driver

    + +

    +The coding of uniprint was triggered by the requirements of +the various Stylus Color models and some personal needs for HP and NEC +drivers. Thus the Epson models are well represented among the distributed +parameter files. When this driver entered the beta test phase, three other +drivers appreared on the scene that could be at least partially integrated +into uniprint: cdj850 by Uli Wortmann +(available at http://www.erdw.ethz.ch/~bonk/hp850/hp850.html), +hpdj by Martin Lottermoser, and bjc610 by +Helmut Riegler. + +

    +Uli addresses features of the more recent DeskJet models that will not be +available in uniprint soon. Martin taught me a lesson on +HP-PCL3 headers that will be available in uniprint +soon. Helmut in turn followed an almost similar idea, but targetted +primarily for printing on Canon printers from the pbmplus library. Starting +with version 1.68 of uniprint, BJC support is available. Work on the +hpdj integration will start after the update of my website. + +

    Notes on uniprint's background

    + +

    +uniprint is actually an update of stcolor, +but much more versatile than its predecessor; stcolor, in +its turn, started as a clone of the color DeskJet family of drivers +(cdj*). Finally, cdj* can be considered an +addition of features to the simpler monochrome drivers of Ghostscript. This +addition of features is useful to get an idea of the functionality of +uniprint: + +

    +
    +
    Monochrome to advanced color (cdj*): +
    This adds color mapping and rendering functions to the driver. +Error diffusion is especially important for the quality of printing. +
    + +
    +
    HP color to Epson Color (stcolor) +
    The Epson Stylus Color offered two features simultaneously: it could +produce 720×720dpi output and it could soak the paper. In other +words, it required more color management features inside the driver. This +is still the major conceptual difference in the data generation for HP and +Epson printers. +
    + +
    +
    Weaving techniques (stcolor) +
    Besides the internal color management, the Stylus Color did not provide +enough buffer space to operate the printer fast at 720×720dpi. The +use of weaving could yield triple the print speed. Weaving, also called +interleaving, is present in some monochrome drivers too. The new thing in +stcolor was the combination with error diffusion. +Unfortunately the weaving was somehow hard-coded, as the problems with the +newer members of the Stylus Color family of printers demonstrated. +
    + +
    +
    Generalized output format and weaving (uniprint) +
    The features mentioned above yield about 90% of +stcolor's source code; only 10% is related to the +formatting of the output. The idea to make the output format switchable +came up soon after completing stcolor, but its final design +was triggered by the (personal) necessity to drive a NEC P2X and a +Designjet 750c. +
    + +

    +Thus uniprint accumulates almost any features that can be +found among the other printer drivers, which clearly has some disadvantage +in processing speed -- true in particular of version 1.75, since it was +targetted for functionality, and several speed-gaining features were +(knowingly) omitted. + +

    +To summarize and to introduce the terms used in the description of the +parameters, the features of uniprint that can be +parameterized are: + +

      +
    • color mapping, +
    • color rendering (error diffusion or Floyd-Steinberg), +
    • output format, including +
    • weaving. +
    + +

    Godzilla's guide to the creation of Unified Printer Parameter (.upp) files

    + +

    +Here is one of the distributed parameter files (stc_l.upp) +with some added comments. Also see the section that describes +all uniprint's parameters in +brief. + +

    +-supModel="Epson Stylus Color I (and PRO Series), 360x360DpI, noWeave"
    +-sDEVICE=uniprint                    -- Select the driver
    +-dNOPAUSE                            -- Useful with printers
    +-dSAFER                              -- Provides some security
    +-dupColorModel=/DeviceCMYK           -- Selects the color mapping
    +-dupRendering=/ErrorDiffusion        -- Selects the color rendering
    +-dupOutputFormat=/EscP2              -- Selects the output format
    +-r360x360                            -- Adjusts the resolution
    +-dupMargins="{ 9.0 39.96 9.0 9.0}"   -- Establishes (L/B/R/T margins in points)
    +-dupComponentBits="{1 1 1 1}"        -- Map: bits per component (default: 8)
    +-dupWeaveYPasses=4                   -- Weave: Y-passes (default: 1)
    +-dupOutputPins=15                    -- Format/weave: scans per Command
    +-dupBeginPageCommand="<              -- Goes to the printer
    +  1b40   1b40                        -- ESC '@' ESC '@'    -> dual reset
    +  1b2847 0100 01                     -- ESC '(' 'G' 1 0 1  -> graphics
    +  1b2869 0100 00                     -- ESC '(' 'i' 1 0 1  -> no HW weave
    +  1b2855 0100 0A                     -- ESC '(' 'U' 1 0 10 -> 360dpi
    +  1b5500                             -- ESC 'U'  0         -> bidir print
    +  1b2843 0200 0000                   -- ESC '(' 'C' 2 0 xx -> page length
    +  1b2863 0400 0000 0000              -- ESC '(' 'c' 4 0 xxxx -> margins
    +>"                                   -- as it is, unless:
    +-dupAdjustPageLengthCommand          -- Adjust page length in BOP requested
    +-dupAdjustTopMarginCommand           -- Adjust top margin in BOP
    +-dupAdjustBottomMarginCommand        -- Adjust bottom margin in BOP
    +-dupEndPageCommand="(\033@\014)"     -- Last (but one) data to the printer
    +-dupAbortCommand="(\033@\15\12\12\12\12    Printout-Aborted\15\014)"
    +
    + +

    +That's short, and if one removes upWeaveYPasses and +upOutputPins it becomes shorter, almost +stcany.upp. This miniature size is because I am most +familiar with ESC/P2, and was able to add defaults for the omitted +parameters. Now a few notes about the parameters used in this example: + +

      +
    • upModel is a string serving as a comment (and nothing else). + +
    • DEVICE, +NOPAUSE, SAFER are well-known Ghostscript +parameters described in the usage documentation. + +
    • upColorModel is one of major uniprint +parameters: it selects the color mapping and in turn the PostScript color +model. It supports the devices /DeviceGray, /DeviceRGBW, /DeviceRGB, /DeviceCMYK, and /DeviceCMYKgenerate. + +
    • upRendering selects the (color) rendering, supporting +the values /ErrorDiffusion and /FSCMYK32. +/ErrorDiffusion is similar to fsmono, +fsrgb and fsx4 of stcolor, +while /FSCMYK32 is (almost) identical to +fscmyk and hscmyk, but is restricted to +32-bit data and should be used in conjunction with +/DeviceCMYKgenerate. + +
    • upOutputFormat selects the output method, supporting the values +/SunRaster, /Epson, /EscP2, /EscP2XY, and/Pcl. + +
      +
      /SunRaster +   + creates Sun raster files and requires no other parameters +
      /Epson +   + is used for the elderly ESC/P format (used by many printers) +
      /EscP2 +   + is used by more recent Epson printers (no X weaving supported) +
      /EscP2XY +   + supports X-Weaving, used with 1440dpi printers and in stc2s_h +
      /Pcl +   + HP PCL/RTL-style output formatter without weaving +
      + +
    • -r360x360 is Ghostscript's standard +resolution switch. + +
    • upMargins="{ 9.0 39.96 9.0 9.0}" +has function similar to the Ghostscript parameter +.HWMargins: it sets the left, bottom, right, and top +margins in points. uniprint provides this parameter to +enable automatic left-right exchange if upYFlip is active. + +
    • upComponentBits is an array of integers that selects +the bits stored in raster memory, by default 8 bits per component. In this +example, 1 bit is selected for each component, thus turning down the +Floyd-Steinberg algorithm (but still carrying out the time-consuming +computation). The related parameter "upComponentShift" +controls positioning the components within raster memory. Each of the +numbers given corresponds to a component which depends on the selected +"upColorModel": + +
      +
        +   + /DeviceGray +   + /DeviceRGBW +   + /DeviceRGB +   + /DeviceCMYK +   + /DeviceCMYKgenerate +

      +
      0 +   + White +   + White +   + Red +   + Black +   + Black +
      1 +   + -- +   + Red +   + Green +   + Cyan +   + Cyan +
      2 +   + -- +   + Green +   + Blue +   + Magenta +   + Magenta +
      3 +   + -- +   + Blue +   + -- +   + Yellow +   + Yellow +
      + +

      +This order may not be suitable for some printers, so another parameter +"upOutputComponentOrder", also an array of integers, +selects the output order using the numbers on the left. +

      + +

      +One group of very important parameters not used in the example above +deserves to be mentioned here: the transfer arrays, named +"up{color}Transfer", where +{color} is one of the names in the table above. These are +arrays of floats in the range 0.0 - 1.0 representing the color transfer +functions. They are used during mapping and rendering. In the simplest +case, these arrays ensure an equidistant distribution of the stored values +within the device space (which means a nonlinear mapping from Ghostscript's +point of view). If the given array does not cover the entire range from 0 +to 1, which applies for the Stylus Color family at high resolution for some +media, only the relevant part gets mapped to raster memory (meaning that +is's fully utilized) and the rendering takes care of the "overhang" (in +this case the post-diffusion of 1-bit components makes sense). + +

      +Finally an important note on the transfer arrays: for monochrome devices +the stored component is White, which is the way PostScript +defines these devices, but most printers require Black. +Thus one has to provide a falling "upWhiteTransfer" for +such printers. + +

    • upWeaveYPasses is an integer that gives the number of +print head passes required to achieve the requested Ydpi. This makes sense +only if + +
    • upOutputPins is set to something greater than 1. Thus +multiple pins or nozzles are transferred with a single command, and of +course such a command must be supported by the device. + +
    + +

    +If no other weave parameters are given, uniprint computes +several defaults which together do no weaving. The /Epson +and /EscP2XY formats take care of +"upWeaveXPasses" too. + +

      + +
    • upBeginPageCommand represents the data transferred to +the printer whenever a new page begins. Before that, +"upBeginJobCommand" is written to the device only once per +output file. (Intended for the HP PJL sequences). + +
    • upAdjustBottomMarginCommand, +upAdjustMediaSize, +upAdjustPageLengthCommand, +upAdjustPageWidthCommand, +upAdjustResolutionCommand, and +upAdjustTopMarginCommand + +

      +Normally uniprint does not change the +"upBeginPageCommand", nor does it provide a default. +However, if the above boolean values are set, the corresponding values are +changed (provided that the code of the formatters supports this change and +the commands to be adjusted are included in the BOP string). + +

    • upEndPageCommand is the fixed termination sequence for +each page, and of course there is an "upEndJobCommand" too. + +
    • upAbortCommand is written if uniprint's +interrupt detection is enabled and a signal is caught. It replaces +"upEndPageCommand" and "upEndJobCommand", +thus allowing the indication of an aborted job. (Ghostscript gets an error +return from uniprint in this case, and abandons further +processing.) + +
    + +

    +For the ESC/P(2) formats all commands represent binary data, while for +the PCL/RTL formatter some of them are formats for fprintf. These strings +must explicitly have a trailing "\0'. + +

    +I should write more, but the only recommendation is to +take a look at the various parameter files. Here are a few more hints. + +

      +
    • If the Driver rejects a configuration, nothing happens until +showpage; then an error is raised and a message with +"CALL-REJECTED upd_print_page..." is printed on stderr. + +
    • uniprint has lots of messages that can be activated by +setting bits in the preprocessor macro UPD_MESSAGES. I +usually use the compile-time option -DUPD_MESSAGES=0x17 for +configuration development. (For the semantics, check the +UPD_M_ macros in the source.) + +
    • A program "uninfo.ps" distributed with Ghostscript +displays interactively in alphabetical order the contents of the current +pagedevice dictionary. This includes any parameters generated or changed by +uniprint. +
    + +

    All parameters in brief

    + +

    +This table gives a brief explanation of every parameter known to +uniprint, listing them in alphabetical order. "[ ]" +denotes that a parameter is an array, and "(RO)" that it is read-only. + +

    + +

    All uniprint parameters
    +
    Parameter +   + Type +     + Use +

    +
    upAbortCommand +   + String +   + End of page and file on interrupt +
    upAdjustBottomMarginCommand +   + Bool +   + Manipulate bottom margin in upBeginPageCommand +
    upAdjustMediaSizeCommand +   + Bool +   + Manipulate Mediasize [intended] +
    upAdjustPageLengthCommand +   + Bool +   + Manipulate page length in upBeginPageCommand +
    upAdjustPageWidthCommand +   + Bool +   + Manipulate page width in upBeginPageCommand +
    upAdjustResolutionCommand +   + Bool +   + Manipulate resolution +
    upAdjustTopMarginCommand +   + Bool +   + Manipulate top margin in upBeginPageCommand +
    upBeginJobCommand +   + String +   + Begin each output file +
    upBeginPageCommand +   + String +   + Begin each page +
    upBlackTransfer +   + Float[ ] +   + Black transfer (CMYK only!) +
    upBlueTransfer +   + Float[ ] +   + Blue transfer +
    upColorInfo +   + Int[ ] +   + struct gx_device_color_info +
    upColorModel +   + Name +   + Select color mapping +
    upColorModelInitialized +   + Bool (RO) +   + Color mapping OK +
    upComponentBits +   + Int[ ] +   + Bits stored per component +
    upComponentShift +   + Int[ ] +   + Positioning within gx_color_index +
    upCyanTransfer +   + Float[ ] +   + Cyan transfer +
    upEndJobCommand +   + String +   + End each file unless upAbortCommand +
    upEndPageCommand +   + String +   + End each page unless upAbortCommand +
    upErrorDetected +   + Bool (RO) +   + Severe (VM) error, not fully operational +
    upFSFixedDirection +   + Bool +   + Inhbits direction toggling in rendering +
    upFSProcessWhiteSpace +   + Bool +   + Causes white-space rendering +
    upFSReverseDirection +   + Bool +   + Run rendering in reverse (if fixed) +
    upFSZeroInit +   + Bool +   + Non-random rendering initialization +
    upFormatXabsolute +   + Bool +   + Write absolute X coordinates +
    upFormatYabsolute +   + Bool +   + Write absolute Y coordinates +
    upGreenTransfer +   + Float[ ] +   + Green transfer +
    upMagentaTransfer +   + Float[ ] +   + Magenta transfer +
    upMargins +   + Float[ ] +   + L/B/R/T margins in points +
    upModel +   + String +   + Comment string, holds some info +
    upOutputAborted +   + Bool (RO) +   + Caught an interrupt +
    upOutputBuffers +   + Int +   + Number of rendering buffers (2^N) +
    upOutputComponentOrder +   + Int[ ] +   + Order of components when printing +
    upOutputComponents +   + Int +   + Number of written components, not fully operational +
    upOutputFormat +   + Name +   + Select output format +
    upOutputFormatInitialized +   + Bool (RO) +   + Format data OK +
    upOutputHeight +   + Int +   + Output height in pixels +
    upOutputPins +   + Int +   + Number of pins / nozzles per command +
    upOutputWidth +   + Int +   + Output width in pixels +
    upOutputXOffset +   + Int +   + Offset in pixels, if upFormatXabsolute +
    upOutputXStep +   + Int +   + Divisor or multiplier for X coords +
    upOutputYOffset +   + Int +   + Offset in pixels, if upFormatYabsolute +
    upOutputYStep +   + Int +   + Divisor or multiplier for Y coords +
    upRasterBufferInitialized +   + Bool (RO) +   + GS buffer OK +
    upRedTransfer +   + Float[ ] +   + Red transfer +
    upRendering +   + Name +   + Select rendering algorithm +
    upRenderingInitialized +   + Bool (RO) +   + Rendering parameters OK +
    upSelectComponentCommands +   + String[ ] +   + Establish color (output order!) +
    upSetLineFeedCommand +   + String +   + Adjust linefeed (Epson only) +
    upVersion +   + String (RO) +   + Source code version +
    upWeaveFinalPins +   + Int[ ] +   + Number of bottom pins on EOP passes +
    upWeaveFinalScan +   + Int +   + Begin EOP passes (Y-coord) +
    upWeaveFinalXStarts +   + Int[ ] +   + X-pass indices for EOP passes +
    upWeaveFinalYFeeds +   + Int[ ] +   + Y increments for EOP passes +
    upWeaveInitialPins +   + Int[ ] +   + Number of top pins on BOP passes +
    upWeaveInitialScan +   + Int +   + End BOP passes (Y coord) +
    upWeaveInitialXStarts +   + Int[ ] +   + X-pass indices for BOP passes +
    upWeaveInitialYFeeds +   + int[ ] +   + Y increments for BOP passes +
    upWeavePasses +   + Int +   + XPasses × YPasses +
    upWeaveXPasses +   + Int +   + Number of X passes +
    upWeaveXStarts +   + Int[ ] +   + X-pass indices for normal passes +
    upWeaveYFeeds +   + Int[ ] +   + Y increments for normal passes +
    upWeaveYOffset +   + Int +   + Number of blank or incomplete scans at BOP +
    upWeaveYPasses +   + Int +   + Number of X passes +
    upWhiteTransfer +   + Float[ ] +   + White transfer (monochrome devices!) +
    upWriteComponentCommands +   + String[ ] +   + Commands to write each component +
    upWroteData +   + Bool (RO) +   + Something (BeginJob) written to output +
    upXMoveCommand +   + String +   + X positioning command +
    upXStepCommand +   + String +   + Single step to the right +
    upYFlip +   + Bool +   + Flips output along the Y axis +
    upYMoveCommand +   + String +   + Y positioning command +
    upYStepCommand +   + String +   + Single step down +
    upYellowTransfer +   + Float[ ] +   + Yellow transfer +
    + +

    uniprint's Roll of Honor

    + +

    +I should mention all of the people who were involved in +stcolor's evolution, but I've decided to start from scratch +here for uniprint: + +

    +
    +
    John P. Beale +
    for testing the stc600 modes +
    Bill Davidson +
    who triggered some weaving research and tested stc2s_h +
    L. Peter Deutsch +
    who triggered ease of configuration +
    Mark Goldberg +
    who prepared the stc500 transfers +
    Scott F. Johnston and Scott J. Kramer +
    for testing the stc800 modes +
    Martin Lottermoser +
    for his great commented H-P DeskJet driver +
    Helmut Riegler +
    for the BJC extension +
    Hans-Gerd Straeter +
    for some measured transfer curves and more +
    Uli Wortmann +
    for discussions and his cdj850 driver +
    My family +
    for tolerating my printer-driver hacking +
    +
    + +
    +Gunther Hess
    +Duesseldorfer Landstr. 16b
    +D-47249 Duisburg
    +Germany
    ++49 203 376273 telephone (MET evening hours)
    +<ghess@elmos.de> +
    +

    Uniprint weaving parameters howto

    +This section was contributed by Glenn Ramsey.

    +

    I wrote this because the documentation was very brief and I really struggled +with it for a while, but it is very simple once you understand what is going +on. +

    This only describes how to work out the Y parameters, I haven't looked +at the X parameters yet. +

      +
    1. +Determine the nozzle geometry (upOutputPins) +

      +You need to know how many nozzles the printer has and the spacing between +them. Usually you can find this out from the printer manual, or the printer +supplier, but you may have to dissect a couple of printer output files +produced with the driver supplied with the printer. There is a utility +called escp2ras* that will help with that. +Sometimes the term pin is used instead of nozzle but they mean the same thing. +

      The number of nozzles will be the value assigned to the upOutputPins +parameter. +

      Actually you don't have to print with all the pins available but for +the purpose of demonstration I'll assume that we are using them all. +

      +* escp2ras is available from Gunther Hess' page at http://www-md.e-technik.uni-rostock.de/ma/gunther/gs/index.html +

    2. +

      +

    3. Determine how many passes are required (upWeaveYPasses) +

      The number of passes required is going to depend on the required resolution +and the nozzle spacing. +

      +passes = resolution * nozzle spacing + +
      +This will be the value assigned to the upWeaveYPasses parameter. +

      For example if the desired resolution is 360 dpi and the nozzles are +spaced at 1/90in then 360 * 1/90 = 4 passes are required. For 720 dpi 8 +passes would be required. The printer would, of course, have to be capable +of moving the paper in increments of either 360 or 720 dpi too. +

    4. +

      +

    5. +Determine the normal Y feed increment (upWeaveYFeeds) +

      +You need to work out how much to feed the paper so that when the paper +has moved by one head length in however many passes you have then each +row space on the paper has been passed over by at least one nozzle. There +will be one feed value for each pass and the feed values must comply with +the following rules: +

      + +

      sum of feeds = passes * nozzles +
      feed%passes != 0 (feed is not exactly divisible by passes) +
      sum of (nozzles - feed) = 0 +
      +

      +

      For example if passes=4 and nozzles=15, then sum of feeds=60. The feed +values could be 1,1,1,57 or 15,15,15,15 or 14,15,18,13. +

      These values will be assigned to the upWeaveYFeeds parameter. +

      You would need to experiment to see what combination looks best on the +printer. +

      I found it convenient to draw several lines of nozzles and then move +them around to see how the different combinations would fill the paper. +A computer drawing tool makes this easier than pencil and paper (I used +Dia, a GNOME app). The number of nozzles would probably be be a good place +to start. +

      Remember that if the number of passes is more than 1 then the feed increment +will be less than the nozzle spacing and passes × feed increment size +must equal the physical distance between each nozzle. +

    6. +

      +

    7. +Determine the beginning of page pins (upWeaveInitialPins) +

      +These values will be assigned to the upWeaveInitialPins parameter and are +the numbers of nozzles to operate in each of the initial passes at the top +of a page. The nozzles that the values refer to are the topmost nozzles +on the head, nearest the top margin. If the image doesn't start at the +top margin then uniprint doesn't use these feeds. +

      I don't know a mathematical relation for this except that at least one +of the values must be the number of nozzles, but I'm sure that there must +be one. I used a graphical method, the description that follows refers +to the ascii diagram in below. +

      Draw a line of nozzles for each pass arranged as they would be using +the normal Y feed increment determined in step 3. In the diagram below +this would be passes 5-8. +

      Draw a line of nozzles that would print just before the first normal +pass. The feed increment for this pass will be close to and most likely +1 or 2 units less than the feed increment of the last normal pass. In the +example below this line is pass 4 and the feed increment is 13 whereas +the normal feed increment is 15. +

      Draw each pass before that with a small feed increment so that if all +of the nozzles appearing above the first nozzle of the first normal pass +operate then all of the spaces will be filled. This feed increment is usually +1 except in cases where some jiggery pokery is going on to make the printer +print at an apparent higher resolution than the nozzle diameter. +

      Now select the nozzles that will operate in each of theses initial passes +so that the paper is filled. In each pass the nozzles must be adjacent +to each other and at least one of the passes will have all the nozzles +operating. I suspect that for each combination of normal Y feed increments +there will only be one set of valid beginning of page increments. +

    8. +
    +

    Example: stc.upp from Aladdin Ghostscript 6.01

    +15 nozzles spaced at 1/90 in, 360 dpi requires 4 passes. +
    +-dupWeaveYPasses=4
    +-dupOutputPins=15
    +-dupWeaveYFeeds="{15 15 15 15}"
    +-dupWeaveInitialYFeeds="{1 1 1 13}"
    +-dupWeaveInitialPins="{ 4 15 11 7}"
    +
    +The following diagram shows which nozzles operate during each pass. +
    Passes 1-4 are beginning of page passes and passes 5-8 are normal passes. +
    +

    x=nozzle operates, o=nozzle not used in this pass +

      1 2 3 4 5 6 7 8 - pass no +
    0 x +
    1   x +
    2     x +
    3       x +
    4 x +
    5   x +
    6     x +
    7       x +
    8 x +
    9   x +
    0     x +
    1       x +
    2 x +
    3   x +
    4     x +
    5       x +
    6 o       x +
    7   x +
    8     x +
    9       x +
    0 o       x +
    1   x +
    2     x +
    3       x +
    4 o       x +
    5   x +
    6     x +
    7       x +
    8 o       x +
    9   x +
    0     x +
    1       o   x +
    2 o       x +
    3   x +
    4     x +
    5       o   x +
    6 o       x +
    7   x +
    8     x +
    9       o   x +
    0 o       x +
    1   x +
    2     x +
    3       o   x +
    4 o       x +
    5   x +
    6     o       +x +
    7       o   x +
    8 o       x +
    9   x +
    0     o       +x +
    1       o   x +
    2 o       x +
    3   x +
    4     o       +x +
    5       o   x +
    6 o       x +
    7   x +
    8     o       +x +
    9       o   x +
    0         x +
    1               +x +
    2             +x +
    3           x +
    4         x +
    5               +x +
    6             +x +
    7           x +
    8         x +
    9               +x +
    0             +x +
    1           x +
    2         x +
    3               +x +
    4             +x +
    5           x +
    6 +
    7               +x +
    8             +x +
    9           x +
    0 +
    1               +x +
    2             +x +
    3           x +
    4 +
    5               +x +
    6             +x +
    7           x +
    8 +
    9               +x +
    0             +x +
    1 +
    2 +
    3               +x +
    4             +x +
    5 +
    6 +
    7               +x +
    8             +x +
    9 +
    0 +
    1               +x +
    2             +x +
    3 +
    4 +
    5               +x +
    6 +
    7 +
    8 +
    9               +x +
    0 +
    1 +
    2 +
    3               +x +
    4 +
    5 +
    6 +
    7               +x +

    +

    These parameters would also work: +

    +-dupWeaveYPasses=4
    +-dupOutputPins=15
    +-dupWeaveYFeeds="{14 15 18 13}"
    +-dupWeaveInitialYFeeds="{1 1 1 13}"
    +-dupWeaveInitialPins="{ 4 11 7 15}"
    +
    +

    +


    +

    Extension to uniprint for the Epson Stylus Color 300

    +This section was contributed by Glenn Ramsey.

    +The Epson Stylus Color 300 uses a different command set to other Epson +Stylus Color printers that use the ESC/P2 language. As far as I can +tell its commands are a subset of ESC/P2. In ESC/P2 the colour to be +printed is selected by a 'set colour' command and then the data sent +is only printed in that colour until the colour is changed with another +'set colour' command. The Stylus Color 300 lacks this functionality. +The data sent to the printer maps directly to the ink nozzles and colour +of an output scan line in the printed output is determined by the position +of the scan line within the data. This means that the driver must know +how the nozzles are arranged and must format the output accordingly. +The extension adds a format that I have called EscNozzleMap and adds some + additional parameters to uniprint.
    +

      +
    • upOutputFormatselects the output method, and should be set to the value +/EscNozzleMap to select this format. +
      + + + + + + + + +
      /EscNozzleMap produces output for the Epson Stylus Color 300 +
      +
      +
    + +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    uniprint parameters for the + EscNozzleMap format +
    Parameter +   + Type +     + Use +
    +
    upNozzleMapRowsPerPass  + Int +   + output rows to generate for each pass of the head +
    upNozzleMapPatternRepeat  + Int +   + no. of rows that correspond to the repeat pattern of the + nozzles +
    upNozzleMapRowMask  + Int[] +   + mask indicating the colour of the nozzles +
    upNozzleMapMaskScanOffset  + Int[] +   + mask indicating the physical position of the nozzles +
    +
    + +

    A more detailed description of the new parameters

    +
      +
    • upNozzleMapRowsPerPass
      + The number of rows of data that are required to address all nozzles for a + single pass of the head. There will always be this number of rows of output + data generated. I'd expect it to be the same as the total number of nozzles but + it wouldn't break the formatter if it wasn't. So if you wanted to print with + only the 10th nozzle then row 10 would contain data corresponding to the bit + pattern and all of the others would be padded with zeros. +
    • +
    • upNozzleMapPatternRepeat
      + The number of nozzles in each repeated group on the printing head. + This parameter must correspond with the length of the upNozzleMapRowMask array. +
    • +
    • upNozzleMapRowMask
      + An array of integers that defines the colour of the nozzles on the + head and whether the nozzles will be used to print. The array index + defines the row index for the nozzle in the output data + and the value defines the colour of the nozzle. The mapping + of colours to values is defined in the table below. +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      colour +   + mask value +
      +
      K  + 1 +
      C  + 2 +
      M  + 3 +
      Y  + 4 +
      no data  + 0 +
      +
      + A value of 0 means that the nozzle is not used and the row in the output data will be + padded with zeros.
      +
    • +
    • upNozzleMapMaskScanOffset
      + An array of integers that defines the physical position of the nozzles relative + to the first nozzle in the repeated group. The relative distance is measured in + printed line widths and will be different for different printing resolutions. + This parameter is used because the physical spacing of the nozzles may not + correspond to their mapping in the output data. For example the ESC300 has nozzles + physically arranged something like this: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +   +   +   +   +   +   +   +   +   +   +   +   +   +   +   +   +   +   +   +
        +   +   +   +   +   +   +   +   +   +   +   +   +   +   +   +   +   +   +   + etc ... +
      + There is a one nozzle width space between the last two nozzles in each group. + In the output data the data for the last nozzle in the group would be in row 5 + (numbering starts at 0) but the nozzle is physically positioned at 6 spaces from + the first nozzle. +
    +

    Example 1 - Epson Stylus Color 300 - 360 dpi colour

    +
    +-dupWeaveYPasses=6
    +-dupOutputPins=11
    +-dupWeaveYFeeds="{ 11 11 11 11 11 11 }"
    +-dupWeaveInitialYFeeds="{ 1 1 1 1 1 7 }"
    +-dupWeaveInitialPins="{ 2 11 9 7 5 3 }"
    +-dupNozzleMapRowsPerPass=64
    +-dupNozzleMapPatternRepeat=6
    +-dupNozzleMapRowMask="{ 2 4 1 3 0 0 }"
    +-dupNozzleMapMaskScanOffset="{ 0 1 2 3 0 0 }"
    +
    +The weaving parameters are the same as for any other uniprint driver +but they must be consistent with the nozzle map parameters. In this printer +the coloured nozzles are spaced at 1/60" so 6 passes are required for 360 +dpi resolution. +

    +In the example there are 64 rows of data required for each head pass. Each +row must be completely filled with data for each pass so if certain nozzles +do not print in the pass then the rows for those nozzles will be padded +with zeroes. +

    +The row mask translates to "C Y K M 0 0" so in the output data rows 0,7,13,... +will contain data for cyan, rows 1,8,14,... will contain data for yellow, etc. Rows 4,10,16,... +and 5, 11,15,... will always be padded with zeroes. The upNozzleMapPatternRepeat +parameter defines the length of the mask. +

    +The row mask is repeated for each group of upNozzleMapPatternRepeat rows +in the output data. In this case there are 64 rows so there will be 10 groups +of "C Y K M 0 0" followed by "C Y K M" which is equivalent to 11 output +pins. +

    +The upNozzleMaskScanOffset array indicates how the data from the scan +buffer is mapped to the output data. The data is presented to the formatter +as a buffer of four colour scanlines. The index of the scanline being printed, +lets call it y, always corresponds, in this example, to the physical position of +the cyan nozzle but since the nozzles are not on the same horizontal +line then the other colours for the current pass must come from other +scanlines in the scan buffer. The example is { 0 1 2 3 0 0 }, this means that +when printing a 4 colour image the magenta data would come from scanline y+3, +the black from scanline y+2, etc. It would have been possible in this case +to use the array index instead of the upNozzleMaskScanOffset parameter +however the parameter is necessary to be able to use the full capability of the +printer in black only mode. + +

    Example 2 - Epson Stylus Color 300 - 180 dpi black only

    +
    +
    +-dupMargins="{ 9.0 39.96 9.0 9.0}"
    +-dupWeaveYPasses=1
    +-dupOutputPins=31
    +-dupNozzleMapRowsPerPass=64
    +-dupNozzleMapPatternRepeat=6
    +-dupNozzleMapRowMask="{ 0 0 1 0 1 1}"
    +-dupNozzleMapMaskScanOffset="{ 0 0 0 0 1 2 }"
    +
    +
    +In this example there is no weaving. +

    +The ESC300 has black nozzles evenly physically arranged as K K K but the data must +be sent to the printer as 00K0KK. This is handled by the upNozzleMapRowMask +and upNozzleMaskScanOffset arrays. The upNozzleMapRowMask array is +{ 0 0 1 0 1 1} which translates to { 0 0 K 0 K K } so rows 0, 1 and 3 will always +contain zeros and the other rows will contain data. +

    +The upNozzleMaskScanOffset array +in this case is { 0 0 0 0 1 2 } so if the data for the 1st nozzle comes from row +y in the scan buffer then the data for the 2nd and 3rd nozzles will come from rows +y+1 and y+2. + +

    Example 3 - Epson Stylus Color 300 - 360 dpi black only

    +
    +
    +-dupWeaveYPasses=2
    +-dupOutputPins=31
    +-dupWeaveYFeeds="{31 31}"
    +-dupWeaveInitialYFeeds="{1 31}"
    +-dupWeaveInitialPins="{16 31}"
    +-dupNozzleMapRowsPerPass=64
    +-dupNozzleMapPatternRepeat=6
    +-dupNozzleMapRowMask="{ 0 0 1 0 1 1}"
    +-dupNozzleMapMaskScanOffset="{ 0 0 0 0 2 4 }"
    +
    +
    +In this example 2 weave passes are required to achieve the desired resolution. +

    +The upNozzleMaskScanOffset array in this case is { 0 0 0 0 2 4 } because +there are two weave passes so if the data for the first nozzle comes from row y +in the scan buffer then the data for the 2nd and 3rd nozzles must come from rows +y+(1*2) and y+(2*2). +

    +

    +Glenn Ramsey
    +glennr at users.sourceforge.net
    +February 2001 +
    +
    +
    + +

    Sun SPARCprinter

    + +

    +This section was contributed by Martin Schulte. + +

    +With a SPARCprinter you always buy software that enables you to do +PostScript printing on it. A page image is composed on the host, which +sends a bitmap to the SPARCprinter through a special SBUS video interface. +So the need for a Ghostscript interface to the SPARCPrinter seems low, but +on the other hand, Sun's software prints some PostScript drawings +incorrectly: some pages contain a thin vertical line of rubbish, and on +some Mathematica drawings the text at the axes isn't rotated. Ghostscript, +however, gives the correct results. Moreover, replacing proprietary +software should never be a bad idea. + +

    +The problem is that there has yet been no effort to make the SPARCPrinter +driver behave like a BSD output filter. I made my tests using the script +shown here. + +

    Installation

    + +

    +Add sparc.dev to DEVICE_DEVS and compile +Ghostscript as described in the documentation on how to +build Ghostscript. Afterwards you can use the following script as an +example for printing after modifying it with the right pathnames -- +including for {GSPATH} the full pathname of the Ghostscript +executable: + +

    +
    outcmd1='/vol/local/lib/troff2/psxlate -r'
    +outcmd2='{GSPATH} -sDEVICE=sparc -sOUTPUTFILE=/dev/lpvi0 -'
    +
    +if [ $# -eq 0 ]
    +then
    +  $outcmd1 | $outcmd2
    +else
    +  cat $* | $outcmd1 | $outcmd2
    +fi
    +
    + +

    Problems

    + +

    +Since /dev/lpi can be opened only for exclusive use, if +another job has it open (engine_ctl_sparc or another Ghostscript are the +most likely candidates), Ghostscript stops with "Error: /invalidfileaccess +in --.outputpage--" + +

    +In case of common printer problems like being out of paper, a warning +describing the reason is printed to stdout. The driver tries access again +each five seconds. Due to a problem with the device driver (in the kernel) +the reason for printer failure isn't always reported correctly to the +program. This is the case, for instance, if you open the top cover (error +E5 on the printer's display). Look at the display on the printer itself if +a "Printer problem with unknown reason" is reported. Fatal errors cause +the print job to be terminated. + +


    + +

    Apple dot matrix printer

    + +

    +This section was contributed by Mark Wedel +<master@cats.ucsc.edu>. + +

    +The Apple Dot Matrix Printer (DMP) was a parallel predecessor to the +Imagewriter printer. As far as I know, Imagewriter commands are a superset +of the Dot Matrix printer's, so the driver should generate output that can +be printed on Imagewriters. + +

    +To print images, the driver sets the printer for unidirectional printing +and 15 characters per inch (cpi), or 120dpi. It sets the line feed to 1/9 +inch. When finished, it sets the printer to bidirectional printing, +1/8-inch line feeds, and 12 cpi. There appears to be no way to reset the +printer to initial values. + +

    +This code does not set for 8-bit characters (which is required). It also +assumes that carriage return-newline is needed, and not just carriage +return. These are all switch settings on the DMP, and I have configured +them for 8-bit data and carriage return exclusively. Ensure that the Unix +printer daemon handles 8-bit (binary) data properly; in my SunOS 4.1.1 +printcap file the string "ms=pass8,-opost" +works fine for this. + +

    +Finally, you can search devdemp.c for +"Init" and "Reset" to find the strings that +initialize the printer and reset things when finished, and change them to +meet your needs. + + + + +


    + +

    +Copyright © 1996-2002 artofcode LLC. +All rights reserved. + +

    +This software is provided AS-IS with no warranty, either express or +implied. + +This software is distributed under license and may not be copied, +modified or distributed except as expressly authorized under the terms +of the license contained in the file LICENSE in this distribution. + +

    +Ghostscript version 7.07, 17 May 2003 + + + + + + diff --git a/Master/xemtex/doc/ghostscript/Drivers.htm b/Master/xemtex/doc/ghostscript/Drivers.htm new file mode 100644 index 00000000000..c97bfaeb642 --- /dev/null +++ b/Master/xemtex/doc/ghostscript/Drivers.htm @@ -0,0 +1,2538 @@ + + + +The interface between Ghostscript and device drivers + + + + + + + + + + +

    The interface between Ghostscript and device drivers

    + + + + + +

    Table of contents

    + +
    + + + + + +

    For other information, see the Ghostscript +overview and the documentation on how to build +Ghostscript. + + + +


    + + + + + +

    Adding a driver

    + +

    +To add a driver to Ghostscript, first pick a name for your device, say +"smurf". (Device names must be 1 to 8 characters, begin +with a letter, and consist only of letters, digits, and underscores. Case +is significant: all current device names are lower case.) Then all you +need do is edit contrib.mak in two places. + +

      +
    1. The list of devices, in the section headed "Catalog". Add +smurf to the list. + +
    2. The section headed "Device drivers". + +

      +Suppose the files containing the smurf driver are called +"joe" and "fred". Then you should add the +following lines: + +

      +
      # ------ The SMURF device ------ #
      +
      +smurf_=$(GLOBJ)joe.$(OBJ) $(GLOBJ)fred.$(OBJ)
      +$(DD)smurf.dev: $(smurf_)
      +        $(SETDEV) $(DD)smurf $(smurf_)
      +
      +$(GLOBJ)joe.$(OBJ) : $(GLSRC)joe.c
      +	$(GLCC) $(GLO_)joe.$(OBJ) $(C_) $(GLSRC)joe.c
      +
      +$(GLOBJ)fred.$(OBJ) : $(GLSRC)fred.c
      +	$(GLCC) $(GLO_)fred.$(OBJ) $(C_) $(GLSRC)fred.c
      +
      + +

      +and whatever joe.c and fred.c depend on. +If the smurf driver also needs special libraries, for instance a library +named "gorf", then the entry should look like this: + +

      +
      $(DD)smurf.dev : $(smurf_)
      +        $(SETDEV) $(DD)smurf $(smurf_)
      +        $(ADDMOD) $(DD)smurf -lib gorf
      +
      + +

      +If, as will usually be the case, your driver is a printer driver (as +discussed below), the device entry should +look like this: + +

      +
      $(DD)smurf.dev : $(smurf_) $(GLD)page.dev
      +        $(SETPDEV) $(DD)smurf $(smurf_)
      +
      + +

      +or + +

      +
      $(DD)smurf.dev : $(smurf_) $(GLD)page.dev
      +        $(SETPDEV) $(DD)smurf $(smurf_)
      +        $(ADDMOD) $(DD)smurf -lib gorf
      +
      + +

      +Note that the space before the :, and the explicit compilation rules for the +.c files, are required for portability, +

    + +
    + +

    Keeping things simple

    + +

    +If you want to add a simple device (specifically, a monochrome printer), you +probably don't need to read the rest of this document; just use the code in +an existing driver as a guide. The Epson and Canon BubbleJet drivers gdevepsn.c and gdevbj10.c are good models for dot-matrix +printers, which require presenting the data for many scan lines at once; the +DeskJet/LaserJet drivers in gdevdjet.c are +good models for laser printers, which take a single scan line at a time but +support data compression. For color printers, there are unfortunately no +good models: the two major color inkjet printer drivers, gdevcdj.c and gdevstc.c, are far too complex to read. + +

    +On the other hand, if you're writing a driver for some more esoteric +device, you probably do need at least some of the information in the rest +of this document. It might be a good idea for you to read it in +conjunction with one of the existing drivers. + +

    +Duplication of code, and sheer volume of code, is a serious maintenance and +distribution problem for Ghostscript. If your device is similar to an +existing one, try to implement your driver by adding some parameterization +to an existing driver rather than by copying code to create an entirely new +source module. gdevepsn.c and gdevdjet.c are good examples of this approach. + +


    + +

    Driver structure

    + +

    +A device is represented by a structure divided into three parts: + +

      +
    • procedures that are (normally) shared by all instances of each device; + +
    • parameters that are present in all devices but may be different for +each device or instance; and + +
    • device-specific parameters that may be different for each instance. +
    + +

    +Normally the procedure structure is defined and initialized at compile +time. A prototype of the parameter structure (including both generic and +device-specific parameters) is defined and initialized at compile time, but +is copied and filled in when an instance of the device is created. Both of +these structures should be declared as const, but for backward +compatibility reasons the latter is not. + +

    +The gx_device_common macro defines the common structure +elements, with the intent that devices define and export a structure along +the following lines. Do not fill in the individual generic parameter values +in the usual way for C structures: use the macros defined for this purpose +in gxdevice.h or, if applicable, gdevprn.h. + +

    +
    typedef struct smurf_device_s {
    +        gx_device_common;
    +        ... device-specific parameters ...
    +} smurf_device;
    +smurf_device gs_smurf_device = {
    +        ... macro for generic parameter values ...,
    +        { ... procedures ... },         /* std_procs */
    +        ... device-specific parameter values if any ...
    +};
    +
    + +

    +The device structure instance must have the name +gs_smurf_device, where smurf is the device +name used in contrib.mak. gx_device_common +is a macro consisting only of the element definitions. + +

    +All the device procedures are called with the device as the first argument. +Since each device type is actually a different structure type, the device +procedures must be declared as taking a gx_device * as +their first argument, and must cast it to +smurf_device * internally. For example, in the code +for the "memory" device, the first argument to all routines is called +dev, but the routines actually use mdev to +refer to elements of the full structure, using the following standard +initialization statement at the beginning of each procedure: + +

    +
    gx_memory_device *const mdev = (gx_device_memory *)dev;
    +
    + +

    +(This is a cheap version of "object-oriented" programming: in C++, for +example, the cast would be unnecessary, and in fact the procedure table +would be constructed by the compiler.) + +

    Structure definition

    + +

    +You should consult the definition of struct gx_device_s in +gxdevice.h for the complete details of the +generic device structure. Some of the most important members of this +structure for ordinary drivers are: + +

    +
    const char *dname; +      + The device name +
    bool is_open; +   + True if device has been opened +
    gx_device_color_info color_info; +   + Color information +
    int width; +   + Width in pixels +
    int height; +   + Height in pixels +
    + +

    +The name in the structure (dname) should be the same as the +name in contrib.mak. + +

    For sophisticated developers only

    + +

    +If for any reason you need to change the definition of the basic device +structure, or to add procedures, you must change the following places: + +

      +
    • This document and the news document (if you want + to keep the documentation up to date). +
    • The definition of gx_device_common and the procedures + in gxdevcli.h. +
    • Possibly, the default forwarding procedures declared in + gxdevice.h and implemented in + gdevnfwd.c. +
    • The device procedure record completion routines in + gdevdflt.c. +
    • Possibly, the default device implementation in + gdevdflt.c, + gdevddrw.c, and + gxcmap.c. +
    • The bounding box device in gdevbbox.c + (probably just adding NULL procedure entries if the + new procedures don't produce output). +
    • These devices that must have complete (non-defaulted) procedure vectors: +
        +
      • The null device in gdevnfwd.c. +
      • The command list "device" in gxclist.c. + This is not an actual device; it only defines procedures. +
      • The "memory" devices in gdevmem.h and + gdevm*.c. +
      • The halftoning device in gdevht.c. +
      +
    • The clip list accumulation "device" in + gxacpath.c. +
    • The clipping "devices" gxclip.c, + gxclip2.c, + and gxclipm.c. +
    • The pattern accumulation "device" in + gxpcmap.c. +
    • The hit detection "device" in gdevhit.c. +
    • The generic printer device macros in + gdevprn.h. +
    • The generic printer device code in + gdevprn.c. +
    • The RasterOp source device in + gdevrops.c. +
    + +

    +You may also have to change the code for +gx_default_get_params or +gx_default_put_params in gsdparam.c. + +

    +You should not have to change any of the real devices in the standard +Ghostscript distribution (listed in devs.mak +and contrib.mak) or any of your own +devices, because all of them are supposed to use the macros in gxdevice.h or gdevprn.h to define and initialize their state. + +


    + +

    Coordinates and types

    + +

    Coordinate system

    + +

    +Since each driver specifies the initial transformation from user +coordinates to device coordinates, the driver can use any coordinate system +it wants, as long as a device coordinate will fit in an +int. (This is only an issue on DOS systems, where ints are +only 16 bits. User coordinates are represented as floats.) Most current +drivers use a coordinate system with (0,0) in the upper left corner, with +X increasing to the right and Y increasing +toward the bottom. However, there is supposed to be nothing in the rest of +Ghostscript that assumes this, and indeed some drivers use a coordinate +system with (0,0) in the lower left corner. + +

    +Drivers must check (and, if necessary, clip) the coordinate parameters given +to them: they should not assume the coordinates will be in bounds. The +fit_fill and fit_copy macros in gxdevice.h are very helpful in doing this. + +

    Color definition

    + +

    +Ghostscript represents colors internally as RGB or CMYK values. In +communicating with devices, however, it assumes that each device has a +palette of colors identified by integers (to be precise, elements of type +gx_color_index). Drivers may provide a uniformly spaced +gray ramp or color cube for halftoning, or they may do their own color +approximation, or both. + +

    +The color_info member of the device structure defines the +color and gray-scale capabilities of the device. Its type is defined as +follows: + +

    +
    typedef struct gx_device_color_info_s {
    +        int num_components;		/* 1 = gray only, 3 = RGB, */
    +        				/* 4 = CMYK */
    +        int depth;			/* # of bits per pixel */
    +        gx_color_value max_gray;	/* # of distinct gray levels -1 */
    +        gx_color_value max_rgb;		/* # of distinct color levels -1 */
    +        				/* (only relevant if num_comp. > 1) */
    +        gx_color_value dither_gray;	/* size of gray ramp for halftoning */
    +        gx_color_value dither_rgb;	/* size of color cube ditto */
    +        				/* (only relevant if num_comp. > 1) */
    +} gx_device_color_info;
    +
    + +

    +The following macros (in gxdevice.h) provide +convenient shorthands for initializing this structure for ordinary +black-and-white or color devices: + +

    +#define dci_black_and_white ...
    +#define dci_color(depth,maxv,dither) ... +
    + +

    +The idea is that a device has a certain number of gray levels +(max_gray+1) and a certain number of colors +(max_rgb+1) that it can produce directly. When Ghostscript +wants to render a given RGB or CMYK color as a device color, it first tests +whether the color is a gray level (if num_components is 1, +it converts all colors to gray levels), and if so: + +

    +If max_gray is large (>= 31), Ghostscript asks the +device to approximate the gray level directly. If the device returns a +valid gx_color_index, Ghostscript uses it. Otherwise, +Ghostscript assumes that the device can represent +dither_gray distinct gray levels, equally spaced along the +diagonal of the color cube, and uses the two nearest ones to the desired +color for halftoning. +
    + +

    +If the color is not a gray level: + +

    +If max_rgb is large (>= 31), Ghostscript asks the device +to approximate the color directly. If the device returns a valid +gx_color_index, Ghostscript uses it. Otherwise, +Ghostscript assumes that the device can represent + +
    +dither_rgb × dither_rgb × dither_rgb +
    + +

    +distinct colors, equally spaced throughout the color cube, and uses two of +the nearest ones to the desired color for halftoning. +

    + +

    Types

    + +

    +Here is a brief explanation of the various types that appear as parameters +or results of the drivers. + +

    +
    gx_color_value (defined in gxdevice.h) +
    This is the type used to represent RGB or CMYK color values. It is +currently equivalent to unsigned short. However, Ghostscript may use less +than the full range of the type to represent color values: +gx_color_value_bits is the number of bits actually used, +and gx_max_color_value is the maximum value, equal to +(2^gx_max_color_value_bits)-1. +
    + +
    +
    gx_device (defined in gxdevice.h) +
    This is the device structure, as explained above. +
    + +
    +
    gs_matrix (defined in gsmatrix.h) +
    This is a 2-D homogeneous coordinate transformation matrix, used by +many Ghostscript operators. +
    + +
    +
    gx_color_index (defined in gxdevice.h) +
    This is meant to be whatever the driver uses to represent a device +color. For example, it might be an index in a color map, or it might be R, +G, and B values packed into a single integer. Ghostscript doesn't ever do +any computations with gx_color_index values: it gets them +from map_rgb_color or map_cmyk_color and +hands them back as arguments to several other procedures. The special +value gx_no_color_index (defined as +(gx_color_index)(-1) ) means "transparent" for some of +the procedures. The type definition is simply: + +
    +typedef unsigned long gx_color_index; +
    +
    + +
    +
    gs_param_list (defined in gsparam.h) +
    This is a parameter list, which is used to read and set attributes in a +device. See the comments in gsparam.h, and +the description of the get_params and +put_params procedures below, for more detail. +
    + +
    +
    gx_tile_bitmap (defined in +gxbitmap.h) +
    gx_strip_bitmap (defined in +gxbitmap.h) +
    These structure types represent bitmaps to be used as a tile for +filling a region (rectangle). gx_tile_bitmap is an older +type lacking shift and rep_shift; +gx_strip_bitmap has superseded it, and it should not be +used in new code. Here is a copy of the relevant part of the file: + +
    +
    /*
    + * Structure for describing stored bitmaps.
    + * Bitmaps are stored bit-big-endian (i.e., the 2^7 bit of the first
    + * byte corresponds to x=0), as a sequence of bytes (i.e., you can't
    + * do word-oriented operations on them if you're on a little-endian
    + * platform like the Intel 80x86 or VAX).  Each scan line must start on
    + * a (32-bit) word boundary, and hence is padded to a word boundary,
    + * although this should rarely be of concern, since the raster and width
    + * are specified individually.  The first scan line corresponds to y=0
    + * in whatever coordinate system is relevant.
    + *
    + * For bitmaps used as halftone tiles, we may replicate the tile in
    + * X and/or Y, but it is still valuable to know the true tile dimensions
    + * (i.e., the dimensions prior to replication).  Requirements:
    + *      width % rep_width = 0
    + *      height % rep_height = 0
    + *
    + * For halftones at arbitrary angles, we provide for storing the halftone
    + * data as a strip that must be shifted in X for different values of Y.
    + * For an ordinary (non-shifted) halftone that has a repetition width of
    + * W and a repetition height of H, the pixel at coordinate (X,Y)
    + * corresponds to halftone pixel (X mod W, Y mod H), ignoring phase;
    + * for a shifted halftone with shift S, the pixel at (X,Y) corresponds
    + * to halftone pixel ((X + S * floor(Y/H)) mod W, Y mod H).  Requirements:
    + *      strip_shift < rep_width
    + *      strip_height % rep_height = 0
    + *      shift = (strip_shift * (size.y / strip_height)) % rep_width
    + */
    +typedef struct gx_strip_bitmap_s {
    +        byte *data;
    +        int raster;                     /* bytes per scan line */
    +        gs_int_point size;              /* width, height */
    +        gx_bitmap_id id;
    +        ushort rep_width, rep_height;   /* true size of tile */
    +        ushort strip_height;
    +        ushort strip_shift;
    +        ushort shift;
    +} gx_strip_bitmap;
    +
    +
    + +
    + +

    Coding conventions

    + +

    +All the driver procedures defined below that return int +results return 0 on success, or an appropriate negative error code in the +case of error conditions. The error codes are defined in gserrors.h; they correspond directly to the +errors defined in the PostScript language reference manuals. The most +common ones for drivers are: + +

    +
    gs_error_invalidfileaccess +
    An attempt to open a file failed. + +
    gs_error_ioerror +
    An error occurred in reading or writing a file. + +
    gs_error_limitcheck +
    An otherwise valid parameter value was too large for the +implementation. + +
    gs_error_rangecheck +
    A parameter was outside the valid range. + +
    gs_error_VMerror +
    An attempt to allocate memory failed. (If this happens, the procedure +should release all memory it allocated before it returns.) +
    + +

    +If a driver does return an error, rather than a simple return statement it +should use the return_error macro defined in gx.h, which is automatically included by gdevprn.h but not by gserrors.h. For example + +

    +return_error(gs_error_VMerror); +
    + +

    Allocating storage

    + +

    +While most drivers (especially printer drivers) follow a very similar +template, there is one important coding convention that is not obvious from +reading the code for existing drivers: driver procedures must not use +malloc to allocate any storage that stays around after the +procedure returns. Instead, they must use gs_malloc and +gs_free, which have slightly different calling conventions. +(The prototypes for these are in gsmemory.h, +which is included in gx.h, which is included in gdevprn.h.) This is necessary so that +Ghostscript can clean up all allocated memory before exiting, which is +essential in environments that provide only single-address-space +multi-tasking (some versions of Microsoft Windows). + +

    +
    char *gs_malloc(uint num_elements, uint element_size,
    +  const char *client_name);
    +
    + +

    +Like calloc, but unlike malloc, +gs_malloc takes an element count and an element size. For +structures, num_elements is 1 and +element_size is sizeof the structure; for +byte arrays, num_elements is the number of bytes and +element_size is 1. Unlike calloc, +gs_malloc does not clear the block of storage. + +

    +The client_name is used for tracing and debugging. It must +be a real string, not NULL. Normally it is the name of the +procedure in which the call occurs. + +

    +
    void gs_free(char *data, uint num_elements, uint element_size,
    +  const char *client_name);
    +
    + +

    +Unlike free, gs_free demands that +num_elements and element_size be supplied. It also +requires a client name, like gs_malloc. + +

    Driver instance allocation

    + +

    +All driver instances allocated by Ghostscript's standard allocator must +point to a "structure descriptor" that tells the garbage collector how to +trace pointers in the structure. For drivers registered in the normal way +(using the makefile approach described above), no special care is needed as +long as instances are created only by calling the +gs_copydevice procedure defined in gsdevice.h. If you have a need to define +devices that are not registered in this way, you must fill in the stype +member in any dynamically allocated instances with a pointer to the same +structure descriptor used to allocate the instance. For more information +about structure descriptors, see gsmemory.h +and gsstruct.h. + +


    + +

    Printer drivers

    + +

    +Printer drivers (which include drivers that write some kind of raster file) +are especially simple to implement. Of the driver procedures defined in the +next section, they only need implement two: map_rgb_color +(or map_cmyk_color) and map_color_rgb. In +addition, they must implement a print_page or +print_page_copies procedure. There are macros in gdevprn.h that generate the device structure for +such devices, of which the simplest is prn_device; for an +example, see gdevbj10.c. If you are writing +a printer driver, we suggest you start by reading gdevprn.h and the subsection on "Color mapping" below; you may be +able to ignore all the rest of the driver procedures. + +

    +The print_page procedures are defined as follows: + +

    +
    int (*print_page)(P2(gx_device_printer *, FILE *))
    +int (*print_page_copies)(P3(gx_device_printer *, FILE *, int))
    +
    + +

    +This procedure must read out the rendered image from the device and write +whatever is appropriate to the file. To read back one or more scan lines +of the image, the print_page procedure must call one of the +following procedures: + +

    +
    int gdev_prn_copy_scan_lines(P4(gx_device_printer *pdev, int y, byte *str,
    +    uint size)
    +
    + +

    +For this procedure, str is where the data should be copied to, and size is +the size of the buffer starting at str. This procedure returns the number +of scan lines copied, or <0 for an error. str need not be aligned. + +

    +
    int gdev_prn_get_bits(gx_device_printer *pdev, int y, byte *str,
    +  byte **actual_data)
    +
    + +

    +This procedure reads out exactly one scan line. If the scan line is +available in the correct format already, *actual_data is +set to point to it; otherwise, the scan line is copied to the buffer +starting at str, and *actual_data is set to +str. This saves a copying step most of the time. +str need not be aligned; however, if +*actual_data is set to point to an existing scan line, it +will be aligned. (See the description of the get_bits +procedure below for more details.) + +

    +In either case, each row of the image is stored in the form described in +the comment under gx_tile_bitmap above; each pixel takes +the number of bits specified as color_info.depth in the +device structure, and holds values returned by the device's +map_{rgb,cmyk}_color +procedure. + +

    +The print_page procedure can determine the number of bytes +required to hold a scan line by calling: + +

    +
    uint gdev_prn_raster(P1(gx_device_printer *))
    +
    + +

    +For a very simple concrete example, we suggest reading the code in +bit_print_page in gdevbit.c. + +

    +If the device provides print_page, Ghostscript will call +print_page the requisite number of times to print the +desired number of copies; if the device provides +print_page_copies, Ghostscript will call +print_page_copies once per page, passing it the desired +number of copies. + +


    + +

    Driver procedures

    + +

    +Most of the procedures that a driver may implement are optional. If a +device doesn't supply an optional procedure WXYZ, the entry +in the procedure structure may be either gx_default_WXYZ, +for instance gx_default_tile_rectangle, or +NULL or 0. (The device procedure must also call the +gx_default_ procedure if it doesn't implement the function +for particular values of the arguments.) Since C compilers supply 0 as the +value for omitted structure elements, this convention means that statically +initialized procedure structures continue to work even if new (optional) +members are added. + +

    Life cycle

    + +

    +A device instance begins life in a closed state. In this state, no output +operations will occur. Only the following procedures may be called: + +

    +open_device
    +finish_copydevice
    +get_initial_matrix
    +get_params
    +put_params
    +get_hardware_params +
    + +

    +When setdevice installs a device instance in the graphics +state, it checks whether the instance is closed or open. If the instance +is closed, setdevice calls the open routine, and then sets +the state to open. There is currently no user-accessible operation to +close a device instance. Device instances are only closed when they are +about to be freed, which occurs in three situations: + +

      +
    • When a restore occurs, if the instance was created since +the corresponding save and is in a VM being restored. I.e., +if the instance was created in local VM since a save, it +will always be closed and freed by the corresponding +restore; if it was created in global VM, it will only be +closed by the outermost restore, regardless of the save +level at the time the instance was created. + +
    • By the garbage collector, if the instance is no longer accessible. + +
    • When Ghostscript exits (terminates). +
    + +

    Open, close, sync, copy

    + +
    +
    int (*open_device)(P1(gx_device *)) [OPTIONAL] +
    Open the device: do any initialization associated with making the device +instance valid. This must be done before any output to the device. The +default implementation does nothing. NOTE: Clients should never call +a device's open_device procedure directly: they should +always call gs_opendevice instead. +
    + +
    +
    int (*finish_copydevice)(P2(gx_device *dev, const gx_device +*from_dev)) [OPTIONAL]
    Perform any cleanup +required after copydevice has created a new device instance +by copying from_dev. If the copy operation should not be +allowed, this procedure should return an error; the copy will be freed. The +default implementation allows copying the device prototype, but does not +allow copying device instances, because instances may contain internal +pointers that should not be shared between copies, and there is no way to +determine this from outside the device. NOTE: Clients should never +call a device's finish_copydevice procedure: this procedure +is only intended for use by gs_copydevice[2]. +
    + +
    +
    void (*get_initial_matrix)(P2(gx_device *, gs_matrix *)) [OPTIONAL] +
    Construct the initial transformation matrix mapping user coordinates +(nominally 1/72 inch per unit) to device coordinates. The default +procedure computes this from width, height, and +[xy]_pixels_per_inch on the assumption that +the origin is in the upper left corner, that is +
    +xx = x_pixels_per_inch/72, xy = 0,
    +yx = 0, yy = -y_pixels_per_inch/72,
    +tx = 0, ty = height. +
    +
    + +
    +
    int (*sync_output)(P1(gx_device *)) [OPTIONAL] +
    Synchronize the device. If any output to the device has been +buffered, send or write it now. Note that this may be called several times +in the process of constructing a page, so printer drivers should not +implement this by printing the page. The default implementation does +nothing. +
    + +
    +
    int (*output_page)(P3(gx_device *, int num_copies, int flush)) [OPTIONAL] +
    Output a fully composed page to the device. The +num_copies argument is the number of copies that should be +produced for a hardcopy device. (This may be ignored if the driver has +some other way to specify the number of copies.) The flush +argument is true for showpage, false for +copypage. The default definition just calls +sync_output. Printer drivers should implement this by +printing and ejecting the page. +
    + +
    +
    int (*close_device)(P1(gx_device *)) [OPTIONAL] +
    Close the device: release any associated resources. After this, output +to the device is no longer allowed. The default implementation does +nothing. NOTE: Clients should never call a device's +close_device procedure directly: they should always call +gs_closedevice instead. +
    + +

    Color and alpha mapping

    + +

    +A given driver normally implements either map_rgb_color or +map_cmyk_color, but not both. Black-and-white drivers need +implement neither. Note that the map_xxx_color procedures +must not return gx_no_color_index (all 1s). + +

    +Note that code in the Ghostscript library may cache the results of calling +one or more of the color mapping procedures. If the result returned by any +of these procedures would change (other than as a result of a change made by +the driver's put_params procedure), the driver must call +gx_device_decache_colors(dev). + +

    +
    gx_color_index (*map_rgb_color)(P4(gx_device *, +gx_color_value red, gx_color_value green, +gx_color_value blue)) [OPTIONAL] +
    Map a RGB color to a device color. The range of legal values of the +RGB arguments is 0 to gx_max_color_value. The default +algorithm uses the map_cmyk_color procedure if the driver +supplies one, otherwise returns 1 if any of the values exceeds +gx_max_color_value / 2, 0 otherwise. + +

    +Ghostscript assumes that for devices that have color capability (that is, +color_info.num_components > 1), +map_rgb_color returns a color index for a gray level (as +opposed to a non-gray color) iff red = green = blue. +

    + +
    +
    gx_color_index (*map_cmyk_color)(P5(gx_device *, +gx_color_value cyan, gx_color_value magenta, +gx_color_value yellow, gx_color_value black)) [OPTIONAL] +
    Map a CMYK color to a device color. The range of legal values of the +CMYK arguments is 0 to gx_max_color_value. The default +algorithm calls the map_rgb_color procedure, with suitably +transformed arguments. + +

    +Ghostscript assumes that for devices that have color capability (that is, +color_info.num_components > 1), +map_cmyk_color returns a color index for a gray level (as +opposed to a non-gray color) iff cyan = magenta = yellow. +

    + +
    +
    int (*map_color_rgb)(P3(gx_device *, +gx_color_index color, gx_color_value rgb[3])) [OPTIONAL] +
    Map a device color code to RGB values. The default algorithm returns +(0 if color==0 else gx_max_color_value) for +all three components. +
    + +
    +
    gx_color_index (*map_rgb_alpha_color)(P5(gx_device *, +gx_color_value red, gx_color_value green, +gx_color_value blue, gx_color_value alpha)) [OPTIONAL] +
    Map a RGB color and an opacity value to a device color. The range of +legal values of the RGB and alpha arguments is 0 to +gx_max_color_value; alpha = 0 means +transparent, alpha = gx_max_color_value +means fully opaque. The default is to use the +map_rgb_color procedure and ignore alpha. + +

    +Note that if a driver implements map_rgb_alpha_color, it +must also implement map_rgb_color, and must implement them +in such a way that +map_rgb_alpha_color(dev, r, g, b, gx_max_color_value) +returns the same value as +map_rgb_color(dev, r, g, b). +

    + +
    +
    int (*map_color_rgb_alpha)(P3(gx_device *, +gx_color_index color, gx_color_value rgba[4])) +[OPTIONAL] +
    Map a device color code to RGB and alpha values. The default +implementation calls map_color_rgb and fills in +gx_max_color_value for alpha. + +

    +Note that if a driver implements map_color_rgb_alpha, it +must also implement map_color_rgb, and must implement them +in such a way that the first 3 values returned by +map_color_rgb_alpha are the same as the values returned by +map_color_rgb. + +

    +Note that CMYK devices currently do not support variable opacity; alpha is +ignored on such devices. +

    + +
    +
    typedef enum { go_text, +go_graphics } graphic_object_type; int +(*get_alpha_bits)(P4(gx_device *dev, +graphic_object_type type)) [OPTIONAL] [OBSOLETE] +
    This procedure is no longer used: it is replaced by the +color_info.anti_alias member of the driver structure. However, it still +appears in the driver procedure vector for backward compatibility. It +should never be called, and drivers should not implement it. +
    + +

    Pixel-level drawing

    + +

    +This group of drawing operations specifies data at the pixel level. All +drawing operations use device coordinates and device color values. + +

    +
    int (*fill_rectangle)(P6(gx_device *, int x, +int y, int width, int height, +gx_color_index color)) +
    Fill a rectangle with a color. The set of pixels filled is {(px,py) | +x <= px < x + width and y <= py < y + height}. In other words, +the point (x,y) is included in the rectangle, as are +(x+w-1,y), (x,y+h-1), and (x+w-1,y+h-1), but +not (x+w,y), (x,y+h), or +(x+w,y+h). If width <= 0 or +height <= 0, fill_rectangle should return 0 +without drawing anything. + +

    +Note that fill_rectangle is the only non-optional procedure +in the driver interface. +

    + +

    Bitmap imaging

    + +

    +Bitmap (or pixmap) images are stored in memory in a nearly standard way. +The first byte corresponds to (0,0) in the image coordinate +system: bits (or polybit color values) are packed into it left to right. +There may be padding at the end of each scan line: the distance from one +scan line to the next is always passed as an explicit argument. + +

    +
    int (*copy_mono)(P11(gx_device *, +const unsigned char *data, int data_x, int raster, +gx_bitmap_id id, int x, int y, int width, +int height, gx_color_index color0, +gx_color_index color1)) [OPTIONAL] +
    Copy a monochrome image (similar to the PostScript image operator). +Each scan line is raster bytes wide. Copying begins at +(data_x,0) and transfers a rectangle of the given width and +height to the device at device coordinate (x,y). (If the transfer +should start at some non-zero y value in the data, the caller can adjust +the data address by the appropriate multiple of the raster.) The copying +operation writes device color color0 at each 0-bit, and +color1 at each 1-bit: if color0 or +color1 is gx_no_color_index, the device +pixel is unaffected if the image bit is 0 or 1 respectively. If +id is different from gx_no_bitmap_id, it +identifies the bitmap contents unambiguously; a call with the same +id will always have the same data, +raster, and data contents. + +

    +This operation, with +color0 = gx_no_color_index, is +the workhorse for text display in Ghostscript, so implementing it +efficiently is very important. +

    + +
    +
    int (*tile_rectangle)(P10(gx_device *, +const gx_tile_bitmap *tile, int x, int y, +int width, int height, gx_color_index color0, +gx_color_index color1, int phase_x, int phase_y)) +[OPTIONAL] [OBSOLETE] +
    This procedure is still supported, but has been superseded by +strip_tile_rectangle. New drivers should implement +strip_tile_rectangle; if they cannot cope with non-zero +shift values, they should test for this explicitly and call the default +implementation (gx_default_strip_tile_rectangle) if +shift != 0. Clients should call +strip_tile_rectangle, not tile_rectangle. +
    + +
    +
    int (*strip_tile_rectangle)(P10(gx_device *, +const gx_strip_bitmap *tile, int x, int y, +int width, int height, gx_color_index color0, +gx_color_index color1, int phase_x, int phase_y)) +[OPTIONAL] +
    Tile a rectangle. Tiling consists of doing multiple +copy_mono operations to fill the rectangle with copies of +the tile. The tiles are aligned with the device coordinate system, to +avoid "seams". Specifically, the (phase_x, +phase_y) point of the tile is aligned with the origin of +the device coordinate system. (Note that this is backwards from the +PostScript definition of halftone phase.) phase_x and +phase_y are guaranteed to be in the range +[0..tile->width) and +[0..tile->height) respectively. + +

    +If color0 and color1 are both +gx_no_color_index, then the tile is a color pixmap, not a +bitmap: see the next section. + +

    +This operation is the workhorse for halftone filling in Ghostscript, so +implementing it efficiently for solid tiles (that is, where either +color0 and color1 are both +gx_no_color_index, for colored halftones, or neither one is +gx_no_color_index, for monochrome halftones) is very +important. +

    + +

    Pixmap imaging

    + +

    +Pixmaps are just like bitmaps, except that each pixel occupies more than +one bit. All the bits for each pixel are grouped together (this is +sometimes called "chunky" or "Z" format). For copy_color, +the number of bits per pixel is given by the +color_info.depth parameter in the device structure: the +legal values are 1, 2, 4, 8, 16, 24, or 32. The pixel values are device +color codes (that is, whatever it is that map_rgb_color +returns). + +

    +
    int (*copy_color)(P9(gx_device *, +const unsigned char *data, int data_x, int raster, +gx_bitmap_id id, int x, int y, int width, +int height)) [OPTIONAL] +
    Copy a color image with multiple bits per pixel. The raster is in +bytes, but x and width are in pixels, not +bits. If id is different from +gx_no_bitmap_id, it identifies the bitmap contents +unambiguously; a call with the same id will always have the +same data, raster, and data contents. + +

    +We do not provide a separate procedure for tiling with a pixmap; instead, +tile_rectangle can also take colored tiles. This is +indicated by the color0 and color1 +arguments' both being gx_no_color_index. In this case, as +for copy_color, the raster and +height in the "bitmap" are interpreted as for real bitmaps, +but the x and width are in pixels, not +bits. +

    + +

    Compositing

    + +

    +In addition to direct writing of opaque pixels, devices must also support +compositing. Currently two kinds of compositing are defined +(RasterOp and alpha-based), but more may be added in the +future. + +

    +THIS AREA OF THE INTERFACE IS SOMEWHAT UNSTABLE: USE AT YOUR OWN +RISK. +
    + +
    +
    int (*copy_alpha)(P11(gx_device *dev, +const unsigned char *data, int data_x, int raster, +gx_bitmap_id id, int x, int y, int width, +int height, gx_color_index color, int depth)) +[OPTIONAL] +
    This procedure is somewhat misnamed: it was added to the interface +before we really understood alpha channel and compositing. + +

    +Fill a given region with a given color modified by an individual alpha +value for each pixel. For each pixel, this is equivalent to +alpha-compositing with a source pixel whose alpha value is obtained from +the pixmap (data, data_x, and +raster) and whose color is the given color (which has +not been premultiplied by the alpha value), using the Sover +rule. depth, the number of bits per alpha value, is either +2 or 4, and in any case is always a value returned by a previous call on +the get_alpha_bits procedure. Note that if +get_alpha_bits always returns 1, this procedure will never +be called. +

    + +
    +
    int (*create_compositor)(P5(dev_t *dev, +gx_device_t **pcdev, const gs_composite_t *pcte, +const gs_imager_state *pis, gs_memory_t *memory)) +[OPTIONAL] +
    Create a new device (called a "compositing device" or "compositor") +that will composite data written to it with the device's existing data, +according to the compositing function defined by *pcte. +Devices will normally implement this in one of the following standard ways: + +
      +
    • Devices that don't do any imaging and don't forward any imaging +operations (for example, the null device, the hit detection device, and the +clipping list accumulation device) simply return themselves, which +effectively ignores the compositing function. + +
    • "Leaf" devices that do imaging and have no special optimizations for +compositing (for example, some memory devices) ask the +gs_composite_t to create a default compositor. + +
    • Leaf devices that can implement some kinds of compositing operation +efficiently (for example, monobit memory devices and RasterOp) inspect the +type and values of *pcte to determine whether it specifies +such an operation: if so, they create a specialized compositor, and if not, +they ask the gs_composite_t to create a default compositor. +
    + +

    +Other kinds of forwarding devices, which don't fall into any of these +categories, require special treatment. In principle, what they do is ask +their target to create a compositor, and then create and return a copy of +themselves with the target's new compositor as the target of the copy. +There is a possible default implementation of this approach: if the +original device was D with target T, and T creates a +compositor C, then the default implementation creates a device +F that for each operation temporarily changes D's target to +C, forwards the operation to D, and then changes D's +target back to T. However, the Ghostscript library currently only +creates a compositor with an imaging forwarding device as target in a few +specialized situations (banding, and bounding box computation), and these +are handled as special cases. + +

    +Note that the compositor may have a different color space, color +representation, or bit depth from the device to which it is compositing. +For example, alpha-compositing devices use standard-format chunky color +even if the underlying device doesn't. + +

    +Closing a compositor frees all of its storage, including the compositor +itself. However, since the create_compositor call may +return the same device, clients must check for this case, and only call the +close procedure if a separate device was created. +

    + +

    + +[strip_]copy_rop WILL BE SUPERSEDED BY COMPOSITORS + + +

    +
    int (*copy_rop)(P15(gx_device *dev, +const byte *sdata, int sourcex, uint sraster, +gx_bitmap_id id, const gx_color_index *scolors, +const gx_tile_bitmap *texture, +const gx_color_index *tcolors, int x, int y, +int width, int height, int phase_x, int phase_y, +int command)) [OPTIONAL] +
    This procedure is still supported, but has been superseded by +strip_copy_rop. New drivers should implement +strip_copy_rop; if they cannot cope with non-zero shift +values in the texture, they should test for this explicitly and call the +default implementation (gx_default_strip_copy_rop) if +shift != 0. Clients should call strip_copy_rop, +not copy_rop. +
    + +
    +
    int (*strip_copy_rop)(P15(gx_device *dev, +const byte *sdata, int sourcex, uint sraster, +gx_bitmap_id id, const gx_color_index *scolors, +const gx_strip_bitmap *texture, +const gx_color_index *tcolors, int x, int y, +int width, int height, int phase_x, int phase_y, +int command)) [OPTIONAL] +
    Combine an optional source image S (as for +copy_mono or copy_color) and an optional +texture T (a tile, as for tile_rectangle) with the +existing bitmap or pixmap D held by the driver, pixel by pixel, +using any 3-input Boolean operation as modified by "transparency" flags: +schematically, set D = f(D,S,T), computing f in RGB +space rather than using actual device pixel values. S and T +may each (independently) be a solid color, a bitmap with "foreground" and +"background" colors, or a pixmap. This is a complex (and currently rather +slow) operation. The arguments are as follows: + +
    +
    dev +   + the device, as for all driver procedures +
    sdata, sourcex, sraster, id, scolors +   + specify S, see below +
    texture, tcolors +   + specify T, see below +
    x, y, width, height +   + as for the other copy and fill procedures +
    phase_x, phase_y +   + part of T specification, see below +
    command +   + see below +
    +
    + +
    The source specification S
    + +

    +As noted above, the source S may be a solid color, a bitmap, or a +pixmap. If S is a solid color: + +

      +
    • sdata, sourcex, +sraster, and id are irrelevant. + +
    • scolors points to two gx_color_index +values; scolors[0] = scolors[1] = the +color. +
    + +

    +If S is a bitmap: + +

      +
    • sdata, sourcex, +sraster, and id arguments are as for +copy_mono or copy_color +(data, data_x, raster, +id), and specify a source bitmap. + +
    • scolors points to two gx_color_index +values; scolors[0] is the background color (the color +corresponding to 0-bits in the bitmap), scolors[1] is the +foreground color (the color corresponding to 1-bits in the bitmap). +
    + +

    +If S is a pixmap: + +

      +
    • sdata, sourcex, +sraster, and id arguments are as for +copy_mono or copy_color +(data, data_x, raster, +id), and specify a source pixmap whose depth is the same as +the depth of the destination. + +
    • scolors is NULL. +
    + +

    +Note that if the source is a bitmap with background=0 and foreground=1, and +the destination is 1 bit deep, then the source can be treated as a pixmap +(scolors=NULL). + +

    The texture specification T
    + +

    +Similar to the source, the texture T may be a solid color, a bitmap, +or a pixmap. If T is a solid color: + +

      +
    • The texture pointer is irrelevant. + +
    • tcolors points to two gx_color_index +values; tcolors[0] = tcolors[1] = the +color. +
    + +

    +If T is a bitmap: + +

      +
    • The texture argument points to a gx_tile_bitmap, as for +the tile_rectangle procedure. Similarly, +phase_x and phase_y specify the offset of +the texture relative to the device coordinate system origin, again as for +tile_rectangle. The tile is a bitmap (1 bit per pixel). + +
    • tcolors points to two gx_color_index +values; tcolors[0] is the background color (the color +corresponding to 0-bits in the bitmap), tcolors[1] is the +foreground color (the color corresponding to 1-bits in the bitmap). +
    + +

    +If T is a pixmap: + +

      +
    • The texture argument points to a gx_tile_bitmap whose +depth is the same as the depth of the destination. + +
    • tcolors is NULL. +
    + +

    +Again, if the texture is a bitmap with background=0 and foreground=1, and +the destination depth is 1, the texture bitmap can be treated as a pixmap +(tcolors=NULL). + +

    +Note that while a source bitmap or pixmap has the same width and height as +the destination, a texture bitmap or pixmap has its own width and height +specified in the gx_tile_bitmap structure, and is +replicated or clipped as needed. + +

    The function specification f
    + +

    +"Command" indicates the raster operation and transparency as follows: + +

    + +
    Bits +   +   +
    7-0 +   + raster op +
    8 +   + 0 if source opaque, 1 if source transparent +
    9 +   + 0 if texture opaque, 1 if texture transparent +
    ?-10 +   + unused, must be 0 +
    + +

    +The raster operation follows the Microsoft and H-P specification. It is an +8-element truth table that specifies the output value for each of the +possible 2×2×2 input values as follows: + +

    + +
    Bit +   + Texture +   + Source +   + Destination +

    +
    7 +   + 1 +   + 1 +   + 1 +
    6 +   + 1 +   + 1 +   + 0 +
    5 +   + 1 +   + 0 +   + 1 +
    4 +   + 1 +   + 0 +   + 0 +
    3 +   + 0 +   + 1 +   + 1 +
    2 +   + 0 +   + 1 +   + 0 +
    1 +   + 0 +   + 0 +   + 1 +
    0 +   + 0 +   + 0 +   + 0 +
    + +

    +Transparency affects the output in the following way. A source or texture +pixel is considered transparent if its value is all 1s (for instance, 1 for +bitmaps, 0xffffff for 24-bit RGB pixmaps) and the +corresponding transparency bit is set in the command. For each pixel, the +result of the Boolean operation is written into the destination iff neither +the source nor the texture pixel is transparent. (Note that the H-P +RasterOp specification, on which this is based, specifies that if the +source and texture are both all 1s and the command specifies transparent +source and opaque texture, the result should be written in +the output. We think this is an error in the documentation.) + +

    Notes
    + +

    +copy_rop is defined to operate on pixels in RGB space, +again following the H-P and Microsoft specification. For devices that +don't use RGB (or gray-scale with black = 0, white = all 1s) as their +native color representation, the implementation of copy_rop +must convert to RGB or gray space, do the operation, and convert back (or +do the equivalent of this). Here are the copy_rop +equivalents of the most important previous imaging calls. We assume the +declaration: + +

    +static const gx_color_index white2[2] = { 1, 1 }; +
    + +

    +Note that rop3_S may be replaced by any other Boolean operation. +For monobit devices, we assume that black = 1. + +

    +
    /* For all devices: */
    +(*fill_rectangle)(dev, x, y, w, h, color) ==>
    +
    +        { gx_color_index colors[2];
    +          colors[0] = colors[1] = color;
    +          (*dev_proc(dev, copy_rop))(dev, NULL, 0, 0, gx_no_bitmap_id, colors,
    +                                     NULL, colors /*irrelevant*/,
    +                                     x, y, w, h, 0, 0, rop3_S);
    +        }
    +
    +/* For black-and-white devices only: */
    +(*copy_mono)(dev, base, sourcex, sraster, id,
    +             x, y, w, h, (gx_color_index)0, (gx_color_index)1) ==>
    +
    +        (*dev_proc(dev, copy_rop))(dev, base, sourcex, sraster, id, NULL,
    +                                   NULL, white2 /*irrelevant*/,
    +                                   x, y, w, h, 0, 0, rop3_S);
    +
    +/* For color devices, where neither color0 nor color1 is gx_no_color_index: */
    +(*copy_mono)(dev, base, sourcex, sraster, id,
    +             x, y, w, h, color0, color1) ==>
    +
    +        { gx_color_index colors[2];
    +          colors[0] = color0, colors[1] = color1;
    +          (*dev_proc(dev, copy_rop))(dev, base, sourcex, sraster, id, colors,
    +                                     NULL, white2 /*irrelevant*/,
    +                                     x, y, w, h, 0, 0, rop3_S);
    +        }
    +
    +/* For black-and-white devices only: */
    +(*copy_mono)(dev, base, sourcex, sraster, id,
    +             x, y, w, h, gx_no_color_index, (gx_color_index)1) ==>
    +
    +        (*dev_proc(dev, copy_rop))(dev, base, sourcex, sraster, id, NULL,
    +                                   NULL, white2 /*irrelevant*/,
    +                                   x, y, w, h, 0, 0,
    +                                   rop3_S | lop_S_transparent);
    +
    +/* For all devices: */
    +(*copy_color)(dev, base, sourcex, sraster, id,
    +              x, y, w, h) ==> [same as first copy_mono above]
    +
    +/* For black-and-white devices only: */
    +(*tile_rectangle)(dev, tile, x, y, w, h,
    +                  (gx_color_index)0, (gx_color_index)1, px, py) ==>
    +
    +        (*dev_proc(dev, copy_rop))(dev, NULL, 0, 0, gx_no_bitmap_id,
    +                                   white2 /*irrelevant*/,
    +                                   tile, NULL,
    +                                   x, y, w, h, px, py, rop3_T)
    +
    + +

    Polygon-level drawing

    + +

    +In addition to the pixel-level drawing operations that take integer device +coordinates and pure device colors, the driver interface includes +higher-level operations that draw polygons using fixed-point coordinates, +possibly halftoned colors, and possibly a non-default logical operation. + +

    +The fill_* drawing operations all use the center-of-pixel +rule: a pixel is colored iff its center falls within the polygonal region +being filled. If a pixel center (X+0.5,Y+0.5) falls exactly on +the boundary, the pixel is filled iff the boundary is horizontal and the +filled region is above it, or the boundary is not horizontal and the filled +region is to the right of it. + +

    +
    int (*fill_trapezoid)(P10(gx_device *dev, +const gs_fixed_edge *left, const gs_fixed_edge *right, +fixed ybot, fixed ytop, bool swap_axes, +const gx_drawing_color *pdcolor, +gs_logical_operation_t lop)) [OPTIONAL] +
    Fill a trapezoid. The bottom and top edges are parallel to the x +axis, and are defined by ybot and ytop, +respectively. The left and right edges are defined by left +and right. Both of these respresent lines (gs_fixed_edge +is defined in gxdevcli.h and consists +of gs_fixed_point start and end points). +The y coordinates of these lines need not have any specific relation to +ybot and ytop. The routine is defined this way so +that the filling algorithm can subdivide edges and still guarantee +that the exact same pixels will be filled. If +swap_axes is set, the meanings of X and Y are +interchanged. +
    + +
    +
    int (*fill_parallelogram)(P9(gx_device *dev, +fixed px, fixed py, fixed ax, fixed ay, fixed bx, +fixed by, const gx_drawing_color *pdcolor, +gs_logical_operation_t lop)) [OPTIONAL] +
    Fill a parallelogram whose corners are (px,py), +(px+ax,py+ay), (px+bx,py+by), and +(px+ax+bx,py+ay+by). There are no constraints on the values of +any of the parameters, so the parallelogram may have any orientation +relative to the coordinate axes. +
    + +
    +
    int (*fill_triangle)(P9(gx_device *dev, fixed px, +fixed py, fixed ax, fixed ay, fixed bx, fixed by, +const gx_drawing_color *pdcolor, +gs_logical_operation_t lop)) [OPTIONAL] +
    Fill a triangle whose corners are (px,py), +(px+ax,py+ay), and (px+bx,py+by). +
    + +
    +
    int (*draw_thin_line)(P7(gx_device *dev, +fixed fx0, fixed fy0, fixed fx1, fixed fy1, +const gx_drawing_color *pdcolor, +gs_logical_operation_t lop)) [OPTIONAL] +
    Draw a one-pixel-wide line from (fx0,fy0) to +(fx1,fy1). +
    + +
    +
    int (*draw_line)(P6(gx_device *dev, int x0, int y0, +int x1, int y1, gx_color_index color)) +[OPTIONAL] [OBSOLETE] +
    This procedure is no longer used: it is replaced by the draw_thin_line +procedure. However, still appears in the driver procedure vector for +backward compatibility. It should never be called, and drivers should not +implement it. +
    + +

    High-level drawing

    + +

    +In addition to the lower-level drawing operations described above, the +driver interface provides a set of high-level operations. Normally these +will have their default implementation, which converts the high-level +operation to the low-level ones just described; however, drivers that +generate high-level output formats such as CGM, or communicate with devices +that have firmware for higher-level operations such as polygon fills, may +implement these high-level operations directly. For more details, please +consult the source code, specifically: + +

    +
    Header +     + Defines +
    gxpaint.h +   + gx_fill_params, gx_stroke_params +
    gxfixed.h +   + fixed, gs_fixed_point (used by + gx_*_params) +
    gxistate.h +   + gs_imager_state (used by gx_*_params) +
    gxline.h +   + gx_line_params (used by gs_imager_state) +
    gslparam.h +   + line cap/join values (used by gx_line_params) +
    gxmatrix.h +   + gs_matrix_fixed (used by gs_imager_state) +
    gspath.h, gxpath.h, gzpath.h +   + gx_path +
    gxcpath.h, gzcpath.h +   + gx_clip_path +
    + +

    +For a minimal example of how to implement the high-level drawing operations, +see gdevtrac.c. + +

    Paths

    + +
    +
    int (*fill_path)(P6(gx_device *dev, +const gs_imager_state *pis, gx_path *ppath, +const gx_fill_params *params, +const gx_drawing_color *pdcolor, +const gx_clip_path *pcpath)) [OPTIONAL] +
    Fill the given path, clipped by the given clip path, according to the +given parameters, with the given color. The clip path pointer may be +NULL, meaning do not clip. +
    + +
    +
    int (*stroke_path)(P6(gx_device *dev, +const gs_imager_state *pis, gx_path *ppath, +const gx_stroke_params *params, +const gx_drawing_color *pdcolor, +const gx_clip_path *pcpath)) [OPTIONAL] +
    Stroke the given path, clipped by the given clip path, according to the +given parameters, with the given color. The clip path pointer may be +NULL, meaning not to clip. +
    + +
    +
    int (*fill_mask)(P13(gx_device *dev, +const byte *data, int data_x, int raster, +gx_bitmap_id id, int x, int y, int width, +int height, const gx_drawing_color *pdcolor, int depth, +int command, const gx_clip_path *pcpath)) +[OPTIONAL] +
    Color the 1-bits in the given mask (or according to the alpha values, +if depth > 1), clipped by the given clip path, +with the given color and logical operation. The clip path pointer may be +NULL, meaning do not clip. The parameters +data, ..., height are as for +copy_mono; depth is as for copy_alpha; +command is as for copy_rop. +
    + +

    Images

    + +

    +Similar to the high-level interface for fill and stroke graphics, a high-level +interface exists for bitmap images. The procedures in this part of the +interface are optional. + +

    +Bitmap images come in a variety of types, corresponding closely (but not +precisely) to the PostScript ImageTypes. The generic or common part of all +bitmap images is defined by: + +

    +
    typedef struct {
    +	const gx_image_type_t *type;
    +        gs_matrix ImageMatrix;
    +} gs_image_common_t;
    +
    + +

    +Bitmap images that supply data (all image types except +image_type_from_device (2)) are defined by: + +

    +
    #define gs_image_max_components 5
    +typedef struct {
    +        << gs_image_common_t >>
    +        int Width;
    +        int Height;
    +        int BitsPerComponent;
    +        float Decode[gs_image_max_components * 2];
    +        bool Interpolate;
    +} gs_data_image_t;
    +
    + +

    +Images that supply pixel (as opposed to mask) data are defined by: + +

    +
    typedef enum {
    +	/* Single plane, chunky pixels. */
    +	gs_image_format_chunky = 0,
    +	/* num_components planes, chunky components. */
    +	gs_image_format_component_planar = 1,
    +	/* BitsPerComponent * num_components planes, 1 bit per plane */
    +	gs_image_format_bit_planar = 2
    +} gs_image_format_t;
    +typedef struct {
    +        << gs_data_image_t >>
    +        const gs_color_space *ColorSpace;
    +        bool CombineWithColor;
    +} gs_pixel_image_t;
    +
    + +

    +Ordinary PostScript Level 1 or Level 2 (ImageType 1) images +are defined by: + +

    +
    typedef enum {
    +	/* No alpha. */
    +	gs_image_alpha_none = 0,
    +	/* Alpha precedes color components. */
    +	gs_image_alpha_first,
    +	/* Alpha follows color components. */
    +	gs_image_alpha_last
    +} gs_image_alpha_t;
    +typedef struct {
    +        << gs_pixel_image_t >>
    +        bool ImageMask;
    +        bool adjust;
    +	gs_image_alpha_t Alpha;
    +} gs_image1_t;
    +typedef gs_image1_t gs_image_t;
    +
    + +

    +Of course, standard PostScript images don't have an alpha component. For +more details, consult the source code in gsiparam.h and gsiparm*.h, +which define parameters for an image. + +

    +The begin[_typed_]image driver procedures create image +enumeration structures. The common part of these structures consists of: + +

    +
    typedef struct gx_image_enum_common_s {
    +        const gx_image_type_t *image_type;
    +	const gx_image_enum_procs_t *procs;
    +	gx_device *dev;
    +	gs_id id;
    +        int num_planes;
    +        int plane_depths[gs_image_max_planes];  /* [num_planes] */
    +	int plane_widths[gs_image_max_planes]	/* [num_planes] */
    +} gx_image_enum_common_t;
    +
    + +

    +where procs consists of: + +

    +
    typedef struct gx_image_enum_procs_s {
    +
    +        /*
    +         * Pass the next batch of data for processing.
    +         */
    +#define image_enum_proc_plane_data(proc)\
    +  int proc(P4(gx_device *dev,\
    +    gx_image_enum_common_t *info, const gx_image_plane_t *planes,\
    +    int height))
    +
    +        image_enum_proc_plane_data((*plane_data));
    +
    +        /*
    +         * End processing an image, freeing the enumerator.
    +         */
    +#define image_enum_proc_end_image(proc)\
    +  int proc(P3(gx_device *dev,\
    +    gx_image_enum_common_t *info, bool draw_last))
    +
    +        image_enum_proc_end_image((*end_image));
    +
    +	/*
    +	 * Flush any intermediate buffers to the target device.
    +	 * We need this for situations where two images interact
    +	 * (currently, only the mask and the data of ImageType 3).
    +	 * This procedure is optional (may be 0).
    +	 */
    +#define image_enum_proc_flush(proc)\
    +  int proc(P1(gx_image_enum_common_t *info))
    +
    +	image_enum_proc_flush((*flush));
    +
    +} gx_image_enum_procs_t;
    +
    + +

    In other words, begin[_typed]_image sets up an +enumeration structure that contains the procedures that will process the +image data, together with all variables needed to maintain the state of the +process. Since this is somewhat tricky to get right, if you plan to create +one of your own you should probably read an existing implementation of +begin[_typed]_image, such as the one in gdevbbox.c or gdevps.c. + +

    +The data passed at each call of image_plane_data consists of +one or more planes, as appropriate for the type of image. +begin[_typed]_image must initialize the +plane_depths array in the enumeration structure with the +depths (bits per element) of the planes. The array of +gx_image_plane_t structures passed to each call of +image_plane_data then defines where the data are stored, as +follows: + +

    +
    typedef struct gx_image_plane_s {
    +  const byte *data;
    +  int data_x;
    +  uint raster;
    +} gx_image_plane_t;
    +
    + +
    +
    int (*begin_image)(P9(gx_device *dev, +const gs_imager_state *pis, const gs_image_t *pim, +gs_image_format_t format, gs_int_rect *prect, +const gx_drawing_color *pdcolor, +const gx_clip_path *pcpath, gs_memory_t *memory, +gx_image_enum_common_t **pinfo)) [OPTIONAL] +
    Begin the transmission of an image. Zero or more calls of +image_plane_data will follow, and then a call of +end_image. The parameters of begin_image +are as follows: + +
    +
    pis +     + pointer to an imager state. The only relevant elements of the + imager state are the CTM (coordinate transformation matrix), + the logical operation (RasterOp or + transparency), and the color rendering information. +
    pim +   + pointer to the gs_image_t structure that + defines the image parameters +
    format +   + defines how pixels are represented for + image_plane_data. See the description of + image_plane_data below +
    prect +   + if not NULL, defines a subrectangle of the + image; only the data for this subrectangle will be passed to + image_plane_data, and only this subrectangle should + be drawn +
    pdcolor +   + defines a drawing color, only needed for masks or if + CombineWithColor is true +
    pcpath +   + if not NULL, defines an optional clipping path +
    memory +   + defines the allocator to be used for allocating bookkeeping + information +
    pinfo +   + the implementation should return a pointer to its state + structure here +
    + +

    +begin_image is expected to allocate a structure for its +bookkeeping needs, using the allocator defined by the memory parameter, and +return it in *pinfo. begin_image should not assume that +the structures in *pim, *prect, or +*pdcolor will survive the call on +begin_image (except for the color space in +*pim->ColorSpace): it should copy any necessary parts of +them into its own bookkeeping structure. It may, however, assume that +*pis, *pcpath, and of course +*memory will live at least until end_image +is called. + +

    +begin_image returns 0 normally, or 1 if the image does not +need any data. In the latter case, begin_image does not +allocate an enumeration structure. +

    + +
    +
    int (*begin_typed_image)(P9(gx_device *dev, +const gs_imager_state *pis, const gs_matrix *pmat, +const gs_image_common_t *pim, gs_int_rect *prect, +const gx_drawing_color *pdcolor, +const gx_clip_path *pcpath, gs_memory_t *memory, +gx_image_enum_common_t **pinfo)) [OPTIONAL] +
    This has the same function as begin_image, except +
      +
    • The image may be of any ImageType, not only +image_type_simple (1); + +
    • The image format is included in the image structure, not supplied as a +separate argument; + +
    • The optional pmat argument provides a matrix that +substitutes for the one in the imager state; + +
    • For mask images, if pmat is not NULL +and the color is pure, pis may be NULL. +
    +
    + +

    +The actual transmission of data uses the procedures in the enumeration +structure, not driver procedures, since the handling of the data usually +depends on the image type and parameters rather than the device. These +procedures are specified as follows. + +

    +
    int (*image_plane_data)(P4(gx_device *dev, +gx_image_enum_common_t *info, +const gx_image_plane_t *planes, int height)) +
    This call provides more of the image source data: specifically, +height rows, with Width pixels supplied for +each row. + +

    +The data for each row are packed big-endian within each byte, as for +copy_color. The data_x (starting X position +within the row) and raster (number of bytes per row) are +specified separately for each plane, and may include some padding at the +beginning or end of each row. Note that for non-mask images, the input data +may be in any color space and may have any number of bits per component (1, +2, 4, 8, 12); currently mask images always have 1 bit per component, but in +the future, they might allow multiple bits of alpha. Note also that each +call of image_plane_data passes complete pixels: for example, for +a chunky image with 24 bits per pixel, each call of +image_plane_data passes 3N bytes of data (specifically, +3 × Width × height). + +

    +The interpretation of planes depends on the format member of +the gs_image[_common]_t structure: + +

      +
    • If the format is gs_image_format_chunky, +planes[0].data points to data in "chunky" format, in which +the components follow each other (for instance, RGBRGBRGB....) + +
    • If the format is gs_image_format_component_planar, +planes[0 .. N-1].data point to data for the +N components (for example, N=3 for RGB +data); each plane contains samples for a single component, for instance, +RR..., GG..., BB.... Note that the planes are divided by component, not by +bit: for example, for 24-bit RGB data, N=3, with 8-bit +values in each plane of data. + +
    • If the format is gs_image_format_bit_planar, +planes[0 .. N*B-1].data point to data for the +N components of B bits each (for example, +N=3 and B=4 for RGB data with 4 bits per +component); each plane contains samples for a single bit, for instance, R0 +R1 R2 R3 G0 G1 G2 G3 B0 B1 B2 B3. Note that the most significant bit of +each plane comes first. +
    + +

    +If, as a result of this call, image_plane_data has been called with all +the data for the (sub-)image, it returns 1; otherwise, it returns 0 or an +error code as usual. + +

    +image_plane_data, unlike most other procedures that take bitmaps as +arguments, does not require the data to be aligned in any way. + +

    +Note that for some image types, different planes may have different +numbers of bits per pixel, as defined in the plane_depths array. +

    + +
    +
    int (*end_image)(P3(gx_device *dev, void *info, +bool draw_last)) +
    Finish processing an image, either because all data have been supplied +or because the caller has decided to abandon this image. +end_image may be called at any time after +begin_image. It should free the info structure and any +subsidiary structures. If draw_last is true, it should +finish drawing any buffered lines of the image. +
    + +
    Notes
    + +

    +While there will almost never be more than one image enumeration in +progress -- that is, after a begin_image, +end_image will almost always be called before the next +begin_image -- driver code should not rely on this +property; in particular, it should store all information regarding the +image in the info structure, not in the driver structure. + +

    +Note that if begin_[typed_]image saves its parameters in +the info structure, it can decide on each call whether to use its own +algorithms or to use the default implementation. (It may need to call +gx_default_begin/end_image partway +through.) [A later revision of this document may include an example here.] + +

    Text

    + +

    +The third high-level interface handles text. As for images, the interface +is based on creating an enumerator which then may execute the operation in +multiple steps. As for the other high-level interfaces, the procedures are +optional. + +

    +
    int (*text_begin)(P9(gx_device *dev, +gs_imager_state *pis, const gs_text_params_t *text, +gs_font *font, gx_path *path, +const gx_device_color *pdcolor, +const gx_clip_path *pcpath, gs_memory_t *memory, +gs_text_enum_t **ppte)) [OPTIONAL] + +
    +Begin processing text, by creating a state structure and storing it in +*ppte. The parameters of text_begin are as +follows: +
    + +
    +
    dev +     + The usual pointer to the device. +
    pis +     + A pointer to an imager state. All elements may be relevant, + depending on how the text is rendered. +
    text +   + A pointer to the structure that defines the text operation + and parameters. See gstext.h for details. +
    font +   + Defines the font for drawing. +
    path +   + Defines the path where the character outline will be appended + (if the text operation includes TEXT_DO_...PATH), + and whose current point indicates where drawing should occur + and will be updated by the string width (unless the text + operation includes TEXT_DO_NONE). +
    pdcolor +   + Defines the drawing color for the text. Only relevant if + the text operation includes TEXT_DO_DRAW. +
    pcpath +   + If not NULL, defines an optional clipping path. + Only relevant if the text operation includes + TEXT_DO_DRAW. +
    memory +   + Defines the allocator to be used for allocating bookkeeping + information. +
    ppte +   + The implementation should return a pointer to its state + structure here. +
    + +

    +text_begin must allocate a structure for its bookkeeping +needs, using the allocator defined by the memory parameter, +and return it in *ppte. text_begin may +assume that the structures passed as parameters will survive until text +processing is complete. + +

    +Clients should not call the driver text_begin procedure +directly. Instead, they should call gx_device_text_begin, +which takes the same parameters and also initializes certain common elements +of the text enumeration structure, or gs_text_begin, which +takes many of the parameters from a graphics state structure. For details, +see gstext.h. + +

    +The actual processing of text uses the procedures in the enumeration +structure, not driver procedures, since the handling of the text may depend +on the font and parameters rather than the device. Text processing may also +require the client to take action between characters, either because the +client requested it (TEXT_INTERVENE in the operation) or +because rendering a character requires suspending text processing to call an +external package such as the PostScript interpreter. (It is a deliberate +design decision to handle this by returning to the client, rather than +calling out of the text renderer, in order to avoid potentially unknown +stack requirements.) Specifically, the client must call the following +procedures, which in turn call the procedures in the text enumerator. + +

    +
    int gs_text_process(P1(gs_text_enum_t *pte)) +
    Continue processing text. This procedure may return 0 or a negative +error code as usual, or one of the following values (see +gstext.h for details). + +
    +
    TEXT_PROCESS_RENDER + The client must cause the current character to be rendered. + This currently only is used for PostScript Type 0-4 fonts + and their CID-keyed relatives. +
    TEXT_PROCESS_INTERVENE + The client has asked to intervene between characters. + This is used for cshow and kshow. +
    +
    + +
    +
    int gs_text_release(P2(gs_text_enum_t *pte, +client_name_t cname))
    Finish processing text and release +all associated structures. Clients must call this procedure after +gs_text_process returns 0 or an error, and may call it at +any time. +
    + +

    +There are numerous other procedures that clients may call during text +processing. See gstext.h for details. + +

    Notes
    + +

    +Note that unlike many other optional procedures, the default implementation +of text_begin cannot simply return: like the default +implementation of begin[_typed]_image, it must create and +return an enumerator. Furthermore, the implementation of the +process procedure (in the enumerator structure, called by +gs_text_process) cannot simply return without doing +anything, even if it doesn't want to draw anything on the output. See the +comments in gxtext.h for details. + +

    Reading bits back

    + +
    +
    int (*get_bits_rectangle)(P4(gx_device *dev, +const gs_int_rect *prect, gs_get_bits_params_t *params, +gs_int_rect **unread)) [OPTIONAL] + +
    +Read a rectangle of bits back from the device. The params +structure consists of: + + +
    options +   + the allowable formats for returning the data +
    data[32] +   + pointers to the returned data +
    x_offset +   + the X offset of the first returned pixel in data +
    raster +   + the distance between scan lines in the returned data +
    + +

    +options is a bit mask specifying what formats the client is +willing to accept. (If the client has more flexibility, the implementation +may be able to return the data more efficiently, by avoiding representation +conversions.) The options are divided into groups. + +

    +
    alignment +
    Specifies whether the returned data must be aligned in the normal +manner for bitmaps, or whether unaligned data are acceptable. + +
    pointer or copy +
    Specifies whether the data may be copied into storage provided by the +client and/or returned as pointers to existing storage. (Note that if +copying is not allowed, it is much more likely that the implementation will +return an error, since this requires that the client accept the data in the +implementation's internal format.) + +
    X offset +
    Specifies whether the returned data must have a specific X offset +(usually zero, but possibly other values to avoid skew at some later stage +of processing) or whether it may have any X offset (which may avoid skew in +the get_bits_rectangle operation itself). + +
    raster +
    Specifies whether the raster (distance between returned scan lines) +must have its standard value, must have some other specific value, or may +have any value. The standard value for the raster is the device width +padded out to the alignment modulus when using pointers, or the minimum +raster to accommodate the X offset + width when copying (padded out to the +alignment modulus if standard alignment is required). + +
    format +
    Specifies whether the data are returned in chunky (all components of a +single pixel together), component-planar (each component has its own scan +lines), or bit-planar (each bit has its own scan lines) format. + +
    color space +
    Specifies whether the data are returned as native device pixels, or in +a standard color space. Currently the only supported standard space is +RGB. + +
    standard component depth +
    Specifies the number of bits per component if the data are returned in +the standard color space. (Native device pixels use +dev->color_info.depth bits per pixel.) + +
    alpha +
    Specifies whether alpha channel information should be returned as the +first component, the last component, or not at all. Note that for devices +that have no alpha capability, the returned alpha values will be all 1s. +
    + +

    +The client may set more than one option in each of the above groups; the +implementation will choose one of the selected options in each group to +determine the actual form of the returned data, and will update +params[].options to indicate the form. The returned +params[].options will normally have only one option set per +group. + +

    +For further details on params, see gxgetbit.h. For further details on +options, see gxbitfmt.h. + +

    +Define w = prect->q.x - prect->p.x, h += prect->q.y - prect->p.y. If the +bits cannot be read back (for example, from a printer), return +gs_error_unknownerror; if raster bytes is not enough space +to hold offset_x + w pixels, or if the source rectangle +goes outside the device dimensions (p.x < 0 || p.y < 0 || q.x > +dev->width || q.y > dev->height), +return gs_error_rangecheck; if any regions could not be +read, return gs_error_ioerror if unpainted is +NULL, otherwise the number of rectangles (see below); +otherwise return 0. + +

    +The caller supplies a buffer of raster × h +bytes starting at data[0] for the returned data in chunky +format, or N buffers of +raster × h bytes starting at +data[0] through +data[N-1] in planar format +where N is the number of components or bits. The contents +of the bits beyond the last valid bit in each scan line (as defined by w) +are unpredictable. data need not be aligned in any way. If +x_offset is non-zero, the bits before the first valid bit +in each scan line are undefined. If the implementation returns pointers to +the data, it stores them into data[0] or +data[0..N-1]. + +

    +If not all the source data are available (for example, because the source +was a partially obscured window and backing store was not available or not +used), or if the rectangle does not fall completely within the device's +coordinate system, any unread bits are undefined, and the value returned +depends on whether unread is NULL. If unread is +NULL, return gs_error_ioerror; in this case, +some bits may or may not have been read. If unread is not +NULL, allocate (using dev->memory) and +fill in a list of rectangles that could not be read, store the pointer to +the list in *unread, and return the number of rectangles; in +this case, all bits not listed in the rectangle list have been read back +properly. The list is not sorted in any particular order, but the +rectangles do not overlap. Note that the rectangle list may cover a +superset of the region actually obscured: for example, a lazy implementation +could return a single rectangle that was the bounding box of the region. +

    + +
    +
    int (*get_bits)(P4(gx_device *dev, int y, +byte *data, byte **actual_data)) +[OPTIONAL] +
    Read scan line y of bits back from the device into the +area starting at data. This call is functionally equivalent to + +
    +
    (*get_bits_rectangle)
    +  (dev, {0, y, dev->width, y+1},
    +   {(GB_ALIGN_ANY | (GB_RETURN_COPY | GB_RETURN_POINTER) | GB_OFFSET_0 |
    +     GB_RASTER_STANDARD | GB_FORMAT_CHUNKY | GB_COLORS_NATIVE |
    +     GB_ALPHA_NONE),
    +    {data}})
    + +

    +with the returned value of +params->data[0] stored in +*actual_data, and will in fact be implemented this way if +the device defines a get_bits_rectangle procedure and does +not define one for get_bits. (If +actual_data is NULL, +GB_RETURN_POINTER is omitted from the options.) +

    + +

    Parameters

    + +

    +Devices may have an open-ended set of parameters, which are simply pairs +consisting of a name and a value. The value may be of various types: +integer (int or long), boolean, float, string, name, NULL, +array of integer, array of float, or arrays or dictionaries of mixed types. +For example, the Name of a device is a string; the +Margins of a device is an array of two floats. See +gsparam.h for more details. + +

    +If a device has parameters other than the ones applicable to all devices +(or, in the case of printer devices, all printer devices), it must provide +get_params and put_params procedures. If +your device has parameters beyond those of a straightforward display or +printer, we strongly advise using the _get_params and +_put_params procedures in an existing device (for example, +gdevcdj.c or gdevbit.c) as a model for your own code. + +

    +
    int (*get_params)(P2(gx_device *dev, +gs_param_list *plist)) [OPTIONAL] +
    Read the parameters of the device into the parameter list at +plist, using the param_write_* +macros or procedures defined in gsparam.h. +
    + +
    +
    int (*get_hardware_params)(P2(gx_device *dev, +gs_param_list *plist)) [OPTIONAL] +
    Read the hardware-related parameters of the device into the parameter +list at plist. These are any parameters whose values are under control of +external forces rather than the program -- for example, front panel +switches, paper jam or tray empty sensors, etc. If a parameter involves +significant delay or hardware action, the driver should only determine the +value of the parameter if it is "requested" by the +gs_param_list [param_requested(plist, +key_name)]. This function may cause the asynchronous +rendering pipeline (if enabled) to be drained, so it should be used +sparingly. +
    + +
    +
    int (*put_params)(P2(gx_device *dev, +gs_param_list *plist)) [OPTIONAL] +
    Set the parameters of the device from the parameter list at +plist, using the param_read_* +macros/procedures defined in gsparam.h. All +put_params procedures must use a "two-phase commit" +algorithm; see gsparam.h for details. +
    + +

    Default color rendering +dictionary (CRD) parameters

    + +

    +Drivers that want to provide one or more default CIE color rendering +dictionaries (CRDs) can do so through get_params. To do +this, they create the CRD in the usual way (normally using the +gs_cie_render1_build and _initialize +procedures defined in gscrd.h), and then write +it as a parameter using param_write_cie_render1 defined in +gscrdp.h. However, the TransformPQR procedure +requires special handling. If the CRD uses a TransformPQR procedure +different from the default (identity), the driver must do the following: + +

      +
    • The TransformPQR element of the CRD must include a +proc_name, and optionally proc_data. The +proc_name is an arbitrary name chosen by the driver to +designate the particular TransformPQR function. It must not be the same as +any device parameter name; we strongly suggest it include the device name, +for instance, "bitTPQRDefault". + +
    • For each such named TransformPQR procedure, the driver's +get_param procedure must provide a parameter of the same +name. The parameter value must be a string whose bytes are the actual +procedure address. +
    + +

    +For a complete example, see the bit_get_params procedure in +gdevbit.c. Note that it is essential that +the driver return the CRD or the procedure address only if specifically +requested (param_requested(...) > 0); otherwise, errors +will occur. + +

    External fonts

    + +

    +Drivers may include the ability to display text. More precisely, they may +supply a set of procedures that in turn implement some font and text +handling capabilities, described in a separate +document. The link between the two is the driver procedure that +supplies the font and text procedures: + +

    +
    xfont_procs *(*get_xfont_procs)(P1(gx_device *dev)) [OPTIONAL] +
    Return a structure of procedures for handling external fonts and text +display. A NULL value means that this driver doesn't +provide this capability. +
    + +

    +For technical reasons, a second procedure is also needed: + +

    +
    gx_device *(*get_xfont_device)(P1(gx_device *dev)) [OPTIONAL] +
    Return the device that implements get_xfont_procs in a +non-default way for this device, if any. Except for certain special +internal devices, this is always the device argument. +
    + +

    Page devices

    + +
    +
    gx_device *(*get_page_device)(P1(gx_device *dev)) +[OPTIONAL] +
    According to the Adobe specifications, some devices are "page devices" +and some are not. This procedure returns NULL if the +device is not a page device, or the device itself if it is a page device. +In the case of forwarding devices, get_page_device returns +the underlying page device (or NULL if the underlying +device is not a page device). +
    + +

    Miscellaneous

    + +
    +
    int (*get_band)(P3(gx_device *dev, int y, +int *band_start)) [OPTIONAL] +
    If the device is a band device, this procedure stores in +*band_start the scan line (device Y coordinate) of the band +that includes the given Y coordinate, and returns the number of scan lines +in the band. If the device is not a band device, this procedure returns 0. +The latter is the default implementation. +
    + +
    +
    void (*get_clipping_box)(P2(gx_device *dev, +gs_fixed_rect *pbox)) [OPTIONAL] +
    Stores in *pbox a rectangle that defines the device's +clipping region. For all but a few specialized devices, this is +((0,0),(width,height)). +
    + + + + +
    + +

    +Copyright © 1996, 2000 Aladdin Enterprises. +All rights reserved. + +

    +This software is provided AS-IS with no warranty, either express or +implied. + +This software is distributed under license and may not be copied, +modified or distributed except as expressly authorized under the terms +of the license contained in the file LICENSE in this distribution. + +

    +Ghostscript version 7.07, 17 May 2003 + + + + + diff --git a/Master/xemtex/doc/ghostscript/Fonts.htm b/Master/xemtex/doc/ghostscript/Fonts.htm new file mode 100644 index 00000000000..add24f89d7f --- /dev/null +++ b/Master/xemtex/doc/ghostscript/Fonts.htm @@ -0,0 +1,1288 @@ + + + +Fonts and font facilities supplied with Ghostscript + + + + + + + + + + +

    Fonts and font facilities supplied with Ghostscript

    + + + + + +

    Table of contents

    + +
    + + + + + +

    For other information, see the Ghostscript +overview. + + + +


    + + + + + +

    About Ghostscript fonts

    + +

    +Ghostscript is distributed with two kinds of files related to fonts: + +

      +
    • the fonts themselves in individual files, and +
    • a file "Fontmap" that defines for +Ghostscript which file represents which font. +
    + +

    +Most of the font files supplied with Ghostscript have the extension +.pfb, and a few have .pfa or +.gsf. Each file defines one ordinary PostScript Type 1 +outline font which any PostScript language interpreter can use. Files with +.pfa or .pfb extensions are also compatible +with Adobe Type Manager (ATM) and with tools that don't include a full +PostScript language interpreter; files with .gsf extension +are incompatible with ATM and other tools. Ghostscript compiled with the +"ttfont" option can also use TrueType fonts with the extension +.ttf. + +

    +When Ghostscript needs a font, it must have some way to know where to look +for it: that's the purpose of the Fontmap file, which +associates the names of fonts such as /Times-Roman +with the names of font files, such as +n021003l.pfb. Fontmap can also create +aliases for font names, so that for instance, +/NimbusNo9L-Regu means the same font as +/Times-Roman. + +


    + +

    Ghostscript's free fonts

    + +

    +Two sets of free fonts are supplied for Ghostscript: + +

      +
    • 35 commercial-quality Type 1 basic PostScript fonts -- Times, +Helvetica, Courier, Symbol, etc. -- contributed by URW++ Design and +Development Incorporated, of Hamburg, Germany +(http://www.urwpp.de/). Fontmap names +them all. + +
    • A miscellaneous set including Cyrillic, kana, and fonts derived from +the free Hershey fonts, with improvements (such as adding accented +characters) by Thomas Wolff. The Hershey-based fonts are quite different +from traditional printer or display fonts; you can read about them in more +detail in the documentation on Hershey fonts. + +
    + +
    +

    Font packages
    +
    System +    + File name +    + Contents +    + Types +

    +
    Unix +   + gnu-gs-fonts-std-#.##.tar.gz +   + Basic +   + .afm, + .pfb,
    .pfm
      +   + gnu-gs-fonts-other-#.##.tar.gz +   + Miscellaneous +   + .afm, + .gsf,
    .pfa, .pfm + +
    +
    + +

    +"#.##" and "###" are the version number with and without punctuation. The +fonts are not updated every release, so just use the most recent +versions. +Fonts can be found at + +

    +ftp://ftp.gnu.org/gnu/ghostscript/ (and mirrors)
    +
    + +
    + +

    Other free fonts

    + +

    Computer Modern Fontmap

    + +

    +Don Knuth's Computer Modern fonts are popular, free, and widely available. +A Fontmap appropriate for these fonts is available from: + +

    + +ftp://tug.ctan.org/tex-archive/fonts/cm/ps-type1/contrib/Fontmap.cmr +
    + +

    +or from other CTAN sites. + +

    Free Chinese (Hanzi) fonts

    + +

    +A free PostScript font for Traditional Chinese "KaiSu" in +OCF format, +originally provided courtesy of Jackson Technology, +Ltd., Taiwan under the GPL and now distributed by the Taiwan NeXT User +Group, is available from: + +

    + +ftp://mirror.cs.wisc.edu/pub/mirrors/ghost/hanzi/ + +
    + +

    Free Japanese (Kanji) fonts

    + +

    +Mr. Norio Katayama has done some work to make Ghostscript work well with +Kanji fonts. An easy-to-install Kanji font for Ghostscript, with +installation instructions, is at + +

    + +http://www.enel.ucalgary.ca/People/far/howto/gs-ttf.html + +
    + +

    +The same site has patches to make Ghostscript work with Japanese OCF fonts via VFlib, +with documentation in both English and Japanese: + +

    + +http://www.enel.ucalgary.ca/People/far/howto/gs-vflib.html + +
    + +

    +Here are some other resources in Japanese relating to VFlib and using +Ghostscript with Japanese OCF fonts: + +

    +
    http://kakugawa.aial.hiroshima-u.ac.jp/~kakugawa/Hacks/ +
    http://itohws03.ee.noda.sut.ac.jp/~matsuda/VFlib-FT/ +
    Author <matsuda@itohws01.ee.noda.sut.ac.jp> +
    + +

    Free Korean (Hangul and Hanja) fonts

    + +

    +Hwan Design Inc. created Hangul TrueType fonts (including Hanja) +and released under license similar to BSD. +These fonts can be used as +CID-keyed font via on-the-fly CIDFontType2 conversion. Refer +CJK.htm + +

    + +ftp://ftp.mizi.com/pub/baekmuk/ +
    + + +

    Free Cyrillic fonts

    + +

    +N. Glonty and A. Samarin created in 1989 a Cyrillic extension of TeX's +"Computer Modern" fonts, now freely available through the +Comprehensive TeX Archive Network (CTAN), +for instance at + +

    + +ftp://ctan.tug.org/tex-archive/fonts/cyrillic/cmcyr/ + +
    + +
    + +

    (Partial) Unicode fonts

    + +

    +George W. Wilson is distributing some free partial Unicode fonts he created. +These fonts currently lack Arabic and CJK characters, but they include a +very large subset of the remaining Unicode set. They are available in both +Type 1 and TrueType formats. See + +

    +http://bibliofile.mc.duke.edu/gww/fonts/Unicode.html +
    + +

    How Ghostscript gets fonts when it runs

    + +

    +Fonts occupy about 50KB each, so Ghostscript doesn't load them all +automatically when it runs. Instead, as part of normal initialization +Ghostscript runs a file gs_fonts.ps, which arranges to load +fonts on demand using information from the font map. To preload all of the +known fonts, invoke the procedure + +

    +loadallfonts +
    + +

    +The file prfont.ps contains code to print a sample page of +a font. Load this program by including it in the gs +command line or by invoking + +

    +(prfont.ps) run +
    + +

    +Then to produce a sampler of a particular font XYZ, invoke + +

    +/XYZ DoFont +
    + +

    For example, + +

    +/Times-Roman DoFont +
    + +

    +For more information about how Ghostscript loads fonts during execution, +see here. + +


    + +

    Platform fonts

    + +

    +Ghostscript displays text on screen using whatever font technology is +provided by the system on which it runs, by calling the system's API to +display text. On platforms with X Windows, this is X Windows; on MS +Windows it may be TrueType or ATM; Ghostscript neither knows nor cares. + +

    +The PostScript language specifies that fonts are data structures with +particular contents (for instance, they include a bounding box for the +font, an Encoding vector to specify the character set, etc.), and it is +common for PostScript files to use this fact; also, characters can be used +as clipping regions, and can be arbitrarily algorithmically rotated, +skewed, expanded or condensed, etc. Most of this information is available +in some form from the underlying graphics system, but one crucial piece is +not: the actual scalable outlines of the characters, which Ghostscript +needs in order to implement both clipping with character shapes and +arbitrarily transformed characters. Consequently + +

    +Ghostscript needs the scalable outlines of any font mentioned in a +document, and loads them from the disk (.pfa, +.pfb, or .gsf +file) in the usual way, even if it uses the platform's font machinery to +display the characters. In other words, Ghostscript must still be able to +find its font files. +
    + +

    +To make matters worse, platforms use different names for their standard +fonts. For example, the Times Roman font, for which PostScript files use +the name "Times-Roman", may be known as +"Times-Roman", "Times Roman", +"Tms Rmn", +"Times New Roman", or +"TimesNewRoman". The name may even be completely +different: the usual Helvetica-equivalent TrueType font is called +"Arial". It is possible to deal with this situation by +introducing aliases in Fontmap, but there are two reasons why Ghostscript +does not currently do this: + +

      +
    1. Methods of naming in different systems are so unstandardized that there +seems to be no small set of alternative names likely to cover most +situations. All five of the names above for Times Roman have been seen +under Windows and OS/2, depending on the version of the system, whether it +uses TrueType or ATM, and other unknown factors. + +
    2. Each alias takes up space at run time. If each of the standard fonts +has three additional aliases, this might amount to 50KB of wasted space, +which may be a lot on some smaller systems. +
    + +

    +If you don't seem to be getting nice characters on the screen under MS +Windows, you can try adding aliases to Fontmap, according to the +documentation you'll find in there. + +


    + +

    Adding your own fonts

    + +

    +Ghostscript can use any Type 0, 1, 3, 4, or 42 font acceptable to +other PostScript language interpreters or to ATM, including MultiMaster +fonts. Beginning with release 4.0, Ghostscript can also use TrueType fonts +if it was compiled with the "ttfont" option. + +

    +To add fonts of your own, you must edit Fontmap to include at the end an +entry for your new font; the format for entries is documented +in Fontmap itself. Since later entries in Fontmap override earlier +entries, a font you add at the end supersedes any corresponding fonts supplied +with Ghostscript and defined earlier in the file. +In the PC world, Type 1 fonts are customarily given names ending in +.PFA or .PFB. Ghostscript can use these +directly: you just need to make the entry in Fontmap. +To add CID-keyed fonts, refer CJK.htm. + +

    +If you want to use with Ghostscript a commercial fonts +(fonts sold as individual package, + Type 1 and CID fonts bundled to Adobe products, + TrueType fonts bundled to Microsoft Windows and Apple Macintosh, etc), +please read carefully the license that accompanies the font to +satisfy yourself that you may do so legally. + +The license of bundled fonts are usually quite varied: +browsing-only, printable, and embeddable. +The license of the system and the license of fonts on +the system must be descriminated. +Even if you have officially licensed system, +it does not mean you can use bundled fonts as you want. +In addition to, TrueType and OpenType format have internal +flags to restrict embedding, but, unfortunately, +sometimes they does not reflect the license +correctly. +You have to check the license of EACH fonts which you want to +use with Ghostscript. + +We take no responsibility for any possible violations of such licenses. + + +

    Converting BDF fonts

    + +

    +Ghostscript provides a way to construct a (low-quality) Type 1 font from a +bitmap font in the BDF format popular in the Unix world. The shell script +bdftops (Unix) or the command file +bdftops.bat (DOS) converts a BDF file to a +scalable outline using bdftops.ps . Run the +shell command + +

    +bdftops BDF_filename [AFM_file1_name ...] gsf_filename fontname
              UniqueID [XUID] [encodingname] +
    + +

    +The arguments have these meanings: +

    +
    BDF_filename +    + Input bitmap file in BDF format +    +   +
    AFM_file1_name +   + AFM files giving metrics +   + (Optional) +
    gsf_filename +   + Output file +   +   +
    fontname +   + Name of the font +   +   +
    UniqueID +   + UniqueID (as described below) +   +   +
    XUID +   + XUID, in the form n1.n2.n3... (as described below) +   + (Optional) +
    encodingname +   + "StandardEncoding" (the default), "ISOLatin1Encoding",
    "SymbolEncoding", "DingbatsEncoding" +
      + (Optional) +
    + +

    +For instance + +

    +bdftops pzdr.bdf ZapfDingbats.afm pzdr.gsf ZapfDingbats 4100000 1000000.1.41 +
    + +

    +Then make an entry in Fontmap for the .gsf +file (pzdr.gsf in the example) as +described above. + +


    + +

    For developers only

    + +

    +The rest of this document is very unlikely to be of value to ordinary +users. + +

    Contents of fonts

    + +

    +As noted above, Ghostscript accepts fonts in the same formats as PostScript +interpreters. Type 0, 1, and 3 fonts are documented in the PostScript +Language Reference Manual (Second Edition); detailed documentation for Type +1 fonts appears in a separate Adobe book. Type 2 (compressed format) fonts +are documented in separate Adobe publications. Type 4 fonts are not +documented anywhere; they are essentially Type 1 fonts with a BuildChar or +BuildGlyph procedure. Types 9, 10, and 11 (CIDFontType 0, 1, and 2) and +Type 32 (downloaded bitmap) fonts are documented in Adobe supplements. +Type 42 (encapsulated TrueType) fonts are documented in an Adobe +supplement; the TrueType format is documented in publications available +from Apple and Microsoft. Ghostscript does not support Type 14 (Chameleon) +fonts, which use a proprietary Adobe format. + +

    Precompiling fonts

    + +

    +You can precompile -- convert -- any Type 1 font into C, then compile and +build it into the Ghostscript executable. (Type 1 fonts include any font +whose name ends with .pfa or +.pfb, and it also includes all the +Ghostscript .gsf fonts except the Hershey +fonts.) This has no effect on rendering speed, but it eliminates the time +to load the font dynamically, which may make a big improvement in total +rendering time, especially for multi-page documents. It also reduces the +number of auxiliary files required at run time. Fonts precompiled and +built into Ghostscript this way need not appear in Fontmap, although if +they do appear there, no harm is done. + +

    The utility for precompiling fonts is named +font2c. Note that since +font2c uses the PostScript language program +font2c.ps, Ghostscript must already be +available to run it, and Fontmap must contain entries for the fonts you +want to compile. For example, to precompile the Times-Italic font, + +

    +font2c Times-Italic ptmri.c +
    + +

    +The first argument ("Times-Italic" above) is the font's +name and the second ("ptmri.c") is the name of the +resulting C file. You can use any file name you want, as long as it ends +in ".c". It needn't be limited to eight characters unless +your operating system requires this. If "XYZ.gsf" or +"XYZ.pfa" is the font file's name in Fontmap, +"XYZ.c" is a good choice for the C file. + +

    +Under VMS, or other systems whose the C compilers limit the length of +identifiers, you must do something slightly more complicated; for that see +the section on short identifiers in C. On +VMS also, you must quote the font name ("{font name}") to preserve the +name's mixed upper and lower case. For VMS environments in general see +the VMS directions in the documentation on +building Ghostscript, and ignore the rest of this section. + +

    +Note that fonts are not supplied with Ghostscript in precompiled form, since +those files are quite large and can easily be recreated using font2c. There is a makefile target to +run font2c on all the fonts supplied with Ghostscript. +Invoke it with + +

    +make fonts_standard_c +
    + +

    Besides running font2c, you must compile the fonts and +link them into the executable. To do this, add the compiled fonts feature +to your platform-specific makefile. See the +overview of makefiles in the +documentation on building Ghostscript for the list of makefiles for each +platform. Find the definition of the FEATURE_DEVS macro in +the makefile, which looks something like this: + +

    +FEATURE_DEVS=$(PSD)psl3.dev $(PSD)pdf.dev $(PSD)dpsnext.dev $(PSD)pipe.dev +
    + +

    +and add "ccfonts.dev": + +

    +FEATURE_DEVS=$(PSD)psl3.dev $(PSD)pdf.dev $(PSD)dpsnext.dev $(PSD)pipe.dev $(PSD)ccfonts.dev +
    + +

    +Next you must add the specific fonts to int.mak, the +platform-independent makefile for the interpreter. This makefile already +has rules for the standard fonts supplied with Ghostscript, so if you just +want to compile the standard fonts, you needn't do anything else. Now we +describe how to compile other fonts into the executable, such as the Utopia +or Kana fonts, or your own fonts. + +

    +Suppose you want to compile the Kana fonts into the executable. First pick +one of ccfonts10 through ccfonts15 as the +place you will do this, say ccfonts10. Add your compiled +font file names, for instance + +

    +ccfonts10_=$(CFOBJ)fhirw.$(OBJ) +
    + +

    +(Note the underscore "_".) If this makes the line too long, use another +line of the same form, for instance, + +

    +ccfonts11_=$(CFOBJ)fkarw.$(OBJ) +
    + +

    +Just below the ccfonts10_= line is a line + +

    +ccfonts10= +
    + +

    +(Note no underscore.) Add your own fonts to the end of this line, replacing +dashes ("-") with underscores ("_") in the font names. For instance: + +

    +ccfonts10=Calligraphic_Hiragana +
    + +

    +Again, if a line becomes too long, add another line of the same form, for +instance, + +

    +ccfonts10=Calligraphic_Hiragana
    +ccfonts11=Calligraphic_Katakana +
    + +

    +After all the lines of this form, add a pair of lines to compile each font, +separating these entries from the "ccfonts*" lines and from each other with +a blank line. In our example this becomes + +

    +
    $(CFOBJ)fhirw.$(OBJ): $(CFGEN)fhirw.c $(CCFONT)
    +	$(CFCC) $(CFO_)fhirw.$(OBJ) $(C_) $(CFGEN)fhirw.c
    +
    +$(CFOBJ)fkarw.$(OBJ): $(CFGEN)fkarw.c $(CCFONT)
    +	$(CFCC) $(CFO_)fkarw.$(OBJ) $(C_) $(CFGEN)fkarw.c
    +
    + +

    +Finally, run make to build an executable that includes the +fonts you added. They are present in FontDirectory when +Ghostscript starts up. + +

    Precompiling fonts on platforms with identifier length limits

    + +

    +On some platforms the C compiler or linker limits the number of significant +characters usable in an identifier. On such platforms, you must do a +little extra work. + +

    +Let N be the maximum number of significant characters in an +identifier (typically 31). For each font whose name is longer than +N-5 characters, pick an arbitrary identifier that we will +call the "short name". This can be any string you want, as long as it +contains only letters, digits, and underscores; is no longer than +N-5 characters; and is different from all other font names +and short names. A good choice for this is the name of the C file. There +is no harm in doing this for fonts with names shorter than +N-5 characters, but it's unnecessary. + +

    +You must do two different things for fonts that require a short name. + +

      +
    1. You must supply the short name as a third argument to +font2c. For example, to compile +NewCenturySchlbk-BoldItalic using the short name +pncbi, + +
      +font2c NewCenturySchlbk-BoldItalic pncbi.c pncbi +
      + +
    2. +Then when you add the font name to the definition of one of the ccfonts* +macros in the makefile, use the short name, not the actual font name, for +instance, + +
      +
      Use +      + ccfonts12=pncbi +
      Rather than +   + ccfonts12=NewCenturySchlbk_BoldItalic +
      +
    + +

    +Everything else is as described above. This procedure doesn't change the +name of the font in Fontmap or as seen from within Ghostscript; it just +works around a limitation of some older compilers. + +


    + +

    Font names and unique IDs

    + +

    +If you create your own fonts and will use them only within your own +organization, you should use UniqueID values between +4000000 and 4999999, coded like this (see the tables of +codes for font file names below): + +

    +

    Coding of UniqueID "4TTWVE0"
    +
    TT +    + Typeface +    + two-digit identifier +
    W +   + Weight +   + normal, bold, etc. +
    V +   + Variant +   + normal, italic, etc. +
    E +   + Expansion +   + normal, condensed, etc. +
    + +

    +This scheme will not work forever: as soon there are more than 99 +typefaces, or more than 9 weights or variants, we will have to do something +else. But it suffices for the near future. + +

    +If you plan to distribute fonts, ask Adobe to assign you some UniqueIDs and +also an XUID for your organization. Contact + +

    +Unique ID Coordinator
    +Adobe Developers Association
    +Adobe Systems, Inc.
    +345 Park Avenue
    +San Jose, CA 95110-2704
    ++1-408-536-9000 telephone (ADA)
    ++1-408-536-6883 fax
    +fontdev-person@adobe.com
    +
    + +

    +The XUID is a Level 2 PostScript feature that serves the same function as +the UniqueID, but is not limited to a single 24-bit integer. The +bdftops program creates XUIDs of the form +"[-X- 0 -U-]" where "-X-" is the +organization XUID and "-U-" is the UniqueID. (Aladdin +Enterprises' organization XUID, which appears in a few places in various +font-related files distributed with Ghostscript, is 107; do not use this for +your own fonts that you distribute.) + +

    +Because Ghostscript runs on many different systems, including DOS, the +names of font files can be no longer than 8 characters. We therefore +construct a font's filename FTTWVVVE.gsf +similarly to the construction for temporary UniqueIDs. + +

    +

    Coding of font file name "FTTWVVVE.gsf"
    +
    F +    + Foundry +    +   +
    TT +   + Typeface +   + two-digit identifier +
    W +   + Weight +   + normal, bold, etc. +
    V +   + Variant +   + normal, italic, etc. +
    E +   + Expansion +   + normal, condensed, etc. +
    + +

    +Since a font can have multiple variants (for example, Lucida Regular Sans +Typewriter Italic) we allocate three letters to that; if a font has four +variants, you're on your own. If a font does have multiple variants, it's +best to add the expansion letter "r" to make clear which +letters are variants and which the expansion. This scheme is very close to +the one proposed in "Filenames for fonts", published in the first 1990 +issue of TUGboat (the journal of the TeX Users Group). + +

    Codes used to make font file names

    + +

    +In the following tables we make no attempt to be exhaustive: instead we +have simply allocated entries for those things that we needed for the fonts +that we are actually distributing. + +

    + +

    +

    Font foundry codes
    +
    ID +    + Foundry +

    +
    b +    + Bitstream +
    f +   + Freely distributable and public-domain +
    hr +   + Hershey +
    n +   + IBM +
    p +   + Adobe ("p" for PostScript) +
    u +   + URW[++] +
    + +

    + +

    +

    Typeface codes
    +
    ID +    + Name +    + Filename
    prefix +
       + Source +

    +
    08 +   + Avant Garde +   + pag +   + Adobe +
    11 +   + Bookman +   + pbk +   + Adobe +
    01 +   + CharterBT +   + bch +   + Bitstream +
    02 +   + Courier +   + ncr +   + IBM +
    03 +   + Helvetica +   + phv +   + Adobe +
    04 +   + New Century Schoolbook +   + pnc +   + Adobe +
    09 +   + Palatino +   + ppl +   + Adobe +
    05 +   + Symbol +   + psy +   + Adobe +
    06 +   + Times +   + ptm +   + Adobe +
    -- +   + Utopia +   + put +   + Adobe +
    07 +   + Zapf Chancery +   + zc +   + public domain +
    10 +   + Zapf Dingbats +   + pzd +   + Adobe +
    12 +   + public domain Cyrillic +   + fcy +   + public domain +
    13 +   + Kevin Hartig Hiragana +   + fhi +   + shareware +
    14 +   + Kevin Hartig Katakana +   + fka +   + shareware +
    90 +   + Hershey Gothic English +   + hrge +   + freeware +
    91 +   + Hershey Gothic Italian +   + hrit +   + freeware +
    92 +   + Hershey Gothic German +   + hrgr +   + freeware +
    93 +   + Hershey Greek +   + hrgk +   + freeware +
    94 +   + Hershey Plain +   + hrpl +   + freeware +
    95 +   + Hershey Script +   + hrsc +   + freeware +
    96 +   + Hershey Symbol +   + hrsy +   + freeware +
    + +

    + +

    +

    Font weight codes
    +
    ID +    + Type +    + Filename +

    +
    0 +    + normal +    + r +
    1 +   + bold +   + b +
    2 +   + book +   + k +
    3 +   + demi +   + d +
    4 +   + light +   + l +
      +

    Font variants
    +
    ID +    + Type +    + Filename +

    +
    0 +    + normal +    + r (omitted when weight is normal) +
    1 +   + italic +   + i +
    2 +   + oblique +   + o +
    3 +   + script, handwritten, swash +   + w +
      +

    Expansion
    +
    ID +    + Type +    + Filename +

    +
    0 +    + normal +    + r (omitted when weight and variant are normal) +
    1 +   + narrow +   + n +
    + +
    + +

    Using Ghostscript fonts on X Windows displays

    + +

    +The standard X11 distribution can display various kinds of fonts, including +the Adobe Type 1 format, so font files distributed with Ghostscript can be +used on X Windows displays. Beginning with Ghostscript version 6.0, the +font archive contains the directory files needed to map Ghostscript's font +files to XLFDs. Those files are named "fonts.dir" and +"fonts.scale". There are two main methods to configure +your display to use these files. + +

    + +

    Using xset

    + +

    +Users without root access can add the Ghostscript font directories to the +font search path using xset. Such a setting is transient +and must be repeated each time the display server is reset or restarted, +typically at login, so the call to xset should be added to +the user's ".xsession" or ".xinitrc" +startup script to make the fonts available at each login. + +

    +To add a new font directory, invoke xset like this: + +

    +xset fp+ {directory} +
    + +

    +where {directory} is the full pathname to the directory +containing the fonts on the host running the X display server. For common +Ghostscript installations the path is + +

    +/usr/local/Ghostscript/share/fonts +
    + +

    Permanent installation

    + +

    A system administrator, or anyone with the necessary root privilege, +can make Ghostscript's fonts permanently available to the managed X display +servers. This setup depends on the servers and the methods used +to make the fonts available. + +

    Configuring the xfs font server

    + +

    +An X display server can obtain its font resources from a dedicated X font +server. xfs is a prototype font server included in the X +Consortium X11 distribution. It is configured with a file located in a +directory whose exact location is installation-dependent and could be any +of + +

    +/usr/lib/X11/fs/config +
    /usr/X11/lib/X11/fs/config +
    /usr/X11R6/lib/X11/fs/config +
    + +

    +or some similar name. You can also use xfs's +"-config" command-line option to specify the location of +the configuration file. + +

    +The configuration file designates a list ("catalog") of directories, each +of which contains fonts and a font mapping database (the file +"fonts.dir"). This list is specified with the +"catalogue=" keyword followed by a list of absolute +directory paths separated by commas. To add the Ghostscript directory, +include its full name in the catalog list, for example: + +

    +catalogue = /usr/local/share/Ghostscript/fonts/, +
    /usr/X11R6/lib/X11/fonts/misc/, +
    /usr/X11R6/lib/X11/fonts/Speedo/, +
    /usr/X11R6/lib/X11/fonts/Type1/, +
    /usr/X11R6/lib/X11/fonts/75dpi/, +
    /usr/X11R6/lib/X11/fonts/100dpi/ +
    + +

    +The fonts are searched in the order the directories are specified, so an +XLFD mapped by the Ghostscript directory could shadow a previous similar +description specified in the following directories. Once the file is +modified, instruct the font server to reload the configuration file by +sending it the USR1 signal: + +

    +kill -HUP {pid} +
    + +

    +where {pid} is the font server process's numeric process +ID, as obtained with the "ps" command. Be sure to check +that the server is still alive after signaling it: it is very picky and +could decide to shut itself down if something is wrong in the new +configuration. If this happens, restart the server by hand and try to +figure out from its output what's happening. If the font server dies, +display servers using it will experience problems, so be sure to send the +signal from the console or from a display not using that font server! + +

    Xfree86 display servers

    + +

    +With the family of Xfree86 display servers, adding a new font directory +permanently requires editing the "/etc/XF86Config" setup +file to add a new "FontPath" to the "Files" +section: + +

    +Section "Files" +
         RgbPath    "/usr/X11R6/lib/X11/rgb" +
         FontPath   "/usr/local/share/Ghostscript/fonts" +
         FontPath   "/usr/X11R6/lib/X11/fonts/misc:unscaled" +
         FontPath   "/usr/X11R6/lib/X11/fonts/75dpi:unscaled" +
         FontPath   "/usr/X11R6/lib/X11/fonts/100dpi:unscaled" +
         FontPath   "/usr/X11R6/lib/X11/fonts/Type1" +
         FontPath   "/usr/X11R6/lib/X11/fonts/Speedo" +
    EndSection
    +
    + +

    +The fonts are searched in the order the directories are specified, so an +XLFD mapped by the Ghostscript directory could shadow a previous similar +description specified in the following directories. Once this global +configuration is edited, the new fonts become available to all Xfree86 +servers in use on that host. If a server is running, it must be restarted +to take effect: just quit the current session in the usual way. If the +server is under the control of xdm, you may have to kill +it, because it is usually reset only between successive sessions. + +

    +This section by Bertrand Petit +<eegs@phoe.frmug.org> + + + + +


    + +

    +Copyright © 1996, 1997, 1998, 1999, 2000 Aladdin +Enterprises. All rights reserved. + +

    +This software is provided AS-IS with no warranty, either express or +implied. + +This software is distributed under license and may not be copied, +modified or distributed except as expressly authorized under the terms +of the license contained in the file LICENSE in this distribution. + +

    +Ghostscript version 7.07, 17 May 2003 + + + + + diff --git a/Master/xemtex/doc/ghostscript/Helpers.htm b/Master/xemtex/doc/ghostscript/Helpers.htm new file mode 100644 index 00000000000..993388cfbde --- /dev/null +++ b/Master/xemtex/doc/ghostscript/Helpers.htm @@ -0,0 +1,303 @@ + + + +People who have helped with Ghostscript + + + + + + + + + + +

    People who have helped with Ghostscript

    + + + + + + + + + +

    For other information, see the Ghostscript +overview. + + + +


    + + + + + +

    +Many people have contributed to the development of Ghostscript. In the +new-user documentation we give special thanks to a few major contributors; here +we wish to acknowledge and thank the following other people (in +alphabetical order) who have contributed substantially to improving +Ghostscript since its inception in 1986: + +

    +
    +
    Hitoshi Aida +
    for help with the SunView driver +
    Pierre Arnaud +
    for bug reports and fixes +
    Juan Manuel Acosta +
    for LN03+ driver and fixes of arc and circle rendering on SunOS +
    William Bader +
    for several drivers and bug reports +
    Alan Barclay +
    for the RGB TIFF drivers +
    Nelson H. F. Beebe +
    for testing on a wide variety of Unix architectures, and for + the multi-architecture makefile +
    Karl Berry and Kathy Hargreaves +
    for helping create the fonts originally distributed with + Ghostscript +
    James W. Birdsall +
    for the IBM ProPrinter driver +
    Andrew Birrell +
    for a challenging application +
    Jan Bottorff +
    for help with the Microsoft Windows driver +
    Tom Brosnan +
    for the Desqview/X port +
    Philip Brown +
    for the LaserJet IIID duplex additions +
    Tobias Burnus +
    for many challenging bug reports +
    George Cameron +
    for DeskJet 500C and 550C drivers +
    Maurice Castro +
    a collaborator of Russell Lang's +
    Jeff Chua +
    for the idea and first implementation of + ReopenPerPage +
    Phil Conrad +
    for originating the PPM utilities and the PCX and GIF drivers, + and lots of bug reports +
    Michel Dagenais +
    for major help with the DeskJet driver +
    John Desrosiers +
    for the final work on the Microsoft Visual C++ makefiles, + and for enhancements to the memory manager +
    Jim Dunham +
    for the OpenVMS makefile +
    Gershon Elber +
    for improvements to the BGI driver +
    Fritz Elfert +
    for the Unix file enumeration routine +
    George Ferguson +
    for some added man pages +
    Mike Ferrara +
    for help with the LaserJet driver and HP-UX +
    Andy Fyfe +
    for the BJ200 driver modifications to the BJ10e driver, and for + the 3B1 driver +
    Tim Gallivan +
    for a port to the Atari ST +
    J. Greely +
    for help with the PostScript-to-ASCII filter +
    Gintautas Grigelionis +
    for a set of XBM/XPM icons +
    Paul Haeberli +
    for the ideas behind better color selection and trapezoid fill + algorithms +
    Karl Hakimian +
    for the Tek 4693d drivers +
    Richard Hesketh +
    for GSPreview +
    Gunther Hess +
    for the unified inkjet printer driver +
    Thomas Hiller +
    for the Trident TVGA driver +
    Frans van Hoesel +
    for improvements to the DeskJet driver +
    Berthold K. P. Horn +
    for a better spot halftone screen +
    B. Jackowski and GUST (the Polish TeX users group) +
    for improvements to the TrueType font reader, and for the + tiff2ps and ttf2pf utilities +
    Jouk Jansen +
    for motivating, testing, and providing some of the script + file for the MMK/MMS build procedure +
    Earl Johnson +
    for the motivation for the ps2ascii utility +
    Ray Johnston +
    for a first draft of FAKEFONTS and EPSF recognition, and for + many small bug fixes +
    Larry Jones +
    for simplifying and improving the portability of the pthreads + interface code +
    Pete Kaiser +
    for beta testing, several versions of the OSF/1 font map, and + an HTML version of the documentation +
    Norio Katayama +
    for the first implementation of composite fonts, and for + testing and helping debug the later implementation +
    Alfred Kayser +
    for a DeskJet 500C driver and beta testing +
    Richard Keeney +
    for help with the SunView driver +
    Markku Koppinen +
    for a better circle-to-curve algorithm +
    Eleftherios Koutsofios +
    for help with the SunView driver +
    Tom Lane +
    for major help with adapting and integrating the IJG code +
    Sam Leffler +
    for the original TIFF G3 driver, and for finding some subtle + bugs in the CCITTFaxEncode filter +
    Jonathan Luckey +
    for the high-resolution Imagewriter drivers +
    Ken Lunde +
    for providing pointers to freely available CJKV font-related + resource +
    Ian MacPhedran +
    for a sixel driver +
    Jim Mayer +
    for help with the DeskJet and LaserJet drivers +
    Paul McJones +
    for help in identifying a variety of bugs +
    William L. Menninger +
    for a version of the PC display state save/restore code +
    Richard Mlynarik +
    for a nearly overwhelming volume of improvements and + suggestions +
    Ulrich Mueller +
    for the LN03 driver +
    Daniel Newman +
    for major help with VMS and the CCITTFax filters +
    Bjorn S. Nilsson +
    for major help with VMS, including many updates of the DCL + build scripts and creating the VMS help file +
    Roque Donizete de Oliveira +
    for testing and debugging, and a "man" page +
    Gerbert Orasche +
    for some minor bug fixes +
    Marc Paquette +
    for the original PaintJet driver +
    Hal Peterson +
    for major help with BDF fonts +
    Andy Piper +
    for the first draft of the WindowID feature +
    Martin Pirker +
    for fixing two major problems with TrueType fonts +
    Tom Quinn +
    for the Canon LBP-8II driver +
    Matthias Rabe +
    for work on an OS/2 port +
    Jerry Roylance +
    for help with statusdict +
    Dave St. Clair +
    for the color Epson/Fujitsu driver +
    Jan Sanislo +
    for two subtle but vital fixes +
    Clemens Schrimpe +
    for help with accented characters +
    Scott Schwartz +
    for improvements to gslp.ps +
    Mike Smolenski +
    for the Sony drivers +
    Snoopy +
    for major help with Hershey fonts, and many other contributions +
    Karsten Spang +
    for the Tektronix 4695/4696 driver +
    Andreas Stolcke +
    for help with the SunView driver +
    Hans-Gerd Straeter +
    for finding many obscure bugs +
    Christoph Strozyk +
    for getting the URW fonts made available +
    Alexey Subbotin +
    for contributing an interface to GNU readline, and for the + rewritten implementation of == +
    Michael Sweet +
    for help with the high-density Epson driver +
    Guenther Thomsen +
    for the mid-density Epson driver +
    Gregg Townsend +
    for the low-resolution dithering algorithm +
    Christian Tschudin +
    for fixes to the virtual memory package, and for the original + BubbleJet driver +
    Stephen Turnbull +
    for help with the DesqView/X port +
    Jos Vos +
    for the original PBM/PGM/PPM driver, and for much beta testing +
    Renze de Waal +
    for an improvement to the "SAFER" feature +
    Allan Wax +
    for the AT&T 6300 modification to the BGI driver +
    Mark Wedel +
    for the Apple DMP driver +
    David Wexelblat +
    for the high-resolution 9-pin Epson driver +
    George N. White III +
    for testing the PDF writer and contributing documentation +
    Elizabeth Zwicky +
    for some very challenging examples +
    +
    + +

    +The following people have also helped out by beta testing, by reporting +bugs and/or fixes, or in other ways: + +

    +Vikas Aggarwal, Michael Almond, +Abramo Bagnara, Malcolm Bennett, David Brooks, +Alex Cherepanov, Jim Collins, +Peter da Silva, Art Dederick, Paul DuBois, +Toerless Eckert, +Bernhard Fabricius, Mark Friedman, Richard Foulk, +Glenn Geers, Dave Goldblatt, Ben Goren, Dirk Grunwald, +Lars Haakedal, Howard B. Halstead, Adam Hammer, George Hartzell, Mike Hoffmann, Charles Hulse, +Brad Jones, Terry Jones, +David Keppel, +Anthony Lee, Marty Leisner, John Lundin Jr., Lee McLoughlin, +Stergios Marinopoulos, Herb Martin, David Mathog, David Maynard, Doug McDonald, Rich Murphey, +Russ Nelson, +Peter Phillips, +Mark Rawling, Philippe Robert, Tomas Rokicki, Wolfgang Rupprecht, +Bill Schelter, Larry Schwimmer, Bakul Shah, +Erik Talvola, Henrik Theiling, Mark A. Thomas, Kjetil Bernhard Thomassen, +Amanda Walker, Peter Wan, John L. Wehle, Carsten Wiethoff, Carl Witty, +Frank Yellin, +Jamie Zawinski +
    + +

    +If your name appears on the above list and we've omitted a particular +contribution you made, or if we've accidentally overlooked you entirely, +please forgive us: just let us know at raph@artofcode.com, and you will be +properly acknowledged in the next release. + + + + +


    + +

    +Copyright © 1996, 1997, 1998 Aladdin Enterprises. All +rights reserved. + +

    +This software is provided AS-IS with no warranty, either express or +implied. + +This software is distributed under license and may not be copied, +modified or distributed except as expressly authorized under the terms +of the license contained in the file LICENSE in this distribution. + +

    +Ghostscript version 7.07, 17 May 2003 + + + + + diff --git a/Master/xemtex/doc/ghostscript/Hershey.htm b/Master/xemtex/doc/ghostscript/Hershey.htm new file mode 100644 index 00000000000..a08bae318b9 --- /dev/null +++ b/Master/xemtex/doc/ghostscript/Hershey.htm @@ -0,0 +1,305 @@ + + + +Hershey fonts for Ghostscript + + + + + + + + + + +

    Hershey fonts for Ghostscript

    + + + + + + + + + +

    +This file, unlike the rest of Ghostscript, consists entirely of information +copied from public sources. It therefore is not covered by the +Ghostscript copyright or license: it is in the public domain. + +

    For other information, see the Ghostscript +overview. You can also read about Ghostscript +fonts in general. + + + +


    + + + + + +
    +Mod.sources:  Volume 4, Issue 42
    +Submitted by: pyramid!octopus!pete (Pete Holzmann)
    +
    +This is part 1 of five parts of the first Usenet distribution of
    +the Hershey Fonts. See the README file for more details.
    +
    +Peter Holzmann, Octopus Enterprises
    +USPS: 19611 La Mar Court, Cupertino, CA 95014
    +UUCP: {hplabs!hpdsd,pyramid}!octopus!pete
    +Phone: 408/996-7746
    +
    +This distribution is made possible through the collective encouragement
    +of the Usenet Font Consortium, a mailing list that sprang to life to get
    +this accomplished and that will now most likely disappear into the mists
    +of time... Thanks are especially due to Jim Hurt, who provided the packed
    +font data for the distribution, along with a lot of other help.
    +
    +This file describes the Hershey Fonts in general, along with a description of
    +the other files in this distribution and a simple re-distribution restriction.
    +
    +USE RESTRICTION:
    +        This distribution of the Hershey Fonts may be used by anyone for
    +        any purpose, commercial or otherwise, providing that:
    +                1. The following acknowledgements must be distributed with
    +                        the font data:
    +                        - The Hershey Fonts were originally created by Dr.
    +                                A. V. Hershey while working at the U. S.
    +                                National Bureau of Standards.
    +                        - The format of the Font data in this distribution
    +                                was originally created by
    +                                        James Hurt
    +                                        Cognition, Inc.
    +                                        900 Technology Park Drive
    +                                        Billerica, MA 01821
    +                                        (mit-eddie!ci-dandelion!hurt)
    +                2. The font data in this distribution may be converted into
    +                        any other format *EXCEPT* the format distributed by
    +                        the U.S. NTIS (which organization holds the rights
    +                        to the distribution and use of the font data in that
    +                        particular format). Not that anybody would really
    +                        *want* to use their format... each point is described
    +                        in eight bytes as "xxx yyy:", where xxx and yyy are
    +                        the coordinate values as ASCII numbers.
    +
    +*PLEASE* be reassured: The legal implications of NTIS' attempt to control
    +a particular form of the Hershey Fonts *are* troubling. HOWEVER: We have
    +been endlessly and repeatedly assured by NTIS that they do not care what
    +we do with our version of the font data, they do not want to know about it,
    +they understand that we are distributing this information all over the world,
    +etc etc etc... but because it isn't in their *exact* distribution format, they
    +just don't care!!! So go ahead and use the data with a clear conscience! (If
    +you feel bad about it, take a smaller deduction for something on your taxes
    +next week...)
    +
    +The Hershey Fonts:
    +        - are a set of more than 2000 glyph (symbol) descriptions in vector
    +                ( <x,y> point-to-point ) format
    +        - can be grouped as almost 20 'occidental' (english, greek,
    +                cyrillic) fonts, 3 or more 'oriental' (Kanji, Hiragana,
    +                and Katakana) fonts, and a few hundred miscellaneous
    +                symbols (mathematical, musical, cartographic, etc etc)
    +        - are suitable for typographic quality output on a vector device
    +                (such as a plotter) when used at an appropriate scale.
    +        - were digitized by Dr. A. V. Hershey while working for the U.S.
    +                Government National Bureau of Standards (NBS).
    +        - are in the public domain, with a few caveats:
    +                - They are available from NTIS (National Technical Info.
    +                        Service) in a computer-readable from which is *not*
    +                        in the public domain. This format is described in
    +                        a hardcopy publication "Tables of Coordinates for
    +                        Hershey's Repertory of Occidental Type Fonts and
    +                        Graphic Symbols" available from NTIS for less than
    +                        $20 US (phone number +1 703 487 4763).
    +                - NTIS does not care about and doesn't want to know about
    +                        what happens to Hershey Font data that is not
    +                        distributed in their exact format.
    +                - This distribution is not in the NTIS format, and thus is
    +                        only subject to the simple restriction described
    +                        at the top of this file.
    +
    +Hard Copy samples of the Hershey Fonts are best obtained by purchasing the
    +book described above from NTIS. It contains a sample of all of the Occidental
    +symbols (but none of the Oriental symbols).
    +
    +This distribution:
    +        - contains
    +                * a complete copy of the Font data using the original
    +                        glyph-numbering sequence
    +                * a set of translation tables that could be used to generate
    +                        ASCII-sequence fonts in various typestyles
    +                * a couple of sample programs in C and Fortran that are
    +                        capable of parsing the font data and displaying it
    +                        on a graphic device (we recommend that if you
    +                        wish to write programs using the fonts, you should
    +                        hack up one of these until it works on your system)
    +
    +        - consists of the following files...
    +                hershey.doc - details of the font data format, typestyles and
    +                                symbols included, etc.
    +                hersh.oc[1-4] - The Occidental font data (these files can
    +                                        be catenated into one large database)
    +                hersh.or[1-4] - The Oriental font data (likewise here)
    +                *.hmp - Occidental font map files. Each file is a translation
    +                                table from Hershey glyph numbers to ASCII
    +                                sequence for a particular typestyle.
    +                hershey.f77 - A fortran program that reads and displays all
    +                                of the glyphs in a Hershey font file.
    +                hershey.c   - The same, in C, using GKS, for MS-DOS and the
    +                                PC-Color Graphics Adaptor.
    +
    +Additional Work To Be Done (volunteers welcome!):
    +
    +        - Integrate this complete set of data with the hershey font typesetting
    +                program recently distributed to mod.sources
    +        - Come up with an integrated data structure and supporting routines
    +                that make use of the ASCII translation tables
    +        - Digitize additional characters for the few places where non-ideal
    +                symbol substitutions were made in the ASCII translation tables.
    +        - Make a version of the demo program (hershey.c or hershey.f77) that
    +                uses the standard Un*x plot routines.
    +        - Write a banner-style program using Hershey Fonts for input and
    +                non-graphic terminals or printers for output.
    +        - Anything else you'd like!
    +
    +This file provides a brief description of the contents of the Occidental
    +Hershey Font Files. For a complete listing of the fonts in hard copy, order
    +NBS Special Publication 424, "A contribution to computer typesetting
    +techniques: Tables of Coordinates for Hershey's Repertory of Occidental
    +Type Fonts and Graphic Symbols". You can get it from NTIS (phone number is
    ++1 703 487 4763) for less than twenty dollars US.
    +
    +Basic Glyph (symbol) data:
    +
    +        hersh.oc1       - numbers 1 to 1199
    +        hersh.oc2       - numbers 1200 to 2499
    +        hersh.oc3       - numbers 2500 to 3199
    +        hersh.oc4       - numbers 3200 to 3999
    +
    +        These four files contain approximately 19 different fonts in
    +the A-Z alphabet plus greek and cyrillic, along with hundreds of special
    +symbols, described generically below.
    +
    +        There are also four files of Oriental fonts (hersh.or[1-4]). These
    +files contain symbols from three Japanese alphabets (Kanji, Hiragana, and
    +Katakana). It is unknown what other symbols may be contained therein, nor
    +is it known what order the symbols are in (I don't know Japanese!).
    +
    +        Back to the Occidental files:
    +
    +Fonts:
    +        Roman: Plain, Simplex, Duplex, Complex Small, Complex, Triplex
    +        Italic: Complex Small, Complex, Triplex
    +        Script: Simplex, Complex
    +        Gothic: German, English, Italian
    +        Greek: Plain, Simplex, Complex Small, Complex
    +        Cyrillic: Complex
    +
    +Symbols:
    +        Mathematical (227-229,232,727-779,732,737-740,1227-1270,2227-2270,
    +                        1294-1412,2294-2295,2401-2412)
    +        Daggers (for footnotes, etc) (1276-1279, 2276-2279)
    +        Astronomical (1281-1293,2281-2293)
    +        Astrological (2301-2312)
    +        Musical (2317-2382)
    +        Typesetting (ffl,fl,fi sorts of things) (miscellaneous places)
    +        Miscellaneous (mostly in 741-909, but also elsewhere):
    +                - Playing card suits
    +                - Meteorology
    +                - Graphics (lines, curves)
    +                - Electrical
    +                - Geometric (shapes)
    +                - Cartographic
    +                - Naval
    +                - Agricultural
    +                - Highways
    +                - Etc...
    +
    +ASCII sequence translation files:
    +
    +        The Hershey glyphs, while in a particular order, are not in an
    +        ASCII sequence. I have provided translation files that give the
    +        sequence of glyph numbers that will most closely approximate the
    +        ASCII printing sequence (from space through ~, with the degree
    +        circle tacked on at the end) for each of the above fonts:
    +
    +        File names are made up of fffffftt.hmp,
    +
    +                where ffffff is the font style, one of:
    +                        roman   Roman
    +                        greek   Greek
    +                        italic  Italic
    +                        script  Script
    +                        cyril   Cyrillic (some characters not placed in
    +                                           the ASCII sequence)
    +                        gothgr  Gothic German
    +                        gothgb  Gothic English
    +                        gothit  Gothic Italian
    +
    +                and tt is the font type, one of:
    +                    p       Plain (very small, no lower case)
    +                    s       Simplex (plain, normal size, no serifs)
    +                    d       Duplex (normal size, no serifs, doubled lines)
    +                    c       Complex (normal size, serifs, doubled lines)
    +                    t       Triplex (normal size, serifs, tripled lines)
    +                    cs      Complex Small (Complex, smaller than normal size)
    +
    +The three sizes are coded with particular base line (bottom of a capital
    +        letter) and cap line (top of a capital letter) values for 'y':
    +
    +        Size            Base Line       Cap Line
    +
    +        Very Small         -5              +4
    +        Small              -6              +7
    +        Normal             -9              +12
    +
    +        (Note: some glyphs in the 'Very Small' fonts are actually 'Small')
    +
    +The top line and bottom line, which are normally used to define vertical
    +        spacing, are not given. Maybe somebody can determine appropriate
    +        values for these!
    +
    +The left line and right line, which are used to define horizontal spacing,
    +        are provided with each character in the database.
    +
    +Format of Hershey glyphs:
    +
    +5 bytes - glyphnumber
    +3 bytes - length of data  length in 16-bit words including left&right numbers
    +1 byte  - x value of left margin
    +1 byte  - x value of right margin
    +(length*2)-2 bytes      - stroke data
    +
    +left&right margins and stroke data are biased by the value of the letter 'R'
    +Subtract the letter 'R' to get the data.
    +
    +e.g. if the data byte is 'R', the data is 0
    +     if the data byte is 'T', the data is +2
    +     if the data byte is 'J', the data is -8
    +
    +and so on...
    +
    +The coordinate system is x-y, with the origin (0,0) in the center of the
    +glyph.  X increases to the right and y increases *down*.
    +
    +The stroke data is pairs of bytes, one byte for x followed by one byte for y.
    +
    +An 'R' in the stroke data indicates a 'lift pen and move' instruction.
    +
    + + + + + +
    + +

    +Public Domain. +Distributed with Ghostscript 6.50, November 2000 + + + + + diff --git a/Master/xemtex/doc/ghostscript/History1.htm b/Master/xemtex/doc/ghostscript/History1.htm new file mode 100644 index 00000000000..58dab2ecfc5 --- /dev/null +++ b/Master/xemtex/doc/ghostscript/History1.htm @@ -0,0 +1,436 @@ + + + +History of Ghostscript versions 1.n + + + + + + + + + + + +

    History of Ghostscript versions 1.n

    + + + + + +

    Table of contents

    + +
    + + + + + +

    +This document is a history of Ghostscript releases numbered 1.n. For more +recent changes, see the the other history documents and, for the latest +versions, the news: + +

    +News
    +History of Ghostscript versions 4.n
    +History of Ghostscript versions 3.n
    +History of Ghostscript versions 2.n
    +History of Ghostscript versions 1.n (this document)
    +
    + +

    For other information, see the Ghostscript +overview. + + + +


    + + + + +

    Version 1.3 (6/20/89)

    +
    +This release should have had a lot more things in it, but time pressure
    +and the already long delay in getting it out made it necessary to push it
    +out the door in an incomplete state (e.g., no testing on X systems
    +whatsoever).
    +
    +
    +

    Interpreter

    + +
    +Makes -d and -D equivalent on the command line.  Adds a new switch -s / -S
    +that defines a name as a string rather than a token.
    +
    +Arranges things so that if -sLIB=_a_prefix_ is defined on the command
    +line, (filename) run will look for _a_prefix_filename before giving up if
    +filename isn't the name of an accessible file.
    +
    +Changes showpage from an operator to a procedure.  The definition of
    +showpage in ghost.ps does a copypage, beeps the console, waits for the
    +user to type a character (normally a <return>, since line buffering is
    +always enabled), and then does an erasepage and an initgraphics.
    +
    +Adds a new initialization file, gdevs.ps, containing device-dependent
    +parameters.  The default window size for X Windows is properly set to 612
    +x 792, i.e., 8.5" x 11".
    +
    +Adds a new optional initialization file, statusd.ps, that provides dummy
    +definitions for the names found in statusdict on LaserWriters.
    +
    +Adds a new operator, getenv, to get information from the shell
    +environment.
    +
    +Adds a new predefined operator, defaultdevicename, that returns either (X)
    +or (EGA) according to how the interpreter was built.
    +
    +Adds a new type, devicetype, and new operators deviceparams, getscanlines,
    +makedevice, makeimagedevice, and setdevice.  Changes currentdevice to
    +return a device object rather than a set of parameters.
    +
    +Makes the scanner recognize reals with 'e' exponent notation, and handle
    +reals with more than 9 digits.
    +
    +Fixes a bug that made names starting with digits read incorrectly.
    +
    +Fixes a bug in the exp operator that made it not pop its first argument
    +from the stack.
    +
    +Fixes a bug in the rand operator that made it return negative values about
    +half the time.
    +
    +Fixes a bug in equality comparison (eq, ne, and several other operators)
    +that made unequal operator objects occasionally appear to be equal on DOS
    +systems.
    +
    +Fixes a bug in the bind operator that made it not work on packed arrays.
    +
    +Changes the internal representation of dictionaries so they can be
    +expanded or contracted dynamically.  Adds a new operator, setmaxlength, to
    +change the allocated size of a dictionary.
    +
    +Changes sstorei.h so that non-DOS compilers don't encounter the #pragma
    +directive used by Turbo C.
    +
    +Restores the display mode (on MS-DOS systems) when exiting.
    +
    +
    +

    Fonts

    + +
    +Makes undefined characters in the standard font display as tilde rather
    +than blank (or causing an error).  Unmapped character codes (those mapped
    +to .notdef in the encoding) still display as nothing, per the PostScript
    +manual.
    +
    +
    +

    Library

    + +
    +Adds a new header file, gxbitmap.h, with some new documentation describing
    +the internal storage format for bitmaps.
    +
    +Makes numerous internal changes in the character / font cache, affecting
    +many of the routines in gxcache.c.
    +
    +Fixes a bug in gz_draw_line / gz_fill_trapezoid that made nearly
    +horizontal lines display wrong.
    +
    +Fixes a bug in gs_scale that made scaling not work if the coordinate
    +system was rotated or skewed.
    +
    +Extends the font cache so it will handle characters rotated by multiples
    +of 90 degrees.
    +
    +Changes the second argument of gx_path_bbox and gx_path_is_rectangle to be
    +a gs_fixed_rect * rather than a fixed [4].
    +
    +Changes gs_matrix_rotate so it handles multiples of 90 degrees as a
    +special case.
    +
    +Changes the definition of the gx_device structure to accommodate the new
    +device operators, and adds corresponding library calls.
    +
    +Changes the type for a device color index from int to gx_color_index
    +(equivalent to unsigned long).  ***NOTE***: this affects existing clients
    +and drivers in a non-trivial way on MS-DOS systems.
    +
    +Changes gs_malloc and gs_free to take a client name string as an argument.
    +
    +
    +

    Usage procedures

    + +
    +Changes the compilation rules for Unix systems to not use the -o and -c
    +compiler flags together, to be compatible with more versions of cc.
    +
    +Changes the gcc makefile to use $(GCC) rather than gcc as the compiler
    +name.
    +
    +Moves the -1 flag for the MS-DOS compiler from the cc*.bat files to the
    +makefile.
    +
    +Changes CCDEBUG to CCFLAGS, and adds ASMFLAGS, in DOS makefile.
    +
    +Adds -DFOR80386 and /DFOR80386 to enable use of 80386 instructions in
    +assembly code on DOS systems.
    +
    +Merges the DEBUG and gs_DEBUG switches.  There is now only a single DEBUG
    +switch that affects both the interpreter and the library.
    +
    +Adds a new compilation switch, -DNOPRIVATE, that makes private (static)
    +variables and procedures public for debugging and profiling (only needed
    +on DOS systems).
    +
    +Adds the DOS executable (gs.exe and gs.map) to the distribution fileset.
    +
    +Adds new platform-specific code files, gp-*.c, for a few things like
    +reading the clock.
    +
    +Adds a new documentation file, drivers.doc, that describes the interface
    +between Ghostscript and device drivers.
    +
    +
    + +
    + +

    Version 1.2 (2/22/89)

    + +

    Interpreter

    + +
    +Adds the new facilities in version 25 of PostScript: //name for immediate
    +lookup, packed arrays (setpacking, currentpacking, packedarray operators),
    +and new font cache parameters (setcacheparams, currentcacheparams
    +operators).
    +
    +Adds new operators (setfileposition, currentfileposition) for random
    +access to files.
    +
    +Extends readhexstring to take either a string or a file, just like token.
    +
    +Fixes a bug that caused the 'for' operator (and a couple of others) to
    +randomly smash memory locations on PC platforms.
    +
    +
    +

    Library

    + +
    +Renames the init_device driver procedure as open_device, and adds a
    +corresponding close_device.
    +
    +Adds new procedures to read and set the cache limit values (implementing
    +the currentcacheparams and setcacheparams operators).
    +
    +
    +

    Usage procedures

    + +
    +Changes the name of the Unix makefile to ux-cc-x.mak, and adds a new Unix
    +makefile, ux-gcc-x.mak, for using gcc instead of cc.  (The latter doesn't
    +actually work yet.)
    +
    +Changes the name of the single built-in font from uglyfont.cp to
    +ugly10.cp.
    +
    +
    + +
    + +

    Version 1.1 (2/12/89)

    + +

    Interpreter

    + +
    +Makes the scanner treat ^Z (ASCII code 26) as whitespace: it erroneously
    +treated ^R (ASCII code 22, or octal 26) as whitespace.
    +
    +Makes the token and readline operators, and the syntax for comments,
    +recognize \r (code 13), \n (code 10), and \r\n as equivalent end-of-line
    +indicators.  The token and readline operators will skip over any of these
    +sequences at the end of a token or line respectively, and a comment will
    +read through any of these sequences.  The other file operators (read,
    +write, readstring, writestring) do nothing special with these characters.
    +
    +Changes the debug switch name from -D to -Z.  Adds a -D switch for
    +defining names in systemdict from the command line.  Defines -DDEBUG for
    +printing out debugging information during initialization, and -DNODISPLAY
    +for suppressing display output.
    +
    +Corrects a bug that prevented the error machinery from working -- in
    +version 1.0, errors always dumped the stacks and aborted interpretation.
    +
    +Corrects a bug that made eq and ne not work for strings.
    +
    +Makes the atan (arctangent) operator normalize its results according to
    +the PostScript convention.
    +
    +Makes the div operator check for zero divisor.
    +
    +Makes unimplemented operators (resetfile, echo, save, restore, strokepath,
    +reversepath) truly undefined.
    +
    +Makes the interactive loop exit gracefully on end-of-file: in version 1.0
    +this caused an infinite loop.
    +
    +Implements the status operator.
    +
    +Corrects a bug that made the 'for' operator deliver garbage values if one
    +or more of the operands (start, increment, end) was a real.
    +
    +Corrects a bug that made the arc and arcn operators not pop their operands
    +from the stack.
    +
    +Corrects a bug that made the kshow operator crash the interpreter.
    +
    +Corrects a bug that made the print operator fail on machines that don't
    +pass structure arguments by simply pushing the contents of the structure.
    +
    +Adds a new operator, imagecharpath, to convert images to
    +addcharpath-compatible outlines.
    +
    +Changes alloc and alloc_free to use char * rather than byte *, and
    +alloc_free to return void rather than int, making them compatible with the
    +library's expectations and with malloc/free.
    +
    +Explicitly casts all expressions of the form (ptr1 - ptr2) used as
    +procedure arguments to unsigned, to handle an incompatibility between
    +Turbo C versions 1.5 and 2.0.
    +
    +Changes some of the internal conventions for operators: operators that
    +push on the operand stack must check for overflow explicitly, and
    +operators that modify the execution stack must return a special code.
    +(See oper.h for details.)
    +
    +
    +

    Initialization (ghost.ps, gfonts.ps)

    + +
    +Modifies ghost.ps and gfonts.ps so they print debugging information only
    +if the name DEBUG is defined.  (Presumably the user will set this from the
    +command line with -DDEBUG.)
    +
    +Changes ghost.ps so it initializes the nominal screen size to 640 x 350 on
    +MS-DOS systems as before, but to 612 x 792 on Unix systems, which is an
    +8.5" x 11" page at 72 pixels per inch.
    +
    +
    +

    Library

    + +
    +Corrects a bug that made the fill and eofill operators (gs_fill and
    +gs_eofill) not perform a newpath afterward.
    +
    +Corrects the bug that made thin, nearly horizontal lines display wrong (as
    +a series of disconnected dots) in the MS-DOS implementation.
    +
    +Fixes a bug in the EGA driver that often made it fill rectangular regions
    +with black around information being displayed in white.
    +
    +Completely changes the internal representation of outline fonts, and
    +changes btoi.ps (a Ghostscript language program for converting bitmaps to
    +outlines) to use a new library call, gs_imagecharpath.
    +
    +Changes the extension for outline font files from .gf to .cp.
    +
    +Adds a new debugging switch, q, that traces all rectangle fill operations.
    +
    +Adds a new debugging switch, v, that traces all device-level output calls.
    +
    +Explicitly casts pointer differences passed as procedure arguments, as in
    +the interpreter.
    +
    +Makes stringwidth work if there is no current point.  In version 1.0, this
    +gave a nocurrentpoint error.
    +
    +
    +

    Usage procedures

    + +
    +Changes the name of the 'read me' file from READ.ME to README.
    +
    +Removes a bogus line (invoking the 'mcopy' utility) from the makefile.
    +
    +Splits up the makefile into a generic part (ghost.mak) and
    +platform-specific parts (dos-ega.mak, unix-x11.mak).  The latter are what
    +is actually executed.
    +
    +Puts the definitions of the DEBUG and gs_DEBUG compilation flags into the
    +makefile instead of in ghost.h and gx.h respectively.
    +
    +Changes the names of the documentation files to be a little less cryptic.
    +Changes all the file names to lower-case in the documentation.  Adds
    +installation information to make.doc.
    +
    +Changes all function definitions (but not prototype declarations) to ANSI
    +syntax, and adds a preprocessing step (ansi2knr) to convert them to K&R
    +syntax on Unix systems.
    +
    +Changes the normal MS-DOS link configuration to not assume the presence of
    +an 80x87 coprocessor, and describes how to increase performance if a
    +coprocessor is present.
    +
    +Changes the names of all the interpreter .c files, except stream.c, to
    +begin with 'i'.
    +
    +
    + +
    + +

    Version 1.0 (8/11/88)

    + +
    +First version released to the public.
    +
    + + +
    + +

    Copyright © 1996, 1997, 1998 Aladdin Enterprises. +All rights reserved. + +

    This software is provided AS-IS with no warranty, either express or +implied. + +

    +This software is distributed under license and may not be copied, +modified or distributed except as expressly authorized under the terms +of the license contained in the file LICENSE in this distribution. + +

    +Ghostscript version 7.07, 17 May 2003 + + + + + diff --git a/Master/xemtex/doc/ghostscript/History2.htm b/Master/xemtex/doc/ghostscript/History2.htm new file mode 100644 index 00000000000..62964ee41af --- /dev/null +++ b/Master/xemtex/doc/ghostscript/History2.htm @@ -0,0 +1,5231 @@ + + + +History of Ghostscript versions 1.n + + + + + + + + + + + +

    History of Ghostscript versions 2.n

    + + + + + +

    Table of contents

    + +
    + + + + + +

    +This document is a history of Ghostscript releases numbered 2.n. For more +recent changes, see the the other history documents and, for the latest +versions, the new: + +

    +News
    +History of Ghostscript versions 4.n
    +History of Ghostscript versions 3.n
    +History of Ghostscript versions 2.n (this document)
    +History of Ghostscript versions 1.n +
    + +

    For other information, see the Ghostscript +overview. + + + +


    + + + +

    Version 2.9.10-beta (7/28/94)

    + +

    +This is the last 2.9 beta, since 3.0 will be released on July 31. + +

    Documentation

    +Fixes bugs:
    +	- A | in gs.1 had a \ in front of it instead of \\.
    +
    +Adds a paragraph in gs.1 that tells how to select paper size.
    +
    +Notes in devs.mak that the cdj550 driver is the best one for the H-P
    +DeskJet 520, and the pjxl300 driver is the right one for the H-P DeskJet
    +1200C.
    +
    +Notes in make.doc that Watcom C++ 10.0 may require a change in a makefile.
    +
    +

    Procedures

    +Removes ICCINIT from MODULES.LIS for VMS systems.
    +
    +Updates VMS.MAK to support Motif V1.2.
    +
    +Updates jpeg.mak to work with version 5alpha4 of the IJG JPEG code.
    +
    +

    Utilities

    +Fixes bugs:
    +	- font2c didn't leave extra room in Type 0 font dictionaries for
    +entries added by definefont.
    +	- font2c left extra information on the stack.
    +	- ansi2knr would remove newline characters within formal argument
    +lists.
    +	- font2c got an Error: /undefined in makefontprocname.
    +
    +Updates ansi2knr to work better with the GNU configure program.
    +
    +Updates ansi2knr to handle procedure formal arguments automatically.
    +
    +

    Drivers

    +Fixes bugs:
    +	- If a file contained color or gray-scale information followed by a
    +masked image, the X driver would sometimes invert the polarity of the
    +image.
    +
    +

    Platforms

    +Fixes bugs:
    +	- Unix systems with a 2-argument gettimeofday returned garbage
    +values for the current time.
    +	- The VMS build script for compiled fonts omitted the requirement
    +to load gs_ccfnt.ps.
    +	- memory_.h didn't note that System V Unix platforms need memmove.
    +
    +On Unix systems, changes the subdirectory of $datadir/ghostscript to just
    +be the version number (e.g., 2.9.10 rather than gs-2.9.9).
    +
    +

    Fonts

    +Adds support code for the Wadalab (University of Tokyo) free Kanji font.
    +
    +Notes in the documentation in Fontmap that .pfa and .pfb fonts are
    +compatible with ATM, but .gsf fonts are not.
    +
    +Changes the names of Thomas Wolff's expanded Hershey fonts, replacing .gsf
    +with .pfa.
    +
    +

    Interpreter

    +Fixes bugs:
    +	- The scanner became confused if the literal names /<< or />>
    +straddled an input buffer boundary.
    +	- .setlanguagelevel gave an invalidaccess error when
    +switching from level 2 to level 1.
    +	- currentgstate, setgstate, and copy for gstates didn't do
    +the necessary access checks.
    +	- The Category resource category didn't define .ResourceFile, so
    +/Category resourcestatus gave an error.
    +	- The garbage collector didn't trace the structures used by
    +filenameforall properly on most platforms.
    +	- Automatically expanding systemdict didn't work, but didn't give
    +an error.
    +	- Automatically expanding a dictionary usually expanded it by too
    +much.
    +	- systemdict was created too small.
    +	- The garbage collector didn't trace the structures referenced only
    +from allocator objects, leading to attempts to access freed storage.
    +	- If a chunk was empty, the GC tried to free it even if it had
    +inner chunks.
    +*	- The outer loop in dict_find_name_by_index() could cause an
    +addressing fault on segmented machines when looking up Level 2 operators,
    +because the offset could get decremented past 0.
    +	- The heap_available procedure in gsmemory.c didn't convert
    +properly to non-ANSI syntax.  (New bug in 2.9.9.)
    +	- The ledgertray procedure wasn't implemented.
    +	- The xxxtray procedures didn't set the page size.
    +	- The settumble operator wasn't implemented, even as a dummy.
    +	- glyphshow didn't work with Type 3 fonts.
    +	- Supplying a RenderTable for a CIE color space caused an error.
    +	- The DCT filter code had the jpeg/ subdirectory name "wired in" to
    +the source files.
    +
    +Adds experimental filters for Burrows/Wheeler block sorting compression
    +(BWBlockSortEncode/Decode), described in DEC SRC Research Report #124,
    +move-to-front coding (MoveToFrontEncode/Decode), and a simple form of
    +Huffman coding (BoundedHuffmanEncode/Decode).  These are experimental -- do
    +not rely on them remaining the same (or existing at all) in future
    +releases!
    +
    +Adds all function prototypes needed to pacify strict compilers.
    +
    +Removes all explicit references to userdict from the C code.
    +
    +Changes the SAFER switch so that it disallows not only explicit writing,
    +deleting, or renaming of files, but also disallows specifying an explicit
    +OutputFile for any device (except for the initial device, by means of
    +-sOutputFile= on the command line).
    +
    +

    Streams

    +Fixes bugs:
    +	- Hex decoding (ASCIIHexDecode stream and <> literals) didn't treat
    +the data source as read-only (although it restored it to its original
    +contents).
    +
    +Implements move-to-front coding, a simple form of Huffman coding, and
    +Burrows/Wheeler block sorting compression.
    +
    +

    Library

    +Fixes bugs:
    +*	- (The following bug fix was actually implemented somewhere around
    +version 2.7.)  restore didn't purge character cache entries whose keys were
    +names created more recently than the save.
    +	- gstype1.h declared gs_type1_state_sizeof as an extern, but this
    +wasn't defined anywhere.
    +	- gs_makeimagedevice didn't set the size of the palette correctly,
    +which confused the GC.
    +	- gs_makeimagedevice didn't set num_components to 1 for
    +mapped-color devices with only gray values.
    +*	- The two-color halftoning algorithms truncated when computing the
    +halftone level, rather than rounding it.
    +*	- If a path being filled had line segments that fell entirely to
    +the right of the clipping region, part of the path might not be filled.
    +	- The optimized code for 24-bit color didn't ensure properly that
    +32-bit accesses would be aligned appropriately.
    +	- The miter join check had gotten reversed somewhere along the way.
    +*	- Because x and y were interchanged in the miter check computation,
    +in some situations the check was inverted.  (This is a very old bug!)
    +	- It was believed that strokepath didn't work with dashed lines;
    +the problem appears to have been an incorrect testing program.
    +
    +Adds all function prototypes needed to pacify strict compilers.
    +
    +Changes fixed2float so it doesn't cast the result to float, and removes
    +fixed2double.  This produces slightly more accurate results in many places,
    +and may even be faster (for FPUs that normally generate double rather than
    +single precision results).
    +
    +
    + +

    Version 2.9.9-beta (6/23/94)

    + +

    Documentation

    +Puts a pointer to devs.mak in the section of use.doc that talks about
    +MS-DOS displays.
    +
    +

    Platforms

    +Fixes bugs:
    +	- The %pipe% IODevice was omitted on System V platforms.
    +	- The AXP VMS build script needed /NESTED_INCLUDE=PRIMARY in
    +CC_QUAL to work around a bug in the DEC C compiler.
    +
    +

    Fonts

    +Fixes bugs:
    +	- gs_lev2.ps redefined .loadFontmap incorrectly.
    +
    +

    Interpreter

    +Fixes bugs:
    +	- stream_compact used memcpy even though the source and destination
    +might overlap.
    +	- filter applied to a closed file could cause a crash.
    +
    +

    Library

    +Fixes bugs:
    +	- putdeviceparams to a printer didn't close and reopen the device
    +if only the page size or resolution was changed.
    +
    +
    + +

    Version 2.9.8 (6/20/94)

    + +

    +This is the first version that claims to be a full Level 2 +implementation. +It was distributed to satisfy a contractual requirement. +

    + +

    Documentation

    +In make.doc:
    +	- Adds a reference to the generic System V section at the end of
    +the SCO section.
    +	- Notes that DEC OSF/1 systems may require changing the name of the
    +install program to installbsd.
    +
    +Updates drivers.doc to reflect the change from "properties" to
    +"parameters".
    +
    +Updates the Aladdin Enterprises Free Public License to version 1.
    +
    +In language.doc, notes that certain device parameters will be phased out.
    +
    +

    Procedures

    +Fixes bugs:
    +	- The file aa.ps was included in the distribution by mistake.
    +
    +Notes in the Unix makefiles that X11R6 probably needs SM and ICE added to
    +XLIBS.
    +
    +

    Utilities

    +Fixes bugs:
    +	- viewjpeg.ps used a non-existent file as its example.
    +	- A temporary string in wrfont.ps was allocated too small.
    +
    +Upgrades font2c.ps so it will handle (simple) Type 0 fonts as well as Type
    +1.
    +
    +

    Drivers

    +Fixes bugs:
    +	- The TIFF drivers didn't byte-align each scan line.
    +	- gdevtfax.c applied & to an array member of a structure.
    +
    +Changes the param_list interface slightly: Implementations of the
    +put_params driver procedure should now use param_signal_error to report
    +errors, and should not give up at the first error.  (Even though this is a
    +non-backward-compatible change, old implementations will continue to work;
    +they just won't deliver complete results to the setpagedevice Policies
    +machinery.)
    +
    +

    Platforms

    +Fixes bugs:
    +	- Removes the time zone adjustment from gp_get_clock in gp_unix.c,
    +since the value returned by all Unix systems is bogus.
    +	- The DV/X makefile still included the dfaxhigh and dfaxlow drivers.
    +	- gssetmod.com (VMS command file) didn't work properly if the
    +argument list was empty.
    +	- vms.mak, vms-axp.mak, and modules.lis hadn't been updated to
    +reflect changes in 2.9.7.
    +	- The MS Windows version wouldn't link (overflowed the 64K primary
    +data segment).
    +
    +

    Fonts

    +Makes the font substitution algorithm somewhat more intelligent.
    +
    +

    Interpreter

    +Fixes bugs:
    +	- Enumerating the pointers of a zero-length array of structures
    +caused a divide by zero.
    +	- iref.h didn't protect itself against multiple inclusion.
    +	- The CCITTFaxEncode filter didn't byte-align the final
    +end-of-block code if EndOfBlock and EncodedByteAlign were both true.
    +	- make_initial_dict in iinit.c used `name' as a formal parameter
    +name, which some compilers believe conflicts with a typedef.
    +	- Not all internal operators had registered names.
    +	- The GC used memcpy, rather than bytes_copy, when compacting
    +objects, even though the source and destination might overlap.
    +	- When debugging was enabled, gc_string_mark could give a spurious
    +error indication.
    +	- vmstatus returned too small a value for the maximum VM.
    +	- The scanner could get into a loop when reading a radix-85 string.
    +	- The GC could get into a state where it was called after every
    +allocation (because of the patch setting global = true in ireclaim).
    +	- The general path filling algorithm didn't skip regions that were
    +completely outside the clipping box.
    +	- The gs_screen_enum structure contained a pointer (porder) that
    +pointed into the middle of a structure, confusing the GC.
    +
    +Implements the BitmapWidths flag in fonts.  The default of false means that
    +we use scalable widths even with xfonts.
    +
    +Changes the Generic resource category so that ResourceFileName is optional.
    +
    +Changes the .getdeviceparams operator so that it takes an optional
    +dictionary giving the set of keys whose values are wanted.  Changes the
    +.putdeviceparams operator so that it takes an optional policy dictionary
    +specifying the action to be taken on errors, and returns a list of keys and
    +errors if it fails, rather than causing an error.  These are
    +non-backward-compatible changes, but ordinary programs do not use these
    +operators.
    +
    +Changes the names of some internal operators and procedures by adding
    +a . to the beginning:
    +	currenttime
    +	devicename
    +
    +Implements currentpagedevice, and a small subset of setpagedevice.  Only
    +the following keys in the page device dictionary are known to the current
    +implementation, and the ones marked with * are not actually processed:
    +	PageSize
    +	InputAttributes
    +	MediaColor, MediaWeight, MediaType, InsertSheet
    +	  (for InputAttributes matching only)
    +	*ImagingBBox
    +	OutputAttributes
    +	OutputType
    +	  (for OutputAttributes matching only)
    +	NumCopies
    +	HWResolution
    +	*Margins
    +	*Orientation (for all devices, not just roll devices)
    +	Policies
    +	Install
    +	BeginPage
    +	EndPage
    +Does not implement:
    +	- Updating InputAttributes or OutputAttributes by sensing the state
    +	  of the device;
    +	- Retrying media matching after an initial failure;
    +	- Automatic handling of portrait vs. landscape page size;
    +	- Recording the CTM after Install as the one to be used for
    +	  defaultmatrix, initmatrix, and initgraphics.
    +Also, media matching is normally disabled (with InputAttributes = null)
    +for all devices.  ****** We had to disable setpagedevice just before
    +shipping this release, because of interactions with the older device
    +handling machinery that we could not fix in the time available.
    +
    +

    Library

    +Fixes bugs:
    +	- 24-bit color (mem_true24_fill_rectangle and _copy_mono) had
    +algorithm bugs.
    +	- A complex conditional expression in gx_render_gray wouldn't
    +compile properly with the DECStation 3100 Ultrix 4.3 compiler.
    +	- The GC routines for gx_device_clip didn't handle the case where
    +the 'current' pointer pointed to list.single.
    +	- gx_add_char_bits used memcpy, rather than bytes_copy, for
    +compressing character bitmaps, even though the source and destination might
    +overlap.
    +	- Some compilers require the definition of st_gstate_contents to
    +precede the definitions of the GC procedures.
    +	- Filling a large rectangle (more than 1K of bitmap) with a colored
    +halftone overwrote random areas of the stack.
    +
    +Changes gs_setcachedevice[2] to take a pointer to an array of floats,
    +rather than 6 or 10 individual floats.  THIS IS A NON-BACKWARD-COMPATIBLE
    +CHANGE.
    +
    +Implements the BitmapWidths flag in fonts.
    +
    +
    + +

    Version 2.9.7-beta (6/5/94)

    + +

    +Yet another pre-3.0 beta. The main features are a fairly reliable +garbage +collector, and function prototypes almost everywhere they are needed. + +

    Documentation

    +Fixes bugs:
    +	- The comment at the beginning of the zfindlibfile procedure was
    +incorrect.
    +
    +Replaces the GNU License (the COPYING file) with version 0 of the new
    +Aladdin Enterprises Free Public License (the PUBLIC file).
    +
    +

    Procedures

    +Fixes bugs:
    +	- The definition of cmykread.dev in gs.mak was incorrect (it
    +modified color.dev).
    +
    +Adds the ability to specify a value for FONTPATH on the command line
    +(-sFONTPATH=), overriding GS_FONTPATH.
    +
    +Replaces the -oper2 configuration resource type with the ability to specify
    +in the op_def list the dictionary in which operators will be defined.  (See
    +opdef.h for more details.)  This is an internal change only.
    +
    +

    Utilities

    +Fixes bugs:
    +	- viewgif.ps got an error on interlaced GIF files whose height
    +wasn't a multiple of 8.
    +
    +Changes traceop.ps so it stores the traced operator in the same dictionary
    +where the operator is currently defined, if possible.
    +
    +

    Drivers

    +Fixes bugs:
    +	- The new G3 fax drivers crashed on page widths greater than 2623
    +(40 * 64 + 63) pixels.  (We fixed this by disallowing page widths greater
    +than approximately twice this.)
    +	- The 24-bit PCX driver had some debugging code accidentally left
    +in it that produced large volumes of useless console output.
    +
    +Removes the previous (Leffler) TIFF/F driver and the TruFax driver.
    +
    +

    Platforms

    +Fixes bugs:
    +	- time_.h, gp_unix.c, and gp_sysv.c didn't do the right thing on
    +SVR4 platforms, where gettimeofday only takes 1 argument.
    +	- The final linking command on Turbo C platforms didn't specify the
    +COMPDIR directory for the linker.
    +
    +

    Fonts

    +
    +Changes the standard Fontmap to use the URW contributed fonts as
    +work-alikes for Helvetica and Times Roman.
    +
    +

    Interpreter

    +Fixes bugs:
    +	- The garbage collector wasn't in a consistent state.
    +	- In Level 2 mode, statusdict was allocated in global VM rather
    +than local VM.
    +	- resourceforall gave an error on the built-in categories such as
    +Filter.
    +	- The file searching algorithm didn't check the current directory
    +first.
    +	- When opening a file failed, it didn't return a different error
    +depending on the problem.
    +	- The CCITTFaxEncode filter crashed on widths larger than 2623 (64
    +* 40 + 63) pixels.  (We fixed this by disallowing page widths greater than
    +approximately twice this.)
    +	- The .type1getsbw operator gave an invalidfont error if a
    +CharString started with anything other than a [h]sbw.  (Adobe's published
    +specs say this is invalid, but some Adobe MultiMaster fonts start with a
    +callsubr and/or a callothersubr.)
    +	- When printing out the stack with == after an error, the error
    +handler got a repeated (and ultimately fatal) typecheck error if it
    +encountered an object of non-standard type.
    +	- The token operator could incorrectly attempt to free a structure
    +on the stack if it encountered an input buffer boundary.
    +	- string_to_ref didn't correctly set the a_local flag in the string
    +object it created.
    +	- If the -c switch was the last switch on the command line,
    +Ghostscript always exited without going into interactive mode.
    +	- copy didn't check for errors when copying a dictionary.
    +
    +Makes many minor changes (mostly adding prototypes) to reduce error and
    +warning messages from gcc and other strict compilers.
    +
    +Adds files containing the 4 predefined PDF encodings (MacRoman, MacExpert,
    +WinAnsi, and PDFDoc).
    +
    +

    Library

    +Fixes bugs:
    +	- image_bbox in gxccman.c could produce a division by 0 if a
    +0-width character was being entered into the cache.
    +	- gx_image_cached_char incorrectly specified a scale of 2x2 rather
    +than 1x1 if it had to read bits from an xfont.
    +	- Stale pointers in the halftone cache weren't cleared properly by
    +a restore.  (We fixed this by making grestoreall clear the halftone cache.)
    +	- setdash used gs_malloc, rather than the current allocator, for
    +allocating the dash pattern.
    +	- If one attempted to fill a very wide region with a colored
    +halftone, gx_dc_ht_colored_fill_rectangle would loop indefinitely.
    +	- The container_offset in clipping devices was set incorrectly,
    +causing the garbage collector to mangle pointers.
    +
    +Changes the fopen routine in IODevices so that it can return an arbitrary
    +error code, rather than simply succeeding or failing.  THIS IS A
    +NON-BACKWARD-COMPATIBLE CHANGE.  It only affects IODevice implementations,
    +of which there are very few.  (It doesn't affect ordinary device drivers.)
    +
    +Changes the char_metrics xfont procedure so it returns the width as
    +floating point numbers rather than integers.  THIS IS A
    +NON-BACKWARD-COMPATIBLE CHANGE.  It only affects xfont implementations, of
    +which there are very few.
    +
    +Makes many minor changes (mostly adding prototypes) to reduce error and
    +warning messages from gcc and other strict compilers.
    +
    +
    + +

    Version 2.9.6-beta (5/23/94, not +distributed to the public)

    + +

    +This, too, was supposed to be the last beta release for public +release 3.0. +It was created primarily for a user who desperately needed a Level 1 system +that would run properly on a 64-bit hardware architecture. The garbage +collector is badly broken (it's in the middle of an architectural change); +setpagedevice is still not implemented. + +

    Documentation

    + +
    +Documents the standard location of Type 1 fonts on AIX.
    +
    +Changes the last few mentions of Ghostview for Microsoft Windows to GSview
    +for Windows.
    +
    +Notes that Solaris 2.n provides the X11 header files in a different place.
    +
    +Changes README to reflect the differentiation between Aladdin Ghostscript
    +and GNU Ghostscript.
    +
    +
    +

    Procedures

    + +
    +Fixes bugs:
    +	- The compilation rules for the modules that call the IJG library
    +used -Ijpeg rather than -I$(JPEGSRC).
    +	- The rule for gslib.dev omitted echogs$(XE) as a prerequisite.
    +
    +Makes it possible to define the values of buildtime, copyright, revision,
    +revisiondate, and serialnumber in the makefile.
    +
    +

    Utilities

    +Fixes bugs:
    +	- The viewgif.ps utility didn't handle local color tables.
    +
    +Updates ps2ai.ps to version 1.81.
    +
    +

    Drivers

    +Fixes bugs:
    +	- The TIFF and fax devices used some identical names, causing
    +linker complaints.
    +	- The bj10e/bj200 driver inadvertently disabled the sheet feeder.
    +(The change may not actually fix this bug, since we don't have either of
    +these printers with a sheet feeder to test it on.)
    +	- The 'bit' device didn't map colors to pixel values correctly.
    +	- The monochrome PCL driver didn't work around the fact that the
    +Canon LBP4i printer didn't clear its seed row correctly.
    +
    +Adds new drivers:
    +	- A user-contributed driver for the H-P DesignJet 650C.
    +	- A user-contributed driver for the Canon LIPS III printer.
    +	- A completely new tiffg3 driver with one based on the new, fast
    +faxg3 code.  This driver does not include any external code, and carries an
    +Aladdin copyright.
    +	- A tiffg4 driver, also based on the fast CCITT filter code.
    +
    +Removes the tiffg3x driver that appeared briefly in 2.9.5, and renames the
    +previous (Leffler) tiffg3 driver as tiffg3x.
    +
    +Adds support for A0, A1, and A2 paper sizes to PCL drivers.
    +
    +Changes all the names involving "props" to "params", for consistency with
    +the header files, some other internal interfaces, and Adobe's terminology.
    +THIS IS A NON-BACKWARD-COMPATIBLE CHANGE.  However, it only affects devices
    +that implement their own get_props and put_props procedures, of which there
    +aren't very many.
    +
    +

    Platforms

    +Fixes bugs:
    +	- The DV/X makefile used X11 rather than X for the X11 library name.
    +	- The DV/X makefile incorrectly included the PC display drivers.
    +	- The DV/X makefile omitted gp_dosfs.$(OBJ) from the list of
    +platform-specific files.
    +	- The DV/X makefile used : rather than ; for separating directory
    +names in GS_LIB_DEFAULT.
    +	- x_.h omitted a needed alias for XtAppSetFallbackResources.
    +	- The makefile entry for System V Unix systems didn't include
    +gp_unifn.$(OBJ).
    +	- The comment before LDFLAGS in the gcc makefiles incorrectly
    +suggested using the -x switch on Ultrix platforms.
    +	- The forward declaration of quant_params in zfdct.c upset the Sun
    +compiler because it declared a parameter as float rather than floatp.
    +*	- The Microsoft C compiler, like the Borland C compilers, only
    +compares the offset part of segmented pointers.
    +
    +

    Fonts

    +
    +Adds a fontmap suitable for use with Adobe Type Basics.
    +
    +

    Interpreter

    +Fixes bugs:
    +	- The STACK_LOOP_BEGIN macro in istack.h didn't work correctly on
    +segmented systems.
    +	- The end_phase procedure in igc.c didn't work correctly on
    +segmented systems.
    +	- Indexed color spaces didn't mark their base space properly when
    +garbage collecting.
    +	- The garbage collector didn't work on segmented systems, because
    +it smashed the lsize field of large objects with mark/reloc information.
    +	- Some structures didn't have correct associated GC procedures:
    +gs_indexed_map, gs_client_pattern, gs_pattern_instance.
    +	- restore could free names or stack segments that were still
    +referenced.
    +*	- If a packed object caused an error, the error object could be set
    +to garbage rather than the correct object.
    +*	- Badly designed error handlers which use $error for temporary
    +storage could cause a dictfull error.
    +	- Some compilers objected to the use of "dict" as a variable name
    +in a scope where it was defined as a type.
    +	- IODevices were declared const and non-const inconsistently.
    +	- setpagedevice popped one object too many off the stack if the
    +request included any subdictionaries that needed to be merged.
    +	- More garbage collector bugs were fixed.
    +	- If the current stack block was empty, Level 2 restore would give
    +a spurious typecheck error.
    +	- The CCITTFaxEncode filter could get confused if it emptied the
    +input and filled the output at the same time.
    +	- The CCITTFaxEncode filter could insert an extra EOL if it had to
    +suspend at certain times.
    +	- The new parser for literal strings (as of 2.9.5) could mis-count
    +internal parentheses if a parenthesis caused the internal buffer collecting
    +the string to overflow.
    +	- If the current stack block had fewer than 3 elements,
    +.type1addpath could report a spurious typecheck error.
    +	- Text rendering operations (show, stringwidth, etc.) caused a
    +crash if the current color was a Pattern that hadn't already been
    +rasterized.
    +	- If a program did a grestore when the graphics state stack was
    +empty, the graphics state was initialized to unexpected (and, in some
    +cases, invalid) values.
    +	- pathforall could cause a bogus stackoverflow if it overflowed the
    +current stack block.
    +	- Closing an encoding filter with a procedure as target left the
    +filter on the stack.
    +*	- The outer loop in dict_lookup() could cause an addressing fault
    +on segmented machines when looking up Level 2 operators, because the offset
    +could get decremented past 0.
    +	- There was an = instead of an == in a test in scanner_reloc_ptrs.
    +	- The call on gs_reloc_refs in sproc_reloc_ptrs in zfproc.c omitted
    +the last (gcst) argument.
    +
    +(Re-)implements the 2-D case of CCITTFaxEncode, and fixes a couple of bugs
    +in it.
    +
    +Adds DiffEncode and DiffDecode filters that implement color prediction for
    +the PDF variant of the LZWDecode filter.
    +
    +Changes the specification of .oserrorstring to be similar to getenv,
    +where, etc.  THIS IS A NON-BACKWARD-COMPATIBLE CHANGE; however, no
    +user-written code should be using .oserrorstring.
    +
    +Adds oversampling for better character rasterizing.
    +
    +

    Library

    +Fixes bugs:
    +	- gx_dc_ht_colored_fill_rectangle gave a compiler warning because
    +of a problem with const pointers.
    +	- dfmul2fixed_vars (in gxfixed.h) omitted the & before vda on
    +big-endian platforms, causing compilation errors.
    +	- IODevices were declared const and non-const inconsistently.
    +	- The Type 1 rasterizer never enabled overshoot suppression.
    +	- stroke didn't fatten the line properly if stroke adjustment was
    +enabled, or if the line was horizontal or vertical.
    +*	- The clipping test for characters was too strict by almost 1
    +pixel, leading to unnecessary clipping of text at the edge of the clipping
    +box.
    +*	- The initial clipping box was computed incorrectly for devices
    +whose initial transformation matrix included a rotation.
    +
    +Changed the implementation of clipping lists and show enumerators to use
    +separate objects rather than embedded objects, to pacify the GC.  (This is
    +an internal change, not visible at the PostScript or API level.)
    +
    +Makes the character cache trim off left and right blank areas, as well as
    +top and bottom.  (Internal change.)
    +
    +Adds oversampling for better character rasterizing.
    +
    +
    + +

    Version 2.9.5-beta (4/11/94)

    + +

    +This was supposed to be the last beta release before 3.0, but it +won't be. +The only known major defects are the unreliable garbage collector, and the +dummy implementation of setpagedevice/currentpagedevice. + +

    Documentation

    + +
    +Fixes bugs:
    +	- The file commnew.doc didn't belong in the fileset.
    +
    +Notes in the makefiles that SVR4 systems may need to set EXTRALIBS=-lnsl.
    +
    +Adds a user-contributed `man' page for the ps2epsi utility.
    +
    +

    Procedures

    +Fixes bugs:
    +	- The IJG files didn't compile properly by themselves, because they
    +didn't have $(AK) in their dependency list.
    +
    +Changes back the handling of files named on the command line, so that they
    +are first sought in the current directory, and if that fails, use the
    +search path.  (2.9.4-beta changed things so that files on the command line
    +did not use the search path, because as of that version, the search path
    +doesn't necessarily include the current directory.  I consider the "check
    +the current directory and then use the search path" rule, which is the
    +MS-DOS standard and was used in Ghostscript prior to 2.9.4, a serious
    +mistake, since it is one of the best-known security holes in Unix and can
    +also produce confusing and unexpected results depending on the current
    +directory; I would much rather have a clear distinction between
    +user-specified files, which should not use any path searching, and system
    +files, that only use the defined search path.  However, as of this moment,
    +users seem to want the convenience at the expense of insecurity and
    +confusion.)
    +
    +Adds '.' to the beginning of the search path for MS-DOS platforms, to
    +conform to the usual MS-DOS file searching convention.
    +
    +Adds a -c ("code") switch, which interprets following arguments (until the
    +next switch) as PostScript tokens.
    +
    +Changes the handling of FEATURE_DEVS so that either level1.dev or
    +level2.dev must normally be selected.  THIS IS A NON-BACKWARD-COMPATIBLE
    +CHANGE for Level 1 systems, which formerly set FEATURE_DEVS to an empty
    +definition.
    +
    +

    Utilities

    +Fixes bugs:
    +	- bench.ps didn't switch back to local VM properly before running
    +the program being benchmarked.
    +
    +Adds a ppmsetpagesize command to the pstoppm utility.
    +
    +

    Drivers

    +Fixes bugs:
    +	- The PCX and GIF drivers used an incorrect algorithm for computing
    +the blue component of the color palette, which could cause colors to come
    +out with not quite enough blue.
    +	- The SPARCprinter driver wouldn't compile with non-ANSI compilers.
    +
    +Adds new drivers:
    +	- A user-contributed driver for DEC sixel displays like the VT240
    +(sxlcrt, in gdevln03.c, which has a FSF copyright.)
    +	- A much larger and supposedly faster version of the TIFF/F driver
    +(tiffg3x, in gdevtifx.c), contributed by a user.  This has the same
    +copyright as the TIFF/F driver (gdevtiff.c).
    +	- A driver (faxg3, in gdevfax.c) that produces plain Group 3 fax
    +output with no header, using the CCITTFaxEncode filter to do the work.
    +(This is around 2.5-3 times as fast as the other fax drivers distributed
    +with Ghostscript.)
    +	- A user-contributed driver for the Mitsubishi CP50 color printer.
    +
    +Changes the `bit' driver so one can set the Colors and *Values properties.
    +
    +Makes the color mapping for PC displays, PCX files, and GIF files identical
    +(they differed slightly before).
    +
    +

    Platforms

    +Fixes bugs:
    +	- VMS used DISPLAY rather than DECW$DISPLAY to get the display name
    +if opening the display failed.
    +	- Many minor bugs relating to OS/2 and Win32 were fixed.
    +	- On Unix and DV/X platforms, the install script didn't mkdir
    +$(gsdir), and didn't mkdir the intermediate directory for the man page.
    +	- On BSD and UTek platforms, the declaration of memset in
    +memory_.h, and the definition in gsmisc.c, conflicted with the ANSI
    +declaration.
    +	- One of the SPARC compilers compiled the intersection computation
    +in arc_either (gspath.c) incorrectly.
    +	- The temporary file names created under OS/2 could exceed the 8.3
    +length limit.
    +
    +

    Interpreter

    +Fixes bugs:
    +	- The test files for the IJG library had been damaged by EOL
    +conversion.
    +	- The garbage collector didn't mark some of the most recently
    +created names.
    +	- The interpreter would sometimes report a typecheck instead of a
    +stackunderflow.
    +	- If aload didn't have enough room on the stack, it would report a
    +rangecheck rather than a stackoverflow.
    +	- zcontext wouldn't compile, because it hadn't been updated to the
    +new GC interfaces.
    +	- The definition of private_st_stream_proc_state in ifilter.h ended
    +with a semicolon, which upset some compilers.
    +	- load didn't check to make sure that the dictionaries it examined
    +had read access.
    +	- cvrs didn't handle negative numbers in radix 2 or 3 properly.
    +	- The allocator could become confused if it was asked to allocate a
    +large array.
    +	- readline gave an ioerror rather than a rangecheck if it
    +overflowed the string.
    +	- The allocator didn't free packed arrays properly.
    +	- The allocator's check for LIFO freeing of arrays was off by 1, so
    +it never succeeded.
    +	- The undercolor removal and black generation procedures weren't
    +initialized properly.
    +	- If the interpreter couldn't find gs_init.ps, it returned a random
    +exit code.
    +	- If an operator expected a procedure and didn't get one, it
    +sometimes gave an invalidaccess rather than a typecheck.
    +	- Unix file enumeration often did the wrong thing if there were
    +directories in the pattern.
    +	- The ASCIIHexDecode filter read an extra character after the
    +terminating >.
    +	- scalefont didn't fill in ScaleMatrix properly.
    +	- The CCITTFaxEncode filter crashed if the width of the page wasn't
    +a multiple of 8 bits.
    +	- The error printing code used .languagelevel, which wasn't defined
    +in Level 1 configurations.
    +	- setpagedevice didn't pop its argument.
    +	- Definitions in statusdict didn't change according to the current
    +language level.
    +	- Separation color spaces didn't allow strings as color space names.
    +	- Due to a bug in chunk_locate_ptr, the garbage collector sometimes
    +decided incorrectly that a pointer was pointing outside collectable space.
    +	- (Many other garbage collector bugs were fixed.)
    +
    +Implements additional Level 2 features:
    +	- Garbage collection for strings.
    +	- Expandable operand and dictionary stacks, and the ability to set
    +	the maximum size of these stacks.
    +	- Additional user and system parameters.  The following are dummies:
    +	AccurateScreens, JobName, JobTimeout, WaitTimeout.
    +	- Procedure-based filters usable with cvx/exec and token.
    +	- Separation color spaces (always using the alternate space).
    +	(These were theoretically implemented in version 2.6, but they were
    +	never tested and were actually missing most of the implementation.)
    +	- VMThreshold and VMReclaim for invoking GC automatically.
    +
    +Adds a hook in iscan.c for parsing DSC comments.
    +
    +Adds encoding and decoding filters for the BCP and TBCP protocols.  These
    +are not fully implemented yet:
    +	- The interrupt and status request characters are ignored on input,
    +	and never generated on output;
    +	- The TBCP encoder doesn't emit the start-of-protocol string;
    +	- The TBCP decoder doesn't recognize the end-of-protocol string.
    +
    +Factors out Type 1 font capability as a separate feature.
    +
    +Changes the names of some files:
    +	packed.h to ipacked.h;
    +	bnum.h to ibnum.h.
    +
    +Changes the name of the value.index member of a ref to value.boolval.
    +(Internal change only.)
    +
    +

    Library

    +Fixes bugs:
    +	- The definition of RELOC_PTRS_BEGIN in gsstruct.h wouldn't compile
    +properly with non-ANSI compilers.
    +	- The JPEG library wouldn't compile properly with non-ANSI compilers.
    +*	- The platform font machinery gave up too easily in some cases.
    +	- CMYK devices needing halftoning converted the CMYK color to RGB.
    +	- The debugging code in arc_add (gspath.c) didn't print the output
    +values correctly.
    +
    +Factors out Type 1 font capability as a separate feature.
    +
    +
    + +

    Version 2.9.4-beta (2/19/94)

    + +

    Procedures

    + +
    +Changes Ghostscript's path searching algorithm so that it does not
    +automatically look in the current directory first.  (The former algorithm
    +was more MS-DOS-like; the new one is more Unix-like.)  If you want to
    +include the current directory, you must include '.' in the search path.
    +THIS IS A NON-BACKWARD-COMPATIBLE CHANGE.
    +
    +Adds two new resource types for genconf.c:
    +	- -header filexxx.h adds #include "filexxx.h" to gconfig.h.
    +	- -libpath dir adds dir to the list of library search paths.
    +
    +

    Utilities

    +Fixes bugs:
    +	- impath.ps (used by bdftops) computed the starting X coordinate
    +incorrectly, typically causing characters to be displaced slightly to the
    +right.
    +	- pstoppm.ps didn't handle local and global VM properly.
    +
    +Adds a ps2ai.ps utility, contributed by a user, for converting arbitrary
    +PostScript files into a form compatible with Adobe Illustrator.
    +
    +

    Drivers

    +
    +Adds new drivers:
    +	- A user-contributed driver for Imagen Impress laser printers.
    +	- A user-contributed driver for the DEC LA75plus printer.
    +
    +

    Platforms

    +
    +Under OS/2, adds the ability to keep Ghostscript in memory for a
    +specified number of minutes.
    +
    +Adds support for Win32 and Win32s.
    +
    +Changes the MS Windows platform font interface so that it does not attempt
    +to render fonts at sizes smaller than 6 pixels.  Changes the X Windows
    +interface, which already did this for 4-point and smaller fonts, to also
    +use a lower limit of 6 pixels.  Also changes the X Windows platform font
    +machinery so it does not render fonts at sizes larger than 36 pixels: at
    +large sizes, Ghostscript does a perfectly good job, and some X font servers
    +rasterize the entire font and lock up the entire window system while doing
    +so.
    +
    +

    Interpreter

    +Fixes bugs:
    +	- currentdash always returned a new array of reals, rather than the
    +actual argument of setdash.
    +	- Strings in binary object sequences read in as integers.
    +	- Because of a bug in chunk_locate_ptr, some large objects didn't
    +get freed properly.
    +	- If an error occurred while processing an image, Ghostscript would
    +attempt to free random blocks of storage.
    +	- Input filters discarded trailing data, rather than filling it out
    +with zeros.  (This is now fixed for ASCIIHexDecode and ASCII85Decode; it's
    +not clear what other filters it should affect.)
    +	- The ASCII85Encode filter produced garbage output for the final
    +1-4 bytes before EOD.
    +*	- The TIFF output driver produced incorrect output for the second
    +and subsequent pages if the output was being produced on multiple files.
    +*	- The default handleerror did a 'stop', which was not correct.
    +	- gpcheck.h converted all positive return codes to 0 if interrupt
    +checking was enabled.
    +	- Images with multiple data sources didn't work.
    +	- Images with 12-bit sample values didn't work.
    +	- Images with a file as the data source read additional data beyond
    +what was required.
    +	- 2 vmreclaim worked (pretty much), but 1 vmreclaim didn't.
    +	- If %lineedit was opened multiple times, characters from later
    +openings overwrote characters from earlier ones.
    +	- token returned garbage for the "remaining string" result when
    +reading from a string, if it actually read all of the string.  (New bug in
    +2.9.2, probably.)
    +
    +Implements additional Level 2 features:
    +	- DCTEncode and DCTDecode filters.
    +	- Filters with procedures as the data source or target.
    +	(Except for token and cvx/exec.)
    +	- Garbage collection for names.
    +
    +Changes the error printout so that strings are always truncated at 200
    +characters.
    +
    +For Level 2 systems, changes the initial setting of the object format
    +parameter from 0 to an appropriate non-zero value.
    +
    +* Changes the .quit operator so that it takes two operands, an error object
    +and an error code; if the latter is negative, the interpreter returns this
    +as the error code, rather than e_Quit.
    +
    +Makes StandardEncoding and ISOLatin1Encoding arrays, rather than packed
    +arrays, on large-memory systems, for compatibility with certain test
    +suites.  Changes .registerencoding to accept arrays as well as packed
    +arrays.
    +
    +

    Library

    +Fixes bugs:
    +	- Due to an error in cie_mult3, CIE-based colors were badly
    +mis-mapped.
    +*	- Very narrow (but not empty) rectangles would disappear.
    +*	- Small halftone cells could smash the next higher entry in the
    +halftone cache.
    +	- The orientation algorithm in gxstroke.c still interchanged
    +clockwise and counter-clockwise coordinate systems (after having been
    +"fixed" at least 3 times).
    +	- Stroking 1-pixel-wide lines shortened them, instead of
    +lengthening them, if non-butt caps were requested.
    +
    +Refactors mem_mapped8_copy_mono because of limitations in the bcc32
    +compiler.
    +
    +
    + +

    Version 2.9.3-beta (1/19/94)

    + +

    This version was created for evaluation purposes for a few users who +needed Level 2 capability; it was never released to anyone else, even +beta testers. + +

    Documentation

    +Fixes bugs:
    +	- The description of psview and xpsview was incorrect.
    +
    +

    Procedures

    +Changes the installation directories for Unix and similar systems to put
    +Ghostscript data in $(datadir)/ghostscript/gs-NN.NN.NN rather than directly
    +in $(datadir)/ghostscript.  (Fonts still go in $(datadir)/ghostscript/fonts.)
    +
    +

    Drivers

    +Fixes bugs:
    +	- Some spaces were incorrectly replaced with tabs in the help
    +message in the 3B1 display driver.
    +	- The BMP driver wrote a spurious scan line at the beginning
    +of its output.
    +	- The monochrome PCX driver had the two palette elements
    +interchanged.
    +
    +Adds new drivers:
    +	- A user-contributed driver for the Xerox XES printer format.  This
    +has a FSF copyright.
    +	- A user-contributed driver for the Epson AP3250 printer.  (This is
    +the same as the Stylus 800, with slightly different margins.)
    +	- A user-contributed driver for the DEC LA70 printer with some
    +algorithms for improving text at low resolutions.  This has a FSF
    +copyright.
    +	- A user-contributed driver for an intermediate-resolution mode
    +for 9-pin "Epson-compatible" printers.
    +
    +Changes the name of the Stylus 800 driver from escp2 to st800.
    +
    +Adds a compile-time flag to the Epson driver to cope with Panasonic 9-pin
    +printers, which sometimes have trouble mixing graphics and tabs.
    +
    +

    Platforms

    +Fixes bugs:
    +	- The MS Windows driver (gp_mswin.c) referred to iodev.h rather
    +than gxiodev.h.
    +	- On Unix System V platforms, gp_unifs.c and gdevpipe.c were
    +incorrectly omitted from the link list.
    +	- (Some?) System V platforms don't have the S_ISDIR macro,
    +requiring a change in stat_.h.
    +	- The Unix `install' target didn't install gs_std_e.ps and
    +gs_iso_e.ps.
    +	- No MODULES.LIS file was provided for VMS.
    +
    +Adds Desqview/X makefiles that actually work.
    +
    +Documents the set of H-P-supplied patches needed to make H-P's
    +compilers process Ghostscript.
    +
    +Changes the MS Windows driver so that if the user presses the Enter key
    +while the image window has the focus, the text window will be brought to
    +the top and made the active window.  This is useful when viewing a
    +multi-page document with Ghostscript.
    +
    +
    +

    Interpreter

    +Fixes bugs:
    +	- The definition of public_st_client_color() in gxccolor.h
    +included an extraneous semicolon.
    +	- The definition of private_st_AXD_state() in sfilter.h included an
    +extraneous semicolon.
    +	- saxx.c didn't include sfilter.h, which it needed for the
    +definition of private_st_AXD_state().
    +	- ialloc_struct failed to create a separate chunk if the structure
    +was very large.
    +	- setcolorspace didn't allocate the colorspace object in the same
    +VM space as the graphics state, causing problems when the colorspace was
    +freed.
    +	- In rare circumstances, currentfile could return an empty array
    +rather than a file.
    +	- Dictionary keys were always allocated in global VM.
    +	- If NOPLATFONTS was true, definefont didn't check whether the
    +dictionary was read-only before trying to insert an ExactSize key.
    +	- startjob could get an invalidaccess error, because serverdict was
    +allocated in global VM.
    +	- Using definefont with an already registered font created a
    +circular list structure.
    +	- If a PostScript procedure appeared as a CharString in a Type 1
    +font, it was always called with the character name, never the character
    +code.
    +	- The SubFileDecode filter didn't work with a non-empty EOD string
    +(went into an endless loop).  (Probably a new bug in 2.8.)
    +	- save/restore didn't properly restore the maxlength of a
    +dictionary, causing data to get smashed at random.  (New bug in 2.9.)
    +	- save didn't mark objects as old, so a nested restore had no
    +effect.  (New bug in 2.9.2.)
    +	- After returning from an OtherSubrs callback, op_type1_free
    +freed the saved interpreter state incorrectly.  (New bug in 2.7.)
    +	- Level 1 configurations didn't work because .makeoperator gave an
    +invalidaccess error.  (New bug in 2.9.2.)
    +	- ASCII85 string literals didn't work.  (Probably a new bug in 2.8.)
    +	- If the current global/local allocation mode was different at the
    +end of a file than at the beginning, an addressing fault could occur
    +(gs_unregister_root in gs_run_string).  (New bug in 2.9.2.)
    +	- After a setfileposition on a file open for reading,
    +fileposition would return an incorrect value, even though the stream
    +was actually repositioned properly.
    +
    +Brings the dictionary unpacking code for the DCT filters into line with
    +Adobe Technical Note 5116, which describes the Picky parameter for
    +DCTDecode and the NoMarker, Resync, Blend, Picky, and Relax parameters for
    +DCTEncode.
    +
    +Changes the .quit operator so that if given a negative argument, the
    +interpreter returns this as the error code, rather than e_Quit.
    +
    +Changes the Ghostscript integer version number from 100P+10S+T to
    +10000P+100S+T.
    +
    +Changes the default halftone screen for high-resolution devices, both
    +black-and-white and color.
    +
    +

    Library

    +Fixes bugs:
    +	- The software floating multiply code used with USE_FPU=-1 only
    +worked on little-endian platforms.
    +	- Specifying a left side bearing to .type1addpath produced an
    +inappropriate offset.
    +
    +
    + +

    Version 2.9.2-beta (1/2/94)

    + +

    This version was distributed only to beta testers. It adds a garbage +collector and full local and global VM support. It is the first version +that sets languagelevel = 2, i.e., claims to be a Level 2 implementation. + +

    Documentation

    +Fixes bugs:
    +	- make.doc still referred to use_* variables in gdevx.c, and
    +use.doc didn't explain the use* X resources.
    +
    +Notes that -Olimit=1000 is needed to compile Ghostscript on AXP systems
    +under OSF/1 1.3.
    +
    +
    + +

    Utilities

    +Fixes bugs:
    +	- viewgif.ps did not work with interlaced images.
    +	- font2c.ps omitted gsmemory.h from the #include list in compiled
    +fonts.
    +
    +

    Drivers

    +Fixes bugs:
    +	- The MS Windows driver hadn't been updated to work with the
    +new additions to the gx_device structure.
    +	- The BMP file driver wrote one scan line too many.
    +	- The cdj driver omitted an important cast to int in the error
    +diffusion code (FSdither macro).
    +
    +Changes the SuperVGA drivers to recognize erasepage and reset the
    +color table, like the X driver.
    +
    +Adds some fragmentary code to begin implementing the PostScript fax
    +extensions.
    +
    +

    Platforms

    +Fixes bugs:
    +	- The procedure initializers for the MS Windows console I/O
    +were missing the new reset element.
    +	- The makefile entry in bcwin.mak used -fdev rather than -iodev.
    +	- The Borland C++ makefiles exceeded MS-DOS's line length limit if
    +the compiler files were in the standard Borland directory (BORLANDC).
    +	- Some procedures weren't declared with prototypes in gp_vms.c.
    +	- Some declarations had to be reordered to pacify the VAX compiler.
    +	- Under MS Windows, Ghostscript didn't automatically de-iconify the
    +text window to display messages on an error exit.
    +	- The Unix makefile rule for gconfig_.h used echogs rather than
    +./echogs.
    +	- The Microsoft C makefile referred to an obsolete file gs.tr.
    +	- gp_unifs.c used strpbrk and strrchr, which some systems lack.
    +
    +Updates the OS/2 code and documentation for compatibility with the current
    +Ghostscript version.
    +
    +

    Fonts

    +Fixes bugs:
    +	- The X11 .pfa fonts replaced their .gsf requirements in the
    +fontmap, but not distributed with the previous (beta) release.
    +
    +Adds fontmaps appropriate for use with DEC Ultrix and OSF/1 systems.
    +
    +

    Interpreter

    +Fixes bugs:
    +	- 4-value entries in the Metrics dictionary were interpreted with
    +the width and side bearing interchanged.
    +	- Objects large enough to require their own chunk were not freed
    +properly.
    +	- The GS_FONTPATH scanner didn't deal with the possibility that
    +opening a file might fail.
    +	- The interrupt and timeout errors incorrectly pushed an error
    +object on the operand stack.
    +	- imagemask gave an error if it was invoked with a dictionary
    +argument with a current color space with more than 1 parameter.
    +	- definefont insisted that a new font not have a FID entry.
    +	- Some places didn't cast char to byte when needed.
    +	- An extra element was left on the stack when substituting the
    +default font for a font whose file couldn't be found.
    +	- The CCITTFaxDecode filter didn't allow the dictionary to be
    +omitted.  (The Adobe documentation doesn't allow this, but Adobe
    +implementations do.)
    +	- When the input came from a pipe (`-') switch, opening a filter on
    +currentfile that required more than 1 input byte to make progress would
    +cause Ghostscript to hang (in sreadbuf).
    +	- The interpreter didn't call gs_set_lib_paths before executing a
    +compiled-in initialization file.
    +	- A stream could be closed more than once.  (New bug in 2.8.)
    +	- The LZW decoder produced incorrect output if a code string was
    +too long to fit into a single output buffer.  (New bug as of 2.8.)
    +
    +Implements a special check in def to allow construction of systemdict,
    +which is stored in global VM but references dictionaries in local VM.
    +
    +Implements additional Level 2 features:
    +	- %null% and %ram% IODevices.
    +	- startjob, exitserver.
    +	- Local and global VM (finish).
    +	- Garbage collection (for everything except names and strings).
    +
    +Moves the procedures for selecting paper size from systemdict to userdict.
    +
    +Sets languagelevel to 2 in Level 2 mode, since essentially all of
    +Level 2 is now implemented.
    +
    +Factors out the Level 1 extended color facilities (CMYK color and
    +colorimage) as a separate configuration feature.
    +
    +Adds some preliminary code to begin implementing the Adobe BCP and TBCP
    +communication protocols.
    +
    +Changes the implementation of save and restore so that the bookkeeping
    +structures are allocated in the new area, not the old.  (This is an
    +internal change not visible at the PostScript level.)
    +
    +

    Library

    +Fixes bugs:
    +	- gdevprn used some preprocessor macros in formal argument
    +lists that ansi2knr couldn't handle.
    +	- pick_cell_size called gs_distance_transform with a 0 argument
    +that non-ANSI compilers didn't automatically promote to floating point.
    +	- gs_screen_init called hypot with integer arguments that
    +non-ANSI compilers didn't automatically promote to floating point.
    +	- Some places didn't cast char to byte when needed.
    +	- The vx/vy origin adjustment for WMode=1 wasn't implemented.
    +	- The pattern cache wasn't initialized properly.
    +	- Composite fonts didn't properly decode strings that started with
    +an escape sequence, which have a special (undocumented) decoding rule, and
    +also didn't properly decode strings with multiple consecutive escape
    +sequences.
    +
    +Factors out the Level 1 extended color facilities (CMYK color and
    +colorimage) as a separate configuration feature.
    +
    +
    + +

    Version 2.9.1-beta (12/7/93)

    + +

    This version was distributed only to beta testers. + +

    Utilities

    +Adds a viewgif.ps utility to view GIF files.  The current version does not
    +work with interlaced data, local color tables, or files containing more
    +than one image.
    +
    +

    Interpreter

    +Fixes bugs:
    +	- putinterval and copy didn't do the right thing if the source and
    +destination were aliases for overlapping sections of the same array or
    +string.
    +	- The DCT filter stub didn't allow the dictionary to be omitted.
    +(The Adobe documentation doesn't allow this, but Adobe implementations
    +do.)
    +
    +Adds an optional dictionary argument to the LZWDecode filter, containing
    +InitialCodeLength, FirstBitLowOrder, BlockData, and EarlyChange entries.
    +Setting these parameters appropriately allows reading (non-interlaced) GIF
    +data directly.
    +
    +

    Library

    +Fixes bugs:
    +	- setdash produced inverted output if the pattern had an odd
    +number of elements and the offset O had the property that L <= O mod
    +2*L, where L was the sum of the pattern elements.
    +
    +
    + +

    Version 2.9-beta (12/6/93)

    + +

    Like 2.7, this version was created to satisfy a contractual +requirement, +and will never be distributed to anyone other than the other party to the +contract. + +

    Documentation

    +Notes that Ghostscript runs on IBM PCs and compatibles under DR DOS
    +6.0.
    +
    +Notes that Ghostscript will run on IBM PCs and compatibles with
    +Hercules display cards if you redirect text output to a file.
    +
    +Notes that the alternate DeskJet 500C driver (djet500c) does not work
    +on the 550C.
    +
    +Gives a list of system-specific directories where Type 1 fonts are
    +likely to be installed, as a suggested setting for GS_FONTPATH.
    +
    +

    Procedures

    +Changes the distribution script so that it stores all text files in the
    +main source archive with Unix end-of-line conventions, but with DOS
    +end-of-line conventions in the MS-DOS-specific archive.
    +
    +Changes the MS-DOS, MS Windows, and OS/2 makefiles so that 486SX and 486DX
    +processors are different CPU_TYPEs.  (The former, designated by
    +CPU_TYPE=485, does not include an on-chip FPU.)
    +
    +Adds a line to gs_init.ps which can be uncommented to select A4 as
    +the default paper size.
    +
    +Adds a definable CFLAGS macro to the makefiles, allowing -DA4 to
    +select A4 as the default paper size.
    +
    +Adds the H-P printer drivers to the standard Unix configurations.
    +
    +

    Utilities

    +Fixes bugs:
    +	- If there were no unencoded characters, prfont.ps would get
    +an error.
    +
    +Changes ansi2knr to accept a wider range of function declaration syntax,
    +and to not depend on any Ghostscript header files.
    +
    +

    Drivers

    +Fixes bugs:
    +	- Several drivers (DigiFax, Epson LQ-2550, NEC P6) didn't handle
    +A4 paper width.
    +	- The IBM ProPrinter wasn't being initialized properly.
    +	- The Epson driver didn't work properly with compilers that
    +insisted on 'char' being a signed type.
    +	- The Epson driver ignored its end_string argument, producing
    +incorrect end-of-page behavior on some printers.
    +
    +Adds new drivers:
    +	- User-contributed drivers for Bellcore MGR (a window manager most
    +commonly used with OS-9) devices.
    +	- A user-contributed driver for the CIF file format.
    +	- A user-contributed driver for the HP 2563B line printer.
    +
    +Changes the LaserJet 2p, 3, and 4 drivers so they set the initial position
    +to (0,0) rather than (0,0.25").  (I don't remember why it was the other
    +way.)
    +
    +Implements the PageCount property in all drivers, not just printer
    +drivers.
    +
    +Introduces a new gx_tile_bitmap type, and changes the tile_rectangle
    +device procedure to take it in place of gx_bitmap.  THIS IS A
    +NON-BACKWARD-COMPATIBLE CHANGE.  However, it only affects devices that
    +implement their own tile_rectangle procedures, of which there aren't very
    +many.
    +
    +

    Platforms

    +Fixes bugs:
    +	- The VMS module lists referred to SDCTD and SDCTE instead of
    +SDCT.
    +	- The Unix install script tried to install the non-existent file
    +readme.doc.
    +	- Microsoft C does something bizarre with empty macro parameters,
    +which caused a problem with the gs_struct_type_... macros.
    +	- The Unix platforms didn't automatically handle the presence
    +or absence of <dirent.h>.
    +	- The DEC Alpha OSF/1 1.3 library lacks `const' in the prototype
    +for popen, which requires a workaround.
    +	- The DEC Alpha OSF/1 1.3 X Windows library uses `private' as a
    +member name.
    +
    +Splits off gp_unifs.c, containing code common to "Unix-like" file systems.
    +
    +Adds a user-contributed OS-9 platform.
    +
    +

    Interpreter

    +Fixes bugs:
    +	- The currentfile cache wasn't updated properly if an executable
    +file appeared in the middle of a procedure.  In particular, eexec-encoded
    +.PFB fonts often didn't work.
    +	- There was an extraneous `goto top' in scfd.c.
    +	- An integer constant overflowed in iname.c.
    +	- -2147483648 (i.e., -1 << 31) was converted to a float.
    +	- eexec didn't skip the first 4 characters correctly if they were
    +split across a buffer boundary.
    +	- The font/matrix pair cache didn't properly free entries with only
    +an XUID that was being deallocated.
    +
    +Implements additional Level 2 features:
    +	- Patterns, makepattern, setpattern.
    +	- IODevice resource, setdevparams, currentdevparams.
    +	- OutputDevice resource, setpagedevice, currentpagedevice.
    +	(Partially implemented.)
    +
    +Adds a new type t_struct to handle miscellaneous types that are allocated
    +as objects and that the interpreter doesn't handle specially, and changes
    +condition, fontID, gstate, lock, and save types to use t_struct.  (This is
    +an internal change, not visible at the language level.)
    +
    +Moves the maxlength of a dictionary to its own ref, eliminating the "size
    +of integer" hack.  (This is an internal change, not visible at the
    +language level.)
    +
    +Adds the last OS error number to the error printout.
    +
    +Removes the obsolete framedevice operator.
    +
    +Implements resetfile (the only Level 1 operator not yet implemented!).
    +
    +Changes the name of the getdevice operator to .getdevice.
    +
    +

    Library

    +Fixes bugs:
    +	- A couple of necessary casts from char * to byte * were omitted.
    +	- A Sun compiler required an extra cast to (void *) in the e1
    +macro in clip_rect_enum_ptrs in gxcpath.c.
    +	- The gx_dc_ procedures defined in gxdraw.c weren't marked as
    +'private'.
    +	- The number of "on" pixels in a halftone cell sometimes varied by
    +1 from cell to cell.
    +	- Mapping a gray level to CMYK didn't subtract it from 1 (to
    +produce the K component).
    +*	- charpath took hints into account.
    +
    +Shuffles the order of some declarations to pacify the VMS C compiler.
    +
    +
    + +
    + +

    Version 2.8-beta (11/10/93)

    + +

    This version was distributed only to beta testers. It adds Type 0 +font +support. It also includes extensive redesign of streams (to eventually +support procedure streams) and device properties (to eventually support +get/setpagedevice and get/setdevparams). + +

    Documentation

    + +
    +Notes the change in X11 foreground/background handling.
    +
    +Changes README so it no longer claims that Ghostscript works with X11R3.
    +
    +Notes (in devs.mak) that the cdjmono driver is the best one to use for the
    +DeskJet 510.
    +
    +

    Procedures

    +Fixes bugs:
    +	- echogs wasn't always invoked with ./ on Unix systems.
    +
    +Changes the file name unix-ansi.mak to unixansi.mak, so it can be created
    +on a MS-DOS system.
    +
    +Adds a new "feature", ccinit.dev, which compiles and links the
    +initialization files (gs_*.ps) into the executable, just as ccfonts.dev
    +compiles and links fonts.  If ccinit and ccfonts are both selected, the
    +only external file needed at run time is Fontmap.  Note that you must have
    +a working version of Ghostscript already in order to create a version that
    +uses the ccinit feature, just as for ccfonts.
    +
    +

    Utilities

    +Fixes bugs:
    +	- the ps2image utility didn't put a %! on the first line of the
    +output.
    +
    +

    Drivers

    +Fixes bugs:
    +	- The Hercules display driver didn't include definitions for
    +outport2 and PAGE_HEIGHT_INCHES, which it uses.
    +	- The BGI driver didn't call setactivepage or setvisualpage,
    +which it needs to do in general.
    +	- The Apple DMP driver declared dmp_print_page rather than
    +appledmp_print_page, causing a compilation error.
    +
    +Changes the X11 driver so that it doesn't use the default foreground and
    +background colors: you must set foreground and background explicitly for
    +Ghostscript if you want them to be other than black and white
    +respectively.
    +
    +Adds new user-contributed drivers for:
    +	- The StarJet 48 inkjet printer;
    +	- The GNU/Linux VGALIB display interface.
    +	- OS/2 Presentation Manager.
    +
    +Changes the margins of the Epson driver to 0.2, 0.0, 0.0, 0.0, which
    +more accurately reflect the printer's capabilities.
    +
    +Changes the get_props and put_props device procedures to take property
    +list "objects" with a procedural interface, rather than a data structure
    +interface.  THIS IS A NON-BACKWARD-COMPATIBLE CHANGE.  It affects all
    +get_props and put_props procedures.  Fortunately, there were only a few
    +devices that implemented their own get_props and put_props procedures (the
    +H-P color printers, and the three window systems -- X Windows, MS Windows,
    +and OS/2 PM).
    +
    +

    Platforms

    +Fixes bugs:
    +	- The meaning of the -p switch for the Watcom compile-and-link
    +program was changed between Watcom C/386 versions 8.5 and 9.5, causing the
    +make process to malfunction.
    +	- The SCFTAB and SCFDTAB modules were omitted from the VMS link
    +list.
    +
    +Adds user-contributed code for OS/2.
    +
    +Removes the assumption that an 80486 CPU implies the presence of hardware
    +floating point, since the 486SX and Cyrix 486SLC don't have it.
    +
    +

    Fonts

    +Fixes bugs:
    +*	- The GS_FONTPATH scanner didn't recognize .PFB fonts beginning
    +with %!PS-AdobeFont.
    +*	- The GS_FONTPATH scanner often didn't recognize .PFB fonts at all.
    +	- Type 1 fonts always set the line join, line cap, and miter limit
    +to known values, rather than using the current values.  (Using the current
    +values doesn't make much sense, but it's apparently what the Adobe
    +implementations do.)
    +	- DISKFONTS didn't work, because of the change in the Ghostscript
    +fonts to do a systemdict begin/end (in version 2.7.1).
    +
    +

    Interpreter

    +Fixes bugs:
    +	- == didn't produce exactly the same output as the Adobe
    +interpreters.  (Some automated debugging and testing programs care.)
    +	- The CCITTFaxEncode filter could get caught in an infinite loop,
    +because it failed to mask a byte datum when scanning for runs of black
    +pixels.
    +	- The write operator gave an error for values outside the range 0
    +to 255, rather than just using the low-order 8 bits.
    +	- Some applications call a statusdict procedure named
    +setresolution without checking first whether it is present; Ghostscript
    +didn't provide one.
    +	- Reading from a closed stream caused an error instead of
    +returning EOF.
    +	- Input streams didn't close automatically at EOF.
    +	- findfont was defined as an operator, not a procedure.
    +	- closefile on a closed file gave an error.  (It isn't obvious
    +that the Adobe documentation specifies that it shouldn't, but that's what
    +Adobe says they do.)
    +	- The LZWDecode filter didn't handle codes representing strings
    +longer than the buffer size correctly.
    +	- The LZWDecode filter only allowed 4095 codes to be used, rather
    +than 4096.
    +	- The rand operator produced an infinite string of zeros if
    +given 0 or 0x7fffffff as the seed.
    +	- When a CDevProc procedure was called, there was an extra
    +copy of the character name on the operand stack below the operands of
    +CDevProc.
    +
    +Replaces all stream implementations with new ones designed to allow
    +interruption at arbitrary times.  ****** The 2-D case of CCITTFaxEncode
    +hasn't been converted (but it probably didn't work before, either).
    +
    +Implements additional Level 2 features:
    +	- Type 0 (composite) fonts.
    +
    +Adds an eexecEncode filter.
    +
    +Implements setcolorscreen, which was accidentally omitted from 2.7.
    +
    +

    Library

    +Fixes bugs:
    +*	- In colorimage, if the color space of the image was different
    +from the current color space, and the first data values on a scan line
    +were zeros, the wrong color could result.
    +	- The new flatness testing algorithm could overflow, producing
    +straight lines or obvious polygons instead of curves.
    +	- Images could fail to display pixels after the first non-blank
    +pixel on a line if halftoned color was required.  (This bug was probably
    +introduced in 2.7.)
    +	- Interpolation between transfer map entries didn't work, because
    +of a rounding/truncation bug in frac2bits (bug introduced in 2.7.1.)
    +	- cshow did an extra grestore at the end.
    +
    +* Implements a hack to slightly displace 1-bit-wide or -high images.  This
    +is necessary to work around a bug in TeX (or dvips?), which uses such
    +images to draw horizontal and vertical lines without positioning them to
    +ensure that they cover device pixel centers.
    +
    +Adds support for composite fonts (no new client procedures).
    +
    +
    + +
    + +

    Version 2.7.2-beta (10/11/93)

    + +

    This version was distributed only to alpha testers. + +

    Utilities

    +Fixes bugs:
    +	- prfont.ps didn't print unencoded characters.
    +
    +Improves mergeini.ps to remove embedded comments.
    +
    +

    Interpreter

    +Fixes bugs:
    +	- An error occurring within the scope of an internal .stopped
    +didn't pop the command and error name off the stack.
    +*	- The = and == procedures weren't re-entrant.
    +
    +* Adds a .writecvs operator that does a cvs to an internal string followed
    +by a writestring.
    +
    +

    Library

    +Fixes bugs:
    +	- grestore freed the path and the clip path in an order that
    +was likely to lead to memory sandbars.
    +	- moveto + closepath didn't actually close the path.
    +	- moveto + reversepath produced an empty path (no moveto).
    +	- moveto + closepath + reversepath produced an extra lineto.
    +	- reversepath didn't set the current point to the end (i.e., the
    +former beginning) of the last subpath.
    +
    +Adds a "planar" memory device.
    +
    +
    + +

    Version 2.7.1-beta (10/4/93, not distributed to the public)

    + +

    Like 2.7, this version was created to satisfy a contractual +requirement, +and will never be distributed to anyone other than the other party to the +contract. + +

    Documentation

    +Documents the GS_OPTIONS environment variable.
    +
    +Adds a summary of all environment variables to the documentation
    +(use.doc).
    +
    +Documents the existence of a third free viewer built on Ghostscript.
    +
    +

    Utilities

    +Fixes bugs:
    +	- wrfont didn't wrap a systemdict begin / end around the body of
    +the font.
    +	- wrfont wrote out the Symbol and ZapfDingbats encodings in a way
    +that only worked if the encoding was known by name.
    +
    +Changes bdftops to include an XUID if desired.
    +
    +Changes bdftops so that it uses 'show' for unknown ligatures, rather than
    +executing the characters as subroutines; this makes such ligatures work
    +properly with xfonts.
    +
    +

    Drivers

    +Fixes bugs:
    +	- The PCL drivers sent a printer reset (<ESC>E) at the beginning
    +of every page, instead of only before the first page.
    +	- The PCX driver didn't round up the scan line width in the
    +header, even though it produced scan lines with the correct (rounded)
    +number of bytes.
    +
    +Adds a new map_rgb_alpha_color procedure.  This is a backward-compatible
    +change; this procedure defaults to calling map_rgb_color.
    +
    +

    Platforms

    +Fixes bugs:
    +	- On Unix platforms, the value of the TEMP environment variable
    +had to end with a '/'.
    +	- On MS-DOS systems, printer output to devices other than PRN
    +(specifically, LPTn) didn't put the device into binary mode.
    +
    +Adds FPU_TYPE to the Unix makefiles, with a default value of 1.
    +
    +Removes the mention of Xmu linking problems on the SunOS platform,
    +since the problem no longer exists.
    +
    +Changes the order of X Windows libraries from Xt X11 Xext to Xt Xext X11.
    +This makes the OSF/1 linker happier.
    +
    +

    Fonts

    +Fixes bugs:
    +	- All the fonts originated by Aladdin, and the shareware fonts,
    +had UniqueIDs in the 4xxxxxx range, which is only supposed to be used for
    +limited-distribution fonts.
    +*	- When Ghostscript loaded a font, it pushed a scratch dictionary
    +on the dictionary stack, rather than userdict.  (Note that this fix also
    +requires fixing the fonts to include a protective systemdict begin /
    +end; see below.)
    +*	- When loading a font failed, Ghostscript didn't check the font
    +name against the default font name properly.
    +	- Ghostscript's own fonts didn't include a systemdict begin /
    +end to guard against redefinition of names used in the reading
    +procedures (e.g., index).
    +*	- When Ghostscript scanned a .PFB font to get the FontName, it
    +didn't skip over the 6-byte header, which could cause confusion or a
    +syntaxerror.
    +	- Loading a .PFB font that left extra information on the
    +operand stack didn't work.
    +
    +Changes the ZapfDingbats font to use DingbatsEncoding rather than include
    +a copy of the encoding in itself, if DingbatsEncoding is known.  Changes
    +the Symbol font similarly.
    +
    +Removes eexec encryption from the 4 URW fonts, so they will work with
    +DISKFONTS.
    +
    +Adds shareware Hiragana and Katakana fonts (Calligraphic-Hiragana and
    +Calligraphic-Katakana, by Kevin Hartig).
    +
    +Adds GS on the end of the family names of all of Aladdin's own converted
    +fonts.
    +
    +Replaces many of the Hershey fonts with new ones (mostly Type 1) created
    +by Thomas Wolff, who added accents, accented characters, and other
    +non-alphabetics.  These too now have proper UniqueIDs.
    +
    +

    Interpreter

    +Fixes bugs:
    +*	- imagemask interpreted the Decode array incorrectly (inverted).
    +	- Running out of memory when constructing a path incorrectly
    +signalled a limitcheck rather than a VMerror.
    +	- restore didn't purge uncached scaled fonts properly.
    +
    +Adds alpha (opacity) to the graphics state, and setalpha and
    +currentalpha operators.
    +
    +Redefines erasepage in terms of a new .fillpage operator that fills
    +the current page with the current color and then does a sync_output.
    +
    +Redefines setdevice and putdeviceprops in terms of new .setdevice and
    +.putdeviceprops operators that return a boolean indicating whether the
    +page needs to be erased.  With this change, operators that erase the page
    +always call erasepage at the interpreter level rather than calling
    +gs_erasepage directly.
    +
    +

    Library

    +Fixes bugs:
    +	- The null device allowed its size to be reset.
    +	- clippath didn't establish a current point if the clipping
    +path was empty.
    +*	- The Type 1 font interpreter (gs_type1_interpret) flattened
    +curves even if it was being invoked for charpath.
    +	- Colored halftones usually didn't come out with the correct
    +phase, and had several other problems.
    +	- A show or charpath within a BuildChar procedure didn't work.
    +	- Accented characters composed with seac used the base
    +character width instead of the composed character width.  (The Adobe
    +documentation says these must be the same, but some commercial fonts
    +don't obey this.)
    +	- setcurrentpoint in the accent of a character composed with
    +seac didn't take the accent's displacement into account.
    +
    +Adds an alpha (coverage) value to the graphics state, and
    +gs_setalpha/currentalpha procedures.  Currently Ghostscript just passes
    +the alpha value to the driver; it doesn't attempt to emulate alpha
    +handling if the driver doesn't support it.
    +
    +Redefines gs_erasepage to call gs_fillpage.
    +
    +Bypasses the fill code if the clipping box is empty.  This makes a big
    +difference for stringwidth, and doesn't hurt anything else.
    +
    +Changes frac_1 from 0x7fff to 0x7ff8.  This allows exact representation of
    +practically all useful fractions, since this number (32760) is
    +2*2*2*3*3*5*7*13.
    +
    +Changes float to double in several matrix routines for better accuracy.
    +
    +Adds new device properties to implement the deviceinfo operator:
    +Colors, GrayValues, RedValues, GreenValues, BlueValues, ColorValues.
    +Also adds HWBitsPerPixel and HWColorMap.
    +
    +Changes the sorting algorithm for halftones to use qsort instead of
    +special code.
    +
    +Changes the Type 1 interpreter so that it uses the current point, rather
    +than (0,0), as the character origin.
    +
    +
    + +

    Version 2.7-beta (9/20/93, not distributed to the public)

    + +

    This is the first of a series of beta-only versions planned for +release +between 2.6.n and 3.0. This version, in particular, was created to +satisfy a contractual requirement, and will never be distributed to anyone +other than the other party to the contract. + +

    Documentation

    +Fixes bugs:
    +	- The "HP XLFD extensions" to X11R5 are not specific to H-P
    +platforms.
    +	- The configuration generation script used rm rather than rm -f.
    +	- gs.1 was installed in $(docdir) rather than $(mandir);
    +$(mandir) wasn't defined.
    +	- ansi2knr.1 was installed in $(docdir), which was
    +inappropriate because ansi2knr itself wasn't installed anywhere.
    +
    +Moves documentation for versions 2.4.x and 2.5.x to history.doc.
    +
    +Moves the documentation on how to add devices to the configuration
    +from devs.mak to make.doc.
    +
    +Changes the name of readme.doc to current.doc, since the presence of
    +two "readme" files was confusing to users.
    +
    +Documents how to use the Microsoft Windows PostScript printer driver
    +to convert TrueType fonts to Type 1 fonts embedded in the document.
    +
    +Corrects several errors in the documentation of the get_bits driver
    +procedure.
    +
    +Documents the fact that X11R3 is no longer supported.
    +
    +Removes the last references to "Ghostscript" from the comments in the
    +gs_*.ps files.  The only remaining reference, other than the boilerplate
    +comments at the beginning of each file, is in the message at the end of
    +gs_init.ps.
    +
    +Documents the use of WMAKEL rather than WMAKE with the Watcom compiler.
    +
    +

    Procedures

    +Fixes bugs:
    +*	- The Unix install script used gs rather than $(GS) as the name of
    +the executable.
    +*	- The Unix install script didn't copy gs_dbt_e.ps to $(gsdatadir).
    +	- genconf.c used ps2 as a variable name; ps2 is a predefined
    +preprocessor symbol in the VSC compiler used by IBM.
    +	- @-expansion didn't interact properly with -- and -+.
    +	- The Unix install script didn't copy COPYING to $(docdir),
    +and copied README to $(gsdatadir) rather than $(docdir).
    +	- ps2ascii used /bin/sh -f, which is an incorrect flag.
    +
    +Removes all uses and mentions of USG (a now-obsolete GNU convention)
    +as a synonym for SYSV.
    +
    +Removes filter.dev and dps.dev from FEATURE_DEVS if level2.dev is
    +included, since they don't add anything beyond level2.dev.
    +
    +Changes the ccgs script to explictly remove the old .o file before
    +doing the mv, for the benefit of people who have changed mv to prompt
    +before overwriting.  Changes the configuration script to use rm -f
    +for the same reason.
    +
    +Changes the -Z switch so an empty list of options does nothing, rather
    +than turning on all options.
    +
    +Adds a -@ switch which is like -- and -+ except that it does
    +@-expansion of arguments.
    +
    +Changes genconf so it takes patterns from the command line that describe
    +how to write the linker control files, rather than having the patterns
    +built in.
    +
    +Changes -d and -D so that if no value is supplied, the default is
    +true rather than null.
    +
    +

    Utilities

    +Fixes bugs:
    +*	- The ps2ascii script still referenced ps2ascii.ps under its
    +old name gs_2asc.ps.
    +*	- ps2image.ps had a 'pop' missing in the written-out
    +definition of 'max' in the boilerplate code it put at the beginning
    +of compressed files.
    +*	- ps2image.ps got a typecheck if a scan line had no repeated
    +data in it anywhere.
    +	- wrfont.ps didn't handle CharStrings or Subrs that weren't
    +strings.
    +	- mergeini.ps produced an init file that incorrectly
    +attempted to load the Symbol and Dingbats encodings dynamically.
    +
    +Removes the gsview.bat file, since it was confusingly named and not
    +generally useful.
    +
    +Changes bdftops back to using encrypted CharStrings, for compatibility
    +with Adobe interpreters, but also changes lenIV to 0, to save a little
    +more space.
    +
    +Changes the traceop utility so it makes traced operators appear to be
    +operators, and so it will replace a definition in systemdict if explicitly
    +requested to do so and systemdict is writable.
    +
    +Adds a printafm utility for printing the metrics of fonts in AFM format.
    +
    +

    Drivers

    +Fixes bugs:
    +	- The cdj driver was missing a few type casts that were needed to
    +satisfy pedantic compilers.
    +	- For banded devices, many of the non-displaying target routines
    +were getting called with the original device as the first argument, not
    +the target device.  (This didn't make any difference in practice, because
    +gdev_prn_open explicitly copied the non-rendering procedures back into the
    +procedure vector.)
    +*	- The X driver didn't catch and discard bogus errors on
    +XFreeColors, which faulty servers generate.
    +*	- The X driver gave up on color allocation too easily.
    +*	- The X driver dynamic color table size could become negative.
    +*	- x_lookup_font could return platform fonts of very small sizes,
    +which have very inaccurate metrics.
    +*	- The ESCP/2 driver was incorrectly named gdevescp2 in devs.mak.
    +	- The Apple DMP driver used #if 0 / #endif instead of comment
    +brackets, and was incorrectly named "dmp" instead of "appledmp" in
    +the source code.
    +*	- The X driver didn't free dynamic colors at the start of each page.
    +*	- The X driver didn't bind foreground/background defaults tightly.
    +*	- The X driver didn't check for GHOSTVIEW_COLORS properly.
    +*	- The X driver freed too many colors if an allocation request failed.
    +*	- The X driver didn't check return value of gs_malloc for being NULL.
    +*	- The DeskJet/LaserJet driver used an incorrect command for
    +end-of-page.
    +*	- The DeskJet/LaserJet driver incorrectly reset the printer at the
    +beginning of every page.
    +*	- The PCX driver put an old version number in the header, and
    +didn't pad scan lines to an even number of bytes.
    +	- The BMP driver used a variable named `quad', which is a
    +reserved word on some platforms.
    +*	- The TIFF driver didn't handle A4 or B4 size paper correctly.
    +*	- The X11 driver incorrectly demanded the Xmu library, which was
    +not needed and which caused link errors on some versions of SunOS.
    +*	- X11 font matching scheme was too loose, causing overlaps and
    +other problems.
    +*	- X11 Font Extensions (rotated and mirrored fonts) did not work
    +properly on NCD terminals.
    +*	- When freeing the rgb cube/gray ramp, the parameters to gs_free()
    +did not exactly match the parameters to gs_malloc().
    +*	- Ghostscript failed to warn the user when it could not allocate
    +the original color cube/gray ramp and dropped back to a smaller
    +cube/ramp, or from color to mono.
    +*	- x_release could cause Ghostscript to fail if a font was freed
    +after the device was closed.
    +	- The X driver continued to ask the server for colors even after a
    +request failed, causing colored images to display very slowly.
    +
    +* Adds a pcxgray driver to provide 8-bit gray scale output in PCX format.
    +
    +Adds a pcx24b driver to provide 24-bit RGB color PCX output.
    +
    +* Adds a LaserJet 4 driver.
    +
    +Adds a user-contributed driver for the DEC LA70 (very similar to the LA75).
    +
    +Substantially improves the performance of the PxM drivers by eliminating
    +an unnecessary copying step and by writing each scan line with a single
    +fwrite when possible.
    +
    +Moves the gray-scale and 24-bit RGB device color mapping routines to
    +gxcmap.c from gdevpcx.c and (nowhere).
    +
    +Allows window granularities smaller than 64K in the VESA driver.
    +
    +Changes the LaserJet margins again.
    +
    +

    Platforms

    +Fixes bugs:
    +	- Platforms where stat doesn't return a st_blocks value
    +computed the block count wrong.
    +	- In gp_vms.c, the call on SYS$FILESCAN needed two uint *s
    +rather than a long * and a struct *.
    +*	- The VMS script files referenced IBSCAN instead of ISCAN2,
    +and omitted GDEVXXF.
    +*	- The UUENCODEd icons for the MS Windows platform were omitted
    +from the fileset.
    +*	- On MS-DOS systems, filenameforall didn't interpret * alone
    +as a pattern matching all files.
    +
    +Adds wildcard matching capability to filenameforall under Unix.
    +
    +Removes gp_file_status from the platform interface, since all
    +platforms provide identical stat calls in the C library.
    +
    +Adds DesqView/X (using djgcc and go32) as a platform.
    +
    +Removes the S3 driver from the standard PC configurations.
    +
    +Adds documentation for compiling Ghostscript on the Intergraph Clipper.
    +
    +Updates the documentation to add a better list of X Windows font
    +names for the Sun platform.
    +
    +

    Fonts

    +
    +Creates an external file (gs_dbt_e.ps) with the ZapfDingbats encoding
    +(actually in 2.6.1, but not documented there).
    +
    +Changes the names of the Cyrillic fonts to Shareware-Cyrillic-Regular
    +and Shareware-Cyrillic-Italic, keeping Cyrillic, Cyrillic-Regular,
    +and Cyrillic-Italic as aliases.
    +
    +* Removes the requirement that the FontName in the font file be the same
    +as the name in Fontmap.  (This requirement led to the need for aliases,
    +and was extremely confusing to users.)
    +
    +* Adds a GS_FONTPATH environment variable containing a list of directories
    +that should be scanned automatically for fonts.
    +
    +* Gets rid of the Ugly font, and changes the default to the IBM Courier
    +font, which is freely distributable.
    +
    +

    Interpreter

    +Fixes bugs:
    +	- cvs didn't check for stack underflow.
    +*	- zht2.c didn't include alloc.h.
    +*	- execstackoverflow cleared the e-stack instead of just
    +cutting it back.
    +	- if and ifelse incorrectly reported typecheck instead of
    +stackunderflow.
    +	- Copying a dictionary could alter some items even if a later
    +item causes an invalidaccess error because of an attempted store of a
    +local object into global VM.
    +	- bitshift and cvrs assumed that longs occupied 32 bits.
    +*	- exitserver didn't check the password, and always succeeded.
    +	- Font loading didn't suppress all output messages if QUIET
    +was set.
    +*	- The interpreter incorrectly pushed its exit procedure on
    +the e-stack if it was called again after an interrupt.
    +*	- The interpreter didn't treat timeout like interrupt in
    +terms of re-executing the current operation.
    +*	- `show' operators popped their operands before they were
    +sure they wouldn't be interrupted.
    +*	- rotate with a matrix operand didn't check for multiples of
    +90 degrees.
    +	- In the system name table, ge was misspelled eg, and
    +pathforall was misspelled pathfoall.
    +*	- file_close_file attempted to free the buffer even if it was an
    +externally supplied string (specifically, the argument of gs_run_string).
    +	- setprintername (in gs_statd.ps) set printername rather than
    +.printername.
    +
    +Implements additional Level 2 features:
    +	- Indexed color space with lookup procedure.
    +	- sethalftone, except for the transfer function override,
    +	and currenthalftone.
    +
    +Implements OtherSubrs for indices greater than 3 (required for
    +MultiMaster fonts).
    +
    +Implements black generation and undercolor removal.
    +
    +Changes `store' from a C procedure to a PostScript procedure.
    +
    +Changes idiv back so it requires integer operands, per the Adobe
    +documentation but not per some old Adobe interpreters.
    +
    +* Adds many new paper sizes to gs_statd.ps.  It now includes ISO a0-a10
    +and b0-b10, and CAD sizes archA-archE.
    +
    +Implements `status' for non-%os% files.  (This is currently a no-op,
    +but the framework is there.)
    +
    +Changes the error handler so it normally uses = rather than == to print
    +the operand stack, to avoid recursive errors.
    +
    +* Adds time slicing capability to the interpreter.
    +
    +Implements setcolorscreen/currentcolorscreen.
    +
    +

    Library

    +Fixes bugs:
    +*	- Rectangles with vertices specified in clockwise order were
    +drawn as 0-width lines.
    +*	- The string matching function reported that 'abcdefg'
    +matched the pattern 'abcde'.
    +*	- The bounding box of non-rectangular clipping paths was not
    +being marked as valid, so cached characters would simply get
    +discarded as being outside the bounding box.
    +	- erasepage filled the page with the device's white color,
    +not with gray level 1 passed through the transfer function.
    +*	- Colors with equal R/G/B or C/M/Y components were rendered
    +incorrectly if the 3 or 4 transfer functions were not all the same.
    +*	- Because of a bug in rc_unshare, using CIE color would give
    +random errors (such as /invalidaccess in --for--).
    +*	- setbbox didn't round the coordinates properly, which could
    +cause erroneous rangecheck errors with coordinates on the edge of the
    +box.
    +*	- Color halftones "flipped over" at the 50% point, inverting
    +foreground and background.
    +	- Quite a few places assumed that longs occupied 32 bits.
    +*	- kshow passed an incorrect c1 value to the procedure.
    +	- The debugging code in update_x_list in gxfill.c didn't take
    +into account the possibility that the active line at x_first might be
    +deleted.
    +	- gx_image_cached_char called the xfont render_char procedure an
    +extra time if it failed with required=0 and succeeded with required=1.
    +(This was just a small inefficiency, not a logic bug.)
    +	- Non-rectangular clipping regions weren't computed correctly,
    +because accum_add_rect didn't handle overlapping rectangles.
    +	- Drivers didn't report file system errors (such as file system
    +full) as an ioerror.
    +*	- setdevice didn't reset the charpath and setcachedevice flags.
    +	- The Zortech compiler produced wrong code for the uid_equal
    +macro; uid_equal is now a procedure.
    +
    +Passes OtherSubrs arguments back to the caller correctly for indices
    +greater than 3.
    +
    +Implements black generation and undercolor removal.
    +
    +Removes gdev_mem_ensure_byte_order, which was no longer used or useful.
    +
    +Removes gstdev.c (device tracing), since it hasn't been used in a
    +long time and is of little value given a reasonable debugger.
    +
    +Changes the interface to the xfont char_metrics and render_char
    +procedures to allow them to return 1.
    +
    +Changes 32-bit memory devices so they use CMYK color mapping rather
    +than RGB mapping with an unused byte.
    +
    +Implements gs_setcolorscreen/currentcolorscreen.
    +
    +Implements Level 2 halftones, except for the transfer function override.
    +
    +Implements a hack to make zero-width rectangles display as one pixel wide,
    +to work around a bug in the Microsoft Windows PostScript driver.
    +Currently the hack only works for vertical lines, not horizontal ones.
    +
    +
    + +
    + +

    Version 2.6.1 (5/28/93)

    + +

    This is primarily a bug-fix release for 2.6, with a couple of minor +additions. + +

    Documentation

    +
    +Adds proper `man' pages ansi2knr.1 and gs.1.
    +
    +

    Procedures

    +Fixes bugs:
    +	- The Unix makefile produced an incorrect linker command if
    +EXTRALIBS was not empty.
    +	- The Unix install commands didn't copy devices.doc,
    +ps2epsi.doc, and xfonts.doc to the documentation directory.
    +	- echogs.c didn't include <sys/types.h>, which is needed for
    +time_t on some systems.
    +	- malloc_.h used <malloc.h> rather than <stdlib.h> on
    +NeXTStep systems.
    +
    +Changes the configuration procedure to use a C program rather than
    +complex shell scripts.
    +
    +

    Utilities

    +Fixes bugs:
    +	- The boilerplate produced by ps2image used the 'max'
    +operator, which is not a standard PostScript operator.
    +	- The winmaps.ps utility had 'floring' instead of 'florin' in
    +the OEMEncoding table.
    +	- quit.ps was omitted from the PC distribution.
    +
    +Changes the name of the dicttomark procedure to .dicttomark.
    +
    +Renames gs_2asc.ps as ps2ascii.ps, so it matches the names of the
    +script files.
    +
    +

    Drivers

    +Fixes bugs:
    +	- The pbmraw driver was writing out RGG instead of RGB values.
    +	- The X11 driver used NULL in a place where it should have
    +used None.
    +	- For multi-file output, the GIF driver didn't write a header
    +at the beginning of each file.
    +	- The Epson driver didn't honor the -A4 compilation switch,
    +didn't put (0,0) at the physical corner of the page, and was too
    +liberal about using tabs instead of spaces.
    +
    +Replaces the color handling algorithms in the X Windows driver with
    +new, much better ones.
    +
    +Makes the PC display drivers recognize the -A4 compilation switch,
    +like the printer drivers.
    +
    +Adds new user-contributed drivers:
    +	- A driver for Epson printers that use the ESC/P 2 control
    +language, such as the Stylus 800.
    +	- A driver for the Apple Dot Matrix Printer and Imagewriter.
    +
    +Adds a new get_xfont_device driver procedure.  This is a
    +backward-compatible change, since there is a sensible default.
    +
    +

    Platforms

    +Fixes bugs:
    +	- On VMS, gconfig.h didn't have #include "gsconfig.h" as its
    +first line.
    +	- gconfig.c compiled incorrectly on the RS/6000 because the
    +compiler evaluated a constant of the form (x<<y)+z incorrectly.
    +	- Quite a few files that used the mem... functions didn't
    +include memory_.h, which caused trouble on some bsd4.2 systems.
    +	- The definition of zfont_char_xglyph confused one of the AIX
    +compilers.
    +	- On VMS, DEC C allows extra arguments for fopen, but gcc doesn't.
    +	- On the MS Windows platform, 2.6 used gdevwddb rather than
    +gdevwdib; the latter is almost always faster.
    +	- The PC .zip files didn't include the Windows .ICO and .RES
    +files in either GSEXE.ZIP or GSFILES.ZIP.
    +
    +On PC platforms, adds an option (FPU_TYPE=-1) to optimize for
    +machines lacking a floating point processor.
    +
    +

    Fonts

    +
    +Adds 4 new fonts contributed by URW.  These have a URW copyright and
    +are governed by the GNU License.
    +
    +Documents the fact that font names in Fontmap can be strings, not
    +only names.
    +
    +Adds DingbatsEncoding as a predefined encoding (in addition to
    +Standard, ISOLatin1, and Symbol).
    +
    +

    Interpreter

    +Fixes bugs:
    +	- memchr (used in zfile.c) isn't available on all platforms.
    +	- languagelevel was defined as an operator rather than an
    +integer.
    +	- iccfont.c referred to name_StandardEncoding instead of
    +#include'ing font.h and referring just to StandardEncoding.
    +	- The CCITTFaxDecode filter didn't work on 32- (or 64-) bit
    +machines, because of a bug in more_bits().
    +	- The structures recording an allocation within the scope of
    +a save could get allocated unnecessarily, because they weren't
    +properly marked as free when an array was freed.
    +
    +Renames the following Ghostscript-specific operators by adding a '.'
    +at the front: makeoperator, setdebug, setmaxlength, stringmatch,
    +type1decrypt, type1encrypt.
    +
    +Adds a real implementation of glyphshow.
    +
    +

    Library

    +Fixes bugs:
    +	- Discarding fractional character coordinates in the Type 1
    +rasterizer led to some rendering anomalies (e.g., characters 1 pixel
    +too high).
    +	- If a font had a non-standard encoding (i.e., not
    +StandardEncoding, ISOLatin1Encoding, or SymbolEncoding), Ghostscript
    +would never invoke the platform font code.
    +	- The RGB to HSB color conversion algorithms produced
    +nonsensical values.
    +	- struct cached_char_s was defined redundantly in gxcdir.h,
    +causing compilation problems on some systems.
    +	- 32-bit color devices didn't work properly on little-endian
    +machines (arrange_bytes in gdevmem2 was wrong).
    +	- The scaled font cache could confuse two fonts with the same
    +UniqueID and different Encodings.
    +	- Under many common circumstances (first use of a character
    +was with stringwidth, the font was renamed, the font encoding was
    +changed), xfonts would not be used.
    +
    +Adds gs_glyphshow.
    +
    +
    + +

    Version 2.6 (5/9/93)

    + +

    The main new feature in this release is the ability to use platform +fonts. It also adds many more Level 2 PostScript facilities. + +

    Documentation

    +
    +Corrects some errors in the documentation of the makeimagedevice operator.
    +
    +Adds operand and result types to the comments at the beginning of all the
    +operators.
    +
    +Adds new sections on installation in use.doc.
    +
    +Reinstates history.doc as a repository for old and no longer interesting
    +history information.
    +
    +Adds a new file, devices.doc, with documentation for specific devices.
    +
    +Points out that font2c must be run with a Fontmap that includes the fonts
    +being converted, and that its arguments must be quoted with "" on VMS
    +systems.
    +
    +Notes that the font name in the Fontmap must be the same as the FontName
    +in the font.
    +
    +Adds a list of the Level 2 facilities not provided by Ghostscript.
    +
    +Identifies bug-ghostscript@prep.ai.mit.edu as an alias for the
    +gnu.ghostscript.bug newsgroup.
    +
    +Points out explicitly that -sOutputFile=- sends output to stdout, and
    +requires using the -q switch.
    +
    +Documents the use of tar_cat to construct the Unix makefiles.
    +
    +Adds a new file, xfonts.doc, that describes the external font interface.
    +
    +Documents the fact that drivers must use gs_malloc and gs_free rather than
    +malloc and free.
    +
    +Documents the *.sh (shell script) files.
    +
    +Adds brief documentation on some additional development tool .ps files.
    +
    +Documents the TEMP and GS_OPTIONS environment variable.
    +
    +Points out the need to run Windows in 386 Enhanced mode on machines
    +that have less than 6 Mb of RAM.
    +
    +Consolidates documentation on compiler switches in make.doc (some of
    +it had been in the unix*.mak files).
    +
    +

    Procedures

    +Fixes bugs:
    +	- \'s in arguments following -- were doubled.
    +
    +Includes the full set of filters automatically if the level2 feature
    +is selected.
    +
    +Extends DEVICE_DEVS... up to DEVS9.  Adds DEVICE_DEVS1 as well.
    +
    +Renames turboc.mak and tbcplus.mak as tc.mak and bc.mak.
    +
    +Makes @-files use the library path (GS_LIB, -I).
    +
    +Changed the Unix install script to use install <file> <destfile>
    +rather than install <file> <directory>.
    +
    +Adds a GS_OPTIONS environment variable that acts like an implicit @-file
    +at the beginning of the command line (i.e., may contain switches and
    +initialization files).
    +
    +Renames sym__enc.ps as gs_sym_e.ps.
    +
    +Adds a user-contributed shell script for using Ghostscript with an
    +H-P printer spooler.
    +
    +Adds level1.ps to the set of installed utility files.
    +
    +Extends the TEMP environment variable (the directory for scratch
    +files) to work on Unix as well as MS-DOS.
    +
    +Changes the MS Windows makefile to generate gswin.exe rather than
    +gs.exe, and the Watcom makefile to generate gs386.exe.
    +
    +Moves the "product" string from gs_init.ps to iinit.c.
    +
    +Adds a GS macro to the makefiles, to allow choosing the name of the
    +executable.
    +
    +

    Utilities

    +Fixes bugs:
    +*	- font2c did the wrong thing (still) for fonts that didn't
    +use StandardEncoding, ISOLatin1Encoding, or SymbolEncoding.
    +*	- impath.ps had a fatal bug (wrong operand order for
    +charstack_write) that caused bdftops to fail.
    +	- gslp didn't wrap or truncate lines.
    +	- gslp didn't handle tabs in a second or subsequent column
    +properly.
    +	- The definition of ashow in gs_2asc.ps incorrectly undid the
    +increment following the last character.
    +	- The definition of awidthshow in gs_2asc.ps failed to pop
    +two entries from the stack, and also tested the character against the
    +wrong value.
    +
    +Adds a shell script (sysvlp.sh) that interfaces Ghostscript with the
    +System V 3.2 lp interface.
    +
    +Adds ps2ascii and ps2epsi script/batch files.
    +
    +Adds a new utility, mergeini.ps, for concatenating all the
    +Ghostscript initialization files into a single file, optionally
    +removing comments and blank lines.
    +
    +Adds new switches to gslp:
    +	-q: suppress all printed output.
    +	--detect: check whether the file begins with %!, and if so,
    +	    interpret it directly as a PostScript file.
    +	--first-page <page#>: replaces the former -P switch.
    +	--last-page <page#>: replaces the former -Q switch.
    +	--(heading|footing)-(left|center|right) <string>: define
    +	    headers/footers.  # inserts the page number.
    +	--margin-(top|bottom|left|right) <inches>: define margins.
    +	--spacing <n>: for double, triple, etc. spacing.
    +Also makes gslp ignore all the enscript flags it doesn't implement.
    +
    +Adds an option to wrfont.ps to do encryption at read-in time.  (This
    +allows much better compression of the standard Ghostscript fonts.)
    +Changes bdftops to use this option.
    +
    +Changes gslp to accept wild cards in file names.
    +
    +Replaces landscap.ps with a new one contributed by a user.
    +
    +Changes the compression scheme used in ps2image to a much more
    +effective one.  Writing images is much slower than with the previous
    +scheme, but reading is not.
    +
    +

    Platforms

    +Fixes bugs:
    +	- SCFDTAB and SCFTAB were omitted from the VMS module lists.
    +	- Function prototypes were not being used with the Watcom
    +compiler.
    +	- On MS-DOS platforms, if the value of the TEMP variable had
    +a trailing : or \, Ghostscript appended a \ anyway.
    +	- Under Windows, changing the size or resolution of the image
    +closed and reopened the window.
    +	- Ghostscript would not build correctly with the Watcom compiler
    +if DOS4G=quiet was not set, because the DOS4GW copyright message was sent
    +to stdout.
    +*	- Finally gets Ghostscript to run properly on the RS/6000, by
    +adding a compiler bug workaround to arc_add and arc_either.
    +*	- Finally gets Ghostscript to compile properly on Sun SPARC
    +systems, by adding a compiler bug workaround in scan_number.
    +
    +Changes the default MS-DOS configuration from 8086/8088 to 80286.
    +
    +Adds all the SuperVGA drivers to the BC++ and Watcom executables
    +(except for the VESA driver in the Watcom executable).
    +
    +Adds a makefile (msc.mak) for the Microsoft C/C++ 7.0 platform.  This
    +is currently a MS-DOS, not a MS Windows, platform.
    +
    +Changes gp_enumerate_files_init so it takes a gs_memory_procs *, not
    +separate proc_alloc_t and proc_free_t arguments; also, it must
    +enumerate precisely the requested set of files, not a superset.  THIS
    +IS A NON-BACKWARD-COMPATIBLE CHANGE.  It affects all gp_*.c files.
    +
    +Adds the P*M drivers and bit.dev to the standard configuration on
    +Unix platforms.
    +
    +Changes the Watcom makefile so it uses the WATCOM environment variable (by
    +default) as the base directory for the Watcom executables.
    +
    +Adds the MS Windows COMMDLG.DLL and SHELL.DLL files to the set of
    +files incorporated in GSEXE.ZIP, since the new MS Windows code uses
    +them, and they aren't provided with Windows 3.0.
    +
    +Makes major revisions to the MS Windows platform and driver code, to
    +support the gsview front end, and also to remove the dependence on the
    +Borland EasyWin library.  NOTE: Compiling the MS Windows code now requires
    +Borland C++ 3.1 (not 3.0).
    +
    +Changes time_.h so that Ghostscript will compile and run on A/UX.
    +
    +Changes the MS-DOS implementation of file enumeration so it always
    +treats \s in the file name as literal characters, not escapes, unless
    +there are two \\s in a row.  This does the most sensible thing given
    +the DOS file naming conventions.
    +
    +Adds a %pipe% file device under Unix.
    +
    +Adds a makefile for Watcom C under MS Windows.  This is very preliminary;
    +in particular, NO display output is supported.
    +
    +

    Fonts

    +Fixes bugs:
    +	- fonts.mak referred to ncri and puti rather than ncrri and
    +putri.
    +	- cyr and cyri had the wrong protection.
    +	- The Hershey fonts left the font on the stack when they were
    +loaded.
    +*	- The FontName of an aliased font was the original FontName
    +from the file, not the alias.
    +*	- Fontmap.BTS had incorrect entries for AvantGarde-Demi and
    +AvantGarde-DemiOblique.
    +	- Ghostscript pushed userdict, rather than an empty writable
    +dictionary, onto the stack when loading a font, leading to name clashes.
    +
    +Adds a new cfonts.mak with a full set of rules for compiling all the
    +standard Ghostscript fonts (except the Hershey fonts) into C.
    +
    +Adds UniqueIDs to the Hershey fonts, and removes the UniqueIDs from
    +the Hershey entries in the Fontmap.
    +
    +Adds a new Fontmap for VAX/VMS with DECWindows/Motif.
    +
    +Changes MakeHersheyFont so it takes the encoding as an additional
    +parameter, and changes the Hershey-Symbol font to use SymbolEncoding.
    +
    +

    Drivers

    +Fixes bugs:
    +	- The !@*&^%#@$ PCL drivers *still* didn't do the right thing
    +about vertical spacing: the <ESC>*p+<n>Y command works on all PCL 3,
    +4, and 5 printers *except* the LaserJet IIp.
    +	- The cdj driver used recursive macros (height, t_margin,
    +b_margin) that not all compilers handled correctly.
    +	- The djtc driver used some assignments including =*, which
    +some compilers dislike.
    +	- The S3 driver wouldn't compile correctly with the Watcom
    +compiler.
    +	- The makefile entry for the S3 driver was wrong.
    +	- The SuperVGA drivers returned an error, rather than using
    +the highest available resolution, if a too-high resolution was
    +requested.
    +	- The GIF driver produced an incorrect header for images
    +wider or taller than 32K pixels.
    +	- The GIF driver wasn't able to handle multi-page documents
    +correctly.
    +	- The margins on the DeskJet were still not correct.
    +	- Some ANSI C compilers rejected a complex expression in
    +gdevpccm.c.
    +	- Printer drivers didn't recover cleanly from problems in
    +opening the scratch files.
    +	- The BJ-10e driver used the same name `out' for a label and
    +a variable.
    +	- The SCO ODT compiler couldn't handle sizeof(ppdev->fname).
    +	- The Epson driver used the wrong value for ESC in the
    +initialization string.
    +
    +Adds new drivers:
    +	- Drivers to produce MS Windows .BMP format output.
    +	- A new ATI Wonder display driver (800x600, 16 colors) and a
    +1024x768 mode for the existing driver.
    +
    +Adds new user-contributed drivers:
    +	- A driver for the Tektronix 4693d color printer.  This carries a
    +university copyright.
    +	- A driver for the SPARCprinter.
    +	- A driver for the Canon BJ200 printer.
    +	- A driver for the IBM ProPrinter.
    +	- A driver for the DEC LJ250 printer, which has a
    +PaintJet-compatible mode.
    +	- A replacement driver for the Sony NWP533.
    +	- A driver that writes TIFF/F (Group 3 fax) files.  This carries
    +an external copyright.
    +	- A driver for the C.Itoh M8510 printer.
    +	- A driver for the Okidata MicroLine 182 9-pin dot-matrix printer.
    +	- A Hercules Graphics driver.
    +	- A driver for printers under MS Windows.
    +	- A driver for direct frame buffer addressing under SCO Unix
    +and Xenix and AT&T SVR4.
    +
    +Changes the get_bits driver procedure so it always reads a single
    +scan line, and optionally does not copy the data.  THIS IS A
    +NON-BACKWARD-COMPATIBLE CHANGE.  However, this change does not affect
    +any existing printer driver, since these all go through intermediate
    +routines in gdevprn.c.
    +
    +Changes gdevprn.h, and the relevant printer drivers, so that -DA4
    +will change the default paper size for any printer driver.
    +
    +Allows the use of NULL or 0 for default procedures in the driver
    +procedure vector.
    +
    +Adds an optional map_cmyk_color procedure to the driver procedure
    +vector.
    +
    +Changes the Epson driver so that the minimum amount of white space
    +required to use a tab is an easily changed parameter.
    +
    +Changes the BGI driver to use separate segments for the Borland
    +device drivers, to reduce the risk of overflowing a segment.
    +
    +Adds an optimization option (normally enabled) to the PGM and PPM drivers
    +such that they revert to PBM or (for PPM) PGM if the page can be
    +represented that way.
    +
    +Adds a new (optional) driver procedure to get the procedure vector
    +for external fonts.
    +
    +Adds an argument to gp_open_printer to indicate whether the file should be
    +opened in binary or text mode.  THIS IS A NON-BACKWARD-COMPATIBLE CHANGE.
    +However, this change does not affect any existing printer driver, since
    +these all go through intermediate routines in gdevprn.c.
    +
    +Changes the LN03/LA50/LA75 driver so it uses a text record mode to open
    +the output file under VMS (by adding an argument to gp_open_printer to
    +indicate this.)
    +
    +Allows (indeed, encourages) drivers to use far_data to declare the device
    +structure, primarily to avoid overflowing the 64K data segment under MS
    +Windows.  Changes the file output drivers and many of the printer drivers
    +to declare their device structures as far_data.
    +
    +Replaces the AT&T 3B1 driver with an updated version (from the same
    +contributor).
    +
    +Changes the Epson BJ driver and the SPARCprinter driver so they align
    +the (0,0) point of the page with the physical corner of the paper
    +rather than with the origin of the printable area.
    +
    +Removes the EIZO MDB-10 driver, since it caused complications for the
    +EGA and VGA drivers and is not a widely used device.
    +
    +

    Interpreter

    +Fixes bugs:
    +	- The entry for the copydevice operator in the operator table
    +was initialized incorrectly.
    +	- printobject and writeobject didn't handle nested arrays.
    +	- restore didn't properly close the current file (if
    +appropriate), causing an invalidaccess error.
    +	- buildfont required the presence of a valid, 4-element
    +FontBBox.  (The Red Books say it's required, but Adobe interpreters
    +don't require it; some DEC software generates a 3-element FontBBox.)
    +	- resourceforall had several bugs; it didn't do even
    +approximately the right thing.  There were quite a few other problems
    +with the implementation of resources.
    +	- setfont, makefont, and scalefont would accept a font with
    +no FID entry.
    +*	- Loading a .PFB font left the file open (until the next
    +restore or quit).
    +	- The default (null) font didn't include a PaintType entry,
    +which some PostScript files expected.
    +*	- The ASCIIHexDecode filter sometimes thought the underlying
    +stream was at EOF even when there was (at most one buffer's worth of)
    +data left.
    +	- iscan.c included <ctype.h> before std.h, causing type name
    +clashes on some systems.
    +*	- save and restore didn't handle the pointers in the graphics
    +state correctly; for example, the current font wasn't restored
    +properly.
    +	- Binary object sequences at the top interpreter level didn't
    +get executed immediately.
    +	- On high-resolution devices, the default transfer function
    +converted almost-white grays to very light grays rather than white.
    +	- The `string' operator was checking the string length
    +against max_uint rather than max_ushort, which could cause invalid
    +lengths to be accepted.
    +*	- deviceinfo caused a stackunderflow error.
    +*	- idiv could give incorrect results for quotients or
    +remainders that didn't fit in 24 bits.
    +*	- The ASCII85Encode filter padded trailing bytes with 1's
    +rather than 0's.
    +*	- The ASCII85Decode filter had a typo that produced incorrect
    +results if there were exactly 2 trailing bytes.
    +	- findlibfile didn't push a copy of the file name if it was
    +the name of a special (%) file.
    +	- setduplexmode was not defined in statusdict, causing
    +/undefined errors from some poorly designed input files.
    +*	- The CCITTFaxDecode filter had several bugs in 2-D decoding.
    +*	- The ASCII85Decode filter didn't read ahead to detect EOD if
    +it fell precisely on a buffer boundary.
    +	- If a file mentioned on the command line redefined `start',
    +Ghostscript would run the new definition rather than the built-in one
    +after processing all the files on the command line.
    +	- The SCO ODT compiler couldn't handle the conditionals in the
    +ngetc (iscan.c) and sgetc* (stream.h) macros.
    +	- makefont and scalefont didn't cache the PostScript dictionaries
    +for scaled fonts.
    +	- Changing the elements of the Encoding of a font dynamically
    +didn't take effect if the character was already cached.
    +	- makefont and scalefont didn't add the (undocumented) OrigFont
    +and ScaleMatrix entries to the new font.
    +*	- findfont insisted that the font name be a string or a name.
    +	- filenameforall could cause an incorrect transfer of control
    +if no files matched the pattern.
    +*	- ISOLatin1Encoding had hyphen instead of minus at code 45.
    +	- restore didn't reset saved_cbot and saved_ctop correctly;
    +as a result, some freed blocks could get abandoned rather than put on
    +the free list.
    +	- Some numerical constants in zarith.c assumed that longs
    +occupied 32 bits.
    +
    +Implements additional Level 2 features:
    +	- %device%file names (only the "os" device is provided).
    +	- <~ ~> for ASCII-85 strings.
    +	- Binary error messages.
    +	- BuildGlyph.
    +	- CCITTFaxDecode filter entries EndOfBlock, Rows, and
    +	(undocumented) FirstBitLowOrder.
    +	- {set/current}{color/colorspace/overprint/colorrendering/
    +	blackgeneration/undercolorremoval}.  (See below under library
    +	for limitations.)
    +	- Decode for the dictionary form of image.
    +	- File access modes a, r/w/a+.
    +	- Font entries CDevProc, Metrics2, and WMode.
    +	- Font operators cshow, findencoding, rootfont, and
    +	setcachedevice2.
    +	- glyphshow (emulated with PostScript code).
    +	- languagelevel.
    +	- realtime.
    +	- setbbox.
    +	- (Subset of) system and user parameters.
    +	- xshow, yshow, and xyshow.
    +	- XUIDs for fonts.
    +
    +Moves the installation of systemdict and the initial allocation of
    +globaldict (if relevant) and userdict from gs_init.ps to iinit.c.
    +
    +Makes Level 2 features dynamically selectable through the
    +.setlanguagelevel operator; disables all Level 2 features
    +(specifically including automatic dictionary expansion) unless the
    +level2 feature is included and active.
    +
    +Adds the .knownget operator for speeding up system procedures.
    +
    +Renames the type1addpath operator as .type1addpath; adds an optional
    +left side bearing argument; changes it so it does not do the
    +setcachedevice, fill, or stroke, but does do a moveto for the
    +character width.  Changes Type1BuildChar appropriately.  (All this is
    +needed to make WMode work.)
    +
    +Removes the .setmetrics operator, which is no longer needed.
    +
    +* Changes the meaning of the user_errors argument to gs_run_file and
    +gs_run_string so that -1 means always return on an error, 0 means
    +only return on an error not within a `stopped'.
    +
    +Adds all the necessary checks and operators for local/global VM, but
    +doesn't actually implement local/global mode.
    +
    +Changes setcachedevice back so that it requires 4 numbers on the
    +stack rather than a 4-element array.  (It was changed to be the other
    +way in release 2.0, but that was because I didn't realize that fonts
    +had to have an executable FontBBox, and some of the Ghostscript fonts
    +didn't.)
    +
    +Changes all the filter operators from .filterxxx to .filter_xxx, and
    +removes the need to enumerate them in gs_init.ps.
    +
    +Adds .oserrno and .oserrorstring operators for getting the last OS
    +error (in the current context).
    +
    +Changes gs_finit similarly to gp_exit.  Adds gs_exit_with_code that
    +takes both an exit status and a Ghostscript error code.
    +
    +Changes the name of name.h to iname.h.
    +
    +Adds support for the `interrupt' error (but doesn't provide any standard
    +way of generating one, other than through the gp_check_interrupts polling
    +function).
    +
    +Adds copyright to systemdict.
    +
    +Changes the spot halftone screen to an elliptical screen supplied by
    +Berthold K. P. Horn.
    +
    +Adds a check that the first token in gs_init.ps is an integer.  In
    +conjunction with other code in gs_init.ps, this should catch all attempts
    +to run Ghostscript with a gs_init.ps that doesn't match the executable.
    +
    +Changes all relevant occurrences of sizeof to size_of in order to
    +work with the buggy SVR4.2 C compiler.
    +
    +Changes gp_exit so it is passed both the Ghostscript error code and
    +the exit status code as arguments.  This is backward-compatible for
    +all but the pickiest compilers.
    +
    +Adds a call on gp_check_interrupts() after fwrite calls in the stream
    +machinery.  This prevents lengthy console output from locking out
    +other programs.
    +
    +Changes a couple of occurrences of op_def_ptr in iinit.c to work around a
    +`const' bug in Sun's SC1.0 compiler.
    +
    +Adds a special hack in the 'where' operator to work around a bug in Aldus
    +Freehand 2.x.
    +
    +Changes all empty argument lists from () to (void), which is the ANSI
    +C syntax.
    +
    +Adds a hack to ignore ^[ and ^D^[ tokens, to work around the prologue
    +and epilogue emitted by the MS Windows LaserJet IV driver.
    +
    +Defines the processcolors operator, which should not be needed, but
    +is required because of bugs in Lotus 1-2-3 and Adobe PhotoShop.
    +
    +Changes the allocator (ialloc) to fill all allocated and/or freed
    +blocks with a marker if gs_alloc_debug is set, as gs_malloc and
    +gs_free already do.
    +
    +

    Library

    +Fixes bugs:
    +	- 16-bit memory devices stored the bytes of each pixel in the
    +wrong order.
    +	- copy_mono did the wrong thing when copying 1 source chunk
    +to 2 destination chunks with polarity inverted.  (This probably
    +didn't affect any actual uses of Ghostscript.)
    +*	- The compile-time check for ints being 2 or 4 bytes used the
    +#error directive, which most compilers don't recognize.
    +	- arc and arcn didn't do the right thing for degenerate
    +(single-point) arcs, or for arcs drawn in the "wrong" direction that
    +were multiples of 360 degrees.
    +	- charpath did the wrong thing with Type 3 fonts.
    +	- copyscanlines gave an error if the buffer was too large.
    +	- The copy_mono procedure (used for text and halftones) for
    +2- and 4-bit-per-pixel memory and printer devices incorrectly
    +incremented the destination pointer after every pixel, instead of
    +only after every byte.
    +	- The fill_rectangle procedure (used for graphics) for 2- and
    +4-bit-per-pixel memory and printer devices, if given any color other
    +than all 0's or all 1's, multiplied the X coordinate and width by 2
    +or 4, thereby filling the wrong area.
    +	- The use of 'data' in both gs_type1_data and gs_font upset
    +the VMS compiler.
    +	- The `Flex' feature wasn't implemented for Type 1 fonts,
    +which caused serious errors in rendering some fonts that use it.
    +(Unfortunately, some Adobe fonts violate the specification, so we had
    +to implement Flex to always use a curve.)
    +*	- Stem width adjustment was too eager, producing very strange
    +effects on small characters with tight curves (a curve point could
    +get snapped to the other side of the open area).
    +	- The allocator didn't align structures adequately on
    +machines where sizeof(long) or sizeof(char *) was 8 bytes.
    +	- The test for IEEE floating point gave an incorrect
    +(negative) result on machines where sizeof(long) was 8 bytes.
    +	- genarch.c assumed that the result of subtracting two
    +pointers was an int, leading to a garbage arch.h file on systems
    +where this was false.
    +*	- The Type 1 font interpreter incorrectly reset the adjusted
    +path position to be the same as the unadjusted path position whenever
    +it returned control to the client (in particular, for callothersubr),
    +leading to discontinuities and distortions in the character shapes.
    +*	- Accented characters in Type 1 fonts often misplaced the
    +accent to the left.
    +	- gsmisc.c wouldn't compile on machines with 64-bit pointers,
    +because _pad was 0, and ANSI compilers don't accept 0-length arrays.
    +	- pathforall got confused if the client procedures modified
    +the path.
    +	- The command list file representation limited X and Y
    +coordinates to 15 bits.
    +*	- stroke could produce spikes or other garbage for mitered
    +joins as a result of stroke adjustment.
    +	- The params_size field of the null device was wrong, so
    +scaling the null device produced unpredictable results.
    +
    +Changes monobit memory devices to always store data big-endian.  This
    +eliminates byte-swapping, at the cost of slightly slower rendering.
    +
    +Removes the memswab* routines, since they are no longer needed.
    +
    +Implements gs_cshow_[n_]init, which provides support for cshow, and
    +gs_xyshow_[n_]init, which provides support for {x,y,xy}show.
    +
    +Adds an optional left side bearing argument to gs_type1_interpret.
    +
    +Changes gs_type1_interpret so it does not do a setcachedevice, fill,
    +or stroke, but only appends the character outline to the path
    +(including a moveto for the character width.)
    +
    +Removes gs_setmetrics, which is no longer needed.
    +
    +Implements gs_setcachedevice2, which provides support for
    +setcachedevice2.
    +
    +Speeds up gsave/grestore by allocating, deallocating, and copying as
    +much as possible of the graphics state in a single operation.
    +
    +Implements gs_{set/current}{color/colorspace/overprint/colorrendering/
    +blackgeneration/undercolorremoval}.  Device, indexed (with table, not
    +with procedure), CIE, and (substituted) separation colors are
    +supported; some of the setup code for patterns is also present.
    +
    +Increases the size of temporary file names in gdevprn.h from 30
    +characters to 60.
    +
    +Changes the character cache to be allocated dynamically in chunks.
    +
    +Splits gxcache.c into gxccache.c (fast "hit" code) and gxccman.c (all
    +other code).
    +
    +Changes all occurrences of sizeof to size_of in order to work with the
    +buggy SVR4.2 C compiler.
    +
    +Adds a new concept of "external fonts", which allow a driver to
    +substitute its own fonts for the ones obtained through the normal
    +font machinery.
    +
    +Changes all empty argument lists from () to (void), which is the ANSI
    +C syntax.
    +
    +
    + +
    + +

    Version 2.5.2 (9/20/92)

    + +

    This is yet another bug fix release to (finally!) get the PCL drivers +working again. + +

    Procedures

    +Fixes bugs:
    +	- The comment in devs.mak for cdjcolor said it used 8 bits
    +per pixel, rather than the correct 24.
    +
    +Adds gsbj/dj/lj/lp and gslp.ps to the installed files on Unix
    +systems.
    +
    +Removes dps.dev and level2.dev from the standard configurations on
    +all platforms, since the presence of the setcolor operator was
    +causing the output of some common applications to fail.
    +
    +
    + +

    Utilities

    +Fixes bugs:
    +	- font2c produced invalid output for any font that didn't use
    +StandardEncoding or ISOLatin1Encoding.
    +
    +
    + +

    Platforms

    +Fixes bugs:
    +	- gp_sysv.c required an extern long timezone.
    +
    +
    + +

    Drivers

    +Fixes bugs:
    +	- The PCL drivers were *still* doing the wrong thing about
    +zeroing the seed row for Mode 3 compression.
    +	- Setting the resolution with -r didn't work under Windows.
    +	- The Windows driver got a stack overflow if it was ever
    +asked to display a bit image wider than 32 pixels.
    +	- The Tseng driver didn't sense the model (ET3000 vs. ET4000)
    +correctly.
    +
    +Adds the eps9high device to the standard MS-DOS makefiles.
    +
    +
    + +

    Interpreter

    +Fixes bugs:
    +	- gs_run_string used gs_user_errors (a global) rather than
    +user_errors (its argument) to control error handling.  (This does not
    +affect normal operation of Ghostscript, only use as a server.)
    +	- eexec popped the top element of the dictionary stack
    +afterwards even if the encrypted code had pushed something onto it.
    +This caused problems for some badly written PostScript code.
    +	- The printed form of real numbers didn't always include a
    +decimal point, causing compatibility problems.
    +
    +Makes -s and -d work for device properties.
    +
    +Increases the cache limit on large-memory systems.
    +
    +Adds a check to ensure that the revision of gs_init.ps matches that
    +of the interpreter.
    +
    +Adds the .knownget operator.
    +
    +

    Library

    +Fixes bugs:
    +	- The raster computation in clist_render_init, and the
    +computation of state_size in clist_open, didn't widen an operand to
    +long, leading to possibly incorrect operation for 24-bit-per-pixel
    +printers on MS-DOS systems.
    +	- The flatness was set too large for Type 1 characters,
    +leading to visible straight edges instead of curves at large sizes.
    +	- Type 1 fonts that contained out-of-range coordinates would
    +produce garbled output.  (This was not a problem with the standard
    +Ghostscript fonts, or with Adobe Type Manager fonts.)
    +	- gschar0.c wouldn't compile, because it referred to a
    +non-existing structure member penum->chr.  (This had no effect on
    +Ghostscript's operation.)
    +	- The curve flattener required line segments to be no more
    +than 8 x the flatness in length, leading to an enormous number of
    +segments.
    +	- pathforall would cause an addressing fault if the path
    +consisted of only a moveto.
    +
    +Refactors some header files so that std.h is always included before
    +any system header file that might include sys/types.h.
    +
    +Adds logic for removing top and bottom blank rows in cached
    +characters.  (This is the beginning of compression for the cache.)
    +
    +Changes the arguments of memswab2/4 from char * to byte *, for more
    +accurate type conformance.
    +
    +
    + +

    Version 2.5.1 (9/11/92)

    + +

    This is the usual bug fix re-release. + +

    Procedures

    +Fixes bugs:
    +	- The makefile rules for compiled fonts had a circular
    +dependency.
    +	- `make begin' didn't work properly on all platforms.
    +
    +Ensures that all batch files end with a newline.  (The absence of the
    +newline was confusing the GNU diff program.)
    +
    +Documents the fact that the -dASCIIOUT switch no longer exists.
    +
    +

    Utilities

    +Fixes bugs:
    +	- pstoppm didn't `bind' its internal procedures.
    +	- grestoreall would undo the output device selected by
    +pstoppm.
    +
    +Changes the utilities for reading and writing Type 1 character
    +outlines so they can work with stack representations as well as
    +arrays.
    +
    +Removes the pfbtogs.ps, phonbook.ps, and showpbm.ps utilities from
    +the distribution.
    +
    +Adds a gslj utility to parallel gslp and gsdj.
    +
    +

    Platforms

    + +
    +Adds the DeskJet 500C drivers (cdeskjet/cdj*) to the MS-DOS / Borland
    +C++, MS-DOS / Watcom C/386, and MS-Windows configurations.
    +
    +Removes the PCX file driver from the MS Windows executable, because
    +the static data segment exceeded 64K.
    +
    +Makes some changes in the Unix System V platform file (gp_sysv.c) and
    +in time_.h and unixtail.mak to accommodate the 3B1.
    +
    +

    Fonts

    +Fixes bugs:
    +	- The Charter-Italic font was named bchi.pfa rather than
    +bchri.pfa.
    +	- The Cyrillic fonts (cyr.gsf, cyri.gsf) were omitted from
    +the fileset.
    +	- Ghostscript incorrectly assumed that all Type 1 fonts had a
    +FontInfo dictionary.
    +	- .loadfont used false PFBDecode, so a few .PFB fonts would
    +get errors because the first eexec byte would be whitespace.
    +
    +Changes font2c and its supporting code so that compiled fonts are
    +location-independent.
    +
    +

    Drivers

    +Fixes bugs:
    +	- The margins for the H-P printers were still wrong.
    +	- The H-P drivers accidentally cleared the compression seed
    +row when switching compression modes.
    +	- Some of the H-P drivers used the wrong control codes for
    +skipping blank lines.
    +
    +Adds user-supported drivers for the AT&T 3B1 console device, and for
    +the NEC P6+ printer.
    +
    +Updates the SunView driver with a new version supplied by a(nother)
    +user.
    +
    +Changes the X Windows driver so the Ghostscript window doesn't get
    +input focus.
    +
    +Changes the common code for the printer drivers so that if it can
    +allocate a full bitmap but there isn't at least a minimum amount of
    +memory left afterwards, it switches to banding.
    +
    +Changes the Windows driver so it handles devices with more than 8
    +bits per pixel.  (We haven't been able to test this.)
    +
    +Adds a read-only PageCount device property (for printer devices
    +only).
    +
    +Changes all Aladdin-supported drivers to clip drawing requests to the
    +((0,0), (width,height)) rectangle of device space.
    +
    +

    Interpreter

    +Fixes bugs:
    +	- Closing a NullEncode filter always gave an ioerror.
    +	- If a single-character name occurred 1 character before the
    +end of an input buffer, the character would be doubled.
    +	- The procedures in gs_statd.ps didn't use "bind".
    +	- Setting the page size didn't work properly with devices
    +with rotated coordinate systems.
    +	- If an error occurred, and the error object wasn't the last
    +element of its procedure, the interpreter would re-execute the error
    +object after running the error handler.
    +	- Memory devices didn't get resized if HWSize was changed,
    +leading to out-of-bounds memory accesses.
    +
    +Moves revision and revisiondate from gs_init.ps to iinit.c.  Adds a
    +-v switch that just prints these out.
    +
    +Arranges things so that if Ghostscript is reading from a pipe (`-'
    +switch on the command line) and encounters an error, it exits with
    +status 1 rather than 0.
    +
    +Changes the interpreter interface so the caller explicitly passes a
    +pointer for storing an error object.
    +
    +

    Library

    +Fixes bugs:
    +	- The automatic adjustment of the scaling for variant paper
    +sizes caused the image to get expanded when it should have been
    +contracted, and vice versa.
    +	- The curve flattener insisted that each line segment be no
    +more than 2 x the flatness in length, leading to an enormous number
    +of segments even when not necessary for accuracy.
    +	- flattenpath and strokepath discarded a trailing moveto.
    +	- strokepath treated "0-width" lines as really having a width
    +of zero, rather than one pixel.
    +	- Buffered devices weren't closed and reopened if the amount
    +of buffer space was changed.
    +	- stroke used the line cap at the beginning of each subpath
    +even if the subpath was closed.
    +
    +Removes the requirement that the clipping rectangle fall in the
    +non-negative quadrant of device space.  (This was causing problems
    +for Ghostview, but removing it required adding the extra clipping
    +step to the drawing routines in the drivers.)
    +
    +
    + +

    Version 2.5 (8/18/92)

    + +

    This version adds Type 1 hinting, CCITTFax encoding and decoding, and +Microsoft Windows support, as well as the usual minor improvements +and bug fixes. + +

    Procedures

    +Fixes bugs:
    +	- GSIMPATH, SLZWD, and SLZWE were omitted from the VMS
    +makefiles, and GSIM2OUT was not removed.
    +	- landscap.ps messed up the current path.
    +
    +Adds new switches:
    +	-dSAFER disables file writing and directory modification.
    +	-dESTACKPRINT causes errors to print the execution stack with
    +== instead of =.
    +	-sOutputFile=<string> replaces -sOUTPUTFILE (which is still
    +recognized) for setting the output file or pipe for the default
    +(printer) device.
    +	-sPAPERSIZE=<sizename> initializes the paper size.
    +	-dBufferSpace=<number> sets the buffer size for the default
    +(printer) device.
    +
    +For Unix systems, changes the directories in GS_LIB_DEFAULT from
    +`pwd` to $(gsdatadir), i.e., normally $(datadir)/ghostscript, where
    +datadir is normally /usr/local/lib.
    +
    +Adds a note in the header file to the effect that the X Windows
    +driver expects to find header files in $(XINCLUDE)/X11, not in
    +$(XINCLUDE).
    +
    +Changes -q so it defines QUIET as true instead of null (so it can be
    +used in the middle of the command line as well as at the beginning).
    +
    +Renames the history.doc file as NEWS.
    +
    +
    + +

    Utilities

    + +

    Platforms

    +Fixes bugs:
    +	- The stack size was not getting increased on the Watcom
    +platform.
    +
    +Removes "b" from the scratch file opening modes in gp_unix.c and
    +(conditionally) in gdevprn.c, to pacify the DECstation Ultrix system.
    +
    +Adds a makefile (bcwin.mak) and a platform file (gp_mswin.c) for
    +Microsoft Windows.
    +
    +On MS-DOS platforms (including Windows), uses the TEMP environment
    +variable to designate the directory for scratch files.
    +
    +Changes std.h so that the VMS C compiler uses function prototypes and
    +'const'.
    +
    +Changes the VMS cc makefile so it doesn't use ansi2knr.
    +
    +

    Fonts

    +Fixes bugs:
    +	- findfont left an extra entry on the stack if it couldn't
    +find the default font.
    +
    +Renames bchi, ncri, and puti as bchri, ncrri, and putri, to conform
    +with the naming scheme for other fonts.
    +
    +Adds $(CCFLAGS) to the command line used for compiling fonts.
    +
    +Converts the .pfa fonts (CharterBT, IBM Courier, and Utopia) to .gsf,
    +by removing eexec encryption and also removing some mysterious
    +unmapped characters from Courier.  This makes these fonts work with
    +DISKFONTS.
    +
    +Changes the implementation of compiled fonts so they are read-only
    +and sharable (no external references).  (They are, however, not
    +position-independent.)
    +
    +Provides a way to use compiled fonts on platforms that limit the
    +number of characters in an identifier.
    +
    +Adds public-domain Cyrillic and Cyrillic-Italic fonts.
    +
    +Adds a 'userdict begin' to .loadfont, because Type 3 fonts produced
    +by Fontographer expect a writable dictionary on the top of the stack.
    +
    +Changes definefont for Type 1 fonts to insert UnderlinePosition and
    +UnderlineThickness entries in FontInfo if they are absent, because
    +many word processors incorrectly assume these entries are present.
    +
    +

    Drivers

    +Fixes bugs:
    +	- The documentation in use.doc said that the densities for
    +9-pin Epson printers were 60x60 to 240x60, rather than 60x72 to
    +240x72.
    +	- gdevprn.c smashed one byte beyond the end of the string
    +given as the OutputFile device property.
    +	- The X11 driver used XVisualIDFromVisual, which is not
    +defined in X11R3.
    +	- The SunView driver modified the input data, which was
    +declared as const.
    +	- The LaserJet IIP and III drivers shifted the page 185
    +pixels to the left and 0.25" down, because the initialization string
    +was incorrect.
    +	- The PCX driver wrote 16-bit values using the byte ordering
    +of the platform, rather than always LSB first.
    +	- For vertical spacing, the LaserJet and DeskJet drivers used
    +a command that spaces N/300", rather than N scan lines, but gave it a
    +parameter in scan lines.
    +	- The VESA driver didn't allocate a full 256-byte buffer for
    +reading the mode information from the BIOS, causing the stack to get
    +smashed by newer VESA implementations.
    +	- The VESA driver didn't use the scan line length returned by
    +the BIOS, causing garbage output for some cards and some resolutions.
    +	- The generic printer driver didn't free the bitmap when
    +closing the device, if it fit entirely in memory.
    +	- The PaintJet driver allocated its data areas on the stack
    +instead of with gs_malloc.
    +	- The generic printer driver didn't attempt to increase the
    +buffer size if it was too small.
    +	- The band list driver didn't split large bitmaps properly,
    +leading to garbled characters at high resolutions.
    +	- The GIF and PCX drivers used a color map that often turned
    +gray colors into non-grays.
    +
    +Changes the default put_props procedure so that if the device is
    +open, setting HWSize and/or HWResolution closes the device and
    +reopens it.
    +
    +Adds a driver for Microsoft Windows 3.n.
    +
    +Updates the 'cdj' and 'dj500c' DeskJet 500C drivers with new versions.
    +(This are user-contributed drivers.)
    +
    +Changes gdev_prn_put_props so OutputFile can be changed dynamically.
    +
    +Updates the DEC LN03 driver to also handle the LA50 and LA75.  (This
    +is a user-contributed driver with a FSF copyright.)
    +
    +Changes the LaserJet/DeskJet driver so that -DA4 in the makefile
    +makes A4 paper the default.  The driver now also sends an appropriate
    +page size selection command to the printer if the printer supports it.
    +
    +Changes all the Aladdin-supported drivers to return appropriate error
    +codes rather than -1.
    +
    +Adds a driver for the S3 86C911, a PC graphics accelerator used in
    +the popular Diamond Stealth board.  This is the first driver that
    +uploads character bitmaps to a device; others will probably follow.
    +
    +Adds user-supplied code to the Epson driver so it will do triple
    +passes on 9-pin printers for higher resolution.
    +
    +Adds user-supplied code for the PaintJet XL to the PaintJet driver.
    +
    +

    Interpreter

    +Fixes bugs:
    +	- zdps1.c didn't include alloc.h.
    +	- On 32-bit systems, if maxlength of a dictionary was less
    +than the actual allocated space, length could become larger than
    +maxlength.
    +	- flushfile didn't actually flush data when reading.
    +	- The ASCII85Decode filter signalled EOF prematurely.
    +	- The scanner interpreted .3D.glorp as the number 0.3, rather
    +than as a name.
    +	- Closing a file freed the stream structure, creating
    +dangling references if there were other file objects pointing to the
    +same stream.
    +	- eexec called handleerror if an error occurred, instead of
    +letting the error propagate to an enclosing stopped.
    +	- gs.h made perror illegal, instead of defining it in terms
    +of strerror.
    +	- One-character names weren't being allocated at
    +initialization, so they could be left dangling after a restore.
    +	- Internal gsaves (i.e., the ones in show and setcachedevice)
    +didn't also save istate, so setfont inside a BuildChar procedure
    +might cause the font outside to get changed.
    +	- The allocator incorrectly freed objects in the current
    +chunk that were older than the current save.
    +	- mark was just an object, rather than an operator, so 'bind'
    +didn't bind it.  (This is theoretically a problem for null, true, and
    +false also, but even more unlikely to be a problem in practice.)
    +	- packed_get didn't cast packed integers to int, so negative
    +integer elements of packed arrays came out wrong.
    +	- quit just did a gs_exit, instead of returning to the driver
    +in an orderly way.
    +	- Because check_type_access checked for errors in the wrong
    +order, sometimes type errors were reported as access errors.
    +	- eq didn't check for stack underflow.
    +	- Some of the stream_procs structures weren't properly
    +declared const, leading to link errors on VMS.
    +
    +Implements currentcolor, currentcolorspace, setcolor, and
    +setcolorspace (for DeviceGray, DeviceRGB, and DeviceCMYK only).
    +
    +Implements the dictionary form of image and imagemask.  All the pairs
    +in the Decode array must be the same; Interpolate is ignored.  The
    +only supported color spaces are DeviceGray, DeviceRGB, and
    +DeviceCMYK.
    +
    +Implements files as allowable sources for the image operators.
    +
    +Removes the index field from the name structure, moving it to the
    +'size' field of name refs.
    +
    +Changes the unread/sungetc operation to require that the character be
    +the same as the last one read from the file.
    +
    +Adds fflush calls to some debugging printout routines, because Unix
    +sometimes buffers terminal output.
    +
    +Implements the CCITTFaxEncode and CCITTFaxDecode filters.  Implements
    +the general case of the SubFileDecode filter.
    +
    +Changes definefont to treat a UniqueID of 0 as equivalent to no
    +UniqueID, because Fontographer output apparently often violates the
    +specification in this way.
    +
    +Changes the default printer screen from 32.5 to 46 cells/inch.  (The
    +old value was appropriate for a hand-rotated cell with two spots in
    +it.)
    +
    +Changes the utility routines to allow an integral real wherever an
    +integer parameter is expected in a dictionary, because Fontographer
    +produces fonts that violate the Adobe specification in this way.
    +
    +Adds a `dosio' feature that provides direct access to memory and to
    +I/O ports under MS-DOS.  (This feature is not included in the
    +standard executables, of course.)
    +
    +Changes the default character cache limit to a 1/4" x 1/4" character
    +at the default resolution, rather than basing it on the preallocated
    +cache size.
    +
    +Removes support for t_color objects, which haven't actually been used
    +for several releases.
    +
    +Implements setcmykcolor and currentcmykcolor as operators, so they
    +will interact properly with setcolorspace and currentcolorspace.
    +
    +Changes the name of the file.h header file to files.h, to work around
    +a bug in the VMS header library.
    +
    +Adds command line switches @file (to treat file as more command line,
    +to get around the DOS 128-character command line limit) and -ffile
    +(so one can specify file names that begin with - or @).
    +
    +Changes the PFBDecode filter so it takes an additional boolean that
    +says whether or not to convert binary packets to hex.  (Conversion to
    +hex and back to binary accounted for a substantial amount of the time
    +required to load .PFB fonts.)
    +
    +Splits off `copydevice' as a separate operator again.
    +
    +

    Library

    +Fixes bugs:
    +	- In the VMS environment, string_.h used its own prototypes
    +for the str... and mem... functions instead of <string.h>
    +	- gx_alloc_char_bits declared cdsize as long, but didn't
    +shorten it when passing it to shorten_cached_char.
    +	- Stroking didn't suppress fattening of the lines.
    +	- kshow didn't update the cached CTM information in the show
    +enumerator when returning from the callout, so further characters
    +could get drawn in the wrong place.
    +	- When a memory device returned its initial matrix, it
    +smashed the padding fields, which contained the interpreter's type
    +information.
    +	- setcachedevice didn't set the initial matrix in the cache
    +memory device.
    +	- image_set_rgb (in the image operators) didn't do a
    +gx_color_from_rgb, so in principle one could sometimes get incorrect
    +colors in an image.
    +	- The decision about whether or not to cache a character
    +bitmap incorrectly compared the character size against cmax rather
    +than cdata_size.
    +	- show didn't reset the in_cachedevice flag in the graphics
    +state, so characters rendered by a recursive show were never cached.
    +	- clip and eoclip didn't release the intermediate flattened
    +clip path, causing memory to be lost.
    +	- The tile_diff routine didn't handle the case of two
    +identical tiles properly; this produced garbage in the band list
    +file.
    +	- stringwidth didn't round the character origin to an
    +integral pixel; this interacted badly with hinting, causing
    +improperly hinted characters to wind up in the cache.
    +	- Bitmaps (including characters) were displaced, as well as
    +being clipped, if they intersected the top of a clipping region.
    +	- In gxclist and gdevmem1, the raster computation (although
    +not the result) could overflow an int on 16-bit machines.
    +
    +Implements decoding (sample mapping) for image and imagemask.
    +
    +Implements hinting for Type 1 fonts, based on (but not copying) the
    +algorithms from the X11R5 tape.
    +
    +Changes curve rasterizing to use sampling, rather than recursive
    +subdivision, for characters.  This produces noticeably better output.
    +Speed penalty for non-cached characters is less than 10% at display
    +resolutions, up to 50% for 300 dpi printers.
    +
    +Implements gs_setcmykcolor and gs_currentcmykcolor.  These are
    +semi-fake, since they simply convert the color to and from RGB, but
    +the former does set the current color space properly.
    +
    +Changes clipping regions so they use the any-part-of-pixel rule
    +rather than the center-of-pixel rule.  This helps avoid dropouts when
    +using very small regions.
    +
    +Implements stroke adjustment.
    +
    +
    + +
    + +

    Version 2.4.2 (5/8/92)

    + +

    +This is another quick release. It finally fixes rotated halftone +screens, and cleans up a few minor problems from 2.4.1. + +

    +This release is being distributed only to beta testers and commercial +licensees, since I don't want to be distracted from working on 2.5. + +

    Procedures

    +Fixes bugs:
    +	- UTRACE still appeared in the VMS makefiles.
    +	- The support files (*.bat, *.doc, *.gsf, *.ps, Fontmap,
    +COPYING, README) weren't included in the MS-DOS tar file.
    +	- The Unix install script didn't install landscap.ps.
    +
    +Replaces the type1imagepath operator with PostScript code (impath.ps,
    +type1ops.ps) based on the new .imagepath operator.
    +
    +Renames LICENSE as COPYING.
    +
    +

    Utilities

    +Fixes bugs:
    +	- pcharstr.ps had an occurrence of Subrs rather than /Subrs,
    +causing it to not print the Subrs, or to get an error if there were
    +none.
    +	- font2c.ps didn't get the const declarations for string
    +dictionaries quite right.
    +	- The missing newline at the end of gsbj.bat confused GNU
    +diff.
    +	- ansi2knr would go into an infinite loop if a statement
    +exceeded its internal buffer size.
    +	- Compiled fonts would get processed by ansi2knr, which
    +messed them up.
    +
    +

    Platforms

    +Fixes bugs:
    +	- Ghostscript didn't supply equivalents for rename and
    +gettimeofday, which some System V platforms lack.
    +	- The missing newline at the end of gp_dosfb.c confused GNU
    +diff.
    +
    +Changes the Borland makefiles so that stack checking is only enabled
    +if DEBUG or TDEBUG is set.
    +
    +

    Fonts

    + +
    +Changes the names of the Utopia fonts from utrg/utb/utbi/uti to
    +putr/putb/putbi/puti, for consistency with the rest of the font names.
    +Changes cour/courb/courbi/couri to ncrr/ncrb/ncrbi/ncri likewise.
    +
    +Replaces the Charter fonts with the CharterBT fonts donated by
    +Bitstream to the X11R5 distribution.
    +
    +Adds font aliasing capability to Fontmap.  Replaces
    +Courier-[Bold]Oblique and ZapfChancery-MediumItalic by aliases.
    +
    +Changes the FontBBox of the Hershey fonts to be an executable, rather
    +than a literal, array.
    +
    +

    Drivers

    +Fixes bugs:
    +	- The GIF driver omitted a `private' on the definition of
    +gif_print_page.
    +	- The GIF driver wrote 16-bit values using the byte ordering
    +of the platform, rather than always LSB first.
    +	- George Cameron's DeskJet 500C driver had an incorrect
    +control sequence for skipping blank lines.
    +
    +Adds 'const' in many places, including the tile and bitmap arguments
    +of the tile_rectangle, copy_mono, and copy_color driver routines.
    +THIS IS A DRIVER INTERFACE CHANGE.  (Printer drivers are not
    +affected, since they don't implement these routines.)
    +
    +Adds a driver for the Trident TVGA.
    +
    +

    Interpreter

    +Fixes bugs:
    +	- alloc_free sometimes incorrectly chose to put an unaligned
    +block in an old segment on a freelist.
    +	- The default undercolor removal function returned its
    +argument rather than returning 0.
    +
    +Adds NullEncode and SubFileDecode to the standard filters, since
    +bdftops uses the latter.
    +
    +Adds RunLengthEncode and RunLengthDecode to the optional filters.
    +
    +Removes the type1imagepath operator.  (It is still available as
    +PostScript code, impath.ps.)  Replaces it with a simpler outline
    +tracing operator .imagepath.
    +
    +Adds 'const' in many places.
    +
    +Makes fileposition (but not setfileposition) legal for NullEncode
    +filters.
    +
    +Changes the default transfer function for high-resolution devices
    +from the identity function to the square root function.
    +
    +Moves array_get from zgeneric.c to iutil.c.
    +
    +Changes uses of fopen to add a "b" to the access mode, rather than
    +relying on the _fmode global variable on MS-DOS platforms.
    +
    +Allows use of the -Z switch even when gsmain.c wasn't compiled with
    +-DDEBUG, since other modules might have been.
    +
    +Reorganizes gs.c and gsmain.c so that the latter can be used in
    +server environments.
    +
    +Replaces all uses of stdin/out/err with gs_stdin/out/err.
    +
    +Makes the number of permanent entries on the dictionary stack a
    +parameter, to allow inserting globaldict in the future.
    +
    +Changes BlueShift in the Type 1 font Private dictionary to allow real
    +numbers.  (This differs from the Adobe specification, but at least
    +one commercial font has a real number for BlueShift.)
    +
    +

    Library

    +Fixes bugs:
    +	- The doubling check in init_ht (gxht.c) still sometimes
    +thought there was enough room to double the tile when there actually
    +wasn't.
    +	- Rotated halftone screens didn't work.
    +	- gxarith.h used #ifdef vax, rather than #if
    +!arch_floats_are_IEEE, to test whether IEEE floats were being used.
    +	- pathforall didn't report a trailing moveto.
    +
    +Replaces gs_type1imagepath with gs_imagepath.
    +
    +Allows sOUTPUTFILE=-, meaning output to stdout.
    +
    +Adds 'const' in many places.
    +
    +Replaces all uses of stdin/out/err with gs_stdin/out/err.
    +
    +
    + +

    Version 2.4.1 (4/21/92)

    + +

    This is a quick release to fix minor problems discovered in 2.4, and +to add a few improvements that didn't quite make it into 2.4. It +also adds GIF and PCX file support. + +

    Procedures

    +Fixes bugs:
    +	- Some makefile dependencies, and the ccgs script, caused trouble
    +for parallel versions of `make'.
    +	- Compiling genarch with -O with gcc on the RS/6000 produced a
    +buggy executable.
    +
    +Fixes some minor problems in make.doc.
    +
    +Adds DEVICE_DEVS2..5 to handle long device lists.
    +
    +Removes the need to set GS_RUN_EXE when using the Watcom compiler on
    +MS-DOS systems.
    +
    +Gets rid of gs_ccfnt.ps, merging its function into gs_fonts.ps.
    +
    +Gets rid of gconfig.ps; this information is now compiled in gconfig.c.
    +
    +

    Utilities

    +Fixes bugs:
    +	- The palette for pstoppm in 8-bit mode didn't contain all 8
    +primary colors.
    +	- font2c used just values_ to mean &values_[0]; some compilers
    +couldn't handle this.
    +
    +Makes font2c insert `const' in many appropriate places.
    +
    +

    Drivers

    +Fixes bugs:
    +	- The SunView driver had not been updated properly for 2.4 and was
    +pretty thoroughly broken.
    +	- None of the printer drivers worked properly with the Watcom
    +compiler, because stdprn was doing \n -> \r\n substitution.
    +	- If the generic printer driver couldn't allocate the requested
    +size command list buffer, it gave up rather than trying to allocate a
    +smaller buffer.
    +	- The SuperVGA drivers (except for the VESA driver) didn't
    +work with the Watcom compiler, because a couple of places in the
    +drivers weren't truncating the offset of "segmented" pointers
    +properly.
    +	- Some of the H-P used <esc>*b#Y rather than <esc>*p+#Y for
    +vertical positioning; this apparently is wrong, at least for the
    +LJIIp.
    +
    +Removes the dependence of the X Windows driver on Xt, Xext, and Xmu.  As a
    +result, Ghostscript will not install a standard colormap itself, but it
    +will use one if one is already installed.
    +
    +Adds a set of drivers for Portable Bitmap, Graymap, and Pixmap file
    +formats.
    +
    +Adds drivers for monochrome, EGA/VGA-style, and SuperVGA-style PCX
    +file formats.
    +
    +Adds drivers for monochrome and 256-color GIF file formats.
    +
    +

    Fonts

    +Adds ZapfChancery-MediumItalic as a copy of ZapfChancery-Oblique.
    +
    +

    Interpreter

    +Fixes bugs:
    +	- A value with l_new set could 'escape' to save level 0 on a
    +stack; if stored, it prevented the slot from being saved and restored
    +properly.
    +	- 16#7fffffff + 1 gave the floating point equivalent of -2^31, not
    +2^31.
    +	- The PFBDecode filter computed the packet length incorrectly if
    +the 0x8000-bit of the length was set.
    +	- 5-byte numbers in Type 1 CharStrings complained of a rangecheck
    +if they exceeded 16 bits, rather than if they exceeded the integer part of
    +a fixed.
    +	- (, ), and \ appearing in file name arguments in the command
    +line did not work properly.
    +
    +Adds 'const' in many places.
    +
    +Changes the random number generator to be the same as the one used in
    +Level 2 PostScript (as reported by Ed Taft on comp.lang.postscript).
    +
    +Exits with code 1 rather than code 0 on an unrecoverable error detected at
    +the PostScript level.
    +
    +Makes dictionaries expand automatically when they fill up.
    +
    +Adds gp_exit to complement gp_init.
    +
    +Changes dictionaries to always allocate a power of 2 entries on
    +32-bit machines.  Changes the name table to allocate indices
    +scattered, so dictionary lookup doesn't have to do a multiply to
    +scramble the index.
    +
    +Changes the handling of currentfile to do "shallow binding" so stack
    +searching is almost never required.
    +
    +

    Library

    +Fixes bugs:
    +	- arc and arcn got a numeric exception if the radius was zero.
    +	- The undocumented 15 opcode in Type 1 fonts wasn't ignored.
    +	- PaintType 3 wasn't allowed.  (It isn't clear what it should
    +mean; we treat it as equivalent to 0.)
    +	- The VAX/VMS C compiler was generating incorrect code for the
    +chi_bits and cmask macros in gdevmem, producing incorrect output.
    +	- If the result of the slow algorithm for intersecting clipping
    +paths was a rectangle, the wrong thing happened (cbox didn't get set).
    +	- gx_path_is_rectangle didn't recognize open rectangles.
    +	- clist_change_tile didn't check properly whether the tile
    +size had changed, so changing the screen could produce invalid band
    +files.
    +	- The image operators did the wrong thing in the 1-for-1
    +case, interleaving N bytes of data with 7*N bytes of garbage.
    +	- stroke sometimes handled bevel and miter joins wrong in
    +reflected coordinate systems.
    +	- init_ht checked incorrectly whether there was enough room
    +to Y-replicate tiles, so sometimes it did it when it shouldn't have.
    +	- stroke sometimes thought lines were thin when they weren't.
    +
    +Adds 'const' in many places.
    +
    +Adds support for 2- and 4-bit-per-pixel memory devices.
    +
    +
    + +

    Version 2.4 (3/25/92)

    + +

    This is a major release that adds SuperVGA support, support for +Metrics, +settable device properties, and incremental font loading. It also +includes important performance improvements, based on rewrites of some key +algorithms, and quite a few new Level 2 / Display PostScript facilities. + +

    Procedures

    +Fixes bugs:
    +	- The rule for compiling gconfig.c didn't include the -I switches.
    +	- .bat files were being distributed with a \n line terminator
    +rather than \r\n.
    +	- A CLOSE MODULE_LIST was needed after END_COMPILE: in the VMS
    +command files.
    +	- Unix systems couldn't handle multiple drivers with overlapping
    +sets of files.
    +	- -s<name> defined <name> as a null, rather than as an empty string.
    +
    +Adds gconfig.ps to the list of needed configuration files.
    +
    +Changes the way that the makefile handles nested .h files, so that it
    +doesn't have to `touch' them.
    +
    +Adds the loadallfonts procedure to gs_fonts.ps.
    +
    +Changes the standard DOS configuration to include VGA, EGA, VESA, Epson,
    +BubbleJet, and H-P printer drivers.
    +
    +Renames ghost.mak as gs.mak, and gdevs.mak as devs.mak.
    +
    +Adds a USE_ASM flag so that one can build a DOS version of Ghostscript
    +without having an assembler.
    +
    +Splits off common code from the two MS-DOS makefiles into tccommon.mak.
    +
    +Replaces the COPYING and LICENSE files with a new LICENSE file containing
    +version 2 of the GNU General Public License.
    +
    +Removes DEVICES and DEVICE_OBJS from the makefiles, since they are no
    +longer needed.
    +
    +Adds a GS_DEVICE environment variable to supply a default device name if
    +desired.
    +
    +Adds ansihead.mak and unix-ansi.mak, to parallel [g]cc-head.mak and
    +unix-[g]cc.mak, for other ANSI C compilers.
    +
    +Changes the way that optional features are defined in the makefiles, so
    +that they actually work.
    +
    +Adds support for the Watcom C/386 compiler.
    +
    +Allows # in the command line as equivalent to =, to compensate for
    +brain-damaged MS-DOS shell.
    +
    +Adds -sOUTPUTFILE= to set the output file or pipe.
    +
    +Adds -dWRITESYSTEMDICT to leave systemdict writable.
    +
    +

    Utilities

    +Fixes bugs:
    +	- pcharstr.ps insisted on having Subrs be present in the font.
    +	- pcharstr.ps decoded negative numbers between -108 and -1131
    +incorrectly.
    +	- pfbtogs.ps didn't handle packets longer than 64K correctly.
    +
    +Changes the bdftops utility so that it makes entries for UnderlinePosition
    +and UnderlineThickness in FontInfo, and so that it always records a
    +FullName (the FontName if no other is provided).
    +
    +Changes the name of the pfbtops utility to pfbtogs, because groff already
    +includes a program called pfbtops.
    +
    +Adds the gslp utility for doing "line printing" of text files, similar to
    +enscript + lpr.
    +
    +Adds a new variable DITHERPPI that enables a different dither pattern,
    +claimed to be better for printers.
    +
    +Adds the font2c utility for compiling Type 1 fonts into C, so they can be
    +linked into an executable rather than loaded dynamically.
    +
    +

    Drivers

    +Fixes bugs:
    +	- gdev_prn_copy_scan_lines was erroneously masking the last byte
    +of data even on color printers, as was paintjet_print_page.
    +	- The TruFax driver had a couple of compilation errors, since it
    +hadn't been compiled in a while.
    +	- The BGI driver sometimes didn't consult BGIPATH when looking for
    +.BGI files.
    +	- initclip did the wrong thing with memory devices.
    +	- The BGI driver didn't look in BGIDIR for .BGI files.
    +	- The Epson driver didn't set the right margin properly with
    +ESC+Q.
    +	- The BJ-10e driver was badly broken.
    +	- gdev_prn_open/close_printer didn't reset the command list file,
    +so it was taking quadratic time to print multi-page documents.
    +
    +Adds color to the SunView driver.
    +
    +Adds selectable resolution (75, 100, 150, or 300 DPI) to the
    +DeskJet/LaserJet driver.
    +
    +Changes gssetdev so that drivers can specify special libraries to be
    +loaded, as well as object files.
    +
    +Adds a driver for VESA-compliant SuperVGA displays.  This driver handles
    +all resolutions from 640 x 400 up to 1280 x 1024, in 256-color mode.  The
    +default is VGA resolution (640 x 480).
    +
    +Adds a driver for the ATI Wonder SuperVGA card, and for SuperVGA cards
    +using the Tseng Labs ET3000 or ET4000 chip such as the STB VGA EM-16 and
    +the Orchid ProDesigner II (256-color modes only).
    +
    +Adds a driver for Trident and Tseng Labs SuperVGA cards in 800 x 600,
    +16-color modes (for cards with only 256K of memory).
    +
    +Adds user-contributed drivers for the Ricoh 4081, DEC LN03, Canon LBP-8II,
    +and H-P DeskJet 500C printers.
    +
    +Adds Tim Theisen's Ghostview changes to the X11 driver.
    +
    +MAKES NON-BACKWARD-COMPATIBLE CHANGES TO THE DRIVER PROCEDURE INTERFACE as
    +follows:
    +
    +	- Changes map_rgb_color and map_color_rgb to always work in a
    +	    16-bit color value space, rather than a space defined by the
    +	    maximum number of distinct colors provided by the device.
    +
    +	- Adds an argument to the output_page procedure to indicate
    +	    whether the procedure is being called for copypage or
    +	    showpage, and a num_copies argument.
    +
    +	- Adds a gx_bitmap_id to the copy_ and tile_ procedures, so that
    +	    drivers can cache bitmaps in the server or device if they want
    +	    to.
    +
    +	- Removes fill_trapezoid and tile_trapezoid.
    +
    +	- Adds a new get_bits procedure for reading the bits back from the
    +	    driver buffer (when possible), replacing copy_scan_lines.
    +	    This procedure takes a new argument describing padding and
    +	    byte swapping, and returns a different value from
    +	    copy_scan_lines.
    +
    +	- Adds get_props and put_props procedures for accessing arbitrary
    +	    additional properties of devices.  The interface is quite
    +	    complex, but provides a great deal of flexibility.
    +
    +See drivers.doc for details.
    +
    +Changes gdev_mem_bytes_per_scan_line to gdev_prn_bytes_per_scan_line.
    +
    +Adds a user-contributed driver for DigiBoard, Inc.'s fax software.
    +
    +

    Fonts

    + +
    +Changes Type1BuildChar so it uses the information from the Metrics
    +dictionary in the font, if Metrics is present.
    +
    +Changes findfont (.loadfont) so it recognizes .PFB fonts and can load them
    +directly.  Also changes .loadfont to disable packing temporarily, because
    +some fonts rely on procedures being writable (!).
    +
    +

    Interpreter

    +Fixes bugs:
    +	- The hypot function is not available on some Unix systems.
    +	- Ghostscript didn't flush and close files when exiting.
    +	- In statusdict, the /margins procedure used .leftmargin, but
    +/setmargins used .lmargin.
    +	- An out-of-range putinterval would simply do nothing, rather than
    +reporting an error.
    +	- If an attempt to allocate a block larger than the allocator's
    +chunk size (20K) failed, the allocator would erroneously think it had
    +succeeded.
    +	- The bind operator made the top-level procedure read-only, as
    +well as interior procedures.
    +	- gs.c copied 1 extra character for the value of strings defined
    +on the command line with -s...=, which could smash the first byte of the
    +next object in memory.
    +	- copying a dictionary erroneously required the maxlength of the
    +destination to be greater than or equal to the maxlength of the source,
    +rather than the length of the source.
    +	- undef didn't correctly decide when to mark a deleted entry as
    +deleted vs. free; as a result, some keys couldn't be looked up properly
    +after an undef.
    +	- type1encrypt and type1decrypt didn't set the size of the result
    +properly.
    +	- cvi and cvr didn't allow leading or trailing whitespace in
    +strings.
    +	- cvs didn't cause an error if the destination string was too
    +short.
    +	- Many operators didn't check correctly for stack underflow (off
    +by 1).
    +	- `for' used reals, rather than integers, if the limit was a real,
    +even if the initial value and increment were integers.
    +	- `restore' didn't properly invalidate copies of the save object
    +being restored from; `save dup restore restore' would crash.
    +	- `restore' sometimes didn't undo stores into matrices that were
    +stored into by operators.  (The identity matrix always had l_new set.)
    +	- readline gave a rangecheck if the input line exactly filled the
    +string.
    +	- `--' as the last switch on the command line caused a crash
    +rather than an error message.
    +	- On MS-DOS systems, filenameforall didn't handle patterns with a
    +drive or directory specifier properly.
    +	- stroke sometimes called gz_draw_line_fixed even if the line went
    +outside the clipping box by 1 pixel.
    +
    +Changes the loop that binds procedure "operators" to entirely disable the
    +handling of the typecheck error, rather than to use stopped.  This cuts
    +initialization time significantly, and also eliminates about 35K of wasted
    +space (for saving the stacks).
    +
    +Changes the version "operator" so it returns 47.0.  Adds "revision" to
    +define the Ghostscript version # x 100.
    +
    +Adds gscurrentresolution and gssetresolution procedures for getting and
    +setting the device resolution.
    +
    +Adds -r<res> and -r<xres>x<yres> as command line options for setting
    +device resolution.
    +
    +Adds a facility for incrementally loading the individual CharStrings of a
    +Ghostscript font from the disk.  This can save a lot of memory, at the
    +expense of slower rendering.  (It is intended primarily for MS-DOS
    +systems.)
    +
    +Changes findlibfile to return the name of the file that was actually
    +opened, as well as the file itself, when the operation succeeds.
    +
    +Changes the name of the main entry to the interpreter from interpret to
    +gs_interpret, because of a conflict with a Data General library procedure.
    +
    +Adds the .setmetrics operator to set the metrics for the current
    +character for Type 1 fonts.
    +
    +Adds more LaserWriter-specific entries to statusdict.
    +
    +Gives names to all the internal `operators', so they will print out
    +reasonably when an error occurs.
    +
    +Extends the status operator to accept a string and return file
    +information, as defined for Level 2 PostScript.
    +
    +Adds the filter operator and some specific filters: ASCII85Encode,
    +ASCII85Decode, ASCIIHexEncode, ASCIIHexDecode, eexecDecode, NullEncode,
    +PFBDecode, and the null case of SubFileDecode.
    +
    +Extends the scanner to recognize the Level 2 << and >> tokens.
    +
    +Adds a facility for extracting the text strings from a PostScript file and
    +writing them out in a simple format (selected by -dASCIIOUT, implemented
    +by gs_2asc.ps).
    +
    +Implements all of the remaining Display PostScript facilities that are
    +also in Level 2 (i.e., everything in section A.1.3 of the PostScript
    +Language Reference Manual, Second Edition, that is not also in section
    +A.1.2).  The virtual memory operations are all stubs; the new halftone
    +options are not fully implemented.
    +
    +Changes makeimagedevice to use a string of gray or RGB values, rather than
    +an array of color objects, to specify the palette.  Removes
    +currentgscolor and setgscolor from the interpreter, but leaves t_color
    +objects in, since they may be useful later.
    +
    +Adds getdeviceprops and putdeviceprops for manipulating device properties.
    +Currently defined properties for all devices: InitialMatrix, HWResolution,
    +HWSize, Name.  Currently defined properties for printers: BufferSpace,
    +MaxBitmap, OutputFile.  OutputFile allows |command for piping on Unix
    +systems.
    +
    +Removes deviceparams and makedevice.  Adds devicedefaultmatrix.
    +
    +Implements reversepath.
    +
    +Makes copy work on devices.
    +
    +MS-DOS specific
    +- - - - - - - -
    +
    +Fixes bugs:
    +	- iutilasm.asm wouldn't assemble with newer versions of MASM if
    +CPU_TYPE was set to 286 or above.
    +	- CPU_TYPE=386 didn't properly substitute the faster
    +multiply/divide routines under Turbo C++ or Borland C++, only under the
    +original Turbo C.
    +
    +

    Library

    +Fixes bugs:
    +	- A curve whose first and last points were the same wouldn't get
    +drawn at all.
    +	- A bug in the Turbo C++ compiler generated bad code when shifting
    +a long right by 1 bit.
    +	- If stroking a dashed line ever encountered a segment that was
    +completely blank, Ghostscript would indirect through a null pointer.
    +	- arc and arcn gave an error if the radius was negative.
    +	- stroke always used the general algorithm, even if the line was
    +guaranteed to be thin.
    +	- arc and arcn erroneously reduced the angles mod 360.
    +	- Very large or negative 32-bit numbers in Type 1 fonts didn't
    +work properly on MS-DOS systems (the ff0000 bits got set to zero).
    +	- Color printer devices rendering entirely in memory only
    +allocated a monochrome-sized bitmap.
    +	- clip and eoclip didn't intersect the paths properly in the
    +general case.
    +	- charpath erroneously rounded the current point to an integral
    +value, causing characters to be spaced improperly.
    +	- The definition of max_color_param got some compilers confused.
    +	- charpath always used quadratic time and space, and dropped all
    +but the last character when used with a Type 3 font.
    +	- Stroking a path with a 180 degree angle would incorrectly miter
    +instead of beveling.
    +	- Type 1 fonts used the current flatness for curves, which could
    +produce bad (and inconsistent) results.
    +	- Stroking a degenerate line segment produced incorrect results.
    +
    +Changes the character cache to use the UniqueID as the key, when
    +available, instead of the font pointer.  This dramatically improves
    +performance when fonts are getting removed and reloaded because of page
    +isolation with save/restore.
    +
    +Removes some unnecessary casts to (float) from gsmatrix.c and gscoord.c.
    +
    +Changes the Type 1 interpreter so that it rounds line and curve endpoints
    +to the center of the nearest half-pixel, and omits null line segments.
    +This both speeds up rendering at small sizes and improves output quality.
    +
    +Changes gs_deviceparams to return resolution as well as extent; changes
    +gs_makedevice to accept resolution as well as extent.
    +
    +Replaces the algorithm for approximating circular arcs with curves with a
    +more accurate one.
    +
    +Changes gs_point and gs_rect to use doubles rather than floats.
    +
    +Adds gs_setmetrics, for overriding Type 1 font metrics for the current
    +character.
    +
    +Changes clipping to use lists of rectangles rather than path intersection.
    + This makes a big difference when clipping bitmaps (including characters).
    +
    +Changes the character cache to discard entries incrementally, rather than
    +clearing the entire cache when it fills up.
    +
    +Changes the implementation of transfer functions to use a cached map,
    +built when the transfer function is set.  This makes transfer functions
    +work properly in all situations, including images.
    +
    +Defines a .quit operator that takes an exit code, and redefines quit in
    +terms of it.
    +
    +Adds support for 16-bit-per-pixel devices in gdevmem.
    +
    +Adds gs_copydevice and gs_deviceinitialmatrix; removes gs_deviceparams and
    +gs_makedevice.
    +
    +Changes setscreen to ensure that the cell is always at least 4x4 pixels in
    +size.
    +
    +
    + +

    Version 2.3 (8/28/91)

    + +

    This is a minor release to fix two bugs and add the PaintJet driver, +which +didn't make it into 2.2. + +

    Utilities

    +Changes the pstoppm utility so it counts pages correctly even in the
    +presence of arbitrary saves and restores.
    +
    +

    Drivers

    +Adds a new, "supported" PaintJet driver.
    +
    +Changes the Epson driver to use ESC+D rather than ESC+\ for horizontal
    +positioning, since many printers don't support the latter.
    +
    +Adds horizontal double-density (two-pass) printing to the Epson driver, so
    +it can do 240 x 60 and 360 x 180 densities.  (Vertical double density is
    +not supported yet.)
    +
    +
    + +
    + +

    Version 2.2 (6/1/91)

    + +

    +The purpose of this release is to add save/restore, and a few +miscellaneous Level 2 P*stScr*pt features such as undef. It also includes +major improvements in graphics quality and in handling of high-resolution +printers. + +

    Procedures

    +Changes the version numbering to M.mpp rather than M.m.p, so that
    +`version' can be a real number for those programs that insist on it.
    +
    +Renames ghost.ps as gs_init.ps, gfonts.ps as gs_fonts.ps, and statusd.ps
    +as gs_statd.ps.  The initialization files now all are named gs_*.ps.
    +
    +Renames gdevs.{c,h,tl} as gconfig.{c,h,tl}.
    +
    +Changes the relevant makefiles and command files so that a single build
    +can contain several drivers that share code, e.g., the Epson driver and
    +the DeskJet driver.
    +
    +Changes gs_init.ps so it relies on an external gconfig.ps file rather than
    +making a specific test for the presence of Level 2 features.
    +
    +Adds an entry for uglyr.gsf to the makefile.
    +
    +Removes the distinction between CCA and CCNA, since most of the files now
    +contain constructs that require non-ANSI compilation on MS-DOS platforms.
    +
    +Adds a `man' page for the ansi2knr utility.
    +
    +Changes the documentation (use.doc) to show how to use -sDEVICE=<device>,
    +or the selectdevice procedure, to select devices by name.
    +
    +Adds DEVICE_DEVS to the makefiles (analogous to DEVICES and DEVICE_OBJS).
    +This finally makes the make procedure fully automatic.
    +
    +Adds the name of the initialization file (gs_init.ps) as a
    +platform-specific makefile parameter, GS_INIT.
    +
    +Removes the test program gt.{c,tr} from the fileset, since it is not
    +useful to users.
    +
    +Moves the Symbol encoding vector to a separate file (symbol_e.ps), from
    +which it is loaded when first used.
    +
    +Changes the error handler so it can handle errors that occur while reading
    +the initialization files.
    +
    +Extends ansi2knr so it can handle `void' and `...' in parameter lists.
    +
    +Adds quit.ps to the set of installed files.
    +
    +MS-DOS-specific changes
    +- - - - - - - - - - - -
    +
    +Adds the VGA and BGI drivers to the standard MS-DOS configuration, and
    +makes VGA the default.
    +
    +Adds a `+' and a newline at the end of gs.tr, to avoid problems with file
    +transfer programs or editors that add a newline at the end of files.
    +
    +Changes the name of msdos.mak to turboc.mak, and creates a new tbcplus.mak
    +makefile for use with Turbo C++ and Borland C++.
    +
    +Changes the extension of the loader response files from .tl to .tr.
    +
    +Changes the default search path from c:/ghost and c:/ghost/fonts to c:/gs
    +and c:/gs/fonts.
    +
    +Changes the directory separator from `|' back to ';', since it appears
    +that DOS can handle a ; in a command line if it is prefixed with \.
    +
    +Unix-specific changes
    +- - - - - - - - - - -
    +
    +Changes the uses of install in unixtail.mak so they only install a single
    +file at a time, which is all that the standard Unix install allows.
    +
    +Removes the duplicate files (README/readme, LICENSE/license,
    +COPYING/copying, Fontmap/fontmap).
    +
    +Changes the ld flags from LDPLAT to LDFLAGS.
    +
    +Adds XCFLAGS and XLDFLAGS.  These are concatenated with CFLAGS and LDFLAGS
    +respectively.  The intention is that they be set from the `make' command
    +line if desired.
    +
    +VMS-specific changes
    +- - - - - - - - - -
    +
    +Repairs the omission of ZPACKED from the VMS build lists.
    +
    +
    + +

    Drivers

    +Fixes bugs:
    +	- The SunView driver produced semi-garbage on little-endian
    +platforms (Sun-386i) because it didn't swap the bit order.
    +	- The X driver would dump core if it couldn't open the display and
    +the DISPLAY environment variable wasn't set.
    +	- The X driver relied on white = 0, black = ones in a couple of
    +places;
    +	- The X driver would return an error, instead of clipping, if
    +asked to display outside the window.
    +	- The X driver would create inappropriately sized windows, because
    +it believed the server's report of the screen resolution.
    +
    +Adds Fran Taylor's Private Eye driver to gdevs.mak and the fileset (not
    +supported by Aladdin Enterprises).
    +
    +Adds Neil Ostroff's TruFax driver to gdevs.mak and the fileset (not
    +supported by Aladdin Enterprises).
    +
    +Makes the scratch file template for the printer drivers a per-platform
    +quantity (gp_scratch_file_name_template).  Puts the default scratch files
    +for Unix in /usr/tmp rather than /tmp.
    +
    +Changes the SunView driver to prevent the Ghostscript window from being
    +destroyed (which badly confuses the interpreter).
    +
    +Extends the Epson driver to handle a variety of print densities in both X
    +and Y, to handle 24-pin as well as 8-pin graphics, and to allow optional
    +specification of default density in the makefile (gdevs.mak).
    +
    +Refactors the printer drivers so that a single driver handles both DeskJet
    +and LaserJet.  Adds LaserJet drivers that use the new compression modes on
    +the LJ IId/IIp and LJ III.
    +
    +Changes all the printer drivers to use band lists rather than bitmap
    +paging as the buffering method.  (The individual drivers need only a
    +one-line change to replace mem_copy_scan_lines with
    +gdev_prn_copy_scan_lines with a different argument.)
    +
    +Adds the halftone phase as additional arguments to tile_rectangle and
    +tile_trapezoid.
    +
    +Adds an entirely new and much simpler PaintJet driver, using the new band
    +list interface.
    +
    +Adds margin information to the device structure.  This is currently only
    +relevant for printer devices.
    +
    +Adds BGIPATH and BGIUSER environment variables, allowing additional
    +control of the BGI driver.
    +
    +Changes the x/y_pixels_per_inch member of the device structure from int to
    +float.
    +
    +
    + +

    Fonts

    + +
    +Patches gs_fonts.ps so definefont will add an isFixedPitch entry to
    +FontInfo if there isn't one there.
    +
    +Removes the old "type 7 path" encoding code from gs_fonts.ps.
    +
    +Changes bdftops so it puts isFixedWidth and ItalicAngle entries in the
    +FontInfo dictionary of the fonts it creates, since some P*stScr*pt
    +programs rely on this.
    +
    +Changes bdftops so it synthesizes as many missing characters as possible
    +out of the ones that are there (in particular: synthesizes accents out of
    +punctuation marks, and accented characters using seac.)  The results
    +aren't all that good, but they're a lot better than having characters
    +missing out of the font.
    +
    +

    Utilities

    +Adds a pfbtops utility for converting .PFB fonts to standard Ghostscript
    +fonts.
    +
    +Fixes bugs:
    +	- ps2image didn't reset things properly between pages for
    +multi-page documents.
    +
    +

    Interpreter

    +Makes Ghostscript recognize `-' alone as meaning that it should read from
    +standard input as though it were a file.  This allows Ghostscript to
    +accept a pipe as input.
    +
    +Fixes bugs:
    +	- seac in type1addpath used the current font's encoding, not
    +StandardEncoding.
    +	- type1decryptfile (eexec) didn't recognize binary (as opposed to
    +hex) representation.
    +	- Mentioning a name whose value was a no-access object caused an
    +invalidaccess error.
    +	- There was a bogus definition of `run' in zfile.c.
    +	- The interpreter didn't handle end-of-file on stdin properly.
    +	- Real numbers with an 'e' or 'E' but no decimal point were not
    +recognized.
    +	- On MS-DOS systems, inside strings, \ followed by a newline was
    +not discarded properly.
    +	- On MS-DOS systems, the long unsigned divide routine sometimes
    +gave incorrect answers.  Among other things, this caused alternate-radix
    +numbers sometimes to crash the interpreter.
    +	- cvrs didn't do the right thing about reals or negative integers.
    +	- .echo.mode was being reset with def instead of store, and was
    +defined in systemdict rather than userdict.
    +	- setgray and settransfer didn't interact properly.
    +	- 16#80000000 was being interpreted as a signed integer (and
    +converted to a real) rather than an unsigned one.
    +	- atan returned 0 sometimes when it should have returned 180.
    +	- currentcmykcolor was defined wrong.
    +
    +Removes the filename operator, since no standard Ghostscript code used it,
    +and it caused problems with some P*stScr*pt files.
    +
    +Implements new operators: filenameforall, selectfont (as a procedure),
    +stringmatch, undef.
    +
    +Adds new standard procedures: selectdevice.
    +
    +For MS-DOS, requires that the operand and execution stacks be located in
    +the data segment, and uses short pointers to address them.  This produces
    +significantly smaller and faster code.  (These changes are not visible to
    +users or library clients.)
    +
    +Changes the assignment of attribute bits, and adds new bits for
    +save/restore and the garbage collector.  Changes many of the macros in
    +store.h to support save/restore.  (These changes are not visible to users
    +or library clients.)  Implements save and restore.
    +
    +Moves type names from gs_init.ps to ghost.h and ztype.c.
    +
    +Moves error names from gs_init.ps to errors.h and iinit.c.
    +
    +Introduces gp.h as a documented interface to the platform-specific files.
    +
    +Adds the -- switch, which allows Ghostscript programs to take arguments
    +from the command line.
    +
    +Changes many uses of the name `name' to something else, to avoid upsetting
    +the Microsoft C compiler.
    +
    +Really implements packed arrays -- they took the same amount of space as
    +ordinary arrays in previous versions.
    +
    +Changes exitserver in serverdict so that it just clears the stacks.  (This
    +isn't the correct fix, but it will do as a workaround.)
    +
    +Makes many miscellaneous small changes to pacify various compilers.
    +
    +Changes gs_fonts.ps so that when "quiet" mode is selected (-q switch),
    +Ghostscript doesn't print anything when loading fonts or when substituting
    +for undefined characters.
    +
    +Defines the name consisting of just a control-D as a no-op, because some
    +P*stScr*pt-generating applications put control-Ds in their output.
    +
    +Implements halftone phase (sethalftonephase and currenthalftonephase
    +operators).
    +
    +Removes the -E switch, since it is no longer useful.
    +
    +Changes the -w and -h switches to a single -g (geometry) switch, with
    +usage -g<width>x<height>.  Makes the -h switch, and a new -? switch, print
    +usage help.
    +
    +Implements correct handling of stack overflow errors (makes an array out
    +of the contents of the overflowing stack, and resets the stack, before
    +invoking the error handler).
    +
    +Adds t_oparray (`operators' defined as procedures) and the makeoperator
    +operator.  This is so that programs like the Distillery that rely on all
    +operators being bound by `bind' will work properly.
    +
    +Adds a new NOPAUSE flag to suppress the prompt and pause at copypage and
    +showpage.
    +
    +

    Library

    +Fixes bugs:
    +	- gs_type1_interpret didn't store the encryption state or the skip
    +count before returning to let the client handle a seac or an endchar in
    +the middle of a seac.
    +	- The definition of the Type 1 operator ce_testadd was based on
    +wrong information; the operator takes only 2 operands and does something
    +unknown.
    +	- mem_true24_copy_mono wasn't incrementing the destination pointer
    +if the color was transparent, leading to garbled characters.
    +	- gx_lookup_fm_pair would sometimes look at one entry beyond the
    +end of the cached font/matrix pair area.  (This probably had no practical
    +effect.)
    +	- gs_type1_interpret didn't save the current point when returning
    +to the client for a callothersubr, causing some characters to be rendered
    +displaced (such as some of the chess pieces in chess.ps).
    +	- gs_setgray, gs_sethsbcolor, gs_setrgbcolor, gs_setflat, and
    +gs_setlinewidth gave errors for out-of-range operands rather than forcing
    +them into range.
    +	- Transfer functions were not actually supported.
    +	- The area fill algorithm failed on certain complex paths.
    +	- The current point was sometimes defined when a BuildChar
    +procedure was called.
    +	- Stroking a degenerate line didn't display anything for round
    +caps or joins.
    +	- If the ends of a curve had exactly the same X coordinate, the
    +curve sometimes wouldn't be displayed.
    +	- Very thin lines that went outside the clipping region would
    +sometimes be displayed as dashed, or not at all.
    +	- The translation in a FontMatrix was ignored.
    +	- Very wide, shallow lines would color extraneous pixels when
    +using bevel or miter joins.
    +	- Dashed lines didn't join properly at the beginning of a closed
    +path.
    +	- 0-degree arcs didn't add the appropriate line (possibly
    +degenerate) to the path.
    +	- gs_type1_interpret didn't reset the callsubr stack when starting
    +the base character of a seac, which caused confusion if the accent's
    +endchar fell inside a Subr.
    +	- Non-monochrome memory memory devices weren't checking the
    +arguments of the drawing procedures properly.
    +	- The initial clipping rectangle for memory devices was being
    +computed wrong.
    +	- Null devices had a semi-infinite clipping rectangle instead of
    +an empty one.
    +	- gs_setlinewidth was treating negative arguments as zero, instead
    +of taking the absolute value.
    +	- imagemask with a dithered color used a solid color rather than
    +the dithered one.
    +
    +Tweaks the area fill and image rendering algorithms to be a little more
    +liberal with paint when being used to render characters.
    +
    +Changes the name of the 8-bit mapped color memory device from
    +mem_mapped_color_device to mem_mapped8_color_device.
    +
    +Changes the memory devices so that on little-endian platforms, they can
    +store the bytes within a word in either order.  (Little-endian order
    +allows efficient 32-bit updating, big-endian is required when displaying
    +or writing to a printer or a file.)
    +
    +Implements halftone phase.
    +
    +Replaces the trapezoid fill algorithm with a much more accurate one
    +inspired by a contribution from Paul Haeberli.  This also changes the
    +graphics convention back to filling only pixels whose center falls within
    +the region to be filled.
    +
    +Changes the character cache to allocate headers and bits contiguously out
    +of a single ring buffer.
    +
    +Changes gs_imagemask and gs_imagemask_init to take a thickness adjustment
    +parameter.
    +
    +Changes gs_setcachedevice and gs_setcharwidth to take the graphics state
    +as a parameter.
    +
    +Renames gx_device_memory_bitmap_size as gdev_mem_bitmap_size,
    +mem_copy_scan_lines as gdev_mem_copy_scan_lines, and
    +mem_bytes_per_scan_line as gdev_mem_bytes_per_scan_line.
    +
    +
    + +
    + +

    Version 2.1.1 (1/15/91)

    + +

    This is a sub-release distributed to fix a few early bugs in 2.1, +just in +time for the new GNU master tape. + +

    Build procedures

    +Removes all of the (undebugged) Level 2 code from the fileset, as well as
    +the (unused) file gdevvga.c.
    +
    +Changes the tar file so that the files are stored in the directory
    +gs<version> rather than simply gs, e.g., gs211.
    +
    +

    Interpreter

    +Changes the scanner so that \ is recognized within strings regardless of
    +whether the scanner is reading from a string or from a file.  This is
    +compatible with newer P*stScr*pt interpreters, and with the newer
    +P*stSc*pt language specification, but not with the older specification in
    +the original PostScript Language Reference Manual.
    +
    +

    Drivers

    +Fixes the max_value macro in gdevmem.c so that compilers won't complain
    +about a left shift by 32.
    +
    +Adds 'byte' to the list of types that gdevx.c must sidestep because header
    +files use them.
    +
    +

    Library

    +Changes the computation of penum->unpack in gsimage.c so as not to upset
    +compilers that don't treat procedures and pointers to procedures as
    +compatible types for conditional expressions.
    +
    +
    +

    Version 2.1 (12/31/90)

    + +

    This is primarily a bug fix release to clean up problems in 2.0. It +also implements a first cut at the new color operators. + +

    Build procedures

    +Changes the separator for multiple directories in MS-DOS from ';' to '|',
    +since there is no way to include a ';' in a command line.
    +
    +Adds <dir>/fonts to the default search path, where <dir> is c:/ghost for
    +MS-DOS systems and `pwd` for Unix systems.
    +
    +Adds new documentation describing how to direct output to the printer.
    +
    +Changes the PROCTYPE and USE8087 options in MSDOS.MAK to CPU_TYPE and
    +FPU_TYPE.  The latter now indicates the type of FPU to generate code for,
    +if any.
    +
    +
    + +

    Drivers

    + +
    +Adds a driver for the Canon BubbleJet BJ10e.
    +
    +Modifies the EGA driver to handle (non-standard) frame buffers larger than
    +64K.  Adds drivers for the VGA and for the EIZO MDB-10 (a 1024 x 768 frame
    +buffer).
    +
    +Changes the X driver so that it clips to the window dimensions, rather
    +than reporting an error.
    +
    +Notes that the H-P LaserJet driver, like the DeskJet driver, works under
    +Unix as well as MS-DOS.
    +
    +Adds support for 120 X DPI mode, and for the LQ-1500, to the Epson driver.
    +
    +

    Fonts

    +Fixes bugs in bdftops:
    +	- It was using /UniqueId instead of /UniqueID as the key for the
    +font unique ID.  This effectively disabled the font cache.
    +	- The definition for .notdef was bogus -- an invalid CharString.
    +
    +Changes ghost.ps and gfonts.ps so that NullFont is the initial font,
    +rather than Ugly.
    +
    +Arranges things so that when attempting a font substitution, if the
    +default font is not found, NullFont is used instead.
    +
    +Extends bdftops so that if certain easily synthesized characters are
    +missing from a font, it will attempt to synthesize them using available
    +characters.
    +
    +

    Interpreter

    +Extends the -T switch to allow specifying a printf template for the
    +arguments of the procedure being traced.
    +
    +Fixes bugs:
    +	- /0 was interpreted as equivalent to 0 (a number) rather than a
    +literal name.
    +	- packedarray was defined as being like array, instead of like
    +array followed by astore.
    +	- Many minor and harmless type mismatches (and a couple of very
    +minor genuine bugs) were upsetting the Apollo C compiler.
    +	- exp was incorrectly failing in certain cases with a negative
    +first argument.
    +	- copyscanlines incorrectly required at least 4 elements on the
    +operand stack, although it correctly only used the top 3.
    +	- readhexstring incorrectly read 1 byte even if the string length
    +was zero.
    +	- Not every place that expected an array would accept a packed
    +array.
    +	- Very complex paths (and infrequently other things) could produce
    +a 'memory leak'.
    +	- / alone would skip following whitespace and gather following
    +characters, rather than creating an empty name.
    +	- ghost.ps left newerror defined as true in $error, which resulted
    +in an erroneous error report if a program executed a 'stop'.
    +	- The definition of exitserver in serverdict didn't clear the
    +stack.
    +	- currentfile returned an executable file, rather than a literal
    +one.
    +	- setfont for Type 1 fonts didn't check the UniqueID in the font
    +dictionary against the one in the font's Private dictionary.
    +	- A value stored in a dictionary under the key /xxx couldn't be
    +retrieved using the key (xxx), and vice versa.
    +	- charpath with a Type 1 font on a string containing a 'space'
    +would produce garbage (it released the parent path inappropriately).
    +	- bytesavailable did not work properly for terminal input.
    +
    +Changes the interface to the memory allocator so that it always takes an
    +element size and an element count, like calloc instead of malloc (but note
    +that alloc does *not* clear just-allocated blocks).  Gets rid of the
    +special 'dynamic' allocation procedures.
    +
    +Changes the random number operators to use a better implementation.
    +
    +Changes the idiv operator so it will accept any numbers, not just
    +integers, as arguments.  (The PostScript manual doesn't allow this, but
    +implementations apparently do.)
    +
    +Provides semi-fake but usable definitions for all of the color PostScript
    +extensions, including a real implementation of colorimage.
    +
    +No longer uses the name 'null', which is apparently reserved by Microsoft
    +C.  Makes a number of other minor changes required to pacify the Microsoft
    +C compiler.
    +
    +Implements %statementedit and %lineedit.  (%statementedit is equivalent to
    +%lineedit, which is wrong.)  Changes the interactive interpreter to use
    +%statementedit.
    +
    +Changes the scanner to accept null, ctrl-K (vertical tab), and ctrl-L
    +(form feed) as whitespace.  Ctrl-L terminates a comment, null and ctrl-K
    +do not.
    +
    +Allows a literal string as the 'proc' argument(s) for image, imagemask,
    +and colorimage.
    +
    +Adds the following operators/procedures: arct, cleardictstack, deletefile,
    +renamefile.
    +
    +Defines =print as a synonym for =, for the benefit of LaserPrep.
    +
    +Implements non-zero PaintType for the show operators (but not for
    +charpath) for Type 1 fonts.
    +
    +Adds the ISOLatin1Encoding encoding vector.
    +
    +Renames currentcolor and setcolor as currentgscolor and setgscolor, to
    +avoid conflict with the Level 2 PostScript names.  Removes colorhsb,
    +colorrgb, hsbcolor, and rgbcolor.
    +
    +

    Library

    +Fixes bugs:
    +	- In a couple of places, a 0 was being passed as a pointer
    +argument without casting, which confused the Microsoft C compiler.
    +	- Image devices were not recognized properly in debugging
    +configurations.
    +	- Inverted-color monochrome image devices were not recognized
    +properly.
    +	- Images that exactly fill the drawing area rendered very slowly,
    +because they erroneously used the general clipping algorithm.
    +	- Images that are 1-for-1 with the device were incorrectly scaled
    +by a factor of 8 in X.
    +	- Rounding artifacts sometimes caused characters to be unevenly
    +offset vertically by 1 pixel.
    +	- Type 1 fonts that used the Flex feature resulted in garbled
    +images.
    +	- The show operator routines would incorrectly fill or stroke a
    +path that existed at the time the show was started.
    +	- setscreen truncated the cell size instead of rounding, which
    +could produce off-by-1 anomalies.
    +	- stroke would sometimes produce garbage (or nothing at all) for
    +very narrow lines.
    +	- path filling would only color the pixels whose centers fell
    +inside the path: the Adobe specification requires coloring a pixel if any
    +part of it falls inside the path.
    +
    +Changes the Epson printer driver so that it drives the printer directly
    +rather than writing to a file.
    +
    +Changes pathbbox so that if the path is empty but there is a current
    +point, it returns a null rectangle at the current point.
    +
    +Changes gs_image_init to take an additional parameter (after bps) giving
    +the number of samples per pixel (1, 3, or 4), and an indication of whether
    +the samples for each pixel are together or separated (-3 or -4).
    +
    +Renames the gs_image_data and gs_imagemask_data procedures as gs_image and
    +gs_imagemask, and removes the old versions of the latter.
    +
    +Adds gs_colorimage.
    +
    +Replaces Snoopy's color dithering algorithm with one contributed by Paul
    +Haeberli.
    +
    +Changes gs_setgray, gs_[set]hsbcolor, and gs_[set]rgbcolor so that they
    +coerce arguments outside the range [0..1] back into the range, instead of
    +signalling an error.
    +
    +Makes a number of minor changes required to pacify the Microsoft C
    +compiler.
    +
    +Changes gs_arcto so that if the last argument is a null pointer, the
    +tangent points are not returned.
    +
    +Removes gs_type1addpath, which is not useful.  (Clients must call
    +gs_type1_init and gs_type1_interpret directly.)
    +
    +Implements the 'seac' opcode for Type 1 fonts, allowing fonts with accented
    +characters to display properly.
    +
    +Implements the undocumented 'testadd' opcode for Type 1 fonts, which is
    +used by some Adobe fonts.
    +
    +Renames gs_currentcolor and gs_setcolor as gs_currentgscolor and
    +gs_setgscolor.  Removes gs_colorhsb, gs_colorrgb, gs_hsbcolor, and
    +gs_rgbcolor.
    +
    +
    + +
    + +

    Version 2.0 (9/12/90)

    + +

    The main purpose of this release is to add fonts, support for +multiple +devices, and imaging into memory. It also fixes a number of miscellaneous +bugs. (Unfortunately, accurate records of the bugs fixed are not +available.) The changes were so extensive that we chose to increment the +major version number. + +

    Miscellaneous

    +Doesn't attempt to open the .MAP file on Unix systems.
    +
    +Adds mention of statusd.ps to interp.doc.
    +
    +Notes that Turbo C 2.0, not 1.5, is required for building the MS-DOS
    +version.
    +
    +Adds a DEVICES= line to the makefile, and allows multiple devices.
    +
    +Documents, in interp.doc, the X Windows resources that Ghostscript
    +recognizes.
    +
    +Adds three PostScript masters to the fileset: chess.ps (+ cheq.ps),
    +golfer.ps, and escher.ps.
    +
    +

    Drivers

    +Changes the names of all the device drivers.  See gdevs.mak for the
    +updated list.
    +
    +Adds a (working) driver for SunView.
    +
    +Adds drivers for the Sony NeWS frame buffer, and the Sony Microsystems
    +NWP533 printers.  These drivers were contributed by users, so we aren't
    +prepared to answer questions about them.
    +
    +Adds a driver for the Borland Graphics Interface (BGI) for MS-DOS systems.
    +Note that to use this driver with a non-EGA/VGA display, you need a .BGI
    +file appropriate for your hardware.  (The Ghostscript executable includes
    +the EGA/VGA driver.)
    +
    +Adds a driver for Epson printers.  The driver has only been tested on an
    +LX-800, and on an H-P DeskJet in FX-80 emulation mode, but may work on
    +other models.  The driver could be adapted to work on Unix systems, but as
    +distributed, it only works on MS-DOS systems.
    +
    +Adds a driver for the Hewlett-Packard DeskJet printer.  The driver could
    +be adapted to work on Unix systems, but as distributed, it only works on
    +MS-DOS systems.
    +
    +The X Windows driver no longer waits for the user to type a character
    +before bringing up the initial display.
    +
    +Adds information to drivers.doc describing how to change the definition of
    +the device structure and procedure table.
    +
    +Extends the tile_rectangle and tile_trapezoid driver procedures to
    +interpret color0 = color1 = gx_no_color_index as meaning that the tile is
    +actually colored, not a mask.
    +
    +

    Build procedures

    +Changes the tar file so it puts everything in a directory called gs.
    +
    +Removes the -ansi switch for gcc (this was causing problems with <math.h>
    +on some systems).
    +
    +Changes LDPLAT to the string -X, which is appropriate for most Unix
    +systems (but not for SunOS 4.n).
    +
    +Adds EXTRALIBS to the makefile, for specifying additional libraries to be
    +linked in.
    +
    +Adds a 'clean' target for 'make', to get rid of all temporary files, the
    +binaries, and the executable.
    +
    +Changes names of system-specific files from gp-xxx.c to gp_xxx.c.
    +
    +Adds support for VMS (gp_vms.c and ghost.dcl).
    +
    +Creates a new file gdevs.mak, and reorganizes the other makefiles, so that
    +the choice of which device driver(s) to include is isolated in a single
    +line in the platform-specific makefile.
    +
    +Changes the standard MS-DOS makefile so it builds for 8088/86 (not 80386),
    +with neither -DNOPRIVATE nor -DDEBUG.
    +
    +Changes the name of the MS-DOS makefile from dos-ega.mak to msdos.mak, and
    +the Unix makefiles from ux-[g]cc-x.mak to unix-[g]cc.mak.
    +
    +Updates drivers.doc to describe how to add new drivers in gdevs.mak.
    +
    +Removes gdevs.ps: the drivers are now responsible for specifying the size
    +of the imaging region.
    +
    +

    Interpreter

    +Adds a makefile macro GS_LIB_DEFAULT and an environment variable GS_LIB to
    +define a search path for the library (initialization and font) files, and
    +implements the -I switch for the same purpose (replacing -sLIB=, which was
    +never actually implemented).  See interp.doc for details.
    +
    +No longer clears the operand stack between interactive inputs.  No longer
    +prints the contents of the operand stack after every input in debug mode.
    +
    +Doesn't "eat" the character that the user types to proceed after a
    +showpage, unless it's an isolated <return>.
    +
    +Changes the prompt so that it says
    +	GS>
    +if the operand stack is empty, or
    +	GS<n>
    +if there are n > 0 elements on the operand stack.
    +
    +Adds -w and -h switches to the command line, equivalent to -dWIDTH= and
    +-dHEIGHT= except that they require numeric arguments.
    +
    +Adds -q (quiet startup) switch to the command line, which suppresses some
    +initial messages and also has an effect equivalent to -dQUIET.
    +
    +Fixes bugs:
    +	- = and == caused an error on some kinds of objects if the object
    +didn't have read access.
    +	- cvs didn't print operator names.
    +	- The definition of dynamic_begin in iscan.c caused the DEC VMS C
    +compiler to produce incorrect code.
    +	- mul didn't return a correct (real) result when multiplying a
    +very large integer by an integer that wasn't very large.
    +	- eq and ne didn't work on files, fonts, save objects, and some
    +operators.
    +	- The scanner would sometimes blow up on floating point numbers
    +beginning with a '.'.
    +	- flushfile didn't pop its argument from the stack.
    +	- put and putinterval would store into a packed array.
    +	- a few operators didn't check properly for stack underflow.
    +	- cvrs produced wrong output for radix values greater than 10.
    +	- The scanner would convert upper-case letters in alternate-radix
    +numbers wrong on Unix systems.
    +	- String comparisons other than equality often produced the wrong
    +result if the strings were of different lengths.
    +	- An ifelse as the last thing inside a forall would confuse the
    +execution stack.
    +	- There were some omitted casts and 'private' declarations that
    +made the GNU compiler unhappy.
    +	- There was a memory leak in the image[mask] operators that caused
    +516 bytes to be permanently lost each time one of them was used.
    +	- Quoted strings of length greater than 50 and less than 100 would
    +get mangled when being read in.
    +	- The scanner didn't consume the whitespace character following a
    +token, so programs that read data out of the program file could get
    +confused.
    +	- Under rare circumstances, an object of size between 249 and 255
    +bytes could get allocated on top of another object.
    +
    +Allows bind to bind packed arrays, even though they aren't normally
    +writable.
    +
    +Changes the length operator to allow a name as the argument.  (The
    +PostScript manual doesn't allow this, but implementations apparently do.)
    +
    +Changes the setcachedevice operator to allow the bounding box to be
    +specified as a 4-element array instead of 4 scalars.  (The PostScript
    +manual doesn't allow this, but implementations apparently do.)
    +
    +Removes a line from ghost.ps that accidentally disabled the font cache.
    +
    +Implements memory devices (makeimagedevice, copyscanlines, and makedevice
    +for image devices).  makeimagedevice is implemented only for 1, 8, 24, and
    +32 bits per pixel.
    +
    +Changes the deviceparams operator so it pushes a mark on the stack below
    +the parameters.  This is to allow for devices that have more than the
    +standard set of parameters.
    +
    +Replaces defaultdevicename with two new operators, getdevice and
    +devicename.
    +
    +Adds a flushpage operator that flushes any outstanding buffered output to
    +the screen.  This is not the same as copypage: on printers, copypage
    +actually prints a page, whereas flushpage may do nothing; on displays,
    +flushpage and copypage may both flush output to a server.
    +
    +Adds an unread operator for pushing back a character into a file.
    +
    +Adds a description of proposed grayimage and colorimage operators to
    +ghost.doc, even though they aren't implemented yet.
    +
    +Changes the name of the currentfileposition operator to fileposition.
    +
    +Removes the framedevice operator, since the new device operators supersede
    +it.
    +
    +Adds a writeppmfile operator, for writing the contents of a memory device
    +to a ppm file.
    +
    +Makes Ghostscript work even when the >> operator doesn't sign-extend
    +negative numbers.  (This has not been tested.)
    +
    +Adds the Symbol encoding to ghost.ps.
    +
    +Adds two new file-related operators, filename and findlibfile.  See
    +ghost.doc and interp.doc for details.
    +
    +Adds type1encrypt and type1decrypt operators for manipulating Adobe Type 1
    +encoded fonts.
    +
    +Changes the imagecharpath and addcharpath operators to type1imagepath and
    +type1addpath.  These operators now work with the Adobe Type 1 font
    +encoding.
    +
    +Adds the type1decryptfile operator for reading Adobe Type 1 encrypted
    +fonts.
    +
    +

    Library

    +Fixes bugs:
    +	- curveto and lineto didn't check for the current point being
    +defined.
    +	- stringwidth would fail if there was no current point.
    +	- There were omitted casts that made the GNU compiler unhappy.
    +	- Line caps and joins didn't always work.
    +	- Dashed lines didn't work at all.
    +	- If you read out the current matrix while inside a BuildChar
    +procedure, the result was garbage.
    +	- image[mask] would crash if you gave it a single string with more
    +than 64K-1 pixels (MS-DOS only).
    +	- Filling with a gray pattern sometimes wrote into pixels beyond
    +the right edge of the region (MS-DOS only).
    +	- The font cache would mistake fonts for each other if both fonts
    +had a default (unsupplied) "unique ID".
    +	- When a character was entered into the font cache for the first
    +time, sometimes it would display as garbage and/or displaced vertically
    +from its proper position.
    +
    +Implements gs_makeimagedevice, gs_copyscanlines, gs_getdevice,
    +gs_devicename, gs_flushpage, gs_writeppmfile, gs_type1encrypt,
    +gs_type1decrypt, gs_type1imagepath, and gs_type1addpath procedures
    +corresponding to the new operators in the interpreter (see preceding
    +section).
    +
    +Changes [gs_]setdevice so that it does an erasepage when it first opens
    +the device.
    +
    +Changes definition of gx_device structure as follows.  NOTE: THIS AFFECTS
    +ALL DRIVERS.
    +
    +	- Removes bits_from_MSB (which wasn't actually used, in any case).
    +	    Ghostscript now assumes officially, as it always did in
    +	    practice, that device bitmaps are stored MSB first, i.e., X=0
    +	    corresponds to the 0x80 bit in the first byte.
    +
    +	- Removes the initial_matrix member, which wasn't actually being
    +	    set up.
    +
    +	- Adds a new member 'name', a string giving the device name.
    +
    +	- Adds new members 'x_pixels_per_inch' and 'y_pixels_per_inch'.
    +	    These are only used by the default initial_matrix procedure
    +	    (see below).
    +
    +	- Adds a new procedure 'output_page'.  The default implementation
    +	    (gx_default_output_page) just calls the sync_output procedure.
    +
    +	- Adds a new procedure 'get_initial_matrix'.  The default
    +	    procedure uses the width, height, and x/y_pixels_per_inch
    +	    members to compute the matrix, assuming that X values run from
    +	    right to left, and Y values run from top to bottom.
    +
    +Changes the names of the allocation procedure types gs_proc_alloc and
    +gs_proc_free to proc_alloc_t and proc_free_t, and moves them from gs.h to
    +std.h.
    +
    +Makes Ghostscript work even when the >> operator doesn't sign-extend
    +negative numbers.  (This has not been tested.)
    +
    +
    + + +
    + +

    +Copyright © 1996, 1997, 1998 Aladdin Enterprises. +All rights reserved. + +

    +This software is provided AS-IS with no warranty, either express or +implied. + +This software is distributed under license and may not be copied, +modified or distributed except as expressly authorized under the terms +of the license contained in the file LICENSE in this distribution. + +

    +Ghostscript version 7.07, 17 May 2003 + + + + + diff --git a/Master/xemtex/doc/ghostscript/History3.htm b/Master/xemtex/doc/ghostscript/History3.htm new file mode 100644 index 00000000000..88fdbb934a1 --- /dev/null +++ b/Master/xemtex/doc/ghostscript/History3.htm @@ -0,0 +1,8597 @@ + + + +History of Ghostscript versions 3.n + + + + + + + + + + + +

    History of Ghostscript versions 3.n

    + + + + + +

    Table of contents

    + +
    + + + + + +

    +This document is a history of Ghostscript releases numbered 3.n. For more +recent changes, see the the other history documents and, for the latest +versions, the news: + +

    +News
    +History of Ghostscript versions 4.n
    +History of Ghostscript versions 3.n (this document)
    +History of Ghostscript versions 2.n
    +History of Ghostscript versions 1.n +
    + +

    For other information, see the Ghostscript +overview. + + + +


    + + + +

    Version 3.70 patch 1 (6/24/96)

    + +

    +This contains a few last-minute patches before the release. + +

    Procedures

    +Comments out the color inkjet drivers in the cc-based makefile, because a
    +bug in Sun's cc prevents them from compiling.  (cc-head.mak)
    +
    +

    Drivers

    +Fixes bugs:
    +	- The os2prn driver smashed memory.  (gdevos2p.c)
    +	- Some initialized structures weren't declared 'static'.
    +(gdevpdf.c, gdevpdfm.c)
    +	- The PNG driver wouldn't compile with some older versions of the
    +PNG library.  (gdevpng.c)
    +
    +
    + +

    Version 3.70 (limited) (6/23/96)

    + +

    +This is the candidate fileset for 4.0. Aside from one optimization +for the PDF writer, the only changes are bug fixes. + +

    Documentation

    +
    +Renames all the documentation files from *.doc to *.txt, since the .doc
    +extension didn't give any information about the format of the file.
    +(readme, *.doc, *.txt)
    +
    +Notes that IJG JPEG library v6[a] is now required.  (jpeg.mak)
    +
    +Brings ps2pdf.1 up to date.  (ps2pdf.1)
    +
    +Adds a new file describing Aladdin's C coding practices.  (c-style.txt)
    +
    +Updates the man pages to refer to version 4.0.  (gs.1, pdf2ps.1, ps2ascii.1,
    +ps2pdf.1)
    +
    +

    Procedures

    +
    +Changes some file names to fit within the MS-DOS 8.3 limit.  (gs.mak)
    +
    +Adds the PDF writer to the remaining 32-bit configurations (Watcom, OS/2,
    +MSC).  (watc.mak, watcwin.mak, os2.mak, msc.mak, msvcwint.mak)
    +
    +Changes the -sFONTMAP= switch so it can take a list of font names, like a
    +search path.  (use.txt)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- Signed and unsigned values were mixed inconsistently.  (gdevcdj.c)
    +	- PDF files could contain e-format floating point numbers, which the
    +PDF specification doesn't allow.  (gdevpdfx.h, gdevpdf*.c)
    +	- The PDF writer didn't handle glyphshow properly.  (gs_pdfwr.ps)
    +	- The PDF writer did the wrong thing with fonts whose FontMatrix had
    +a non-zero translation component.  (gs_pdfwr.ps, gdevpdft.c)
    +	- The stand-alone bounding box device could crash when setting
    +parameters.  (gdevbbox.c)
    +	- The mswinpr2 driver smashed memory.  (gdevwpr2.c)
    +
    +Changes the PDF writer so that if it encounters a re-encoded character, it
    +tries to map it to an encoded character in the standard (ISO Latin-1)
    +encoding rather than converting the entire string containing it to a bitmap.
    +This dramatically improves output file size for files with a few divergently
    +encoded characters, but it may cause the text in the PDF file to differ from
    +the text in the PostScript input.  (gdevpdft.c)
    +
    +Disallows BitsPerPixel=16 in the MS Windows and OS/2 drivers, since this bit
    +depth is not supported by Windows and would require special extra buffering.
    +(install.txt, dwtext.h, dwtext.cpp, gdevmswn.c, gdevpm.c, gdevwpr2.c)
    +
    +

    Platforms

    +
    +Fixes bugs:
    +	- On the PC platforms, file names weren't changed to reflect the
    +value of CONFIG.  (gs.mak, bc*.mak, ms*.mak, os2.mak, tc*.mak, watc*.mak,
    +wccommon.mak)
    +
    +Modifies some makefiles for greater reusability.  (bclib.mak, watclib.mak)
    +
    +

    Fonts

    +
    +Changes the font searching rules in the following NON-BACKWARD-COMPATIBLE
    +way: (gs_fonts.ps, gs_res.ps)
    +	- -sFONTMAP=files specifies a list of files containing fontmaps;
    +previously, it specified only a single fontmap file.
    +	- If -sFONTMAP= is not used, the interpreter reads the Fontmaps from
    +*all* directories on the search path, and does so even if FONTPATH or
    +GS_FONTPATH is set; previously, it read only the first Fontmap, and only if
    +[GS_]FONTPATH was not set.
    +	- Fontmap(s) take precedence over [GS_]FONTPATH; previously,
    +[GS_]FONTPATH caused Fontmap to be ignored.  (You can still force Fontmap to
    +be ignored with -dNOFONTMAP.)
    +	- Earlier [GS_]FONTPATH entries take precedence over later;
    +previously, later entries took precedence over earlier.  Note that this is
    +different from Fontmap: earlier Fontmaps in the search path take precedence
    +over later, but within a single Fontmap, later entries take precedence over
    +earlier (for backward compatibility).
    +	- [GS_]FONTPATH is consulted only if there is no Fontmap entry for a
    +font, or no Fontmap entry leads to successful loading; previously,
    +[GS_]FONTPATH was always consulted at startup.
    +	- If loading a font fails, the interpreter tries the next Fontmap
    +entry; previously, it fell back to font substitution.
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- Filters didn't peek ahead for an EOD (see Streams below).
    +(zfileio.c, zpaint.c)
    +
    +Splits up a file to allow internal access to user and system parameters even
    +in Level 1.  (zmisc2.c, zusparam.c)
    +
    +Adds LIBPATH as a predefined name in systemdict.  Its value is an array of
    +strings comprising the library search path.  (imain.c)
    +
    +

    Interpreter (PDF)

    +
    +Fixes bugs:
    +	- A Dests dictionary entry with an array (rather than a dictionary)
    +value caused an error.  (pdf_main.ps)
    +	- Rotated pages could have incorrect translation and/or clipping.
    +(pdf_main.ps)
    +
    +

    Streams

    +
    +Fixes bugs:
    +	- If a buffer boundary fell just before an EOD, and the client read
    +exactly as much data as was present before the EOD, filters didn't consume
    +the EOD.  (This is required as a tricky consequence of the Adobe
    +specification.)  (stream.h, strimpl.h, stream.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- An extra column of bits could get turned on at the right edge of
    +masked or monochrome images.  (gximage2.c)
    +	- Rasterizing very long curves could cause arithmetic errors or
    +floating point overflows.  (gxpcopy.c)
    +	- Banding with large line widths could truncate curves or introduce
    +spurious lines.  (gxclpath.c)
    +
    +
    + +
    + +

    Version 3.69 (limited) (6/14/96)

    + +

    +More bug fixes, plus one irresistible new feature: the ability to use +TrueType fonts as freely as Type 1 fonts. Also, one new feature (outside +clipping) that was needed for Aladdin's PCL XL project. We incremented the +version number because of the change in trapezoid and path filling (see +under Library below). + +

    Documentation

    +Brings documentation about fonts up to date.  (fonts.doc)
    +
    +Updates current.doc to reflect changes since 3.53.  (current.doc)
    +
    +Updates the DLL documentation to reflect recent changes.  (dll.doc)
    +
    +Documents a workaround for the code generation bug in gcc 2.7.x.  (make.doc)
    +
    +Changes the contact information for potential commercial customers in
    +Europe.  (new-user.doc)
    +
    +Updates the OS/2 documentation to make it current.  (install.doc, make.doc)
    +
    +Documents -dCOLORSCREEN=0.  (use.doc)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- 'make clean' didn't work in the Watcom environment.
    +(wmakebat.bat, gs.mak, msc.mak, msvcwint.mak, os2.mak, tccommon.mak,
    +unixhead.mak, wccommon.mak)
    +	- The X11 libraries were listed in an incorrect order.
    +(ansihead.mak, cc-head.mak, gcc-head.mak, ugcclib.mak, unix-end.mak)
    +	- The OS/2 makefile didn't ignore errors from `erase' commands.
    +(os2.mak)
    +
    +Adds the PDF writer to the 32-bit MS Windows configuration.  (bcwin32.mak)
    +
    +Adds the PNG drivers to the 32-bit MS Windows platform, since they now
    +compile properly.  (bcwin32.mak)
    +
    +Changes the ttfont feature so that it refers to support for direct usage of
    +TrueType fonts; puts support for Type 42 fonts into a separate feature
    +(type42).  (gs.mak, int.mak)
    +
    +Adds direct TrueType font support to the Windows platforms.  (bcwin.mak,
    +bcwin32.mak)
    +
    +Rewrites vms.mak to be structured more like the other makefiles.  (vms.mak,
    +modules.lis)
    +
    +Makes the device lists in vms-*.mak the same as those for the Unix
    +configurations.  (vms-cc.mak, vms-decc.mak, vms-gcc.mak)
    +
    +Changes the default X library directory for gcc to /usr/X11/lib.
    +(gcc-head.mak)
    +
    +Adds the list of devices to --help, since HylaFax depends on this.
    +(imainarg.c)
    +
    +Adds -dCOLORSCREEN=0 to indicate use of 4 separate color screens with the
    +same frequency and angle.  (gs_init.ps)
    +
    +

    Utilities

    +
    +Fixes bugs:
    +	- When ps2epsi encountered a blank page, it called the
    +(undocumented) .quit operator with only one argument, causing a stack
    +underflow.  (ps2epsi.ps)
    +	- An extraneous file was included in the fileset.  (checkacc.ps)
    +	- A file was omitted from the fileset.  (bench.c)
    +	- Images in PostScript files produced by pdf2ps were processed about
    +50 times slower than they should have been.  (gs_pdf.ps)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- An #include was omitted.  (gdevpdfi.c)
    +	- The BJC driver could get into an inconsistent state.  (gdevcdj.c)
    +	- Braces were omitted around the values for two initialized byte
    +arrays.  (gdevpcx.c)
    +	- A function used 'float' in its argument list, causing problems in
    +mixed ANSI/non-ANSI compilation.  (gdevcdj.c)
    +	- signed and unsigned char pointers were used inconsistently.
    +(gdevcdj.c, gdevcgml.c)
    +	- Some header files weren't protected against double inclusion.
    +(gdevprn.h, gdevtifs.h)
    +	- The 24-bit PNG driver included unnecessary copies of the color
    +mapping procedures.  (gdevpng.c)
    +
    +Fixes bugs in the PDF writer:
    +	- The PDF writer sometimes produced a double // in front of a filter
    +name.  (gdevpdfi.c)
    +	- The PDF writer produced zero-width, zero-height images for
    +non-standard fonts.  (bug introduced since 3.68) (gdevpdfi.c)
    +	- The PDF writer got confused if the input file invoked
    +setpagedevice.  (gdevpdfp.c)
    +	- The PDF writer put annotations on the page after the one they were
    +supposed to be on.  (gdevpdf.c)
    +	- The PDF writer sometimes failed to set the font when needed.
    +(gdevpdf.c)
    +	- The PDF writer could produce in-line images that were too large.
    +(gdevpdfi.c)
    +	- The PDF writer didn't scale explicit character and word spacing
    +(ashow/widthshow/awidthshow) properly.  (gdevpdft.c)
    +	- The PDF writer didn't copy named destination or article title
    +strings, possibly leading to dangling pointers.  (gdevpdf.c, gdevpdfm.c)
    +	- The PDF writer produced incorrect output for re-encoded fonts.
    +(It now converts any string containing characters in non-standard positions
    +to bitmaps; this will be fixed in a later release.)  (gs_pdfwr.ps,
    +gdevpdfx.h, gdevpdfp.c, gdevpdft.c)
    +
    +Updates a few drivers for the change in the handling of band device
    +procedures.  (gdevcp50.c, gdevdjet.c)
    +
    +Updates the X Windows driver for strip halftones.  (gdevx.c)
    +
    +Adds anti-aliasing capability to the os2pm device.  (gdevpm.c)
    +
    +Increases the sizes of some tables in the PDF writer.  (gdevpdfx.h)
    +
    +

    Platforms

    +
    +Fixes bugs:
    +	- A patch for the MS Windows platform was accidentally omitted.
    +(gp_mswin.c)
    +	- A block of code was accidentally duplicated.  (dwmain.cpp)
    +	- An identifier exceeded VAX VMS C's limit of 31 characters.
    +(gscspace.h)
    +	- File name enumeration didn't work properly on Unix systems
    +(still/again).  (gp_unifs.c)
    +	- On MS Windows, If you closed Ghostscript with the system menu, you
    +only closed the text window; Ghostscript kept running and you had to use the
    +task manager to kill it.  (dwmain.cpp, dwmainc.cpp, dwtext.cpp)
    +	- Some DLL-related typedefs were not consistent.  (dwdll.h, gsdll.h,
    +dpmainc.c, dwdll.cpp)
    +	- Attempts to call the DLL before it was initialized were not
    +detected.  (gsdll.c)
    +	- Bitmap line lengths were rounded up even on 32-bit Windows, which
    +doesn't want this.  (gdevwdib.c)
    +
    +Further improves the handling of attempts to use the DLL when it is already
    +in use.  (dwdll.cpp, gsdll.c)
    +
    +Adds a DLL-compatible main program for OS/2.  (dpmainc.c, gp_os2.c, gsdll.c)
    +
    +

    Fonts

    +
    +Fixes bugs:
    +	- The WingDings TrueType font wasn't loaded properly.  (gs_ttf.ps)
    +
    +Makes changes so that TrueType fonts can appear in the Fontmap and can be
    +loaded directly.  (gs_fonts.ps, gs_ttf.ps)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- Executing a .quit with only 1 element on the operand stack caused
    +an invalid access.  (zcontrol.c)
    +	- The usage help message contained incorrect double %%s.
    +(imainarg.c)
    +	- If an initialization file tried to use any Encodings other than
    +the 4 registered ones, it couldn't find them.  (gs_init.ps, gs_res.ps)
    +	- Places that expected arrays of coordinates (rectangles,
    +x/y/xyshow) didn't accept packed arrays.  (ibnum.c, zdps1.c)
    +	- filterdict was still visible after initialization.  (gs_init.ps)
    +	- The usage error message wasn't terminated by a newline.
    +(imainarg.c)
    +	- setcacheparams (or setting the MaxFontCache user parameter) didn't
    +actually affect the size of the character cache.  (zfont.c, zmisc2.c)
    +	- The main interpreter loop declared iref as a ref *, even though it
    +may only be a ref_packed *.  (iref.h, interp.c)
    +
    +Changes the character cache so it ignores absurd FontBBox values.  Nothing
    +in the Adobe spec suggests doing this, but it is necessary for handling
    +questionable output produced by PageMaker 5.0 (an Adobe product!).
    +(zchar1.c)
    +
    +Changes some type declarations slightly to reduce the number of 'discarding
    +const' compiler warnings.  (igc.h, igc.c, igcref.c)
    +
    +Adds .setclipoutside and .currentclipoutside operators for accessing the new
    +outside clipping capability.  (zpath.c)
    +
    +Adds the dictionary stack to the information printed in case of a fatal
    +problem.  (imain.c)
    +
    +Adds .set/currentrenderalgorithm operators for testing.  (zrop.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- The TrueType rasterizer didn't map quadratic to cubic splines
    +well, and didn't handle off-curve points at the end of a contour properly.
    +(gstype42.c)
    +	- An #include was omitted.  (gsimage.c, gxclimag.c)
    +	- Some compilers complained about statements with no effect, or
    +comma operators with no effect on the left.  (gschar.c, gxcpath.c, gxfill.c)
    +	- TrueType or Type 42 glyphs with a repeat count that crossed a
    +contour boundary produced incorrect output.  (gstype42.c)
    +	- TrueType / Type 42 composite glyphs involving rotation were placed
    +incorrectly.  (gstype42.c)
    +	- Type 42 fonts with an absent or incorrect FontBBox could fail to
    +produce output.  (gstype42.c)
    +	- Some header files weren't protected against double inclusion.
    +(gsio.h, gdebug.h)
    +	- Decoding filters didn't "look ahead" to detect EOD, so if the last
    +read operation before closing the filter ended just before the EOD mark, the
    +EOD mark might not be absorbed.  (stream.h, stream.c)
    +	- Filling paths consisting of multiple subpaths that overlap in Y
    +produced slightly inaccurate output.  We were unable to find a way to fix
    +this without making a NON-BACKWARD-COMPATIBLE change in the interface for
    +the recently introduced fill_trapezoid device procedure.  (gxdevice.h,
    +gdevbbox.c, gdevddrw.c, gdevnfwd.c, gxfill.c)
    +	- When banding, get_bits didn't detect calls with out-of-range Y
    +values.  (gxclread.c)
    +	- setcacheparams didn't actually affect the size of the character
    +cache.  (gsfont.h, gxbcache.h, gxfcache.h, gschar.c, gsfont.c, gxbcache.c,
    +gxccman.c, gxclbits.c)
    +	- When banding, colored halftones could be mangled.  (gxclread.c)
    +
    +Fixes bugs in the bounding box device:
    +	- The bounding box device could give bizarre results if any objects
    +crossed the lower edge of the page.  (gdevbbox.c)
    +	- The bounding box device could get a memory access error when
    +processing image data.  (gdebbox.c)
    +	- The bounding box device ran the default drawing algorithms even if
    +it had no target (performance bug only).  (gdevbbox.c)
    +	- The bounding box device computed an incorrect (too small) box for
    +partially clipped bitmap images.  (gdevbbox.c)
    +	- The bounding box device got confused by files that filled the
    +entire page with a background color.  (gdevbbox.c)
    +	- The bounding box device produced infinite-height boxes for certain
    +kinds of data.  (gdevbbox.c)
    +
    +Changes some type declarations slightly to reduce the number of 'discarding
    +const' compiler warnings.  (gsmemory.h, gsstruct.h)
    +
    +Adds the capability of clipping to the outside rather than the inside of the
    +clipping path.  This is required for emulating an obscure feature of the
    +Microsoft Windows GDI.  (gspath.h, gxclpath.h, gxpath.h, gxcpath.h,
    +gzcpath.h, gspath.c, gxacpath.c, gxclpath.c, gxclread.c, gxcpath.c.)
    +
    +Makes it possible for band devices to select the underlying memory device
    +used to accumulate the actual bits.  This is required for (at least) PCL5
    +emulation.  This requires adding a procedure to the gx_device_printer
    +structure, which, for devices that initialize the structure without using
    +the macros in gdevprn.h or access the printer-specific procedures directly,
    +is a NON-BACKWARD-COMPATIBLE change.  (gdevprn.h, gxclist.h, gxdevice.h,
    +gdevdflt.c, gdevprn.c, gxclread.c)
    +
    +Speeds up handling of rotated or halftoned masked images.  (gximage2.c)
    +
    +Adds an output_page procedure to the bounding box device, for testing.
    +(gdevbbox.c)
    +
    +Adds a sample device that keeps track of the "render algorithm", for PCL5c
    +emulation.  (gdevrrgb.c)
    +
    +
    + +

    Version 3.68 patch 4 (5/23/96)

    + +

    +More minor bug fixes, mostly related to the MS Windows implementation. + +

    Documentation

    +Further updates various doc files to make them more useful to new users.
    +(NEWS, README, current.doc, helpers.doc, new-user.doc)
    +
    +Adds user-contributed documentation for ps2pdf.  (ps2pdf.doc, unix-end.mak)
    +
    +Documents a bug in the Borland C++ 4.52 compiler, and where to find the
    +patch for it.  (make.doc)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- A command line exceeded the MS-DOS 120 character limit.
    +(devs.mak)
    +
    +A file was accidentally omitted from the fileset.  (wmakebat.bat)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- Many of the 'show' operators didn't work properly if the PDF
    +writer was included in the configuration.  (gs_pdfwr.ps)
    +	- x_wrap_get_bits was ridiculously slow.  (It still is, but not
    +quite as ridiculously.)  (gxcindex.h, gdevxalt.c)
    +	- The PDF writer generated CR instead of CalRGB, which is legal per
    +the Adobe spec but not compatible with some Adobe Acrobat products.
    +(gdevpdfi.c)
    +	- Some signed/unsigned discrepancies caused compilation warnings.
    +(gdevpdfm.c, gdevpdfp.c, gdevpdft.c)
    +
    +Fixes bugs in the Windows driver:
    +	- An accidentally opened tiny window didn't get closed.
    +(gdevwdib.c)
    +	- The name DllInit was misleading, and this procedure wasn't being
    +called whtn the DLL was loaded, so the DLL couldn't know the instance
    +handle.  (gp_mswin.c)
    +	- The code didn't recognize Win32s (vs. Windows 95) correctly.
    +(dwmain.cpp, gdevwdib.c, gp_mswin.h, gp_mswin.c, gsdll16.rc)
    +	- Some compiler warnings needed fixing.  (gdevwdib.c)
    +	- gsdll16.def and gsdll32.def were different.  (gsdll32.def)
    +	- A GPF leaving the 16-bit DLL loaded could make the DLL permanently
    +unusable.  (dwmain.cpp)
    +	- Two obsolete files were still included in the fileset.
    +(gswin.def, gswin32.def)
    +
    +Adds a compile-time option to the 'bit' drivers to expand 4-bit pixels to
    +32-bit.  This was required for tracking down customer problems, because the
    +only tools we have available for displaying CMYK images require 32 bits per
    +pixel.  (gdevbit.c)
    +
    +

    Platforms

    +
    +Fixes bugs:
    +	- In DEC C, <time.h> does define the timeval struct.  (time_.h)
    +
    +Changes gsdll_init() to take an additional argument, a window handle.  This
    +is a NON-BACKWARD-COMPATIBLE change.  (dll.doc, dwdll.h, gsdll.h, dwdll.cpp,
    +dwmain.cpp, dwmainc.cpp, gsdll.c)
    +
    +

    Fonts

    +
    +Updates more Fontmaps to include the new URW++ fonts.  (Fontmap.OS2,
    +Fontmap.ATM)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- The default operator array table wasn't big enough.  (iinit.c)
    +	- Some signed/unsigned discrepancies caused compilation warnings.
    +(imain.c, imainarg.c, zfile.c)
    +
    +Adds encoding vectors for Windows 3.1 Latin 1, Latin 2, and Latin 5
    +encodings.  None of these are loaded in the standard configuration.
    +(gs_wl{1,2,5}_e.ps)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- Some tracing output was incorrect or missing.  (gxdither.c)
    +	- Resized objects in the C heap had incorrect bookkeeping
    +information (bug introduced in 3.68).  (gsmemory.c)
    +	- Image pixels that fell exactly on device half-pixel boundaries
    +could get discarded.  (gximage0.c)
    +	- The bounding box device didn't set a variable properly and didn't
    +implement end_image, leading to invalid memory accesses.  (gdevbbox.c)
    +	- Fonts with BuildChar routines written in C didn't work properly
    +with kshow or xyshow.  (gschar.c)
    +
    +Adds some additional tracing output for Patterns.  (gxpcmap.c)
    +
    +Adds tracing output for freeing malloc'ed blocks at the end of execution.
    +(gsmemory.c)
    +
    +Adds a gs_dashpath procedure that expands dashes in the same way that
    +gs_flattenpath expands curves.  (gspath.h, gspath1.c)
    +
    +
    + +

    Version 3.68 patch 3 (5/17/96)

    + +

    +More bug fixes during the beta test period. AccurateScreens now works +properly. + +

    Procedures

    +Fixes bugs:
    +	- The help message was too long to fit on a PC screen or standard
    +terminal.  (imainarg.c)
    +	- Failure to run tar_cat wasn't detected.  (unix-end.mak,
    +unixtail.mak)
    +
    +

    Utilities

    +Fixes bugs:
    +	- In the PostScript files produced by pdf2ps, images using ASCII85
    +encoding would cause a typecheck error.  (gs_pdf.ps)
    +	- pdf2ps wrote out strings longer than 200 characters incorrectly.
    +(pdf_2ps.ps)
    +
    +

    Drivers

    +
    +Fixes bugs in gdevcdj.c (according to the author, we have no way to test
    +this):
    +	- The driver used to use Colors as well as ProcessColorModel to
    +define the process color model.  (devices.doc, gdevbjc.h, gdevcdj.c)
    +	- Incorrect or inconsistent settings of BitsPerPixel and
    +ProcessColorModel, or setting one but not the other, could leave the driver
    +in an inconsistent state.  (gdevcdj.c)
    +
    +Fixes bugs in the MS Windows driver:
    +	- Insufficient memory for the backing bitmap could cause a GPF.
    +(gdevmswn.c, gdevwdib.c)
    +	- Invalid parameters could cause a crash within the DLL code.
    +(gdevwdib.c)
    +
    +Adds a user-contributed driver for the CalComp Raster Format.  (devs.mak,
    +gdevccr.c)
    +
    +Adds an anti-aliasing option for MS Windows.  (gdevmswn.c, gdevwdib.c)
    +
    +

    Platforms

    +
    +Fixes bugs in the Windows platform:
    +	- One had to type "quit" twice to exit.  (dwdll.h, dwdll.cpp)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- Platform fonts didn't work properly if the document's primary
    +encoding was the standard MS Windows encoding.  (ifont.h, gs_wan_e.ps)
    +	- stringwidth with a Type 1 font could give a spurious typecheck
    +error (bug introduced in 3.65).  (zcharout.c)
    +	- If a DOS editor added a ^Z to the end of the Fontmap file, an
    +error occurred during initialization.  (gs_fonts.ps)
    +	- Halftones that didn't specify a value for AccurateScreens
    +sometimes ignored the setting of the AccurateScreens user parameter.
    +(zht2.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- gs_join_none was defined, but not implemented.  (gxstroke.c)
    +	- A bookkeeping list for fonts could get confused, causing invalid
    +memory accesses.  (gsfont.c)
    +	- An I/O error or internal error would cause the band list
    +rasterizer to go into an infinite loop.  (gxclread.c)
    +	- The algorithm for choosing screen angles and frequencies produced
    +poor results.  (gshtscr.c)
    +	- Color screens were broken (bug introduced in 3.68).  (gxdht.h,
    +gzht.h, gsht.c, gshtscr.c)
    +
    +
    + +

    Version 3.68 patch 2 (5/13/96)

    + +

    +This is another set of patches for the next general release. + +

    Documentation

    +Fixes bugs:
    +	- Windows NT and Windows 95 implementations were identified as
    +"under development" rather than available.  (README)
    +	- There were several other minor errors in the README file.
    +(README)
    +	- The claimed current IJG JPEG version was incorrect.  (jpeg.mak)
    +
    +Splits off information for new users into a separate file.  (README,
    +new-user.doc)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- gettimeofday takes 2 arguments on SVR4 systems more recent than
    +SVR4.0.  (make.doc, ansihead.mak, cc-head.mak, gcc-head.mak, time_.h)
    +
    +Changes the default Unix data installation directory from /usr/local/lib to
    +/usr/local/share, which seems to be favored by more recent Unix systems
    +(except for some GNU/Linux versions, which still use /usr/local/lib, and BSD/OS,
    +which puts Ghostscript in /usr/contrib/lib.)  (ansihead.mak, cc-head.mak,
    +gcc-head.mak, ugcclib.mak)
    +
    +Changes the unset commands in the Unix script to assignments, because a few
    +older Unix shells don't provide unset.  (unixtail.mak)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- An #include incorrectly referred directly to a system header.
    +(gdevpdft.c)
    +	- CMYK devices took an excessive amount of time clearing the page to
    +white.  (gdevm32.c)
    +
    +Adds a compile-time option to the 'bit' drivers to remove top and bottom
    +whitespace.  This change was required in order to track down a customer bug.
    +(gdevbit.c)
    +
    +

    Interpreter

    +
    +Updates the interpreter for the split in the gstate API.  (igstate.h)
    +
    +

    Streams

    +
    +Fixes bugs:
    +	- Some compilers don't define NULL widely enough.  (spngp.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- There was a minor typo (& for &&) that didn't affect execution.
    +(gxccman.c)
    +	- There was a trailing comma in an enumeration.  (gsiparam.h)
    +	- Internal and public interfaces weren't separated properly.  THIS
    +IS A NON-BACKWARD-COMPATIBLE CHANGE for clients using certain undocumented
    +interfaces to the graphics state.  (gsstate.h, gxstate.h, gzstate.h,
    +gsstate.c)
    +	- A 'private' declaration was missing (yet again).  (gxclimag.c)
    +
    +
    + +

    Version 3.68 patch 1 (5/10/96)

    + +

    +This is the first bug fix (patch) incremental release for the next +general release. + +

    Procedures

    +Fixes bugs:
    +	- Many Windows-specific files were omitted from the previous
    +fileset: dw*.rc, dw*.cpp.
    +
    +
    + +

    Version 3.68 (limited) (5/9/96)

    + +

    +This release cleans up the new Windows files, mostly implements the +high-level driver API for bitmap images, and adds practical strip +(AccurateScreens) halftoning. This is the first "serious beta" fileset for +the next general release. It still has more problems than I would have +liked. + +

    Documentation

    +Fixes bugs:
    +	- The names of the executable files for MS Windows were out of date.
    +(make.doc)
    +	- gxcindex.h still referred to "drawing color".  (gxcindex.h)
    +	- The name of the default font directory for Unix systems was
    +incorrect.  (make.doc)
    +
    +Moves the list of files required for installation, and some other
    +installation instructions, from make.doc to install.doc.  (install.doc,
    +make.doc)
    +
    +Adds a description of the PNGPredictor filters.  (language.doc)
    +
    +Updates the documentation of the higher-level driver procedures to match the
    +specification changes.  (drivers.doc)
    +
    +Documents the change in the Watcom build procedure.  (make.doc)
    +
    +Improves the documentation of bitmap IDs.  (gxbitmap.h)
    +
    +Adds documentation for the new strip_tile_rectangle and strip_copy_rop
    +driver procedures.  (drivers.doc)
    +
    +Changes the few remaining direct FTP addresses in README to URLs.  (README)
    +
    +Notes that zlib does not compile correctly on IRIX 6.n with optimization.
    +(make.doc)
    +
    +Adds references to PDF and TrueType fonts to language.doc.  (language.doc)
    +
    +Updates fonts.doc to remove references to fonts.mak.  (fonts.doc)
    +
    +Describes how to substitute an LZW compressor for the LZW-compatible
    +compressor provided in the standard release.  (make.doc)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- Some lines had exceeded the 120-character limit of the
    +MS-DOS shell.  (int.mak)
    +	- The configuration files weren't generated correctly when CONFIG
    +wasn't an empty string.  (unixhead.mak)
    +
    +Factors out shared DLL makefile rules into a new file.  (bcwin.mak,
    +bcwin32.mak, dwcommon.mak)
    +
    +Makes the cp and rm commands into makefile parameters, allowing automatic
    +generation of build scripts even in the MS-DOS and MS Windows environments
    +where the shell requires the CALL command for sub-scripts.  (*.mak,
    +genconf.c)
    +
    +Adds the PDF writer to the default Unix configurations.  (ansihead.mak,
    +cc-head.mak, gcc-head.mak)
    +
    +Adds TrueType support to all Level 2 configurations.  (int.mak)
    +
    +Removes fonts.mak, which is no longer relevant.  (fonts.mak)
    +
    +Brings the font compilation procedures up to date.  (cfonts.mak, int.mak)
    +
    +

    Utilities

    +
    +Fixes bugs:
    +	- There was an extra 'show' in one file.  (align.ps)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- The bit devices were missing the map_color_rgb procedure.
    +(gdevbit.c)
    +	- The MS Windows driver sent a redundant message. (gdevmswn.c)
    +
    +Adds a device that keeps track of the page bounding box.  This device is not
    +included in any standard configuration.  (drivers.doc, gdevbbox.h,
    +gsmatrix.h, gsstruct.h, gxdevice.h, gdevbbox.c, gdevnfwd.c, gsmatrix.c)
    +
    +Updates the PDF writer to track the changes in the high-level driver API,
    +and to write out images in a reasonable way.  NOTE: the current
    +implementation doesn't write out CIE color space parameters, so CIE-color
    +images won't be colored accurately.  (gdevpdf.c, gdevpdfi.c)
    +
    +Adds a forwarding procedure for tile_rectangle.  (gxdevice.h, gdevnfwd.c)
    +
    +Changes the copyright notices on the PDF writer to be the same as on the
    +rest of Ghostscript.  (gdevpdf*.[ch])
    +
    +Updates Gunther Hess's Epson Stylus Color driver from 1.21 to 1.90.  (Aladdin
    +Enterprises takes no responsibility for this driver: if you have questions,
    +contact the author.)  (devices.doc, devs.mak, gdevstc*.c, gdevstc.h)
    +
    +

    Platforms

    +
    +Removes some obsolete MS Windows files and #defines.  (gp_mswtx.h,
    +gp_mswtx.c, gp_mswin.h)
    +
    +Works around a memory limitation in the Watcom make utility.  (wmakebat.bat)
    +
    +

    Fonts

    +
    +Changes the standard Fontmap from using the low-quality fonts converted from
    +bitmaps to using high-quality fonts recently contributed by URW++.
    +(Fontmap, Fontmap.GS)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- A macro containing an if-else, and a macro generating a compound
    +statement, could cause incorrect grouping of 'if' statements.  (files.h,
    +ostack.h)
    +	- .setrasterop didn't pop its operand.  (zrop.c)
    +	- A rounding inaccuracy could cause bounding box rangecheck errors.
    +(gsdps1.c)
    +	- CIE-based images in PDF files didn't work.  (gs_pdf.ps)
    +	- The page parameter .MediaSize didn't get updated when PageSize was
    +set.  (This is just the most recent manifestation of the setpagedevice
    +morass.)  (gs_setpd.ps)
    +	- %lineedit and %statementedit were limited to 160 characters.
    +(zfileio.c, ziodev.c)
    +	- Compiled initialization files didn't work properly.  (geninit.c,
    +gs_l2img.ps)
    +	- Attempting to parse a command line with argc = 0 caused a crash.
    +(imainarg.c)
    +
    +Renames some files to allow separating the non-DLL 'main' procedure into a
    +separate file, and to make the file naming more consistent:
    +	gs.c (except for 'main') => imainarg.c
    +	gsmain.c => imain.c
    +gs.c now consists only of 'main'.  The name gs.c is still inconsistent (it
    +should be i- something), but at least it's consistent with the name of the
    +executable.  (*.mak, imain.h, iminst.h, imainarg.h, gs.c, gsmain.c, imain.c,
    +imainarg.c)
    +
    +Adds PNGPredictorEncode/Decode filters, and increases the size of filterdict
    +slightly to make room for them.  (iinit.c, zfpngp.c)
    +
    +Makes zwrite external, per a customer request.  (opextern.h, zfileio.c)
    +
    +Updates clients to work with the new API-based bitmap imaging calls.
    +(iimage.h, zcolor1.c, zimage2.c, zpaint.c)
    +
    +Updates clients for the split in gscspace.h.  (zcie.c, zcolor1.c, zcolor2.c,
    +zcsindex.c, zcssepr.c, zimage2.c, zpaint.c, zpcolor.c)
    +
    +Updates clients for strip-based halftones.  (zpcolor.c)
    +
    +Updates the initialization code to pass the correct (system) allocator to
    +the library initialization.  (imain.c)
    +
    +

    Streams

    +
    +Fixes bugs:
    +	- If a filter reached EOD exactly at the end of reading data for
    +certain operations, it didn't get closed automatically.  (stream.c)
    +	- The LZW-compatible encoding filter reset procedure had an
    +incorrect return type.  (slzwce.c)
    +
    +Changes the ASCIIHexEncode filter to insert \ns in fewer places, to be
    +somewhat more compatible with the Adobe implementation.  (sstring.c)
    +
    +Adds PNGPredictorEncode/Decode filters that implement the pixel prediction
    +algorithms in the PNG specification.  (We'd like to use the code in the PNG
    +library, but it's too deeply embedded in the rest of the PNG machinery, and
    +it also doesn't provide for suspendable I/O.)  (spngpx.h, spngp.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- A test for pure color was backwards, causing garbage output or
    +possible address or floating point exceptions.  (gxclpath.c)
    +	- A macro containing an if-else could cause incorrect grouping of
    +'if' statements.  (gsrefct.h)
    +	- The default implementation of RasterOp didn't handle the device
    +depth correctly.  (gdevmrop.c)
    +	- The memory device implementation of RasterOp truncated 24-bit
    +constant source or texture values to 8 bits.  (gdevmrop.c)
    +	- A typo caused the garbage collector to miss an internal buffer
    +used when rendering images.  (gximage.h)
    +	- gs_debug_out was only defined if DEBUG was set.  (gdebug.h)
    +	- The raster of horizontally replicated tiles was incorrect.
    +(gxht.c)
    +	- A data type might not be declared, causing a compilation error.
    +(gscoord.h)
    +	- Empty TrueType glyphs weren't handled properly.  (gstype42.c)
    +	- Fonts with a build procedure written in C could cause an invalid
    +memory access.  (gschar.c)
    +	- The initial point of a band list path sometimes didn't get
    +written, causing excess or missing filled regions.  (gxclpath.c)
    +	- Characters between 49 and 56 bits wide were rendered incorrectly
    +when banding.  (gxclbits.c)
    +
    +Renames gsimage*.c as gximage*.c, to reflect more accurately the position of
    +these files in the architecture.  (gsimage*.c, gximage*.c)
    +
    +Fully implements the high-level bitmap image calls in the driver API.  This
    +includes some driver API changes; however, this part of the API was clearly
    +documented as not stable enough to rely on.  (gxdevice.h, gximage.h,
    +gdevbbox.c, gdevddrw.c, gdevnfwd.c, gsimage.c, gximage*.c)
    +
    +Splits the color space header into client and implementation, as with many
    +others.  (gscspace.h, gxcspace.h, gximage.h, gscie.c, gscolor.c, gscolor1.c,
    +gscolor2.c, gscsepr.c, gsimage.c, gspcolor.c, gsstate.c, gxcmap.c,
    +gxpcmap.c)
    +
    +Extends band lists to handle high-level images.  NOTE: This facility is
    +patched out because there is not yet a way to pass the necessary color
    +rendering information through the band list.  (gxcldev.h, gxclist.h,
    +gxclpath.h, gxclimag.c, gxclist.c, gxclpath.c, gxclread.c)
    +
    +Implements fixed2float and float2fixed more efficiently on machines with
    +slow floating point.  (gxfixed.h, gscoord.c, gsmisc.c)
    +
    +Makes one further NON-BACKWARD-COMPATIBLE change in the existing
    +higher-level driver procedures (fill_path, stroke_path, fill_mask): we make
    +the imager state pointer an explicit argument, rather than a member of the
    +gx_fill/stroke_params structure.  We now consider the specification of these
    +procedures stable, and have removed the "subject to change" notice from the
    +documentation.  (gxdevice.h, gxpaint.h, gdevbbox.c, gdevnfwd.c, gxacpath.c,
    +gxclpath.c, gxclread.c, gxfill.c, gxpaint.c, gxstroke.c)
    +
    +Extends halftone bitmaps to include "strip" and "shift" information,
    +allowing halftone cells with arbitrary angles to be stored in space
    +proportional to the number of bits in the cell rather than the square of the
    +number of bits.  This requires adding new (optional) strip_tile_rectangle
    +and strip_copy_rop driver procedures that are like tile_rectangle and
    +copy_rop respectively but accept a strip bitmap rather than an ordinary
    +tile; these procedures supersede tile_rectangle and copy_rop (although these
    +also remain, defined in terms of the new ones).  This also requires making
    +small but NON-BACKWARD-COMPATIBLE changes in several internal interfaces.
    +(gdevmem.h, gdevprn.h, gsdcolor.h, gxbcache.h, gxbitmap.h, gxcldev.h,
    +gxclip2.h, gxclist.h, gxdevice.h, gxdevrop.h, gxdht.h, gxfcache.h,
    +gxhttile.h, gxpcolor.h, gzht.h; gdevabuf.c, gdevbbox.c, gdevdflt.c,
    +gdevm*.c, gdevmpla.c, gdevmrop.c, gdevnfwd.c, gsht.c, gsht1.c, gshtscr.c,
    +gspcolor.c, gsstate.c, gxcht.c, gxclbits.c, gxclip2.c, gxclist.c,
    +gxclpath.c, gxclread.c, gxcpath.c, gxdcolor.c, gxdither.c, gxht.c,
    +gximage2.c, gxpcmap.c, ...)
    +
    +Adds "no join" as a line join type.  NOTE: this is not actually implemented
    +yet.  (gslparam.h)
    +
    +Changes the initialization code so that it passes the system allocator as an
    +argument to module initialization procedures.  While this is theoretically a
    +NON-BACKWARD-COMPATIBLE change, module initialization procedures are not
    +documented and presumably are not used by any code outside the
    +implementation.  (gscdefs.h, gconf.c, gdevmrop.c, gsinit.c, gxclimag.c,
    +gxclpath.c)
    +
    +Splits up gs_lib_init into two procedures, allowing specification of a
    +different default allocator for the library.  (gslib.h, gsinit.c)
    +
    +Adds a resize_object operation to the allocator API.  (gsmemory.h,
    +gsalloc.c, gsmemory.c)
    +
    +
    + +

    Version 3.67 (limited) (4/12/96)

    + +

    +This release restructures the MS Windows and OS/2 code to be primarily DLL- +rather than EXE-based. See under Platforms below for more news. This +release was put out in a hurry in order to get the new DLL code into +testers' hands; it has more rough edges than usual. + +

    Documentation

    +Fixes bugs:
    +	- A definition & use comment was incorrect.  (scanchar.h)
    +	- William Bader's e-mail address was wrong.  (README)
    +
    +Adds documentation for the new begin_image, image_data, and end_image
    +procedures.  THIS INTERFACE IS STILL SUBJECT TO CHANGE.  (drivers.doc)
    +
    +

    Procedures

    +
    +Renames all the *core.dev modules as *lib.dev.  (int.mak, *lib.mak, vms.mak,
    +gdevmrop.c)
    +
    +Updates all the remaining makefiles to IJG JPEG version 6a.  (*.mak)
    +
    +Moves the configuration parameter definitions from gconf.c to a new file
    +gscdefs.c.  (bcwin*.mak, *lib.mak, gs.mak, int.mak, lib.mak, unixtail.mak,
    +vms.mak, gconf.c, gscdefs.c)
    +
    +

    Platforms

    +
    +Restructures the MS Windows and OS/2 code to be primarily DLL- rather than
    +EXE-based.  This involves two minor NON-BACKWARD-COMPATIBLE changes to the DLL
    +interface, documented near the end of dll.doc:
    +
    +	- Adding argv and argc as arguments to gsdll_init.
    +
    +	- Adding a new message type, GSDLL_POLL, to the callback procedure.
    +
    +(bcwin*.mak, devs.mak, os2.mak, dll.doc, install.doc, dw*.*, gsdll*.*,
    +gdevms*.*, gdevpm.c, gdevw*.c, gp_mswin.c, gp_os2.c, gsos2.def, gswin.rc)
    +
    +Adds the BMP drivers to the Watcom platform.  (watc.mak)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- gs.c assumed the presence of stdio.  (gs.c)
    +
    +Defines a new API entry point that is the equivalent of command line
    +invocation.  (imain.h, imainarg.h, gs.c)
    +
    +Changes clients to conform to the changes in gsimage.h.  (zimage2.c,
    +zpaint.c)
    +
    +Speeds up the search operator slightly.  (zstring.c)
    +
    +

    Interpreter (PDF)

    +
    +Fixes bugs:
    +	- If the PDF interpreter was present, running a PostScript file
    +didn't close the file properly if it caused an error.  (pdf_main.ps)
    +
    +Speeds up embedded font loading by making an internal buffer bigger.
    +(pdf_font.ps)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- There could be some non-zero garbage between the width and the
    +next multiple of bitmap_align_mod for copy_alpha.  (The driver API
    +specification explicitly allows this, but it upset one customer.)
    +(gxccman.c)
    +	- Nibble-swapped alpha values could be displaced in memory by one
    +pixel, damaging the output.  (gdevabuf.c)
    +
    +Makes further changes towards adding high-level bitmap image calls to the
    +driver API.  This includes the following minor NON-BACKWARD-COMPATIBLE
    +changes to the interface defined in gsimage.h:
    +
    +	- changing MultipleDataSources from a member of the gs_image_t
    +	structure to an argument of gs_image_init;
    +
    +	- changing the default image parameter values from constant
    +	structures to procedures that initialize the structure.
    +
    +As far as we know, this doesn't affect any existing client code.
    +(gsimage.h, gsiparam.h, gxdevice.h, gdevddrw.c, gdevnfwd.c, gsimage.c,
    +gspcolor.c, gxccache.c)
    +
    +Removes an unnecessary level of call for path filling.  (gxpaint.h,
    +gxfill.c, gxpaint.c)
    +
    +
    + +

    Version 3.66 (limited) (4/8/96)

    + +

    +This release adds support for TrueType fonts and Type 42 (encapsulated +TrueType) PostScript fonts. The MS Windows driver now interacts properly +with the garbage collector. This release also includes a new, high-quality +set of free fonts. + +

    Documentation

    +Fixes bugs:
    +	- The list of generic makefiles had gotten out of date.  (make.doc)
    +
    +Adds a mention of the bmv program, created by a user and available under the
    +GPL.  (README)
    +
    +Notes that a bug in gcc 2.7.x prevents these versions from compiling
    +Ghostscript.  (make.doc)
    +
    +Clarifies the meaning of "inverted" masks.  (gsimage.h)
    +
    +Improves the documentation of the stack sizing parameters.  (interp.c)
    +
    +Improves the documentation of the copy_rop driver procedure.
    +(drivers.doc)
    +
    +Notes that all subclasses of gx_device must explicitly include the
    +device_finalize finalization procedure.  (gxdevice.h)
    +
    +Updates the documentation of the high-level driver API to reflect the change
    +in gx_drawing_color, and the addition of the new polygon and image drawing
    +procedures.  (drivers.doc)
    +
    +Updates the documentation for building zlib and libpng.  (make.doc)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- The environment space overflowed on some inferior Unix systems.
    +(unixtail.mak)
    +
    +Adds a ttfont.dev "feature" for including the TrueType interpreter and the
    +ability to handle Type 42 fonts.  A new procedure, .loadttfont, allows
    +loading a TrueType font directly (by converting it to a Type 42 on the fly).
    +(gs.mak, int.mak, lib.mak)
    +
    +Updates the makefiles and procedures to libpng 0.88 and zlib 1.0.
    +(libpng.mak, zlib.mak)
    +
    +

    Utilities

    +
    +Fixes bugs:
    +	- pdf2ps could produce lines longer than 255 characters.
    +(pdf_2ps.ps)
    +
    +Removes some unnecessary and error-inviting code from pdf2dsc.  (pdf2dsc.ps)
    +
    +Updates lines.ps to test the new stroke code more fully.  (lines.ps)
    +
    +Allows omitting the second argument of ps2pdf, as for ps2epsi.  (ps2pdf)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- A routine was incorrectly declared "private".  (I wish gcc caught
    +this!)  (gdevpdf.c)
    +	- A 'const' was omitted in a parameter list.  (gdevpdfp.c)
    +	- Some imported procedures didn't have prototypes declared.
    +(gdevpdft.c)
    +	- The ProcSet list for PDF files didn't include Text when it was
    +needed.  (gdevpdfx.h, gdevpdf.c, gdevpdft.c)
    +	- Text in PDF output ignored the color setting.  (gs_pdfwr.ps,
    +gdevpdft.c)
    +	- Text in PDF output could be positioned incorrectly.  (gdevpdft.c)
    +	- pdfmarks could produce an error when producing PDF output.
    +(gs_pdfwr.ps)
    +
    +Slightly improves the text output of the PDF writer.  (gs_pdfwr.ps,
    +gdevpdft.c)
    +
    +Defines driver procedures for filling trapezoids (with the parallel edges
    +parallel to a coordinate axis), parallelograms (with arbitrary orientation),
    +triangles (ditto), and minimum-width lines (ditto).  (Note that the last of
    +these obsoletes the former draw_line procedure.)  (gdevmem.h, gdevprn.h,
    +gxdevice.h, gxdraw.h (deleted), gdevddrw.c, gdevdflt.c, gdevht.c,
    +gdevnfwd.c, gsimage[12345].c, gxacpath.c, gxclist.c, gxclip2.c, gxcpath.c,
    +gxdraw.c (deleted), gxfill.c, gxpcmap.c, gxstroke.c)
    +
    +Adds "sketched" driver procedures for high-level bitmap / pixmap image
    +drawing.  In this release, the argument lists are incomplete, and the
    +procedures are stubs: don't try to use them!  [see previous entry]
    +
    +Changes the screen update strategy for the X Windows driver from a
    +compile-time option to a settable run-time variable.  (gdevx.c)
    +
    +Patches around a problem with libpng 0.88 that can't be fixed without
    +editing a configuration file.  (gdevpng.c)
    +
    +

    Platforms

    +
    +Fixes bugs:
    +	- %g formats with sscanf don't work on NeXT systems.  (gdevpdft.c,
    +iutil.c, zdouble.c)
    +	- getenv could be declared inconsistently.  (gp_unix.c)
    +
    +

    Fonts

    +
    +Fixes bugs:
    +	- The Type 1 font interpreter sometimes set the flatness too large.
    +(gstype1.c)
    +	- Fonts defined by definefont could never be garbage collected.
    +(gsstruct.h, gxfcache.h, gxfont.h, gxfont0.h, gxfont1.h, gsfont.c,
    +gsfont0.c)
    +	- Type 0 fonts weren't garbage collected properly.  (gsfont0.c)
    +	- Compiled fonts caused a compilation error (bug introduced in
    +3.65).  (ifont.h)
    +	- If a Type 1 font used hint replacement, hints could be applied
    +more than once, distorting the character shape.  (gxtype1.h, gxhint3.c)
    +	- Oversampling wasn't applied to large enough characters.
    +(gschar.c)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- The scanner accepted /[, /], /<<, and />> as literal names (and
    +similarly for //).  It isn't obvious from the Red Book, but the Adobe
    +implementations don't accept these.  What a nuisance!  (gs_btokn.ps,
    +gs_init.ps, pdf_2ps.ps, pdf_base.ps, pdf_main.ps, iscan.c)
    +	- A spurious stackoverflow could occur under unusual conditions.
    +(istack.c)
    +	- The values of OrigFont and ScaleMatrix in scaled fonts reflected
    +only the most recent scaling operation, not the original font and the
    +combined scaling operation.  (zfont.c)
    +	- The default size of systemdict had become slightly too small.
    +(iinit.c)
    +	- Type 1 characters defined by PostScript procedures were called
    +incorrectly.  (zcharout.c)
    +
    +Removes the papersize operator from statusdict, since it is not documented
    +anywhere in the Adobe literature and didn't interact properly with the
    +various ways of setting the page size.  (gs_statd.ps)
    +
    +Changes the one client of sskip to match the changed API.  (zpaint.c)
    +
    +Changes clients to reflect the creation of sstring.h.  (iscan.h, zfilter.c)
    +
    +Adds PSStringEncode as an accessible filter.  (zfilter.c)
    +
    +Adds support for TrueType and Type 42 fonts.  (gs_fonts.ps, gs_ttf.ps,
    +gs_typ42.ps, bfont.h, icharout.h, ifont.h, zchar1.c, zchar42.c, zcharout.c,
    +zfont1.c, zfont2.c, zfont42.c)
    +
    +Adds a few ANSI sheet sizes (commented out, for documentation only).
    +(gs_statd.ps)
    +
    +

    Interpreter (PDF)

    +
    +Fixes bugs:
    +	- Clients who called pdfopen/close rather than runpdf could get an
    +error (PSLevel1 undefined).  (pdf_main.ps)
    +	- Some masked images were displayed with black and white inverted.
    +(gs_pdf.ps)
    +	- In Level 1 output produced by pdf2ps, images caused a syntaxerror.
    +(gs_pdf.ps)
    +	- If a PDF file had multiple xref sections and later sections added
    +new objects, an error occurred.  (pdf_main.ps)
    +	- Some very old Level 1 interpreters couldn't deal with a file
    +object embedded in a procedure.  (gs_pdf.ps)
    +
    +

    Streams

    +
    +Fixes bugs:
    +	- The PSStringEncode filter didn't always produce printable 7-bit
    +output.  (sstring.c)
    +	- The CCITTFaxDecode filter didn't implement DamagedRowsBeforeError.
    +(scfx.h, scfd.c)
    +	- Interpolated images displayed nothing if the data stream ended
    +before the image height was reached.  (siscale.h, gsimage5.c, siscale.c)
    +
    +Changes the sskip stream procedure so that it takes an additional argument
    +where it returns the actual number of bytes skipped.  THIS IS A
    +NON-BACKWARD-COMPATIBLE CHANGE in the API.  However, as far as we know,
    +there are no external clients of this procedure.  (stream.h, stream.c)
    +
    +Splits up sfilter.h so that the headers correspond more directly with the
    +implementations.  (sfilter.h, sstring.h, sstring.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- The default device in the library configuration was device 1, not
    +device 0.  (bclib.mak, ugcclib.mak, watclib.mak, gslib.c)
    +	- Patterns could be rendered with small gaps between them.
    +(gspcolor.c)
    +	- Large characters could render inaccurately because of a numerical
    +boundary condition.  (gxpcopy.c)
    +	- The show_gstate pointer in the graphics state was not managed
    +properly, possibly leading to dangling pointers or GC errors.  (gsstate.c)
    +	- Bitmaps could get shifted to the left if ALPHA_LSB_FIRST was
    +selected (bug introduced in 3.53).  (gsbitops.c)
    +	- The garbage collector could move devices in memory, causing
    +problems with command list devices.  (gxdevice.h, gsdevice.c)
    +
    +Continues restructuring the image handling code in preparation for adding a
    +high-level driver operation.  (gsimage[12345].c)
    +
    +Starts to implement passing color mapping information (transfer function,
    +black generation, undercolor removal, CRD, halftoning) in the band list.
    +(gxfmap.h, gscolor.c, gscolor1.c, gsht1.c, gsstate.c)
    +
    +Speeds up the path filling code a little more.  (gxdraw.c)
    +
    +Removes the workaround for the gcc 2.7.0/1/2 optimizer bug, since this
    +turned out to cause more trouble than it was worth.  (stdpre.h)
    +
    +Speeds up stroking dramatically for the case of butt or square caps, bevel
    +or beveled miter joins, and no fill adjustment, by filling parallelograms
    +and triangles directly rather than constructing and filling paths.  This is
    +an important common case for CAD drawings.  (gxdraw.h, gxdraw.c, gxstroke.c)
    +
    +Adds support for TrueType and Type 42 fonts.  (gxfont.h, gxfont42.h,
    +gstype42.c)
    +
    +Extends the memory manager to allow allocating objects that the garbage
    +collector won't move.  THIS IS A NON-BACKWARD-COMPATIBLE CHANGE for
    +implementors of memory managers, but clients aren't supposed to have any of
    +these.  (gsmemory.h, gsmemory.c, gsalloc.c)
    +
    +Makes dynamically created instances of registered devices immovable.
    +(gsdevice.c)
    +
    +Unifies gx_drawing_color with (makes it equivalent to) gx_device_color.
    +THIS IS A NON-BACKWARD-COMPATIBLE CHANGE for implementors of the
    +higher-level driver procedures (fill_path, stroke_path, fill_mask).  We
    +regret that this was necessary, but the documentation in drivers.doc does
    +warn the reader: "DO NOT ASSUME THESE OPERATIONS WILL REMAIN UNCHANGED IN
    +FUTURE RELEASES."  These three procedures, at least, should now be stable.
    +(gsdcolor.h, gxcindex.h, gxdcolor.h, gxdevice.h, gximage.h, gxpaint.h,
    +gxpcolor.h, gdevdflt.c, gdevpdf.c, gdevpdfi.c, gdevxalt.c, gsimage.c,
    +gsimage2.c, gspcolor.c, gxacpath.c, gxccache.c, gxcht.c, gxclpath.c,
    +gxclread.c, gxdcconv.c, gxdither.c, gxfill.c, gxdraw.c, gxht.c, gxpaint.c,
    +gxpcmap.c, gxstroke.c)
    +
    +
    + +

    Version 3.65 (limited) (3/9/96)

    + +

    +This release adds garbage collection for device instances. ****** NOTE: +Because of changes in memory management, if you are using the MS Windows +driver (mswin), you must run with -dNOGC. This is a temporary problem which +will be fixed before the next beta release. + +

    Documentation

    +Documents the C API equivalent of a -d switch for setting a flag like
    +NOPAUSE.  (imain.h)
    +
    +Splits off the NEWS entries for versions 3.0 through 3.33 into a new
    +file.  (history3.doc)
    +
    +Adds a man page for ps2pdf.  (ps2pdf.1)
    +
    +Documents the new memory management aspects of device drivers, and corrects
    +many other aspects of driver documentation that had become inaccurate.
    +(drivers.doc)
    +
    +Updates the documentation for the gs_*.ps files.  (psfiles.doc)
    +
    +Replaces .type1addpath with .type1execchar.  (language.doc)
    +
    +Adds some more documentation on how band lists do read/write switching.
    +(gxclist.h)
    +
    +Adds a reference to the new Genscript program, a free Ghostscript-based
    +replacement for enscript.  (README)
    +
    +Notes that no further changes will be accepted for the gdevcdj.c file, which
    +has gotten completely out of hand.  (gdevcdj.c).
    +
    +Documents the TextAlphaBits and GraphicsAlphaBits device parameters.
    +(language.doc)
    +
    +

    Procedures

    +Fixes bugs:
    +	- gs_pdfwr.ps and pdf2ps.1 weren't installed on Unix systems.
    +(unix-end.mak)
    +	- The pdf2ps shell script didn't accept any options.  (pdf2ps)
    +	- The rule for srle.$(OBJ) incorrectly specified a dependency on
    +srld.c.  (lib.mak)
    +	- The rule for command lists didn't include stream.$(OBJ).
    +(lib.mak)
    +	- The stack size for one configuration was set too small.
    +(watclib.mak)
    +
    +Speeds up genconf by eliminating redundant file reading and processing.
    +(genconf.c)
    +
    +Moves the pixel-difference filters from int.mak to lib.mak.  (int.mak,
    +lib.mak)
    +
    +Moves the library parts of the HSB color and Level 1 path (arcs, pathbbox,
    +path enumeration) options from int.mak to lib.mak, and adds them to the
    +library makefiles.  (int.mak, lib.mak; bclib.mak. ugcclib.mak, watclib.mak)
    +
    +

    Utilities

    +
    +Fixes bugs:
    +	- pdf2ps would fail if it encountered a font with a standard
    +encoding.  (pdf_2ps.ps)
    +
    +Adds new switches to pdf2ps:
    +	-dPSBinaryOK allows writing binary image data in the output.
    +(pdf_2ps.ps)
    +	-dPSLevel1 forces Level 1 compatible output.  (int.mak,
    +unix-end.mak, gs_l2img.ps, gs_pdf.ps, pdf_2ps.ps, pdf_main.ps)
    +	-dPSNoProcSet causes the ProcSet to be loaded at run time, not at
    +conversion time -- primarily useful for debugging.  (pdf_2ps.ps)
    +
    +Adds a utility for viewing PCX files, so we can preview high-resolution
    +output in a reasonable compressed format.  (unix-end.mak, viewpcx.ps)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- Some compilers require an extra #include to define structures even
    +if they are only referenced by pointers.  (int.mak, gdevpdf.c, gdevpdfp.c)
    +	- A procedure name was duplicated.  (gdevpdfi.c)
    +	- A pdfmark between a gsave and a grestore could cause a
    +rangecheck error.  (gdevpdfp.c)
    +	- A pdfmark between a gsave and a grestore could cause the
    +grestore to do an inappropriate initgraphics.  (gs_pdfwr.ps)
    +	- The pdfwrite driver could reinitialize the output file
    +unpredictably.  (gdevpdfp.c)
    +	- The PCX drivers didn't clear padding bytes at the ends of scan
    +lines.  (gdevpcx.c)
    +	- The PCX drivers didn't set the "version" field correctly (this was
    +OK in 2.6.1, bug introduced sometime since then).  (gdevpcx.c)
    +	- Whoever last touched the color inkjet drivers completely broke the
    +handling of the BitsPerPixel parameter, again.  We were able to half-fix it,
    +but the code is impossible to understand, let alone modify safely.
    +(gdevcdj.c)
    +	- Anti-aliased characters didn't work with banding.  (gxclpath.c)
    +	- The PGM/PPM drivers didn't recognize black-and-white pages for
    +optimization to PBM, only gray or colored.  (gdevpbm.c)
    +	- The color inkjet drivers initialized the params_size field of the
    +static instance incorrectly, resulting in garbage in the last few structure
    +members when instances were copied.  (gdevcdj.c)
    +	- The 24-bit PCX driver didn't pad each scan line to an even number
    +of bytes.  (gdevpcx.c)
    +	- The svga16 driver initialized its procedures incorrectly.
    +(gdevpcfb.c)
    +
    +Adds text writing capability to the PDF writer.  In its present form, this
    +is a very bad hack: it only works for the 14 built-in fonts with their
    +standard encodings.  (gdevpdfx.h, gdevpdf.c, gdevpdfp.c, gdevpdft.c)
    +
    +Adds garbage collection and finalization for device instances (gscdefs.h,
    +gsdevice.h, gxdevice.h, gconf.c, gdevmrop.c, gsdevice.c, gslib.c, gsmain.c).
    +(See the "Driver instance allocation" section of drivers.doc for more
    +details about what is required to make this work.)
    +
    +	- When an open device is freed (explicitly, by garbage collection,
    +or by 'restore'), if the device was allocated dynamically by Ghostscript's
    +standard allocator, the device's close procedure will be called.  THIS IS A
    +NON-BACKWARD-COMPATIBLE CHANGE for dynamically created devices, which
    +formerly were not closed automatically, even when Ghostscript exited.
    +
    +	- Device instances allocated in GC-able space will be traced
    +like other objects, assuming they have proper structure descriptors.
    +
    +Provides a (very slow but correct) default implementation of copy_alpha.
    +(gxcindex.h, gdevdflt.c, gsimage4.c)
    +
    +Removes the implementation of copy_alpha in gdevpbm.c, since this is now
    +implemented (more efficiently) in gdevm24.c.  (gdevpbm.c)
    +
    +Adds TextAlphaBits and GraphicsAlphaBits as readable parameters for all
    +devices.  (gsdparam.c, gdevpbm.c, gdevsvga.c)
    +
    +

    Platforms

    +
    +Fixes bugs:
    +	- There were some attempts to coerce long to short pointers
    +on segmented platforms.  (gsdparam.c, gstype1.c)
    +	- The stack could overflow on the 16-bit MS Windows platform.
    +(gxfill.c, gxclread.c)
    +	- The DLL callback parameter for window resize events was computed
    +incorrectly on 16-bit systems.  (gdevwdib.c)
    +	- A file included gxdevice.h unnecessarily.  (bcwin.mak,
    +bcwin32.mak, msvcwint.mak, gp_mswin.c)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- Storing into a read-only dictionary with def or store was
    +allowed.  (dstack.h)
    +	- If the interpreter allocated extra space for a dictionary
    +to round its storage size up to a power of 2, it was possible for
    +length to exceed maxlength.  (idict.c, iinit.c)
    +	- The if and ifelse operators didn't check that their
    +'procedure' arguments were actually procedures.  (interp.c, zcontrol.c)
    +	- The undef operator was defined even in Level 1
    +configurations.  (We need this capability for all configurations, so
    +we always define .undef.)  (zdict.c, gs_*.ps, pdf_*.ps)
    +	- In Level 1 configurations, copying a dictionary should copy the
    +access attributes, but it didn't.  We have to work around this
    +compatibility quirk in a lot of places.  (gs_cidfn.ps, gs_cmap.ps,
    +gs_dps1.ps, gs_fonts.ps, gs_init.ps, gs_l2img.ps, gs_lev2.ps, gs_pdf.ps,
    +gs_pfile.ps, gs_res.ps, gs_setpd.ps, gs_type1.ps, zdict.c)
    +	- DSC comments that crossed a buffer boundary didn't call the
    +scan_dsc_proc.  (iscan.c)
    +	- "statusdict /setpage get exec" caused an error.  (gs_statd.ps)
    +	- The default size of systemdict had become slightly too small.
    +(iinit.c)
    +	- Doing a showpage or copypage would cause the equivalent of a
    +setpagedevice at the next restore or grestore.  We aren't entirely sure that
    +the fix we made doesn't have bad side-effects.  (gs_setpd.ps)
    +	- Not all filters accepted (and ignored) an optional dictionary
    +parameter on the stack.  (ifilter.h, zfbcp.c, zfdecode.c, zfilter.c,
    +zfilterx.c, zfzlib.c, zmisc1.c)
    +	- The PixelDifference filters required a Columns parameter, rather
    +than defaulting it to 1.  (spdiffx.h, zfdecode.c)
    +	- Contrary to the NEWS entry for release 3.60, the LZW filters did
    +not implement pixel differencing.  (zfdecode.c, zfilter2.c)
    +	- readstring with a 0-length string didn't signal a rangecheck.
    +This doesn't make a lot of sense to me, but it's what the Adobe
    +documentation specifies.  Unfortunately, we have to work around this in a
    +number of places that assumed the sensible definition (return () true
    +without reading anything).  (gs_l2img.ps, pdf_font.ps, zfileio.c)
    +	- Encoded number strings didn't work (bug introduced in 3.64).
    +(ibnum.c)
    +	- The allocator could produce spurious "free large 0x...... chunk
    +not found" messages.  (These didn't cause any harm, but they were
    +disturbing.)  (gsalloc.c)
    +
    +Changes the default transfer function for high-resolution devices so
    +that it is the identity function if the device is continuous-tone.
    +(gs_init.ps)
    +
    +Undoes the "subversion" of zgetdevice noted in release 3.61, since it
    +is now possible to copy devices safely.  (zdevice.c)
    +
    +Changes the implementation of the garbage collector and restore so that
    +object finalization code may safely free objects.  (igc.c, isave.c)
    +
    +Reimplements essentially all of Type 1 BuildChar in C.  (gs_init.ps,
    +gs_type0.ps (deleted), gs_type1.ps, ifont.h, zchar.c, zchar1.c, zfont.c)
    +
    +Reimplements DISKFONTS as a separate feature (diskfont.dev), and changes it
    +to use Type 4 fonts rather than special machinery.  Currently this feature
    +is included only in the makefiles for 16-bit architectures.  (bc.mak,
    +bcwin.mak, int.mak, tc.mak, gs_diskf.ps, gs_fonts.ps, gs_type1.ps)
    +
    +Converts the library search path from a list of strings to a (PostScript)
    +array of strings, one string per directory.  (iminst.h, main.h, gs.c,
    +gsmain.c, zfile.c)
    +
    +Adds a hook procedure scan_comment_proc for processing all comments,
    +similar to scan_dsc_proc.  If both are set, scan_comment_proc is used only
    +for non-DSC comments.  (iscan.h, iscan.c)
    +
    +

    Interpreter (PDF)

    +
    +Fixes bugs:
    +	- Encrypted PDF files produced a random error (usually ioerror in
    +--token--) rather than a meaningful message.  (pdf_main.ps)
    +	- Color space setting didn't work.  (gs_pdf.ps)
    +	- The algorithm for skipping a possible blank line following the
    +'stream' keyword wasn't robust enough.  (We aren't sure the new algorithm is
    +exactly right, either.)  (pdf_base.ps)
    +
    +Gets rid of the special handling of the LZW decoding filter, since the
    +filter itself now handles the Predictor facility.  (pdf_base.ps)
    +
    +

    Streams

    +
    +Fixes bugs:
    +	- Configurations with LZW encoding but not decoding had an
    +undefined reference.  (lib.mak, slzwc.c, slzwd.c)
    +	- The LZW-compatible encoder didn't provide a 'reset' procedure.
    +(slzwce.c)
    +	- The PixelDifference filters didn't work for most parameter
    +combinations in which each pixel took up more than 1 byte.  (spdiff.c)
    +	- Temporary write streams could cause an infinite loop.  (We only
    +need such streams for the Predictor = 2 case of LZWEncode: this is why the
    +bug never showed up before.)  (stream.c)
    +
    +Adds an optional reinitialization procedure to the stream template.  Note
    +that this is not the same as the PostScript 'reset' operation or the stream
    +resetting operation invoked by sreset: the reinit procedure in the template
    +reinitializes any internal state of the encoder or decoder without affecting
    +buffered data.  (scommon.h, strimpl.h, sbcp.c, sbhc.c, slzwce.c, slzwd.c,
    +slzwe.c, smtf.c, spdiff.c, srle.c) ****** NOT DONE YET: sbwbs.c, szlibd.c,
    +szlibe.c
    +
    +Adds a decoding stream for the run-length compression used in PCX.
    +(spcxx.h, spcxd.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- A recent edit introduced an extraneous right parenthesis.
    +(gpcheck.h)
    +	- A minor nit in a macro could cause incorrect grouping of 'if'
    +statements under implausible conditions.  (gsmdebug.h)
    +	- The first data plane buffer of an image enumerator didn't get
    +marked during garbage collection.  (gsimage.c)
    +	- The Watcom C compiler required splitting up a declaration.
    +(gxcmap.h)
    +	- The extern declarations for the tables in gconf.c weren't gathered
    +together in one place.  (gscdefs.h, gxiodev.h, gconf.c, gsdevice.c, gslib.c,
    +gsinit.c, gsiodev.c)
    +	- charpath and show produced different output.  We fixed this by
    +undoing a "bug fix", introduced in version 2.9, which suppressed hinting and
    +coordinate rounding for charpath; we aren't sure this won't cause some
    +obscure problems to reappear.  (gstype1.c)
    +	- Clipping with a rectangle usually created a 3-rectangle clipping
    +list, slowing down all drawing operations (performance bug only).
    +(gxacpath.c)
    +	- stroking in a rotated coordinate system sometimes thought lines
    +were always thin when they actually weren't.  (gxstroke.c)
    +	- An unsigned quantity wasn't properly converted to signed, possibly
    +causing band path coordinates to get mangled.  (gxclread.c)
    +	- A bug in the Borland compiler caused an unsigned quantity to be
    +interpreted as signed, causing band path coordinates to get mangled.
    +(gxclread.c)
    +
    +Changes structure type pointers on 16-bit segmented systems to full
    +32-bit pointers.  This will increase time and space requirements very
    +slightly on these systems.  (gsmemory.h, gxobj.h)
    +
    +Changes the memory manager so that object finalization code may safely free
    +objects.  (gsmemory.h, gsstruct.h, gsalloc.c, gsmemory.c)
    +
    +Refactors the Type 1 CharString interpreter so it can be included in
    +the imager library.  (gstype1.h, gxtype1.h, gstype1.c)
    +
    +Starts to refactor the implementation of band lists in memory so that it can
    +use any encoding/decoding filter.  Currently this choice is made at compile
    +time, but it could easily be made dynamic.  (gxclmem.h, gxclmem.c)
    +
    +Starts to refactor image rendering so that, like path filling and stroking,
    +it only uses imager state and can be done after banding.  (gxcmap.h,
    +gxdraw.h, gximage.h, gsimage*.c, gxcmap.c)
    +
    +Speeds up copy_mono for 2-bit-per-pixel devices a little.  (gdevm2.c)
    +
    +Implements an optimized copy_alpha for 24-bit memory devices.  (gdevmem.h,
    +gdevm24.c)
    +
    +Speeds up filling rectangles significantly.  (gsbitops.c)
    +
    +Changes the band list rasterizer to use the memory space of the device
    +rather than the C heap: our allocator is considerably faster than malloc.
    +(gxclread.c)
    +
    +Speeds up stroking a little, especially in 90 degree rotated coordinate
    +systems.  (gxstroke.c)
    +
    +
    + +

    Version 3.64 (limited, incremental) (1/27/96)

    + +

    +This release fixes a few more bugs, including some serious bugs in band +lists, and adds pdfmark processing to the PDF writer. The PDF writer is +still not fit for real use, since it converts all text characters into 720 +dpi bitmaps and turns images into zillions of tiny rectangles (!), but it +should be producing legal output. + +

    Documentation

    +Fixes bugs:
    +	- Frans van Hoesel's e-mail address was incorrect.  (gdevdjet.c)
    +	- The man page for ansi2knr was out of date.  (ansi2knr.1)
    +	- The description of a procedure was out of date.  (gxdcolor.h)
    +
    +Notes that several "optional" features are required in order to obtain the
    +full PostScript Level 1 functionality at the library level.  (lib.doc)
    +
    +Documents the top-level interpreter API.  (imain.h)
    +
    +Adds details on differences between the imager API and the PostScript
    +graphics operators.  (lib.doc)
    +
    +Notes (here, in NEWS) that the change for device prototypes in 3.61 made the
    +protection attributes of a device significant for the first time.  Only the
    +writable attribute is significant so far.  (news)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- The .dev rules in the library makefiles didn't list echogs as a
    +dependency.  (jpeg.mak, libpng.mak, zlib.mak)
    +	- The install rule tried to install gs.1.1 etc. rather than gs.1
    +etc.  (unix-end.mak)
    +	- The install rule tried to install some nonexistent *.1 files.
    +(unix-end.mak)
    +
    +Adds 'help' and '?' procedures to assist users who don't read the
    +documentation.  (gs_init.ps)
    +
    +Adds -A-, -E-, and -Z-... to turn off debugging flags.  (gs.c)
    +
    +Adds a -dDELAYBIND switch to delay binding operators, to allow special
    +packages like pstotext to redefine them.  (gs_init.ps)
    +
    +

    Utilities

    +
    +Fixes bugs:
    +	- Fonts produced by rollconv.ps left a couple of items on the
    +operand stack, and left array packing set to true.  (rollconv.ps)
    +
    +Makes ansi2knr require that the first token after a function header be a
    +left brace on the next line, so it can cope with some macros in IJG release
    +6a.  Also updates it to work better without the GNU configure machinery, and
    +on some old compilers.  (ansi2knr.c)
    +
    +Changes align.ps so it can be used directly to determine the margin
    +parameters.  (align.ps, psfiles.doc)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- The TIFF/F (G3 and G4) drivers were broken (bug introduced in
    +3.60).  (gdevtfax.c)
    +	- The PDF writer produced invalid output for 0-width, 0-height
    +images.  (gdevpdfi.c)
    +	- The PDF writer wasn't a page device.  (gdevpdf.c)
    +	- The PDF writer assigned the Contents node rather than the Pages
    +node as the Parent of each page.  (gdevpdfx.h, gdevpdf.c)
    +
    +Corrects the margin information for the DeskJet printers to be the actual
    +values observed on a printer; all of the values in the file were wrong.
    +(gdevdjet.c)
    +
    +Adds pdfmark recognition and conversion to the PDF writer.  All documented
    +pdfmarks (ANN, ARTICLE, DEST, DOCINFO, DOCVIEW, LNK, OUT, PAGE, PAGES, PS)
    +are recognized and converted, but some of them are not converted correctly.
    +(gs_pdfwr.ps, gdevpdfx.h, gdevpdf.c, gdevpdfm.c)
    +
    +Adds recognition of all Distiller parameters, except *ImageDict, to the PDF
    +writer.  Currently only ASCII85EncodePages actually has any effect.
    +(gs_pdfwr.ps, gdevpdfx.h, gdevpdfp.c)
    +
    +Ensures that PDF output files include at least a default Info dictionary.
    +(gdevpdf.c)
    +
    +Changes the handling of coordinates in PDF output files so that the scale is
    +always 72 dpi, and so that each graphics operator is on a line by itself,
    +for compatibility with Adobe Illustrator.  (gdevpdfx.h, gdevpdf*.c)
    +
    +Adds a driver for ImageMagick's MIFF format.  The driver currently only
    +produces 24-bit, direct color, RLE compressed output.  (gdevmiff.c)
    +
    +

    Platforms

    +
    +Changes the gp_check_interrupts platform procedure so that instead of just
    +returning a Boolean, it can now also return a negative error code.  THIS IS
    +(THEORETICALLY) A NON-BACKWARD-COMPATIBLE CHANGE.  However, since all
    +implementations of this procedure should only have been returning 0 or 1 up
    +to now, no existing code should need to be changed.  (gpcheck.h, gsmisc.c)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- devicenames was accidentally deleted.  (gs_init.ps)
    +	- -dFAKEFONTS could cause the memory manager to waste a lot of time.
    +(gs_dps1.ps)
    +	- Using -r or -dFIXEDMEDIA with a non-page device caused an error.
    +(gs_init.ps)
    +	- A VMS compiler reserves the word "readonly", which was used as a
    +parameter name.  (imain.h, gsmain.c)
    +	- A garbage collection during the execution of x/y/xyshow with an
    +array providing the values could get confused.  (ibnum.h, ichar.h, stream.h,
    +ibnum.c, iscanbin.c, zchar.c, zchar2.c, zdps1.c, zupath.c)
    +	- Errors in encoded number strings produced a typecheck rather than
    +a rangecheck error.  (ibnum.c, zupath.c)
    +
    +Updates the DCT filters for IJG release 6a.  (zfdctc.c)
    +
    +Provides an API call for getting the real stdio files.  (imain.h,
    +gs.c, gsmain.c)
    +
    +

    Streams

    +
    +Fixes bugs:
    +	- If the CCITTFaxEncode stream encountered an output buffer boundary
    +while processing the last scan line of input, it could fail to process some
    +the scan line.  (scfe.c)
    +	- A couple of pointers weren't always initialized, possibly
    +confusing the garbage collector.  (stream.c)
    +	- The weighting coefficient structures used for image scaling
    +weren't declared properly for the garbage collector.  (siscale.h, siscale.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- Unrotated patterns always used the bounding box size as the step,
    +rather than XStep/YStep.  (gspcolor.c)
    +	- Alpha computations for graphics could be seriously incorrect (bug
    +introduced in 3.6x).  (gdevabuf.c)
    +	- The length of the next_data_x command for the fill_mask operation
    +was incorrect, causing the band list to become confused (bug introduced in
    +3.63).  (gxclpath.c)
    +	- An extern was omitted, causing linker warnings.  (gxdevice.h)
    +	- RasterOps could cause an invalid access because the palette
    +for a memory device wasn't set.  (gdevmrop.c)
    +	- gximage.h was included unnecessarily.  (gspaint.c)
    +	- Color screens caused a segmentation fault (bug introduced in
    +3.6x).  (gxcht.c)
    +	- cshow returned the width in an incorrect coordinate system.
    +(gscoord.h, gschar.c)
    +	- Filling or stroking a path that lay entirely off the page in the
    ++X or +Y direction could corrupt memory (bug introduced in 3.6x).
    +(gxclpath.c)
    +	- When banding, painting characters with halftones produced random
    +results (bug introduced in 3.6x).  (gxclpath.c)
    +	- When banding, characters could get clipped when they shouldn't be
    +(bug introduced in 3.6x).  (gxclpath.c)
    +	- The default implementation of fill_mask could discard clipped
    +bitmaps (bug introduced in 3.6x).  (gdevdflt.c)
    +	- Non-halftoned 24-bit colors could get garbled when banding (bug
    +introduced in 3.6x).  (gxclist.c)
    +	- When banding, if a stroked path had subpaths that fell entirely
    +outside the current band, the rest of the path was drawn in the wrong place
    +(bug introduced in 3.6x).  (gxclpath.c)
    +
    +Speeds up image interpolation on machines with slow floating point.
    +(siscale.h, siscale.c)
    +
    +Speeds up interpolated images when using device color spaces.  (gxcvalue.h,
    +gxfrac.h, gdevht.c, gxcmap.c, gsimage.c, gsimage3.c)
    +
    +Speeds up color mapping a little by removing tests and calls in favor of
    +code copying.  (gxcmap.c)
    +
    +Implements RasterOp for 24-bit RGB devices.  (gdevm8.c, gdevm24.c,
    +gdevmrop.c)
    +
    +
    + +

    Version 3.63 (limited, incremental) (1/14/96)

    + +

    +This release has the usual collection of bug fixes, and two significant +additions: AccurateScreens, and the first draft of a PostScript->PDF +converter ("distiller"). + +

    Documentation

    +Fixes bugs:
    +	- Some documentation for pstoppm.ps was out of date.  (psfiles.doc)
    +	- Documentation for acctest.ps, view*.ps, and zeroline.ps was
    +missing.  (psfiles.doc)
    +	- The documentation for rollconv.ps omitted the .CSR file.
    +(rollconv.ps)
    +
    +Removes an inappropriate RCS Id line.  (gs.1)
    +
    +Adds a list of paper sizes to the man page.  (gs.1)
    +
    +Suggests that driver authors use parameterization rather than copying when
    +possible.  (drivers.doc)
    +
    +Adds an announcement of Ghostscript support on CompuServe.  (README)
    +
    +Documents the new -dCOLORSCREEN switch and the existing -dDITHERPPI=lpi
    +switch.  (use.doc)
    +
    +Notes that the OS/2 implementation now requires EMX/GCC 0.9b rather than
    +0.9a.  (install.doc)
    +
    +Adds some new man pages.  (pdf2ps.1, ps2ascii.1)
    +
    +Greatly expands lib.doc.  (lib.doc)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- The pg target for Unix platforms didn't include some necessary
    +additional X11 libraries.  (unix-end.mak)
    +	- The Unix library makefile didn't define CCAUX or CCLEAF.
    +(ugcclib.mak)
    +	- Unix systems didn't `install' some .ps files.  (unix-end.mak)
    +
    +Extends genconf so that features at the library level can have
    +initialization procedures.  (gconf.c, genconf.c, gsinit.c)
    +
    +Adds a -dCOLORSCREEN[=false] switch to force enabling or disabling of
    +4-color screens.  (gs_init.ps, gs_setpd.ps)
    +
    +

    Utilities

    +
    +Fixes bugs:
    +	- The prfont utility didn't leave enough of a margin on the left.
    +(prfont.ps)
    +	- The ps2ascii utility still created files _temp_.out and _temp_.err
    +even though they are no longer used.  (ps2ascii.ps)
    +	- The acctest.ps file was empty, rather than including a test
    +program.  (acctest.ps)
    +
    +Adds ps2pdf[.bat] scripts for invoking the new pdfwrite driver.  (ps2pdf,
    +ps2pdf.bat, unix-end.mak)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- The x11alpha driver had a patch that suppressed output in many
    +cases.  (gdevxalt.c)
    +	- The X driver set up a parameter incorrectly in copy_color.
    +(gdevx.c)
    +	- An explicit cast was needed to handle a 'const' problem.
    +(gdevpng.c)
    +
    +Adds a pdfwrite driver that creates syntactically correct PDF output.  The
    +output is only reasonable for fill/stroke graphics, not for text or images.
    +(iscan.h, sa85x.h, sfilter.h, gdevpdf.c, sfilter2.c, zfdecode.c)
    +
    +

    Platforms

    +
    +Fixes bugs:
    +	- The test for WinExec failure on Win32 was incorrect.  (gp_mswin.c)
    +	- getenv was declared redundantly on OS/2.  (gp_os2.c)
    +	- gs16spl.c was missing <string.h>.  (gs16spl.c)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- Images read data in smaller and smaller increments (performance
    +bug only).  (zpaint.c)
    +	- Images with MultipleDataSources=true and two or more DataSources
    +referencing the same stream could get confused.  (zpaint.c)
    +	- Invoking setpagedevice with an undefined key, even with Policy =
    +1, caused an error.  (gs_setpd.ps)
    +	- IEEE floats in binary tokens or encoded number strings were read
    +incorrectly on CPUs that use non-IEEE floating point.  (ibnum.c)
    +
    +Adds a 'const' to the second parameter of zimage_setup.  (zimage2.c,
    +zpaint.c)
    +
    +Encapsulates the filling of free memory blocks in a macro.  (igc.c,
    +igcstr.c)
    +
    +

    Interpreter (PDF)

    +
    +Fixes bugs:
    +	- If the first line of a file began with % but the line was longer
    +than 255 characters, an error occurred.  (pdf_main.ps)
    +	- Masked images didn't set the color before drawing.  (gs_pdf.ps)
    +	- Extraneous blank lines in the trailer or cross-reference region
    +caused an error.  (pdf_base.ps, pdf_main.ps)
    +
    +

    Streams

    +
    +Speeds up image interpolation a little.  Much more could be still be done.
    +(siscale.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- An error in handling a boundary condition could cause a horizontal
    +streak of pixels to be turned on or off when it shouldn't be.  (gxfill.c)
    +	- The new scan-line-based filling loop could write pixels twice.
    +(The old trapezoid-based loop still does write pixels twice.)  (gxfill.c)
    +	- For multi-plane images, gs_image_next only sets *pused for the
    +last plane; this wasn't documented.  (gsimage.h)
    +	- Images with MultipleDataSources=true and two or more DataSources
    +referencing the same stream could get confused.  (gsimage.h, gsimage0.c)
    +	- 12-bit gray images caused an invalid memory access.  (gsimage.c)
    +	- Nearly-zero-thickness lines didn't get filled, because the hack
    +that compensates for this peculiarity of the MS Windows PostScript driver
    +accidentally got disabled.  (gxfill.c)
    +	- Some casts to remove 'const' were omitted.  (gxclread.c)
    +	- 1-line-high bitmaps could get written in the band list with an
    +inconsistent number of bytes, causing errors when reading.  (gxcldev.h,
    +gxclbits.c, gxclist.c, gxclpath.c, gxclread.c)
    +	- Isolated dots produced by round caps usually disappeared.  (They
    +still disappear sometimes.)  (gxstroke.c)
    +	- On 16-bit platforms, the computation of t2 and t3 in
    +gx_curve_x_at_y could overflow, leading to incorrect output.  (gxpcopy.c)
    +	- Stroking horizontal or vertical lines could produce variations of
    +1 pixel in the line width.  (gxstroke.c)
    +	- The default clipping region for band rendering was too large,
    +leading to wasted work.  (gxclread.c)
    +	- Guarantees no double pixel writing when necessary, i.e., when a
    +non-idempotent RasterOp is selected.  (gsropt.h, gxfill.c)
    +	- For unrotated black-and-white images, one column of pixels at the
    +right edge of the image might be incorrect.  (gsimage1.c)
    +	- A const pointer was passed inappropriately.  (gxistate.h,
    +gscoord.c)
    +	- CIE color conversion could address 1 element beyond the end of an
    +array, with unpredictable results.  (gscie.c)
    +
    +Separates out the higher-level band list facilities, so they can be an
    +optional feature.  (lib.mak, gxcldev.h, gxclpath.h, gxclbits.c, gxclist.c,
    +gxclpath.c, gxclread.c)
    +
    +Implements bitmap (fill_mask) clipping in the band list.  (gxcldev.h,
    +gxclpath.h, gxclist.c, gxclpath.c, gxclread.c)
    +
    +Starts to separate out the RasterOp facility as an optional feature.
    +(lib.mak, gxdevice.h, gxdevrop.h, gdevdflt.c, gdevmrop.c)
    +
    +Encapsulates the filling of free memory blocks in a macro, at the request of
    +a licensee.  (gdebug.h, gsmdebug.h, gsmemory.h, gs.c, gsalloc.c, gsmemory.c,
    +gxbcache.c)
    +
    +Speeds up fill_rectangle for 32-bit devices.  (gdevm32.c)
    +
    +Speeds up path writing in band lists a little.  (gxclpath.c)
    +
    +Implements AccurateScreens along the lines described in the Adobe
    +documentation.  The current implementation can produce very large
    +super-cells, so it will not always be able to actually increase the screen
    +accuracy.  (gxdht.h, gsht.c, gshtscr.c)
    +
    +
    + +

    Version 3.62 (limited, incremental) (12/26/95)

    + +

    +This release makes some licensee-requested improvements in the garbage +collector and fixes a couple of minor bugs. It also constitutes a +checkpoint for the forthcoming forked 3.53 release. + +

    Documentation

    +Notes that for Win32s, gs16spl.exe must be in the same directory as
    +gswin32.exe.  (install.doc)
    +
    +Changes `3.N' to a real version number in the man page.  (gs.1)
    +
    +Adds a reference to dos-psv, another "dumb terminal" user interface for
    +Ghostscript intended for MS-DOS users.  (README)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- The stack size for some of the PC platforms was set too small.
    +(watc.mak, watcwin.mak)
    +
    +Changes the default value of ORIENT1 from false to true, i.e., assumes that
    +a value of 1 for the orientation parameter of setpageparams indicates
    +portrait orientation.  THIS IS A NON-BACKWARD-COMPATIBLE CHANGE.  It only
    +affects files created for roll-media imagesetters.  (gs_init.ps, use.doc)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- The definition of the op_index_op_array_table macro had an
    +incorrect trailing semicolon.  (opdef.h)
    +	- Setting the PageSize policy to 1 and then trying to set the page
    +size caused an error if FIXEDMEDIA was selected.  (gs_setpd.ps)
    +
    +Changes the garbage collector marking phase so that instead of just using a
    +single block (allocated, free, or default) for the mark stack, it can chain
    +all three types of block together.  (igc.h, igc.c, igcstr.c, ilocate.c)
    +
    +Refactors the garbage collector slightly to reduce inter-module
    +dependencies.  (int.mak, igc.h, igcstr.h, igcstr.c)
    +
    +Changes the garbage collector to keep track of ranges within each chunk that
    +must be scanned if the mark stack overflows.  (gxalloc.h, igc.c)
    +
    +Adds [write]===[only] procedures, which act like == but also print the
    +contents of dictionaries, and ppstack, which acts like pstack but uses ===.
    +Changes ESTACKPRINT and OSTACKPRINT to use === rather than ==.  (gs_init.ps,
    +gs_setpd.ps)
    +
    +

    Interpreter (PDF)

    +
    +Fixes bugs:
    +	- If a PDF file substituted a calibrated color space for the
    +DeviceGray or DeviceRGB color space using a ColorSpace resource, the
    +PostScript file that pdf2ps produced from that PDF file caused an error.
    +(gs_pdf.ps)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- The debugging code for checking the sorting of line lists didn't
    +check for an empty list.  (gxfill.c)
    +
    +
    + +

    Version 3.61 (limited) (12/10/95)

    + +

    +This limited release fixes a few bugs (including a couple that significantly +affected character quality) and also includes some substantial performance +improvements. + +

    Documentation

    +Fixes bugs:
    +	- The directory name for the PNG library was incorrect.
    +(libpng.mak)
    +	- The analysis of curve monotonocity in gxpcopy.c had an error.
    +(gxpcopy.c)
    +
    +Changes the subdirectory names for zlib and libpng to be consistent.
    +(make.doc)
    +
    +Documents a possible problem with object file format incompatibilities in
    +certain versions of GNU/Linux.  (make.doc)
    +
    +Documents the new distinction between devices and device prototypes.
    +(language.doc)
    +
    +Adds a pointer to DEC's free pstotext utility.  (README)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- zlib.mak omitted some files in the encoding module dependencies.
    +(zlib.mak)
    +	- os2.mak referred to png.mak rather than libpng.mak.  (os2.mak)
    +	- The png devices didn't include gdevpccm.$(OBJ) as a required file.
    +(devs.mak)
    +	- Some modules in lib.mak referred to stream.h, which was defined in
    +int.mak.  (int.mak, lib.mak)
    +	- Quite a few dependencies on header files were missing from the
    +makefiles.  (int.mak, lib.mak, *.mak)
    +
    +Adds a 'pg' target to the Unix makefiles, for building profiling
    +configurations.  (unix-end.mak)
    +
    +

    Utilities

    +
    +Fixes bugs:
    +	- Type 1 fonts in which some characters are defined by PostScript
    +procedures couldn't be compiled.  (ccfont.h, iccfont.c, font2c.ps)
    +	- pdf2ps didn't write Widths or Encoding in the converted file,
    +producing incorrect spacing and incorrect characters.  (pdf_2ps.ps)
    +	- markhint.ps didn't handle the Type 1 'div' operator, causing
    +typecheck errors.  (markhint.ps)
    +	- markhint.ps ignored the hstem3 and vstem3 hints.  (markhint.ps)
    +
    +Changes the rollconv.ps utility to produce files whose names conform to the
    +8.3 length restriction, and to reduce the fixed RAM overhead for Kanji
    +fonts.  (rollconv.ps)
    +
    +Adds a utility for detecting compiler problems that affect Ghostscript.
    +(bughunt.sh)
    +
    +

    Drivers

    +
    +Adds anti-aliasing capability (-dTextAlphaBits and -dGraphicsAlphaBits) to
    +the PGM and PPM drivers.  (gdevpbm.c)
    +
    +Declares the static_procs member of the device structure as const *.  This
    +should have been done a long time ago!  (drivers.doc, gxdevice.h)
    +
    +

    Platforms

    +
    +Fixes bugs:
    +	- Printing didn't work in 32-bit MS Windows environments.
    +(bcwin32.mak, gdevmswn.c, gp_mswin.c)
    +	- There were some compatibility problems with IBM C.  (os2.mak,
    +gsdll.h, gdevpm.c, gp_os2.c)
    +
    +Adds the PNG drivers to the 32-bit MS Windows and OS/2 makefiles.
    +(bcwin32.mak, os2.mak)
    +
    +Adds a conditional to work around a bug in gcc 2.7.x (it didn't recognize
    +that the target of a const T * might still be mutable through aliasing).
    +(stdpre.h)
    +
    +

    Fonts

    +
    +Fixes bugs:
    +	- Rasterizing a character in a Type 1 font with an invalid FontBBox
    +left some garbage on the operand stack (bug introduced in 3.52 or 3.60).
    +(gs_type1.ps)
    +	- The font substitution algorithm could fail or loop.  (gs_fonts.ps)
    +
    +Adds a little more support for CID fonts and CMaps.  (gs_cidfn.ps,
    +gs_cmap.ps)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- An #include <memory_.h> was missing.  (ziodev.h)
    +	- Scanner-detected errors (primarily syntaxerror) didn't report the
    +file position.  (gs_init.ps)
    +	- Rotated characters were rendered incorrectly (bug introduced in
    +3.52).  (gstype1.c)
    +	- Some compilers got upset about the use of 'dict' as a variable
    +name.  (zdict.c)
    +	- Operand stack overflows sometimes didn't set the "requested" field
    +correctly.  (interp.c)
    +	- Using -dBufferSpace= with a non-printer device caused an error.
    +(gs_init.ps)
    +
    +Adds zlibEncode/Decode filters.  (int.mak, zfzlib.c)
    +
    +Separates devices from device prototypes.  Prototypes, which lack the
    +writable attribute, cannot be installed as the current device or have their
    +parameters changed.  This change allows Ghostscript to be exited and
    +restarted without being reloaded, which solves some problems with DLL
    +usage.  ****** WE HAD TO SUBVERT THIS CHANGE BECAUSE OF MEMORY MANAGER
    +PROBLEMS, by making zgetdevice return a writable reference to the
    +prototype.  (We finally fixed this in release 3.65.)  (gs_init.ps, iref.h,
    +opcheck.h, zdevice.c, ztype.c, zwppm.c)
    +
    +Extends the client API to allow for pushing values onto the operand stack.
    +(imain.h, gs.c, gsmain.c)
    +
    +Defines a .setdefaultscreen procedure that sets the default halftone screen,
    +transfer function, and stroke adjustment for the current device.  Changes
    +selectdevice and setpagedevice so that they call .setdefaultscreen;
    +setpagedevice calls .setdefaultscreen before calling the Install procedure,
    +so that Install can set different parameters if it wishes.  Note that
    +setdevice does not do this.  (gs_init.ps, gs_setpd.ps)
    +
    +

    Interpreter (PDF)

    +
    +Fixes bugs:
    +	- Tf set the current text font twice, and interacted with pdf2ps in
    +an awkward way.  (gs_pdf.ps, pdf_2ps.ps, pdf_font.ps)
    +	- If a font had variant Widths, it could get confused in the cache
    +with the underlying font.  (pdf_font.ps)
    +	- If a character appeared twice in an encoding and the font
    +specified different Widths values for the two occurrences, the last Width
    +would be used.  We patched this to ignore zero Widths, which is not the
    +correct solution but which almost always produces correct output.
    +(pdf_font.ps)
    +	- Arrays containing nulls didn't print out correctly (bug introduced
    +in 3.60).  (gs_init.ps)
    +	- Some PDF files contain very large dictionaries, which caused a
    +stackoverflow.  (pdf_base.ps)
    +
    +Speeds up the initial processing of PDF files by caching the map from page
    +numbers to page objects, and by not scanning the outlines if we aren't
    +producing PostScript output.  (pdf_2ps.ps, pdf_base.ps, pdf_main.ps)
    +
    +

    Streams

    +
    +Adds zlibEncode/Decode filters.  (lib.mak, szlibx.h, szlibc.c, szlibd.c,
    +szlibe.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- glyphshow displayed a character with code 0 rather than the
    +requested character (bug introduced in 3.60.)  (gschar.c)
    +	- If trimming white space around a character reduced its raster, the
    +character was garbled in the cache (bug introduced in 3.60.)  (gxccman.c)
    +	- colorimage would incorrectly convert white pixels to black if the
    +image color space was CMYK, the current color space was not CMYK, and the
    +number of bits per pixel was 4 or 8.  (gsimage2.c)
    +	- One of the clipping tests for images was backwards (bug introduced
    +in 3.60).  (gsimage.c)
    +	- Type 1 fonts that used the Flex feature applied hints to the path
    +multiple times, causing dropouts, uneven stems, and other problems (bug
    +probably introduced in 3.21).  (gstype1.c)
    +	- If a Type 1 font used the Flex feature within the accent of an
    +accented character defined with seac, the shape of the accent could be
    +distorted.  (gxtype1.h, gstype1.c)
    +	- If a Type 1 font changed hints using the hint replacement facility
    +when the last operation was a closepath, the old hints would be applied a
    +second time, distorting the shape.  (gxhint3.c)
    +	- Band lists could read garbage beyond the end of data for a band,
    +causing unpredictable errors (bug introduced in 3.60).  (gxclread.c)
    +	- If the bounding box of the path for fill_path or stroke_path went
    +outside the device page boundary when banding, out-of-bounds memory
    +references occurred (bug introduced in 3.60).  (gxdevice.h, gxclpath.c)
    +
    +Adds an alternative implementation of the core path filling algorithm that
    +is much faster on objects with curves but doesn't handle Y fattening.  This
    +is the implementation that will normally be used for rasterizing characters.
    +This implementation rasterizes curves directly, without flattening them.
    +(gxfixed.h, gxpath.h, gzpath.h, gsdps1.c, gxfill.c, gxpcopy.c, gxpdash.c)
    +
    +Speeds up the flattening of curves substantially by omitting more redundant
    +points.  (gxpcopy.c)
    +
    +Speeds up character bitmap compression a little more.  (gsbitops.h,
    +gdevabuf.c, gsbitops.c, gxccman.c)
    +
    +Speeds up anti-aliased graphics a bit by computing a bounding box before
    +converting from oversampling to alpha values, and by speeding up the
    +bounding box computation itself.  (gsbitops.h, gdevabuf.c, gsbitops.c,
    +gxccman.c)
    +
    +
    + +

    Version 3.60 (limited) (11/20/95)

    + +

    +(Note: release numbers 3.54 through 3.59 were deliberately skipped.) This +internal release includes a major redesign of band lists in order to reduce +their size for embedded implementations, to move towards supporting "vector" +output formats, and to further separate the imager library from the language +interpreters. + +

    Documentation

    +Fixes bugs:
    +	- A comment was incorrect.  (viewpbm.ps)
    +	- The PixelDifference filters were not documented.  (language.doc)
    +	- The change from currenttime to .currenttime wasn't documented.
    +(language.doc)
    +	- gs.1 incorrectly stated that the default font directory name
    +included the version number.  (gs.1)
    +	- The -g and -r switches didn't specify that the units for their
    +arguments are pixels and pixels per inch respectively.  (use.doc)
    +	- The PageOffset page device parameter wasn't listed.
    +(language.doc)
    +
    +Changes copy_mono and copy_color to optional procedures.  (drivers.doc)
    +
    +Adds a reference to ps_view.ps, a "dumb terminal" user interface for
    +Ghostscript intended for MS-DOS users.  (README)
    +
    +Splits off the documentation on installing Ghostscript into a separate file.
    +(readme, install.doc, use.doc)
    +
    +Adds documentation on the data format produced by the standard LZWEncode
    +filter.  (readme, lzwce.doc)
    +
    +Clarifies XLIBDIR vs. XLIBDIRS.  (make.doc)
    +
    +Adds user-contributed documentation on building Ghostscript under QNX.
    +(make.doc)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- The rule for building dfaxhigh.dev had a typo.  (devs.mak)
    +	- The dependencies for gdevpipe.h were missing errno__h and
    +string__h.  (unixtail.mak)
    +	- The geninit program (the implementation of COMPILE_INITS=1) didn't
    +parse the command line properly, and didn't check for PostScript files
    +properly.  (geninit.c)
    +	- ccfontab.c was omitted from the fileset.  The easiest way to fix
    +this was to rename it to icfontab.c.  (gs.mak, int.mak, ccfontab.c)
    +	- The Unix makefiles installed caption.ls (a typo) rather than
    +caption.ps.  (unix-end.mak)
    +	- XLIBDIR, for dynamic library access, wasn't defined.  (*head.mak,
    +*tail.mak, ugcclib.mak)
    +
    +Adds the PNG and ZLIB makefiles to the fileset.  (*.mak, png.mak, zlib.mak,
    +tar_cat)
    +
    +Puts the PixelDifference filters in the standard Level 2 set, since the LZW
    +filters may invoke them (a post-Red Book addition to the PostScript language
    +definition).  (int.mak)
    +
    +Adds -Wcast-qual to the gcc compiler flags.  (gcc-head.mak)
    +
    +Adds the PNG drivers to the standard Unix configurations.
    +(ansi/cc-/gcc-head.mak)
    +
    +Adds a -dNOFONTPATH switch to suppress any consultation of the FONTPATH
    +variable or the GS_FONTPATH environment variable.  (gs_fonts.ps, gs_init.ps)
    +
    +

    Utilities

    +
    +Fixes bugs:
    +	- The default scaling for viewing PBM files was computed
    +incorrectly.  (viewpbm.ps)
    +	- ps2ascii left a value on the stack for each unrecognized character
    +it processed, eventually causing a stackoverflow.  (ps2ascii.ps)
    +
    +Changes viewpbm.ps so that it simply defines P1 through P6, allowing PBM
    +files to be executed with 'run'.  (viewpbm.ps)
    +
    +Adds a small benchmark to crudely measure hardware/system performance.  The
    +same file can either be compiled as a C program or executed as a PostScript
    +program.  (bench.c)
    +
    +Adds a few PPD files to the distribution.  There will probably be more as
    +time goes on.  (tar_gs, unix-end.mak)
    +
    +Updates the Unix lpr scripts to handle a wider variety of device options.
    +(unix-lpr.doc, lprsetup.sh, unix-lpr.sh)
    +
    +Adds a utility for converting files produced by Macromedia's Rollup program
    +to a Type 0 form directly usable by Ghostscript.  (rollconv.ps)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- Forwarding devices passed an incorrect first argument when
    +forwarding a copy_rop operation.  (gsdevice.c)
    +	- Because of a typo, the LaserJet drivers had incorrect margins.
    +This was probably a new bug in 3.5x.  (gdevdjet.c)
    +	- A private name was duplicated.  (gdevtfax.c)
    +	- The x11alpha driver passed invalid colors to the X library.
    +(gdevxalt.c)
    +	- The x11alpha driver set the blue component of colors incorrectly.
    +(gdevxalt.c)
    +	- Some `const' declarations were missing.  (gdevtifs.c, gdevtfnx.c,
    +gdevxxf.c)
    +	- The size of A4 paper was slightly inconsistent across drivers.
    +(gdevdjet.c, gdevl256.c)
    +
    +Provides default implementations of copy_mono and copy_color in terms of
    +fill_rectangle.  (gxdevice.h, gsdevice.c)
    +
    +Adds forwarders for sync_output and output_page.  (gxdevice.h, gsdevice.c)
    +
    +Adds new optional procedures to the driver interface:
    +	- fill_path for filling a path with a color;
    +	- stroke_path for stroking a path;
    +	- fill_mask for painting a color through a mask.
    +The default implementations use the existing rasterizer algorithms.  This
    +involves a NON-BACKWARD-COMPATIBLE change to the parameters of a few
    +internal routines:
    +	gs_currentlineparams
    +	gx_fill_path, gx_fill_path_only, gx_path_expand_dashes, gx_path_flatten
    +and two externally visible routines not part of standard PostScript:
    +	gs_setfilladjust, gs_currentfilladjust
    +(gdevmem.h, gdevprn.h, gspath.h, gspenum.h, gxcpath.h, gxdevice.h, gxdraw.h,
    +gxpaint.h, gxpath.h, gscoord.c, gsdevice.c, gspaint.c, gsstate.c,
    +gxacpath.c, gxclist.c, gxclread.c, gxcpath.c, gxdraw.c, gxfill.c, gxpaint.c,
    +gxpcmap.c, gxpcopy.c, gxstroke.c)
    +
    +Makes major changes to the dithering algorithm for the color DeskJet and
    +BubbleJet drivers, contributed by a user.  (gdevcdj.c)
    +
    +Adds a contributed 12-bit RGB TIFF driver.  (gdevtfnx.c)
    +
    +

    Platforms

    +
    +Fixes bugs:
    +	- The printjob created by Ghostscript was called "Ghostscirpt"
    +instead of "Ghostscript".  (gp_os2.c)
    +	- An "export" declaration was omitted from DllInit.  (gp_mswin.c)
    +
    +Removes gp_get_clock (its interface was changed from calendar
    +days/milliseconds to epoch seconds/nanoseconds in an undocumented,
    +NON-BACKWARD-COMPATIBLE change in 3.51), and adds a new gp_get_realtime
    +procedure that returns epoch seconds/nanoseconds.  This too is a
    +NON-BACKWARD-COMPATIBLE change; it is required because we overlooked the
    +prior change in a batch of user-contributed code.  (gp.h, gp_*.c)
    +
    +

    Fonts

    +
    +Adds Heavy as a synonym for Bold when doing intelligent font substitution.
    +(gs_fonts.ps)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- The setup for the CCITTFax filters set the 'raster' element
    +redundantly.  (zfdecode.c)
    +	- currentscreen and currentcolorscreen could give an error if the
    +current screen was set with sethalftone (or, for currentscreen,
    +setcolorscreen).  (gs_dps1.ps)
    +	- The font operators didn't work properly if a PostScript file
    +redefined certain operator names.  (gs_res.ps)
    +	- The CCITTFax filters imposed a limit of 9999 Rows or Columns.  The
    +new limit is 32000.  (zfdecode.c)
    +	- Streams could get removed from a bookkeeping list prematurely, and
    +wind up dangling.  (zfile.c)
    +	- The garbage collector didn't ask for large enough a mark stack,
    +and only used half of what it got.  (This was only a performance problem.)
    +(igc.c)
    +	- Two private names duplicated names in a vendor library.  (zbseq.c)
    +	- Type 1 fonts didn't enforce the maximum value of BlueScale, which
    +caused some faulty fonts produced by Fontographer to produce incorrect
    +output.  (zfont1.c)
    +	- cvs / cvrs / = didn't produce Adobe-compatible output.
    +(gs_init.ps, iutil.h, iutil.c, zfileio.c)
    +	- Multiple -I switches set the search path incorrectly.  (gsmain.c)
    +	- Many `const' declarations were missing.  (icie.h, idparam.h,
    +iref.h, iutil.h, idparam.c, iinit.c, ilocate.c, iname.c, interp.c, iparam.c,
    +iutil.c, zcie.c, zfile.c, zgstate.c, ziodev.c, ztype.c)
    +	- Fonts could wind up with a pointer to the wrong VM space, causing
    +potential GC or save/restore confusion.  (zfont2.c)
    +	- upath could leave garbage on the stack if it failed.  (gs_dps1.ps)
    +
    +Speeds up rasterizing characters into the cache a little.  (gs_type0.ps)
    +
    +Changes the default limit on the size of cached characters from the maximum
    +of (18 points or 5 times the "average" character size) to (18 points or 1%
    +of the total cache size).  (gs_init.ps)
    +
    +Adds the DecodedByteAlign parameter to the CCITTFax filters.  (zfdecode.c)
    +
    +Updates some code for compatibility with the new fill_path driver procedure.
    +(zupath.c)
    +
    +Replaces .set/currentfilladjust with .set/currentfilladjust2, and defines
    +the former in terms of the latter.  (gs_init.ps, zgstate.c)
    +
    +Extends the make[word]imagedevice operators to accept palette values of 16,
    +24, and 32, for creating true-color image devices.  (zdevice.c)
    +
    +Changes realtime to match the definition of gp_get_realtime.  (zmisc.c)
    +
    +Removes the [.]currenttime operator.  realtime provides interval timing in
    +milliseconds; the %Calendar% IODevice provides calendar times.  (zmisc.c)
    +
    +Extends the LZW filters to handle the PDF Predictor (pixel-differencing)
    +option.  (zfdecode.c, zfilter2.c, zfpdiff.c (deleted))
    +
    +

    Interpreter (PDF)

    +
    +Fixes bugs:
    +	- The length of an image's data was sometimes calculated
    +incorrectly, causing an error when converting PDF to PostScript.
    +(pdf_draw.ps)
    +	- If word spacing and/or text spacing was non-zero, an error could
    +occur.  (gs_pdf.ps)
    +	- Text that was both filled and stroked caused an error.
    +(gs_pdf.ps)
    +
    +

    Streams

    +
    +Fixes bugs:
    +	- When closing an encoding filter stream whose target was also a
    +filter, the latter could get called incorrectly with last = 1, possibly more
    +than once, leading to premature EOD markers.  (stream.c)
    +	- The LZW-compatible encoder put out an incorrect end-of-data code.
    +(slzwce.c)
    +	- The LZW-compatible encoder didn't put out a reset code soon
    +enough.  (slzwce.c)
    +	- Some `const' declarations were missing.  (siscale.c)
    +	- Doing a sgets on a closed stream could call sreadbuf, possibly
    +causing an error.  (stream.c)
    +
    +Adds a new (optional) set_defaults procedure to the stream template, which
    +sets the stream parameters to default values.  We only implement it for a
    +few stream types.  (scfx.h, scommon.h, slzwx.h, spdiffx.h, srlx.h,
    +strimpl.h, scfd.c, scfe.c, slzwce.c, slzwd.c, slzwe.c, spdiff.c, srld.c,
    +srle.c)
    +
    +Adds a new parameter to the CCITTFax filters, DecodedByteAlign.  This is an
    +integer N, which must be a power of 2 between 1 (2^0) and 16 (2^4), that
    +specifies that decoded data scan lines are always a multiple of N bytes.
    +The encoding filter skips data in each scan line from Columns to the next
    +multiple of N bytes; the decoding filter pads each scan line to a multiple
    +of N bytes.  Default value: 1.  (scfx.h, scfd.c, scfe.c)
    +
    +Increases the maximum width of a scan line for the CCITTFaxEncode filter to
    +32000 pixels.  (scf.h)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- Cached characters sometimes had extra blank space on the left,
    +leading to some unnecessary bit-shuffling when imaging them.  (gxccman.c)
    +	- In rare cases, gray halftones called gx_color_load unnecessarily.
    +(gxdither.c)
    +	- The list of all-bands commands wasn't initialized/reset properly.
    +(gxclist.c, gxclread.c)
    +	- Rendering an anti-aliased character to a non-anti-aliased device
    +didn't free the temporary bitmap, causing memory to be lost.  (gxccache.c)
    +	- Dash patterns where the offset exactly reached a run of length 0
    +skipped over the 0-length run.  (gsline.c)
    +	- Rectangles closed with both lineto and closepath weren't
    +recognized as rectangles.  This is only a performance bug.  (gxpath2.c)
    +	- Because of a typo in a macro formal parameter list, a private name
    +was duplicated.  (gsstruct.h)
    +	- Text display operations didn't update the current character in the
    +enumerator structure during the fastest path through the code.  This only
    +matters to one very unusual commercial client.  (gschar.c)
    +	- Some `const' declarations were missing.  (gsparam.h, gxistate.h,
    +stdpre.h; gdevm1.c, gsalloc.c, gsfont.c, gsimage3.c, gsmemory.c, gsmisc.c,
    +gspcolor.c, gstype1.c, gxfill.c, gxpcopy.c)
    +
    +Changes the header files to assume that gcc on Solaris defines
    +__svr4__ and that, in this case, <string.h> has the right stuff in it.
    +(memory_.h)
    +
    +Refactors the character cache to share structures with a similar cache
    +used by band lists.  Eventually the band list may be able to reference
    +the character cache directly, saving a lot of copying.  (gxbcache.h,
    +gxfcache.h, gsfont.c, gxbcache.c, gxccache.c, gxccman.c)
    +
    +Speeds up getting the side bearing and width of a Type 1 charstring a
    +little.  (gxtype1.h, gstype1.c)
    +
    +Redesigns band lists so that they can cache character bitmaps as well as
    +halftone bitmaps.  Characters may be written for all bands, not just the
    +band(s) they appear in, depending on the setting of the CHAR_ALL_BANDS_COUNT
    +parameter in gxclbits.c.  (gxcldev.h, gxclist.h, gxclbits.c, gxclist.c,
    +gxclread.c)
    +
    +Adds G4 fax compression for band list bitmaps.  (gxcldev.h, gxclist.c,
    +gxclread.c)
    +
    +Incorporates the new set_defaults procedure into the memory-based band list
    +implementation.  (gxclmem.c)
    +
    +Implements a halftoning device that can be used in a device pipeline.
    +(gdevht.h, gzht.h, gdevht.c, gxcht.c)
    +
    +Factors out imager state from the full graphics state.  This division is
    +preliminary and subject to change.  (gxistate.h, gxop1.h, gzstate.h,
    +gsline.c, gsstate.c, gstype1.c, gxhint*.c)
    +
    +Implements passing fill operations in the band list, except for pattern
    +color or colored halftones.  (gxcldev.h, gxclist.h, gxclist.c, gxclread.c)
    +
    +Implements passing stroke operations in the band list, except for pattern
    +color or colored halftones.  (gsline.h, gslparam.h, gxline.h, gzline.h,
    +gsline.c; gxcldev.h, gxclist.h, gxclist.c, gxclread.c)
    +
    +Implements the ability to represent halftoned characters in the band list.
    +(gxccache.c)
    +
    +Starts to implement the ability to do halftoning during the rendering phase
    +rather than before writing the band list (currently for black-and-white
    +devices only).  Doing this required NON-BACKWARD-COMPATIBLE changes to the
    +interfaces of a few internal procedures:
    +	gx_check_tile_size, gx_render_device_{color,gray}
    +(gxdcolor.h, gxdht.h, gzht.h, gsht.c, gsimage1.c, gsmisc.c, gspcolor.c,
    +gsstate.c, gxcht.c, gxclbits.c, gxdither.c, gxht.c)
    +
    +Implements passing clipping information in the band list.  (gzcpath.h,
    +gxacpath.c, gxclpath.c, gxclread.c, gxcpath.c)
    +
    +Removes the gs_state * parameter from the device color fill_rectangle
    +procedures and many of their callers, since it is no longer needed.  This is
    +a non-backward-compatible change to an internal API.  (gdevmrop.h,
    +gxdcolor.h, gxdraw.h, gxpaint.h, gdevmrop.c, gsimage.c, gspcolor.c, gxcht.c,
    +gxclread.c, gxdraw.c, gxfill.c, gxht.c, gxpaint.c, gxstroke.c)
    +
    +Removes gxdevice.h from gzstate.h, since not all modules requiring access to
    +the graphics state need to know the implementation of devices.  This entails
    +adding gxdevice.h to the include lists for some modules.  (gxchar.h,
    +gxcpath.h, gxcvalue.h, gxdevice.h, gxtype1.h, gzstate.h; gschar.c,
    +gscoord.c, gsdevice.c, gsimage1.c, gsimage2.c, gsimage3.c, gspaint.c,
    +gspath.c, gsstate.c, gstype1.c, gxccache.c, gxccman.c, gxhint1.c, gxhint2.c,
    +gxhint3.c, gxpaint.c)
    +
    +Adds a compile-time option, ALPHA_LSB_FIRST, which causes alpha-sampled
    +characters to be nibble-reversed in the cache.  This was created for a
    +specialized application and does not interact well with the rest of the
    +code.  (gsbitops.c)
    +
    +Substantially reduces the space required to represent 24- or 32-bit colors
    +in the band list, by using more aggressive color differencing.  (gxcldev.h,
    +gxclist.c, gxclread.c)
    +
    +Changes the allocation of unique IDs for halftone tiles to use the gray
    +level rather than the number of 1-bits as the increment to a base ID; this
    +allows more efficient (delta) representation of halftone indices in the band
    +list.  (gxcldev.h, gxclist.c, gxclread.c, gxht.c)
    +
    +Substantially speeds up entering anti-aliased characters in the cache, by
    +removing white space before compressing rather than vice versa.
    +(gsbitops.c, gxccman.c)
    +
    +
    + +
    + +

    Version 3.53 (1/10/96)

    + +

    +This is an anomalous, out-of-sequence release requested by a commercial +licensee. It consists of 3.52 plus the following retrofits from 3.60 +through 3.63: + - PDF interpreter and pdf2ps; + - Type 1 rasterizer fixes; + - Type 1 rasterizer and polygon fill performance improvements; + - MS Windows and OS/2 fixes; + - A few other important fixes. +It does NOT fix all problems reported since 3.52. + +

    +The list of changes below indicates which subsequent release was the source +of each change. In several cases, minor editing of the change was required +to make it compatible with 3.52. + +

    Documentation

    +Fixes bugs:
    +	[3.61] The analysis of curve monotonocity in gxpcopy.c had an error.
    +(gxpcopy.c)
    +
    +[3.63] Notes that the OS/2 implementation now requires EMX/GCC 0.9b rather
    +than 0.9a.  (use.doc)
    +
    +[3.62] Notes that for Win32s, gs16spl.exe must be in the same directory as
    +gswin32.exe.  (use.doc)
    +
    +[3.62] Adds a reference to dos-psv, another "dumb terminal" user interface
    +for Ghostscript intended for MS-DOS users.  (README)
    +
    +[3.61] Adds a pointer to DEC's free pstotext utility.  (README)
    +
    +[3.60] Adds a reference to ps_view.ps, a "dumb terminal" user interface for
    +Ghostscript intended for MS-DOS users.  (README)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	[3.60] The geninit program (the implementation of COMPILE_INITS=1)
    +didn't parse the command line properly, and didn't check for PostScript
    +files properly.  (geninit.c)
    +	[3.60] ccfontab.c was omitted from the fileset.  The easiest way to
    +fix this was to rename it to icfontab.c.  (gs.mak, int.mak, ccfontab.c)
    +	[3.60] The definition of pdfread.dev did an ADDMOD, not a SETMOD.
    +(int.mak)
    +
    +[3.60] Adds a -dNOFONTPATH switch to suppress any consultation of the
    +FONTPATH variable or the GS_FONTPATH environment variable.  (gs_fonts.ps,
    +gs_init.ps)
    +
    +

    Utilities

    +
    +Fixes bugs:
    +	[3.61] pdf2ps didn't write Widths or Encoding in the converted file,
    +producing incorrect spacing and incorrect characters.  (pdf_2ps.ps)
    +	[3.60] ps2ascii left a value on the stack for each unrecognized
    +character it processed, eventually causing a stackoverflow.  (ps2ascii.ps)
    +
    +[3.61] Changes the rollconv.ps utility to produce files whose names conform
    +to the 8.3 length restriction, and to reduce the fixed RAM overhead for
    +Kanji fonts.  (rollconv.ps)
    +
    +[3.60] Adds a utility for converting files produced by Macromedia's Rollup
    +program to a Type 0 form directly usable by Ghostscript.  (rollconv.ps)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	[3.60] Because of a typo, the LaserJet drivers had incorrect
    +margins.  This was probably a new bug in 3.5x.  (gdevdjet.c)
    +	[3.60] A private name was duplicated.  (gdevtfax.c)
    +	[3.60] The x11alpha driver passed invalid colors to the X library.
    +(gdevxalt.c)
    +	[3.60] The x11alpha driver set the blue component of colors
    +incorrectly.  (gdevxalt.c)
    +
    +

    Platforms

    +
    +Fixes bugs:
    +	[3.63] The test for WinExec failure on Win32 was incorrect.
    +(gp_mswin.c)
    +	[3.63] getenv was declared redundantly on OS/2.  (gp_os2.c)
    +	[3.63] gs16spl.c was missing <string.h>.  (gs16spl.c)
    +	[3.61] Printing didn't work in 32-bit MS Windows environments.
    +(bcwin32.mak, gdevmswn.c, gp_mswin.c)
    +	[3.61] There were some compatibility problems with IBM C.  (os2.mak,
    +gsdll.h, gdevpm.c, gp_os2.c)
    +	[3.60] The printjob created by Ghostscript was called "Ghostscirpt"
    +instead of "Ghostscript".  (gp_os2.c)
    +	[3.60] An "export" declaration was omitted from DllInit.
    +(gp_mswin.c)
    +
    +[3.61] Adds a conditional to work around a bug in gcc 2.7.x (it didn't
    +recognize that the target of a const T * might still be mutable through
    +aliasing).  (stdpre.h)
    +
    +

    Fonts

    +
    +Fixes bugs:
    +	[3.61] Rasterizing a character in a Type 1 font with an invalid
    +FontBBox left some garbage on the operand stack (bug introduced in 3.52 or
    +3.60).  (gs_type1.ps)
    +	[3.61] The font substitution algorithm could fail or loop.
    +(gs_fonts.ps)
    +
    +[3.60] Adds Heavy as a synonym for Bold when doing intelligent font
    +substitution.  (gs_fonts.ps)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	[3.63] Invoking setpagedevice with an undefined key, even with
    +Policy = 1, caused an error.  (gs_setpd.ps)
    +	[3.62] Setting the PageSize policy to 1 and then trying to set the
    +page size caused an error if FIXEDMEDIA was selected.  (gs_setpd.ps)
    +	[3.61] Rotated characters were rendered incorrectly (bug introduced
    +in 3.52).  (gstype1.c)
    +	[3.60] currentscreen and currentcolorscreen could give an error if
    +the current screen was set with sethalftone (or, for currentscreen,
    +setcolorscreen).  (gs_dps1.ps)
    +	[3.60] Streams could get removed from a bookkeeping list
    +prematurely, and wind up dangling.  (zfile.c)
    +	[3.60] Multiple -I switches set the search path incorrectly.
    +(gsmain.c)
    +	[3.60] Fonts could wind up with a pointer to the wrong VM space,
    +causing potential GC or save/restore confusion.  (zfont2.c)
    +	[3.60] upath could leave garbage on the stack if it failed.
    +(gs_dps1.ps)
    +
    +[3.61] Extends the client API to allow for pushing values onto the operand
    +stack.  (imain.h, gs.c, gsmain.c)
    +
    +[3.61] Defines a .setdefaultscreen procedure that sets the default halftone
    +screen, transfer function, and stroke adjustment for the current device.
    +Changes selectdevice and setpagedevice so that they call .setdefaultscreen;
    +setpagedevice calls .setdefaultscreen before calling the Install procedure,
    +so that Install can set different parameters if it wishes.  Note that
    +setdevice does not do this.  (gs_init.ps, gs_setpd.ps)
    +
    +[3.60] Speeds up rasterizing characters into the cache a little.
    +(gs_type0.ps)
    +
    +[3.60] Changes the default limit on the size of cached characters from the
    +maximum of (18 points or 5 times the "average" character size) to (18 points
    +or 1% of the total cache size).  (gs_init.ps)
    +
    +[3.60] Implements parts of the Type 1 BuildChar callout in C.  (gs_type1.ps,
    +zchar.c)
    +
    +

    Interpreter (PDF)

    +
    +Fixes bugs:
    +	[3.62] If a PDF file substituted a calibrated color space for the
    +DeviceGray or DeviceRGB color space using a ColorSpace resource, the
    +PostScript file that pdf2ps produced from that PDF file caused an error.
    +(gs_pdf.ps)
    +	[3.61] Tf set the current text font twice, and interacted with
    +pdf2ps in an awkward way.  (gs_pdf.ps, pdf_2ps.ps, pdf_font.ps)
    +	[3.61] If a font had variant Widths, it could get confused in the
    +cache with the underlying font.  (pdf_font.ps)
    +	[3.61] If a character appeared twice in an encoding and the font
    +specified different Widths values for the two occurrences, the last Width
    +would be used.  We patched this to ignore zero Widths, which is not the
    +correct solution but which almost always produces correct output.
    +(pdf_font.ps)
    +	[3.61] Arrays containing nulls didn't print out correctly (bug
    +introduced in 3.60).  (gs_init.ps)
    +	[3.61] Some PDF files contain very large dictionaries, which caused
    +a stackoverflow.  (pdf_base.ps)
    +	[3.60] The length of an image's data was sometimes calculated
    +incorrectly, causing an error when converting PDF to PostScript.
    +(pdf_draw.ps)
    +	[3.60] If word spacing and/or text spacing was non-zero, an error
    +could occur.  (gs_pdf.ps)
    +	[3.60] Text that was both filled and stroked caused an error.
    +(gs_pdf.ps)
    +
    +[3.61] Speeds up the initial processing of PDF files by caching the map from
    +page numbers to page objects, and by not scanning the outlines if we aren't
    +producing PostScript output.  (pdf_2ps.ps, pdf_base.ps, pdf_main.ps)
    +
    +

    Streams

    +
    +Fixes bugs:
    +	[3.60] When closing an encoding filter stream whose target was also
    +a filter, the latter could get called incorrectly with last = 1, possibly
    +more than once, leading to premature EOD markers.  (stream.c)
    +	[3.60] The LZW-compatible encoder put out an incorrect end-of-data
    +code.  (slzwce.c)
    +	[3.60] The LZW-compatible encoder didn't put out a reset code soon
    +enough.  (slzwce.c)
    +	[3.60] Doing a sgets on a closed stream could call sreadbuf,
    +possibly causing an error.  (stream.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	[3.63] On 16-bit platforms, the computation of t2 and t3 in
    +gx_curve_x_at_y could overflow, leading to incorrect output.  (gxpcopy.c)
    +	[3.61] glyphshow displayed a character with code 0 rather than the
    +requested character (bug introduced in 3.60.)  (gschar.c)
    +	[3.61] If trimming white space around a character reduced its
    +raster, the character was garbled in the cache (bug introduced in 3.60.)
    +(gxccman.c)
    +	[3.61] colorimage would incorrectly convert white pixels to black if
    +the image color space was CMYK, the current color space was not CMYK, and
    +the number of bits per pixel was 4 or 8.  (gsimage2.c)
    +	[3.61] Type 1 fonts that used the Flex feature applied hints to the
    +path multiple times, causing dropouts, uneven stems, and other problems (bug
    +probably introduced in 3.21).  (gstype1.c)
    +	[3.61] If a Type 1 font used the Flex feature within the accent of
    +an accented character defined with seac, the shape of the accent could be
    +distorted.  (gxtype1.h, gstype1.c)
    +	[3.61] If a Type 1 font changed hints using the hint replacement
    +facility when the last operation was a closepath, the old hints would be
    +applied a second time, distorting the shape.  (gxhint2.c, gxhint3.c)
    +	[3.60] Cached characters sometimes had extra blank space on the
    +left, leading to some unnecessary bit-shuffling when imaging them.
    +(gxccman.c)
    +	[3.60] The list of all-bands commands wasn't initialized/reset
    +properly.  (gxclist.c)
    +	[3.60] Because of a typo in a macro formal parameter list, a private
    +name was duplicated.  (gsstruct.h)
    +	[3.60] Text display operations didn't update the current character
    +in the enumerator structure during the fastest path through the code.  This
    +only matters to one very unusual commercial client.  (gschar.c)
    +
    +[3.61] Adds an alternative implementation of the core path filling algorithm
    +that is much faster on objects with curves but doesn't handle Y fattening.
    +This is the implementation that will normally be used for rasterizing
    +characters.  This implementation rasterizes curves directly, without
    +flattening them.  (gxfixed.h, gxpath.h, gzpath.h, gxdraw.c, gxfill.c,
    +gxpcopy.c)
    +
    +[3.61] Speeds up the flattening of curves substantially by omitting more
    +redundant points.  (gxpcopy.c)
    +
    +[3.61] Speeds up character bitmap compression a little more.  (gsbitops.h,
    +gdevabuf.c, gsbitops.c, gxccman.c)
    +
    +[3.61] Speeds up anti-aliased graphics a bit by computing a bounding box
    +before converting from oversampling to alpha values, and by speeding up the
    +bounding box computation itself.  (gsbitops.h, gdevabuf.c, gsbitops.c,
    +gxccman.c)
    +
    +[3.60] Speeds up getting the side bearing and width of a Type 1 charstring a
    +little.  (gxtype1.h, gstype1.c)
    +
    +[3.60] Adds a compile-time option, ALPHA_LSB_FIRST, which causes
    +alpha-sampled characters to be nibble-reversed in the cache.  This was
    +created for a specialized application and does not interact well with the
    +rest of the code.  (gsbitops.c)
    +
    +[3.60] Substantially speeds up entering anti-aliased characters in the
    +cache, by removing white space before compressing rather than vice versa.
    +(gsbitops.c, gxccman.c)
    +
    +
    + +

    Version 3.52 (limited) (10/6/95)

    + +

    +This is an incremental release to fix a few problems in 3.51. Since it is +being made in an environment with no network connectivity, it will probably +not be released to the general public. ****** THE CHANGES MARKED WITH *** +BELOW WERE LOST IN THE PROCESS OF SHUFFLING FILESETS BETWEEN ENVIRONMENTS. +THEY ARE INCORPORATED IN 3.60 BUT NOT IN 3.52. ****** + +

    Procedures

    +Fixes bugs:
    +	- The fileset included a meaningless empty file.  (acctest.ps)
    +	*** The definition of pdfread.dev did an ADDMOD, not a SETMOD.
    +(int.mak)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- The RunLengthEncode filter used with a dictionary argument could
    +give a spurious error.  (zfilter.c)
    +	- The fast form of the 'dup' operator failed to check for stack
    +overflow, which could lead to memory smashing.  (interp.c)
    +	*** Level 1 configurations gave errors during initialization.
    +(ialloc.c, iinit.c, ireclaim.c)
    +	*** Attempting to look up or insert a noaccess string as a
    +dictionary key converted the string to a name rather than giving an error.
    +(idict.h, idict.c)
    +
    +Adds a C implementation of the .dicttomark (>>) procedure.  (gs_init.ps,
    +zdict.c)
    +
    +*** Implements parts of the Type 1 BuildChar callout in C.  (gs_type1.ps,
    +ifont.h, zchar.c, zfont1.c, zfont2.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- Braces were missing in an initializer.  (gxdcolor.h)
    +	- Composite fonts with a non-zero translation in the FontMatrix
    +positioned characters incorrectly.  (gschar.c)
    +	*** gsparam.c wouldn't compile with some versions of the Borland
    +compiler.  (gsparam.c)
    +
    +Speeds up the handling of curve segments in Type 1 fonts a little.
    +(gstype1.c)
    +
    +Speeds up displaying very short strings a little.  (gschar.c)
    +
    +*** Implements parts of the Type 1 BuildChar callout in C.  (gxfont.h)
    +
    +
    + +

    Version 3.51 (9/27/95)

    + +

    +This is the first public release since 3.33. Its main features are a +working setpagedevice, a working PDF interpreter, and a working PDF to PS +converter. + +

    Documentation

    +
    +Fixes bugs:
    +	- The -dSHORTERRORS switch wasn't documented in enough places.
    +(current.doc, use.doc)
    +	- The DLL documentation was internally inconsistent.  (dll.doc)
    +	- The %pipe% file name syntax wasn't documented.  (language.doc)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- caption.ps wasn't installed properly.  (unix-end.mak)
    +	- geninit depended on $(gconfig_h) in an improper way.  (geninit.c,
    +int.mak, *.mak)
    +	- One script lacked the #!/bin/sh header.  (gsdj500)
    +
    +Adds the 24-bit color TIFF driver to all configurations that support
    +black-and-white TIFF.  (*.mak)
    +
    +

    Utilities

    +
    +Fixes bugs:
    +	- align.ps was omitted from the fileset.  (psfiles.doc, align.ps,
    +unix-end.mak)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- A driver had some \s in formal parameter lists.  (gdevcdj.c)
    +	- A driver had some improper &s.  (gdevtifs.c)
    +	- The default MS Windows printer driver was very slow.  (gdevwpr2.c)
    +	- The (newly restructured) TIFF drivers could produce a memory
    +access error.  (gdevtifs.c)
    +	- The CGM drivers referred to an obsolete structure member.
    +(gdevcgm.c)
    +	- The black-and-white H-P drivers didn't set the margins properly
    +(again).  (gdevdjet.c)
    +	- Several of the most common printer drivers omitted some scan lines
    +at the bottom of the page.  (gdevprn.h, gdevprn.c)
    +
    +At the request of the main OS/2 developer, adds a printer device for OS/2.
    +(gdevos2p.c, os2.mak)
    +
    +Makes many changes to the stcolor driver, submitted by the developer just
    +before the release.  (devices.doc, unix-end.mak, gdevstc.h, gdevstc*.c,
    +stcinfo.ps, stcolor.ps, stcinfo.ps)
    +
    +

    Platforms

    +
    +Fixes bugs:
    +	- usertime (and realtime) were broken on VMS.  (gp_vms.c)
    +	- The 32-bit MS Windows DLL control file had a typo.  (gsdll32.def)
    +
    +Removes the color inkjet drivers from the 16-bit Windows executable, because
    +they overflow the 64K default data segment; adds PCX, TIFF, and BMP output
    +formats.  (bcwin.mak)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- A routine was declared 'private' inconsistently.  (zcie.c)
    +	- -dSHORTERRORS didn't remove enough non-Adobe error output.
    +(gs_init.ps)
    +
    +

    Interpreter (PDF)

    +
    +Fixes bugs:
    +	- The ProcSet relied on the presence of NullFont.  (gs_pdf.ps)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- There was an extraneous \ outside a macro.  (gsline.c)
    +	- Scaling up a black-and-white image could caused many scan lines to
    +be inverted.  (gsimage1.c)
    +	- The initial clipping path did not take Margins into account
    +properly.  (gxdevice.h, gdevxalt.c, gscoord.c, gsdevice.c, gsdevmem.c,
    +gsdparam.c, gspath.c)
    +	- If banding was required, characters could come out as solid black
    +rectangles.  (gxclist.c, gxclread.c)
    +
    +
    + +

    Version 3.50 (limited) (9/24/95)

    + +

    +This is the last limited bug-fix release during beta test. The color +DeskJet drivers are broken (they sometimes produce black rectangles instead +of characters); we will fix this in the next release. +

    +The following issues have been postponed to an unspecified future release: +

      +
    • - Filling areas often writes pixels twice, causing incorrect +output +with certain unusual RasterOp values. [1.814] +
    • - The tar.gz archives should include a subdirectory like +gs-3.46/ in +the file names. +
    • - The CCITTFaxDecode filter should skip initial junk if +EndOfLine = +true. [1844 8/24/95, NRE] +
    + +

    Procedures

    +Fixes bugs:
    +	- The name of the new 24-bit TIFF driver was incorrect in one place.
    +(vms.mak)
    +
    +

    Utilities

    +
    +Adds a new utility to put a caption in a box at the bottom of each page.
    +(caption.ps)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- The PC display devices weren't page devices.  Probably all the
    +other display and window system devices should be made page devices too, but
    +we aren't going to bother tracking them down.  (gdevpcfb.c)
    +	- There was a lot of duplicated code in the TIFF drivers.
    +(gdevtifs.h, gdevtfax.c, gdevtfnx.c, gdevtifs.c)
    +
    +Updates the bjc600 / bjc800 drivers with changes from the author.
    +(devices.doc, gdevbjc.h, gdevcdj.c)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- Building with COMPILE_INITS=1 produced a stackunderflow error.
    +(gs_pdf_e.ps)
    +	- An internal operator didn't have a name.  (ztoken.c)
    +	- Some error and information messages weren't in the Adobe format.
    +(gs_fonts.ps, gs_init.ps)
    +	- Some common Adobe compatibility operators weren't implemented:
    +pagemargin, pageparams, setpagemargin.  (gs_statd.ps, gs_lev2.ps)
    +	- setpageparams set Margins rather than PageOffset.  (gs_lev2.ps)
    +	- setpage and setpageparams didn't set Orientation.  (gs_lev2.ps)
    +	- If the end of an input buffer fell just after the / of a literal
    +name, a memory access error could occur.  (iscan.c)
    +	- When the interpreter returned from gs_[main_]run_string_continue,
    +there could be an extra value on the operand stack.  (iscan.h, istream.h,
    +interp.c, iscan.c, zfileio.c, zfproc.c, zpaint.c, ztoken.c)
    +	- If the character cache was disabled, or if a character was too
    +large to be cached, returning from a font BuildChar procedure could do an
    +erasepage.  (zchar.c)
    +
    +A minor change was required for compatibility with the library change for
    +image devices.  (zdevice.c)
    +
    +Adds a -dSHORTERRORS switch that changes some of the common error and
    +warning messages for greater Adobe compatibility.  (gs_init.ps, gs_fonts.ps)
    +
    +

    Interpreter (PDF)

    +
    +Fixes bugs:
    +	- If a CharProc for a Type 3 font did a BT/ET, the graphics state
    +could get confused.  (gs_pdf.ps)
    +	- If a Tf occurred inside a BT/ET, it didn't take effect on
    +subsequent BT/ETs.  (gs_pdf.ps)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- There was no way to control whether an image device was a page
    +device.  Fixing this required a NON-BACKWARD-COMPATIBLE CHANGE to
    +gs_makewordimagedevice and gs_initialize_wordimagedevice to take a Boolean
    +page_device argument.  Fortunately, this change affects only a few obscure
    +library clients.  (gsdevice.h, gsdevmem.c)
    +
    +Adds translation capability to clipping devices.  This isn't used anywhere
    +yet.  (gxcpath.h, gxcpath.c)
    +
    +Adds procedures for doing unaligned copy_xxx operations.  These were added
    +for a customer.  (gxdevice.h, gsdevice.c)
    +
    +Changes the (undocumented) return value of gs_setcachedevice[2]: they used
    +to return 1 if the current show operation was a non-displaying one
    +(stringwidth or cshow), and now return 1 if the cache device was just
    +installed.  This change was required to fix the BuildChar page clearing bug
    +in the interpreter.  THIS IS A NON-BACKWARD-COMPATIBLE CHANGE, but as far as
    +I know, there aren't any external clients of these routines.  (gschar.h,
    +gschar.c)
    +
    +
    + +
    + +

    Version 3.49 (limited) (9/20/95)

    + +

    +This is another bug-fix release during beta test. There are other bugs +outstanding, but the ones I know about right now are all platform-specific. + +

    Documentation

    +Fixes bugs:
    +	- make.doc didn't mention that the .def files are needed to build a
    +MS Windows executable.  (make.doc)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- There were some forward references to macro definitions in the
    +makefiles.  (int.mak, lib.mak)
    +	- The default device for library configurations was the null page
    +device, not the first device in DEVICE_DEVS.  (ugcclib.mak)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- The BJC600 / BJC800 drivers were missing a header file.
    +(gdevbjc.h, gdevcdj.c)
    +	- A procedure name was used in two different files.  (gdevcdj.c)
    +	- The PCX driver didn't return an error code in case of failure.
    +(gdevpcx.c)
    +	- The X Windows driver produced some confusing warning messages.
    +(gdevxini.c)
    +	- Some names were duplicated between drivers.  (gdevepsc.c)
    +	- The X driver maintained its own, peculiar initial matrix even if
    +Ghostview wasn't involved.  (gdevx.c)
    +
    +With the permission of the author, changes the 24-bit TIFF license from GNU
    +to Aladdin.  (gdevtfnx.c)
    +
    +

    Platforms

    +
    +Fixes bugs:
    +	- The VMS build scripts were out of sync with the makefiles (again).
    +(modules.lis, vms.mak)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- When the requested media size matched an available size exactly
    +with a 90 degree rotation, Orientation was ignored.  (zmedia2.c)
    +
    +Makes zcurrentdevice extern.  (opextern.h, zdevice.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- A couple of places used memcpy instead of memmove.  (gxclread.c)
    +	- If a bitmap image was compressed with RLE compression in a band
    +list, it would cause an error on decompression.  (gxclread.c)
    +	- The representation of colors in the band list was needlessly
    +inefficient.  (gxcldev.h, gxclist.c, gxclread.c)
    +	- When using colored halftones, snowflak.ps crashed with an invalid
    +memory access.  More generally, any use of halftones could cause the garbage
    +collector to make an invalid access.  (gsstate.c)
    +
    +Adds some more code for paths in band lists, but again doesn't activate it.
    +(gxcldev.h, gxpath.h, gzline.h, gsline.c, gspath1.c, gxclist.c, gxclread.c,
    +gxpath.c)
    +
    +
    + +

    Version 3.48 (limited) (9/17/95)

    + +

    +This is the second bug-fix release during beta test. Among other things, it +fixes a bug introduced in 3.47 that caused all PDF files to give an error. + +

    +******NOTE: the BJC600 and BCJ800 drivers do not work in this release, +because we didn't get a file from the author in time. They will compile, +but not run. This will be fixed in the next round. + +

    Documentation

    +Fixes bugs:
    +	- Alan Barclay's contact information was wrong.  (README)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- The linker path for Watcom C++ 10.5 was wrong.  (wccommon.mak)
    +	- There was a syntax error in a batch file.  (pdf2ps.bat)
    +	- The VMS build script didn't have entries for some printers.
    +(vms.mak)
    +
    +Adds the bjc600 and bjc800 devices on all platforms that already include the
    +color DeskJet devices.  (*.mak)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- The H-P drivers didn't reposition the cursor properly at the
    +beginning of pages after the first page, causing the image to be shifted
    +down slightly and cut off at the bottom.  (gdevdjet.c)
    +	- The x11alpha driver was extremely slow.  (gdevxalt.c)
    +	- The -g switch by itself didn't work for the X Windows driver.
    +(gdevxini.c)
    +	- .installpagedevice can get a rangecheck on MS Windows because the
    +HWColorMap can change spontaneously.  (gs_setpd.ps)
    +
    +Updates the bjc600 and bjc800 drivers with new versions from Yves Arrouye.
    +(gdevcdj.c)
    +
    +Adds a user-contributed driver that writes uncompressed 24-bit RGB TIFF
    +images in a format that is standard on NeXT platforms.  This driver is
    +governed by the GNU license and is therefore separated from the rest of the
    +Aladdin distribution.  (gdevtfnx.c)
    +
    +

    Platforms

    +
    +Fixes bugs:
    +	- There was an undefined reference to clock_gettime on some Unix
    +systems.  (gp_unix.c)
    +	- The new gp_fopen routine had several errors.  (gp_vms.c)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- Some routines that should be main-instance-specific weren't.
    +(imain.h, main.h, gsmain.c)
    +	- sethalftone with a Type 2 or Type 4 halftone didn't work on CMYK
    +devices.  (zht2.c)
    +	- Setting A4 paper as the default in gs_init.ps, or specifying
    +-dPAPERSIZE, conflicted with -g.  (gs_init.ps)
    +	- The maximum value of a single-precision float wasn't correct on
    +VAX systems.  (math_.h, iscannum.c)
    +	- Some integer expressions were passed as floating point arguments.
    +(gs.c, zmedia2.c)
    +	- Media selection in setpagedevice was broken (again), as of 3.46.
    +(gs_setpd.ps, zmedia2.c)
    +
    +

    Interpreter (PDF)

    +
    +Fixes bugs:
    +	- Substituted color spaces caused an error.  (gs_pdf.ps,
    +pdf_draw.ps)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- If a halftone had no non-default components that matched the
    +device's primary colors, the result would be a solid color rather than a
    +halftone using the default screen.  (gsht.c)
    +	- sethalftone with a Type 2 or Type 4 halftone didn't work on CMYK
    +devices.  (gxht.h, gsht.c, gsht1.c)
    +	- The new gp_fopen routine wasn't being used.  (gsiodev.c)
    +	- A mixing of float and fixed values caused a clipping region to be
    +possibly incorrect by up to 1 pixel.  (gspaint.c)
    +	- A function definition was inconsistent with the prototype.
    +(gspath1.c)
    +
    +Adds preliminary code for including paths in band lists, but doesn't
    +activate any of it.  (lib.mak, gxcldev.h, gxclist.c, gxclread.c)
    +
    +
    + +

    Version 3.47 (limited) (9/14/95)

    + +

    +This is a bug-fix release during beta test. It is meant to have no new +functionality, although in the case of setpagedevice that's stretching +things a little. + +

    Documentation

    +Fixes bugs:
    +	- The Mac documentation still referred to IJG JPEG v5a rather than
    +v6.  (make.doc)
    +	- The RasterOp texture device was identified incorrectly.
    +(gdevmrop.c)
    +	- use.doc and psfiles.doc didn't mention the PDF-related files.
    +(psfiles.doc, use.doc)
    +	- psview is no longer available.  (README)
    +	- current.doc didn't document the recognized setpagedevice keys.
    +(current.doc)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- Many utility programs weren't included in the Unix 'install' list.
    +(unix-end.mak)
    +	- It wasn't at all convenient to make configurations without the BCP
    +or other non-standard filters.  (*.mak, int.mak, modules.lis, zfilter2.c,
    +zfilterx.c)
    +	- The gconfig.c and iconfig.c files weren't deleted after
    +compilation.  (int.mak, lib.mak)
    +	- unix-end.mak referred to the nonexistent macros INT{1,2}_MAK.
    +(unix-end.mak)
    +	- The rules for building the dfax drivers were incorrect.  (devs.mak)
    +	- Omitting filter.dev produced an undefined reference.  (int.mak)
    +
    +Adds a customer-contributed makefile for Microsoft Visual C++ 2.n under
    +Windows NT.  (msvcwint.mak)
    +
    +

    Utilities

    +
    +Fixes bugs:
    +	- The JPEG utility didn't support the new progressive JPEG modes,
    +and didn't invert Adobe Photoshop output as needed.  (viewjpeg.ps)
    +	- The printafm utility had a single font name wired in.  (printafm,
    +printafm.ps)
    +	- The CIE lookup simulation had several bugs.  (docie.ps)
    +	- pdf2ps[.bat] were missing from the fileset.
    +	- Files produced by pdf_2ps didn't include the GS_PDF ProcSet.
    +(gs_pdf.ps, pdf_2ps.ps, pdf_base.ps, pdf_main.ps)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- Bits read back from an EGA or VGA device were incorrect.
    +(gdevpcfb.c)
    +	- The 24-bit PCX run length compressor used a slow algorithm.
    +(gdevpcx.c)
    +	- gdevstc.c wouldn't compile with the Borland compiler.  (gdevstc.c)
    +	- There was a typo in the OS/2 PM driver.  (gdevpm.c)
    +	- .installpagedevice gets a rangecheck on X Windows because the
    +HWColorMap can change spontaneously.  (gs_setpd.ps)
    +	- The left margin for the DeskJet 500 was wrong.  (gdevdjet.c)
    +	- The two notions of "margin" (offset of 0,0 from physical page
    +corner vs. unprintable area around edges of physical page) were still
    +confused.  We've now fixed this for the H-P monochrome printers, but it's
    +probably still confused for all other printers.  (gdevprn.h, gdevdjet.c)
    +
    +

    Platforms

    +
    +Fixes bugs:
    +	- The Windows print spooler header file wasn't included when it
    +needed to be, and some other Win32-specific changes were missing.
    +(gsdll32.def, gp_mswin.c)
    +	- Windows DLLs didn't parse "s in the command "arguments" correctly.
    +(gsdll.c)
    +
    +

    Fonts

    +
    +Fixes bugs:
    +	- FAKEFONTS could get the font directories into inconsistent states.
    +(gs_dps1.ps, gs_fonts.ps)
    +	- The substitutions for Adobe's Myriad and Minion fonts weren't
    +appropriate.  (gs_fonts.ps)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- If pathforall got an error computing the user-space points on a
    +path, it could cause an invalid access.  (zpath1.c)
    +	- A 'private' declaration were omitted.  (Why doesn't gcc catch
    +this??)  (zcie.c)
    +	- Setting GS_FONTPATH produced a stackunderflow error.
    +(gs_fonts.ps)
    +	- currentscreen caused a typecheck if the screen had been set by
    +setcolorscreen.  (gs_dps1.ps)
    +	- setcolorrendering tried to cache values computed from the color
    +space even if the current color space wasn't a CIE space.  (zcrd.c)
    +	- Out-of-range numbers like 10E38 caused a floating point exception.
    +(iscannum.c)
    +	- Giving a closed readable file as input for a filter caused an
    +invalidaccess.  (files.h, interp.c, zfilter.c)
    +	- setpagedevice opened the default device even with -dNODISPLAY.
    +(gs_init.ps, gs_setpd.ps)
    +	- realtime returned the same value as usertime.  (gs_lev2.ps,
    +zmisc.c)
    +	- Storing a local value into systemdict caused some redundant code
    +to be executed.  (zdict.c)
    +	- Files with a very long first line could cause a rangecheck error.
    +(gs_init.ps)
    +	- The PageOffset page device parameter was ignored.  (gs_setpd.ps)
    +	- The Orientation page device parameter wasn't handled properly.
    +(gs_setpd.ps, idparam.h, idparam.c, zmedia2.c)
    +	- setpagedevice could set device parameters twice, with an
    +incomplete update the first time.  (gs_setpd.ps)
    +
    +

    Interpreter (PDF)

    +
    +Fixes bugs:
    +	- Readers confused the internal pdfrun procedure with the public
    +runpdf procedure.  (pdf_*.ps)
    +
    +

    Streams

    +
    +Fixes bugs:
    +	- Closed streams had a NULL state pointer, causing problems for some
    +clients.  (stream.c)
    +	- Group 4 decoding could get an ioerror if an end-of-buffer occurred
    +in a horizontal code sequence between a makeup code and the termination
    +code.  (scfd.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- Some 'private' declarations were omitted.  (Why doesn't gcc catch
    +these??)  (gdevmrop.c, gxht.c)
    +	- Patterns could produce bad output in the band list.  (gxclist.c)
    +	- RasterOp wasn't implemented at all for 2- or 4-bit devices.  (In
    +this release, we implement only a subset, and without handling transparency
    +properly.)  (gdevm2.c, gdevm4.c, gdevmrop.c)
    +	- Drawing operations and text sometimes didn't apply the RasterOp
    +when they should, and vice versa.  (gxdcolor.h, gxdraw.c)
    +	- setcolorrendering tried to cache values computed from the color
    +space even if the current color space wasn't a CIE space.  (gscie.h,
    +gscie.c)
    +	- Some CIE color spaces produced very distorted colors.  (gscie.c)
    +	- setpagedevice opened a window even with -dNODISPLAY.  (gsdevice.c,
    +gsdparam.c)
    +	- realtime returned the same value as usertime.  (gp.h, time_.h,
    +gp_*.c)
    +	- The library level attempted to handle the Orientation page device
    +parameter.  (gxdevice.h, gdevbit.c, gsdevice.c, gsdparam.c, gspath.c)
    +	- Severely non-linear CIE encoding/decoding functions produced
    +seriously skewed colors near the ends of the color value range.  This
    +problem can now be alleviated, at a significant cost in performance, by
    +changing configuration parameters at the beginning of gscie.h.  (gscie.h,
    +gscie.c)
    +	- Files FTP'ed in binary mode weren't being opened properly on VMS.
    +(gp.h, gp_*.c, gsiodev.c)
    +	- A header file had an inconsistent declaration.  (math_.h)
    +
    +Adds a new gp_get_usertime procedure to gp.h.  THIS IS A
    +NON-BACKWARD-COMPATIBLE CHANGE, affecting only platform implementors.  It
    +was necessary to fix the realtime/usertime bug.  (gp.h, time_.h, gp_*.c)
    +
    +Adds a new gp_fopen procedure to gp.h.  THIS IS A NON-BACKWARD-COMPATIBLE
    +CHANGE, affecting only platform implementors.  It was necessary to fix the
    +binary file problem on VMS.  (gp.h, gp_*.c)
    +
    +
    + +

    Version 3.46 (limited) (9/4/95)

    + +

    +This is the "serious beta test" release for the next public release. It +finishes implementing RasterOp in the graphics state, and the remaining +commonly used parts of setpagedevice. + +

    Documentation

    +Documents some possible problems when building with DJGPP v2.0-beta.
    +(make.doc)
    +
    +Adds documentation on using Ghostscript as a PDF interpreter.  (use.doc)
    +
    +Notes linking problems with the Watcom 10.0 environment.  (make.doc)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- The rule for $(ccfonts).dev was wrong.  (gs.mak)
    +
    +Makes some additional filters into 'features'.  (devs.mak, gs.mak)
    +
    +Splits off 2 new makefiles from gs.mak, which had gotten very large: lib.mak
    +(graphics library) and int.mak (interpreters).  (tar_cat, tar_cat.bat,
    +*.mak)
    +
    +Adds a new 'config-clean' target that may be helpful in changing
    +configuration definitions.  (gs.mak)
    +
    +Notes in the relevant makefiles that on Unix and DVX systems, one should not
    +edit 'makefile' or the concatenated makefile, but should edit the individual
    +subfile and run tar_cat.  (ansihead.mak, cc-head.mak, dgc-head.mak,
    +gcc-head.mak, devs.mak)
    +
    +Updates the Watcom makefiles to handle Watcom release 10.5, in which many
    +executables moved to different directories.  (watc.mak, watcwin.mak,
    +wccommon.mak)
    +
    +Adds a pdf2ps shell script.  (pdf2ps, pdf2ps.bat)
    +
    +Adds a -sFONTMAP= switch to specify the name of the Fontmap file.
    +(gs_fonts.ps)
    +
    +Adds a -u<name> switch to undefine a name from systemdict.  (interp.h, gs.c,
    +iinit.c)
    +
    +Adds a -dFIXEDRESOLUTION switch to parallel -dFIXEDMEDIA.  Makes -g set
    +FIXEDMEDIA and -r set FIXEDRESOLUTION.  (gs_init.ps, gs_setpd.ps, gs.c)
    +
    +Changes some build procedures to avoid problems with read-only source files.
    +(gs.mak, int.mak, lib.mak)
    +
    +

    Utilities

    +
    +Adds a utility for emulating the CIE color mapping algorithms.  (docie.ps)
    +
    +

    Drivers

    +
    +Changes the x11alpha device so that it uses 32-bit pixels with 8 bits of
    +alpha.  (gdevxalt.c)
    +
    +Updates the Epson Stylus Color driver to Gunther Hess's release 1.17.
    +(devs.mak, unix-end.mak, devices.doc, stcolor.ps, gdevstc.h, gdevstc*.c)
    +
    +Updates the alternate X drivers for the change from PageSize to MediaSize.
    +(gdevxalt.c)
    +
    +Makes Duplex an optional parameter of printer devices rather than of all
    +devices.  (gdevprn.h, gxdevice.h, gsdparam.c, gdevdjet.c, gdevprn.c)
    +
    +

    Platforms

    +
    +Makes pipes (%pipe% file syntax) a selectable option on Unix platforms,
    +rather than always being included.  (ansihead.mak, cc-head.mak,
    +gcc-head.mak, ugcclib.mak, unixtail.mak)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- colorimage, and the dictionary form of image with
    +MultipleDataSources = true, didn't check that all the data sources were of
    +the same type.  (zpaint.c)
    +	- colorimage, and dictionary-type images with MultipleDataSources =
    +true, usually didn't work properly with files.  (zpaint.c)
    +	- grestoreall left a dangling pointer to the transfer function
    +cache.  (gsstate.c)
    +	- Changes made by setpagedevice could get 'lost' and not installed
    +in the current page device dictionary.  (gs_setpd.ps)
    +	- The Install procedure was called before the new page device
    +dictionary had gotten installed.  (gs_setpd.ps)
    +	- If a grestore/grestoreall/restore/setgstate operation switched
    +page devices, the new page device didn't get installed properly.
    +(gs_setpd.ps, opextern.h, zdevice2.c, zdps1.c)
    +	- If the current screen was a Type 1 halftone, currentscreen and
    +currentcolorscreen returned frequency = 60, angle = 0 rather than the
    +Frequency and Angle from the halftone (see Adobe TN 5085).  (gs_dps1.ps,
    +gs_init.ps)
    +	- setscreen with a Type 1 halftone dictionary didn't insert the
    +frequency and angle into the dictionary (see Adobe TN 5085).  (gs_dps1.ps)
    +	- upath didn't include a trailing moveto in the bounding box.
    +(gs_dps1.ps, zpath1.c)
    +	- setpagedevice didn't automatically rotate or scale the image when
    +necessary.  (gs_setpd.ps, zmedia2.c)
    +
    +Moves the RasterOp operators to a separate file.  (iutil.h, iutil.c,
    +zgstate.c, zrop.c)
    +
    +Eliminates the unnecessary "wrapper" around .setdevice.  (zdevice2.c)
    +
    +Establishes the convention that all interpreter callbacks into PostScript
    +code use procedure names that begin with %; documents this in gs_init.ps.
    +Changes Type1BuildChar and Type1BuildGlyph to %Type1BuildChar and
    +%Type1BuildGlyph.  (gs_init.ps, gs_type1.ps, zfont0.c, zfont1.c)
    +
    +Changes image / imagemask / colorimage for the new library API.  (zimage2.c,
    +zpaint.c)
    +
    +Reorganizes font loading to make compiled fonts and Fontmap interact better
    +with each other.  (gs_ccfnt.ps, gs_fonts.ps, gs_init.ps, gs_res.ps)
    +
    +Implements parameter collection for the new CIEBasedDEF[G] color spaces, but
    +doesn't actually implement the color spaces themselves.  (icie.h, zcie.c,
    +zcrd.c)
    +
    +Renames iconfig.c as iconf.c to avoid problems with read-only source files.
    +(iconf.c)
    +
    +

    Interpreter (PDF)

    +
    +Fixes bugs:
    +	- PDF to PostScript conversion didn't work.  (pdf_main.ps)
    +
    +Shifts most of the work in the PDF interpreter from the reader to the
    +ProcSet.  This simplifies the code considerably and also makes it easier to
    +modify.  (gs_pdf.ps, pdf_draw.ps, pdf_font.ps, pdf_main.ps)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- 'static' was omitted in a place that some compilers require it.
    +(gxccman.c)
    +	- Some compilers don't allow a variable with the same name as a
    +preprocessor macro with arguments.  (gscie.c)
    +	- Some places did a "return -1" rather than a proper error return.
    +(gsdevice.c, gxclist.c)
    +	- An external declaration had a typo.  (gsrop.h)
    +	- An extra semicolon upset some compilers.  (gzpath.h)
    +	- Printer devices that didn't use the standard macros for generating
    +their procedure vector wound up being considered as non-page devices.
    +(gdevprn.c)
    +	- Some compilers truncated identifiers longer than 31 characters.
    +(gscspace.h, zcie.c, gscie.c)
    +	- upath didn't include a trailing moveto in the bounding box.
    +(gspath.h, gspath1.c)
    +	- RasterOp value 126 returned an incorrect result.  (gsroptab.c)
    +
    +Finishes implementing RasterOp in the graphics state.  (gdevmrop.h, gsrop.h,
    +gsropt.h, gsstate.h, gxbitmap.h, gxcindex.h, gxdcolor.h, gxdevice.h,
    +gzstate.h, gdevmrop.c, gscolor.c, gsdevice.c, gsimage.c, gsimage1.c,
    +gsimage2.c, gsimage3.c, gspcolor.c, gsrop.c, gsstate.c, gxacpath.c,
    +gxccache.c, gxcht.c, gxcmap.c, gxdither.c, gxdraw.c, gxht.c)
    +
    +Changes forwarding devices so they forward get_bits by default.  This
    +probably doesn't affect any existing code.  (gxdevice.h, gsdevice.c)
    +
    +Changes the API for gs_image[mask]_init to pass a structure rather than a
    +very large number of scalars.  THIS IS A NON-BACKWARD-COMPATIBLE CHANGE,
    +motivated by the addition of further image parameters to support RasterOp.
    +Since there are no external clients of the library yet, it shouldn't matter.
    +(gsimage.h, gsimage.c, gslib.c, gxccache.c)
    +
    +Redefines the device "page size" as being the size of the actual media,
    +changing the name of the gx_device PageSize member to MediaSize, the name of
    +the PageSize device parameter to .MediaSize (but keeping PageSize as
    +equivalent, for backward compatibility), and the name of the
    +gx_device_set_page_size procedure to gx_device_set_media_size (keeping the
    +old name as a macro).  THIS IS A NON-BACKWARD-COMPATIBLE CHANGE.  It is
    +necessary to make setpagedevice work, and to avoid confusion about what
    +"page size" means.  It potentially affects any device driver, but almost
    +none of the device drivers distributed with Ghostscript are affected, and
    +those have been updated.  (gsparam.h, gxdevice.h, gsdevice.c, gsdparam.c,
    +gspath.c)
    +
    +Renames gconfig.c as gconf.c to avoid problems with read-only source files.
    +(gconf.c)
    +
    +Adds an API procedure for setting a bitmap pattern.  (gscolor2.h,
    +gspcolor.c)
    +
    +
    + +

    Version 3.45 (limited) (8/27/95)

    + +

    +The purpose of this release is to fix some minor bugs reported by commercial +licensees, and to add two enhancements: optional RenderTable interpolation +for CIE color, and reducing the temporary space used during character +caching (also for a licensee). + +

    Documentation

    +
    +Notes that the only valid return values from get_alpha_bits are 1, 2, and 4.
    +(drivers.doc)
    +
    +Notes that the get_bits driver procedure will return a pointer to aligned
    +data, but does not require the caller's data area to be aligned.
    +(drivers.doc)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- Many of the printer and file output drivers in devs.mak still
    +included gdevprn.$(OBJ) in their dependencies.  (devs.mak)
    +	- PDEVH was used before it was defined.  (devs.mak)
    +	- GENCONF_XE was used before it was defined.  (unixhead.mak,
    +unix-end.mak)
    +
    +Makes it possible to switch sfile implementations without editing gs.mak.
    +(gs.mak)
    +
    +Makes it possible to specify alternate compiled font tables without editing
    +gs.mak.  (gs.mak)
    +
    +Allows quoted arguments in @-files, e.g.,
    +	-sOutputFile="a file name with spaces"
    +(gs.c)
    +
    +

    Utilities

    +
    +Fixes bugs:
    +	- The ps2ascii script could fail to delete temporary files in case
    +of an abnormal exit.  (ps2ascii)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- The MS Windows printer capability test was wrong.  (gdevwpr2.c)
    +	- The MS Windows and OS/2/PM displays weren't page devices.
    +(gdevwdib.c, gdevpm.c)
    +
    +Gets rid of all direct references to dev->PageSize in drivers.  (gdevl256.c,
    +gdevvglb.c)
    +
    +

    Platforms

    +
    +Fixes bugs:
    +	- The 32-bit MS Windows configuration file for the Borland C++
    +compiler was missing from the fileset.  (bcc32.cfg, tar_gs)
    +
    +Makes the printer devices in the OS/2 implementation capable of outputting
    +directly to the print spooler.  (use.doc, gp_os2.c)
    +
    +Makes printing on Windows NT and Windows 95 use the printer queue.
    +(gp_mswin.c, gswin32.rc)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- Copying a null device produced an uninitialized pointer.
    +(gsdevice.c)
    +	- The dictionary returned by deviceinfo wasn't read-only.
    +(gs_lev2.ps)
    +	- If a filter's init code failed, an entry on the operand stack
    +(usually the top) could be smashed.  (files.h, zfile.c, zfilter.c)
    +
    +Adds const in a few places that needed it.  (zwppm.c)
    +
    +Adds interpolation to the CIE RenderTable lookup.  (icie.h, zcie.c, zcrd.c)
    +
    +

    Interpreter (PDF)

    +
    +Allows PDF files with control-character garbage at the end, and up to 250
    +characters of garbage at the beginning.  The latter is only supported by
    +runpdf, not by run.  (pdf_base.ps, pdf_main.ps)
    +
    +

    Streams

    +
    +Fixes bugs:
    +	- A 1-D CCITTFaxDecode stream could give an error if an input buffer
    +boundary fell just before a 0-length termination code.  (scfx.h, scfd.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- A variable was used before being set, which could cause band
    +devices to become confused when processing colored halftones.  (gxclist.c)
    +	- Some of the color and tile bookkeeping for band lists was wrong
    +(as of 3.44), causing tiled areas to be filled with garbage.  (gxclist.c,
    +gxclread.c)
    +	- Colored Patterns showed up blank on devices whose native
    +representation of `black' was a non-zero value.  The fix removes the
    +'cached' member of the gx_device structure, and requires monobit memory
    +devices to have a palette; this is a NON-BACKWARD-COMPATIBLE CHANGE for
    +anyone who was foolish enough to statically initialize a gx_device structure
    +without using the macros in gxdevice.h or gdevprn.h.  (gdevmem.h,
    +gxdevice.h, gxdevmem.h, gdevm1.c, gdevmrop.c, gsdevice.c, gxcpath.c,
    +gxdither.c)
    +
    +Provides the framework for band devices to implement alpha (anti-aliasing).
    +(gxcldev.h, gdevprn.c, gsdevice.c, gxclist.c, gxclread.c)
    +
    +Implements an efficient API for enumerating paths using device coordinates.
    +(gspath.h, gxpath.h, gzpath.h, gspath1.c, gxpath2.c)
    +
    +Changes the character cache logic so that when rasterizing large
    +anti-aliased characters, it converts the oversampled bits to alpha values on
    +the fly rather than waiting until it has rasterized the entire character.
    +This saves a lot of temporary space, at the expense of some extra time and
    +lower quality results for Type 3 characters that don't use a single fill or
    +imagemask operation to draw the character.  This enhancement requires adding
    +a member to the gx_device structure (max_fill_band), which is a
    +NON-BACKWARD-COMPATIBLE CHANGE for badly written drivers (see above).
    +(gxchar.h, gxdevice.h, gxpaint.h, gdevabuf.c, gschar.c, gspaint.c,
    +gxccache.c, gxccman.c, gxfill.c)
    +
    +Changes the palette member of memory devices from gs_string to
    +gs_const_string.  (gdevmem.h, gxdevmem.h, gdevmem.c, gdevm1.c)
    +
    +Starts to decouple halftoning from the graphics state machinery, so
    +it can be applied after banding rather than before.  (gxdcolor.h,
    +gxdht.h, gxdither.h, gzht.h, gxcmap.c, gxdither.c, gxdraw.c)
    +
    +Starts to decouple path filling from the graphics state machinery, so
    +that we can pass paths through band lists.  (gxpaint.h, gxfill.c)
    +
    +Adds interpolation to the CIE RenderTable lookup.  This is optional, enabled
    +by #define CIE_RENDER_TABLE_INTERPOLATE in gscie.h.  (gscie.h, gxctable.h,
    +gscie.c, gxctable.c)
    +
    +
    + +

    Version 3.44 (limited) (8/21/95)

    + +

    +This includes a few bug fixes, but its main purpose is to add two new +features: monobit and 8-bit gray-scale RasterOp (at the driver level, not at +the gstate level yet), and (compressed) band lists in RAM. Of course, these +new features may have introduced new bugs! + +

    Documentation

    +Adds contact information for a user working on NeXT machines.  (README)
    +
    +Notes that Ghostscript runs on FreeBSD.  (README)
    +
    +Adds copy_rop (the RasterOp operation) to the driver interface.
    +(drivers.doc)
    +
    +Adds FONTPATH information for more operating systems.  (use.doc)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- The tar_cat script needed a #!/bin/sh to execute correctly on all
    +platforms.  (tar_cat)
    +	- There were a number of minor errors in the makefiles.  (gs.mak,
    +unixhead.mak)
    +	- Level 2 configurations without command lists had two undefined
    +references.  (gs.mak)
    +	- Some shells required an extra ';' to terminate an 'if' command.
    +(ugcclib.mak, unix-end.mak, unixtail.mak)
    +
    +Updates the JPEG code to the officially released version 6 of the IJG
    +library.  See jpeg.mak for information on where to find this library.
    +(jpeg/*, jpeg.mak, *.mak, modules.lis)
    +
    +Adds a definition of XEAUX to the makefiles to parallel CCAUX, primarily for
    +cross-compilation environments.  All references to <some-program>$(XE) must
    +be replaced by $(<SOME-PROGRAM>_XE), where some-program={$(GS), ansi2knr,
    +echogs, genarch, genconf, geninit}.  This is a NON-BACKWARD-COMPATIBLE
    +CHANGE, required in order for the makefiles to work in cross-compiled
    +environments.  (For non-cross-compiled environments, it currently doesn't
    +matter.)  (gs.mak, *.mak)
    +
    +

    Utilities

    +
    +Updates ps2ai.ps to version 2.13.  (ps2ai.ps)
    +
    +Changes all the utility shell scripts to include #!/bin/sh, to use exec, and
    +to pass the original arguments using "$@".  (bdftops, font2c, gsbj, gsdj,
    +gslj, gslp, gsnd, wftopfa)
    +
    +

    Drivers

    +
    +Adds the requirement that all page-oriented devices (i.e., those that use
    +gdevprn.h and implement the print_page procedure) include page.dev in their
    +dependencies and use $(SETPDEV) rather than $(SETDEV) in their makefile rule
    +bodies.  THIS IS A NON-BACKWARD-COMPATIBLE CHANGE.  Without this change, the
    +command list logic (over 25K of unnecessary object code) would have to be
    +included in every configuration.  (gs.mak, devs.mak, echogs.c)
    +
    +Adds a user-contributed driver for the Okidata Microline (IBM compatible)
    +dot matrix printers.  (gdevokii.c)
    +
    +Adds copy_rop (the RasterOp operation) to the driver interface.  Currently,
    +only monobit and 8-bit gray-scale devices implement it.  (gxdevice.h,
    +gsdevice.c)
    +
    +Adds the ability to read back bits from the display to the x11 devices.
    +(x_.h, gdevx.c, gdevxalt.c)
    +
    +

    Platforms

    +
    +Makes some minor changes to support QNX.  (stat_.h)
    +
    +Removes the mswinprn driver from the 16-bit Windows configuration, because
    +the 64K default data segment overflowed.  (bcwin.mak)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- Type 1 fonts didn't accept packed arrays for Subrs or OtherSubrs.
    +(zchar1.c, zfont1.c)
    +	- TBCP-encoded files (yes, I know there isn't supposed to be any
    +such thing) didn't automatically activate TBCP decoding.  (gs_init.ps)
    +	- Fonts with invalid FID entries weren't detected.  (zfont.c)
    +
    +Speeds up dictionary operations slightly by removing redundant checks for
    +nulls.  (zdict.c)
    +
    +Starts adding support for the new CIEBasedDEF and CIEBasedDEFG color spaces.
    +(gs_l2img.ps, gs_lev2.ps, igstate.h, zcrd.c)
    +
    +Adds access operators for RasterOp and transparency in the graphics state.
    +(They don't actually do anything yet.)  (zgstate.c)
    +
    +

    Interpreter (PDF)

    +
    +Fixes bugs:
    +	- PDFDocEncoding was missing characters 24-31.  (gs_pdf_e.ps)
    +
    +Moves the definition of pdfmark from systemdict to userdict so that Adobe
    +PostScript files won't think the interpreter is a distiller.  (gs_pdf.ps)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- Some JPEG images had bands of garbage alternating with bands of
    +valid data.  IJG v6 fixed this -- see above.
    +	- With FPU_TYPE = -1, the cosine routine returned incorrect values
    +for angles above 270 degrees.  (gsmisc.c)
    +	- CIE color conversion didn't work on 16-bit systems.  (gscie.h,
    +gscie.c)
    +
    +Partially implements reducing the intermediate space for rasterizing
    +anti-aliased characters by compressing the oversampled representation to an
    +alpha array incrementally.  (gdevmem.h, gxchar.h, gxdevmem.h, gdevabuf.c,
    +gschar.c, gspaint.c, gxccman.c)
    +
    +Starts adding support for the new CIEBasedDEF and CIEBasedDEFG color spaces.
    +(gscie.h, gscspace.h, gscie.c)
    +
    +Completes the implementation of band lists in RAM.  To select this feature,
    +change the definition of cl_impl in gs.mak from clfile to clmem.  (Someday
    +we'll make this easier.)  (gxclmem.h, gxclmem.c)
    +
    +Finishes implementing RasterOp and transparency at the driver level for
    +monobit and 8-bit gray-scale devices, and implements some of the framework
    +for general multiple-bit-per-pixel devices.  See drivers.doc for
    +documentation.  (gsropt.h, gxcldev.h, gxclist.h, gdevm1.c, gdevm8.c,
    +gdevmem.c, gdevmrop.c, gschar.c, gxclist.c, gxclread.c)
    +
    +Implements the ability to include commands applicable to all bands, rather
    +than an individual band, in the band list.  Eventually this will be used for
    +passing halftones through the band list.  (gxcldev.h, gxclist.h, gxclist.c)
    +
    +Adds support for 2-bit-deep 'word' memory devices.  (gdevmem.h, gxdevmem.c,
    +gdevm2.c)
    +
    +Changes the initialization for memory devices so that they determine their
    +polarity from the device for which they are buffering the image (if any).
    +This is a subtle change.  (gdevmem.h, gdevmem.c, gdevm1.c, gsdevmem.c)
    +
    +
    + +

    Version 3.43 (limited) (8/10/95)

    + +

    +Fixes a few more minor bugs, and changes FEATURE selection back to +essentially the way it was before 3.41. + +

    Documentation

    +Fixes bugs:
    +	- A ~ was missing in a URL.  (README)
    +
    +Adds information about an Amiga port of Ghostscript.  (README)
    +
    +Removes a file called gs.1.c, which appears to be an obsolete version of
    +gs.1.
    +
    +Adds DCX documentation to the PCX driver.  (We don't support DCX yet, but we
    +might in the future.)  (gdevpcx.c)
    +
    +Adds information about getting Type 1 fonts from H-P if you have an H-P
    +PostScript printer.  (use.doc)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- The auxiliary programs wouldn't compile with ANSI compilers that
    +don't accept K&R syntax.  (ccgs, gs.mak, ugcclib.mak, *head.mak,
    +unixtail.mak, echogs.c, genarch.c, genconf.c, geninit.c)
    +
    +Reinstates FEATURE_DEVS in the makefiles, getting rid of FEATURE1..10.  THIS
    +IS A NON-BACKWARD-COMPATIBLE CHANGE, but it puts things back the way they
    +were before 3.41, with one exception: compiling the PostScript
    +initialization code into the executable is now a separate macro
    +COMPILE_INITS with a definition of 0 or 1, instead of the ccinit 'feature'.
    +(gs.mak, *.mak, fonts.doc, make.doc)
    +
    +Adds a CCLEAF macro to the makefiles, for optimizing the compilation of
    +modules containing only leaf procedures.  (gs.mak, *.mak)
    +
    +Adds a CONFIG makefile variable that helps in maintaining multiple variants
    +in a single directory.  (gs.mak, *.mak)
    +
    +

    Platforms

    +
    +Fixes bugs:
    +	- An extern for exit() (in <stdlib.h>) was omitted.  (gp_vms.c)
    +
    +

    Fonts

    +
    +Reorganizes the compiled font facility so that fonts can be compiled and
    +turned into a library by third parties.  (gs.mak, font2c.ps, gs_ccfnt.ps,
    +ccfont.h, iccfont.c, ccfontab.c)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- internaldict was implemented as a dictionary in systemdict and an
    +operator in userdict, rather than as an operator in systemdict.  This caused
    +a noaccess error when loading certain Type 1 fonts.  (gs_init.ps,
    +gs_type1.ps)
    +	- xfonts couldn't handle modified encodings.  (zfont2.c)
    +
    +Changes the build date printout in the help message to YYYY-MM-DD.  (gs.c)
    +
    +Adds native support for Multiple Master fonts (WeightVector).  (zfont1.c)
    +
    +Implements sin and cos more efficiently (by table lookup with linear
    +interpolation) on machines with slow (or no) floating point.  (zmath.c)
    +
    +Separates out the code for 'reading' the .ps initialization files, for the
    +new COMPILE_INITS arrangement.  (imain.h, gconfig.c, gsmain.c, iconfig.c,
    +iccinit0.c, iinit.c)
    +
    +

    Streams

    +
    +Fixes bugs:
    +	- The CCITTFaxDecode filter could read up to 3 bytes beyond EOD.
    +This fix doesn't quite cover all cases, but at least it makes things better.
    +(ghc.h, sbhc.c, scfd.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- After a nocurrentpoint error from a show operation with a
    +composite font, the bookkeeping was confused and could cause an access
    +error.  (gschar.c)
    +	- xfonts couldn't handle modified encodings.  (gsccode.h, gxchar.h,
    +gxfont.h, gxxfont.h, gschar.c, gxccache.c)
    +
    +Makes .charboxpath able to use cached character information.  (gxchar.h,
    +gschar.c)
    +
    +Adds native support for Multiple Master fonts (OtherSubrs 14-18).
    +(gxfont1.h, gstype1.c)
    +
    +Improves the hashing functions for the character cache.  (gxfcache.h,
    +gxccman.c)
    +
    +Adjusts the character oversampling algorithm to reduce thickening for
    +devices with alpha capability.  (gsbitops.c)
    +
    +Improves the encoding of the band list for certain kinds of small
    +rectangles.  (gxcldev.h, gxclist.c, gxclread.c)
    +
    +Implements sin and cos efficiently on machines with slow (or no) floating
    +point.  (gxfarith.h, gsmatrix.c, gsmisc.c, gspath1.c)
    +
    +
    + +

    Version 3.42 (limited) (8/2/95)

    + +

    +Fixes a few significant problems in 3.41, and brings the DLL code up to +date. + +

    Documentation

    +Fixes bugs:
    +	- language.doc still referred to rectappend rather than .rectappend.
    +(language.doc)
    +
    +Adds documentation on the Macintosh port.  (readme, make.doc)
    +
    +Updates the DLL documentation.  (dll.doc)
    +
    +Documents the BCP and TBCP filters as non-experimental.  (language.doc)
    +
    +

    Procedures

    +
    +Changes the build date printout to YYYY-MM-DD.  (gs_init.ps)
    +
    +

    Platforms

    +
    +Fixes bugs:
    +	- The VMS build script had gotten out of sync with the makefiles
    +(again).  (vms.mak, modules.lis)
    +
    +Brings the MS Windows and OS/2 platforms up to date with the rest of the
    +code, including DLL support for OS/2.  (os2.mak, gsdll*.def, gdevswn.c,
    +gdevpm.c, gdevwdib.c, gp_mswin.c, gp_os2.c, gsdll.c, gsmain.c)
    +
    +Adds a new platform-specific routine gp_do_exit, as an alias for the C
    +library `exit' call.  (gp.h, gsdll.c, gsmain.c, gp_*.c)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- .forgetsave at the outermost level didn't clear the l_new bit,
    +causing changes to be undone improperly.  (isave.c)
    +	- A 'void' formal parameter list upset some compilers (as it should
    +have).  (gsmain.c)
    +
    +Adds a .charboxpath operator that appends to the current path the bounding
    +boxes of the characters of a string.  (zchar.c, zchar1.c)
    +
    +

    Streams

    +
    +Fixes bugs:
    +	- A procedure was declared private inconsistently.  (siscale.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- The library test program didn't do a necessary initial gsave.
    +(gslib.c)
    +	- The fix for landscape monobit images in 3.41 could smash memory.
    +(gsimage1.c)
    +	- 1-pixel-wide lines drawn with image or imagemask still disappeared
    +sometimes.  (gsimage.c)
    +
    +Does some more preparatory work for the implementation of command lists in
    +RAM.  (gdevprn.h, gxclio.h, gxclist.h, gxclfile.c, gxclist.c, gxclread.c)
    +
    +Adds a gs_charboxpath procedure that appends to the current path the
    +bounding boxes of the characters of a string.  (gschar.h, gscpm.h,
    +gstype1.h, gxchar.h, gxpath.h, gxtype1.h, gzstate.h, gschar.c, gspaint.c,
    +gstype1.c, gxpath.c)
    +
    +
    + +

    Version 3.41 (limited) (7/27/95)

    +

    +Another incremental release with bug fixes and customer-requested +enhancements. This release was intended to include the full setpagedevice +media matching and adjustment algorithm, but we discovered some +architectural problems during development, and have postponed it. + +

    Documentation

    +
    +Replaces the build instructions for NeXTSTEP with more up-to-date and
    +accurate ones.  (make.doc)
    +
    +Notes that some extra manual steps are required when cross-compiling.
    +(make.doc)
    +
    +Documents how to define new 'features' in the makefile.  (gs.mak)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- The build rule for ccinit.dev was circular.  Fixing this required
    +a small but NON-BACKWARD-COMPATIBLE change in the way that features are
    +selected in the makefiles (FEATURE_DEVS replaced by FEATURE1..10).  (*.mak,
    +fonts.doc, make.doc)
    +
    +Changes the build rule for gconfig.h to be less likely to overrun MS-DOS's
    +command line length limit.  (gs.mak)
    +
    +Adds a -dFIXEDMEDIA switch to indicate that the media size should be
    +considered fixed after initialization.  (gs_init.ps)
    +
    +

    Utilities

    +
    +Fixes bugs:
    +	- traceimg.ps incorrectly referred to .stdout.  (traceimg.ps)
    +	- prfont.ps didn't display unencoded characters correctly.
    +(prfont.ps)
    +	- ps2epsi didn't give correct bounding box information.  (ps2epsi,
    +ps2epsi.ps)
    +	- ps2epsi produced DSC comments that didn't fully conform to the
    +Adobe standard.  (ps2epsi, ps2epsi.ps)
    +
    +Allows viewpbm.ps to take multiple files on the command line.  (viewpbm.ps)
    +
    +

    Drivers

    +
    +Adds a preliminary, contributed PNG driver.  THIS IS NOT USABLE YET -- DON'T
    +TRY TO USE IT.  (png.mak, gdevpng.c)
    +
    +Increases the maximum allowable scan line width for the TIFF drivers from
    +5183 pixels to 12863 pixels.  (scf.h)
    +
    +

    Platforms

    +
    +Updates the MS Windows DLL code to export the new, suspendable run_string
    +interface.  (gsdll.h, gsdll.c, dll.doc)
    +
    +

    Fonts

    +
    +Fixes bugs:
    +	- There were several errors in cfonts.mak.  (cfonts.mak)
    +	- The compiled fonts option didn't offer both free and standard
    +configurations.  (gs.mak)
    +	- A bug in the handling of Encoding resources prevented compiled
    +fonts from working.  (gs_res.ps)
    +
    +Adds a little more support for CID-keyed fonts.  They still aren't anywhere
    +near usable.  (gs_cidfn.ps, gs_type1.ps)
    +
    +Adds a new Fontmap for Solaris 2.3.  (Fontmap.Solaris)
    +
    +Adds support for Type 4 fonts (Type 1 fonts with their own BuildChar
    +procedures), including the CCRun procedure in internaldict.  (gs_fonts.ps,
    +gs_res.ps, gs_type1.ps)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- showpage and copypage didn't honor NumCopies in a page device.
    +(gs_setpd.ps, zdevice2.c)
    +	- currentpagedevice returned incorrect information if the current
    +device wasn't a page device.  (gs_setpd.ps)
    +	- currentpagedevice didn't guarantee the presence of InputAttributes
    +and OutputAttributes.  (gs_setpd.ps)
    +	- The l_new bit wasn't set properly when a dictionary changed from
    +packed to unpacked keys, leading to unnecessary saves.  (idict.c)
    +	- Streams requiring intermediate buffering could read ahead too far,
    +causing input data to be skipped.  (zfilter.c)
    +	- cshow didn't reset the font to the base font when calling the
    +procedure.  (zchar2.c)
    +	- The Install procedure in a page device didn't set the default CTM.
    +(gs_setpd.ps, zmatrix.c)
    +	- findlibfile didn't handle special files like %stdin correctly.
    +(zfile.c)
    +	- setpagedevice didn't implement media matching.  (gs_setpd.ps,
    +zdevice2.c, zmedia2.c, zmatrix.c)
    +	- Some floating point numbers didn't print out with enough digits to
    +read back in with the identical value.  (iutil.c)
    +	- Integers that overflowed 31 bits (but not 32 bits) were converted
    +to negative integers rather than correct positive reals.  (iscannum.c)
    +
    +Removes an experimental operator that called the image scaling/interpolation
    +code.  (zimage2.c)
    +
    +Adds a -sSUBSTFONT=<fontname> switch that substitutes the given font for all
    +unknown fonts, bypassing the normal intelligent substitution algorithm.
    +(gs_fonts.ps)
    +
    +Adds the Revision system parameter.  (zmisc2.c)
    +
    +Adds a .knownundef operator that does an undef and returns true iff the key
    +was formerly present.  (zdict.c)
    +
    +Makes the maximum length of names be 256 if EXTEND_NAMES is being used, 16K
    +otherwise.  (inamedef.h, iname.c)
    +
    +Adds internaldict.  (gs_init.ps, iinit.c)
    +
    +Adds support for Type 4 fonts.  (bfont.h, zchar.c, zchar1.c, zfont1.c,
    +zfont2.c)
    +
    +Changes .encodingdict to EncodingDirectory, for compatibility with Adobe
    +interpreters.  (gs_init.ps, gs_kanji.ps, gs_res.ps)
    +
    +Adds superexec, an undocumented operator that is equivalent to exec but
    +suppresses all invalidaccess checks.  NOT COMPLETED YET; currently superexec
    +is equivalent to exec.  (zcontrol.c)
    +
    +

    Interpreter (PDF)

    +
    +Fixes bugs:
    +	- .stderr was used but is no longer defined.  (pdf_base.ps)
    +
    +

    Streams

    +
    +Fixes bugs:
    +	- Not all streams initialized their state pointer.  (stream.c,
    +sfile.c, sfileno.c)
    +
    +Adds a filter for the smoothed image scaling algorithm.  Eventually this
    +filter will require very little intermediate storage; right now it still
    +needs to buffer the entire intermediate image.  (siscale.h, siscale.c)
    +
    +Increases the maximum allowable scan line width for the CCITTFaxEncode
    +filter from 5183 pixels to 12863 pixels.  (scf.h)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- setpagedevice didn't update NumCopies correctly.  (gdevprn.c,
    +gsdparam.c)
    +	- The newly optimized code for monobit bitmaps could cause an
    +out-of-bounds memory access and/or make unaligned references.  (gsimage1.c)
    +	- setpagedevice with unknown keys could cause an /undefined error.
    +(gsdparam.c)
    +	- cshow didn't reset the font to the base font when calling the
    +procedure.  (gschar.h, gschar.c)
    +	- The Install procedure in a page device didn't set the default CTM.
    +(gzstate.h, gschar.c, gscoord.c, gsdevice.c)
    +	- Very non-linear EncodeABC procedures in a color rendering
    +dictionary could produce very inaccurate results.  (gscie.h, gscie.c)
    +	- The line_ptrs pointer in memory devices didn't get relocated if
    +the bitmap was moved during garbage collection, leading to memory smashing.
    +(gdevmem.c)
    +	- setpagedevice didn't implement media matching.  (gsdparam.c,
    +gscoord.c)
    +	- 'word' memory devices weren't recognized as memory devices.
    +(gdevmem.c)
    +	- makeimagedevice allocated, and then didn't free, an unnecessary
    +palette for monobit devices.  (gsdevmem.c)
    +	- The hack for 1-bit-wide images didn't work consistently,
    +particularly in landscape orientation.  (gsimage.c, gsimage0.c)
    +
    +Adds an .IgnoreNumCopies page device parameter that causes #copies and
    +NumCopies to be ignored.  (gxdevice.h, gsdevice.c, gsdparam.c)
    +
    +Removes the .IsPageDevice device parameter.  (gsdparam.c)
    +
    +Converts the image scaling/interpolation code to a filter.  (gximage.h,
    +gsimage.c, gsimage0.c, gsimage3.c)
    +
    +Adds support for Type 4 fonts.  (gxfont.h)
    +
    +Adds a default implementation of parameter lists, designed to be usable
    +easily from C code.  (gsparam.h, gsparam.c)
    +
    +
    + +

    Version 3.40 (limited) (6/28/95)

    + +

    +This is another incremental limited release for delivery of a couple of +important bug fixes (pixel 'holes' in rotated images, setpagedevice errors +on some platforms) and an enhancement (architectural support for band lists +in RAM). + +

    Documentation

    +Fixes bugs:
    +	- The FTP location of the EMX DLLs was incorrect.  (use.doc)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- A couple of build rules for IJG v6 were omitted.  (jpeg.mak)
    +
    +

    Utilities

    +
    +Fixes bugs:
    +	- prfont.ps wouldn't print more than 128 unencoded characters.
    +(prfont.ps)
    +
    +

    Platforms

    +
    +Fixes bugs:
    +	- setpagedevice often caused /undefined errors on MS Windows and
    +OS/2 platforms.  (gdevmswn.c, gdevpm.c)
    +	- The VMS module list had gotten out of sync with the makefiles
    +(again).  (modules.lis)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- A couple of casts betwen char * and byte * were omitted.
    +(gsmain.c)
    +	- gs_[main_]run_file_open wasn't exported properly.  (imain.h,
    +main.h, gsmain.c)
    +
    +

    Streams

    +
    +Changes the DCTEncode filter to return an error if it wasn't supplied enough
    +data before being closed.  (sdcte.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- The coordinate computations for all filling operations were
    +slightly inaccurate, leading to pixel 'holes' in rotated images.  (gxdda.h,
    +gximage.h, gsimage*.c, gxdraw.c, gxfill.c)
    +
    +Undoes an "optimization" (inlining the normal, fast case of a procedure)
    +that actually hurt performance.  (gxclist.c)
    +
    +Refactors the command list code so that it in the future it will be able to
    +store command lists either in RAM or in the file system.  (gdevprn.h,
    +gxcldev.h, gxclio.h, gxclist.h, gdevprn.c, gxclfile.c, gxclist.c,
    +gxclread.c)
    +
    +Changes the interface to the path filling code to take separate X and Y
    +adjustment values.  (gxpaint.h, gspaint.c, gxfill.c)
    +
    +Makes the command list allocate a small tile cache if the device doesn't
    +need halftones.  (gxclist.c)
    +
    +
    + +
    + +

    Version 3.39 (limited) (6/24/95)

    + +

    +This is again an incremental release primarily for delivery of enhancements +(suspendable string input in particular) to commercial customers, and with a +few bug fixes. + +

    Documentation

    +Notes that PDF files and repositioning PostScript files do not work if
    +Ghostscript was compiled with VAX C.  (use.doc)
    +
    +Notes the requirement for EOD lookahead in decoding filters.  (strimpl.h)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- There were a number of undefined or used-before-defined variables
    +in the makefiles.  (devs.mak, dvx-head.mak, unixhead.mak, gs.mak)
    +	- Some commands in the makefile exceeded the MS-DOS limit of 120
    +characters.  (gs.mak)
    +
    +Adds a -P and -P- switch to control whether the search path automatically
    +includes `.' as its first element.  Moves the default value of this choice
    +(SEARCH_HERE_FIRST) from gsmain.c to iminst.h.  (iminst.h, gs.c, gsmain.c,
    +use.doc)
    +
    +Makes some makefile changes in anticipation of the IJG v6 release.  (*.mak)
    +
    +

    Utilities

    +
    +Fixes bugs:
    +	- font2c generated invalid C procedure names from font names that
    +contained non-alphanumerics other then '-'.  (font2c.ps)
    +	- font2c generated a single element of incorrect type for numeric
    +arrays of zero length.  (font2c.ps)
    +
    +

    Platforms

    +
    +Fixes bugs:
    +	- The VMS build scripts had gotten out of sync (again).  (vms*.mak,
    +modules.lis)
    +
    +

    Fonts

    +
    +Makes the FONTPATH directory scanner accept fonts that begin with
    +%!PS-AdobeFont or %!FontType1 with no following `-'.  (gs_fonts.ps)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- eq and ne on arrays or dictionaries required read access.
    +(zrelbit.c)
    +	- An include was missing.  (zcsindex.c)
    +	- .forgetsave at the outermost level didn't reset the l_new flag in
    +changed slots, leading to an anomalous (although perhaps not harmful) state.
    +(isave.c)
    +	- Dictionary growing or unpacking would both save and free the old
    +keys array, leading to a dangling reference.  (idict.c)
    +
    +Changes gs_interpret so that for .quit with a negative operand <= -100,
    +gs_interpret returns e_Fatal rather than the operand.  THIS IS A
    +NON-BACKWARD-COMPATIBLE CHANGE, but as far as we know, it doesn't affect
    +anyone.  (interp.c)
    +
    +Adds an API to allow feeding string input to the interpreter in pieces.
    +(errors.h, imain.h, main.h, gs.c, gsmain.c, interp.c, zcontrol.c, zfilter.c)
    +
    +Adds new predicates .identeq and .identne that test "pointer equality", even
    +for numbers and strings.  (iutil.h, iutil.c, zrelbit.c)
    +
    +Changes a few uses of return_error to return in places that don't lead
    +directly to a PostScript error.  (idict.c)
    +
    +

    Streams

    +
    +Fixes bugs:
    +	- The logic for skipping up to a 0xff byte when decoding JPEG data
    +could skip too much.  (sdctd.c, sjpegd.c)
    +	- If a buffer boundary fell in the middle of, or just before, an
    +EOD, some decoding filters could stop reading too soon.  (sbcp.c, smtf.c,
    +sstring.c)
    +
    +Makes some minor changes in anticipation of the IJG v6 release.
    +(gsjmorec.h)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- A declaration should have been removed.  (gsdll.c)
    +	- The library initialization/termination API wasn't declared.
    +(gslib.h, gsinit.c, gsmain.c)
    +	- A variable and a preprocessor macro with the same name confused
    +VAX C.  (gxclist.c)
    +	- Image devices with depth 2-8 and only gray shades in the palette
    +didn't set color_info correctly.  (gsdevice.c)
    +
    +Speeds up unrotated black-and-white images further by making them render
    +directly into a memory device when possible.  (gxdevmem.h, gsimage1.c)
    +
    +
    + +

    Version 3.38 (limited) (6/18/95)

    + +

    +This release incorporates several customer-requested enhancements (cleaner +separation of the graphics library from the interpreter, option for >64K +names, true garbage collection of names, better handling of halftones on +band devices). It is intended primarily for those customers, but is +intended as a dry run for the next public release. + +

    Documentation

    +Fixes bugs:
    +	- gx_bitmap had not been updated to gx_tile_bitmap.
    +(drivers.doc)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- The man page extension in the Unix makefiles was still $(manext),
    +not $(man1ext).  (unix-end.mak)
    +	- 'make clean' didn't remove gs_init.c.  (gs.mak)
    +
    +Restructures the makefiles to better separate the language interpreters from
    +the graphics core.  (gs.mak)
    +
    +Adds a -dNOPROMPT switch to suppress the end-of-page prompts (but still wait
    +for the user to type a newline).  This is different from -dNOPAUSE, which
    +suppresses both the prompts and the wait.  (gs_init.ps)
    +
    +

    Utilities

    +
    +Replaces the mergeini.ps program with an equivalent (actually slightly
    +better) version written in C.  (gs.mak, *.mak, psfiles.doc, use.doc,
    +geninit.c)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- The color DeskJet drivers wouldn't compile with a K&R compiler,
    +because some of the procedure definitions weren't in the restricted syntax
    +that ansi2knr requires.  (gdevcdj.c)
    +	- The color DeskJet drivers wouldn't compile because of a bug in
    +Sun's cc.  (gdevcdj.c)
    +
    +Changes the BJ-10e(x) margins to be identical to those of the BJ-200.
    +(gdevbj10.c)
    +
    +Changes the LaserJet margins in response to a user's request.  (gdevdjet.c)
    +
    +Changes the psmono driver to produce slightly larger files that execute
    +faster on typical Level 1 printers.  (gdevpsim.c)
    +
    +Changes the psmono driver so that it does not scale the image to fit the
    +page size, but instead scales it to be the same physical size on the page.
    +THIS IS A NON BACKWARD COMPATIBLE CHANGE.  However, for full-page images, it
    +will not have any visible effect.  (gdevpsim.c)
    +
    +

    Platforms

    +
    +Fixes bugs:
    +	- There were some problems associated with printing in 32-bit
    +Windows environments.  (gp_mswin.c)
    +	- The IBM RS/6000 needs both <time.h> and <sys/time.h>.  (time_.h)
    +
    +Adds the PDF interpreter to the standard MS Windows configuration.
    +(bcwin.mak)
    +
    +

    Fonts

    +
    +Fixes bugs:
    +	- The entry for Courier-BoldItalic in cfonts.mak incorrectly named
    +it as Courier-Italic.  (cfonts.mak)
    +	- The files for Courier-Italic in cfonts.mak were inconsistently
    +named ncrri instead of ncri.  (cfonts.mak)
    +	- The rules in cfonts.mak covered only the fonts distributed with
    +the free versions of Ghostscript, omitting some of the standard set of 35.
    +(cfonts.mak)
    +	- The maximum number of stem hints per character in Type 1 fonts
    +wasn't large enough for complex Asian characters. (gxtype1.h)
    +
    +Adds a -dNOFONTMAP switch to suppress loading the Fontmap file.
    +(gs_init.ps, gs_fonts.ps)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- One of the GC marking routines for halftones had a typo,
    +possibly leading to an invalid access.  (zht2.c)
    +	- The GC could store beyond the end of the mark stack,
    +possibly smashing some characters of a string or name.  (igc.c)
    +	- If the allocator allocated a new ref object from a
    +freelist, the bookkeeping for the current ref object could get
    +confused.  (ialloc.c)
    +	- The GC didn't remove names properly from the hash table.
    +(iname.c)
    +	- If a DOS editor added a ^Z to the end of an initialization file,
    +an error occurred during initialization.  (gs_init.ps)
    +	- If an initialization file had any lines longer than 128
    +characters, .skipeof would get an error.  (gs_init.ps)
    +	- makepattern could create structures in global VM pointing to
    +structures in local VM.  (zpcolor.c)
    +	- The default color rendering dictionary didn't specify large enough
    +ranges for some intermediate values.  (gs_lev2.ps)
    +	- Files being freed by a restore weren't unlinked properly, leading
    +to dangling pointers.  (zfile.c)
    +	- The interpreter used strlen without a prototype.  (interp.c)
    +	- Indexed or Separation colors with a CIE base or alternate space
    +didn't work.  (zcie.c)
    +	- The Watcom C 10.0 compiler produced incorrect code for an
    +overlapping structure assignment.  (zcsindex.c)
    +
    +Removes limit of 64K names, if EXTEND_NAMES is defined at compile
    +time.  (*.mak, idebug.h, iminst.h, iname.h, gs.c, gsmain.c, idebug.c,
    +iname.c)
    +
    +Makes the garbage collector really collect names.  (iname.h, inamedef.h,
    +isstate.h, igc.c, iname.c, isave.c)
    +
    +Restructures some files to better separate the language interpreters
    +from their support code.  (gconfig.c, iconfig.c, iinit.c)
    +
    +Restructures some files to better separate the language interpreters
    +from the graphics core.  (iastate.h, iastruct.h, ialloc.c)
    +
    +Allows the operands of cshow to be in either order on the stack.  Adobe
    +interpreters apparently allow this, even though it's not documented.
    +(zchar2.c)
    +
    +Adds a hack in cvs to truncate non-standard operator names, rather than
    +giving a rangecheck, to work around the "max err string" problem in some
    +common error handlers.  (ztype.c)
    +
    +Changes the print string for unregistered operators from operator_0x... to
    +@0x....  (iutil.c)
    +
    +Changes the garbage collector so it tries to allocate a large mark stack, to
    +avoid going into its 'slow' mode if the mark stack overflows.  (igc.c)
    +
    +

    Interpreter (PDF)

    +
    +Fixes bugs:
    +	- Stroked text used the text matrix, rather than just the
    +CTM, for scaling the line width, which could lead to inappropriately
    +wide lines.  (gs_pdf.ps)
    +	- Fonts based on other than a 1000-unit scale (i.e., with a
    +FontMatrix other than [0.001 0 0 0.001 0 0]) didn't scale Widths to
    +match the font scaling.  (pdf_font.ps)
    +
    +Implements the PDF 1.1 color space extensions, except for Lab space.
    +(gs_pdf.ps, pdf_draw.ps)
    +
    +Implements the Rotate key for pages.  (pdf_main.ps)
    +
    +

    Streams

    +
    +Fixes bugs:
    +	- When the garbage collector closed a file stream, the stream
    +incorrectly attempted to free the buffer.  (stream.c)
    +
    +Separates out some stream implementations to better distinguish the
    +graphics core from the language interpreters.  (smtf.h, sfilter1.c,
    +smtf.c, srld.c, srle.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- Compressing characters being entered in the cache could cause an
    +invalid memory access.  (gsbitops.c)
    +	- The setbbox bounding box check was slightly inaccurate.
    +(gsdps1.c)
    +	- makepattern could create structures in global VM pointing to
    +structures in local VM.  (gscolor2.h, gspcolor.c)
    +	- Out-of-range values during CIE color conversion led to random
    +results.  (gscie.c)
    +	- On output devices with non-inverted Y axes (such as MS Windows),
    +Interpolated images would smash memory.  (gsimage.c)
    +	- 90 degree rotated zero-width images caused an invalid memory
    +access.  (gsimage1.c)
    +	- If #copies was zero, showpage could create bogus empty output
    +files.  (gdevprn.c)
    +	- PageCount didn't take #copies into account.  (gsdevice.c)
    +	- Indexed or Separation colors with a CIE base or alternate space
    +didn't work.  (gscie.h, gscie.c)
    +
    +Implements triangular line caps and joins, in anticipation of adding
    +a PCL5 interpreter.  (gsline.h, gxstroke.c)
    +
    +Moves some procedures around for better separation of library from
    +interpreter.  (gsinit.c, gslib.c, gsmain.c, gsmisc.c)
    +
    +Moves the standard allocator from the interpreter to the library.
    +(gsalloc.h, gxalloc.h, gxobj.h, gsalloc.c)
    +
    +Starts to change the representation of paths slightly to make it possible to
    +identify arcs.  This change is backward-compatible for all code except
    +callers of gx_path_add_arc.  (gxpath.h, gspath1.c, gxpath.c, gxstroke.c)
    +
    +Adds some framework for keeping track of RasterOp and "transparency" in the
    +graphics state, although these don't actually have any effect yet.
    +(gsrop.h, gsropt.h, gsstate.h, gxcldev.h, gzstate.h, gsrop.c, gsstate.c,
    +gxclist.c, gxclread.c)
    +
    +Adds a compile-time option for using the Adobe RGB<->CMYK conversion rules.
    +(gxdcconv.c)
    +
    +Adds a driver procedure for identifying band devices.  This change is
    +backward-compatible for all existing devices.  (gdevmem.h, gxdevice.h,
    +gsdevice.c, gxclip2.c, gxclist.c, gxcpath.c)
    +
    +Speeds up gray-scale images on devices requiring banding, and enables
    +further optimizations, by reintroducing the distinction between banded and
    +non-banded devices.  (gxdevice.h, gdevprn.c, gsimage1.c)
    +
    +Reduces the size of the band list for halftoned images by encoding tile
    +indices more compactly.  (gxcldev.h, gxclist.h, gxclist.c, gxclread.c)
    +
    +Extends the band list so it can cache more than 256 halftone tiles, and to
    +make better decisions about tile caching.  (gxcldev.h, gxclist.h, gxclist.c,
    +gxclread.c)
    +
    +
    + +

    Version 3.37 (limited) (5/11/95)

    + +

    +Another bug fix release distributed only to customers. + +

    Documentation

    +Fixes bugs:
    +	- Some documentation about parameter lists was incorrect.
    +(gsparam.h)
    +	- The documentation did not note that one cannot "pipe" PDF files
    +into the interpreter.  (use.doc)
    +
    +Adds documentation for the BJC-600 to devices.doc.  (devices.doc)
    +
    +

    Procedures

    +
    +Changes the debugging switch for OS calls from -Z0 to -Ze, and adds -Z0 for
    +high-level GC tracing.  (use.doc, gp_unifs.c, ialloc.c, igc.c)
    +
    +

    Utilities

    +
    +Fixes bugs:
    +	- The ps2ascii shell script included an erroneous @d.  (ps2ascii)
    +
    +Enhances ps2ascii to output color and rectangle fill/stroke information if
    +COMPLEX is defined.  (ps2ascii.ps)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- the BJC-600 driver didn't handle BitsPerPixel correctly.
    +(gdevcdj.c)
    +
    +

    Fonts

    +
    +Fixes bugs:
    +	- Some buggy Type 1 fonts confused the Type 1 font reader.
    +(gs_fonts.ps, gs_type1.ps, pdf_font.ps)
    +
    +

    Interpreter (PostScript)

    +
    +Fixes bugs:
    +	- .registerencoding didn't accept mixedarrays, which could cause an
    +error if an encoding was loaded long after initialization.  (zfont2.c)
    +	- If a program did a lot of saves and restores, the garbage
    +collector could get invoked much too often.  (iastate.h, ialloc.c, igc.c,
    +isave.c)
    +
    +Changes the name of the rectappend operator to .rectappend, since it isn't a
    +standard PostScript operator.  (zdps1.c)
    +
    +

    Interpreter (PDF)

    +
    +Fixes bugs:
    +	- PDF files didn't interact properly with ps2ascii.  (gs_pdf.ps)
    +	- setdash wouldn't accept a packed array.  (zgstate.c)
    +	- PDF files with incorrect generation numbers in object references
    +produced an error rather than a warning.  (pdf_base.ps)
    +
    +
    + +

    Version 3.36 (limited) (5/4/95)

    + +

    +This is a limited-distribution release for distributing bug fixes to a few +customers. + +

    Documentation

    +Adds some environment variables to the man page.  (gs.1)
    +
    +

    Procedures

    +
    +Adds the psmono device to all 32-bit configurations.  (*.mak)
    +
    +Moves the psmono and 'bit' devices to DEVICE_DEVS12 to avoid exceeding the
    +120-character maximum length of the DOS command line.  (*.mak)
    +
    +

    Drivers

    +
    +Changes the pgm[raw] and ppm[raw] drivers so they do *not* automatically
    +switch to pbm or pgm/ppm respectively if this is possible for the particular
    +page being rendered; adds pgnm[raw] and pnm[raw] drivers that *do* do this.
    +THIS IS A NON-BACKWARD-COMPATIBLE CHANGE.  However, existing programs will
    +still work; they just won't produce the smallest and simplest possible
    +output.  (devs.mak, gdevpbm.c)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- A multi-level restore didn't free gstates allocated by
    +intermediate saves, causing some global VM to be lost until a garbage
    +collection.  (isave.h, isave.c, zvmem.c)
    +
    +Speeds up restore by skipping the scan of the character cache if no new
    +names have been allocated since the save.  (zfont.c)
    +
    +Extends the client API to allow for popping return values off the operand
    +stack.  (imain.h, gs.c, gsmain.c)
    +
    +

    Library

    +
    +Modifies the character oversampling algorithms to help prevent dropouts.
    +(gsbitops.c, gschar.c)
    +
    +
    + +

    Version 3.35 (internal) (5/2/95)

    + +

    +This is another internal "snapshot" version. + +

    Documentation

    +Fixes bugs:
    +	- Some of the file names in the `man' page had gotten out of date.
    +(gs.1)
    +	- Two references to .PageCount hadn't been changed to PageCount.
    +(language.doc, devarch.doc)
    +
    +

    Procedures

    +
    +Puts writeppmfile back in the standard Unix and DV/X configurations, since
    +gsftopk uses it.  Also puts the PDF reader in all 32-bit configurations.
    +(*.mak)
    +
    +Moves the BMP devices to DEVICE_DEVS11 to avoid exceeding the 120-character
    +maximum length of the DOS command line.  (bcwin.mak, bcwin32.mak, os2.mak)
    +
    +

    Utilities

    +
    +Fixes bugs:
    +	- unix-lpr.sh didn't handle 32-bit devices.  (unix-lpr.sh)
    +	- unix-lpr.sh still used the name .PageCount rather than PageCount.
    +(unix-lpr.sh)
    +	- font2c gave an error when trying to write general procedures in
    +font dictionaries.  (font2c.ps)
    +
    +Adds a pdf2dsc.ps utility for writing out fake DSC-compliant PostScript code
    +to invoke the PDF reader, for the benefit of viewer programs that aren't
    +PDF-aware.  (unix-end.mak, pdf2dsc.ps)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- The TIFF drivers put out incorrect PageNumber values.
    +(gdevtfax.c)
    +	- Printer (and file output) devices got closed and reopened
    +unnecessarily when changing parameters.  (gdevprn.c)
    +	- Printer (and file output) devices didn't check for invalid formats
    +following a % in OutputFile.  (devs.mak, gdevprn.c)
    +	- 1-bit memory devices were not considered page devices, unlike all
    +other memory devices.  (gsdevice.c)
    +	- The black-and-white H-P printers didn't close the printer
    +properly, causing printing not to happen under MS Windows.  (gdevprn.c)
    +	- Some compilers didn't like initializing a const char * to NULL.
    +(gdevlbp8.c)
    +
    +Changes the X Windows driver so that if Ghostview specifies a bounding box,
    +this also sets ImagingBBox.  (gdevxini.c)
    +
    +At the request of a customer, adds 1-, 4-, 8-, 24-, and 32-bit-deep memory
    +devices that store bits in 32-bit units rather than byte units.  (gdevmem.h,
    +gxdevmem.h, gdevmem.c, gdevm1.c, gdevm2.c, gdevm4.c, gdevm8.c, gdevm16.c,
    +gdevm24.c, gdevm32.c)
    +
    +Adds a new MS Windows printer driver, mswinpr2, that uses a DIB rather than
    +a DDB.  (gdevwpr2.c)
    +
    +

    Platforms

    +
    +Fixes bugs:
    +	- A routine wouldn't compile because of a bug in the SGI C compiler.
    +(zcsindex.c)
    +	- Some declarations were inconsistent when compiling for segmented
    +environments.  (gscie.c)
    +	- A routine wouldn't compile because of a bug in the VAX C compiler.
    +(gscie.c)
    +
    +Turns on compiler optimization for OS/2; adds PDF support and more devices
    +for Win32 and OS/2.  (bcwin.mak, bcwin32.mak, os2.mak)
    +
    +

    Fonts

    +
    +Fixes bugs:
    +	- Font loading used 'setglobal' without binding it, which caused
    +some EPS files to signal errors.  (gs_fonts.ps)
    +	- A zero-length string with offset = 0 in a binary object sequence
    +caused an error.  (iscanbin.c)
    +
    +Adds a LOCALFONTS switch that causes Ghostscript to load Type 1 fonts into
    +the current VM, rather than global VM.  According to Adobe, this is what
    +Adobe printers (but not other interpreters, such as DPS and CPSI) do.
    +(gs_init.ps, gs_fonts.ps)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- The 'note' page size command caused pages to be clipped
    +improperly.  (gs_statd.ps)
    +
    +Adds "word" image devices.  (gs_init.ps, zdevice.c)
    +
    +Starts converting the interpreter to use an explicit instance pointer.  This
    +is very fragmentary so far and not really supported.  (main.h, gs.c,
    +gsmain.c, iccinit.c)
    +
    +

    Library

    +
    +Adds "word" image devices.  (gsdevice.h, gsdevice.c)
    +
    +Removes the requirement that ImagingBBox[0] and [1] be non-negative.  (The
    +Adobe specification requires this, but Ghostscript supports more general
    +initial CTMs than the Adobe spec.)  (gsdparam.c)
    +
    +
    + +

    Version 3.34 (internal) (4/18/95)

    + +

    +This is a "snapshot" version made for internal purposes. It was never +released to anyone. + +

    Documentation

    +Updates commprod.doc to be fully consistent with the AGFPL.  (commprod.doc)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- tar_x was out of date.  (tar_x)
    +	- tar_gs assumed that if any PC executables were present, gs.exe
    +would exist.  (tar_gs)
    +	- jpeg.mak said the current IJG version was 5b, but the makefiles
    +actually referred to version 5a.  (jpeg.mak)
    +	- The build rule for the LIPS III driver was incorrect.  (devs.mak)
    +	- Some definitions in the makefiles occurred out of order.
    +(ansihead.mak, cc-head.mak, gcc-head.mak, unixhead.mak, unixtail.mak)
    +	- The build rule for dvx-gcc.mak was incorrect.  (unix-end.mak)
    +
    +

    Interpreter

    +
    +Restructures the CIE caches to move much more of the computation from color
    +mapping time to cache loading time.  (zcie.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- Color conversion of 12-bit images was very slightly inaccurate.
    +(gxfrac.h)
    +
    +Changes the transfer function, black generation, and undercolor removal
    +caches so that they sample at 1024 points and don't interpolate, rather than
    +sampling at 256 points and interpolating.  This significantly improves the
    +speed of colored image rendering.  ****** LIMITED TO 256 POINTS BECAUSE OF
    +O-STACK SIZE LIMIT. ****** (gxfmap.h, gxcmap.c)
    +
    +Restructures the CIE caches to move much more of the computation from color
    +mapping time to cache loading time.  (gscie.h, gscie.c)
    +
    +
    + +

    Version 3.33 (4/13/95)

    + +

    +A few more last-minute bug fixes. This is, finally, the first public +release since 3.12. + +

    Documentation

    +
    +Fixes bugs:
    +	- There was a reference to "VAX with OSF/1", which doesn't exist,
    +and an incorrect reference to VAX with Ultrix.  (make.doc)
    +	- The Unix makefiles incorrectly stated that gsdatadir was only
    +relevant to `make install'.  (ansihead.mak, cc-head.mak, dgc-head.mak,
    +gcc-head.mak)
    +	- Notes that DV/X users should use the zip version of the JPEG
    +library.  (jpeg.mak)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- A command line had gotten too long for the MS-DOS shell.
    +(gs.mak)
    +	- The VMS DEC C script didn't explicitly select DEC C.
    +(vms-decc.mak)
    +	- The VMS MODULES.LIS omitted SPDIFF and ZFPDIFF.  (modules.lis)
    +	- The VMS script had an incorrect entry.  (vms.mak)
    +	- The `if' fix in 3.31 broke some Unix systems with different
    +implementations of sh.  (unix-end.mak)
    +	- The makefile definition of gscspace_h was out of order.  (gs.mak)
    +	- An extra ; got written in gconfig_.h on DV/X platforms.
    +(dvx-tail.mak)
    +	- '.' was incorrectly prepended to the library search list on DV/X
    +platforms.  (dgc-head.mak)
    +	- The build rules for unix*.mak didn't work on DV/X.  (unix-end.mak)
    +
    +Adds a description of the -c quit switch to the help message.  (gs.c)
    +
    +For the DV/X platform, changes /usr/include to /djgpp/include as the place
    +to look for header files.  I'm not sure this is always correct.
    +(dvx-tail.mak)
    +
    +

    Utilities

    +
    +Fixes bugs:
    +	- ps2ascii would cause an error if given a font that didn't have an
    +'X' character.  (ps2ascii.ps)
    +	- ps2ascii didn't intercept the Level 2 string display operators.
    +(ps2ascii.ps)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- The Stylus Color driver had an incorrect type name.  (gdevstc.c)
    +
    +

    Platforms

    +
    +Fixes bugs:
    +	- -dBitsPerPixel= didn't work properly for MS Windows or OS/2 PM.
    +(gdevmswn.c, gdevpm.c)
    +	- The Win32 platform didn't compile properly.  (memory_.h)
    +
    +

    Fonts

    +
    +Improves the font substitution algorithm to take the face name into account
    +in more cases.  (gs_fonts.ps)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- Unrotated black-and-white bitmaps with an inverted device X axis
    +were displaced in X.  (gsimage1.c)
    +
    +
    + +

    Version 3.32 (4/7/95)

    + +

    +More bug fixes. This is still not a public release. + +

    Documentation

    +Further clarifies the "two-phase commit" algorithm for device put_params
    +procedures.  (drivers.doc, gsparam.h)
    +
    +Adds a note about a compiler bug under Ultrix 4.4.  (make.doc)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- Some installation scripts could fail because some implementations
    +of sh take the status of an `if' condition as the status of the `if'
    +command.  (unix-end.mak)
    +
    +Adds "maintainer-clean" as a synonym for "real-clean".  (gs.mak)
    +
    +Adds a -dORIENT1 switch that defines orientation = 1 as portrait for
    +setpage[params].  (use.doc, gs_init.ps, gs_lev2.ps, gs_statd.ps)
    +
    +

    Utilities

    +
    +Fixes bugs:
    +	- ps2ascii didn't redirect %stdout completely.  (ps2ascii.ps)
    +	- ps2ascii didn't preserve the local/global VM mode.  (ps2ascii.ps)
    +	- ps2ascii didn't handle fonts with an all-zero or missing bounding
    +box correctly.  (ps2ascii.ps)
    +	- viewpbm didn't scale the image properly.  (viewpbm.ps)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- The CGM driver wrote out an incorrect color precision value.
    +(gdevcgm.c)
    +	- The SGI bitmap driver was named "sgi" rather than "sgirgb".
    +(gdevsgi.c)
    +	- The PCX driver didn't round up an odd line length for gray-scale
    +output.  (gdevpcx.c)
    +	- The PCX driver produced incorrect output for gray-scale or 4- or
    +8-bit color.  (gdevpcx.c)
    +
    +

    Platforms

    +
    +Fixes bugs:
    +	- The VMS MODULES.LIS file had gotten out of sync with the Unix
    +makefiles (again).  (modules.lis)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- Some compilers won't accept '\l', even in the false arm of a
    +preprocessor conditional.  (scanchar.h)
    +	- A procedure was declared with an incorrect argument type.
    +(zcsindex.c)
    +	- The scaled font cache didn't copy XUIDs properly.  (bfont.h,
    +zfont.c, zfont2.c)
    +	- status could return true even if the file was closed.  (zfile.c)
    +
    +

    Streams

    +
    +Fixes bugs:
    +	- The LZW filters were factored improperly.  (modules.lis, gs.mak,
    +vms.mak, slzwx.h, slzwc.c, slzwd.c)
    +
    +Changes the DCTDecode filter for compatibility with Adobe implementations:
    +	- Ignore bytes preceding the 0xff that marks the beginning of the
    +JPEG data.  (sdctd.c)
    +	- Set MAX_BLOCKS_IN_MCU to 64.  (jpeg.mak, gsjpglib.h)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- The "two-phase commit" for device parameters wasn't fully
    +implemented.  (gsiodev.c)
    +	- Asking for a device color map before the device was opened could
    +cause a crash.  (gsdparam.c)
    +	- The scaled font cache didn't copy XUIDs properly.  (gxfont.h,
    +gsfont.c)
    +	- 90 or 270 degree rotated black-and-white bitmaps (including
    +bitmapped fonts such as downloaded TrueType fonts) with an inverted device Y
    +axis were displaced in Y.  (gsimage1.c)
    +	- On high-resolution devices, parts of regions filled with halftones
    +could fail to be painted.  (gxclist.c)
    +
    +
    + +

    Version 3.31 (4/2/95)

    + +

    +A few final bug fixes for the release. Includes significant speed +improvements for CIE color, and a first draft of a low-level CGM driver. + +

    Documentation

    +Notes that the BJC600 driver also works for the BJC4000.  (devs.mak)
    +
    +

    Procedures

    +
    +At the suggestion of a user, changes the default protections for installed
    +files on Unix and DV/X systems from 775/664 to 755/644.  (*head.mak)
    +
    +At the suggestion of a user, adds a -dNOCIE switch to substitute DeviceGray
    +and DeviceRGB color spaces for CIEBasedA and CIEBasedABC spaces
    +respectively.  (gs_init.ps, gs_lev2.ps)
    +
    +

    Utilities

    +
    +Changes gslp and its relatives to use ISOLatin1Encoding for output, and to
    +send almost all printout to stderr rather than stdout (for use as a filter
    +under Unix).  (gslp.ps)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- The fax/TIFF driver no longer exported gdev_fax_print_page, which
    +the DigiFax driver needs.  (gdevtfax.c)
    +	- The color DeskJet drivers gave an error for BitsPerPixel=3.
    +(gdevcdj.c)
    +	- The "Windows printer" driver was setting its margins in points
    +rather than inches.  (gdevwprn.c)
    +	- The BJ10 and BJ200 drivers calculated vertical skip distances
    +wrong.  (gdevbj10.c)
    +	- The BJ10 and BJ200 drivers output two garbage bytes following the
    +initialization string.  (gdevbj10.c)
    +
    +Adds a preliminary driver that produces low-level CGM output.  (gdevcgml.h,
    +gdevcgmx.h, gdevcgm.c, gdevcgml.c)
    +
    +

    Platforms

    +
    +Fixes bugs:
    +	- The VMS files had gotten out of sync with the other makefiles
    +(again).  (modules.lis, vms.mak)
    +	- The MS Windows and OS/2-PM drivers hadn't been updated to handle
    +BitsPerPixel as a standard parameter.  (gdevmswn.c, gdevpm.c)
    +
    +Removes the TIFF drivers from the Windows platform, and restores the BMP
    +drivers.  (bcwin.mak)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- The CIE color mapping cache could produce anomalous results
    +for the default (all zero values) color if some of the mapping
    +functions were non-linear.  (zcie.c)
    +	- MultiMaster font substitution got confused if substituted
    +fonts had their FontName changed.  (gs_fonts.ps)
    +	- A procedure was declared as private inconsistently.  (zdevcal.c)
    +	- Some pointer relocation procedures didn't work correctly on
    +systems with sizeof(T *) > sizeof(int).  (istack.c)
    +	- The freelist vector wasn't large enough to handle graphics state
    +objects on 64-bit systems, leading to severe memory sandbars.  (iastate.h)
    +	- The debugging messages from the allocator had gotten inconsistent
    +and hard to use.  (ialloc.c)
    +	- Mixing save/restore with allocation could cause the GC never to
    +get run.  (isave.c)
    +
    +Speeds up the mapping of CIE colors.  (zcie.c)
    +
    +Adds a .namestring operator for getting the string of a name without having
    +to copy it.  (zstring.c)
    +
    +

    Streams

    +
    +Fixes bugs:
    +	- The IJG code needed a couple more flags set for IJG v6.
    +(gsjmorec.h)
    +	- Some pointer relocation procedures didn't work correctly on
    +systems with sizeof(T *) > sizeof(int).  (stream.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- The end-test for the fast case of monobit images was wrong,
    +leading to out-of-range memory accesses.  (gsimage1.c)
    +	- Monobit images rotated by 270 degrees displayed incorrectly.
    +(gsimage1.c)
    +	- If a Type 1 font used hint replacement, some parts of the outline
    +before the hint replacement ignored the old hints.  (gstype1.c)
    +	- Some compilers didn't accept a variable name that was the same as
    +a macro with parameters.  (gxht.c)
    +	- A procedure was declared as private inconsistently.  (gdevm1.c)
    +	- Some pointer relocation procedures didn't work correctly on
    +systems with sizeof(T *) > sizeof(int).  (gdevmem.c, gsstate.c)
    +	- The test on FORCE_HINTS_TO_BIG_PIXELS was backwards.  This bug was
    +supposed to have been fixed in 3.30, but somehow the fix got lost.
    +(gstype1.c)
    +	- 90 degree rotated monobit images could drop some scan lines.
    +(gsimage*.c)
    +
    +Speeds up the mapping of CIE colors.  (gscie.h, gxcmap.h, gscie.c, gxcmap.c)
    +
    +Speeds up color images (non-interpolated, 1-8 bits per component) by adding
    +a cache for mapped color values.  (gximage.h, gsimage.c, gsimage1.c,
    +gsimage2.c)
    +
    +Shrinks the band list file slightly by using only as many bytes as necessary
    +for writing out colors, rather than always using 4 bytes.  (gxclist.c,
    +gxclread.c)
    +
    +
    + +

    Version 3.30 (beta) (3/21/95)

    + +

    +More bug fixes. The garbage collector and PDF interpreter finally appear to +work reliably. + +

    Documentation

    +Fixes bugs:
    +	- language.doc had gotten out of date.  (language.doc)
    +
    +

    Utilities

    +
    +Fixes bugs:
    +	- Changes in the handling of %stdout had broken ps2ascii.
    +(gs_dps1.ps, ps2ascii.ps)
    +
    +Improves ps2ascii to skip empty strings and not output redundant font
    +changes.  (ps2ascii.ps)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- The fax and TIFF drivers didn't free all their working storage.
    +(This bug was fixed in 3.27, and the fix somehow got lost.)  (gdevtfax.c)
    +
    +Adds new drivers:
    +	- sgirgb, to produce SGI RGB raster files.  (gdevsgi.c)
    +	- tiffcrle, to produce output in TIFF "CCITT 1-dimensional Huffman
    +RLE" format (Group 3 fax with no EOLs). (gdevtfax.c)
    +	- tifflzw, to produce output in TIFF LZW format (using the existing
    +CCITTFaxEncode filter code). (gdevtfax.c)
    +	- tiffpack, to produce output in TIFF PackBits format. (gdevtfax.c)
    +
    +

    Interpreter (PostScript)

    +
    +Fixes bugs:
    +	- If the current screen was set with a halftone, setcolorscreen
    +wouldn't accept what currentcolorscreen returned.  (gs_dps1.ps)
    +	- debug_print_full_ref didn't print t_oparray objects correctly.
    +(idebug.c)
    +	- The internal data for a font could be allocated in a different VM
    +space from the font dictionary, causing dangling pointers.  (zfont2.c)
    +	- definefont became confused if a program failed to delete the FID
    +from a re-encoded font.  (This is questionable PostScript, but dvips does
    +it.)  (zfont2.c)
    +	- If a BuildChar procedure did a save before the setcachedevice and
    +a restore afterwards, the memory manager would attempt to free the cache
    +device after it had already been freed by the restore, leading to damaged
    +freelists.  (gschar.c)
    +	- setresolution (in statusdict) was ignored.  (gs_lev2.ps,
    +gs_statd.ps)
    +	- If a string containing a string containing a \ was passed to the
    +token operator, the \ was not recognized properly in a Level 2 environment.
    +(iscan.c)
    +	- A couple of default dictionary sizes had become too small.
    +(iinit.c)
    +
    +Makes DOS EOF (control-Z, 0x1a) a self-delimiting token, like left bracket.
    +THIS IS A NON-BACKWARD-COMPATIBLE CHANGE, but it should not have any adverse
    +effects.  (gs_init.ps, iscan.c, iscantab.c)
    +
    +Distinguishes arch_small_memory from arch_ints_are_short, and adds a new
    +-Z. switch to force small-memory table sizes regardless of actual memory
    +size.  (dstack.h, idict.c, zpcolor.c, zvmem2.c)
    +
    +

    Interpreter (PDF)

    +
    +Fixes bugs:
    +	- A page with no Contents caused an error.  (pdf_main.ps)
    +	- Executing a Form resource caused an error.  (pdf_draw.ps)
    +	- Outlines with open entries caused an error.  (pdf_main.ps)
    +	- Embedded Type 3 fonts caused an error.  (pdf_draw.ps, pdf_font.ps)
    +	- The Widths array of fonts was ignored.  (pdf_font.ps)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- Freeing an entry in the pattern cache didn't clear the pointers to
    +the raster data, producing a dangling reference that confused the garbage
    +collector.  (gxpcmap.c)
    +	- The test on FORCE_HINTS_TO_BIG_PIXELS was backwards.  (gstype1.c)
    +	- The pattern cache bookkeeping was incorrect.  (gxpcmap.c)
    +	- Depending on the order in which pointers were relocated, the
    +garbage collector could incorrectly relocate pointers from the character
    +cache.  (gxfcache.h, gsfont.c, gxccache.c, gxccman.c)
    +
    +Changes the fast case of black-and-white images so it aligns scaled images
    +with the device coordinate system, to improve performance.  (gsimage1.c)
    +
    +Extends the coordinate transformation routines to handle absurdly large
    +translation values in the CTM as long as the final device device coordinates
    +are within fixed-point range.  (gxmatrix.h, gxpath.h, gschar.c, gscoord.c,
    +gsmatrix.c, gxhint2.c, gxpath2.c)
    +
    +Distinguishes arch_small_memory from arch_ints_are_short, and adds a new
    +-Z. switch to force small-memory table sizes regardless of actual memory
    +size.  (gdevprn.h, gxpcolor.h, gzht.h, std.h, gsfont.c, gsht1.c, gspaint.c,
    +gsstate.c, gxcht.c, gxht.c, gxpcmap.c)
    +
    +
    + +
    + +

    Version 3.29 (internal) (3/8/95)

    + +

    +Another bug-fix release. This release processes all but 7 of the 500+ files +on the Adobe Acrobat Sampler CD-ROM without giving an error. The garbage +collector finally appears to be stable. This version was created for a +customer; it was not released to the general public or even to the beta test +list. + +

    Documentation

    +Documents the possible need to set LD_RUN_PATH on SVR4 platforms.
    +(make.doc)
    +
    +Expands the description of the device life cycle, and of the constraints on
    +put_params procedures.  (drivers.doc)
    +
    +Adds an explicit copyright notice to the Aladdin Ghostscript Free Public
    +License.  (PUBLIC)
    +
    +Clarifies that the Win32s documentation also applies to Windows NT.
    +(make.doc)
    +
    +

    Procedures

    +
    +Removes the obsolete writeppmfile operator from the standard configurations.
    +(gs.mak)
    +
    +Changes the Watcom makefiles to work properly with Watcom C/C++ 10.0.
    +(make.doc, msc.mak, watc.mak, watcwin.mak, wccommon.mak)
    +
    +

    Utilities

    +
    +Adds a wftopfa utility for converting the Wadalab fonts to usable Type 0 and
    +Type 1 form.  (wftopfa)
    +
    +

    Fonts

    +
    +Fixes bugs:
    +	- Entries added automatically by definefont (FontInfo, ExactSize)
    +could cause a font dictionary to become full.  (gs_fonts.ps, gs_type1.ps)
    +	- wrfont.ps couldn't deal with very long CharStrings.  (wrfont.ps)
    +
    +Makes the name of the Fontmap file an easily editable parameter.
    +(gs_fonts.ps)
    +
    +Adds a utility for converting the Wadalab font to usable Type 0 and Type 1
    +form.  (wrfont.ps, wftopfa.ps)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- The top margin for printer (and fax) devices was computed
    +incorrectly, using the X resolution rather than the Y resolution.
    +(gdevprn.h)
    +	- Changing the page size or resolution of a printer device closed
    +and reopened the device unnecessarily.  (gdevprn.c)
    +	- Changing the page size of the X11 device didn't change the initial
    +matrix, so (0,0) didn't wind up in the lower left corner.  (gdevx.c)
    +	- The bit devices didn't allow changing the number of bits per
    +pixel.  (gdevbit.c)
    +
    +Adds a settable .IsPageDevice boolean device parameter to the X Windows
    +driver.  The default value is true.  (gdevx.h, gdevx.c)
    +
    +Changes the PPM driver so that it chooses between PBM/PGM/PPM on a
    +page-by-page basis, rather retaining the most general format ever required
    +by any page.  (gdevpbm.c)
    +
    +

    Interpreter (PostScript)

    +
    +Fixes bugs:
    +	- The current page device could be null, rather than an empty
    +dictionary.  (igstate.h, zchar.c, zdevice.c, zdevice2.c, zgstate.c)
    +	- The scanner didn't signal an error for names or strings that were
    +too long.  (iscan.c)
    +	- A missing header file upset the VAX compilers.  (ztype.c)
    +	- Some places expecting dictionary operands didn't check the type,
    +because they incorrectly assumed that the dict_check_read/write macro did
    +this.  (idict.h, zdevice2.c, zht2.c, zmisc2.c)
    +	- The definition of quit in systemdict wasn't disabled within
    +encapsulated jobs.  (gs_lev2.ps)
    +	- resetfile gave an error if the file was closed, rather than doing
    +nothing.  (zfileio.c)
    +	- The scanner attempted to free an uninitialized pointer if it
    +reached EOF after a / or //.  (iscan.c)
    +	- A restore in a different file than the corresponding save caused
    +an invalidrestore error.  (gs_init.ps)
    +	- The default value of EndOfData in RunLengthDecode streams was set
    +to false.  (zfilter.c)
    +	- .registerencoding didn't invoke the save machinery correctly,
    +leading to GC problems.  (zfont2.c)
    +	- The facility for overriding .printerror didn't work correctly.
    +(gs_init.ps)
    +	- gs_run_file_open wasn't public.  (gsmain.c)
    +	- The interpreter returned e_undefined for undefined error names,
    +rather than the error code.  (interp.c)
    +	- Allocation in system memory (specifically, adding a block to a
    +stack) couldn't trigger automatic garbage collection.  (interp.c, igc.c,
    +zvmem2.c)
    +	- A restore in a different invocation of gs_run_string than the
    +corresponding save would stop reading the string.  (files.h, gsmain.c,
    +iccinit.c, zfile.c)
    +	- The Type 1 rasterizer state included a pointer into the middle of
    +an object, confusing the garbage collector.  (zchar1.c, zfont1.c)
    +	- When the garbage collector deleted a name, it didn't zero out the
    +string pointer.  (iname.c)
    +	- On platforms where obj_align_mod > 4, the memory manager could
    +access 1 beyond the end of its freelists.  (iastate.h)
    +	- makefont and scalefont didn't check the type of their font operand
    +soon enough.  (zfont.c)
    +	- restore didn't finalize the objects it freed.  (isave.c)
    +	- restore didn't free system VM.  (isave.c)
    +	- Freeing a ref array that occupied an entire chunk didn't free the
    +chunk.  (ialloc.c)
    +
    +Adds a .runexec operator which implements the 'close if error' function of
    +run.  (zfile.c, zfileio.c)
    +
    +Moves the obsolete writeppmfile operator into a separate file.  (zfileio.c,
    +zwppm.c)
    +
    +Makes the statistics returned by the memory manager more accurate.
    +(ialloc.c, zvmem.c)
    +
    +Adds a (read-only) %Calendar% IODevice.  (zdevcal.c)
    +
    +Adds a "hook" in the character operators to allow external code to
    +intervene; this is needed for a customer.  (ichar.h, zchar.c, zchar2.c)
    +
    +Makes control-D (0x04) a self-delimiting token, like left bracket.  THIS IS
    +A NON-BACKWARD-COMPATIBLE CHANGE, but it should not have any adverse
    +effects.  (scanchar.h, iscan.c, iscantab.c)
    +
    +Changes the error stack printout so that it puts line breaks between items
    +iff the items are being printed with ==.  (gs_init.ps)
    +
    +Uses finalization to close streams being freed.  (igc.c, zfile.c, ziodev.c)
    +
    +

    Interpreter (PDF)

    +
    +Fixes bugs:
    +	- Embedded Type 1 fonts that invoked save and restore while being
    +read caused an error.  (pdf_font.ps)
    +	- Large files that referenced a non-alphabetic font for the first
    +time late in the file could cause an error.  (pdf_main.ps)
    +
    +

    Streams

    +
    +Fixes bugs:
    +	- SubFileDecode streams didn't copy partial matches of the EOD
    +string into their output.  (sfilter1.c)
    +
    +Makes switching between read and write modes a stream procedure.  (stream.h,
    +sfile.c, sfileno.c, stream.c, zfileio.c)
    +
    +Makes file streams close themselves when finalized.  (We can't do this for
    +other streams, because finalization procedures aren't allowed to free
    +storage explicitly.)  (stream.h, sfile.c, sfileno.c, stream.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- The obsolete files gcdefs.h and gsfile.c were still included in
    +the fileset.
    +	- A number of places didn't deal with null patterns properly (p_tile
    +== 0).  (gxdcolor.h, gspcolor.c, gxpcmap.c)
    +	- The pattern tiling algorithm was numerically unstable, especially
    +if the X/YStep vectors were close to the axes.  (gxcolor2.h, gspcolor.c,
    +gxpcmap.c)
    +	- setdeviceparams checked the values of read-only byte array
    +parameters incorrectly.  (gsdparam.c)
    +	- The statistics macros in gxfill.c didn't use DO_NOTHING when
    +disabled.  (gxfill.c)
    +	- Changing the orientation of a device closed and reopened the
    +device unnecessarily.  (gsdparam.c)
    +	- ioerrors occurring when writing command lists weren't reported
    +properly.  (gxclist.h, gxclist.c)
    +	- Errors from device procedures weren't always propagated up to
    +clients.  (gsimage1.c, gsimage3.c, gxclip2.c, gxclist.c)
    +	- Overflowing the fixed-point translation values in the CTM caused a
    +floating point exception rather than a limitcheck.  (gxmatrix.h, gscoord.c)
    +	- charpath set the current point correctly, but didn't append a
    +moveto element to the path.  (This mostly affected Mathematica output.)
    +(gzpath.h)
    +	- Image devices mapped colors incorrectly.  (gdevmem.c, gdevm16.c)
    +	- On devices with color capability but fewer than 4 bits per pixel,
    +color halftones didn't work (and could cause an arithmetic exception).
    +(gxdither.c)
    +	- Black-on-white memory devices didn't map colors properly.
    +(gdevprn.h, gxdevice.h, gxdevmem.h, gdevmem.c, gdevm1.c, gsdevice.c)
    +	- Memory devices with a non-zero origin in their initial matrix
    +clipped the image improperly.  (gsdevice.c)
    +	- The Type 1 rasterizer state included a pointer into the middle of
    +an object, confusing the garbage collector.  (gstype1.h, gxfont1.h,
    +gxtype1.h, gstype1.c, gxhint2.c)
    +	- The band rasterizer could produce garbled output for images
    +(including characters) on 64-bit architectures.  (gxclread.c)
    +	- Bounding boxes (for pathbbox and setbbox) could be slightly
    +inaccurate.  (gsmatrix.c)
    +	- On 64-bit architectures, halftone tiles less than 16 bits wide
    +were handled incorrectly.  (gxclist.c)
    +
    +Adds an .IsPageDevice boolean device parameter (normally read-only).
    +(gsdparam.c)
    +
    +Removes the library code for implementing the obsolete writeppmfile
    +operator.  (gswppm.c)
    +
    +Makes the default matrix (for initmatrix and defaultmatrix) a settable
    +parameter in the graphics state.  (gscoord.h, gzstate.h, gscoord.c,
    +gsdevice.c, gsdparam.c)
    +
    +Makes the statistics returned by the memory manager more accurate.
    +(gsmemory.h)
    +
    +Adds a compile-time flag to choose whether or not to force Type 1 hints to
    +"big pixel" boundaries when oversampling.  (gstype1.c)
    +
    +Changes the .PageCount device parameter back to PageCount, because the
    +change broke some scripts.  (gsdparam.c)
    +
    +Adds optimization for 90 degree rotated images with pure colors.
    +(gximage.h, gsimage.c, gsimage1.c)
    +
    +Changes the band rasterizer so that replicated halftone tiles are written on
    +the band list in unreplicated form.  (gsbitops.h, gxcldev.h, gsbitops.c,
    +gxclist.c, gxclread.c, gxht.c)
    +
    +Changes the .HWBitsPerPixel device parameter to BitsPerPixel.  (drivers.doc,
    +language.doc, gdevcdj.c, gdevstc.c, gsdparam.c)
    +
    +
    + +

    Version 3.28 (beta) (2/13/95)

    + +

    +Another bug-fix beta release. The number of bugs being fixed in each of +these sub-releases does exceed the number of new bugs introduced, but the +latter number is discouragingly high. + +

    Documentation

    +Adds some information about handling VMS file attributes for files
    +transferred by FTP.  (use.doc)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- unix-gcc.mak said the static linkage switch for SunOS was -Bstatic
    +rather than -static.  (unix-gcc.mak)
    +	- Some dependency lists in gs.mak were out of date.  (gs.mak)
    +
    +

    Utilities

    +
    +Fixes bugs:
    +	- markhint.ps didn't check for protected fonts.  (markhint.ps)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- The cdj driver had a byte/char agreement problem.  (gdevcdj.c)
    +	- The cdj driver attempted to initialize a dynamic array.
    +(gdevcdj.c)
    +
    +Removes the setting of InputAttributes and OutputAttributes from the H-P
    +drivers, since this causes more problems than it solves.  (gdevdjet.c)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- makeoperator assigned incorrect attributes to operators. (bug
    +introduced in 3.27) (opdef.h, iinit.c, iutil.c, zmisc.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- gs_makeimagedevice didn't set the caller's pointer to the newly
    +created device.  (bug introduced in 3.27) (gsdevice.c)
    +	- There were still some mismatches between char * and byte * values.
    +(gsdparam.c)
    +	- The halftone replication algorithm could produce inappropriately
    +large replicated masks.  (gxht.c)
    +	- stroke usually did the wrong thing for degenerate (single-point)
    +subpaths.  (gxstroke.c)
    +
    +
    + +

    Version 3.27 (beta)(withdrawn) (2/8/95)

    + +

    +Yet another bug-fix beta release. This release had so many serious problems +(the most serious being at least one changed file that the release tool +failed to include in the fileset) that it was withdrawn less than a day +after it was issued. + +

    Documentation

    +Fixes bugs:
    +	- The NEWS for 3.26 didn't mention the fact that the stdxxx stream
    +interface used by MS Windows, OS/2, and Macintosh implementations had
    +changed.  (NEWS)
    +	- The file public.doc wasn't distributed with the previous fileset.
    +
    +Brings the NeXTSTEP documentation up to date for NeXTSTEP releases 3.2 and
    +subsequent.  (make.doc)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- Some dependency lists in gs.mak were out of date.  (gs.mak)
    +	- A 'fi;' was missing in the Unix install script.  (unix-end.mak)
    +	- There was no VMS build script for the PDF options.  (vms.mak)
    +	- The VMS script used CC_QUALI instead of CC_QUAL in several places.
    +(vms.mak)
    +
    +

    Utilities

    +
    +Fixes bugs:
    +	- ps2epsi's usage prompt referred to "pstoepsi".  (ps2epsi)
    +	- ps2epsi set PATH and LOCALPATH unilaterally.  (ps2epsi)
    +
    +Comments out the sample usage line at the end of viewjpeg.ps.  (viewjpeg.ps)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- The fax and tiff drivers didn't free all of their working storage.
    +(gdevtfax.c)
    +
    +Adds user-contributed drivers for the BJC 600 and ESC/P printers.
    +(devs.mak, gdevcdj.c)
    +
    +

    Platforms

    +
    +Fixes bugs:
    +	- Some necessary casts of string parameters to (const byte *) were
    +omitted.  (gp_mswin.c, gp_os2.c)
    +
    +Adds the psmono and bit* drivers, and removes the p*m drivers, in the OS/2,
    +32-bit MS-DOS, and 32-bit Windows configurations.  (bcwin32.mak, os2.mak,
    +watc.mak)
    +
    +

    Fonts

    +
    +Fixes bugs:
    +	- The Fontmap for Ultrix had somehow become slightly incorrect.
    +(Fontmap.Ult)
    +
    +Removes the font file names from the dependency lists in cfonts.mak.  This
    +makes cfonts.mak readily usable with any set of fonts, but it also means
    +that it will always run font2c, rather than being able to avoid this if the
    +.c file is up to date.  (cfonts.mak)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- Some operators could fail if the stdxxx streams weren't currently
    +open.  (files.h, zfileio.c, ziodev.c)
    +	- setpagedevice didn't handle unrecognized keys properly.
    +(gs_setpd.ps)
    +	- The value returned for the HWColorMap device parameter was
    +allocated incorrectly, confusing the garbage collector.  (iparam.c)
    +	- Typing ahead at the >>showpage<< prompt no longer caused all
    +further pages to be processed without stopping.  (gs_init.ps)
    +	- Setting DEVICEWIDTHPOINTS or DEVICEHEIGHTPOINTS on the command
    +line caused a typecheck.  (gs_init.ps)
    +	- The garbage collector didn't handle halftone threshold arrays
    +properly.  (zht2.c)
    +	- setdefaulttimeouts caused an error on Level 2 systems.
    +(gs_lev2.ps)
    +	- cvi and cvr weren't equivalent to token followed by a type check.
    +(iscan.h, iscannum.h, iscan.c, iscannum.c, ztoken.c, ztype.c)
    +	- In Level 2 systems, image and colorimage didn't allow 12 bits per
    +sample.  (zpaint.c)
    +	- If debugging was enabled, the garbage collector printed spurious
    +error messages about the allocator objects not being in a chunk.  (ialloc.c)
    +	- restore didn't reset the count of operator procedures, so the
    +operator procedure table could fill up.  Fixing this required splitting the
    +op_array_table into a global table and a local table.  (opdef.h, iinit.c,
    +iutil.c, zmisc.c)
    +	- .forgetsave could leave a dangling pointer in the memory manager,
    +causing an access error.  (ialloc.c, isave.c)
    +	- Freed objects weren't always marked as freed, which could confuse
    +the memory validator.  (ialloc.c)
    +	- .forgetsave didn't mark inner chunk headers as free, leading to
    +access errors.  (isave.c)
    +
    +Changes the representation of operator procedures so that they point
    +directly to their definition in the op_array_table.  (iref.h, opdef.h,
    +idebug.c, igc.c, igcref.c, interp.c, zmisc.c)
    +
    +Removes .makeglobaloperator.  (zmisc.c)
    +
    +Adds patches to discard some common garbage produced by H-P-oriented
    +applications and drivers.  (gs_init.ps)
    +
    +Changes the >>showpage<< prompt so that if the input reaches EOF, the
    +interpreter still stops after the next >>showpage<<, rather than processing
    +all subsequent pages.  This is a consequence of the bug fix that
    +automatically reopens the stdxxx files.
    +
    +Adds an optional dictionary parameter for the RunLengthEncode/Decode
    +filters, to allow specifying EndOfData.  The default is true.  (zfilter.c)
    +
    +Adds ByteTranslateEncode/Decode filters.  (zfilter2.c)
    +
    +

    Streams

    +
    +Fixes bugs:
    +	- The K > 0 option of the CCITTFaxDecode filter switched back to 2-D
    +encoding if an output buffer boundary fell in the middle of a 1-D line, and
    +signalled an error if an input buffer boundary fell in the middle of an EOL.
    +(scfd.c)
    +
    +Adds an EndOfData flag to the RunLengthEncode/Decode filters.  If true, RLE
    +generates 128 as EOD, and RLD recognizes it; if false, RLE does not mark
    +EOD, and RLD ignores 128.  (srlx.h, gxclist.c, gxclread.c, sfilter1.c)
    +
    +Adds ByteTranslateEncode/Decode streams.  (sbtx.h, sfilter2.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- There were some mismatches between char * and byte * values.
    +(gsdparam.c)
    +	- Failure to round a scaling coordinate caused one-for-one
    +black-and-white images to render slower than they should.  (gsimage.c)
    +	- Setting PageSize without setting HWResolution could cause an
    +invalid memory access.  (gsdparam.c)
    +	- The garbage collector didn't handle halftone threshold arrays
    +properly.  (gxht.h, gsht.c, gsht1.c)
    +
    +
    + +

    Version 3.26 (beta) (2/1/95)

    + +

    +Yet another bug-fix beta release, still not ready for public release. + +

    Documentation

    +Fixes bugs:
    +	- The description of device properties had gotten out of sync with
    +the code.  (language.doc)
    +
    +Splits off documentation specific to the Aladdin (non-GNU) release into a
    +separate file.  (readme, public.doc, unix-end.mak)
    +
    +Adds a pointer to a collection of other free fonts (including some Cyrillic
    +ones) available on the net.  (public.doc)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- On VMS systems with both VAX C and DEC C installed, the build script
    +used VAX C rather than DEC C.  (vms.mak)
    +	- zfdecode.c didn't have a build rule.  (gs.mak)
    +	- Several macros in the makefile were used before they were defined.
    +(gs.mak)
    +	- Several macros in the makefile were used without being defined.
    +(gs.mak)
    +
    +Replaces the gssetdev, gssetmod, and gsaddmod scripts with more variants of
    +echogs.  (echogs.c, gs.mak)
    +
    +

    Utilities

    +
    +Fixes bugs:
    +	- The ps2ascii shell script passed a -f flag to the shell, which not
    +all shells recognize.  (ps2ascii)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- Due to a typo in an initialization string, the H-P printers didn't
    +reset the top margin to zero.  (gdevdjet.c)
    +
    +Adds InputAttributes and OutputAttributes entries to the H-P drivers.  (This
    +should probably be generic to all printers.)  (gdevdjet.c)
    +
    +Replaces the contributed Epson Stylus Color driver with a newer version.
    +(devices.doc, gdevstc.c)
    +
    +

    Platforms

    +
    +Fixes bugs:
    +	- DEC C complained about 'abs' and 'exit' not being declared.  (x_.h)
    +	- gp_mswin.c and gp_os2.c wouldn't compile.  (gp_mswin.c, gp_os2.c,
    +ziodev.c)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- The default CIE rendering dictionary gave everything a magenta tint.
    +(gs_lev2.ps)
    +	- Changing HWResolution and PageSize in the same call of
    +setpagedevice produced an incorrect HWSize.  (gsdparam.c)
    +	- .putdeviceparams didn't accept all the keys that .getdeviceparams
    +returned.  (gsdparam.c)
    +	- The default handler for interrupt and timeout errors didn't push a
    +current object (command) on the stack.  (gs_init.ps)
    +	- The garbage collector didn't handle strings larger than 64K
    +properly.  (iastate.h, ialloc.c, igcstr.c)
    +
    +Adds media matching and Policy consultation to the implementation of
    +setpagedevice.  (gs_setpd.ps)
    +
    +Adds a MaxGlobalVM system parameter.  (zmisc2.c)
    +
    +

    Streams

    +
    +Fixes bugs:
    +	- The CCITTFaxEncode filter could access a byte beyond the end of
    +the allocated area.  (scfe.c)
    +	- The CCITTFaxDecode filter could get an ioerror if a buffer
    +boundary fell in exactly the wrong place.  (scfd.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- The garbage collector didn't trace colored halftones properly.
    +(gzht.h)
    +	- The garbage collector didn't relocate the bitmap pointers in
    +halftone caches properly.  (gzht.h, gxht.c)
    +
    +Adds the ability to transmit dictionaries through the param_list mechanism
    +(specifically, as device parameters).  This change is
    +non-backward-compatible only for implementors of parameter lists, which only
    +exist within the Ghostscript core.  (gsparam.h, iparam.h, iparam.c)
    +
    +Removes the InitialMatrix device property.  (gsdparam.c)
    +
    +
    + +

    Version 3.25 (beta) (1/24/95)

    + +

    +Yet another bug-fix beta release. There are still at least half a dozen +significant known bugs to be fixed before a public release. + +

    Documentation

    +Notes that on Unix systems, one should not edit 'makefile', but should edit
    +the individual subfile and run tar_cat.  THIS IS A NON-BACKWARD-COMPATIBLE
    +CHANGE.  (make.doc)
    +
    +Adds information on the Macintosh implementation.  (readme)
    +
    +

    Procedures

    +Fixes bugs:
    +	- make clean failed on Unix systems where rm -f requires at least one
    +file name.  (gs.mak)
    +	- math_.h was omitted from many dependency lists.  (gs.mak)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- The X Windows and MS Windows draw-line routines couldn't possibly
    +produce sufficiently correct output (since the interface only provides integer
    +coordinates).  (gdevx.c, gdevwddb.c)
    +
    +In response to patent-related actions by Unisys and CompuServe, removes the
    +GIF driver.  (*.mak)
    +
    +Changes dci_std_color (and std_device_std_color_* and prn_device_std_*) so
    +that if the number of bits per pixel is 32, the device is defined as CMYK
    +rather than RGB.  (gxdevice.h)
    +
    +Removes the tseng8 device, which is no longer useful.  (devs.mak, gdevsvga.c)
    +
    +Adds pseudo-alpha support to the SVGA drivers, via the TextAlphaBits and
    +GraphicsAlphaBits device parameters.  (gdevsvga.h, gdevsvga.c)
    +
    +Adds a user-contributed driver for the Epson Stylus Color printer.  (devs.mak,
    +gdevstc.c, devices.doc)
    +
    +

    Platforms

    +
    +Fixes bugs:
    +	- The VMS build scripts had gotten out of sync (again).  (vms*.mak)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- The emulator name array was incorrectly declared const in one place.
    +(gs.c)
    +	- A closed file could incorrectly appear to be 'eq' to another file
    +(open or closed).  (iutil.c)
    +	- If %stdin/%stdout/%stderr was ever closed, it couldn't be
    +reopened.  (gs_btokn.ps, gs_init.ps, files.h, zfile.c, zfileio.c, zfilter.c,
    +zfproc.c, ziodev.c)
    +
    +Changes (almost) all the operator routines to 'static'.  (z*.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- The raster value for replicated tiles in the halftone cache was
    +incorrect, causing unaligned memory accesses.  (gxht.c)
    +	- stroke and strokepath could produce slightly inaccurate output
    +(leading to slight visible anomalies) as a result of stroke adjustment.
    +(gxstroke.c)
    +	- Attempting to draw an arc with zero radius could cause a numeric
    +exception.  (gspath1.c)
    +	- Setting the Orientation of a device to null resulted in actually
    +setting it to a random value.  (gsdparam.c)
    +	- charpath, stringwidth, and cshow attempted to remap the current
    +color unnecessarily.  (gschar.c)
    +
    +Adds the ability to trace calls on the sqrt function (and possibly other math
    +functions in the future.)  (math_.h, gsmisc.c)
    +
    +Adds additional interrupt checks in the banding code.  (gxclist.c, gxclread.c)
    +
    +
    + +

    Version 3.24 (beta) (1/17/95)

    + +

    +This was supposed to be a public release, but too many bugs showed up in 3.23, +so this is another bug-fix beta release. This is the first release with a +working PDF reader. + +

    Documentation

    +Notes that Solaris requires using installbsd instead of install.  (make.doc)
    +
    +

    Procedures

    +
    +Changes 'make mostlyclean' so that it doesn't delete the Ghostscript
    +executable (but deletes everything else that 'make clean' does).  (gs.mak)
    +
    +Changes the link list generator so it eliminates duplicate library requests.
    +(genconf.c)
    +
    +Factors the interpreter further so as to include less unnecessary PostScript
    +support in the PDF interpreter.  (gs.mak, zpath.c, zpath1.c)
    +
    +Adds a printout of the available language interpreters to the -h message.
    +(genconf.c, gs.c, iinit.c, gs.mak)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- The alternate X drivers used a cast in an initializer, causing a
    +compilation error on some platforms.  (gdevxalt.c)
    +
    +Adds a driver for the LaserJet IIID, including duplex printing if specified by
    +the Duplex page device parameter.  (gdevdjet.c)
    +
    +Adds Orientation to the bit device.  (gdevbit.c)
    +
    +

    Platforms

    +
    +Fixes bugs:
    +	- There was an extraneous pfen-> in the NT file system module, causing
    +a compilation error.  (gp_ntfs.c)
    +	- The DLL code referred to an obsolete symbol a_foreign.  (gsdll.c)
    +	- The VMS build scripts omitted the LaserJet 4 driver.  (vms-*.mak)
    +	- The VMS build scripts had several other minor errors.  (vms.mak)
    +
    +

    Fonts

    +
    +Fixes bugs:
    +	- Defining a font alias in global VM with a name that was a string in
    +local VM caused an error.  (gs_fonts.ps)
    +	- The font compiler referred to an obsolete symbol a_foreign.
    +(font2c.ps)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- There was an extraneous '#' before an extern declaration.
    +(gsmain.c)
    +	- The interpreter could (incorrectly) attempt to expand the e-stack.
    +(istack.h, interp.c, istack.c)
    +	- zfproc.c called memcpy but didn't include memory_.h.  (zfproc.c)
    +	- A garbage collection occurring within a 'save' would often smash
    +memory.  (igc.c)
    +	- If the last character returned by the procedure of a procedure-based
    +filter was \r, readline could get an endless loop.  (zfileio.c)
    +	- Saving a change to a ref member of a structure confused the garbage
    +collector.  (isave.h, isave.c, zdict.c)
    +	- The -Zu debugging printout could cause an access error under rare
    +circumstances.  (isave.c)
    +	- Save objects could get allocated in global VM, causing dangling
    +references.  (zvmem.c)
    +	- The vmsave object created by the interpreter for a save didn't get
    +freed properly if the memory manager created an invisible save level, which
    +could cause the next garbage collection to crash.  (zvmem.c)
    +	- 'run' always printed an error message, rather than letting the
    +top-level control loop do it.  (gs.c, gs_init.ps)
    +
    +Adds support for duplex devices.  (gxdevice.h, gsdparam.c, gs_statd.ps,
    +gs_setpd.ps)
    +
    +Adds the beginnings of support for CID-keyed fonts.  (gs_cidfn.ps)
    +
    +Changes the format of the stack dump printed for errors, to make it easier to
    +read.  (gs_init.ps)
    +
    +

    Interpreter (PostScript)

    +
    +Fixes bugs:
    +	- The .local/global allocation operators always allocated in system
    +VM.  (zsysvm.c)
    +	- setpage[params] caused an error.  (gs_lev2.ps)
    +	- If an error occurred during a cshow or (x|y|xy)show, the interpreter
    +freed the enumerator twice.  (zchar.c, zchar2.c)
    +
    +Changes setpageparams so that orientation = 0 means portrait.  This is not
    +compatible with AGFA's convention for roll-feed devices, but it is compatible
    +with the more common cut-sheet printers.  (gs_statd.ps)
    +
    +Adds meaningful values for the Emulator resource.  (gsmain.c, gs_res.ps)
    +
    +Makes -Z? validate the state of memory before and after save and restore.
    +(ialloc.h, igc.h, ialloc.c, igc.c, ilocate.c, zvmem.c)
    +
    +

    Interpreter (PDF)

    +
    +Fixes bugs:
    +	- The Unix install script didn't install the PDF files if they were
    +present.  (unix-end.mak)
    +	- PDF to PostScript conversion didn't work at all.  (It still doesn't
    +work very well.)  (pdf_2ps.ps, pdf_main.ps)
    +	- Images with an Indexed color space and no Decode entry caused an
    +error.  (pdf_draw.ps)
    +	- The 'Page <n>' messages were printed even if QUIET was set.
    +(pdf_main.ps)
    +
    +Changes the interpreter so that when it encounters an unknown operator, it
    +prints an error message and continues, rather than signalling an error.
    +(pdf_base.ps)
    +
    +Makes F a synonym for f if there is nothing on the operand stack, to
    +compensate for a bug in some Adobe software.  (pdf_base.ps)
    +
    +Changes pdfgetpage so it uses 1-origin rather than 0-origin indexing.  THIS IS
    +A NON-BACKWARD-COMPATIBLE CHANGE.  (pdf_main.ps)
    +
    +

    Streams

    +
    +Fixes bugs:
    +	- The Group 3 2-D and Group 4 encoders produced incorrect output if a
    +scan line beginning with a black pixel was followed by a scan line beginning
    +with a white pixel.  (scfe.c)
    +	- A SubFileDecode filter with a count of 1 and a non-empty EOD string
    +would smash memory.  (sfilter1.c)
    +
    +Updates the DCT filters so they will work with the latest version (5a) of the
    +IJG library.  (*.mak, jpeg.mak, sjpegerr.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- A call with integer parameters to a procedure with floating point
    +arguments didn't work on non-ANSI compilers.  (gsimage.c)
    +	- Arcs could get turned into polygons if the scaling values in the CTM
    +were very large and the radius was (in user space coordinates) very small.
    +(gspath.c)
    +	- The current point was defined when a BuildChar procedure was called.
    +(This bug was documented as fixed in version 2.2!)  (gschar.c)
    +
    +Adds support for Orientation and Duplex page device parameters, for those
    +devices that support these.  (gdevprn.h, gxdevice.h, gsdevice.c, gsdparam.c)
    +
    +
    + +

    Version 3.23 (beta) (1/5/95)

    + +

    +This is almost entirely a bug fix release. It also includes a largely working +PDF reader. This is intended as the beta test release for the next public +release. + +

    Documentation

    +Fixes bugs:
    +	- COPYLEFT, COPYING, NEWS, PUBLIC, README, and the standard Fontmap
    +were omitted from the 3.22 fileset.
    +
    +Documents the use of the -oldc switch to work around a compiler crash on
    +the DECstation.
    +
    +Expands and clarifies the documentation for building the DesqView/X version
    +with djgcc.  (make.doc)
    +
    +Adds documentation on the "600x300" H-P inkjet printers, explaining why
    +this alleged higher resolution is not available.  (devices.doc)
    +
    +Adds to the PUBLIC license a warning that it is not a GNU License, and a
    +requirement to include a copy of or a pointer to the License in any written
    +material.  (PUBLIC)
    +
    +Documents the fact that Ghostscript *does* attempt to look up files in the
    +current directory first.  (use.doc)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- In VMS.MAK, .JPEG should have been changed to .JPEG-5 in a few
    +places.  (vms.mak)
    +
    +Adds the pjxl300 driver to all configurations that include the other color
    +DeskJet drivers.  Replaces pjet and pjetxl with pj and pjxl.  (*.mak)
    +
    +Makes 'run' recognize PDF files if the PDF reader is included.
    +(pdf_main.ps)
    +
    +

    Utilities

    +
    +Fixes bugs:
    +	- viewjpeg.ps needed the test for languagelevel = 2 at the
    +beginning of the file.  (viewjpeg.ps)
    +	- prfont.ps used 'min', which isn't a standard PostScript operator.
    +(prfont.ps)
    +	- prfont.ps created Encoding vectors that weren't 256 elements
    +long.  (prfont.ps)
    +
    +Adds the gsdj500 script to the installation list.  (unix-end.mak)
    +
    +Changes the Unix "line printer" shell scripts to add the date to the page
    +header.  (gsbj, gsdj, gsdj500, gslj)
    +
    +Changes ansi2knr so that it will work properly on systems where the ctype
    +macros don't handle 8-bit characters correctly.  (ansi2knr.c)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- Some compilers don't allow casts in initialization expressions.
    +(gdevx.c, gdevxalt.c)
    +	- The cdj drivers didn't initialize the color_info structure
    +properly.  (gdevcdj.c)
    +
    +Adds another alternate X Windows driver, x11mono, that is a black-and-white
    +device.  (devs.mak, gdevxalt.c)
    +
    +Adds a user-contributed driver for the Apple Imagewriter LQ.  (devs.mak,
    +gdevadmp.c)
    +
    +

    Platforms

    +
    +Fixes bugs:
    +	- The VMS MODULES.LIS file had gotten out of sync with the makefile
    +(again); GDEVABUF and GSBITOPS were missing.  (modules.lis)
    +	- The VMS script file had gotten out of sync with the makefile
    +(again).  (vms.mak)
    +	- The MS Windows platform code didn't recognize Windows 95 (Windows
    +4.0) as equivalent to Windows NT.  (gp_mswin.c)
    +	- File name enumeration didn't work on OS/2 or win32.  (gp_ntfs.c,
    +gp_os2.c)
    +	- -sOutputFile= didn't work under MS Windows.  (gp_mswin.c)
    +
    +Changes the SCO Unix direct frame buffer driver so it generates in-line
    +instructions to access the frame buffer, for a dramatic speed improvement.
    +(gdevpcfb.h, gdevsco.c)
    +
    +

    Fonts

    +
    +Fixes bugs:
    +	- If a font couldn't be found in the Fontmap, a recursion loop
    +sometimes occurred.  (gs_fonts.ps)
    +	- Aliases for global fonts weren't automatically created as global,
    +possibly leading to a recursion loop.  (gs_dps1.ps, gs_fonts.ps)
    +	- If a font was loaded into global VM within an inner save, the restore
    +deleted it from FontDirectory but not from SharedFontDirectory, causing a
    +possible recursion loop.  (gs_dps1.ps, gs_fonts.ps, idict.h, idict.c, zdict.c)
    +
    +Further improves the algorithm for substituting for unknown fonts.
    +(gs_fonts.ps)
    +
    +

    Interpreter (PostScript)

    +
    +Fixes bugs:
    +	- zcontrol.c had an assignment of const char * to const byte *,
    +which some compilers don't like.  (zcontrol.c)
    +	- Setting an Indexed color space based on a CIE space caused an
    +attempt to free a random block of memory.  (zcsindex.c)
    +	- Some compilers don't like mixing conditionals and casts in
    +initialization expressions.  (iref.h)
    +	- Some calculations of table sizes for string garbage collection
    +didn't work if sizeof(long) != 4, leading to smashed strings.  (iastate.h,
    +ialloc.c, igcstr.c)
    +	- Strings longer than about 7000 bytes smashed their chunk header
    +and confused the garbage collector.  (ialloc.c)
    +	- Some compilers needed iccfont.c to include strimpl.h.
    +(iccfont.c)
    +	- The obsolete file zcspace2.c was still included in the fileset.
    +	- If the command line included any @-files that required searching
    +the library path, a limitcheck would occur.  (zfile.c)
    +	- The insideness testing operators caused a memory access error,
    +because the procedure vector hadn't been updated to provide a default
    +get_alpha_bits procedure.  (zupath.c)
    +	- gcheck didn't check for stack underflow.  (zvmem2.c)
    +	- cleardictstack could fail to clear the dictionary stack if the
    +stack had overflowed into additional blocks.  (zdict.c)
    +	- If the '-' switch was selected, resources weren't released
    +properly on exit.  (gs.c)
    +	- Setting a Pattern color space based on a CIE space caused an
    +invalid memory access.  (zcsindex.c)
    +	- The garbage collector didn't treat refs properly on machines with
    +short ints.  (igcref.c)
    +	- Operators with more than 16 arguments could break the
    +interpreter.  (interp.h, iinit.c, interp.c)
    +	- save/restore didn't restore the setting of the current allocator
    +VM (local/global).  (isstate.h, isave.c)
    +	- stdpre.h declared exit as an extern, instead of letting gsmain.c
    +declare it.  (stdpre.h, gsmain.c)
    +	- gs.c used fputs to print help messages rather than fprintf.
    +(gs.c)
    +	- Interrupts failed to re-execute the operation that was
    +interrupted.  (interp.c)
    +	- Low-resolution CMYK devices didn't use separate screens for each
    +color plane as the default.  (gs_init.ps)
    +	- filterdict wasn't getting undef'ed at the end of initialization.
    +(gs_init.ps)
    +	- gstate operations were broken (bug introduced in 3.02).
    +(zdevice2.c)
    +	- resourceforall didn't remove the resource dictionary from the
    +dictionary stack when calling the client-supplied procedure.  (gs_res.ps)
    +	- currentcolor with an Indexed color space returned a real rather
    +than an integer.  (zcolor2.c)
    +	- setshared / setglobal left the stack in an unobvious state if
    +they were given a non-Boolean argument.  (gs_dps1.ps)
    +	- sethalftone followed by currenthalftone returned an invalid value.
    +(zht2.c)
    +	- Empty strings produced spurious garbage collector error messages.
    +(gsstruct.h, scommon.h, igc.c, igcstr.c, iname.c)
    +	- The garbage collector didn't trace Separation color spaces properly.
    +(gscsepr.c)
    +
    +Changes defineresource so that it does not, by default, make instances
    +read-only.  (gs_res.ps)
    +
    +Adds .{local,global}{array,dict,packedarray,string} operators for creating
    +objects in a specific VM space.  (zsysvm.c, gs_dps1.ps)
    +
    +Adds definitions of setpage and setpageparams to statusdict.  (gs_setpd.ps,
    +gs_statd.ps)
    +
    +Alleviates some performance problems in the garbage collector.  (igc.c)
    +
    +

    Interpreter (PDF)

    +
    +Fixes bugs:
    +	- PDF files that used filters with parameters caused a typecheck
    +error because the arguments to 'filter' were reversed.  (pdf_base.ps)
    +	- The (undocumented) PDF 1.1 ability to specify link and annotation
    +destinations indirectly was not supported.  (pdf_main.ps)
    +	- The (undocumented) PDF ability to specify a null page in a link
    +destination was not supported.  (pdf_main.ps)
    +	- The PDF encodings weren't loaded properly in a system with both
    +PS Level 2 and PDF features.  (gs_res.ps, gs_init.ps)
    +	- If the next line after a stream keyword was blank, the line
    +wasn't skipped, which matters for binary data.  (pdf_base.ps)
    +	- A Q operator with no matching q operator caused an error.
    +(pdf_draw.ps)
    +	- The text position wasn't preserved across a fill or stroke
    +operator.  (gs_pdf.ps, pdf_draw.ps)
    +	- Embedded Type 3 fonts didn't work.  (pdf_base.ps, pdf_draw.ps,
    +pdf_main.ps)
    +	- Masked images with no Decode value had their polarity inverted.
    +(pdf_draw.ps)
    +	- Embedded Type 1 fonts referenced from within a stream didn't
    +work.  (pdf_font.ps)
    +
    +Changes the PDF code so that it automatically recognizes PDF files as such.
    +(pdf_main.ps)
    +
    +Splits out the PixelDifference filters as a separate "feature".  (gs.mak)
    +
    +

    Streams

    +
    +Fixes bugs:
    +	- Closing the primary input stream caused an invalid memory access.
    +(stream.c)
    +	- Increasing the size of a buffer within a save resulted in a
    +dangling reference after the restore.  (files.h, sfilter.h, zfile.c,
    +zfilter.c)
    +	- The garbage collector didn't properly trace streams that referenced
    +strings directly.  (stream.h, stream.c, ziodev.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- An extraneous \ upset some compilers.  (gdevabuf.c)
    +	- Uncolored Patterns that completely filled their bounding box
    +caused an invalid memory access.  (gspcolor.c)
    +	- If a color image required clipping, black or white pixels might
    +be rendered with incorrect (random) colors.  (gxcpath.c)
    +	- Reference counts for color spaces were sometimes set too high, so
    +they would only be freed by restore or garbage collection.  (gscolor.c)
    +	- The character cache could get confused if the Encoding for the
    +character wasn't a name.  (gschar.c)
    +	- Character outlines were always rendered with flatness = 0,
    +causing very bad performance for large characters.  (gzstate.h, gschar.c,
    +gsimage.c, gxfill.c, gxstroke.c)
    +	- If a device (presumably uninitialized) had a
    +color_info.num_components of zero, an invalid memory access could occur.
    +(gsdparam.c)
    +	- Intersecting clipping paths that are not both rectangular didn't
    +properly set the outer box of new clipping path, leading to unnecessary
    +computation.  (gxcpath.h, gxacpath.c, gxcpath.c)
    +	- A call passed false instead of NULL.  (gschar.c)
    +	- On machines where sizeof returns a long, genarch.c failed.
    +(genarch.c)
    +	- xfonts were consulted, incorrectly, even for stroked characters.
    +(gxccman.c)
    +	- gstate/currentgstate/setgstate didn't work properly.  (gsline.c,
    +gsstate.c)
    +	- On CMYK devices needing halftoning, colors with C = M = Y were
    +always converted to gray shades.  (gxcmap.c)
    +	- Isolated horizontal lines, or the horizontal edges of rectangles,
    +could get drawn with one or both end pixels missing.  (gxfill.c)
    +
    +Changes the character cache back so it oversamples characters at small
    +sizes.  (gschar.c)
    +
    +Changes all occurrences of (void)x to discard(x), and defines discard in
    +stdpre.h as a cast to void, to make it possible to pacify compilers that
    +don't accept this construct for some kinds of x.  (gpcheck.h, stdpre.h,
    +store.h, gdevmswn.c, gp_mswin.c, gscoord.c, gxclread.c, igc.c, sfile.c,
    +sfileno.c, zcie.c, zht2.c, ziodev.c, zmisc1.c)
    +
    +Increases the size of the halftone cache on large-memory machines from 35K
    +to 100K.  This substantially improves halftoning performance at higher
    +resolutions.  (gxht.c)
    +
    +
    + +

    Version 3.22 (beta) (11/30/94)

    + +

    +This is primarily a bug fix release. It also includes limited anti-aliased +graphics capability. This release was not distributed to the public. + +

    Procedures

    +
    +Fixes bugs:
    +	- The definition of ghost_h was misplaced, so changes in it or its
    +antecedents didn't force recompilation of its dependents.  (gs.mak)
    +
    +Actually implements the -Z+ switch, for forcing small stack blocks.
    +(interp.c)
    +
    +Makes the -dSAFER switch disable the %pipe syntax for file names, even for
    +reading.  (gs_init.ps)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- The dfax drivers incorrectly set EncodedByteAlign to false.
    +(gdevdfax.c)
    +	- softwareValue and dateTimeValue were declared as byte rather than
    +char.  (gdevtfax.c)
    +
    +

    Platforms

    +
    +Fixes bugs:
    +	- The VMS DEC C compilers declare delete in unixio.h, and doesn't
    +declare unlink anywhere.  (stdio_.h)
    +	- The VMS compilers declare malloc and free in stdlib.h, which
    +wasn't being included in malloc_.h.  (malloc_.h)
    +	- The SCO Unix C compiler needs both <sys/time.h> and <time.h>.
    +(time_.h)
    +	- The VMS compilers declare abs in stdlib.h, which wasn't being
    +included anywhere.  (gshtscr.c)
    +	- The definition for A4 paper in VMS-AXP.MAK was incorrect.
    +(vms-axp.mak)
    +
    +Renames VMS-AXP.MAK as VMS-DECC.MAK, with some changes that make it
    +appropriate for DEC C on both VAX and AXP platforms.  (vms-axp.mak =>
    +vms.decc.mak)
    +
    +

    Fonts

    +
    +Fixes bugs:
    +	- gs_kanji.ps got an invalidaccess error.  (gs_kanji.ps)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- An off-by-1 test in the roll operator caused it to smash the
    +stack if the operand stack had overflowed into additional blocks.
    +(zstack.c)
    +	- The default CIE color rendering dictionary didn't assume a
    +reasonable intermediate (XYZ) space.  (gs_lev2.ps)
    +	- CIE color mapping tables weren't traced properly by the garbage
    +collector.  (gscie.h, gscie.c, zcie.c)
    +	- If the very last character of a file was a ^M, the scanner
    +(incorrectly) signaled a syntaxerror.  (iscan.c)
    +	- If an operator could return both a typecheck and a
    +stackunderflow, it always returned a stackunderflow, which doesn't match
    +the behavior of Adobe interpreters.  (opcheck.h, idparam.c, interp.c,
    +iutil.c, z*.c)
    +	- astore, dictstack, and execstack could return a spurious
    +invalidaccess error (or fail to detect an invalid access) if the operand
    +stack had overflowed into additional blocks.  (istack.c)
    +	- The garbage collector didn't relocate pointers to names!  (Bug
    +introduced in 3.20.)  (iname.h)
    +	- If the dictionary stack overflowed into additional blocks, the
    +cached value pointer for a name could get set incorrectly, and also not get
    +relocated by the garbage collector.  (idict.c)
    +	- If the dictionary stack overflowed into additional blocks, the
    +post-GC fixup of cached value pointers in names could cause an addressing
    +error.  (igc.c)
    +	- With the -Z? switch set, the garbage collector could incorrectly
    +report that objects or strings weren't in any chunk.  (igc.c)
    +	- << /a 1 /a 2 >> /a get gave the value 2 rather than 1.
    +(gs_init.ps)
    +	- Numbers in binary object sequences and encoded number arrays
    +didn't work properly on machines where sizeof(short) != 2 or sizeof(long)
    +!= 4.  (ibnum.c)
    +	- The put operator for dictionaries allowed null as a key.
    +(idict.h, idict.c)
    +	- >> didn't give an error if there were an odd number of values on
    +the stack above the next mark.  (gs_init.ps)
    +	- Operations that explicitly freed ref objects (setting a CIE
    +colorspace, resizing a dictionary, popping a block off a stack) could
    +corrupt storage.  (ialloc.c)
    +	- The -Z@ switch, which fills freed blocks with a recognizable bit
    +pattern, could incorrectly overwrite freed blocks in previous save levels,
    +causing invalid memory accesses.  (ialloc.c)
    +	- Since streams freed by a restore weren't marked as free, they
    +could confuse the garbage collector and lead to invalid memory accesses.
    +(zfile.c)
    +	- If one of the built-in dictionaries overflowed during
    +initialization, no error was reported -- entries were simply discarded.
    +(iinit.c)
    +	- If the level2.dev feature was combined with certain other
    +features, the current languagelevel was 2 when some gs_*.ps files were
    +loaded, causing them to load incorrectly.  (gs_btokn.ps, gs_setpd.ps)
    +	- If readline read a line that ended with only a CR (no LF)
    +followed by an end-of-file, it incorrectly closed the stream.  (zfileio.c)
    +
    +Adds a .cond operator, similar to the Lisp multi-arm conditional.
    +(zcontrol.c)
    +
    +Adds a .makeglobaloperator operator, allowing the definition of operator
    +procedures in local VM that turn into global operators, provided the save
    +level is zero.  (iref.h, opdef.h, iinit.c, interp.c, zmisc.c)
    +
    +Note: the fix for returning typecheck vs. stackunderflow requires that all
    +operators (or other code) that uses return_error(e_typecheck) to indicate
    +an incorrect object type on the operand stack must change this to
    +return_op_typecheck(op), where op points to the operand.  THIS IS A
    +NON-BACKWARD-COMPATIBLE CHANGE.
    +
    +Implements string array and name array parameters for parameter lists.
    +(gsparam.h, iparam.c)
    +
    +Brings filterdict inside the INITIAL_DICTIONARIES conditional.  (iinit.c)
    +
    +Adds a .currentscreenlevels operator that returns the number of
    +distinguishable halftone levels.  (zht.c)
    +
    +

    Streams

    +
    +Fixes bugs:
    +	- The 2-D case of CCITTFaxDecode could get confused by an input
    +data buffer boundary that fell immediately after a horizontal code.
    +(scfd.c)
    +	- The LZW decoder didn't detect invalid data unless DEBUG was
    +selected at build time.  (slzwd.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- The clipping region accumulator could refer to a clipping
    +rectangle even after it had been freed.  (No effect on execution unless the
    +-Z@ switch was selected.)  (gxacpath.c)
    +	- setbbox expanded the bounding box, but didn't place a limit on
    +further path elements, if the current path wasn't empty.  (gsdps1.c)
    +	- setbbox didn't make sufficient allowance for rounding.
    +(gsdps1.c)
    +
    +Implements the ProcessColorModel parameter (read-only) for all devices.
    +(gsdparam.c)
    +
    +Adds a gs_currentscreenlevels procedure that returns the number of
    +distinguishable halftone levels.  (gsht.c)
    +
    +
    + +

    Version 3.21 (beta) (11/17/94)

    + +

    +This is primarily a bug fix release. It also includes a substantial +improvement in the Type 1 font hinting algorithms. This release was not +distributed to the public. + +

    Documentation

    +Fixes bugs:
    +	- The `man' page referred to gnu.ghostscript.bug rather than
    +comp.lang.postscript.  (gs.1)
    +
    +Documents the special entries in operator definition tables that allow
    +switching dictionaries.  (opdef.h)
    +
    +

    Procedures

    +
    +Moves the definition of JSRCDIR to the individual platform makefiles, to
    +make it easier to change on platforms that don't have file links.  (*.mak)
    +
    +

    Utilities

    +
    +Fixes bugs:
    +	- ansi2knr didn't recognize that a line ending with } couldn't be a
    +function definition.  (ansi2knr.c)
    +	- ps2epsi always returned an empty bounding box.  (ps2epsi,
    +ps2epsi.bat)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- The bitrgb device had an invalid depth of 3.  (gdevbit.c)
    +
    +Replaces the color mapping code in the X driver with a much faster
    +algorithm, courtesy of Tim Theisen.  (gdevx.h, gdevx.c, gdevxini.c)
    +
    +

    Platforms

    +
    +Fixes bugs:
    +	- Two variable names were misspelled.  (gdevpm.c, gp_mswin.c)
    +	- It wasn't possible to compile a non-DLL configuration under OS/2.
    +(os2.mak)
    +	- Compilation under Microsoft C/C++ 8.0 gave errors.  (gp_mswin.h,
    +gp_mswin.c, gshtscr.c)
    +
    +Adds some more devices to the OS/2 makefile.  (os2.mak)
    +
    +

    Fonts

    +
    +Fixes bugs:
    +	- wrfont.ps, and hence bdftops, didn't write out the FontType or
    +PaintType.  (Bug introduced since 2.6.1)  (wrfont.ps)
    +	- wrfont.ps omitted a 'begin' and 'end', causing -! or -| to be
    +undefined when the font was loaded.  (Bug introduced since 2.6.1)
    +(wrfont.ps)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- make_tasv_old called make_tasv_new with extra arguments.
    +(store.h)
    +	- currentcacheparams only returned 2 values instead of 3.
    +(zfont.c)
    +	- ustroke popped one element too many off the stack if a matrix was
    +supplied.  (zupath.c)
    +	- inu[eo]fill popped one element too many off the stack.
    +(zupath.c)
    +	- The color rendering dictionary was initialized to null rather
    +than a valid dictionary.  (gs_lev2.ps)
    +	- An invalid IODevice resource named "9" got created.  (gs_res.ps)
    +	- bytesavailable often caused an error rather than returning -1.
    +(zfileio.c, stream.c)
    +	- The insideness testing operators always returned true if the
    +aperture was defined by a user path rather than a point.  (zupath.c)
    +	- If INITIAL_DICTIONARIES was defined in the makefile, the
    +definition of the initial_dictionaries array was missing a comma.
    +(iinit.c)
    +	- Even if userdict appeared in INITIAL_DICTIONARIES, gs_init.ps set
    +its maxlength to 200.  (gs_init.ps)
    +	- Setting a CIE color space left a garbage value on the stack.
    +(zcie.c)
    +	- If a file or filter was opened and then closed, opening a file
    +subsequently within a 'save' could lead to a memory access error in the
    +garbage collector.  (zfile.c)
    +	- Setting an Indexed or Separation color space could cause a crash
    +either in the garbage collector or when printing out the e-stack.
    +(icsmap.h, zcsindex.c, zcssepr.c)
    +	- Invoking a filter with an invalid data source or sink could cause
    +a memory access error (bug introduced in 3.20).  (zfilter.c)
    +	- Invoking stringwidth on a font whose BuildChar procedure did a
    +save could cause a memory manager error or infinite loop, because
    +stringwidth attempted to use an inapplicable shortcut.  (gschar.c)
    +	- The bounding box for rendering stroked Type 1 characters didn't
    +take square caps and miter joins into account.  (gs_type1.ps)
    +	- Invoking filter with DCTDecode or DCTEncode could cause an
    +addressing error if no dictionary argument was supplied.  (zfdctd.c,
    +zfdcte.c)
    +	- The Generic resource, the Font resource, and half a dozen
    +resources with no predefined instances all shared the same Instances
    +dictionary.  (gs_res.ps)
    +	- The temporary null device allocated for stringwidth was never
    +freed.  (gschar.h, gschar.c, zchar.c)
    +	- Internal operators, and structures that might be freed on stack
    +unwinding, could "escape" from the e-stack.  (zcontrol.c, ztype.c)
    +	- makefont and scalefont didn't properly handle a font whose
    +Encoding had been changed.  (bfont.h, zfont.c, zfont2.c)
    +	- Type 1 fonts with PaintType = 2 incorrectly checked for an xfont.
    +(gxfont.h, gschar.c, gsfont.c, zchar1.c, zfont1.c, zfont2.c)
    +	- Specifying a string argument with -d...=(...) or -d...=<...>
    +would cause an invalidaccess error.  (gs.c)
    +	- The environment for encapsulated jobs didn't rebind quit to stop
    +in userdict.  (gs_lev2.ps)
    +	- restore didn't deal properly with open files on the e-stack.
    +(zvmem.c)
    +	- Even with the '-' switch, Ghostscript would try to read ahead in
    +the input stream rather than processing input character-by-character.
    +(ziodev.c)
    +	- If an error occurred with a unreadable dictionary on any stack,
    +the standard error printer would get into an error loop and exit the
    +interpreter.  (gs_init.ps)
    +	- The for_roots macro in igc.c used ap rather than mem as its
    +second formal parameter.  (This typo had no effect on the executable
    +program.)  (igc.c)
    +	- If saving the stacks for an error caused a GC request, a value
    +could get stored into an improper variable on the C stack, causing havoc.
    +(interp.c)
    +	- setdash checked to make sure that the distance array had read
    +access; Adobe interpreters don't check this.  (zgstate.c)
    +	- The roots for gs_run_string and gs_interpret weren't registered
    +properly, which could cause a dangling reference in the case of a restore
    +whose save had been done earlier.  (gsmain.c, interp.c)
    +
    +Adds an OpenOutputFile Boolean device parameter for printer devices; if
    +true, the device opens the OutputFile at the time the device is opened,
    +instead of waiting for the first showpage.  This helps with synchronization
    +when the OutputFile is a pipe.  (gdevprn.h, gdevprn.c)
    +
    +Changes the BEGIN/END_OP_DEFS macros to require an explicit { and } at each
    +use.  (gsmain.c, interp.c, z*.c)
    +
    +Arranges things so that the operators that the interpreter handles
    +specially are assigned the first N operator indices [internal change only].
    +(interp.h, iinit.c, interp.c)
    +
    +Changes the operators max and min to .max and .min, to avoid conflicts with
    +PostScript programs that use these names for variables and also use 'bind'.
    +THIS IS A NON-BACKWARD-COMPATIBLE CHANGE from programs that depend on
    +'bind' binding in these operators; however, we have also defined procedures
    +max and min that just call the operators, which should take care of any
    +ordinary code.  (*.ps, zrelbit.c)
    +
    +

    Streams

    +
    +Fixes bugs:
    +	- The pfb_state pointer in the eexecDecode filter state wasn't
    +marked as traceable for the garbage collector.  (sfilter.h)
    +	- The eexec decoding filter could access invalid memory or return
    +garbage under some conditions.  (Bug introduced in 3.12.)  (zmisc1.c)
    +	- The eexec decoding filter would incorrectly ask for more input if
    +the output buffer was full.  (seexec.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- Some compilers reserve the word 'try'.  (gshtscr.c)
    +	- Some compilers don't like line continuations (\) within a
    +preprocessor macro formal parameter list.  (gdevprn.h, gxdevice.h)
    +	- Memory devices created with an inverted palette (0=white,
    +1=black) interchanged white and black in fill operations.  (gdevmem1.c)
    +	- The 'bits' variable in mem_mono_copy_mono was unused on
    +little-endian machines.  (gdevmem1.c)
    +	- Some garbage collector procedures were declared 'private'
    +inconsistently.  (gscie.c)
    +	- The new anti-aliased text capability accidentally caused all
    +characters to be oversampled.  (gschar.c)
    +	- Type 1 fonts with PaintType = 2 and StrokeWidth = 0 came out with
    +many pixels missing because of oversampling.  (gschar.c)
    +	- Type 1 font stem hints were not being processed correctly.
    +(gstype1.h, gxtype1.h, gstype1.c, gxhint2.c, gxhint3.c, gxpath.c)
    +	- The tracing message for 9/7 composite fonts incorrectly
    +identified them as 1/7 fonts.  (gschar0.c)
    +	- If a 1/7 or 9/7 composite font was a child of a non-modal font,
    +the font number of the child font was computed incorrectly.  (gschar0.c)
    +
    +Splits up the various memory devices into one file per depth [internal
    +change only].  (gdevm*.c)
    +
    +
    + +

    Version 3.20 (beta) (10/31/94)

    + +

    +This version contains some support for a PDF interpreter; however, the PDF +code itself is not ready for release yet. It also includes anti-aliased text +capability. This release was not distributed to the public. + +

    Documentation

    +Notes that the FAQ has moved to smallo.ruhr.de:pub/ghost/gs.faq.  (readme)
    +
    +Documents various implementation limits.  (language.doc)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- bcp.dev wasn't included in the list of dependencies for
    +level1.dev.  (gs.mak)
    +
    +Changes the printout of version numbers so that it is always A.BC,
    +rather than A.B if C is zero.  (gs.c, gs_init.ps)
    +
    +

    Utilities

    +
    +Fixes bugs:
    +	- font2c didn't correctly handle Metrics or Metrics2 dictionaries
    +whose entries were arrays rather than scalars.  (font2c.ps, ccfont.h,
    +iccfont.c)
    +	- font2c didn't handle CDevProc.  (font2c.ps, ccfont.h, iccfont.c)
    +	- genconf could get a stack overflow on small machines.
    +(genconf.c)
    +
    +Changes mergeini.ps so it can take arguments on the command line specifying
    +the input and output files.  (mergeini.ps)
    +
    +Adds a gsdj500 shell script to parallel gsdj500.bat.  (gsdj500)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- The X driver didn't mask dynamically assigned colors properly, so
    +it could request the same color over and over again.  (gdevx.c)
    +
    +Adds two alternate X Windows drivers, for helping debug drivers with other
    +color models:
    +	- x11alpha, an RGB device with 4-bit alpha capability (for
    +	  copy_alpha only);
    +	- x11cmyk, a 1-bit-per-component CMYK device.
    +(devs.mak, gdevxalt.c)
    +
    +Changes the left margin of the lj4dith driver to 0.26".  (gdevcdj.c)
    +
    +

    Platforms

    +
    +Fixes bugs:
    +	- If <sys/time.h> didn't exist, time_.h didn't always include
    +<time.h>.  (time_.h)
    +	- The OS/2 platform wouldn't compile.  (gdevpm.c)
    +	- The auxiliary VMS command files sometimes got blank lines
    +inserted when going through EOL conversion.  (vms.mak; delete gs_.com)
    +	- The VMS makefiles didn't include the Level 1 operators in
    +level1.dev.  (vms.mak)
    +	- The VMS gcc makefile didn't handle undefined DEVICE_DEVSn
    +variables properly.  (vms*.mak)
    +	- The VMS makefiles didn't recognize DEVICE_DEVS{1,2,5,7}.
    +(vms.mak)
    +
    +At the request of a Unix expert, changes all the Unix shell scripts to use
    +exec gs ... "$@" rather than gs ... $*.  (gsnd, gsbj, gsdj, gslj, gslp)
    +
    +Modifies the JPEG library so that it uses 4K less of the automatic data
    +segment in 16-bit environments.  (bcwin.mak, jpeg.mak, sjpeg.c, sjpegerr.c)
    +
    +Adds the bmp drivers back into the 16-bit MS Windows executable, since they
    +will fit now.  (bcwin.mak)
    +
    +

    Fonts

    +
    +Makes the font substitution algorithm recognize the word Roman as calling
    +for a serif font.  (gs_fonts.ps)
    +
    +

    Interpreters

    +
    +Fixes bugs:
    +	- The fix in 3.13 for the inexact function values at 0 didn't work.
    +(zcontrol.c)
    +	- Level 1 configurations referenced an undefined procedure
    +gs_currenthalftone.  (gsht.c, gsht1.c)
    +	- Specifying any device properties (including -r and -g) on the
    +command line caused an error.  (gs_init.ps)
    +	- The forward declaration of cfont_name_array_create was
    +incorrect.  (iccfont.c)
    +	- save and restore could get called before the graphics state stack
    +had been initialized properly.  (gs_mex_e.ps)
    +	- Some encodings weren't loaded properly.  (gs.mak, gs_mex_e.ps,
    +gs_mro_e.ps, gs_pdf_e.ps, gs_wan_e.ps)
    +	- Zero-height images were allowed, but zero-width images
    +weren't.  (zpaint.c)
    +	- Neither zero-width nor zero-height images popped their
    +arguments from the operand stack.  (zpaint.c)
    +	- lib_file_fopen overwrote its file name argument, causing havoc
    +with @-files.  (gxiodev.h, gdevpipe.c, gsiodev.c, zfile.c)
    +	- The garbage collector got confused if there were any arrays or
    +dictionaries with 8K or more elements.  (igcref.c)
    +	- >> could leave the stacks in a questionable state if it failed.
    +(gs_init.ps)
    +	- The Category resource category didn't implement undefineresource.
    +(gs_res.ps)
    +	- When the token operator read the last token from a string, it
    +left an unchanged string on the stack instead of an empty string.
    +(stream.c)
    +	- noaccess didn't give an invalidaccess error when applied to the
    +permanent dictionaries.  (dstack.h, idict.c, ztype.c)
    +	- Overflowing the exec stack wasn't handled properly.  (istack.h,
    +istack.c)
    +	- The garbage collector cleared the cached value pointers in names,
    +causing interpretation to slow down substantially.  (idict.c, igc.c,
    +iname.c)
    +	- 0 dict created a dictionary with a maxlength of 1.  (idict.c)
    +
    +Changes the default size of the execution stack from 150 to 250, to match
    +the Adobe "typical" value.  (interp.c)
    +
    +Moves the operator definitions out of the automatic data segment.
    +(opdef.h, iinit.c, z*.c)
    +
    +Adds operators that allow creation of objects in system space:
    +.systemvmstring, .systemvmarray, .systemvmpackedarray, .systemvmdict,
    +.systemvmcheck.  (zsysvm.c)
    +
    +Renames gcdefs.h as gscdefs.h.
    +
    +Allocates names in system space rather than global space.  (gsmain.c)
    +
    +Changes the memory manager so that it allows programs to create objects in
    +system space.  (iref.h, iutil.h, ivmspace.h, ...)
    +
    +Changes the implementation of filters so they appear in their own
    +dictionary named filterdict.  (gs_init.ps, z*.c)
    +
    +Changes the implementation of color spaces so each one has its own
    +setcolorspace procedure, defined in a new dictionary named
    +colorspacedict.  (gs_lev2.ps, z*.c)
    +
    +Adds a new debugging switch, $, that always initializes all fields in a
    +ref, in order to keep Purify happy.  (store.h)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- The page size for image devices was always set to (0, 0).
    +(gsdevice.c)
    +	- The PageSize computation in gx_default_put_params could overflow
    +on 16-bit machines.  (gsdparam.c)
    +	- An omitted 'static' on an initialized array caused a compiler
    +error.  (gxccman.c)
    +	- If interpolated image rendering was requested but not
    +actually carried out, gs_image_cleanup could attempt to free a random
    +pointer.  (gsimage.c)
    +	- Some compilers only retain 23 characters of procedure names, but
    +some procedure names weren't unique in the first 23 characters.  (gscie.c,
    +gscolor.c, gscolor1.c, gxcmap.c)
    +	- The garbage collector didn't trace device colors properly.
    +(gxdcolor.h, gzht.h, gsimage1.c, gspcolor.c, gxcht.c, gxcmap.c, gxdraw.c,
    +gxht.c)
    +	- For CMYK devices, the transfer functions were being applied to
    +the CMYK values rather than the complemented RGBW values.  (gxcmap.c)
    +	- Memory devices used their own color mapping procedures rather
    +than those of the target; this could cause incorrect colors for patterns on
    +devices with more than 1 bit per pixel.  (gxdevmem.h, gdevmem1.c, gdevpm.c,
    +gdevprn.c, gdevwdib.c, gschar.c, gsdevice.c, gxccache.c, gxccman.c,
    +gxclip2.c, gxclread.c, gxpcmap.c)
    +	- The garbage collector didn't trace image enumerators properly in
    +the image_render_simple case.  (gsimage.c)
    +	- stroke produced different-looking output for thin (zero-width)
    +lines depending on whether or not clipping was invoked.  (gxstroke.c)
    +	- If a clipping list changed from multiple rectangles to a single
    +rectangle, it could fail to clip properly thereafter.  (gxacpath.c)
    +
    +Adds two new device procedures: alpha_bits and copy_alpha.  This change is
    +backward-compatible for all existing devices.  (gdevmem.h, gxdevice.h,
    +gsdevice.c, gxclip2.c, gxclist.c, gxcpath.c)
    +
    +Changes the implementation of color halftones so that, when appropriate, it
    +generates a single cell and uses the device tile_rectangle procedure.
    +(gzht.h, gsht.c, gxcht.c, gxclist.c, gxclread.c)
    +
    +Adds partial support for the Orientation page device parameter.
    +(gsdevice.c)
    +
    +Adds support for anti-aliased characters using 2 or 4 bits of alpha.
    +(gxfcache.h, gschar.c, gxccache.c)
    +
    +
    + +
    + +

    Version 3.13(private) (10/3/94)

    + +

    +This release was created for a customer; it was not distributed to the +public. + +

    Documentation

    +Notes in make.doc that the file names in the IJG archive distributed with
    +Ghostscript do not include the gsA.BC/ prefix.  (make.doc)
    +
    +Adds a cross-reference to make.doc to the Watcom makefiles.  (watc.mak,
    +watcwin.mak, wccommon.mak)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- The makefile rule for gconfig.h et al had a couple of blank lines
    +in the middle of it.  (gs.mak)
    +
    +

    Utilities

    +
    +Fixes bugs:
    +	- wrfont.ps didn't add a lenIV entry to the Private dictionary if
    +it was needed.  (wrfont.ps)
    +
    +Adds a packfile.ps utility that allows compressing multiple files into a
    +single file for environments with very little permanent storage.
    +(gs_pfile.ps, packfile.ps, wrfont.ps)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- The {tiff,fax}{g32d,g4} devices could produce incorrect output.
    +See under Streams below.
    +	- The dfax drivers referred to the obsolete structure member
    +EncodedEOLAlign.  (gdevdfax.c)
    +
    +Changes the default bit order for TIFF/F output to little-endian, which is
    +apparently what the majority of TIFF decoders like best.  The bit order for
    +the fax drivers is still big-endian.  (gdevdfax.c, gdevtfax.c)
    +
    +

    Platforms

    +
    +Fixes bugs:
    +	- The VMS build script used -a rather than -w for creating
    +gconfig_.h.  (vms.mak)
    +	- The VMS build script didn't create gconfigv.h.  (vms.mak)
    +	- The VMS Fontmap had incorrect entries for the Bitstream Charter
    +fonts.  (fontmap.vms)
    +	- The VMS MODULES.LIS file assumed the JPEG library files were in
    +directory JPEG rather than JPEG-5.  (modules.lis)
    +
    +

    Fonts

    +
    +Fixes bugs:
    +	- Using DISKFONTS resulted in an invalidaccess error.
    +(gs_fonts.ps)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- The standard transfer function considered gray values above
    +roughly 0.994 equivalent to white; 0.999 is a better value.  (gs_init.ps)
    +	- The transfer, black generation, and undercolor removal functions
    +gave slightly inexact results for an input value of 0.  (zcolor.c,
    +zcontrol.c)
    +	- setpagedevice gave an /undefined error if it did not recognize a
    +key, rather than ignoring the key.  (zdevice.c, gs_init.ps, gs_lev2.ps,
    +gs_setpd.ps)
    +
    +Changes .putdeviceparams to take an additional argument, a Boolean that
    +says whether or not unrecognized keys should be reported as /undefined
    +errors.  THIS IS A NON-BACKWARD-COMPATIBLE CHANGE; however, no user-written
    +code should be calling .putdeviceparams.  (zdevice.c)
    +
    +

    Streams

    +
    +Fixes bugs:
    +	- The Group 3 2-D and Group 4 fax encoders could emit incorrect
    +output.  (scfe.c)
    +	- The algorithm for constructing optimal Huffman codes could
    +produce invalid codes in some rare cases.  (shcgen.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- Rectangles closed with lineto rather than closepath weren't
    +recognized as rectangles.  (This only affected performance, not
    +functionality.)  (gxpath2.c)
    +	- The xfont lookup_font procedure could get called with a matrix
    +whose translation components had never been initialized.  (gxccman.c)
    +	- Some compilers don't allow \ in the formal argument list of a
    +preprocessor macro.  (gdevprn.h, gxdevice.h)
    +
    +
    + +

    Version 3.12 (9/29/94)

    + +

    +This is another bug fix release, the first Level 2 release that we believe +is reasonably reliable. + +

    Documentation

    +
    +Adds some text warning about making copies of the makefile.  (make.doc)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- There were a number of unnecessary dependencies on $(MAKEFILE) in
    +gs.mak, left over from before the existence of gconfigv.h.  (gs.mak)
    +	- JPEGSRC was defined in gs.mak rather than in jpeg.mak.  (gs.mak,
    +jpeg.mak)
    +
    +Changes the version numbering scheme back to A.BC, since people seem to be
    +adapting to the change, and this allows using the version number directly
    +as a MS-DOS directory name.  (gconfig.c, gdevtfax.c, gs.c, gs_init.ps)
    +
    +Updates the JPEG library to version 5 (official release) of the IJG code.
    +(jpeg/*, jpeg.mak)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- The TIFF/F driver put out invalid PageNumber and Software
    +entries.  (gdevtifs.h, gdevtfax.c)
    +	- The TIFF/F and fax Group 3 2-D drivers used K=3 and K=5 instead
    +of K=2 and K=4.  (gdevtfax.c)
    +	- The TIFF/F and fax Group 3 2-D drivers emitted improperly aligned
    +output.  (See under Streams below.)
    +	- The MS Windows driver didn't resize the window properly in
    +response to changing the device parameters.  (gdevmswn.c)
    +
    +Because of complementary bugs in various C compilers, changes all the
    +non-printer devices to use a different set of macros.  (gdevmem.h,
    +gdevpcfb.h, gdevprn.h, gdevsvga.h, gxdevice.h, gdev{3b1, bgi, herc, l256,
    +pe, pm, sun, vglb, wddb, wdib, wprn, x}.c, gsdevice.c, gxacpath.c,
    +gxclip2.c, gxcpath.c, gxpcmap.c, zupath.c)
    +
    +Changes the X11 driver to ignore the "margins" specified by Ghostview.
    +This is apparently necessary for Ghostview to handle landscape display
    +properly.  (gdevxini.c)
    +
    +Adds a WindowID parameter to the X11 device, to allow setting the window
    +for the output.  (gdevx.h, gdevx.c, gdevxini.c)
    +
    +

    Platforms

    +
    +Fixes bugs:
    +	- The definition of BEGINFILES in os2.mak occurred too late in the
    +file to have the desired effect.  (os2.mak)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- Updating the list of allocated file objects at a restore didn't
    +clear the prev pointer of the new head, which could cause the garbage
    +collector to encounter an invalid pointer.  (Bug introduced by .forgetsave
    +in 3.0.3.)  (zfile.c)
    +
    +

    Streams

    +
    +Fixes bugs:
    +	- The CCITTFaxEncode filter with K > 0 and EncodedByteAlign = true
    +incorrectly aligned the 1-D/2-D bit as the last bit of a byte, rather than
    +the first bit.  (scfx.h, scfe.c)
    +	- eexec could loop indefinitely under certain conditions.
    +(seexec.c)
    +	- eexec's algorithm for recognizing text vs. binary encoding didn't
    +work properly in some cases that don't conform to the Adobe Type 1 Font
    +Format documentation.  (seexec.c)
    +	- Closing a stream didn't clear out the strm and state pointers,
    +which could cause invalid accesses by the garbage collector.  (stream.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- fill_loop could loop indefinitely under certain conditions.
    +(Introduced by a bug fix in 3.1.)  (gxfill.c)
    +	- fill/eofill sometimes failed to paint parts of a region.
    +(Introduced by a bug fix in 3.1.1.)  (gxfill.c)
    +	- Non-convex clipping paths sometimes omitted thin horizontal
    +slivers of the region.  (Probably introduced by the "thin graphics" fix in
    +3.1.)  (gxacpath.c)
    +
    +
    + +

    Version 3.1.1 (9/25/94)

    + +

    +This is primarily a bug fix release. It was originally intended for some +commercial licensees, but beta testers found too many problems with it. + +

    Documentation

    +
    +Fixes bugs:
    +	- NEWS didn't indicate that there was a non-backward-compatible
    +change in the gx_device structure -- specifically, that l_margin,
    +b_margin, r_margin, and t_margin were replaced by macros named
    +dev_l_margin(dev), etc.  (news)
    +
    +Describes the two-phase commit requirement for device put_params
    +procedures.  (drivers.doc, gsparam.h)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- The new S macro in genarch.c didn't work on compilers that do
    +macro substitution within string constants (which is forbidden by the ANSI
    +standard).  (genarch.c)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- Driver put_params implementations didn't observe a "two-phase
    +commit" discipline; this could lead to the current device in the graphics
    +state being closed, and other inconsistencies.  (gsparam.h, gxdevice.h,
    +iparam.h, gdevbit.c, gdevcdj.c, gdevmswn.c, gdevpcfb.c, gdevpm.c,
    +gdevprn.c, gdevx.c, gsdevice.c, gsdparam.c, zdevice.c, ziodev2.c, zmisc2.c)
    +THIS IS A NON-BACKWARD-COMPATIBLE CHANGE; however, it only affects
    +put_params implementations, of which there are few.
    +
    +NOTE THE NON-BACKWARD-COMPATIBLE CHANGE IN THE gx_device STRUCTURE UNDER
    +'Documentation' ABOVE.  (gdevescp.c, gdevsj48.c, gdevsppr.c, gdevxini.c)
    +
    +

    Platforms

    +
    +Ensures that the Unix makefiles all include all the variants of TIFF/F and
    +fax drivers.  (ansihead.mak, cc-head.mak, gcc-head.mak)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- Most of the contents of statusdict were missing when
    +running a Level 2 system in Level 1 mode.  (zmisc2.c)
    +
    +
    + +

    Version 3.1 (9/20/94)

    + +

    +This release finally includes a usable subset implementation of +setpagedevice, including all the machinery needed to address the +long-standing "margins" problems. + +

    Documentation

    +
    +Fixes bugs:
    +	- t_oparray objects weren't identified as behaving differently
    +depending on whether they were marked executable.  (iref.h)
    +	- drivers.doc had gx_color_value instead of gx_color_index in
    +the description of color mapping.  (drivers.doc)
    +
    +Updates drivers.doc to reflect the change from static_procs to
    +std_procs in the gx_device structure.  (drivers.doc)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- The commands for building the JPEG library used rm instead
    +of rm -f.  (jpeg.mak)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- The X Windows driver hadn't been updated to reflect some
    +name changes in members of the gx_color_info structure.  (gdevx.h,
    +gdevx.c, gdevxini.c)
    +
    +Changes all non-printer drivers so that they use the new std_device_body
    +macros.  (gdev*.c)
    +
    +Adds a print_page_copies procedure for printer drivers, allowing the
    +driver to receive num_copies.  (gdevprn.h, gdevprn.c)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- ref_memory_enum/reloc_ptrs were declared inconsistently.
    +(ialloc.c)
    +	- If the operand of restore was invalid, the restore did
    +nothing, instead of giving a typecheck.  (zvmem.c)
    +	- In Level 2, the margins and setmargins compatibility
    +operators were defined incorrectly in terms of current/setpagedevice.
    +(gs_lev2.ps)
    +
    +Enables .makeoperator to make local operators as well as global ones.
    +(opdef.h, iinit.c, zmisc.c, zpacked.c)
    +
    +Finishes implementing the TransferFunction entry in halftone
    +dictionaries.  (zht1.c, zht2.c)
    +
    +Adds .set/currentfilladjust operators for access to the fill
    +adjustment parameter in the graphics state.  (zgstate.h)
    +
    +Removes the deviceinitialmatrix operator.  (zdevice.c)
    +
    +Changes defaultmatrix from a procedure to an operator.  (zmatrix.c)
    +
    +Sets the fill adjustment to 0.5 for high-resolution devices, effectively
    +implementing Adobe's any-part-of-pixel filling rule.  (gs_init.ps)
    +
    +Implements a small but useful subset of setpagedevice.  (gs_lev2.ps)
    +
    +

    Streams

    +
    +Fixes bugs:
    +	- The eexec decoder incorrectly concluded that its data was
    +in hex form if the first data character was whitespace.  (seexec.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- Thin graphics (e.g., lines or rectangles) with small angles
    +relative to the X axis rendered with many points missing.  (gxdraw.c,
    +gxfill.c)
    +	- The character cache rejected oversampled characters if the
    +scaled-up size was too large, even if the scaled-down size wasn't.
    +(gxchar.h, gschar.c, gxccache.c, gxccman.c)
    +	- A call on sqrt with an integer argument didn't promote it
    +explicitly to double, which is required for non-ANSI compilers.
    +(gshtscr.c)
    +
    +Finishes implementing the TransferFunction entry in halftone
    +dictionaries.  (gsht1.c)
    +
    +Modifies the character oversampler so it can produce gray scale
    +output instead of a 1-bit mask.  We don't actually make use of this
    +ability yet.  (gxccman.c)
    +
    +Adds gs_set/currentfilladjust for access to the fill adjustment
    +parameter in the graphics state.  (gsstate.h, gsstate.c)
    +
    +Changes the names of the last few routines beginning with gz_ to
    +begin with gx_ instead.  (gzdraw.h => gxdraw.h, gsimage*.c, gxdraw.c,
    +gxfill.c, gxstroke.c)
    +
    +Properly implements the PageSize, Margins, .HWMargins, and ImagingBBox
    +device parameters for all devices.  (gscoord.c, gsdparam.c, gspath2.c)
    +Implements the NumCopies device parameter for printer devices.
    +(gdevprn.c)
    +
    +Implements std_device_body macros to help insulate statically initialized
    +non-printer devices from future changes in the gx_device structure.
    +(gxdevice.h, ... many .c files ...)
    +
    +
    + +
    + +

    Version 3.0.3 (9/16/94)

    + +

    +This is primarily a bug fix release; it also implements most of the +remaining Level 2 loose ends (except for setpagedevice). + +

    Documentation

    +
    +Changes code that refers to "Ghostscript" to use the correct product
    +name from gs_product.  (gs.mak, gdevpbm.c, gdevsun.c, gswppm.c)
    +
    +Documents the new .forgetsave operator.  (language.doc)
    +
    +Clarifies the distinction between commercial licensing and single-copy
    +end-user sales.  (readme)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- The compilation rule for gdevadmp.c was missing from the
    +makefile.  (devs.mak)
    +
    +Changes the version numbering scheme back to A.B.C, since too many
    +people got confused by the change to A.BC.  (gconfig.c, gs.c,
    +gs_init.ps)
    +
    +Adds a -dNOGC switch to prevent the garbage collector from being
    +enabled.  (gs_init.ps)
    +
    +

    Utilities

    +
    +Removes the ps2image utility, since the new psmono driver replaces it.
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- The TIFF drivers incorrectly assumed that short and ulong
    +were the same size as TIFF_short and TIFF_ulong, causing problems on
    +64-bit systems.  (gdevtfax.c)
    +	- The EGA/VGA driver didn't do gray halftones properly if it
    +was configured as a monochrome or 8-color device.  (gdevpcfb.h)
    +	- The comment in gdevevga.c incorrectly identified the file
    +as gdevpcfb.c.  (gdevevga.c)
    +
    +Changes the PC display drivers to save and restore more of the BIOS
    +state.  (gdevpcfb.h, gdevevga.c, gdevpcfb.c, gdevsco.c)
    +
    +Adds a new psmono driver that does the same thing as ps2image, faster
    +and more conveniently.  (gdevpsim.c)
    +
    +Replaces the X11 driver with the one from 3.01, since the color
    +handling rewrite in 3.02 introduced serious bugs.  (gdevx.h, gdevx.c,
    +gdevxini.c)
    +
    +

    Platforms

    +
    +Changes the definition of gx_no_color_index to work around one of the
    +bugs in the SGI Irix compiler.  (gxdcolor.h)
    +
    +Rewrites the installation commands in unix-end.mak so they don't have
    +very long lines.  (unix-end.mak)
    +
    +

    Fonts

    +
    +Fixes bugs:
    +	- Fonts that used 2- or 4-element arrays in the Metrics dictionary
    +interpreted the width and side bearing interchanged with each other.
    +(gs_type1.ps)
    +	- Setting FONTPATH on the command line didn't work.  (gs_fonts.ps)
    +
    +

    Streams

    +
    +Fixes bugs:
    +	- The stream position wasn't updated properly if sgets
    +crossed a buffer boundary.  (stream.c)
    +
    +Extends the BoundedHuffman filters so they can encode and decode runs of
    +zeros specially, and so they mark and detect EOD.  (sbhc.h, shc.h, sbhc.c,
    +zfilter2.c)
    +
    +Provides an alternate implementation of file streams which doesn't use
    +stdio buffering and which works around the System V "interrupted system
    +call" problem.  (stream.c, sfile.c, sfileno.c)
    +
    +Increases the maximum LZW output code from 3000 to 4095.  (slzwe.c)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- Opening a filter on a file of the wrong access type (read
    +vs. write) didn't cause an error.  (stream.h, sbasic.c, zfile.c, zfileio.c)
    +	- save performed an extra, unnecessary gsave.  (zvmem.c)
    +	- sethalftone always gave a /undefined error.  (zht2.c)
    +	- eexec decryption read too much data from the input -- in
    +Level 2, it isn't allowed to read 512 characters ahead.  (sfilter.h,
    +strimpl.h, seexec.c, sstring.c, zfileio.c, zmisc1.c)
    +	- The scanner was too aggressive about allocating additional
    +space for strings on small machines.  (iscan.c)
    +	- The AccurateScreens flag in Type 1 and Type 2 halftone
    +dictionaries was being ignored.  (zht2.c)
    +	- The Level 2 definition of margins in statusdict didn't
    +allow for Margins being undefined in the current page device.
    +(gs_lev2.ps)
    +	- The Interpolate flag was being ignored in image
    +dictionaries.  [implemented in library]
    +	- The TransferFunction option was being ignored in halftone
    +dictionaries.  (zht2.c)
    +	- Type 5 halftones usually didn't work, because they called
    +the wrong (or an invalid) spot function.  (zht2.c)
    +
    +Implements a .forgetsave operator that effectively causes a given save (and
    +all more recent saves) to disappear.  (isave.h, stream.h, isave.c, zfile.c,
    +zvmem.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- In the 1-operand form of the image operator, a Decode value of [1
    +0] with 8-bit sample values and a single data source was treated the same
    +as [0 1].  (gsimage1.c)
    +	- Some Monotype fonts put a callsubr between an OtherSubr call and
    +the following 'pop' opcodes (which the Adobe documentation forbids); The
    +Type 1 font interpreter gave an invalidfont error rather than allowing
    +this.  (gxtype1.h, gstype1.c)
    +	- Patterns didn't implement XStep and YStep properly.
    +(gxpcolor.h, gspcolor.c, gxclip2.c)
    +	- Clipping regions were sometimes 1 pixel too small at the edges;
    +this could cause vertical and horizontal lines produced by certain Windows
    +drivers to disappear.  (gzpath.h, gxacpath.c, gxcpath.c, gxfill.c)
    +	- Oversampling cached rotated characters produced very bad
    +results (many dropouts).  (gschar.c)
    +	- Rendering a DeviceGray color on a DeviceCMYK device applied
    +the transfer function to all 4 components, not just to the K
    +component.  (gxcmap.c)
    +	- A screen specified with setcolorscreen didn't take effect
    +properly on CMYK devices.  (gsht.c)
    +
    +Implements the Interpolate option for images.  Currently this is only
    +implemented for portrait-orientation images (no rotation, skewing, or
    +X-reflection).  (gscspace.h, gximage.h, gscie.c, gscolor.c, gscolor1.c,
    +gscolor2.c, gspcolor.c, gxcmap.c, gsimage.c, gsimage2.c, gsimage3.c)
    +
    +Implements AccurateScreens, but only in the form of a larger limit on
    +the size of a halftone super-cell.  (gxht.h, gsht.c, gsht1.c)
    +
    +Starts to implement the TransferFunction option for halftones.
    +(gzht.h, gzstate.h, gsht.c, ...too many others to list...)
    +
    +
    + +

    Version 3.02 (8/30/94)

    + +

    +This is another bug fix release. It was distributed only to a few people, +since the new X Windows color mapping code is not reliable yet. + +

    Documentation

    +
    +Fixes bugs:
    +	- make.doc, but not unixtail.mak, called for setting PLATFORM=unix_
    +on SVR4 platforms.  (unixtail.mak)
    +	- drivers.doc contained some wording that suggested that
    +Ghostscript always used RGB colors internally.  (drivers.doc)
    +	- The definition of gx_device in drivers.doc had gotten out of sync
    +with gxdevice.h.  (drivers.doc)
    +	- README claimed that Ghostscript is not compatible with the
    +VAX/VMS DEC C compiler, which is no longer true.  (readme)
    +
    +Adds a new section on printer drivers to drivers.doc.  (drivers.doc)
    +
    +Adds a large number of new display boards to the 800x600 SVGA section of
    +use.doc.  (use.doc)
    +
    +Adds a bug report form to the README file.  (readme)
    +
    +Notes that OSF/1 AXP systems require changing the definition of INSTALL
    +from install to installbsd.  (make.doc)
    +
    +

    Procedures

    +
    +Removes -Wno-uninitialized from the gcc flags, and fixes all the places (in
    +Aladdin's code only) that need to be fixed to pacify gcc after doing this.
    +(gcc-head.mak, gdevgif.c, gdevmem2.c, gdevpcl.c, gs.c, gsht1.c, gsimpath.c,
    +gsutil.c, gxclread.c, gxpcopy.c, gxstroke.c, idict.c, iscannum.c, stream.c,
    +zdevice2.c) (NOT FINISHED YET)
    +
    +Adds a FAKEFONTS switch that makes fake entries in FontDirectory for
    +unloaded fonts, for the benefit of programs that think they can find all
    +the available fonts by scanning FontDirectory.  (gs_fonts.ps, gs_init.ps)
    +
    +

    Utilities

    +
    +Fixes bugs:
    +	- ps2epsi didn't work, because setdevice now erases the page.
    +(ps2epsi.ps)
    +	- ps2epsi didn't work, because -dNODISPLAY installs a null device
    +with 0 width and height.  The fix -- to remove the -dNODISPLAY -- is not
    +satisfactory, because it opens an unnecessary window.  (ps2epsi)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- gdev_fax_open was incorrectly declared static in gdevtfax.c,
    +causing the extern reference in the dfax drivers not to be resolved.
    +(gdevtfax.c)
    +	- devs.mak included a duplicate definition of gdevmswn_h.
    +(devs.mak)
    +	- The fax drivers didn't link properly in Level 1 systems, because
    +shc.c was omitted from their dependency list.  (gs.mak, devs.mak)
    +	- The TIFF/F drivers didn't set RowsPerStrip properly.
    +(gdevtfax.c)
    +	- The TIFF/F drivers didn't byte-align the EOL properly.  (scfx.h,
    +gdevdfax.c, gdevtfax.c, scfe.c, zfilter2.c)
    +	- The rule for compiling gdevpccm.c incorrectly specified
    +dependency on gs.h rather than gx.h.  (devs.mak)
    +	- The rule for compiling gdevtfax.c didn't include time_.h as a
    +dependency.  (devs.mak)
    +	- The mode 2 compression routine for the DeskJet/LaserJet printers
    +was broken.  (gdevpcl.c)
    +
    +Removes the -O0 from the compilation rule for gdevsco.c, since it was
    +misplaced to begin with.  (devs.mak)
    +
    +Adds a maxDynamicColors X resource to control dynamic allocation in the
    +color map.  Replaces the X color lookup algorithms with completely new
    +ones, for a substantial performance gain.  (gdevx.h, gdevx.c, gdevxini.c)
    +
    +Adds PageNumber, Software, and DateTime entries to the TIFF/F drivers.
    +(gdevtifs.h, gdevtfax.c)
    +
    +Changes the margins for the LaserJet 4 to 0.  (gdevdjet.c)
    +
    +Adds a user-contributed LaserJet 4 driver that does Floyd-Steinberg
    +dithering.  (gdevcdj.c)
    +
    +

    Platforms

    +
    +Fixes bugs:
    +	- The exit codes for Ghostscript should be different on VMS.
    +(iastate.h, gs.c, gsmain.c, igc.c, igcref.c)
    +	- The VMS DEC C compiler declares malloc and free in stdlib.h, and
    +delete and unlink in stdlib.h.  (malloc_.h, stdio_.h)
    +	- st_prn_device wasn't defined, which upset the VMS linker even
    +though there were no references.  (gdevprn.h)
    +	- stdpre.h didn't bring in the right headers when running gcc on
    +SCO Unix, causing compilation warnings/errors.  (stdpre.h)
    +	- The definition of rename in gp_sysv didn't include const for the
    +arguments.  (gp_sysv.c)
    +	- The definition of gettimeofday in gp_sysv didn't return any
    +value.  (gp_sysv.c)
    +	- time_.h didn't work on MS-DOS systems.  (time_.h)
    +	- math_.h didn't include <math.h> when compiling with gcc on VMS
    +systems.  (math_.h)
    +	- DesqView/X doesn't have a 'cat' command, which caused problems in
    +the linking step.  (dvx-tail.mak)
    +
    +Changes the definitions of popen in gdevpipe.c and gp_unix.c so they don't
    +specify the argument list.  This is an attempt to get around the fact that
    +there is no easy way to detect whether the available header files declare
    +popen correctly (with const arguments), incorrectly (with non-const
    +arguments), or not at all.  (gdevpipe.c, gp_unix.c)
    +
    +Replaces VMS.MAK, VMS-CC.MAK, and VMS-AXP.MAK with new versions provided by
    +a user.  (vms.mak, vms-cc.mak, vms-axp.mak)
    +
    +Changes the 16-bit Borland makefiles so their standard configuration is
    +Level 1 plus color.dev (CMYK color and colorimage).  (bc.mak, bcwin.mak)
    +
    +

    Fonts

    +
    +Fixes bugs:
    +	- cfonts.mak still referred to some .gsf files that have been
    +replaced by .pfa files.  (cfonts.mak)
    +	- Compiled fonts got entered into FontDirectory, but didn't get
    +registered as resources.  (gs_ccfnt.ps)
    +	- The Cyrillic, Kana, Hershey .gsf, and URW fonts didn't include a
    +necessary systemdict begin/end, which caused them to fail in badly designed
    +environments.  (fonts/f*.gsf, fonts/h*.gsf, fonts/?0*.gsf)
    +
    +Changes the default target directory in cfonts.mak from fonts/c to .;
    +changes the names of the Zapf Chancery compiled font procedures from c* to
    +zc*.  (cfonts.mak)
    +
    +Adds more fonts from the Adobe Type Manager package for MS Windows to
    +Fontmap.ATM.  (fontmap.atm)
    +
    +Adds the entire set of 35 standard fonts to the ccfonts feature in gs.mak;
    +removes all the compilation rules for compiled fonts, since these rules are
    +in cfonts.mak already.  (gs.mak)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- kshow executed a null, rather than the correct procedure, between
    +the characters of the string, and got a typecheck error at the end.
    +(zchar.c)
    +	- MultiMaster fonts computed their side bearing and width
    +incorrectly, producing incorrect output.  (zchar1.c)
    +	- There was no structure definition for gs_type1_state, so a GC
    +during the execution of an OtherSubrs procedure could scramble pointers in
    +the saved state.  (zchar1.c, zfont1.c; also affects library, see below)
    +	- kshow didn't work properly if the kerning procedure changed the
    +depth of the operand or dictionary stack.  (zchar.c)
    +	- If the element count for roll was too large by only 1 or 2, the
    +result was a crash rather than a rangecheck.  (zstack.c)
    +	- restore didn't undo currentgstate.  (igstate.h, store.h,
    +gsstate.c, zdevice2.c, zdps1.c, ztype.c)
    +	- The scanner didn't set the local bit properly in a suspended
    +state.  (iscan.c)
    +	- copypage disregarded #copies.  (gs_init.ps)
    +	- An incorrectly declared pointer led to addressing faults on
    +16-bit systems.  (zchar1.c)
    +	- The cache for Separation colors was allocated with one element
    +too few.  (zcsindex.c)
    +
    +Changes `executive' so that if an error other than EOF occurs in the
    +reading of the statement, the interpreter prints the error message, but
    +control remains in the executive loop.  (This isn't a very good fix; a
    +better one will require refactoring executive / execute / run.)
    +(gs_init.ps)
    +
    +Changes dictionary undo saving to use the new ref_must_save macro [internal
    +change only].  (idict.c)
    +
    +Moves configuration definitions from iinit.c to gconfig.c.  (gcdefs.h,
    +interp.h, gconfig.c, gs.c, iinit.c, zmisc2.c, gs.mak)
    +
    +Moves =string from systemdict to userdict for Adobe compatibility.
    +(gs_init.ps)
    +
    +Starts to implement the Interpolate flag in image dictionaries.  See under
    +Library below for restrictions.  (zpaint.c, zimage2.c)
    +
    +

    Streams

    +
    +Fixes bugs:
    +	- stream_compact attempted to compact a read-only string being used
    +as the data source of a filter.  (sbasic.c, stream.c)
    +
    +Adds an EncodedEOLAlign flag to the CCITTFaxEncode stream, to allow direct
    +generation of TIFF/F output.  (scfx.h, scfe.c, zfilter2.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- There was no structure definition for gs_type1_state, so a GC
    +during the execution of an OtherSubrs procedure could scramble pointers in
    +the saved state.  (gxfont1.h, gxtype1.h, gstype1.c, gxhint2.c)
    +	- A couple of calls had to discard const, but didn't include the
    +necessary cast.  (gxpcmap.c)
    +	- makeimagedevice refused to accept an empty image.  (gsdevice.c)
    +	- The extra parentheses around arguments in memory_.h caused some
    +compilers to fail.  (memory_.h)
    +	- Floating point overflows during coordinate conversion terminated
    +Ghostscript.  (gxfarith.h, gxfixed.h, gsmatrix.c, gsmisc.c)
    +	- Accents still weren't getting placed properly on characters
    +created with seac.  (gstype1.c, gxhint2.c)
    +	- The SGI C compiler couldn't handle the (perfectly legal)
    +definitions of dev_init_[open_]misc.  (gxdevice.h)
    +	- string_.h caused some problems with gcc on some versions of
    +Solaris.  (string_.h)
    +	- The halftone levels for color screens were computed incorrectly.
    +(gzht.h, gxdither.c)
    +	- Color screens sometimes had vertical stripes of solid color
    +interspersed.  (gxcht.c)
    +	- Colors could get mapped incorrectly if a compiler aggressively
    +(and incorrectly) reordered the computation of procedure arguments
    +involving the unit_frac macro.  (gxcmap.c)
    +	- setcachedevice[2] insisted that the corners of the bounding box
    +be given in the correct order, i.e., llx < urx and lly < ury.  (gschar.c)
    +	- The image operator gave a limitcheck on unrotated 1-bit-per-pixel
    +images whose width in device coordinates exceeded 65529.  (gsimage.c)
    +	- The garbage collector didn't trace the input data of an
    +in-progress image operator correctly.  (gsimage.c)
    +
    +Changes the max_rgb and dither_rgb members of gx_device_color_info to
    +max_color and dither_colors, since Ghostscript now uses these for CMYK
    +devices as well.  Also changes dither_gray to dither_grays.  (gdevmem.h,
    +gdevprn.h, gxdevice.h, gdevbit.c, gdevcdj.c, gdevprn.c, gdevxini.c,
    +gsdparam.c, gxcht.c, gxcmap.c)
    +
    +Starts to implement the Interpolate option for images.  Currently this is
    +only implemented for image, not imagemask, and only for rotations that are
    +multiples of 90 degrees (possibly with reflection).  (gsimage.h,
    +gsiscale.h, gximage.h, gsimage.c, gsimage1.c, gsiscale.c)
    +
    +Starts to implement XStep and YStep in pattern dictionaries.  (gxdcolor.h,
    +gxpcolor.h, gspcolor.c, gxpcmap.c)
    +
    +
    + +

    Version 3.01 (8/14/94)

    + +

    +This is a patch release to fix early problems in release 3.0, and to clean +up a few known loose ends. + +

    Documentation

    +
    +Fixes bugs:
    +	- language.doc still documented the devicename procedure, which has
    +been withdrawn.  (language.doc)
    +	- drivers.doc didn't specify under what circumstances each
    +procedure could be called.  (drivers.doc)
    +	- current.doc said that setcachedevice and makeimagedevice wouldn't
    +accept packed arrays, but neither of these operators takes any array
    +arguments.  (current.doc)
    +	- current.doc said that definefont didn't interact properly with
    +the resource machinery, which apparently is no longer true.  (current.doc)
    +	- make.doc incorrectly gave the name of the DVX makefile as
    +dvx-djg.mak rather than dvx-gcc.mak.  (make.doc)
    +	- In one place, devices.doc incorrectly used -sBitsPerPixel= rather
    +than -dBitsPerPixel=.  (devices.doc)
    +
    +Notes that a kernel bug in SCO Unix makes Ghostscript not work correctly in
    +some circumstances.  (use.doc)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- devs.mak incorrectly referred to gdevjetp.c instead of
    +gdev3852.c.  (devs.mak)
    +	- The obsolete file gsprops.c was accidentally included in the
    +fileset.
    +
    +Changes the version numbering scheme from A.BCC to A.B[C].  E.g., this
    +release will be 3.01, not 3.001.  (gs_init.ps, gs.c, iinit.c)
    +
    +Adds the LaserJet 4 driver to all makefiles that already include the
    +LaserJet 3 driver.  (*.mak)
    +
    +Adds the BJ-200 driver to all makefiles that already included the BJ-10e
    +driver.  (*.mak)
    +
    +Splits the Unix 'install' target into install-exec and install-data.  Moves
    +the executable scripts from gsdatadir to a new directory scriptdir, which
    +defaults to bindir.  (ansihead.mak, cc-head.mak, gcc-head.mak,
    +unix-end.mak)
    +
    +

    Utilities

    +
    +Fixes bugs:
    +	- genconf had fixed buffer sizes built into it, which it could
    +overrun its working storage without checking.  (genconf.c)
    +
    +Removes RCS or SCCS headers from two utility files.  (pj-gs.sh,
    +printafm.ps)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- The new dfaxhigh and dfaxlow drivers didn't set
    +state.EncodedByteAlign to false.  (gdevdfax.c)
    +	- The sunview driver assumed that the device would be open before
    +map_rgb_color was called.  (gdevsun.c)
    +	- The CP50 driver incremented page_count itself, rather than
    +letting the core library do it.  (gdevcp50.c)
    +	- The GIF driver(s) could loop indefinitely under certain
    +circumstances.  (gdevgif.c)
    +	- The Group 4 fax drivers incorrectly included end-of-line codes in
    +the output.  (gdevtfax.c, gdevdfax.c)
    +	- The Group 4 fax drivers could put out an EOB in the middle of the
    +data.  (scfe.c)
    +	- The DesignJet 650C driver didn't use the correct compression
    +mode.  (gdevcdj.c)
    +	- The Hercules and EGA/VGA/SVGA drivers computed the page height
    +incorrectly according to the A4 switch.  (gdevherc.c, gdevpcfb.h)
    +
    +Changes the page_count and showpage_count members of the device structure
    +from int to long.  (gxdevice.h, gdevprn.c, gsdparam.c)
    +
    +Changes the faxg3, faxg32d, and faxg4 drivers so that, like the TIFF and
    +dfax drivers, they adjust the page size to one of the three CCITT standard
    +sizes if this is reasonable.  (gdevtfax.c)
    +
    +Splits the bit driver into bit, bitrgb, and bitcmyk.  Adds bitrgb and
    +bitcmyk to all makefiles that included bit.  (*.mak, devs.mak, gdevbit.c)
    +
    +Replaces the atiw16, tseng16, and tvga16 SuperVGA drivers with a single
    +svga16 driver that allows specifying the display mode number.  (devs.mak,
    +gdevpcfb.c)
    +
    +

    Platforms

    +
    +Fixes bugs:
    +	- The MS Windows and OS/2 drivers allocated their terminal input
    +buffers in a way that could cause the GC to crash.  (gp_mswin.c, gp_os2.c)
    +	- The handling of gettimeofday on SVR4 platforms was incorrect.
    +(time_.h, gp_sysv.c, gp_unix.c)
    +	- On some platforms, function prototypes were not enabled even if
    +__STDC__ was defined.  (stdpre.h)
    +	- The VMS build script referred to an obsolete feature lev2only.
    +(vms.mak)
    +
    +Changes the DVX platform so that stdprn is buffered.  This should improve
    +printing performance dramatically.  (gp_dvx.c)
    +
    +

    Fonts

    +
    +Fixes bugs:
    +	- Setting DISKFONTS resulted in a reference to FontFileDirectory
    +before it was defined.  (gs_type1.ps, gs_fonts.ps)
    +	- /Font findresource gave an error rather than doing font
    +substitution.  (gs_res.ps)
    +	- FontDirectory wasn't rebound to GlobalFontDirectory when global
    +VM was current.  (gs_res.ps, zdict.c)
    +	- Type 1 fonts weren't loaded into global VM.  (gs_fonts.ps)
    +	- In the standard Fontmap, the Utopia fonts had extension .gsf
    +rather than .pfa.  (fontmap.gs)
    +	- Fonts whose FontBBox was [0 0 0 0] were not displayed, or were
    +displayed as tiny dots.  (gs_type1.ps)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- dict_put could read from the variable pvslot before it was used.
    +(This was harmless, since the value was never actually used; it just upset
    +Purify.)  (idict.c)
    +	- Binary object sequences could cause addressing faults.
    +(iscanbin.c)
    +	- The attributes on names were set incorrectly in binary object
    +sequences.  (iscanbin.c)
    +	- gs.c duplicated (in some cases incorrectly) some definitions in
    +interp.h.  (gs.c)
    +	- gs_lib_paths was declared const in one place and non-const in
    +another.  (zfile.c)
    +	- file_restore and font_restore had inconsistent const declarations
    +for their argument.  (isave.c)
    +	- iodev_os_open_file was missing its last formal parameter.
    +(ziodev.c)
    +	- gs.c declared gs_devicename with an incorrect extern.  (gs.c)
    +	- undefinefont didn't interact properly with the resource
    +machinery.  (gs_lev2.ps)
    +	- The declaration for swap_entry used a typedef name as a formal
    +parameter, which upset some compilers.  (zmisc2.c)
    +	- Including the ccinit feature could cause the garbage collector to
    +make an invalid access.  (stream.c)
    +	- The check for t_[a]struct types in ztype.c was incorrect.
    +(ztype.c)
    +	- After the collection of halftone samples, temporary data
    +structures were freed incorrectly.  (gzht.h, gsht1.c, zht.c)
    +	- Images with source width between 489 and 492 crashed the
    +memory manager.  (iastate.h)
    +
    +Makes it possible to define SEARCH_HERE_FIRST (gsmain.c) in the makefile.
    +(gsmain.c)
    +
    +Splits the Level 2 resource machinery into a separate file.  (gs_lev2.ps,
    +gs_res.ps, gs.mak, unix-end.mak, vms.mak).
    +
    +Changes the names of the DiffEncode/Decode filters to
    +PixelDifferenceEncode/Decode, and splits them off into a separate
    +"feature".  (gs.mak, zfilter2.c, zfpdiff.c, spdiff.c, spdiffx.h)
    +
    +Adds experimental code for filtered image scaling.  DON'T USE THIS CODE.
    +(zimage2.c)
    +
    +

    Streams

    +
    +Fixes bugs:
    +	- The CCITTFaxEncode filter could put out an EOB in the middle of
    +the data.  (scfe.c)
    +
    +Splits off the PixelDifferenceEncode/Decode filters into a separate
    +"feature".  (gs.mak)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- gs_setcachedevice could return a garbage error code.  (gschar.c)
    +	- joins on stroked lines were incorrect if the device coordinate
    +system mapped +Y to +Y.  (gxstroke.c)
    +	- If gsmisc.c supplied versions of missing library routines, they
    +could clash with the names of the real ones if those were present
    +unexpectedly.  (memory_.h, gsmisc.c)
    +	- The initialization expression for is_open in the
    +dev_init_misc_open macro included a cast, which some compilers don't allow.
    +(gxdevice.h, gsdevice.c, gxclip2.c, gxpcmap.c)
    +	- In Type 1 fonts, character that specified their side bearing and
    +width with sbw rather than hsbw gave an invalidfont error.  (gstype1.c)
    +	- Some procedures were declared inconsistently with regard to const
    +arguments.  (gscie.c, gxpcmap.c, gxacpath.c, gxcmap.c)
    +	- A few places still assumed that pointers occupied 4 bytes.
    +(gxclist.c)
    +	- Rendering a gray halftone on a CMYK device called the device's
    +map_rgb_color procedure instead of map_cmyk_color.  (gxdither.c)
    +
    +Renames gsfile.c as gswppm.c.  (gsfile.c, gswppm.c)
    +
    +Implements the ability to cache arbitrarily transformed characters.  This
    +is currently enabled by a compile-time flag in gschar.c.  (gschar.c)
    +
    +
    + +

    Version 3.0 (8/1/94)

    + +

    +This is the first full Level 2 version released to the public. +Unfortunately, we were not able to include setpagedevice in this release. + +

    Documentation

    +
    +Fixes bugs:
    +	- README didn't mention Aladdin's European distributor.
    +	- psfiles.doc didn't describe some of the newer gs_*.ps files.
    +
    +Notes that gcc -O2 (version 2.5.8 of gcc) generates incorrect code for some
    +modules on the H-P RISC architecture.
    +
    +Notes that on AXP platforms running VMS, DEC C V4.0 is required.
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- 'make clean' didn't delete devs.tr or t.tr.
    +	- devs.mak was missing the entry for faxg32d.
    +	- unixansi.mak omitted some drivers that were included in
    +unix-cc.mak and unix-gcc.mak.
    +
    +Updates jpeg.mak to reference version 5beta1 of the IJG JPEG code.
    +
    +Changes the version numbering scheme from A.B.C to A.B[CC].  I.e., the
    +first sub-release after 3.0 will be 3.01 or 3.001, not 3.0.1.
    +
    +

    Utilities

    +
    +Fixes bugs:
    +	- ps2ascii didn't do a setglobal.
    +
    +Adds an option to ansi2knr to convert ... to va_alist/va_dcl.
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- The newly added faxg32d driver didn't have an entry in devs.mak.
    +	- The BMP, GIF, and PCX drivers wrote out an incorrect color
    +palette (the blue values were too small).
    +	- The vgalib driver had some compilation problems.
    +	- The TIFF drivers didn't produce correct multi-page output.
    +
    +Adds faxg32d and tiffg32d drivers.
    +
    +Reinstates the DigiFax drivers, which were withdrawn when the new fax
    +drivers were added.
    +
    +

    Platforms

    +
    +Fixes bugs:
    +	- gs_btokn.ps and gs_ccfnt.ps weren't installed on Unix platforms.
    +	- The VMS module list omitted SBHC, included a non-existent GXDASH,
    +and had incorrect names for some of the IJG JPEG files.
    +	- The VMS build scripts (vms*.mak) had incorrect "boilerplate".
    +	- The VMS script file gssetmod.com had \r characters in it, as well
    +as \n characters.
    +	- The echogs and genarch utilities didn't return the correct exit
    +codes under VMS.
    +	- The VMS Fontmap had incorrect entries for the Courier and Charter
    +fonts.
    +	- When running under Ghostview, Ghostscript didn't drain the input
    +pipe.  (We fixed this with a temporary patch in gs.c; this isn't a good
    +solution for the longer term.)
    +
    +

    Fonts

    +
    +Fixes bugs:
    +	- The free AvantGarde, Bookman, and Palatino font families had
    +incorrect FontBBox values.
    +	- The 'f' and 'j' in the free AvantGarde-DemiOblique,
    +Bookman-DemiItalic, Bookman-LightItalic, and Palatino-Italic fonts were
    +chopped off on the right.  (The bitmaps were chopped off in the original
    +BDF fonts from which these fonts were made.)  ****** THIS PROBLEM WAS NOT
    +ACTUALLY FIXED. ******
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- gs -h and gs -v didn't print the tertiary version number correctly.
    +	- Binary object sequences with no strings or names didn't read in
    +correctly.
    +	- Binary object sequences that crossed an input buffer boundary
    +didn't read in correctly.
    +	- Binary object sequences read in as {[e1 .. en] e1 ... en} instead
    +of {[e1 ... en]}.  (New bug in 2.9.x.)
    +	- setpattern didn't set the current color space correctly if the
    +current color space wasn't a Pattern space.
    +	- If the current color space was an uncolored Pattern space but the
    +current color was a colored Pattern, currentcolor returned extra values on
    +the operands stack.
    +	- .buildfont1 in gs_type1.ps didn't force binding of the old
    +definition, causing ps2ascii to loop endlessly.
    +
    +Adds a facility for writing and reading dictionaries in binary object
    +sequences.  This is experimental and subject to change in the future.
    +
    +

    Streams

    +
    +Fixes bugs:
    +	- gs_run_string and ccinit didn't have any way to mark the string
    +as "foreign", which confused the GC.
    +
    +

    Library

    +
    +Fixes bugs:
    +	- gxchar.h had an extra comma after the last element of the
    +show_width_status enum, which upset some compilers.
    +	- stroke and strokepath didn't correctly skip zero-length segments
    +if the line width was less than one pixel, or if there was a closed subpath
    +consisting entirely of zero-length segments.
    +	- strokepath sometimes incorrectly added a moveto at the end of the
    +path.
    +
    + + +
    + +

    +Copyright © 1996, 1997, 1998 Aladdin Enterprises. +All rights reserved. + +

    +This software is provided AS-IS with no warranty, either express or +implied. + +This software is distributed under license and may not be copied, +modified or distributed except as expressly authorized under the terms +of the license contained in the file LICENSE in this distribution. + +

    +Ghostscript version 7.07, 17 May 2003 + + + + + + diff --git a/Master/xemtex/doc/ghostscript/History4.htm b/Master/xemtex/doc/ghostscript/History4.htm new file mode 100644 index 00000000000..35e67000138 --- /dev/null +++ b/Master/xemtex/doc/ghostscript/History4.htm @@ -0,0 +1,3980 @@ + + + +History of Ghostscript versions 4.n + + + + + + + + + + + +

    History of Ghostscript versions 4.n

    + + + + + +

    Table of contents

    + +
    + + + + + +

    +This document is a history of Ghostscript releases numbered 4.n. For more +recent changes, see the the other history documents and, for the latest +versions, the news: + +

    +News
    +History of Ghostscript versions 4.n (this document)
    +History of Ghostscript versions 3.n
    +History of Ghostscript versions 2.n
    +History of Ghostscript versions 1.n +
    + +

    For other information, see the Ghostscript +overview. + + + +


    + + + +

    Version 4.81 (6/1/97)

    + +

    +This is a last-minute set of bug fixes before the 5.0 release. + +

    Documentation

    +
    +Adds some overlooked helpers to the list.  (helpers.txt)
    +
    +

    Procedures

    +
    +Makes a distinction between 2-part and 3-digit version numbers.
    +(version.mak, vms.mak)
    +
    +

    Utilities

    +
    +Develops the Type 1 to CFF converter a little further; it is still NOT
    +USABLE.  (t1tot2.ps)
    +
    +Removes the pstoppm.ps script, since the p*m drivers supersede it.
    +(pstoppm.ps, unix-end.mak)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- The PDF writer sometimes omitted an ET command before setting the
    +clip path.  (gdevpdf.c)
    +	- The PDF writer didn't initialize the "vector" state, leading to
    +some redundant output (performance bug only).  (gdevpdf.c)
    +	- The PDF writer wrote clip paths even when they included the entire
    +page (performance bug only).  (gdevpdf.c)
    +
    +Changes the PDF writer so that it recognizes not only the 14 built-in fonts
    +but any font with the same UniqueID and metrics.  This covers some common
    +cases of re-registering a font with a variant Encoding.  (gs_pdfwr.ps)
    +
    +

    Platforms

    +
    +Fixes bugs:
    +	- SEARCH_HERE_FIRST was accidentally set to 0 on MS Windows
    +platforms.  (bcwin32.mak, msvc4.mak, msvc5.mak, watcw32.mak)
    +
    +Adds code to remove "" around arguments in the command line passed to
    +WinMain (MS Windows platforms).  (dwmain.cpp, dwmainc.cpp)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- setsystemparams was broken.  (gs_lev2.ps)
    +	- restore was broken if -dNOBIND was invoked.  (gs_dps1.ps)
    +	- deviceinfo returned much more information than it should.
    +(gs_dps.ps)
    +	- The fix for the default EndPage procedures not popping their page
    +count operand from the stack was wrong.  (gs_init.ps, gs_setpd.ps)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- The saved character origin took the translation component of the
    +FontMatrix into account, which caused charpath on fonts with non-zero
    +translation in the FontMatrix to produce incorrect results.  (gschar.c)
    +
    +Removes incorrect access attributes on a couple of files.  (gdevpdfm.c,
    +gxclist.h)
    +
    +
    + +

    Version 4.80 (limited) (5/28/97)

    + +

    +This is the candidate fileset for the 5.0 release. + +

    Documentation

    +
    +Fixes bugs:
    +	- The one-line description of the color image rendering module was
    +incorrect.  (gximage3.c)
    +	- Some of the VMS documentation was out of date.  (make.txt,
    +use.txt)
    +	- The description of the file name separator for -sFONTMAP= was
    +wrong.  (use.txt)
    +	- PSFile was misspelled PSfile.  (use.txt)
    +	- There were some minor typos.  (gstype1.h)
    +	- The build instructions had a lot of obsolete information for PC
    +environments, and didn't cover Microsoft Visual C++.  (make.txt)
    +
    +Explains that -sPAPERSIZE= only specifies the default papersize, and that
    +forcing a particular paper size also requires -dFIXEDMEDIA.  (use.txt)
    +
    +Adds information about building with GNU make on OpenVMS.  (make.txt)
    +
    +Clarifies the meaning of EOFC for streams.  (strimpl.h)
    +
    +Documents the new dictionary argument for the eexecDecode filter.
    +(language.doc)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- gs_epsf.ps didn't get installed on Unix systems.  (unix-end.mak)
    +	- The code wouldn't build with libpng 0.95b.  (libpng.mak)
    +	- One of the VMS scripts used CC_QUAL instead of CC_DEF.
    +(vms-cc.mak)
    +	- version.mak wasn't included in a dependency list.  (unix-end.mak)
    +
    +Brings the VMS DCL script up to date again (for the last time, we hope).
    +(vms.mak)
    +
    +Modifies all platform-independent uses of upper-case command line arguments
    +to deal properly with VMS, where the shell converts all command line
    +arguments to lower case, without requiring quotation.  (devs.mak, gs.mak,
    +int.mak, lib.mak, zlib.mak)
    +
    +Moves the compilation rules for the third-party libraries into gs.mak, so
    +they can be used to compile the callers as well.  (gs.mak, jpeg.mak,
    +libpng.mak, zlib.mak)
    +
    +Adds a set of files that allow building on OpenVMS using GNU make (slightly
    +patched).  The timing on this is unfortunate, but we've wanted this for a
    +very long time.  NOTE: be sure to look in the OpenVMS section of make.txt
    +for information on patching GNU make.  (openvms.mak, append_l.com,
    +rm_all.com, rm_one.com, copy_one.com)
    +
    +Adds new makefiles for building on 32-bit Windows with Borland, Watcom, and
    +Microsoft Visual C++ (versions 4.x and 5.0).  The timing on this is
    +unfortunate too, but having this capability is so important that we couldn't
    +pass it up.  (bcwin32.mak, msvc4.mak, msvc5.mak, msvccom.mak, watcw32.mak,
    +wincom.mak)
    +
    +Removes now-obsolete makefiles.  (dwcommon.mak, msc.mak, msvcwint.mak,
    +mscbegin.bat, watcwin.mak)
    +
    +

    Utilities

    +
    +Extends echogs to work in VMS environments, where the shell converts all
    +command line arguments to lower case, without requiring quotation.
    +(echogs.c)
    +
    +Adds a sketch of a utility for converting Type 1 fonts to CFF.  DOESN'T WORK
    +YET: DON'T TRY TO USE IT.  (t1tot2.ps, type1ops.ps, writecff.ps)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- A type declaration wasn't compatible with libpng 0.95.
    +(gdevpng.c)
    +	- kshow wasn't handled properly when producing PDF output.
    +(gs_pdfwr.ps)
    +	- The PDF writer put out unnecessary ET/BT commands.  (gdevpdfx.h,
    +gdevpdf.c, gdevpdfi.c, gdevpdfm.c, gdevpdft.c)
    +	- The PCL XL writer put out real numbers for the miter limit, which
    +are not allowed (!).  (gdevpx.c)
    +	- The PCL XL writer didn't combine successive curves into a single
    +curve command (performance bug only).  (gdevpx.c)
    +	- The PCL XL writer could write uncompressed images with a tag
    +saying they were compressed.  (gdevpx.c)
    +	- The PCL XL writer always selected U.S. letter paper, rather than
    +the requested size.  (gdevpxen.h, gdevpx.c)
    +	- The PCL XL writer reselected the paper size on every page, even if
    +it hadn't changed.  (gdevpx.c)
    +	- The PCL XL writer always used shorts for line and curve
    +coordinates, rather than using bytes when possible (performance bug only).
    +(gdevpx.c)
    +	- Because of a compiler bug, a macro with argument conflicted with a
    +variable name.  (gdevpdfx.h, gdevpdf.c)
    +	- A picky compiler objected to an extern for an undefined structure.
    +(gdevpsdf.h)
    +	- The PDF writer sometimes didn't reset the clipping path, causing
    +bitmaps or rectangle to disappear.  (gdevpdf.c, gdevpdfi.c)
    +	- The PDF writer produced invalid output if the first page was
    +blank.  (gdevpdf.c)
    +	- The AutoRotatePages parameter for PostScript and PDF output (which
    +doesn't actually do anything yet) incorrectly expected a Boolean value
    +rather than an enumeration.  (gdevpsdf.h, gdevpsdf.c)
    +	- Some places returned -1 for an error without calling gs_note_error
    +or gs_return_error.  (gdevm1.c, gdevmpla.c, gdevrun.c, gxclpath.c)
    +	- The PCL XL writer produced extremely large files because it didn't
    +download character bitmaps.  (OK, this isn't really a bug fix.)  (gdevpx.c)
    +	- The forwarding implementation of get_page_device didn't do the
    +right thing.  (gdevnfwd.c)
    +	- The x11alpha device didn't implement get_params properly, leading
    +to anomalous behavior.  (gdevxalt.c)
    +	- The PDF writer produced incorrect Count values for outlines: the
    +count only counted descendant leaves, omitting intermediate nodes.
    +(gdevpdfm.c)
    +
    +Removes an assumption that images have at most 4 components.  (gdevpdfi.c)
    +
    +Adds an x11gray2 device, primarily for debugging.  (devs.mak, gdevxalt.c)
    +
    +Updates the unified printer driver with a newer version.  (uninfo.ps,
    +gdevupd.c, *.upp)
    +
    +

    Platforms

    +
    +Adds the P*M devices and the X11 devices (commented out) to the OS/2
    +makefile.  (os2.mak)
    +
    +Updates the MS Windows platform to be compatible with Microsoft Visual C++
    +(as well as Watcom and Borland compilers).  (gsdll32.def, gdevmswn.h,
    +gp_mswin.h, gsdll.h, dwimg.cpp, dwmain.cpp, dwmainc.cpp, dwtext.cpp,
    +gdevwdib.c, gdevwprn.c, gdevwpr2.c, gp_mswin.c, gsdll.c)
    +
    +

    Fonts

    +
    +Fixes bugs:
    +	- Certain synthetic fonts incorrectly were loaded into local rather
    +than global VM.  (These fonts are not part of the standard distribution.)
    +(gs_fonts.ps, gs_pfile.ps, *ss*.ps)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- The FAKEFONTS scan could leave junk on the stack.  (gs_fonts.ps)
    +	- Dynamically loading known encodings on demand left junk on the
    +stack, causing a typecheck error.  (gs_res.ps)
    +	- Some 'static' declarations were missing (gcc lossage).  (iname.c)
    +	- Some internal operators didn't have names, leading to unhelpful
    +error printout.  (zfileio.c)
    +	- The resource "operators" didn't always restore the stacks properly
    +on an error.  (gs_res.ps)
    +	- The CID font code left a garbage value on the stack during
    +loading.  (gs_cidfn.ps)
    +	- The defineresource implementation for built-in resources like
    +FMapType didn't leave the resource "value" on the stack.  (gs_res.ps)
    +	- If an operator defined by a procedure was bound into a packed
    +procedure, the stack-protection feature wasn't effective.  (interp.c)
    +	- findfont didn't restore the stack if it failed.  (gs_res.ps)
    +	- The showpage count passed to the BeginPage and EndPage procedures
    +was incremented only if a page was printed, rather than for every invocation
    +of showpage.  (gs_init.ps, zdevice2.c)
    +	- The default EndPage procedures didn't pop their page count operand
    +from the stack.  (gs_init.ps, gs_setpd.ps)
    +	- If the argument of findfont wasn't a name or a string, and no font
    +with that key had been registered, an error occurred.  (gs_fonts.ps,
    +gs_res.ps)
    +
    +Updates most of the remaining pseudo-operators to take advantage of stack
    +protection.  (gs_btokn.ps, gs_cmap.ps, gs_dps1.ps, gs_dps2.ps, gs_fonts.ps,
    +gs_lev2.ps, gs_pdfwr.ps)
    +
    +Splits the image operators into a separate file from the path painting
    +operators.  (This should have been done a long time ago.)  (iimage.h,
    +zimage.c, zpaint.c)
    +
    +Adds more of the implementation of the NeXT alpha and compositing
    +operations, under an #ifdef DPNEXT.  (iimage.h, zcolor1.c, zdpnext.c,
    +zimage.c)
    +
    +Adds more of the implementation of DPS contexts.  These are still not
    +usable.  (icontext.h, icontext.c, zcontext.c, zmath.c)
    +
    +Changes the help message to describe -dBATCH instead of -c quit.
    +(imainarg.c)
    +
    +Recognizes the dictionary argument for the eexecDecode filter.  (zmisc1.c)
    +
    +

    Streams

    +
    +Fixes bugs:
    +	- The tracing message when starting to decode 1-D fax data reported
    +the run_color incorrectly.  (scfd.c)
    +	- In the CCITTFaxDecode filter, if a buffer boundary fell between a
    +makeup code and a final zero-length termination code, an ioerror could
    +occur.  (scfd.c)
    +	- Per Adobe, in the CCITTFaxDecode filter, EndOfBlock = true should
    +cause Rows to be ignored.  (scfd.c)
    +	- If an output stream returned EOFC, an infinite loop might result.
    +This problem (and the fix) are in the same fragile code as the EOD fix in
    +4.74, and we may again have introduced a new bug.  (stream.c)
    +
    +Changes the eexecDecode filter so that instead of a number, it can take a
    +dictionary with two keys, seed and lenIV.  (Having eexecDecode skip initial
    +bytes at all was a design bug that is too late to fix.)  (sfilter.h,
    +seexec.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- The default mapping from RGB+alpha to RGB didn't lighten
    +(premultiply) the color according to the alpha value.  (gxcmap.c)
    +	- The angle error metric for rational tangent screen parameters
    +should be simply the difference in angle, not a ratio.  (gshtscr.c)
    +	- gs_setcolorscreen and gs_sethalftone didn't initialize an
    +allocator pointer, leading to memory access errors.  (gsht1.c)
    +	- If a banded image was clipped, an invalid band list could be
    +produced.  (gxclimag.c)
    +	- A picky compiler wouldn't allow an enum to be &&'ed with a
    +boolean.  (gschar.c)
    +	- A short-sighted compiler didn't allow the use of actual procedure
    +names (as opposed to procedure variables) in a conditional expression.
    +(gxfill.c)
    +	- A compiler objected to a name longer than 31 characters.  (gzht.h,
    +gsht.c, gxclread.c)
    +	- The height computations for banded images were not consistent,
    +possibly leading to invalid band lists.  (gxclimag.c)
    +	- copypage didn't reset the band writer and band reader bookkeeping
    +consistently, leading to incorrect output and possible errors.  (gxcldev.h,
    +gxclist.c, gxclread.c)
    +	- When banding, changing the halftone could lead to accessing memory
    +after freeing it.  (gxclread.c)
    +	- When using disk files for band storage, showpage didn't actually
    +delete or truncate the band list file, possibly causing subsequent copypage
    +operations to become confused.  (gxclfile.c)
    +	- When banding, having more than one image operator in progress at a
    +time confused the rasterizing pass and could produce arbitrary errors.  From
    +PostScript, this can only happen in the case of an image whose data source
    +was a procedure-based stream that itself invoked an image operator: this is
    +a senseless and perverse thing to do, but it shouldn't break the code (and a
    +Genoa CET file actually does it).  (gxclist.h, gxclimag.c, gxclist.c)
    +	- Some picky compilers objected to negating unsigned values.
    +(gsuid.h, gsht.c, gsmemory.c, gxpcopy.c)
    +	- When banding, if a 90- or 270-degree rotated monobit image was
    +clipped, invalid memory accesses could occur.  (gximage.h, gximage1.c)
    +	- The showpage count passed to the BeginPage and EndPage procedures
    +was incremented only if a page was printed, rather than for every invocation
    +of showpage.  Fixing this requires removing the incrementing of the count
    +from the library level altogether.  (gsdevice.c)
    +	- When rendering a subrectangle of an image, the X DDA was
    +initialized incorrectly, causing possible errors.  We think this only
    +affected certain banded images.  (gxdda.h)
    +
    +Adds a provision for images with an alpha component, under an #ifdef DPNEXT.
    +****** THE BANDING CODE HAS NOT BEEN UPDATED YET. ******  (gsiparam.h,
    +gxcmap.h, gxdither.h, gximage.h, gsimage.c, gxclimag.c, gxclread.c,
    +gxcmap.c, gximage.c, gximage3.c, gximage4.c ****** NOT DONE YET ******,
    +gximage5.c)
    +
    +Adds a return_if_error macro to capture the common idiom of making a call
    +and then returning its value if that value is negative (error).  (gserror.h)
    +
    +
    + +
    + +

    Version 4.74 (limited) (5/5/97)

    + +

    +This fileset is supposed to fix all remaining errors reported by the Genoa +CET, and is intended to be the last incremental test fileset before the 5.0 +release. + +

    Documentation

    +
    +Fixes bugs:
    +	- Mark procedures are *not* executed in the normal return case.
    +(estack.h)
    +	- The line_params element of a gs_imager_state is *not* allocated
    +separately.  (gsstate.c)
    +	- The value passed to the PDF writer for text is a dictionary, not
    +an array.  (gdevpdft.c)
    +
    +Improves the documentation of gstate memory management.  (gsstate.c)
    +
    +Documents end_status = EOFC for writing streams.  (stream.h, strimpl.h)
    +
    +Clarifies memory management for halftones and device halftones.  (gsht1.h,
    +gxdht.h, gxht.h, gzht.h)
    +
    +Removes the "experimental" tag from the PostScript and EPS writers.
    +(devs.mak)
    +
    +

    Utilities

    +
    +Fixes bugs:
    +	- The viewpcx utility scaled images improperly.  (viewpcx.ps)
    +	- If a PDF file used F instead of f for filling a path, pdf2ps
    +didn't output the fill operation.  (pdf_base.ps)
    +
    +Changes the ps2pdf script so that, like pdf2ps, it allows debugging
    +switches.  (ps2pdf)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- The vgalib driver didn't clip monobit images properly.
    +(gdevvglb.c)
    +	- The X driver asked for exposure events to be reported, but never
    +read them, causing the event queue to grow indefinitely.  (gdevxini.c)
    +	- The "vector" drivers and the PDF writer didn't properly keep track
    +of whether the current clipping region was the default one.  (gs_pdfwr.ps,
    +gdevvec.h, gdevvec.c, gdevpdf.c, gdevpdft.c)
    +	- The PDF writer had word and character spacing interchanged.
    +(gdevpdft.c)
    +	- The PDF writer scaled word and character spacing incorrectly.
    +(gdevpdft.c)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- The user object operators didn't leave the stack in a clean state
    +if they failed.  (gs_dps2.ps)
    +	- UserObjects wasn't actually defined.  (gs_dps2.ps)
    +	- deviceinfo and set/currenthalftonephase were defined even if the
    +dps feature wasn't selected.  (int.mak, gs_dps.ps, gs_dps1.ps, gs_lev2.ps,
    +zdps.c, zdps1.c)
    +	- The dps feature didn't automatically include the level2 feature,
    +which it needs.  (int.mak)
    +	- The DPS user names mechanism didn't work, since the user names
    +array was subject to save and restore.  (It still doesn't really work --
    +there is no provision for expanding the user names array, which is created
    +with length 0.)  (gs_btokn.ps, ivmspace.h, zbseq.c, zdps.c)
    +	- The DPS context operators didn't do all the necessary error
    +checking.  (zcontext.c)
    +	- The debugging printout for names printed the name index in hex
    +without identifying it as such.  (idebug.c)
    +	- Adding the first non-name key (or name key with a name index
    +beyond 4K) to a dictionary that had any deleted entries could cause some
    +entries to apparently disappear.  (idict.c)
    +	- If a sub-table of the name table was freed during garbage
    +collection, memory could be left in an inconsistent state.  (iname.c, igc.c)
    +	- findfont didn't restore the stacks reliably if an error occurred.
    +(gs_fonts.ps)
    +	- definefont with an invalid Type 0 font sometimes added a FID entry
    +(with a dangling pointer) if it failed.  (Recovering properly from a VMerror
    +during font creation would require a much more complicated fix than this,
    +but since we expect a garbage collection to occur in that case, we aren't
    +concerned about it.)  (zfont0.c)
    +	- Reading parameter values from a dictionary could access beyond the
    +end of the array that keeps track of which entries had been referenced.
    +(idict.h, idict.c, iparam.c)
    +	- Halftone data was allocated in the current VM rather than in the
    +same VM as the halftone dictionary or procedure.  (Fixing this includes
    +updating code as necessary for the change in halftone and device halftone
    +allocation.)  (iht.h, ivmspace.h, zht.c, zht1.c, zht2.c)
    +	- Closed non-executable files on the e-stack could cause a restore
    +to be invalid.  (zvmem.c)
    +
    +Adds skeleton code for the NeXT Display PostScript alpha and compositing
    +operators.  This is not ready for use yet!  (errors.h, gs_dpnxt.ps,
    +zdpsnext.c)
    +
    +Implements more of state saving and restoring for Display PostScript
    +contexts.  This is not ready for use yet either.  (int.mak, icontext.h,
    +istack.h, icontext.c, zcontext.c)
    +
    +Adds stub code for the Display PostScript view clip operators.  (gs_dps.ps,
    +zdps.c)
    +
    +Removes the obsolete PPM-writing operator.  (int.mak, vms.mak, *.mak,
    +zwppm.c)
    +
    +Makes the random number generator state public so it can be stored in the
    +context state.  (zmath.c)
    +
    +Changes the flag for forcing global garbage collection to a run-time
    +variable, for debugging.  (igc.c)
    +
    +Changes the handling of job control so that it doesn't use procedures that
    +produce an execstackoverflow when being printed.  (gs_init.ps)
    +
    +Updates code as necessary for the change in reference counting.  (zcie.c,
    +zcrd.c)
    +
    +Updates code as necessary for the change in off-stack gstate copying.
    +(zdps1.c)
    +
    +Removes a small bit of obsolete code.  (interp.c)
    +
    +

    Streams

    +
    +Fixes bugs:
    +	- An output stream that was not the last one in a pipeline could
    +incorrectly be asked to write its EOD marker more than once.  (The fix is
    +very fragile and may have introduced new bugs.)  (stream.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- The gx_device_halftone_release procedure was declared in two
    +different header files.  (gzht.h)
    +	- Off-stack copying of gstates could lead to a situation where
    +different parts of a single gstate were owned by different allocators; this
    +could cause them to be freed improperly, corrupting memory.  We fixed this
    +partly by making the mixed ownership situation work, and partly by copying
    +more of the gstate when off-stack gstates are involved.  Unfortunately, the
    +fixes are subtle and may have introduced new bugs.  (gsstate.h, gsht.c,
    +gsht1.c, gspcolor.c, gsstate.c)
    +	- If an error occurred while creating a Pattern instance, the
    +partially initialized instance structure wasn't freed.  (gspcolor.c)
    +	- Halftones and device halftones didn't allocate their clones or
    +their subsidiary structures with the correct allocator.  (gsht.c, gsht1.c)
    +	- The error statement when allocating a reference-counted object had
    +to be a control transfer.  (gsrefct.h)
    +	- Copying gstates incorrectly copied the memory and saved pointers,
    +and the pointer to the dash pattern.  (gsstate.c)
    +	- Flatness values less than 0.5 produced far more line segments than
    +necessary (roughly the square of the required number).  Fixing this may have
    +bad effects on character quality -- this remains to be seen.  (gxpflat.c)
    +	- An error during installation of a halftone could leave things in
    +an inconsistent state.  (gsht.c)
    +	- The API didn't provide enough flexibility with respect to memory
    +management for halftones, or guarantee consistent allocation of a halftone
    +and its subelements.  (gsht1.h, gsht.c, gsht1.c, gshtscr.c)
    +	- Releasing a path didn't clear enough pointers to ensure clean
    +garbage collection.  (gxpath.c)
    +	- Finalizing or discarding a (cached) scaled font didn't properly
    +unlink it from the scaled_fonts list.  (gsfont.c)
    +	- Invoking an image operator within the BuildChar procedure for a
    +charpath caused an infinite loop.  (gsimage.c)
    +	- The bookkeeping for the scaled font cache was incorrect: the count
    +didn't always get decremented when a scaled font was freed.  (gsfont.c)
    +	- "High level" masked images were written incorrectly in the band
    +list as black-and-white images.  (gxclimag.c)
    +	- For "high level" images with fewer than 4 samples per pixel,
    +non-standard Decode values were written incorrectly in the band list.
    +(gxclimag.c)
    +	- The color wasn't set correctly for "high level" masked images.
    +(gxclimag.c)
    +	- The fastest case of monobit image rendering could get a memory
    +access error if the image lay partly outside the page.  (gximage1.c)
    +	- Clipping with an empty path was a no-op, rather than clipping out
    +everything.  (gxcpath.c)
    +
    +Makes reference-counted objects remember which allocator owns them: this
    +entails a NON-BACKWARD-COMPATIBLE change to some of the macros for reference
    +counting.  This was necessary to fix the off-stack gstate copying problem.
    +(gsrefct.h, gscie.c, gscolor.c, gscolor1.c, gscolor2.c, gscsepr.c,
    +gsstate.c, gxclread.c)
    +
    +Refactors the unpacking of image data, to make unpacking available as a
    +general facility.  (gximage.h, gxsample.h, gximage.c, gximage0.c,
    +gximage1.c, gximage4.c, gxsample.c)
    +
    +Enhances -Z? so that before freeing an object, it checks that the object was
    +owned by the correct allocator.  (gsalloc.c)
    +
    +
    + +

    Version 4.73 (limited) (4/19/97)

    + +

    +This is an incremental bug fix release made primarily to provide a +synchronization point for an upcoming trip. + +

    Documentation

    +
    +Fixes bugs:
    +	- A reference to the uniprint documentation was incorrect.
    +(current.txt)
    +	- -Olimit 1000 is not enough now for DEC Ultrix, 1200 is required;
    +this is also required for SGI IRIX.  (make.txt)
    +
    +Adds argument/result comments to all the operators defined in gs_lev2.ps.
    +(Eventually we will do this for all operators defined as PostScript
    +procedures.)  (gs_lev2.ps)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- The makefiles didn't provide a default value for GCONFIG_EXTRAS.
    +(gs.mak)
    +
    +

    Utilities

    +
    +Fixes bugs:
    +	- pdf2ps didn't work with TrueType or compressed Type 1 fonts.
    +(gs_pdf.ps, pdf_2ps.ps, pdf_font.ps)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- A cast from byte to char was omitted.  (gdevpdfm.c)
    +
    +

    Platforms

    +
    +Updates the VMS script (again).  (vms.mak)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- A module that used strlen didn't include string_.h.  (zdevice.c)
    +	- Because of some bad PostScript code in FrameMaker output, identity
    +rather than unity black generation and undercolor removal functions are
    +required on black-and-white devices.  (gs_init.ps)
    +	- A harmless internal error during initialization left bogus
    +information in $error.  (gs_cidfn.ps)
    +	- startjob didn't clear the execution stack.  Fixing this required
    +NON-BACKWARD-COMPATIBLE changes to the internal operators .instopped, .stop,
    +and .stopped, which are not supposed to be used by any external code.
    +(startjob will still give errors if executed in a file that isn't being
    +piped from stdin; this will take longer to fix.)  (gs_init.ps, gs_lev2.ps,
    +iref.h, imain.c, interp.c, zcontrol.c, zfile.c)
    +
    +Adds a new .execn operator, part of the startjob changes, that allows
    +pushing multiple items on the exec stack.  Eventually this will allow us to
    +get rid of many dynamically created closures.  (zcontrol.c)
    +
    +

    Interpreter (PDF)

    +
    +Fixes bugs:
    +	- Landscape-mode PDF files weren't rotated properly.  (gs_pdf.ps,
    +pdf_main.ps)
    +
    +Makes the default PDF configuration notify users more informatively when
    +encountering an encrypted file.  (pdf_sec.ps)
    +
    +

    Streams

    +
    +Makes the RunLengthEncode filter always generate optimally compressed
    +output.  We did this because we thought one of the Genoa CET files loops
    +forever if this is not the case; but we were wrong.  (srle.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- If one coordinate of a position or distance overflowed the
    +internal representable range, the other coordinate became garbage.  (bug
    +introduced in 4.70) (gspath.c)
    +	- The bounding box computation for strokes was slightly too large
    +(sometimes much too large).  (gxpaint.h, gdevbbox.c, gxclpath.c, gxstroke.c)
    +
    +Adds (under an #if 0) an experimental alternate halftone cell choice
    +algorithm.  (gshtscr.c)
    +
    +Adds a better comment to a particularly obscure line of C code.
    +(gxclimag.c)
    +
    +
    + +

    Version 4.72 (limited) (4/14/97)

    + +

    +This is another bug fix release, motivated mostly by Genoa testing. It also +updates the new uniprint driver with a major revision, and upgrades CFF +support a little bit. + +

    Documentation

    +
    +Fixes bugs:
    +	- -dNOGC only disables default automatic garbage collection, not all
    +garbage collection.  (use.txt)
    +	- Apparently a different set of flags is needed for newer H-P
    +compilers.  (make.txt)
    +
    +Replaces the tiny FAQ with a pointer to the on-line FAQ.  (use.txt)
    +
    +Updates the documentation for the uniprint driver.  (devices.txt)
    +
    +Clarifies the fact that Ghostscript reads Fontmap files from *all*
    +directories in the search list.  (use.txt)
    +
    +Notes that building on GNU/Linux may require SM and ICE in the list of X
    +libraries.  (make.txt)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- An -include type42 was omitted from the level2 module description.
    +(int.mak)
    +	- A mention of $(ECHOGS) in the rule for sfile should have been
    +$(ECHOGS_XE).  (lib.mak)
    +	- The pcx2up sample device should have been put in devs.mak rather
    +than lib.mak.  (devs.mak, lib.mak)
    +	- scanchar.h and scantab.c belong in the library, not the
    +interpreter.  (devs.mak, int.mak, lib.mak)
    +	- Some _h definitions were used before being defined, or weren't
    +defined at all.  (devs.mak, lib.mak)
    +	- The JPEG driver was missing a dependency.  (devs.mak)
    +	- The PDF writer was missing a dependency.  (devs.mak)
    +	- Building Level 1 systems was no longer possible.  (int.mak)
    +
    +Updates the VMS build scripts.  (vms.mak, vms-decc.mak)
    +
    +Adds *.upp to the list of files installed under Unix.  (unix-end.mak)
    +
    +Adds rules to the Unix makefiles to build two library files: gs.a,
    +consisting of the entire PostScript/PDF interpreter lacking only gs.c, and
    +gslib.a, consisting of the graphics library without the gslib.c test driver.
    +(ansihead.mak, cc-head.mak, gcc-head.mak, unixtail.mak)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- The PS/EPS writers could generate a reference to an undefined
    +name.  (gdevps.c)
    +	- The PDF writer produced incorrect output for multi-level outlines.
    +(gdevpdfm.c)
    +	- The PDF writer didn't convert /Action to /A, and /Action/Subtype
    +to /S, in Annot dictionaries.  (gdevpdfm.c)
    +	- The PDF writer didn't work in Level 1 systems.  (gs_pdfwr.ps)
    +	- The PDF writer didn't transform /Rect and /R values to current
    +user coordinates.  (gs_pdfwr.ps, gdevpdfx.h, gdevpdfm.c)
    +	- The PNG writer could refer to the 3 predefined stdio files even in
    +environments where this was undesirable.  (gdevpng.c)
    +	- The PDF writer had a compiled-in limit of 100 pages of output.
    +(gdevpdfx.h, gdevpdf.c)
    +
    +Updates the uniprint driver with a major revision that uses device
    +parameters that can be set from the command line, rather than PostScript
    +code, for configuration choices.  (gdevupd.c, *.upp)
    +
    +

    Platforms

    +
    +Fixes bugs:
    +	- gp_enumerate_files_next had no way to return an error.  (gp.h,
    +gp_dosfe.c, gp_ntfs.c, gp_os2.c, gp_unifs.c, gp_vms.c) ****** NOT
    +IMPLEMENTED YET ******
    +	- On the Watcom platform, CPU_TYPE >= 486 didn't automatically set
    +FPU_TYPE to 387.  (wccommon.mak)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- Caching the current device in userdict could create dangling
    +references.  (gs_init.ps, gs_pdfwr.ps, zdevice.c)
    +	- If an error occurred in a BuildChar or BuildGlyph procedure, the
    +graphics state stack wasn't restored.  (ichar.h, zchar.c, zchar2.c)
    +	- There was an obsolete check for a structure when cleaning up after
    +a show operator.  (zchar.c)
    +	- Attempting to show a character with no associated glyph in a Type
    +3 font with a BuildGlyph procedure caused an error.  (zchar.c)
    +	- noaccess on a read-only dictionary didn't give an error.
    +(ztype.c)
    +	- The dictionary passed to a Pattern's PaintProc was the original
    +template, not the copy made by makepattern.  (gs_lev2.ps)
    +	- Invalid font parameters could result in partially constructed
    +fonts, which caused problems for restore.  (zfont0.c, zfont2.c)
    +	- Files run under job control caused an error when terminating.
    +(gs_init.ps)
    +	- setpagedevice didn't protect itself against malfunctioning
    +BeginPage or EndPage procedures.  (The protection is still not perfect.)
    +(gs_setpd.ps)
    +	- .type42execchar called font_param redundantly.  (zchar42.c)
    +	- The font operators didn't protect themselves well enough against
    +bogus font dictionaries.  (zfont.c, zfont0.c)
    +	- If an error occurred within a stringwidth, the graphics state
    +stack wasn't restored properly.  (zchar.c)
    +	- If an error occurred within the PaintProc of a form, the graphics
    +state stack was left with an extra entry.  (gs_lev2.ps)
    +	- Registering a font under a second name could corrupt data
    +structures.  (zfont2.c)
    +	- Different scalings of the same font should have "equal" fontIDs,
    +to match the Adobe implementations.  (iutil.c)
    +	- Errors detected by PostScript code during initialization either
    +allowed execution to continue or produced a hex stack dump, instead of just
    +producing a message and exiting.  (interp.c)
    +	- The memory validator didn't validate chunks at previous save
    +levels.  (ilocate.c)
    +	- The Level 1 size of systemdict was too small.  (iinit.c)
    +	- Attempting to define a Category resource in local VM gave a
    +typecheck error rather than an invalidaccess.  (gs_res.ps)
    +	- Building Level 1 systems was no longer possible.  (zusparam.c)
    +
    +Rearranges the interpreter code slightly so that all operator invocations go
    +through a single procedure when debugging.  (interp.c)
    +
    +Adds a -K<numK> switch to limit the total amount of memory that Ghostscript
    +can acquire.  (imainarg.c)
    +
    +Makes the memory validator check packed refs more carefully.  (ilocate.c)
    +
    +Makes the memory validator check explicitly for pointers to freed objects.
    +(igc.c, ilocate.c)
    +
    +Makes the memory validator check dictionaries more carefully.  (ilocate.c)
    +
    +Makes the memory validator check refs embedded in structures.  (ilocate.c)
    +
    +Adds a debugging option that bypasses the garbage collector entirely.
    +(igc.c)
    +
    +Adds debugging options to validate memory before/after save/restore.
    +(zvmem.c)
    +
    +Removes the patch for the uniprint driver, since it is no longer needed.
    +(gs_init.ps)
    +
    +Implements real-number operands in CFF fonts.  (gs_cff.ps)
    +
    +Implements non-default charsets in CFF fonts.  (gs_cff.ps)
    +
    +

    Interpreter (PDF)

    +
    +Fixes bugs:
    +	- The PDF 1.2 "marked content" operators weren't defined.
    +(pdf_main.ps)
    +	- Streams with binary data whose first character was an EOL (\n)
    +didn't parse properly.  Unfortunately, the way we fixed this may break some
    +other files.  (pdf_base.ps)
    +	- PDF 1.2 #nn escape syntax in names wasn't recognized.  ****** This
    +is implemented with an inefficient hack that should be moved down into C.
    +However, I don't want to risk introducing new bugs during the beta test
    +period. ****** (pdf_base.ps)
    +	- The interpreter had a limit of 64K objects.  Removing this limit
    +required changing a basic data structure -- admittedly a risky thing to do
    +during beta test.  (pdf_base.ps, pdf_main.ps)
    +	- TJ didn't multiply the offsets by the font size, causing incorrect
    +character positioning.  (gs_pdf.ps)
    +
    +

    Streams

    +
    +Fixes bugs:
    +	- The ASCIIHexDecode filter read an extra character in case of
    +error.  (sstring.c)
    +
    +Adds more tracing output to the CCITTFaxDecode stream.  (scfd.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- The allocator client name for rendering bitmap patterns was
    +incorrect.  (Only affects tracing output.)  (gspcolor.c)
    +	- The check for exceeding the overall allocation limit was
    +incorrect, because of unsigned arithmetic.  (Only affects limitation of
    +total allocation, which is only used for debugging and benchmarking.)
    +(gsmemory.c)
    +	- The 0'th component of colored screens wasn't passed through the
    +band list, possibly causing access errors when rasterizing.  (gxclimag.c,
    +gxclread.c)
    +	- setbbox could get an overflow without detecting it.  (gsdps1.c)
    +	- Images with only one component but MultipleDataSources = true
    +could cause a memory access error.  (gximage.c)
    +	- The buffer for unpacking 12-bit-per-sample image data was too
    +small, causing memory corruption.  (gximage.c)
    +	- 12-bit-per-sample images with multiple data sources sometimes
    +didn't pass correct pointers to image_data.  (gsimage.c)
    +	- If an image data stream reached EOF before supplying enough data
    +for the entire image, memory corruption could occur.  (zpaint.c)
    +	- When a device halftone was freed, some pointers in the halftone
    +cache weren't cleared, leading to possible dangling references.  (gsstate.c)
    +	- Invalid font parameters could result in partially constructed
    +fonts, which caused problems for restore.  (gxfont0.h, gsfont.c)
    +	- If an error occurred within a stringwidth, the graphics state
    +stack wasn't restored properly.  (gschar.c)
    +	- The (static) limit on the size of a command line argument was too
    +small.  (gsargs.h)
    +	- Building Level 1 systems was no longer possible.  (gxdht.h,
    +gsht.c, gsht1.c)
    +	- Truncation instead of rounding caused colors on gray-scale devices
    +to come out very slightly too dark.  (gxcmap.c)
    +	- The Decode mapping table constructed for images was slightly
    +inaccurate for ranges other than [0 1] or [1 0].  (gximage.c)
    +
    +
    + +

    Version 4.71 (limited) (3/31/97)

    + +

    +This is a bug fix release during the beta test period. + +

    Documentation

    +
    +Fixes bugs:
    +	- A larger value of -Olimit is now needed to optimize gxclread.c.
    +(make.txt)
    +	- Some comments were incorrect.  (gdevbbox.h, sfilter1.c)
    +
    +Updates the GPL with a newer version from FSF.  (COPYLEFT)
    +
    +Notes that the gcc 2.7.x code generation bug is fixed in 2.7.2.1.
    +(make.txt)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- Some streams required by high-level drivers were incorrectly
    +grouped with the interpreter rather than the library.  (int.mak, lib.mak)
    +	- The choice of implementation for file streams was buried in an
    +obscure place, rather than being included in the configuration definitions
    +at the head of each makefile.  (We believe there are no more such buried
    +parameters.)  This involved a NON-BACKWARD-COMPATIBLE change in the way this
    +choice was specified.  (lib.mak, *.mak)
    +	- Some dependencies were missing.  (lib.mak)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- A variable was used before being initialized, causing get_bits
    +(and raster ops) to fail when using alternate X devices.  (bug introduced in
    +4.70.)  (gdevxalt.c)
    +	- Some 'private' declarations were omitted.  (It is infuriating that
    +gcc doesn't check for this!)  (gdevps.c, gdevpx.c)
    +	- A few character strings were used as byte arrays without a cast.
    +(gdevpx.c)
    +	- The EPS writer didn't write a correct bounding box, and didn't
    +write it at the beginning of the file.  (gdevvec.h, gsstruct.h, gdevps.c,
    +gdevvec.c)
    +	- x_copy_color specified an incorrect (too large) image width.
    +Apparently this only mattered because it could cause invalid memory
    +accesses.  (gdevx.c)
    +	- x_copy_mono also specified too large an image width.  It's not
    +clear this made any difference.  (gdevx.c)
    +	- The default implementation of strip_copy_rop didn't clamp Y values
    +to legal values for get_bits.  (gdevmrop.c)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- Some initialization files prematurely switched the interpreter
    +into Level 2 mode, causing some Level 2 operators not to be defined.  (bug
    +introduced in 4.60 or later.)  (gs_cff.ps, gs_cidfn.ps, gs_cmap.ps,
    +gs_init.ps, gs_res.ps)
    +
    +

    Streams

    +
    +Fixes bugs:
    +	- The choice of procedure names for the file-descriptor-based
    +implementation of file streams was buried in a .c file, rather than being
    +chosen in the makefile.  (sfile.c[deleted], sfileno.c[deleted], sfxstdio.c,
    +sfxfd.c, sfxboth.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- rcurveto was broken -- it drew curves to random points.  (bug
    +introduced in 4.61.)  (gspath.c)
    +	- A trailing comma in an enum definition upset some compilers.  (bug
    +introduced in 4.70.)  (gstype1.h)
    +	- Type 1 fonts with hint replacement could produce anomalous or
    +clipped output, or even missing lines.  (Also cleans up some out-of-date
    +formatting.)  (gxtype1.h, gstype1.c, gxhint2.c)
    +	- Removes some conditionals for choosing between old and new
    +algorithms.  (gxhint3.c)
    +	- makebitmappattern required that the bitmap consist of only a
    +single tile repetition.  (gspcolor.c)
    +	- Some computations on RasterOps didn't take transparency into
    +account properly.  (gdevmrop.c)
    +	- The structure definition for imager and graphics states had an
    +incorrect offset for line_params, causing the garbage collector not to mark
    +or relocate dash patterns, possibly causing memory faults, FPEs, or invalid
    +output.  (bug introduced since 4.03.)  (gsstate.c)
    +	- 'show' operators gave a limitcheck for unreasonable coordinates,
    +even if limit clamping was enabled.  (gschar.c)
    +
    +Implements banded filling and stroking with colored halftones, in addition
    +to pure colors and binary halftones.  Since we are in a beta test period,
    +actual use of this feature (but *not* all the code implementing it) is
    +disabled under an #ifdef FUTURE.  (gsdcolor.h, gxcldev.h, gxclpath.h,
    +gxdht.h, gxhttype.h, gsht.c, gxclimag.c, gxclpath.c, gxclread.c)
    +
    +
    + +

    Version 4.70 (limited) (3/26/97)

    + +

    +This fileset fixes the one outstanding compilation problem on PC platforms +and the old problem of limitchecks for out-of-bounds coordinates, and adds a +variety of new features, including the ability to save away the band lists +for pages and rasterize them later and/or elsewhere in any order and +combination. This is the first "serious beta" candidate for the next +general release. + +

    +Fileset numbers 4.62 through 4.69 were skipped deliberately. + +

    Documentation

    +
    +Fixes bugs:
    +	- The list of special -d and -s switches was out of date.  (use.txt)
    +	- The name of the zlibDecode filter was incorrectly written
    +zlibEncode.  (language.txt)
    +
    +Documents where to find out how to install gcc 2.7.x on SGI IRIX 6.x.
    +(make.txt)
    +
    +Documents a makefile patch required on NeXTStep.  (make.txt)
    +
    +Documents how to patch gcc to fix the AXP code generation bug.  (make.txt)
    +
    +Adds documentation for the new unified printer driver.  (devices.txt)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- 'make distclean' didn't remove a couple of files.  (gs.mak)
    +	- A library module didn't include a necessary dependency.  (lib.mak)
    +	- A new .ps file wasn't installed properly.  (unix-end.mak)
    +	- File write dates weren't updated properly on PC platforms, causing
    +unnecessary rebuilding.  (cp.bat, gs.mak, msc.mak, msvcwint.mak, os2.mak,
    +tccommon.mak, wccommon.mak, zlib.mak)
    +	- An unnecessary explicit compilation line for gdevcdj.c caused
    +problems in the Mac environment.  (devs.mak)
    +	- The VMS scripts were out of sync again.  (vms.mak)
    +	- The VMS build scripts didn't include the new JPEG driver.
    +(vms-*.mak)
    +	- A number of makefile macros were referenced before being defined.
    +(devs.mak, lib.mak, int.mak, *.mak)
    +	- libpng.mak didn't work with PVERSION=90.  (libpng.mak, zlib.mak)
    +
    +Separates install-scripts from install-exec and install-data.
    +(unix-end.mak)
    +
    +Moves the definition of SEARCH_HERE_FIRST from iminst.h to the makefiles.
    +(*.mak, iminst.h, iconf.c, imain.c)
    +
    +Adds a -dBATCH switch that causes Ghostscript to exit after processing the
    +files named on the command line.  (gs_init.ps)
    +
    +Adds the PostScript, EPS, and PCL XL writers, and the color and gray-scale
    +JPEG drivers, to all Unix configurations.  (ansihead.mak, cc-head.mak,
    +gcc-head.mak)
    +
    +

    Drivers

    +
    +NOTE: because of a change in an internal interface (clist_output_page), the
    +cp50 driver no longer works.  This is a user-contributed driver for which we
    +take no responsibility.
    +
    +Fixes bugs:
    +	- gdevcdj.c wasn't compatible with ansi2knr.  (gdevcdj.c)
    +	- 'private' was omitted from some declarations.  (gdevjpeg.c)
    +	- The PostScript writer didn't keep track of the current color
    +properly.  (gdevps.c)
    +	- RESOLUTION was misspelled in a header.  (gdevbjc.h)
    +	- Some compilers objected to the use of a floating point initial
    +resolution value.  (gdevbjc.h)
    +	- Some compilers didn't allow static initialization of a union.
    +(gsdcolor.h)
    +	- If a TIFF driver got an error when initializing the CCITTFax
    +encoder, it returned a bogus error code.  (gdevtfax.c)
    +	- The PDF writer produced incorrect output for Indexed color space
    +images.  (gdevpdfi.c)
    +	- For many fatal error conditions, the X driver called exit()
    +instead of returning an error.  (gdevx*.c)
    +
    +Adds new drivers:
    +	- epswrite, an EPS-writing driver (instead of making EPS output a
    +parametric option of the PostScript-writing device).  (devs.mak, gdevps.c)
    +	- pcxcmyk, a 4-bit CMYK PCX driver.  This is probably only useful
    +for debugging CMYK color rendering.  (gdevpcx.c)
    +	- jpeggray, a JPEG driver that produces gray-scale rather than color
    +output.  Thanks to Tom Lane for contributing this.  (gdevjpeg.c)
    +	- uniprint, a unified printer driver for a wide variety of inkjet
    +printers.  Thanks to Gunther Hess for contributing this.  (gdevupd.c)
    +
    +Adds the resolution (pHYs) to the output of the PNG drivers.  (gdevpng.c)
    +
    +Adds recognition of the ASCII85EncodePages parameter to the PostScript and
    +EPS writers.  (gdevps.c)
    +
    +Makes the new JPEG driver write a JFIF header, which contains the image
    +resolution.  (gdevjpeg.c)
    +
    +Changes the "vector" device support interface so relative movement can be
    +detected easily.  THIS IS STILL SUBJECT TO CHANGE WITHOUT NOTICE.
    +(gdevvec.h, gdevpsdf.c, gdevps.c, gdevpx.c, gdevvec.c)
    +
    +Changes the PostScript, EPS, and PDF writers to recognize curves and lines
    +that can be represented more efficiently.  (gdevpsdf.h, gdevpsdf.c,
    +gdevps.c)
    +
    +Adds a new parameter to the PDF writer, FirstObjectNumber.  This defines the
    +first object number that will be used in the output.  The default, and
    +minimum, value is 1; the maximum value is approximately 2^31.  This is for
    +the benefit of dvipdf; we don't expect it to be used otherwise.  In fact,
    +using it appears to produce files that Adobe Acrobat Reader won't accept,
    +even though the files are perfectly compliant with the published PDF
    +specification.  (gdevpdfx.h, gdevpdf.c, gdevpdfp.c)
    +
    +

    Platforms

    +
    +Removes the makefile for the 16-bit Borland C++ platform.  This was the last
    +supported 16-bit platform; we expect to gradually drop all 16-bit
    +concessions from the code itself.  (bcwin.mak)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- The initial size of systemdict was too small, causing the
    +interpreter to slow down substantially.  (iinit.c)
    +	- A library module depended on an interpreter module.  (zcsindex.c)
    +	- A logically necessary (but accidentally always available) #include
    +was missing.  (ifont.h)
    +
    +Moves set/currentoverprint to a more appropriate module.  (zcolor2.c,
    +zcssepr.c)
    +
    +Changes the default transfer functions so that they do something reasonable
    +when given operands outside the legal [0..1] range.  We only do this to work
    +around a bug in FrameMaker output, which uses the transfer function as the
    +screen function (!).  (gs_init.ps)
    +
    +Changes the CMap construction algorithm to use the new, more compact
    +representation.  (zfcmap.c)
    +
    +Adds support for Adobe's Compact Font Format.  Many individual features are
    +not implemented yet: see the comment in the source code for details.
    +(gs_cff.ps)
    +
    +Adds support for Type 2 charstrings in Type 1 fonts.  (ifont.h, zfont1.c)
    +
    +Changes the Type 1 character rendering operator for the library change in
    +Type 1 fonts.  (zchar1.c, zfont1.c)
    +
    +Initializes the graphics state limit clamp flag to true.  (zgstate.c)
    +
    +Temporarily adds a configuration file for the new unified printer driver,
    +and arranges for it to be read at startup.  This arrangement will be
    +replaced very soon by a different one based on command line parameters.
    +(gs_init.ps, uniprint.ps)
    +
    +

    Interpreter (PDF)

    +
    +Adds support for Compact Font Format fonts.  (pdf_font.ps)
    +
    +

    Streams

    +
    +Adds a glue procedure needed for the new jpeggray driver.  (sjpeg.h,
    +sjpege.c)
    +
    +Removes the width limit of 32K in the CCITTFaxEncode filter.  The new limit
    +is absurdly large (about 50M).  (scf.h, scfx.h, scfe.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- A library module depended on an interpreter module.  (gxcolor2.h,
    +gscolor2.c)
    +	- When rendering a band, clipping was sometimes used when it wasn't
    +necessary.  (Performance only.)  (gxclread.c)
    +	- Stroking didn't check the path against the device clipping box in
    +the absence of an explicit (non-default) clipping path.  (Performance only.)
    +(gxstroke.c)
    +	- A reference to an opaque type upset a couple of compilers.
    +(gxclread.c)
    +	- Negative 32-bit numbers in Type 1 fonts didn't work properly on
    +64-bit systems.  (gstype1.c)
    +	- A logically necessary (but accidentally always available) #include
    +was missing.  (gxbitmap.h)
    +	- A header wasn't protected against double inclusion.  (gxclist.h)
    +	- Clipping devices didn't store their actual width and height.
    +(gxcpath.c)
    +	- The slow-case check for thin lines was incorrect.  (gxstroke.c)
    +	- Images didn't compute their clipping boxes correctly if there
    +wasn't an explicit clipping path.  (This must be a very recent bug, since it
    +creates an overflow condition that prevents monochrome images from being
    +rendered at all.)  (gximage.c)
    +
    +Moves set/currentoverprint to a more appropriate module.  For clients of
    +gs_set/currentoverprint, this is a NON-BACKWARD-COMPATIBLE CHANGE, since the
    +header file is now separate.  (gscolor2.h, gscsepr.h, gscolor2.c, gscsepr.c)
    +
    +Replace the MetroWerks work-around with a different, more general one.
    +(gdevmem.h, gdevmem.c, gxdevice.h)
    +
    +Speeds up the Type 1 interpreter a little.  (gstype1.c, gxhint3.c)
    +
    +Redesigns the internal representation of CMaps to be more space-efficient.
    +(gxfcmap.h, gschar0.c, gsfcmap.c)
    +
    +Implements a facility for saving away pages and rendering them later.
    +Currently this requires the pages to be represented as band lists on files,
    +and only allows X translation when rendering.  This involves adding the
    +following new printer device parameters:
    +	BandHeight
    +	BandWidth
    +	BandBufferSpace
    +Also changes the names of the printer device parameter elements from
    +use_buffer_space to BufferSpace and from max_bitmap to MaxBitmap for
    +consistency.  (gdevprn.h, gxcldev.h, gxclio.h, gxclist.h, gxclmem.h,
    +gxclpage.h, gxdevmem.h, gdevmem.c, gdevp2up.c, gdevprn.c, gxclmem.c,
    +gxclpath.c, gxclread.c)
    +
    +Changes the band list implementation API to allow closing a file without
    +deleting it, and to allow reopening an existing file.  This is a
    +NON-BACKWARD-COMPATIBLE change to a deep internal interface.  (gxclio.h,
    +gxclmem.h, gxclfile.c, gxclist.c, gxclmem.c)
    +
    +Speeds up rendering of colored halftones, by recognizing cases where one or
    +more planes don't actually require screening, unrolling a loop, and doing
    +basic clipping before halftoning.  (gxcht.c)
    +
    +Adds a graphics state parameter, gs_set/currentlimitclamp, that changes the
    +handling of out-of-range coordinates to clamp them in a way that produces
    +approximately the intended output most of the time, rather than causing a
    +limitcheck.  Currently this is only designed to work with the basic path
    +construction operations ([r]moveto, [r]lineto, [r]curveto, closepath); it
    +does not work with many other operations such as show, flattenpath or the
    +rectangle operations.  Note also that while currentpoint will return the
    +correct (unclamped) value, reading out the path with pathforall will return
    +clamped values.  This involves NON-BACKWARD-COMPATIBLE changes to the path
    +structure (but not to any public interfaces).  (gxpath.h, gxtype1.h,
    +gzpath.h, gzstate.h, gspath.c, gspath1.c, gsstate.c, gstype1.c, gxpaint.c,
    +gxpath.c, gxpath2.c, gxpcopy.c)
    +
    +Adds support for Type 2 charstrings.  Some features are not implemented yet:
    +see gstype2.c for details.  (gscrypt1.h, gstype1.h, gxfont1.h, gxop1.h,
    +gxtype1.h, gstype1.c, gstype2.c, gxhint2.c, gxhint3.c, gxtype1.c)
    +
    +
    + +
    + +

    Version 4.61 (limited) (3/13/97)

    + +

    +This fileset cleans up many compiler warnings. It adds support for +CMap-encoded fonts, and a driver that writes JPEG images. + +

    Documentation

    +
    +Corrects an error in the description of the internal CodeMap structure.
    +(gs_cmap.ps)
    +
    +Documents the fact that the optimizer in gcc 2.7.2.1 is broken on AXP
    +machines.  (make.txt)
    +
    +Corrects the name of the .setglobal/.currentglobal procedures.  (zvmem2.c)
    +
    +Updates current.txt in preparation for the release.  (current.txt)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- The VMS script was out of date again.  (vms.mak)
    +	- CIDFont support unnecessarily required composite font support.
    +(int.mak)
    +	- CMap and CIDFont support had improper dependencies on
    +initialization order.  (lib.mak, int.mak)
    +	- Some dependencies were missing in the JPEG library code.
    +(jpeg.mak)
    +
    +Adds the new JPEG driver to all standard configurations.  (*.mak)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- A dependency was omitted from the makefile.  (devs.mak, gdevps.c)
    +
    +Cleans up some warnings from picky compilers.  Some of these actually
    +indicated problems, such as unreachable code.  (gdevpdfx.h, gdevbj10.c,
    +gdevcdj.c, gdevpdfp.c, gdevstc.c)
    +
    +Adds a JPEG-writing driver.  Currently this only produces RGB output and
    +only has a QFactor parameter, but eventually it could take all the other
    +parameters of the DCTEncode filter.  (devs.mak, int.mak, lib.mak,
    +gdevjpeg.c)
    +
    +Refactors the PDF and PostScript output drivers so that both of them
    +understand all the relevant documented PDF distiller parameters.  (The
    +PostScript driver currently disregards nearly all of them.)  (gdevpdfx.h,
    +gdevpsdf.h, gdevvec.h, gdevpdf*.c, gdevps.c, gdevpsdf.c, gdevpx.c)
    +
    +

    Platforms

    +
    +Fixes bugs:
    +	- The MetroWerks C compiler gave an inexplicable error on a
    +particular initialization.  (gdevmem.h, gdevmem.c)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- The insideness testing operators sometimes reported hits
    +incorrectly.  (zupath.c)
    +	- Mixed-type arithmetic used floats rather than doubles when
    +converting integers, possibly leading to loss of precision.  (zarith.c,
    +zrelbit.c)
    +	- composefont was defined in a private dictionary, not in
    +systemdict.  (gs_cmap.ps)
    +	- composefont didn't work, for several different reasons.
    +(gs_cmap.ps)
    +	- After a Type 1 font called an OtherSubr, an invalid memory access
    +usually occurred, because of an incorrect attempt to free a data structure.
    +(zchar1.c)
    +	- 2 .setlanguagelevel gave an error if globaldict hadn't been
    +defined yet.  (zmisc2.c)
    +
    +Cleans up some warnings from picky compilers.  Some of these actually
    +indicated problems, such as unreachable code, or failure to check for
    +(implausible) out-of-range data.  (idict.c, idparam.c, igc.c, iinit.c,
    +imain.c, iscan.c, zbseq.c, zchar1.c, zdps1.c)
    +
    +Adjusts clients for a change in the internal character cache structure and
    +the introduction of the font next-glyph procedure.  (zfont.c, zfont0.c)
    +
    +Refactors the Level 1 / Level 2 interpreter split slightly so that composite
    +fonts don't require all of Level 2.  (int.mak, gs_dps1.ps, gs_dps2.ps)
    +
    +Adds FMapType 9 (CMap-encoded) composite font support.  (int.mak,
    +gs_cmap.ps, ifont.h, zfcmap.c, zfont.c, zfont0.c)
    +
    +

    Interpreter (PDF)

    +
    +Adds recognition of /Identity values for BG, UCR, and TR functions in
    +ExtGState resources.  (General function values still aren't recognized.)
    +(pdf_draw.ps)
    +
    +Centralizes the handling of inherited attributes.  (pdf_draw.ps,
    +pdf_main.ps)
    +
    +Starts to add support for Type 0 fonts.  (pdf_font.ps, pdf_main.ps)
    +
    +

    Streams

    +
    +Cleans up some warnings from picky compilers.  Some of these actually
    +indicated problems, such as unreachable code.  (shc.h, scfd.c, sfilter2.c,
    +siscale.c, stream.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- Some picky compilers disliked certain conditional expressions.
    +(gxclread.c)
    +	- Some picky compilers couldn't handle an extraneous semicolon.
    +(gdevvec.h)
    +	- A cast from byte ** to const byte ** was missing.  (gdevvec.c)
    +	- Resizing the levels array of a halftone order when banding could
    +cause invalid memory accesses.  (bug introduced in 4.60) (gxclread.c)
    +	- One picky compiler didn't allow taking the address of an extern
    +undefined structure.  (lib.mak, gxclread.c)
    +	- When rendering Type 1 fonts, character overshoot was usually
    +suppressed when it shouldn't have been, often producing "squashed"
    +characters.  (gxhint1.c)
    +	- On systems where sizeof(long) > sizeof(int), coordinate values of
    +more than 22 bits were passed through the band list incorrectly, producing
    +incorrect output.  (gxclread.c)
    +
    +Cleans up some warnings from picky compilers.  Some of these actually
    +indicated problems, such as unreachable code or (hypothetical) loss of
    +precision.  (gsdevice.c, gshsb.c, gsht.c, gsstate.c, gstype1.c, gxclimag.c,
    +gxclpath.c, gxclread.c, gxpdash.c)
    +
    +Makes using font hints conditional, for debugging.  (gxhint1.c)
    +
    +Adds library-level support for FMapType 9 (CMap-encoded) composite fonts.
    +There is still no support for rearranged fonts.  (gsccode.h, gsfcmap.h,
    +gsstruct.h, gxfcache.h, gxfcmap.h, gxfont.h, gxfont0.h, gschar.c, gschar0.c,
    +gsfcmap.c, gsfont.c, gsfont0.c)
    +
    +Splits band list control and utilities from rectangle-oriented commands,
    +because a file was getting too big.  (gxclist.c, gxclrect.c)
    +
    +Moves the temporary file names for command lists from the printer device
    +structure to the command list structure; moves opening and closing the
    +temporary files from gdev_prn_alloc/free to clist_open/close.  (gdevprn.h,
    +gxclist.h, gdevprn.c, gxclist.c, gxclread.c)
    +
    +Changes the command list storage implementation interface to pass the file
    +name to the clist_rewind and clist_fseek functions, for the benefit of OSs
    +that require closing and reopening a file to switch between reading and
    +writing.  This is a NON-BACKWARD-COMPATIBLE change in a non-public
    +interface.  (gxclio.h, gxclmem.h, gxclfile.c, gxclist.c, gxclmem.c)
    +
    +Changes the get_outline procedure in Type 42 fonts to return the length of
    +the outline data as well as the pointer.  This is a NON-BACKWARD-COMPATIBLE
    +change in a semi-public interface.  (gxfont42.h, gstype42.c)
    +
    +
    + +

    Version 4.60 (limited) (3/2/97)

    + +

    +This fileset moves color rendering up from the graphics state to the imager +state so that color rendering can happen after banding. It also shifts +image rendering to the rendering pass of banding for many common cases +(often referred to inaccurately as "high-level image" capability). The +changes involved are substantial and in some respects subtle, so +unfortunately it is quite possible that some new bugs have been introduced. + +

    +This fileset also includes improvements to the new PCL XL driver +(pxlmono/color), and introduces an experimental PostScript driver (pswrite). + +

    Documentation

    +
    +Fixes bugs:
    +	- The argument list of colorimage was incorrect.  (zcolor1.c)
    +	- false .charboxpath incorrectly claimed to create the correct path
    +even when the CTM was not well-behaved.  (language.txt)
    +	- The discussion of the "main program" files was out of date.
    +(make.txt)
    +
    +Updates the OS/2 EMX documentation.  (make.txt)
    +
    +Modifies the Aladdin Ghostscript Free Public License slightly so it may be
    +applied to other software packages.  (PUBLIC)
    +
    +Updates inaccurate build documentation for several Unix platforms.
    +(make.txt, ansihead.mak, cc-head.mak, gcc-head.mak, libpng.mak)
    +
    +Notes a problem with the MIPSpro 7.1 compiler.  (make.txt)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- Most makefiles didn't include version.mak.  (msc.mak,
    +msvcwint.mak, os2.mak, tctail.mak, wctail.mak)
    +	- There was an incorrect dependency for the Windows printer device.
    +(devs.mak)
    +
    +Moves the PDF writer to devs.mak.  (devs.mak, int.mak)
    +
    +Updates the main VMS script to be structured like version.mak.  (vms.mak)
    +
    +

    Drivers

    +
    +Factors out the stream-writing procedures from the PDF writer, so they can
    +be shared with the new PostScript writer.  (gdevpdfs.h => gdevpstr.h,
    +gdevpdfx.h, gdevpsdf.h, gdevpdf.c, gdevpdfi.c, gdevpdfs.c => gdevpstr.c,
    +gdevpdft.c, gdevpsdf.c)
    +
    +Adds a PostScript writer (pswrite), similar to the PDF and PCL XL drivers.
    +Currently this handles fill/stroke graphics and Level 1 images; everything
    +else (including text) is turned into bitmaps.  (devs.mak, gdevps.c)
    +
    +Changes the names of the PCL XL drivers from hpxmono/color to pxlmono/color.
    +(devs.mak, gdevpx.c)
    +
    +Updates the "vector" device support interface.  THIS IS STILL SUBJECT TO
    +CHANGE WITHOUT NOTICE.  (gdevvec.h, gdevpx.c, gdevvec.c)
    +
    +Makes the vgalib driver a page device.  This seems bizarre, but it's
    +necessary for setpagedevice to work with it.  (gdevvglb.c)
    +
    +Updates some drivers for the new color mapping interfaces.  (gdevpx.c)
    +
    +Updates the user-contributed Canon LBP-8II and LIPS III driver.
    +(gdevlbp8.c)
    +
    +

    Platforms

    +
    +Fixes bugs:
    +	- The workaround for Ultrix's incorrect implementation of sh -e
    +still didn't work.  (unixtail.mak)
    +	- The definition of offset_of didn't work on the Mac.  (stdpre.h)
    +
    +Updates the OS/2 EMX linker command per input from a user.  (os2.mak)
    +
    +

    Fonts

    +
    +Adds .pss (apparently used by Adobe for Multiple Master font instances) to
    +the list of extensions skipped by the GS_FONTPATH directory scanner.
    +(gs_fonts.ps)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- Programs that rebind null, true, and/or false could cause all
    +kinds of problems.  We've only fixed a couple of the places that might be
    +affected (findfont, quit), by wrapping an explicit "systemdict begin/end"
    +around the code; fixing this completely would probably require wrapping this
    +implicitly around almost every pseudo-operator, which would be too
    +expensive.  (gs_fonts.ps, gs_lev2.ps)
    +	- In a Level 2 system, grestoreall stopped one level too early.
    +(zdevice2.c)
    +	- setpagedevice didn't restore the stack properly if it got an
    +error.  (gs_setpd.ps)
    +
    +Changes the GC pointer enumeration interface to reduce the number of
    +'discarding const' warnings.  See under Library below.  (igc.c)
    +
    +Updates the interpreter for the change in the imager / graphics state split.
    +(zpcolor.c)
    +
    +Makes the stack-restoring behavior of pseudo-operators non-optional.
    +(interp.c)
    +
    +

    Interpreter (PDF)

    +
    +Fixes bugs:
    +	- PDFDocEncoding and WinAnsiEncoding incorrectly had `minus' at
    +position 45 rather than `hyphen'.  (gs_pdf_e.ps, gs_wan_e.ps)
    +
    +

    Streams

    +
    +Fixes bugs:
    +	- A header file wasn't protected against double inclusion.
    +(stream.h)
    +	- any_abs was redefined.  (spngp.c)
    +	- The CCITTFaxDecode filter didn't fully initialize the "previous
    +line" for 2-D decoding, so if the very first line of data was 2-D, an
    +out-of-bounds memory access could occur.  (scfd.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- gs_image_next could read too much data, causing errors at the
    +interpreter level.  (gsimage.c)
    +	- The bitmaps stored in the Pattern cache were usually freed,
    +leaving dangling pointers.  (gsdcolor.h, gxpcache.h, gxpcolor.h, gsstate.c,
    +gxpcmap.c)
    +	- There was still one assignment to a const structure, and there
    +were some unnecessary const-discarding casts.  (gxclread.c)
    +	- If a character in a Type 3 font was defined by executing 'show'
    +type commands, charpath did the wrong thing (didn't pick up the paths
    +created by the inner show).  Similarly, if it uses 'stroke', true charpath
    +did the wrong thing (appended the path rather than the strokepath path).
    +(gxchar.h, gschar.c, gspaint.c)
    +	- A header file wasn't protected against double inclusion.
    +(gserror.h)
    +	- The new fast implementation of rectfill didn't handle rectangles
    +with negative width/height.  (bug introduced in 4.32) (gsdps1.c)
    +	- Reading banded high-level images calculated the image height
    +incorrectly, (usually) causing a rangecheck.  (gxclread.c)
    +	- When reading band data, a memory fault could occur if the halftone
    +cache hadn't been allocated yet.  (gxht.c)
    +	- The imager state data for high-level images wasn't written soon
    +enough.  (gxclimag.c)
    +	- High-level images computed bounding boxes incorrectly, so they
    +could write some garbage data in the band list, and could also fail to write
    +some information.  (gsmatrix.h, gxmatrix.h, gxclimag.c)
    +	- High-level images wrote the raster value incorrectly in the band
    +list.  (gxclimag.c)
    +	- Images with non-zero initial source X and non-portrait orientation
    +were displaced on the page.  (In practice, this only applied to some banded
    +high-level images.)  (gximage.c)
    +	- The bounding box device didn't forward output_page calls, causing
    +pages to be dropped or overprinted.  (gdevbbox.c)
    +	- The band renderer considered all non-zero return codes as errors,
    +rather than only negative codes.  (gxclread.c)
    +	- An unnecessary extern hadn't been removed.  (gxclimag.c)
    +	- Some macros didn't parenthesize uses of their arguments, causing
    +syntax errors.  (gsrefct.h)
    +	- The screen phase and color_info weren't set correctly when
    +rendering bands.  (gsstate.h, gsht.c, gxclread.c)
    +	- A header file didn't declare all the opaque types it used.
    +(gsdevice.h)
    +	- Indexed color spaces didn't work with banded images.  (They still
    +don't -- the check for writing the color space, and the code for reading the
    +table or map, are incomplete.)  (gxclist.h, gxclpath.h, gxclimag.c,
    +gxclpath.c, gxclread.c)
    +
    +In preparation for implementing post-banding halftoning:
    +
    +	- Moves color rendering information, including alpha value, from
    +graphics state to imager state; also moves the allocator pointer.  This is
    +quite a subtle change, and may have a significant bug tail.  (gxdcolor.h,
    +gxht.h, gxistate.h, gzstate.h, gschar.c, gsdps1.c, gspaint.c, gsstate.c,
    +gxclread.c)
    +
    +	- Changes all the relevant color space and color mapping procedures
    +so they take a const gs_imager_state * (and, in some cases, a [const]
    +gx_device *) instead of a const gs_state *.  This is a
    +non-backward-compatible change, but it only affects internal interfaces.
    +(gsdcolor.h, gxcmap.h, gxcspace.h, gxdcconv.h, gxdcolor.h, gxdither.h,
    +gxpcolor.h, gzht.h, gschar.c, gscie.c, gscolor.c, gscolor1.c, gscolor2.c,
    +gscsepr.c, gsdevice.c, gsimage.c, gspcolor.c, gxcht.c, gxcmap.c, gxdcconv.c,
    +gxdcolor.c, gxht.c, gximage.c, gximage[2345].c, gxpcmap.c)
    +
    +	- Changes the color and color space reference count adjustment
    +procedures similarly, to take a gs_memory_t * instead of a gs_state_t *.
    +(gxcspace.h, gscie.c, gscolor.c, gscolor2.c, gscsepr.c, gspcolor.c)
    +
    +	- Changes the gs_halftone in the graphics state from being part of
    +the gs_state_contents to being an independent reference-counted object.
    +This too may have a significant bug tail.  (gxht.h, gxistate.h, gsht.c,
    +gsstate.c)
    +
    +	- Changes the image processing code so it no longer assumes that the
    +gs_imager_state is actually a gs_state.  (gximage.h, gximage.c, gximage2.c,
    +gximage3.c, gximage4.c, gximage5.c)
    +
    +	- Adds a unique ID value to device halftones, so that it's possible
    +to detect (non-)changes quickly.  (gxdht.h, gsht.c)
    +
    +Finishes the code for writing and reading color rendering information in the
    +band list.  This involves changes to several band list opcodes.  (gsht.h,
    +gsht1.h, gxcldev.h, gxclist.h, gxclpath.h, gxdht.h, gzht.h, gsht.c, gsht1.c,
    +gxclbits.c, gxclimag.c, gxclist.c, gxclread.c)
    +
    +Changes the garbage collector pointer enumeration procedure interface
    +slightly to reduce the number of 'discarding const' warnings.  THIS IS A
    +NON-BACKWARD-COMPATIBLE CHANGE for anyone who didn't use the
    +ENUM_PTRS_BEGIN[_PROC] macro to start a pointer enumeration procedure (which
    +should be no one).  (gsstruct.h, gsmemory.c)
    +
    +Corrects a few more needlessly const-discarding casts.  (gxfcache.h,
    +gxccache.c)
    +
    +Checks for file reading errors when rasterizing bands.  (gxclread.c)
    +
    +
    + +
    + +

    Version 4.51 (limited) (2/9/97)

    + +

    +This version contains a more reasonable high-level PCL XL driver. The VMS +build script is working again, we think. + +

    Procedures

    +
    +Fixes bugs:
    +	- The gsdll_h macro wasn't defined all the places it was needed.
    +(devs.mak, os2.mak)
    +
    +

    Drivers

    +
    +Continues to develop the "vector" driver infrastructure and the PCL XL
    +driver.  EVERYTHING IN THESE FILES IS SUBJECT TO CHANGE WITHOUT NOTICE.
    +(gdevvec.h, gdevvec.c)
    +
    +Brings the PCL XL driver up to usable quality for graphics.  Most
    +fill/stroke graphics, and portrait-orientation bitmap images up to 8 bits
    +per pixel, are converted directly to their PCL XL equivalents.  Text is
    +still treated as bitmaps.  Both gray-scale and color output are now
    +supported.  (devs.mak, gdevpx.c)
    +
    +

    Platforms

    +
    +Fixes bugs:
    +	- When using gsos2.exe with gsdll2.dll, reducing the size of the
    +page bitmap caused a limitcheck error with the message
    +    Failed to decommit memory in pm_alloc_bitmap, rc = 87  (gdevpm.c)
    +	- The scripts that construct gconfig_.h failed on Ultrix, because
    +Ultrix's implementation of sh -e is incorrect.  (unixtail.mak, ugcclib.mak)
    +	- Some systems that have sys/times.h don't define CLK_TCK, making a
    +compilation fail.  (time_.h)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- An omitted semicolon wasn't detected by gcc.  (idict.c)
    +
    +Removes a source of unnecessary duplication by getting the revision number
    +and date from version.mak.  (gs.mak, int.mak, version.mak, gscdef.c)
    +
    +

    Streams

    +
    +Fixes bugs:
    +	- The minimum buffer sizes for the RunLengthDecode filter hadn't
    +been changed to reflect the algorithm improvement made in release 4.38.
    +(srld.c)
    +
    +Changes the RunLengthEncode filter so it can make progress with only a
    +2-byte output buffer.  (srlx.h, srle.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- Because of a typo, the slow general algorithm was always used for
    +monochrome images.  (Performance bug only, but a serious one.)  (gximage2.c)
    +	- Dots (zero-length lines with round caps and zero dot length)
    +caused an infinite loop.  (bug introduced in 4.40)  (gxstroke.c)
    +	- Some image data unpacking procedures were always required, but
    +weren't always included.  (bug introduced in 4.50) (gximage.c, gximage0.c,
    +gximage3.c)
    +	- Images with 8 bits per pixel and non-identity Decode produced
    +garbage.  (bug introduced later than 4.03) (gximage0.c)
    +	- Some necessary casts and omitted punctuation weren't detected by
    +gcc.  (gxpath.h, gsargs.c, gsstate.c, gxclread.c, gxpdash.c)
    +	- The band list became confused if a band had no commands at all.
    +(gxclread.c)
    +	- If a path included a closepath followed by a moveto to the same
    +point, it could be written incorrectly in the band list.  (bug probably
    +introduced in 3.60) (gxclpath.c)
    +
    +Changes some internal computations for arcs from float to double for greater
    +accuracy.  (gspath1.c)
    +
    +
    + +

    Version 4.50 (limited) (1/31/97)

    + +

    +This release contains an experimental high-level PCL XL driver, a little +more support for CID/CMap fonts, and the usual bug fixes. NOTE: the VMS +build script is known to be out of sync with the makefiles again; we still +don't see any alternative to constant struggles with this problem. + +

    Documentation

    +
    +Corrects the -h message, which gave an incorrect file name for the bug
    +report form.  (imainarg.c)
    +
    +Removes documentation for 16-bit MS-DOS platforms with the Borland compiler.
    +(fonts.txt, make.txt, new-user.txt, use.txt)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- The Watcom library makefile didn't define the directory
    +information for libpng and zlib.  (watclib.mak)
    +
    +Moves the selection of band list implementation (file- vs. RAM-based) and
    +the compression filter for RAM-based band lists up to the top-level
    +makefiles.  Again, this is a NON-BACKWARD-COMPATIBLE procedure change.
    +(lib.mak, *.mak)
    +
    +Moves the selection of version number for all platforms (except VMS, as
    +usual) to a separate file.  This will reduce the number of files that need
    +editing when the version number changes.  (ansihead.mak, cc-head.mak,
    +gcc-head.mak, ugcclib.mak, version.mak, tar_cat)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- An error in the (unsupported) SGI RGB driver could cause crashes
    +or incorrect output.  (gdevsgi.c)
    +
    +Starts to create a framework for structured output ("vector") drivers (PDF,
    +PostScript, PCL XL, etc.)  (gdevbbox.h, gdevvec.h, gsdcolor.h, gsstruct.h,
    +gxdevice.h, gdevvec.c)
    +
    +Moves default page size parameters to a more accessible header.  (gdevprn.h,
    +gxdevice.h, gdevx.c)
    +
    +Adds a driver that produces properly structured PCL XL output.  This is
    +highly experimental and not ready for use yet.  (gdevpx.c)
    +
    +

    Platforms

    +
    +Removes support for 16-bit MS-DOS platforms with the Borland compiler.  For
    +the moment, 16-bit MS Windows is still supported.  (bc.mak, bcflags.mak,
    +bclib.mak, tc.mak)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- File-based CIDFonts (with delayed, incremental loading of
    +character outlines) didn't work.  (gs_cidfn.ps)
    +
    +Finishes implementing the definition of CMap resources, except for
    +rearranged fonts.  (gs_cidfn.ps, gs_cmap.ps)
    +
    +Adds a little more CMap support code.  (zcid.c)
    +
    +Removes the .setcurrentfile operator, since it doesn't solve the problem it
    +was intended to address.  (zcontrol.c)
    +
    +Adapts the interpreter to use the new argument processing code.
    +(imainarg.c)
    +
    +

    Streams

    +
    +Fixes bugs:
    +	- The CCITTFaxDecode filter could access as much as 3 bytes beyond
    +the end of a buffer, causing an invalid memory access.  (This is essentially
    +the same bug that was fixed for the CCITTFaxEncode filter in 4.38.)
    +(scfd.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- Painting an image without having set up any halftone could cause a
    +crash.  (gxht.c)
    +	- In a very obscure case, an occasional scan line of landscape
    +images could get corrupted.  (gximage0.c)
    +	- Because of a rounding error, patterns could fail to be painted in
    +certain cases.  (gxpcolor.h, gspcolor.c, gxpcmap.c)
    +	- Very large line widths or miter limits could cause the computation
    +of stroke expansion to overflow.  (gxpaint.h, gdevbbox.c, gxclpath.c,
    +gxstroke.c)
    +	- The phase could be incorrect for simple patterns.  (gspcolor.c)
    +	- The default implementation of copy_mono used an incorrect
    +RasterOp.  (gdevdflt.c)
    +	- The default implementation of fill_masked didn't increment the row
    +pointer, causing characters to appear as solid rectangular blocks.
    +(gxdcolor.c)
    +
    +Eliminates an unnecessary gsave and grestore from rectfill and rectstroke if
    +the path was null.  (gsdps1.c)
    +
    +Adds a limit on the amount of space that the default (C heap) allocator will
    +allocate, and a record of the maximum amount allocated, to help testing
    +embedded products.  (gsmemory.c)
    +
    +Changes the band list algorithm for deciding how many replicas of a halftone
    +tile to store in the tile cache.  The previous algorithm was too liberal,
    +which could cause the cache to overflow and many unnecessary bitmaps to be
    +written in the band list.  (gxclbits.c)
    +
    +Writes clipping with a rectangle more compactly in the band list.
    +(gxfixed.h, gxclpath.c)
    +
    +Adds new band list commands for representing 90- and 180-degree arcs
    +compactly.  (gxclpath.h, gxclpath.c, gxclread.c)
    +
    +Repackages handling of general monochrome images, color images, and 12-bit
    +and interpolated images, so that they are included optionally rather than in
    +all configurations.  (int.mak, lib.mak, gximage.h, gximage.c,
    +gximage[12345].c)
    +
    +Changes the structure definition for devices to include no-op pointer
    +enumeration and relocation, so they can have subclasses.  (gxdevice.h)
    +
    +Adds a library facility for processing command line arguments with
    +@-expansion.  (gsargs.h, gsargs.c)
    +
    +
    + +
    + +

    Version 4.41 (private) (1/21/97)

    + +

    +This release adds a PCL XL output driver, and a few performance +improvements. + +

    Procedures

    +
    +Fixes bugs:
    +	- The zlib library used an incorrect header file when compiling.
    +(zlib.mak)
    +
    +Changes the names of the preprocessor symbols indicating the presence of
    +system header files to be consistent with the ones used by GNU configure.
    +(dvx-tail.mak, ugcclib.mak, unixtail.mak, vms.mak; dirent_.h, time_.h;
    +gp_unix.c)
    +
    +Changes the method for choosing the compression filter for RAM-based band
    +lists.  This is a NON-BACKWARD-COMPATIBLE change in the makefile.  (lib.mak)
    +
    +

    Drivers

    +
    +Adds black-and-white and 8-bit gray PCL XL (PCL 6) drivers for the LaserJet
    +5 and 6 family.  This driver is extremely simple and just emits bitmaps;
    +future drivers will use more PCL XL high-level constructs.  (gdevlj56.c)
    +
    +

    Fonts

    +
    +Updates the free font distribution to add the URW Grotesk and Antiqua fonts.
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- gs -h and -v returned with a non-zero exit code on all platforms.
    +(This is necessary under Windows, to keep the message visible on the screen,
    +but nowhere else.)  (imainarg.c)
    +	- Resizing a dictionary could exceed dict_max_size, causing memory
    +corruption.  (dstack.h, idict.h, idict.c, zdict.c)
    +
    +Adds .setlinecap and .setlinejoin that can use the extended range of line
    +cap/join values, and redefines setlinecap and setlinejoin in terms of them.
    +(gs_init.ps, zgstate.c)
    +
    +

    Streams

    +
    +Fixes bugs:
    +	- The CCITTFaxDecode filter with EncodedByteAlign = true skipped to
    +a byte boundary before checking for an EOL.  This may be wrong if EndOfLine
    += true; we aren't at all sure what should happen if EndOfLine = false.
    +(scfd.c)
    +
    +Adds a "no wrapper" option to the zlib streams, to optionally suppress the
    +time-consuming integrity checksum computation.  (szlibx.h, szlibc.c,
    +szlibd.c, szlibe.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- Dashed lines with zero-length drawn segments (dots) that fell
    +exactly on a corner produced inappropriate output.  (pcl/test19.pxs)
    +(gxpdash.c, gxstroke.c)
    +	- Dashed lines didn't set the segment notes properly.  (gxpdash.c)
    +	- The bounding box device didn't free a bookkeeping structure at the
    +end of processing an image.  (gdevbbox.c)
    +	- Curve points could get computed incorrectly when using emulated
    +floating point.  (gxpcopy.c)
    +	- The 1-element cache for curve_x_at_y didn't work if Y was
    +decreasing.  (gxfixed.h, gxpcopy.c)
    +
    +Distinguishes between error and informational exits.  (stdpre.h)
    +
    +Defines and checks maximum values for line cap and join parameters.
    +(gslparam.h, gsline.c)
    +
    +Removes the 'not last' segment note, since it is not used for anything.
    +(gxpath.h, gspath1.c, gxpath2.c, gxpcopy.c, gxpflat.c, gxstroke.c)
    +
    +Changes the memory freeing algorithm for RAM-based band lists back to the
    +original one, since the "improved" one had more bugs than it was worth
    +chasing.  (gxclmem.c)
    +
    +Speeds up the A * B / C algorithm a little.  (gsmisc.c)
    +
    +Speeds up curve_x_at_y by recognizing more cases that don't require the slow
    +A * B / C algorithm.  (gxpcopy.c)
    +
    +Changes the path filling code so it uses fill-by-trapezoids even if
    +fill_adjust is zero, as long as the flatness is at least 1 pixel.
    +(gxfill.c)
    +
    +Removes the (unneeded) floating point operations from gx_curve_log2_samples.
    +(gxpflat.c)
    +
    +Changes the memory-based implementation of band lists so that it constructs
    +the compressor and decompressor by calling procedures rather than
    +instantiating templates: this allows setting filter parameters to
    +non-default values.  (gxclmem.h, gxcllzw.c, gxclmem.c, gxclzlib.c)
    +
    +
    + +

    Version 4.40 (private) (1/13/97)

    + +

    +This version finally handles the last graphics model discrepancies between +PostScript and PCL, by correctly implementing null joins, minimum dot +lengths, and tangent-aligned curve ends. It also contains some significant +performance improvements, and as usual a few bug fixes. + +

    Documentation

    +
    +Documents the new accurate curves and path dashing operators.
    +(language.txt)
    +
    +

    Utilities

    +
    +Adds switches for genconf to set and unset a prefix for file names.
    +(genconf.c)
    +
    +

    Drivers

    +
    +Adds recognition of the new Distiller 3.0 parameters to the PDF writer.
    +(None of them have any effect yet.)  (gs_pdfwr.ps, gdevpdfx.h, gdevpdf.c,
    +gdevpdfp.c)
    +
    +Converts all the output functions in the PDF writer from being file-based to
    +using streams, in anticipation of adding compression.  (gdevpdfs.h,
    +gdevpdfx.h, gdevpdf*.c, gdevpdfs.c)
    +
    +

    Interpreter

    +
    +Adds operators for accessing the new accurate curves flag in the graphics
    +state.  (zgstate.c)
    +
    +Adds an operator for invoking gs_dashpath.  (zpath1.c)
    +
    +

    Interpreter (PDF)

    +
    +Fixes bugs:
    +	- Indexed color spaces whose base space was a CIE space caused an
    +error.  (pdf_draw.ps)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- A pointer was declared const incorrectly.  (gxcpath.c)
    +	- Filling with a pattern often failed to pass a non-null bitmap ID,
    +causing excessive writing in the band list.  (Performance bug only.)
    +(gspcolor.c)
    +	- The bounding box device didn't discount copy_mono or draw_line
    +operations drawing in white.  (gdevbbox.c)
    +	- The bounding box device didn't read out the bounding box correctly
    +as the PageBoundingBox device parameter.  (It did return it correctly
    +through the gx_device_bbox_bbox procedure.)  (gdevbbox.c)
    +	- The default implementation of fill_triangle drew nothing or
    +incorrect output if the corners of the triangle were specified in certain
    +orders (ax < 0 or bx < 0) (i.e., the previous "fix" had a bug).
    +(gdevddrw.c)
    +
    +Changes tile size from always being set in all bands to being 'known' by
    +bands individually.  (gxclist.h, gxcldev.h, gxclbits.c, gxclist.c)
    +
    +Computes an additional value in advance when rendering images.  (gximage.h,
    +gximage1.c, gximage2.c)
    +
    +Replaces some slow loops with calls of memmove.  (gxclmem.c)
    +
    +Provides a fixed-point implementation of A * B / C for machines with slow
    +floating point.  (gxfixed.h, gsmisc.c)
    +
    +Extends the "device color" type to implement filling masked regions as well
    +as rectangles.  (gxdcolor.h, gdevdflt.c, gspcolor.c, gxcht.c, gxdcolor.c,
    +gxht.c)
    +
    +Makes unclipped monobit portrait and landscape images and image masks use
    +the new masked fill capability of device colors.  (gximage.h, gximage.c,
    +gximage1.c, gximage2.c)
    +
    +Adds a macro for determining pointer alignment.  (stdpre.h, gdevdflt.c)
    +
    +When floating point is slow, uses a different, faster algorithm for
    +gx_curve_x_at_y.  (gxpcopy.c)
    +
    +Improves performance by adding a one-element cache for gx_curve_x_at_y.
    +(gzpath.h, gxpcopy.c)
    +
    +Reduces overhead when banded images are pre-rasterized (currently, always).
    +(gxclimag.c)
    +
    +Adds a rendering cost estimate field to each band in a band list.  This
    +field isn't actually used for anything yet; eventually, the intent is that
    +bands with a high cost will get rendered, and stored in compressed form,
    +before starting the engine.  (gxclist.h)
    +
    +Adds the concept of 'notes' for path segments, to allow remember what
    +segments constitute a single curve or arc.  Currently we set these properly
    +for everything except dashed paths.  (gxclpath.h, gxpath.h, gzpath.h,
    +gspath1.c, gxclpath.c, gxclread.c, gxpath.c, gxpath2.c, gxpcopy.c)
    +
    +When the dot length is non-zero, changes curve stroking to always use bevel
    +joins within each curve rather than the current join.  This prevents a
    +"bristly" look with no join and butt caps.  (gxstroke.c)
    +
    +Adds an "accurate curves" capability that makes the last line segment of a
    +flattened curve actually be tangent to the curve, which in turn makes
    +flat-end caps be correctly perpendicular to the tangent.  (gxpath.h,
    +gxpcopy.c)
    +
    +Adds an "accurate curves" flag in the graphics state.  (gsline.h,
    +gxclpath.h, gxistate.h, gsline.c, gspath.c, gspath1.c, gxclpath.c,
    +gxclread.c, gxfill.c, gxstroke.c)
    +
    +Changes the meaning of "no join" (gs_join_none) so that instead of producing
    +no join and butt caps, it produces whatever the current cap is.  This is
    +compatible with the H-P definition.  (gxstroke.c)
    +
    +Implements non-zero dot length for dash patterns.  (gxpdash.c)
    +
    +Splits off the curve flattening algorithms into a separate file.
    +(gxpcopy.c, gxpflat.c)
    +
    +
    + +
    + +

    Version 4.39 (limited) (1/1/97)

    + +

    +This version was created only to accompany a release of the PCL XL +interpreter. It was withdrawn the day after it was released, because the +tools used to produce it put the wrong files in the filesets. + +

    Documentation

    +
    +Adds a more detailed description of the third-party ps_view viewer
    +interface.  (new-user.txt)
    +
    +Corrects an error in a reference to the PSLRM.  (lib.txt)
    +
    +Documents the change in .makeoperator.  (language.txt)
    +
    +Updates the FTP location of the zlib sources.  (zlib.mak)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- The Unix library makefile didn't include the necessary definitions
    +for libpng and zlib.  (ugcclib.mak)
    +
    +Allows selecting the compression filters for memory-based band lists in the
    +makefile.  Makes zlib (deflate) the default compressor for memory-based band
    +lists.  (lib.mak)
    +
    +

    Utilities

    +
    +Fixes bugs:
    +	- prfont.ps wouldn't print unencoded characters in Type 42 fonts.
    +(prfont.ps)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- The H-P monochrome driver didn't put out enough initialization
    +commands at the beginning of each page to make each page printable
    +independently.  (gdevdjet.c)
    +
    +

    Interpreter

    +
    +Changes ref_stack_count_inline so it never does a procedure call.
    +(istack.h)
    +
    +Changes .makeoperator so that operator procedures save the stack depths, and
    +restore the stack pointers (if possible) if the operator encounters an
    +error.  This is a NON-BACKWARD-COMPATIBLE CHANGE; it requires rewriting the
    +'stop' and 'stopped' pseudo-operators (and, if there were any, any other
    +pseudo-operators that interact with the error handling machinery) in C.
    +(gs_init.ps, interp.c, zcontrol.c)
    +
    +Adds recognition of the LeadingEdge, MediaClass, and RollFedMedia keys in a
    +page device dictionary, per the Adobe supplement for their version 2017
    +interpreter.  This involves a NON-BACKWARD-COMPATIBLE change to the
    +(undocumented) .matchpagesize operator.  (gs_setpd.ps, zmedia2.c)
    +
    +Makes necessary changes for compatibility with the added parameters for the
    +zlib filters.  (zfzlib.c)
    +
    +

    Streams

    +
    +Fixes bugs:
    +	- The zlib encoder returned EOFC when it should have returned 0.
    +(szlibe.c)
    +
    +Adds optional parameters and reset procedures for the zlib filters.
    +(szlibx.h, szlibc.c, szlibd.c, szlibe.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- Displaying characters with a non-standard RasterOp could cause an
    +invalid memory access.  (gdevdflt.c)
    +	- Banding sometimes used an incorrect RasterOp.  (gxclread.c)
    +	- When banding, mixing Patterns and halftones could confuse the
    +bookkeeping of tile size, leading to incorrect generation of the band list
    +and error messages or confusion when rasterizing.  (gxclist.h, gxclbits.c,
    +gxclread.c)
    +	- If only the dash pattern offset changed, and not any of the other
    +dash-related parameters, the new offset wasn't written in the band list,
    +causing incorrect output.  (gxclpath.c)
    +	- Oversized halftone tiles didn't report their error code properly.
    +(gxclbits.c)
    +	- Oversized halftone tiles with RasterOp caused an error.
    +(gxclist.c)
    +	- When banding, RasterOp transfers that crossed a band boundary
    +didn't access the correct source data on bands other than the first.
    +(gxclist.c)
    +	- There were redundant copies of the code for writing a RasterOp
    +value in the band list.  (gxclimag.c, gxclpath.c)
    +	- Oversized patterns or halftones produced garbled output.
    +(gxclbits.c)
    +	- The check for oversized patterns or halftones was slightly
    +incorrect, leading to the possibility of writing out a tile that would
    +overflow the reading buffer and corrupt memory.  (gxclbits.c)
    +	- When banding, RasterOp wasn't applied to fill and stroke
    +operations, and wasn't applied correctly to characters.  (gdevdflt.c,
    +gxclimag.c, gxclread.c)
    +	- The RasterOp-related optimizations for black-and-white images
    +sometimes produced incorrect output.  (gximage.c, gximage2.c)
    +	- The default implementation of fill_triangle didn't draw anything
    +if the corners of the triangle were specified in certain orders (ax < 0 or
    +bx < 0).  (gdevddrw.c)
    +	- Painting with a Pattern could pass out-of-range phase values to
    +driver procedures.  (gspcolor.c)
    +	- Because of an off-by-1 error, halftones or patterns passed through
    +the band list could write past the end of their allocated space in the band
    +tile cache, leading to incorrect output or possible arithmetic exceptions or
    +memory access errors.  (gsbitops.c)
    +
    +Adds -Z: for printing only the minimal command list statistics.  (gxclist.c,
    +gxclread.c)
    +
    +Expands band list tracing so it includes all of the data associated with the
    +command, not just the command name and a few command parameters.
    +(gxclread.c)
    +
    +Adds free lists for strings.  Currently these are only used in
    +non-garbage-collected environments.  (gxalloc.h, gsalloc.c, gsnogc.c)
    +
    +Adds a procedure for copying a path structure, and an (internal) accessor
    +for the current path in the graphics state.  (gxpath.h, gspath.c, gxpath.c)
    +
    +Speeds up filling characters with halftones a little bit.  (gdevdflt.c)
    +
    +Changes the memory-based implementation of band lists so it can use any
    +compression / decompression filter, so it only compresses when it has
    +allocated a specified amount of buffer storage, and so it releases its
    +buffer storage at the end of each page.  (gxclmem.h, gxclmem.c)
    +
    +Speeds up counting the number of 1-bits in a byte, which is used in some
    +image processing algorithms.  (gsbittab.h, gsbittab.c)
    +
    +Reduces the band list space required for changing tile size.  (gxcldev.h,
    +gxclbits.c, gxclread.c)
    +
    +
    + +

    Version 4.38 (limited) (12/20/96)

    + +

    +Adds support for a couple of undocumented features in Type 1 fonts. + +

    Interpreter

    +
    +Adds handling of the Type 1 font subroutineNumberBias (an optional entry in
    +the Private dictionary) and lenIV = -1 features at the interpreter level.
    +(zchar1.c, zfont1.c)
    +
    +

    Streams

    +
    +Fixes bugs:
    +	- The CCITTFaxEncode filter could access as much as 3 bytes beyond
    +the end of a buffer, causing an invalid memory access.  (scfe.c)
    +
    +Changes the RunLengthDecode filter so it can make progress (produce output)
    +with only a 1-byte output buffer.  (srlx.h, srld.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- The sine and cosine of multiples of 90 degrees weren't exact.
    +(gxfarith.h, gsmisc.c)
    +	- The expanded bounding box computation for strokes didn't take into
    +account the possibility of overflow.  (gxstroke.c)
    +	- The allocator didn't fill freed strings with the 'free' mark.
    +(gsalloc.c)
    +	- When using a pattern with RasterOp, the phase was computed
    +incorrectly, leading to anomalous filling patterns.  (gspcolor.c)
    +	- Patterns with a non-zero translation in the matrix passed to
    +makepattern didn't translate the pattern origin properly.  (gxcolor2.h,
    +gxpcolor.h, gspcolor.c)
    +
    +Adds a subroutineNumberBias field to Type 1 fonts.  This is an undocumented
    +feature of the Type 1 font format.  (gxfont1.h, gstype1.c)
    +
    +Interprets lenIV = -1 in Type 1 fonts as meaning that the CharStrings are
    +unencrypted.  This too is an undocumented feature of the Type 1 format.
    +(gxfont1.h, gxtype1.h, gstype1.c, gstype2.c)
    +
    +Changes gs_clippath so it returns more reasonable outlines.  (There are too
    +many programs that rely on being able to stroke the result of clippath, even
    +though both the Adobe and H-P literature specifically say the results are
    +unpredictable.)  (gxcpath.h, gxcpath.c)
    +
    +
    + +

    Version 4.37 (limited) (12/10/96)

    + +

    +This version implements separate halftone phase for source and texture, +required for PCL XL implementation. + +

    Fonts

    +
    +Fixes bugs:
    +	- Loading a native TrueType font without a 'post' table caused an
    +error.  (gs_ttf.ps)
    +
    +

    Interpreter

    +
    +Extends the interpreter to handle the new separate halftone phases for the
    +RasterOp source and texture.  (gs_dps1.ps, zdps1.c)
    +
    +Makes a small change to accommodate a library change supporting Type 2
    +charstrings.  (zfont1.c)
    +
    +

    Interpreter (PDF)

    +
    +Implements the FontFile2 key for embedded TrueType fonts.  (pdf_font.ps)
    +
    +Starts to implement the FontFile3 key for compressed Type 1 fonts.  This
    +code is currently disabled, because none of the necessary underlying C is
    +written yet.  (pdf_font.ps)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- The floating point emulator often returned incorrect results (too
    +many bugs to list).  (This is not used in any standard configuration.)
    +(gsfemu.c)
    +	- The new copy_for procedure for gstates incorrectly declared an
    +argument as const.  (gxstate.h, gsstate.c)
    +	- If a curve had to be split twice along the same axis to make it
    +monotonic, the split points could still be returned in the wrong order,
    +possibly causing curved edges to turn into straight lines, and the algorithm
    +still produced the wrong results if the curve had to be split twice along a
    +single axis.  This is the second time we have "fixed" these problems and the
    +4th time we have "fixed" the curve monotonizing algorithm.  (gxpcopy.c)
    +	- Setting halftones cause a memory leak, because the subsidiary
    +objects of the device halftone weren't freed properly.  Fixing this required
    +changing the graphics state implementation from allocating a device halftone
    +for each gstate to managing the device halftone with reference counting.
    +(gxdht.h, gzstate.h, gsht.c, gsstate.c)
    +
    +Provides an optimized version of ldexp for FPU-less configurations, and
    +changes one key algorithm to use it.  (gxfixed.h, gsmisc.c, gxpcopy.c)
    +
    +Speeds up imagemask with a halftone a little.  (This will eventually require
    +more serious optimization.)  (gximage2.c)
    +
    +Adds a -Z* switch for tracing varieties of image rendering.  (gximage.c)
    +
    +Recognizes that if the logical operation is equivalent to D = S (after
    +accounting for a constant texture, if any), or if it is equivalent to D = ~S
    +or D = D {&,|}{S,~S} and D and S are both monobit and both colors are pure,
    +imaging with RasterOp can be executed without invoking RasterOp.  (gsropt.h,
    +gximage.c)
    +
    +Makes coordinate transformations with landscape matrices execute as fast as
    +with portrait matrices.  (gxmatrix.h, gscoord.c, gsmatrix.c)
    +
    +Adds some sketch code for interpreting Type 2 charstrings.  It compiles, but
    +it makes no pretense of being runnable.  (gstype1.h, gxop1.h, gxtype1.h,
    +gstype2.h, gxfont1.h, gstype1.c, gstype2.c)
    +
    +Extends the library to allow setting separate halftone phases for the
    +RasterOp source and texture, which is needed to implement halftone screens
    +that behave like those in H-P's PCL XL printers.  (gscsel.h, gsstate.h,
    +gxcmap.h, gxcspace.h, gxdcolor.h, gxdither.h, gxpcolor.h, gzht.h, gzstate.h,
    +gscie.c, gscsepr.c, gsht.c, gspcolor.c, gxcht.c, gxcmap.c, gxdcolor.c,
    +gxht.c, gximage.c, gximage[2345].c, gspcmap.c) ****** STILL NEED TO UPDATE
    +BANDING CODE, grep FOR phase ******
    +
    +Removes the rc_header member from the gs_halftone structure, since we don't
    +need it after all.  (gxht.h)
    +
    +
    + +

    Version 4.36 (limited) (12/3/96)

    + +

    +This version fixes a number of library bugs related to RasterOp, Patterns, +and memory management. + +

    Documentation

    +
    +Changes the definition of texture transparency to match the peculiar H-P
    +specification.  (drivers.txt, language.txt)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- x_get_bits didn't flush updates to the frame buffer, leading to
    +possibly incorrect data being returned.  (gdevx.c)
    +	- x_get_bits added padding to the scan line being copied, possibly
    +corrupting memory.  (gdevx.c)
    +
    +Changes the x11mono driver to define white = 0, black = 1 to more closely
    +model black-and-white printers.  (This is an internal change that doesn't
    +affect the output.)  (gdevxalt.c)
    +
    +

    Interpreter

    +
    +Removes some code that is no longer needed, by virtue of the fix for the
    +memory leak in Pattern remapping.  (zpcolor.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- Patterns wider than 1024 bits caused a rangecheck.  (gxclip2.h,
    +gxclip2.c)
    +	- Dash patterns never got freed.  The fix for this slows down gsave
    +and grestore slightly, but we don't see any way around it.  (gsline.c,
    +gsstate.c)
    +	- If the CTM was very non-uniform in X and Y, stroke sometimes
    +didn't recognize thin lines as being thin, leading to dropouts.
    +(gxstroke.c)
    +	- RasterOps that didn't use S or T still took S or T transparency
    +into account.  (gdevmrop.c)
    +	- RasterOps with no source didn't handle the possibility that the
    +device color for black might have a value other than 0.  (gxdcolor.h,
    +gspcolor.c, gxcht.c, gxdcolor.c, gxht.c)
    +	- White pixels in halftones on black-and-white devices apparently
    +are *not* supposed to be treated as opaque for RasterOp.  (gxcht.c, gxht.c)
    +	- clippath caused memory to be lost until a restore or a garbage
    +collection.  (gspath.c)
    +	- Clipping lists weren't ever freed, and clipping paths sometimes
    +weren't freed, causing memory to be lost until a restore or a garbage
    +collection.  (gzacpath.h, gxacpath.c, gxcpath.c)
    +	- Freeing a pattern instance referenced a pointer after it had been
    +freed, causing an invalid memory access.  (gspcolor.c)
    +	- Remapping a Pattern color lost track of the temporary gstate,
    +memory devices, and possibly the mask, causing memory to be lost until a
    +restore or GC.  (gxpcolor.h, gxpcmap.c)
    +	- Remapping a Pattern color could cause paths to be marked as
    +shared, preventing them from being freed until a restore or GC.  (gxpcmap.c)
    +
    +Enhances the non-tracing garbage collector so that if there are no strings
    +allocated at all, it resets the string allocation pointers.  (gsnogc.c)
    +
    +Optimizes the black-and-white RasterOp implementation by recognizing cases
    +that can be implemented directly by fill_rectangle, copy_mono, or
    +tile_rectangle.  (gdevmrop.h, gsropt.h, gdevmrop.c, gsroptab.c)
    +
    +Changes -ZA so it no longer produces [P] tracing messages for path
    +construction.  (gxpath.c)
    +
    +Adds a gx_pattern_cache_winnow procedure for selectively removing entries
    +from the Pattern cache, similar to gx_purge_selected_cached_chars.
    +(gscolor2.h, gxpcolor.h, gxpcmap.c)
    +
    +Adds the Pattern UID to Pattern cache entries.  (gxpcolor.h, gxpcmap.c)
    +****** MUST HANDLE XUID POINTERS ON GC (RELOC) & RESTORE (CLEAR LIKE HT
    +CACHE) ******
    +
    +Makes gs_gstate free the path representation of the clipping path if it's a
    +rectangle, since reconstructing it is cheap and otherwise the path segments
    +would not be freeable until a restore or GC.  (gsstate.c)
    +
    +Extends the "client data" interface for gstates so that the copy procedure
    +can determine why it is being called.  (gxstate.h, gsstate.c)
    +
    +
    + +

    Version 4.35 (limited) (11/24/96)

    + +

    +This contains the usual bug fixes, and two minor enhancements: an option for +handling EPSF files with binary headers, and support for file-based +resources. + +

    Documentation

    +
    +Documents the new EPSF-reading capability.  (gs.mak)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- Some obsolete definitions were accidentally left in the rules for
    +compiling fonts into the executable.  (int.mak)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- initgraphics left the current color space in an inconsistent
    +state.  (bug introduced in 4.32) (zgstate.c)
    +	- restore didn't properly rebind FontDirectory to either Local or
    +SharedFontDirectory according to the current VM selection.  (gs_dps1.ps)
    +	- If FontDirectory was redefined, many things broke.  (gs_ccfnt.ps,
    +gs_dps1.ps, gs_fonts.ps, gs_pdfwr.ps)
    +	- If a resource provided a file name but the file couldn't be
    +opened, an error occurred.  (gs_res.ps)
    +	- flushfile didn't work with procedure-based streams.  (zfileio.c)
    +
    +Adds a feature (epsf.dev) that allows the interpreter to recognize and
    +handle MS-DOS EPSF files with a binary header.  (int.mak, gs_epsf.ps,
    +gs_init.ps, pdf_main.ps)
    +
    +Adds (internal) .getuserparam and .getsystemparam operators for getting the
    +value of a single user or system parameter.  (gs_lev2.ps, zusparam.c)
    +
    +To support file-based resources, implements the FontResourceDir,
    +GenericResourceDir, and GenericResourcePathSep system parameters, and
    +ResourceFileName for the built-in resource categories.  (gs_init.ps,
    +gs_lev2.ps, gs_res.ps)
    +
    +

    Streams

    +
    +Fixes bugs:
    +	- The 2-D CCITTFaxDecode filter became confused if a buffer boundary
    +fell between a horizontal make-up code and its terminating code, typically
    +causing an ioerror.  (scfd.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- Using the null color could confuse the reference counts for color
    +spaces, causing memory access errors.  (gscolor.c)
    +	- Images with CombineWithColor = true caused memory access error,
    +because a structure element wasn't initialized.  (gdevmrop.c)
    +	- gs_setnullcolor tried to return an error code, even though it was
    +declared as returning void.  (Why doesn't gcc catch this??)  (gscolor.h,
    +gscolor.c)
    +	- gs_setnullcolor was declared inconsistently as taking a const or
    +non-const argument.  (gscolor.h)
    +	- Small color tiles in the band list were not read in correctly.
    +(gxclread.c)
    +	- The band list could get confused, causing ioerrors, invalid memory
    +accesses, or garbled output, because the algorithms for computing the size
    +of bitmaps when writing and when reading had gotten inconsistent.  This code
    +has been broken and "fixed" at least 4 or 5 times.  (gxcldev.h, gxclbits.c,
    +gxclread.c)
    +	- When using banding, characters that extended off the page
    +vertically in the -Y direction came out garbled.  (gxclimag.c)
    +	- The bounding box device didn't compute the box correctly for
    +trapezoids.  (gdevbbox.c)
    +	- The fastest case of rendering monochrome images could cause
    +unaligned data accesses.  (bug introduced recently.)  (gximage.h,
    +gximage1.c)
    +	- TrueType characters with no contours could cause an invalid memory
    +access.  (gstype42.c)
    +	- Composite TrueType characters weren't rendered properly.
    +(gstype42.c)
    +
    +Adds a get_outline procedure to the Type 42 font header, to provide a
    +callback for getting the outline data for a glyph.  (gxfont42.h, gstype42.c)
    +
    +
    + +

    Version 4.34 (limited) (11/18/96)

    + +

    +This release adds a little more support for CID-keyed fonts and for PCL +emulation, and a bit more of the machinery for passing images through the +band list. + +

    Documentation

    +
    +Fixes bugs:
    +	- The RasterOp source device wasn't listed as an internal device in
    +drivers.txt.  (drivers.txt)
    +
    +Corrects a statement regarding the pstotext license.  (new-user.txt)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- The Watcom makefile for the library didn't work properly if
    +certain variables were overridden from the command line.  (watclib.mak)
    +	- The library code inadvertently depended on an interpreter header
    +file.  (*.mak)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- Some very picky compilers complained about assigning 0 to a
    +variable of an enum type.  (gdevpdfx.h, gdevpdf.c)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- Some very picky compilers didn't like a cast from a pointer type
    +to an int type.  (idebug.c)
    +	- Some very picky (and non-ANSI-compliant) compilers didn't allow
    +assigning an int to a variable of enumerated type.  (zfont2.c, zht2.c)
    +	- The library code inadvertently depended on an interpreter header
    +file.  (iref.h)
    +
    +Restructures the font building code slightly to support CID fonts better.
    +(gs_cidfn.ps, bfont.h, zcid.c, zfont0.c, zfont1.c, zfont2.c, zfont42.c)
    +
    +Adds a .setcurrentfile operator to allow disk-based fonts to keep their file
    +open.  (gs_cidfn.ps, zcontrol.c)
    +
    +

    Streams

    +
    +Fixes bugs:
    +	- Some very picky compilers didn't like the computation (const byte
    +*)0 - 1.  (stream.c)
    +	- A cast to ulong was omitted.  (smtf.c)
    +	- Some compilers got confused by typedefs in the zlib header files.
    +(szlibd.c, szlibe.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- A header file didn't select the proper system header on all POSIX
    +systems.  (malloc_.h)
    +	- A subclass/superclass type discrepancy upset some compilers.
    +(gsline.h, gsline.c, gxpdash.c)
    +	- Some very picky compilers didn't accept the previous definition of
    +the offset_of macro.  (stdpre.h)
    +	- Some very picky (and non-ANSI-compliant) compilers didn't like
    +mixing int and enumerated types.  (gsropt.h, gzstate.h, gdevmrop.c,
    +gdevrrgb.c, gsrop.c, gxclist.c)
    +	- A cast was missing.  (gslib.c)
    +	- The gs_setxxxtransparent procedures interpreted their argument
    +backwards (i.e., as "opaque" rather than "transparent").  (gsrop.c)
    +	- Intersecting clipping paths didn't reset the logical operation to
    +the default, causing a possible crash.  (gsrop.h, gsrop.c, gxacpath.c)
    +	- Pattern accumulation didn't reset the logical operation to the
    +default, possibly causing incorrect output.  (gspcolor.c)
    +	- If a Type 1 character ended with a curve and a closepath, a
    +microscopic line could result, causing output anomalies.  (gstype1.c)
    +	- Stroking a path with a mix of thin and non-thin lines could cause
    +extraneous lines to appear.  (gxstroke.c)
    +	- Zero-width rectangles were painted even when fill adjustment was
    +turned off.  (gxpaint.c, gxstroke.c)
    +	- The algorithm for dividing a curve into monotonic pieces could
    +produce incorrect results, causing anomalies when filling curved regions
    +with zero fill adjustment.  (gxpcopy.c)
    +	- The algorithms for outside clipping were wrong, causing some
    +inside regions not to be clipped.  (gxcpath.c)
    +	- The white pixels in halftones weren't treated as unconditionally
    +opaque for RasterOp.  (gxht.c, gxcht.c)
    +	- Images with RasterOp didn't work properly.  (gdevmrop.c,
    +gximage[2345].c, gxpcmap.c)
    +	- The library code inadvertently depended on an interpreter header
    +file.  (gxalloc.h, genarch.c)
    +	- An important optimization for stroking (recognizing portrait,
    +landscape, and unscaled CTMs) was commented out.  WE DON'T HAVE ANY RECORD
    +OF WHY WE DID THIS, AND RESTORING IT MAY INTRODUCE NEW BUGS.  (gxstroke.c)
    +	- Bitmap images with non-zero data_x values were passed through the
    +band list incorrectly, possibly causing vertical "streaks" in the output.
    +(gxcldev.h, gxclread.c)
    +	- If a curve had to be split twice along the same axis to make it
    +monotonic, the split points were returned in the wrong order, possibly
    +causing curved edges to turn into straight lines.  (gxpcopy.c)
    +
    +Changes the debugging printout format for paths so the output can be
    +processed mechanically more easily.  (gxpath.c)
    +
    +Adds gs_glyphpath, like charpath but taking a glyph rather than a string of
    +character codes.  (gschar.h, gschar.c)
    +
    +Adds an internal concept of a "null color", a color that doesn't actually
    +mark any pixels.  (gscolor.h, gsdcolor.h, gxdcolor.h, gscolor.c, gxdcolor.c)
    +
    +Takes the next incremental steps towards passing images through the band
    +list:
    +	- Implements the ability to pass some color mapping information
    +(transfer functions, black generation, undercolor removal) through the band
    +list.  (gxclist.h, gxclimag.c, gxclist.c, gxclread.c)
    +
    +
    + +

    Version 4.33 (limited) (11/6/96)

    + +

    +This release fixes yet another obscure bug in the recently rewritten fast +loops for image rendering. (These loops have caused more problems than any +other single module of the entire library.) It also adds preliminary +support for CID-keyed fonts (CIDFonts only, not CMaps yet) and some library +extensions for supporting HP-GL/2. + +

    Documentation

    +
    +Adds considerable new material to the C style document.  (c-style.txt)
    +
    +Changes -cckr to -ansi in the SGI build procedure.  (make.txt)
    +
    +Corrects an error in the description of the .type42execchar operator.
    +(gs_typ42.ps)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- The 'man' pages were installed in the documentation directory as
    +well as in the man directory.  (unix-end.mak)
    +
    +

    Interpreter

    +
    +Adds support for CID-keyed fonts.  There is no CMap support yet, and some
    +things are done with hacks.  (int.mak, gs_cidfn.ps, gs_cmap.ps, ichar.h,
    +zchar.c, zchar2.c, zchar42.c, zfont2.c, zfont42.c, zcid.c)
    +
    +Adds operators for accessing the new dash adaptation and dot length
    +parameters in the graphics state.  (gs_init.ps, zgstate.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- The fast case of monobit image rendering could overwrite memory.
    +(gximage1.c)
    +	- The new fast implementation of rectfill didn't check for
    +fixed-point overflow.  (gsdps1.c)
    +	- Internally, fonts with no name all appeared to have the same name,
    +possibly confusing the xfont machinery.  (gxccman.c)
    +	- A cast to remove const was omitted, upsetting some compilers.
    +(gximage1.c)
    +	- The driver's stroke_path routine was not called if the logical
    +operation was not the default one.  (gxpaint.c)
    +
    +Adds support for CID-keyed fonts.  (gsccode.h, gxfont.h)
    +
    +Adds a new "dash pattern adaptation" flag in the imager state.  When this
    +flag is set and a dash pattern is in effect, each line segment will receive
    +an integral number of repetitions of the dash pattern (if necessary, rounded
    +up).  (gsline.h, gxline.h, gsline.c, gsstate.c, gxpdash.c)
    +
    +Adds a new "dot length" parameter to the imager state.  If this parameter is
    +non-zero, it gives a length for rendering dots (zero-length lines).  See
    +language.txt for details.  (gsline.h, gxline.h, gsline.c, gsstate.c,
    +gxstroke.c)
    +
    +Extends band lists so they can handle dash pattern adaptation and dot
    +length.  (gxcldev.h, gxclpath.h, gxclpath.c, gxclread.c)
    +
    +Adds a floating point emulator to allow more realistic profiling of
    +configurations without a FPU.  (gsfemu.c)
    +
    +
    + +

    Version 4.32 (limited) (11/1/96)

    + +

    +This fixes a couple more bugs, most notably the infamous "pixel stripe" bug. + +

    Documentation

    +
    +Fixes bugs:
    +	- The documentation said that Ghostscript could not interpret
    +encrypted PDF files.  (language.txt)
    +	- A number of Ghostscript's extensions to the PostScript language
    +were missing.  (language.txt)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- A compiler complained about initializing an unsigned variable with
    +a negative value.  (gdevx.c)
    +	- An off-by-1 allocation error could cause memory overwriting.
    +(gdevepsc.c)
    +
    +

    Platforms

    +
    +Declares a pointer 'const' that is actually only used for reading.
    +(gp_unifs.c)
    +
    +

    Fonts

    +
    +Fixes bugs:
    +	- The code for adding nominal UnderlinePosition and
    +UnderlineThickness entries to FontInfo assumed (incorrectly) that all Type 1
    +fonts had FontBBox entries.  (gs_type1.ps)
    +
    +Brings CIDFont support closer to reality.  It doesn't work yet, though.
    +(gs_cidfn.ps, gs_fonts.ps, gs_init.ps, gs_res.ps, gs_typ42.ps)
    +
    +

    Interpreter

    +
    +Removes a redundant implementation of initgraphics.  (gs_init.ps)
    +
    +Speeds up rectfill a little for the common case (4 numbers on the stack).
    +(zdps1.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- Zero-width, 1-bit-deep, landscape or portrait images could
    +overwrite memory ad lib.  (gximage1.c)
    +	- A procedure was declared 'static' inconsistently, upsetting many
    +compilers (but not gcc, which, in contradiction to the ANSI standard,
    +doesn't check this properly).  (gxcpath.c)
    +	- A local variable was initialized with a value computed from a
    +variable that hadn't been set yet, leading to possibly incorrect coloring of
    +the first run of pixels in images with 12 bits per sample.  (gximage4.c)
    +	- A compiler complained about initializing an unsigned variable with
    +a negative value.  (shcgen.c)
    +	- A rounding problem could produce a vertical stripe of 1 (or on
    +very large images possibly more) incorrect pixels at the right edge of a
    +1-bit-deep image.  (gxdda.h, gximage1.c)
    +
    +Speeds up gs_rectfill substantially for the portrait/landscape case with a
    +rectangular clipping region.  (gsdps1.c)
    +
    +Adds a parameter so we can include gx_line_params in subclasses.  (gzline.h)
    +
    +
    + +

    Version 4.31 (limited) (10/27/96)

    + +

    +This is primarily a bug fix release for 4.30, which we had hoped wouldn't be +necessary.... + +

    Documentation

    +
    +Fixes bugs:
    +	- The comment describing the order of coefficients in a CTM written
    +on the band list was wrong.  (gxclpath.h)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- bug-form.txt wasn't installed by 'make install'.  (unix-end.mak)
    +	- The default flags in ugcclib.mak didn't take the gcc code
    +generation bug into account.  (ugcclib.mak)
    +
    +

    Platforms

    +
    +Fixes bugs:
    +	- MetroWerks CodeWarrior predefines true and false, causing
    +compilation errors on the Mac.  (stdpre.h)
    +
    +

    Interpreter

    +
    +Updates code for the change in the ENUM_PTR macros.  (iscan.c)
    +
    +Changes the allocator to keep track of "lost" ref space separately, to allow
    +an independent check on its activities.  (gxalloc.h, ialloc.c, isave.c)
    +
    +Changes the garbage collector API slightly to allow implementation of the
    +API in applications other than PostScript interpreters.  (ivmspace.h,
    +ireclaim.c, igc.c)
    +
    +

    Interpreter (PDF)

    +
    +Implements the PDF 1.1 BX and EX operators.  (pdf_base.ps, pdf_main.ps)
    +
    +

    Streams

    +
    +Fixes bugs:
    +	- Some (harmless) pointer incompatibilities upset some compilers.
    +(szlibd.c, szlibe.c)
    +
    +Updates code for the change in the ENUM_PTR macros.  (stream.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- A label in the ENUM_PTR procedure generating macros was often not
    +referenced, leading to compiler warnings.  (gsstruct.h, gxxfont.h,
    +gdevmem.c, gschar.c, gscolor2.c, gsdevice.c, gsfont0.c, gsht.c, gsstate.c,
    +gxcpath.c, gximage.c)
    +	- Using the gstate version of setflat rather than the imager version
    +caused compiler warnings (and, in some cases, errors).  (gstype1.c)
    +	- Non-standard ImageMatrix values for banded images didn't work.
    +(This wasn't actually used.)  (gxclread.c)
    +	- imagemask with a halftone and portrait orientation colored some
    +inappropriate pixels.  (bug introduced in 4.30) (gximage2.c)
    +	- When banding, if a character straddled a band boundary the first
    +time it occurred, all occurrences of it were clipped.  (bug introduced in
    +4.2x or 4.30) (gxclimag.c)
    +	- Degenerate clipping rectangles sometimes got turned into
    +non-degenerate ones by swapping the min and max coordinates.  (gxcpath.c)
    +	- Resizing an object either allocated a new object unnecessarily
    +(performance bug only), or in very rare cases could corrupt memory.
    +(gsalloc.c)
    +	- Very small objects didn't get put on a free list when freed.
    +(Performance bug only.) (gsalloc.c)
    +	- Some pointers were incorrectly declared 'const', upsetting some
    +compilers.  (gxclread.c)
    +
    +Adds more tracing output for -ZL.  (gxclread.c)
    +
    +Changes the -Za tracing output slightly to aid mechanical analysis of
    +allocation traces: allocation events now always include a '+', deallocation
    +events always include a '-', and the address is always the address of the
    +object data and not the header.  (gsalloc.c, gsmemory.c)
    +
    +Changes the allocator to keep track of "lost" object and string space
    +separately, to allow an independent check on its activities.  (gxalloc.h,
    +gsalloc.c)
    +
    +Changes the allocator to use 'memmove' in an obvious place.  (gsalloc.c)
    +
    +Provides a garbage collector API at the library level to allow
    +implementation of the API in applications other than PostScript
    +interpreters.  (gsgc.h)
    +
    +
    + +

    Version 4.30 (limited) (10/23/96)

    + +

    +The main purpose of this release is to implement a substantial change in the +"high level" image API, after which we believe this API will be stable. + +

    Documentation

    +
    +Documents the changes in the begin_image and image_data device procedures.
    +(drivers.txt)
    +
    +

    Drivers

    +
    +Speeds up the PDF writer a little by reducing the amount of allocation,
    +which was causing very frequent garbage collections.  (gs_pdfwr.ps,
    +gdevpdft.c)
    +
    +Updates the PDF writer for the change in begin_image/image_data.
    +(gdevpdfi.c)
    +
    +

    Platforms

    +
    +Fixes bugs:
    +	- Some versions of the SGI IRIX compiler have a bug that causes them
    +to try to expand macros that require arguments even when the macro name
    +isn't followed by a left parenthesis.  (gdevsgi.h, gdevsgi.c)
    +	- The IBM RS6000 compilers now provide <stdlib.h>, so our
    +definitions of malloc and free caused a conflict.  (malloc_.h)
    +
    +

    Fonts

    +
    +Fixes bugs:
    +	- Many Fontmaps included obsolete references to an old
    +Helvetica-Narrow font.  (Fontmap.*)
    +
    +Makes the GS_FONTPATH directory scanner a little more liberal about what
    +files it examines: it will now examine any file whose first line begins with
    +%!PS-Adobe or %!FontType.  (gs_fonts.ps)
    +
    +To match an apparent Adobe convention, augments findfont so that if a font
    +isn't in the Fontmap, it will try to load a file whose name is the same as
    +the font name.  (gs_fonts.ps)
    +
    +To make some questionable Apple font inquiry code work, augments the
    +FAKEFONTS facility so that it sets the FontType of fake fonts to 1.
    +(gs_fonts.ps)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- .checkpassword, .putdeviceparams, .putdevparams, setsystemparams,
    +and setuserparams didn't free the results byte array, causing a memory leak
    +(until the next garbage collection).  (zdevice.c, ziodev.c, zusparam.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- The code for emulating floating point multiplication with
    +conversion to fixed point didn't detect overflow correctly, which could
    +produce incorrect results instead of a limitcheck.  (gsmisc.c)
    +	- A macro cast a pointer incorrectly, leading to spurious compiler
    +warnings.  (gxfixed.h)
    +	- The code for emulating fixed-to-float conversion computed the
    +exponent incorrectly.  (gsmisc.c)
    +	- The algorithm for advancing a DDA a given number of steps (not
    +actually used anywhere before this version) was wrong.  (gxdda.h)
    +	- The clipping box returned by clipping devices was incorrect,
    +causing parts of the page to disappear.  (bug introduced in 4.20)
    +(gxcpath.c)
    +
    +Changes the begin_image and image_data device procedures:
    +	- begin_image now takes an optional subrectangle instead of a set of
    +shape flags.
    +	- image_data now always takes complete rows of pixels, takes a
    +source X offset, and returns 1 when it has received all the data.
    +
    +The change in begin_image and image_data is a NON-BACKWARD-COMPATIBLE CHANGE
    +IN A PUBLIC INTERFACE; however, this interface was still designated "subject
    +to change", per the notes for release 3.67 and the documentation in
    +drivers.txt.  (gsiparam.h, gxclpath.h, gxdda.h, gxdevice.h, gximage.h,
    +gdevbbox.c, gdevnfwd.c, gsimage.c, gxclimag.c, gxclread.c, gximage.c,
    +gximage?.c)
    +
    +
    + +
    + +

    Version 4.21 (limited) (10/17/96)

    + +

    +The purpose of this release is to fix bugs reported in 4.0x, 4.10, and 4.20. + +

    Documentation

    +
    +Fixes bugs:
    +	- The Ghostscript man page had a .TH in the middle.  (gs.1)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- The shared version of zlib was always called libgz; on most
    +systems, it is now called libz (but not on Red Hat Linux, where libz is a
    +library for dealing with time zones).  (*.mak, gs.mak, libpng.mak, zlib.mak)
    +	- The pdf2dsc.1 man page wasn't installed on Unix systems.
    +(unix-end.mak)
    +	- font2c generated procedures named gsf_xxx, but genconf assumed
    +they were named gs_f_xxx.  (int.mak)
    +
    +

    Drivers

    +
    +Updates the user-contributed LBP-8II driver to correct unspecified problems.
    +(gdevlbp8.c)
    +
    +Adds a user-contributed driver for Avance Logic SuperVGA cards.
    +(gdevsvga.c, devs.mak)
    +
    +

    Platforms

    +
    +Fixes bugs:
    +	- On Windows NT, a 32-bit parameter was truncated to 16 bits,
    +preventing drawing of scroll bars of the image window when the window is
    +uncovered.  (dwimg.cpp)
    +
    +

    Fonts

    +
    +Fixes bugs:
    +	- The free URW Grotesk and Antiqua fonts were omitted from the
    +distribution.
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- Defining a new global instance of a built-in resource
    +(ColorRendering, ColorSpace, Form, Halftone, Pattern, ProcSet) caused an
    +invalidaccess error.  (gs_res.ps)
    +	- pathbbox with no current path left an extra item on the stack when
    +the error occurred.  (gs_init.ps)
    +	- findresource for an undefined resource instance didn't preserve
    +the contents of the stack.  (gs_res.ps)
    +
    +Adds a new file providing a procedural interface with a very rudimentary
    +form of job encapsulation.  (gserver.c)
    +
    +Changes the initial value of MaxOpStack to 20000, for the sake of a few
    +badly-behaved files.  (gs_init.ps, pdf_base.ps)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- If the image operators failed to allocated their bookkeeping
    +structure, the result was a crash rather than VMerror.  (gximage.c)
    +	- gx_default_fill_triangle (currently used only to implement the
    +fastest case of stroke) had a typo that could cause a numeric exception or
    +incorrect output, and another typo that could produce incorrect output.
    +(gdevddrw.c)
    +	- When banding, if the first occurrence of a character fell partly
    +off the page, all occurrences of that character on the page could be clipped
    +or mangled.  (gxclbits.c, gxclimag.c)
    +	- When testing whether it's worthwhile compressing a bitmap for
    +banding, the compressor was allowed to generate a lot more output than
    +needed to make the test.  (gxclbits.c)
    +	- Certain cases of unrotated gray-scale images dropped the first or
    +last pixel of each scan line.  (gximage2.c)
    +	- In rare cases, a run of pixels in a image could get erroneously
    +displayed in the same color as the previous run, because of a cache
    +bookkeeping bug.  (gximage3.c)
    +	- The sample driver for the library had gotten inconsistent with a
    +header file.  (gslib.c)
    +	- A declaration was followed by an extraneous semicolon, which upset
    +some compilers.  (gxht.h)
    +	- Missing parentheses caused a test for thin lines to be incorrect.
    +(gxstroke.c)
    +
    +
    + +

    Version 4.20 (limited) (10/13/96)

    + +

    +This release has internal changes for future support of banded image +processing, but no externally visible changes. Its primary purpose is to +incorporate speedups for clipped images. It does *not* incorporate fixes +for all problems reported in 4.0x or 4.10. + +

    Documentation

    +
    +Documents the new get_clipping_box device procedure.  (drivers.txt)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- There were many, many minor inconsistencies between the makefiles
    +and the source code.  (We finally have an automated tool to detect these.)
    +(devs.mak, int.mak, lib.mak, unixtail.mak; gsutil.c, zwppm.c)
    +	- Some makefile rules weren't properly terminated by a blank line.
    +(lib.mak)
    +
    +

    Utilities

    +
    +Fixes bugs:
    +	- The comments in gslp.ps had gotten out of date.  (gslp.ps)
    +
    +Adds --no-eject-file and --no-eject-formfeed switches to gslp.ps, to allow
    +packing files in multi-column printouts.  (gslp.ps)
    +
    +

    Drivers

    +
    +Adds a user-contributed driver for the Epson LP-8000 laser printer.
    +(gdevlp8k.c)
    +
    +Adds a DisplayMode parameter to the vgalib device.  (gdevvglb.c)
    +
    +Removes the requirement of typing a character at the end of each page using
    +the vgalib driver.  THIS IS A USER-VISIBLE, NON-BACKWARD-COMPATIBLE CHANGE.
    +(gdevvglb.c)
    +
    +

    Interpreter

    +
    +Updates code to accommodate the new get_clipping_box device procedure.
    +(zupath.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- When a CTM was passed through the band list, it didn't get
    +translated to match the band coordinate system.  (This had no effect,
    +because the translation part of the CTM was never used.)  (gxclread.c)
    +
    +Adds a ',' debugging switch to disable high-level operations when banding.
    +(gxclpath.c)
    +
    +Adds an optional get_clipping_box device procedure, so that filling and
    +stroking can clip more aggressively.  (gdevmem.h, gdevprn.h, gxdevice.h,
    +gxpaint.h, gxpath.h, gzacpath.h, gdevdflt.c, gdevht.c, gdevnfwd.c,
    +gxacpath.c, gxclip2.c, gxclist.c, gxcpath.c, gxpcmap.c, gxfill.c,
    +gxstroke.c)
    +
    +Speeds up clipped filling and stroking, by checking against the device
    +clipping box.  (gxfill.c, gxstroke.c)
    +
    +Adds the ability to clip with a rectangle a clipping path being accumulated,
    +and uses it to do more aggressive clipping when banding.  (gzacpath.h,
    +gxacpath.c, gxclread.c)
    +
    +Speeds up clipping of objects lying partly above or below the clipping
    +region.  (gxcpath.c)
    +
    +Speeds up clipping vertically-oriented objects (such as 90 degree rotated
    +images or vertical rectangles) with convex clipping regions, by checking for
    +vertical rectangles contained in multiple clipping rectangles.  (gxcpath.c)
    +
    +Speeds up the handling of 90 degree rotated gray-scale images.  (gximage2.c)
    +
    +Enhances the band list so that it can contain commands for a range of bands,
    +not just a single band or all bands.  (gxcldev.h, gxclist.h, gxclbits.c,
    +gxclist.c, gxclread.c)
    +
    +Adds an operation to the DDA structure, for eventual support of clipped
    +images.  (gxdda.h)
    +
    +Factors out some macros useful for generating bit-transformation tables.
    +(gsbittab.h, gsbittab.c, gsflip.c)
    +
    +
    + +
    + +

    Version 4.10 (limited) (9/25/96)

    + +

    +This release adds local garbage collection, and a number of performance +improvements for garbage collection in general. We will support it for one +or two OEMs, but it is not a public release. + +

    Documentation

    +
    +Moves documentation for all releases before 4.0 to history3.txt.  (NEWS,
    +history3.txt)
    +
    +

    Utilities

    +
    +Fixes bugs:
    +	- pdf2dsc.ps didn't have a proper license notice.  (pdf2dsc.ps)
    +
    +

    Drivers

    +
    +Adds a psgray driver, like psmono, to produce 8-bit gray PostScript (level
    +1) images.  (devs.mak, *.mak, gdevpsim.c)
    +
    +Changes the psmono driver to allow runs of up to 255 repeated bytes.
    +(gdevpsim.c)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- setdevice erased the page even if this wasn't necessary.
    +(zdevice.c)
    +
    +Speeds up the garbage collector, primarily by speeding up pointer
    +relocation.  (int.mak, ipacked.h, iref.h, ialloc.c, igc.c, igcref.c)
    +
    +Actually implements local garbage collection.  (igc.h, ivmspace.h, igc.c,
    +igcref.c, igcstr.c, ireclaim.c)
    +
    +Adds some additional error checking for the -Z? switch.  (ilocate.c)
    +
    +Moves a utility for color mapping from the interpreter to the library.
    +(icolor.h, zcolor.c)
    +
    +Adds a MinScreenLevels user parameter.  (zusparam.c)
    +
    +

    Interpreter (PDF)

    +
    +Adds partial support for the PDF 1.2 gs operator, reverse engineered from a
    +PDF 1.2 file.  (pdf_draw.ps)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- The test for "thin" stroked lines incorrectly claimed some
    +non-thin lines were thin.  (gxstroke.c)
    +	- The computations for halftone cells didn't work for non-square
    +pixels.  (gxdht.h, gsht.c, gsht1.c, gshtscr.c)
    +
    +Speeds up the garbage collector a little.  (gsstruct.h, gxalloc.h,
    +gxfcache.h, gsfont.c)
    +
    +Replaces references to private statically allocated color spaces with
    +references to shared dynamically allocated ones, which are guaranteed to be
    +fully filled-in.  (gscie.c)
    +
    +Moves a utility for color mapping from the interpreter to the library.
    +(gxfmap.h, gxcmap.c)
    +
    +Makes available an imager analogue of setmatrix.  (gscoord.h, gscoord.c)
    +
    +Adds a parameter to control the minimum number of halftone screen levels.
    +If a halftone cell has fewer pixels than this number, it will be replicated
    +(similar to what AccurateScreens does) until the replicated screen has
    +enough levels.  (gxht.h, gshtscr.c)
    +
    +
    + +
    + +

    Version 4.03 (9/23/96)

    + +

    +This was an emergency re-release of 4.02 to fix the stdin redirection +problem. It has essentially no other changes. + +

    Documentation

    +
    +Fixes bugs:
    +	- Solaris 2.x has /usr/ucb/install, not installbsd.  (make.txt)
    +
    +Updates current.txt to mention the ability to share libpng and libgz.
    +(current.txt)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- A rule assumed that the makefile was named `makefile'.
    +(unixtail.mak)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- The stcolor drivers had an off-by-1 error that could cause them to
    +write into unallocated memory.  (gdevstc.c)
    +	- The Imagen driver wouldn't compile with gcc.  (gdevimgn.c)
    +
    +

    Fonts

    +
    +Fixes bugs:
    +	- The Solaris fontmap had gotten out of date.  (Fontmap.Sol)
    +
    +

    Streams

    +
    +Fixes bugs:
    +	- The test for stdin being non-seekable could leave the file error
    +flag set, which caused an infinite loop when trying to read from the file
    +later.  (sfile.c, sfileno.c)
    +
    +
    + +

    Version 4.02 (9/19/96)

    + +

    +This release fixes a few more bugs, and adds the ability to read encrypted +PDF files and some PDF 1.2 files. + +

    +This release was withdrawn after a few days because the stdin redirection +fix, which was made at the last minute, cause Ghostview to hang. + +

    Documentation

    +
    +Fixes bugs:
    +	- The list of required support files was incorrect.  (install.txt)
    +	- The descriptions of file name lookup weren't accurate.  (use.txt)
    +	- A J should have been an H.  (gxbitmap.h)
    +
    +Updates the documentation about encrypted PDF files.  (new-user.txt)
    +
    +Documents what the 13 base PDF fonts are.  (ps2pdf.txt)
    +
    +Fixes a tiny typo.  (c-style.txt)
    +
    +Adds a user-contributed man page for the new pdf2dsc script.  (pdf2dsc.1)
    +
    +Updates the government restricted rights notice in the Aladdin Ghostscript
    +Free Public License.  (PUBLIC)
    +
    +Adds the URL of test files to the bug report form.  (new-user.txt)
    +
    +Puts the bug reporting form in a separate file.  (readme, bug-form.txt,
    +new-user.txt)
    +
    +Notes that map_xxx_color procedures should not return gx_no_color_index.
    +(drivers.txt)
    +
    +Notes that Ghostscript supports the Flate filters.  (language.txt)
    +
    +Documents the use of the system libpng and zlib.  (make.txt, gs.mak)
    +
    +Notes that Borland C++ 5.0 and 5.01 will not compile Ghostscript correctly.
    +(make.txt)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- Using both DELAYBIND and SAFER caused problems.  (pstotext uses
    +DELAYBIND.)  (gs_init.ps)
    +
    +

    Utilities

    +
    +Fixes bugs:
    +	- Some pdf2ps machinery interfered with the PDF interpreter.
    +(pdf_2ps.ps, pdf_main.ps)
    +	- In the output of pdf2ps, page numbers in link destinations were
    +too high by 1.  (pdf_main.ps)
    +	- viewpbm didn't handle value ranges other than [0..255] correctly.
    +(viewpbm.ps)
    +
    +Adds a user-contributed shell script to invoke pdf2dsc.ps.  (pdf2dsc,
    +unix-end.mak)
    +
    +Adds a switch to the genconf utility to set the prefix for generated
    +procedure names.  (genconf.c)
    +
    +Adds the option of using system libraries (possibly shared) for libpng
    +and/or zlib.  (*head.mak, msc*.mak, os2.mak, tccommon.mak, wccommon.mak;
    +libpng.mak, zlib.mak)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- The X11 display devices ignored the -DA4 compile-time option.
    +(gdevx.c)
    +	- The garbage collector could scramble the state of the CGM drivers.
    +(gxdevice.h, gdevcgm.c)
    +	- An identifier of more than 31 characters upset the VAX DEC C
    +compiler.  (gdevcgml.h, gdevcgml.c)
    +	- In case of an error in trying to set the CoreDistVersion distiller
    +parameter, a variable could be used without initialization.  (gdevpdfp.c)
    +	- When DEBUG is selected, the X Windows driver referenced _Xdebug,
    +which is not defined in (at least the VMS version of) DECWindows.  (x_.h,
    +gdevxini.c)
    +	- Some map_cmyk_color implementations could return "transparent".
    +(gdevbit.c)
    +	- Setting GraphicsAlphaBits or TextAlphaBits in the P*M drivers
    +caused an error.  (gdevpbm.c)
    +	- If a user cancelled printing under MS Windows, a confusing error
    +resulted, and a temporary file wasn't deleted.  (gdevwpr2.c)
    +	- The map_color_rgb procedure for the bit devices produced incorrect
    +results.  (This probably had no effect in practice.)  (gdevbit.c)
    +	- The os2prn device produced incorrect output.  (gdevos2p.c)
    +	- The OS/2 PM device didn't detect PM applications correctly.
    +(gdevpm.c)
    +	- The MS Windows printer driver didn't automatically detect the
    +printer's color capabilities.  (gdevwpr2.c)
    +	- The BJC-610 driver didn't print at 720 dpi.  (gdevcdj.c)
    +	- The static prototypes of many devices didn't include the far_data
    +keyword.  (gdev3852.c, gdev4081.c, gdevbgi.c, gdevcgm.c, gdevht.c,
    +gdevimgn.c, gdevl256.c, gdevmrop.c, gdevn533.c, gdevnfwd.c, gdevnp6.c,
    +gdevo182.c, gdevpcfb.c, gdevpdf.c, gdevpe.c, gdevpm.c, gdevs3ga.c,
    +gdevsnfb.c, gdevsppr.c, gdevsun.c, gdevsvga.c, gdevtknk.c, gdevvglb.c,
    +gdevwddb.c, gdevwprn.c, gdevx.c, gdevxalt.c)
    +	- The (original) deskjet driver collapsed print lines towards the
    +left margin.  (gdevdjet.c)
    +
    +Adds to the pgm/pgnm/ppm/pnm[raw] drivers the ability to set the maximum
    +pixel value, by setting any of the Gray/Red/Green/BlueValues device
    +parameters.  (gdevpbm.c)
    +
    +Adds pkm[raw] drivers, which do all their internal computations in CMYK and
    +convert the data to RGB as they write the file.  (gdevpbm.c)
    +
    +

    Platforms

    +
    +Fixes bugs:
    +	- The VMS script referred to old versions of the third-party
    +libraries.  (vms.mak)
    +	- Under VMS with DEC C, attempting to open a new file fails.
    +(gp_vms.c)
    +	- If you tried to print (gp_printfile) under Windows on a system
    +with no printers installed, Ghostscript caused a GPF.  (gp_mswin.c)
    +
    +Restores support for a non-DLL MS Windows platform.  (bcwin32.mak,
    +dwnodll.cpp)
    +
    +Adds a new MS Windows DLL call, gsdll_get_bitmap.  (gsdll16.def,
    +gsdll32.def, dll.txt, gdevwdib.c)
    +
    +Fixes a variety of other small Windows- and OS/2-related problems, mostly
    +related to printing.  (gp_mswin.h, dpmainc.c, dwmain.cpp, dwmainc.cpp,
    +gdevmswn.c, gdevpm.c, gdevwpr2.c, gp_mswin.c)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- The value of /newerror in $error was true at the end of
    +initialization.  We now reset it after each internal use of stopped if
    +necessary.  (gs_dps1.ps, gs_fform.ps, gs_fonts.ps, gs_init.ps, gs_pdf.ps,
    +gs_res.ps, gs_type1.ps)
    +	- setpagedevice (and finddevice) didn't recognize Default.
    +(gs_init.ps)
    +	- When running with -dNODISPLAY, calling gssetresolution would cause
    +a crash.  (gs_init.ps)
    +	- A particular combination of save, .forgetsave, and garbage
    +collection could cause a memory access error in restore.  (isave.c)
    +	- Some references to systemdict were affected if a user redefined
    +the name /systemdict.  (gs_cmdl.ps, gs_fonts.ps, gs_kanji.ps, gs_dps1.ps,
    +gs_init.ps, gs_res.ps, gs_statd.ps, gs_type1.ps)
    +	- The insideness testing operators caused an invalid memory access.
    +(drivers.txt, zupath.c)
    +	- If a readline reached an input buffer boundary between the \r and
    +\n of a 2-character EOL, an error could occur.  (zfileio.c)
    +	- setdevparams caused an error.  (gs_lev2.ps)
    +
    +Changes file names beginning with ./ or ../ so they are recognized as
    +"absolute" and not subject to the search path.  (gp_dosfs.c, gp_ntfs.c,
    +gp_os2.c, gp_unifn.c)
    +
    +Changes the exit code for -h or --help from 0 to 1, so an invoking program
    +will keep the output around for the user to look at.  (imainarg.c)
    +
    +Adds the FlateEncode and FlateDecode filters; adds PNG pixel prediction to
    +the LZW filters.  These additions are required for PDF 1.2 and will be part
    +of PostScript Level 3.  (int.mak, lib.mak, zfdecode.c, zfilter2.c, zfzlib.c,
    +zfpngp.c [deleted])
    +
    +

    Interpreter (PDF)

    +
    +Fixes bugs:
    +	- The copyright notices on some files didn't mention the Aladdin
    +free license.  (pdf_*.ps)
    +	- Some references to systemdict were affected if a user redefined
    +the name /systemdict.  (pdf_font.ps)
    +	- The value of /newerror in $error was true at the end of
    +initialization.  We now reset it after each internal use of stopped if
    +necessary.  (pdf_main.ps)
    +	- stdin redirection failed for PDF files even if the new stdin was
    +seekable.  (pdf_main.ps)
    +	- The Rotate key rotated pages in the wrong direction.
    +(pdf_main.ps)
    +
    +Adds a minimal "security socket" to the interpreter.  This does not include
    +any actual decryption code; such code is available elsewhere (see
    +new-user.txt).  (int.mak, pdf_base.ps, pdf_main.ps, pdf_sec.ps)
    +
    +Adds a PDF 1.2 capability:
    +	- The destination in a Dest array can be a page number as well as a
    +page object.  (pdf_main.ps)
    +
    +

    Streams

    +
    +Fixes bugs:
    +	- stdin was assumed to be non-seekable.  (sfile.c, sfileno.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- Garbage collection could corrupt a pointer in Type 0 fonts.
    +(gxfont0.h, gsfont0.c)
    +	- When applying hints to a Type 1 font outline, the last point could
    +sometimes get moved twice, causing output anomalies.  (gxhint3.c)
    +	- An #include needed for debugging was missing.  (gxcmap.h)
    +	- Graphics states included a no-longer-used private color space
    +object.  (gsstate.c)
    +	- Images could get clipped randomly in the X direction.  (I don't
    +understand why this problem hasn't shown up more often, since it's been
    +there since release 4.00.)  (gximage.c)
    +	- The arct and arcto operators failed to draw the line to the
    +starting point of the arc.  (bug introduced in 4.01) (gspath1.c)
    +	- Prefix subclasses of simple structures caused an invalid memory
    +access.  (gsstruct.h)
    +	- The variable fheight was sometimes unused.  (gstype1.c)
    +	- igcd and imod didn't have prototypes in an appropriate header
    +file, and were declared extern in several places.  (gsdcolor.h, gsline.h,
    +gxarith.h, gxdht.h, gsht.c, gshtscr.c, gsimage.c, gsline.c, gstype1.c,
    +gxclimag.c)
    +	- When using a non-identity RenderTable in a CIE rendering
    +dictionary, all colors came out too light.  (gscie.c)
    +	- When using anti-aliased graphics, stroked lines were rendered too
    +thin.  (gspaint.c)
    +	- The default map_cmyk_color implementations could return
    +"transparent".  (gxcmap.c)
    +	- The number of bits of alpha requested when rendering anti-aliased
    +characters could exceed 4.  (gschar.c)
    +	- Multi-screen halftones could cause errors or infinite looping when
    +banding.  (This problem predates 4.0; I don't know why it didn't show up
    +before.)  (gxcldev.h, gxclist.c, gxclread.c)
    +	- Skewed or rotated gray-scale images, or masks with a halftoned
    +color, omitted one line of pixels and displaced the image by one pixel.
    +(gximage2.c)
    +
    +Adds an implementation of realloc, for systems that don't have one that
    +works.  I don't know how to determine this automatically, so for the moment,
    +the code uses our own implementation on GNU/Linux (where realloc is known to be
    +broken, at least in some releases) and nowhere else.  (malloc_.h,
    +gsmemory.c, gsmisc.c)
    +
    +Removes the "OLD" algorithms from the Type 1 hinting source code, since they
    +are no longer executed.  (If necessary, they can be retrieved from an older
    +version.)  (gxhint3.c)
    +
    +
    + +

    Version 4.01 (7/10/96)

    + +

    +This fixes a few minor bugs discovered since the 4.0 release. + +

    Documentation

    +
    +Fixes bugs:
    +	- An installation directory name was wrong.  (make.txt,
    +unix-lpr.txt)
    +	- A URL was wrong.  (devices.txt)
    +	- A reference to use.doc hadn't been updated.  (gs.1)
    +	- Some references to /usr/local/lib hadn't been updated.  (gs.1)
    +	- The NEWS file and history* files still referred to *.doc rather
    +than *.txt.  (NEWS, history*.txt)
    +
    +Adds a note about compilation on Digital Unix.  (make.txt)
    +
    +Clarifies that calling gs_exit calls gs_finit automatically.  (imain.h)
    +
    +Adds a pointer to the PDF encryption patch.  (Ridiculous U.S. export control
    +laws don't allow including the patch itself in the main fileset.)
    +(new-user.txt)
    +
    +Adds a help file for VMS.  (gs-vms.hlp)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- vms.mak had gotten out of sync with the makefiles (again).
    +(vms.mak)
    +	- DEVICE{WIDTH,HEIGHT}POINTS didn't override PAPERSIZE.
    +(gs_init.ps)
    +	- The Microsoft C makefiles had gotten out of date.  (msc.mak)
    +
    +The (few) GNU-Licensed drivers were accidentally omitted from the fileset.
    +
    +Modifies a makefile for greater reusability.  (watclib.mak)
    +
    +Adds a 'debug' target for making Unix debugging configurations.
    +(unix-end.mak)
    +
    +

    Utilities

    +
    +Fixes bugs:
    +	- Some uses of 'run' should be changed to runlibfile.  (bdftops.ps,
    +impath.ps, markhint.ps, packfile.ps, showchar.ps, waterfal.ps, wftopfa.ps,
    +wrfont.ps)
    +	- Some debugging code hadn't been removed.  (gslp.ps)
    +
    +Adds a new utility, viewcmyk.ps, for viewing 4-bit CMYK data.  (psfiles.txt,
    +unix-end.mak, viewcmyk.ps)
    +
    +Improves pdf2dsc by including Title and CreationDate DSC comments (these are
    +displayed by Ghostview) and reducing the size of typical output files by a
    +factor of about 3.  (pdf2dsc.ps)
    +
    +Incorporates major changes (claimed to be improvements) to ps2ascii
    +contributed by a user.  If you have problems with it, please contact him,
    +not Aladdin.  (ps2ascii.ps)
    +
    +

    Platforms

    +
    +Fixes bugs:
    +	- The X value of a bounding box could be computed incorrectly.
    +(gdevbbox.c)
    +
    +

    Platforms

    +
    +Fixes bugs:
    +	- The Windows DLL sometimes didn't clean up properly.  (dll.txt,
    +dpmainc.c, dwdll.cpp, dwmain.cpp, dwmainc.cpp, gsdll.c, gsdll.h)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- Reading from a filter could hang forever, because a buffer was
    +allocated 1 byte too small.  (zfilter.c)
    +	- The search path could become garbage under some circumstances.
    +(imain.c)
    +	- A dangling reference to a stack-allocated variable could corrupt
    +memory if a client mixed interpreter calls and direct C calls.  (interp.c)
    +	- Printing an object to a procedure-based filter could cause an
    +invalid memory access.  (zfileio.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- Setting parameters for an unopened device could cause an access
    +error or invoke the wrong put_params procedure.  (gsdparam.c)
    +	- Reading from a filter could hang forever, because a buffer was
    +allocated 1 byte too small.  (stream.h)
    +	- If the current device was the nullpage device, doing a [g]save,
    +selecting a different device, and doing a [g]restore caused an error.
    +(gsdparam.c)
    +
    +Adds the ability to append arcs without the initial lineto, for PCL
    +emulation.  (gspath.h, gspath1.c)
    +
    +
    + +

    Version 4.0 (6/28/96)

    + +

    +This is the first public release since 3.53, with a few more last-minute +patches beyond 3.70. + +

    Documentation

    +
    +Fixes bugs:
    +	- Many makefiles still referred to .doc files rather than .txt.
    +(cfonts.mak, devs.mak, gs.mak, int.mak, libpng.mak, unix-end.mak, watc.mak,
    +watcwin.mak, wccommon.mak, zlib.mak)
    +	- Some FONTPATH-related information was out of date.  (use.txt)
    +	- The installation directory for fonts was incorrect.  (install.txt)
    +	- The libpng and zlib versions were out of date.  (libpng.mak,
    +zlib.mak)
    +	- Some information about GSview was incorrect or incomplete.
    +(new-user.txt)
    +	- make.txt said it described installation as well as building.
    +(make.txt)
    +
    +Notes that the current release of zlib won't compile and link correctly with
    +Sun cc.  (make.txt)
    +
    +Adds a little more detail to the C style document.  (c-style.txt)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- Some documentation files weren't installed.  (unix-end.mak)
    +	- Some dependencies were incorrect.  (bcwin32.mak)
    +	- 'make begin' and 'make clean' deleted too many and/or the wrong
    +files.  (bcwin.mak, bcwin32.mak)
    +	- libpng.mak didn't work with libpng version 0.89c.  (libpng.mak)
    +	- -d<var>=<name> was equivalent to -d<var>=/<name>, and there was no
    +way to set a variable to true, false, or null.  (use.txt, gs_init.ps,
    +iinit.c, imainarg.c)
    +
    +Removes the modules.lis file, which is no longer used.
    +
    +Undoes detecting automatically the need to run tar_cat -- the mechanism
    +didn't work, and caused confusion.  (unix-end.mak)
    +
    +Updates the makefiles to libpng version 0.89, but allows them to work with
    +either 0.88 or 0.89.  (*.mak)
    +
    +

    Utilities

    +
    +Fixes bugs:
    +	- Showing the details of a protected font caused an error.
    +(markhint.ps)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- A copyright notice was wrong.  (gs_pdfwr.ps)
    +	- PDF link annotations could get written with two Dest keys.
    +(gdevpdfm.c)
    +	- MakeProcInstance and FreeProcInstance were called on platforms
    +where it wasn't appropriate.  (gdevwpr2.c, gdevwprn.c, gp_mswin.c)
    +	- On X servers that return very large values for the "virtual
    +screen" size in millimeters but correct values for the screen size in
    +pixels, a rangecheck could occur.  (gdevxini.c)
    +	- The bounding box device could return garbage if stroke or fill was
    +ever invoked with an empty path.  (gdevbbox.c)
    +
    +Replaces the LBP8 driver with a revised one contributed by a user.
    +(gdevlbp8.c, devs.mak)
    +
    +

    Platforms

    +
    +Fixes bugs:
    +	- Some Windows menu parameters were incorrect.  (gsdll16.rc,
    +gsdll32.rc)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- .getdevparams sometimes returned duplicate entries for /Type.
    +(ziodev2.c)
    +	- File names weren't parsed or concatenated properly on all
    +platforms.  (gs_fonts.ps, zfile.c)
    +	- Filter lookahead caused problems with special files.  (zfproc.c)
    +	- If a TransformPQR procedure in a CIE color rendering dictionary
    +didn't pop its 4 array arguments, an error occurred.  (gs_lev2.ps, zcrd.c)
    +
    +

    Streams

    +
    +Fixes bugs:
    +	- Filter lookahead caused problems with special files.  (bug
    +introduced in 3.70) (stream.h)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- .getdevparams sometimes returned duplicate entries for /Type.
    +(gxiodev.h, gsiodev.c)
    +
    +
    + + +
    + +

    +Copyright © 1996, 1997, 1998 Aladdin Enterprises. +All rights reserved. + +

    +This software is provided AS-IS with no warranty, either express or +implied. + +This software is distributed under license and may not be copied, +modified or distributed except as expressly authorized under the terms +of the license contained in the file LICENSE in this distribution. + +

    +Ghostscript version 7.07, 17 May 2003 + + + + + diff --git a/Master/xemtex/doc/ghostscript/History5.htm b/Master/xemtex/doc/ghostscript/History5.htm new file mode 100644 index 00000000000..ec62a06d68d --- /dev/null +++ b/Master/xemtex/doc/ghostscript/History5.htm @@ -0,0 +1,13454 @@ + + + +History of Ghostscript versions 5.n + + + + + + + + + + +

    History of Ghostscript versions 5.n

    + + + + + +

    Table of contents

    + +
    + + + + + +

    +This document is a record of changes in Ghostscript releases numbered 5.n. +For earlier versions, see the the history documents: + +

    +History of Ghostscript versions 4.n
    +History of Ghostscript versions 3.n
    +History of Ghostscript versions 2.n
    +History of Ghostscript versions 1.n +
    + +

    For other information, see the Ghostscript +overview. + + + +


    + + + + + +

    +Within each release, news appears in the following order: Incompatible +changes, Documentation, Procedures, Utilities, Drivers, Platforms, Fonts, +Interpreter, Streams (included under Interpreter through release 2.9.9), +Library. Changes marked with a * were made available as patches to a +previous release. + +


    + +

    Version 5.99 (beta) (1999-12-18)

    + +

    Incompatible changes

    +
    +(Procedures)
    +	- All platform-specific makefiles must now define the Q macro.
    +	- Ghostscript now exits with an error status if an error occurs in a
    +file named on the command line, a -c command, or piped input.
    +(Utilities)
    +	- ps2epsi now disables setpagedevice: the bounding box of the EPSI
    +output file is recorded only in the %%BoundingBox comment.
    +(Drivers)
    +	- The return type of gdev_vector_close_file is changed from void
    +to int.
    +(Interpreter)
    +	- The name of the predefined stochastic halftone is changed to
    +StochasticDefault.  (This change was actually made in 5.98.)
    +	- The compht feature is replaced by stocht.
    +	- Font searching now looks in FontResourceDir.
    +	- The ASCIIHexEncode filter now produces upper-case output.
    +(Library)
    +	- The type returned by compiled halftone resource access procedures
    +is changed.
    +
    +

    Documentation

    +
    +Fixes problems:
    +	- A stray character had gotten added to the beginning of a file.
    +(doc/Use.htm)
    +	- Many minor HTML errors had crept in.  (doc/*.htm, doc/gsdoc.el)
    +
    +Updates the docmentation on the mswinpr2 driver.  (doc/Devices.htm)
    +
    +Notes that GNU make currently does not work on OpenVMS.  (doc/Make.htm)
    +
    +Documents the fact that x/y_pixels_per_inch are deprecated.  (gxdevcli.h)
    +
    +Documents certain bugs in ps2pdf.  (doc/Ps2pdf.htm)
    +
    +Documents the addition of FontResourceDir to the font search process.
    +(doc/Use.htm)
    +
    +Documents the new arrangement for B paper sizes.  (doc/Psfiles.htm,
    +doc/Use.htm, doc/gs-vms.hlp, man/gs.1)
    +
    +Removes the "under development" warning from the text API and
    +get_bits_rectangle documentation, and adds a little more detail.
    +(doc/Drivers.htm)
    +
    +Adds new user-contributed documentation for installing and using Ghostscript
    +fonts with X Windows.  (doc/Fonts.htm, doc/Readme.htm, doc/Use.htm)
    +
    +Adds building with the Watcom compiler to the release process.
    +(doc/Release.htm)
    +
    +Adds an "Improving performance" section to the user documentation.
    +(doc/Use.htm)
    +
    +Adds a note to the C style guide about order of evaluation.
    +(doc/C-style.htm)
    +
    +Documents the new stocht.ps file.  (doc/Psfiles.htm)
    +
    +

    Procedures

    +
    +Fixes problems:
    +	- A missing dependency caused builds on certain platforms to fail.
    +(int.mak)
    +	- $(EXP) was missing before various utility invocations.  (int.mak)
    +	- VMS converts all unquoted arguments to lower case.  In order to
    +work around this, we have added a platform-specific makefile macro Q, which
    +is defined as a quote mark on VMS and as an empty string on all other
    +platforms, and used it to quote the few mixed-case values in the makefiles.
    +We removed the obsolete QQ macro from os2.mak as well.  (cfonts.mak,
    +dvx-head.mak, int.mak, openvms.mak, openvms.mmk, os2.mak, unixhead.mak,
    +wccommon.mak, winlib.mak)
    +	- PSRCDIR was incorrectly referenced as PNGSRCDIR in one place.
    +(all-arch.mak)
    +	- winint.mak had a conditional that Watcom's make program didn't
    +accept.  (winint.mak)
    +
    +Adds a makefile entry to allow compilation with libpng 1.0.5.  (libpng.mak)
    +
    +Updates the Borland C++ makefile to work with C++Builder 4.  (bcwin32.mak)
    +
    +Updates the Unix installation makefile to install stocht.ps.  (unixinst.mak)
    +
    +

    Utilities

    +
    +Fixes problems:
    +	- ps2epsi didn't disable setpagedevice.  (lib/ps2epsi)
    +	- geninit needed <stdlib.h> for 'exit'.  (geninit.c)
    +	- Some invocations of utilities didn't deal with VMS's habit of
    +converting arguments to lower case.  (geninit.c, cfonts.mak)
    +	- The ps2pdf*.bat files didn't produce a usage message if no
    +arguments were provided.  (lib/ps2pdf.bat, lib/ps2pdf12.bat,
    +lib/ps2pdf13.bat)
    +	- Removes some warnings from the Windows uninstaller.
    +(dwuninst.cpp)
    +
    +Upgrades the halftone compiler to handle Type 5 halftones.  (genht.c)
    +
    +Makes the initialization string compiler recognize sections of the code
    +where binary tokens are allowed, and convert literal hex strings within such
    +sections to binary-token strings, which take less space and load faster.
    +(geninit.c)
    +
    +Adds a utility file to define b0 ... b6 as selecting JIS B paper sizes.
    +(unixinst.mak, lib/jispaper.ps)
    +
    +Modifies the font printing utility to sort unencoded characters.
    +(lib/prfont.ps)
    +
    +Adds a small utility to help use the StochasticDefault halftone.
    +(lib/stocht.ps)
    +
    +

    Drivers

    +
    +Fixes problems:
    +	- The output of the epswrite driver couldn't be embedded in another
    +file, because it assumed it was invoked with an empty operand stack.
    +(gdevps.c)
    +	- "Vector" drivers didn't detect I/O errors such as filling up the
    +disk.  (gdevvec.h, gdevpdf.c, gdevps.c, gdevpx.c, gdevvec.c)
    +	- The bookkeeping for image color spaces when banding was incorrect,
    +possibly causing memory access errors.  (gxclist.h, gxclimag.c, gxclist.c)
    +	- The cljet5 driver didn't place the image on the page correctly.
    +(gdevclj.c)
    +	- 16-bit X11 devices with R/G/B widths other than 5/6/5 sometimes
    +failed to map colors correctly.  (gdevxcmp.h, gdevxcmp.c)
    +	- The cljet5c driver omitted a needed cast.  (gdevcljc.c)
    +
    +Adds new x11rg16x and x11rg32x devices to test X Windows with unusual pixel
    +layout.  (devs.mak, gdevxalt.c)
    +
    +Works around a bug in Acrobat Distiller 4 (and perhaps some other PostScript
    +interpreters) that causes an error if CCITTFaxDecode with /EndOfBlock = true
    +is given data with no EOB (terminated by the end of the data stream
    +instead).  (gdevps.c)
    +
    +

    Platforms

    +
    +Fixes problems:
    +	- The absence of mktemp on the Watcom platform caused a linking
    +error under Windows.  (watc.mak, watcw32.mak, gp_iwatc.c, gp_mktmp.c)
    +
    +

    Fonts

    +
    +Fixes problems:
    +	- findfont, /Font resourcestatus, and /Font resourceforall weren't
    +consistent.  (lib/gs_fonts.ps, lib/gs_res.ps)
    +	- Very large TrueType fonts caused a stackoverflow.  (lib/gs_ttf.ps)
    +
    +

    PDF writer

    +
    +Fixes problems:
    +	- Errors in pdfmark and setdistillerparams were ignored (!).
    +(lib/gs_pdfwr.ps)
    +	- The PUT pdfmark didn't allow adding dictionaries to stream-type
    +objects.  (The pdfmark documentation says this isn't allowed, but we think
    +this is an oversight, since it is reasonable and unambiguous and Acrobat
    +Distiller allows it.)  (gdevpdfm.c)
    +	- The token scanner used to substitute object names in pdfmark
    +parameters sometimes added an extra character on the end.  (gdevpdfr.c)
    +	- ashow and [a]widthshow produced incorrect text spacing.  (bug
    +introduced by an optimization in 5.97) (gdevpdft.c)
    +	- setdistillerparams left its argument on the stack.
    +(lib/gs_pdfwr.ps)
    +	- 0-height images caused errors either at conversion or at rendering
    +time.  (gdevpdfi.c)
    +	- If the FontMatrix included a translation component, text was
    +positioned incorrectly.  NOTE: this fix may not handle x/y/xyshow.
    +(gdevpdft.c)
    +	- Out-of-range user-space coordinates could get generated for
    +rectangles.  NOTE: they can still get generated for general paths.
    +(gdevpdfd.c)
    +	- Widths weren't written for renamed built-in fonts.  We fixed this
    +partly by improving the algorithm for recognizing built-in fonts.
    +(gdevpdff.h, gdevpdff.c, gdevpdft.c)
    +
    +Works around the Acrobat limitation that user-space coordinates must not
    +exceed 32K.  (fix from Artifex) (gdevpdfp.c)
    +
    +Works around an Acrobat Reader 3 bug with printing files including Type 3
    +fonts: with the "Download Fonts Once" option, AR3 only emits the font subset
    +referenced on the first page where the font appears.  (gdevpdfx.h,
    +gdevpdf.c, gdevpdft.c)
    +
    +

    Interpreter (PDF)

    +
    +Fixes problems:
    +	- Type 3 fonts weren't handled properly as a marking context, so if
    +a CharProc referenced a resource in the font, an error would occur.
    +(lib/pdf_fonts.ps)
    +	- 0-height images caused an error.  (lib/pdf_draw.ps)
    +
    +

    Interpreter

    +
    +Fixes problems:
    +	- Errors weren't propagated properly.  (bug introduced in 5.98 by
    +enhanced error recovery code) (imainarg.h, gs.c, imainarg.c)
    +	- Errors in -c commands or in files named on the command line
    +sometimes allowed execution to continue, and did not terminate with an
    +abnormal status.  (lib/gs_init.ps)
    +
    +Changes the binary token scanner so that if the stream buffer is in foreign
    +space, binary-token strings will not be copied, but will be referenced
    +directly in the buffer.  This parallels what is done for name strings.
    +(iscanbin.c)
    +
    +Changes the stochastic halftone from multiple Type 3s to a Type 5.
    +(lib/ht_ccsto.ps, int.mak)
    +
    +Replaces the compht feature with a new feature called stocht.  If this
    +feature is selected, the StochasticDefault halftone resource will be
    +pre-loaded into Ghostscript.  If COMPILE_INITS=1, all the halftone data
    +(threshold array, order and bits arrays) will be efficiently compiled into
    +the executable.  (int.mak)
    +
    +Replaces (...\n) print with (...) = everywhere.  (lib/gs_cmdl.ps,
    +lib/gs_fonts.ps, lib/gs_init.ps, lib/gs_setpd.ps, lib/pdf_base.ps,
    +lib/pdf_font.ps, lib/pdf_main.ps, lib/pdf_sec.ps)
    +
    +Adds support for JIS B paper sizes: statusdict will now include isob0..6 and
    +jisb0..6 operators, with b0..6 normally aliased to the former.
    +(lib/gs_statd.ps, lib/jispaper.ps)
    +
    +Adds a b5tray procedure; limits the valid arguments for setpagetype to the
    +Adobe-defined values 0 and 1.  (lib/gs_statd.ps)
    +
    +Updates clients for the change in the gs_image_* API.  (zimage.c)
    +
    +Makes the default halftone lookup procedure more reasonable.
    +(lib/gs_init.ps, lib/gs_ll3.ps)
    +
    +

    Streams

    +
    +Fixes problems:
    +	- An error condition when closing a file stream wasn't reported
    +properly.  (sfxfd.c, sfxstdio.c)
    +
    +For greater Adobe compatibility, changes the ASCIIHexEncode filter to
    +produce upper-case output.  (sstring.c)
    +
    +

    Library

    +
    +Fixes problems:
    +	- The gs_image_* API didn't work for ImageType 3 images.  Fixing
    +this required a small (but backward-compatible) API change.  (fix mostly
    +provided by Artifex)  (gsimage.h, gsimage.c)
    +	- The change in the bbox device in 5.95 broke it for the case where
    +it was being used in a pipeline.  (gdevbbox.c)
    +	- A possible overflow wasn't detected when stroking lines with very
    +large coordinates.  (gxstroke.c)
    +	- A mask was sized incorrectly.  (gsdcolor.h)
    +
    +Updates the runtime support for compiled halftones.  (gxdhtres.h, gscdefs.h,
    +gconf.c, gxclrast.c, gxhtbit.c)
    +
    +Replaces all references to the now-deprecated x/y_pixels_per_inch with
    +HWResolution[0/1].  (gsdevice.c, gxclist.c, gxpcmap.c)
    +
    +
    + +
    + +

    Version 5.98 (beta) (1999-12-01)

    + +

    Incompatible changes

    +
    +(Library)
    +	- The return type of init_proc is changed from void to int.
    +	- The return types of gs_lib_init* are changed from void to int.
    +(Interpreter)
    +	- The return types of gs_[main_]init*, gs_[main_]add_lib_path,
    +gs_[main_]set_lib_paths, and a number of internal initialization-related
    +procedures are changed from void to int.
    +
    +

    Documentation

    +
    +Improves the documentation of the clist_render_rectangle procedure.
    +(gxclist.h)
    +
    +Makes it clear that pre-public-release filesets should not be redistributed.
    +(doc/Tester.htm)
    +
    +Clarifies that the parameters for the X driver are command line switches,
    +not X resources.  (doc/Use.htm)
    +
    +Improves the documentation of ps2pdf in response to some user comments.
    +(doc/Ps2pdf.htm)
    +
    +Documents the initial settings of the distiller parameters.
    +(doc/Ps2pdf.htm)
    +
    +Documents the UniqueIDs assigned to Aladdin.  (lib/gs_fonts.ps)
    +
    +Updates the documentation for the stochastic halftone mask.  (doc/Make.htm)
    +
    +Removes some obsolete material.  (doc/Release.htm)
    +
    +

    Procedures

    +
    +Fixes problems:
    +	- The new ps2pdf* scripts weren't included in the Unix install list.
    +(unixinst.mak)
    +	- The directory names were missing in BEGINFILES.  (openvms.mak)
    +	- The .pl and .sh scripts weren't included in the Unix install list.
    +(unixinst.mak)
    +
    +Updates all-arch.mak with a newer version from its contributor.
    +(all-arch.mak)
    +
    +Updates the makefiles for a change in eexec modularization.  (devs.mak,
    +int.mak, lib.mak)
    +
    +

    Utilities

    +
    +Fixes problems:
    +	- The dvipdf usage message was incorrect.  (lib/dvipdf)
    +
    +Adds a utility for mechanically adding the Adobe extended Latin characters
    +(primarily Central European accented letters) to a font.  Eventually we
    +would like to integrate this into the font loader and/or make extended
    +versions of the standard 35 fonts.  (lib/addxchar.ps)
    +
    +

    Drivers

    +
    +Fixes problems:
    +	- psdf_sorted_glyphs_include didn't handle empty lists correctly.
    +(gdevpsdf.c)
    +	- A reference to a #defined constant hadn't been converted to upper
    +case.  (gdevpsdf.h)
    +	- Acrobat Reader couldn't handle <> as the definition of
    +Notice in an embedded font's FontInfo dictionary: it requires a () 
    +string. (gdevpsd1.c)
    +	- The [e]pswrite driver didn't take stroked paths into account when
    +computing the bounding box.  (gdevps.c)
    +
    +Updates gdevwpr2.c with a new version from its most recent author.
    +(gdevwpr2.c)
    +
    +

    Fonts

    +
    +Fixes problems:
    +	- The FONTPATH file scanner wasn't protected against errors.
    +(lib/gs_fonts.ps)
    +	- Some badly designed Chinese TrueType fonts, whose 'post' table
    +gives the name .null to all glyphs, didn't work properly.  (lib/gs_ttf.ps)
    +	- The shareware Katakana font had an incorrect UniqueID.
    +(fonts/fkarw.gsf)
    +
    +Adds all of the PostScript 3 fonts to the intelligent substitution tables.
    +(lib/gs_fonts.ps)
    +
    +Changes the FONTPATH scanner to allow a %%BeginFont: line as the first line
    +of a font.  Nothing in Adobe's documentation suggests that this is
    +acceptable, but some fonts have it.  (lib/gs_fonts.ps)
    +
    +Releases an updated set of the URW fonts, fixing the braceleftbt problem in
    +the Symbol font and a couple of missing characters in the ZapfDingbats
    +fonts, and adding the Euro glyph to the alphabetic fonts.  The new archive
    +also includes fonts.scale and fonts.dir files for use with X Windows
    +(mkfontdir and xfs).
    +
    +Centralizes the definition of Aladdin's XUIDs.  (lib/gs_fonts.ps,
    +lib/gs_ttf.ps)
    +
    +

    PDF writer

    +
    +Fixes problems:
    +	- The algorithm for making font names unique didn't take subset
    +prefixes into account.  (gdevpdff.h, gdevpdff.c, gdevpdfw.c)
    +	- Computing character bounding boxes was taking an inordinate amount
    +of time.  (performance problem only) (gdevpdff.c)
    +	- The pdf_image_writer and pdf_image_enum structures didn't have GC
    +descriptors, possibly causing memory corruption.  (gdevpdfi.c)
    +	- PostScript files containing images with premature end-of-data were
    +converted to PDF files with premature end-of-data, which Acrobat doesn't
    +accept. (gdevpdfo.h, gdevpdfx.h, gdevpdfi.c, gdevpdfo.c, gdevpdfu.c)
    +	- Pattern resources whose image was written in-line omitted a needed
    +gsave (q).  (bug introduced in 5.94) (gdevpdfi.c)
    +	- The similarity between a font and a base font wasn't computed
    +correctly, leading to some unnecessary writing of Widths for standard fonts.
    +(gdevpdft.c)
    +	- Embedding a stream in the psdf_binary_writer caused garbage
    +collector problems, because there could be pointers to that stream from
    +elsewhere.  (gdevpsdf.h, gdevpsdf.c)
    +	- The algorithms for deciding whether a font was script or serif
    +were very inaccurate.  (The revised ones are only somewhat better.)
    +(gdevpdff.c)
    +	- Re-encoded characters in subset fonts weren't handled correctly.
    +We work around this by writing the entire font if the character doesn't
    +appear in the font's encoding.  This is inefficient but will always produce
    +correct output.  (gdevpdff.h, gdevpdff.c, gdevpdft.c, gdevpdfw.c)
    +	- The meaning of bit 6 in the Flags was supposed to have changed in
    +PDF 1.2, but didn't.  (gdevpdff.h, gdevpdff.c, gdevpdfw.c)
    +	- The Widths array didn't get written out for embedded subsets of
    +the built-in fonts.  (gdevpdfw.c)
    +	- Planar images weren't handled correctly, and could cause memory
    +corruption.  (gdevpdfi.c)
    +	- Patterns still weren't scaled correctly; in fact, the "fix" in
    +5.94 can't possibly have worked, and we don't understand why it seemed to.
    +(gdevpdfi.c)
    +
    +Recants the belief that the default encoding for embedded fonts is
    +StandardEncoding (see 5.95): the appearance of this was a symptom of having
    +multiple fonts with the same name.  (gdevpdft.c)
    +
    +Removes FONT_EMBED_UNKNOWN, which is meaningless (a decision is always made
    +about whether to embed a font).  (gdevpdff.h, gdevpdff.c, gdevpdft.c)
    +
    +Changes the algorithm for picking the base font so that it produces more
    +efficient output for certain cases of re-encoded fonts.  (gdevpdft.c)
    +
    +

    Interpreter (PDF)

    +
    +Fixes problems:
    +	- Fonts were getting renamed unnecessarily.  (performance and PDF
    +output size problem only) (lib/pdf_font.ps)
    +	- Fonts with Widths but no FontDescriptor caused an error.
    +(lib/pdf_font.ps)
    +	- TrueType fonts processed the Encoding key in the font the same way
    +as other font types, which is not correct.  (lib/pdf_font.ps)
    +	- For embedded Type 3 fonts, the Widths entry in a font didn't
    +override the width in the CharProc.  (lib/pdf_font.ps, lib/pdf_ops.ps)
    +	- If a page had multiple Contents streams, and one of the streams
    +ended with values on the operand stack, an error might occur.
    +(lib/pdf_main.ps)
    +	- Ts and Tz within a text object didn't take effect immediately.
    +(lib/pdf_ops.ps)
    +	- sc[n] and SC[N] could cause an error because Do left an extra item
    +on the stack temporarily.  (lib/pdf_draw.ps)
    +
    +

    Interpreter

    +
    +Fixes problems:
    +	- Getting the unscaled outline for a Type 1 font didn't disable
    +hinting.  (mostly a performance problem) (zchar1.c)
    +	- Error conditions during initialization weren't recognized.  Fixing
    +this required changing various return types from void to int.  (ialloc.h,
    +iinit.h, imain.h, interp.h, ialloc.c, iinit.c, imain.c)
    +	- HalftoneMode didn't affect setscreen or setcolorscreen.
    +(lib/gs_init.ps, lib/gs_ll3.ps)
    +
    +Makes the interpreter quit with a message, rather than a stack dump, if it
    +can't open the initial device and DEBUG is not set.  (lib/gs_init.ps)
    +
    +Adds .setlimitclamp and .currentlimitclamp operators to access the limit
    +clamp flag in the graphics state.  (zgstate.c)
    +
    +Changes the names of the stochastic halftone mask to be more descriptive.
    +(lib/ht_ccsto.ps, int.mak, unixinst.mak)
    +
    +

    Streams

    +
    +Adds the ability to forbid using hex encoding when writing strings.
    +(spsdf.h, spsdf.c)
    +
    +

    Library

    +
    +Fixes problems:
    +	- Computing the width of a glyph unnecessarily constructed the
    +entire outline.  (performance problem only) (gxtype1.c)
    +	- Getting the unscaled width of a glyph in a Type 1 font didn't
    +disable hinting.  (mostly a performance problem) (gxtype1.c.)
    +	- The "unknown device" GC descriptor is no longer used.  (gsdevice.c)
    +	- Some compilers *still* complained about end-of-loop code not being
    +reached.  (gxpath2.c)
    +	- Mixing float and double values sometimes caused spurious lines to
    +be drawn when stroking very short lines with large widths.  (fix from
    +Artifex) (gxpdash.c)
    +	- The code for handling crossing lines in the path filling algorithm
    +sometimes computed line crossings incorrectly, causing excessive
    +computation.  (gxfill.c)
    +	- When oversampling for anti-aliasing, the flatness parameter was
    +not scaled, leading to unnecessarily accurate curve rendering.  (gspaint.c)
    +	- An extra grestore in a Pattern PaintProc could cause a crash.
    +(gxpcmap.c)
    +	- Error conditions during initialization weren't recognized.  Fixing
    +this required changing the return type of init_proc, and various other
    +internal procedures, from void to int.  (std.h, gslib.h, gscdefs.h,
    +gshtscr.c, gsiodev.c, gslib.c, gsutil.c)
    +
    +Splits off the Type 1 encryption/decryption code into a separate file for
    +sharing with the eexec streams.  (gscrypt1.c, gxtype1.c)
    +
    +
    + +
    + +

    Version 5.97 (beta) (11/22/99)

    + +

    +This is the next beta for 6.0. We believe the pdfwrite driver (ps2pdf) now +finally produces Acrobat-acceptable output, with reasonable handling of +fonts, and have also fixed the problem with high-level image banding. We +are cautiously hopeful that this is a "real" beta candidate. + +

    Incompatible changes

    +
    +(Drivers)
    +	- The default CompatibilityLevel in the pdfwrite driver is now back
    +to 1.3.
    +(Library)
    +	- The seac_data procedure of a Type 1 font must now be able to
    +return the glyph and/or the actual outline data.
    +
    +

    Documentation

    +
    +Fixes problems:
    +	- A <br> was missing.  (doc/Release.htm)
    +	- The final step of copying releases to www.aladdin.com was missing.
    +(doc.Release.htm)
    +
    +Documents the new situation with the ps2pdf* scripts.  (doc/Ps2pdf.htm)
    +
    +Documents the simplification of the pthreads code.  (doc/Helpers.htm,
    +doc/Make.htm)
    +
    +Adds a requirement to the license that modifications include the name and
    +e-mail address of the author, and the date and purpose of the modification.
    +(doc/Public.htm)
    +
    +Adds a link to the documentation for setdistillerparams.  (doc/Ps2pdf.htm)
    +
    +

    Procedures

    +
    +Fixes problems:
    +	- On OpenVMS, the test for whether the bin and obj subdirectories
    +already existed was incorrect.  (openvms.mak, openvms.mmk)
    +	- The recently updated Borland/Inprise makefile deleted some temp
    +files prematurely.  (bcwin32.mak)
    +	- The dependencies for the Unix install-scripts and install-data
    +targets were incorrect.  (unixinst.mak)
    +
    +Updates the RPM spec files.  (gs.rps, gs-fonts.rps, rpm-conf.dif)
    +
    +Adds support for compilation with Borland/Inprise C++Builder 3.
    +(bcwin32.mak, winint.mak)
    +
    +Adds a note on font installation under Red Hat Linux 6.  (doc/Install.htm)
    +
    +

    Utilities

    +
    +Adds ps2pdf12 and ps2pdf13 scripts to select the PDF output level
    +explicitly; makes ps2pdf a wrapper for ps2pdf12.  (lib/ps2pdf,
    +lib/ps2pdf.bat, lib/ps2pdf12, lib/ps2pdf12.bat, lib/ps2pdf13,
    +lib/ps2pdf13.bat, lib/ps2pdfwr, lib/ps2pdfwr.bat)
    +
    +Updates the Windows install/setup program to display the Aladdin start menu
    +folder on a successful install, so that the user gets some feedback that all
    +went well.  (dwinst.cpp, dwsetup.cpp)
    +
    +

    Drivers

    +
    +Fixes problems:
    +	- The lj5{mono,gray} drivers didn't send the page size to the
    +printer.  (gdevpxut.h, gdevlj56.c, gdevpx.c, gdevpxut.c)
    +	- The pxl drivers didn't handle out-of-range points properly.
    +(gdevvec.c, gdevpx.c)
    +	- The bmpa drivers didn't produce multi-page output files correctly
    +-- all pages but the first were blank.  (The bmp format is supposed to be
    +single-page, but at least some readers handle multi-page files correctly.)
    +(gdevbmpa.c)
    +	- The code for writing embedded TrueType fonts was broken.  (bug
    +probably introduced in 5.9x) (gdevpsdt.c)
    +
    +Removes an unused variable.  (gdevbmpa.c)
    +
    +

    Platforms

    +
    +Replaces the 4 pthreads files, which included a dependence on the non-POSIX
    +<semaphore.h>, with a single file that uses only pthreads procedures.
    +(gp_psync.c, gp_posem.c [deleted], gp_pthr.c [deleted], gp_ptsem.c
    +[deleted], gp_semon.c [deleted])
    +
    +

    PDF writer

    +
    +Fixes problems:
    +	- Whether or not to write the Widths array was implicit in the data
    +structures rather than explicit, so it was sometimes written unnecessarily.
    +(gdevpdfx.h, gdevpdff.c, gdevpdft.c)
    +	- Fonts based on the 14 built-in fonts didn't set BaseFont to the
    +name of the built-in font.  (gdevpdff.c)
    +	- The determination of whether a glyph was available was incorrect
    +for embedded fonts, leading some glyphs to be turned into bitmaps
    +unnecessarily.  (gdevpdft.c)
    +	- Apparently Acrobat Reader gets confused if different subsets of
    +the same font have different FirstChar and LastChar values, so we have to
    +write the full Widths array each time.  (gdevpdfx.h, gdevpdff.c, gdevpdft.c)
    +	- A structure member wasn't initialized when processing pdfmark
    +annotations, possibly causing a memory access error.  (gdevpdfm.c)
    +	- The typedef for gx_device_pdf had a typo.  (gdevpdfx.h)
    +	- Each embedded font subset had its own FontDescriptor and its own
    +font data, confusing Acrobat Reader.  Fixing this required sharing
    +FontDescriptors among multiple fonts and making FontDescriptors
    +pseudo-resources.  (gdevpdff.h, gdevpdfx.h, gdevpdf.c, gdevpdff.c,
    +gdevpdft.c, gdevpdfw.c)
    +	- Incrementally defined embedded Type 1 fonts didn't write out
    +correct Widths.  (gdevpdff.c)
    +	- PDF resources didn't consistently record the gs_id of the
    +structure they represented, possibly causing resources to be duplicated
    +unnecessarily.  (gdevpdff.c, gdevpdfu.c)
    +
    +Reinstates PDF text output.  (gdevpdf.c)
    +
    +Changes the default CompatibilityLevel in the pdfwrite device back to 1.3,
    +since the ps2pdf scripts now make it easy to choose the PDF level.
    +(gdevpdf.c)
    +
    +When possible, uses the widths obtained from the font, rather than the
    +default implementation of text_process, to complete the text_process
    +operation.  This greatly speeds up the conversion process.  (gdevpdft.c)
    +
    +Allows character remapping (but not reencoding) of TrueType fonts.
    +(gdevpdft.c)
    +
    +Factors the definitions for cos objects and font-related objects into header
    +files more thoroughly.  (gdevpdff.h, gdevpdfo.h, gdevpdfx.h, gdevpdf.c,
    +gdevpdff.c, gdevpdfi.c, gdevpdfm.c, gdevpdfr.c, gdevpdft.c, gdevpdfu.c)
    +
    +Makes the names of some structure elements correspond more directly to keys
    +in PDF directories.  (gdevpdff.h, gdevpdff.c, gdevpdft.c)
    +
    +Splits off the font-writing code, since a source file was getting too big.
    +(gdevpdff.h, gdevpdff.c, gdevpdfw.c)
    +
    +Adds CharSet information to embedded Type 1 font descriptors.  (gdevpdfw.c)
    +
    +Makes all font names in the output unique, selected by static bool
    +MAKE_FONT_NAMES_UNIQUE.  (gdevpdff.h, gdevpdff.c, gdevpdft.c)
    +
    +Reinstates support for one special case of composite fonts (8/8 mapping with
    +the high order byte always zero) that is used by the AdobePS4 Windows
    +driver.  (gdevpdft.c)
    +
    +Changes the assumption about the default encoding for embedded TrueType
    +fonts from StandardEncoding to no known encoding.  (gdevpdft.c)
    +
    +Changes FONT_EMBED_BASE14 to FONT_EMBED_STANDARD for greater
    +descriptiveness.  (gdevpdff.h, gdevpdff.c, gdevpdft.c)
    +
    +

    Interpreter

    +
    +Fixes problems:
    +	- The same-font test for Type 1 fonts didn't correctly identify
    +re-encoded fonts with unchanged metrics.  (zfont1.c)
    +	- If a save level was split into multiple internal save objects,
    +some changes could get undone before objects were finalized.  (isave.c)
    +	- When releasing all of memory, stable allocators weren't finalized.
    +(isave.c)
    +	- Some compilers gave annoying and needless warnings about integer
    +overflow.  (store.h)
    +	- There was a signed/unsigned char * mismatch.  (iccfont.c)
    +
    +Adds a debugging procedure.  (idebug.h, idebug.c)
    +
    +Changes the Type 1 font seac_data procedure to match the new API.
    +(zchar1.c)
    +
    +

    Library

    +
    +Fixes problems:
    +	- The GC didn't know about the pointers to the tables for Indexed
    +color spaces when banding, occasionally causing the tables to be written as
    +garbage.  This is the real fix for the problem discovered in 5.96.
    +(gsiparam.h, gxclist.h, gxiparam.h, gxclimag.c, gxclist.c, gxclpath.c)
    +	- With 'async' drivers, multi-page files didn't render properly
    +(they got a rangecheck error on every page after the first one).
    +(gdevprna.c)
    +	- Some compilers still complained about end-of-loop code not being
    +reached.  (gxpath2.c)
    +	- The scaled font cache required that a font have a UID in order to
    +be a candidate for caching.  (gsfont.c)
    +	- An obsolete check caused slight discrepancies between banded and
    +non-banded output.  (gxstroke.c)
    +	- The glyph_outline procedure for TrueType fonts transformed the
    +width by the scaling matrix twice.  (gstype42.c)
    +
    +Removes some now-unnecessary extern_st declarations.  (gdevbbox.c,
    +gdevplnx.c, gximage3.c)
    +
    +Removes some initializations that read uninitialized locations and are
    +logically unnecessary.  (gsalloc.c, gscolor.c)
    +
    +Adds makefile rules for compiling the MD5 implementation.  (lib.mak)
    +
    +Makes the seac_data of a Type 1 font return the glyph and/or the actual
    +outline data.  This is necessary because some Type 1 fonts don't have the
    +accents in the same positions as StandardEncoding, but use seac anyway.
    +(gxfont1.h)
    +
    +Changes the Type 1 font interpreter to match the new seac_data API.
    +(gxtype1.c)
    +
    +
    + +
    + +

    Version 5.96 (beta) (11/12/99)

    + +

    +This is the next beta for 6.0. To meet a need of our commercial licensing +partner for a PostScript LL3 release, we are releasing this fileset with all +font handling in the PDF writer disabled, as well as high-level image +banding. This is a temporary measure: we will reinstate PDF text in 5.97, +and high-level image banding as soon as we can straighten out its memory +management problems. + +

    Incompatible changes

    +
    +(Procedures)
    +	- All Unix 'make' programs must now predefine MAKE as the name of
    +the program.
    +(Interpreter)
    +	- zcolor_remap_one now returns o_push_estack rather than 0 in the
    +case where it doesn't actually have to sample the procedure.
    +(Library)
    +	- Multi-plane halftones (when needed) are now used for all CMYK
    +devices, not only if setcolorscreen was executed.
    +	- Font implementors must now provide a same_font procedure.
    +
    +

    Documentation

    +
    +Makes it clear that gsnup.ps is very simple and naive.  (doc/Psfiles.htm,
    +lib/gsnup.ps)
    +
    +Documents the new -Z_ switch.  (doc/Use.htm)
    +
    +Documents that SYNC=nosync allows building on systems that don't support
    +multi-threading.  (doc/Make.htm)
    +
    +Adds documentation for building on Macintosh Rhapsody systems.
    +(doc/Make.htm)
    +
    +Adds a reference to the new all-arch.mak file.  (doc/Helpers.htm,
    +doc/Make.htm)
    +
    +Notes that ps2pdf does preserve the color space for images.
    +(doc/Ps2pdf.htm)
    +
    +Documents the new self-extracting archive for MS Windows.  (doc/Install.htm,
    +doc/Release.htm)
    +
    +Further improves the documentation of the PDF text machinery.  (gdevpdfx.h)
    +
    +Reorganizes the build information for Unix.  (doc/Make.htm)
    +
    +Adds information on building Ghostscript under BSDI.  (doc/Make.htm)
    +
    +Notes that versions of zlib before 1.1.3 may cause an error on rare
    +occasions.  (zlib.mak)
    +
    +Fixes a few other minor problems.  (doc/Current.htm, doc/Devices.htm,
    +doc/DLL.htm, doc/Install.htm, doc/Language.htm, doc/Make.htm,
    +doc/New-user.htm, doc/Ps2pdf.htm, doc/Source.htm, doc/Use.htm)
    +
    +

    Procedures

    +
    +Fixes problems:
    +	- dctd.dev and dcte.dev were defined in $(PSD), but referenced in
    +$(GLD).  (devs.mak, int.mak, lib.mak)
    +	- pipe.dev was defined in $(GLD), but referenced in $(PSD).
    +(bcwin32.mak, dvx-gcc.mak, msvc32.mak, unix-gcc.mak, unixansi.mak,
    +unixtrad.mak)
    +	- XLIBDIRS was included in the linker command even if none of the
    +X drivers were used.  (devs.mak, dvx-tail.mak, ugcclib.mak, unixlink.mak)
    +	- The OpenVMS makefile didn't create the obj and bin directories
    +properly.  (openvms.mak)
    +	- 'make debug' and 'make pg' didn't work on Unix systems where the
    +make program was named something other than make.  (unix-end.mak)
    +
    +Introduces a new top-level makefile macro, STDLIBS, that is -lm for all
    +reasonable platforms but null for Rhapsody.  (dvx-gcc.mak, dvx-tail.mak,
    +ugcclib.mak, unix-gcc.mak, unixansi.mak, unixlink.mak, unixtrad.mak)
    +
    +Adds Nelson Beebe's contributed multi-architecture Unix makefile.
    +(all-arch.mak)
    +
    +Makes it theoretically possible in theory to build the new Windows
    +install/uninstall program with the Borland compiler.  However, since this
    +requires Borland C++ 4.52 and we only have 4.5, this is disabled in
    +bcwin32.mak.  (bcwin32.mak, winint.mak)
    +
    +

    Utilities

    +
    +Fixes problems:
    +	- The default for gsnup.ps was 3x2 landscape, rather than 2x2
    +portrait.  (lib/gsnup.ps)
    +	- gslp.ps was broken (by the changes made to support gsnup.ps).
    +(lib/gslp.ps)
    +
    +Adds a -link switch to genconf, to allow verbatim copying of commands into
    +the linker command line.  (genconf.c)
    +
    +Edits files to add missing $Id lines and module summary comments, and to
    +delimit module summary comments from further material.  (dwinst.h,
    +dwsetup.h, dwuninst.h, bench.c, dwuninst.cpp)
    +
    +Makes it possible to build the new Windows install/uninstall program with
    +the Borland compiler.  (dwinst.cpp, dwsetup.cpp, dwsetup.def, dwsetup.rc,
    +dwuninst.cpp, dwuninst.def)
    +
    +

    Drivers

    +
    +Fixes problems:
    +	- Embedded Type 1 fonts lacked some 'def' commands.  (gdevpsd1.c)
    +	- Multiple Master Font instances weren't written out correctly.
    +(gdevpsd1.c)
    +
    +Edits files to add missing $Id lines and module summary comments, and to
    +delimit module summary comments from further material.  (gdev8bcm.h,
    +gdevht.h, gdevpccm.h, gdevpcl.h, gdevsvga.h, gdevx.h, gdev3852.c,
    +gdev8510.c, gdevadmp.c, gdevcd8.c, gdevcif.c, gdevclj.c, gdevhl7x.c,
    +gdevifno.c, gdevimgn.c, gdevl31s.c, gdevmeds.c, gdevmswn.c, gdevos2p.c,
    +gdevpe.c, gdevpm.c, gdevsj48.c, gdevtknk.c, gdevupd.c, gdevwddb.c,
    +gdevwpr2.c, gdevwprn.c)
    +
    +

    Platforms

    +
    +Fixes problems:
    +	- The pthreads wrapper had a procedure type mismatch.  We fixed this
    +by making it allocate and free a wrapper object, as the Windows wrapper
    +does.  (gp_pthr.c)
    +
    +Edits files to add missing $Id lines and module summary comments, and to
    +delimit module summary comments from further material.  (dwimg.h, dwmain.h,
    +gsdll.h, gp_msio.c, gp_mswin.c)
    +
    +Removes an unnecessary #include <semaphore.h>.  (gp_semon.c)
    +
    +Adds a module that implements semaphores using the pthreads mutex
    +facilities, as an alternative to gp_posem.c.  Unfortunately, using this
    +module causes immediate crashes on both GNU/Linux and BSDI, and we don't know
    +why.  (Let us know if you figure it out.)  (gp_ptsem.c)
    +
    +

    PDF writer

    +
    +Fixes problems:
    +	- The character and word spacing weren't recognized as being reset
    +by a PDF grestore.  (gdevpdfx.h, gdevpdfu.c)
    +	- Fonts that couldn't be embedded were always converted to bitmaps,
    +rather than becoming candidates for non-embedded representation (if
    +EmbedAllFonts is false and the font doesn't appear on the AlwaysEmbed list).
    +(gdevpdfx.h, gdevpdff.c, gdevpdft.c)
    +	- Stream-type Cos objects were written with no (0-length) data.
    +(gdevpdfm.c)
    +	- Reencoded base 14 fonts were not recognized as such, leading to
    +excessive font embedding.  (gdevpdfx.h, gdevpdf.c, gdevpdff.c, gdevpdft.c)
    +	- Fonts were embedded by default even if EmbedAllFonts was false.
    +(gdevpdft.c)
    +
    +Changes MaxSubsetPct to 35 to match Acrobat Distiller.  (gdevpsdf.h)
    +
    +Adds some tracing output (-Z_).  (gdevpdff.c, gdevpdft.c)
    +
    +Temporarily disables font handling in the PDF writer, to meet a need of our
    +commercial licensing partner.  All text will be converted to code-scrambled
    +Type 3 bitmap fonts.  (gdevpdf.c)
    +
    +

    Interpreter (PDF)

    +
    +Fixes problems:
    +	- The sh operator caused an invalidaccess error for shadings that
    +required a DataSource.  (lib/pdf_draw.ps)
    +	- The test for whether a Widget appearance was a Form or a
    +collection of sub-appearances was incorrect, causing an /undefined error in
    +the latter case.  (lib/pdf_draw.ps)
    +	- If the FontName in a Font descriptor differed from the BaseFont
    +name in the Font object, the interpreter used the two inconsistently,
    +sometimes causing the wrong font to be used.  (lib/pdf_font.ps)
    +	- ICCBased color spaces caused an error.  (lib/pdf_draw.ps)
    +
    +Works around the fact that Acrobat Distiller produces files in which a
    +Widget's Form appearance lacks Type and Subtype keys.  (lib/pdf_draw.ps)
    +
    +

    Interpreter

    +
    +Fixes problems:
    +	- Failure in allocating the name table would cause a crash.
    +(iname.c)
    +	- Shadings with procedure-based filters didn't work.
    +(lib/gs_ll3.ps, ifilter.h, zfileio.c, zfproc.c)
    +	- Some compilers complained about arithmetic on an enum.  (iparam.c)
    +	- Setting a transfer or similar function to the identity function
    +didn't set the cached values, so the setting didn't consistently take
    +effect.  (icolor.h, zcolor.c)
    +	- If the C library's implementation of sprintf with a %g format ever
    +produced a number with an exponent but no decimal point, a crash would
    +occur.  (iutil.c)
    +	- The PageDeviceName page device parameter wasn't supported.
    +(lib/gs_lev2.ps, lib/gs_setpd.ps)
    +	- A public procedure wasn't declared extern if DEBUG wasn't set.
    +(igc.h)
    +	- Because of a typo, loading resources automatically from a file
    +always failed.  (bug introduced in 5.94) (lib/gs_res.ps)
    +
    +Edits files to add missing $Id lines and module summary comments, and to
    +delimit module summary comments from further material.  (files.h, iastate.h,
    +ibnum.h, ichar.h, ifilter.h, iimage.h, iimage2.h, iparam.h, isave.h,
    +iscan.h, isstate.h, istream.h, iutil.h, opcheck.h, scanchar.h)
    +
    +Adds a font similarity testing procedure for Type 1/2/4 fonts.  (zfont1.c)
    +
    +

    Streams

    +
    +Edits files to add missing $Id lines and module summary comments, and to
    +delimit module summary comments from further material.  (sbhc.h, sbtx.h,
    +sbwbs.h, sdct.h, scfdgen.c, scfdtab.c, shcgen.h, siscale.h, sjpeg.h,
    +slzwx.h, smtf.h, spdiffx.h, spngpx.h, srlx.h)
    +
    +

    Library

    +
    +Fixes problems:
    +	- Making a transformed font inappropriately copied the font's
    +notification list.  (gsfont.c)
    +	- Some compilers complained about end-of-loop code not being
    +reached.  (gxpath2.c)
    +	- The first two arguments of scale_delta was swapped, causing
    +anomalous output for certain Type 1 fonts with curves where the starting and
    +ending points had the same X or Y coordinate.  (gxhint3.c)
    +	- Large smoothness values produced blocky output.  (gxshade.c)
    +	- When banding, in a region where a CMYK halftone had no K at all,
    +the output was likely to be black rather than the correct color.  (gxcht.c)
    +	- Interpolated images with mirrored X scaling weren't mirrored.
    +(gxiscale.c)
    +	- Interpolated images were truncated.  (gxiscale.c)
    +	- Halftone caches could have a dangling pointer to a transfer map in
    +the halftone order.  (gxht.c)
    +	- The next-character code returned for kshow was the same as the
    +current character.  (bug probably introduced in 5.86) (gstext.c)
    +	- The GC didn't know about the pointers to the tables for Indexed
    +color spaces when banding, occasionally causing the tables to be written as
    +garbage.  In the process of investigating this, we discovered that the GC
    +didn't know about *any* of the pointers in the structures used to track
    +banded images.  ****** NOT FIXED, TOO MUCH RISK OF INTRODUCING FURTHER
    +BUGS. ****** Instead, we disabled high-level image banding in this fileset.
    +(gxclimag.c)
    +
    +Changes the name of a variable from ppc to ppcr, because an Apple compiler
    +inappropriately defines the name ppc when compiling on a PowerPC.
    +(gxshade6.c)
    +
    +Edits files to add missing $Id lines and module summary comments, and to
    +delimit module summary comments from further material.  (gdevbbox.h,
    +gscoord.h, gscpixel.h, gsfname.h, gsfont.h, gsimage.h, gslib.h, gsmdebug.h,
    +gspaint.h, gspath.h, gspath2.h, gxalloc.h, gxclipm.h, gxclpage.h,
    +gxclpath.h, gxcmap.h, gxcoord.h, gxcpath.h, gxdda.h, gxdevmem.h, gxfcache.h,
    +gxfont.h, gximage.h, gxiodev.h, gxpaint.h, gxpath.h, gxpcolor.h, gzacpath.h,
    +gzcpath.h, gzht.h, gzpath.h, md5.h, gxdither.c, md5.c)
    +
    +Adds a prototype for debug_find_pointers.  (gxalloc.h)
    +
    +Adds a font procedure for testing whether two fonts are the same in various
    +ways.  This is needed so that the PDF writer can do a reasonable job of
    +identifying reencoded and renamed versions of the base 14 fonts.  (gxfont.h,
    +gsfont.c)
    +
    +Changes a macro to a procedure and improves some commenting.  (gxhint3.c)
    +
    +Changes the halftoning code so that multi-plane halftones are always used on
    +CMYK devices, even if only a single halftone is set (setscreen or
    +HalftoneType 1).  (gxcht.c, gxdither.c)
    +
    +
    + +
    + +

    Version 5.95 (beta) (11/1/99)

    + +

    +There were several new problems in 5.94, some of them severe. We hope this +beta candidate fixes them without introducing any new ones. It also fixes +some minor problems not reported in 5.93. + +

    +We think we have finally found the right workarounds for Acrobat and +specification problems so that pdfwrite output (with CompatibilityLevel +either 1.2 or 1.3) both conforms as closely as possible to the published PDF +specification and works with Acrobat Reader (3 or 4 respectively) for both +displaying and printing. + +

    +NOTE: The default level of output from the pdfwrite device (ps2pdf) has been +changed back to PDF 1.2 (Acrobat 3 compatible), because this is what the +majority of users want. For PDF 1.3 output, use -dCompatibilityLevel=1.3. + +

    +Note: some post-6.0 code is included under an #ifdef POST60. + +

    Incompatible changes

    +
    +(Drivers)
    +	- The default CompatibilityLevel in the pdfwrite device (ps2pdf) is
    +now 1.2 rather than 1.3.
    +	- pdfwrite now discards information after the last showpage rather
    +than producing an additional page.
    +(Library)
    +	- The is_monotonic procedure of a function now returns a result that
    +indicates the direction of monotonicity of each value separately.
    +	- The coordinate system used internally by the bbox device is now
    +upright (lower left corner = (0,0) rather than upper left corner).  (This
    +should not make any difference to clients, who should always have been using
    +default user space coordinate.)
    +
    +

    Documentation

    +
    +Fixes problems:
    +	- A couple of URLs were incorrect or out of date.  (doc/Readme.htm,
    +doc/Use.htm)
    +	- There was a typo in a comment.  (gxfont.h)
    +	- An old bug had been fixed, but the documentation had not been
    +updated to reflect this.  (doc/Current.htm)
    +
    +Documents the requirement to change SYNC from posync to fbsdsync on FreeBSD.
    +(doc/Make.htm)
    +
    +Adds references to Adobe's on-line documentation.  (doc/Readme.htm)
    +
    +Updates the release procedure to mention adding .ps files.
    +(doc/Release.htm)
    +
    +Adds documentation for the bbox device.  (doc/Use.htm)
    +
    +Documents the new gsnup.ps utility.  (doc/Psfiles.htm)
    +
    +Modifies the gslp utility for greater page independence and smaller output
    +files.  (lib/gslp.ps)
    +
    +Documents the fact that the default output from pdfwrite is PDF 1.2.
    +(doc/Ps2pdf.htm)
    +
    +Adds Inprise (as the new name of the Borland tools) in a few places.
    +(doc/Make.htm)
    +
    +Updates the release documentation slightly.  (doc/Release.htm)
    +
    +

    Procedures

    +
    +Fixes problems:
    +	- FreeBSD uses a different name for the pthreads implementation.
    +(lib.mak, unixansi.mak, unix-gcc.mak, unixtrad.mak)
    +
    +Encapsulates gsnogc.$(OBJ) in a gsnogc.dev module, to make it more sharable.
    +(lib.mak)
    +
    +

    Utilities

    +
    +Fixes problems:
    +	- guilsinglleft and guilsinglright were misspelled.
    +(lib/ps2ascii.ps)
    +	- The ps2pdf script didn't handle the -I switch correctly.  We fixed
    +this by including the options twice, both before and after the automatically
    +supplied options.  (lib/ps2pdf, lib/ps2pdf.bat)
    +
    +Adds an install/uninstall program for Windows 9x, including optional
    +generation of a self-extracting executable, written by Ghostgum Software Pty
    +Ltd.  This program is not actually used yet.  (msvc32.mak, winint.mak,
    +dwinst.*, dwsetup.*, dwuninst.*)
    +
    +Adds a new environment parameter to arch.h, ARCH_DIV_NEG_POS_TRUNCATES.
    +(genarch.c)
    +
    +Adds a utility for N-up printing.  (unixinst.mak, lib/gsnup.ps)
    +
    +Changes ps2pdf so that if showpage has ever been executed, any partial page
    +after the last showpage is discarded rather than made into an additional
    +page.  This is consistent with printers, and correctly handles BeginPage
    +procedures that draw backgrounds.  (gdevpdf.c)
    +
    +

    Drivers

    +
    +Fixes problems:
    +	- The TIFF drivers could produce incorrectly sorted tag tables.
    +(gdevtifs.c)
    +	- The OS/2 PM driver had an incorrect #include.  (gdevpm.c)
    +	- Embedded Type 1 fonts that used seac didn't automatically include
    +the constituent glyphs.  (gdevpsd1.c)
    +	- Embedded Type 1 fonts wrote the wrong font name in the first
    +(comment) line.  (gdevpsd1.c)
    +	- Deleting elements from the AlwaysEmbed or NeverEmbed list could
    +cause a memory access error.  (gdevpsdp.c)
    +	- The string and string array members of psdf_distiller_params were
    +omitted from the GC descriptor, causing memory corruption.  (gdevpsdf.h,
    +gdevpsdf.c, gdevpsdp.c)
    +	- When using "async" printing, the buffer device was destroyed too
    +soon.  (fix from Artifex) (gdevbmpa.c)
    +
    +Adds (partial) parsing for the new Acrobat Distiller 4.0 parameters, under
    +#ifdef POST60.  The put_params code isn't finished.  (gdevpsdf.h,
    +gdevpsdp.c)
    +
    +

    Platforms

    +
    +Changes product to productfamily as the Windows registry key.  (gp_wgetv.c)
    +
    +

    Fonts

    +
    +Fixes problems:
    +	- guilsinglleft and guilsinglright were misspelled in
    +MacRomanEncoding and MacGlyphEncoding.  (lib/gs_mro_e.ps)
    +	- plusminus was misspelled in MacGlyphEncoding.  (lib/gs_mgl_e.ps)
    +	- braceleftbt was misspelled as bracelefttbt in the Symbol font.
    +(fonts/s050000l.pfb)  ****** NOT DISTRIBUTED YET ******
    +	- euro was incorrectly included at position 240 in the Symbol
    +encoding.  (lib/gs_sym_e.ps)
    +	- Zcaron and zcaron weren't included in WinAnsiEncoding (this is new
    +for PDF 1.3).  (lib/gs_wan_e.ps)
    +	- Euro replaced currency in MacRomanEncoding.  We had to change this
    +back, even though the Mac does use code 219 for Euro, for compatibility with
    +Adobe documentation.  (lib/gs_mro_e.ps)
    +	- TrueType fonts with more glyphencoding entries than glyphs could
    +cause errors.  (lib/gs_ttf.ps)
    +
    +Adds the Adobe Central European encoding.  (lib/gs_ce_e.ps, unixinst.mak)
    +
    +Adds more tracing to the TrueType font loader.  (lib/gs_ttf.ps)
    +
    +Adds the remaining PDF Encodings to the predefined set.  (lib/gs_lgo_e.ps,
    +lib/gs_lgx_e.ps, lib/gs_mex_e.ps, lib/gs_mgl_e.ps, lib/gs_mro_e.ps)
    +
    +

    PDF writer

    +
    +Fixes problems:
    +	- When printing an error message, a pointer/length string was
    +incorrectly treated as a C string.  (gdevpdfm.c)
    +	- The treatment of text was completely broken by "improvements" made
    +in 5.94.  We think we've put things back to a state that at least isn't any
    +worse than 5.93.  (gdevpdfx.h, gdevpdff.c, gdevpdft.c)
    +	- The test for whether a glyph was present in a glyph set was wrong,
    +possibly causing an infinite loop.  (This never happened, because the code
    +was masked by other bugs.)  (gdevpdft.c)
    +	- Testing the PDF compatibility level didn't work correctly, because
    +of float/double mismatches.  (gdevpdfx.h, gdevpdfp.c)
    +	- Embedded TrueType fonts were still written in binary even if
    +ASCII85EncodePages was true.  (gdevpdff.c)
    +	- Embedded TrueType subsets didn't use Flags to indicate that they
    +had a non-standard cmap.  (gdevpdff.c)
    +	- Contrary to the obvious reading of the PDF specification, it
    +appears that the default encoding for embedded fonts, if no BaseEncoding is
    +specified, is StandardEncoding, *not* the built-in encoding of the font
    +itself; and that any differences from StandardEncoding must be listed
    +explicitly.  (gdevpdft.c)
    +
    +Adds parsing for the new Acrobat Distiller 4.0 parameters, under #ifdef
    +POST60.  (lib/gs_pdfwr.ps, gdevpdfx.h, gdevpdfp.c)
    +
    +Ensures that the Mac encodings are loaded when writing PDF.  (devs.mak)
    +
    +Works around an Acrobat 3 bug: The only cmap table that works in TrueType
    +fonts is format 0, which can only reference glyphs up to 255.  Consequently,
    +a TrueType font whose Encoding references glyphs above 255 cannot be
    +embedded (as a font).  (gdevpdft.c)
    +
    +Changes the default CompatibilityLevel from 1.3 to 1.2.  The majority of
    +users are running Acrobat 3.  (gdevpdf.c)
    +
    +

    Interpreter (PDF)

    +
    +Fixes problems:
    +	- The T* operator was changed incorrectly to use the negative of the
    +leading value.  (lib/pdf_ops.ps)
    +	- The Tz value scaled the X offset for Td and TD (which it
    +shouldn't), occasionally causing strings to be displaced horizontally.
    +(lib/pdf_ops.ps)
    +	- sc[n]/SC[N] didn't work with 1-value color spaces, because the
    +code incorrectly assumed the operand stack contained only the values on the
    +PDF operand stack.  (bug introduced by Annotation rendering in 5.94)
    +(lib/pdf_base.ps, lib/pdf_draw.ps, lib/pdf_main.ps, lib/pdf_ops.ps)
    +	- The HTP key in the graphics state caused an error if the
    +interpreter didn't implement sethalftonephase.  (lib/pdf_draw.ps)
    +	- If there was no Names tree, invalid links (string Dest values)
    +caused an error instead of being ignored.  (lib/pdf_main.ps)
    +	- An annotation with a Thread action caused an error.
    +(lib/pdf_main.ps)
    +
    +Adds table entries, but not implementation, for the op and OPM keys in
    +ExtGState dictionaries.  (lib/pdf_draw.ps)
    +
    +Works around a bug in Adobe Acrobat Distiller 4.0 for Windows: it uses the
    +value /Default with the BG, UCR, and TR keys in an ExtGState.
    +(lib/pdf_draw.ps, lib/pdf_main.ps)
    +
    +Adds additional tracing for Functions.  (lib/pdf_draw.ps)
    +
    +Implements the BG2, UCR2, and TR2 keys in ExtGStates.  (lib/pdf_draw.ps)
    +
    +

    Interpreter

    +
    +Fixes problems:
    +	- There was a (harmless) signed/unsigned mismatch.  (imainarg.c)
    +	- If build_gs_simple_font had to add any elements to the font
    +dictionary, a temporary pointer to the CharStrings could become invalid,
    +causing crashes or confusion.  (zbfont.c)
    +	- The check for known Encodings included some pseudo-Encodings.
    +(zbfont.c)
    +	- The error object wasn't reset to null before each call of the
    +interpreter, possibly causing the garbage collector to mark it even if it no
    +longer existed.  (interp.c)
    +
    +Adds productfamily as a new predefined name, for the benefit of the Windows
    +registry.  (iinit.c)
    +
    +Changes the default color smoothness to 0.02 to match Adobe RIPs.
    +(lib/gs_ll3.ps)
    +
    +Adds using the glyph_info procedure for Type 1 fonts, needed to fix the
    +problem with seac and Type 1 embedded fonts.  (zfont1.c)
    +
    +

    Library

    +
    +Fixes problems:
    +	- Memory devices that may execute RasterOp must be initialized with
    +an allocator (for temporary bitmaps), but sometimes they weren't.
    +(gdevdrop.c)
    +	- The computation of colors_used for images could cause arithmetic
    +exceptions and/or produce incorrect results.  (fix from Artifex)
    +(gxclimag.c)
    +	- A dead variable was getting incremented in a loop.  (Small
    +performance bug only.)  (gsfunc0.c)
    +	- The cached is_monotonic value in a function head was incorrectly
    +declared bool rather than int.  (gsfunc.h)
    +	- The clip operators didn't always recognize empty clipping regions:
    +sometimes they retained a 1-pixel-wide region.  (gxcpath.c)
    +	- The bbox device could get into a recursion loop if it had a
    +non-null target with a non-standard fill_path procedure.  (gdevbbox.c)
    +	- The procedure u32 was defined in two places.  (gsutil.h,
    +gdevpsdt.c, gsutil.c, gstype42.c)
    +	- The DataSource member of a sampled function wasn't reported to the
    +garbage collector.  (gsfunc0.h, gsfunc0.c)  ****** MUST DO THE SAME FOR
    +SHADINGS ******
    +	- All name-type parameters (device and other) were converted as
    +strings rather than names.  (gsparam.c)
    +	- Using a mask Pattern with an anti-aliased device could make
    +invalid memory accesses and cause a crash.  (gxpcmap.c)
    +	- math_.h was included unnecessarily.  (gxfill.c, gxhint3.c)
    +	- In a few places, (fixed-point) coordinates were truncated towards
    +zero rather than taking the floor.  (It's likely that this had no effect.)
    +(gxfill.c, gxpcopy.c)
    +	- The join and cap values weren't taken into account when dividing a
    +stroked path into bands, possibly causing some caps or joins to be dropped
    +if they fell exactly at band boundaries.  (gxclpath.c)
    +	- An arithmetic overflow in gx_adjust_if_empty could produce
    +incorrect output.  (gxfill.c)
    +	- Because the bbox device used a Y-inverted coordinate system, it
    +could produce incorrect results for out-of-bounds coordinates.  (gdevbbox.c)
    +	- The default font_info procedure didn't compute MISSING_WIDTH if
    +IS_FIXED_WIDTH wasn't requested.  (gsfont.c)
    +	- space_params wasn't managed properly, causing problems if the
    +device altered the default values.  (fix from Artifex) (gdevprn.c)
    +	- The Macintosh cmap table for embedded TrueType fonts was written
    +incorrectly.  (gdevpsdt.c)
    +	- The OS/2 table for embedded TrueType fonts could be inconsistent
    +with the cmap table.  (gdevpsdt.c)
    +	- In embedded subset TrueType fonts, loca entries beyond the last
    +occupied glyph contained garbage.  (gdevpsdt.c)
    +	- Embedded TrueType subsets didn't include the components of
    +composite glyphs.  (gdevpsdf.h, gdevpsd1.c, gdevpsdf.c, gdevpsdt.c)
    +
    +Changes the is_monotonic procedure of Functions so that it reports the
    +direction of monotonicity of each value independently.  This allows a larger
    +class of functions to be detected as monotonic.  (gsfunc.h, gsfunc0.c,
    +gsfunc3.c)
    +
    +Works around a bug in Fontographer that causes it to produce (or at least
    +allow users to produce) Type 1 fonts using seac in which the side bearing of
    +the accented character differs from the side bearing of the base glyph.  The
    +published Type 1 specification and Adobe's engineers agree that such fonts
    +are invalid, but the authors of Fontographer don't seem to care (this is the
    +4th Fontographer bug that we have had to patch around so far).  (gxtype1.h,
    +gstype1.c, gxtype1.c)
    +
    +Adds gs_productfamily, for the benefit of the Windows registry.  (gscdefs.h,
    +gscdef.c)
    +
    +Adds a glyph_info procedure for Type 1 fonts, needed to fix the problem with
    +seac and Type 1 embedded fonts.  (gxfont1.h, gxtype1.c)
    +
    +Adds a gs_resize_struct_array procedure that either allocates or resizes an
    +object.  We have wanted this for quite a while.  (gsmemory.h, gsmemory.c)
    +
    +Adds the remaining PDF Encodings to the predefined set.  Also adds string
    +names for the "real" encodings.  (gsccode.h)
    +
    +Adjusts the format of embedded TrueType fonts to be closer to that produced
    +by Acrobat Distiller, in the hope of making Acrobat Reader accept them.
    +(gdevpsdf.h, gdevpsdt.c)
    +
    +
    + +
    + +

    Version 5.94 (beta) (9/30/99)

    + +

    +This is (intended to be) the last beta candidate for the 6.0 release. Most +changes other than added documentation are bug fixes. In order to address a +last-minute problem report, we implemented a subset of Annotation rendering +for PDF files. + +

    +At the request of the Free Software Foundation, we removed support for GNU +readline from the Aladdin Ghostscript fileset. See here for more information. + +

    +We suspect that Acrobat's bugs and limitations still prevent embedded +TrueType fonts in files created by the pdfwrite device from working +properly, but we have neither the time nor the means to test this properly. + +

    Incompatible changes

    +
    +(Procedures)
    +	- For OpenVMS with MMK or MMS, the third-party libraries are now
    +located in [.<lib>] rather than [-.<lib>].
    +	- The OpenVMS makefiles now select the same set of devices as the
    +Unix makefiles.
    +	- The MS Windows and MS-DOS default installation directory is now
    +c:\Aladdin\gs#.# rather than c:\gs.
    +	- All top-level makefiles now need a definition of BUILD_TIME_GS.
    +(Drivers)
    +	- The cljet5 driver is renamed cljet5pr; there is a new cljet5
    +driver that doesn't attempt (and fail) to handle page rotation.
    +(Interpreter)
    +	- .getiodevice may return null.
    +(Library)
    +	- IODevices may now have a null name.
    +
    +

    Documentation

    +
    +Fixes problems:
    +	- The documentation of font searching was still wrong in both
    +places.  (doc/Fonts.htm, doc/Use.htm)
    +
    +Notes that certain CodeWarrior code generation options produce incorrect
    +code.  (doc/Make.htm)
    +
    +Removes an inaccurate and obsolete comment.  (lib/pdf_font.ps)
    +
    +Notes that newer versions of the SGI compiler use a different switch for
    +setting the optimization limit.  (doc/Make.htm)
    +
    +Notes that there may be code generation bugs in MSVC5 and later.
    +(doc/Make.htm)
    +
    +Documents the new Fontmap.SGI file.  (doc/Use.htm)
    +
    +Updates the documentation on installing Ghostscript on MS Windows.
    +(doc/Install.htm)
    +
    +Documents the removal of the GNU readline interface.  (doc/Current.htm,
    +doc/Make.htm)
    +
    +

    Procedures

    +
    +Fixes problems:
    +	- The instcopy script, supposed to handle incompatibilities between
    +Unix `install' commands, didn't work.  (instcopy, unixinst.mak)
    +	- The Windows makefiles had an extra occurrence of `.' at the
    +beginning of the default search path.  (bcwin32.mak, msvc32.mak,
    +msvclib.mak, watc*.mak)
    +	- The OpenVMS makefile didn't automatically create the bin and obj
    +directories if needed.  (openvms.mak)
    +
    +Changes the OpenVMS MMK/MMS makefile to expect the third-party libraries in
    +a subdirectory of the current directory, rather than a subdirectory of the
    +parent.  This makes it compatible with all the other makefiles.
    +(openvms.mmk)
    +
    +Changes the OpenVMS makefiles to select the same set of devices as the Unix
    +makefiles.  (openvms.mak, openvms.mmk, unixansi.mak)
    +
    +Changes the Windows and OS/2 default search paths to match the new
    +convention of installation rooted at c:\Aladdin.  (bcwin32.mak, msvc32.mak,
    +msvclib.mak, os2.mak, watc.mak, watclib.mak, watcw32.mak)
    +
    +

    Utilities

    +
    +Fixes problems:
    +	- The Type 1/2 CharString printer didn't handle undefined opcodes
    +correctly.  (lib/type1ops.ps)
    +	- There was no Unix script for pf2afm.  (lib/pf2afm)
    +	- The Type 1/2 font printing utilities didn't default lenIV to -1
    +for Type 2, and didn't handle lenIV = -1 correctly in some places.
    +(lib/type1ops.ps)
    +	- The font2c utility used the version of font2c.ps from whatever
    +existing Ghostscript executable was in the search path.  Fixing this
    +required adding a new parameter in all top-level makefiles, BUILD_TIME_GS.
    +(cfonts.mak, bcwin32.mak, dvx-gcc.mak, msvc32.mak, openvms.mak, openvms.mmk,
    +os2.mak, unix-gcc.mak, unixansi.mak, unixtrad.mak, watc.mak, watcw32.mak)
    +	- The pfbtopfa usage message was incorrect.  (lib/pfbtopfa.ps)
    +
    +

    Drivers

    +
    +Fixes problems:
    +	- The pswrite driver didn't reset the clipping path when writing
    +low-level images, possibly causing output to be clipped incorrectly.
    +(gdevps.c)
    +	- The PNG drivers implicitly declared png_init_io.  Fixing this is
    +only possible in libpng versions 1.0.3 and later.  (gdevpng.c)
    +	- The cljet5 driver (now cljet5pr) set rotated = true if the page
    +was rotated, but didn't set it to false if the page wasn't rotated.
    +(gdevclj.c)
    +	- Embedded Type 1 fonts didn't include any FontInfo elements.
    +(gdevpsd1.c)
    +	- Specifying the DCTEncode filter for compressing images caused a
    +crash.  This problem is hard to fix correctly because of the complicated
    +initialization requirements of the JPEG encoder.  We patched around it by
    +substituting FlateEncode (when available) for DCTEncode.  (gdevpsdi.c)
    +
    +Renames the cljet5 driver, which has special (and incorrect) hacks to handle
    +page rotation for the PCL interpreter, as cljet5pr; adds a new cljet5 driver
    +without the hacks.  (gdevclj.c)
    +
    +

    Platforms

    +
    +Fixes problems:
    +	- On MS Windows and OS/2 systems, the wstdio pseudo-IODevice showed
    +up as an instance of the IODevice resource category, causing problems.
    +(gp_msio.c, gp_os2.c)
    +
    +Adds a set of XBM/XPM icons in 4 sizes, contributed by Gintautas Grigelionis
    +(eragigr@ki.ericsson.se).  (lib/gs*.xbm, lib/gs*.xpm, unixinst.mak)
    +
    +Brings the Windows and OS/2 code up to date, fixing some minor problems.
    +(gdevpm.c, gp_os2.c, gsos2.rc, gspmdrv.rc, os2.mak, pcwin.mak)
    +
    +

    Fonts

    +
    +Fixes problems:
    +	- The font directory scanner (FONTPATH) didn't recognize TrueType
    +fonts tagged as 'true' rather than 0x00010000.  (lib/gs_ttf.ps)
    +
    +Changes the TrueType font loader to use ISOLatin1Encoding for constructing
    +the CharStrings if there is a Microsoft Unicode cmap and no glyph names in
    +the post table.  This seems like a hack, but we aren't sure what the right
    +approach would be.  (lib/gs_ttf.ps)
    +
    +Adds a Fontmap for SGI IRIX.  This just comments out those fonts that are
    +provided by DPS.  (lib/Fontmap.SGI)
    +
    +

    PDF writer

    +
    +Fixes problems:
    +	- Writing Patterns could cause a memory access error.  (bug
    +introduced recently) (gdevpdfi.c)
    +	- Filling with a pattern didn't reset the clipping path, possibly
    +causing output to be clipped incorrectly.  (gdevpdfi.c)
    +	- Patterns weren't scaled correctly.  (gdevpdfi.c)
    +	- The data for large Patterns could exceed Acrobat Reader's limit on
    +the length of a string.  (gdevpdfi.c)
    +	- copy_color did an extra gsave and concat.  (gdevpdfi.c)
    +	- Repeated color images weren't detected (performance bug only).
    +(gdevpdfi.c)
    +	- Names including control characters or spaces produced invalid
    +output.  (gdevpdfx.h, gdevpdfu.c)
    +	- A matrix multiply was in the wrong order, causing fonts with
    +non-zero translation in the FontMatrix to render at incorrect coordinates
    +(sometimes off the page).
    +	- If a font had one of the 14 standard names but had some characters
    +defined by PostScript procedures, the output file would be invalid.
    +(gdevpdft.c)
    +	- The graphics state line parameters were kept in two different
    +copies, causing bookkeeping errors.  (gdevpdfx.h, gdevpdf.c, gdevpdfd.c,
    +gdevpdfu.c)
    +	- If a page's BeginPage procedure did anything other than erase the
    +page to white, the resulting PDF file was invalid.  (gdevpdf.c)
    +	- Articles with the same title weren't merged properly.
    +(gdevpdfm.c)
    +	- The Threads element of the catalog wasn't an indirect object.
    +(gdevpdf.c)
    +	- Thread actions incorrectly converted the destination (thread
    +title) to a name, rather than leaving it as a string.  (gdevpdfm.c)
    +	- Fonts with the same name as the built-in ones, but not the
    +standard definitions, produced possibly incorrect output.  (gdevpdff.c)
    +	- The writer didn't recognize attempts to use Encodings with the
    +standard fonts that mentioned characters not present in the font's glyph
    +set.  (gdevpdft.c)
    +
    +Ensures that the WinAnsiEncoding is loaded when writing PDF.  (devs.mak)
    +
    +

    Interpreter (PDF)

    +
    +Fixes problems:
    +	- The default (identity) CMap didn't map CID 0 to glyph 0.
    +(pdf_fonts.ps)
    +	- TrueType fonts with an explicit Encoding didn't work properly.
    +(lib/gs_ttf.ps)
    +	- If an embedded Type 1 font executed definefont more than once,
    +the wrong thing would happen.  (lib/pdf_font.ps)
    +	- The T* operator used the negative of the leading value.
    +(lib/pdf_ops.ps)
    +
    +Implements a subset of Annotation rendering: only Widget annotations, only
    +Normal appearance, only S and D borders, no rounded-corner borders.  We did
    +this at the very last minute before the release, in order to respond to a
    +bug report, and it probably has some bugs.  (lib/pdf_draw.ps,
    +lib/pdf_main.ps)
    +
    +

    Interpreter

    +
    +Fixes problems:
    +	- If an input buffer boundary fell at exactly the wrong place, an
    +image whose input was coming from a stream could fail to read the stream EOD
    +marker.  (This is quite an old bug.)  (zimage.c)
    +	- On MS Windows and OS/2 systems, the wstdio pseudo-IODevice showed
    +up as an instance of the IODevice resource category, causing problems.
    +(lib/gs_res.ps, ziodev.c)
    +	- errorinfo in $error was undefined, rather than null, initially and
    +after errors that didn't set it deliberately.  (lib/gs_init.ps)
    +	- The InkParams resource category was defined even in systems that
    +didn't support in-RIP trapping.  (lib/gs_ll3.ps, lib/gs_res.ps,
    +lib/gs_trap.ps)
    +	- CID fonts with 0-length data caused an error.  (lib/gs_cidfn.ps)
    +	- Type 10 halftone dictionaries were broken -- perhaps they never
    +had worked.  (lib/gs_ll3.ps)
    +
    +Makes FontInfo entries available through the extended font API, needed to
    +allow embedded Type 1 fonts to include those entries.  (zfont1.c)
    +
    +Makes it possible to determine whether the current file is a resource file,
    +needed to allow distinguishing between built-in and input-embedded fonts.
    +(lib/gs_ccfnt.ps, lib/gs_fonts.ps, lib/gs_init.ps, lib/gs_res.ps,
    +lib/gs_type1.ps, zfont.c)
    +
    +Moves support for GNU readline from the main Ghostscript fileset to the
    +GNU-specific fileset.  (unix-gcc.mak, int.mak, gp_gnrdl.c =>
    +src/gnu/gp_gnrdl.c, gnu/src/gnudevs.mak)
    +
    +

    Streams

    +
    +Fixes problems:
    +	- The CCITTFaxDecode filter didn't correctly handle the case where
    +the last code of a 1-D row was a black code and occurred less than 7 or 8
    +bits before the end of the input stream.  (We thought we fixed this in 5.86,
    +but we missed one case.)  (scfd.c)
    +	- If an input buffer boundary fell at exactly the wrong place, an
    +image whose input was coming from a stream could fail to read the stream EOD
    +marker.  (This is quite an old bug.)  Fixing this involved a possibly risky
    +change to the definition of sbuf_min_left and the already fragile logic in
    +sreadbuf: the fix does solve this problem, but we aren't at all certain it
    +didn't introduce new ones.  (stream.h, stream.c)
    +
    +

    Library

    +
    +Fixes problems:
    +	- The default implementation of copy_tile didn't pass the bitmap id
    +for complete tiles, missing potential optimizations (performance bug only).
    +(gdevdbit.c)
    +	- The patch edges of ShadingType 7 shadings were ordered
    +incorrectly, producing incorrect output in some cases where the surface
    +folds over itself.  (gxshade6.c)
    +	- Flushing internal buffers when rendering an image didn't clip the
    +flushed data, producing incorrect output.  (gxidata.c)
    +	- Non-zero data_x values for banded images produced incorrect band
    +list data.  (It's astounding that this problem hasn't shown up before.)
    +(gxclimag.c)
    +	- Banded images rotated by 90 degrees could produce "seams" or
    +garbage if they crossed band boundaries.  (This is at least the third time
    +we have "fixed" this problem.)  (gxclimag.c, gxifast.c)
    +	- Circles or ellipses defined by pairs of 180-degree arcs produced
    +incorrect output when banding.  (gxclpath.c, gxclrast.c)
    +	- setgray et al simply cleared the Pattern pointer in the client
    +color rather than adjusting its reference count.  (gscolor.c, gscolor1.c)
    +	- The saved graphics state for bitmap/pixmap patterns contained a
    +reference to the Pattern color, causing Patterns to be retained when they
    +shouldn't be and causing unwanted recursion when freeing them.  (gsptype1.c)
    +	- Patterns containing halftoned CMYK colors rendered as all black.
    +(bug probably introduced in 5.6x) (gxcht.c)
    +	- Because of a typo, CMYK halftoning with only a single plane could
    +put too much yellow into the output.  This appears to be quite an old bug.
    +(gxdither.c)
    +	- The error code from running out of band list memory wasn't
    +propagated if the condition was detected in cmd_put_drawing_color, causing
    +low-memory recovery not to be invoked.  (gxclpath.c)
    +	- (Same error code problem) in clist_change_tile.  (gxclbits.c)
    +
    +Adds more font attributes to the set available through a standard API.
    +(gxfont.h)
    +
    +Adds more statistics to the filling algorithm.  (gxfill.c)
    +
    +Adds an is_resource flag to fonts, to indicate that they originated from a
    +resource rather than being embedded in an input file.  (gxfont.h, gsfont.c)
    +
    +
    + +
    + +

    Version 5.93 (beta) (9/11/99)

    + +

    +This is the next candidate for the 6.0 release. As with 5.92, all changes +other than added documentation are bug fixes. + +

    Incompatible changes

    +
    +(Library)
    +	- Every stream whose state includes any GC-traceable pointers must
    +now have a set_defaults procedure that clears those pointers.
    +
    +

    Documentation

    +
    +Fixes problems:
    +	- There was an extra /ul tag.  (doc/Release.htm)
    +	- Fontmap.GS wasn't mentioned as needing to be installed.
    +(doc/Install.htm)
    +	- Some documentation for the handling of seac was incorrect.
    +(gxtype1.c)
    +
    +Removes references to installbsd, which are no longer relevant.
    +(doc/Install.htm)
    +
    +Updates the information on building with NeXTSTEP.  (doc/Make.htm)
    +
    +

    Procedures

    +
    +Fixes problems:
    +	- The install command had unpredictably different syntax from one
    +"standard" Unix system to another, causing `make install' to fail.  We
    +replaced the install command with our own script.  (instcopy, dvx-gcc.mak,
    +unix-gcc.mak, unixansi.mak, unixtrad.mak)
    +
    +

    Utilities

    +
    +Fixes problems:
    +	- pcharstr.ps loaded type1ops.ps with run rather than runlibfile,
    +causing an error.  (lib/pcharstr.ps)
    +
    +

    Drivers

    +
    +Fixes problems:
    +	- Attempting to embed a font whose Encoding included characters not
    +present in the font produced invalid output.  (gdevpsd1.c)
    +	- Allocating a stream state didn't (automatically) clear all its
    +internal pointers, possibly causing GC memory access errors.  (gdevpsds.c)
    +	- An #include of string_.h should have been memory_.h.  (gdevpsdf.c)
    +
    +Disables compression for very small images.  (gdevpsdi.c)
    +
    +

    Platforms

    +
    +Fixes problems:
    +	- Compiling gp_msio with MSVC's /MD switch caused a compile-time
    +error.  (gp_msio.c)
    +
    +

    PDF writer

    +
    +Fixes problems:
    +	- A bookkeeping object was allocated with the wrong allocator,
    +possibly causing access errors or garbage output.  (gdevpdfu.c)
    +	- Certain Patterns weren't treated as such, leading to very large
    +output files.  (gdevpdfi.c)
    +	- If one of the base 14 fonts had a non-standard FontMatrix, the
    +output disregarded this fact.  This could cause double obliquing.
    +(gdevpdfx.h, gdevpdff.c, gdevpdft.c)
    +	- Articles never got an object ID assigned.  (bug introduced in
    +5.91) (gdevpdfm.c)
    +
    +

    Interpreter (PDF)

    +
    +Changes the PDF interpreter to allow abbreviated filter names like /Fl for
    +all streams, not just in-line images.  This directly contradicts the
    +published PDF specification, but Acrobat Reader allows it.
    +(lib/pdf_base.ps)
    +
    +

    Interpreter

    +
    +Fixes problems:
    +	- Compiled fonts were broken by the introduction of i_ctx_p.
    +(lib/font2c.ps, ccfont.h, iccfont.c)
    +	- Allocating a stream state didn't (automatically) clear all its
    +internal pointers, possibly causing GC memory access errors.  (zfproc.c)
    +
    +

    Streams

    +
    +Fixes problems:
    +	- Allocating a stream state didn't (automatically) clear all its
    +internal pointers, possibly causing GC memory access errors.  (scfx.h,
    +slzwx.h, spngpx.h, strimpl.h, sbwbs.c, sdctc.c, seexec.c, sfilter1.c,
    +siscale.c, szlibc.c)
    +	- The PNG predictor streams could fail to process some data at the
    +end of the input.  (spngp.c)
    +
    +

    Library

    +
    +Fixes problems:
    +	- Some obsolete definitions for Turbo C could produce references to
    +an undefined procedure (setmem) at link time.  (memory_.h, string_.h)
    +
    +
    + +
    + +

    Version 5.92 (beta) (9/2/99)

    + +

    +This is the next candidate for the 6.0 release. All changes other than +added documentation are bug fixes. + +

    Documentation

    +
    +Fixes problems:
    +	- The News for 5.91 didn't include a summary.  (doc/News.htm)
    +	- The documentation for Microsoft platforms didn't mention that you
    +must add the Ghostscript bin and lib directories to the PATH.  (doc/Use.htm)
    +
    +Adds a file describing Aladdin's process for building, testing, and
    +releasing Ghostscript.  (doc/Readme.htm, doc/Release.htm)
    +
    +

    Procedures

    +
    +Fixes problems:
    +	- Fontmap.GS is now required, but wasn't installed.  (unixinst.mak)
    +	- A couple of documentation files weren't installed.  (unixinst.mak)
    +
    +

    Utilities

    +
    +Fixes problems:
    +	- The ps2pdf script for MS Windows used the wrong name for the
    +executable.  (lib/ps2pdf.bat)
    +
    +

    Drivers

    +
    +Fixes problems:
    +	- An uninitialized variable annoyed some compilers.  (gdevpsdt.c)
    +	- The PostScript-writing driver used the wrong allocator, causing
    +possible memory access errors.  (gdevps.c)
    +	- The PostScript-writing driver didn't clear a pointer, causing
    +possible GC errors.  (gdevps.c)
    +	- The PostScript-writing driver didn't have a correct GC descriptor,
    +causing pointers to be corrupted.  (gdevpsdf.h, gdevps.c, gdevpsdf.c)
    +	- Embedded Type 1 fonts unnecessarily filled individual Encoding
    +slots with /.notdef.  (gdevpsd1.c)
    +	- A large constant produced warnings on some compilers.  (gdevpsdt.c)
    +
    +

    PDF writer

    +
    +Fixes problems:
    +	- Once again, gcc didn't complain about an ANSI-illegal extra
    +semicolon in a declaration list.  (gdevpdfo.h)
    +	- Adds a cast to work around the fact that some compilers declare
    +the return type of memchr as char * rather than void *.  (gdevpdfr.c)
    +	- The bookkeeping for whether a font had been written and freed was
    +inverted, causing some fonts to be written many times and other fonts not to
    +be written at all.  (gdevpdf.c)
    +
    +

    Interpreter

    +
    +Fixes problems:
    +	- More places needed workarounds for the alignment aliasing gcc bug.
    +The bug only occurs if a pointer variable is dereferenced through a cast to
    +a stricter alignment and then dereferenced later in its original form, so it
    +doesn't affect very many places.  (igc.c, igcref.c, isave.c)
    +
    +

    Streams

    +
    +Makes the stream GC descriptor public for subclassing.  (stream.h, stream.c)
    +
    +
    + +
    + +

    Version 5.91 (beta) (8/30/99)

    + +

    +This is the next beta for 6.0. It includes a major rewrite of the parts of +the PDF writer that deal with resources and pdfmarks, as well as the usual +bug fixes. There are still problems with embedded fonts, both TrueType +(which sometimes don't show up at all) and Type 1 (which sometimes confuse +Acrobat Reader 3). + +

    Documentation

    +
    +Fixes problems:
    +	- An HTML tag was misplaced in the News file.  (doc/News.htm)
    +
    +Notes that the Solaris FONTPATH scanning problem may be fixed.
    +(doc/Use.htm)
    +
    +

    Utilities

    +
    +Fixes problems:
    +	- Many of the margin and width computations in ps2epsi.ps (not
    +written by Aladdin) were wrong -- off by 1.  It's only because the bugs
    +masked each other or cancelled each other out that the code didn't produce
    +errors more of the time.  (lib/ps2epsi.ps)
    +
    +

    Drivers

    +
    +Fixes problems:
    +	- Font subset glyphs weren't sorted early enough, causing Type 1
    +embedded fonts to be written with inconsistent lengths.  (gdevpsd1.c)
    +
    +Changes the BMP drivers so that they set the resolution in the BMP header
    +rather than leaving it at 0.  This solves some problems reported by users,
    +but may cause others.  (gdevbmpc.c)
    +
    +

    Platforms

    +
    +Fixes problems:
    +	- A change made in 5.90 was incorrect (we couldn't test it, because
    +MS Windows and OS/2 systems can't be used over a network).  (gp_msio.c,
    +gp_os2.c)
    +
    +Adds some conditionalization to work around a bug in some recent versions of
    +gcc/egcs.  (stdpre.h, interp.c)
    +
    +

    Fonts

    +
    +Fixes problems:
    +	- If the extension of a font file name on GS_FONTPATH included any
    +upper-case characters, the font would not be found.  (lib/gs_fonts.ps)
    +
    +Allows fontmaps to contain <string> run or .runlibfile, to get rid of the
    +Fontmap -> Fontmap.GS link that VMS can't handle.  (lib/gs_fonts.ps)
    +
    +

    PDF writer

    +
    +Fixes problems:
    +	- Very long arguments for pdfmark caused an ioerror, because the
    +buffer used for converting them was fixed-length.  (lib/gs_pdfwr.ps)
    +	- pdfmarks couldn't refer to objects that hadn't been defined yet.
    +(gdevpdfx.h, gdevpdfo.c)
    +	- When a DOCVIEW pdfmark added an OpenAction key to the Catalog,
    +it omitted the / before the name.  (gdevpdfm.c)
    +	- Font resources could be written in the middle of a page contents
    +stream.  (bug introduced in 5.90) (gdevpdff.c, gdevpdfu.c)
    +	- As usual, there were some signed/unsigned char * mismatches that
    +gcc didn't detect.  (gdevpdff.c, gdevpdfm.c, gdevpdfo.c)
    +	- Fonts used on a page but freed before the end of the page were
    +omitted from the page's resource dictionary.  (gdevpdfx.h, gdevpdf.c,
    +gdevpdff.c, gdevpdft.c)
    +	- /D or /Dest keys in Action pdfmark dictionaries dropped the first
    +character of their value.  (gdevpdfm.c)
    +	- If a pdfmark added annotations to a page after the end of that
    +page had been reached, those annotations would be lost.  (gdevpdf.c)
    +	- ANN, LNK, DEST, and PS pdfmarks ignored the object name, if any.
    +(Only OBJ and BP processed the name.) Unfortunately, fixing this required a
    +complete overhaul of the way that resources and PDF objects were represented
    +internally.  The result is both simpler and more general, but it involved a
    +major upheaval in the PDF writer code.  (lib/gs_pdfwr.ps, gdevpdfo.h,
    +gdevpdfx.h, gdevpdf.c, gdevpdff.c, gdevpdfi.c, gdevpdfm.c, gdevpdfo.c,
    +gdevpdfr.c, gdevpdft.c, gdevpdfu.c)
    +	- EP pdfmarks didn't close any open text context.  (gdevpdfm.c)
    +
    +Adds debugging code to check the consistency of the embedded Type 1 font
    +writer.  (gdevpdff.c)
    +
    +Makes /A and /F at the top level of an annotation or outline pdfmark
    +equivalent to /Action and /File respectively.  See the code for more
    +information.  (gdevpdfm.c)
    +
    +

    Library

    +
    +Fixes problems:
    +	- Degenerate Bezier curves could cause a division by zero.
    +(gxpcopy.c)
    +	- Some macros used in non-FPU configurations were missing some
    +needed uses of const, and in one case an additional cast.  (gxfarith.h,
    +gxfixed.h)
    +
    +Changes the discard macro to upper-case.  (stdpre.h)
    +
    +
    + +
    + +

    Version 5.90 (beta) (8/20/99)

    + +

    +This is the first real candidate for the 6.0 release. It does not fix all +known bugs, but it includes all planned functionality. New in this fileset: +

      +
    • - FunctionType 4 for PDF files. +
    • - Alternate printer images for PDF files (-dUsePrinterImages + switch). +
    • - pdfwrite support for PDF "Cos objects" (without compression for + streams). +
    • - pdfwrite support for graphics objects named with BP/EP/SP + (without compression for the object definition). +
    • - pdfwrite font subsetting and embedded TrueType fonts. +
    + +

    Incompatible changes

    +
    +(Interpreter)
    +	- ref_stack_init now takes an additional argument.
    +	- no_time_slice_proc is removed -- use 0 instead.
    +(Library)
    +	- Notification client procedures and the gs_notify_ procedures
    +take different arguments.
    +	- The common part of a gs_function_t structure has changed.
    +	- gs_text_enum_init now returns a value that can indicate an error.
    +	- The font font_info procedure now takes an additional argument.
    +	- The IODevice open_device procedure is now defined as returning
    +0 or 1 under specific circumstances.
    +	- gxp1fill.h is renamed gxp1impl.h.
    +	- Allocators now have an additional procedure they must implement,
    +and a state member they must initialize.
    +	- Most of the gs..basic.. structure definition macros have been
    +renamed.  The ptrs1_stringsN structure definition macros are removed.
    +	- Implementations of the text API now must provide a resync
    +procedure rather than a restart procedure.
    +
    +

    Documentation

    +
    +Documents the new -dUsePrinterImages switch, and the expanded meaning of
    +-Z~.  (doc/Use.htm)
    +
    +Updates FSF's address in documentation.  (lib/Fontmap.GS, lib/Fontmap.Sol,
    +gdevcd8.c)
    +
    +Brings the PDF writer (ps2pdf) documentation up to date.  (doc/Ps2pdf.htm)
    +
    +Updates the current-release documentation.  (doc/Current.htm,
    +doc/Readme.htm)
    +
    +Updates the problem-reporting procedure for contributed drivers, and some
    +other new-user information.  (doc/New-user.htm)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- Because of a typo, the file gs_mgl_e.ps wasn't installed (on Unix
    +systems) by 'make install'.  (unixinst.mak)
    +	- The .dev files for drivers didn't depend on devs.mak.  (devs.mak)
    +	- The X driver didn't include a needed dependency on the bbox
    +device.  (devs.mak)
    +
    +Incorporates the pdfmin package into the pdf package, since pdfmin was only
    +provided for very small-memory environments and is no longer useful.
    +(int.mak)
    +
    +Adds additional prototype-checking switches, which are important on 64-bit
    +platforms and useful on all platforms, to the gcc compilation line.
    +(unix-gcc.mak)
    +
    +

    Utilities

    +
    +Fixes bugs:
    +	- A backquote was misplaced in the Unix ps2pdf script.  (lib/ps2pdf)
    +	- Some example files didn't have %! headers.  (examples/alphabet.ps,
    +examples/waterfal.ps)
    +	- ansi2knr didn't handle preprocessor directives within a function
    +header.  (ansi2knr.c)
    +
    +Cleans up some minor compiler complaints.  (genarch.c, genconf.c, echogs.c)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- The PostScript writer sometimes failed to reset the clip path,
    +causing parts of the output to be omitted or to appear incorrectly.
    +(gdevvec.c)
    +	- There was a type mismatch in a conditional.  (gdevxini.c)
    +	- A constant array wasn't declared as static.  (gdevpsdt.c)
    +	- Once again, there were some signed / unsigned char mismatches that
    +gcc apparently can't be forced to detect.  (gdevpsdt.c)
    +	- The alternative X drivers didn't have GC descriptors, which could
    +lead to memory corruption.  (gdevxalt.c)
    +	- The alternative X drivers didn't handle the closing of the
    +underlying X driver correctly, leading to a dangling pointer.  (gdevxalt.c)
    +	- Font subsetting didn't eliminate duplicate glyphs (glyphs
    +referenced more than once from the Encoding vector.)  (gdevpsd1.c,
    +gdevpsdt.c)
    +	- Type 1 font subsetting didn't ensure the presence of .notdef.
    +(gdevpsd1.c)
    +	- The embedded TrueType font writer wrote all 16-bit values
    +incorrectly.  This could explain a lot!  (gdevpsdt.c)
    +
    +Cleans up public functions with no previous prototype.  (gdevtfax.h,
    +gdevx.h, gdevdfax.c, gdevtfax.c, gdevx.c, gdevxini.c, gdevxxf.c)
    +
    +Adds some procedures to support font subsetting.  (gdevpsdf.h, gdevpsdf.c)
    +
    +Adds an alternate font name for writing TrueType fonts.  (gdevpsdt.c)
    +
    +Makes the TrueType font writer generate an OS/2 table, a Macintosh cmap, and
    +a name table (for the font name), as well as a Windows cmap and post, if
    +necessary.  (gdevpsdf.h, gdevpsdt.c)
    +
    +

    Platforms

    +
    +Updates a couple of clients for the change in the IODevice open_device
    +procedure, eliminating some undesirable externs.  (gp_msio.c, gp_os2.c)
    +
    +

    Fonts

    +
    +Adds OS/2 and maxp to the list of tables that must be preserved when loading
    +TrueType fonts.  (lib/gs_ttf.ps)
    +
    +Registers the complete lists of glyphs in the Adobe Latin fonts as
    +pseudo-encodings.  (lib/gs_lgo_e.ps, lib/gs_lgx_e.ps, unixinst.mak)
    +
    +

    PDF writer

    +
    +Fixes bugs:
    +	- One built-in font was sometimes substituted for another.
    +(gdevpdff.c)
    +	- Use of composite fonts often produced a rangecheck error.
    +(gdevpdft.c)
    +	- The structures for named objects were freed twice.  (gdevpdfx.h,
    +gdevpdf.c, gdevpdfo.c)
    +	- The code to avoid writing a blank between a Td command and
    +following text was fragile and still incorrect after being "fixed" twice.
    +We removed this minor optimization, at a small cost in file size when not
    +compressing.  (gdevpdft.c)
    +	- No Names tree was generated for named destinations specified as
    +strings.  Rather than do this, we now convert string destinations to names.
    +This doesn't scale up well, but it is simple and also is compatible with all
    +PDF versions from 1.1 on.  (gdevpdfm.c)
    +	- Fonts that define characters incrementally, such as the TrueType
    +fonts written by some versions of the AdobePS Windows driver, could omit
    +characters if embedded.  Fixing this required delaying writing out fonts
    +until the font was about to be freed or the writer was closed.  (gdevpdfx.h,
    +gdevpdff.c, gdevpdft.c)
    +
    +Cleans up public functions with no previous prototype.  (gdevpdfx.h,
    +gdevpdf.c, gdevpdfm.c)
    +
    +Updates client code for the change in gs_text_enum_init.  (gdevpdft.c)
    +
    +Makes some changes towards handling show operations that must be split up
    +internally into multiple operations using different fonts.  (gdevpdfx.h,
    +gdevpdff.c, gdevpdft.c)
    +
    +Implements the PUT pdfmark for the built-in objects (Catalog, DocInfo,
    +Page<#>, ThisPage, PrevPage, NextPage).  This required deferring writing out
    +page objects until the end of the document.  (lib/gs_pdfwr.ps, gdevpdfx.h,
    +gdevpdf.c, gdevpdff.c, gdevpdfm.c, gdevpdfo.c, gdevpdfu.c)
    +
    +Adds table entries, but not parsing, checking, or functionality, for the new
    +Acrobat 4 pdfmarks related to document logical structure.  (gdevpdfm.c)
    +
    +Implements stream-type Cos objects.  (lib/gs_pdfwr.ps, gdevpdfx.h,
    +gdevpdf.c, gdevpdfm.c, gdevpdfo.c, gdevpdfp.c, gdevpdfu.c)
    +
    +Implements BP/EP/SP pdfmarks.  (gdevpdfx.h, gdevpdf.c, gdevpdfi.c,
    +gdevpdfm.c)
    +
    +Changes enumeration and #defined names to upper case, and adds _t to type
    +names.  (gdevpdfx.h, gdevpdf*.c)
    +
    +Adds an OS/2 table for embedded fonts if missing.  (gdevpdff.c)
    +
    +Makes the allocator for the PDF device's internal structures be the stable
    +allocator of the device's allocator, not the C heap.  This required
    +correcting a number of GC descriptors.  (gdevpdfx.h, gdevpdf.c, gdevpdfu.c)
    +
    +Replaces the text restart procedure with the new resync procedure.
    +(gdevpdft.c)
    +
    +

    Interpreter (PDF)

    +
    +Fixes problems:
    +	- Failure to find a font in the Resources dictionary signalled an
    +/undefinedfont error (which does not exist) rather than /invalidfont.
    +(lib/pdf_font.ps)
    +
    +Implements FunctionType 4 functions.  (lib/pdf_draw.ps, zfunc4.c)
    +
    +Implements the -dUsePrinterImages switch to use "alternate" printer images
    +when rendering.  (lib/pdf_draw.ps)
    +
    +

    Interpreter

    +
    +Fixes problems:
    +	- Some pointers were declared as ref * that actually could be
    +ref_packed *, potentially confusing compilers that follow the new, stricter
    +ANSI C rules about alignment aliasing.  (idebug.h, idebug.c, igc.c,
    +igcref.c, zmisc.c)
    +	- cshow didn't restore the root font after executing the procedure,
    +producing incorrect results if the procedure did a setfont.  (ichar.h,
    +zcfont.c, zchar.c)
    +	- A needed const-breaking cast was omitted.  (zmisc.c)
    +	- The memory validator could cause an unaligned access.  (ilocate.c)
    +	- restore could free parts of the stacks that were still in use.  We
    +fixed this long-standing problem using the new concept of stable allocators.
    +(interp.c)
    +
    +Moves the implementation of the abs operator to C, required for FunctionType
    +4 support.  (lib/gs_init.ps, zarith.c)
    +
    +Makes more operator procedures public, required for FunctionType 4 support.
    +(zarith.c, zmath.c, zrelbit.c, ztype.c)
    +
    +Adds an additional parameter to ref_stack_init, to allow creating a
    +temporary stack without having an allocator.  (istkparm.h, istack.h,
    +interp.c, istack.c)
    +
    +Cleans up public functions with no previous prototype.  (files.h, ichar.h,
    +icstate.h, ifilter2.h, ifrpred.h, ifwpred.h, igcstr.h, iimage.h, iimage2.h,
    +iinit.h, imain.h, interp.h, iscanbin.h, ivmem2.h, oparc.h, opextern.h,
    +icontext.c, igc.c, iinit.c, imain.c, inobtokn.c, interp.c, iscan.c,
    +iscanbin.c, zchar.c, zcharout.c, zcolor.c, zcolor1.c, zcontrol.c, zdevice.c,
    +zdpnext.c, zdps.c, zfdecode.c, zfile.c, zfilter2.c, zfont0.c, zfunc0.c,
    +zfunc3.c, zfzlib.c, zgeneric.c, zht1.c, zht2.c, zimage.c, zimage2.c,
    +ziodev.c, zmath.c, zpath1.c, zupath.c, zusparam.c, zvmem.c, zvmem2.c)
    +
    +Updates client code for the tweak in the definition of the IODevice
    +open_device procedure.  (ziodev.c)
    +
    +Implements stable local and global VM allocators.  This required changing
    +more places than we would have liked.  (ialloc.c, igc.c, ilocate.c, imain.c,
    +interp.c, ireclaim.c, isave.c, zcontext.c)
    +
    +Removes the global member of gs_ref_memory_t, since it isn't used.
    +(gxalloc.h, ialloc.c, zcontext.c)
    +
    +Adds more tracing to the relocation phase of the garbage collector.
    +(igcref.c)
    +
    +

    Streams

    +
    +Fixes problems:
    +	 - jpeg_open_backing_store no longer had the correct arguments.
    +(This had no effect in practice, since the procedure was never called.)
    +(sjpegc.c)
    +
    +Cleans up public functions with no previous prototype.  (scfdgen.c,
    +scfetab.c, sjpegc.c, slzwce.c, slzwd.c, stream.c)
    +
    +Adds some tracing to the image scaling stream.  (siscale.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- A null OutputFile name could cause an error.  (gxdevice.h,
    +gsdevice.c, gsfname.c)
    +	- Shading with non-monotonic Functions produced incorrect output.
    +(gxshade1.c)
    +	- An #undef didn't match the #define it was supposed to cancel.
    +(gxchar.c)
    +	- The default next_char_glyph procedure didn't handle FROM_CHARS or
    +FROM_SINGLE_CHAR data sources.  (gstext.c)
    +	- When finalizing a forwarding device, the target pointer in the
    +device wasn't cleared, leading to an incorrect attempt to access it later.
    +(gdevnfwd.c)
    +	- Interpolated images were broken, probably since 5.81.
    +(gxiscale.c)
    +	- Some color space implementation procedures hadn't been updated to
    +add 'const' to the color space argument.  (gscie.c)
    +	- A constant had a signed/unsigned ambiguity on systems where
    +sizeof(long) > 4.  (gsccode.h)
    +	- The font font_info procedure didn't provide for scaling.
    +(gxfont.h)
    +
    +Simplifies the notification mechanism to remove the concept of client and
    +generating object.  Registration now just takes a closure (procedure +
    +opaque data); events pass the closure data and event data.  (gsnotify.h,
    +gsfont.c, gsnotify.c)
    +
    +Changes gs_notify_unregister so that it can unregister all registrations of
    +a particular client rather than only one.  (gsnotify.h, gsnotify.c)
    +
    +Adds support for "vanilla" Functions at the library level.  (gsfunc.h,
    +gsfunc.c)
    +
    +Adds some tracing for Functions.  (gsfunc3.c)
    +
    +Redefines function monotonicity to indicate whether the function is
    +increasing or decreasing, and implements monotonicity correctly for all
    +FunctionTypes except 4.  (gsfunc.h, gxfunc.h, gsfunc0.c, gsfunc3.c)
    +
    +Makes Type 0 fonts check that they are being used with a string, not a
    +character or (a) glyph(s).  (gxtext.h, gschar.c, gschar0.c, gstext.c,
    +gxchar.c)
    +
    +Cleans up public functions with no previous prototype.  (gdevmem.h,
    +gpcheck.h, gscie.h, gserror.h, gsmemory.h, gxcie.h, gxcldev.h, gxclpath.h,
    +gxcmap.h, gxcspace.h, gxfixed.h, gxfont0.h, gxp1fill.h [deleted],
    +gxp1impl.h, math_.h, std.h, gconf.c, gdevdrop.c, gdevm1.c, gdevm2.c,
    +gdevm4.c, gdevm8.c, gdevm24.c, gdevmr1.c, gdevmr2n.c, gdevprn.c, gsbittab.c,
    +gscdef.c, gscie.c, gsciemap.c, gscspace.c, gscscie.c, gsdevmem.c,
    +gsdparam.c, gshtscr.c, gsimpath.c, gsiodev.c, gsmisc.c, gsnorop.c, gspath.c,
    +gspcolor.c, gsptype1.c, gsropc.c, gsutil.c, gxacpath.c, gxclist.c,
    +gxcpath.c, gxi12bit.c, gxicolor.c, gxifast.c, gximono.c, gxiscale.c,
    +gxp1fill.c, gxpath2.c)
    +
    +Gets rid of some remaining vestiges of 16-bit ints.  (gdevm1.c, gsbitops.c)
    +
    +Adds procedures to register clients for notification when a font is freed.
    +(gxfont.h, gsfont.c)
    +
    +Defines the IODevice open_device procedure as returning 1 if it opened a new
    +stream, 0 if it returned an existing stream.  This eliminates some awkward
    +externs.
    +
    +Adds the concept of a stable allocator -- an allocator that allocates from
    +the same heap and in the same VM space as another allocator, but is not
    +subject to save and restore.  (gsmemory.h, gsmemraw.h, gsalloc.c,
    +gsmalloc.c, gsmemlok.c, gsmemret.c, gsnogc.c)
    +
    +Adds some new macros to make defining new kinds of fixed-format structures
    +simpler.  (gsstruct.h)
    +
    +Replaces the text processing restart procedure with a more general resync
    +procedure, which can be used to restart partway through a string.  We retain
    +gs_text_restart for backward compatibility and general usefulness.
    +(gstext.h, gxtext.h, gdevbbox.c, gstext.c, gxchar.c)
    +
    +Adds the Adobe Latin glyph sets as pseudo-encodings.  (gsccode.h)
    +
    +
    + +
    + +

    Version 5.88 (tester) (8/3/99)

    + +

    +This fileset adds the ability to reference and embed TrueType fonts in PDF +output. Unfortunately, even though the resulting PDF files work fine with +Ghostscript itself, Acrobat Reader apparently can't handle embedded TrueType +fonts with non-standard Encodings. We hope to fix this problem during the +6.0 beta test period. + +

    +This fileset also adds the ability to buffer X Windows output in a +client-side bitmap. This is typically more efficient than trying to push +many small commands through the X client/server knothole, especially if +bitmap images or RasterOp are involved. + +

    +Some reported problems have been deliberately left unfixed: we will need +every minute of the 13 days before the start of the 6.0 beta test period to +implement the last few items of functionality scheduled for the 6.0 release, +and we can fix problems (but not add functionality) during the beta test +period. + +

    Incompatible changes

    +
    +(Library)
    +	- The box_device member of the bbox device is replaced by the
    +box_data member, with a different meaning.
    +	- The x_rect structure is removed; all uses are changed to
    +gs_int_rect.
    +	- gdevpstr.h is renamed spprint.h.
    +	- The parameter printing procedures are moved from gdevpsdf.[hc] to
    +spsdf.[hc].
    +	- Clients must now allocate gs_font* objects using gs_font_alloc or
    +gs_font_base_alloc, not directly with gs_alloc_struct.
    +	- The first (vptr) argument of enum_ptrs procedures is now const *.
    +EV_CONST is no longer defined.
    +	- The pep argument of enum_ptrs procedures is now enum_ptr_t *
    +rather than const void **.
    +	- The font glyph_pieces procedure is replaced with an option for
    +glyph_info.
    +	- The font encode_char procedure now takes an additional glyph_space
    +argument.
    +	- The o_large flag in object headers is renamed o_alone; o_lmark and
    +o_lsize no longer exist.  The DO_LARGE and DO_SMALL macros for enumerating
    +objects in a chunk are also removed.
    +
    +

    Documentation

    +
    +Fixes problems:
    +	- News entries since 5.72 had a missing <li> in the table of
    +contents entry.  (doc/News.htm)
    +	- gs_text_params_t still referred to REPLACE_X_WIDTHS and
    +REPLACE_Y_WIDTHS rather than REPLACE_WIDTHS.  (gstext.h)
    +
    +Clarifies that the font glyph_outline procedure must append a final moveto
    +for the advance width.  (gxfont.h)
    +
    +Clarifies that the font enumerate_glyph procedure enumerates glyphs in an
    +unpredictable order.  (gxfont.h)
    +
    +Documents that reference counted freeing procedures for structures with
    +finalization must free the structure itself first rather than last.
    +(gsrefct.h)
    +
    +Updates documentation on building Ghostscript on MS-DOS and MS Windows.
    +(doc/Make.htm)
    +
    +Adds some documentation on how the makefiles are / should be structured.
    +(doc/Source.htm)
    +
    +Documents the new parameters for the X driver.  (doc/Use.htm)
    +
    +Updates the language documentation to refer properly to PostScript
    +LanguageLevel 3 and PDF 1.3. (doc/Language.htm)
    +
    +

    Procedures

    +
    +Fixes problems:
    +	- An omitted space in a makefile caused an incompatibility with the
    +VMS build utilities.  (lib.mak)
    +	- The gsindent script was omitted from the fileset.  (gsindent)
    +	- The core library didn't include stream.c, which is now required.
    +(lib.mak)
    +	- The workaround for the peculiarities of the Watcom compiler's
    +command line syntax didn't work.  (zlib.mak)
    +	- A DOS command line overflowed in the makefile.  We patched this by
    +deleting the bmpgray device from the Borland Windows platform.
    +(bcwin32.mak)
    +
    +Provides a .lnk file required by the revised linking procedures on MS
    +Windows.  (gsdll32w.lnk)
    +
    +Straightens out the Watcom makefiles so that it is possible to build a
    +Windows executable and DLL using the Watcom compiler.  This required moving
    +some parameters around in the other PC makefiles.  (bcwin32.mak,
    +msvccmd.mak, watc.mak, watcw32.mak, wccommon.mak, winint.mak, winlib.mak)
    +
    +

    Drivers

    +
    +Fixes problems:
    +	- The X driver reported the wrong parameter name for errors in the
    +value of the WindowID or .IsPageDevice parameter.  (gdevxini.c)
    +	- The X driver calculated the Y window dimension incorrectly when
    +resizing the window if X and Y resolutions were different.  (Never happens
    +in practice.)  (gdevxini.c)
    +	- The bmpasep8 device was defined as gx_device_printer rather than
    +gx_device_async.  (gdevbmpa.c)
    +	- Some casts between signed and unsigned char * were missing.
    +(gdevpdff.c, gdevpdft.c)
    +	- The PDF writer didn't handle reencoded characters properly in
    +non-embedded fonts.  (gdevpdfx.h)
    +	- The PDF writer allocated new structures while being closed,
    +causing memory corruption if the close procedure was called for
    +finalization.  (gdevpdff.c, gdevpsd1.c)
    +	- The PDF writer tried to close the resource file twice.  (bug
    +introduced since 5.50) (gdevpdf.c)
    +	- The PDF writer failed to work around a bug in Acrobat 3 Reader's
    +Print function related to re-encoded fonts.  (gdevpdft.c)
    +	- The PDF writer incorrectly specified ASCII85Encode rather than
    +ASCII85Decode for non-binary embedded fonts.  (gdevpdff.c)
    +	- The PDF writer didn't handle embedded fonts with a non-standard
    +FontMatrix correctly.  (gdevpdft.c)
    +	- The PDF writer didn't handle reassigned characters correctly.
    +(gdevpdft.c)
    +	- When embedding a Type 1 font, the PDF writer didn't check that the
    +font contains only CharStrings (no PostScript procedures), no non-standard
    +OtherSubrs, and no CDevProc.  (gdevpsd1.c)
    +	- There was an unused label in the mswinpr2 driver.  (gdevwpr2.c)
    +	- The X driver didn't flush buffered output before reading back
    +bits from the display.  (gdevx.c)
    +	- The X driver still didn't set up the color mapping tables
    +correctly -- in particular, it didn't initialize cman.color_to_rgb before
    +setting up the dither ramp or cube.  This is at least the third time we have
    +"fixed" this problem.  (gdevxcmp.c)
    +
    +Removes the remaining uses of gs_malloc, gs_free, and gs_memory_default from
    +Aladdin's non-display drivers.  (gdevbit.c, gdevbmp.c, gdevbmpa.c,
    +gdevcgm.c, gdevclj.c, gdevcljc.c, gdevdjet.c, gdevlj56.c, gdevmiff.c,
    +gdevpbm.c, gdevpcx.c, gdevpng.c, gdevpsim.c, gdevtfax.c, gdevtfnx.c,
    +gdevxalt.c)
    +
    +Adds a MaxBitmap parameter to the X driver: the driver will maintain a
    +full-window pixmap in memory if it requires no more space than MaxBitmap.
    +The default value of this parameter is 0, meaning never use a client-side
    +bitmap.  (gdevx.h, gdevx.c, gdevxini.c, gdevxxf.c)
    +
    +Moves the X device closing and get/put parameters procedures from gdevx.c to
    +gdevxini.c.  (gdevx.c, gdevxini.c)
    +
    +Removes some remaining uses of gs_malloc and gs_free from the X driver.
    +Note that this requires making the X device structure properly
    +garbage-collectable.  (gdevx.h, gsstruct.h, gdevxini.c)
    +
    +Removes the remaining uses of 'register' from the X driver.  (gdevx.c,
    +gdevxini.c)
    +
    +Removes the remaining uses of the obsolete far_data keyword from Aladdin's
    +non-PC drivers.  (gdevbmp.c, gdevbmpa.c, gdevcgm.c, gdevlj56.c, gdevmiff.c,
    +gdevp2up.c)
    +
    +Improves the X driver's algorithm for deciding when to update the screen,
    +and makes its parameters available for reading and setting.  (gdevx.h,
    +gdevx.c, gdevxini.c)
    +
    +In the X driver's color mapper, improves performance slightly by replacing
    +multiplies and divides with shifts and table lookups in the normal case of
    +standard color maps.  (gdevxcmp.h, gdevxcmp.c)
    +
    +Moves some filter-related code from the driver level to the stream level.
    +(gdevpsdf.c)
    +
    +Moves some utilities for printing values in ASCII form from the driver level
    +to the stream level.  (devs.mak, gdevpdfx.h, gdevpstr.h [deleted], gdevps.c,
    +gdevpsde.c, gdevpsdf.c, gdevpsdp.c, gdevpstr.c [deleted])
    +
    +Upgrades the PDF writer to handle TrueType fonts as well as Type 1.
    +(gdevpdfx.h, gdevpsdf.h, gdevpdff.c, gdevpdft.c, gdevpsde.c => gdevpsd1.c,
    +gdevpsdt.c)
    +
    +Starts to implement font subsetting in the PDF writer. (gdevpdfx.h,
    +gdevpsdf.h, gdevpdff.c, gdevpsd1.c, gdevpsdt.c)
    +
    +Partially implements WMode when writing font descriptors.  (gdevpdff.c)
    +
    +Changes psdf_binary_writer so that adding the ASCII85 filter in
    +psdf_begin_binary doesn't require allocating any memory.  (gdevpsdf.h,
    +gdevpsdf.c)
    +
    +Makes the PDF writer guess the Ascent and StemV values for embedded fonts
    +when it can't determine them by examining the font.  (gdevpdff.c)
    +
    +Makes the PDF writer able to handle xshow and yshow (TEXT_REPLACE_WIDTHS).
    +(gdevpdft.c)
    +
    +Updates code to reflect the addition of glyph_space to the font encode_char
    +and enumerate_glyph procedures.  (gdevpsdf.h, gdevpdff.c, gdevpdft.c,
    +gdevpsd1.c, gdevpsdf.c, gdevpsdt.c)
    +
    +Removes some unnecessary #includes.  (gdevxres.c)
    +
    +Removes the sample driver-based CRD from the variant X drivers, since this
    +created a pointless dependency.  (The `bit' drivers still provide this
    +feature, for testing.)  (gdevxalt.c)
    +
    +Changes the default compatibility level of PDF output from 1.2 (Acrobat 3)
    +to 1.3 (Acrobat 4).  (gdevpdf.c)
    +
    +

    Platforms

    +
    +Fixes problems:
    +	- A comment included an extra /*.  (gp_mswin.c)
    +	- The definitions for min and max in a couple of files disagreed
    +with the ones typically provided in system header files.  (dwimg.cpp,
    +dwtext.cpp)
    +
    +Removes some unnecessary code related to generating temporary file names.
    +(gp_iwatc.c)
    +
    +

    Fonts

    +
    +Changes the loader for TrueType fonts to keep the 'instructions', which are
    +required if the font is going to be written out in a PDF file.
    +(lib/gs_ttf.ps)
    +
    +Adds some more debugging output to the TrueType font loader.
    +(lib/gs_ttf.ps)
    +
    +Registers the MacGlyphEncoding so it can be made available to the PDF
    +writer.  (lib/gs_mgl_e.ps, lib/gs_ttf.ps, unixinst.mak, gsccode.h, ifont.h)
    +
    +

    Interpreter (PDF)

    +
    +Fixes problems:
    +	- The serif and small-caps flags in the FontDescriptor were ignored
    +when doing font substitution.  (lib/gs_fonts.ps, lib/pdf_font.ps)
    +	- The ri operator was undefined.  We added a dummy definition.
    +(lib/pdf_ops.ps)
    +	- The redefinitions of restore could cause a recursion loop.
    +(lib/gs_fform.ps, lib/gs_lev2.ps)
    +	- There was an extra gsave executed for each page, causing the
    +graphics state stack to grow deeper and deeper, which caused problems when
    +wrapping up at the end of execution.  (lib/pdf_main.ps)
    +
    +Implements the sh operator.  (lib/pdf_draw.ps)
    +
    +Works around a bug in some PDF files generated by Adobe's PDF library (?),
    +which attempt to create a font Encoding array with more than 256 elements.
    +(lib/pdf_font.ps)
    +
    +

    Interpreter

    +
    +Fixes problems:
    +	- The GNU readline completion code (which Aladdin did not write) was
    +completely wrong.  (gp_gnrdl.c)
    +	- The top-level restore sometimes tried to restore global VM an
    +extra time, leading to memory corruption.  (bug probably introduced in 5.85)
    +(isave.c)
    +	- The glyph_ref procedure was defined in two different places
    +(inconsistently).  (ichar.h, zchar.c, zchar1.c)
    +
    +Restructures the name table to improve cache coherence and to make it
    +possible to store initial name strings in ROM.  (iname.h, inamedef.h,
    +inames.h, inamestr.h, igc.c, iname.c, isave.c)
    +
    +Changes the scanner so it doesn't copy name strings when scanning a compiled
    +init string.  This reduces RAM requirements by about 20K when using compiled
    +initialization.  (iscan.c)
    +
    +Removes redundant FontBBox correction code, since this is now handled by the
    +library.  (zfont42.c)
    +
    +Updates the Type 1 and Type 42 font code to implement the new font
    +procedures.  (icharout.h, zcharout.c, zchar1.c, zchar42.c, zfont1.c,
    +zfont42.c)
    +
    +Simplifies the code that checks whether a grestore needs to do a
    +setpagedevice.  (zdevice2.c)
    +
    +Updates code to reflect the change of the vptr argument of enum_ptrs
    +procedures to const *.  (igcref.c)
    +
    +Updates code to reflect the change in the pep argument of enum_ptrs
    +procedures to enum_ptr_t *.  (igc.h, iscan.h, istruct.h, igc.c, igcref.c,
    +ilocate.c, iscan.c)
    +
    +Updates code to reflect the addition of glyph_space to the font encode_char
    +and enumerate_glyph procedures.  (bfont.h, ifont.h, zbfont.c, zfont1.c,
    +zfont32.c, zfont42.c)
    +
    +Cleans up some code details.  (idebug.h, ifunc.h, iparray.h, istream.h,
    +zfunc.c)
    +
    +Removes some no longer needed test code.  (zfont1.c)
    +
    +Updates memory manager code to reflect the change from o_large to o_alone.
    +(igc.c, igcref.c, ilocate.c, isave.c)
    +
    +Changes the printed font substitution message to be closer to what some
    +Adobe products print if SHORTERRORS is defined.  (Thanks to Andrew Chilvers
    +for the suggestion.)  (lib/gs_fonts.ps)
    +
    +

    Streams

    +
    +Fixes problems:
    +	- The fix in 5.85 for ASCII85Encode EOLs was wrong and caused a word
    +of data to be dropped occasionally.  (sfilter2.c)
    +
    +Moves some filter-related code from the driver level to the stream level.
    +(stream.h, stream.c)
    +
    +Moves some utilities for printing values in ASCII form from the driver level
    +to the stream level.  (lib.mak, spprint.h, spsdf.h, spprint.c, spsdf.c)
    +
    +Adds some more tracing output for image scaling.  (siscale.c)
    +
    +

    Library

    +
    +Fixes problems:
    +	- The bbox device's check for whether a rectangle filled the entire
    +page was wrong.  (gdevbbox.c)
    +	- The bbox device didn't correctly handle parallelograms, triangles,
    +or thin lines with points specified in other than ascending order.
    +(gdevbbox.c)
    +	- The bbox device smashed the reference count of the text enumerator
    +it created, causing a memory leak.  (gdevbbox.c)
    +	- The bbox device didn't copy back all the dynamic information from
    +a subsidiary text enumerator, with unpredictable results.  (gxtext.h,
    +gdevbbox.c, gstext.c)
    +	- The default implementation of glyph_info for fonts incorrectly
    +reported that it returned values for all members, not just the ones it knew
    +about.  (gsfont.c)
    +	- The profiling implementation of memset was incorrect, leading to
    +memory smashing.  (gsmisc.c)
    +	- The default implementation of glyph_info had a memory leak.
    +(gsfont.c)
    +	- The default implementation of character rendering didn't correctly
    +handle the case where the character was in the cache and only the character
    +width was requested.  (gxchar.c)
    +	- Text processing didn't correctly handle REPLACE_WIDTHS if the X
    +and Y width arrays were different.  (The PostScript interpreter never does
    +this.)  (gstext.h, gstext.c, gxchar.c)
    +	- Compositing devices weren't initialized properly, leading to
    +invalid accesses.  This is the last (?) bit of the device reference counting
    +bug tail.  (gsalphac.c, gsropc.c)
    +
    +Changes the bbox device to make the procedures for managing the bounding box
    +virtual, so the X device can be a subclass.  (gdevbbox.h, gdevbbox.c)
    +
    +Changes the bbox device so it always adds the bounding box after doing the
    +drawing operation rather than before, for the benefit of the buffering X
    +device.  (gdevbbox.c)
    +
    +Removes some remaining uses of gs_memory_default.  (gdevdrop.c)
    +
    +Removes all uses of the obsolete far_data keyword from the library.
    +(gconf.c, gdevbbox.c)
    +
    +Changes the bbox device so it doesn't run drawing algorithms twice if it has
    +a target that uses the default implementation.  (gdevbbox.c)
    +
    +Speeds up the implementation of fill_rectangle for 16-bit memory devices.
    +(gdevm16.c)
    +
    +Makes TrueType fonts implement the new font procedures.  (gxfont42.h,
    +gxmatrix.h, gsmatrix.c, gstype42.c)
    +
    +Adds a gs_id to gs_font objects, so that fonts with the same name can be
    +distinguished reliably without relying on the address.  (gxfont.h, gsfont.c)
    +
    +Makes the vptr argument of enum_ptrs procedures be const *.  This is a
    +long-overdue change.  (gsstype.h, gxxfont.h, gsalloc.c, gsfont.c,
    +gsmemory.c) ****** REDO THE CONST-BREAKING CASTS IN gsfont.c ******
    +
    +Changes the pep argument of enum_ptrs from const void ** to enum_ptr_t *, to
    +get rid of some hacks in enum_ptrs implementations that had to construct
    +temporary gs_strings.  (gsstruct.h, gsstype.h, gstext.h, gsalloc.c,
    +gscolor2.c, gsfont.c, gsmemory.c, gstext.c)
    +
    +Adds a general mechanism that provides for an arbitrary number of clients to
    +be notified when an event occurs.  For the moment, we only use it to notify
    +PDF writers when a font is about to be freed.  (gsnotify.h, gsnotify.c)
    +
    +Makes fonts use the new notification mechanism to notify clients when the
    +font is about to be freed.  (gxfont.h, gsfont.c)
    +
    +Adds a gs_text_set_cache procedure to parallel restart and retry.
    +(gstext.h, gxtext.h, gstext.c)
    +
    +Adds a glyph_space argument to the font encode_char and enumerate_glyph
    +procedures, so that clients can choose between glyph names and glyph indices
    +in environments that use both.  (gsccode.h, gxchar.h, gxfont.h, gxfont42.h,
    +gsfont.c, gstype42.c, gxchar.c)
    +
    +Changes the bbox device so it optionally considers white to be opaque.
    +(gdevbbox.h, gdevbbox.c)
    +
    +Cleans up some code details.  (gshsb.h)
    +
    +Adds a hack to suppress warning messages from the Watcom compiler about
    +testing constant values.  (stdpre.h)
    +
    +Replaces the glyph_pieces font procedure with a GLYPH_INFO_PIECES option for
    +glyph_info.  (gxfont.h, gxfont42.h, gsfont.c, gstype42.c)
    +
    +Adds a font_info font procedure, similar to glyph_info but giving
    +information about the font as a whole.  (gxfont.h)
    +
    +In order to fix a bug in resizing large objects, gets rid of the concept of
    +large objects entirely, replacing it with the concept of an 'alone' object
    +that is guaranteed to be the only object in its chunk.  (gxalloc.h, gxobj.h,
    +gsalloc.c)
    +
    +Adds some more tracing output for interpolated images.  (gxiscale.c)
    +
    +Adds a _long parameter setting procedure to parallel _bool, _enum, and _int.
    +(gsparamx.h, gsparamx.c)
    +
    +
    + +
    + +

    Version 5.87 (tester) (6/29/99)

    + +

    +In this fileset, the pdfwrite device finally handles general Type 1 fonts, +and can write them in both embedded and non-embedded form. This fileset +also contains a few more changes to the text API, and some incompatible +changes to the gs_font procedure vector: more such changes are likely. It +also fixes a couple of long-standing pdfmark bugs. + +

    +NOTE: there are known problems in PDF output with non-embedded fonts (fonts +represented only by a descriptor): some characters will be missing, and +because of bugs in Acrobat's Print function, even more characters will be +missing or wrong when printing from Acrobat. We will fix our problems, and +work around Acrobat's bugs, in the next couple of filesets. + +

    Incompatible changes

    +
    +(Library)
    +	- Text enumerators now have a release procedure.
    +	- gx_device_text_begin no longer stores its arguments into the
    +enumerator: the driver text_begin procedure must do this.
    +	- The argument list for the font encode_char procedure no longer
    +includes the enumerator, and the second argument is now a gs_char rather
    +than a gs_char *.
    +	- The font next_char procedure is removed.  (It has been obsolete
    +for a while.)  The next_glyph procedure is renamed next_char_glyph.
    +	- The first argument of the font init_fstack, build_char, and
    +next_glyph procedures is changed from gs_show_enum * to gs_text_enum_t *.
    +	- gx_font_stack[_item] is renamed gx_font_stack[_item]_t.
    +	- New font procedures have been added, of which two (enumerate_glyph
    +and glyph_outline) are required.  The font procedure vector has been
    +reorganized.
    +	- The Type 1 font next_glyph procedure is replaced by the gs_font
    +enumerate_glyph procedure.
    +	- psdf_embed_type1_font is renamed psdf_write_type1_font, and has
    +an additional argument.
    +	- psdf_alloc_param_printer takes slightly different arguments;
    +print_binary_ok and print_ASCII85_ok are now upper-case.
    +
    +

    Documentation

    +
    +Reorganizes the driver API documentation slightly, documents the fact that
    +get_alpha_bits and draw_line are obsolete, and documents the driver text
    +API.  (doc/Drivers.htm)
    +
    +Documents an additional Irix configuration where the compiler doesn't work.
    +(doc/Make.htm)
    +
    +

    Procedures

    +
    +Moves the %pipe% IODevice into lib.mak, since it is now included on Windows
    +as well as Unix.  (lib.mak, unix-aux.mak)
    +
    +Adds the bmpgray driver to all platforms that include the other BMP drivers.
    +(bcwin32.mak, msvc32.mak, os2.mak, unix-gcc.mak, watc.mak, watcw32.mak)
    +
    +

    Drivers

    +
    +Fixes problems:
    +	- The PS and PDF writers didn't maintain the font embedding lists
    +correctly.  (gdevpsdp.c)
    +	- The CreationDate in PDF output was always set to the current date,
    +and couldn't be set with a pdfmark.  We now don't set CreationDate at all,
    +since it is supposed to be the creation date of the original document, not
    +of the PDF file.  (gdevpdfm.c, gdevpdfu.c)
    +	- The Producer in PDF output couldn't be set with a pdfmark.
    +(gdevpdfx.h, gdevpdf.c, gdevpdfm.c, gdevpdfu.c)
    +	- pdfmarks with /Action /GoTo incorrectly retained the Action key.
    +(gdevpdfm.c)
    +	- pdfmarks didn't substitute /Dest => /D or /File => /F correctly.
    +(gdevpdfm.c)
    +
    +Updates the PDF writer to use the new text API rather than the show
    +pseudo-parameter.  (gdevpdfx.h, gdevpdf.c, gdevpdfp.c, gdevpdft.c)
    +
    +Changes pdf_open_document so that it opens the document even if some
    +resources have been allocated.  (gdevpdf.c)
    +
    +Splits off pdfwrite utilities from top-level control, since the file was
    +getting too big.  (gdevpdfx.h, gdevpdf.c, gdevpdfu.c)
    +
    +When writing PDF, avoids resetting the word spacing parameter if the string
    +doesn't contain any spaces, and the character spacing parameter if the
    +string has no more than 1 character.  (gdevpdft.c)
    +
    +Splits off PDF font handling from text handling, since the file was getting
    +too big.  (gdevpdfx.h, gdevpdff.c, gdevpdft.c)
    +
    +Implement both embedded and non-embedded fonts beyond the base 14 in the PDF
    +writer.  This code doesn't work very reliably yet.  (gdevpdfx.h, gdevpdff.c,
    +gdevpdft.c)
    +
    +Adds a bmpgray driver that produces 8-bit gray-scale output.  (devs.mak,
    +gdevbmp.c)
    +
    +Updates the PDF writer for changes in the gs_font procedure vector.
    +(gdevpdff.c, gdevpdft.c)
    +
    +Updates the Type 1 font writer for changes in the gs_font procedure vector,
    +and adds some output options.  (gdevpsdf.h, gdevpsde.c)
    +
    +Changes the printing parameter list implementation to take all of its
    +parametric arguments in the params structure, and changes the names of the
    +options.  (gdevpsdf.h, gdevpsde.c, gdevpsdf.c, gdevpdff.c, gdevpdfi.c,
    +gdevpdfu.c)
    +
    +

    Interpreter (PDF)

    +
    +Fixes problems:
    +	- Indexed color spaces didn't allow the base space to be an indirect
    +reference.  (lib/pdf_draw.ps)
    +	- The CS and cs operators didn't accept a literal color space name
    +(as opposed to a color space resource name).  (lib/pdf_draw.ps)
    +	- Some PDF 1.2 files had a SM entry in graphics state dictionaries,
    +even though this is not documented and requires a LL3 interpreter.
    +(lib/pdf_draw.ps)
    +	- Generated font names included a % character, which could cause
    +problems for ps2pdf.  (lib/pdf_font.ps)
    +
    +

    Interpreter

    +
    +Fixes problems:
    +	- The calculation of the final index when enumerating the pointers
    +in a context state was incorrect.  (source bug only, no effect on execution)
    +(icontext.c)
    +
    +Updates the interpreter's glue code for the changes in the PDF writer.
    +(lib/gs_pdfwr.ps)
    +
    +Updates a client to use gs_font_alloc.  (zbfont.c)
    +
    +Updates clients for changes in the gs_font procedure vector.  (zbfont.c,
    +zchar1.c, zfont0.c, zfont1.c, zfont32.c)
    +
    +Updates a client for the change to psdf_write_type1_font.  (zfont1.c)
    +
    +

    Library

    +
    +Fixes problems:
    +	- Some code used rc_decrement_only instead of gx_device_retain.
    +(Stylistic bug only.)  (gschar.c)
    +	- The finalize procedure for the character cache device could get
    +unset and/or the retained flag cleared, leading to a reference count not
    +getting decremented.  (gxccman.c)
    +	- Allocating a show enumerator didn't clear the show_gstate member.
    +(Probably no effect in practice.)  (gschar.c)
    +	- Cleaning up at the end of text processing was not consistent and
    +sometimes didn't get done. The old API used explicit and separate client
    +allocation (gs_show_enum_alloc), release (gs_show_enum_release), and freeing
    +(gs_free_object); release, but not free, was automatic at the end of
    +processing (in show_finish).  The new API has allocation in gs_text_begin or
    +gx_device_text_begin, no implicit release or free, and a single
    +gs_text_release call to handle both release and free.  Reconciling these
    +required adding an auto_release flag in the gs_show_enum structure to
    +indicate which API was used to create it, and a release procedure.  (The
    +auto_release flag is only needed for backward compatibility with clients
    +that use the old API.  Ghostscript itself no longer has such clients, but
    +the PCL interpreters do.)  (gxchar.h, gxtext.h, gdevbbox.c, gschar.c,
    +gstext.c, gxchar.c)
    +	- We were burned once again by gcc's acceptance of private/public
    +procedure mismatches.  (gxchar.c)
    +	- A line break was missing between the return type and a procedure
    +name.  (gsstate.c)
    +	- Show enumerators had an incorrect GC descriptor.  (gxchar.c)
    +	- Text enumerators didn't terminate their list properly.  (gstext.c)
    +
    +Adds a debugging procedure that finds all the pointers to an object.  This
    +uses the GC's pointer enumeration procedures, so it will only work if all
    +structures have correct GC descriptors.  (Of course, we think this is true
    +of all of Ghostscript.)  The current implementation doesn't trace refs.
    +(gsalloc.c)
    +
    +Removes remaining references from gxchar.c to procedures defined in
    +gschar.c.  The standard Ghostscript build now no longer needs gschar.c,
    +although we will keep it for the moment for backward compatibility.
    +(gschar.c, gxchar.c)
    +
    +Removes an obsolete reference to gs_show_enum.  (gstype1.h)
    +
    +Adds definitions for the built-in encoding indices.  (gsccode.h, gxfont.h,
    +gxxfont.h)
    +
    +To make text_begin implementations callable, requires them, rather than
    +gx_device_text_begin, to save their parameters in the enumerator structure.
    +(gxtext.h, gstext.c, gxchar.c)
    +
    +Adds a TEXT_DO_CHARWIDTH alternative to the text operation, to just advance
    +the current point by the character width (stringwidth rmoveto).  (gscpm.h,
    +gstext.h, gxchar.c, gxpath.c)
    +
    +Adds procedures to allocate and initialize fonts.  (gxfont.h, gsfont.c)
    +
    +Starts to revise the gs_font procedure vector to create a real "font socket"
    +API, adding several new procedures.  This is a NON-BACKWARD-COMPATIBLE
    +change, and there probably are more to come.  (gxchar.h, gxfont.h, gsfont.c,
    +gstext.c, gxchar.c)
    +
    +Moves the Type 0 font stack from gs_show_enum to gs_text_enum_t, and renames
    +its types to gx_font_stack_[item_]t.  Also moves cmap_code.  (gxchar.h,
    +gxtext.h, gschar0.c, gstext.c, gxchar.c)
    +
    +Moves the glyph enumeration procedure from Type 1 fonts to general fonts,
    +changing its name to enumerate_glyph.  (gxfont1.h)
    +
    +Changes the debugging code for reference counting to call procedures, to
    +allow better breakpointing.  (gsrefct.h, gsmemory.c)
    +
    +
    + +
    + +

    Version 5.86 (tester) (6/14/99)

    + +

    +This fileset includes the first batch of changes for the new driver-based +text API. Unfortunately, a few of them are non-backward-compatible. +WARNING: This API is UNSTABLE and should not be used yet. This includes the +APIs and structures in gxtext.h, and to a lesser extent those in gstext.h. + +

    Incompatible changes

    +
    +(Interpreter)
    +	- The default initialization of fonts now sets next_glyph rather
    +than next_char.
    +(Library)
    +	- The font argument of the driver text_begin procedure is no
    +longer declared as const.
    +	- Text enumerators now have a is_width_only and current_width
    +procedures; the restart procedure is renamed retry, and there is a new
    +restart procedure that does something different.
    +	- The scale member of gs_text_enum_t is renamed log2_scale.
    +	- gs_show_restore_font is removed.
    +	- The current_char, current_glyph, width, and log2_current_scale
    +members of gs_show_enum are removed (replaced by members of gs_text_enum_t).
    +	- The current_width member of gs_text_enum_t is removed.
    +	- Replaces TEXT_REPLACE_{X,Y}_WIDTHS with a single
    +TEXT_REPLACE_WIDTHS.
    +
    +

    Documentation

    +
    +Fixes a number of outdated URLs.  (doc/Devices.htm, doc/Fonts.htm,
    +doc/Install.htm, doc/Language.htm, doc/Make.htm, doc/New-user.htm)
    +
    +Documents the name change from gs_iso_e.ps to gs_il1_e.ps.
    +(doc/Psfiles.htm)
    +
    +Documents the fact that a double % may be needed on MS systems.
    +(doc/Use.htm)
    +
    +Documents that reversepath discards a trailing moveto, for compatibility
    +with Adobe implementations.  (gxpath2.c)
    +
    +

    Procedures

    +
    +Fixes problems:
    +	- Some punctuation was omitted that affects builds on VMS systems.
    +(gs.mak)
    +	- 'make install' didn't install doc/History5.htm.  (unixinst.mak)
    +	- The Borland makefile put some generated files in the top-level
    +directory rather than the build directory.  (bcwin32.mak)
    +
    +Updates the Unix install script for the name change of gs_iso_e.ps.
    +(unixinst.mak)
    +
    +Moves the GNU-licensed drivers to a separate makefile.  (contrib.mak,
    +gnu/src/gnudevs.mak)
    +
    +Adds pipe.dev to the BC++, MSVC++, and OS/2 (GCC/EMX) platforms.
    +(bcwin32.mak, dvx-gcc.mak, msvc32.mak, msvclib.mak)
    +
    +

    Utilities

    +
    +Fixes problems: - The usage message for pdf2ps was incorrect.  (lib/pdf2ps,
    +	lib/pdf2ps.bat)
    +
    +

    Drivers

    +
    +Removes all remaining uses of #define'd casts in connection with ENUM_PTRS
    +and RELOC_PTRS procedures.  (gdevpdf.c, gdevpdfo.c)
    +
    +Adds a user-contributed driver for the Oki Data OkiPage 4w+ LED printer.
    +This is a GPL'ed driver.  (contrib.mak, gnu/src/gdevop4w.c)
    +
    +

    Platforms

    +
    +Adds a %handle% IODevice (mshandle.dev) to recognize file names of the form
    +%handle%NNNNNNNN under MS Windows.  GSview uses this feature in place of
    +pipes, which are an open industry standard not supported by MS Windows.
    +(msvc32.mak, winlib.mak, gp_mshdl.c)
    +
    +

    Fonts

    +
    +Adds the ISO 8859-2 encoding to the stock of built-in encodings.
    +(lib/gs_il2_e.ps, lib/gs_iso_e.ps => lib/gs_il1_e.ps)
    +
    +

    Interpreter (PDF)

    +
    +Fixes problems:
    +	- Using a colored pattern with an uncolored Pattern color space
    +caused an error.  (lib/pdf_draw.ps)
    +	- Embedded CIDFontType 2 fonts didn't work, and embedded TrueType
    +fonts did an extra definefont.  (lib/gs_ttf.ps, lib/pdf_font.ps,
    +lib/pdf_ops.ps) ****** IN PROGRESS ******
    +
    +

    Interpreter

    +
    +Fixes problems:
    +	- Some files hadn't been updated for the removal of the gs_imemory
    +static.  (int.mak, gp_gnrdl.c, imain.c, ztrap.c)
    +	- %statementedit could append a spurious character if the last
    +character of the statement was not whitespace.  (bug probably introduced in
    +5.8x) (ziodev.c)
    +	- The show operators didn't properly handle the special case of
    +executing within a cshow procedure for a non-CID font.  (zchar.c)
    +	- cshow applied to a composite font didn't scale the current font
    +correctly (in fact, at all).  (zcfont.c)
    +	- If an error occurred within the procedure called by
    +resourceforall, it wasn't reported.  (lib/gs_res.ps)
    +	- flushfile and closefile didn't correctly handle filters that only
    +write a fixed amount of data.  (zfileio.c)
    +	- cshow didn't restore the font reliably after executing the
    +procedure.  (ichar.h, zcfont.c, zchar.c)
    +	- An execstackoverflow error might temporarily leave the execution
    +stack in an invalid state.  (interp.c)
    +
    +Cleans up some macros.  (iname.c, isave.c, iscan.c)
    +
    +Removes all remaining uses of #define'd casts in connection with ENUM_PTRS
    +and RELOC_PTRS procedures.  (icontext.c, iname.c, isave.c, iscan.c,
    +istack.c, zcontext.c, zfproc.c)
    +
    +Adds a run-time warning message if gp_gnrdl.c is included in a non-GNU
    +build.  (gp_gnrdl.c)
    +
    +Converts clients to use the gs_text procedures that replace the gs_show
    +procedures, and to use gs_text_enum_t rather than gs_show_enum as the
    +enumerator type.  (ichar.h, zbfont.c, zcfont.c, zchar.c, zchar1.c,
    +zchar32.c, zchar42.c, zcharout.c, zcharx.c, zfont.c, zfont0.c, zfont1.c,
    +zfont32.c, zimage.c, zimage2.c)
    +
    +Updates the initialization code for the name change of gs_iso_e.ps.
    +(lib/gs_init.ps)
    +
    +Splits off the definitions relating to name indices, in anticipation of
    +defining some name indices statically.  (inamedef.h, inameidx.h, iname.c)
    +
    +

    Streams

    +
    +Fixes problems:
    +	- The pixel-difference filters didn't initialize the previous sample
    +to 0 at the beginning of each row.  (spdiff.c)
    +	- The CCITTFaxDecode filter didn't correctly handle the case where
    +the last code of a row occurred less than 7 or 8 bits before the end of the
    +input stream.  (scf.h, shc.h, scfd.c)
    +	- Flushing filters didn't work.  (stream.c)
    +	- The DCTEncode filter gave an error if asked to write to a string
    +with less than 100 bytes of free space left when the end of the input data
    +was reached.  (sdct.h, sdcte.c)
    +
    +Removes all remaining uses of #define'd casts in connection with ENUM_PTRS
    +and RELOC_PTRS procedures.  (stream.c)
    +
    +Changes the ASCII85Encode stream to reliably insert a newline at least once
    +every 80 characters, rather than unreliably after at most 80 characters of
    +data.  (sfilter2.c)
    +
    +Cleans up some formatting.  (stream.c)
    +
    +

    Library

    +
    +Fixes problems:
    +	- A client wasn't updated for the change in the declaration of
    +gx_dht_proc.  (bug introduced in 5.84) (genht.c)
    +	- When rendering a 12-bit-per-sample color image, the device color
    +wasn't initialized, possibly causing a memory access error when comparing
    +the current color with the previous one.  (gxi12bit.c)
    +	- arch_floats_are_IEEE was incorrectly defined as
    +arch_floats_are_ieee.  (bug introduced in 5.83) (std.h)
    +	- Decoding of IEEE floats on non-IEEE systems was wrong.  (ibnum.c)
    +	- The fast case of masked images in Pattern color spaces didn't
    +work.  (bug introduced since 5.50) (gxifast.c)
    +	- cshow gave an error if there was no current point.  (gxchar.c)
    +
    +Replaces TEXT_REPLACE_{X,Y}_WIDTHS with a single TEXT_REPLACE_WIDTHS.
    +(gstext.h, gstext.c)
    +
    +Cleans up some macros.  (gdevddrw.c, gsfont.c, gsht1.c)
    +
    +Removes all remaining uses of #define'd casts in connection with ENUM_PTRS
    +and RELOC_PTRS procedures.  (gdevddrw.c, gdevplnx.c, gsalloc.c, gschar.c,
    +gscolor.c, gscolor2.c, gscrd.c, gscsepr.c, gscspace.c, gsdevice.c, gsdsrc.c,
    +gsfcmap.c, gsfont.c, gsfont0.c, gsht1.c, gshtscr.c, gsimage.c, gspcolor.c,
    +gsptype1.c, gsstate.c, gstext.c, gxcmap.c, gxht.c, gxipixel.c, gxmclip.c,
    +gxtype1.c)
    +
    +Adds gs_c_param_list_write_more, to switch a C parameter list back to write
    +mode without clearing it.  (gsparam.h, gscparam.c)
    +
    +Adds gs_grestore_only, to do a grestore without requiring 2 entries on the
    +graphics state stack.  (gsstate.h, gsstate.c)
    +
    +Completes a first bridge between the new driver text_begin procedure and the
    +existing text API defined in gschar.h.  The changes are backward-compatible
    +for both clients of the APIs and (the few) implementors of text_begin,
    +except that the font argument of text_begin is no longer const.  Note that
    +gschar.h is no longer used by any client, and in fact is deprecated.
    +(gschar.h, gstext.h, gxfcache.h, gxtext.h, gzstate.h, gdevbbox.c,
    +gdevnfwd.c, gschar.c, gsfont.c, gsfont0.c, gstext.c)
    +
    +Mostly splits off the existing text procedures from the default
    +implementation of the new text facilities.  (lib.mak, gxchar.h, gschar.c,
    +gxchar.c)
    +
    +Makes the structure descriptor for gs_state public, for testing in gxchar.c.
    +(gzstate.h, gsstate.c)
    +
    +Adds is_width_only and current_width procedures to the text enumerator;
    +renames restart as retry, and adds a restart procedure for restarting with
    +different parameters.  (gstext.h, gxtext.h, gdevbbox.c, gschar.c, gstext.c,
    +gxchar.c)
    +
    +Makes the masks for the subgroups of text operation parameters public.
    +(gstext.h)
    +
    +Removes members of gs_show_enum that are superseded by members of
    +gs_text_enum_t: current_char, current_glyph, width, and log2_current_scale.
    +(gxchar.h, gxchar.c)
    +
    +Adds aliases for popen and pclose under WIN32.  (pipe_.h)
    +
    +Moves gs_incachedevice from gschar.h to gsstate.h.  (gschar.h, gsstate.h)
    +
    +
    + +
    + +

    Version 5.85 (tester) (5/29/99)

    + +

    +This fileset removes a few more writable statics, and adds uniform support +for %filedevice%filename syntax in OutputFile. Unfortunately, removing the +static that held the interpreter's allocator group was almost as much of an +upheaval as removing the statics for the interpreter stacks. + +

    Incompatible changes

    +
    +(Interpreter)
    +	- context_state_alloc now takes an additional parameter, as do
    +obj_cvp, make_packed_array, parse_real_file_name, ref_stack_store,
    +sread/write_proc, terminate_file_name, and a number of other internal
    +interpreter procedures.
    +	- scan_number now does not mark the result as new.
    +	- The _param_list_read/write procedures now take an additional
    +gs_ref_memory_t * parameter.
    +	- It is no longer possible to store pointers to the interpreter's
    +allocator group (gs_dual_memory_t) in structures or variables across a
    +garbage collection.
    +	- The save_level instance variable is moved from gs_dual_memory_t
    +to gs_ref_memory_t.
    +	- op_show_finish_setup can now fail.
    +	- fname.h is renamed gsfname.h; the procedure names and parameters
    +for %device%name file names are changed.
    +	- gx_imager_stroke_add now takes an additional argument; a NULL
    +value for the device argument of gx_stroke_path_only is no longer valid.
    +	- gx_make_clip_translate_device now takes a memory parameter, and no
    +container parameter; gx_make_clip_device no longer takes a container
    +parameter; gx_mask_clip_initialize and tile_clip_initialize now take a
    +memory parameter.
    +
    +

    Documentation

    +
    +Fixes problems:
    +	- The language documentation still referred to outside clipping.
    +(doc/Language.htm)
    +
    +Documents the new curve join graphics state parameter.  (doc/Language.htm)
    +
    +Documents the fact that the OutputFile device parameter now supports the
    +%device%file syntax.  (gp.h, doc/Use.htm)
    +
    +Documents the licensing problems related to GNU readline.  (int.mak,
    +unix-gcc.mak, gp_gnrdl.c)
    +
    +

    Procedures

    +
    +Fixes problems:
    +	- The bmpa devices needed gdevppla.  (bug introduced in 5.84)
    +(devs.mak)
    +	- The bmpa devices were accidentally included in the DEVICE_DEVS
    +setting in the distributed fileset.  (unix-gcc.mak)
    +	- msvclib.mak was missing some definitions.  (msvclib.mak)
    +
    +Adds a CC_NO_WARN macro for those few files that produce tons of warnings
    +that we can't work around.  (bcwin32.mak, dvx-gcc.mak, msvccmd.mak,
    +openvms.mak, openvms.mmk, os2.mak, ugcclib.mak, unix-gcc.mak, unixansi.mak,
    +unixtrad.mak, watcw32.mak, wccommon.mak, devs.mak, lib.mak, zlib.mak)
    +
    +Adds version.mak to msvclib.mak, so library clients can track the version.
    +(msvclib.mak)
    +
    +

    Utilities

    +
    +Fixes problems:
    +	- -replace didn't work if it was the last item of a module
    +description.  (genconf.c)
    +
    +

    Drivers

    +
    +Fixes problems:
    +	- CCITTFax-compressed bitmaps sometimes used both a Rows value and
    +an end-of-block indicator, which some PostScript implementations don't
    +handle properly.  (gdevpsdf.h, gdevps.c, gdevpsdf.c)
    +
    +Removes an unused procedure and macro.  (gdevlj56.c)
    +
    +

    Interpreter (PDF)

    +
    +Fixes problems:
    +	- The interpreter cached objects even if the reference had the wrong
    +generation number, causing errors if a correct reference occurred later.
    +(lib/pdf_base.ps)
    +	- Embedded TrueType fonts using the Macintosh encoding sometimes
    +caused an error.  (lib/gs_ttf.ps)
    +
    +

    Interpreter

    +
    +Fixes problems:
    +	- Multiple contexts were broken (probably since 5.80).  Fixing this
    +required adding a parameter to context_state_alloc, to provide systemdict.
    +(icontext.h, icontext.c, interp.c)
    +	- setpagedevice didn't accept the 4-element PageSize values that
    +appear in the InputAttributes dictionary.  (zmedia2.c)
    +	- BuildChar/BuildGlyph was "short circuited" even in some cases
    +where it wasn't safe to do so.  (ichar.h, zchar.c, zcharout.c)
    +	- The show operators didn't properly handle the special case of
    +executing within a cshow procedure.  (ichar.h, zcfont.c, zchar.c, zcharx.c)
    +	- The -dDOINTERPOLATE switch had gotten broken somehow.
    +(lib/gs_init.ps)
    +	- The is_identity flag wasn't properly cleared when loading cached
    +CIE mapping values, causing incorrect output.  (zcie.c)
    +
    +Removes the writable static for the context scheduler.  (zcontext.c)
    +
    +Removes the writable static for the interpreter's group of allocators
    +(gs_imemory).  This too turned out to be a massive change with many
    +NON-BACKWARD-COMPATIBLE changes required in internal procedures.  (bfont.h,
    +files.h, fname.h, ialloc.h, ifunc.h, imemory.h, interp.h, iparam.h,
    +iparray.h, ipcolor.h, isave.h, iscannum.h, istack.h, istream.h, iutil.h,
    +store.h, ialloc.c, icontext.c, idebug.c, idict.c, iinit.c, imain.c,
    +imainarg.c, interp.c, iparam.c, ireclaim.c, isave.c, iscan.c, iscanbin.c,
    +iscannum.c, isstate.h, istack.c, iutil.c, zarray.c, zbfont.c, zcontext.c,
    +zdict.c, zfname.c, zdps.c, zdps1.c, zfcmap.c, zdict.c, zfile.c, zfilter.c,
    +zfont.c, zfont0.c, zfproc.c, zfreuse.c, zfunc.c, zfunc0.c, zfunc3.c,
    +zgeneric.c, zht2.c, ziodev.c, ziodev2.c, zpacked.c, zpcolor.c, zshade.c,
    +zupath.c, zvmem.c)
    +
    +Adds a gs_memory_t * argument to obj_cvp.  This is part of the work for
    +removing the gs_imemory static: we note it separately because it affects
    +code beyond the interpreter.  (iutil.h, gp_gnrdl.c, iutil.c, zfileio.c)
    +
    +Updates interpreter code for the addition of new_mask, test_mask, and
    +save_level to gs_ref_memory_t, and the removal of save_level from
    +gs_dual_memory_t.  (ialloc.h, ialloc.c, isave.c)
    +
    +Adds a gs_ref_memory_t * argument to all the _param_list_read/write
    +procedures.  (iparam.h, iparam.c, zcrd.c, zdevice.c, zfdctd.c, zfdcte.c,
    +zfdecode.c, zfilter2.c, ziodev2.c, zusparam.c)
    +
    +Changes the hack in file_alloc_stream that determines whether a gs_memory_t
    +* is actually a gs_ref_memory_t *.  The former code tested specifically
    +whether the allocator was one of the current interpreter allocators; the new
    +code simply tests the procedure vector.  We aren't 100% sure that this
    +change will work reliably.  (zfile.c)
    +
    +Factors common code out of isave.h and store.h.  (idosave.h, isave.h,
    +store.h)
    +
    +Removes the reclaim_data member of gs_dual_memory_t, since it is no longer
    +useful.  (imemory.h, ialloc.c, ireclaim.c)
    +
    +Makes the default InputAttributes and OutputAttributes elements of page
    +device dictionaries writable and (if possible) allocated in local VM, to
    +work around bugs in the output of Word Perfect.  (lib/gs_setpd.ps)
    +
    +Modifies the interpreter's error printout to indicate whether dictionaries
    +on the stack(s) are writable.  (lib/gs_init.ps)
    +
    +Moves support for %device%name file naming into the library.  (fname.h,
    +zfile.c, zfname.c [deleted])
    +
    +Adds interpreter support for the new curve join graphics state parameter.
    +(zgstate.c)
    +
    +

    Library

    +
    +Fixes problems:
    +	- bbox_fill_path device didn't interact with compositors correctly.
    +(This problem had no practical effect.)  (gdevbbox.c)
    +	- kshow didn't check for CID fonts.  (gschar.c)
    +	- The bbox and ImageType 3 image enumerators had incorrect GC
    +descriptors, possibly causing memory-related crashes.  (gsstruct.h,
    +gdevbbox.c, gximage3.c)
    +	- gx_make_clip_[translate_]device took an obsolete container
    +parameter.  (gxcpath.h, gsshade.c, gxccache.c, gxfill.c, gxstroke.c)
    +	- Non-transient clipping devices were used for image clipping, but
    +the API didn't support creating them.  (gxcpath.h, gxclip.c, gximage3.c,
    +gxipixel.c)
    +	- Some devices were created without setting their memory member,
    +which caused the GC not to trace pointers to them.  (gxmclip.h, gxclip2.h,
    +gxclip2.c, gximage3.c, gxmclip.c, gxp1fill.c)
    +	- The bbox device didn't handle ImageType 3 images correctly.
    +(gdevbbox.c)
    +	- When the bbox device passed a stroke operation to the library, it
    +didn't pass the device, causing absolute-length dots to render incorrectly.
    +Fixing this required adding a device parameter to the gx_imager_stroke_add
    +procedure.  (gxpaint.h, gdevbbox.c, gxpaint.c)
    +	- The counter control OtherSubrs (12 and 13) weren't implemented.
    +(This probably had no effect.)  (gstype1.c)
    +	- Type 1 stem hints with negative widths didn't work properly.
    +(gxhint2.c)
    +	- The debugging output for hintmask and cntrmask printed the vstem
    +and hstem counts in the wrong order.  (gstype2.c)
    +	- If the value of the OutputFile device parameter was too long,
    +the result could be memory corruption rather than a rangecheck error.
    +(gsdevice.c)
    +	- The dash pattern pointer in the saved imager state of a band list
    +writer could point inside the writer structure, confusing the garbage
    +collector.  (gxclist.h, gxclpath.c)
    +
    +Adds new_mask, test_mask, and save_level instance variables to
    +gs_ref_memory_t.  This too is part of the gs_imemory work: we note it
    +separately because it is the only piece of this work that affects the
    +library.  (gxalloc.h, gsalloc.c)
    +
    +Makes cntrmask at the beginning of a charstring act like vstemhm + cntrmask,
    +as with hintmask.  This is not documented, but we see it used this way in
    +Type 2 CharStrings.  (gstype2.c)
    +
    +Cleans up formatting and macros.  (gp.h)
    +
    +Speeds up the bounding box device by skipping path filling if the entire
    +path falls within the already-accumulated bounding box, and by defining the
    +device as 8-bit gray to avoid halftone computation.  (gdevbbox.c)
    +
    +Adds a procedure, gs_show_use_glyph, for implementing the show-in-cshow
    +hack.  (gschar.h, gschar.c)
    +
    +Moves support for %device%file file naming into the library.  (lib.mak,
    +gsfname.h, gxiodev.h, gdevpipe.c, gsfname.c)
    +
    +Makes the OutputFile device parameter recognize %device%file syntax, as well
    +as "-" and (on platforms that support pipes) |command.  (gp.h, gxdevice.h,
    +gdevprn.c, gsdevice.c, gp_unix.c)
    +
    +Adds a separate graphics state parameter to indicate how to treat joins
    +between segments of a flattened curve, for compatibility with Adobe
    +interpreters (which apparently always use bevel joins).  (gsline.h,
    +gxclpath.h, gxline.h, gsline.c, gsstate.c, gxclpath.c, gxclrast.c,
    +gxstroke.c)
    +
    +Changes code slightly, introducing an unnecessary assignment, in order to
    +suppress a compiler warning.  (gxclpath.c)
    +
    +Tweaks the CIE_LOAD_CACHE_BODY macro slightly.  (gscie.c)
    +
    +
    + +
    + +

    Version 5.84 (tester) (5/19/99)

    + +

    +This fileset completes the implementation of planar rendering, and fixes a +few more bugs, some of them surprisingly old. + +

    Incompatible changes

    +
    +(Drivers)
    +	- The dopath vector device implementation procedure was changed to
    +take an optional matrix argument.
    +(Library)
    +	- The internal memory__need_ macros are changed to upper case.
    +
    +

    Procedures

    +
    +Fixes problems:
    +	- There was a duplicate entry for GENINIT_XE in the Watcom makefile.
    +(wctail.mak)
    +
    +Adds the duplex-capable LaserJet drivers (ljet3d and ljet4d) to all standard
    +configurations.  (bcwin32.mak, dvx-gcc.mak, msvc32.mak, openvms.mak,
    +openvms.mmk, os2.mak, unix-gcc.mak, unixansi.mak, unixtrad.mak, watc.mak,
    +watcw32.mak)
    +
    +Adds a PROFILE compilation switch, similar to DEBUG, to work around the fact
    +that gprof under GNU/Linux doesn't count time in memset, memcpy, or other C
    +library procedures.  PROFILE will substitute our own versions of memset,
    +memcpy, and memmove.  Currently, this switch is supported only on Unix.
    +(unix-end.mak)
    +
    +Defines a new makefile macro, SYNC, that gives the module name for thread /
    +synchronization facilities; makes async.dev include this module.  This is
    +posync on Unix and VMS platforms, winsync on MS Windows and OS/2 platforms.
    +(bcwin32.mak, dvx-gcc.mak, lib.mak, msvc32.mak, msvclib.mak, openvms.mak,
    +openvms.mmk, os2.mak, ugcclib.mak, unix-gcc.mak, unixansi.mak, unixtrad.mak,
    +watc.mak, watclib.mak, watcw32.mak)
    +
    +Splits off the rules common to the 3 Windows makefiles (watc, watclib,
    +winlib) into a separate file, defining new modules winplat.dev and
    +winsync.dev.  (watc.mak, watclib.mak, winlib.mak, winplat.mak)
    +
    +Removes -Wcast-align from the gcc switches, since this produces huge numbers
    +of warnings that we will certainly never get rid of.  (unix-gcc.mak)
    +
    +

    Utilities

    +
    +Enhances the ps2pdf script with a patch contributed by Jim Avera
    +(avera@fjst.com) so that it can be used as a pipe by specifying "-" for the
    +input and/or output file.  (lib/ps2pdf)
    +
    +Modifies ps2ascii to handle landscape pages better.  (lib/ps2ascii.ps)
    +
    +

    Drivers

    +
    +Fixes problems:
    +	- PDF output that used Pattern colors on more than one page failed
    +to include the color space resource in the resource dictionaries of pages
    +other than the first.  (gdevpdf.c)
    +	- The PDF writer emitted bitmap patterns inverted in Y.
    +(gdevpdfi.c)
    +	- The PCL XL driver's GC descriptor had become incorrect, causing
    +crashes.  (gdevpx.c)
    +	- The pdfwrite driver could still emit coordinates too large for
    +Acrobat Reader to handle, for stroked lines with an unusual CTM.
    +(gdevpdfd.c)
    +	- The pxl drivers emitted invalid output for dashed lines.
    +(gdevpx.c)
    +	- The [e]pswrite and pxl drivers scaled line widths and dash
    +patterns incorrectly.  Fixing this properly involved refactoring the
    +handling of scaling for paths, and removing gdev_vector_stroke_path.
    +(gdevpsdf.h, gdevvec.h, gdevpdfd.c, gdevps.c, gdevpsdf.c, gdevpx.c,
    +gdevvec.c)
    +	- The lj5 drivers didn't pad images to a multiple of 4 bytes per
    +scan line, producing invalid PCL XL output.  (We don't see how they could
    +ever have worked, in fact.)  (gdevpcl.h, gdevlj56.c, gdevpcl.c)
    +
    +Adds a user-contributed driver for the DEClaser 2100.  This is a GPL'ed
    +driver.  (contrib.mak, gnu/src/gdevln03.c)
    +
    +Makes the UsePlanarBuffer parameter, and planar buffering capability, from
    +the PPM devices available to general printer devices, but in a separate
    +module to avoid making all printer devices require gdevmpla.c.  (gdevppla.h,
    +gdevpbm.c, gdevppla.c)
    +
    +Adds a UsePlanarBuffer parameter to the async BMP drivers, for testing.
    +(gdevbmpa.c)
    +
    +Removes the comment about the instability of the "vector" driver interface.
    +(gdevvec.h, gdevvec.c)
    +
    +

    Platforms

    +
    +Splits off the Windows thread and synchronization primitives into a new file
    +and a new module, winsync.dev.  (watc.mak, watclib.mak, winlib.mak,
    +gp_win32.c, gp_wsync.c)
    +
    +

    Interpreter

    +
    +Fixes problems:
    +	- As usual, gcc failed to flag some signed/unsigned char mismatches.
    +(gp_gnrdl.c, iutil.c)
    +
    +Moves the indexed color space cache lookup procedure from the interpreter to
    +the library.  (zcsindex.c)
    +
    +

    Streams

    +
    +Fixes problems:
    +	- If a 2-D CCITTFax stream ended with 1 or 2 "vertical 0" codes,
    +those codes would be ignored.  (scfd.c)
    +
    +

    Library

    +
    +Fixes problems:
    +	- gsnogc.h contained an extern for gs_gc_reclaim rather than for
    +gs_nogc_reclaim.  (gsnogc.h)
    +	- Banded images in Indexed color spaces rendered incorrectly.
    +(gximage.c)
    +	- A function declared some arguments as float rather than floatp.
    +(gshtx.h, gshtx.c)
    +	- As usual, gcc failed to flag some public/private mismatches.
    +(gdevmrun.c)
    +	- The tracing output for monobit images printed 8 bits per pixel
    +rather than 1 bit per pixel.  (gxidata.c)
    +	- A Pn macro was used in a header file that didn't include stdpre.h.
    +(gscdefs.h, gconf.c, genht.c, gxhtbit.c, gxclrast.c)
    +	- get_bits_rectangle for the planar memory device didn't flush the
    +last byte of each row.  (gdevmpla.c)
    +	- When banding, Indexed color spaces using a procedure rather than a
    +lookup table caused a crash.  (gxcolor2.h, gscolor2.c, gxclrast.c)
    +	- When filling a region with a Pattern with a rotated matrix, some
    +parts of the region could be missed.  (bug introduced by a fix in 5.38)
    +(gxp1fill.c)
    +
    +When compiling with gcc, replaces inline with __inline__ to get rid of a
    +potential warning.  (stdpre.h)
    +
    +Adds our own implementations of memset, memcpy, and memmove, to work around
    +the fact that gprof under GNU/Linux doesn't count time in C library procedures.
    +(memory_.h, string_.h, gsmisc.c)
    +
    +Finishes implementing planar rendering for printer / banded devices.
    +(gdevprn.h, gxclist.h, gxdevbuf.h, gdevprn.c, gxclread.c)
    +
    +
    + +
    + +

    Version 5.83 (tester) (5/13/99)

    + +

    +This fileset was driven mostly by commercial licensee demands; it doesn't +fix most of the problems reported in 5.82. It features smaller threshold +halftones, the ability to store halftones in ROM, and a nearly complete +implementation of a planar memory device. + +

    +Items pushed off to the next fileset: +

      +
    • - Finish multi-planar band buffers (requires changing +gdev_prn_render_lines to be based on memory devices rather than buffer +pointers). +
    • - For Adobe compatibility, change stroking so that it always +uses +bevel joins between the segments of a curve (this directly contradicts the +Red Book, but it's what Adobe interpreters do). +
    • - Implement an IdiomSet for Corel Draw fountain fills? +(idioms.ps) +
    • - Change shading so it doesn't install a clip device (make this +a +driver procedure instead), because that prevents clist_fill_path from being +called. +
    + +

    Incompatible changes

    +
    +(Interpreter)
    +	- The spaces.indexed member of a vm_spaces structure has been
    +renamed spaces_indexed (a macro).
    +	- The gs_reclaim procedure is changed to a macro, GS_RECLAIM.
    +(Library)
    +	- The bits member of a halftone order is now called bit_data, and is
    +opaque; halftone orders are now "objects"; gx_ht_alloc_[ht_]order now take
    +an additional argument.
    +	- The architectural values in arch.h are now all upper-case.
    +(std.h defines lower-case synonyms for backward compatibility.)
    +	- The buffer device procedures for printer devices are now collected
    +in a structure; this also changes the parameters of clist_init_params.
    +	- The parameters of the buffered device setup_buf_device procedure
    +are changed.
    +	- gx_path_copy_reducing now takes an additional argument, an imager
    +state, for flattening stroked paths.
    +	- Memory devices now must be created by copying a prototype device,
    +rather than by initializing individual members, even if they are only being
    +used for limited purposes.
    +
    +

    Documentation

    +
    +Documents the new facility for compiled halftones, and the old one for
    +compiling initialization files.  (doc/Make.htm)
    +
    +

    Utilities

    +
    +Adds a utility for compiling halftones into the executable.  Also defines
    +the dependency lists for the auxiliary programs in lib.mak and int.mak,
    +rather than replicating them for every platform.  (bcwin32.mak,
    +dvx-tail.mak, gs.mak, int.mak, lib.mak, msvctail.mak, openvms.mak,
    +openvms.mmk, os2.mak, unix-aux.mak, wctail.mak, genht.c)
    +
    +Adds support for halftone "resources" in the makefile.  (genconf.c)
    +
    +Adds code to determine the primary and secondary CPU cache sizes
    +empirically.  (genarch.c)
    +
    +Changes the architecture definition macros from lower to upper case, with
    +lower-case synonyms in std.h for backward compatibility.  (gsjconf.h, std.h,
    +genarch.c)
    +
    +Changes the ps2ai utility so that jtxt3 can be set from the command line, to
    +allow pstoedit to generate AI3-compatible output.  (lib/ps2ai.ps)
    +
    +

    Procedures

    +
    +Adds some optional library modules to the base library compilation list, so
    +that compilation errors won't slip through.  (lib.mak)
    +
    +

    Interpreter

    +
    +Fixes problems:
    +	- A change from char to byte needed to be undone (gcc didn't catch
    +this).  (iutil.c)
    +
    +Adds a 167x167 stochastic halftone that CalComp put in the public domain.
    +(lib/ht_ccbnm.ps, int.mak, unixinst.mak)
    +
    +Updates the interpreter for the change to per-VM-spaces garbage collection.
    +(igc.h, ialloc.c, icontext.c, igc.c, ilocate.c, imain.c, interp.c,
    +ireclaim.c, isave.c, zfile.c, zht.c, zht1.c, zht2.c)
    +
    +Updates places that only use gsstruct.h for extern_st to use gsstype.h
    +instead.  (icontext.h, ifont.h)
    +
    +

    Library

    +
    +Fixes problems:
    +	- Some types needed updating to reflect the change in the string
    +freelists.  (gsalloc.c, gsnogc.c)
    +	- clip_copy_color didn't initialize some variables in the fastest
    +case. (bug probably introduced in 5.83) (gxclip.c)
    +	- The fit_fill_ and fit_copy_ macros didn't always parenthesize
    +their dev argument.  (gxdevice.h)
    +	- The sample_load macros returned the wrong results for depth 1 and
    +2.  Amazingly enough, it appears that this case had never been used.
    +(gsbitops.h)
    +	- The standard allocator would free chunks even if is_controlled was
    +true.  (gsalloc.c)
    +	- Stroking drew semicircles rather than full circles for round
    +joins.  (gxstroke.c)
    +	- The calculation of how finely to sample a curve to achieve a
    +particular flatness didn't take line width into account when stroking (the
    +flatness has to apply to the outside of the stroked curve).  (gxpath.h,
    +gxpcopy.c, gxstroke.c)
    +
    +Speeds up the bbox device a little.  (gdevbbox.c)
    +
    +Speeds up the most common cases of clipping a little.  (gxclip.h,
    +gxacpath.c, gxclip.c)
    +
    +Makes halftone orders more "object-oriented", so we can use an alternate
    +representation that trades time for space.  This requires a
    +NON-BACKWARD-COMPATIBLE CHANGE in the gx_ht_order structure and the
    +arguments of gx_ht_alloc_[ht_]order.  (gxcldev.h, gxdht.h, gzht.h, gsht.c,
    +gsht1.c, gshtscr.c, gshtx.c, gsistate.c, gxcht.c, gxclimag.c, gxclrast.c,
    +gxht.c, gxhtbit.c)
    +
    +Makes it possible to compile-in halftone threshold arrays and orders (e.g.,
    +in ROM) so they don't take up RAM at execution time.  (gscdefs.h, gxdht.h,
    +gxdhtres.h, gzht.h, gconf.c, gsht.c, gsht1.c, gxclrast.c, gxhtbit.c)
    +
    +Adds some statistics to the 24-bit memory device (in DEBUG mode only, as
    +usual).  (gdevm24.c)
    +
    +Makes the 24-bit memory device optionally use memcpy for wide rectangle
    +fills.  We thought this got us a factor of 3 speedup on a Pentium with gcc's
    +library, but it turned out to be a profiler artifact.  (gdevm24.c)
    +
    +Cleans up some formatting.  (gxclip.h)
    +
    +Dusts off the run-length-encoded memory device, changing it so it reverts to
    +the unencoded representation when necessary.  This code hasn't been tested,
    +and is not currently used.  (gdevmrun.h, gdevrun.c [deleted], gdevmrun.c)
    +
    +Adds more statistics to the clipping device.  (gxclip.c)
    +
    +Adds an implementation of the MD5 Algorithm defined in RFC 1321, derived
    +directly from the text of the RFC and not from the reference implementation.
    +This code uses the zlib license, which is more liberal than the Aladdin or
    +GNU licenses.  (md5.h, md5.c)
    +
    +Finishes implementing the planar memory device, including generalizing it to
    +store varying numbers of bits per plane rather than 1 bit per plane.
    +(gdevmem.h, gdevmpla.h, gxdevmem.h, gdevmem.c, gdevmpla.c)
    +
    +Updates clients to initialize memory devices more fully, now required to
    +distinguish chunky from planar devices.  (gxpcmap.c)
    +
    +Mostly implements enhancing printer / banded devices so they can use a
    +planar memory device for rendering and/or band buffering.  The code
    +currently works only in the non-banded case.  (gdevprn.h, gxclist.h,
    +gxdevbuf.h, gxdevcli.h, gdevprn.c, gxclist.c, gxclread.c)
    +
    +For testing, adds a -dUsePlanarBuffer=<boolean> parameter to the PPM devices
    +to make them use a planar memory device.  (gdevpbm.c)
    +
    +Cleans up some code formatting.  (gdevmem.c)
    +
    +Makes the garbage collection procedure separately settable for each group of
    +VM spaces.  (In an environment with "async" rendering, the renderer has its
    +owm VM space group.)  Unfortunately, this involved a NON-BACKWARD-COMPATIBLE
    +change in the vm_spaces structure.  (gsgc.h, gsnogc.h, gsnogc.c)
    +
    +Updates a client for the change in gs_reclaim; also makes the renderer
    +thread use the non-tracing garbage collector.  (gdevprna.c)
    +
    +Updates the non-tracing GC to reflect its role as a garbage collection
    +procedure in a vm_spaces.  (gsnogc.c)
    +
    +Enhances the non-tracing GC so that if a chunk ever contains no strings, the
    +string marking area reserved for the tracing GC is added to free space.
    +(gxalloc.h, gsalloc.c, gsnogc.c)
    +
    +Changes the font cache allocator to use a different structure descriptor for
    +its data so that memory dumps will show "font cache bytes" rather than just
    +"bytes".  (gxccman.c)
    +
    +Splits gsstruct.h into gsstype.h, which contains enough of the definition of
    +structure type descriptors to support extern_st, and gsstruct.h, which is
    +needed to actually define structure types.  (gsstruct.h, gsstype.h,
    +gxfmap.h)
    +
    +Updates places that only use gsstruct.h for extern_st to use gsstype.h
    +instead.  (gsbitmap.h, gsccolor.h, gscie.h, gxfont.h, gzpath.h, scommon.h,
    +gscdevn.c, gscrd.c, gscrdp.c, gsshade.c, gxpath2.c)
    +
    +
    + +
    + +

    Version 5.82 (tester) (4/24/99)

    + +

    +This fileset fixes a few odds and ends, removes a couple more writable +statics, and improves performance in a couple of areas. + +

    Incompatible changes

    +
    +(Interpreter)
    +	- dict_uid_param now takes an additional argument, the interpreter
    +context pointer.
    +	- obj_cvp now takes a stream rather than a string.
    +
    +

    Documentation

    +
    +Documents the -dGraphicsAlphaBits and -dTextAlphaBits switches; reorganizes
    +the documentation of the -d/-s switches by function.  (doc/Use.htm)
    +
    +

    Procedures

    +
    +Fixes problems:
    +	- Building with MSVC didn't work if COMPILE_INITS was selected.
    +(msvctail.mak)
    +	- The cp script didn't work on all MS-DOS systems, since the systems
    +are incompatible with each other in undocumented ways.  (cp.bat)
    +	- Using ^ in a command line failed on Windows 98.  (wccommon.mak)
    +	- Watcom compilation under Windows NT didn't include some needed
    +headers.  (wccommon.mak)
    +	- The Watcom compiler's quoting requirements were inconsistent.
    +(gs.mak)
    +	- GLCCWIN was used without being defined.  The MS DOS/Windows
    +makefiles really are a tangled mess....  (watc.mak)
    +	- The build directories didn't get created automatically when
    +compiling with the Watcom compiler.  (watc.mak)
    +
    +Adds more optimization switches for Watcom compilation.  (wccommon.mak)
    +
    +

    Utilities

    +
    +Adds a pfbtopfa script.  (unixinst.mak, lib/pfbtopfa, lib/pfbtopfa.bat,
    +lib/pfbtopfa.ps)
    +
    +

    Drivers

    +
    +Fixes problems:
    +	- "Vector" drivers (currently only the PCL XL driver) filled
    +polygons incorrectly.  (gdevvec.c)
    +	- The PCL XL drivers produced incorrect output for images.  (We
    +can't understand how they ever could have worked.)  (gdevpx.c)
    +	- The PCL XL drivers skipped blank pages.  (gdevpx.c)
    +	- The page origin for the clj driver was set incorrectly.  (fix from
    +Artifex) (gdevclj.c)
    +	- The map_color_rgb procedure for the 32-bit CMYK bmp device was
    +wrong, causing RasterOps to produce incorrect output.  (fix from Artifex)
    +(gdevbmp.c)
    +
    +Works around a bug in Acrobat Reader's Print command, by changing the
    +scaling for bitmap patterns.  (gdevpdfi.c)
    +
    +Cleans up some formatting and macros.  (gdevpx.c)
    +
    +Factors out some common parameter-putting utilities.  (gdevpsdf.h,
    +gdevpdfp.c, gdevpsdp.c)
    +
    +

    Platforms

    +
    +Fixes problems:
    +	- The DLL code "knew" it could only be compiled on Windows and OS/2
    +platforms.  (gsdll.c)
    +
    +Removes a Mac-specific file that is now moved to the Mac-specific archive.
    +(gsdllmac.h [deleted])
    +
    +

    Interpreter (PDF)

    +
    +Fixes problems:
    +	- An invalidaccess could occur when repositioning the file after
    +executing an image XObject.  (lib/pdf_draw.ps)
    +	- Indexed color spaces gave an error if the underlying space was
    +represented as a name rather than an array.  (bug introduced in 5.80)
    +(lib/pdf_draw.ps)
    +
    +

    Interpreter

    +
    +Fixes problems:
    +	- The interpreter reentrancy changes broke the GNU readline
    +interface.  (gp_gnrdl.c, ziodev.c)
    +	- The TrappingType resource category wasn't defined.
    +(lib/gs_res.ps, lib/gs_trap.ps)
    +	- CIE color spaces in shading patterns didn't work.  (lib/gs_ll3.ps)
    +	- Printing a string of more than 200 characters with == was broken.
    +Fixing this required a NON-BACKWARD-COMPATIBLE change in the argument list
    +of obj_cvp.  (bug introduced in 5.80) (iutil.h, gp_gnrdl.c, idebug.c,
    +iutil.c, zfileio.c)
    +
    +Changes the interpreter trace output to be somewhat more readable.
    +(interp.c)
    +
    +Makes the linking of the binary token scanning procedure static rather than
    +dynamic.  (int.mak, inobtokn.c, iscan.c, zbseq.c)
    +
    +Makes the language level a property of the context, eliminating a writable
    +static.  (icstate.h, idparam.h, ilevel.h, icontext.c, idparam.c, iinit.c,
    +interp.c, zcontext.c, zmisc2.c)
    +
    +Updates clients for the change in dict_uid_param.  (zbfont.c, zfcmap.c,
    +zpcolor.c, zshade.c)
    +
    +

    Library

    +
    +Fixes problems:
    +	- There was a signed/unsigned char * mismatch.  (sfxfd.c)
    +	- Some very picky compilers complained inappropriately about a
    +const/non-const mismatch.  (gxcht.c)
    +	- The format of the string freelists didn't allow chunks with more
    +than 64K bytes of string area.  (gxalloc.h, gsnogc.c)
    +
    +Moves the interface definitions for the memory dump debugging code into a
    +header file.  (gxalloc.h, gsalloc.c)
    +
    +Makes the standard memory manager recognize more effectively when it can
    +reset the high-water mark for occupied space in the current chunk.  This
    +turns out to make a big difference in preventing sandbars.  (gxalloc.h,
    +gsalloc.c)
    +
    +Makes clipping lists keep track of their minimum and maximum X values, so
    +that they can return accurate outer clipping boxes, which in turn allows
    +more effective pre-clipping of filled regions.  (gxcpath.h, gxacpath.c,
    +gxclip.c, gxcpath.c)
    +
    +Makes clipping devices cache their clipping box, so they can return it
    +quickly.  (gxcpath.h, gxclip.c)
    +
    +Makes the colored halftone logic check bounding boxes before running the
    +expensive algorithms.  This improves performance dramatically for some files
    +without costing much for the rest.  (gxcht.c)
    +
    +Adds some more debugging printout for clipping lists.  (gxcpath.c)
    +
    +Cleans up formatting and macros.  (gdevdflt.c, gdevhit.c, gdevnfwd.c)
    +
    +Factors out some common parameter-putting utilities.  (gsparamx.h,
    +gsparamx.c, gstrap.c)
    +
    +Adds some more tracing output for images.  (gxidata.c)
    +
    +
    + +
    + +

    Version 5.81 (tester) (4/14/99)

    + +

    +This fileset cleans up most of the bug tail from 5.80, but it doesn't fix +all the reported problems. It also factors out the platform-specific DLL +calls, and extends the DLL API to the Mac. + +

    Incompatible changes

    +
    +(Platforms)
    +	- gsdll_get_bitmap is now defined in gsdllos2.h; gsdll_copy_dib,
    +_copy_palette, _draw, and _get_bitmap_row are now defined in gsdllwin.h.
    +
    +(Interpreter)
    +	- zcolor_remap_one may return 0 rather than o_push_estack.  (This
    +change actually occurred in 5.80, but was not documented.)
    +
    +(Library)
    +	- The initialized parameters of an image scaling filter are now
    +stored in a subsidiary structure.
    +	- The names max_support and log2_max_support are changed to
    +MAX_ISCALE_SUPPORT and LOG2_MAX_ISCALE_SUPPORT.
    +	- The structure definition for the smoothed image scaling filter is
    +now private, although its descriptor remains public.
    +	- The criteria for when to use Interpolate are now more stringent.
    +
    +

    Procedures

    +
    +Fixes problems:
    +	- gs_trap.ps wasn't installed by `make install'.  (unixinst.mak)
    +	- A semicolon was missing in one definition of GS_LIB_DEFAULT.
    +(watc.mak)
    +	- ll.tr and _temp_.tr weren't created in the obj directory.
    +(watc.mak, wctail.mak)
    +	- RM_ was defined incorrectly on one platform.  (wccommon.mak)
    +
    +

    Utilities

    +
    +Makes some minor edits in ansi2knr, contributed by a user, to remove gcc
    +warnings.  (ansi2knr.c)
    +
    +

    Drivers

    +
    +Fixes problems:
    +	- There was an int/uint mismatch.  (gdevbmpa.c)
    +	- There was a const/non-const mismatch.  (gdevbmpa.c)
    +
    +Changes the p*m drivers so that they use the default color mapper when
    +possible, speeding up execution.  (gdevpbm.c)
    +
    +

    Fonts

    +
    +Adds Black as indicating that a bold font should be substituted if
    +necessary.  (lib/gs_fonts.ps)
    +
    +

    Platforms

    +
    +Fixes problems:
    +	- The Watcom NT compiler implements setmode and fileno but not
    +_setmode and _fileno.  (gp_ntfs.c)
    +	- The procedure parameter passed to the Windows _beginthread
    +procedure had the wrong prototype.  (gp_win32.c)
    +	- Watcom's _beginthread procedure takes an extra argument.
    +(windows_.h, gp_win32.c)
    +
    +Extends the DLL API to work on the Mac.  This required some restructuring of
    +the code, and some NON-BACKWARD-COMPATIBLE changes to move
    +environment-specific calls into environment-specific header files.
    +(pcwin.mak, os2.mak, winint.mak, dwdll.h, gsdll.h, gsdllmac.h, gsdllos2.h,
    +gsdllwin.h, dpmainc.c, dwdll.cpp, dwnodll.cpp, gdevmswn.c, gdevpm.c,
    +gdevwdib.c, gsdll.c)
    +
    +

    Interpreter (PDF)

    +
    +Changes the interpreter to handle two more specification-violating
    +conditions that Adobe Acrobat accepts: truncation of %%EOF to %%EO, and use
    +of Dest links with no Dests dictionary.  (lib/pdf_main.ps)
    +
    +

    Interpreter

    +
    +Fixes problems:
    +	- gcc failed to flag initialization of an automatic aggregate, which
    +is allowed in neither ANSI nor traditional C.  (iutil.c)
    +	- The system name table lacked the last 3 entries.
    +(lib/gs_btokn.ps)
    +	- Interpolated images always wound up at (0, 0).  (bug introduced in
    +5.80) (gxipixel.c)
    +	- The Watcom compiler didn't consider "const uint" and "const
    +unsigned" to be compatible.  (ifunc.h)
    +	- The code to detect identity transfer functions could cause
    +transfer functions not to be processed at all.  (icolor.h, zcolor.c,
    +zcolor1.c, zht2.c)
    +	- The Level 2 redefinition of restore could do an extra grestore,
    +possibly creating a temporary reference to a freed object.  (zdevice2.c)
    +
    +Adds more tracing for undo-saves, and changes a macro to a procedure.
    +(isave.c)
    +
    +Removes some #define'd casts.  (isave.c)
    +
    +

    Library

    +
    +Fixes problems:
    +	- When banding, the color space wasn't reinitialized for each page.
    +(gxclist.c)
    +	- The criterion for allowing image interpolation still produced
    +"mush" for some important classes of image.  (gxiscale.c)
    +	- The Watcom compiler didn't consider "const uint" and "const
    +unsigned" to be compatible.  (gscdefs.h, gconf.c)
    +	- Identity black generation and undercolor removal functions weren't
    +passed through the band list correctly.  (gxcldev.h, gxclbits.c, gxclrast.c)
    +	- Once again, gcc failed to give a warning for extern followed by
    +private.  (gxcdevn.h)
    +	- glyphshow set up the text operation in a way that created a
    +garbage collector error.  (gschar.c)
    +
    +Makes gs_opendevice complete the device procedure vector if the device
    +wasn't already open.  (gsdevice.c)
    +
    +Factors out the image scaling filter so that we can use either Adobe's
    +algorithm or the Mitchell filter.  This involves a NON-BACKWARD-COMPATIBLE
    +CHANGE in the way the filter parameters are defined.  (gximage.h, siscale.h,
    +sisparam.h, gxclimag.c, gxidata.c, gxiscale.c, siscale.c)
    +
    +Makes the criteria for when to use interpolation stricter, since we are
    +still using the Mitchell filter.  (gxiscale.c)
    +
    +Starts to implement Adobe's image interpolation algorithm.  (siinterp.h,
    +siinterp.c, gxiscale.c)
    +
    +Speeds up RGB interpolated images by detecting runs of output color.
    +(gxiscale.c)
    +
    +Makes the default RGB color mapper a "known" mapper that can be propagated
    +through device pipelines.  (gxdevice.h, gsdevice.c)
    +
    +
    + +
    + +

    Version 5.80 (tester) (4/6/99)

    + +

    +This version contains the first, and, we hope, largest wave of changes in +the interpreter required to make the interpreter fully reentrant. +Unfortunately, many externally visible APIs, including the argument list for +operator procedures, required changes. + +

    +Because of the magnitude of the change, we incremented the version number to +5.80. + +

    +The non-backward-compatible API changes were confined to the interpreter: +the (very minor) changes to the library required to support interpreter +reentrancy are fully backward-compatible. + +

    +This fileset also implements DeviceN color spaces (always using the +alternate space), including Indexed spaces over DeviceN spaces, for all uses +except smooth shading. + +

    Incompatible changes

    +
    +(Interpreter)
    +	- names_init now takes a gs_ref_memory_t * rather than a gs_memory_t
    +*.
    +	- type_print_strings, type_name_strings, and
    +ref_type_properties_data are now REF_TYPE_DEBUG_PRINT_STRINGS,
    +REF_TYPE_NAME_STRINGS, and REF_TYPE_PROPERTIES_DATA.
    +	- The undocumented .writecvp operator, and obj_cvp, now take an
    +integer instead of a Boolean to define the type of output desired.
    +	- The argument list for operators is changed from os_ptr to
    +i_ctx_t *.  Many internal interpreter APIs have changed.
    +	- The typedef name for operator procedures is changed from op_proc_p
    +to op_proc_t.
    +	- gs_interpret now takes an additional context (i_ctx_t **)
    +argument.
    +	- The interpreter's rescheduling and time-slicing procedures,
    +gs_interp_reschedule_proc and gs_interp_time_slice_proc, now take a context
    +(i_ctx_t **) argument.
    +	- The Type 1 interpreter push_value callback is renamed push_values;
    +the first argument of push_values and pop_value has changed from
    +gs_font_type1 * to void *.
    +	- dict_put*, dict_copy*, dict_undef, dict_resize, dict_grow, and
    +dict_unpack now take an additional argument, a dictionary stack where the
    +dictionary may be present.
    +
    +

    Procedures

    +
    +Fixes problems:
    +	- The dependency list for the (dummy) trapping feature was wrong.
    +(int.mak)
    +	- The directory for jerror_.h was incorrect.  (jpeg.mak)
    +
    +Removes the never-used -header switch from genconf.  (genconf.c)
    +
    +Adds priority-sorted resources to genconf, currently used only for image
    +classes.  (genconf.c)
    +
    +Adds an imageclass resource to genconf, for what used to be called image
    +strategies.  (genconf.c)
    +
    +

    Utilities

    +
    +Fixes problems:
    +	- ansi2knr didn't recognize id1(id2, xxxxx) as not being a function.
    +(ansi2knr.c)
    +	- viewpcx still referred to the deleted PCXDecode filter.
    +(lib/viewpcx.ps)
    +	- strlen was called without being declared.  (genarch.c)
    +
    +

    Drivers

    +
    +Fixes problems:
    +	- Some drivers that called gdev_prn_open_printer didn't check the
    +return code for errors.  (gdevdjet.c, gdevhl7x.c)
    +	- The cljet5 driver didn't handle long-edge feed properly.  (from
    +Artifex) (gdevclj.c)
    +	- The [e]pswrite driver could produce incorrect output if the input
    +file had zero-length lines.  (gdevps.c)
    +	- The X driver didn't handle byte-swapped 16-bit displays.
    +(gdevx.c)
    +	- There was an int/uint mismatch.  (gdevbmp.c)
    +	- Some needed headers weren't included.  (gdevdcrd.c, gdevpdfo.c)
    +	- The updated mswinpr2 driver wouldn't compile with older Windows
    +header files.  (gdevwpr2.c)
    +
    +Removes some unnecessary #includes.  (gdevps.c)
    +
    +Adds user-contributed drivers for the CoStar LabelWriter II Plus and XL
    +label printers.  (gdevcslw.c)
    +
    +Speeds up color mapping for the bitrgb driver a little, by using the default
    +procedure.  (gdevbit.c)
    +
    +

    Fonts

    +
    +Fixes problems:
    +	- TrueType fonts with odd-length glyf definitions caused an
    +invalidfont error.  (lib/gs_ttf.ps)
    +
    +Changes the font substitution mechanism slightly to be more useful to the
    +PDF interpreter.  (lib/gs_fonts.ps)
    +
    +

    Platforms

    +
    +Fixes problems:
    +	- Some needed headers weren't included.  (watc.mak, watclib.mak,
    +winlib.mak, gp_win32.c)
    +
    +

    Interpreter

    +
    +Fixes problems:
    +	- There were many signed/unsigned char type errors that gcc didn't
    +catch.  (gp_gnrdl.c)
    +	- The operator definition list for zdouble was too long.  (int.mak,
    +zdouble.c)
    +
    +Removes some unnecessary #includes.  (zchar.c)
    +
    +Speeds up names_string_ref.  (inamedef.h, inames.h, imain.c, iname.c)
    +
    +Speeds up reading string/name array parameters.  (iparam.c)
    +
    +Refactors the implementation of ==, so that all types other than arrays and
    +dictionaries are handled in C code.  (lib/gs_init.ps, iutil.h, iref.h,
    +gp_gnrdl.c, idebug.c, iutil.c, zfileio.c, ztype.c)
    +
    +Changes the type name for operator procedures from op_proc_p to op_proc_t,
    +for consistency and also to help detect places that need the argument list
    +changed.  (ichar.h, interp.h, iref.h, opdef.h, interp.c, iutil.c, zchar.c,
    +zcharx.c, zcontrol.c, zupath.c)
    +
    +Changes the argument type for operators from os_ptr to i_ctx_t *.  (i_ctx_t
    +is an alias for gs_context_state_t.)  This also requires adding a context
    +pointer to many internal procedures, or changing an os_ptr argument to
    +i_ctx_t *.  This is a MASSIVE NON-BACKWARD-COMPATIBLE change which we simply
    +saw no way to avoid if the interpreter was to be made fully re-entrant.  See
    +"Incompatible changes" above for externally visible changes.
    +(lib/gs_init.ps, bfont.h, btoken.h, dstack.h, estack.h, files.h, ichar.h,
    +ichar1.h, icharout.h, icie.h, icolor.h, icontext.h, icsmap.h, ifilter.h,
    +ifont1.h, igstate.h, iht.h, iimage.h, iimage2.h, imain.h, imemory.h,
    +interp.h, ipacked.h, iref.h, iscan.h, istream.h, opdef.h, oper.h,
    +opextern.h, ostack.h, ialloc.c, icontext.c, iinit.c, imain.c, inouparm.c,
    +interp.c, ireclaim.c, iscan.c, iscanbin.c, zarith.c, zarray.c, zbfont.c,
    +zbseq.c, zcfont.c, zchar.c, zchar1.c, zchar2.c, zchar32.c, zchar42.c,
    +zcharout.c, zcharx.c, zcid.c, zcie.c, zcolor.c, zcolor1.c, zcolor2.c,
    +zcontext.c, zcontrol.c, zcrd.c, zcsdevn.c, zcsindex.c, zcspixel.c,
    +zcssepr.c, zdevice.c, zdevice2.c, zdict.c, zdosio.c, zdouble.c, zdpnext.c,
    +zdps.c, zdps1.c, zfbcp.c, zfcmap.c, zfdctd.c, zfdcte.c, zfdecode.c, zfile.c,
    +zfileio.c, zfilter.c, zfilter2.c, zfilterx.c, zfont.c, zfont0.c, zfont1.c,
    +zfont2.c, zfont32.c, zfont42.c, zfproc.c, zfreuse.c, zfunc.c, zfzlib.c,
    +zgeneric.c, zgstate.c, zhsb.c, zht.c, zht1.c, zht2.c, zimage.c, zimage2.c,
    +zimage3.c, ziodev.c, ziodev2.c, zmath.c, zmatrix.c, zmedia2.c, zmisc.c,
    +zmisc1.c, zmisc2.c, zmisc3.c, zpacked.c, zpaint.c, zpath.c, zpath1.c,
    +zpcolor.c, zrelbit.c, zrop.c, zshade.c, zstack.c, zstring.c, zsysvm.c,
    +ztoken.c, ztrap.c, ztype.c, zupath.c, zusparam.c, zvmem.c, zvmem2.c)
    +
    +Changes caching for the interpreter's CIE color spaces so that instead of
    +changing the color space installation procedure to one that schedules the
    +sampling of the procedures though a back door, it leaves the installation
    +procedure alone and schedules the sampling in the color-space-specific
    +setcolorspace operator.  This is needed for interpreter reentrancy.
    +(icie.h, zcie.c, zcrd.c)
    +
    +Makes the linkage from the dictionary machinery to the cached values in the
    +dictionary stack and the name table explicit, by adding a dstack pointer to
    +all the relevant dict_* procedures.  This is needed for interpreter
    +reentrancy.  (iddstack.h, idict.h, idstack.h, idict.c)
    +
    +Updates clients for the change in the dictionary API.  For each changed
    +dict_ procedure, we add an idict_ procedure that uses i_ctx_p->dict_stack as
    +the additional argument.  (iddict.h, icontext.c, iinit.c, interp.c,
    +iparam.c, iscanbin.c, zdps.c, zfcmap.c, zdict.c, zfont.c, zfont0.c,
    +zgeneric.c, zht2.c, zmisc2.c)
    +
    +Changes Pattern color remapping so that it saves information in the
    +interpreter's part of the graphics state, rather than manipulating the
    +e-stack directly.  This is needed for interpreter reentrancy.  (errors.h,
    +icremap.h, igstate.h, interp.c, zgstate.c, zpcolor.c)
    +
    +Adds to the "main instance" structure a pointer to the currently executing
    +context.  This is needed for interpreter reentrancy.  (imain.h, iminst.h,
    +main.h, imain.c, imainarg.c)
    +
    +Changes the argument list for operator initialization procedures from void
    +to i_ctx_t *.  (opdef.h, ireclaim.c, zbfont.c, zbseq.c, zcontext.c, zfile.c,
    +zfont.c, zpcolor.c)
    +
    +Changes the initialization of the interpreter's allocators so it doesn't
    +presume the allocator structure is global.  (ialloc.h, ialloc.c, imain.c)
    +
    +Factors out the structure definition of the stacks, which is needed for
    +defining the state of a context, from the API, which is only needed by
    +actual clients.  (icstate.h, idsdata.h, idstack.h, iesdata.h, iestack.h,
    +iosdata.h, iostack.h, isdata.h, istack.h)
    +
    +Changes filter error reporting so that the report_error procedure doesn't
    +need access to the interpreter.  (interp.h, interp.c, zfile.c, zfileio.c)
    +
    +Completes the implementation of DeviceN color spaces at the interpreter
    +level.  (lib/gs_res.ps, lib/gs_lev2.ps, lib/gs_ll3.ps, icsmap.h, zcsdevn.c,
    +zcsindex.c, zcssepr.c, zimage.c)
    +
    +Speeds up color mapping for identity transfer, BG, or UCR functions.
    +(zcolor.c)
    +
    +

    Interpreter (PDF)

    +
    +Fixes problems:
    +	- The L range for Lab color spaces was wrong.  (lib/pdf_draw.ps)
    +	- Images in Lab color spaces came out all black.  (lib/pdf_draw.ps)
    +
    +Improves the font substitution mechanism slightly.  (lib/pdf_font.ps)
    +
    +

    Streams

    +
    +Adds an error string to the stream state structure, which stream
    +implementations can set when returning an error.  The motivation is to allow
    +the PostScript interpreter to put this into $error.errorinfo.  (scommon.h,
    +stream.c)
    +
    +

    Library

    +
    +Fixes problems:
    +	- The S_ISCHR fix in 5.73 had a typo.  (stat_.h)
    +	- The garbage collector traced dash pattern pointers even if the
    +pattern had no elements.  (gzline.h, gsistate.c)
    +	- Always tracing the clip_path element of gx_device_clist for
    +garbage collection could cause crashes, because this pointer could be stale.
    +However, we have to trace this pointer if an image is being processed.
    +(gxclist.c)
    +	- A close-brace was positioned incorrectly.  (No effect on the
    +working of the code.)  (gximage3.c)
    +	- Some macros caused some compilers to complain about functions that
    +didn't return values.  (gsmemlok.c)
    +	- A procedure vector wasn't declared const.  (gsmemlok.c)
    +	- Some needed headers weren't included.  (gscrdp.c)
    +	- A const pointer was being treated as non-const.  (gxcpath.c)
    +	- The algorithm for choosing halftone cell dimensions required an
    +unreasonably close angle tolerance (0.01 degrees, rather than 1% of a
    +90-degree possible difference).  (gshtscr.c)
    +
    +Speeds up arcs a little more.  (gspath1.c)
    +
    +Removes some unnecessary #includes.  (gxclpath.h, gxcpath.h, gzcpath.h,
    +gxccman.c, gxclip.c, gxcpath.c, gxi12bit.c, gxicolor.c, gxifast.c,
    +gximono.c, gxiscale.c, gxpcmap.c)
    +
    +Cleans up some formatting.  (gxpath.c)
    +
    +Re-enables image interpolation for images that have at least 8 bits of input
    +data per pixel.  This is still a compromise....  (gxiscale.c)
    +
    +Enhances the default implementation of parameter lists so that a C parameter
    +list can forward unrecognized param_read calls to another parameter list.
    +This allows constructing incrementally modified parameter lists for internal
    +purposes.  (gsparam.h, gscparam.c)
    +
    +Changes the first argument of the Type 1 charstring interpreter push_value
    +(which is renamed push_values) and pop_value callbacks from the font pointer
    +to an arbitrary pointer passed in to the interpreter.  This is needed for
    +PostScript interpreter reentrancy.  (gstype1.h, gxfont1.h, gxtype1.h,
    +gstype1.c, gxtype1.c)
    +
    +Adds an allocator wrapper that calls a closure to attempt to free up memory
    +if an allocation fails.  This is used for asynchronous operation (waiting
    +for the page queue to empty) and operation with an optional disk for the
    +band list.  (gsmemret.h, gsmemret.c)
    +
    +Adds the retrying wrapper to the malloc allocator.  (gsmalloc.c)
    +
    +Makes "async" printer devices use the retrying wrapper.  (gdevprna.c)
    +
    +Makes clist_fill_parallelogram recognize rectangles.  This makes a big
    +difference for images rotated 90 degrees.  (gsrect.h, gdevddrw.c,
    +gxclpath.c)
    +
    +Arranges to construct the list of image classes (formerly called strategies)
    +statically rather than dynamically.  (lib.mak, gscdefs.h, gxiclass.h,
    +gximage.h, gconf.c, gxi12bit.c, gxicolor.c, gxifast.c, gximono.c,
    +gxipixel.c, gxiscale.c)
    +
    +Implements Indexed color spaces for high-level image banding.  (gxclist.h,
    +gxclpath.h, gxclimag.c, gxclrast.c)
    +
    +Arranges to construct the blank bitmap for colored patterns statically
    +rather than dynamically.  (gsbitmap.h, gxbitmap.h, gxcht.c)
    +
    +Changes FORCE_STRIP_HALFTONES from a #define to a static Boolean.
    +(gshtscr.c)
    +
    +Implements alternate-space DeviceN color spaces.  (gscspace.h, gxcdevn.h,
    +gscdevn.c)
    +
    +Implements DeviceN color spaces for images.  (gximage.h, gsimage.c,
    +gxi12bit.c, gxicolor.c, gxidata.c, gximage3.c, gximono.c, gxipixel.c)
    +
    +Speeds up color mapping a bit.  (gxfmap.h, gsdevice.c, gsstate.c,
    +gxclbits.c, gxclrast.c, gxcmap.c)
    +
    +
    + +
    + +

    Version 5.73 (tester) (3/19/99)

    + +

    +This fileset fixes a few bugs and adds a couple of minor performance +improvements. Its purpose is to fix a fairly serious memory management bug +and a Microsoft-platform compilation problem, both introduced in 5.72. + +

    Incompatible changes

    +
    +(Library)
    +	- Removes the restriction on device registration that was introduced
    +in 5.72.
    +	- gx_[c]path_scale_exp2 are replaced by gx_[c]path_scale_exp2_shared.
    +
    +

    Documentation

    +
    +Identifies GNU readline support as user-contributed, and adds the author's
    +name.  (int.mak, unix-gcc.mak, gp_gnrdl.c)
    +
    +Notes that an edit is required for GNU readline for AIX.  (doc/Make.htm)
    +
    +Changes the bug reporting e-mail address to bug-gs@aladdin.com.
    +(doc/Bug-form.htm, doc/New-user.htm, doc/Use.htm, imainarg.c)
    +
    +

    Procedures

    +
    +Adds FEATURE_DEVS_EXTRA and DEVICE_DEVS_EXTRA, reserved for setting from the
    +command line.  (gs.mak)
    +
    +

    Drivers

    +
    +Fixes problems:
    +	- A needed cast was missing.  (gdevx.c)
    +
    +

    Interpreter

    +
    +Fixes problems:
    +	- A needed cast was missing.  (zfname.c)
    +	- The CFF loader didn't handle empty subsections correctly.
    +(lib/gs_cff.ps)
    +	- GNU readline gave an error, rather than expanding the input
    +buffer, when called in response to %lineedit.  (files.h, zfileio.c,
    +ziodev.c)
    +	- GNU readline wasn't always initialized, causing a crash when an
    +attempt was made to shut it down.  (iminst.h, imain.c)
    +
    +Adds more tracing to the CFF loader.  (lib/gs_cff.ps)
    +
    +Adds some deconstifying casts to compensate for broken headers in the GNU
    +readline package.  (gp_gnrdl.c)
    +
    +

    Library

    +
    +Fixes problems:
    +	- The bounding box device didn't ignore filling paths consisting
    +only of a moveto.  (gdevbbox.c)
    +	- Some systems have S_IFCHR but not S_ISCHR.  (stat_.h)
    +	- The clipping list accumulator didn't merge single rectangles
    +correctly.  (gxacpath.c)
    +	- The clipping list accumulator wasn't aggressive enough about
    +merging rectangles.  (Performance effect only.)  (gxacpath.c)
    +	- The page wasn't cleared when installing a new device. (bug
    +introduced in 5.72) (gsdevice.c)
    +	- With graphics anti-aliasing enabled, executing clip or eoclip
    +followed by fill or stroke produced incorrect output.  (bug introduced
    +between 5.10 and 5.50) (gxpath.h, gspaint.c, gxcpath.c, gxpath2.c)
    +	- The garbage collector could crash if any banded devices were
    +active.  (bug introduced in 5.72) (gdevprn.c)
    +
    +Changes memory management for device instances to allocate the structure
    +type objects dynamically.  This gets rid of a static, and also gets rid of
    +the requirement that device prototypes be registered, at the expense of an
    +extra copy of the (small) structure type object per instance of certain
    +devices.  (gscdefs.h, gxdevcli.h, gxdevice.h, gconf.c, gsdevice.c)
    +
    +Disables image interpolation for all high-resolution images, not just
    +black-and-white, since this produces better-looking output.  (gxiscale.c)
    +
    +Speeds up path bounding box computation a little.  (gxpath2.c)
    +
    +Speeds up clipping a little.  (gxclip.c)
    +
    +Cleans up formatting a bit.  (gxacpath.c)
    +
    +Adds support for libpng version 1.0.3, but (for now) updates only the
    +OpenVMS and Unix makefiles to use it.  (libpng.mak, openvms.mak,
    +openvms.mmk, ugcclib.mak, unix-gcc.mak, unixansi.mak, unixtrad.mak)
    +
    +Attempts to work around picky compilers that don't allow assigning T[M][N]
    +to const T[M][N].  (gxcht.c)
    +
    +
    + +
    + +

    Version 5.72 (tester) (3/17/99)

    + +

    +This fileset finally gets rid of the need to have jpeg, libpng, or zlib +source code on Unix systems that already have these libraries available. It +also starts to add support for general DeviceN color spaces. + +

    +Works in progress: +

      +
    • - Fix Fontmap -> Fontmap.GS link, which VMS can't handle. +
    • - Make x11alpha do real alpha blending. +
    • - spdiff.c is unfinished, partly wrong. +
    • - DeviceN support is in progress. In gxcht.c, +set_ht_colors_le_4 +and set_color_ht_gt_4 don't have any way to color-map >4 planes. +
    + +

    Incompatible changes

    +
    +(Interpreter)
    +	- The str argument of arg_push_memory_string is no longer const.
    +	- The last argument of print_reloc is now const.
    +
    +(Library)
    +	- Clients should never call the device open_device or close_device
    +procedure directly: they should call gs_opendevice or gs_closedevice.
    +	- The fn_free_functions procedure has been made private.
    +	- The first argument of gs_currentpoint is no longer const.
    +	- References to header files in the third-party libraries must now
    +include a trailing _, i.e.: jerror_.h jmorecf_.h jpeglib_.h png_.h zconf_.h
    +	- IJG JPEG library versions before v5a are no longer supported.
    +	- ilog2 replaces small_exact_log2.
    +	- Support for "outside" clipping has been removed.
    +	- Clients that define their own devices now must either register
    +them in the makefile (using the SET[P]DEV[2] macros) or set the stype
    +pointer in the static prototype to the correct structure type (or at least a
    +structure type with the correct procedures).
    +
    +

    Documentation

    +
    +Clarifies the fact that clients should never call the device open_device or
    +close_device procedure directly.  (doc/Drivers.htm)
    +
    +Updates contact information for Artifex Software.  (doc/Commprod.htm,
    +doc/New-user.htm)
    +
    +Clarifies the fact that Aladdin did not write gdevcdj.c.  (gdevcdj.c)
    +
    +Documents the new -TTYPAUSE switch.  (doc/Use.htm)
    +
    +Adds SCO OpenServer 5.0.5 to the list of systems where Ghostscript is known
    +to build.  (doc/Make.htm)
    +
    +Notes that the MIPSpro 7.2.1.3m compiler produces incorrect output.
    +(doc/Make.htm)
    +
    +

    Procedures

    +
    +Fixes problems:
    +	- The Unix install directory ($(gsdatadir)) and the Unix default
    +search path ($(gsdatadir)/lib) weren't compatible.  (bug introduced since
    +5.50) (unixinst.mak)
    +	- The compilation rule for echogs omitted a dependency and also
    +failed to specify a directory for header files.  (unix-aux.mak)
    +	- Third-party library source code was required even if the
    +corresponding SHARE_xxx option was set to 1.  (devs.mak, gs.mak, int.mak,
    +lib.mak, jpeg.mak)
    +
    +Adds a -dTTYPAUSE switch to cause .confirm to read from /dev/tty instead of
    +stdin, useful when the data input is a pipe.  (lib/gs_init.ps)
    +
    +

    Utilities

    +
    +Fixes problems:
    +	- Some preprocessor macros were defined twice on VMS.  (echogs.c)
    +	- traceop.ps didn't build operator-tracing procedures in global VM.
    +(This didn't matter before we introduced local pseudo-operators.)
    +(lib/traceop.ps)
    +	- geninit produced invalid output or hung if the input files didn't
    +have the correct EOL representation for the platform.  (geninit.c)
    +
    +Updates a (probably otherwise obsolete) file for the deletion of the private
    +JPEG library error message table.  (bughunt.sh)
    +
    +

    Drivers

    +
    +Fixes problems:
    +	- A procedure returning void tried to return a value.  (gdevtfax.c)
    +	- For 24-bit displays, XGetImage can return an image in which
    +bits_per_pixel is 32 rather than 24, which is not at all obvious from the
    +documentation; also, the bit and byte ordering may not be MSBFirst.
    +(gdevx.c)
    +	- XFree takes a char *, not a void *.  (gdevx.c)
    +	- The fix in 5.71 to adjust the width of TIFF images introduced
    +another bug.  (gdevtfax.c)
    +	- If the X driver used a standard colormap, pixel values 255 and
    +less didn't map back to RGB properly. (bug introduced in 5.71) (gdevxcmp.c)
    +	- The ForceMono addition to gdevbit.c (in 5.71) was incorrect.
    +(gdevbit.c)
    +	- There was a const mismatch in an extern.  (gdevxalt.c)
    +	- Third-party library source code was required even if the
    +corresponding SHARE_xxx option was set to 1.  Fixing this required
    +referencing all third-party library header files through *_.h files.
    +(gdevjpeg.c, gdevpdfi.c, gdevpng.c, gdevpsdi.c, gdevpsdp.c)
    +	- There was no way to cause the bounding box device to give up its
    +reference to the target.  (gdevbbox.h, gdevbbox.c)
    +	- pdfwrite crashed if given a 12-bit-per-sample CMYK image when
    +ConvertCMYKImagesToRGB was true, and produced invalid output for other
    +12-bit-per-sample images (PDF limits bits-per-sample to 8).  (gdevpsdi.c)
    +	- pdfwrite mangled planar images if bits-per-sample was other than
    +8.  (bug introduced since 5.50) (gdevpdfi.c)
    +
    +Changes some code to reduce compiler warnings about casts discarding const.
    +(gdevxalt.c)
    +
    +Removes a test that allowed referencing the statically allocated instance of
    +the alternative X drivers.  (gdevxalt.c)
    +
    +Changes a reference to small_exact_log2.  (gdevsvga.c)
    +
    +Greatly improves the PDF writer's handling of simple pattern fills, by
    +retaining them as pattern fills.  (gdevpdfx.h, gdevpdf.c, gdevpdfi.c)
    +
    +

    Fonts

    +
    +Fixes problems:
    +	- Cn in a font name wasn't recognized as indicating a condensed
    +font.  (lib/gs_fonts.ps)
    +
    +

    Interpreter

    +
    +Fixes problems:
    +	- Third-party library source code was required even if the
    +corresponding SHARE_xxx option was set to 1.  Fixing this required
    +referencing all third-party library header files through *_.h files.
    +(zfdctd.c, zfdcte.c)
    +	- An /undefined error occurred on floating point numbers whose
    +integer part exceeded the size of a long (normally 31 bits) and that also
    +included a fraction.  (iscannum.c)
    +	- ialloc.c included gxarith.h unnecessarily.  (ialloc.c)
    +
    +When opening a terminal for reading, always sets the buffer size to 1.  This
    +does not apply to %stdin, %lineedit, or %statementedit.  (zfile.c)
    +
    +Changes code to use the new deconstifying freeing procedures, to remove
    +deconstifying casts.  (gsargs.h, ialloc.h, gsargs.c, zfname.c, zfunc.c)
    +
    +Adds a writable packed ref pointer variant to ref.value, to remove compiler
    +warnings about casts discarding const.  (igc.h, iref.h, idict.c, igc.c,
    +igcref.c)
    +
    +Changes the help printouts to use the new printf_program_ident procedure.
    +(imainarg.c)
    +
    +Generalizes clients to handle color spaces that may have more than 4
    +components.  (zcsdevn.c, zcsindex.c, zcssepr.c, zdpnext.c, zfdecode.c)
    +
    +Removes support for outside clipping, which we implemented only because we
    +misinterpreted a requirement.  (zpath.c)
    +
    +

    Interpreter (PDF)

    +
    +Fixes problems:
    +	- Selecting a colored Pattern color space caused an error.
    +(lib/pdf_draw.ps, lib/pdf_ops.ps)
    +	- Reading data from a subfile with no filter caused an error.
    +(lib/pdf_base.ps)
    +
    +Allows mask images to omit BitsPerComponent: Acrobat Reader accepts this
    +even though the PDF specification requires it to be present (with value =
    +1).  (lib/pdf_draw.ps)
    +
    +

    Streams

    +
    +Fixes problems:
    +	- The PixelDifference filters didn't propagate leftover bits in the
    +last byte of a row. (bug probably introduced in 5.60) (spdiff.c)
    +	- The 1- and 2-bit-per-pixel PixelDifferenceEncode filters were
    +broken.  (spdiff.c)
    +
    +Changes code slightly to remove a warning about an uninitialized variable.
    +(spdiff.c)
    +
    +Extends the PixelDifference filters to handle more than 4 Colors.
    +s_PDiff_max_Colors is the maximum value.  (spdiffx.h, spdiff.c)
    +
    +Adds a stream for converting 12-bit samples to 8-bit.  (gdevpsds.h,
    +gdevpsds.c)
    +
    +Gets rid of the no longer needed private copy of the JPEG error message
    +table.  (sdcte.c, sdeparam.c, sjpegerr.c [deleted], sjpegc.c)
    +
    +

    Library

    +
    +Fixes problems:
    +	- If a 1-bit-per-pixel image terminated early, the last few scan
    +lines might not be written out.  (gxidata.c)
    +	- The bbox device could leave its target in a half-open state,
    +because it called the open/close_device procedures directly rather than
    +going through gs_open/closedevice.  We "fixed" this by making this device
    +forward open and close, but conditionally, so that clients can choose.
    +(gdevbbox.c)
    +	- Third-party library source code was required even if the
    +corresponding SHARE_xxx option was set to 1.  Fixing this required
    +referencing all third-party library header files through *_.h files.
    +(sdcparam.c, sdctc.c, sdctd.c, sddparam.c, sjpegc.c, sjpegd.c, sjpege.c,
    +sjpegerr.c)
    +	- Low-memory recovery in the band list writer sometimes didn't work,
    +because a test was backwards.  (gxcldev.h, gxclist.c)
    +	- Executing a put_params during band rasterizing didn't update
    +cached values in the imager state.  This was probably not a problem in
    +practice, since the only parameters that affect cached values (device color
    +space, depth, and color mapping) were very rarely set.  (gxclrast.c)
    +	- Converting 12-bit planar images to chunky format could store
    +beyond the end of the output area and corrupt memory.  (gsflip.h, gsflip.c)
    +	- The algorithms for converting 4-plane, 1- and 2-bit planar images
    +to chunky format were wrong.  (gsflip.c)
    +	- Images that lay entirely outside the page could cause a memory
    +access error.  (gxclimag.c)
    +	- The bbox device could return excessively conservative values for
    +stroked paths.  (gxpaint.h, gdevbbox.c, gxpaint.c, gxstroke.c)
    +	- Banding devices now include some pointers that the garbage
    +collector must trace.  (gdevprn.h, gxclist.h, gxdevice.h, gdevprn.c,
    +gsdevice.c, gxclist.c)
    +
    +Adds a gs_opendevice procedure to mirror gs_closedevice.  (gsdevice.h,
    +gsdevice.c)
    +
    +Adds deconstifying freeing procedures to the memory manager.  This allows us
    +to have pointers as structure members that should be const * for all
    +ordinary clients, and still be able to free the referenced objects without a
    +compiler warning.  (gsmemory.h, gsmemory.c)
    +
    +Changes code, often to use the new deconstifying freeing procedures, to
    +remove deconstifying casts.  (gspath.h, gxfunc.h, gsfunc.c, gsfunc0.c,
    +gsfunc3.c, gspath.c, gsptype1.c)
    +
    +Changes the eprintf macros so they print the version as well as the program
    +name.  (std.h, gscdef.c, gsmisc.c)
    +
    +Adds procedures that update cached values in graphics or imager states after
    +setting device parameters.  Clients should use these when setting parameters
    +of devices that may be current in graphics or imager states.  Note that this
    +is only a partial solution for a much deeper problem, and may even have to
    +be replaced at some point.  (gsdevice.h, gsdevice.c)
    +
    +Defines GS_CLIENT_COLOR_MAX_COMPONENTS (in gsccolor.h),
    +GX_DEVICE_COLOR_MAX_COMPONENTS (in gxcindex.h), and GS_IMAGE_MAX_COMPONENTS,
    +and starts to use them where needed, in anticipation of implementing DeviceN
    +color spaces.  (gsccolor.h, gsdcolor.h, gsiparam.h, gsiparm4.h, gxcindex.h,
    +gxctable.h, gximage.h, gxshade.h, gdevplnx.c, gscdevn.c, gscolor2.c,
    +gxcht.c, gxclimag.c, gxcmap.c, gxicolor.c, gxctable.c, gxi12bit.c)
    +
    +Replaces small_exact_log2 by a procedure ilog2 that computes floor(log2(n)).
    +(gxarith.h, gsmisc.c, gspaint.c, gxccman.c, gxclimag.c, gxclrect.c)
    +
    +Upgrades gsflip.c to handle >4 planes.  (gsbitops.h, gsflip.h, gsflip.c)
    +
    +Speeds up getting and testing memory device prototypes a little.  (gdevmem.c)
    +
    +Speeds up adding arcs to a path a little.  (gspath1.c)
    +
    +Increases the precision of a precomputed constant from float to double.
    +(gxpath.h)
    +
    +Adds a new band list operation to make circles smaller and faster.
    +(gxclpath.h, gxclpath.c, gxclrast.c)
    +
    +Adds an accessor procedure for the start point of the current subpath.
    +(gxpath.h, gxpath2.c)
    +
    +Removes support for outside clipping, which we implemented only because we
    +misinterpreted a requirement.  (gspath.h, gxcldev.h, gxcpath.h, gxpath.h,
    +gspath.c, gxacpath.c, gxclip.c, gxclpath.c, gxclrast.c, gxcpath.c)
    +
    +Changes gs_copydevice to require that static prototypes either be registered
    +in gx_device_list or have a correct stype pointer.  (This is already the
    +case for all devices in code we distribute.)  (gsdevice.c)
    +
    +Adds ENUM_PTRS_PROC and RELOC_PTRS_PROC macros for giving a name to the
    +typed pointer to the object being processed.  (gsstruct.h)
    +
    +
    + +
    + +

    Version 5.71 (tester) (3/3/99)

    + +

    +This fileset reinstates support for TrueColor X displays, and adds optional +support for GNU readline. It also includes a little more work on the new +driver text API. + +

    Incompatible changes

    +
    +(Library)
    +	- The *line_accum* macros are now capitalized; declare_line_accum is
    +renamed DECLARE_LINE_ACCUM_COPY, and DECLARE_LINE_ACCUM is new.
    +
    +

    Documentation

    +
    +Documents the CIE joint cache invariant more accurately.  (gscie.h)
    +
    +Adds a request for xdpyinfo/xwininfo output to the problem reporting form.
    +(doc/Bug-form.htm)
    +
    +

    Procedures

    +
    +Fixes problems:
    +	- The default search path was missing the lib subdirectory on many
    +platforms.  (dvx-gcc.mak, os2.mak, ugcclib.mak, unix-gcc.mak, unixansi.mak,
    +unixtrad.mak, watc.mak, watclib.mak, watcw32.mak)
    +	- The dependency list for the X Windows drivers was incorrect,
    +sometimes causing needed recompilation to be omitted.  (devs.mak)
    +
    +

    Utilities

    +
    +Fixes problems:
    +	- The representation of maximum unsigned values produced warnings on
    +some compilers (specifically, gcc with -Wtraditional).  (genarch.c)
    +	- Some string variables weren't declared const.  (echogs.c,
    +genarch.c)
    +	- The viewpbm utility was broken for pgm and ppm (but not pbm).
    +(bug introduced in 5.66) (lib/viewpbm.ps)
    +
    +

    Drivers

    +
    +Fixes problems:
    +	- The X driver didn't handle TrueColor displays properly.
    +(gdevxcmp.h, gdevxcmp.c)
    +	- The alternative X drivers didn't implement get_bits properly.
    +(gdevxalt.c)
    +	- The X driver specified the byte order incorrectly for displays
    +with more than 8 bits per pixel.  (gdevx.c)
    +	- The X driver used the wrong number of bits for comparing colors on
    +visuals with fixed color maps.  (gdevxcmp.h, gdevxcmp.c)
    +	- Some symbols were multiply defined with -DNOPRIVATE.  (gdevbit.c)
    +	- If a file specified a paper size, rather than using the default,
    +the G3/G4 fax output drivers didn't adjust the width to a legal one for fax
    +systems.  (gdevtfax.c)
    +
    +Segregates the resource lists, for which warnings about casting of const to
    +non-const string types should be suppressed, into a separate file.
    +(devs.mak, gdevx.h, gdevxini.c, gdevxres.c)
    +
    +Splits off the code related to color mapping for X Windows, for greater
    +understandability.  (devs.mak, gdevx.h, gdevxcmp.h, gdevx.c, gdevxcmp.c,
    +gdevxini.c)
    +
    +Changes code slightly to remove warnings about signed/unsigned integer
    +constants.  (gdevxalt.c)
    +
    +Changes code to remove unused variables.  (gdevx.c, gdevxalt.c)
    +
    +Adds a user-contributed driver for the H-P LaserJet 4D.  (devs.mak,
    +gdevdjet.c)
    +
    +Makes the bitcmyk driver reset its map_cmyk_color procedure dynamically
    +according to the depth, allowing more efficient execution in the 1- and
    +8-bit cases.  (gdevbit.c)
    +
    +Adds a settable option, AdjustWidth, to control whether the fax-format
    +drivers (faxg*, tiffcrle, tiffg*) adjust the page width to legal fax values.
    +Its default value is 1 (do adjust).  (devs.mak, gdevtfax.c)
    +
    +Adds a ForceMono parameter to the bitcmyk/bitrgb devices to implement a
    +special monochrome-in-CMYK mode requested by a customer.  (gdevbit.c)
    +
    +Removes the TRIM_ and EXPAND_BITS_TO_BYTES options from the bit devices,
    +since they are no longer needed.  (gdevbit.c)
    +
    +

    Fonts

    +
    +Changes the substitution mechanism for condensed / narrow fonts, so that the
    +PDF interpreter can use it.  (lib/gs_fonts.ps)
    +
    +

    Interpreter

    +
    +Fixes problems:
    +	- The bind operator generated unaligned accesses and might not
    +operate reliably. (bug introduced in 5.70) (zmisc.c)
    +	- If the BuildChar procedure of a font included an image or
    +imagemask operator, charpath would (incorrectly) display the character.
    +(zimage.c)
    +
    +Adds a bogus return statement to suppress a compiler warning.  (gs.c)
    +
    +Changes code slightly to remove warnings about signed/unsigned integer
    +constants.  (store.h, ibnum.c)
    +
    +Changes the build date format to %d-%02d-%02d.  (lib/gs_init.ps, imainarg.c)
    +
    +Rearranges some code to add readline support.  (files.h, imain.c, zfileio.c,
    +ziodev.c)
    +
    +Adds support for GNU readline, with several completion keys, contributed by
    +a user.  (int.mak, gs_rdlin.ps, gp_gnrdl.c)
    +
    +Changes the font substitution machinery slightly so the PDF interpreter can
    +use it.  (lib/gs_fonts.ps)
    +
    +

    Interpreter (PDF)

    +
    +Fixes problems:
    +	- In-line images caused a syntaxerror or stackunderflow.
    +(lib/pdf_draw.ps)
    +	- The font substitution mechanism didn't detect Condensed fonts.
    +(lib/pdf_font.ps)
    +	- The font substitution mechanism didn't use the intelligent
    +algorithm used for PostScript files.  (lib/pdf_font.ps)
    +
    +Prints a message when substituting for a font on the basis of its
    +descriptor.  (lib/pdf_font.ps)
    +
    +

    Streams

    +
    +Adds an interface and default implementation for readline.  (srdline.h,
    +stream.h, stream.c)
    +
    +

    Library

    +
    +Fixes problems:
    +	- A void procedure attempted to return a value.  (stream.c)
    +	- A pointer was declared with an extra *.  (gsmemory.c)
    +	- An argument would be stringified with traditional C.  (gdevdbit.c)
    +	- The check for validity of the CIE joint caches was wrong, leading
    +to incorrect output in some obscure cases.  (gsciemap.c)
    +	- A tiny rounding inaccuracy could cause an occasional blank line
    +when rendering adjacent images.  (gxipixel.c)
    +	- Some symbols were multiply defined with -DNOPRIVATE.  (gsptype2.h)
    +	- If a character was too large to be cached, it didn't use
    +anti-aliasing, even if TextAlphaBits was >1.  (gspaint.c)
    +
    +Changes code slightly to remove warnings about signed/unsigned integer
    +constants.  (gsccode.h, gsmisc.c, gxcht.c)
    +
    +Changes code to remove a warning about an unhandled case in a switch.
    +(gsstruct.h, gsmemory.c)
    +
    +Changes code to remove unused variables.  (gxcindex.h, gdevdbit.c,
    +gdevprn.c, gxiscale.c)
    +
    +Restructures the header files for the new text API, adding the SINGLE
    +options in text_params, enough new elements in text_enum to store all the
    +arguments of text_begin, and new elements in text_enum to hold results
    +returned by text_process.  This code is no longer "subject to [arbitrary]
    +change without notice", although it is still not very stable.  (gstext.h,
    +gxtext.h, gstext.c)
    +
    +Changes code to remove warnings about uninitialized variables.  (gxipixel.c)
    +
    +Changes the syntactic form of some constants yet again to suppress a
    +different set of compiler warnings.  (gxsample.c)
    +
    +Adds a procedure to fix the charpath-in-BuildChar problem.  (gsimage.h,
    +gsimage.c, gsptype1.c)
    +
    +Speeds up the handling of certain RasterOp cases for CMYK devices.
    +(gxdevice.h, gxdevmem.h, gdevdrop.c, gdevmem.c, gdevmr8n.c, gdevrops.c)
    +
    +Adds a platform-specific interface for reading lines from stdin.  This is
    +intended primarily to support GNU readline.  (lib.mak, gp.h, gp_strdl.c)
    +
    +
    + +
    + +

    Version 5.70 (internal) (2/20/99)

    + +

    +This fileset includes substantial changes to the interpreter in support of +making it fully reentrant (eliminating writable globals). + +

    Incompatible changes

    +
    +(Interpreter)
    +	- The ref_stack structure has been renamed ref_stack_t, and has been
    +changed substantially.  Clients should now access all of its members, other
    +than the pointers to the current block, through the macros or procedures
    +defined in istack.h.  The STACK_LOOP_{BEGIN,END} macros have been removed.
    +	- The argument of context_state_load is no longer const.
    +	- Each file's table of operator definitions is now limited to 16
    +entries.  op_def_table[] no longer exists: use op_index_def() instead.
    +	- invalid_file_entry now has an associated VM space,
    +avm_invalid_file_entry, that must be used in constructing invalid file refs.
    +	- restore will now undo binding of pseudo-operators.  Attempting to
    +bind a local pseudo-operator into a global procedure will cause an
    +invalidaccess error.
    +
    +

    Documentation

    +
    +Updates the driver documentation a bit.  It probably still includes a lot of
    +out-of-date text.  (doc/Drivers.htm)
    +
    +Improves the problem reporting form to make it absolutely clear that test
    +data are required, and that the problem must be reproducible without using a
    +viewer.  (doc/Bug-form.htm)
    +
    +Documents the -dDOINTERPOLATE switch.  (doc/Use.htm)
    +
    +Documents the difference between public and tester releases, in connection
    +with making tester releases available to everyone.  (doc/New-user.htm)
    +
    +Updates the list of history files.  (doc/Readme.htm)
    +
    +Adds a questionnaire for people who want to be notified of new test
    +releases.  (doc/Readme.htm, doc/Tester.htm)
    +
    +

    Procedures

    +
    +Fixes problems:
    +	- A ! was missing before an include.  (bcwin32.mak, msvc32.mak)
    +	- A trailing \ in some macro definitions was quoted incorrectly.
    +(bcwin32.mak, msvc32.mak)
    +	- An editing error prevented a makefile from working.  (bcwin32.mak)
    +	- The 16-bit spooler executable didn't reference its icon correctly.
    +(gs16spl.rc)
    +	- The Watcom makefiles had gotten badly out of date.  (watc.mak,
    +watclib.mak, wccommon.mak)
    +	- Some DEVICE_DEVS lines were too long for the shell to handle.
    +(openvms.mmk)
    +	- A space was missing before a colon.  (openvms.mmk)
    +
    +Updates MSVC support to handle version 6.  (msvc32.mak)
    +
    +Extends genconf to handle function types as well as image types, and changes
    +the output for image types.  (genconf.c)
    +
    +Desupports the use of CONFIG for selecting between multiple configurations,
    +since parameterized output directories do this better.  (bcwin32.mak,
    +dvx-gcc.mak, gs.mak, int.mak, lib.mak, msvc32.mak, msvclib.mak, openvms.mak,
    +openvms.mmk, os2.mak, ugcclib.mak, unix-gcc.mak, unixansi.mak, unixtrad.mak,
    +watc.mak, watclib.mak, watcw32.mak)
    +
    +Adds a -dDOINTERPOLATE switch to force Interpolate in all images.
    +(lib/gs_init.ps)
    +
    +

    Utilities

    +
    +Rewrites viewpcx to eliminate dependence on a special filter.
    +(lib/viewpcx.ps)
    +
    +

    Drivers

    +
    +Fixes problems:
    +	- The [e]pswrite and pdfwrite drivers wrote out clipping paths using
    +the winding number rule even if the path had been set with eoclip.
    +(gdevpdfd.c, gdevvec.c)
    +	- Some occurrences of ushort should have been gx_color_value.
    +(gdevpbm.c)
    +	- A comment was accidentally left outside comment quotes.
    +(gdev3852.c)
    +	- There was a char/byte mismatch not covered by a cast.
    +(gdevdcrd.c)
    +	- There were still some references to the 'huge' keyword, which has
    +been superseded by FAR.  (gdevwdib.c)
    +	- Some obsolete references to which_colors hadn't been removed.
    +(gdevwdib.c)
    +	- The [e]pswrite driver produced incorrect output for a curveto or
    +closepath followed by a lineto and then a moveto.  (gdevps.c)
    +	- The [e]pswrite driver could produce incorrect output for paths
    +ending with a lineto.  (gdevps.c)
    +	- The name paper_sizes was used both by a driver and by other code,
    +causing a problem when building with -dNOPRIVATE.  (gdevclj.c)
    +
    +Consolidates the X error handling statics into a structure.  (gdevxini.c)
    +
    +Updates the pdfwrite driver to reflect the addition of state to the
    +ASCII85Encode filter.  (gdevpsdf.c)
    +
    +Adds a user-contributed driver for the Lexmark 5700 printer (black-and-white
    +only).  (contrib.mak, gdevlxm.c)
    +
    +Updates the mswinpr2 driver with a new, user-contributed one that includes
    +interaction with the user.  (gdevwpr2.c)
    +
    +

    Fonts

    +
    +Fixes problems:
    +	- When TrueType support was present, the FONTPATH scanner didn't
    +recognize TrueType fonts whose 'type' was "true" rather than the documented
    +<00 01 00 00>.  (lib/gs_ttf.ps)
    +	- When DEBUG was set, loading a TrueType font could cause an
    +/undefined error.  (lib/gs_ttf.ps)
    +
    +

    Interpreter

    +
    +Fixes problems:
    +	- Local (pseudo-)operators could get bound into global procedures
    +with 'bind', causing dangling references.  Attempting this now causes an
    +invalidaccess error.  Fixing this also required making restore undo binding
    +of pseudo-operators.  (zmisc.c)
    +	- A harmless dictfull error occurring during language level
    +switching caused an error.  (zmisc2.c)
    +	- If given a closed input file, flushfile caused an error, rather
    +than doing nothing.  (zfileio.c)
    +
    +Renames the ref_stack structure as ref_stack_t, and factors it so that the
    +parts set only at initialization are separated from the dynamic parts, in
    +support of moving the stacks from static to dynamic storage.  (icstate.h,
    +idebug.h, idstack.h, iestack.h, iostack.h, iparam.h, iparray.h, istack.h,
    +idebug.c, interp.c, iparam.c, istack.c, zcontext.c, zpacked.c, zvmem.c)
    +
    +Moves the dynamic part of the stacks in-line in the context structure; gets
    +rid of the statically allocated stacks.  (dstack.h, estack.h, icontext.h,
    +icstate.h, idstack.h, iestack.h, interp.h, iostack.h, ostack.h, icontext.c,
    +iinit.c, interp.c, zcontext.c)
    +
    +Packages the dictionary lookup statistics in a structure, like the other
    +statistics.  (idict.c)
    +
    +Changes from dynamic to static initialization of the function type table.
    +(int.mak, ifunc.h, iconf.c, zfunc.c, zfunc0.c, zfunc3.c)
    +
    +Removes the PCXDecode filter.  (zfilterx.c)
    +
    +Removes more writable statics.  (int.mak, btoken.h, files.h, icstate.h,
    +igstate.h, ipacked.h, iscan.h, icontext.c, imain.c, iscan.c, iscanbin.c,
    +zbseq.c, zcolor2.c, zcontext.c, zgstate.c, ziodev.c, zmath.c, zpcolor.c,
    +zpacked.c)
    +
    +Changes the representation of the operator table to avoid allocating a
    +dynamic copy.  This introduces a limit of 16 entries per definition set.
    +(int.mak, opdef.h, iconf.c, idebug.c, iinit.c, interp.c, iutil.c,
    +zcontext.c, zcontrol.c, zdict.c, zfileio.c, zgstate.c, ztype.c)
    +
    +Includes the ASCII85Decode filter in all configurations, for simplicity.
    +(iscan.c, zfdecode.c)
    +
    +Makes the invalid file reference point to a static object.  (files.h,
    +icontext.c, zfile.c, ziodev.c)
    +
    +Changes all dictfull error returns from the dictionary code to use
    +return_error.  This should have been done a long time ago!  (idict.c)
    +
    +Increases the predefined size of systemdict a little more because .upp files
    +may define a lot of new entries.  (iinit.c)
    +
    +Adds a few more interpreter statistics.  (interp.c)
    +
    +

    Interpreter (PDF)

    +
    +Fixes problems:
    +	- Images never closed the data stream, placing a heavy load on the
    +garbage collector to clean up streams and stream states.  (lib/pdf_draw.ps)
    +	- Streams stored on external files didn't work.  (lib/pdf_base.ps)
    +
    +Reorganizes code slightly to allocate less memory for in-line images.
    +(lib/pdf_draw.ps)
    +
    +Speeds up some common operations a little.  (lib/pdf_base.ps)
    +
    +

    Streams

    +
    +Removes the PCXDecode filter.  (spcxx.h [deleted], spcxd.c [deleted])
    +
    +Changes the name of a variable for greater clarity.  (stream.c)
    +
    +Splits off the ASCII85Decode filter into a separate file, since it turns out
    +to be convenient to include it in all configurations.  (sa85d.h, sa85x.h,
    +sa85d.c, sfilter2.c)
    +
    +Makes an initialization entry point available for non-heap-allocated
    +streams.  (stream.h, stream.c)
    +
    +Changes the ASCII85Encode filter so it always produces lines of at most 80
    +characters, not counting the EOD marker.  THIS IS A NON-BACKWARD-COMPATIBLE
    +CHANGE, because this filter now needs a state structure, which it didn't
    +before.  (sa85x.h, sfilter2.c)
    +
    +

    Library

    +
    +Fixes problems:
    +	- Reference counting of graphics state elements was wrong when
    +creating multiple contexts, causing memory corruption. (bug probably
    +introduced in 5.68) (gsstate.c)
    +	- If CIE joint caches were created because the reference count of
    +the existing caches was >1, the new caches weren't initialized correctly.
    +(bug introduced in 5.60, found by Ray Johnston.)  (gscie.c)
    +	- If Margins are set so that part of the default clipping region
    +lies outside the ((0,0),(width,height)) device coordinate space, the fast
    +case of images could cause a memory access error.  (gxifast.c)
    +	- In the case of a halftone with more bits than levels,
    +gx_check_tile_cache could incorrectly return false, causing images to render
    +more slowly than they should.  (gzht.h, gxht.c)
    +	- There was a const mismatch between an argument and the formal
    +parameter.  (gdevprn.h, gdevprn.c, gxclread.c)
    +	- An error in the definition of st_imager_state_num_ptrs caused the
    +garbage collector to omit marking one pointer in imager states, possibly
    +causing memory corruption.  (gxistate.h)
    +	- The bbox device, used with no target, didn't properly handle
    +images where more data was provided than needed.  (gdevbbox.c)
    +
    +Removes any pretense of supporting multiple threads in a single-threaded
    +environment.  Dummy synchronization primitives, however, are still provided.
    +(gp_nsync.c)
    +
    +Removes more writable statics.  (gximage.h, gxi12bit.c, gxino12b.c,
    +gxipixel.c)
    +
    +Changes the handling of image types, and adds similar handling for function
    +types.  (gscdefs.h, gconf.c)
    +
    +Consolidates the gs_std* files into a structure.  (gsio.h, gsmisc.c)
    +
    +Speeds up the fastest (common) case of clipping fill_rectangle and copy_mono
    +operations.  We could do the same for the other operations if we wanted.
    +(gxclip.c)
    +
    +Identifies this fileset as a tester release.  (gscdef.c)
    +
    +
    + +
    + +

    Version 5.69 (internal) (2/4/99)

    + +

    +This incremental fileset fixes minor compilation problems, as well as many +problems with driver-based CRDs (not used by PostScript or PDF). + +

    Procedures

    +
    +Fixes problems:
    +	- The OpenVMS makefile had not been updated properly to reflect the
    +division of files into subdirectories.  (openvms.mak)
    +	- A space was missing before a :.  (devs.mak)
    +	- The MMK makefile had not been updated to reflect the renaming of
    +the psm[raw] devices to pksm[raw].  (openvms.mmk)
    +
    +Changes the default name of the build directory for the library test program
    +from debugobj to libobj, so that one can work with both library and
    +interpreter builds without interference.  (ugcclib.mak)
    +
    +Adds -fno-builtin to the gcc switches, to detect failure to declare
    +functions like memcpy, at a small cost in performance.  (ugcclib.mak,
    +unix-gcc.mak)
    +
    +

    Utilities

    +
    +Makes a couple of minor fixes to ansi2knr, suggested by users.  (ansi2knr.c)
    +
    +Updates ps2ai.ps with an improved version from its author.  (lib/ps2ai.ps)
    +
    +

    Drivers

    +
    +Fixes problems:
    +	- The 32-bit CMYK "async" BMP driver was declared incorrectly as a
    +non-async device.  (gdevbmpa.c)
    +	- Some #includes were missing, because gcc didn't warn about
    +failures to declare certain standard functions.  (x_.h, gdevdcrd.c, gdevx.c)
    +	- The PC frame buffer device still referred to _ss and near.
    +(gdevpcfb.c)
    +	- The [e]pswrite driver didn't handle bitmaps with a non-zero X bit
    +offset correctly.  (gdevps.c)
    +	- The pdfwrite driver wrote all clipping paths with the winding
    +number rule, even if they were established by eoclip.  (gdevpdfd.c)
    +	- "Vector" drivers wrote all clipping paths with the winding number
    +rule, even if they were established by eoclip.  (gdevvec.c)
    +
    +Adds the CRDName parameter to the sample driver-based CRD.  (gdevdcrd.c)
    +
    +Tweaks the sample driver-based CRD to make it a more realistic (closer to
    +the PostScript default).  (gdevdcrd.c)
    +
    +Adds the sample driver-based CRD to the modified X drivers.  (devs.mak,
    +gdevxalt.c)
    +
    +

    Interpreter

    +
    +Fixes problems:
    +	- Some #includes were missing, because gcc didn't warn about
    +failures to declare certain standard functions.  (zchar1.c)
    +	- Driver CRDs were not supported properly.  (zcrd.c, lib/gs_lev2.ps)
    +
    +Changes some code because non-int switch expressions are not handled
    +correctly in pre-ANSI C.  (igcref.c, zdevice.c)
    +
    +Adds the ability to set the orientation of zero-length "dots".  (zgstate.c)
    +
    +Adds comments on an alternative shallow-binding design.  (dstack.h)
    +
    +Changes the threshold for repeatedly rescanning change lists so that it is
    +based on the cumulative amount of rescanning and not the amount in a single
    +pass.  (isave.c)
    +
    +

    Streams

    +
    +Changes some code because non-int switch expressions are not handled
    +correctly in pre-ANSI C.  (sfilter1.c)
    +
    +

    Library

    +
    +Fixes problems:
    +	- Some casts to (gx_device *) were missing.  (gschar.c)
    +	- Some #includes were missing, because gcc doesn't warn about
    +failures to declare certain standard functions.  (gdevdgbr.c, gscie.c,
    +gsmatrix.c, gxshade1.c)
    +	- gxclread.c now needs gdevprn.h to declare certain procedures.  We
    +tried very hard to make the command list machinery not depend on anything
    +related to printer devices, but at this point we have not succeeded.
    +(gxclread.c)
    +	- For CRDs set by library clients, the is_identity flags in the
    +caches were set incorrectly, producing incorrect output.  (gscie.h, gscie.c,
    +gscrd.c, gscrdp.c)
    +	- For CRDs set by library clients, the EncodeABC and RenderTable T
    +procedures were sampled incorrectly.  (gsciemap.c, gscrd.c)
    +	- The interpreter tried to sample the TransformPQR functions in the
    +PostScript CRD even for driver CRDs.  (gscie.h, gscie.c)
    +	- Library assistance was needed for the interpreter to support
    +driver CRDs properly.  (gscrdp.h, gscrdp.c)
    +	- The procedures that accessed cached CIE values didn't round the
    +index, so accessing already-cached values could wipe out the cache.
    +(gscie.c)
    +	- The procedure that accessed cached RenderTable.T values simply
    +wasn't implemented.  (gscrd.c)
    +
    +Adds an "if (1)" to a macro to suppress "statement not reached" warnings
    +from stupid compilers.  (gsmemlok.c)
    +
    +Changes the syntactic form of some constant tables to suppress
    +signed/unsigned warning messages.  (gsbitops.c, gxsample.c)
    +
    +Changes some switch statements to if/else because non-int switch expressions
    +are not handled correctly in pre-ANSI C.  (gdevmr8n.c, gxdcolor.c)
    +
    +Adds the ability to set the orientation of zero-length "dots".  (gsline.h,
    +gxline.h, gsline.c, gsstate.c, gxstroke.c)
    +
    +Adds an allocator state variable to support the change in the rescanning
    +algorithm.  (gxalloc.h)
    +
    +
    + +
    + +

    Version 5.68 (internal) (1/29/99)

    + +

    +This fileset implements PatternType 2 (gradient fill) Patterns. All +significant PostScript LanguageLevel 3 features are now implemented, except +for DeviceN color spaces. We have also verified that the MMK script for +OpenVMS also works with MMS. + +

    +Note that there are significant non-backward compatible changes to memory +management for device instances: we are sorry about this, but just as with +paths in 5.22, we had to fix this design problem at some point. + +

    Incompatible changes

    +
    +(Procedures)
    +	- A new makefile, unix-aux.mak, must be included in all Unix
    +top-level makefiles.  (It is included in the ones we distribute.)
    +unixtail.mak is renamed unixlink.mak.
    +
    +(Library)
    +	- The names of the anti-aliasing parameters in the device color_info
    +structure have been changed.
    +	- Dummy definitions for PC-specific C keywords (_cs, _ds, _ss, near,
    +far, huge) are no longer provided: these keywords should be removed from
    +non-PC-specific code.
    +	- The names of the alignment_mod, ptr_le, ptr_lt, ptr_ge, ptr_gt,
    +and ptr_between macros have been changed to upper case (ALIGNMENT_MOD etc.)
    +	- gs_make_null_device now takes an additional argument.
    +	- The ccolor member of a gx_device_color is no longer inside a
    +substructure.
    +	- Clients now must initialize Pattern templates with
    +gs_patternN_init, where N is the PatternType (normally 1), before filling in
    +the members.
    +	- gs_pattern_instance_common_t is renamed gs_pattern_instance_t;
    +gs_pattern_instance is renamed gs_pattern1_instance.
    +	- To set the target of a forwarding device, you must now use
    +gx_device_set_target rather than setting the target member directly.
    +	- Memory management for devices has changed substantially, and in a
    +subtle way.  If you have code that calls the library, please read the
    +documentation in gxdevcli.h.
    +	- Callers of the driver create_buf_device procedure must always call
    +it through gdev_create_buf_device, never directly.
    +	- For composite and CID-keyed fonts, the character code returned by
    +gs_show_current_char and gs_kshow_previous_char is now the full multi-byte
    +character code rather than just the last byte of the code.
    +	- gdev_cmap_set_method has been replaced by a device parameter,
    +ColorMappingMethod.
    +	- The CRD pointer parameter for param_write_cie_render1 and
    +param_put_cie_render1 is no longer const.
    +
    +

    Documentation

    +
    +Fixes problems:
    +	- The documentation for resize_object and resize_string didn't allow
    +the new size to be the same as the old size, didn't describe what data was
    +preserved, and didn't guarantee to return the same object if the new size
    +was the same as the old size.  (gsmemraw.h, gsmemory.h)
    +	- The documentation for the value returned by the internal
    +.getmetrics32 operator was incorrect.  (zchar32.c)
    +	- The documentation for the special color mapping device didn't say
    +that the caller had to call gs_setdevice_no_init to update graphics states.
    +(gdevcmap.h)
    +
    +Notes that OPENVMS.MMK works with both MMK and MMS.  (doc/Make.htm)
    +
    +Adds a note to the C style guide about nested vs. multi-branch 'if'
    +statements.  (doc/C-style.htm)
    +
    +Notes that the multi-threaded ("async") drivers require libc version 6 or
    +higher under GNU/Linux.  (doc/Make.htm)
    +
    +Notes additional Irix/MIPSpro combinations that compile idict.c incorrectly,
    +and gives a workaround.  (doc/Make.htm)
    +
    +Adds a couple more acknowledgements.  (doc/Helpers.htm)
    +
    +Documents the new -Z^ switch.  (doc/Use.htm)
    +
    +Documents the new rules about memory management for device instances
    +(gxdevcli.h, gxdevice.h)
    +
    +

    Procedures

    +
    +Fixes problems:
    +	- The "async" BMP devices were accidentally included in the default
    +list for Unix, leading to a requirement for the POSIX thread package, which
    +is not available on all systems.  (unix-gcc.mak)
    +	- There was a minor typo in the new MMK script.  (openvms.mmk)
    +	- The MMK script redefines macros, which MMS does not allow.
    +(openvms.mmk)
    +	- The gcc version test used gcc rather than $(CC) for the compiler
    +name.  (unix-gcc.mak)
    +	- There was a minor typo in the pcx2up device makefile entry.
    +(devs.mak)
    +	- Some commands in the Unix install rules referenced sh rather than
    +$(SHELL).  (unixinst.mak)
    +
    +Makes (dummy) in-RIP trapping an optional feature, and removes it from the
    +default configuration.  (int.mak, lib.mak)
    +
    +Splits off the build rules for the Unix auxiliary programs, so they can be
    +shared between interpreter and library configurations.  (ugcclib.mak,
    +unix-aux.mak, unix-gcc.mak, unixansi.mak, unixtail.mak [deleted],
    +unixlink.mak, unixtrad.mak)
    +
    +Adds the bitcmyk device to the list of devices for the library test program.
    +(ugcclib.mak)
    +
    +

    Utilities

    +
    +Fixes problems:
    +	- ansi2knr didn't handle occurrences of '/' or quoted strings inside
    +an argument list correctly.  (ansi2knr.c)
    +
    +At the suggestion of a GNU person, makes ansi2knr check for output errors.
    +(ansi2knr.c)
    +
    +

    Drivers

    +
    +Fixes problems:
    +	- Setting the resolution on the SPARCprinter didn't work.
    +(gdevsppr.c)
    +	- Even in PDF 1.1 compatibility mode, the PDF writer used a
    +predictor to compress images.  (gdevpsdi.c)
    +	- Reference counting for devices was not implemented consistently.
    +(gdevxalt.c)
    +	- gcc (again) missed some static / non-static inconsistencies.
    +(gdevbmpa.c, gdevifno.c)
    +
    +Removes all remaining uses of segment identifiers (_cs, _ds, _ss) from
    +non-PC-specific code.  (gdev3852.c, gdevcdj.c, gdevhl7x.c, gdevl256.c,
    +gdevmgr.c, gdevsgi.c, gdevsppr.c, gdevvglb.c)
    +
    +Removes all remaining uses of the 'near' keyword from non-PC-specific code.
    +(gdevcd8.c, gdevcdj.c, gdevcgm.c)
    +
    +Changes uses of round_up to ROUND_UP.  (gdevmsxf.c, gdevpcx.c, gdevpx.c,
    +gdevxxf.c)
    +
    +Adds user-contributed support for 16-bit displays to the MS Windows driver.
    +(gdevmswn.c, gdevwdib.c)
    +
    +Adds a user-contributed driver (sunhmono) for the Harlequin variant of 1-bit
    +Sun raster files.  We expect to add other varieties of Sun Raster file
    +eventually as well.  (contrib.mak, gdevsunr.c)
    +
    +Adds a user-contributed driver (fs600) for the Kyocera FS-600 laser printer.
    +(devs.mak, gdevdjet.c)
    +
    +Replaces the sample device CRD with a slightly hacked version of the default
    +PostScript CRD, and moves it to a separate file for greater flexibility in
    +testing.  (gdevdcrd.h, gdevbit.c, gdevdcrd.c)
    +
    +Adds standard and "async" 32-bit CMYK BMP drivers (even though this is
    +outside the published BMP format).  (gdevbmp.c, gdevbmpa.c)
    +
    +Changes the names of the separated-CMYK PBM drivers from psm to pksm, to be
    +more descriptive.  (devs.mak, openvms.mak, unix-gcc.mak, gdevpbm.c)
    +
    +

    Platforms

    +
    +Fixes problems:
    +	- On MS Windows and OS/2, "(%stdin) (r) file bytesavailable" caused
    +a crash.  (gp_msio.c, gp_os2.c)
    +
    +

    Fonts

    +
    +Fixes problems:
    +	- TrueType fonts with fewer glyph names in post than entries in loca
    +caused an error.  (gs_ttf.ps)
    +
    +Adds additional tracing to the TrueType font loader.  (lib/gs_ttf.ps)
    +
    +Per Adobe, adds the Euro symbol under the name /Euro (capitalized) to
    +various built-in Encodings.  (lib/gs_mro_e.ps, lib/gs_pdf_e.ps,
    +lib/gs_sym_e.ps, lib/gs_wan_e.ps)
    +
    +

    Interpreter

    +
    +Fixes problems:
    +	- An extraneous file got left in the fileset.  (lib/pdf_main.ps.sav
    +[deleted])
    +	- The number of required arguments for .pathbbox was incorrectly
    +specified as 0 rather than 1.  (zpath1.c)
    +	- Opening a ReusableStreamDecode filter with a string source and no
    +decoding filters left an extra value on the stack.  (lib/gs_ll3.ps)
    +	- Type 32 fonts sometimes didn't display the characters, or
    +displayed them offset.  (lib/gs_typ32.ps)
    +	- In LanguageLevel 3, copypage still called EndPage with 1 rather
    +than 0.  (lib/gs_init.ps)
    +	- The HalftoneName parameter was missing from the trapping parameter
    +set.  (lib/gs_ll3.ps)
    +	- CMap character entries were processed in the wrong order.
    +(lib/gs_cmap.ps)
    +	- CMap'ed non-CID fonts didn't work properly, because they called
    +BuildChar with the original character code rather than BuildGlyph with the
    +mapped glyph.  (zchar.c)
    +	- Using an out-of-range CID value with a CIDFont caused an error
    +rather than substituting a notdef.  (lib/gs_cidfn.ps)
    +	- CIDFontType 0 fonts with a GlyphDirectory didn't fall back to the
    +indexed character data if the CID wasn't in the GlyphDirectory.
    +(lib/gs_cidfn.ps)
    +	- CIDFontType 0 fonts didn't substitute a notdef at all.
    +(lib/gs_cidfn.ps)
    +
    +Changes uses of round_up to ROUND_UP.  (igcstr.c)
    +
    +Updates clients for the object-oriented changes to Patterns.  (zcolor2.c,
    +zpcolor.c)
    +
    +Implements the rest of PatternType 2.  (ipcolor.h, zpcolor.c, zshade.c)
    +
    +Makes in-RIP trapping an optional feature.  (lib/gs_ll3.ps, lib/gs_trap.ps)
    +
    +Updates clients for the change in gs_show_current_char.  (zcfont.c, zchar.c)
    +
    +Changes the dict_*_param macros to procedures, for easier tracing.  This
    +includes a change in the return value of dict_matrix3_param.  (icie.h,
    +zcie.c, zcrd.c)
    +
    +

    Streams

    +
    +Changes uses of round_up to ROUND_UP.  (scfd.c, scfe.c)
    +
    +

    Library

    +
    +Fixes problems:
    +	- Once again, gcc failed to flag a static procedure declaration
    +followed by a non-static definition.  (gdevprna.c, gximage3.c)
    +	- Anti-aliasing no longer worked for the x11alpha device.  To fix
    +this, we factored out the anti-aliasing information in the
    +gx_device_color_info structure.  (bug introduced in 5.65) (gxdevcli.h,
    +gdevabuf.c, gdevdflt.c, gdevxalt.c, gsdparam.c)
    +	- An empty declaration generated an extraneous semicolon.
    +(gxclip2.h)
    +	- Some macros that generated an if-else construct didn't enclose it
    +in BEGIN/END, possibly leading to incorrect parsing.  (gxobj.h)
    +	- A comment was missing a closing */.  (gxpageq.h)
    +	- The handling of the phase in Pattern filling was broken again.  We
    +probably broke it with the "fix" introduced in 5.24.  (gxp1fill.c)
    +	- Looking up an undefined IODevice name caused a memory access
    +error.  (bug claimed to be fixed in 5.24) (gsiodev.c)
    +	- The null device installed for stringwidth didn't copy the color
    +mapping information from its target, causing confusion if the current device
    +was a pattern accumulator.  (gxdevcli.h, gxdevice.h, gschar.c, gsdevice.c,
    +gxpcmap.c)
    +	- mem_mapped2_copy_mono produced incorrect results for byte-aligned
    +rectangles exactly 1 byte wide (fix from John D.), and could also access
    +data 1 byte beyond the end of each source row.  (gdevm2.c)
    +	- In the case of a masked image or a RasterOp involving a Pattern,
    +the garbage collector could fail to follow a pointer, possibly causing
    +memory corruption.  (gsdcolor.h)
    +	- Assigning a double value to a float variable caused an infinite
    +recursion.  (gxshade1.c)
    +	- Failure to detect when the region being filled had become very
    +small caused excessive recursion.  (gxshade4.c)
    +	- The default implementations of resize_object didn't always return
    +the old object if the old and new sizes were the same.  (gsalloc.c,
    +gsmalloc.c)
    +	- The left side bearing of TrueType characters was sometimes
    +calculated incorrectly.  (gstype42.c)
    +	- The TrueType renderer disregarded the left side bearing values.
    +We aren't sure that the change we made is right, but it seems to produce
    +better output.  (gstype42.c)
    +	- Shadings used the first Decode entry for both X and Y values.
    +(gxshade.c)
    +	- Function-based Shadings sometimes omitted part of their output.
    +(gxshade1.c)
    +	- Function-based Shadings didn't access 4-bit-per-sample data
    +correctly.  (gsfunc0.c)
    +	- The malloc/free-based allocator didn't finalize objects when
    +freeing them.  (gsmalloc.c)
    +	- Reference counting for device instances was not implemented even
    +close to consistently.  THIS IS THE BUG TAIL WE WORRIED ABOUT IN 5.24.
    +(gxdevcli.h, gxdevice.h, gdevbbox.c, gdevcmap.c, gdevmem.c, gdevnfwd.c,
    +gdevplnx.c, gdevprn.c, gdevrops.c, gsalphac.c, gschar.c, gsdevice.c,
    +gsropc.c, gxidata.c, gxmclip.c, gxipixel.c, gxpcmap.c)
    +	- Some device structure definitions failed to include finalization.
    +(gdevmrop.h, gsstruct.h, gxclip2.h, gxcpath.h, gxdevmem.h, gxmclip.h)
    +	- Reference counting for the device halftone wasn't correct in the
    +band rasterizer.  This must be a recently introduced bug, because otherwise
    +banding couldn't have worked.  (gxclrast.c)
    +	- When banding, high-level images that extended off the page in the
    +Y direction caused memory access errors.  (gxclimag.c)
    +	- [a]widthshow didn't use the correct value for comparison for
    +composite fonts with FMapType 9 (CMap).  (gxchar.h, gschar.c, gschar0.c,
    +gsfcmap.c)
    +	- The special color mapping device only worked for
    +device_cmap_monochrome.  (gdevcmap.h, gdevcmap.c)
    +	- The definition of gs_memory_locked_release was wrong.
    +(gsmemlok.h, gsmemlok.c)
    +	- An opaque structure definition (for gx_device) was missing,
    +creating a need for an otherwise unnecessary #include. (gscrdp.h)
    +	- Certain cached values weren't computed when needed.  Fixing this
    +required removing 'const' from a parameter type.  (gscrdp.h, gscrdp.c)
    +	- gxclmem.c #included "gsmalloc.h", which is no longer needed.
    +(gxclmem.c)
    +	- Memory management for device halftones was incorrect, leading to
    +objects being freed twice or other memory corruption during band rendering.
    +(gzht.h, gsht.c, gsstate.c, gxclrast.c, gxistate.c)
    +	- Setting a driver-originated CRD didn't invalidate cached
    +information, leading to incorrect output.  (gscrdp.c)
    +	- A consistency check on driver-originated CRDs was incorrect,
    +causing valid CRDs to be rejected.  (gscrdp.c)
    +
    +Removes dummy definitions for old PC-specific language extensions.
    +(stdpre.h)
    +
    +Removes uses of the PC-specific 'huge' keyword.  (gdevmem.c)
    +
    +Removes uses of the PC-specific 'near' keyword.  (gdevabuf.c, gdevbbox.c)
    +
    +Changes the pointer comparison macros to upper-case names.  (gxalloc.h,
    +stdpre.h, gsalloc.c, gsmisc.c)
    +
    +Changes the alignment_mod macro to upper case.  (stdpre.h, gdevdbit.c,
    +gdevdgbr.c, gsparams.c, gxifast.c)
    +
    +Changes the round_up and round_down macros to upper case.  We retain the
    +lower-case definitions for the sake of the PCL code.  (gxfcache.h, gxobj.h,
    +stdpre.h, gdevalph.c, gdevmem.c, gsalloc.c, gspath1.c, gxccman.c,
    +gxclimag.c, gxifast.c)
    +
    +Makes Pattern colors more object-oriented, to support PatternType 2,
    +splitting gsptype1.c off from gspcolor.c in the process.  (gsccolor.h,
    +gsdcolor.h, gspcolor.h, gsptype1.h, gsptype2.h, gxcolor2.h, gxpcolor.h,
    +gspcolor.c, gsptype1.c, gxpcmap.c)
    +
    +Implements PatternType 2.  (gspcolor.h, gsptype1.h, gsptype2.h, gxcolor2.h,
    +gxpcolor.h, gxshade.h, gspcolor.c, gsptype2.c)
    +
    +Changes the interface to shaded filling to make filling rectangles more
    +efficient.  (gsshade.h, gscolor3.c, gsshade.c)
    +
    +Improves some macros that didn't handle expressions as arguments.
    +(gsrect.h)
    +
    +Improves tracing of loading the CIE caches.  (gscie.c)
    +
    +Cleans up some formatting, and replaces some floating point divides with
    +multiplies.  (gstype42.c)
    +
    +Adds default values for the MaxSeparations (1), Separations (false), and
    +SeparationColorNames (empty array) device parameters.  (gsdparam.c)
    +
    +Adds -Z^ to trace reference counting.  (gsrefct.h, gsmemory.c)
    +
    +Changes the definition of finalization so that finalization procedures *can*
    +assume that objects they reference still exist.  This is necessary so that
    +forwarding devices can decrement the reference counts of their targets.
    +Fortunately, all invocations of finalization (in 'restore', the garbage
    +collector, and freeing) already have this property.  (gsstruct.h)
    +
    +Extends CRD initialization so that cached values may be copied from an
    +existing CRD.  (gscrd.h, gscrd.c)
    +
    +Adds a wrapper to the driver create_buf_device procedure to increment the
    +reference count, so that buffer devices can be freely used in graphics
    +states and as a target.  (gxdevcli.h, gdevprn.c, gxclread.c)
    +
    +Removes recursion from the shading rendering code, in preparation for making
    +it interruptible (required for DeviceN color mapping callouts).
    +(gxshade4.h, gxshade1.c, gxshade4.c, gxshade6.c)
    +
    +Monitor-locks the default allocator based on the C heap, if multi-threading
    +is being supported at all.  (lib.mak, gsmalloc.h, gsmalloc.c)
    +
    +Speeds up the implementation of mem_true32_copy_mono for the common case.
    +(gdevm32.c)
    +
    +Adds a (disabled) option for defining gx_color_index as a pointer or a
    +structure, for testing.  (gxcindex.h)
    +
    +Makes the library test program test the special color mapper more
    +thoroughly.  (gslib.c)
    +
    +
    + +
    + +

    Version 5.67 (internal) (1/8/99)

    + +

    +This fileset adds more PostScript LanguageLevel 3 capability: +

      +
    • - Complete implementation of shfill. +
    • - Most of the expanded CMap capabilities. +
    • - ReusableStreamDecode filter. +
    • - FontType 2 for CFFs (formerly done in an incompatible way). +
    • - HalftoneMode user parameter. +
    • - HalftoneTypes 6, 10, and 16. +
    • - ImageType 3 images. +
    • - UseCIEColor device parameter. +
    + +

    +It also adds a build script for MMK (which may also work with MMS) under +OpenVMS, and Uli Wortmann's drivers for the H-P color inkjet printers. +Among other bug fixes, it eliminates about half the "possibly uninitialized +variable" compiler warnings. + +

    Incompatible changes

    +
    +(Library)
    +	- The default UCR and BG functions are now f(k) = k rather than f(k)
    += 0.
    +	- The set_[d]fmul2fixed_vars macros have been removed from
    +gxfixed.h.  Clients must use the new CHECK/FINISH_[D]FMUL2FIXED_VARS macros.
    +(We don't think there are any such clients outside Ghostscript itself.)
    +	- The internal procedure gx_cpath_intersect_slow is replaced with
    +gx_cpath_intersect_path_slow, with different arguments.
    +	- gs_color_space_type_Device{Gray,RGB,CMYK} are now private.
    +Clients should use the gs_cspace_Device{Gray,RGB,CMYK} access procedures in
    +gscspace.h to obtain device color space objects.
    +	- FontType 2 was renamed from ft_CFF to ft_encrypted2.
    +	- FontType 2 fonts now have FontType = ft_encrypted2, rather than
    +ft_encrypted with CharstringType = 2.  CharstringType no longer exists.
    +	- Type 1 / Type 2 fonts now have an additional member, interpret,
    +that must be initialized.
    +	- gdev_prn_render_lines and gdev_prn_get_band_buffer replace
    +gdev_prn_locate_overlay_buffer and gdev_prn_get_overlay_bits.  "Async"
    +drivers must now use the new procedures to implement partial-page rendering
    +recovery.
    +	- Clients that pass ImageType 3 images where the mask and the image
    +are not scaled identically, or that call image_plane_data without knowing
    +the image type, must now call gs_image_planes_wanted or
    +gx_image_planes_wanted in order to find out which subset of the data planes
    +to pass to the next call of image_plane_data.
    +	- gx_image_enum_common_init now takes slightly different arguments.
    +	- gs_imager_state_initialize now initializes the entire imager
    +state, including halftone, dev_ht, and ht_cache.
    +	- The argument lists for the plane_data and end_image procedures in
    +image enumerators have changed.
    +
    +

    Documentation

    +
    +Fixes problems:
    +	- The 5.66 News mentioned the non-existent WAITFILE macro, and had
    +another minor typo.  (doc/News.htm)
    +	- The URL for the user-contributed H-P 850c driver was incorrect.
    +(doc/Devices.htm, contrib.mak)
    +	- The documentation for the driver image API had gotten out of date.
    +(doc/Drivers.htm)
    +
    +Greatly improves documentation for the page queue.  (from Artifex 5.50c)
    +(gxpageq.h)
    +
    +Documents the fact that Solaris builds now need -lposix4 for <semaphore.h>.
    +(doc/Make.htm)
    +
    +Adds a stack status comment in .pdfshow.  (lib/gs_pdfwr.ps)
    +
    +Documents the new -Z` debugging switch.  (doc/Use.htm)
    +
    +Touches up some formatting in the C style guide, and adds a mention of the
    +space-before-: rule for makefiles.  (doc/C-style.htm)
    +
    +Adds documentation for the new H-P 8xx drivers.  (doc/Devices.htm)
    +
    +Splits off news for versions 5.0 - 5.50 into a separate file.
    +(doc/History5.htm)
    +
    +

    Procedures

    +
    +Fixes problems:
    +	- On MS Windows platforms, the DLL object file wasn't created in the
    +proper directory.  (from Artifex 5.55) (msvc32.mak)
    +	- cfonts.mak didn't have no-op commands for rules that didn't
    +contain any commands.  (cfonts.mak)
    +	- The version number for libpng was different from libpng's own
    +version numbering system.  (libpng.mak)
    +	- Solaris builds now need -lposix4 for <semaphore.h>.
    +(unix-gcc.mak, unixansi.mak, unixtrad.mak)
    +	- The makefiles redefined a number of macros, which MMS doesn't
    +allow.  (bcwin32.mak, gs.mak, int.mak, lib.mak, libpng.mak, msvc32.mak,
    +openvms.mak, openvms.mmk, unix-gcc.mak, unixansi.mak, unixtrad.mak,
    +version.mak)
    +
    +Changes cp.bat and rm.bat to eliminate "File not found" messages.  (from
    +Artifex 5.55) (cp.bat, rm.bat)
    +
    +Changes all platform-independent makefiles to add a space before the : that
    +separates the targets from the dependencies, to allow the makefiles to be
    +used with MMS/MMK.  (cfonts.mak, contrib.mak, devs.mak, gs.mak, int.mak,
    +jpeg.mak, lib.mak, libpng.mak, zlib.mak)
    +
    +Adds a script for compiling Ghostscript on OpenVMS systems with MMK.  This
    +has not been tested extensively.  (doc/Make.htm, openvms.mmk)
    +
    +Changes the set of optimization switches for MSVC++.  We believe the new
    +switches produce working executables, which /O2 didn't.  (msvc32.mak,
    +msvccmd.mak)
    +
    +Updates the default expected libpng version to 1.0.2.  (bcwin32.mak,
    +dvx-gcc.mak, msvc32.mak, msvclib.mak, openvms.mak, os2.mak, ugcclib.mak,
    +unix-gcc.mak, unixansi.mak, unixtrad.mak, watc.mak, watclib.mak,
    +watcw32.mak)
    +
    +

    Utilities

    +
    +Fixes problems:
    +	- Default scaling in viewcmyk.ps was broken.  (lib/viewcmyk.ps)
    +
    +Updates pdf2dsc.ps with a newer (user-contributed) version that generates
    +DocumentMedia and PageMedia comments.  (lib/pdf2dsc.ps)
    +
    +

    Drivers

    +
    +Fixes problems:
    +	- An int * was provided where a uint * was required.  (gdevpbm.c)
    +	- ps2ps -dLanguageLevel=1 generated invalid output.  (gdevps.c)
    +	- The X drivers crashed on gray-scale displays.  (bug probably
    +introduced in 5.61)  (gdevx.c)
    +	- The width and height of the cljet5 device were interchanged.
    +(from Artifex) (gdevclj.c)
    +	- The PDF writer didn't clip cached characters properly.  (bug
    +introduced somewhere between 3.51 and 5.10) (gdevpdfi.c)
    +	- For stroked paths with a non-uniform CTM, the PDF writer could
    +emit coordinates larger than 32K, which Acrobat handles incorrectly.
    +(gdevpdfd.c)
    +
    +Restructures some code to suppress bogus "possibly uninitialized variable"
    +warnings.  (gdevpdfm.c, gdevps.c)
    +
    +Adds some unnecessary initializations to suppress bogus "possibly
    +uninitialized variable" warnings.  (gdevpbm.c, gdevpdfd.c, gdevvec.c,
    +gdevxalt.c)
    +
    +Rewrites the (contributed) X11 xfont code to remove code duplication.
    +(gdevx.h, gdevx.c, gdevxini.c, gdevxxf.c)
    +
    +Adds a user-contributed driver for the H-P LaserJet 3100 with H-P software.
    +(gdevmeds.h, gdevl31s.c, gdevmeds.c)
    +
    +Adds a user-contributed option for 600 dpi output on H-P DesignJet
    +650C-compatible printers.  (gdevcdj.c)
    +
    +Removes unnecessary references to device color spaces.  (gdevpdfi.c)
    +
    +Changes the [e]pswrite and pdfwrite drivers to use EndOfBlock rather than
    +Rows for CCITTFax image encoding, producing slightly smaller output.
    +(gdevpsdf.c)
    +
    +Changes the sample async driver to use gdev_prn_render_lines and
    +gdev_prn_get_band_buffer instead of locate_overlay_buffer and
    +get_overlay_bits.  Unfortunately, because "async" memory management is
    +broken, we have no way to test the code.  (gdevbmpa.c)
    +
    +Updates clients for the change in gx_image_enum_common_init.  (gdevpdfi.c,
    +gdevvec.c)
    +
    +Adds Uli Wortmann's drivers for the H-P color inkjet printers.
    +(contrib.mak, gdevcd8.c)
    +
    +Adds mode 9 compression to the PCL printer utilities.  (gdevpcl.h,
    +gdevcdj.c, gdevpcl.c)
    +
    +Updates implementors for the change in the plane_data and image_end image
    +processing procedures.  (gdevpdfi.c, gdevps.c, gdevpx.c)
    +
    +

    Fonts

    +
    +Fixes problems:
    +	- The PFM files for URW Grotesk and Antiqua had some extraneous ^M
    +characters inserted before ^J characters.  (fonts/u003043t.pfm,
    +fonts/u004006t.pfm)
    +	- CID-keyed fonts didn't handle GlyphDirectory correctly.
    +(lib/gs_cidfn.ps)
    +	- CIDFontType 0 fonts with 0-length Subrs caused an error.
    +(lib/gs_cidfn.ps)
    +	- Malformed TrueType fonts with overlapping tables (which are
    +nevertheless apparently acceptable to Windows) caused an error.
    +(lib/gs_ttf.ps)
    +	- The Hershey font repairs documented in fileset 5.24 apparently
    +never happened: the makeher.ps program was fixed, but the derived fonts were
    +still broken.  (fonts/h*.ps)
    +	- In some Fontmaps, the /Charter-* font names were linked directly
    +to the Bitstream fonts, rather than being aliases for /CharterBT-*.
    +(lib/Fontmap.GS, lib/Fontmap.Sol, lib/Fontmap.Ult)
    +
    +Makes undefined fonts execute the SubstituteFont procedure in $error, per a
    +posting by Stephen Zisk of Adobe on pdf-prepress-l on 10/8/97.
    +(lib/gs_fonts.ps)
    +
    +Changes the interpreter-level CIE color space install procedures to reflect
    +the addition of const to the color space argument. (zcie.c)
    +
    +

    Interpreter

    +
    +Fixes problems:
    +	- The interpreter appeared to be a distiller even when the current
    +device was not pdfwrite.  We fixed this by patching 'where' to make the
    +distiller operators visible iff the current device is pdfwrite.  We also
    +moved the setcolor hack in 'where' into PostScript code.  (lib/gs_init.ps,
    +lib/gs_lev2.ps, lib/gs_pdfwr.ps, zmisc2.c)
    +	- The current color space for shfill wasn't identically the same
    +color space as the one in the shading.  (gs_ll3.ps)
    +
    +Changes the default UCR and BG functions from f(k) = 0 to f(k) = k.
    +(lib/gs_init.ps)
    +
    +Adds some unnecessary initializations to suppress bogus "possibly
    +uninitialized variable" warnings.  (igc.c, zcie.c)
    +
    +Restructures some code slightly to suppress a bogus "possibly uninitialized
    +variable" warning.  (zdevice.c)
    +
    +Brings the CMap machinery up to LL3, by allowing a single CMap to reference
    +multiple fonts (usefont, usematrix, and array CIDSystemInfo).
    +(lib/gs_cmap.ps, zfcmap.c)
    +
    +Finishes implementing ReusableStreamDecode.  The implementation is very
    +inefficient -- it reads the entire contents into a string -- but it passes
    +the Genoa FTS.  (lib/gs_ll3.ps, lib/gs_res.ps, zfreuse.c)
    +
    +Changes CFFs with CharstringType = 2 to generate FontType 2 fonts, rather
    +than FontType 1 with CharstringType = 2, for compatibility with Adobe's LL3
    +implementations.  (lib/gs_cff.ps, lib/gs_type1.ps, lib/type1ops.ps, bfont.h,
    +ichar1.h, ifont.h, ifont1.h, zbfont.c, zchar1.c, zchar2.c, zcharx.c,
    +zfont.c, zfont1.c, zfont2.c)
    +
    +Adds the ability to create (with .bytestring) and do a few operations
    +(currently only length, put, putinterval) on byte arrays.  This is needed
    +for implementing ReusableStringDecode filters with >64K bytes of data, and
    +for the LL3 halftone types.  (zgeneric.c, zstring.c)
    +
    +Implements HalftoneMode, and HalftoneTypes 6, 10, and 16.  To do this, we
    +introduce an internal HalftoneType 7.  (lib/gs_dps2.ps, lib/gs_init.ps,
    +lib/gs_ll3.ps, lib/gs_res.ps, zht2.c)
    +
    +Finishes implementing ImageType 3 images.  (zimage.c, zimage3.c)
    +
    +Adds the hooks in ColorSpace defineresource and undefineresource for
    +detecting definitions that interact with UseCIEColor.  (gs_res.ps)
    +
    +Implements UseCIEColor at the interpreter level.  (lib/gs_dps1.ps,
    +lib/gs_ll3.ps, zcolor1.c, zcolor2.c, zimage.c, zmisc3.c)
    +
    +Touches up some formatting.  (igstate.h)
    +
    +

    Interpreter (PDF)

    +
    +Fixes problems:
    +	- A MediaBox with a non-zero llx or lly would produce incorrect
    +output.  The way we fixed this doesn't exactly match Acrobat, but it
    +produces reasonable output.  (based on a change from Artifex 5.55)
    +(lib/pdf_main.ps)
    +	- Colored patterns didn't work properly.  (lib/pdf_draw.ps)
    +	- The resources in a Pattern dictionary weren't made available
    +during the execution of the PaintProc.  (fix from Artifex) (lib/pdf_draw.ps)
    +
    +

    Streams

    +
    +Adds a flag to the ASCIIHexEncode filter to indicate whether or not to write
    +an EOD, required for Level 1 output from the pswrite device.  (sstring.h,
    +sstring.c)
    +
    +Adds a close_at_eod flag to the stream state, for implementing reusable
    +streams; also cleans up some formatting.  (stream.h, stream.c)
    +
    +

    Library

    +
    +Fixes problems:
    +	- Black-and-white images with Interpolate = true produced
    +undesirable artifacts if the image resolution was close to that of the
    +device.  We now disable Interpolate in this case.  (gxiscale.c)
    +	- In "async" mode, get_hardware_params did an unnecessary flush and
    +reopen.  (from Artifex 5.50c) (gdevprna.c)
    +	- The computation of the minimum band height for the "async" reader
    +was incorrect. (from Artifex 5.50c) (gdevbmpa.c)
    +	- The "fix" for reallocating async buffer memory in 5.50 was
    +incorrect. (from Artifex 5.55) (gdevprn.c)
    +	- The "async" reader called clist_finish_page, which it shouldn't.
    +(from Artifex 5.50c) (gdevprn.c)
    +	- The image enumeration procedures for ImageType 4 were unnecessary,
    +since the ImageType 1 code now handles ImageType 4 as well.  (gximage4.c)
    +	- The structure descriptor for tile clipping devices was
    +unnecessary, since these are the same as mask clipping devices.  (gxclip2.h)
    +	- There was a trailing comma in an enumeration list.  (gsbitops.c)
    +	- Some compilers didn't like initializing a uint with ~0.
    +(gdevm1.c)
    +	- shfill unnecessarily saved, reset, and restored the graphics
    +state.  (gscolor3.c)
    +	- Radial shadings always extended the shading to radius = 0.
    +(gxshade1.c)
    +	- An identifier exceeded VMS's limit of 31 characters.  (gdevprn.h,
    +gdevprn.c)
    +	- A header file didn't #include enough of its prerequisites.
    +(gxpcolor.h)
    +	- Images with non-default ImageMatrix weren't written correctly in
    +the band list. (bug introduced in 5.60)  (gximage1.c)
    +	- Banded images that had to use the default implementation incurred
    +an extra level of procedure call for each block of data.  (gxclimag.c)
    +	- Images rotated by other than a multiple of 90 degrees produced
    +incorrect output, because pie->rect.p.y was updated after each block of
    +data, causing image_band_box to produce inconsistent results.  (bug
    +introduced by async changes in 5.50) (gxclimag.c)
    +	- The client_data pointer in client_order halftones wasn't traced
    +correctly, possibly causing memory corruption if this type of halftone was
    +used.  (These are not currently used by the PostScript interpreter.)
    +(gsht.c, gsht1.c)
    +	- ImageType 3 images didn't handle subrectangles.  (Not a problem
    +for PostScript, which doesn't generate subrectangles, or for PCL, which
    +doesn't use them.)  (gximage3.c)
    +	- If a VMerror occurred when setting up an ImageType 3 image. an
    +attempt could be made to free an uninitialized pointer.  (gximage3.c)
    +	- ImageType 4 images with 1 to 8 bits per sample and Decode = [1 0]
    +didn't test transparency correctly. (bug introduced in 5.60) (gximage.h,
    +gxicolor.c, gximono.c, gxipixel.c)
    +	- setgray, setrgbcolor, sethsbcolor, and setcmykcolor didn't use
    +gs_cspace_assign, causing code duplication.  After this fix, we made the
    +device color space types private, since there are no longer any references
    +to them outside gscspace.c.  (gxcspace.h, gscolor.c, gscolor1.c, gscspace.c)
    +	- gs_cspace_assign was misspelled cs_cspace_assign.  (gscspace.h)
    +	- setgray didn't set the pattern pointer of the current color to 0,
    +possibly causing the GC to retain patterns it shouldn't.  (gscolor.c)
    +	- The dev_ht member of an imager (or graphics) state wasn't included
    +in the macro that enumerates reference-counted pointers.  This probably had
    +no effect, since the macro isn't used.  (gxistate.h)
    +	- When the band rasterizer freed its imager state, the halftone and
    +device halftone structures weren't freed, possibly causing memory leakage.
    +(gsistate.c)
    +
    +Changes the default UCR and BG functions from f(k) = 0 to f(k) = k, per a
    +user's suggestion.  We aren't sure which matches the Adobe implementations
    +on color devices.  (gxdcconv.c)
    +
    +Conditionally removes some variables that are not needed on big-endian
    +systems.  (gdevm1.c)
    +
    +Restructures some code to suppress bogus "possibly uninitialized variable"
    +warnings.  (gxfixed.h, gdevddrw.c, gsmatrix.c, gsmisc.c, gxclimag.c)
    +
    +Adds a couple of unnecessary initializations to suppress bogus "possibly
    +uninitialized variable" warnings.  (gsbitops.c)
    +
    +Implements BBox, Background, and Extend for shadings.  (Background isn't
    +tested yet, because it only takes effect for pattern shading, which isn't
    +implemented yet.)  (gsshade.h, gxacpath.h, gxistate.h, gxpath.h, gscolor3.c,
    +gsshade.c, gxacpath.c, gxacpath.c, gxcpath.c)
    +
    +Brings the CMap machinery up to LL3, by allowing a single CMap to reference
    +multiple fonts (usefont, usematrix, and array CIDSystemInfo).  (gsfcmap.h,
    +gxfcmap.h, gsfcmap.c)
    +
    +Adds more tracing output to the band list reader.  (gxclrast.c)
    +
    +Cleans up some formatting.  (gstext.h, gxtext.h)
    +
    +Replaces FontType = 1, CharstringType = 2 with FontType = 2, to match the
    +Adobe implementations.  (gxfont1.h, gxftype.h, gxtype1.h, gstype1.c,
    +gstype2.c, gxtype1.c)
    +
    +Adds new gs_bytestring and gs_const_bytestring structures that may reference
    +either string or (byte) object storage.  (gsstruct.h, gstypes.h, gsmemory.c)
    +
    +Implements an additional halftone type (ht_type_threshold2) needed for
    +HalftoneTypes 6, 10, and 16.  We don't extend gshtx.[hc] to deal with this
    +at this time, since the new type is only needed for the PostScript
    +interpreter.  (gxht.h, gxhttype.h, gzht.h, gsht.c, gsht1.c, gshtscr.c)
    +
    +Adds a procedure for division mod M, possibly needed for halftones.
    +(gxarith.h, gsmisc.c)
    +
    +Adds a -Z` debugging switch to turn off high-level images in the band list.
    +(gxclimag.c)
    +
    +Implements gdev_prn_render_lines, as the lowest-level external API for
    +rendering lines in a banded device.  This call replaces the "overlay" calls
    +for async rendering.  (gdevprn.h, gdevprna.h, gxclist.h, gdevprn.c,
    +gxclread.c)
    +
    +Extends the image enumeration API so that the enumerator can indicate what
    +subset of the input planes it wants delivered on the next call to
    +image_plane_data.  Currently this is only needed for ImageType 3.
    +(gsimage.h, gxdevcli.h, gxiparam.h, gdevddrw.c, gsimage.c, gximage.c,
    +gximage3.c)
    +
    +Extends the image enumeration structures to handle images that require a
    +different amount of data for plane N than Width * plane_depths[N].  This
    +requires a NON-BACKWARD-COMPATIBLE change to the argument list of the
    +gx_image_enum_common_init procedure.  (gxiparam.h, gdevbbox.c, gsimage.c,
    +gxclimag.c, gximage.c, gximage2.c, gximage3.c, gxipixel.c)
    +
    +Updates the copyright date to 1999.  (gscdef.c)
    +
    +Cleans up formatting, capitalizes macro names, etc.  (gximage.h, gxsample.h,
    +gxipixel.c)
    +
    +Adds the UseCIEColor device parameter.  (gxdevcli.h, gxdevice.h, gsdparam.c)
    +
    +Implements color space substitution (UseCIEColor).  (gscolor2.h, gscspace.h,
    +gscssub.h, gxistate.h, gzstate.h, gscolor.c, gscolor1.c, gscolor2.c,
    +gscolor3.c, gscssub.c, gslib.c, gspcolor.c, gsstate.c)
    +
    +Changes the color space install procedure so that its color space argument
    +is const.  Now all color space implementation procedures take a const
    +argument.  (gscie.h, gxcspace.h, gscdevn.c, gscolor2.c, gscscie.c,
    +gscspace.c, gscsepr.c, gspcolor.c)
    +
    +Changes gs_setcolorspace so its color space argument is const.  (gscolor2.h,
    +gscolor2.c)
    +
    +Splits imager state procedures out of gsstate.c, which was getting too
    +large.  (gxistate.h, gsstate.c, gsistate.c)
    +
    +Changes gs_imager_state_initialize so it really initializes the whole imager
    +state.  (gsistate.c, gxclrast.c)
    +
    +Removes the now-redundant first (device) argument from the plane_data and
    +end_image procedures in image enumerators.  Implementors of these procedures
    +must now get the device from the enumerator structure.  This is a
    +NON-BACKWARD-COMPATIBLE design cleanup that we have been putting off for
    +most of a year.  Also adds an argument to plane_data so it can tell its
    +client how many rows of data was used: this is needed for the implementation
    +of ImageType 3.  (gxdevcli.h, gxiparam.h, gdevbbox.c, gdevplnx.c, gsimage.c,
    +gxclimag.c, gxidata.c, gximage.c, gximage3.c)
    +
    +Changes CFFs with CharstringType = 2 to FontType 2 fonts, rather than
    +FontType 1 with CharstringType = 2, for compatibility with Adobe's LL3
    +implementations.  (gstype1.h)
    +
    +
    + +
    + +

    Version 5.66 (internal) (11/25/98)

    + +

    +This fileset includes the ability to efficiently and conveniently obtain +planar rather than chunky raster output. It also fixes a large number of +minor compilation problems on non-ANSI compilers, and a small number of real +problems. It also implements the PostScript LanguageLevel 3 clipsave and +cliprestore operators. Unfortunately, because of fragility in third-party +code changes that we were forced to include in the base graphics library, +overlapped rasterizing ("async mode") fails: +

      +
    • - At 300 dpi, for 4-bit planar devices in the low-memory +("partial + page") condition, and always for 32-bit planar devices. + +
    • - At 600 dpi, for all devices other than monochrome. +
    + +

    Incompatible changes

    +
    +(Procedures)
    +	- Every platform-specific makefile must now define _D_, the internal
    +separator for defining preprocessor macros.
    +	- Every platform-specific makefile must now define PSLIBDIR, the
    +directory holding the PS initialization files at build time.  (This need not
    +be the same as where these files are stored at run time.)
    +
    +(Library)
    +	- New elements arch_float_mantissa_bits and
    +arch_double_mantissa_bits have been added to arch.h.  Cross-build
    +environments that supply arch.h rather than generating it at build time must
    +add these elements.
    +	- A new GB_SELECT_PLANES option has been added to the options mask
    +for the get_bits_rectangle driver procedure.  Implementations of this
    +procedure must take this option into account (although they do not have to
    +implement it).
    +	- The make_buffer_device printer device procedure has been replaced
    +with create_buf_device, setup_buf_device, and destroy_buf_device.  All
    +clients and implementors of make_buffer_device must be changed, including
    +users of the clist_init_params macro.
    +	- The gx_device_cmap_procs procedure has been replaced with
    +gx_get_cmap_procs, which also take an imager state as an argument.  Callers
    +of gx_device_cmap_procs must be changed.
    +
    +

    Documentation

    +
    +Updates Make.htm to clarify the standard directory structure.
    +(doc/Make.htm)
    +
    +Adds a note about DEC C vs. VAX C for remapping of exit codes.
    +(doc/Make.htm)
    +
    +Clarifies that the end_image procedure frees the enumerator.  (gxiparam.h)
    +
    +

    Procedures

    +
    +Fixes problems:
    +	- The genxxx utilities didn't compile properly on systems where the
    +C compiler doesn't automatically search for .h files in the directory of the
    +.c file.  (unixtail.mak)
    +	- Preprocessor definitions require special quoting with Watcom C.
    +Fixing this required adding a _D_ macro similar to II.  This is a
    +NON-BACKWARD-COMPATIBLE change, since this definition is now required in
    +each platform-specific makefile.  (dvx-head.mak, openvms.mak, os2.mak,
    +unixhead.mak, wccommon.mak, winlib.mak, zlib.mak)
    +	- The VMS subdirectories didn't include the "." to make the
    +directory name relative.  (openvms.mak)
    +	- Some of the OpenVMS command files were omitted from the
    +distribution.  (copy_one.com, rm_one.com, rm_all.com)
    +	- MMK interprets a final - on a command line as a continuation
    +marker.  (gs.mak)
    +	- gsiparm4_h was used before being defined.  (lib.mak)
    +	- Compiled initialization code (COMPILE_INITS=1) was broken because
    +of the introduction of subdirectories.  (bcwin32.mak, dvx-gcc.mak,
    +msvc32.mak, openvms.mak, os2.mak, unix-gcc.mak, unixansi.mak, unixtrad.mak,
    +watc.mak, watcw32.mak, int.mak, geninit.c)
    +	- Level 1 configurations would no longer build with the standard set
    +of drivers.  (devs.mak)
    +	- wmake interpreted "&" in a rule command line as calling for
    +background execution.  (wccommon.mak)
    +
    +Makes the standard set of features the same on all platforms, namely, psl3
    +(PostScript LanguageLevel 3) + pdf (PDF 1.2/1.3) + dpsnext (DPS with NeXT
    +extensions) + ttfont (ability to load TrueType fonts directly).  Unix
    +platforms add pipe (recognition of %pipe% file names).  (bcwin32.mak,
    +dvx-gcc.mak, msvc32.mak, openvms.mak, os2.mak, unix-gcc.mak, unixansi.mak,
    +unixtrad.mak, watc.mak, watcw32.mak)
    +
    +Adds minimal support for Windows 95/NT compiler versions.  (wccommon.mak)
    +
    +Notes a set of switches that may work around the optimizer bug in MSVC++
    +5.0.  (msvccmd.mak)
    +
    +

    Utilities

    +
    +Adds a switch to genconf to set the escape character, since wmake interprets
    +"&" in a rule command line as calling for background execution.  (genconf.c)
    +
    +Makes echogs recognize -+ alone as equivalent to - alone, for the sake of
    +VMS systems, which interpret a final - as a line continuation marker.
    +(echogs.c)
    +
    +Adds a viewpsm procedure to viewpbm.ps, for reassembling plane-separated
    +files.  (lib/viewpbm.ps)
    +
    +

    Drivers

    +
    +Fixes problems:
    +	- There were places where the code assumed that void * could be
    +coerced to byte *, which not all C compilers support.  (gdevpdfx.h,
    +gdevpdfo.c)
    +	- The name put_bytes was defined in two places, causing an error
    +when linking with NOPRIVATE=1.  (gdevpx.c)
    +	- The minimum space computation for high-level images and for the
    +scan line length for the sample async driver was slightly too small.
    +(gdevbmpa.c)
    +
    +Improves the tracing output from the psm driver.  (gdevpbm.c)
    +
    +Rewrites some macros to eliminate "statement not reached" compiler warnings.
    +(gdevpx.c)
    +
    +Revises the (only) client for changes in the plane-extraction device API.
    +(gdevpbm.c)
    +
    +Adds plane-separated BMP drivers, primarily for testing but also as an
    +example.  bmp[a]sep1 and bmp[a]sep8 produce 1- and 8-bit-per-pixel separated
    +CMYK.  (gdevbmp.h, gdevbmp.c, gdevbmpa.c, gdevbmpc.c)
    +
    +

    Platforms

    +
    +Fixes problems:
    +	- The Watcom environment doesn't provide the st_blocks member of the
    +stat structure.  (stat_.h)
    +	- In its standard configuration, the Watcom environment doesn't
    +provide stdprn.  (gp_iwatc.c)
    +	- Newer versions of DEC C on OpenVMS don't require the remapping
    +of the exit codes.  (stdpre.h)
    +
    +Revises the dummy implementation of semaphores, monitors, and threads in an
    +attempt to make async rendering (just barely) work for the non-overlay case.
    +Unfortunately, this turned out not to be feasible.  (gp_nsync.c)
    +
    +

    Interpreter

    +
    +Fixes problems:
    +	- Certain DEC compilers assume that a pointer is aligned even if it
    +is cast to a pointer whose target type has weaker alignment; this produced
    +"unaligned access" errors in the interpreter.  (interp.c)
    +	- A necessary cast was omitted.  (zcrd.c)
    +	- Level 1 configurations would no longer run.  (lib/gs_init.ps)
    +
    +Updates clients to set mask image fattening properly.  (zimage.c, zimage2.c)
    +
    +Rewrites some macros to eliminate "statement not reached" compiler warnings.
    +(files.h, istruct.h)
    +
    +

    Interpreter (PDF)

    +
    +Fixes problems:
    +	- The test for whether to honor the Rotate key was backwards.  (bug
    +probably introduced in 5.24) (lib/pdf_main.ps)
    +
    +Updates the code to handle improper PDF files in which the startxref and the
    +following file position appear on the same line rather than (as required by
    +the spec) two successive lines.  (lib/pdf_main.ps)
    +
    +

    Streams

    +
    +Notes a bug in s_DCT_get_quantization_tables.  (sdcparam.c)
    +
    +

    Library

    +
    +Fixes problems:
    +	- The algorithm for reducing 4-bit chunky to 1-bit separated colors
    +didn't handle the trailing pixels of a transfer correctly.  (gdevplnx.c)
    +	- Banding for RGB devices with multi-plane halftones was broken.
    +(bug introduced recently) (gxdcolor.c)
    +	- Mask images were written in the band list with inverted polarity.
    +(bug introduced in 5.60) (gximage1.c)
    +	- Mask images were always fattened.  Fixing this required extending
    +the API, since gs_image_t_init_mask set adjust = true by default (a bad
    +decision) and we didn't want to change it.  (gschar.h, gscpm.h, gsiparam.h,
    +gzstate.h, gschar.c, gximage1.c)
    +	- The member names push and pop caused problems for compilers whose
    +preprocessors consider it an error to use a macro defined with arguments as
    +a name without arguments.  (gxfont1.h, gstype1.c)
    +	- Once again, gcc didn't detect some private/non-private mismatches.
    +(gdevplnx.c, gsalphac.c, gximage2.c, gximage4.c)
    +	- & was used with an array (which gcc doesn't complain about).
    +(gxshade6.c)
    +	- There were several uses of automatic aggregate initialization,
    +which not all C compilers support.  (gdevprn.c, gdevps.c)
    +	- There were places where the code assumed that void * could be
    +coerced to byte *, which not all C compilers support.  (gdevprn.c)
    +	- Some \ line continuation characters were used inappropriately
    +(in a macro argument list).  (gxclimag.c)
    +	- Some function prototypes didn't use the Pn macros.  (gsalloc.c)
    +	- A function definition not at the left margin confused ansi2knr.
    +(gsfont.c)
    +	- A cast for the result of malloc, needed on systems where malloc
    +returns a char * rather than a void *, was missing.  (gsmalloc.c)
    +	- An occurrence of dev should be pdev.  (I can't understand how we
    +missed this in 5.65.)  (gdevprna.c)
    +	- A value was missing from a list of initial structure values,
    +causing mismatches between subsequent values and the members they
    +initialized.  (gcc treated this as a warning: it should have given an
    +error.)  (gxband.h)
    +	- When setting the tile phase during banding, the old value of the
    +tile phase was written out rather than the new one.  (gxclutil.c)
    +	- The definition of fixed_mult_quo wasn't consistent between systems
    +with FPU (where it took the floor, and might be slightly inaccurate) and
    +systems without FPU (where it truncated towards zero, and was accurate).
    +(gxfixed.h, genarch.c, gsmisc.c)
    +	- Banding devices using multi-screen halftones didn't set the
    +halftone phase correctly.  We have now "fixed" this problem at least 4
    +times.  (gxclrast.c)
    +	- The name put_bytes was defined in two places, causing an error
    +when linking with NOPRIVATE=1.  (gsparams.c)
    +	- For [x][y]show, the pointers to the width arrays weren't
    +initialized, causing memory access errors when checking or garbage
    +collecting.  (gschar.c)
    +	- Due to a typo, bitmap characters were fattened too much.
    +(gximage1.c)
    +	- Some identifiers exceeded VMS's limit of 31 characters.
    +(gdevprn.h, gscsepr.h, gsdevice.h, gxdevice.h, gdevdflt.c, gdevprn.c,
    +gscsepr.c, gsdparam.c)
    +	- The device halftone parameter was declared const inappropriately
    +in some places.  (gsdcolor.h, gxdither.h, gxdcolor.c, gxdither.c)
    +	- gdev_mem_raster was used (misleadingly, even though it happened to
    +produce the correct result) on possibly non-memory devices.  (gxclread.c)
    +	- Pure Level 1 configurations had some undefined procedures.
    +(gscolor1.c, gscspace.c)
    +	- Indexed color images could incorrectly conclude that they didn't
    +need to re-render halftones, producing incorrect output.  (gximono.c)
    +	- gs_device_is_memory returned false for non-banding printer
    +devices: this didn't used to matter, but it matters now.  We changed it to
    +test the procedures rather than the device name.  (gdevmem.c)
    +	- The plane extraction device didn't handle halftoned colors
    +correctly.  (gdevplnx.c)
    +	- If an error occurred while building a Function object, a crash
    +could occur while freeing the partially built object.  (gsfunc.c)
    +	- The plane extraction device didn't handle RasterOps correctly.
    +(gdevplnx.c)
    +	- The colors-used mask could include some additional, invalid bits.
    +(gxclrect.c)
    +	- The colors-used mask was updated incorrectly for RasterOps on
    +subtractive-color devices.  (gxclrect.c)
    +	- Memory devices didn't set enough option bits for the case where
    +get_bits_rectangle had to do conversion.  (gdevmem.c)
    +	- The TrueType font rasterizer didn't accept fonts whose 'type' was
    +"true" rather than the documented <00 01 00 00>.  (gstype42.c)
    +	- A bug in the Watcom compiler caused two conditional expressions to
    +execute incorrectly.  (gstype42.c)
    +	- When a page queue was freed, it attempted to free the page_info
    +resource in the reserve entry, which is actually unused.  (gxpageq.c)
    +	- A necessary #include was missing.  (gdevmr2n.c)
    +
    +Reduces the size of band list entries for halftoned colors somewhat.
    +(gxclpath.h, gxclpath.c, gxclrast.c)
    +
    +Increases the number of saved band color masks per page, mostly for testing.
    +(gxband.h)
    +
    +Rewrites some macros, and one 'for' statement, to eliminate "statement not
    +reached" compiler warnings.  (gxcldev.h, gxpath2.c)
    +
    +Corrects a tiny inaccuracy in the computation of trapezoid coordinates.
    +(gdevddrw.c)
    +
    +Edits the trapezoid fill code for greater readability and better
    +documentation of its functioning.  The new code runs a little slower on
    +compilers that don't support 'inline'.  (gdevddrw.c)
    +
    +Improves the documentation of the tile phase bookkeeping.  (gxclrast.c)
    +
    +Documents the fact that fixed_mult_quo takes the floor if the first argument
    +is negative.  (gxfixed.h)
    +
    +Finishes implementing clipsave and cliprestore.  (gxclipsr.h, gxistate.h,
    +gzstate.h, gsclipsr.c, gsstate.c)
    +
    +Implements driver access to planar, rather than chunky, banding.
    +(gdevplnx.h, gdevprn.h, gxclist.h, gxdevcli.h, gxrplane.h, gdevplnx.c,
    +gdevprn.c, gxclread.c)
    +
    +Makes it possible to set up memory devices that allocate just the line
    +pointer table (but not the bitmap), or neither the line pointers nor the
    +bitmap.  (gxdevmem.h, gdevmem.c)
    +
    +Moves gx_device_white/black to a more appropriate header file.  (gxdcolor.h)
    +
    +Moves gx_default_make_buffer_device to a more appropriate file.
    +(gdevdflt.c, gdevprn.c)
    +
    +Adds plane extraction and expansion utility procedures, required for the
    +extended capability of get_bits_rectangle.  (gsbitops.h, gsbitops.c)
    +
    +Extends get_bits_rectangle so it can return individual planes rather than
    +all planes.  (gdevplnx.h, gsbittab.h, gxbitfmt.h, gxgetbit.h, gdevdgbr.c,
    +gdevdrop.c, gdevmem.c, gdevplnx.c, gsalphac.c, gsbittab.c)
    +
    +Factors out the two more complex cases of gx_get_bits_copy into single-use
    +procedures for readability.  (gdevdgbr.c)
    +
    +Makes public the procedure for reducing a colored halftone to a pure or
    +binary halftone, needed for planar rendering.  (gxdither.h, gxdither.c)
    +
    +Moves the client_data pointer from gs_state to gs_imager_state.
    +(gxistate.h, gzstate.h, gsstate.c)
    +
    +Extends the plane extraction device to handle fill_mask and images
    +efficiently.  (gxcmap.h, gdevplnx.h, gdevplnx.c)
    +
    +Creates a procedure to make a temporary copy of a gs_imager_state, needed
    +for planar image processing.  (gxistate.h, gsstate.c)
    +
    +Makes getting the color mapping procedures for a device a virtual procedure
    +of the imager state, needed for planar image processing.  (gxcmap.h,
    +gxistate.h, gxcmap.c, gxicolor.c, gximono.c, gxi12bit.c)
    +
    +Increases the amount of memory allocated to the asynchronous rasterizer,
    +since we now may need a dynamically allocated line pointer table for the
    +target (plane) memory device.  (gdevprna.c)
    +
    +Adds a record of which bands have "difficult" RasterOps -- RasterOps that
    +can't be executed, even in principle, in CMYK space.  We don't do anything
    +with this information yet, but we will have to.  (gsropt.h, gxband.h,
    +gxcldev.h, gxclpath.h, gxclist.c, gxclpath.c, gxclrect.c)
    +
    +Makes conversion from render_plane indices to bit ranges the responsibility
    +of the device, not the client.  (gxrplane.h)
    +
    +
    + +
    + +

    Version 5.65 (internal) (11/13/98)

    + +

    +The main purpose of this fileset is to fix the MS Windows and OpenVMS build +procedures, which have been broken since 5.60. It also adds the ability for +a driver to determine efficiently which colors are used in a given page or +band, which is important for separated color printing, and contains some +early support for plane-separated color printing. + +

    Incompatible changes

    +
    +(Procedures)
    +	- Every platform-specific makefile must now define D_ and _D, the
    +brackets for defining preprocessor macros.
    +	- The unix-cc.mak makefile has been renamed unixtrad.mak, since it
    +only applies to "traditional C" compilers.
    +
    +(Drivers, Library)
    +	- Devices now store their TextAlphaBits and GraphicsAlphaBits values
    +explicitly.  The former get_alpha_bits procedure is obsoleted, and no
    +longer implemented or called by any code we distribute.
    +	- gx_device_color_info now has additional fields.  Code that
    +constructed gx_color_info_values in any way other than by using the dci_
    +macros will no longer work.
    +
    +

    Documentation

    +
    +Fixes problems:
    +	- The -sPSFile= switch was still documented, even though it no
    +longer exists.  (doc/Use.htm)
    +	- The - "switch" wasn't documented in the list of switches,
    +although it was documented elsewhere.  (doc/Use.htm)
    +	- The documentation for the PC environments was out of date -- it
    +didn't mention the use of subdirectories.  (doc/Make.htm)
    +
    +Updates the documentation on PostScript files to indicate in what directory
    +the files are distributed.  (doc/Psfiles.htm)
    +
    +Documents more of the utility procedures used by printer drivers.
    +(gdevprn.h)
    +
    +Notes that the public tar archives may not be compatible with the tar
    +program in SunOS 4.1.3.  (doc/Make.htm)
    +
    +Adds documentation on the Unix "make pg" target.  (doc/Make.htm)
    +
    +Updates documentation to reflect the name change from unix-cc.mak to
    +unixtrad.mak.  (doc/Make.htm)
    +
    +Adds some links for the benefit of people who have built Ghostscript before
    +and therefore skip reading the initial sections of the documentation.
    +(doc/Make.htm)
    +
    +Documents the new -_ switch.  (doc/Use.htm)
    +
    +Updates the documentation to mention PostScript LanguageLevel 3 and to
    +remove many references to 16-bit systems.  (doc/Language.htm)
    +
    +

    Procedures

    +
    +Fixes problems:
    +	- A cast discarded `const' needlessly.  (genconf.c)
    +	- Upper-case echogs switches were getting converted to lower case
    +on VMS.  (jpeg.mak)
    +	- $(EXP) was missing before some invocations of executables.
    +(gs.mak, jpeg.mak, lib.mak)
    +	- Some dependencies in the Unix install script were incorrect.
    +(unixinst.mak)
    +	- Because of differences between shells, putting *.upp in the list
    +of files to be installed didn't work with some shells.  (unixinst.mak)
    +	- The PC makefiles were out of date.  (bcwin32.mak, pcwin.mak,
    +winint.mak, winlib.mak, dwmain.rc, gsdll32.rc)
    +	- Some makefiles still used $(DEV) instead of dev.  (dvx-tail.mak,
    +msvclib.mak, openvms.mak, os2.mak, pcwin.mak, watclib.mak, winlib.mak)
    +	- The DEVICE_DEVSn lists overflowed the DOS 120-character command
    +line limit again.  We had to add DEVICE_DEVS16 through 20 to work around
    +this.  (*.mak)
    +	- Preprocessor definitions have a different syntax on VMS.  Fixing
    +this required adding D_ and _D macros, similar to I_ and _I.  This is a
    +NON-BACKWARD-COMPATIBLE change, since these definitions are now required in
    +each platform-specific makefile.  (dvx-head.mak, openvms.mak, os2.mak,
    +unixhead.mak, wccommon.mak, winlib.mak, zlib.mak)
    +
    +Adds command line switches to generate additional warnings when compiling
    +the auxiliary programs with gcc.  (unix-gcc.mak)
    +
    +Gets rid of the EXPP and SHP macros, since they aren't used or needed any
    +longer.  (gs.mak, bcwin32.mak, dvx-head.mak, msvccmd.mak, openvms.mak,
    +os2.mak, unixhead.mak, watcw32.mak, wccommon.mak)
    +
    +Changes the Unix EXP to null, since all executables now use an explicit
    +directory prefix.  (unixhead.mak)
    +
    +Renames unix-cc.mak as unixtrad.mak, since people with ANSI-compatible cc
    +were getting confused.  (unix-cc.mak [deleted], unixtrad.mak)
    +
    +Adds a -_ switch, for piped execution with buffering.  (iminst.h,
    +imainarg.c)
    +
    +

    Utilities

    +
    +Fixes problems:
    +	- The revised ansi2knr didn't recognize "foo(void)" as a procedure
    +definition.  (ansi2knr.c)
    +	- ansi2knr didn't handle function definitions where the last
    +formal parameter was a procedure parameter.  (ansi2knr.c)
    +
    +Adds a utility for printing an informative error page if a PostScript job
    +fails.  (lib/errpage.ps, doc/Psfiles.htm, unixinst.mak)
    +
    +

    Drivers

    +
    +Fixes problems:
    +	- The [e]pswrite drivers produced incorrect output for images in
    +non-Device color spaces.  We fixed this by causing all other images to be
    +handled as rectangles.  This is clearly not satisfactory: we need to unify
    +the PS and PDF writers in this area.  (gdevps.c)
    +	- The CCITTFaxEncoded data produced by the [e]pswrite driver had
    +both a Rows value and an EndOfBlock marker, which wasn't compatible with
    +some Adobe interpreters.  (gdevpsdf.c)
    +	- X devices couldn't be copied, because the copy didn't clear the
    +list of X fonts and therefore tried to free it a second time.  (gdevx.c,
    +gdevxini.c)
    +	- gdevx.h declared a type called rect, conflicting with variables
    +named rect.  (gdevx.h, gdevx.c)
    +	- A function definition wasn't formatted properly to be
    +recognized by ansi2knr.  (gdevupd.c)
    +	- The PCL XL drivers crashed if given a masked image.  (gdevpx.c)
    +
    +Adds a PBM driver that writes separated CMYK, using the colors-used masks to
    +skip bands.  (devs.mak, gdevpbm.c)
    +
    +Updates drivers that formerly supported the TextAlphaBits and
    +GraphicsAlphaBits parameters themselves.  (gdevmswn.h, gdevsvga.h,
    +gdevpbm.c, gdevmswn.c, gdevpm.c, gdevwdib.c, gdevsvga.c, gdevxalt.c)
    +
    +

    Platforms

    +
    +Fixes problems:
    +	- The stack size on the Watcom platform was set too small.
    +(watc.mak)
    +	- The OpenVMS platform code and makefiles had gotten out of date.
    +(gp_vms.c, openvms.mak)
    +
    +

    Interpreter

    +
    +Fixes problems:
    +	- The size of Indexed color space lookup tables wasn't set, possibly
    +causing them to be corrupted during garbage collection.  (zcsindex.c)
    +	- A function definition wasn't formatted properly to be
    +recognized by ansi2knr.  (icontext.c)
    +	- quit was only rebound to stop in encapsulated jobs, rather than in
    +any context under control of a job server.  Since we don't currently have
    +any explicit way to indicate whether execution is under control of a job
    +server, we consider that it is under a job server iff startjob has ever been
    +executed.  (lib/gs_lev2.ps)
    +
    +Adds tracing output for removing an entry from a dictionary.  (idict.c)
    +
    +Slightly improves dictionary deletion so that it can replace a run of
    +deleted keys with empty keys.  (idict.c)
    +
    +Adds statistics-gathering to the interpreter.  (interp.c)
    +
    +Adds more statistics-gathering to the dictionary stack search.  (idstack.c)
    +
    +Improves the debugging printout of packed arrays.  (idebug.c)
    +
    +Increases the name table allocation increment from 128 names (1.5K) to 256
    +names (3K), to provide better scattering of name indices.  (inamedef.h)
    +
    +Changes the name count / index mapping to provide better scattering.
    +(inamedef.h)
    +
    +

    Interpreter (PDF)

    +
    +Fixes problems:
    +	- If a font other than the base 14 wasn't embedded and lacked a
    +descriptor, an error occurred.  (The PDF specification explicitly prohibits
    +this, but Acrobat PDFWriter 3.02 for Windows produces PDF files with
    +TrueType fonts that lack a descriptor.)  (lib/pdf_font.ps)
    +
    +

    Library

    +
    +Fixes problems:
    +	- The computation of colors used by CMYK halftones was incorrect.
    +(gxclpath.c)
    +	- Some header files had preprocessor directives with a space before
    +the #, which pre-ANSI compilers don't accept.  (gpsync.h, gsjconf.h,
    +gsmemlok.h, gxsync.h, gxxfont.h)
    +	- A number of prototypes didn't use the Pn macros.  (gscolor2.h,
    +gscsepr.h, gsptype1.h, gspcolor.c)
    +	- A function definition wasn't formatted properly to be
    +recognized by ansi2knr.  (gxcht.c)
    +	- The algorithm for reducing single-plane CMYK halftones to binary
    +halftones was incorrect (bug introduced in 5.60).  (gxdither.c)
    +	- Writing a degenerate triangle or parallelogram in the band list
    +could cause a memory access error when rasterizing.  (gxclrast.c)
    +
    +Adds per-band "colors used" information to the information for a saved page,
    +and procedures (gdev_prn_colors_used and gx_page_info_colors_used, defined
    +in gdevprn.h) for accessing it.  (gdevprn.h, gxband.h, gxclist.h, gdevprn.c,
    +gxclist.c)
    +
    +Adds an internal device that appears to clients as a multi-plane color
    +device, and extracts a single plane for actual rendering.  This device will
    +be used to support planar output devices.  (gdevplnx.h, gsbitops.h,
    +gdevplnx.c)
    +
    +Adds explicit color_info.text_anti_alias_bits and graphics_anti_alias_bits
    +values in the device state, obsoleting the get_alpha_bits procedure, and
    +makes them settable for all devices.  (gxdevcli.h, gxdevice.h, gdevabuf.c,
    +gdevdflt.c, gdevnfwd.c, gdevprn.c, gsdparam.c)
    +
    +Reformats some code for readability.  (gxdither.c)
    +
    +Adds a tentative API for a procedure that allows band rasterizing directly
    +into client's memory.  This is tentative because we may need to add the
    +ability to select an individual plane.  (gdevprn.h)
    +
    +
    + +
    + +

    Version 5.64 (internal) (11/5/98)

    + +

    +This is another incremental fileset to fix problems for an external +customer. + +

    Incompatible changes

    +
    +(Drivers)
    +	- The output_page procedure of all drivers now must call
    +gx_finish_output_page as its last action.  (This doesn't affect ordinary
    +printer or raster file drivers, which already call a common procedure.)
    +
    +

    Documentation

    +
    +Fixes problems:
    +	- The instructions for creating 'makefile' on Unix systems were
    +out of date.  (doc/Make.htm)
    +
    +

    Procedures

    +
    +Fixes problems:
    +	- An omitted return statement caused genconf to malfunction on some
    +platforms.  (genconf.c)
    +	- The replacement of MAKEFILES by TOP_MAKEFILES accidentally changed
    +some comments that should not have been changed.  (bcwin32.mak, gs.mak,
    +msvctail.mak, openvms.mak, os2.mak, watcw32.mak, wctail.mak, winlib.mak)
    +
    +

    Drivers

    +
    +Updates drivers to call gx_finish_output_page where needed.  (gdev3b1.c,
    +gdevcgm.c, gdevcp50.c, gdevpdf.c, gdevmswn.c, gdevpm.c, gdevps.c, gdevpx.c,
    +gdevsnfb.c, gdevwprn.c, gdevx.c)
    +
    +

    Library

    +
    +Fixes problems:
    +	- The FontBBox workaround introduced in 5.63 didn't work properly.
    +(zchar1.c)
    +	- PageCount was getting incremented in the first device of a device
    +pipeline, rather than in the last one and being propagated back.
    +(gxdevice.h, gdevbbox.c, gdevdflt.c, gdevnfwd.c, gdevprn.c, gdevprna.c,
    +gsdevice.c)
    +
    +
    + +
    + +

    Version 5.63 (internal) (11/4/98)

    + +

    +This fileset was driven by the development needs of an external customer, +primarily related to asynchronous rendering. It includes a few bug fixes as +well. + +

    Incompatible changes

    +
    +(Procedures)
    +	- In the makefiles, changes the name MAKEFILES to TOP_MAKEFILES.
    +
    +(Library)
    +	- The pis member of the Type 1 interpreter state was renamed in
    +order to catch places that assumed it was set.  (It may now be 0.)  This
    +should not affect any client code.
    +	- gx_page_queue_dnit and gx_page_queue_finish_dequeue now free the
    +band list information associated with the page_info in the queue entry.  An
    +explicit call of gx_page_queue_entry_free_page_info is now required to free
    +this information before any other call of gx_page_queue_entry_free.
    +
    +

    Documentation

    +
    +Fixes problems:
    +	- devs.mak incorrectly referred to msdevs.mak rather than pcwin.mak.
    +(devs.mak)
    +
    +

    Procedures

    +
    +Fixes problems:
    +	- There was a $ in the makefile that wasn't quoted.  (unix-gcc.mak)
    +	- The name MAKEFILES has a special meaning in GNU make which only be
    +disabled by using a directive that is a syntactic error for standard 'make'
    +implementations.  We had to work around this by changing all occurrences of
    +MAKEFILES to TOP_MAKEFILES.  (*.mak)
    +	- genconf did the wrong thing for modules with names shorter than
    +5 characters.  (genconf.c)
    +
    +

    Drivers

    +
    +Updates the Canon BJC library, changing the names of the files.  This code
    +is still very preliminary.  (gdevbjcl.h, gdevbjcl.c)
    +
    +

    Interpreter

    +
    +Fixes problems:
    +	- Some Type 1 fonts have a plausible but incorrect (too-small)
    +FontBBox, causing some characters to be clipped.  We work around this by
    +enlarging the FontBBox and restarting the rasterization if the outline goes
    +outside the FontBBox.  (zchar1.c)
    +
    +

    Library

    +
    +Fixes problems:
    +	- gx_default_strip_copy_rop didn't check for zero width before
    +dividing by it.  (gdevdrop.c)
    +	- Some places that called a procedure returning void tried to use
    +the return value.  (gximage.c, gximage1.c, gximage4.c)
    +	- The flatness for rendering Type 1 characters was set incorrectly
    +(always set to 0, producing best accuracy at extra cost) for characters not
    +in portrait orientation.  (gxtype1.c)
    +	- clist_begin_typed_image incorrectly used the memory manager client
    +name "clist_begin_image".  (gxclimag.c)
    +	- If a page queue entry was created without a page_info, the entry's
    +page_info wasn't initialized, probably causing a crash when attempting to
    +free the (nonexistent) associated band files later.  (gxpageq.c)
    +
    +More fully supports the use of saved page_info objects for decoupling banded
    +rendering from band list construction:
    +	- Adds the ability to close and free the command list associated
    +with a saved page.  (gxclist.h, gxclist.c)
    +	- Separates freeing of the band list information associated with a
    +page queue entry from freeing the entry itself.  (gxpageq.h, gxpageq.c)
    +	- Changes the rendering thread for asynchronous band rendering so
    +that it doesn't try to free the band list information twice.  (gdevprna.c)
    +
    +Implements triangles and parallelograms in the band list, primarily for the
    +sake of smooth shading.  (gxclpath.h, gxclist.c, gxclpath.c, gxclrast.c)
    +
    +Adds a rectangle merging procedure, parallel to rectangle intersection.
    +This is needed for the FontBBox fix.  (gsrect.h)
    +
    +Adds logic for keeping track of what pixel values are used in which bands.
    +Currently this information is not used for anything.  (gdevmrop.h, gsropt.h,
    +gxcldev.h, gxclpath.h, gxclrect.c, gxclpath.c, gxclimag.c)
    +
    +Updates a few more files for readability and coding conventions.
    +(gxband.h, gxpageq.c)
    +
    +Updates users of gxband.h and gxpageq.h.  (gdevprn.h, gxclist.h, gxpageq.h,
    +gdevprna.c, gxclpage.c, gxclread.c)
    +
    +Moves the definition of the page queue into the (private) implementation
    +file.  (gxpageq.h, gxpageq.c)
    +
    +
    + +
    + +

    Version 5.62 (internal) (10/31/98)

    + +

    +This fileset concludes this round of work on (primarily color) performance +improvement. It contains almost no new bug fixes. + +

    Incompatible changes

    +
    +(Library)
    +	- Clients that load the CIE caches themselves must now reset the
    +procedures to the _from_cache values.  (This affects the PostScript
    +interpreter, but no ordinary library clients.)
    +	- gs_cie_compute_wbsd (an internal procedure) was changed to
    +gs_cie_compute_points_sd, with different parameters.
    +
    +

    Documentation

    +
    +Adds information about problems with PDF files copied from Macintosh
    +environments.  (doc/Use.htm)
    +
    +

    Drivers

    +
    +Adds a library for generating Canon BJC commands.  This code is subject to
    +change without notice!  (gdevcbjc.h, gdevcbjc.c)
    +
    +

    Interpreter

    +
    +Fixes problems:
    +	- The structures allocated for CIE RenderTables weren't marked
    +correctly for garbage collection, possibly mangling the output.  (zcie.c)
    +	- The CIE color space procedures weren't reset after the cache was
    +loaded, producing incorrect output now that it matters.  (zcie.c, zcrd.c)
    +
    +

    Library

    +
    +Fixes problems:
    +	- Under some circumstances, a setbbox didn't take effect.
    +(gxpcopy.c)
    +	- The last step of CIE color mapping didn't clamp the very top end
    +of the range correctly.  (gsciemap.c)
    +
    +Speeds up bits_replicate_horizontally a bit more.  (gsbitops.c)
    +
    +Separates the CIE color mapping code from CIE cache loading, since the file
    +was getting too big.  (gscie.h, gscie.c, gsciemap.c)
    +
    +Finishes adding the hooks for skipping steps during CIE color mapping when
    +possible, and implements one case of step-skipping.  (gscie.h, gscie.c,
    +gsciemap.c, gscrd.c)
    +
    +Adds more tracing to the CIE color machinery.  (gscie.c)
    +
    +Changes the default number of tiles for the colored halftone screen caches
    +from 1 to 4, substantially reducing cache turnover.  (gsht1.c, gshtx.c,
    +gxclrast.c)
    +
    +
    + +
    + +

    Version 5.61 (internal) (10/28/98)

    + +

    +More rendering speedups, and fixes for many of the minor problems reported +in 5.50. + +

    Docmentation

    +
    +Fixes problems:
    +	- There were still some incorrect references to .txt files.
    +(gs.mak, libpng.mak)
    +	- Two references to libpng should have referred to libjpeg.
    +(gs.mak)
    +
    +

    Procedures

    +
    +Fixes problems:
    +	- GNU 'make' treats the name MAKEFILES specially.  (unix-gcc.mak)
    +	- genconf didn't sort libraries in the right order.  (genconf.c)
    +	- The dependency for ansi2knr, and the invocation of ccgs, didn't
    +include the directory name.  (ccgs, unix-cc.mak)
    +	- The CC_ and CCAUX rules didn't invoke the new ccgs correctly.
    +(unix-cc.mak)
    +	- There was a typo in a comment.  (unixtail.mak)
    +	- gcc versions of the form 2.7.2.f.1 weren't recognized as having
    +the const-related code generation bug.  (unix-gcc.mak)
    +
    +Documents workaround for bugs in newer IRIX compilers.  (doc/Make.htm)
    +
    +

    Utilities

    +
    +Fixes problems:
    +	- ansi2knr didn't understand the new formatting of the enum_ptrs and
    +reloc_ptrs procedures, which now don't have a left brace on the same line as
    +the macro call that defines the procedure.  (ansi2knr.c)
    +
    +Adds a utility for viewing MIFF files.  (lib/viewmiff.ps)
    +
    +

    Drivers

    +
    +Fixes problems:
    +	- The X driver could report a depth (e.g., 15 bits) that caused
    +problems elsewhere.  (gdevxini.c)
    +	- With the X driver, if the display is grey-scale or does not have
    +enough colors to allocate a color ramp, Ghostscript crashed in
    +x_map_color_rgb due to an array index overflow.  (gdevx.c)
    +	- The PDF writer used the X scaling of fonts to determine the point
    +size rather than the Y scaling, which gives the wrong result for synthetic
    +condensed fonts.  (gdevpdft.c)
    +	- If the last thing written before a flushpage was text, the X
    +driver might fail to display it.  (gdevx.c)
    +	- The PDF writer didn't free the streams created for image
    +compression, causing a memory leak.  (gdevpsdf.c)
    +	- pswrite didn't output a command to set the page size.  (gdevps.c)
    +
    +Removes an obsolete comment and commented-out line.  (gdevxalt.c)
    +
    +

    Interpreter (PDF)

    +
    +Fixes problems:
    +	- Explicit (not resource) Indexed color spaces caused an error.
    +(lib/pdf_draw.ps)
    +
    +

    Streams

    +
    +Fixes problems:
    +	- The PNGPredictor filters didn't free their row buffer.  (spngp.c)
    +	- The PNGPredictor filters didn't handle end-of-data correctly.
    +(spngp.c)
    +
    +Changes the eexec filter to ignore % characters when reading
    +ASCIIHex-encoded data.  This is contrary to the Adobe documentation, but one
    +badly coded prologue requires it.  (seexec.c)
    +
    +

    Library

    +
    +Fixes problems:
    +	- The definition of TRANSPARENCY_PER_H_P was in the wrong module,
    +causing it to be ignored.  (gdevmrop.h, gdevdrop.c)
    +	- There was a typo in the tracing output for init_tile_cursor.
    +(gxcht.c)
    +	- gx_get_bits_copy computed the standard raster incorrectly if
    +the destination used a different color representation from the source,
    +causing multi-line transfers to be done incorrectly.  (gdevdgbr.c)
    +	- Parentheses were missing around the use of width_bits in the
    +definition of bitmap_raster, possibly causing incorrect computation.
    +(gxbitmap.h)
    +	- When rendering a Pattern, a singular CTM caused an error even if
    +the Pattern was empty.  (gspcolor.c)
    +	- The lookup table wasn't allocated for device-originated CRDs.
    +(gscrdp.c)
    +	- If an error occurred when setting up to rasterize a band,
    +data_bits could be freed without ever having been initialized.  (gxclrast.c)
    +	- Processing a CIE-color image with a color space different from the
    +current color space caused an error.  (gscie.c)
    +	- The speedup for bits_replicate_horizontally had an algorithm
    +error, producing incorrect output.  (gsbitops.c)
    +
    +Splits up the memory device implementation of RasterOp, since the file was
    +getting too large.  (gdevmem.h, gdevm1.c, gdevm8.c, gdevm16.c, gdevm24.c,
    +gdevm32.c, gdevmrop.c [deleted], gdevmr1.c, gdevmr2n.c, gdevmr8n.c,
    +gsnorop.c)
    +
    +Cleans up a little formatting.  (gsbittab.h)
    +
    +Speeds up the default RasterOp implementation some more.  (gdevdgbr.c,
    +gdevdrop.c, gdevmem.c)
    +
    +Speeds up testing whether a given halftone level is already present in its
    +cache.  (gzht.h, gxht.c)
    +
    +Speeds up 1-bit CMYK halftones a bit more.  (gxcht.c)
    +
    +Makes filling always use the (much faster) trapezoid-based algorithm if the
    +region being filled is a rectangle.  (gxfill.c)
    +
    +
    + +
    + +

    Version 5.60 (internal) (10/18/98)

    + +

    +This fileset incorporates many performance enhancements for 1-bit CMYK +devices, especially for PCL 5c interpretation. + +

    +This fileset divides the files into subdirectories. In the lists of changed +files, files with no explicit subdirectory name are in the src subdirectory. +The revised OpenVMS and OS/2 makefiles have not been tested. + +

    Incompatible changes

    +
    +(Procedures)
    +	- The instructions for font compilation in doc/Fonts.htm are
    +different.
    +	- The fileset has been split into multiple directories; the source
    +code and makefiles are now in src/.
    +	- The top-level makefile requires a definition for BINDIR for the
    +directory to hold the final executable.
    +	- Every .dev rule of the form
    +		xxx.dev: <list>
    +			$(SETyyy) xxx <items>
    +			$(ADDMOD) xxx <items>
    +must be changed to
    +		$(DD)xxx.dev: <list>
    +			$(SETyyy) $(DD)xxx <items>
    +			$(ADDMOD) $(DD)xxx <items>
    +(DD for drivers, PSD for PostScript/PDF-interpreter features, GLD for
    +graphics library features).  Every -include and -replace option in the
    +makefiles rules, and every element of FEATURE_DEVS and DEVICE_DEVS*, must be
    +changed similarly.  This is very unfortunate, especially since people
    +editing FEATURE_DEVS and DEVICE_DEVS* must now know which subsystem
    +implements a particular feature; but we tried 3 different ways to get the
    +generated .dev files out of the top-level directory, and this was the only
    +one we could make work.
    +	- Top-level makefiles must define both MAKEFILE and MAKEFILES,
    +the latter to include any subsidiary makefiles that define configuration
    +parameters.  Dependencies on $(MAKEFILE) must be changed to $(MAKEFILES).
    +	- Color space objects now must either be allocated with the
    +gs_cspace_build_ procedures or initialized with the gs_cspace_init_
    +procedures: building color spaces "by hand" is no longer allowed.
    +
    +(Library)
    +	- There are new required elements of the gs_image_type_t structure.
    +	- The binary and colored variants of gx_device_halftone have
    +changed.  (No APIs are affected.)
    +	- If a device changes its (effective) color mapping algorithm other
    +than as a side effect of put_params, it must call
    +gx_device_decache_colors(dev).
    +
    +

    Documentation

    +
    +Fixes problems:
    +	- Some files still referred to .doc files rather than .htm.
    +(gsiparam.h, imain.h)
    +	- Version 5.50 was incorrectly identified as a beta version.
    +(doc/News.htm)
    +	- The instructions for cross-compilation were seriously
    +incomplete.  (doc/Make.htm)
    +
    +Adds a text-only README file.  (doc/README)
    +
    +Updates the instructions for font compilation.  (doc/Fonts.htm)
    +
    +Updates the instructions for device and feature selection.  (doc/Make.htm)
    +
    +Adds material on 8.3 file names, compiler warning messages, and graphics
    +library error codes to the C style guide.  (doc/C-style.htm)
    +
    +Adds a note about gx_device_decache_colors.  (doc/Drivers.htm)
    +
    +Improves formatting slightly.  (doc/Install.htm, doc/Use.htm)
    +
    +

    Procedures

    +
    +Fixes problems:
    +	- The Unix install script referred to an obsolete ps2image.ps file.
    +(unixinst.mak)
    +	- The Unix CC script had some duplicated definitions.  (unix-cc.mak)
    +	- The DVX makefile referred to int.mak in GLSRC rather than PSSRC.
    +(dvx-gcc.mak)
    +	- rollconv.ps wasn't installed with the other utilities.
    +(unixinst.mak)
    +	- Some definitions of MAKEFILE lacked a directory name.  (os2.mak,
    +unix-cc.mak, unixansi.mak, watclib.mak)
    +	- There were inappropriate dependencies on a file with the literal
    +name `makefile'.  (bcwin32.mak, gs.mak, watc32.mak)
    +	- Unix systems didn't use -fomit-frame-pointer when possible.
    +(unix-cc.mak, unix-gcc.mak, unixansi.mak, unix-end.mak)
    +
    +Restructures the source files into multiple subdirectories:
    +	src/ - files needed at build time: *.mak, *.h, *.c, *.cpp, *.icx, *.rc,
    +		*.cmd, ??.bat, *.com, *.rps, *.dif, *.cfg
    +	lib/ - files needed at run time: *_*.ps, *.ppd, *.upp, *.bat
    +	doc/ - documentation other than man pages: *.htm, *.txt
    +	man/ - man pages: *.1
    +	examples/ - sample input data: *.ps, *.eps, *.pdf
    +Also incorporates the font compilation makefile into the main makefile,
    +since the former now depends on parameters defined in the latter.  (*.mak)
    +
    +****** HAVEN'T SETTLED HOW TO HANDLE .ico FILES ******
    +
    +NOTE: Still need to update: openvms.mak, os2.mak.
    +
    +Updates the Unix install script for the directory split.  (unixinst.mak)
    +
    +Updates the font compilation makefile rules to handle alternate directories.
    +(cfonts.mak, int.mak)
    +
    +****** PROBLEM: cfonts.mak NEEDS CCFONT, BUT int.mak NEEDS CF* FOR ADDING
    +ONE'S OWN FONTS ******
    +
    +Removes useless dependencies on gs_*.ps files.  (int.mak)
    +
    +Moves the .dev files into the GEN directories where they belong.  (gs.mak,
    +dvx-tail.mak, msvclib.mak, openvms.mak, os2.mak, pcwin.mak, ugcclib.mak,
    +unixhead.mak, unixtail.mak, unix-end.mak, watc.mak, watclib.mak, winlib.mak,
    +echogs.c, genconf.c) ****** NO_OP FOR dvx HASN'T BEEN VERIFIED ******
    +NOTE: Still to do:
    +src/bcwin32.mak
    +src/dvx-gcc.mak
    +src/dvx-head.mak
    +src/dvx-tail.mak
    +src/msvc32.mak
    +src/msvccmd.mak
    +src/msvclib.mak
    +src/msvctail.mak
    +src/openvms.mak
    +src/os2.mak
    +src/pcwin.mak
    +src/ugcclib.mak
    +src/watc.mak
    +src/watclib.mak
    +src/watcw32.mak
    +src/wccommon.mak
    +src/wctail.mak
    +src/winint.mak
    +src/winlib.mak
    +
    +Adds a new BINDIR directory for the final executable (and associated files
    +like resource files).  After building, only the contents of BINDIR and lib
    +are needed for execution.  (gs.mak, unix-end.mak) ****** NEED TO DO
    +openvms.mak, os2.mak, OTHER PC MAKEFILES ******
    +
    +Updates libpng to version 1.0.2.  (libpng.mak)
    +
    +

    Utilities

    +
    +Adds a new switch, -b, to echogs.  (echogs.c)
    +
    +

    Drivers

    +
    +Updates the PDF writer for the change in color space initialization.
    +(gdevpdfi.c)
    +
    +Speeds up the pkmraw driver a bit more.  (gdevpbm.c)
    +
    +Updates some drivers to use the new CMYK color mapping procedures.
    +(gdevpbm.c, gdevpcx.c, gdevxalt.c)
    +
    +Updates one driver that maintained its own color cache.  (gdevxalt.c)
    +
    +Removes some compiler warnings (mostly about "uninitialized" variables).
    +(gdevpdfo.c, gdevpdft.c, gdevpx.c)
    +
    +Adds another driver for the H-P Color LaserJet 5/5M.  (gdevcljc.c)
    +
    +

    Platforms

    +
    +Fixes problems:
    +	- A change in the MetroWerks C compiler caused the hypot function
    +to become declared.  (math_.h)
    +
    +

    Interpreter

    +
    +Updates the compiled font code for updates in the type declarations.
    +(iccfont.c, icfontab.c)
    +
    +Cleans up some more formatting and macros.  (ccfont.h, errors.h, icfontab.c,
    +interp.c)
    +
    +Updates clients for the change in color space initialization.  (zcsdevn.c,
    +zcsindex.c, zcspixel.c, zcssepr.c, zpcolor.c)
    +
    +Updates the memory validator for the addition of the large-block freelist.
    +(ilocate.c)
    +
    +

    Interpreter (PDF)

    +
    +Fixes problems:
    +	- If the final %%EOF was followed by any blanks before the newline,
    +an error would occur.  (lib/pdf_main.ps)
    +
    +

    Streams

    +
    +Fixes problems:
    +	- The LZWDecode filter wouldn't handle a file that had 4096-256-2+1
    +data items before the reset.  (We think this is a bug in the file, but
    +Acrobat accepts it.)  (slzwx.h, slzwd.c)
    +
    +Rearranges code slightly to improve readability.  (spdiff.c)
    +
    +

    Library

    +
    +Fixes problems:
    +	- Changing the resolution (or any other parameter) of the bbox
    +device from the command line caused an invalid memory access.  (gdevbbox.c)
    +	- When banding, if the very first drawing operation involved a
    +halftone with non-zero phase, an arithmetic exception occurred.
    +(gxclpath.c)
    +	- When banding, the X offset of the band was negated, producing
    +incorrect output when placing multiple source pages on a single output page.
    +(gxclread.c)
    +	- When banding, rotated images crossing band boundaries produced
    +incorrect output, because the subrectangle X value was inconsistent with the
    +amount of data transmitted.  (gxclimag.c)
    +	- When banding, the clipping check didn't take interpolation support
    +into account.  (gxclimag.c)
    +	- The clipping check for banding used (int) to take the floor of
    +floating point values, which is wrong for negative values.  (gxclimag.c)
    +	- The bounding box device didn't return an empty bounding
    +rectangle if nothing had been written to it.  (gdevbbox.c)
    +	- A value was conditional on a debugging switch even if DEBUG wasn't
    +defined.  (gxcht.c)
    +	- Filling a region with a large colored halftone, a non-default
    +RasterOp, and a non-null RasterOp source could cause only part of the region
    +to be filled.  (gxcht.c) ****** NOT FIXED YET ******
    +	- Type 1 fonts that used very large numbers (>= 2^19) caused a
    +rangecheck.  We've fixed this for the only case that seems to matter, namely
    +<very-large-number> <number> div.  (gxtype1.h, gstype1.c)
    +	- The memory-based band list allocator failed to return an error
    +code from memfile_next_blk.  (gxclmem.c)
    +	- When recovering from a low-band-list-memory condition while
    +writing an image, the record of the current image enumeration
    +(cdev->image_enum_id) wasn't updated.  (gxclimag.c)
    +	- The estimated memory requirement for the band list rasterizer was
    +too small.  (gdevprna.c)
    +
    +Adds some tracing to mask clipping.  (gxclipm.c)
    +
    +Speeds up masked images by doing mask clipping before halftoning, using a
    +more efficient mask scanning algorithm, and checking for vertical blocks of
    +1s.  (gxclipm.c)
    +
    +Speeds up ImageType 4 images greatly by incorporating the color-key check
    +into the ImageType 1 rendering code.  NOTE: the 12-bit case has not been
    +tested.  (gxcpath.h, gximage.h, gxi12bit.c, gxicolor.c, gxifast.c,
    +gxiinit.c, gximage4.c, gximono.c, gxiscale.c)
    +
    +Implements passing ImageType 4 images (and potentially others) through the
    +band list.  This involves adding image parameter writing and reading
    +procedures to the image type structure.  (gscdefs.h, gsiparam.h, gsiparm2.h,
    +gsiparm4.h, gsmatrix.h, gxclpath.h, gxiparam.h, gconf.c, genconf.c,
    +gsmatrix.c, gxclimag.c, gxclist.c, gxclpath.c, gxclrast.c, gxiinit.c,
    +gximage2.c, gximage3.c, gximage4.c)
    +
    +Splits off the generic image support code from the ImageType 1 code.
    +(gxiinit.c [deleted], gximage.c, gximage1.c, gxipixel.c)
    +
    +Removes some vestiges of support for 16-bit environments.  (gsmisc.c)
    +
    +Implements bit-planar images, important for PCL interpretation.
    +(gsiparam.h, gximage.h, gxiparam.h, gdevddrw.c, gdevpdfi.c, gdevps.c,
    +gsimage.c, gxclimag.c, gxidata.c, gximage.c, gxipixel.c) ****** NOT TESTED
    +YET ******
    +
    +Makes closing a memory device that owns its bitmap set the bitmap pointer to
    +0, for the sake of an application that doesn't handle is_open properly.
    +(gdevmem.c)
    +
    +Speeds up floating-point emulation for single-precision add, subtract, and
    +multiply.  (gsfemu.c)
    +
    +Speeds up sampling of transfer functions.  (gshtx.c)
    +
    +Makes the CIE cache used fixed-point values if the CPU has slow floating
    +point.  (gscie.h)
    +
    +Adds a unique ID to color spaces to allow fast detection of reselecting the
    +same color space.  This matters for certain client code that repeatedly
    +reselects the same color space, since selecting certain color spaces is
    +expensive.  (gscpixel.h, gscspace.h, gxcspace.h, gscolor2.c, gscpixel.c,
    +gscscie.c, gscspace.c, gspcolor.c, gsstate.c, gximage2.c) ****** NEED TO FIX
    +gxclrast.c TO ALLOC INDEXED COLOR SPACE ******
    +
    +Speeds up setting Pattern color spaces, by bypassing the install code for
    +the base space.  (gspcolor.c)
    +
    +Adds a unique ID to CRDs to allow fast detection of reselecting the same
    +CRD.  This matters for certain client code that does this repeatedly.
    +(gscie.h, gscrd.h, gscrd.c)
    +
    +Detects setting the CRD to one with identical PQR components, and bypasses
    +an expensive setup step.  (gscie.c)
    +
    +Speeds up converting pixels between representations (gx_get_bits_copy) for
    +devices with up to 4 bits per pixel, by caching the pixel values.
    +(gdevdgbr.c)
    +
    +Speeds up the slow default RasterOp algorithm a little.  (gdevdrop.c)
    +
    +Defines standard mapping procedures for 1-bit-per-component CMYK colors.
    +Other code can then test for the presence of these procedures and use more
    +efficient algorithms.  (gxdevice.h, gxcmap.c)
    +
    +Speeds up some algorithms in the bbox device by making some recursive calls
    +use a pure color rather than a client-supplied one.  (gdevbbox.h, gdevbbox.c)
    +
    +Adds a cache for the black and white pixel values to the device structure.
    +(gxdevcli.h, gxdevice.h, gdevalph.c, gdevnfwd.c, gsdparam.c, gxdcolor.c)
    +
    +Makes the code for colored halftones a little more readable.  (gxcht.c)
    +
    +Speeds up color mapping for CMYK devices by copying the color mapping
    +procedures into forwarding devices, when applicable.  (gdevcmap.c,
    +gdevmem.c, gsdevice.c, gxclip.c)
    +
    +Removes some compiler warnings (mostly about "uninitialized" variables).
    +(gxcldev.h, gsdevmem.c, gsshade.c, gstype42.c, gxclpath.c, gxfill.c,
    +gximage3.c, gxpath2.c, gxpcopy.c)
    +
    +For the benefit of certain client code that commonly sets a CRD and then
    +doesn't use it, makes loading of the joint CIE caches lazy (at the library
    +level).  (gscie.h, gscie.c)
    +
    +Changes CIE color restriction from a macro to a procedure, since it is
    +rarely used.  (gscie.c)
    +
    +Adds code and structures for detecting when CIE Decode and/or Encode
    +procedures are simply linear transformations, which would allow collapsing
    +them into the adjacent matrix, but doesn't actually do the collapsing.
    +(gscie.h, gscie.c)
    +
    +Speeds up color halftoning by pre-computing the mask of planes that need to
    +be halftoned, and preconverting multi-plane halftones to binary or solid
    +colors when possible.  (gsdcolor.h, gxcht.c, gxdcolor.c, gxdither.c, gxht.c)
    +
    +Optimizes color mapping for 1-bit-per-component CMYK halftones.  (gxcht.c)
    +
    +Optimizes null RasterOp sources for black = 1 as well as black = 0.
    +(gxdcolor.c)
    +
    +Modifies the standard allocator so it keeps track of large free blocks as
    +well as small ones, and uses them to satisfy requests when appropriate.
    +(gxalloc.h, gsalloc.c)
    +
    +Speeds up the horizontal bitmap replication code a bit.  (Much more is
    +possible.)  (gsbitops.c)
    +
    +Changes gs_image_max_planes to gs_image_max_components to reflect its
    +function more accurately.  (gdevddrw.c)
    +
    +
    + +
    + +

    Version 5.50 (9/16/98)

    + +

    +This is the first public release since 5.10. See +the release summary +for a list of major additions and changes. + +

    Documentation

    +
    +Fixes problems:
    +	- Many files still referred to .txt rather than .htm files.
    +(DLL.htm, Make.htm, New-user.htm, Readme.htm, bcwin32.mak, cfonts.mak,
    +devs.mak, dvx-gcc.mak, dwmainc.cpp, gs-vms.hlp, gxdevcli.h, gxdevice.h,
    +int.mak, jpeg.mak, libpng.mak, msvc32.mak, msvclib.mak, openvms.mak,
    +os2.mak, unix-cc.mak, unix-gcc.mak, unixansi.mak, watc.mak, watcw32.mak,
    +wccommon.mak, zlib.mak)
    +
    +Notes that ps2epsi.1 and ps2epsi.txt may be inconsistent or obsolete.
    +(ps2epsi.1, ps2epsi.txt)
    +
    +Adds a reference to Thomas Merz's Ghostscript manual.  (Readme.htm)
    +
    +Adds instructions for making RPMs.  (Install.htm, Make.htm)
    +
    +Changes the URL for post-release notes.  (Bug-form.htm, Make.htm,
    +New-user.htm)
    +
    +Notes problems with Watcom compilation.  (Make.htm)
    +
    +

    Procedures

    +
    +Fixes problems:
    +	- On Unix systems, the documentation files didn't get installed by
    +`make install'.  (unixinst.mak)
    +	- $() was missing around MAKEFILE in a Windows makefile.
    +(msvc32.mak)
    +	- The dfax drivers didn't include all the necessary files in the
    +linker list.  (contrib.mak)
    +	- The MSVC makefiles didn't allow building the executable in a
    +different directory.  (bcwin32.mak, gs.mak, lib.mak, msvc32.mak,
    +msvccmd.mak, msvclib.mak, msvctail.mak, os2.mak, watcw32.mak, winint.mak,
    +winlib.mak)
    +	- The default build directory for the Borland compiler was debugobj
    +rather than obj.  (bcwin32.mak)
    +
    +Adds a patch file and some specification files for making RPMs.  (gs.rps,
    +gs-fonts.rps, rpm-conf.dif)
    +
    +Removes the docs target in the makefile, since this function is now
    +performed by another program.  (unix-end.mak)
    +
    +

    Drivers

    +
    +Fixes problems:
    +	- The jpeg drivers caused a memory access error.  (bug introduced in
    +5.20 by an incorrectly made fix) (gdevjpeg.c)
    +	- The x11cmyk driver implemented map_rgb_color, which it should not
    +do.  (gdevxalt.c)
    +
    +Updates a high-level driver for the addition of the bit-planar image format.
    +(gdevps.c)
    +
    +

    Utilities

    +
    +Fixes problems:
    +	- echogs -h didn't work in environments where char is signed.
    +(echogs.c)
    +
    +

    Platforms

    +
    +Fixes problems:
    +	- MSVC++ 5.0 produced incorrect code with TDEBUG=0.  We "fixed" this
    +problem by noting in the makefile that TDEBUG must be left set to 1.
    +(msvc32.mak, msvclib.mak)
    +
    +Updates the icons for the MS Windows and OS/2 platforms.  (gsgraph.icx,
    +gsos2.icx, gspmdrv.icx, gstext.icx)
    +
    +

    Interpreter

    +
    +Fixes problems:
    +	- setpagedevice didn't update the state correctly when switching to
    +a new type of device (different OutputDevice value).  (gs_setpd.ps)
    +	- The interpreter's initialization depended on BSS being initialized
    +to 0.  (files.h, zfile.c)
    +
    +Removes all references to reloc_struct_ptr other than in gsstruct.h.
    +(igcref.c)
    +
    +Adds DEBUG tracing for pdfmarks.  (gs_pdfwr.ps)
    +
    +Disables TEST code for release.  (zcrd.c, zfdcte.c)
    +
    +

    Interpreter (PDF)

    +
    +Fixes problems:
    +	- Some third-party software still referred to the obsolete #?
    +procedure.  (pdf_main.ps)
    +	- Destinations with string names weren't properly converted to
    +pdfmarks.  (pdf_main.ps)
    +	- Destinations with S = /Named weren't supported.  (pdf_main.ps)
    +
    +

    Library

    +
    +Fixes problems:
    +	- Dropout prevention wasn't applied to landscape image masks.
    +(gximono.c)
    +	- When using async rendering, the renderer's allocator was allocated
    +with the wrong allocator.  (gdevprna.c)
    +	- gx_strip_bitmap and gx_device_mask_clip didn't have proper GC
    +descriptors, causing crashes if a GC occurred while rendering an ImageType 3
    +or 4 image.  (gsstruct.h, gxbitmap.h, gxclip2.h, gxclipm.h, gxmclip.h,
    +gspcolor.c, gxclipm.c, gxmclip.c)
    +	- The buffer for printer devices wasn't reallocated properly for
    +async devices when the page size changed.  We aren't entirely comfortable
    +with the fix, but it's the best we've got right now.  (gdevprn.c)
    +	- Some files wouldn't compile with -dNOPRIVATE.  (gxcspace.h,
    +gscdevn.c, gscolor2.c, gscscie.c, gscsepr.c)
    +	- gp_semaphore_close and gp_monitor_close were defined as not
    +returning an error code.  (gpsync.h, gp_nsync.c, gp_posem.c, gp_semon.c,
    +gp_win32.c)
    +	- Initialization code depended on BSS being initialized to 0.
    +(gsiodev.c)
    +	- The special PCL color mapping device didn't handle CMYK devices
    +correctly in other than "identity" mode.  (gdevcmap.c)
    +
    +Cleans up a little formatting.  (gscie.h, gscpixel.c, gxmclip.c)
    +
    +Removes all references to reloc_struct_ptr other than in gsstruct.h.
    +(gsstruct.h, gsalloc.c, gsdevice.c, gsfont.c, gxcpath.c)
    +
    +Patches the async code so that it allocates twice as much space for the
    +renderer as should be needed, to deal with sandbars.  (gdevprna.c)
    +
    +
    + +
    + +

    Version 5.40 (beta) (9/10/98)

    + +

    +A few more fixes. This is intended as the candidate fileset for the 5.50 +release. + +

    Documentation

    +
    +Fixes problems:
    +	- The current GNU Ghostscript version was documented as 3.33, not
    +4.03.  (New-user.htm)
    +	- The ansi2knr usage documentation didn't mention --filename.
    +(ansi2knr.1)
    +	- A projected completion date was too optimistic.  (ps2pdf.1)
    +
    +Replaces all documentation files with new HTML versions.  (*.txt [deleted],
    +*.htm, index.html, imainarg.c)
    +
    +Adds a contributed set of Emacs macros useful for working with Ghostscript
    +documentation.  (gsdoc.el)
    +
    +Changes the version and date format slightly in one file for consistency.
    +(gs-vms.hlp)
    +
    +

    Procedures

    +
    +Adds a make target (make docs) to touch up documentation files before a
    +release.  (unix-end.mak)
    +
    +

    Utilities

    +
    +Removes the long-obsolete ps2image.ps utility.  (ps2image.ps [deleted])
    +
    +

    Drivers

    +
    +Adds a driver for the Color LaserJet 5.  (devs.mak, gdevclj.c)
    +
    +

    Platforms

    +
    +Fixes problems:
    +	- Blanks in command lines weren't handled properly.  (dwmain.cpp,
    +dwmainc.cpp)
    +
    +

    Library

    +
    +Fixes problems:
    +	- 16-bit devices didn't convert colors to RGB correctly.
    +(gdevm16.c)
    +	- 16- and 32-bit RasterOp didn't work, because pack_from_standard
    +didn't handle depths greater than 8.  (gdevdrop.c)
    +	- RasterOps with devices with non-standard color representation
    +sometimes substituted black or white for the source or target.  (gdevdrop.c)
    +	- The non-orthogonal case of Axial shading executed the axial-case
    +code as well.  (gxshade1.c)
    +	- copy_color on 4-bit-deep memory devices did an unnecessary
    +fit_copy check.  (gdevm4.c)
    +	- An upcast was missing.  (gdevbbox.c)
    +	- View clipping was applied to internal devices, incorrectly.
    +(gspath.c)
    +
    +Revises the implementation of shading so as to reduce the use of macros,
    +update formatting, and help prepare for PatternType 2 patterns.  (gsshade.h,
    +gxshade.h, gxshade4.h, gscolor3.c, gsshade.c, gxshade.c, gxshade1.c,
    +gxshade4.c, gxshade6.c)
    +
    +
    + +
    + +

    Version 5.39 (beta) (9/8/98)

    + +

    +A couple more small fixes. + +

    Drivers

    +
    +Fixes problems:
    +	- The pkm[raw] drivers didn't work with 32-bit pixels.  (gdevpbm.c)
    +
    +Adds (fake) 8-, 16-, and 32-bit X11 CMYK devices, for debugging.
    +Unfortunately, the 16- and 32-bit devices consume the hardware color map and
    +then no longer behave reasonably; the 8-bit device produces output with
    +garbled colors (fixed in 5.40).  (devs.mak, gdevxalt.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- All banded devices caused a memory access error.  (bug introduced
    +in 5.38)  (gsstate.c)
    +	- The special color mapping device didn't update its state after
    +put_params.  (gdevcmap.c)
    +	- RasterOp on 8-bit non-gray-scale devices didn't handle filling
    +with constant 0 or 1 properly.  (gdevmrop.c)
    +	- The halftone machinery didn't switch from full-size to strip
    +halftones early enough, possibly allocating very large halftone data
    +structures.  (gshtscr.c)
    +	- If an ioerror (such as a disk- or memory-full condition) occurred
    +while writing out the band list, the bookkeeping structures were left in an
    +inconsistent state, causing further problems.  (gxclutil.c)
    +	- Some shaded fills didn't check for errors when filling
    +sub-regions.  (gxshade1.c, gxshade4.c)
    +
    +Cleans up some formatting.  (gxshade6.c)
    +
    +
    + +
    + +

    Version 5.38 (beta) (9/3/98)

    + +

    +The sole purpose of this release was to fix some obscure bugs detected by +the Genoa tests and by another Aladdin project. + +

    Documentation

    +
    +Updates the list of implemented PostScript LanguageLevel 3 features.
    +(current.txt)
    +
    +

    Drivers

    +
    +Fixes problems:
    +	- The PDF writer did the wrong thing for multi-source images with
    +more than 180 bytes of data (total) per scan line.  (gdevpdfi.c)
    +	- If one used setdistillerparams, [g]restore caused a rangecheck in
    +.setpagedevice.  ****** DISABLED FOR DCT DICTS, SINCE THIS CAUSES A SEGV
    +****** (gdevpsdp.c)
    +
    +

    Interpreter

    +
    +Fixes problems:
    +	- 0-length parameter arrays were given an arbitrary type, confusing
    +clients.  (iparam.c)
    +	- EOD on a write stream caused an error.  (zfileio.c)
    +
    +

    Library

    +
    +Fixes problems:
    +	- 0-length parameter arrays confused clients that wanted arrays of a
    +particular type.  (gsparam.c)
    +	- Patterns with XStep or YStep smaller than the bounding box didn't
    +work properly.  (gxp1fill.c)
    +	- Resizing an object sometimes copied it unnecessarily.  (gsalloc.c)
    +	- Freeing the shared part of a graphics state didn't free its
    +sub-objects.  (gsstate.c)
    +	- The standard allocator didn't free its initial (self-containing)
    +chunk when asked to free itself.  (gsalloc.c)
    +	- The standard allocator didn't attempt to merge free blocks before
    +giving up.  We implemented this by adding another virtual procedure to
    +allocators, consolidate_free.  (gsmemory.h, gsmemraw.h, gsalloc.c,
    +gsmalloc.c, gsmemlok.c, gsmemory.c)
    +	- The free object merging algorithm thought there were free objects
    +even when there weren't.  (Small performance bug only.)  (gsalloc.c)
    +
    +Adds some more tracing to pattern filling.  (gxclip2.c, gxp1fill.c)
    +
    +Replaces the cs_alloc, cs_copy, and cs_undo_alloc macros with procedures.
    +(gxcspace.h, gscolor2.c, gscsepr.c, gscspace.c, gspcolor.c)
    +
    +Moves the free-object merging code from gsnogc.c to gsalloc.c, so it can be
    +used even in systems that have a garbage collector.  (gsalloc.h, gxalloc.h,
    +gsalloc.c, gsnogc.c)
    +
    +
    + +
    + +

    Version 5.37 (beta) (8/31/98)

    + +

    Documentation

    +
    +Mentions the new cid2code utility in the documentation.  (psfiles.txt)
    +
    +Documents dpsnext.dev.  (gs.mak)
    +
    +Notes that clients of ImageType 3 images are responsible for providing the
    +mask data before the pixel data.  (gsiparm3.h)
    +
    +

    Procedures

    +
    +Fixes problems:
    +	- The makefiles were missing a dependency of jconfig.h on arch.h.
    +With this fix, parallel builds (make -jN) work reliably.  (jpeg.mak)
    +
    +

    Utilities

    +
    +Adds a utility for creating maps from CIDs to Unicode.  (unixinst.mak,
    +cid2code.ps)
    +
    +

    Drivers

    +
    +Removes the %Fax% IODevice code, since it was only a skeleton and Adobe no
    +longer supports this facility.  (devs.mak, gdevpfax.c [deleted])
    +
    +

    Fonts

    +
    +Fixes problems:
    +	- TrueType fonts whose first code wasn't 0 or 0xf000 didn't display
    +correctly.  (bug introduced in 5.36) (gs_ttf.ps)
    +	- CIDFontType 0 fonts didn't handle being redefined with another
    +name.  (gs_cidfn.ps)
    +	- CIDFontType 0 fonts could get local-into-global-store errors.
    +(gs_cidfn.ps)
    +	- PDF files couldn't use already-defined CMap resources.
    +(pdf_font.ps)
    +	- Out-of-range CIDs gave an error rather than using a notdef
    +character.  (gs_cidfn.ps)
    +
    +

    Interpreter

    +
    +Fixes problems:
    +	- CIDFontType 4 fonts weren't recognized as CID-keyed.  (zchar2.c,
    +zchar32.c, zfont32.c)
    +	- When recovering from an error in an operator procedure, the
    +interpreter didn't update the dictionary stack caches.  (interp.c)
    +	- startjob didn't reinitialize the stacks or VM space.  (gs_lev2.ps)
    +	- Encoding filters with a Predictor always caused an error.
    +(zfilter2.c)
    +	- currenttrapparams gave an error.  (gs_ll3.ps)
    +	- settrapparams had no effect, and left the dictionary on the stack.
    +(gs_ll3.ps)
    +
    +Finishes implementing Type 32 fonts.  These fonts don't actually work
    +directly with the cache -- they store the bitmaps in a compressed form in an
    +ordinary Dictionary -- but they do behave the way they are specified.
    +(gs_typ32.ps, zchar32.c, zfont32.c)
    +
    +Cleans up formatting and macros in a few more files.  (ccfont.h, icharout.h,
    +icstate.h, iutil.h, iutil2.h, ibnum.c, iccfont.c, iccinit0.c, ilocate.c,
    +isave.h, isave.c, iscannum.c, iutil.c, iutil2.c)
    +
    +Removes or capitalizes a few more macros.  (zcontext.c, zcssepr.c,
    +zusparam.c)
    +
    +

    Interpreter (PDF)

    +
    +Fixes problems:
    +	- Color spaces with subsidiary spaces (Indexed, Separation, DeviceN)
    +sometimes didn't work properly, because they were translated to PostScript
    +structures more than once.  (pdf_draw.ps)
    +	- Type 3 fonts didn't rebind the resource context when executing the
    +CharProc procedure.  (pdf_font.ps)
    +
    +

    Streams

    +
    +Fixes problems:
    +	- The CCITTFax decoder signaled an error if it saw an EOB with
    +EndOfBlock = false.  (According to e-mail from Adobe, EOBs should be
    +recognized even if EndOfBlock is false, even though the Red Book implies the
    +opposite.)  (scfd.c)
    +
    +Cleans up macros and formatting in a few more files.  (slzwce.c, sfxfd.c,
    +sfxstdio.c)
    +
    +

    Library

    +
    +Fixes problems:
    +	- Landscape color images usually didn't display.  (bug introduced in
    +5.32)  (gxicolor.c)
    +	- If gs_heap_free_object was called with ptr != 0 but bp = 0 (which
    +is an error), an invalid memory access would occur.  (gsmalloc.c)
    +	- The left side bearing was still being added in a second time for
    +the accent of a seac.  (bug probably introduced in 5.20)  (gxtype1.c)
    +	- An access error occurred when rendering the very last glyph of a
    +TrueType font with a 2-byte loca table.  (gstype42.c)
    +	- In the fast portrait case of monochrome images, a numerical error
    +sometimes produced a 1-bit-wide vertical stripe of an incorrect color at the
    +right edge of the image.  (gxifast.c)
    +	- ImageType 3 images with InterleaveType = 3 gave memory access
    +errors.  (gximage3.c)
    +	- Hit detection ignored any part of the aperture that had negative X
    +or Y coordinates.  (gdevhit.c)
    +	- The special color mapping device didn't copy all necessary values
    +back from its target.  (gxdevice.h, gdevbbox.c, gdevcmap.c, gsdevice.c)
    +	- The special color mapping device didn't handle ordinary (Type 1)
    +images correctly.  (gdevcmap.c)
    +	- CMYK halftones complemented both the color and the halftone level:
    +this produced the right number of pixels turned on (only for linear spot
    +functions or threshold arrays), but wasn't consistent with either the Adobe
    +specification or the user's intentions.  (gxcht.c)
    +	- The phase of mask Patterns wasn't always set correctly.
    +(gxp1fill.c)
    +	- The reader side of overlapped band devices was confused about its
    +open/closed status.  (gdevprna.c)
    +
    +Renames Type 32 fonts from ft_bitmap to ft_CID_bitmap.  (gxftype.h)
    +
    +Adds some more tracing for composite font decoding.  (gsfcmap.c)
    +
    +Adds some more tracing for images.  (gxiinit.c)
    +
    +Cleans up formatting and macros in a few more files.  (gxifast.c)
    +
    +Moves the image*_type_data and image*_enum_procs_data definitions from
    +header files into more appropriate .c files.  (gsiparm2.h, gsiparm3.h,
    +gsiparm4.h, gxiparam.h, gxiinit.c, gximage2.c, gximage3.c, gximage4.c)
    +
    +
    + +
    + +

    Version 5.36 (beta) (8/25/98)

    + +

    +Another set of fixes. The free-standing bbox device now produces convenient +%%BoundingBox messages. This fileset also includes support for double-byte +TrueType fonts. + +

    Documentation

    +
    +Fixes problems:
    +	- There was a minor spacing glitch in one man page.  (gs.1)
    +	- The page printed by align.ps didn't make it clear enough what to
    +do with the numbers it asks users to calculate.  (align.ps)
    +	- The sample code for adding gamma adjustment didn't work most of
    +the time.  (devices.txt)
    +	- The prolog produced by pswrite was completely uncommented.
    +(gdevps.c)
    +	- The documentation didn't note that the string block freelist
    +(sfree) is sorted in address order.  (gxalloc.h)
    +
    +Notes that FirstBitLowOrder and LowBitFirst are equivalent.  (slzwx.h)
    +
    +Notes a change in the FTP site of the free Kanji ("Wadalab") fonts.
    +(fonts.txt)
    +
    +Adds a pointer to the freely available Unicode CMaps.  (fonts.txt)
    +
    +Changes an obsolete e-mail address for Carsten Emde.  (contrib.mak)
    +
    +

    Utilities

    +
    +Fixes problems:
    +	- The viewgif utility sometimes left 1-scan-line gaps when rendering
    +interlaced images.  (viewgif.ps)
    +
    +

    Drivers

    +
    +Fixes problems:
    +	- In the PDF writer, downsampled images were always written with 8
    +bits per sample, not the requested depth.  (gdevpsdi.c)
    +	- The 8-to-N-bit compression filter produced an extra byte at the
    +end of each row, and the N-to-8-bit expansion filter skipped an input byte
    +at the end of each row.  (gdevpsds.c)
    +	- In the PDF writer, the size of downsampled images for changing the
    +pixel width was set incorrectly, leading to inconsistent image parameters in
    +the output.  (gdevpsdi.c)
    +	- The subsampling filters didn't take a clear position about what to
    +do with excess input samples beyond a multiple of the reduction factor,
    +leading to inconsistent image parameters.  We added a Boolean to indicate
    +whether they should discard the samples or use them to create an additional
    +output sample.  (gdevpsds.h, gdevpsdi.c, gdevpsds.c)
    +	- The subsampling filters didn't provide the necessary set_defaults
    +procedures.  (gdevpsds.h, gdevpsds.c)
    +	- Because of a typo, pdfwrite and pswrite printed sequences of 4
    +decimal values wrong. (bug introduced during macro removal in 5.25)
    +(gdevpstr.c)
    +
    +Makes the PS writer produce a %%HiResBoundingBox as well as a %%BoundingBox.
    +(gdevps.c)
    +
    +

    Platforms

    +
    +Fixes problems:
    +	- The Borland makefile didn't include the MT libraries.  We added a
    +MULTITHREAD option to this makefile.  (bcwin32.mak)
    +	- The MSVC makefile didn't include the MT switches in the right
    +place.  (msvccmd.mak)
    +	- 'make clean' in the Windows makefiles didn't clean up quite
    +enough.  (bcwin32.mak, msvc32.mak, msvccmd.mak)
    +	- The OS/2 makefile had gotten slightly out of date.  (os2.mak)
    +
    +Cleans up some formatting.  (gp_win32.c)
    +
    +

    Fonts

    +
    +Fixes problems:
    +	- Loading large TrueType fonts caused excessive garbage collection.
    +(gs_ttf.ps)
    +
    +Finishes implementing support for turning double-byte TrueType fonts into
    +CIDFontType 2 fonts.  (gs_ttf.ps)
    +
    +

    Interpreter

    +
    +Fixes problems:
    +	- We thought the dictionary returned by currentuserparams should
    +always be allocated in local VM, but in fact the correct definition is that
    +it should be allocated in the current VM.  The simplest way to make this
    +work is for setuserparams to copy any string values into global VM.
    +(gs_lev2.ps)
    +	- 1-input stitching functions didn't allow k = 0.  (ifunc.h,
    +zfunc.c)
    +	- OtherSubrs defined in PostScript no longer worked.  (bug probably
    +introduced when we rewrote the Type 1 code in C) (zchar1.c)
    +
    +Cleans up a few compiler warnings (missing empty 'default' cases, unused
    +variables).  (igc.c, iname.c)
    +
    +Replaces some uses of RELOC_*_PTR (now deprecated) with RELOC_*_VAR.
    +(isave.c, iscan.c)
    +
    +

    Interpreter (PDF)

    +
    +Fixes problems:
    +	- Resources were re-created on each page, causing (sometimes a lot
    +of) unnecessary computation.  We implemented most of the machinery for
    +avoiding this, but not the mechanism for actually storing resources in
    +global VM.  (pdf_base.ps, pdf_main.ps)
    +
    +Adds a little more debugging code.  (pdf_draw.ps)
    +
    +

    Streams

    +
    +Cleans up formatting in a few more files.  (sbtx.h, sfilter.h, slzwx.h,
    +spngpx.h, srlx.h, sstring.h, seexec.c, sfilter1.c, sfilter2.c, smtf.c,
    +spcxd.c, srld.c, srle.c)
    +
    +Replaces a couple of #defines with duplicated (small) structures.  (sbtx.h,
    +sfilter.h, sfilter1.c, sfilter2.c)
    +
    +Replaces all uses of RELOC_*_PTR (now deprecated) with RELOC_*_VAR.
    +(stream.c)
    +
    +

    Library

    +
    +Fixes problems:
    +	- If a garbage collection occurred during a string show operation,
    +memory could be corrupted. (bug introduced in 5.24) (gstext.h, gstext.c)
    +	- A debugging check incorrectly indicated an error when
    +miter-checking lines with a 0 degree angle between them.  (gxstroke.c)
    +	- A structure created for bitmap/pixmap patterns was never freed.
    +(gspcolor.c)
    +	- Colored halftones didn't work with 24-bit devices.  (This case was
    +never actually used.)  (gxcht.c)
    +	- CIE colors didn't remap properly if the current color space was a
    +Pattern space.  (gscie.c)
    +	- In a non-garbage-collected environment, freeing a string in the
    +current chunk made an unnecessary test.  (Minor performance impact only.)
    +(gsnogc.c)
    +
    +Cleans up a few compiler warnings (missing empty 'default' cases, unused
    +variables).  (gsht.c, gsht1.c, gshtscr.c, gsimage.c, gxacpath.c, gxclread.c,
    +gxicolor.c, gxshade4.c)
    +
    +Replaces some uses of RELOC_*_PTR with RELOC_*_VAR.  (gsht1.c)
    +
    +Changes the printed output of the free-standing bbox device so it produces
    +%%BoundingBox and %%HiResBoundingBox lines that can be dropped directly into
    +a DSC header.  (gdevbbox.c)
    +
    +Speeds up the 4-bit case of copy_mono by about 30%.  (gdevm4.c)
    +
    +Expands some macros and cleans up formatting, for easier reading and
    +debugging.  Speeds up the color halftone generation algorithm substantially
    +(up to 40%), by skipping the halftone computation for planes that are known
    +to be solid-color, and using copy_mono directly if only one plane is not
    +solid-color.  (gxcht.c)
    +
    +
    + +
    + +

    Version 5.35 (beta) (8/18/98)

    + +

    +More updates for 5.3x, specifically fixing problems with halftones on banded +CMYK devices. + +

    Documentation

    +
    +Fixes problems:
    +	- The URLs for the third-party libraries were out of date.
    +(make.txt, jpeg.mak, libpng.mak, zlib.mak)
    +
    +

    Drivers

    +
    +Adds an x11gray4 device for help in debugging.  (devs.mak, gdevxalt.c)
    +
    +

    Fonts

    +
    +Fixes problems:
    +	- TrueType fonts with more than 64K of data before or after the
    +glyfs caused an error.  (gs_ttf.ps)
    +
    +

    Interpreter

    +
    +Fixes problems:
    +	- The dictionary returned by currentuserparams was allocated in the
    +current VM rather than always in local VM.  (gs_lev2.ps)
    +
    +

    Interpreter (PDF)

    +
    +Fixes problems:
    +	- CID-keyed fonts caused an error, because their CDevProc was
    +incorrect.  (pdf_font.ps)
    +
    +

    Library

    +
    +Fixes problems:
    +	- A comment was duplicated.  (gxht.h)
    +	- The main procedure of the command list reader was so large that it
    +couldn't be optimized by many compilers, and was very hard to read.
    +(gxclrast.c)
    +	- Banding devices using multi-screen halftones could get memory
    +access errors because they didn't clear the halftone caches when changing
    +halftone parameters.  (gxclrast.c)
    +	- Banding devices using multi-screen halftones didn't set the
    +halftone phase correctly.  (gxcht.c, gxclrast.c)
    +	- RasterOp didn't work for 2- or 4-bit gray-scale devices.  It still
    +doesn't work right, but it's closer.  (gdevm2.c, gdevm4.c, gdevmrop.c)
    +	- Undefined characters in CMap-based composite fonts caused errors
    +and possible invalid memory accesses.  (gschar0.c)
    +
    +
    + +
    + +

    Version 5.34 (beta) (8/16/98)

    + +

    +More updates for 5.3x. + +

    Documentation

    +
    +Updates all of the man pages to new versions.  (gs-vms.hlp, gs.1, pdf2dsc.1,
    +pdf2ps.1, ps2ascii.1, ps2epsi.1, ps2pdf.1, ps2ps.1)
    +
    +

    Procedures

    +
    +Fixes problems:
    +	- The MSVC library makefile incorrectly included gp_msio.c.
    +(msvclib.mak, winlib.mak)
    +
    +

    Drivers

    +
    +Fixes problems:
    +	- The PDF writer unnecessarily checked for other parameters after a
    +failing show or pdfmark.  (gdevpdfp.c)
    +	- The device's BufferSpace parameter was ignored.  (bug introduced
    +by async rendering code in 5.30) (gdevprn.c)
    +	- Banding devices smashed the first 4 bytes of each scan line.  (bug
    +introduced in 5.28) (gxdevmem.h, gdevmem.c, gxclread.c)
    +	- The phase for colored halftones was set wrong.  (We have "fixed"
    +this innumerable times, and it is still probably wrong.)  (gxclrast.c)
    +
    +Replaces the deprecated gx_device_image_xxx calls with the new gx_image_xxx
    +calls.  (gdevpdfi.c, gdevps.c, gdevpx.c, gdevvec.c)
    +
    +

    Interpreter

    +
    +Fixes problems:
    +	- The equality test for idiom recognition sometimes incorrectly
    +returned false.  (zmisc3.c)
    +	- shfill didn't take the BBox into account.  (It still doesn't.)
    +(gxshade.c)
    +	- The status operator could return an incorrect pages or bytes value
    +for files larger than 2 Gb, rather than giving an error.  (zfile.c)
    +
    +

    Library

    +
    +Fixes problems:
    +	- The hint tables weren't reset after processing the base character
    +of a 'seac', leading to incorrect hinting and (for Type 2 CharStrings)
    +possible mis-parsing of the outline data.  (gstype2.c)
    +	- When processing a 'seac', the left side bearing was added in
    +twice, displacing characters to the right.  (bug probably introduced in
    +5.20) (gstype1.c)
    +	- RasterOps didn't set the size of the RasterOp texture device,
    +which caused filling operations involving a colored halftone to be clipped
    +to an empty rectangle.  (gdevrops.c)
    +	- When filling with a colored halftone, the RasterOp source was
    +often disregarded.  (gxcht.c)
    +	- gx_device_image[_plane]_data and gx_device_end_image took an
    +unused dev argument, leading to potential confusion.  We deprecated the
    +gx_device_image_plane_data and gx_device_end_image procedures, replacing
    +them with macros that call their replacements gx_image_plane_data and
    +gx_image_end (which no longer have the spurious dev argument).  (gxdevcli.h,
    +gxdevice.h, gxiparam.h, gdevbbox.c, gdevddrw.c, gdevdflt.c, gsimage.c,
    +gslib.c, gxclimag.c, gxclrast.c, gximage2.c, gximage3.c, gximage4.c)
    +	- gs_color_adjust_count, introduced in 5.33 to address the problem
    +of freeing free-standing patterns, just made things worse.  We are replacing
    +them with gs_pattern_reference, essentially the procedure introduced in 5.31
    +that we deleted in 5.33.  (gsccolor.h, gspcolor.h, gscolor.c, gspcolor.c)
    +
    +Changes hint suppression from a #define to a debugger-settable static.
    +(gxhint1.c)
    +
    +
    + +
    + +

    Version 5.33 (beta) (8/14/98)

    + +

    +This is the third set of updates for 5.30. These updates have been driven +mostly by the needs of another Aladdin project, so they haven't included as +many problem fixes as we would normally make. + +

    Platforms

    +
    +Fixes problems:
    +	- The thread creation procedure for Win32 called a Windows function
    +rather than the proper C library function.  (gp_win32.c)
    +	- In some MS-DOS implementations, the copy command doesn't recognize
    +the /Y switch.  (bcwin32.mak)
    +
    +

    Fonts

    +
    +Fixes problems:
    +	- TrueType fonts with *less* than 64K of glyf data stopped working.
    +(bug introduced in 5.31) (gs_ttf.ps)
    +
    +

    Interpreter (PDF)

    +
    +Fixes problems:
    +	- Using an Identity function left an extra element on the stack.
    +(pdf_draw.ps)
    +	- The syntax of # in names is different in PDF 1.1 and PDF 1.2, but
    +the PDF 1.2 syntax was always used.  (pdf_base.ps, pdf_main.ps)
    +
    +

    Library

    +
    +Fixes problems:
    +	- Color images still always caused an error. (bug introduced in
    +5.32) (gxicolor.c)
    +	- Because of a typo, the implementation of image types didn't
    +compile. (bug introduced in 5.32)  (gxiparam.h)
    +	- Free-standing colors (specifically pattern colors) and color
    +spaces couldn't be freed.  This required a NON-BACKWARD-COMPATIBLE change in
    +an internal API used for managing color and color space reference counts.
    +(gxcspace.h, gsccolor.h, gscdevn.c, gscolor.c, gscolor2.c, gscscie.c,
    +gscsepr.c, gscspace.c, gspcolor.c)
    +
    +Cleans up a little more formatting.  (gscspace.h)
    +
    +
    + +
    + +

    Version 5.32 (beta) (8/13/98)

    + +

    +This is the second set of updates for 5.30. + +

    Procedures

    +
    +Fixes problems:
    +	- The OS/2 makefile accidentally omitted the OS/2-PM driver.
    +(os2.mak)
    +	- The MSVC library makefile didn't work.  (msvclib.mak)
    +	- Debugging was turned on in the Borland Windows makefile.
    +(bcwin32.mak)
    +	- The BEGINFILES2 list was too long in the MSVC makefile.
    +(msvc32.mak)
    +
    +

    Interpreter

    +
    +Fixes problems:
    +	- .execn wouldn't accept pseudo-operators.  (iref.h)
    +	- inustroke with a matrix operand didn't work correctly.  (zupath.c)
    +	- ImageType 4 images didn't work.  (bug introduced in 5.31)
    +(zimage3.c)
    +
    +

    Interpreter (PDF)

    +
    +Fixes problems:
    +	- Forms used more than once caused an invalidaccess error.
    +(pdf_draw.ps)
    +
    +

    Library

    +
    +Fixes problems:
    +	- Using a colored pattern with a Pattern color space that included a
    +base space could access uninitialized floating point values, possibly
    +causing an arithmetic trap.  (gspcolor.c)
    +	- RasterOp wasn't implemented for 16- and 32- bit devices.
    +(gdevm16.c, gdevm32.c, gdevmrop.c)
    +	- The library test program relied on copysign, which some C
    +libraries lack.  (gslib.c)
    +	- The gs_free and gs_heap_free_all debugging printout were included
    +even if DEBUG wasn't defined. (bug introduced in 5.30) (gsmalloc.c)
    +	- Color images always caused an error. (bug introduced in 5.30)
    +(gxicolor.c)
    +	- Masked images with pis = NULL could cause an error.  (gximono.c)
    +	- In landscape orientation, masked images didn't guarantee that the
    +buffer of mask scan lines would be flushed to the mask clipping device
    +before processing the data being masked.  (gxiparam.h, gxidata.c, gxifast.c,
    +gximage3.c)
    +	- Images with source transparency set but CombineWithColor = false
    +could get an error because of trying to paint with an unloaded
    +color. (caused by a bug fix in 5.30) (gxdcolor.c, gxiinit.c)
    +
    +
    + +
    + +

    Version 5.31 (limited) (8/11/98)

    + +

    +This is the first set of updates for 5.30. They fix a few minor build +problems, and some significant problems with bitmap patterns that do not +affect the PostScript or PDF interpreters. + +

    Drivers

    +
    +Moves some casting macros from generic files to the few specific files that
    +use them.  (gdev4693.c, gdevn533.c, gdevsnfb.c)
    +
    +

    Interpreter

    +
    +Changes ImageType 4 images to match the change in the library interface.
    +(zimage3.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- The MaskColor elements of ImageType 4 images were defined as int
    +rather than uint, truncating the range by 1 bit and causing problems in
    +comparing the mask color against the pixel samples.  (gsiparm4.h,
    +gximage4.c)
    +	- A needed cast was missing from gs_malloc_memory_release.
    +(gsmalloc.h)
    +	- A needed cast from byte to char was missing.  (gsparams.c)
    +	- Patterns always allocated a mask for rendering, which for large
    +patterns specified directly as bitmaps allocated a lot of unnecessary
    +memory.  (gxcolor2.h, gspcolor.c, gxp1fill.c, gxpcmap.c)
    +	- Macros simply defining casted versions of variables made the code
    +hard to debug.  We have only removed the ones that are in generic code (not
    +drivers) and that cast pointers to gx_device or its subclasses: the only
    +ones removed from header files were prn_dev in gdevprn.h, mdev in gdevmem.h,
    +and ccdev, crdev, and cwdev in gxcldev.h.  gdevmem.h, (gdevprn.h, gxclist.h,
    +gdevabuf.c, gdevm1.c, gdevm2.c, gdevm4.c, gdevm8.c, gdevm16.c, gdevm24.c,
    +gdevm32.c, gdevmpla.c, gdevnfwd.c, gdevprn.c, gxacpath.c, gxclimag.c,
    +gxclist.c, gxclpage.c, gxclpath.c, gxclread.c, gxclrect.c)
    +	- There was no way to free a pattern instance outside the graphics
    +state.  (gspcolor.h, gspcolor.c)
    +
    +
    + +
    + +

    Version 5.30 (limited) (8/10/98)

    + +

    +This is the first beta candidate for the 5.50 release. It completes the +merge of the overlapped rasterizing code into the main development line. + +

    Documentation

    +
    +Fixes bugs:
    +	- Yves Arrouye's e-mail address was out of date.  (gdevbjc.h,
    +gdevcdj.c, contrib.mak, devices.txt, unix-lpr.txt)
    +
    +Makes the warning against using SHARE_JPEG=1 even stronger.  (make.txt,
    +dvx-gcc.mak, ugcclib.mak. unix*.mak)
    +
    +Removes information about using DCL files on VMS to build Ghostscript.
    +(make.txt)
    +
    +Updates the documentation for begin_typed_image.  (drivers.txt)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- The Unix build procedure didn't create the obj subdirectory
    +automatically.  (unixhead.mak, unix-end.mak)
    +	- gsdll_h wasn't defined for the OS/2 PM device.  Fixing this
    +properly required moving the OS/2 drivers into the same makefile as the MS
    +Windows drivers, and renaming the file.  (devs.mak, msdevs.mak => pcwin.mak,
    +winlib.mak)
    +	- gsiparm4_h was used before it was defined.  (lib.mak)
    +	- Building with shared libaries still used header files in
    +Ghostscript's directories, not the ones in /usr/include.  ****** NOT DONE
    +YET ******
    +	- The makefiles all assumed they were located in the current
    +directory, not in the source directory.  (*.mak)
    +
    +Adds new 'debugclean' and 'pgclean' targets, parallel to 'debug' and 'pg',
    +for the Unix platforms.  (unix-end.mak)
    +
    +Changes the management of .dev files so that on Unix platforms, one can
    +really maintain standard, debugging, and profiling builds simultaneously.
    +This is a hack, but a fairly reliable one.  (gs.mak, unixhead.mak,
    +unix-end.mak)
    +
    +Adds a dummy thread / semaphore / monitor implementation to all platforms
    +other than Windows.  (dvx-tail.mak, openvms.mak, os2.mak, ugcclib.mak,
    +unixtail.mak, watc.mak, watclib.mak)
    +
    +

    Drivers

    +
    +Updates driver support to use the new write-position stream.  (gdevpsdf.c)
    +
    +

    Platforms

    +
    +Fixes bugs:
    +	- The Windows Registry calls didn't deal properly with a null
    +pointer.  (gp_wgetv.c)
    +
    +Makes a small change in the platform semaphore / monitor API.  (gpsync.h,
    +gxsync.h, gp_win32.c, gxsync.c)
    +
    +Adds a dummy thread / semaphore / monitor implementation.  Note that with
    +this implementation, async rendering WILL NOT WORK.  (gp_nsync.c)
    +
    +Adds pthreads thread creation and POSIX semaphores for Unix platforms.  (We
    +still need to add System V semaphores, which is all that is available on
    +Solaris and BSDI.)  (gp_semon.c, gp_posem.c, gp_pthr.c).
    +
    +

    Fonts

    +
    +Fixes bugs:
    +	- CIDFontType 0 fonts didn't select the proper VM space for adding
    +entries to font dictionaries, and for loading Subrs strings.  (gs_cidfn.ps)
    +	- TrueType fonts with an odd glyfs length didn't work.  (gs_ttf.ps)
    +	- TrueType fonts with a Format 3 'post' table didn't work.
    +(gs_ttf.ps)
    +	- TrueType fonts where the encoding in the 'post' table didn't cover
    +the entire set of glyfs didn't work.  (gs_ttf.ps)
    +	- TrueType fonts with more than 128K of glyfs didn't work.
    +(gs_ttf.ps)
    +	- TrueType cmap format 6 didn't work.  (gs_ttf.ps)
    +	- CIDFontType 0 fonts with hex data didn't skip over the > at the
    +end of the data.  (gs_cidfn.ps)
    +
    +

    Interpreter

    +
    +Works around the fact that gs_shfill can't do a gs_setcolorspace for color
    +spaces that require interpreter assistance.  (gs_ll3.ps)
    +
    +Moves clipsave and cliprestore to C code.  (gs_ll3.ps, zmisc3.c)
    +
    +Updates some files to reflect the redivision of gsmemory.h and gsstruct.h.
    +(imemory.h, istruct.h, ialloc.c)
    +
    +

    Streams

    +
    +Adds a stream that just keeps track of the write position.  (stream.h,
    +stream.c)
    +
    +Removes the compilation dependency that required all clients of the zlib
    +filters to be compiled with the zlib source directory in the search path.
    +(szlibx.h, szlibxx.h, szlib[cde].c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- ImageType 4 images with >1 input component didn't work.
    +(gximage4.c)
    +	- Sampled functions didn't keep the fractional part when
    +interpolating, possibly leading to infinite recursion in shading.
    +(gsfunc0.c)
    +	- The color error value for shadings was computed incorrectly for
    +CIE color spaces.  (gxshade.c)
    +	- The CharstringType 2 'roll' operator rolled the operands in the
    +wrong direction.  (gstype2.c)
    +	- Images with RasterOp or transparency didn't retain the current
    +color properly, leading to unpredictable results.  (gdevmrop.h, gsropt.h,
    +gdevddrw.c, gdevrops.c, gxdcolor.c, gxiinit.c, gximage3.c)
    +	- A cast to void * was needed to remove a const modifier.
    +(gscrdp.c)
    +	- On 8-bit non-gray-scale devices, RasterOp values of all-0s or
    +all-1s produced the wrong output.  (gdevmrop.c)
    +	- The GC procedure for halftone screen enumerators was wrong,
    +possibly causing invalid memory access errors.  This bug predates 5.10.
    +(gshtscr.c)
    +	- An extra pair of string quotes confused some compilers.
    +(gsshade.c)
    +	- There were several errors in the CharstringType 2 'flex'
    +operators.  (gstype2.c)
    +	- The structure descriptors for devices weren't initialized in
    +library-only configurations.  (int.mak, gconf.c)
    +	- The Pattern cache got confused if the current device when a
    +Pattern color was used wasn't the same as the current device when the
    +Pattern instance was created.  (gxpcmap.c)
    +	- The target of forwarding devices wasn't reference-counted
    +properly.  (gsdevice.c) ****** FIXING THIS PROPERLY WILL BE A LOT OF WORK:
    +WE ONLY FIXED gs_setdevice_no_erase ******
    +	- As a result of fixing a typo, the structure declaration for
    +gx_page_queue was private, causing clients not to compile.  We left it
    +private and added an instance allocation procedure.  (gxpageq.h, gdevprna.c,
    +gxpageq.c)
    +	- The mask for ImageType 3 images was clipped (incorrectly).
    +(gximage3.c)
    +	- Interpolated images with negative X->X values in the CTM were
    +displaced on the page.  (gxiscale.c)
    +
    +Finishes integrating the asynchronous rendering code.  (gpsync.h, gxclist.h,
    +gdevprna.c, gsmemlok.c, gxclimag.c, gxclpath.c, gxclutil.c)
    +
    +Updates the memory manager API for additional flexibility needed for
    +asynchronous rendering.  (gsmalloc.h, gsmemlok.h, gsmemraw.h, gsalloc.c,
    +gsmalloc.c, gsmemlok.c)
    +
    +Updates the standard memory manager to work with a fixed (externally
    +supplied) set of chunks, needed for asynchronous rendering, removing some
    +macros in the process.  (gsalloc.h, gsalloc.c)
    +
    +Updates some code to use more mnemonic variable names.  (gstype2.c,
    +gxicolor.c)
    +
    +Removes some macros for better readability.  (gdevmrop.c)
    +
    +Adds dummy implementations of clipsave and cliprestore.  (gsclipsr.h,
    +gsclipsr.c)
    +
    +Implements an alternative, but completely untested, parameter list
    +serializer based on streams.  (gsparam2.c)
    +
    +Moves more of the internal memory manager structures from gsmemory.h to
    +gsstruct.h.  (gsmemory.h, gsstruct.h, gsmemory.c)
    +
    +
    + +
    + +

    Version 5.28 (limited) (8/3/98)

    + +

    +This fileset almost finishes merging in the code for overlapped +("asynchronous") interpretation and rasterizing that gave rise to the +side-branch versions 5.13 and 5.14; eliminates all initialized non-constant +globals from the graphics library (but not from the interpreter); and adds a +few more LanguageLevel 3 features (CIEBasedDEF[G] color spaces, CloseSource +and CloseTarget for streams, Separation base space for Indexed color +spaces). + +

    +We were not originally planning to produce another fileset until the code +merge was completed; however, the schedule demands of another Aladdin +project justify another intermediate fileset. + +

    Documentation

    +
    +Notes that the MSVC++ 5.0 compiler may lock up when compiling gxi12bit.c
    +with optimization.  (make.txt)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- psl3 didn't include fzlib.  (int.mak)
    +	- The Windows makefile had the wrong name for a DLL.  (winint.mak)
    +	- The Borland Windows makefile had several errors.  (bcwin32.mak)
    +
    +At the request of a user, changes the creation of jconfig.h so it #includes,
    +rather than copies, arch.h.  (jpeg.mak, gsjconf.h)
    +
    +

    Utilities

    +
    +Fixes bugs:
    +	- viewpbm.ps scaled the image wrong.  (viewpbm.ps)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- clist_close was declared as an open proc rather than a close proc.
    +(As it happens, this didn't make any difference.)  (gxclist.c)
    +	- A comment was improperly terminated.  (gxpageq.h)
    +	- A needed #include of memory_.h was missing.  (gdevpsde.c)
    +
    +Integrates nearly all the rest of the code for asynchronous rendering.
    +(gdevprn.h, gdevprna.h, gxcldev.h, gxclist.h, gxclpath.h, gxclmem.h,
    +gdevbmpa.c, gdevprn.c, gdevprna.c, gxclbits.c, gxclimag.c, gxclist.c,
    +gxclmem.c, gxclpath.c, gxclread.c, gxclrect.c)
    +
    +Changes tracing of memory-based clists to occur only if -Z: is selected,
    +rather than always if the code was compiled with -DDEBUG.  Note that this is
    +a NON-BACKWARD-COMPATIBLE CHANGE (but only affects debugging).  (gxclmem.c)
    +
    +Implements the NumCopies parameter for all page devices, not just printers.
    +(gxdevcli.h, gxdevice.h, gdevprn.c, gsdparam.c)
    +
    +Splits off command list writing utilities into a separate file, since
    +gxclist.c was getting too large.  (gxclist.h, gxclist.c, gxclutil.c)
    +
    +Splits command list reading into control (gxclread.c) and the actual list
    +interpreter (gxclrast.c), since the file was getting too large.  (gxcldev.h,
    +gxclrast.c, gxclread.c)
    +
    +Distinguishes dev_proc_* (defining a general driver procedure) from
    +prn_dev_proc_* (defining a printer driver procedure).  Unfortunately, we
    +have to keep dev_proc_print_page and _print_page_copies for backward
    +compatibility.  (gdevprn.h)
    +
    +Splits out of the BMP driver the parts shared with the async version
    +(gdevbmp.h, gdevbmp.c, gdevbmpc.c).
    +
    +Changes the band rasterizer to implement get_bits_rectangle rather than
    +get_bits.  In some cases, this results in much less computation.
    +(gxclist.c, gxclread.c)
    +
    +Makes the monochrome H-P printer drivers emit a printer reset when closing
    +the device.  According to a user, this helps prevent the ink nozzles from
    +clogging.  (gdevdjet.c)
    +
    +

    Platforms

    +
    +Fixes bugs:
    +	- The Windows DLL entry point procedure didn't return a value as it
    +was supposed to.  (gp_mswin.c)
    +
    +Removes all remaining initialized but non-constant globals, and ensures that
    +all non-debugging-related BSS variables in the library are explicitly set to
    +0 at initialization time.  (gp_unix.c)
    +
    +Improves an error message slightly.  (dwmainc.cpp)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- The tracing code for restore_resources could access an invalid
    +address.  (isave.c)
    +	- sizeof(procedure) is not allowed in ANSI C++.  (opdef.h,
    +iccfont.c, interp.c, ireclaim.c)
    +	- A variable was declared incorrectly as bin_token_type_t rather
    +than bin_seq_type_t.  (iscanbin.c)
    +	- The behavior of copypage didn't change in LanguageLevel 3.
    +(gs_init.ps)
    +	- When grestore et al reactivated a page device, they performed an
    +initgraphics, which should only be performed by showpage.  (gs_setpd.ps)
    +	- The RunLengthEncode filter was broken in cases where the caller
    +supplied a record size.  (bug introduced in 5.2x) (zfilter.c)
    +	- A needed #include of memory_.h was missing.  (zfreuse.c)
    +	- On machines with sizeof(long) > sizeof(int), the dictionary form
    +of image and imagemask didn't work.  (bug introduced in 5.2x) (zimage2.c)
    +	- exitserver left a 'true' on the operand stack.  (gs_lev2.ps)
    +
    +Replaces the STACK_LOOP_BEGIN/END macros with procedures.  (We retain the
    +macros for backward compatibility.)  (istack.h, istack.c, zchar.c,
    +zcontrol.c, zdict.c, zvmem.c)
    +
    +Reviews the remaining operator files for ease of reading / debugging,
    +including removing macros where appropriate.  (z*.c)
    +
    +Changes the dictionary stack printer to indicate whether the dictionary is
    +allocated in global or local VM.  (gs_init.ps)
    +
    +Redefines countexecstack and execstack as operators, solely for the sake of
    +the Genoa [count]execstack tests.  (gs_init.ps, zcontrol.c)
    +
    +Changes array/string/packedarray forall not to keep an index on the stack,
    +solely for the sake of the Genoa [count]execstack tests.  (zgeneric.c)
    +
    +Finishes implementing CIEBasedDEF[G] color spaces.  (icie.h, zcie.c)
    +
    +Adds a ColorSpace resource instance for sRGB.  (gs_lev2.ps, gs_res.ps)
    +
    +Implements CloseSource and CloseTarget for filters.  ****** DOESN'T WORK IF
    +AN EXCEPTION OCCURS DURING A NESTED CLOSE. ****** (zfile.c)
    +
    +Allows Separation and DeviceN color spaces as the base space for an Indexed
    +color space.  (zcsdevn.c, zcsindex.c, zcssepr.c)
    +
    +

    Interpreter (PDF)

    +
    +Fixes bugs:
    +	- In PDF files, Indexed color spaces with a CIEBasedABC base space
    +gave an /undefined error.  (pdf_draw.ps)
    +
    +

    Streams

    +
    +Fixes bugs:
    +	- The report_error member of the DCT streams wasn't initialized
    +early enough.  (ifilter.h, zfdctd.c, zfdcte.c, zfile.c)
    +
    +Changes the zlib filters to use the stream's allocator, rather than the
    +default allocator, for their private storage.  Note that this requires the
    +stream itself to keep pointers to this storage, for garbage collection.
    +(szlibx.h, szlibc.c, szlibd.c, szlibe.c)
    +
    +Updates some clients to use new, simpler GC structure descriptors.  (sdct.h,
    +sfilter.h, sdctc.c, sfilter1.c)
    +
    +Adds a close_strm member for the interpreter's use (CloseSource /
    +CloseTarget).  (stream.h, stream.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- gstate, currentgstate, and setgstate didn't handle the effective
    +clip path properly, possibly leading to dangling pointers.  (gsstate.c)
    +	- setrasterop, setsourcetransparent, and settexturetransparent
    +should all return int rather than void, since they can fail.  (gsrop.h,
    +gsrop.c)
    +	- FunctionType 1 functions didn't clip the output value to the
    +Range.  (gsfunc3.c)
    +	- A needed cast from byte * to char * was missing.  (gscrdp.c)
    +	- Some needed #includes of *_.h were missing.  (gscrd.c, gscrdp.c,
    +gxshade6.c)
    +	- The prototype for gx_effective_clip_path wasn't #included in a
    +needed place.  (gsimage.c)
    +	- RasterOp sometimes didn't work properly for devices whose
    +representation of white wasn't a pixel value of 0.  (gxdcolor.h, gdevbbox.c,
    +gdevdbit.c, gdevvec.c, gslib.c, gxdcolor.c)
    +	- The variable used to detect double declaration of
    +gs_get_bits_params_t was named incorrectly.  (gxdevcli.h, gxgetbit.h)
    +	- gs_[eo]clip never retained the clipping path in its original form.
    +These routines now retain it in the simple case (the old clipping path is a
    +rectangle, and the new path is completely contained within it).  This
    +requires a small NON-BACKWARD-COMPATIBLE change in the gx_cpath_intersect
    +procedure: it no longer updates the new path, and it flattens the path if
    +needed.  To avoid problems, we renamed this procedure as gx_cpath_clip.
    +(gsdps.c, gspath.c, gxcpath.c)
    +	- If the image was empty, gs_image_common_init didn't free the
    +lower-level enumerator.  (gsimage.c, gxccache.c)
    +
    +Removes all remaining initialized but non-constant globals, and ensures that
    +all non-debugging-related BSS variables in the library are explicitly set to
    +0 at initialization time.  (gxdevice.h, gconf.c, gsdevice.c, gshtscr.c,
    +gsiodev.c, gsutil.c, gxcht.c)
    +
    +Finishes implementing table-driven GC descriptors.  We expected it to save
    +considerable space at negligible time cost; it actually shrank the 1Mb
    +executable by only about 5K, and slowed down garbage collection by about
    +2%. (gsfcmap.h, gsstrtab.h [deleted], gsstruct.h, gzpath.h, gsfcmap.c,
    +gsmemory.c, gsstrtab.c [deleted])
    +
    +Finishes implementing CIEBasedDEF[G] color spaces.  (gscie.h, gscie.c)
    +
    +Simplifies some code by removing or redefining macros.  (gxi12bit.c)
    +
    +Removes all patches made for easier retrofitting of 5.2x code into 5.1x
    +filesets.  (gdevdrop.c, gdevmrop.c, gslib.c, gspcolor.c)
    +
    +Reviews a few more files for style and readability.  (gxbitfmt.h,
    +gxgetbit.h)
    +
    +Allows Separation (and, if included, DeviceN) color spaces as the base space
    +of an Indexed color space.  Unfortunately, this involves introducing a new
    +distinction in color space types, which entails NON-BACKWARD-COMPATIBLE
    +changes in the color space and color space type structures.  (gxcspace.h,
    +gscdevn.c, gscolor1.c, gscolor2.c, gscpixel.c, gscscie.c, gscsepr.c,
    +gscspace.c, gspcolor.c)
    +
    +Makes a small addition in order to fix an interpreter bug.  (gxfixed.h,
    +gdevbbox.c)
    +
    +
    + +
    + +

    Version 5.27 (limited) (7/18/98)

    + +

    +This is another "in-flight" snapshot made in preparation for the 5.2x / 5.1x +code merge. It completes the driver CRD API. + +

    Documentation

    +
    +Fixes bugs:
    +	- The reference to psview was out of date.  (new-user.txt)
    +
    +Adds some pointers to Aladdin Ghostscript mirror sites.  (new-user.txt)
    +
    +Updates the C style guide a little further.  (c-style.txt)
    +
    +Adds documentation on driver-supplied CRDs.  (drivers.txt)
    +
    +Updates the JPEG makefile to mention IJG release 6b.  (jpeg.mak)
    +
    +Updates documentation to reflect the devs.mak / contrib.mak split.  (README,
    +devices.txt, drivers.txt, make.txt, new-user.txt, source.txt, use.txt)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- sjpegerr.o was needed even when using the shared JPEG library.
    +(jpeg.mak)
    +
    +Changes the name of the jpeg library directory from jpeg-<version> to just
    +jpeg, to parallel libpng and zlib.  (make.txt, *.mak)
    +
    +Creates a separate makefile for contributed drivers.  Eventually these
    +drivers will go in a separate directory.  (devs.mak, contrib.mak, *.mak)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- The pkm driver was absurdly inefficient.  (gdevpbm.c)
    +	- The psfax driver (which, admittedly, doesn't come close to
    +working) no longer compiled.  (gdevpfax.c)
    +	- The ARCHAIC mode of the Epson driver emitted an incorrect
    +character ('r' instead of ^R).  (gdevepsn.c)
    +	- The X driver didn't check the calls of XInitImage for error
    +status.  (gdevx.c)
    +
    +Updates a client for the change in the names of the gb_ values.  (gdevx.c)
    +
    +Updates a client for the added param_request procedure.  (gdevpsdf.c)
    +
    +Reformats all Aladdin-maintained drivers to the new Ghostscript standard
    +format, using indent.  We deliberately did not reformat user-contributed
    +drivers, since indent mangles a line once in a while and we do not want to
    +take responsibility for fixing others' code.  (*.h, *.c)
    +
    +Adds a default CRD specification to the 'bit' device, for testing.
    +(gdevbit.c)
    +
    +Integrates a bit more of the support code for asynchronous rasterizing.
    +(gxband.h, gxclio.h, gxclist.h, gxclmem.h, gxclfile.c, gxclist.c, gxclmem.c,
    +gxclread.c, gxpageq.h, gxpageq.c)
    +
    +

    Platforms

    +
    +Adds thread support to the Win32 platform.  (gp_win32.c)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- Composite fonts with CID-keyed descendants didn't run the
    +BuildGlyph procedure.  (zchar.c)
    +	- The internal representation of CMaps was built incorrectly.
    +(zfcmap.c)
    +	- Category resources didn't load from files automatically.
    +(gs_res.ps)
    +
    +Reformats all files to the new Ghostscript standard format, using indent.
    +(*.h, *.c)
    +
    +Reviews most of the operator files for ease of reading / debugging,
    +including removing macros where appropriate.  (z*.c)
    +
    +Updates a client for the change in the names of the gb_ values.  (zdevice.c)
    +
    +Updates a client for the added param_request procedure.  (iparam.c)
    +
    +Updates clients for the completion of the CRD API.  (zcie.c, zcrd.c)
    +
    +Increases the initial size of systemdict a little more, to allow for -d and
    +-s.  (iinit.c)
    +
    +

    Interpreter (PDF)

    +
    +Fixes bugs:
    +	- Text modes other than 0 didn't work with multiple-byte fonts.
    +(pdf_ops.ps)
    +	- There were many bugs in the code for Type 0 and CIDFontType 0
    +fonts.  (pdf_font.ps)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- cshow returned a character code of -1 for composite fonts with
    +FMapType 9 (CMap-based).  (gsfcmap.h, gschar0.c, gsfcmap.c)
    +	- The GC procedure for enumerating show enumerators was broken.
    +(bug introduced in 5.24 or 5.25) (gschar.c)
    +	- dashpath always copied the path, instead of only copying it if
    +needed.  (gspath1.c)
    +	- The hint replacement fix in 5.24 sometimes thought a path was
    +closed when it wasn't, producing gross distortions of some characters.
    +(gxhint3.c)
    +
    +Cleans up code for debugging by expanding macros, etc.  (gstext.h,
    +gschar0.c)
    +
    +Changes the gb_ values to all caps, in line with general C convention.  This
    +is a NON-BACKWARD-COMPATIBLE change to an as yet rarely-used API.
    +(gxbitfmt.h, gdevalph.c, gdevdgbr.c, gdevmem.c, gsalphac.c, gximage2.c)
    +
    +Enhances the default implementation of parameter lists to allow requesting
    +individual parameters.  This is needed for the driver CRD API.  (gsparam.h,
    +gscparam.c, gsparam.c)
    +
    +Completes the API for driver CRDs, also moving some code from gscie.c to
    +gscrd.c.  This involves a NON-BACKWARD-COMPATIBLE change in the prototype of
    +the TransformPQR procedures.  (gscie.h, gscrd.h, gscrdp.h, gscie.c, gscrd.c,
    +gscrdp.c)
    +
    +Reformats all files to the new Ghostscript standard format, using indent.
    +(*.h, *.c)
    +
    +Splits up gdevmrop.c into 3 files: gdevmrop.c (RasterOp implementation for
    +memory devices), gdevdrop.c (default and device-independent RasterOp
    +algorithms), and gdevrops.c (RasterOp-source device).  (gdevmrop.h,
    +gdevdrop.c, gdevmrop.c, gdevrops.c)
    +
    +
    + +
    + +

    Version 5.26 (limited) (7/7/98)

    + +

    +The purpose of this fileset is to add an API for drivers to provide one or +more device-appropriate CIE rendering dictionaries. Like 5.25, it is a +"snapshot" fileset not made available even to beta testers. + +

    Procedures

    +
    +Fixes bugs:
    +	- An !endif was omitted.  (msvc32.mak)
    +	- A newly needed Windows library was omitted.  (msvctail.mak)
    +	- The /Za and /Ze switches were set incorrectly for MSVC.
    +(bcwin32.mak, msvccmd.mak, watcw32.mak, winint.mak, winlib.mak)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- A closing bracket was omitted (in code that is ifdef'd out).
    +(gdevpdf.c)
    +
    +

    Fonts

    +
    +Changes the font loader so that instead of pushing systemdict and a small
    +empty dictionary on the stack before loading a font, it pushes userdict.
    +This is what Adobe interpreters do, but this will probably break some
    +PostScript files, specifically ones that redefine 'index'.  I don't see how
    +the Adobe interpreters can possibly do the right thing for such files.
    +(gs_fonts.ps, gs_type1.ps)
    +
    +

    Interpreter

    +
    +Updates clients for changes in CRD API.  This involves some changes in
    +internal procedures.  (gs_lev2.ps, icie.h, zcie.c, zcrd.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- Pickling string, name, and array parameters tried to force
    +inappropriate alignment.  (gsparams.c)
    +	- Pickling dictionary parameters wrote the result in the wrong
    +place.  (gsparams.c)
    +	- An occurrence of dev_t should have been gx_device.  The compiler
    +didn't catch this because there happens to be a type named dev_t in
    +<types.h> (!).  (gxclread.c)
    +
    +Adds an API for drivers to provide one or more CRDs (as device parameters).
    +Makes a small but NON-BACKWARD-COMPATIBLE change in the names and argument
    +lists of the existing CRD API (which is not used by anything in the standard
    +configuration).  (gscie.h, gscrd.h, gscrdp.h, gscie.c, gscrd.c, gscrdp.c,
    +gslib.c)
    +
    +
    + +
    + +

    Version 5.25 (limited) (7/1/98)

    + +

    +This is a "snapshot" fileset created for the purpose of merging with a +separate development branch. While it fixes some significant bugs in 5.24, +it doesn't represent substantial additional progress. + +

    Documentation

    +
    +Completely rearranges the C style guide, updates it to reflect current
    +practice, and adds a 1-page summary of the most important points.
    +(c-style.txt)
    +
    +Updates the man pages for consistency and to correct minor errors.  (*.1)
    +
    +Notes that the pjxl300 driver works with the H-P CopyJet.  (devices.txt,
    +devs.mak).
    +
    +Notes that in order to deal with over-zealous Solaris security checking,
    +additional linker switches are needed.  (make.txt, unix*.mak)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- 'make install' didn't get the executable from the right place.
    +unixinst.mak)
    +	- COMPILE_INITS=1 didn't work.  (int.mak, geninit.c)
    +	- The MSVC makefile updates hadn't been applied to the MSVC-only
    +devices.  (devs.mak)
    +	- The other PC makefiles didn't define GLCCWIN.  (bcwin32.mak,
    +watcw32.mak)
    +
    +Adds bounding box testing to the library test program.  (ugcclib.mak)
    +
    +Reviews and reformats code for maintainability.  (genarch.c, geninit.c)
    +
    +Moves the MS Windows-specific devices to a new file.  (bcwin32.mak,
    +devs.mak, msdevs.mak, msvc32.mak, watcw32.mak)
    +
    +

    Platforms

    +
    +Reviews and reformats header files for maintainability.  (vmsmath.h,
    +windows_.h)
    +
    +Removes some no-longer-used files from the fileset.  (overlay.h, gp_itbc.c)
    +
    +

    Fonts

    +
    +Fixes bugs:
    +	- Substituted fonts had their FontName set to the requested one.
    +There was a comment in the code saying that some files that depend on this
    +happening, but Adobe implementations don't do it.  However, aliased fonts in
    +Fontmap will continue to have the FontName set to the Fontmap key.
    +(gs_fonts.ps)
    +
    +Adds the euro symbol at position 240 (0360) in SymbolEncoding.  This is a
    +PostScript 3 addition, but it's too much work to make it appear there only
    +if languagelevel >= 3.  (gs_sym_e.ps)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- The bbox device didn't work if its target was itself a forwarding
    +device.  (gdevbbox.c)
    +	- User parameters maintained at the PostScript (as opposed to VM)
    +level didn't work.  (gs_init.ps)
    +	- Idiom recognition didn't work.  (gs_init.ps, gs_ll3.ps, zmisc3.c)
    +	- .beginpage and .endpage could cause an error if the current device
    +was a page device but was installed with setdevice rather than
    +setpagedevice.  (gs_setpd.ps)
    +
    +In the interest of readability, replaces all casting macros with separate
    +variables, other than those used in enum_ptrs and reloc_ptrs procedures.
    +Note that doing this for rptr in gc_trace in igc.c will have a significant
    +performance cost on Intel CPUs, unless the compiler has a very good
    +optimizer, because it introduces another variable competing for scarce
    +registers in the most performance-critical section of code in the garbage
    +collector.  (ialloc.c, igc.c, iparam.c, isave.c, istack.c, zchar42.c,
    +zfproc.c, zusparam.c)
    +
    +Changes some macros to procedures.  (igc.c, ilocate.c, zusparam.c)
    +
    +Changes some macros to static quasi-constants (only variable for debugging).
    +(zvmem.c)
    +
    +Adds #include "errors.h" to oper.h, removing it from z*.c.  (oper.h, z*.c)
    +
    +Reviews and reformats some header files for maintainability.  This is an
    +ongoing project.  (bfont.h, errors.h, iinit.c)
    +
    +Consolidates and simplifies the reading and writing of binary tokens and
    +binary object sequences.  (bseq.h [deleted], btoken.h, ibnum.h, ibnum.c,
    +iscanbin.c, zbseq.c)
    +
    +Adds dummy user and system parameter entries for all the parameters listed
    +in Appendix C of the PostScript Red Book: even though the book clearly says
    +that no PostScript program should rely on the presence of any particular
    +parameter, PostScript files routinely assume the existence of the parameters
    +listed in Appendix C.  (gs_init.ps, gs_lev2.ps, gs_res.ps)
    +
    +Adds dummy user and system parameter entries for the new parameters listed
    +in the 3010 Supplement.  (gs_ll3.ps)
    +
    +Adds double-inclusion protection to all header files.  (*.h)
    +
    +Moves the creation of binary object sequence headers from C to PostScript
    +code.  (zbseq.c, gs_btokn.ps)
    +
    +Adds support for multiple FormTypes and ColorRenderingTypes.  (gs_init.ps,
    +gs_lev2.ps, gs_res.ps, zcrd.c)
    +
    +Updates structures and clients for the introduction of "raw memory"
    +allocators.  (ialloc.h, igc.h, ialloc.c, imain.c, isave.c)
    +
    +In the interest of readability and being able to use GNU indent to create
    +standard formatting, changes the operator tables from procedures back to
    +data structures.  This change is backward-compatible for all operator files,
    +although we also edited all of Ghostscript's own operator definitions to
    +remove the BEGIN_OP_DEFS and END_OP_DEFS macros (which now have to generate
    +a little unnecessary code for backward compatibility). (opdef.h, iconf.c,
    +iinit.c, iutil.c, z*.c)
    +
    +Splits zchar2.c into a Level 1+ part and a Level 2 part.  (zcfont.c,
    +zchar2.c)
    +
    +

    Interpreter (PDF)

    +
    +Adds font synthesis based on the FontDescriptor.  Currently this is very
    +rudimentary.  (pdf_font.ps)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- The PDF writer didn't default to A4 paper size if A4 was selected
    +as the default in the makefile.  (gdevpdf.c)
    +	- The default implementation of the begin_image procedure always
    +called the image's begin_image implementation, rather than the device's
    +begin_typed_image implementation.  (gdevddrw.c)
    +	- The bbox device didn't initialize its reference count.
    +(gdevbbox.c)
    +	- A necessary cast was omitted.  (gdevpsde.c)
    +
    +Changes some macros to procedures.  (gdevpstr.h, gdevpstr.c)
    +
    +Adds an internal device to implement the PCL5 special color mapping
    +algorithms.  (gdevcmap.h, gxdevice.h, gdevcmap.c, gdevnfwd.c)
    +
    +Adds double-inclusion protection to all header files.  (*.h)
    +
    +Updates drivers for the change in begin_image.  (gdevbbox.c, gdevpdfi.c,
    +gdevvec.c, gxclimag.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- The non-ANSI definitions of CLEAR_MARKS_PROC, ENUM_PTRS_BEGIN_PROC
    +and RELOC_PTRS_BEGIN were missing a parameter.  (gsstruct.h)
    +	- A few necessary casts were omitted.  (gsparam.c, gxpcmap.c)
    +	- Images or Patterns with non-default RasterOps could cause crashes.
    +(gdevmrop.c, gxp1fill.c)
    +	- Exponential Interpolation functions with non-integral positive
    +exponents incorrectly required the lower bound of the domain to be strictly
    +positive rather than only non-negative.  (gsfunc3.c)
    +	- The attempt to achieve the desired color smoothness when shading
    +could compute (nearly) forever.  (gxshade.c, gxshade1.c)
    +	- The arc change in 5.24 caused arcs to render incorrectly.
    +(gspath1.c)
    +	- The macro-reducing cleanup in 5.24 introduced a bug in handling
    +copy operations with negative skew.  (gdevm1.c)
    +
    +Adds unmasked images and bounding box testing to the library test program.
    +(gxdevcli.h, gslib.c)
    +
    +Changes some macros to procedures.  (gxfunc.h, gsfunc.c, gsfunc0.c,
    +gsfunc3.c)
    +
    +Adds double-inclusion protection to all header files.  (*.h)
    +
    +Reviews and reformats header files for maintainability.  (*_.h, dodebug.h
    +[deleted])
    +
    +Changes the structure of the common part of the image enumerator to include
    +the device (which may be different from the original device, because of
    +forwarding), and to access the procedures through a pointer to a const
    +structure.  This is a NON-BACKWARD-COMPATIBLE CHANGE for implementors of
    +begin_image, since they now must pass the device to
    +gx_image_enum_common_init.  (gximage.h, gxiparam.h, gdevddrw.c, gdevdflt.c,
    +gxiinit.c, gximage3.c, gximage4.c)
    +
    +Adds tests of the new color mapping device to the library test program.
    +(gslib.c)
    +
    +Removes the last vestiges of segmented pointers.  (genarch.c, std.h)
    +
    +Introduces a "raw memory" API, primarily for managing the underlying memory
    +pool for embedded systems.  This involves a NON-BACKWARD-COMPATIBLE-CHANGE
    +in the implementation (but not ordinary clients) of allocators.
    +(gsmemory.h, gsmemraw.h, gxalloc.h, gsalloc.c, gsmalloc.c, gsmemory.c)
    +
    +
    + +
    + +

    Version 5.24 (limited) (6/17/98)

    + +

    +In addition to the usual bug fixes, and a few enhancements where temptation +proved irresistible or in response to an external need, this fileset: +

      +
    • - Takes the first steps on a major readability cleanup + (4-space indentation instead of 2, replacement of macros by + procedures, ....) + +
    • - Implements a bit more of the DPS functionality, including view + clipping, and gstate stack copying for 'fork'. + +
    • - Starts to sketch a text API for drivers. + +
    • - Changes the Unix makefiles so that they create production +binaries + in a separate directory. +
    + +

    +Again, there are some non-backward-compatible changes required by other +architectural improvements. As always, we have tried to minimize the impact +of such changes on users' code. + +

    Documentation

    +
    +Fixes bugs:
    +	- The -Kn switch wasn't documented.  (use.txt)
    +	- The term "Software" was used instead of "Program" in the last
    +paragraphs of the license.  (PUBLIC)
    +
    +Adds a couple of missing operators to the list at the end of ostack.h.
    +(ostack.h)
    +
    +Documents more precisely which gstate points to which objects after various
    +gstate operations.  (gsstate.c)
    +
    +Corrects some addresses for the Free Software Foundation.  (commprod.txt,
    +new-user.txt)
    +
    +Improves the documentation for memory management of color spaces.  (gscie.h,
    +gscolor2.h)
    +
    +Updates the list of hardware available to Aladdin.  (new-user.txt)
    +
    +Documents ReopenPerPage.  (language.txt)
    +
    +Moves the documentation of image rendering procedures to a better place.
    +(gximage.h, gxiinit.c)
    +
    +Clarifies that old slzwe.c files may not work with current Ghostscript
    +versions.  (make.txt)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- psl3.dev didn't include func.dev.  (int.mak)
    +	- device and device2 devices weren't sorted together, causing
    +devices to appear in the list out of order (including, possibly, selecting
    +the wrong device as default).  (genconf.c)
    +	- The mswindll module definition omitted some needed files.
    +(devs.mak)
    +
    +Changes the optimization level for gcc from -O to -O2 for both standard and
    +profiling builds.  (unix-gcc.mak)
    +
    +Defines 3 new makefile macros for the Unix platforms,
    +CFLAGS_{STANDARD|DEBUG|PROFILE}, that give the additional compiler switches
    +for these 3 compilation options.  (unixansi.mak, unix-cc.mak, unix-gcc.mak)
    +
    +Changes the Unix makefiles so that by default they create the binaries in an
    +'obj' subdirectory of the source directory.  (unixansi.mak, unix-cc.mak,
    +unix-gcc.mak, unix-end.mak)
    +
    +Updates the MSVC++ makefiles so they allow setting any configuration
    +parameter from the make command line.  (msvc32.mak, msvccmd.mak, msvccom.mak
    +[deleted], msvclib.mak, msvctail.mak)
    +
    +

    Utilities

    +
    +Fixes bugs:
    +	- ps2ascii was broken.  (ps2ascii.ps)
    +
    +Adds capability to gslp.ps:
    +
    +	- Variable-width fonts (but without automatic line breaking);
    +
    +	- Pair kerning (from AFM file);
    +
    +	- Inter-character and space width adjustment.
    +
    +This project was done for a paying customer.  (gslp.ps)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- The name of the plan9bm device was wrong.  (gdevpbm.c)
    +	- The PDF writer wrote incorrect parameters for the CCITTFax filter
    +used to compress Type 3 font bitmaps.  (bug introduced in 5.23) (gdevpdfi.c)
    +	- The PDF writer emitted two 'endobj' lines for Type 3 bitmap fonts.
    +(gdevpdf.c)
    +
    +Removes all remaining uses of _ds and _ss in Aladdin's drivers.  (gdevprn.h,
    +gdevsvga.h, gdevbit.c, gdevcgm.c, gdevdjet.c, gdevmsxf.c, gdevpbm.c,
    +gdevpccm.c, gdevpcfb.c, gdevpdfi.c, gdevprn.c, gdevsvga.c, gdevtfax.c)
    +
    +Renames a local macro named END.  (gdevcgml.c)
    +
    +Removes all uses of far_data other than for device (but not device2)
    +prototypes.  (gdevbit.c, gdevdjet.c, gdevemap.c, gdevmsxf.c, gdevpbm.c,
    +gdevpcfb.c, gdevpcx.c, gdevpdf.c, gdevpng.c, gdevps.c, gdevpsim.c, gdevpx.c,
    +gdevtfax.c, gdevtfnx.c, gdevvglb.c, gdevx.c, gdevxalt.c)
    +
    +Adds a psrgb driver that writes PostScript (Level 2) planar,
    +run-length-compressed, 24-bit RGB images.  (gdevpsci.c)
    +
    +Starts to define and implement a driver procedure for text.  This interface
    +will certainly change in the future as we get more insight into the division
    +of responsibility and control flow between generic code, individual drivers,
    +and internal and external fonts.  This involves a major
    +NON-BACKWARD-COMPATIBLE CHANGE in the gs_show_enum structure (which no
    +client should be accessing directly).  (gdevmem.h, gdevprn.h, gstext.h,
    +gxchar.h, gxdevcli.h, gxdevice.h, gxtext.h, gdevbbox.c, gdevht.c,
    +gdevnfwd.c, gschar.c, gschar0.c, gstext.c, gxacpath.c, gxclip.c, gxclip2.c,
    +gxclipm.c, gxclist.c, gxpcmap.c)
    +
    +Extends the parameter list printer to handle names and arrays.  (gdevpsdf.c)
    +
    +Implements the ability to write out a Type 1 font definition, for embedding
    +fonts in PDF output.  Currently this code isn't called from anywhere, and it
    +will certainly be subject to change in the future.  (gdevpsdf.h, gdevpdfi.c,
    +gdevpsde.c, gdevpsdf.c)
    +
    +Adds the PCL XL Protocol Class 2.0 operators, attributes, and enumerated
    +values to the relevant header files.  (gdevpxat.h, gdevpxen.h, gdevpxop.h)
    +
    +Converts some additional devices to -dev2, to make them const.  (devs.mak,
    +gdevjpeg.c)
    +
    +To help in debugging, changes all uses of
    +	#define ss ((stream_xxx_state *)st)
    +to
    +	stream_xxx_state * const ss = (stream_xxx_state *)st;
    +(gdevpdfi.c, gdevpsdi.c, gdevpsdp.c, gdevpsds.c)
    +
    +Massages mem_mono_copy_mono and mem_mono_strip_tile_rectangle to reduce the
    +use of macros somewhat.  (gdevm1.c, gdevmem.h)
    +
    +Makes a change to support the change in gs_param_list_common.  (gdevpsdf.c)
    +
    +Replaces all remaining uses of do { ... } while (0) with BEGIN ... END.
    +(gdevpdfm.c, gdevpx.c, gdevx.c, gdevxalt.c)
    +
    +Adds a ReopenPerPage Boolean device parameter for printers, which causes the
    +output file to be closed and reopened for each page.  This may be helpful in
    +persuading spoolers to start printing as soon as the first page is
    +available.  (gdevprn.h, gdevprn.c)
    +
    +Makes the %-format validator for output file names a procedure, even though
    +it's only called in one place.  (gdevprn.c)
    +
    +Updates some clients for the change from std_procs to procs.  (gdevp2up.c,
    +gdevpbm.c, gdevupd.c,
    +
    +Removes the use of the CleanFaxData tag (327) from TIFF output, since many
    +applications don't recognize it and it isn't in the TIFF 6 documentation.
    +(gdevtifs.h, gdevtfax.c)
    +
    +

    Platforms

    +
    +Adds a new gp_setmode_binary platform procedure, to set a file into binary
    +mode on platforms that distinguish text and binary.  (gp.h, gp_*.c)
    +
    +

    Fonts

    +
    +Fixes bugs:
    +	- The derived (Bold, Oblique, ...) Hershey fonts were broken.
    +(fonts/makeher.ps, fonts/h*.ps)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- As always, gcc failed to report some signed/unsigned char *
    +mismatches.  (imainarg.c)
    +	- Some needed #includes were missing.  (zcrd.c, ztype.c)
    +	- Contexts were always allocated in global VM (should be local VM),
    +and were freed in the current VM (should be local VM).  Fixing this required
    +changing some internal interfaces defined in icontext.h.  (icontext.h,
    +icontext.c, interp.c, zcontext.c)
    +	- restore did some unnecessary gsaves.  (zvmem.c)
    +	- Creating a new context didn't initialize the graphics state
    +properly, and didn't do the first gsave that grestoreall relies on.
    +(gs_dps.ps)
    +	- The bookkeeping for open files didn't work with multiple contexts.
    +Fixing this required a substantial (simplifying) redesign of the
    +interpreter's bookkeeping for streams in general: this may have introduced
    +new bugs.  (files.h, ireclaim.c, isave.c, zfile.c)
    +	- fork didn't copy the graphics state stack.  (zcontext.c)
    +	- The space bits were set incorrectly in the array reference for the
    +operand stack, causing the garbage collector not to mark the operand stack
    +of contexts other than the current one.  (interp.c)
    +	- LanguageLevel 3 facilities weren't enabled when desired.
    +(gs_ll3.ps, ilevel.h, opdef.h, iinit.c, zcsdevn.c, zimage3.c, zmisc2.c,
    +zmisc3.c, zshade.c, ztrap.c)
    +	- flushfile with a procedure-target stream didn't pass the buffered
    +data to the procedure.  We tinkered with this a little, but it still isn't
    +fixed.  (zfilter.c, zfproc.c)
    +	- The top-level color space objects allocated by the CIE color space
    +setting operators were never freed (until garbage collection).  (zcie.c)
    +	- setpagedevice with a 0-size page didn't fail.  (gs_setpd.ps,
    +zmedia2.c)
    +	- If one or more of the matrices in a CIE color space or CRD was
    +singular, setcolorspace or setcolorrendering could cause a stackoverflow.
    +(zcie.c)
    +	- defineuserobject didn't work.  (I don't see how it could ever have
    +worked.)  (gs_dps2.ps)
    +	- The version string wasn't read-only.  (gs_init.ps, gs_lev2.ps,
    +gs_ll3.ps)
    +	- Some standard resource categories weren't defined (which they need
    +to be, even if they have no instances).  (gs_res.ps, gs_ll3.ps)
    +	- The Trapping ProcSet was empty.  (gs_ll3.ps)
    +	- setvmthreshold didn't accept a value of -1.  (gs_lev2.ps,
    +gs_pdfwr.ps, zusparam.c, zvmem2.c)
    +	- Binary tokens containing native reals with swapped byte order
    +didn't read in properly.  (ibnum.c, iscanbin.c)
    +	- In binary object sequences, many executable objects were
    +incorrectly written out as literal.  (zbseq.c)
    +	- String DataSources for shadings didn't work.  (zshade.c)
    +	- Parameter dictionaries with integer keys didn't work.  (iparam.c)
    +	- A "can't happen" condition caused massive confusion instead of a
    +rangecheck error.  (gs_setpd.ps)
    +	- setcachelimit and setcacheparams were broken, because they no
    +longer interacted correctly with setuserparams and setsystemparams.
    +(gs_lev2.ps)
    +	- The source width and height of images was arbitrarily limited to
    +32767.  (zimage2.c)
    +	- The optional dictionary parameter for filters was the last
    +operand, not the first.  (zfbcp.c, zfdecode.c, zfilter.c, zfilter2.c,
    +zfilterx.c, zfzlib.c)
    +	- If the current color space was Indexed, Separation using the
    +alternative space, or DeviceN using the alternative space,
    +currentgray/cmykcolor/hsbcolor/rgbcolor returned 0 rather than the
    +underlying color.  (This was a correction to the Red Book in the 3010
    +Language Supplement, Section D.2.4 and D.2.5.)  (gscolor.c, gscolor1.c,
    +gxcspace.h)
    +
    +Implements some additional LanguageLevel 3 stream facilities:
    +	- CloseSource and CloseTarget (parsing only).  (ilevel.h, zfilter.c)
    +	- Dictionary argument for SubFileDecode.  (zfilter.c)
    +	- UnitSize (fully implemented) and LowBitFirst (parsing only) for
    +	LZWDecode. (zfdecode.c)
    +	- ReusableStreamDecode (incomplete).  (gs_ll3.ps, zfreuse.c)
    +
    +Removes all remaining uses of _ds and _ss.  (bfont.h, errors.h, files.h,
    +icie.h, idict.h, idparam.h, ifunc.h, iscan.h, iutil2.h, opdef.h; iccfont.c,
    +idict.c, idparam.c, igc.c, iinit.c, iparam.c, iscan.c, iscannum.c, iutil2.c,
    +zcid.c, zcie.c, zdevice2.c, zfdecode.c, zfile.c, zfileio.c, zfont0.c,
    +zfont2.c, zfont42.c, zfunc.c, zht2.c, zusparam.c)
    +
    +Removes the use of gs_if_debug_c.  (zvmem2.c)
    +
    +Updates clients for the change in color space num_components.  (zcolor2.c,
    +zcsindex.c, zcssepr.c, zpcolor.c)
    +
    +Changes the stack manager so it can ensure an unused margin above the top
    +element.  This is needed for a possible change in the operator API.
    +(istack.h, istack.c)
    +
    +Decouples the definition of the interpreter instance from the definition of
    +the exported procedures that use it, so that we can use it in more places
    +internally.  (iminst.h, main.h)
    +
    +Removes all initialization of static per-context state.  (iinit.c, iscan.c,
    +zmath.c)
    +
    +Makes the freeing of VM spaces entirely dependent on the number of contexts
    +referencing them, removing the special handling of interpreter termination.
    +(icontext.h, gsalloc.c, icontext.c, inouparm.c, interp.c, zcontext.c,
    +zusparam.c)  ****** IN PROGRESS ******
    +
    +Enables printing of time and memory usage even in non-DEBUG systems, for
    +benchmarking.  (imain.c)
    +
    +Adds a .forceundef operator to parallel .forceput.  (gs_init.ps, zdict.c)
    +
    +Rewrites the Form caching code to use the Pattern cache.  (gs_fform.ps)
    +
    +Removes all uses of far_data.  (imain.c, imainarg.c, iname.c, opdef.h)
    +
    +Moves responsibility for null page devices from C code to PostScript code.
    +(gs_setpd.ps, igstate.h, zdevice2.c, zgstate.c)
    +
    +Changes the context scheduler to not store or reload the state when
    +switching from a context to the same context.  (zcontext.c)
    +
    +Moves .registerencoding from C code to PostScript code.  (gs_init.ps,
    +zfont2.c)
    +
    +Splits off inames.h (API for names and the name table) from iname.h (API for
    +the interpreter's name table); renames the_nt as the_gs_name_table, and
    +moves it to imain.c.  We would like to rename iname.h as names.h, but there
    +are too many places that include it.  (igc.h, iname.h, inamedef.h, inames.h,
    +imain.h, idict.c, idstack.c, igc.c, iname.c, interp.c, isave.c)
    +
    +Splits off iestack.h and iostack.h from estack.h and ostack.h, as was done
    +for [i]dstack.h in 5.23.  (estack.h, iestack.h, iostack.h, ostack.h,
    +interp.c)
    +
    +Splits off the hit detection device from the user path code, moving it to
    +the library level where it belongs.  (zupath.c)
    +
    +Updates the interpreter for the changes in the enum_ptrs, reloc_ptrs, and
    +clear_marks memory management procedures.  (igc.c, igcref.c, ilocate.c,
    +zcontext.c)
    +
    +Removes all uses of 'near' from the interpreter: if short and long calls
    +have different formats, we rely on the compiler to generate the most
    +efficient one.  (iccfont.c, imainarg.c, iparam.c, zdevice2.c, zdouble.c,
    +zdps.c, zgstate.c, zmatrix.c, zpath.c, zpath1.c, zrelbit.c, ztype.c)
    +
    +Makes a couple of minor changes to support the change in
    +gs_param_list_common.  (iparam.h, iparam.c)
    +
    +Changes internaldict to an operator, and executive and findencoding to
    +procedures, in order to satisfy the Genoa FTS.  (gs_dps.ps, gs_init.ps,
    +gs_res.ps)
    +
    +Updates clients for the addition of device reference counting.  (zpcolor.c,
    +zupath.c)
    +
    +Replaces all remaining uses of do { ... } while (0) with BEGIN ... END.
    +(istruct.h, opcheck.h)
    +
    +Adds a debugging operator for printing out a Type 1 font.  (zfont1.c)
    +
    +Updates the Type 1 font operators for the change in the procedure structure.
    +(zchar1.c, zfont1.c)
    +
    +Updates one client for the change in the gs_show_enum structure.  (zchar.c)
    +
    +Removes an obsolete "hook" put in for a customer.  (zchar.c)
    +
    +Removes the BigStringEncode filter, which was only used by a former
    +customer.  (zfilter.c)
    +
    +

    Interpreter (PDF)

    +
    +Fixes bugs:
    +	- Images defined in non-Device color spaces were broken.
    +(pdf_draw.ps)
    +
    +Removes some vestiges of the old pdf2ps.  (pdf_draw.ps, pdf_main.ps)
    +
    +Adds some leftover PDF 1.2 features:
    +
    +	- F, FFilter, and FDecodeParms keys in stream dictionaries.
    +	(pdf_base.ps)
    +
    +	- Functions, including predefined spot functions.  (pdf_draw.ps)
    +
    +	- Name trees.  (pdf_base.ps)
    +
    +Adds some PDF 1.3 features.  Note that these require a fair amount of
    +PostScript LanguageLevel 3 support.  Note also that none of these have been
    +tested yet, because we don't have any source of test files.
    +
    +	- DeviceN and (stubbed) ICCBased color spaces.  (pdf_draw.ps,
    +	pdf_ops.ps)
    +
    +	- Additional extended graphics state parameters.  (pdf_draw.ps)
    +
    +	- Number trees.  (pdf_base.ps)
    +
    +	- Masked images.  (pdf_draw.ps)
    +
    +Works around a bug in pdfTeX, which can generate Encoding vectors containing
    +nulls.  (pdf_font.ps)
    +
    +

    Streams

    +
    +Fixes bugs:
    +	- A needed #include of memory_.h was missing.  (sdeparam.c)
    +	- The needed input buffer size for the RunLengthEncode filter was
    +128, but should be 129.  (srle.c)
    +	- The ASCII85Encode and ASCIIHexEncode filters sometimes didn't
    +insert \n characters often enough.  (sfilter2.c, sstring.c)
    +	- In one obscure boundary case, the CCITTFaxEncode filter with K =
    +-1 could emit an extra, incorrect code.  (scfe.c)
    +	- The CCITTFaxDecode filter didn't default DamagedRowsBeforeError to
    +0.  (scfx.h)
    +
    +Removes all remaining uses of _ds and _ss.  (sfilter.h, sbcp.c, scfe.c,
    +seexec.c, sfilter1.c, sstring.c)
    +
    +Removes the use of do_debug.  (scfd.c)
    +
    +Removes all uses of far_data.  (scf.h, scfdgen.c, scfdtab.c, scfetab.c,
    +sjpegerr.c)
    +
    +Removes the save_count member of streams, which is now no longer needed.
    +(stream.h)
    +
    +To help in debugging, changes all uses of
    +	#define ss ((stream_xxx_state *)st)
    +to
    +	stream_xxx_state * const ss = (stream_xxx_state *)st;
    +(sbcp.c, sbhc.c, sbwbs.c, scfd.c, scfe.c, sdctc.c, sdctd.c, sdcte.c,
    +seexec.c, sfilter1.c, sfilter2.c, sfxfd.c, sfxstdio.c, siscale.c, slzwc.c,
    +slzwce.c, slzwd.c, smtf.c, spdiff.c, spngp.c, srld.c, srle.c, sstring.c,
    +szlibc.c, szlibd.c, szlibe.c)
    +
    +Changes all groups of statistic-gathering variables to be structure
    +variables named stats_*.  (scfe.c)
    +
    +Rewrites the CCITTFaxEncode filter to cut down one particularly large and
    +obnoxious macro, and to simplify the code by allocating an output buffer as
    +well as an input buffer.  (scf.h, scfdgen.c, scfe.c, scfetab.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- The masked image clipper sequenced through mask rows incorrectly.
    +(gxclipm.c)
    +	- gx_[c]path_init_local_shared were declared as returning void, but
    +could actually return an error.  (gxpath.h, gxcpath.c, gxpath.c)
    +	- As always, gcc failed to report some static/non-static
    +inconsistencies.  However, to my dismay, I find that the ANSI C standard
    +allows these, so I'll have to stop complaining about them.  (gxclimag.c,
    +gxclipm.c)
    +	- As always, gcc failed to report some signed/unsigned char *
    +mismatches.  (gdevpdfi.c, gsparam.c)
    +	- A loop counted on a non-existent zero value to mark the end of the
    +IODevice table.  (gsiodev.c)
    +	- Some needed #includes of memory_.h were missing.  (gdevddrw.c,
    +gscolor2.c, gscrdp.c, gscspace.c, gxclipm.c, gximage3.c, gxshade4.c)
    +	- Pattern device colors didn't have access to the original halftone
    +phase, making it impossible to handle non-standard X/YStep correctly.
    +(gsdcolor.h, gspcolor.c)
    +	- Pattern filling disregarded the phase.  THIS MAY UNDO A FIX MADE
    +IN 5.02.  WE NEED TO RE-TEST PATTERNS CAREFULLY.  (gxp1fill.c)
    +	- restore did some unnecessary gsaves.  (gsstate.h, gsstate.c)
    +	- The reference counting macros could read from an object after
    +freeing it.  (gsrefct.h)
    +	- setgstate and currentgstate freed the view clipping path, which
    +they shouldn't do.  (gsstate.c)
    +	- If no view clipping path was set, viewclippath returned the entire
    +extent of the device, not the imageable area.  (gxpath.h, gsdps.c, gspath.c)
    +	- Assigning one stack-allocated path to another incorrectly wound up
    +sharing their segments.  (gxcpath.c, gxpath.c)
    +	- dot_length_absolute was incorrectly declared as float rather than
    +bool.  (gxline.h)
    +	- The test for varying-depth banded images was incorrect, causing
    +varying-depth images to be treated as constant-depth.  (This only affected
    +ImageType 3 images.)  (gxclimag.c)
    +	- Failure to clamp Y values when processing banded images could
    +cause crashes or invalid band list data.  (gxclimag.c)
    +	- The changes in gsparam.c introduced in 5.23 made the coercion of
    +int arrays to float arrays fail.  (gsparam.h, gsparam.c)
    +	- Interpolated banded images could be transmitted incompletely,
    +causing narrow stripes to be chopped out of their rendering.  (gxclimag.c)
    +	- FunctionType 0 functions with 32-bit samples didn't read their
    +data correctly.  (gsfunc0.c)
    +	- Lattice-form Shadings with packed coordinates could crash or
    +produce incorrect results.  (gxshade.c)
    +	- Lattice-form Shadings with packed coordinates always returned an
    +error.  (gxshade4.c)
    +	- If the PaintProc of a Pattern or a Form, or a CharString
    +procedure, or a similar callback copied the current graphics state with
    +gstate or currentgstate, a dangling reference to the device could result.
    +Fixing this required adding a reference count to devices: internally created
    +devices initialize it to 0, externally visible devices initialize it to 1.
    +THIS IS A DELICATE CHANGE AND WILL PROBABLY HAVE A BUG TAIL.  (gsdevice.h,
    +gxdevcli.h, gxdevice.h, gdevmem.c, gdevmrop.c, gdevnfwd.c, gschar.c,
    +gsdevice.c, gsmemory.c, gspaint.c, gsstate.c, gxacpath.c, gxccman.c,
    +gxclip.c, gxmclip.c, gxpcmap.c)
    +	- The return_if_error macro referred to code rather than code_.
    +(gserror.h)
    +	- Non-monotonic halftones didn't allocate enough slots in the
    +halftone cache.  (gxht.c)
    +	- setpagedevice with a 0-size page didn't fail.  Fixing this
    +required making the nullpage device provide explicit InputAttributes.
    +(gdevnfwd.c)
    +	- Halftone angles were often slightly off.  (gshtscr.c)
    +	- Banded fill_mask operations (used for characters) were sometimes
    +broken.  This bug was obviously introduced since 5.10; I'm surprised that it
    +didn't have more serious effects.  (gxclread.c)
    +	- Partially transparent patterns didn't work with non-default
    +RasterOp values.  (gxp1fill.c)
    +	- The default implementation of strip_copy_rop didn't handle color
    +space conversion properly.  (gdevmrop.c)
    +	- Hint replacement could cause the initial moveto and final
    +closepath of a Type 1 outline to differ, confusing the filling code.
    +(gxhint3.c)
    +	- Interpolated images were truncated at the bottom.  (bug probably
    +introduced in 5.23) (gxiscale.c)
    +	- Using an unsigned type for the index passed to enum_ptrs
    +procedures caused comparisons against signed values to be incorrect.
    +(gsstruct.h)
    +
    +Rewrites the rectangle list and mask clipping algorithms to use callback
    +procedures rather than macros.  The rectangle list source code grew by 20%,
    +but the compiled code shrank from 10K to less than 4K; the mask clip source
    +code and compiled code both shrank.  (gxclip.h, gxmclip.h, gxclip.c,
    +gxclip2.c, gxclipm.c, gxcpath.c)
    +
    +Removes all remaining uses of _ds and _ss.  (gsmemory.h, gsstruct.h, gzht.h,
    +stdpre.h, gp_dosfb.c, gsbitops.c, gscie.c, gsht.c, gstype1.c, gstype2.c,
    +gxclpath.c, gxclread.c, gxcmap.c, gxfill.c, gxi12bit.c, gxop1.h, gxpflat.c,
    +gxstroke.c, gxtype1.c)
    +
    +Changes some GC procedures from explicit code to standard macros.
    +(gsstruct.h, gscscie.c, gxcht.c)
    +
    +For easier debugging, changes gs_debug_c to a procedure; removes
    +gs_if_debug_c and do_debug.  (gdebug.h, gsht1.c, gsmisc.c, gspaint.c,
    +gxcht.c, gxht.c, gxpcmap.c)
    +
    +Changes the num_components member of the color space structure to a
    +procedure, which is needed because DeviceN color spaces have a variable
    +number of components; also makes Pattern spaces return -1 - the correct
    +num_components instead of -1.  This is a NON-BACKWARD-COMPATIBLE CHANGE.
    +Also adds a base_space procedure.  (gxcspace.h, gscdevn.c, gscolor1.c,
    +gscolor2.c, gscpixel.c, gscscie.c, gscsepr.c, gscspace.c, gspcolor.c,
    +gxiinit.c, gxiscale.c)
    +
    +Changes all groups of statistic-gathering variables to be structure
    +variables named stats_*.  (gxclip.c, gxclist.c, gxclpath.c, gxfill.c,
    +gxifast.c)
    +
    +Starts to pull apart gs_makebitmap/pixmappattern to remove the dependency on
    +masked images.  (gspcolor.c)
    +
    +Splits the C heap allocator from generic allocator support.  (gsmemory.c,
    +gsmalloc.c)
    +
    +Removes all uses of far_data other than references to device (but not
    +device2) prototypes.  (gdevmem.h, gdevmrop.h, gxdevcli.h, gconf.c,
    +gdevabuf.c, gdevht.c, gdevm*.c, gdevmpla.c, gdevmrop.c, gdevnfwd.c,
    +gsbittab.c, gsflip.c, gsroptab.c, gxcht.c)
    +
    +Adds a streams member to gs_ref_memory_t.  The library doesn't use this, but
    +it greatly simplifies the interpreter's bookkeeping.  (gsalloc.h, gxalloc.h,
    +gsalloc.c)
    +
    +Adds some more opaque types to the graphics state structure, rather than
    +using naked struct types.  (gsccolor.h, gzstate.h)
    +
    +Introduces the notion of the "effective clip path" in a graphics state.
    +Painting operators should now call gx_effective_clip_path rather than using
    +the clip_path member directly.  (gxpath.h, gschar.c, gsdps1.c, gsimage.c,
    +gspaint.c, gspath.c, gxccache.c, gxpaint.c)
    +
    +Implements view clipping.  (gzstate.h, gspath.c, gsstate.c)
    +
    +Starts to pare down the fit_* macros in gxdevice.h, since some people feel
    +strongly they are hard to follow, and also adds BEGIN/END wrapping.
    +(gxdevice.h, gdevabuf.c, gdevmem.c, gxclpath.c)
    +
    +Refactors the structure definition macros in anticipation of moving to a
    +more table-driven approach.  Replaces ENUM_CALL, ENUM_RETURN_CALL, and
    +RELOC_CALL with ENUM_USING and RELOC_USING.  (gsstruct.h, gdevmem.c,
    +gshtscr.c, gxcpath.c, gxiinit.c)
    +
    +Sketches a table-driven rather than procedural representation for GC
    +descriptors.  We believe this will improve readability, reduce code size,
    +and perhaps reduce cache thrashing during garbage collection.  This requires
    +a NON-BACKWARD-COMPATIBLE CHANGE to the enum_ptrs, reloc_ptrs, and
    +clear_marks procedures (to add the structure descriptor as a parameter).
    +This should not affect any ordinary clients, because they should already
    +define these procedures using the macros in gsstruct.h, which *are*
    +backward-compatible; however, they do affect two internal clients that use
    +their own type tags with unions (color spaces and device colors).
    +(gsstrtab.h, gsstruct.h, gsalloc.c, gsstrtab.c)
    +
    +Updates color spaces for the change in enum_ptrs and reloc_ptrs.
    +(gxcspace.h, gscdevn.c, gscolor1.c, gscolor2.c, gscpixel.c, gscscie.c,
    +gscsepr.c, gscspace.c, gspcolor.c)
    +
    +Updates device colors for the change in enum_ptrs and reloc_ptrs.
    +(gsdcolor.h, gxdcolor.h, gxpcolor.h, gspcolor.c, gxcht.c, gxcmap.c,
    +gxdcolor.c, gxht.c, gxp1fill.c)
    +
    +Implements a hit detection device at the library level.  (gserrors.h,
    +gdevhit.c)
    +
    +Changes some configuration parameters from #defines to statics.  (gschar.c)
    +
    +Changes "simple" structures so they no longer have 0 for the enum_ptrs or
    +reloc_ptrs procedure.  This is a NON-BACKWARD-COMPATIBLE CHANGE for
    +structure-definers that don't use the macros in gsstruct.h (of which there
    +shouldn't be any).  (gsstruct.h, gsalloc.c)
    +
    +Adds the structure type name to the debugging printout for freeing objects.
    +(gsalloc.c)
    +
    +To help in debugging, changes all uses of
    +	#define ss ((stream_xxx_state *)st)
    +to
    +	stream_xxx_state * const ss = (stream_xxx_state *)st;
    +(gxclread.c)
    +
    +Removes all uses of 'near' from the library: if short and long calls have
    +different formats, we rely on the compiler to generate the most efficient
    +one.  (gscie.c, gscoord.c, gsimpath.c, gsstate.c, gstype2.c, gxclpath.c,
    +gxclread.c, gxfill.c, gxhint1.c, gxhint2.c, gxhint3.c, gxstroke.c)
    +
    +Adds 'inline' to stdpre.h, defined as the empty string on compilers other
    +than the ones we know accept it.  (stdpre.h)
    +
    +Adds printout of the subrectangle to ImageType 1 tracing.  (gxiinit.c)
    +
    +Replaces a few uses of gs_memory_default with dev->memory.  (gdevdbit.c,
    +gxclread.c)
    +
    +Improves support for halftone objects not associated with graphics states.
    +This involves a minor change to the definitions of gs_spot_halftone and
    +gs_threshold_halftone, to define the transfer function as a closure.  This
    +is slightly NON-BACKWARD-COMPATIBLE in that it requires clients to set
    +transfer_closure.proc to 0 if they also set transfer to 0.  NOTE: the API
    +defined in gshtx.h is subject to future change.  (gscsepnm.h, gshtx.h,
    +gxdht.h, gxfmap.h, gxht.h, gxtmap.h, gscolor.c, gsht.c, gsht1.c, gshtx.c)
    +
    +Changes the Bezier approximation of arcs to cut arcs at absolute multiples
    +of 90 degrees rather than at intervals of 90 degrees (e.g., an arc from 45
    +to 105 would now be cut at 90 rather than being treated as a single
    +60-degree curve) in order to produce more uniform output and also to ensure
    +that the bounding box for arcs is more accurate (to pacify the Genoa FTS).
    +(gxfarith.h, gsmisc.c, gspath1.c)
    +
    +Replaces all remaining uses of do { ... } while (0) with BEGIN ... END.
    +(gsbitops.h, gsdsrc.h, gserror.h, gsmdebug.h, gsrect.h, gxcldev.h, gxfunc.h,
    +gxop1.h, gxtype1.h, gsalphac.c, gsshade.c, gstype2.c, gstype42.c,
    +gxclread.c, gxcpath.c, gximage4.c, gxpath.c)
    +
    +Adds a user-defined halftone type, to support non-monotonic halftones.  We
    +could make any of the following structures fully object-oriented:
    +	- Halftones (client level)
    +	- Halftone orders (device level, but not rendered)
    +	- Device halftones (device level, fully rendered)
    +The right place to do this for non-monotonic halftones, which are specified
    +directly by bit masks, is at the device halftone level.  However, there are
    +too many places that know too much about the implementation of device
    +halftones and halftone orders right now.  WE NEED TO REVISIT THIS AFTER THE
    +5.1x CODE BRANCH IS TERMINATED.  SHOULD ALSO CONVERT UNION TO TYPED UNION
    +FOR GC -- CODE IS DUPLICATED IN gsht.c VS gshtx.c.  (gxdht.h, gxht.h,
    +gxhttype.h, gshtx.h, gsht.c, gsht1.c, gshtx.c)
    +
    +Moves the procedures in Type 1 font data into a structure.  This is a
    +NON-BACKWARD-COMPATIBLE CHANGE, but an internal one.  (gxfont1.h, gstype1.c,
    +gstype2.c, gxtype1.c)
    +
    +Extends Type 1 / 2 / 4 fonts to require that they be able to enumerate the
    +set of glyphs that they define, to allow writing them out.  We may propagate
    +this to all base fonts in the future.  (gxfont1.h)
    +
    +Provides some utilities for devices that want to define their own
    +InputAttributes and OutputAttributes.  (gdevprn.h, gxdevice.h, gdevprn.c,
    +gsdparam.c)
    +
    +Removes all of the text-display procedures that took null-terminated C
    +strings as operands.  This is NON-BACKWARD-COMPATIBLE.  However, since the
    +memory manager required that all such operands be allocated using
    +gs_alloc_string, the procedures were never usable with arbitrary C strings
    +anyway.  (gschar.h, gschar.c)
    +
    +Renames the gx_device procedure record from std_procs to procs, in
    +anticipation of more unified support for "objects".  This is a
    +NON-BACKWARD-COMPATIBLE CHANGE for a surprisingly large number of clients
    +that should have been using dev_proc and set_dev_proc.  (gdevbbox.h,
    +gxdevcli.h, gxdevice.h, gdevdflt.c, gdevdgbr.c, gdevmem.c, gdevprn.c,
    +gsalphac.c, gsdevice.c, gsropc.c, gxccache.c, gxifast.c)
    +
    +Disallows setting of the RasterOp-related graphics state parameters when
    +a cache device is active.  (gsrop.c)
    +
    +Changes the tracing printout of path segments to provide enough accuracy to
    +cover all the fraction bits of a 'fixed'.  (gxpath.c)
    +
    +
    + +
    + +

    Version 5.23 (limited) (5/14/98)

    + +

    +This fileset adds a number of PostScript LanguageLevel 3 features: library +support for ImageType 3 and 4 (masked) images, PostScript-level support for +ImageType 4, and the shfill operator for smooth shading. It also adds RCS +Id lines to all the files we maintain. It also changes the Unix makefiles +so that they create debugging or profiling binaries in separate directories. + +

    +This fileset includes an unusually large number of non-backward-compatible +API changes. Most of them don't affect ordinary library clients, but a few +do. These changes, and a few more to come, result from the next (large) +increment in our ongoing project to make the code completely re-entrant (no +non-idempotent writable globals in our own code). This necessarily involves +putting some things that used to be global into structures, some of which +must be added to some interfaces. + +

    +NOTE: because of a combination of hardware problems, time pressure, and +belated discovery of sloppiness by the original developers of the PC +makefiles, none of the PC makefiles in this fileset work. The Borland +makefiles probably come the closest. + +

    Documentation

    +
    +Adds documentation for:
    +	- The changes in begin_image and related facilities.  (drivers.txt)
    +	- The addition of -Z/.  (use.txt)
    +	- The new ps2ps utility.  (ps2ps.1)
    +	- The new get_hardware_params procedure.  (drivers.txt)
    +	- The new -B<size> / -B- switch.  (use.txt).
    +
    +Improves the documentation for the sample_ macros.  (gsbitops.h)
    +
    +Adds some documentation on how the debugging/tracing flags work.  (gdebug.h)
    +
    +Improves the documentation of DDAs.  (gxdda.h)
    +
    +Documents a subtle change in the meaning of a flag in the PDF
    +FontDescriptor.  (pdf_font.ps)
    +
    +Changes the location of the authoritative site for zlib sources.  (zlib.mak)
    +
    +Corrects a typo.  (gsht1.h)
    +
    +Removes pdf_2ps.ps from the fileset.  (psfiles.txt)
    +
    +Adds standard file name comments to all .c and .h files that didn't already
    +have them.  (dodebug.h, gdev3b1.c, gdev8510.c, gdevadmp.c, gdevhl7x.c,
    +gdevimgn.c, gdevo182.c, gdevpdfx.h, gdevpe.c gdevsco.c, gdevsj48.c,
    +gdevvglb.c, gsalpha.c, gscolor1.c, gscsepr.h, gsdsc.c, scfetab.c string_.h,
    +zfunc3.c, zmedia2.c)
    +
    +Unifies the nroff styles of the various man pages a bit.  (*.1)
    +
    +Adds a reference to the CTAN mirror sites.  (new-user.txt)
    +
    +Notes that the result of rect_intersect may be anomalous.  (gsrect.h)
    +
    +Improves the documentation for the Distiller parameter handling code.
    +(gdevpdfp.c, gdevpsdp.c)
    +
    +Corrects an ambiguity in the definition of the int_keys argument of
    +param_begin_xmit_dict.  (gsparam.h)
    +
    +Adds a new file that will evolve into a reasonable guide to the source code.
    +(README, source.txt)
    +
    +Adds the convention for 'status' and 'code' to the C style guide.
    +(c-style.txt)
    +
    +Improves the documentation for the '-' pseudo-switch.  (use.txt)
    +
    +Updates the problem reporting form to include the URL for known post-release
    +problems.  (bug-form.txt)
    +
    +Documents the availability of sources and binaries for Plan 9.
    +(new-user.txt)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- The 'tags' target in the Unix makefiles had an incorrect directory
    +name.  (bug probably introduced since 5.20)  (unix-end.mak)
    +	- The ld_tr and CCFLAGS macros were used in the makefiles before
    +they were defined, causing problems with `make' implementations that
    +substitute macros into definitions at definition time rather than at use
    +time.  (*.mak)
    +	- Recent Digital Unix versions (4.0 and later) require -std1 when
    +compiling.  (make.txt)
    +	- The Unix library-only makefile had gotten out of date.
    +(ugcclib.mak)
    +	- pf2afm[.bat] were omitted from the fileset.  (master/package.tcl)
    +	- The Borland makefile didn't work, because the Borland compiler
    +requires specifying the output file name (-o) before the input file name
    +(-c)!  This required changing the order of every compilation command in
    +every platform-independent makefile.  The win*.mak files still need work.
    +(*.mak)
    +	- None of the non-Unix makefiles specified directory names for the
    +auxiliary programs.  (dvx-tail.mak, os2.mak, wctail.mak, winlib.mak)
    +	- The Windows makefiles lacked build rules for gp_ntfs and gp_win32.
    +(msvclib.mak, winlib.mak)
    +
    +Adds a new debugging switch -Z/ that prints the file name and line number on
    +all trace messages.  (gdebug.h, std.h)
    +
    +Changes the Unix 'pg' and 'debug' build targets so that they create the
    +binaries in a 'pgobj' or 'debugobj' subdirectory of the standard build
    +directory.  This allows keeping all 3 configurations active.  (unix-end.mak)
    +
    +Adds GEN directories for jpeg, libpng, and zlib.  (devs.mak, gs.mak,
    +jpeg.mak, lib.mak, libpng.mak, zlib.mak)
    +
    +Adds a gendev.c that will eventually replace genconf.c.  (gendev.c, *.mak)
    +
    +Adds -Wcast-align to the gcc compilation switches.  (unix-gcc.mak)
    +
    +Adds support for libpng 1.0.1.  (libpng.mak)
    +
    +Notes the use of -R on Solaris and other SVR4 systems.  (unix*.mak)
    +
    +Removes pdf_2ps.ps from the fileset.  (int.mak, unixinst.mak,
    +pdf_2ps.ps[deleted])
    +
    +Ensures that every file that is copyright, maintained, and distributed by
    +Aladdin Enterprises has a RCS Id line.  In .c and .h files, these lines
    +currently are only comments, but they could be converted easily to static
    +strings later if we want to.  We had to touch almost every file in the
    +fileset to do this, but we did *not* change the write dates.  (*)
    +
    +Makes the build procedure auto-detect whether the installed version of gcc
    +has the 'const' code generation bug.  (gs.mak, lib.mak, unix-gcc.mak)
    +
    +Removes 'makefile' as a precondition for ccf32.tr.  (I can't quite figure
    +out why it was there in the first place.)  (msvccom.mak)
    +
    +Replaces the -F<file> switch with a -B<buffer size> switch that forces all
    +files to use the run_string interfaces.  -B- turns it off.  (iminst.h,
    +imainarg.c)
    +
    +Adds a new resource to genconf.c, -replace <module>.  This causes <module>
    +*not* to be included if the module with the -replace resource *is* included.
    +If two modules -replace each other, either directly or indirectly through
    +-includes, the result is undefined.  (genconf.c)
    +
    +Uses -replace to implement a default roplib package.  (lib.mak)
    +
    +

    Utilities

    +
    +Fixes bugs:
    +	- unprot.ps stopped working because of the stricter prohibition
    +against storing local-VM objects into systemdict.  (unprot.ps)
    +
    +Adds a new ps2ps utility, like pdf2ps, that "distills" PostScript.
    +(ps2ps, ps2ps.bat)
    +
    +Modifies the ps2epsi utility so it can be run outside the ps2epsi script for
    +testing.  (ps2epsi.ps)
    +
    +Changes the pdf2ps utility to use the pswrite device.  This gets rid of all
    +conversion problems, at the expense of larger and stupider output files.
    +(pdf2ps, pdf2ps.bat)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- Two procedures were declared 'private' inconsistently (thank you
    +again, gcc).  (gdevps.c)
    +	- The author of the uniprint driver sent a fix for an
    +allocation-related bug and an off-by-one bug.  (gdevupd.c)
    +	- The PDF writer incorrectly converted open stroked rectangles (only
    +3 sides drawn) to closed (4 sides drawn).  (gxpath.h, gzpath.h, gdevpdfd.c,
    +gxpath2.c)
    +	- When banding, filling a character within the PaintProc of a
    +Pattern could produce memory access errors.  (The problem was in
    +gx_forward_fill_mask, which might affect filling characters in other
    +situations as well.)  (gdevnfwd.c)
    +	- The [e]pswrite driver produced incorrect line widths for stroked
    +graphics.  (gdevps.c)
    +	- The [e]pswrite driver didn't invoke colorimage correctly, so
    +didn't handle Patterns right.  (gdevps.c)
    +	- Vector devices didn't set the color before writing trapezoids,
    +possibly causing incorrectly colored output.  (gdevvec.c)
    +	- Vector devices could give errors on Pattern fills.  (gdevvec.c)
    +	- The bbox device retained a pointer to the clipping path, which,
    +since the path was embedded in the gs_state_contents, confused the garbage
    +collector, causing memory access errors.  We fixed this by de-embedding the
    +path object: see below.  (gsstate.c)
    +	- On some GNU/Linux systems, the X driver could get a memory access
    +error when displaying patterns.  We fixed this by adding calls on XInitImage
    +in the necessary places when running X11R6.  (gdevx.c)
    +	- PDF output didn't check names for unusual characters, and could
    +produce invalid output if the input included names with those characters.
    +(gdevpdfx.h, gdevpdf.c, gdevpdfm.c, gdevpdfo.c)
    +	- In the PDF writer, DEST pdfmarks with /Dest but no /Page or /View
    +didn't generate named destinations.  (gdevpdfm.c)
    +	- Printer devices didn't allow . in %-formats in the output file
    +name.  (gdevprn.c)
    +	- The x11cmyk driver didn't read bits back from the screen
    +correctly.  (gdevxalt.c)
    +	- The pcxmono and pcxgray drivers used colored rather than
    +gray-scale palettes.  (gdevpcx.c)
    +	- The PCX drivers could emit repetition counts greater than 15,
    +confusing some readers.  (gdevpcx.c)
    +
    +Removes some vestiges of the obsolete draw_line driver procedure.  We also
    +rename the draw_line member of the driver procedure structure as
    +obsolete_draw_line, so that any uses of it will cause compilation errors,
    +but we don't remove it from the structure, so that existing driver procedure
    +vectors will continue to compile (although the draw_line procedure will
    +never be called).  (gxdevcli.h, gdevbbox.c, gdevddrw.c, gdevdflt.c)
    +
    +To repair a design error, and at the same time add flexibility needed for
    +ImageType 3:
    +
    +	- Removes the image_data and end_image driver procedures,
    +associating them with the gx_image_enum(_common)_t structure instead.
    +Clients should call gx_device_image_data and gx_device_end_image instead: we
    +set the image_data and end_image procedures in the device structures to
    +these procedures when filling in defaulted procedures.  This is a
    +NON-BACKWARD-COMPATIBLE CHANGE for drivers that implement begin_image, since
    +they now have to fill the procedures into the enumerator structure.
    +(gsiparm*.h, gxdevcli.h, gxdevice.h, gxiparam.h, gdevbbox.c, gdevddrw.c,
    +gdevdflt.c, gdevnfwd.c, gsimage.c, gxclist.c, gxidata.c, gxifast.c,
    +gxiinit.c, gximage3.c, gximage4.c)
    +
    +	- Replaces the image_data driver procedure with a plane_data
    +procedure (now associated with the image enumerator, not the device) that
    +allows specifying the X offset and raster independently for each plane, and
    +(depending on the image type) may allow omitting some planes.  We provide a
    +gx_device_image_plane_data procedure parallel to _image_data and _end_image
    +(see above).  (gsiparm*.h, gxdevcli.h, gxiparam.h, gdevbbox.c, gdevddrw.c,
    +gxidata.c, gxiinit.c, gximage3.c, gximage4.c)
    +
    +Updates clients for image processing changes.  (gdevvec.h, gdevpdf.c,
    +gdevpdfi.c, gdevps.c, gdevpx.c, gdevvec.c)
    +
    +Enhances [e]pswrite to detect other kinds of opportunities for producing
    +smaller output.  This involves a change in the moveto procedure in the
    +'vector' interface.  (gdevps.c)
    +
    +Changes the bbox device so that it automatically detects whether it is being
    +used as a component in a device pipeline or as a free-standing device,
    +rather than having to select this in the makefile.  (lib.mak, gdevbbox.h,
    +gdevbbox.c)
    +
    +Moves the halftoning driver a bit closer to real usability.  (gdevht.h,
    +gdevht.c)
    +
    +Adds some tracing to the color mapping code in the X driver.  (gdevx.c)
    +
    +Implements setting the Dict and ACSDict parameters for pswrite and pdfwrite.
    +Dict is effective with the CCITTFaxEncode filter for black-and-white images;
    +otherwise, these parameters still don't do anything.  (gdevpdfi.c,
    +gdevpsdp.c) ****** READING HUFFMAN TABLES IS NYI, SEE sdcparam.c; SETTING
    +DOESN'T WORK BECAUSE DCT_set_defaults DOESN'T DO WHAT IT SHOULD ******
    +
    +Updates the PS/PDF writers to reflect the fact that the ASCIIHexEncode
    +filter now has a state.  (gdevpsdf.c)
    +
    +Modifies the X driver so that it can draw multiple platform characters at a
    +time rather than one character per call.  (gdevx.h, gdevx.c, gdevxxf.c)
    +
    +Takes advantage of the filter stream procedures now available in stream.c.
    +(gdevjpeg.c, gdevpdf.c, gdevpsdf.c)
    +
    +Adds a get_hardware_params procedure, similar to get_params except that it
    +reads parameters whose values depend on hardware state that may change
    +without program intervention (e.g., panel switches).  The default is that
    +there are no hardware parameters.  (gdevmem.h, gdevprn.h, gsdevice.h,
    +gxdevcli.h, gxdevice.h, gxacpath.c, gxclip2.c, gxclipm.c, gxclist.c,
    +gxcpath.c, gdevbbox.c, gdevdflt.c, gdevht.c, gdevmrop.c, gdevnfwd.c,
    +gdevprn.c, gsdparam.c)
    +
    +Updates the PS/PDF writer for the change in the parameter list API.
    +(gdevpsdf.c)
    +
    +Makes a few more writable statics const.  (gdevos2p.c, gdevpipe.c,
    +gdevpsim.c, gdevx.c)
    +
    +Removes the rrgb sample device, since it now no longer serves any purpose.
    +(gdevrrgb.c[deleted])
    +
    +Converts some additional devices to -dev2, to make them const.  (devs.mak,
    +gdevbit.c, gdevpbm.c, gdevpcx.c, gdevpsim.c, gdevpng.c, gdevtfax.c,
    +gdevtfnx.c, gdevx.c, gdevxalt.c)
    +
    +Updates a client accessing the preallocated color spaces.  (gdevpsdi.c)
    +
    +Renames the debugging-related statics in the X driver as X_SOMETHING.
    +(gdevx.c)
    +
    +

    Platforms

    +
    +Makes a few minor changes to support Plan 9.  (make.txt, devs.mak, stat_.h,
    +stdio_.h, time_.h, gdevpbm.c)
    +
    +

    Fonts

    +
    +Documents the availability of a free Chinese font.  (fonts.txt,
    +new-user.txt)
    +
    +Works around a bug in the Adobe PostScript driver.  We though it just output
    +the FontBBox for Type 42 fonts in the 2048- or 4096-unit character space
    +rather than a 1-unit space, but in fact it outputs garbage.  (zfont42.c,
    +gstype42.c)
    +
    +Augments the handling of Type 42 fonts to recognize the gdir /
    +GlyphDirectory method of outline definition in addition to the loca / glyf
    +method, per Adobe versions 2015 and later (undocumented!).  (ifont.h,
    +zfont42.c)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- Memory management for argument strings was wrong.  (gsargs.h,
    +gsargs.c)
    +	- 1 .setlanguagelevel was broken, because it didn't allow for the
    +possibility that values could get deleted from systemdict that existed in
    +level2dict.  (bug introduced in 5.x, x <= 10) (zmisc2.c)
    +	- -dFAKEFONTS was broken.  (gs_fonts.ps, gs_init.ps)
    +	- copyscanlines was broken.  (bug introduced in 5.20) (gs_init.ps)
    +	- The matrix returned by sizeimage was incorrect.  (zdpnext.c)
    +	- The implementation of .buildpattern for PatternType 2 was wrong.
    +(gs_ll3.ps)
    +	- Ghostscript couldn't load TrueType fonts where the amount of data
    +either before or after the glyf section exceeds 64K.  (gs_ttf.ps) ****** WE
    +BACKED OUT THIS CHANGE, BECAUSE WE HAD TO BACK OUT THE NEXT ONE. ******
    +	- Ghostscript couldn't load TrueType fonts where the total data is
    +more than 64K and the offset or length of the glyfs is odd.  (gs_ttf.ps)
    +****** WE BACKED OUT THIS CHANGE: IT BROKE THE PDF INTERPRETER, BECAUSE IT
    +IMPOSES A NEW REQUIREMENT THAT TTF FILES BE POSITIONABLE. ******
    +	- Some compilers complained about arithmetic on enums.  (interp.c)
    +	- The CIE color space and CRD GC structure definitions were in the
    +interpreter rather than the library.  (zcie.c, zcrd.c)
    +	- NullFont was still present in FontDirectory when currentglobal was
    +false.  (gs_init.ps)
    +	- execform failed with Form resources, because it tried to insert
    +the Implementation in a read-only dictionary.  (gs_fform.ps, gs_lev2.ps)
    +
    +Finishes implementing ImageType 4 images, and moves closer to implementing
    +ImageType 3.  (iimage.h, zdps.c, zimage.c, zimage2.c, zimage3.c)
    +
    +Updates tracing output to use the new dlprintf macros.  (idict.c, igc.c,
    +igcref.c, igcstr.c, iname.c, interp.c, isave.c, iscan.c, zcie.c, zcontext.c)
    +
    +Implements multiproc=true for readimage.  (gs_dpnxt.ps)
    +
    +Does a bit more work on implementing shading with PatternType 2.
    +(gs_ll3.ps, zfunc.c, zshade.c)
    +
    +Adds a .bitadd operator for adding integers modulo the word size.
    +(zarith.c)
    +
    +Updates filter operators to use the new stream parameter facility.
    +(iparam.h, iparam.c, zfdecode.c, zfdctc.c[deleted], zfdctd.c, zfdcte.c)
    +
    +Updates the implementation of parameter lists for the change from _dict to
    +_collection.  (iparam.c, iparam.h)
    +
    +Takes advantage of the filter stream procedures now available in stream.c.
    +(zfilter.c)
    +
    +Adds get_hardware_params to one device procedure vector.  (zupath.c)
    +
    +Adds .gethardwareparams to parallel .getdeviceparams.  (zdevice.c)
    +
    +Updates the interpreter's parameter list machinery to match the change in
    +gsparam.h.  (iparam.h, iparam.c)
    +
    +Makes more writable statics const.  (gs_init.ps, btoken.h, dstack.h, iref.h,
    +opextern.h, icontext.c, idict.c, igc.c, igcref.c, iinit.c, imainarg.c,
    +interp.c, iscanbin.c, iutil.c, zbseq.c, zcie.c, zcontrol.c, zdevcal.c,
    +zdevice2.c, zdps.c, zdps1.c, zfont2.c, zgeneric.c, zgstate.c, ziodev.c,
    +ziodev2.c, ztype.c)
    +
    +Removes an inappropriate reference to PROGRAM_NAME.  (imainarg.c)
    +
    +Removes set/currentrenderalgorithm, since they are useless for the purpose
    +for which they were intended.  (zrop.c)
    +
    +Uncomments code for CIEBasedDEF[G] color spaces, even though these aren't
    +fully implemented yet.  (zcie.c)
    +
    +Reimplements StartJobPassword and SystemParamsPassword as no-access strings
    +in systemdict.  (gs_lev2.ps, iutil2.h, iutil2.c, ziodev2.c, zusparam.c)
    +
    +Splits off the context state record from icontext.h, so that places that
    +only need access to state variables don't need to import the
    +procedures. (icontext.h, icstate.h)
    +
    +Updates a client for the change in gs_malloc_limit.  (imainarg.c)
    +
    +Updates clients for the change in the accessors for predefined color spaces.
    +(zcolor1.c, zimage.c, zimage2.c)
    +
    +Renames the (few) debugging-related statics as I_SOMETHING.  (igc.c)
    +
    +Splits off idstack.h (API for dictionary stacks) from dstack.h (API for the
    +interpreter's dictionary stack), and idstack.c (dictionary stack
    +implementation) from idict.c (dictionary implementation).  We should have
    +done this a long time ago!  (dstack.h, idictdef.h, idstack.h, idict.c,
    +idstack.c, iinit.c, ireclaim.c)
    +
    +Folds the cached currentfile pointer into the exec-stack structure.
    +(estack.h, interp.c)
    +
    +Changes clients of gs_register_*_root to eliminate statically allocated
    +roots.  (iinit.c, iname.c, interp.c, zbseq.c, zcontext.c, zfile.c, zfont.c,
    +zfont2.c, zgstate.c, ziodev.c)
    +
    +Adds a ref_free_stack procedure, and reformats the implementation of stacks.
    +(istack.h, interp.c, istack.c)
    +
    +

    Interpreter (PDF)

    +
    +Fixes bugs:
    +	- Pattern colors sometimes caused errors.  (gs_pdf.ps)
    +	- A file ending with %%EOF without an EOL caused an error.
    +(pdf_main.ps)
    +	- Fl wasn't recognized as an abbreviation for FlateDecode in in-line
    +images.  (pdf_draw.ps)
    +
    +Removes all code related to converting PDF to PS: it never worked reliably,
    +and we now support this function with the pswrite device instead.
    +(gs_pdf.ps => pdf_ops.ps, pdf*.ps)
    +
    +

    Streams

    +
    +Updates tracing output to use the new dlprintf macros.  (shc.h, scfd.c,
    +scfe.c, shcgen.c)
    +
    +Provides the ability to read and set stream initial parameters to/from a
    +parameter list.  This is currently needed only by the PDF/PS writers and the
    +filter operator, so it is implemented in modules separate from the stream
    +implementation per se, but it might be useful for other clients too.
    +(scommon.h, scfparam.c, sdcparam.c, sdct*.c, sdeparam.c, sddparam.c,
    +gdevpsfp.c[deleted])
    +
    +Changes the ASCII85Encode filter so it never produces two %% at the
    +beginning of a line, which could mislead document managers or spoolers.
    +(sfilter2.c)
    +
    +Changes the ASCIIHexEncode filter so it always produces lines of exactly 64
    +characters, except for the last one.  THIS IS A NON-BACKWARD-COMPATIBLE
    +CHANGE, because this filter now needs a state structure, which it didn't
    +before.  (sstring.h, sstring.c)
    +
    +Moves filter_{read,write}_procs to stream.c, changing the names to
    +s_filter_{read,write}_procs.  (stream.h, stream.c)
    +
    +Makes creation of JPEG filters set default values for parameters that are
    +outside the IJG library (Picky and Relax).  (sdct.h, sjpegd.c, sjpege.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- An error in dda_step_add could theoretically produce anomalies in
    +images (although we don't think we've ever seen any).  (gxdda.h)
    +	- A boundary error in dda_state_next/previous/advance could
    +theoretically produce anomalies in images by allowing R = 0 (although we
    +don't think we've ever seen any).  (gxdda.h)
    +	- A rounding error in computing the size of portrait images could
    +produce a spurious 1-pixel-wide line at the edge of the image.  (gxifast.c)
    +	- When banding, images with singular or nearly singular CTM or
    +ImageMatrix could confuse things badly enough to cause memory access errors.
    +(gxclimag.c)
    +	- Patterns were broken.  (bug introduced in 5.21) (gxclip2.c)
    +	- Because some image processing code retained a pointer to the
    +clipping path, which was embedded inside the gs_state_contents object,
    +garbage collection could cause crashes.  (The only case where we know this
    +happened was the bounding box device, since we think all other image
    +enumerators preconstruct a clipping device, which does not retain a pointer
    +to the clipping path, rather than constructing one from the path on the
    +fly.)  We fixed this by replacing gs_state_contents with individual objects:
    +see below.
    +	- The *_.h files didn't have double-inclusion protection.  (*_.h)
    +	- ImageType 2 images were broken by the change in begin_typed_image.
    +(gximage2.c)
    +	- Color-setting operators that "substitute the nearest legal value"
    +didn't substitute it in storage, only when using it.  E.g., after
    +gs_setgray(pgs, 2.0), gs_currentgray(pgs) returned 2.0 rather than 1.0.
    +This bug has been there since release 1.0!  (gxcspace.h, gscie.c, gscolor.c,
    +gscolor1.c, gscolor2.c, gscdevn.c, gscsepr.c, gscpixel.c, gspcolor.c)
    +	- The RasterOp implementation for 2-bit, 4-bit, and non-gray 8-bit
    +devices didn't work.  (gdevmrop.c)
    +	- The test of whether to use copy_mono, fill_mask, or general
    +imaging for rendering characters sometimes used copy_mono when not
    +appropriate.  (gxccache.c)
    +	- The default implementation of fill_mask produced solid rectangles,
    +rather than properly masked output, if the logical operation didn't use its
    +source operand.  (gdevdbit.c)
    +	- Some more files needed double inclusion protection.  (gscie.h)
    +	- Checking for interrupts before a return always returned 0 rather
    +than the correct return code if there was no interrupt.  (gsmisc.c)
    +	- Characters within Pattern PaintProcs sometimes didn't get drawn.
    +(gxpcmap.c)
    +	- The CIE color space and CRD GC structure definitions were in the
    +interpreter rather than the library.  (gscie.h, gscie.c)
    +	- Numeric overflows when setting up the character cache caused
    +errors rather than simply disabling caching for that character.  (gschar.c)
    +	- FORCE_STRIP_HALFTONES was accidentally left set to 1 (in 5.10!),
    +slowing down all uses of monobit halftones.  (gshtscr.c)
    +
    +Implements mask clipping, which is needed for ImageType 3 images.
    +(gxclip2.h, gxclipm.h, gxmclip.h, gxclip2.c, gxclipm.c, gxmclip.c)
    +
    +Finishes implementing ImageType 3 and 4 images.  (gsimage.h, gsiparam.h,
    +gsimage.c, gsiparm3.h, gximage3.c, gximage4.c)
    +
    +Starts to update the banding code to handle ImageType 3 and 4 images.
    +(gxclist.h, gxiparam.h, gxclimag.c, gxclist.c, gxiinit.c)
    +
    +Make eprintf_program_name, lprintf_file_{and_line,only}, and new
    +dlprintf_file_{and_line,only} always be procedures, rather than sometimes
    +macros and sometimes procedures.  (std.h, gdebug.h, gsmisc.c)
    +
    +Adds new dlprintf, dlputc, and dlputs macros that are like
    +dprintf/dputc/dputs but also print the source file name and line number at
    +the beginning of the line if the -Z/ debugging switch is set.  The if_debug*
    +macros now use dlprintf rather than dprintf; many other places also needed
    +changing.  Note that if any place was overlooked, no great harm is done:
    +printout produced there simply won't include the source file and line number
    +even if -Z/ is set.  (std.h, gdebug.h, gsmisc.c; gdevbbox.c, gdevdbit.c,
    +gdevdgbr.c, gdevmrop.c, gdevrun.c, gdevsvga.c, gdevx.c, gp_unifs.c,
    +gsalloc.c, gschar.c, gscoord.c, gsfont.c, gshsb.c, gsht.c, gshtscr.c,
    +gsmemory.c, gspath.c, gstype1.c, gstype2.c, gxacpath.c, gxccache.c,
    +gxclimag.c, gxclist.c, gxclpath.c, gxclread.c, gxcpath.c, gxfill.c,
    +gxidata.c, gxpath.c, gxpcopy.c, gxpflat.c, gxstroke.c)
    +
    +Simplifies storage management for graphics states by replacing
    +gs_state_contents with individual objects.  This slows down gsave and
    +grestore a bit, but eliminates a class of potential obscure bugs.
    +(gxpath.h, gzstate.h, gsstate.c, gxcpath.c, gxpath.c)
    +
    +Adds some more information to the deubgging printout for paths.  (gxpath.c)
    +
    +Modifies the library test program to test ImageType 3 and 4 images.
    +(ugcclib.mak, gslib.c)
    +
    +Extends the @-file parser to be more shell-like:
    +
    +	- The sequence \ <newline> is ignored everywhere.
    +
    +	- If a # appears as the first character on a line outside quotes,
    +	the entire line	(including the terminating newline) is ignored.
    +
    +(gsargs.h, gsargs.c)
    +
    +Changes a stem hint tracing message so that it will print with the correct
    +line number.  (gxhint2.c)
    +
    +Moves the 'format' information for images to the image parameter structure.
    +This entails a NON-BACKWARD-COMPATIBLE CHANGE in the begin_typed_image
    +driver procedure (which was not guaranteed stable).  (gsiparam.h,
    +gxdevcli.h, gsimage.c, gxiinit.c)
    +
    +Adds an optional matrix argument to begin_typed_image, overriding the CTM in
    +the imager state if present.  This is needed to make masks and masked images
    +line up precisely; this too is a NON-BACKWARD-COMPATIBLE CHANGE.
    +(gxdevcli.h, gdevbbox.c, gdevddrw.c, gdevnfwd.c, gdevx.c, gxclimag.c,
    +gxiinit.c, gximage2.c, gximage3.c, gximage4.c)
    +
    +Adds a procedure for testing monotonicity of Functions over a given range.
    +(gsfunc.h, gsfunc0.c, gsfunc3.c)
    +
    +Implements smooth shading with shfill.  All documented ShadingTypes (1-7)
    +are implemented.  (gscspace.h, gsdsrc.h, gspath.h, gsshade.h, gxshade.h,
    +gxshade4.h, gscolor.c, gscolor3.c, gsdsrc.c, gsfunc0.c, gsfunc3.c,
    +gspath1.c, gsshade.c, gxshade.c, gxshade1.c, gxshade4.c, gxshade6.c)
    +
    +Changes the TrueType rasterizer to remove the assumption that the entire
    +loca table is stored contiguously.  This may not have any practical effect,
    +since currently Type 42 fonts never split the loca table across segments.
    +(gstype42.c)
    +
    +Adds a new interface for creating CIE CRDs that provides the parameters as
    +separate arguments.  (gscrd.h, gscrd.c)
    +
    +Starts to add the ability for a device to provide one or more default CIE
    +CRDs as (read-only) device parameters.  (Not ready for use yet.)  (gscie.h,
    +gscrdp.h, gscie.c, gscrdp.c)
    +
    +Adds a multiple-bit-per-pixel analogue of gs_makebitmappattern,
    +gs_makepixmappattern, for use by another Aladdin project.  (lib.mak,
    +gsbitmap.h, gsptype1.h, gxbitmap.h, gspcolor.c)
    +
    +Changes the API of param_begin_write_dict so that the client can request the
    +creation of an array rather than a dictionary.  This is a
    +NON-BACKWARD-COMPATIBLE CHANGE for implementors (of which there are only
    +2.5), but not for clients.  (gsparam.h, gsparam.c)
    +
    +Adds dynamically typed data to the parameter list interface, and removes the
    +statically typed procedures.  This isn't important for any standard facility
    +yet.  This too is a NON-BACKWARD-COMPATIBLE CHANGE for implementors of
    +parameter lists.  (gsparam.h, gsparams.h, gsparam.c, gsparams.c)
    +
    +Adds a new platform-specific API for thread creation and synchronization,
    +and a memory manager "wrapper" that monitor-locks each call.  No code
    +normally included in this fileset uses any of this machinery as yet.  (gp.h,
    +gpsync.h, gxsync.h, gsmemlok.h, gsmemlok.c, gxsync.c)
    +
    +Splits off (PatternType 1) Pattern filling into a separate file, since the
    +file was getting too big; refactors the filling code to use procedures
    +rather than macros.  (gxp1fill.h, gspcolor.c, gxp1fill.c)
    +
    +Makes a few more writable statics const.  (gscie.h, gscscie.c, gsdll.c,
    +gsmemory.c, gsmisc.c, gstype1.c, gstype2.c, gxclpath.c)
    +
    +Adds a compile-time option, SYSTEM_CONSTANTS_ARE_WRITABLE, to choose whether
    +the system configuration values (buildtime, copyright, product, revision,
    +revisiondate, serialnumber) are const or not.  By default they are now
    +const: THIS IS A NON-BACKWARD-COMPATIBLE CHANGE (affecting only one user).
    +(lib.mak, openvms.mak, os2.mak, unix-end.mak, wctail.mak, winlib.mak,
    +gscdefs.h, gscdef.c)
    +
    +Removes the dependence of std.h on PROGRAM_NAME.  (std.h, gsdll.c, gsmisc.c,
    +gscdef.c)
    +
    +Adds a new member of the color space type structure, the size of the
    +smallest color space structure that will hold a color space of the given
    +type.  Also removes the obsolete _ds modifier.  (gscspace.h, gxcspace.h,
    +gscdevn.c, gscie.c, gscolor.c, gscolor1.c, gscolor2.c, gscpixel.c,
    +gscsepr.c, gspcolor.c, gxiinit.c)
    +
    +Removes set/currentrenderalgorithm, since they are useless for the purpose
    +for which they were intended.  (gsrop.h, gsropt.h, gdevmrop.c, gsrop.c)
    +
    +Splits off gscspace.c from gscolor.c, and gscscie.c from gscie.c.  (gscie.c,
    +gscolor.c, gscscie.c, gscspace.c)
    +
    +Adds constructor and accessor procedures for color spaces.  (gscie.h,
    +gscolor2.h, gscsepr.h, gscspace.h, gsptype1.h, gxcolor2.h, gxcspace.h,
    +gscolor.c, gscolor2.c, gscscie.c, gscsepr.c, gscspace.c, gslib.c,
    +gspcolor.c)
    +
    +Changes the CIEBased color space structures slightly to allow implementation
    +of the CIEBasedDEF[G] color spaces.  (gscie.h, gscie.c)
    +
    +Changes gs_malloc_limit from a static to a member of the allocator
    +structure.  This is a NON-BACKWARD-COMPATIBLE CHANGE for clients that
    +declared this variable as an extern.  (gsmalloc.h, gsmemory.c)
    +
    +In order to eliminate some statics, changes the static color space accessors
    +(gs_color_space_Device*) so they require a const gx_imager_state as
    +parameter, and changes their names as well to avoid confusion.  This is a
    +NON-BACKWARD-COMPATIBLE CHANGE not only in these accessors, but also in
    +gs_image_t_init_{gray,color}.  This is very unfortunate, but we see no way
    +to avoid it.  (gscspace.h, gsiparam.h, gxistate.h, gscolor1.c, gscscie.c,
    +gscspace.c, gsimage.c, gspcolor.c, gsstate.c, gxclread.c, gxiinit.c,
    +gximage2.c, gximage3.c, gximage4.c)
    +
    +Unifies the handling of const for the IODevice table.  (gscdefs.h,
    +gxiodev.h, gconf.c, gsiodev.c)
    +
    +Changes the register_root memory manager call so that a NULL as the pointer
    +to the root structure asks the memory manager to allocate the root structure
    +itself.  This is a NON-BACKWARD-COMPATIBLE CHANGE for implementors of the
    +memory manager API (of which there are only 3).  (gsmemory.h, gsstruct.h,
    +gsalloc.c, gsmemory.c)
    +
    +Adds a new GC structure type, suffix_add0_local, which is a more efficient
    +form of suffix_add0 that can be used when the supertype is defined in the
    +same file as the subtype.  (gsbitmap.h, gscie.h, gsshade.h, gsstruct.h)
    +
    +Uses the new package replacement facility in the makefile to make RasterOp
    +optional without tinkering with statics at runtime.  (lib.mak, gxdevice.h,
    +gxdevrop.h, gdevdbit.c, gdevdflt.c, gdevmrop.c, gdevnfwd.c, gsnorop.c,
    +gsropc.c)
    +
    +Makes RasterOp really optional.  (gdevmrop.h, gsrop.h, gdevmrop.c, gsrop.c,
    +gxiinit.c)
    +
    +Rewrites bits_fill_rectangle to get rid of nearly all the macros.
    +(gxbitops.h, gsbitops.c)
    +
    +Removes the obsolete _ds from gs_log_error.  (gserror.h, gsmisc.c)
    +
    +
    + +
    + +

    Version 5.22 (limited) (2/19/98)

    + +

    +This fileset has a few more bug fixes, a major overhaul of memory management +for paths so that we can do view clipping in a reasonable way, and the +ability to build executables in a different directory from the sources. + +

    Documentation

    +
    +Designates gv as the preferred VMS and Unix previewer.  (new-user.txt,
    +use.txt)
    +
    +Adds a pointer to post-release documentation.  (README)
    +
    +Notes that compilation with certain platforms and compilers must turn off
    +optimization.  (make.txt)
    +
    +Improves the documentation of the fit_fill and fit_copy macros.
    +(gxdevice.h)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- The ccgs script for non-ANSI compilers was no longer flexible
    +enough to handle all the possible command lines.  (ccgs)
    +	- The pdfwrite device was missing on the DesqView/X platform.
    +(dvx-gcc.mak)
    +	- The System V build procedure was broken.  (unixtail.mak)
    +	- A Watcom makefile lacked parentheses around a macro name.
    +(wctail.mak)
    +	- Some `make' programs drop trailing spaces in macro definitions: we
    +didn't work around this.  (os2.mak, unixhead.mak, winlib.mak)
    +
    +Adds support for WCVERSION=11.0 in the Watcom makefiles.  (watc.mak,
    +wccommon.mak)
    +
    +Adds a shell script for removing the 'includes' from makefiles, since a very
    +few Unix systems don't support this capability.  (catmake)
    +
    +Changes -dNOPROMPT to -dNOPAGEPROMPT, and adds -dNOPROMPT to suppress both
    +the end-of-page prompt and the executive prompt.  (use.txt, gs_init.ps)
    +
    +Adds definitions of {GL,PS}{SRC,GEN,OBJ}DIR to the top-level makefiles,
    +removing these definitions from gs.mak.  (*.mak, gs.mak)
    +
    +Adds explicit directories to more makefile rules.  We can now do builds with
    +source, GL/PS generated files, and GL/PS object files in 5 different
    +directories!  (*.mak, gsjconf.h)
    +
    +

    Utilities

    +
    +Adds a user-contributed utility that runs dvips followed by ps2pdf.
    +(dvipdf, unixinst.mak)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- A pointer was incorrectly declared const.  (gdevpdfm.c)
    +	- pdfwrite handled the Title element of ARTICLE pdfmarks
    +incorrectly.  (gdevpdfm.c)
    +	- pdfwrite inserted a Dest element in Link annotations even if an A
    +(Action) key was present.  (gdevpdfm.c)
    +	- pdfwrite didn't recognize and convert /Article actions in
    +pdfmarks.  (gdevpdfm.c)
    +
    +Replaces some open-coded accesses to path structure elements with macros, in
    +anticipation of a representation change.  (gdevpdfd.c)
    +
    +Moves pdfwrite further towards supporting Dict and ACSDict Distiller
    +parameters.  (gdevpsdf.h, gdevpsdp.c, gdevpsfp.c)
    +
    +Updates a few places for the change in the path API.  (gdevpdfd.c,
    +gdevvec.c)
    +
    +Adds recognition of named object references to the PDF writer, fixing many
    +bugs in the named object code in the process.  (gdevpdfx.h, gdevpdfm.c,
    +gdevpdfo.c)
    +
    +Enhances pswrite to skip fills or strokes of completely empty paths, to
    +recognize horizontal and vertical lines, and to abbreviate color settings
    +based on 8-bit fractions.  This requires a NON-BACKWARD-COMPATIBLE CHANGE in
    +the "vector" device interface (which was, however, clearly identified as
    +subject to change without notice).  (gdevpsdf.h, gdevvec.h, gdevps.c,
    +gdevpsdf.c, gdevpx.c, gdevvec.c)
    +
    +

    Interpreter

    +
    +Updates a few places for the change in the path API.  (zupath.c)
    +
    +Implements %statementedit properly.  (iscan.h, iscan.c, ziodev.c)
    +
    +Changes the initialization code so that if DELAYBIND is set, .forcedef and
    +.forceput remain accessible until .bindnow is called.  (gs_init.ps)
    +
    +

    Interpreter (PDF)

    +
    +Fixes bugs:
    +	- An empty Differences array, which Acrobat Distiller 3.02 can emit,
    +caused a rangecheck error.  (pdf_font.ps)
    +
    +

    Streams

    +
    +Fixes bugs:
    +	- The alternative LZWEncode filter didn't emit a reset code as the
    +first code, and waited one code too long to emit a reset.  (slzwce.c)
    +
    +Adds some double-inclusion protection.  (scfx.h)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- There was an (incorrect) assignment to a read-only structure
    +member.  (gximage2.c)
    +	- A formal parameter list was incorrect if __PROTOTYPES__ wasn't
    +defined.  (gsroptab.c)
    +	- Some images didn't get clipped properly when banding.  This was a
    +fix for 5.03 that somehow didn't make it into 5.10.  (gxclimag.c)
    +	- When banding, dashed lines could cause an invalid memory access.
    +This was apparently caused by an error in a fix made in 5.04.  (gsline.c)
    +	- Images with non-zero data_x could cause an invalid memory access.
    +(gxiinit.c, gxidata.c)
    +	- The band list rasterizer didn't initialize the image structure
    +properly, causing control to go to a random address.  (gxclread.c)
    +
    +Replaces some open-coded accesses to path structure elements with macros, in
    +anticipation of a representation change.  (gxpath.h, gzpath.h, gspath1.c,
    +gxfill.c, gxpath2.c, gxstroke.c)
    +
    +Changes the path and clipping path structures so that segments and clipping
    +lists are stored in separate, reference-counted structures.  This finally
    +supports reliable freeing of path segments and clipping lists even in the
    +presence of off-stack gstates, and the ability to store the original
    +segments of a clipping path, both of which we have wanted for a long time.
    +Unfortunately, it requires SIGNIFICANT NON-BACKWARD-COMPATIBLE CHANGES TO
    +THE API FOR PATHS:
    +    Paths:
    +	- adds gx_path_alloc_contained;
    +	- gx_path_init => gx_path_init_local (or nothing);
    +	- gx_path_reset => gx_path_new;
    +	- removes gx_path_share and gx_path_release;
    +	- gx_path_assign => gx_path_assign_{preserve,release};
    +	- renames gx_path_expand_dashes => gx_path_add_dash_expansion,
    +	  gx_path_flatten[_accurate] => gx_path_add_flattened[_accurate],
    +	  gx_path_monotonize => gx_path_add_monotonized;
    +	- removes the init Boolean from gx_path_copy[_reversed].
    +    Clipping paths:
    +	- gx_cpath_init => gx_cpath_init_local (or nothing);
    +	- removes gx_cpath_share and gx_cpath_release_segments;
    +	- gx_cpath_path => gx_cpath_to_path;
    +	- removes the mem argument from gx_cpath_from_rectangle.
    +We believe that we either renamed or changed the argument list of every API
    +function that was affected in a non-backward-compatible way, so incompatible
    +clients will get either compilation or linking errors.  (gxpath.h,
    +gzcpath.h, gzpath.h, gschar.c, gsdps.c, gsdps1.c, gspaint.c, gspath.c,
    +gspath1.c, gsstate.c, gxacpath.c, gxccache.c, gxclpath.c, gxclread.c,
    +gxcpath.c, gxfill.c, gxpath.c, gxpath2.c, gxpcmap.c, gxpcopy.c, gxpdash.c,
    +gxstroke.c)
    +
    +Reimplements view clipping bookkeeping to use reference-counted paths.
    +(gzstate.h, gsdps.c, gsstate.c)
    +
    +Adds const in a couple more places.  (gxpath2.c)
    +
    +If -Z? is enabled, makes the reference counting machinery check for
    +reference counts going negative.  (gsrefct.h)
    +
    +Adds the first bit of code for rendering smooth shadings.  The code is
    +nowhere near usable.  (gsshade.h, gxshade.h, gsshade.c, gxshade.c)
    +
    +Adds BEGIN ... END macros for creating compound statements that are
    +syntactically equivalent to single statements.  (stdpre.h)
    +
    +
    + +
    + +

    Version 5.21 (limited) (1/19/98)

    + +

    +This is primarily a bug fix fileset for 5.20, with a little new +functionality (pdfwrite image downsampling and more complete pdfmark +processing). + +

    Documentation

    +
    +Fixes bugs:
    +	- The build procedures still referred to tar_cat.  (make.txt)
    +
    +Documents some user-developed patches for using certain kinds of Japanese
    +fonts with Ghostscript.  (new-user.txt)
    +
    +Notes that on Solaris 2.x systems, it is probably not a good idea to use
    +Sun's fonts.  (use.txt)
    +
    +Documents -dSTRICT.  (use.txt)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- The definitions of MAKEFILE in several makefiles was incorrect.
    +(dvx-gcc.mak, unix-cc.mak, unixansi.mak)
    +	- The build rules for the gp_*.$(OBJ) files lacked a directory name,
    +confusing most 'make' programs.  (*.mak)
    +	- geninit didn't work, because the syntax of psfile_() entries in
    +gconfig.h had changed.  (geninit.c)
    +	- Some files were created and then deleted during building,
    +preventing [gnu]make -j from working.  (lib.mak, int.mak)
    +
    +Adds an explicit directory name to more files in the makefiles.  (jpeg.mak,
    +lib.mak) Added in this fileset:
    +	.$(OBJ): jpeg.mak,  {dvx-tail,msvclib,openvms,os2,ugcclib,unixtail,
    +		watc,watclib,winint,winlib}.mak
    +	.dev:	jpeg.mak
    +
    +Removes the default suppression of 'const' with gcc.  You must now compile
    +with gcc 2.7.2.1 or newer, or patch the makefile.  (ugcclib.mak,
    +unix-gcc.mak)
    +
    +Removes -DPNG_USE_CONST from the command line for compiling libpng, since
    +this has never actually worked, and is handled in a different way starting
    +with libpng 0.97.  (gs.mak)
    +
    +Adds a -dSTRICT switch that disables some Ghostscript extensions, to be more
    +helpful in debugging applications that produce output for Adobe and other
    +RIPs.  (gs_init.ps, gs_statd.ps)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- Many occurrences of 'const' were missing or incorrect.
    +(gdevpdfd.c, gdevpdfi.c, gdevpdfo.c, gdevpdft.c)
    +	- pdfmark processing was broken by changes introduced in 5.20.
    +(gs_pdfwr.ps)
    +	- pdfwrite didn't convert /Color => /C or /Title => /T in ANN and
    +LNK pdfmarks.  (gdevpdfm.c)
    +	- pdfwrite didn't convert /Dest => /D or /File => /F in the Action
    +dictionary of ANN and LNK pdfmarks.  (gdevpdfm.c)
    +	- pdfwrite didn't convert a /Launch annotation to an Action with a
    +dictionary.  (gdevpdfm.c)
    +	- pdfwrite didn't convert \n in annotation Contents strings to \r.
    +(gdevpdfm.c)
    +	- jstrm.state was used before being set.  (gdevjpeg.c)
    +	- The SVGA devices were not identified as page devices.
    +(gdevsvga.c)
    +	- The SPARCPrinter driver returned the address of a local buffer
    +containing an error string.  (gdevsppr.c)
    +	- pdfwrite no longer compressed character bitmaps.  (bug introduced
    +in 5.20) (gdevpdfi.c)
    +	- pdfwrite didn't recognize _objdef syntax everywhere.  (gdevpdfx.h,
    +gdevpdfm.c, gdevpdfo.c)
    +	- pdfwrite didn't recognize and convert Launch and GoToR OUT
    +pdfmarks.  (gdevpdfm.c)
    +	- pdfwrite used a /Dest key rather than a /P key for the page number
    +in articles.  (gdevpdfx.h, gdevpdfm.c)
    +	- pdfwrite didn't save and write the /I dictionary for articles.
    +(gdevpdfx.h, gsstruct.h, gdevpdf.c, gdevpdfm.c)
    +
    +Implements a parameter list "reader" that prints the parameter values on a
    +stream in PS/PDF syntax.  (We need something like this for printing filter
    +parameters.)  (gdevpsdf.h, gdevpdf.c, gdevpsdf.c)
    +
    +Implements a write stream that just keeps track of the position.  We use
    +this to determine how much space to allocate for data we're going to save.
    +(gdevpsdf.h, gdevpsdf.c)
    +
    +Implements image downsampling, but not anti-aliasing, for the PDF writer.
    +(gdevpsdf.h, gdevpsds.h, gdevpsdi.c, gdevpsds.c)
    +
    +

    Fonts

    +
    +Adds Frutiger to the built-in list of sans-serif fonts.  (gs_fonts.ps)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- Many occurrences of 'const' were missing.  (gsargs.c, ialloc.c,
    +zdpnext.c, zfunc3.c, zshade.c)
    +	- Some byte * => char * casts were missing.  (imainarg.c)
    +	- The stack limit check in .eqproc was wrong.  (zmisc3.c)
    +	- The paper sizes a4small and lettersmall weren't implemented.
    +(gs_statd.ps)
    +	- setuserparams signalled errors on 64-bit systems.  (zusparam.c)
    +
    +Changes .image2 to track the change in the library.  (zdps.c)
    +
    +Some improvements were made to the (still not entirely functional) Type 32
    +font code.  (zchar32.c)
    +
    +Updates some filters to use the new procedure for transmitting collections
    +of parameters.  (zfdecode.c)
    +
    +Adds ISO paper sizes C0 through C6.  (gs_statd.ps)
    +
    +Trims down the list of #includes in iconf.c.  (iconf.c)
    +
    +

    Interpreter (PDF)

    +
    +Fixes bugs:
    +	- CalGray color spaces with a Gamma value caused an error.
    +(gs_pdf.ps)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- There was a 'const' conflict in the code for handling ImageType 2
    +images.  Fixing this properly required a small change in the ImageType 2
    +structure.  (gsiparm2.h, gximage2.c)
    +	- Many occurrences of 'const' were missing.  (gsfunc3.h, gstrap.h,
    +gxgetbit.h, gdevdgbr.c, gstrap.c, gxclist.c, gxclread.c)
    +	- A couple of enumerations had trailing commas.  (gsshade.h,
    +gxbitfmt.h)
    +	- The gcst parameter was omitted in the non-ANSI version of the
    +ENUM_PTRS_BEGIN_PROC macro.  (gsstruct.h)
    +	- gcc missed a private / non-private discrepancy.  (gxpcmap.c)
    +	- An uninitialized variable was used by mistake
    +(copy_params.options).  (gdevdgbr.c)
    +	- The last statement of a procedure was unreachable.  (gxclpath.c)
    +	- If a Type 2 font was transformed so that hints were not being
    +used, hintmask and cntrmask didn't compute the number of following bytes
    +correctly.  (gxtype1.h, gstype2.c, gxtype1.c)
    +
    +Factors out some common code in gxclip2.c into macros.  (gxclip2.c)
    +
    +Starts to reimplement RasterOp using the compositing framework.  (gsropc.h,
    +gxropc.h, gsropc.c)  ****** IN PROGRESS ******
    +
    +Adds an equality-testing procedure for device colors.  This is used both for
    +color images (which previously did this adhoc) and for RasterOp compositing.
    +(gxdcolor.h, gximage.h, gxcht.c, gxdcolor.c, gxht.c, gspcolor.c)
    +
    +Implements hintmask (but not cntrmask) for Type 2 CharString fonts.  I don't
    +know any reasonable way to test whether it's working, though.  (gxtype1.h,
    +gstype2.c, gxhint2.c, gxhint3.c, gxtype1.c)
    +
    +Adds a more convenient interface for reading and setting sets of parameters.
    +(gsparam.h, gsparam.c)
    +
    +Pulls the decision as to whether to halftone for a given device out into a
    +macro.  Eventually we will do something more sophisticated about this.
    +(gxdevice.h, gxclist.c, gxcmap.c)
    +
    +Breaks apart a macro in anticipation of future usage.  (gsrefct.h)
    +
    +
    + +
    + +

    Version 5.20 (limited) (1/8/98)

    + +

    +This fileset provides enough of the Display PostScript capabilities to start +running real programs. It also adds the first few LanguageLevel 3 features +(none of which have been tested) and reorganizes the makefile structure +somewhat. There are many internal changes since 5.10, some of them still in +progress, so we expect more problems than usual. + +

    +This fileset is being provided for testing in two different configurations: +a full release, and a DPS-only package. The latter will be released with +the GPL when it is reasonably complete and reliable. + +

    Documentation

    +
    +Fixes bugs:
    +	- TrueType fonts on GS_FONTPATH weren't recognized.  (use.txt)
    +	- The argument list for gstate was incorrect.  (zdevice2.c)
    +	- There were a couple of minor errors in the e-stack documentation.
    +(estack.h)
    +	- fonts.txt had several errors regarding compiled fonts.
    +(fonts.txt)
    +	- An out-of-date Aladdin address still appeared in documentation.
    +(new-user.txt)
    +
    +Updates make.txt to reflect the changes in makefile structure.  (make.txt)
    +
    +Notes the addition of -Z' and -Z".  (use.txt)
    +
    +Documents the new begin_typed_image, get_bits_rectangle,
    +map_color_rgb_alpha, and create_compositor driver procedures.  (drivers.txt)
    +
    +Moves documentation for all releases before 5.0 to history4.txt.  (NEWS,
    +history4.txt)
    +
    +Documents the addition of SHARE_JPEGLIB.  (make.txt)
    +
    +Removes the author's name and e-mail address from the ps2ascii man page, at
    +his request.  (ps2ascii.1)
    +
    +Documents the addition of (some) image compression facilities to ps2pdf /
    +pdfwrite.  (ps2pdf.txt)
    +
    +Documents the new -dNOINTERPOLATE and -F<n> switches.  (use.txt)
    +
    +Adds documentation for a user-contributed port to the SMS/QDOS operating
    +system.  (new-user.txt)
    +
    +Removes documentation for BGI, which is no longer supported.  (use.txt)
    +
    +Documents the use of the Registry and the GS_DLL environment variable on
    +Windows platforms.  (install.txt)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- The OpenVMS makefile referred to EXTEND_NAME rather than
    +EXTEND_NAMES.  (openvms.mak)
    +	- A typo caused a spurious error message from lpr.  (unix-lpr.sh)
    +	- The PDF writer didn't include a needed dependency on zlib
    +compression.  (devs.mak)
    +	- The rule for the OS/2 printer device was wrong.  (devs.mak)
    +	- The -migrate switch was incorrectly removed from the command line
    +for pre-4.0 Digital Unix.  (make.txt)
    +	- The -r switch was ignored with -dNODISPLAY.  (gs_init.ps)
    +
    +Adds targets for Type 32 fonts (type32.dev) and PostScript LanguageLevel 3
    +(psl3.dev, psl3core.dev, psl3read.dev).  (gs.mak, int.mak, lib.mak)
    +
    +Changes the documented feature names for PostScript Level 1 and 2
    +interpreters from level1/2 to psl1/2.  The old names are still recognized
    +for backward compatibility.  (gs.mak, int.mak, *.mak)
    +
    +Removes support for building with DCL under VMS.  Building under VMS now
    +requires some version of make, preferably GNU make.  THIS IS A
    +NON-BACKWARD-COMPATIBLE CHANGE, but there was plenty of lead time for users
    +(it was announced in 5.01, 6/22/97).  (vms*.mak[deleted])
    +
    +Starts to add an explicit directory name to every file in the makefiles, to
    +allow building multiple object versions (e.g., debug, profile, product) or
    +cross-building for multiple platforms in separate directories without any
    +makefile editing.  (*.mak) Done so far:
    +(done)	_h=	devs.mak gs.mak int.mak jpeg.mak lib.mak
    +(done)	.h	devs.mak gs.mak int.mak lib.mak zlib.mak
    +		openvms.mak os2.mak ugcclib.mak unix-end.mak
    +		unixtail.mak wctail.mak winint.mak winlib.mak
    +	.$(OBJ): devs.mak int.mak (except ccfonts)
    +		lib.mak (except special compilations)
    +		libpng.mak zlib.mak
    +	.dev:	libpng.mak zlib.mak
    +
    +Gets rid of tar_cat.  Building on Unix platforms now requires that make
    +recognize the include directive.  THIS IS A NON-BACKWARD-COMPATIBLE CHANGE:
    +rather than editing the *head.mak files, users should now edit the unix*.mak
    +or dvx*.mak files (which they previously were instructed NOT to do).  Aside
    +from this, we think the change won't actually affect anyone, since most Unix
    +make programs (include GNU make) do recognize this directive.  (*.mak,
    +ansihead.mak[deleted], cc-head.mak[deleted], gcc-head.mak[deleted],
    +dgc-head.mak[deleted], tar_*cat[deleted], dvx-gcc.mak, unixansi.mak,
    +unix-cc.mak, unix-gcc.mak)
    +
    +Includes the basic context machinery in every PostScript interpreter
    +configuration.  (int.mak)
    +
    +Removes the division between 'low-level' and 'high-level' band list
    +facilities: we once thought we might make the latter optional, but this no
    +longer seems useful.  (lib.mak)
    +
    +Introduces a new category of devices, identified to genconf as -dev2 and
    +created with SETDEV2 and SETPDEV2.  For the moment, these are the same as
    +existing devices except that their static instance is const, but we plan to
    +make them quite different in the future: don't attempt to create any.
    +(devs.mak, gs.mak, genconf.c, gconf.c)
    +
    +Removes the obsolete -includef resource from genconf.  (genconf.c)
    +
    +Removes support for IJG JPEG library v5* from the makefile, since we no
    +longer support these library versions.  (jpeg.mak, lib.mak,
    +gsjerror.h[deleted], gsjpglib.h[deleted], gsjerror.c[deleted])
    +
    +Makes the JPEG library use floating point if it is fast.  (gsjmorec.h)
    +
    +Adds a SHARE_JPEG option to the makefiles, with the necessary warning about
    +possible incompatibilities.  (*.mak)
    +
    +Replaces the CCC macro in the makefiles with CC_, the various CC* macros
    +with CC_* (except for CCA2K and CCAUX), and the O macro with O_; removes the
    +'begin' target and the CCBEGIN macro.  THIS IS A NON-BACKWARD-COMPATIBLE
    +CHANGE, required for the new arrangement of files into directories.  (*.mak)
    +
    +Replaces all occurrences of -Idir1 -Idir2 ... -Idirn in platform-generic
    +makefiles with $(I_)dir1 $(II)dir2 ... $(_I)dirn, and defines these macros
    +in platform-specific makefiles, in order to accommodate OpenVMS command
    +syntax.  (*.mak)
    +
    +Adds -fno-common to the default gcc compilation and linking switches, to
    +improve checking for doubly-defined externs.  (unix-gcc.mak)
    +
    +Adds a -dNOINTERPOLATE switch to turn off image interpolation.  (gs_init.ps)
    +
    +Adds a -F<file> switch that runs files through the run_string interface with
    +an 1-byte buffer.  (imainarg.c)
    +
    +Allows specifying the name of the gconfig.h file with -DGCONFIG_H= in the
    +compilation command line, to support certain multi-configuration build
    +procedures.  (int.mak, lib.mak, gconf.h, gconf.c, gscdef.c, iconf.c)
    +
    +Splits off the installation targets from unix-end.mak.  (unix-end.mak,
    +unixinst.mak, unix*.mak, ugcclib.mak)
    +
    +

    Utilities

    +
    +Fixes bugs:
    +	- A case label was misplaced.  (No effect on normal operation.)
    +(genconf.c)
    +	- ps2ascii had some Encoding-related problems, and a serious bug
    +causing the stack to grow indefinitely.  (ps2ascii.ps)
    +
    +Adds a new font2pcl.ps utility, for converting outline fonts to bitmapped
    +PCL fonts.  (font2pcl.ps)
    +
    +At the request of a user, modifies ansi2knr to read stdin if no input file
    +is supplied, and to accept an optional --filename switch to set the file
    +name in the #line directive.  Also makes ansi2knr write the usage message on
    +stderr rather than stdout.  (ansi2knr.c)
    +
    +Adds a user-contributed Perl script that fixes compatibility problems
    +between MS Word output and Ghostview 1.5.  (fixmswrd.pl)
    +
    +Adds a new test file that produces some pretty color output.  (vasarely.ps,
    +unix-end.mak)
    +
    +Adds a user-contributed utility for producing AFM files from PFA/PFB and
    +optionally PFM files.  (pf2afm.bat, pf2afm.ps)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- Some 'static' declarations were missing (gcc lossage).  (gdevht.c,
    +gdevmgr.c, gdevpcfb.c, gdevrrgb.c)
    +	- Some 'char *' should have been 'unsigned char *'.  (gdevccr.c)
    +	- The PDF writer represented non-rectangular clipping paths in a way
    +that could cause Acrobat to produce incorrect output.  (The fix relies on
    +the new clipping path enumeration facility.)  (gdevpdfd.c)
    +	- get_params for the X device didn't read the WINDOWID and
    +.IsPageDevice parameters.  (gdevx.c)
    +	- A superseded driver was still in the distribution.
    +(gdevnp6.c[deleted])
    +	- The PDF writer's default parameters didn't quite match the default
    +parameters of Adobe Acrobat(TM).  (gdevpsdf.h)
    +	- A cast from const byte * to const char * was omitted.
    +(gdevpdft.c)
    +	- x_map_color_rgb returned incorrect values for values in the dither
    +cube/ramp.  (gdevx.c)
    +
    +Adds user-contributed drivers for:
    +	- the Brother HL 720/730 laser printer (gdevhl7x.c);
    +	- the Cirrus Logic CL-GD54xx SuperVGA chipset (in gdevsvga.c).
    +
    +Adds stubs or dummy implementations for the new Acrobat Distiller 3.0
    +pdfmark features (BP/EP/SP, _objdef/OBJ, PUT/PUTINTERVAL/CLOSE).  Features
    +not yet implemented:
    +	- Predefining Catalog and DocInfo.
    +	- Writing out added Catalog and Info keys.
    +	- Special handling for Page#, Prev/This/NextPage.
    +	- Writing out added keys in Page objects.
    +	- Defining objects for ANN, DEST, LNK, PS.
    +	- Writing out added keys for ANN, BP, DEST, LNK, PS.
    +	- Adding information to streams (PUT, CLOSE).
    +	- Writing out streams.
    +(gs_pdfwr.ps, gdevpdfx.h, gdevpdf.c, gdevpdfi.c, gdevpdfm.c, gdevpdfo.c)
    +
    +Removes the DoThumbnails distiller parameter, which Acrobat Distiller 3.0 no
    +longer supports.  (gs_pdfwr.ps, gdevpdfx.h, gdevpdf.c, gdevpdfp.c)
    +
    +Starts to eliminate or segregate writable globals that point to
    +heap-allocated data, as in the interpreter (see below); specifically, makes
    +all device and xfont procedure structures const in devices that Aladdin
    +maintains.  Note that this involves a NON-BACKWARD-COMPATIBLE CHANGE in the
    +get_xfont_procs device procedure (to add const to the return type); this
    +only affects the 3 implementations of xfonts.  (gdevprn.h, gdevdjet.c,
    +gdevm1.c, gdevpccm.c, gdevpdf.c, gdevpdfm.c, gdevpdft.c, gdevps.c,
    +gdevpsdf.c, gdevpx.c; gxdevice.h, gxxfont.h, gdevbgi.c, gdevbit.c,
    +gdevbmp.c, gdevdflt.c, gdevdjet.c, gdevlj56.c, gdevmiff.c, gdevmsxf.c,
    +gdevnfwd.c, gdevpbm.c, gdevpcfb.c, gdevpdf.c, gdevpng.c, gdevprn.c,
    +gdevps.c, gdevpx.c, gdevs3ga.c, gdevsvga.c, gdevtfax.c, gdevtfnx.c,
    +gdevvglb.c, gdevwddb.c, gdevwdib.c, gdevwpr2.c, gdevwprn.c, gdevx.c,
    +gdevxalt.c, gdevxxf.c, gxccman.c)
    +
    +Makes the statically allocated device templates const in some devices, using
    +the new -dev2 device resource type.  NOTE: the meaning of -dev2 is subject
    +to change without notice in future releases.  (gdevdjet.c, gdevpdf.c,
    +gdevps.c, gdevpx.c, gdevvglb.c)
    +
    +Adds a new begin_typed_image driver procedure which is called for all types
    +of images, not just ImageType 1.  The default implementation calls
    +begin_image if the ImageType is 1.  (gdevmem.h, gdevprn.h, gsiparam.h,
    +gxdevice.h, gdevbbox.c, gdevdflt.c, gdevht.c, gdevmrop.c, gdevnfwd.c,
    +gxacpath.c, gxclimag.c, gxclip2.c, gxclist.c, gxcpath.c, gxpcmap.c)
    +
    +Adds a new get_bits_rectangle driver procedure which allows reading back an
    +arbitrary rectangle of bits from the device, not just a single full scan
    +line.  The default implementation calls get_bits, being careful to avoid a
    +recursion loop; the default implementation of get_bits calls
    +get_bits_rectangle similarly.  This procedure has a lot of flexibility,
    +almost all of which is ultimately provided by the implementation in memory
    +devices.  (gdevmem.h, gsbitops.h, gxcindex.h, gxdevice.h, gdevbbox.c,
    +gdevdflt.c, gdevdgbr.c, gdevht.c, gdevm*.c, gdevmem.c, gdevmpla.c,
    +gdevnfwd.c, gxbitfmt.h, gxclip2.c, gxclist.c, gxclread.c, gxcpath.c,
    +gxgetbit.h)
    +
    +Removes support for the BGI (Borland Graphics Interface) device, since we no
    +longer support the Borland compilers for MS-DOS.  (devs.mak, dvx-head.mak,
    +openvms.mak, unixhead.mak, gdevbgi.c[deleted])
    +
    +Speeds up x_map_color_rgb by avoiding server access in most cases.
    +(gdevx.h, gdevx.c, gdevxini.c)
    +
    +Implements get_bits_rectangle in the X driver in place of get_bits.
    +(gdevx.c, gdevxalt.c)
    +
    +Implements begin_typed_image for ImageType 2 images in the X driver, as an
    +example of how a driver can implement this function itself.  (gdevx.c)
    +
    +Adds a call on the DCTEncode set_defaults procedure, which is now required
    +(see under Streams below).  (gdevjpeg.c)
    +
    +Implements a substantial part of the Distiller image compression machinery.
    +See ps2pdf.txt for details.  (gdevpdfx.h, gdevpsdf.h, gdevpdf.c, gdevpdfi.c,
    +gdevps.c, gdevpsdf.c, gdevpsdi.c, gdevpsdp.c, gdevpsds.c)
    +
    +Adds a map_color_rgb_alpha driver procedure, complementing
    +map_rgb_alpha_color.  (gdevmem.h, gdevprn.h, gxdevice.h,
    +gdevbbox.c, gdevdflt.c, gdevht.c, gdevmrop.c, gdevnfwd.c, gdevprn.c,
    +gxclip2.c, gxclist.c, gxcmap.c, gxcpath.c)
    +
    +Splits off gxdevcli.h (client definitions) from gxdevice.h, which had gotten
    +very large.  This doesn't do much good yet in terms of reducing dependencies
    +and compilation time, because every client still includes gxdevice.h, but
    +it's the raw material for doing so in the future.  (gxdevcli.h, gxdevice.h)
    +
    +Adds alpha tracking to the command list.  (gxclpath.h, gxclimag.c,
    +gxclpath.c, gxclread.c)
    +
    +Changes the 'show' pseudo-parameter for the PDF writer so that it takes
    +multiple additional parameters instead of a dictionary.  This greatly
    +reduces garbage collection overhead.  (gs_pdfwr.ps, gdevpdfx.h, gdevpdfp.c,
    +gdevpdft.c)
    +
    +Adds a create_compositor driver call for handling compositing.  (gdevbbox.h,
    +gdevmem.h, gdevprn.h, gsdevice.h, gxdevcli.h, gxdevice.h, gdevbbox.c,
    +gdevdflt.c, gdevht.c, gdevnfwd.c, gsdevice.c, gxclimag.c, gxclip2.c,
    +gxclist.c, gxcpath.c, gxpcmap.c)
    +
    +Updates drivers to account for the more careful handling of file name
    +length.  (gdevpdfx.h, gdevwprn.c)
    +
    +Adds a user-contributed enhancement to make the Epson dot matrix driver work
    +at 180x60dpi and 240x180dpi for 24 pin printers.  (gdevepsn.c)
    +
    +

    Platforms

    +
    +Fixes bugs:
    +	- The Windows platform didn't put stdin into binary mode.
    +(dwmainc.cpp)
    +
    +Removes all remaining uses of gs_malloc and gs_free in platform-specific
    +code.  (gp_dosfb.c, gp_vms.c)
    +
    +Adds a platform-specific gp_getenv call, to allow the Windows implementation
    +to consult the Registry.  (gp.h, gpgetenv.h, gp_getnv.c, gp_wgetv.c, *.mak,
    +gp_win32.c)
    +
    +Separates out the declaration of popen and pclose, which may be declared
    +correctly in stdio.h, incorrectly in stdio.h, or not at all, depending on
    +the platform.  (lib.mak, unixtail.mak, pipe_.h, gdevpipe.c, gp_os2.c,
    +gp_os9.c, gp_unix.c)
    +
    +Tweaks the platform-workaround header file conditionals a little more.
    +(malloc_.h, memory_.h).
    +
    +Makes the Windows DLL check the GS_DLL environment/registry variable for the
    +location of the DLL.  (dwdll.cpp)
    +
    +Defines the maximum length for the file name returned by
    +gp_open_scratch_file, and possibly by gp_open_printer.  (gp.h, gp_*.c)
    +
    +

    Fonts

    +
    +Fixes bugs:
    +	- A 'flush' was missing from a debugging message.  (gs_fonts.ps)
    +	- Type 2 fonts didn't always have a PaintType entry.  (gs_cff.ps)
    +	- CIDFontType 0 fonts were broken, probably because of a recently
    +added validity test in the C code.  (gs_cidfn.ps)
    +	- Font types without an Encoding caused an error (in .completefont).
    +(gs_fonts.ps)
    +	- composefont required the elements of the font array to be actual
    +fonts, rather than allowing font names.  (gs_cidfn.ps)
    +	- composefont required that all elements of the font array have
    +CIDSystemInfo dictionaries.  (Adobe has said that their interpreters don't
    +check for this in some cases, but it's a bug.  Unfortunately, by now it's an
    +established one.)  (zfcmap.c)
    +
    +Adds .dir to the list of file suffixes known not to be fonts.  (gs_fonts.ps)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- A Type 2 font that provided fewer CharStrings than charset
    +elements caused an error.  (gs_cff.ps)
    +	- If a context was joined before it terminated, its stack was never
    +copied to the joining context.  (zcontext.c)
    +	- Freeing a context didn't free most of its substructures.
    +(icontext.h, istack.h, icontext.c, interp.c, istack.c, zcontext.c)
    +	- save and restore didn't save and restore the user parameters.
    +(gs_lev2.ps, zvmem2.c)
    +	- %stdin and %stdout weren't defined per-context.  (files.h,
    +icontext.h, icontext.c, ziodev.c)
    +	- Switching contexts didn't clean up the stacks.  (The current way
    +we do this is very inefficient: we should use a special null for filling the
    +untouched area, so we can use it to detect the high water mark.)
    +(icontext.c)
    +	- A cast from const to non-const was missing.  (zdpnext.c)
    +	- User parameters weren't managed per-context.  (The current way we
    +do this is inefficient.)  (gs_dps.ps, gs_init.ps, gs_lev2.ps, isave.h,
    +icontext.c, iinit.c, isave.c, zcontext.c, zusparam.c)
    +	- Some operand checks weren't wrapped in do { ... } while(0),
    +possibly leading to incorrect parsing of 'if's.  (opcheck.h)
    +	- If a context terminated with unmatched saves, the restores weren't
    +executed.  (isave.h, isave.c, zcontext.c)
    +	- If two or more contexts shared the same global VM, the outermost
    +restore (which in this case saves only local VM) checked for invalidrestore
    +incorrectly.  (isave.c)
    +	- resourceforall didn't remove its own temporary values from the
    +operand stack when calling the procedure.  (gs_res.ps)
    +	- resourceforall returned local instances even when currentglobal
    +was true.  (gs_res.ps)
    +	- If a context had unmatched saves, other contexts sharing the same
    +local VM weren't blocked from running.  (zcontext.c)
    +	- The NeXT compositing operations (Copy, etc.) weren't defined in
    +systemdict.  (gs_dpnxt.ps)
    +	- In the case of a stack overflow, some garbage could get left on
    +the stack.  (istack.c)
    +	- Stack overflow was reported prematurely -- typically when the
    +stack depth had reached half the specified limit.  (istack.c)
    +	- Freed ref arrays weren't filled with nulls, which could confuse
    +the garbage collector later.  (ialloc.c)
    +	- Certain stack overflow conditions could put a stack into an
    +anomalous state that confused the garbage collector.  (istack.c)
    +	- The maximum stack size could not be set to a value smaller than
    +the current allocated space, but the minimum value should be the number of
    +entries actually in use.  (istack.c)
    +	- If .buildfont* had to add any elements to the font dictionary, a
    +temporary pointer to the Encoding, FDepVector, or sfnts could become
    +invalid, causing crashes or confusion.  (zfont0.c, zfont2.c, zfont42.c)
    +
    +Changes exit, stop, and .stop so that if there is no matching dynamically
    +enclosing context (loop or stopped), the effect is a quit, like the Adobe
    +interpreters, and not an invalidexit.  (zcontrol.c)
    +
    +Adds support for ImageTypes other than 1.  (gs_init.ps, gs_lev2.ps,
    +gs_res.ps, zimage2.c)
    +
    +Adds support for LanguageLevel 3 features:
    +	- Idiom recognition in 'bind'.  (gs_init.ps, gs_dps.ps, gs_lev2.ps,
    +gs_ll3.ps, zmisc3.c)
    +	- HalftoneTypes 6, 10, and 16.  (gs_ll3.ps)
    +	- FunctionType resource category.  (gs_ll3.ps)
    +	- FunctionType 2 and 3 Functions.  (zfunc3.c)
    +	- PatternType 2 and smooth shading (structures and API only, no
    +algorithms).  (gs_init.ps, gs_ll3.ps, gs_res.ps, zshade.c)
    +	- In-RIP trapping (structures and API only, no algorithms).
    +(gs_ll3.ps, ztrap.c)
    +	- ImageType 3 and 4 (masked images) (structures and parsing only, no
    +algorithms). (gs_ll3.ps, gs_res.ps, iimage2.h, zimage.c, zimage2.c,
    +zimage3.c)
    +	- DevicePixel color space.  (gs_lev2.ps, zcolor2.c, zcspixel.c)
    +	- DeviceN color space.  (gs_lev2.ps, igstate.h, zcsdevn.c)
    +
    +Adds support for Type 32 fonts.  (gs_cidfn.ps, gs_init.ps, gs_typ32.ps,
    +zchar32.c, zfont32.c)
    +
    +Adds debugging printout to the CFF loader.  (gs_cff.ps)
    +
    +Removes support for _ds pointers referencing the stacks, since we no longer
    +support 16-bit implementations.  (iref.h, istack.h, interp.c, ireclaim.c,
    +istack.c)
    +
    +Removes all #ifdef DPNEXT conditionalization.  (We had intended to use this
    +to delimit blocks of code to be released with the GPL, but we're now
    +planning to release a much larger number of files.)  (igstate.h, interp.h,
    +istruct.h, interp.c, zgstate.c)
    +
    +Allows user parameters to be implemented partly in PostScript code, since
    +this is required for some LanguageLevel 3 features (currently only
    +IdiomRecognition).  (gs_lev2.ps)
    +
    +Removes most of the references to a global process scheduler.  Completing
    +this will require passing an interpreter state structure to all operators in
    +place of the operand stack pointer, which we aren't prepared to contemplate
    +yet.  (zcontext.c)
    +
    +Adds tracing for context operations, -Z' and -Z".  (zcontext.c)
    +
    +Changes def so that it doesn't have a special exception for storing
    +references to local objects into systemdict or its subsidiary dictionaries
    +during initialization: such stores now must use .forceput (or .forcedef,
    +defined in gs_init.ps using .forceput); changes .forceput to allow storing a
    +local reference into any global dictionary, not only systemdict, if the save
    +level is 0.  (gs_dps1.ps, gs_init.ps, gs_lev2.ps, gs_pdfwr.ps, gs_res.ps,
    +gs_statd.ps, zdict.c)
    +
    +Moves all of the initialization of internaldict to PostScript code.
    +(gs_init.ps, iinit.c, zcontrol.c)
    +
    +Moves the JobName user parameter from C to PostScript code.  (gs_lev2.ps,
    +zusparam.c)
    +
    +Adds to every dictionary a pointer to the allocator that created it.  This
    +allows us to create and grow dictionaries without having to reference any
    +global variables.  (idict.h, idict.c, iinit.c)
    +
    +Implements the localfork operator, which creates contexts with private local
    +VM.  (gs_dps.ps, gs_init.ps, dstack.h, gsalloc.h, ialloc.c, icontext.c,
    +iinit.c, interp.c, zcontext.c)
    +
    +Systematizes reliable access to variables in systemdict and userdict.
    +(gs_dps1.ps, gs_dps2.ps, gs_fonts.ps, gs_init.ps, gs_lev2.ps, gs_statd.ps,
    +gs_type1.ps)
    +
    +Starts to eliminate or segregate writable globals that point to
    +heap-allocated data.  (Writable globals containing procedures,
    +run-time-settable switches, pointers to static data, or non-pointer values
    +that are initialized once and idempotently are OK.)  (iconf.c, iinit.c,
    +imain.c, imainarg.c, interp.c, zfont1.c, zht2.c, ziodev.c, ztype.c,
    +zupath.c, zusparam.c)
    +
    +Adds support for ImageType 2 (device source) images.  (gs_dps.ps, zdps.c)
    +
    +Adds begin_typed_image to internal device procedure vectors.  (zupath.c)
    +
    +Increases the maximum stack sizes to match the Adobe implementation more
    +closely.  (gs_init.ps)
    +
    +Adds a file_is_invalid macro to work around a bug in the Borland 5.0
    +compiler.  (files.h, ziodev.c, zvmem.c)
    +
    +Changes the character cache to be allocated in the C heap rather than global
    +VM.  This is required because cache chunks are now allocated from the same
    +allocator as the cache.  (zfont.c)
    +
    +Implements sizeimage and readimage, including a new .getbitsrect operator.
    +(gs_dpnxt.ps, gs_init.ps, zdevice.c, zdpnext.c)
    +
    +Resets the maximum stack sizes earlier in initialization.  (gs_init.ps)
    +
    +Tweaks the default CRD slightly (syntactically, not the content).
    +(gs_lev2.ps)
    +
    +Adds support for PatternTypes other than 1.  (gs_init.ps, gs_lev2.ps,
    +gs_res.ps, zpcolor.c)
    +
    +Adds a pointer to the C heap allocator to the gs_main_instance structure,
    +working towards the goal of removing all references to gs_memory_default.
    +(iminst.h)
    +
    +Removes all remaining uses of gs_malloc and gs_free from the interpreter.
    +(igc.h, igc.c, imain.c, zfdctd.c, zfdcte.c)
    +
    +Adds an explicit #include for all remaining uses of gs_memory_default in the
    +interpreter.  (zfdctd.c, zfdcte.c, zvmem.c)
    +
    +Adds a map_color_rgb_alpha driver procedure, complementing
    +map_rgb_alpha_color.  (zupath.c)
    +
    +Removes the obsolete writeppmfile operator.  (zwppm.c[deleted])
    +
    +Updates the implementation of the image operators to match the change from
    +HasAlpha to Alpha in the image definition structure.  (iimage.h, zcolor1.c,
    +zimage.c)
    +
    +Reimplements upath in C code, since UnpaintedPath requires it.  (zupath.c)
    +
    +Updates interpreter code for the change in the GC interface. (imemory.h,
    +istruct.h, icontext.c, igc.c, igcref.c, igcstr.c, ilocate.c, iname.c,
    +isave.c, iscan.c, istack.c, zfproc.c)
    +
    +Implements the compositing operators.  (zdpnext.c, zdps.c, zupath.c)
    +
    +Changes some matrix operators to pass unpacked matrices on the stack.
    +(zmatrix.c)
    +
    +Moves the alpha-related operators to where they belong.  (zcolor.c,
    +zdpnext.c)
    +
    +Changes all calls on getenv to gp_getenv.  (imainarg.c, zmisc.c)
    +
    +

    Interpreter (PDF)

    +
    +Fixes bugs:
    +	- PostScript pass-throughs caused an error.  They are now always
    +executed; probably we should offer the option of not executing them, for
    +closer compatibility with Acrobat.  (pdf_draw.ps, pdf_main.ps)
    +	- Font resources, unlike all other types of resources, couldn't be
    +inherited from an ancestor Page(s) object.  (pdf_font.ps)
    +	- Resources appearing only in Form or Pattern dictionaries weren't
    +recognized as being present.  (pdf_base.ps, pdf_draw.ps, pdf_main.ps)
    +
    +Moves closer to supporting Type 0 (and CID) fonts.  (pdf_font.ps)
    +
    +

    Streams

    +
    +Fixes bugs:
    +	- If the image was very narrow or very shallow, the interpolated
    +image scaling stream could make an invalid memory reference.  (siscale.c)
    +
    +Removes the last few references to gs_malloc and gs_free from stream code.
    +Clients now *must* call the set_defaults procedure for the DCT filters
    +before initializing them: THIS IS A NON-BACKWARD-COMPATIBLE CHANGE.
    +(sdct.h, sdctd.c, sdcte.c, sjpegc.c)
    +
    +Adds an explicit #include for all remaining uses of gs_memory_default.
    +(sdctd.c, sdcte.c, szlibd.c, szlibe.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- Some files that included shc.h didn't include scommon.h.  (shc.h)
    +	- A file didn't include std.h before <stdio.h>.  (gslib.c)
    +	- There was an unnecessary extern (cleanup only).  (gscsepr.c)
    +	- The uid.xvalues member of gs_client_pattern structures wasn't
    +traced by the GC.  (gspcolor.h)
    +	- If an Interpolated image reached the end of the input at exactly
    +the wrong time, an assertion could fail.  (gxiscale.c)
    +	- With non-ANSI compilers, an integer constant passed to the fmod
    +library function, which requires a floating point argument, could cause a
    +floating point exception or an incorrect result.  (gsmisc.c)
    +	- An error in computing the bounding box sometimes caused strokes to
    +print incorrectly (for example, some graduated fills printed incorrectly).
    +(gxstroke.c)
    +
    +Implements an undocumented (!) feature of Type 2 CharStrings, namely that if
    +the endchar operator is invoked with 4 or 5 operands on the stack, it is
    +equivalent to the Type 1 seac operator (without the asb operand).  This
    +required changing the implementation of seac so that it does the base
    +character first, rather than the accent.  (gxtype1.h, gstype1.c, gstype2.c,
    +gxtype1.c)
    +
    +Adds support for ImageTypes other than 1.  (gsiparam.h, gximage.h,
    +gxiparam.h, gdevddrw.c, gsimage.c, gximage.c, gximage0.c)
    +
    +Adds support for ImageType 2 (device source) images.  Currently we only
    +handle the simplest case (source is not transformed).  (gsimage.h,
    +gsiparm2.h, gsimage.c, gximage2.c)
    +
    +Adds support for LanguageLevel 3 features:
    +	- FunctionType 2 and 3 Functions.  (gsfunc3.h, gsfunc3.c)
    +	- PatternType 2 and smooth shading (structures and API only, no
    +algorithms).  (gscolor3.h, gsptype2.h, gsshade.h, gxistate.h, gscolor3.c,
    +gsshade.c)
    +	- In-RIP trapping (structures and API only, no algorithms).
    +(gstrap.h, gstrap.c)
    +	- ImageType 3 (masked images) (structures and API only, no
    +algorithms).  (gsiparm3.h, gximage3.c)
    +	- ImageType 4 (chroma-keyed masked images).  (gsiparm4.h,
    +gximage4.c)
    +	- DevicePixel color space.  (gscpixel.h, gscspace.h, gscpixel.c,
    +gximono.c)
    +	- DeviceN color space.  (gscspace.h, gscdevn.c)
    +
    +Removes the #ifdef FUTURE around the code for passing multi-plane and
    +interpolated images through the band list (version 5.01) and for banded
    +filling and stroking with colored halftones (version 4.71).  This code is
    +now part of the standard release.  (gxcldev.h, gxclpath.h, gxdht.h,
    +gxhttype.h, gsht.c, gxclimag.c, gxclread.c, gximage.c)
    +
    +Adds a _ptrs6 structure definition macro.  (gsstruct.h)
    +
    +Removes #ifdef DPNEXT conditionalization, as in the interpreter (see above).
    +(gzstate.h, gsdps.c, gsstate.c, gximage.c, gximage5.c)
    +
    +Starts to eliminate or segregate writable globals that point to
    +heap-allocated data, as in the interpreter (see above).  (gsbittab.h,
    +gscdefs.h, gsdcolor.h, gxclist.h, gxsample.h, gzht.h, gconf.c, gsbitops.c,
    +gsbittab.c, gscdef.c, gsdparam.c, gsflip.c, gsinit.c, gsmatrix.c,
    +gspcolor.c, gsstate.c, gxcht.c, gxclist.c, gxcmap.c, gxdcolor.c, gxdither.c,
    +gxht.c, gximage.c)
    +
    +Removes the division between 'low-level' and 'high-level' band list
    +facilities.  (gxcldev.h, gxclimag.c, gxclist.c, gxclpath.c)
    +
    +Renames gximage*.c as gxi*.c, since these files apply only to ImageType 1
    +images and the use of numerical suffixes was confusing.  (gximage.c =>
    +gxiinit.c, gximage0.c => gxidata.c, gximage1.c => gxifast.c,
    +gximage2.c => gximono.c, gximage3.c => gxicolor.c, gximage4.c =>
    +gxi12bit.c, gximage5.c => gxiscale.c)
    +
    +Provides the ability to enumerate a clipping path (based on the clipping
    +list) using an enumerator, in the same way as an ordinary path.  (gxpath.h,
    +gzcpath.h, gzpath.h, gxcpath.c, gxpath2.c)
    +
    +Speeds up mem_mapped4_copy_mono substantially.  (gdevm4.c)
    +
    +Removes all remaining uses of gs_malloc and gs_free in the library, other
    +than in drivers.  This turned out to require changing a couple of
    +initialization APIs.  (gsfont.h, gslib.h, gxdevice.h, gxfcache.h, gsfont.c,
    +gxccman.c)
    +
    +Reduces the writable statics related to the default (C heap) allocator to a
    +single pointer.  (gsmalloc.h, gsmemory.h, gsinit.c, gsmemory.c)
    +
    +Adds support for PatternTypes other than 1.  (gscolor2.h, gspcolor.h,
    +gsptype1.h, gxcolor2.h, gspcolor.c)
    +
    +Adds an explicit #include for all remaining uses of gs_memory_default that
    +aren't covered by gxdevice.h.  (gxclmem.c)
    +
    +Splits off the default implementations of the bit-copying device procedures,
    +because the file was getting too large.  (gdevdbit.c, gdevdflt.c)
    +
    +Adds a procedure for calculating the difference of two rectangles, needed
    +for Type 2 images.  (gsrect.h, gxpath.h, gsutil.c)
    +
    +Extends the image machinery to allow alpha values to either precede or
    +follow color values in image data, replacing HasAlpha with Alpha in the
    +ImageType 1 image structure.  (gsiparam.h, gximage.h, gsimage.c, gxclimag.c,
    +gxclread.c, gxicolor.c, gxiinit.c, gxiscale.c)
    +
    +Extends the path enumeration API to decouple path copying from coordinate
    +transformation.  (gspath.h, gzpath.h, gspath1.c, gxpath2.c)
    +
    +Changes the garbage collector interface so that all procedures are passed
    +through a structure rather than being referenced as externs.  This allows
    +programs other than the GC itself to enumerate and relocate pointers, and
    +also removes all static dependencies on the GC from the library.  This
    +involves a NON-BACKWARD-COMPATIBLE CHANGE to the argument list of enum_ptrs
    +procedures, and to the implementation of both enum_ptrs and reloc_ptrs.  (We
    +hope that the new macros we've introduced will avoid non-backward-compatible
    +changes in the future.)  (gsstruct.h, gdevmem.c, gsalloc.c, gscdevn.c,
    +gscolor.c, gscolor2.c, gscsepr.c, gsdevice.c, gsfont.c, gshtscr.c,
    +gsimage.c, gsmemory.c, gspcolor.c, gsstate.c, gxcmap.c, gxcpath.c, gxht.c,
    +gxiinit.c)
    +
    +Moves the image compositing code into the library from its inappropriate
    +home in the interpreter.  (gsdpnext.h)
    +
    +Splits up gsbitops.h into client interface and implementation support.
    +Removes some obsolete code at the same time.  (gdevmem.h, gsbitops.h,
    +gxbitops.h, gsbitops.c)
    +
    +Creates the concept of compositing functions and compositing devices
    +(compositors).  (gscompt.h, gxcomp.h)
    +
    +Implements the default compositor for alpha-based compositing.  (gsalphac.h,
    +gsalphac.c)
    +
    +Creates a store_alpha device that adds alpha channel storage to any other
    +device.  (gdevalph.c)
    +
    +Moves alpha channel capability into the dpsnext feature, where it should
    +have been all along.  (gsalpha.h, gscolor.h, gsalpha.c, gscolor.c,
    +gsstate.c)
    +
    +Implements color premultiplying by (non-unity) alpha values.  Currently we
    +always premultiply towards white: see gxalpha.h for some comments.
    +(gxalpha.h, gxcmap.c)
    +
    +Reduces the amount of boilerplate in the RasterOp implementation table.
    +(gsroptab.c)
    +
    +Adds an arg_push_temp_string procedure to accommodate the new gp_getenv
    +call.  (gsargs.h, gsargs.c)
    +
    +Updates various library APIs to account for the more careful handling of
    +file name length.  (gdevprn.h, gxclio.h, gxclist.h, gsdevice.c, gxclfile.c,
    +gxclmem.c)
    +
    +
    + +
    + +

    Version 5.10 (11/23/97)

    + +

    +This release, not originally planned, greatly reduces the size of PDF files +produced by the pdfwrite device, fixes a number of minor problems in PDF +output, and optionally produces output compatible with Acrobat 2.x, in order +to address problems reported by NSF in processing these files as part of +their FastLane electronic proposal submission process. Aside from that, and +some localized bug fixes, it has minimal changes from 5.03. + +

    Documentation

    +
    +Fixes bugs:
    +	- ansihead.mak referred to unix-ansi.mak, which is actually named
    +unixansi.mak.  (ansihead.mak)
    +	- README referred to an "If you need help" section that was moved to
    +new-user.txt.  (README)
    +
    +Updates build information for HP-UX systems.  (make.txt)
    +
    +Updates the information for getting Martin Lottermoser's hpdj driver.
    +(new-user.txt)
    +
    +Improves the error message when a user tries to invoke gswin32c without
    +explicitly selecting a device.  (dwmainc.cpp)
    +
    +Removes the author's name and e-mail address from the pdf2ps man page, at
    +his request.  (pdf2ps.1)
    +
    +Improves the documentation for BandBufferSpace.  (language.txt)
    +
    +

    Procedures

    +
    +Changes the VMS command files so that they don't echo the commands.
    +(append_l.com, copy_one.com, rm_all.com, rm_one.com)
    +
    +

    Utilities

    +
    +Fixes bugs:
    +	- The "lp" command files all inappropriately set the top margin to
    +0.1".  (lp386.bat, lp386r2.bat, lpgs, lpgs.bat, lpr2, lpr2.bat)
    +	- The lp386[r2].bat command files inappropriately set the
    +LanguageLevel to 1.  (lp386.bat, lp386r2.bat)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- The PDF writer got confused about the current color if the input
    +contained text strings separated only by color changes.  (gdevpdf.c)
    +	- Some casts between const char * and const byte * were incorrect
    +(warnings only).  (gdevpdft.c)
    +
    +Adds a NoCancel parameter to the winpr2 device, which suppresses display of
    +the dialog box.  (gdevwpr2.c)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- An "extern" was omitted, causing a duplicate definition of
    +build_function_procs.  (ifunc.h)
    +	- The global pseudo-operator table was too small, causing a
    +limitcheck in ps2ascii.  (iinit.c)
    +	- setcolorspace with a Pattern space with no underlying space would
    +cause an error if the current color space was a Pattern space.  (zpcolor.c)
    +	- The Decode key was optional, not required, in the dictionary form
    +of image[mask].  (zimage2.c)
    +
    +Adds two more PCL/PJL reset sequences to the list of sequences to ignore.
    +(gs_init.ps)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- Multi-screen color halftones could produce "seams".  (gxcht.c)
    +	- A bug in the gcc optimizer on H-P RISC workstations caused all
    +curves to be output as lines.  (gxpflat.c)
    +	- If a non-standard OtherSubr was called before the [h]sbw in a Type
    +1 font, a crash could occur.  (gxhint3.c)
    +	- gxclist.c didn't include string_.h.  (gxclist.c)
    +
    +
    + +
    + +

    Version 5.07 (limited) (10/31/97)

    + +

    +A few more bug fixes for the 5.10 release. + +

    Documentation

    +
    +Fixes bugs:
    +	- Some file and directory names hadn't been updated to match the new
    +directory structure on the primary server.  (make.txt, new-user.txt)
    +
    +Adds the URL for reaching URW++.  (Fontmap.*)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- Because the C % operator isn't equivalent to 'modulus' for
    +negative numerators, gx_default_strip_tile_rectangle could crash in some
    +cases.  (gxdevice.h, gdevdflt.c)
    +	- In the PDF writer, Dest values were correct (page numbers) for
    +GoToR actions, but were incorrect (should be page object references) for
    +other actions; also, Rect values were transformed, but should not be.
    +(gdevpdfm.c)
    +	- In the PDF writer, articles and bookmarks could attempt to write
    +multiple Contents streams, which is not allowed.  (gdevpdfx.h, gdevpdf.c,
    +gdevpdfm.c)
    +	- The PDF writer ignored PS (PostScript pass-through) pdfmarks.
    +(gdevpdfm.c)
    +	- The PDF writer didn't write out the color space parameters for
    +CIE-based spaces.   (gdevpdfi.c)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- Suffix subclass structures with 4 added pointers skipped the first
    +pointer in the superclass when garbage collecting, possibly causing invalid
    +memory accesses.  (gsstruct.h)
    +	- An argument list incompatibility in a procedure used in a static
    +structure initialization upset some compilers.  (gsfunc.h, gsfunc0.c)
    +
    +
    + +
    + +

    Version 5.06 (limited) (10/7/97)

    + +

    +This fixes a few more bugs in the PDF writer, and a few other very obscure +problems. It also adds support for Functions and brings multiple contexts +closer to working, neither of which we expect actually to be used any time +soon. This is intended to be the candidate fileset for the 5.10 release, +but since we had to tinker with a delicate part of the PDF writer to fix a +problem affecting visual quality with Acrobat, there may be new bugs that +will have to be fixed in yet another candidate fileset. + +

    Documentation

    +
    +Fixes bugs:
    +	- Jim McPherson's e-mail address was out of date.  (devices.txt)
    +	- Invoking ps2pdf with only a single file name is supported on some
    +versions of Windows NT and OS/2, not only on Unix.  (ps2pdf.txt)
    +	- The ps2pdf documentation didn't indicate that ps2pdf can use the
    +Windows "console mode" executable as well as the MS-DOS executable.
    +(ps2pdf.txt)
    +	- The list of which Distiller parameters actually have an effect was
    +incorrect.  (gdevpdfp.c)
    +
    +Notes that the cdj550 driver is compatible with the H-P 660C and 660Cse.
    +(devs.mak, devices.txt)
    +
    +Adds a note about using Acrobat Reader fonts.  (install.txt, use.txt)
    +
    +Notes that the LJ 5P, like the 5L, is not a PCL XL printer.  (devs.mak)
    +
    +Notes problems and possible problems with certain versions of the Borland
    +C++ compiler.  (make.txt)
    +
    +Notes the change in -Z:.  (use.txt)
    +
    +Updates the uniprint documentation for this release.  (devices.txt)
    +
    +Expands the rationale for the large resolution in the bbox device.
    +(gdevbbox.c)
    +
    +Notes that the H-P DeskJet 600 series can use the djet500 driver with -r600.
    +(devs.mak)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- Vector devices didn't include a necessary dependency on the stream
    +package.  (lib.mak)
    +	- There were several bugs in the ps2pdf.bat file.  (ps2pdf.bat)
    +
    +Changes -Z: so it prints some summary lines as well as minimal information
    +about banding.  This makes the -ZA trace compatible with our memory leak
    +tool.  (iminst.h, imain.c)
    +
    +

    Utilities

    +
    +Fixes bugs:
    +	- ps2epsi sometimes produced a too-large bounding box, or even
    +caused a rangecheck.  (ps2epsi)
    +
    +At the advice of a user, removes the RESOLUTION=100 line from pv.sh.
    +(pv.sh)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- The PDF writer produced incorrect output for stroke operations
    +with unusual CTMs, because PDF, unlike PostScript, applies the CTM to the
    +path at the time of the fill or stroke, not as the path is being
    +constructed.  (gdevpdfd.c)
    +	- Vector devices returned an error, instead of falling back to the
    +default implementations, when filling or stroking with a pattern.
    +(gdevvec.c)
    +	- The PDF writer freed an internal stream structure using the wrong
    +allocator, possibly causing memory corruption.  (gdevpdf.c)
    +	- The uniprint driver had some compilation problems, and possibly
    +other problems as well (consult the source file).  (gdevupd.c, *.upp)
    +	- With -dNOCACHE, the PDF writer wrote all text in the base 14 fonts
    +twice, once as text and once as outlines.  (gs_pdfwr.ps, gdevpdfd.c)
    +	- The PDF writer didn't properly recognize Symbol and ZapfDingbats
    +as being among the base 14 fonts.  (gs_pdfwr.ps)
    +	- When using Acrobat Reader with font smoothing turned on, the base
    +14 fonts appeared too bold on the screen in files produced by ps2pdf,
    +because Reader decides that a 100-unit font at 1 unit = 0.1 point should be
    +bolder than a 10-unit font at 1 unit = 1 point.  (gdevpdfx.h, gdevpdf.c,
    +gdevpdft.c)
    +	- The PDF writer didn't convert View/Page specifications for
    +bookmark pdfmarks to a Dest key, causing bookmarks not to work.
    +(gdevpdfm.c)
    +
    +Speeds up the PDF writer by only passing the encoding if it isn't
    +StandardEncoding.  (gs_pdfwr.ps, gdevpdft.c)
    +
    +Changes the PDF writer's handling of unencoded glyphs.  Adds device
    +parameters ReEncodeCharacters and ReAssignCharacters to control how
    +unencoded glyphs are handled.  (These parameters will go away when we handle
    +variant encodings in full generality.)  (gdevpdfx.h, gdevpdf.c, gdevpdfp.c,
    +gdevpdft.c)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- setpagedevice didn't restore the stack properly if it failed.
    +(gs_setpd.ps)
    +	- 0 identmatrix didn't cause an error.  (gs_init.ps)
    +	- Devices expecting array-valued parameters didn't accept packed
    +arrays.  (iparam.c)
    +
    +Starts to de-implement support for special handling of the stacks on
    +machines with 16:16 addressing.  Currently this only happens if DPNEXT is
    +defined.  (istack.h)
    +
    +Brings multiple contexts closer to working.  The interpreter can now run
    +some very simple test cases.  (int.mak, icontext.h, igstate.h, interp.h,
    +istruct.h, icontext.c, interp.c, zcontext.c, zgstate.c)
    +
    +Adds support for FunctionType 0 Functions.  (ifunc.h, iref.h, store.h,
    +zfunc.c, zfunc0.c)
    +
    +Updates a few remaining pseudo-operators in gs_init.ps to take advantage of
    +automatic operand and dictionary stack restoration: eexec, identmatrix,
    +pathbbox.  Not updated yet: filter.  (gs_init.ps)
    +
    +

    Interpreter (PDF)

    +
    +Fixes bugs:
    +	- Separation color spaces weren't supported.  (gs_pdf.ps,
    +pdf_draw.ps)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- The size argument to gs_free was wrong in an out-of-memory case.
    +(This was irrelevant, since gs_free only uses the size argument for
    +error-checking during debugging.)  (gdevprn.c)
    +	- When freeing a block on the C heap, if -Z@ was set, the block's
    +header wasn't filled with the sentinel pattern.  (Only relevant when
    +debugging.)  (gsmemory.c)
    +	- The C heap allocator didn't fix up pointers properly when freeing
    +a block, causing unpredictable memory corruption after a 'resize' call.
    +(gsmemory.c)
    +	- Using a show operator inside the procedure of a cshow with a
    +composite font could cause an invalid access.  (gschar.c)
    +
    +Adds support for FunctionType 0 Functions.  (gsdsrc.h, gsfunc.h, gsfunc0.h,
    +gxfunc.h, gsdsrc.c, gsfunc.c, gsfunc0.c)
    +
    +Moves the GC descriptor for arrays of constant strings to a place where it
    +is more visible.  (gscie.h, gsstruct.h, gscie.c, gsmemory.c)
    +
    +
    + +
    + +

    Version 5.05 (limited) (9/24/97)

    + +

    +This fixes a few bugs found in the first few days of testing 5.04. There +will probably be several more small incremental filesets before the next +public release. + +

    Platforms

    +
    +Fixes bugs:
    +	- The Windows code wouldn't compile with the latest MSVC++, because
    +Microsoft changed the prototype for fprintf.  (gp_msio.c)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- A picky compiler complained about some omitted casts.  (gdevpdf.c,
    +gdevpdft.c)
    +	- Writing a PDF file with any synthesized fonts could produce
    +slightly garbled output or possibly even an invalid memory access, because a
    +string was not terminated.  (gdevpdft.c)
    +	- When writing a PDF file, the first character of a string could get
    +placed off the page, because of a matrix bookkeeping error.  (gdevpdft.c)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- In case of an error, setpagedevice executed a 'stop'
    +unconditionally, rather than just signalling an error through the error
    +machinery.  (gs_setpd.ps)
    +
    +

    Interpreter (PDF)

    +
    +Fixes bugs:
    +	- Files with unknown operators caused errors, even if the BX
    +operator was used to disable the error report.  (pdf_base.ps)
    +
    +
    + +
    + +

    Version 5.04 (limited) (9/21/97)

    + +

    +This is a test fileset for an unplanned release that greatly reduces the +size of PDF files produced by the pdfwrite device, and also optionally +produces output compatible with Acrobat 2.x, in order to address problems +reported by NSF in processing these files as part of their FastLane +electronic proposal submission process. Aside from that, and some localized +bug fixes, it has minimal changes from 5.03. + +

    Documentation

    +
    +Fixes bugs:
    +	- George Cameron's address was listed with a domain of .ukis rather
    +than .uk.  (devices.txt)
    +	- The default value of ORIENT1 was given as false rather than true.
    +(use.txt)
    +	- The documentation for ps2pdf said one can omit the output file
    +name, but this is only true on Unix systems.  (ps2pdf.txt)
    +	- The documentation for ps2pdf didn't make clear that the executable
    +must be named gs on Microsoft OSs.  (ps2pdf.txt)
    +	- ht_cache is actually allocated with the first gstate, not on
    +demand.  (gsstate.c)
    +
    +Slightly improves the documentation of .type1execchar.  (zchar1.c)
    +
    +Clarifies the distinction between Ghostscript (PostScript) commands and
    +shell commands, for the benefit of users brainwashed by Microsoft.
    +(use.txt)
    +
    +Improves the usage synopsis in the ps2epsi man page.  (ps2epsi.1)
    +
    +Adds a reference to Uli Wortmann's H-P drivers.  (new-user.txt)
    +
    +Improves the documentation of GS_FONTPATH, distinguishing it from GS_LIB and
    +the search path.  (use.txt)
    +
    +Notes that on some systems, one must substitute 'installbsd' for 'install'
    +in the makefile and make other edits.  (install.txt, ansihead.mak,
    +cc-head.mak, gcc-head.mak)
    +
    +Notes that ps2epsi is no longer maintained.  (ps2epsi.ps)
    +
    +Clarifies the availability of support.  (new-user.txt)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- The uniprint driver was accidentally omitted from the default
    +Watcom (MS-DOS) and OS/2 configurations.  (watc.mak, os2.mak)
    +	- The suggested compiler switches for Digital Unix were incorrect.
    +(make.txt)
    +	- The cp.cmd script file didn't work in the newest versions of OS/2.
    +(cp.cmd)
    +	- The compilation rules for some Windows-specific files didn't
    +include ccf32.tr in their dependencies, which could cause the compilation to
    +fail.  (winint.mak)
    +
    +Removes the lev2min configuration, since we no longer support 16-bit Windows
    +environments.  (int.mak)
    +
    +

    Utilities

    +
    +Fixes bugs:
    +	- ps2epsi.bat always appended to the output file, rather than
    +writing over it.  (There are probably other bugs in this script file.)
    +(ps2epsi.bat)
    +	- The output of pdf2ps didn't execute properly on some printers,
    +especially Level 1 printers.  (gs_pdf.ps)
    +
    +Makes ps2pdf do an initial 'save', which causes fonts to be retained better
    +across pages.  (ps2pdf, ps2pdf.bat)
    +
    +Adds an option to pcharstr.ps to produce C-like rather than PostScript-like
    +output.  (pcharstr.ps)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- The LaserJet III and higher printers weren't able to print in the
    +narrow strip between 1/6" and 1/4" from the left edge of the page.
    +(gdevdjet.c)
    +	- The PCL XL drivers produced incorrect output which often caused a
    +PCL XL NoCurrentFont error at the beginning of the second page.  (gdevpx.c)
    +	- The GC descriptors for the pswrite device and for PS/PDF devices
    +were incorrect, causing the GC to smash memory.  (gdevpsdf.h, gdevps.c)
    +	- The pdfwrite device didn't have a GC descriptor at all.  ******
    +DISABLED because the device allocates all its temporary structures directly
    +on the C heap. ****** (gdevpdf.c)
    +	- When the PDF writer wrote out the Dest key in an action
    +dictionary, it always used a page object instead of a page number, even if
    +the page was in another file or didn't exist; it now always uses a page
    +number.  (gdevpdfm.c)
    +	- The PDF writer gave an error if a file redefined any of the 14
    +known fonts.  (gs_pdfwr.ps)
    +	- The PDF writer didn't handle copy_mono with a non-zero sourcex.
    +(This probably had no effect in practice.)  (gdevpdfi.c)
    +
    +Splits off gdevpdfd.c (driver drawing procedures) from gdevpdf.c, since the
    +file was getting too large.  (gdevpdfx.h, gdevpdf.c, gdevpdfd.c)
    +
    +Adds recognition of the CompressPages, CompatibilityLevel, and
    +UseFlateCompression device (distiller) parameters to the PDF writer.  If
    +CompressPages is true (default), CompatibilityLevel is 1.2 (default), and
    +UseFlateCompression is true (default), page contents will be compressed with
    +Flate ("zip") compression; otherwise, they will not be compressed.
    +
    +Restructures the PDF writer to produce much smaller and faster PDF files, by
    +restructuring its handling of text to defer all resources to the end of the
    +file, eliminate duplicate Font resources, turn characters into Type 3 fonts
    +rather than Image XObjects, use more efficient text positioning commands,
    +and optionally (but by default) Flate-compress the contents streams.  Also
    +removes some unnecessary spaces in the output.  (gdevpdfx.h, gdevpdf.c,
    +gdevpdfd.c, gdevpdfi.c, gdevpdfm.c, gdevpdft.c)
    +
    +Improves the PDF writer so that it no longer converts stroke operations with
    +non-uniform CTMs to fills, and doesn't bother to stroke empty paths at all.
    +(gdevpdfd.c)
    +
    +Speeds up the "alternate" X devices substantially.  (gdevxalt.c)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- Filling a string with a Pattern caused a crash with the PDF
    +writer.  (gs_pdfwr.ps)
    +	- Converting a file with no marks at all to PDF produced invalid
    +output.  (gdevpdf.c)
    +	- .endpage, which is called at the end of every page, sometimes left
    +2 extra values on the stack.  (gs_setpd.ps)
    +	- A definefont with a Type 1 font lacking a .notdef character didn't
    +cause an invalidfont error.  (bfont.h, zfont1.c, zfont2.c)
    +	- On anti-aliased devices, characters from Type 1 fonts with an
    +incorrect or missing FontBBox came out a factor of 2 or 4 too small if the
    +character was small enough to cache.  (zchar1.c)
    +	- If a file redefined certain operators, loading Type 1 fonts could
    +fail.  This problem was fixed in an earlier release, and somehow the fix got
    +undone.  (gs_type1.ps)
    +	- cshow didn't set the correct current font when running the
    +procedure, and didn't restore it properly afterwards.  (zchar.c, zchar2.c)
    +	- With certain compilers, the interpreter loop caused unaligned
    +memory accesses on DEC Alpha systems running Windows NT.  (iref.h)
    +
    +Adds freelist validation to the memory checker.  (ilocate.c)
    +
    +Changes the debugging switch for bypassing the garbage collector from
    +compile-time to run-time.  (igc.c)
    +
    +Adds the real operators for view clipping (but they don't do anything yet,
    +because view clipping isn't implemented at the library level).  (zdps.c,
    +zvmem.c)
    +
    +Completes the implementation of defineusername.  (zdps.c)
    +
    +Adds an implementation of wtranslation, by simply reading a device parameter
    +of the same name.  (gs_dps.ps)
    +
    +

    Interpreter (PDF)

    +
    +Fixes bugs:
    +	- Lab color spaces weren't implemented, and gave an error.
    +(gs_pdf.ps)
    +	- Images only worked with built-in color spaces, not color space
    +resources.  (pdf_draw.ps)
    +	- Embedded font subsets were treated as undefined.  (pdf_font.ps)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- strokepath sometimes clipped the path to the current clipping
    +region, which it should never do.  (gxstroke.c)
    +	- The initial X/Y position for Type 2 charstrings (CFFs) sometimes
    +was set incorrectly.  (gstype2.c)
    +	- Memory management for dash patterns was still incorrect (despite
    +the fix in 4.36), possibly causing snarled freelists and invalid memory
    +references.  (gsline.c, gsstate.c)
    +	- The saved gstate of a Pattern instance was freed properly when the
    +instance was freed by reference counting as a result of setting the color or
    +color space, but not when the instance was freed by reference counting
    +anywhere else.  (gspcolor.c)
    +	- A test for whether to use a slower form of oversampling was
    +incorrect.  (Probably only a performance bug.)  (gschar.c)
    +	- cshow didn't set the correct current font when running the
    +procedure, and didn't restore it properly afterwards.  (gsfont.h, gschar.c,
    +gsfont.c)
    +
    +Improves allocator validity checking when DEBUG is set.  (gsalloc.c)
    +
    +Adds a couple of missing FontType values.  (gxftype.h)
    +
    +Changes the default conversions between CMYK and RGB colors back to the
    +Adobe rules documented in the Red Book, to reduce output differences from
    +Adobe implementations.  (gxdcconv.c)
    +
    +Adds a graphics state element for view clipping, under an #ifdef DPNEXT, and
    +implementations of the view clipping operators (but not the logic for doing
    +the actual clipping).  (gsstate.h, gzstate.h, gsstate.c)
    +
    +Removes the redundant clip_rule variable from the graphics state (which
    +wasn't used for anything).  (gzstate.h, gspath.c)
    +
    +
    + +
    + +

    Version 5.03 (8/8/97)

    + +

    +The only reason for this release is to fix two serious bugs introduced +between 5.01 and 5.02. We fixed a few other very localized and low-risk +bugs at the same time. + +

    Documentation

    +
    +Removes the "(if relevant)" from the bug reporting form, since about 25% of
    +the forms are submitted without a URL or any other data.  (bug-form.txt)
    +
    +Adds a discussion of single-use procedures to the style guide.
    +(c-style.txt)
    +
    +Updates the information about obtaining Ghostscript on physical media.
    +(new-user.txt)
    +
    +Updates the information about ps_view.  (new-user.txt)
    +
    +

    Procedures

    +
    +Adds the uniprint driver to all platforms.  (*.mak)
    +
    +Changes the contents of the pc.tar.gz archives:
    +	- Adds *.upp.
    +	- Removes *.res.
    +	- Removes cp.bat, font2c.bat, mv.bat, rm.bat, wmakebat.bat,
    +	  cp.cmd, mv.cmd and rm.cmd, and gv-vms.hlp.
    +
    +Removes an obsolete script file.  (tar_mv)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- The uniprint driver didn't handle an increase in media height
    +correctly.  (gdevupd.c)
    +
    +

    Platforms

    +
    +Fixes bugs:
    +	- Printing to printers other than LPT1 under MS Windows no longer
    +worked.  (bug introduced in 5.02)  (gp_mswin.c)
    +	- Drag-and-drop didn't work under Windows NT (or other 32-bit
    +Windows environments).  (dwtext.cpp)
    +	- Sequent systems needed an additional system header file.
    +(time_.h)
    +
    +

    Fonts

    +
    +Fixes bugs:
    +	- The substitutions Myriad => Times and Minion => Helvetica were
    +incorrect; they should be the other way around.  (gs_fonts.ps)
    +	- MyriadPkg wasn't recognized as a condensed font.  (gs_fonts.ps)
    +	- Univers wasn't recognized as mapping to Helvetica.  (gs_fonts.ps)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- A line of debugging code, printing the sections of 3 regions of
    +TrueType fonts being loaded, was accidentally left in.  (gs_ttf.ps)
    +	- TrueType fonts whose pre-glyf data had odd length were broken
    +(typically gave a rangecheck error), because of the fix to treat the odd
    +byte of individual sfnts strings as padding per Adobe documentation.  (bug
    +introduced in 5.02) (gs_ttf.ps)
    +
    +

    Interpreter (PDF)

    +
    +Fixes bugs:
    +	- If a real-number token in a CFF had an even number of nibbles, a
    +unmatchedmark error would occur.  (gs_cff.ps)
    +	- If the strings Index in a CFF included an empty string, a
    +rangecheck error would occur.  (gs_cff.ps)
    +	- CFFs with non-standard Encodings that included standard strings
    +would get a typecheck error.  (gs_cff.ps)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- Using %d in an OutputFile name didn't substitute the page number.
    +(bug introduced in 5.02)  (gsdevice.c)
    +	- In Type 2 CharStrings, if a hintmask occurred at the beginning, it
    +wasn't recognized as also incorporating the function of vstemhm.
    +(gstype2.c)
    +	- The data bytes for hintmask and cntrmask weren't printed for
    +debugging.  (gstype2.c)
    +
    +
    + +
    + +

    Version 5.02 (7/28/97)

    + +

    +Because of an ISP failure that delayed the 5.0 announcement for 12 days, the +5.01 release only responded to a few days of bug reports; 5.02 fixes some +problems that should have been fixed in 5.01, as well as a large number of +obscure problems uncovered by Genoa testing. + +

    Documentation

    +
    +Fixes bugs:
    +	- The documentation for building on the Intergraph Clipper was out
    +of date.  (make.txt)
    +	- ESC was claimed to be a self-delimiting character.  (gs_init.ps)
    +	- Removes the documentation claiming that ^D and ^Z are
    +self-delimiting.  (language.txt)
    +	- Document that -dSUBSTFONT doesn't create a font with the requested
    +font name.  (use.txt)
    +	- Ghostscript was defined as compatible with PDF 1.1 rather than PDF
    +1.2.  (language.txt)
    +	- The description of gcc problems on Alpha didn't make it clear that
    +the use of gcc was optional, not required.  (make.txt)
    +	- The description of how to use GNU make on VMS systems was
    +inaccurate.  (make.txt)
    +
    +Improves the documentation for building on H-P RISC systems.  (make.txt)
    +
    +Corrects the discussion of Cygnus' licensing terms for the cygwin32
    +environment.  (make.txt)
    +
    +Removes the apology for the poor quality of Ghostscript's TrueType
    +rasterizer, since the quality is now quite good.  (fonts.txt)
    +
    +Documents the fact that one must use # rather than = with Watcom C.
    +(use.txt)
    +
    +Documents the updates and additions to the uniprint driver.  (devices.txt)
    +
    +Adds some material to Aladdin's C style guide.  (c-style.txt)
    +
    +Documents the fact that using gmake requires VMS 6.2 or later on Alphas and
    +7.1 (perhaps 7.0) or later on VAXen.  (make.txt)
    +
    +Adds an example EPS file.  (psfiles.txt)
    +
    +Adds some information about compiling and linking under OS/2.  (make.txt)
    +
    +Expands the description of XLIBDIR and XLIBDIRS.  (*head.mak)
    +
    +Adds a new pointer to information on using a Kanji font with Ghostscript.
    +(new-user.txt)
    +
    +Documents the use of /Resource/<category>/<resource> as the default place
    +where resources are sought.  (use.txt)
    +
    +Updates the documentation on building with MSVC++ to reflect the makefile
    +changes.  (make.txt)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- In openvms.mak, several ifdef tests were wrong.  (openvms.mak)
    +	- One CP command was slightly inconsistent with the others.
    +(zlib.mak)
    +	- If libz and libpng were both shared, libz was linked first,
    +resulting in some undefined references.  (libpng.mak)
    +	- The VMS makefile didn't interact properly with VMS's version
    +numbering facility.  (copy_one.com)
    +
    +Updates the VMS DCL script one last time, to handle libpng version 96.
    +(vms.mak)
    +
    +Restructures the MSVC++ makefiles to allow building the graphics library
    +without the PostScript interpreter.  (bcwin32.mak, msvc4.mak[deleted],
    +msvc5.mak[deleted], msvc32.mak, msvccom.mak, watcw32.mak,
    +wincom.mak[deleted], winint.mak, winlib.mak)
    +
    +Adds a makefile to create a library-only demo program under MSVC++, like the
    +ones for Unix/gcc and MS-DOS/Watcom.  (msvclib.mak)
    +
    +Adds an example EPS file.  (ridt91.eps, unix-end.mak)
    +
    +Removes support for libpng release 0.88, which is now quite obsolete.
    +(libpng.mak)
    +
    +

    Utilities

    +
    +Fixes bugs:
    +	- ps2pdf.bat, unlike ps2pdf, didn't accept options.  (ps2pdf.bat)
    +	- echogs used 'const' in one place, which wasn't accepted by some
    +very old compilers.  (echogs.c)
    +	- pdf2ps output Orientation, which it shouldn't.  (pdf_main.ps)
    +
    +Makes the usage message from ps2pdf.bat include the options, like ps2pdf.
    +(ps2pdf.bat)
    +
    +Changes the printpath utility so that its output is legal PostScript code.
    +(ppath.ps)
    +
    +Makes pdf2dsc add DSC comments for the bounding box (if a CropBox is
    +available in the PDF file) and the orientation.  (pdf2dsc.ps)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- The get_bits operation wasn't implemented for the vgalib driver.
    +(gdevvglb.c)
    +	- The dnj650c driver output an extra % near the end of the file.
    +(gdevcdj.c)
    +	- The definition of pprintd2 didn't have a line break before the
    +procedure name, confusing ansi2knr.  (gdevpstr.c)
    +	- EPS files produced invalid PDF output.  (gdevpdf.c)
    +	- "Vector" output devices didn't recognize %d in output file names,
    +or - for output to stdout.  (gdevprn.h, gxdevice.h, gdevprn.c, gdevvec.c,
    +gsdevice.c)
    +	- With the pdfwrite driver, restore or grestore would cause a
    +rangecheck error in .installpagedevice if a setpagedevice had been executed.
    +(gdevpdfp.c)
    +	- The pdfwrite driver produced garbage output for text rotated by
    +angles that were only infinitesimally different from multiples of 90
    +degrees.  (gdevpdft.c)
    +	- The pnm[raw] driver didn't handle anti-aliasing properly.
    +(gdevpbm.c)
    +	- The PDF writer didn't scale the parameters for [a][width]show
    +correctly.  (gs_pdfwr.ps, gdevpdft.c)
    +
    +Fixes some minor compilation warnings not affecting code functionality.
    +(gdevbbox.c, gdevpdfm.c, gshtscr.c, gsmemory.c, gxccman.c, gxfill.c,
    +gximage0.c)
    +
    +Fixes some bugs in the uniprint driver and adds some more printer models.
    +(gdevupd.c, bjc610a*.upp, bjc610b*.upp, necp2x6.upp, stc1520h.upp)
    +
    +Makes a small change for clean compilation on BeOS.  (gdevcdj.c)
    +
    +Updates the PNG driver to use updated API calls for allocating/initializing
    +and freeing the PNG structures.  (gdevpng.c)
    +
    +

    Platforms

    +
    +Refactors the MS Windows code to allow building the library without the
    +interpreter.  (gs_msio.c, gs_mslib.c, gp_mswin.c)
    +
    +

    Fonts

    +
    +Fixes bugs:
    +	- definefont was executed twice on TrueType fonts.  (No bad
    +consequences, just unnecessary work.)  (gs_ttf.ps)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- The fix for the 'stopped' around run_string_* in 5.01 was made
    +incorrectly.  (gs_init.ps)
    +	- Many operators that expect a matrix operand didn't accept packed
    +arrays.  (iutil.c)
    +	- The default CRD didn't have an explicit BlackPoint, which some
    +Genoa tests require.  (gs_lev2.ps)
    +	- A stack protection fix caused setscreen and setcolorscreen with
    +dictionary operands to give a typecheck.  (gs_dps2.ps)
    +	- Executing a string didn't handle tail recursion properly if the
    +last token was followed by a single whitespace character.  (interp.c)
    +	- Clearing the error indication didn't set errorname to null.
    +(gs_init.ps)
    +	- Some unexpected items appeared on the execution stack, confusing
    +some of the Genoa tests.  (gs_init.ps, istack.h, istack.c, zcontrol.c)
    +	- The dummy definitions for setucacheparams/ucachestatus didn't look
    +enough like the real ones.  (gs_dps2.ps)
    +	- Insideness tests didn't work, because the hit detection device
    +width and height weren't set up.  (zupath.c)
    +	- defineuserobject didn't use the same algorithm for growing the
    +array as Adobe interpreters.  (gs_dps2.ps)
    +	- eq and ne didn't work correctly on save objects.  (iutil.c)
    +	- findfont used =string internally, interfering with PostScript
    +programs that also used it.  (gs_fonts.ps)
    +	- cshow didn't set up scaled versions of base fonts as the current
    +font.  (zchar2.c)
    +	- defineresource didn't make the resource value read-only.
    +(gs_res.ps)
    +	- If inustroke got an error, it could return without an error
    +indication and without changing the stack.  (zupath.c)
    +	- The arrays returned by different invocations of currentcolorspace
    +with the same device color space weren't guaranteed to be eq.  (gs_lev2.ps)
    +	- Out-of-range integers followed by a '.' were converted to names
    +rather than reals.  (iscan.c, iscannum.c)
    +	- resourceforall caused an invalidaccess error if currentglobal was
    +true but the procedure, template, or scratch string was in local VM.
    +(gs_res.ps)
    +	- In many places, integer values were converted to floats rather
    +than doubles, losing precision.  (ichar.h, icharout.h, ifont.h, iutil.h,
    +idparam.c, iparam.c, iutil.c, zchar.c, zchar1.c, zchar42.c, zcharout.c,
    +zcie.c, zcolor.c, zcolor1.c, zcolor2.c, zcontrol.c, zcsindex.c, zcssepr.c,
    +zdpnext.c, zdps1.c, zfont.c, zfont2.c, zgstate.c, zhsb.c, zht.c, zmath.c,
    +zmatrix.c, zmedia2.c, zpath.c, zpath1.c, zupath.c)
    +	- The TransformPQR procedure in the default CRD didn't pop its
    +auxiliary operands from the stack.  (gs_lev2.ps)
    +	- Because of an incorrect stack depth check, setcolorrendering
    +sometimes produced a stackunderflow.  (zcrd.c)
    +	- sethalftone caused an invalidaccess error if the HalfTone type was
    +not 5, the dictionary was in local VM, and the current VM was global.
    +(gs_dps2.ps)
    +	- writeobject and printobject caused an invalidaccess error if the
    +object being written was in local VM and the current VM was global.
    +(gs_btokn.ps)
    +	- ustrokepath appended the strokepath segments to the current path,
    +rather than replacing the path.  (zupath.c)
    +	- restore incorrectly purged from the character cache any characters
    +in a font being freed, even if the font had a UID.  (zfont.c)
    +	- The definition of zimage_opaque_setup confused ansi2knr.
    +(zimage.c)
    +	- Type 42 fonts that included the padding byte in each sfnts string
    +didn't work if sfnts had more than one string.  (zfont42.c)
    +	- Doing a garbage collection at the same time as handling a
    +stackoverflow failed to update the object that needed re-execution, causing
    +the interpreter to execute random data.  (interp.c)
    +	- %stdout and %stderr weren't flushed if they were closed
    +explicitly.  (ziodev.c)
    +
    +For greater Adobe compatibility:
    +	- Changes setdash to limit dash patterns to 11 elements.  (This is
    +enforced at the PostScript level: the graphics library doesn't have a
    +limit.)  (gs_init.ps)
    +	- Changes ^D and ^Z so they are not self-delimiting characters, and
    +changes ^K so it is not a whitespace character.  (gs_init.ps, iscan.c,
    +scantab.c)
    +	- Makes = cause an error on non-read-accessible objects rather than
    +printing them as --nostringval--.  (gs_init.ps)
    +	- When -dSUBSTFONT= is used, makes findfont return the actual named
    +font, rather than a copy with the FontName changed to the requested one.
    +(gs_fonts.ps)
    +	- CFF fonts with a non-default FontMatrix caused an error.
    +(gs_cff.ps)
    +
    +Fixes some minor compilation warnings not affecting code functionality.
    +(iparam.c, zfcmap.c)
    +
    +Strengthens the test of o-stack validity in the main interpreter loop in
    +debug mode.  (interp.c)
    +
    +Changes the filling rule for Type 1 fonts from winding-number to even-odd.
    +This affects no properly designed fonts, and seems to match Adobe
    +interpreters better.  (zchar1.c)
    +
    +Implements non-standard Encodings in CFF fonts.  (gs_cff.ps)
    +
    +Changes the default halftone screen for 600 dpi printers from 85 to 106 lpi,
    +which reduces the number of halftone levels from 50 to 32 but produces
    +visually better output.  (gs_init.ps)
    +
    +

    Interpreter (PDF)

    +
    +Fixes bugs:
    +	- Pattern color spaces weren't supported.  (gs_pdf.ps, pdf_draw.ps)
    +
    +Causes references to undefined named Destinations to be ignored rather than
    +giving an error.  (pdf_main.ps)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- A 'const' was omitted in a declaration, upsetting several
    +compilers.  (gxclread.c)
    +	- arct and arcto gave an error for negative radii.  (gspath1.c)
    +	- The collinearity check for arct[o] could cause some arcs to be
    +rendered as single points.  (gspath1.c)
    +	- Uncolored patterns sometimes came out blank, because the color
    +wasn't set before calling the PaintProc.  (gspcolor.c)
    +	- The phase for masking colored patterns was wrong, producing
    +incorrect output.  (gspcolor.c)
    +	- reversepath always appended the current position to the new path,
    +rather than only doing so if the path just consisted of a single moveto.
    +(gxpath2.c)
    +	- cshow didn't restore the current font properly.  (gschar.h,
    +gschar.c)
    +	- The check for whether characters can be cached didn't consider
    +PaintType values other than 0 and 2.  (gschar.c)
    +	- The bounding box device didn't handle PageCount properly.
    +(gdevbbox.c)
    +	- Uncached fonts with a next_char procedure didn't set the glyph
    +properly.  (gschar.c)
    +	- Parallelograms with ax < bx, ay < by, and the 'a' edge to the
    +right of the 'b' edge weren't filled, causing pixels to be omitted from some
    +highly skewed images.  (gdevddrw.c)
    +	- 12-bit-per-pixel images in portrait orientation filled each scan
    +line with the value of the last pixel -- i.e., didn't work.  (gximage4.c)
    +	- The path representation of a clipping path could include some
    +inappropriate, leftover path segments.  (gxcpath.c)
    +	- The angle for the miter check was computed in device space rather
    +than in user space.  (gxstroke.c)
    +	- TrueType fonts were lumpy, and the accents of accented characters
    +were placed incorrectly.  (gstype42.c)
    +	- Some macros used for generating device prototypes didn't
    +parenthesize all uses of their parameters, causing possible errors if the
    +parameters were expressions rather than numeric constants.  (gdevprn.h)
    +	- When banding, strip halftones (typically produced by
    +AccurateScreens) sometimes didn't have the correct phase.  (gxbitmap.h,
    +gxclread.c)
    +	- A minor change was required for correct compilation with Microsoft
    +VC++.  (memory_.h)
    +	- Under certain conditions, character shapes could get wildly
    +distorted by hints.  (bug introduced in 5.01) (gxhint3.c)
    +
    +For greater Adobe compatibility:
    +	- Changes reversepath so that the implicit line created by closepath
    +is not considered a "segment".  (gxpath2.c)
    +
    +Fixes some minor compilation warnings not affecting code functionality.
    +(gstype1.c)
    +
    +Changes the font and scaled-font caches so that if the font has a UID
    +(UniqueID or XUID), the UID and FontType are both considered part of the
    +key, and we don't cache fonts with non-zero PaintType.  (The Red Book says
    +that changing anything except the Encoding should also change or remove the
    +UID, but some files don't do this.  The current fix is probably not
    +sufficient, but it is a step in the right direction.)  (gxfcache.h,
    +gxccache.c, gxccman.c)
    +
    +Splits off the definitions of font_type and fbit_type into a separate file,
    +since gxfcache.h now needs font_type.  (gxfcache.h, gxfont.h, gxftype.h)
    +
    +Makes the Flex feature in Type 1 fonts conform to the published
    +specification, rather than always producing curves.  The comment in the code
    +(and in the NEWS entry for release 2.6) says that this breaks some very old
    +Adobe fonts: if this turns out to be a problem, we'll figure out a test that
    +will do the right thing for these fonts.  (gstype1.c)
    +
    +Provides 'double' versions of some API functions to accommodate the
    +increased use of doubles in the interpreter.  (gschar.h, gschar.c)
    +
    +Adds a compile-time option to force the use of strip halftones, for
    +debugging.  (gshtscr.c)
    +
    +Changes the hint snapping algorithm in the Type 1 rasterizer so that it will
    +only change a stem width by a maximum of 1/2 pixel rather than 1 pixel.
    +This appears to help with dropouts at certain sizes.  (gxhint2.c)
    +
    +Makes a few changes for clean compilation on BeOS.  (stdpre.h, stat_.h,
    +gxcpath.c)
    +
    +
    + +
    + +

    Version 5.01 (6/22/97)

    + +

    +This fixes a few bugs reported in the 5.0 release. This will be a +commercially supported release. + +

    Documentation

    +
    +Fixes bugs:
    +	- README referred to an obsolete file devarch.txt.  (README)
    +	- The comment on flip4x12 had a typo.  (gsflip.c)
    +	- The algorithm comments for adjusted_y_spans_pixel weren't precise
    +enough.  (gxfill.c)
    +	- The usage message printed by the ps2pdf script didn't indicate
    +that one can now insert options before the input file name.  (ps2pdf)
    +	- The file searching documentation didn't indicate that paths
    +beginning with ./ or ../ are considered "explicit" and not subject to
    +searching.  (use.txt)
    +	- The description of SEARCH_HERE_FIRST in the per-platform makefiles
    +indicated that it only applied to initialization files, not to files
    +specified on the command line as well.  (*.mak)
    +	- There were still some references to 16-bit implementations.
    +(install.txt)
    +
    +Clarifies that -dNODISPLAY also suppresses output to other devices.
    +(use.txt)
    +
    +Adds the e-mail address for reporting problems to the bug report form, and
    +also a space to report makefile changes.  (bug-form.txt)
    +
    +Adds a note under -g indicating that it fixes the media size.  (use.txt)
    +
    +Adds an explanation of why Ghostscript can't use the system libraries for
    +the JPEG package.  (make.txt)
    +
    +Notes that ps2ai doesn't work properly with Adobe's Helvetica-Oblique font,
    +and other fonts whose original FontMatrix involves skewing or rotation.
    +(psfiles.txt)
    +
    +Updates the uniprint documentation slightly.  (devices.txt)
    +
    +Notes that the new lj5 drivers do not work with the LJ5L.  (devs.mak)
    +
    +Modifies the Aladdin Free Public License slightly to make it clearer that
    +the exception for freely redistributable CD-ROMs only applies if the CD-ROM
    +is being distributed by itself, not with anything else commercial.  (This
    +has always been the case, but the previous wording wasn't clear enough.)
    +(PUBLIC)
    +
    +Notes that gcc with -O still has code generation problems on H-P RISC
    +machines.  (make.txt)
    +
    +Adds a pointer to Martin Lottermoser's hpdj driver.  (new-user.txt)
    +
    +Enhances and reorganizes the documentation for building Ghostscript, in
    +response to user feedback.  (make.txt, install.txt)
    +
    +Adds a description of the EPSF recognition feature.  (language.txt)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- string__h was misspelled string_h in one place.  (lib.mak)
    +	- gs_dps.ps wasn't installed by "make install".  (unix-end.mak)
    +	- ccgs (used with non-ANSI C compilers) didn't do the right thing
    +with -DPNG_USE_CONST.  (ccgs)
    +
    +Adds support for version 96 of libpng, and updates all the makefiles to
    +reference it.  (libpng.mak, *.mak)
    +
    +Updates the MSVC makefiles to get rid of some warning messages and provide a
    +way to specify a library path for the final link.  (msvc*.mak)
    +
    +

    Utilities

    +
    +Fixes bugs:
    +	- The usage message for the gslp utility had a minor typo.
    +(gslp.ps)
    +	- The "line printer" utility didn't expand tabs properly when
    +producing PostScript output.  (gslp.ps)
    +	- The gslp utility didn't automatically include the date.  (gslp)
    +	- The line printer scripts didn't pass the script name to the
    +utility program, so the usage message didn't use the correct name.  (gsbj*,
    +gsdj*, gslj*, gslp*, lp*)
    +
    +Modifies the gslp utility so that invoking it with no arguments prints the
    +usage message.  (gslp.ps)
    +
    +Adds the ability to specify the number of bits per component to the
    +CMYK-viewing utility.  (viewcmyk.ps)
    +
    +Changes the ps2pdf script so that on Windows NT, as on Unix, it allows
    +omitting the output file name, automatically replacing the extension of the
    +input file with .pdf.  (ps2pdf.bat)
    +
    +

    Drivers

    +
    +Fixes bugs:
    +	- Some compilers didn't accept a #define with the macro name on the
    +next line.  (gdevpx.c)
    +	- The procedure dash_pattern_eq was defined in two places.
    +(gdevpdf.c)
    +	- The uniprint driver sometimes dropped some output or got confused,
    +because of a misunderstanding about how to update device procedure vectors
    +properly.  (gdevupd.c)
    +	- The PostScript and EPS writers produced binary output for images,
    +which generally can't be sent to PostScript printers.  (gdevpsdf.h,
    +gdevpdf.c, gdevps.c)
    +	- The EPS writer put a %%EOF at the end of the file, which might
    +cause problems for some spoolers if the file is embedded in another.
    +(gdevps.c)
    +
    +Changes the implementation of printer drivers so that they flush the output
    +stream after each page.  We aren't absolutely sure that this is a good idea,
    +but it prevents certain anomalous behavior where the last page isn't ejected
    +properly.  (gdevprn.c)
    +
    +Implements a long-delayed update to the mgr drivers, to restore the color
    +mapping to an older one.  (gdevmgr.h, gdevmgr.c)
    +
    +Updates the uniprint driver with a number of changes from its author.
    +(gdevupd.c)
    +
    +

    Platforms

    +
    +Adds the JPEG, Postscript, and PCL XL drivers, which are included on all
    +other platforms, to the MS Windows platforms.  (bcwin32.mak, msvc4.mak,
    +msvc5.mak, watcw32.mak)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- composefont defined the resource with the font name and font
    +directory interchanged.  (gs_cmap.ps)
    +	- With dFIXEDMEDIA, documents requesting other sizes caused an error
    +instead of clipping the page.  (gs_init.ps)
    +	- PageSize Policy = 7 wasn't implemented.  (However, the current
    +implementation is wrong.)  (gs_setpd.ps, zmedia2.c)
    +	- FontType resource 42 wasn't defined even if Type 42 fonts were
    +supported; similarly for FontType 9, 10, and 11 for CIDFonts.  (gs_cidfn.ps,
    +gs_res.ps)
    +	- The error handling machinery would break if the name /errordict
    +was redefined.  (gs_init.ps)
    +	- Level 1 systems got an /undefined in .doneshowpage.  (zdevice.c,
    +zdevice2.c)
    +	- Because of an initialization order problem, copy didn't work on
    +gstates.  (zgeneric.c)
    +
    +Adds a naive implementation of findcolorrendering.  (gs_lev2.ps, gs_res.ps)
    +
    +Removes the 'stopped' around run_string[_begin/continue/end] so that, as in
    +4.03, errors print a hex dump and exit with a non-zero code instead of
    +printing a readable message and continuing.  (We aren't sure that this
    +change didn't undo the fix in 5.0 regarding calling startjob from
    +run_string.)  (gs_init.ps)
    +
    +

    Interpreter (PDF)

    +
    +Fixes bugs:
    +	- stdin redirection failed for PDF files even if the new stdin was
    +seekable.  This was fixed in 4.02, but the fix stopped working with the
    +introduction of .runexec.  (pdf_main.ps)
    +
    +Makes the cross-reference reader accept a startxref value that points at the
    +EOL before the xref line.  The Adobe documentation doesn't allow this, but
    +some real files are this way.  (pdf_main.ps)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- The bounding box of a completely empty path was reported as
    +garbage.  (gxpath2.c)
    +	- Stroking a path with more than one segment didn't produce correct
    +output when anti-aliasing was used.  (gspaint.c)
    +	- The alpha-buffer device returned an incorrect clipping box,
    +causing output to be discarded.  (gdevabuf.c)
    +	- gx_forward_get_clipping_box passed the wrong device to the target
    +procedure, producing incorrect results.  (gdevnfwd.c)
    +	- The sin/cos procedure did some unnecessary computations
    +(performance bug only).  (gsmisc.c)
    +	- The procedure for adjusting the ends of curves to match the
    +tangents did some unnecessary computations (performance bug only).
    +(gxpcopy.c)
    +	- RAM-based banding always gave an invalidfileaccess error, due to a
    +typo in memfile_fopen.  (gxclmem.c)
    +	- The algorithms for deciding whether a line is thin still weren't
    +correct.  (gxstroke.c)
    +	- The fill adjustment values for the any-part-of-pixel case (adjust
    += 0.5) were (0.5-epsilon, 0.5+epsilon), which colored inappropriate
    +additional pixels if the higher coordinate was integral.  With considerable
    +trepidation, we have changed this to (0.5-epsilon,0.5), which does the right
    +thing in every case we can think of.  (gxfill.c)
    +	- When banding, paths were clipped to only 0.5 pixel outside their
    +bounding box, which may be slightly too conservative; 1 pixel is safer.
    +(gxclpath.c)
    +	- The algorithm for testing whether an adjusted Y value spanned a
    +pixel center was incorrect, causing some pixels to get colored incorrectly.
    +(gxfill.c)
    +	- 24-bit devices could cause a memory fault, by accessing a pointer
    +just beyond the end of the line pointer array.  (gdevm24.c)
    +	- Astonishingly enough, the determination of which hints were
    +applicable to a given segment of a Type 1 character was wrong in several
    +different places.  Fixing this in a way that correctly handled all allowed
    +permutations of the coordinate system was not simple.  (gxfont1.h,
    +gxhint1.c, gxhint3.c)
    +	- The debugging printout macros didn't include the syntactic hack to
    +prevent an 'else' from begin assigned to the wrong 'if'.  (gdebug.h)
    +	- The bbox device was accidentally limited to 130 x 130 pixels (not
    +130" x 130").  (bug introduced in 5.0) (gdevbbox.c)
    +	- The bbox device didn't recognize PageBoundingBox in put_params,
    +causing a possible /undefined error on [g]restore.  (gdevbbox.c)
    +	- setlinewidth didn't take the absolute value of its operand.
    +(zgstate.c)
    +	- Some code formatting was slightly off.  (gximage5.c)
    +	- Some extra pixels were written for Interpolated images, but they
    +were immediately overwritten, so the output was correct.  (gximage5.c)
    +
    +Changes the data flipping API from a macro to a procedure, adds a return
    +value, and makes the individual flipping procedures private.  (gsflip.h,
    +gsflip.c)
    +
    +Adds (under an #ifdef FUTURE) code to allow passing multi-plane images
    +through the band list.  (gxclpath.h, gxclimag.c, gxclread.c)
    +
    +Adds (under an #ifdef FUTURE) code to allow passing interpolated images
    +through the band list.  NOTE: interpolated images will appear slightly
    +different than without banding, because the part of the image intersecting
    +each band will be scaled slightly differently in the (device) Y direction.
    +(gxclpath.h, gxclimag.c, gxclread.c, gximage.c)
    +
    +Changes Type 1 hinting so that when it moves points on a curve, it does so
    +by properly scaling the curve in the given direction.  (gxhint3.c)
    +
    +
    + +
    + +

    Version 5.0 (6/6/97)

    + +

    +This is the first public release since 4.03. + +

    Documentation

    +
    +Fixes bugs:
    +	- Fontmap.Sol was incorrectly referred to as Fontmap.Solaris.
    +(use.txt)
    +	- There was still a reference to pstoppm in the documentation.
    +(psfiles.txt)
    +	- The JPEG DOS source site information was out of date.  (jpeg.mak)
    +	- The list of devices included in the distributed Unix makefiles was
    +out of date.  (make.txt)
    +	- The MCU size limitation on the DCT filters was documented
    +incorrectly.  (current.txt)
    +	- The URL for the uniprint driver home page was incorrect.
    +(devices.txt)
    +	- The makefiles referred to sfilefd.c, which is now named sfxfd.c.
    +(gs.mak, *.mak)
    +
    +Adds a VMS help file.  (gs-vms.hlp)
    +
    +Removes documentation for Digital Unix (OSF/1) 1.2 and 1.3, which are now
    +long obsolete, and updates the documentation for current versions.
    +(make.txt)
    +
    +Notes that there may be a problem with libpng version 0.95.  (libpng.mak)
    +
    +Adds some specific documentation for the JPEG drivers.  (devices.txt)
    +
    +Adds a suggestion that people compiling Ghostscript check the values of
    +JVERSION and PVERSION.  (make.txt)
    +
    +Removes the requirement for setting the LIB environment variable when
    +compiling with MSVC.  (make.txt)
    +
    +

    Procedures

    +
    +Fixes bugs:
    +	- There were a number of small errors in the new OpenVMS makefile.
    +(openvms.mak)
    +	- The MSVC makefiles omitted a necessary switch to work around some
    +"unspecified Pentium bugs".  (msvccom.mak)
    +	- The Borland makefile wasn't even close to working; fixing it
    +required moving the compilation rule for genarch.exe into the
    +compiler-specific makefiles.  (bcwin32.mak, msvccom.mak, watcw32.mak,
    +wincom.mak)
    +	- There were some (harmless) undefined macro references in the MSVC
    +makefile.  (msvccom.mak)
    +
    +Makes it unnecessary to set the LIB environment variable for MSVC.
    +(msvc4.mak, msvc5.mak, wincom.mak)
    +
    +Adds a note on compiling with the cygwin32 gcc compiler for Windows NT.
    +(make.txt)
    +
    +Updates vms.mak yet again, hopefully for the last time.  (vms.mak)
    +
    +Moves the CGM, JPEG, and MIFF file formats from DEVICE_DEVS8 to
    +DEVICE_DEVS14 to shorten command lines; adds pcxcmyk to all platforms that
    +include PCX format at all; adds jpeggray to all platforms that include jpeg.
    +(devs.mak, *.mak)
    +
    +Adds -DPNG_USE_CONST for compiling libpng, to get rid of compiler warning
    +messages.  (gs.mak)
    +
    +Removes obsolete makefiles from the fileset.  (tccommon.mak, tctail.mak)
    +
    +

    Interpreter

    +
    +Fixes bugs:
    +	- restore was broken if -dNOBIND was invoked.  This fix should have
    +been in the 4.81 fileset, but was left out due to operator error.
    +(gs_dps1.ps)
    +	- Some compilers complained about macro argument replacement within
    +a string literal.  (isave.c)
    +	-dSAFER didn't allow opening the %stdxxx files, which caused the
    +combination of -dSAFER and -dNOBIND to cause an infinite error.
    +(gs_init.ps)
    +	- If C code used run_string to execute a startjob, an error
    +occurred.  (gs_init.ps)
    +
    +

    Library

    +
    +Fixes bugs:
    +	- Some compilers complained about macro argument replacement within
    +a string literal.  (gxclbits.c, gdevpdfi.c)
    +	- At certain resolutions, a 1-pixel line of the wrong color could
    +appear at one edge of landscape-oriented monobit images.  (This is the 4th
    +or 5th time we have "fixed" this one infuriatingly fragile piece of code.)
    +(gxfixed.h, gximage1.c)
    +	- The optimized code for landscape monobit images overlooked the
    +possibility of partial images, causing parts of images to be translated and
    +possibly clipped.  (Yes, it's that same fragile piece of code.)
    +(gximage1.c)
    +	- The bounding box device allowed resetting its resolution, which
    +could cause limitchecks from coordinate overflow.  Our fix is to initialize
    +the device to a very high resolution (4000 dpi), which reduces the maximum
    +page size it can handle to about 130" on a side.  (gdevbbox.c)
    +	- The bounding box device wasn't identified as a page device.
    +(gdevbbox.c)
    +	- The bounding box device used alone disregarded changes in page
    +size.  (gdevbbox.c)
    +	- One old compiler didn't allow a structure member name to be the
    +same as a typedef name.  (gximage.h, gximage.c, gximage4.c)
    +	- The height and band intersection computations for banded images
    +still weren't right, leading to inconsistencies in the band list and errors
    +in the output (typically, thin horizontal white stripes at band boundaries).
    +(gxclimag.c)
    +
    +Adds an extensive memory dump facility to the standard allocator.
    +Eventually this should be moved into a separate file, but it would be too
    +disruptive to do this just before a release.  (gsalloc.c)
    +
    +
    + + + + +
    + +

    +Copyright © 1997, 1998, 1999, 2000 Aladdin Enterprises. +All rights reserved. + +

    +This software is provided AS-IS with no warranty, either express or +implied. + +This software is distributed under license and may not be copied, +modified or distributed except as expressly authorized under the terms +of the license contained in the file LICENSE in this distribution. + +

    +Ghostscript version 7.07, 17 May 2003 + + + + + diff --git a/Master/xemtex/doc/ghostscript/History6.htm b/Master/xemtex/doc/ghostscript/History6.htm new file mode 100644 index 00000000000..c6229760705 --- /dev/null +++ b/Master/xemtex/doc/ghostscript/History6.htm @@ -0,0 +1,7293 @@ + + + +History of Ghostscript versions 6.n + + + + + + + + + + + +
    History of Ghostscript versions 6.n +
    + + + + + +

    Table of contents

    + +
    + + + + + +

    +This document is a record of changes in Ghostscript releases numbered 6.n. +For earlier versions, see the the history documents: + +

    +History of Ghostscript versions 5.n
    +History of Ghostscript versions 4.n
    +History of Ghostscript versions 3.n
    +History of Ghostscript versions 2.n
    +History of Ghostscript versions 1.n +
    + +

    For other information, see the Ghostscript +overview. + + + +


    + + + + + +

    +Within each release, news appears in the following order: Incompatible +changes, Documentation, Procedures, Utilities, Drivers, Platforms, Fonts, +PDF writer (included under Drivers through fileset 5.88), Interpreter, +Streams (included under Interpreter through release 2.9.9), Library. +Changes marked with a * were made available as patches to a previous +release. + +


    + +

    Version 6.64 (2001-04-07)

    + +

    +This is probably the last beta release before 7.0. Most of the patches +since last time are bug and portability fixes. + +

    +All problems registered on SourceForge numbered 414104 or lower are +closed, except for the following: 209350, 215256, 219798, 221582, +222534, 222727, 224056, 224863, 226477, 226584, 227684, 227709, +228180, 228641, 230694, 231390, 404255, 404482, 405342, 406285, +406689, 406696, 406979, 407342, 409887, 410371, 411753, 413114, +413669, 413747, 414022, 414104. + +

    Incompatible changes

    + +
    +(Library)
    +	- The gs_logical_operation_t type now has a bit indicating
    +PDF 1.4 transparency.
    +(Build process)
    +	- The default directories for XLIBDIR and XINCLUDE now point
    +to /usr/X11R6. 
    +
    +
    +

    Documentation

    +
    +1. Removing the article "Minor Bugs. kshow doesn't restore currentfont after
    +running proc." due to fixed. 2. Adding article "Buffering in input filters"
    +to "Differences from Adobe Implementation". (doc/Issues.htm [1.6]:
    +2001/04/03 15:53:01 igorm)
    +
    +Updates Glenn Ramsey's email address in the Epson 300 documentation.
    +(doc/Devices.htm [1.24]: 2001/04/04 04:25:00 raph)
    +
    +Adds request for code-review submissions to identify intended branches.
    +(doc/Maintain.htm [1.14]: 2001/04/04 07:22:48 raph)
    +
    +Move SourceForge bug #226943 to the "Other implementation" section of this
    +document. The %ram% device has never been a user or customer issue, but it
    +might be handy to have. (doc/Projects.htm [1.27]: 2001/04/04 16:36:36 rayjj)
    +
    +Updates to documentation. Remove the statement that the Inprise compiler is
    +used for Windows distribution archives. (doc/Bug-info.htm [1.14],
    +doc/Fonts.htm [1.16], doc/Install.htm [1.20], doc/Make.htm [1.26],
    +doc/New-user.htm [1.23], doc/Release.htm [1.32], doc/Tester.htm [1.10]:
    +2001/04/05 08:49:57 ghostgum)
    +
    +Adds issues from SourceForge bug numbers: 232334, 233403, 406643. Also adds
    +missing bug ID for #228808. (doc/Issues.htm [1.7]: 2001/04/05 14:44:39
    +rayjj)
    +
    +Various documenation fixups. Removes pointer to external pdf_sec.ps now that
    +the full implementation is in our distribution. Adds note on the
    +class="offset" attribute to the html style guidelines. (doc/API.htm [1.5],
    +doc/Bug-form.htm [1.18], doc/Htmstyle.htm [1.13], doc/New-user.htm [1.24],
    +doc/Psfiles.htm [1.17], doc/Readme.htm [1.25]: 2001/04/06 11:27:00 giles)
    +
    +Uses better test for avoiding crash on "gs -h". Also updates API document.
    +Thanks to Russell Lang. (doc/API.htm [1.6]: 2001/04/07 00:08:08 raph)
    +
    +adds a last few doc fixups before the 6.64 beta release.
    +(doc/Bug-info.htm [1.15], doc/C-style.htm [1.15], doc/Htmstyle.htm [1.14]:
    +2001/04/07 00:15:02 giles)
    +
    +Integrates patch from hpijs 0.94 so that Ghostscript can use hpijs drivers.
    +(doc/Devices.htm [1.25]: 2001/04/07 00:33:29 raph)
    +
    +Corrections to interpreter API documentation. If "gs -h" executed,
    +gsapi_exit() must be called next. Assign copyright to artofcode LLC.
    +(doc/API.htm [1.7]: 2001/04/07 01:17:50 ghostgum)
    +
    +Updates version number and date in preparation for 6.64 release. Updates
    +Develop.htm to accurately list source files. (doc/API.htm [1.8],
    +doc/Bug-form.htm [1.19], doc/Bug-info.htm [1.16], doc/C-style.htm [1.16],
    +doc/Commprod.htm [1.12], doc/Copying.htm [1.10], doc/Current.htm [1.10],
    +doc/DLL.htm [1.12], doc/Develop.htm [1.36], doc/Devices.htm [1.26],
    +doc/Drivers.htm [1.18], doc/Fonts.htm [1.17], doc/Helpers.htm [1.14],
    +doc/History1.htm [1.10], doc/History2.htm [1.10], doc/History3.htm [1.10],
    +doc/History4.htm [1.10], doc/History5.htm [1.12], doc/History6.htm [1.25],
    +doc/Htmstyle.htm [1.15], doc/Install.htm [1.21], doc/Issues.htm [1.8],
    +doc/Language.htm [1.29], doc/Lib.htm [1.10], doc/Maintain.htm [1.15],
    +doc/Make.htm [1.27], doc/New-user.htm [1.25], doc/News.htm [1.83],
    +doc/Projects.htm [1.28], doc/Ps-style.htm [1.10], doc/Ps2epsi.htm [1.11],
    +doc/Ps2pdf.htm [1.28], doc/Psfiles.htm [1.18], doc/README [1.9],
    +doc/Readme.htm [1.26], doc/Release.htm [1.33], doc/Source.htm [1.10],
    +doc/Tester.htm [1.11], doc/Unix-lpr.htm [1.10], doc/Use.htm [1.26],
    +doc/Xfonts.htm [1.10], doc/gs-vms.hlp [1.9], man/dvipdf.1 [1.7],
    +man/font2c.1 [1.7], man/gs.1 [1.7], man/gslp.1 [1.7], man/gsnd.1 [1.7],
    +man/pdf2dsc.1 [1.7], man/pdf2ps.1 [1.9], man/pdfopt.1 [1.7],
    +man/pf2afm.1 [1.7], man/pfbtopfa.1 [1.8], man/printafm.1 [1.7],
    +man/ps2ascii.1 [1.7], man/ps2epsi.1 [1.7], man/ps2pdf.1 [1.11],
    +man/ps2pdfwr.1 [1.8], man/ps2ps.1 [1.14], man/wftopfa.1 [1.7]: 2001/04/07
    +07:55:24 raph)
    +
    +Trivial doc patch. (doc/Develop.htm [1.37]: 2001/04/07 07:58:50 raph)
    +
    +Documentation fixups for broken internal links. (doc/Devices.htm [1.27],
    +doc/Maintain.htm [1.16], doc/Make.htm [1.28], doc/Release.htm [1.34]:
    +2001/04/07 08:18:53 giles)
    +
    +

    Procedures

    +
    +Fixes problems:
    +	- Speed up shading type 1. (lib.mak [1.47]: 2001/04/05 08:32:28
    +igorm)
    +
    +Adds target to OS/2 makefile to build distribution zip archive. Disables
    +multiple image windows for OS/2 because we can't tell when subsequent
    +windows are closed. To allow multiple windows we would need to rewrite
    +gspmdrv.c. (os2.mak [1.14]: 2001/04/01 10:13:24 ghostgum)
    +
    +Remove the bmpa*** devices from the default build. These are example devices
    +to demonstrate async rendering but do not have any advantages to users over
    +the bmp*** devices, and their inclusion requires thread support which is not
    +available on all systems. Resolves SourceForge bug #213799.
    +(unix-gcc.mak [1.15], unixansi.mak [1.11], unixtrad.mak [1.11]: 2001/04/03
    +20:04:46 rayjj)
    +
    +updates to support libpng v1.0.9. (all-arch.mak [1.7], bcwin32.mak [1.9],
    +dvx-gcc.mak [1.9], libpng.mak [1.5], msvc32.mak [1.14], msvclib.mak [1.11],
    +openvms.mak [1.10], os2.mak [1.15], ugcclib.mak [1.10], unix-gcc.mak [1.16],
    +unixansi.mak [1.12], unixtrad.mak [1.12], watc.mak [1.11],
    +watclib.mak [1.11], watcw32.mak [1.10]: 2001/04/04 07:51:15 giles)
    +
    +updates to support libpng v1.0.10. OS/2 makefile fixup for v1.0.9 and above
    +from Russell Lang. (all-arch.mak [1.8], bcwin32.mak [1.10],
    +dvx-gcc.mak [1.10], libpng.mak [1.6], msvc32.mak [1.15], msvclib.mak [1.12],
    +openvms.mak [1.11], os2.mak [1.16], ugcclib.mak [1.11], unix-gcc.mak [1.17],
    +unixansi.mak [1.13], unixtrad.mak [1.13], watc.mak [1.12],
    +watclib.mak [1.12], watcw32.mak [1.11]: 2001/04/06 07:27:22 giles)
    +
    +Integrates patch from hpijs 0.94 so that Ghostscript can use hpijs drivers.
    +(contrib.mak [1.23]: 2001/04/07 00:33:29 raph)
    +
    +Changes default XLIBDIR and XINCLUDE to /usr/X11R6, which is far more likely
    +than the previous values. (contrib.mak [1.24], ugcclib.mak [1.12],
    +unix-gcc.mak [1.18], unixtrad.mak [1.14]: 2001/04/07 06:50:27 raph)
    +
    +Updates version number and date in preparation for 6.64 release. Updates
    +Develop.htm to accurately list source files. (version.mak [1.32]: 2001/04/07
    +07:55:25 raph)
    +
    +

    Utilities

    +
    +Fixes problems:
    +	- -dDELAYSAFER flag added; append operator fixed in Windows and OS/2
    +scripts; literal newlines removed from sed script. Bugs #223896, #230699
    +(lib/ps2epsi [1.5], lib/ps2epsi.bat [1.4], lib/ps2epsi.cmd [1.2],
    +lib/ps2epsi.ps [1.5]: 2001/04/04 04:45:42 alexcher)
    +	- The fileposition operator cannot be used on some data sources. Use
    +.fileposition (if on Ghostscript) and make some other changes to make this
    +portable to other PostScript interpreters. SourceForge bug #223005.
    +(lib/image-qa.ps [1.3]: 2001/04/04 04:54:53 rayjj)
    +	- Previous fix had OutputFile set to a debug value. Restoring it to
    +NUL (lib/ps2epsi.bat [1.5]: 2001/04/04 05:19:33 alexcher)
    +	- Adds whitespace to sed command in ps2epsi, needed on RedHat Linux 6.2.
    +(lib/ps2epsi [1.6]: 2001/04/04 21:05:00 raph)
    +
    +

    Drivers

    +
    +Fixes problems:
    +	- JPEG data made GC-traceable to prevent early freeing. Bug # 227090
    +gdevjpeg.c gdevpsdu.c sdeparam.c zfdctd.c zfdcte.c : JPEG control structure
    +is allocated with a descriptor. sdct.h : defines descriptors for JPEG
    +structures. sjpegc.c : implements the linked list of JPEG core blocks
    +sjpegd.c sjpege.c : corrects the initialization order of (de)compress
    +struct's gsstruct.h : yet another macro for a structure with 1 string and 1
    +ptr (gdevjpeg.c [1.3], gdevpsdu.c [1.10]: 2001/04/04 19:20:27 alexcher)
    +
    +Integrates patch from hpijs 0.94 so that Ghostscript can use hpijs drivers.
    +(gdevhpij.c [1.1], gdevhpij.h [1.1]: 2001/04/07 00:33:29 raph)
    +
    +

    PDF writer

    +
    +Fixes problems:
    +	- Emits W or W* after path construction operators when outputting
    +clip paths in the pdfwrite driver, to be correct with respect to the PDF
    +spec. (gdevpdfd.c [1.14]: 2001/04/07 07:12:52 raph)
    +
    +

    PDF Interpreter

    +
    +Fixes problems:
    +	- The search area for %%EOF at the end of PDF file is increased to
    +4K to cover a file generated by Distiller 3.02b for AIX 4.1.1 Customer #580
    +(lib/pdf_main.ps [1.31]: 2001/04/07 01:34:23 alexcher)
    +	- A comment is corrected to match the source.
    +(lib/pdf_main.ps [1.32]: 2001/04/07 01:47:00 alexcher)
    +
    +PDF 1.4 improvements: Fixes garbage collection of device filter stack.
    +Forces idempotent path drawing in transparency mode. Corrects handling of
    +Group at toplevel page. (lib/pdf_draw.ps [1.29], lib/pdf_main.ps [1.30]:
    +2001/04/06 22:23:44 raph)
    +
    +

    Interpreter

    +
    +Fixes problems:
    +	- Windows poll function now returns a code to interrupt Ghostscript
    +if the text window is closing. Don't show message box on exit if user closed
    +the text window. (dwmain.c [1.4], dwtext.c [1.3]: 2001/04/03 11:12:58
    +ghostgum)
    +	- equality operation between a pointer and enum constant (with 0
    +value) is a syntax error on CodeWarrior. Replacing the enum with NULL. From
    +Bernd Heller (zdscpars.c [1.10]: 2001/04/04 05:25:32 alexcher)
    +	- Register /All and /None in the name table on look-up. Otherwise an
    +attempt to set the separation color space fails with /undefined
    +(zcssepr.c [1.7]: 2001/04/04 16:09:15 alexcher)
    +	- JPEG data made GC-traceable to prevent early freeing. Bug # 227090
    +gdevjpeg.c gdevpsdu.c sdeparam.c zfdctd.c zfdcte.c : JPEG control structure
    +is allocated with a descriptor. sdct.h : defines descriptors for JPEG
    +structures. sjpegc.c : implements the linked list of JPEG core blocks
    +sjpegd.c sjpege.c : corrects the initialization order of (de)compress
    +struct's gsstruct.h : yet another macro for a structure with 1 string and 1
    +ptr (zfdctd.c [1.4], zfdcte.c [1.4]: 2001/04/04 19:20:27 alexcher)
    +	- Set default size of MAX_ESTACK to 5000. This is the minimal fix
    +recommended by L. Peter Deutsch in the followup to SourceForge bug #224095.
    +This should be fixed later to handle automatic stack expansion. The
    +approaches are defined by Peter as #2 and #3. Interim resolution to
    +SorceForge bug #224095. (interp.c [1.8]: 2001/04/06 06:42:45 rayjj)
    +	- Apparently Japanese Windows uses WM_USER+1 internally and
    +conflicts with gswin32c messages starting from WM_USER+1. So gswin32c
    +messages are moved to WM_USER+101 range. Fix from Akira Kakuto
    +(dwmainc.c [1.4]: 2001/04/06 08:36:02 ghostgum)
    +	- Do not put Windows stdin into binary mode if it is the console
    +because this returns CR and LF each time the Enter key is pressed. This
    +caused Ghostscript to not pause at following showpage prompts.
    +(dwmainc.c [1.5]: 2001/04/06 08:43:29 ghostgum)
    +	- Genoa FTS 035-07.ps got a SEGV error caused by data being
    +allocated in non-GC memory, but pointer enumumeration giving these pointers
    +to the GC for tracing. Since these objects didn't have GC type headers bad
    +things happened. Also change one of the allocations in sjpegc.c to immovable
    +that was not -- this change was not needed to prevent the crash.
    +(zfdctd.c [1.5]: 2001/04/07 00:33:22 rayjj)
    +	- Compressed fonts are now recognized as narrow during font
    +substitution. Customer #580 (lib/gs_fonts.ps [1.11]: 2001/04/07 01:07:01
    +alexcher)
    +	- two small issues with compilation under xlc on IBM AIX RS6000, a
    +name conflict with structures names (u)int64, and trailing commas in enum
    +declarations. Patch from Dan Coby. Sourceforge bug #414328.
    +(dscparse.h [1.4]: 2001/04/07 07:28:33 giles)
    +
    +Adds target to OS/2 makefile to build distribution zip archive. Disables
    +multiple image windows for OS/2 because we can't tell when subsequent
    +windows are closed. To allow multiple windows we would need to rewrite
    +gspmdrv.c. (dpmain.c [1.3]: 2001/04/01 10:13:24 ghostgum)
    +
    +updates to support libpng v1.0.10. OS/2 makefile fixup for v1.0.9 and above
    +from Russell Lang. (imain.c [1.11]: 2001/04/06 07:27:22 giles)
    +
    +Removed unecessary include of Macintosh QDOffscreen.h header (iapi.h [1.2]:
    +2001/04/06 22:57:46 bdheller)
    +
    +Uses better test for avoiding crash on "gs -h". Also updates API document.
    +Thanks to Russell Lang. (imain.c [1.12]: 2001/04/07 00:08:08 raph)
    +
    +Updates version number and date in preparation for 6.64 release. Updates
    +Develop.htm to accurately list source files. (lib/gs_init.ps [1.33]:
    +2001/04/07 07:55:25 raph)
    +
    +Removes \r\n line ends inadvertently added. (dscparse.h [1.5]: 2001/04/07
    +08:07:17 raph)
    +
    +

    Streams

    +
    +Fixes problems:
    +	- JPEG data made GC-traceable to prevent early freeing. Bug # 227090
    +gdevjpeg.c gdevpsdu.c sdeparam.c zfdctd.c zfdcte.c : JPEG control structure
    +is allocated with a descriptor. sdct.h : defines descriptors for JPEG
    +structures. sjpegc.c : implements the linked list of JPEG core blocks
    +sjpegd.c sjpege.c : corrects the initialization order of (de)compress
    +struct's gsstruct.h : yet another macro for a structure with 1 string and 1
    +ptr (sdct.h [1.3], sdeparam.c [1.3], sjpegc.c [1.3], sjpegd.c [1.3],
    +sjpege.c [1.3]: 2001/04/04 19:20:27 alexcher)
    +	- Genoa FTS 035-07.ps got a SEGV error caused by data being
    +allocated in non-GC memory, but pointer enumumeration giving these pointers
    +to the GC for tracing. Since these objects didn't have GC type headers bad
    +things happened. Also change one of the allocations in sjpegc.c to immovable
    +that was not -- this change was not needed to prevent the crash.
    +(sjpegc.c [1.4]: 2001/04/07 00:33:22 rayjj)
    +
    +

    Library

    +
    +Fixes problems:
    +	- Register /All and /None in the name table on look-up. Otherwise an
    +attempt to set the separation color space fails with /undefined
    +(gscsepr.c [1.8]: 2001/04/04 16:09:15 alexcher)
    +	- JPEG data made GC-traceable to prevent early freeing. Bug # 227090
    +gsstruct.h : yet another macro for a structure with 1 string and 1 ptr
    +(gsstruct.h [1.8]: 2001/04/04 18:45:08 alexcher)
    +	- Speed up shading type 1. (gsshade.c [1.4], gxshade1.c [1.9]:
    +2001/04/05 08:32:28 igorm)
    +	- Some compilers complain that: "Argument of type "stream *" is
    +incompatible with parameter of type "FILE *". Thanks to Nelson Beebe for
    +finding this (on SGI). (gs_stdio.h [1.2]: 2001/04/06 03:19:07 rayjj)
    +	- Fixes crashes in Type 4 function evaluator when stack is empty.
    +(gsfunc4.c [1.5]: 2001/04/06 22:22:38 raph)
    +
    +Adds a lop_pdf14 field to logical operators, which is used to force non-
    +idempotent drawing of paths. (gsropt.h [1.4]: 2001/04/05 23:21:15 raph)
    +
    +PDF 1.4 improvements: Fixes garbage collection of device filter stack.
    +Forces idempotent path drawing in transparency mode. Corrects handling of
    +Group at toplevel page. (gdevp14.c [1.2], gsstate.c [1.11]: 2001/04/06
    +22:23:44 raph)
    +
    +

    Other

    +
    +Fixes problems:
    +	- two small issues with compilation under xlc on IBM AIX RS6000, a
    +name conflict with structures names (u)int64, and trailing commas in enum
    +declarations. Patch from Dan Coby. Sourceforge bug #414328.
    +(icclib/icc.c [1.2], icclib/icc.h [1.2]: 2001/04/07 07:28:33 giles)
    +
    +Removes \r\n line ends inadvertently added. (icclib/icc.c [1.3],
    +icclib/icc.h [1.3]: 2001/04/07 08:07:16 raph)
    +
    +
    + +

    Version 6.63 (2001-03-31)

    + +

    +This is the second beta release for the upcoming 7.0 release. This +fileset contains a number of stability improvements for the new +display device, integration of PDF 1.4 rendering with all devices, and +the usual round of bug fixes. + +

    +All problems registered on SourceForge numbered 411753 or lower are +closed, except for the following: 201955, 202735, 206652, 209350, +213799, 215256, 219798, 220967, 221582, 222534, 222727, 223005, +223754, 223896, 223992, 224056, 224095, 224863, 226477, 226584, +226943, 227090, 227684, 227709, 228180, 228641, 230694, 230699, +231390, 232334, 233403, 404255, 404482, 405313, 406285, 406643, +406689, 406696, 406979, 407342, 409887, 410371, 410722, 411753. + +

    Incompatible changes

    + +
    +(Library)
    +	- The gs_text_enum_common structure has a new imaging_dev field
    +which is used by the bbox device to intercept low-level drawing
    +operations when drawing text.
    +	- There is a new pdf14 device filter used for rendering PDF 1.4
    +documents.
    +
    +
    +

    Documentation

    +
    +Moves the following SourceForge bugs to the Issues.htm documentation:
    +201955, 220967, 223992. (doc/Issues.htm [1.2]: 2001/03/20 07:36:30 rayjj)
    +
    +Added 2 issues related to JPEG in PDF, Bug 226391 (doc/Issues.htm [1.3]:
    +2001/03/20 16:41:28 alexcher)
    +
    +Adds %printer% device to Windows to allow a printer to be specified as
    +-sOutputFile="%printer%Printer Name". This replaces the use of
    +"\\spool\Printer Name" for all but Windows 3.1/Win32s. Unlike the old
    +\\spool\, the new %printer% device does not write a large temporary file.
    +(doc/Install.htm [1.17]: 2001/03/26 11:28:20 ghostgum)
    +
    +Change the search order for the Ghostscript Windows DLL to try the
    +executable directory before the location specified in the GS_DLL environment
    +variable. (doc/Install.htm [1.18]: 2001/03/27 09:35:22 ghostgum)
    +
    +Some attributes of Catalog object are lost during PDF to PDF conversion
    +(doc/Issues.htm [1.4]: 2001/03/27 21:03:18 alexcher)
    +
    +Increments version number after 6.62 release. (doc/News.htm [1.81]:
    +2001/03/28 21:27:15 raph)
    +
    +Updates dates in preparation for 6.63 beta release. News updated.
    +(doc/API.htm [1.4], doc/Bug-form.htm [1.17], doc/Bug-info.htm [1.13],
    +doc/C-style.htm [1.14], doc/Commprod.htm [1.11], doc/Copying.htm [1.9],
    +doc/Current.htm [1.9], doc/DLL.htm [1.11], doc/Develop.htm [1.35],
    +doc/Devices.htm [1.23], doc/Drivers.htm [1.17], doc/Fonts.htm [1.15],
    +doc/Helpers.htm [1.13], doc/History1.htm [1.9], doc/History2.htm [1.9],
    +doc/History3.htm [1.9], doc/History4.htm [1.9], doc/History5.htm [1.11],
    +doc/History6.htm [1.23], doc/Htmstyle.htm [1.12], doc/Install.htm [1.19],
    +doc/Issues.htm [1.5], doc/Language.htm [1.28], doc/Lib.htm [1.9],
    +doc/Maintain.htm [1.13], doc/Make.htm [1.25], doc/New-user.htm [1.22],
    +doc/News.htm [1.82], doc/Projects.htm [1.26], doc/Ps-style.htm [1.9],
    +doc/Ps2epsi.htm [1.10], doc/Ps2pdf.htm [1.27], doc/Psfiles.htm [1.16],
    +doc/README [1.8], doc/Readme.htm [1.24], doc/Release.htm [1.31],
    +doc/Source.htm [1.9], doc/Tester.htm [1.9], doc/Unix-lpr.htm [1.9],
    +doc/Use.htm [1.25], doc/Xfonts.htm [1.9], doc/gs-vms.hlp [1.8],
    +man/dvipdf.1 [1.6], man/font2c.1 [1.6], man/gs.1 [1.6], man/gslp.1 [1.6],
    +man/gsnd.1 [1.6], man/pdf2dsc.1 [1.6], man/pdf2ps.1 [1.8],
    +man/pdfopt.1 [1.6], man/pf2afm.1 [1.6], man/pfbtopfa.1 [1.7],
    +man/printafm.1 [1.6], man/ps2ascii.1 [1.6], man/ps2epsi.1 [1.6],
    +man/ps2pdf.1 [1.10], man/ps2pdfwr.1 [1.7], man/ps2ps.1 [1.13],
    +man/wftopfa.1 [1.6]: 2001/04/01 01:10:54 raph)
    +
    +

    Procedures

    +
    +Adds %printer% device to Windows to allow a printer to be specified as
    +-sOutputFile="%printer%Printer Name". This replaces the use of
    +"\\spool\Printer Name" for all but Windows 3.1/Win32s. Unlike the old
    +\\spool\, the new %printer% device does not write a large temporary file.
    +(winlib.mak [1.9]: 2001/03/26 11:28:20 ghostgum)
    +
    +Adds Windows %printer% device to MS Visual C++ build. (msvc32.mak [1.13]:
    +2001/03/26 12:00:07 ghostgum)
    +
    +Adds icclib subdirectory to tarballs. (toolbin/makeset.tcl [1.7]: 2001/03/28
    +21:24:00 raph)
    +
    +Increments version number after 6.62 release. (version.mak [1.30]:
    +2001/03/28 21:27:15 raph)
    +
    +Applies PDF 1.4 rendering with all devices. Previously, only pnga device
    +contained PDF 1.4 rendering capabilities. Now, when the PDF 1.4 imaging
    +model is detected in the source file, it installs the pdf 1.4 rendering
    +device as a device filter. (lib.mak [1.46]: 2001/04/01 00:30:41 raph)
    +
    +Updates dates in preparation for 6.63 beta release. News updated.
    +(version.mak [1.31]: 2001/04/01 01:10:55 raph)
    +
    +

    Utilities

    +
    +Fixes problems:
    +	- closefile added for procedure based stdio to prevent disabled
    +stream from appearing valid. (ziodevsc.c [1.2]: 2001/03/27 09:37:10
    +ghostgum)
    +	- Avoid rangecheck error when character code exceeds 255. Support
    +zero-size bitmap used by some fonts for space character.
    +(lib/bdftops.ps [1.3]: 2001/03/27 20:53:36 alexcher)
    +	- BATCH parameter is added to all bdftops* scripts
    +(lib/bdftops [1.2], lib/bdftops.bat [1.3], lib/bdftops.cmd [1.2]: 2001/03/27
    +21:15:55 alexcher)
    +	- Corrects memory allocation of command line arguments in the
    +programs which load the Ghostscript interpreter DLL / shared object.
    +(dxmain.c [1.2]: 2001/03/31 10:09:47 ghostgum)
    +
    +Adds %printer% device to Windows to allow a printer to be specified as
    +-sOutputFile="%printer%Printer Name". This replaces the use of
    +"\\spool\Printer Name" for all but Windows 3.1/Win32s. Unlike the old
    +\\spool\, the new %printer% device does not write a large temporary file.
    +(gp_msprn.c [1.1]: 2001/03/26 11:28:20 ghostgum)
    +
    +

    Drivers

    +
    +Fixes problems:
    +	- AutoFilter.* options now select lossless compression for the image
    +smaller than 64 pixels in any dimension. Bug # 226391 from a free user.
    +(gdevpsdi.c [1.14]: 2001/03/24 04:17:07 alexcher)
    +	- In the display device, allow NULL as a valid value for
    +DisplayHandle. Correct the code which requires the device to be closed
    +before changing the DisplayHandle and DisplayFormat parameters. SourceForge
    +bug # 411101. (gdevdsp.c [1.2]: 2001/03/28 08:46:15 ghostgum)
    +	- mdev->memory member was set to 0 causing gx_device_enum_ptr()
    +not enumerate mdev. This led to freeing of mdev by GC and memory exceptions
    +during de-allocation of the display device. (gdevdsp.c [1.3]: 2001/03/28
    +21:50:56 alexcher)
    +	- Correct memory allocation problems in the display device. Return
    +correct pointers from display_enum_ptrs so that the memory device and bitmap
    +are not moved or prematurely freed. Adds a finalize procedure. Change the
    +memory device to not forward to the display device. Mark the memory device
    +as retained so it gets freed at the correct time. (gdevdsp.c [1.4],
    +gdevdsp2.h [1.2]: 2001/03/29 07:26:57 ghostgum)
    +	- Prevents the buffered mode of the x11 device from missing updates
    +from the bitmap buffer to the X display. Fix for Artifex customer #1130
    +(gdevx.c [1.8]: 2001/03/30 18:22:28 rayjj)
    +
    +Adds Tumble parameter to mswinpr2 device for specifying the duplex
    +arrangement. Adds QueryUser to the parameters returned by
    +win_pr2_get_params, so that it works from the command line.
    +(gdevwpr2.c [1.8]: 2001/03/26 09:44:08 ghostgum)
    +
    +Adds %printer% device to Windows to allow a printer to be specified as
    +-sOutputFile="%printer%Printer Name". This replaces the use of
    +"\\spool\Printer Name" for all but Windows 3.1/Win32s. Unlike the old
    +\\spool\, the new %printer% device does not write a large temporary file.
    +(gdevwpr2.c [1.9]: 2001/03/26 11:28:20 ghostgum)
    +
    +Applies PDF 1.4 rendering with all devices. Previously, only pnga device
    +contained PDF 1.4 rendering capabilities. Now, when the PDF 1.4 imaging
    +model is detected in the source file, it installs the pdf 1.4 rendering
    +device as a device filter. (gdevp14.h [1.1]: 2001/04/01 00:30:41 raph)
    +
    +Change: The Ghostscript 'pwrite' function name conflicted with the standard
    +pwrite function defined in unistd.h on several systems. To avoid confusion
    +with the standard function change the name to stream_write. Also change
    +'pputc' to 'stream_putc' and 'pputs' to 'stream_puts'. Fixes SourceForge bug
    +#410772. Fix by Ray Johnston. (gdevps.c [1.16], gdevpsdu.c [1.9],
    +gdevpsu.c [1.4]: 2001/04/01 00:35:26 raph)
    +
    +

    PDF writer

    +
    +Fixes problems:
    +	- coordinate range is reduced to +/- 16383 to satisfy actual AR4
    +restrictions. When CTM was scaled to reduce the range, line width in stroke
    +and CTM in fill were wrong. Bug # 409105 from raf_mellen at
    +users.sourceforge.net (gdevpdfd.c [1.12]: 2001/03/21 04:25:48 alexcher)
    +	- ARTICLE pdfmark generated invalid bead object if /Page key was
    +left out. Bug # 227651 from mbentley at users.sourceforge.net
    +(gdevpdfm.c [1.10]: 2001/03/21 05:10:31 alexcher)
    +	- initial values of fill and stroke color didn't change when
    +ProcessColorModel changed. An attempt to set white color in CMYK mode was
    +ignored because it was considered equal to the default color. Bug #410441
    +from a free user. (gdevpdf.c [1.30]: 2001/03/22 15:12:48 alexcher)
    +	- pdf_reset_graphics() didn't set correct default color (black) in
    +/DeviceCMYK color model. An attempt to set white color was ignored because
    +it was considered equal to the default color causing white objects rendered
    +black. Bug #410441 from a free user. (gdevpdfg.c [1.11]: 2001/03/23 22:04:19
    +alexcher)
    +	- Maximum depth of an outline tree increased from 8 to 32. Bug
    +#410595 from a free user. (gdevpdfx.h [1.29]: 2001/03/23 22:18:28 alexcher)
    +
    +Change: The Ghostscript 'pwrite' function name conflicted with the standard
    +pwrite function defined in unistd.h on several systems. To avoid confusion
    +with the standard function change the name to stream_write. Also change
    +'pputc' to 'stream_putc' and 'pputs' to 'stream_puts'. Fixes SourceForge bug
    +#410772. Fix by Ray Johnston. (gdevpdf.c [1.31], gdevpdfb.c [1.4],
    +gdevpdfc.c [1.15], gdevpdfd.c [1.13], gdevpdfe.c [1.9], gdevpdfg.c [1.12],
    +gdevpdfj.c [1.6], gdevpdfm.c [1.11], gdevpdfo.c [1.7], gdevpdfs.c [1.3],
    +gdevpdft.c [1.32], gdevpdfu.c [1.15], gdevpdfw.c [1.10]: 2001/04/01 00:35:26
    +raph)
    +
    +

    PDF Interpreter

    +
    +Fixes problems:
    +	- OmniForm generates PDF files with endobj missing in some objects.
    +Adobe Acrobat Reader ignores this. Generally speaking, Ghostscript does not
    +attempt to accept files that grossly fail to obey the Adobe specification
    +and are produced by software other than a very few extremely widespread
    +applications. However work-around for this case is easy and unlikely to
    +break anything. SourceForge bug #406694. (lib/pdf_base.ps [1.14]: 2001/03/20
    +05:04:59 alexcher)
    +	- URI action was not converted to corresponding pdfmark and lost
    +during PDF to PDF conversion. Bug #409245, patch Leon Bottou with some
    +changes. (lib/pdf_main.ps [1.28]: 2001/03/24 23:59:23 alexcher)
    +
    +Implementation of security hooks for PDF reader by Geoffrey Keating is
    +merged into the main GS code base. (lib/pdf_sec.ps [1.3]: 2001/03/25
    +02:03:44 alexcher)
    +
    +Applies PDF 1.4 rendering with all devices. Previously, only pnga device
    +contained PDF 1.4 rendering capabilities. Now, when the PDF 1.4 imaging
    +model is detected in the source file, it installs the pdf 1.4 rendering
    +device as a device filter. (lib/pdf_main.ps [1.29]: 2001/04/01 00:30:41
    +raph)
    +
    +

    Interpreter

    +
    +Fixes problems:
    +	- flush procedure based stdout and stderr on exit. (imain.c [1.8]:
    +2001/03/27 09:38:39 ghostgum)
    +	- Fix for CIDFontType 0 : 1. Erroneous glyphs are drawn by cshow
    +(with -dNOCACHE); 2. Glyphs written in horizontal direction instead vertical
    +(with anti-aliasing); 3. Erroneous glyphs and awkward metrics (with
    +anti-aliasing and -dNOCACHE); Patches 1 & 3 from Hideyuki Suzuki
    +(hideyuki), improved by igorm. SourceForge bug #222683. (zchar1.c [1.7]:
    +2001/03/27 09:56:39 igorm)
    +	- Changes to introduce the min_left stream state variable set this
    +to 1 for procedure streams, which caused 1 character to be retained in the
    +stream buffer which was not passed to the client. This broke the DLL
    +interface where procedure callouts were used to get the string from the
    +callback. Procedure streams have no need for EOD lookahead (to force
    +closure) so the correct min_left value is 0. SourceForge bug #404331.
    +(zfproc.c [1.9]: 2001/03/29 04:09:40 rayjj)
    +	- After recognizing a number the scanner wrongly interpreted it as a
    +name, if the number ends at the end of input buffer. Change from Raph.
    +SourceForge bug #224205. (iscannum.c [1.3]: 2001/03/29 13:27:59 igorm)
    +	- Correct the Windows virtual key code passed from the image window
    +to the console. (dwimg.c [1.2]: 2001/03/31 10:07:48 ghostgum)
    +	- Put Windows console stdout and stderr in binary mode. Ignore the
    +initial callout for stdout and stderr as the procedure stream acquires a
    +buffer. (dwmainc.c [1.2], imain.c [1.9]: 2001/03/31 10:08:43 ghostgum)
    +	- Corrects memory allocation of command line arguments in the
    +programs which load the Ghostscript interpreter DLL / shared object.
    +(dpmain.c [1.2], dwmain.c [1.2], dwmainc.c [1.3]: 2001/03/31 10:09:47
    +ghostgum)
    +	- When gswin32 text window is closed, exit the interpreter on next
    +access to stdin and then destroy the text window. (dwmain.c [1.3],
    +dwtext.c [1.2], imain.c [1.10]: 2001/03/31 10:11:55 ghostgum)
    +
    +Change the search order for the Ghostscript Windows DLL to try the
    +executable directory before the location specified in the GS_DLL environment
    +variable. (dwdll.c [1.2]: 2001/03/27 09:35:22 ghostgum)
    +
    +Update mail address from bug-gs@aladdin.com to bug-gs@ghostscript.com.
    +(imainarg.c [1.10]: 2001/03/28 18:30:35 rayjj)
    +
    +Increments version number after 6.62 release. (lib/gs_init.ps [1.32]:
    +2001/03/28 21:27:15 raph)
    +
    +Applies PDF 1.4 rendering with all devices. Previously, only pnga device
    +contained PDF 1.4 rendering capabilities. Now, when the PDF 1.4 imaging
    +model is detected in the source file, it installs the pdf 1.4 rendering
    +device as a device filter. (zdfilter.c [1.2]: 2001/04/01 00:30:41 raph)
    +
    +Change: The Ghostscript 'pwrite' function name conflicted with the standard
    +pwrite function defined in unistd.h on several systems. To avoid confusion
    +with the standard function change the name to stream_write. Also change
    +'pputc' to 'stream_putc' and 'pputs' to 'stream_puts'. Fixes SourceForge bug
    +#410772. Fix by Ray Johnston. (zfcmap.c [1.9]: 2001/04/01 00:35:26 raph)
    +
    +

    Streams

    +
    +Fixes problems:
    +	- Changes to introduce the min_left stream state variable set this
    +to 1 for procedure streams, which caused 1 character to be retained in the
    +stream buffer which was not passed to the client. This broke the DLL
    +interface where procedure callouts were used to get the string from the
    +callback. Procedure streams have no need for EOD lookahead (to force
    +closure) so the correct min_left value is 0. SourceForge bug #404331.
    +(stream.c [1.11], stream.h [1.8]: 2001/03/29 04:09:40 rayjj)
    +
    +Change: The Ghostscript 'pwrite' function name conflicted with the standard
    +pwrite function defined in unistd.h on several systems. To avoid confusion
    +with the standard function change the name to stream_write. Also change
    +'pputc' to 'stream_putc' and 'pputs' to 'stream_puts'. Fixes SourceForge bug
    +#410772. Fix by Ray Johnston. (spprint.c [1.3], spprint.h [1.3],
    +spsdf.c [1.5]: 2001/04/01 00:35:26 raph)
    +
    +

    Library

    +
    +Fixes problems:
    +	- The old code can mis-identify ShadingType 1 function as constant
    +due to testing it at insufficient set of points. Replacing it with slower
    +accurate code. SourceForge bug #228714. (gxshade.c [1.6], gxshade.h [1.4],
    +gxshade1.c [1.8]: 2001/03/25 10:18:50 igorm)
    +	- Fix for CIDFontType 0 : 1. Erroneous glyphs are drawn by cshow
    +(with -dNOCACHE); 2. Glyphs written in horizontal direction instead vertical
    +(with anti-aliasing); 3. Erroneous glyphs and awkward metrics (with
    +anti-aliasing and -dNOCACHE); Patches 1 & 3 from Hideyuki Suzuki
    +(hideyuki), improved by igorm. SourceForge bug #222683. (gxchar.c [1.4]:
    +2001/03/27 09:56:39 igorm)
    +	- Adds imaging_dev field to text enumeration, so that bbox device
    +can intercept low level drawing operations caused by implementation of
    +forwarded high level text operations. (gdevbbox.c [1.4], gstext.c [1.6],
    +gxccache.c [1.4], gxtext.h [1.7]: 2001/04/01 00:33:36 raph)
    +
    +Applies PDF 1.4 rendering with all devices. Previously, only pnga device
    +contained PDF 1.4 rendering capabilities. Now, when the PDF 1.4 imaging
    +model is detected in the source file, it installs the pdf 1.4 rendering
    +device as a device filter. (gdevp14.c [1.1], gsdfilt.c [1.2],
    +gsdfilt.h [1.2]: 2001/04/01 00:30:41 raph)
    +
    +Change: The Ghostscript 'pwrite' function name conflicted with the standard
    +pwrite function defined in unistd.h on several systems. To avoid confusion
    +with the standard function change the name to stream_write. Also change
    +'pputc' to 'stream_putc' and 'pputs' to 'stream_puts'. Fixes SourceForge bug
    +#410772. Fix by Ray Johnston. (gdevpsf1.c [1.9], gdevpsfm.c [1.5],
    +gdevpsft.c [1.7], gsfunc4.c [1.4]: 2001/04/01 00:35:26 raph)
    +
    +
    + +

    Version 6.62 (2001-03-19)

    + +

    +This is the first beta release for the upcoming 7.0 release. This fileset +adds ICC profile support using Graeme Gill's icclib, and the new DLL +interface from Russell Lang. + +

    +All problems registered on SourceForge numbered 409245 or lower are +closed, except for the following: 201955, 202735, 206652, 209350, +213799, 215256, 219677, 219798, 220967, 221582, 222534, 222683, +222727, 223005, 223091, 223754, 223896, 223992, 224056, 224095, +224134, 224205, 224863, 226364, 226391, 226462, 226477, 226584, +226943, 227090, 227190, 227276, 227382, 227651, 227684, 227709, +228180, 228354, 228423, 228641, 228714, 228788, 228808, 229439, +230694, 230699, 231390, 232334, 232696, 233403, 404255, 404255, +404482, 404933, 405313, 406285, 406643, 406689, 406694, 406696, +406699, 406979, 407342, 409105, 409133, 409244, 409245. Note that, +since the 6.61 release, SourceForge has renumbered all bugs in the +1xxxxx range by adding 100000 (thus, they are now 2xxxxxx). + + +

    Documentation

    +
    +Increments version number to 6.62 as part of 6.61 release process.
    +(doc/News.htm [1.77]: 2001/02/24 01:56:01 raph)
    +
    +Adds Epson Stylus Color 300 support to uniprint, also some code cleanups.
    +Thanks to Glenn Ramsey and Gunther Hess for the patch.
    +(doc/Devices.htm [1.20]: 2001/03/03 00:45:01 raph)
    +
    +Added documentation for Ghostscript interpreter API as used by Windows and
    +OS/2 DLL and GNU/Linux shared object. (doc/API.htm [1.1], doc/DLL.htm [1.8],
    +doc/Readme.htm [1.20]: 2001/03/13 07:12:06 ghostgum)
    +
    +Documentation changes in preparation for 6.62 beta release.
    +(doc/API.htm [1.2], doc/Bug-form.htm [1.15], doc/Bug-info.htm [1.11],
    +doc/C-style.htm [1.12], doc/Commprod.htm [1.9], doc/Copying.htm [1.7],
    +doc/Current.htm [1.7], doc/DLL.htm [1.9], doc/Develop.htm [1.33],
    +doc/Devices.htm [1.21], doc/Drivers.htm [1.15], doc/Fonts.htm [1.13],
    +doc/Helpers.htm [1.10], doc/History1.htm [1.7], doc/History2.htm [1.7],
    +doc/History3.htm [1.7], doc/History4.htm [1.7], doc/History5.htm [1.9],
    +doc/History6.htm [1.19], doc/Htmstyle.htm [1.10], doc/Install.htm [1.15],
    +doc/Language.htm [1.26], doc/Lib.htm [1.7], doc/Maintain.htm [1.11],
    +doc/Make.htm [1.23], doc/New-user.htm [1.20], doc/News.htm [1.78],
    +doc/Projects.htm [1.24], doc/Ps-style.htm [1.7], doc/Ps2epsi.htm [1.8],
    +doc/Ps2pdf.htm [1.25], doc/Psfiles.htm [1.14], doc/README [1.6],
    +doc/Readme.htm [1.21], doc/Release.htm [1.29], doc/Source.htm [1.7],
    +doc/Tester.htm [1.7], doc/Unix-lpr.htm [1.7], doc/Use.htm [1.23],
    +doc/Xfonts.htm [1.7], doc/gs-vms.hlp [1.6], man/dvipdf.1 [1.4],
    +man/font2c.1 [1.4], man/gs.1 [1.4], man/gslp.1 [1.4], man/gsnd.1 [1.4],
    +man/pdf2dsc.1 [1.4], man/pdf2ps.1 [1.6], man/pdfopt.1 [1.4],
    +man/pf2afm.1 [1.4], man/pfbtopfa.1 [1.5], man/printafm.1 [1.4],
    +man/ps2ascii.1 [1.4], man/ps2epsi.1 [1.4], man/ps2pdf.1 [1.8],
    +man/ps2pdfwr.1 [1.5], man/ps2ps.1 [1.11], man/wftopfa.1 [1.4]: 2001/03/17
    +01:26:48 raph)
    +
    +Updates Changes and History6 files from cvs commit logs, in preparation for
    +6.62 beta release. (doc/Changes.htm [1.22], doc/History6.htm [1.20]:
    +2001/03/17 01:30:16 raph)
    +
    +There was a spelling error in Juan Manuel Acosta's name. His entry is also
    +moved to "major contributers" section. (doc/Helpers.htm [1.11]: 2001/03/19
    +16:46:05 alexcher)
    +
    +Updates date for 6.62 release to 2001-03-19. (doc/API.htm [1.3],
    +doc/Bug-form.htm [1.16], doc/Bug-info.htm [1.12], doc/C-style.htm [1.13],
    +doc/Commprod.htm [1.10], doc/Copying.htm [1.8], doc/Current.htm [1.8],
    +doc/DLL.htm [1.10], doc/Develop.htm [1.34], doc/Devices.htm [1.22],
    +doc/Drivers.htm [1.16], doc/Fonts.htm [1.14], doc/Helpers.htm [1.12],
    +doc/History1.htm [1.8], doc/History2.htm [1.8], doc/History3.htm [1.8],
    +doc/History4.htm [1.8], doc/History5.htm [1.10], doc/History6.htm [1.21],
    +doc/Htmstyle.htm [1.11], doc/Install.htm [1.16], doc/Language.htm [1.27],
    +doc/Lib.htm [1.8], doc/Maintain.htm [1.12], doc/Make.htm [1.24],
    +doc/New-user.htm [1.21], doc/News.htm [1.79], doc/Projects.htm [1.25],
    +doc/Ps-style.htm [1.8], doc/Ps2epsi.htm [1.9], doc/Ps2pdf.htm [1.26],
    +doc/Psfiles.htm [1.15], doc/README [1.7], doc/Readme.htm [1.22],
    +doc/Release.htm [1.30], doc/Source.htm [1.8], doc/Tester.htm [1.8],
    +doc/Unix-lpr.htm [1.8], doc/Use.htm [1.24], doc/Xfonts.htm [1.8],
    +doc/gs-vms.hlp [1.7], man/dvipdf.1 [1.5], man/font2c.1 [1.5],
    +man/gs.1 [1.5], man/gslp.1 [1.5], man/gsnd.1 [1.5], man/pdf2dsc.1 [1.5],
    +man/pdf2ps.1 [1.7], man/pdfopt.1 [1.5], man/pf2afm.1 [1.5],
    +man/pfbtopfa.1 [1.6], man/printafm.1 [1.5], man/ps2ascii.1 [1.5],
    +man/ps2epsi.1 [1.5], man/ps2pdf.1 [1.9], man/ps2pdfwr.1 [1.6],
    +man/ps2ps.1 [1.12], man/wftopfa.1 [1.5]: 2001/03/19 17:26:17 raph)
    +
    +Inital version of this file that will be used to capture notes about minor
    +bugs or compatibility that are identified when action will not be undertaken
    +immediately. (doc/Issues.htm [1.1]: 2001/03/19 19:27:04 rayjj)
    +
    +

    Procedures

    +
    +Fixes problems:
    +	- Minor changes to fix compilation on VMS, thanks to Jacob
    +=JoukJansen for the patch. (devs.mak [1.42]: 2001/03/01 22:16:02 raph)
    +	- Corrects whitespace for new entries in devs.mak for VMS build.
    +Thanks to Jouk Jansen. (devs.mak [1.44]: 2001/03/13 20:01:35 raph)
    +	- Fixes SourceForge bug #219677. Adds debug and debugclean targets
    +to MSVC++ makefile that build in the debugobj and debugbin directories.
    +Fixes BEGINFILES and BEGINFILES2 so that 'make clean' removes all files.
    +(msvc32.mak [1.10], winlib.mak [1.7]: 2001/03/16 22:53:18 ghostgum)
    +	- /None and /All separations are now supported. SourceForge bug
    +#228354. (lib.mak [1.45]: 2001/03/18 19:15:50 igorm)
    +	- Adds lib directory to MS-Windows distribution archive. Change
    +copyright message in MS-Windows setup program to artofcode LLC. Thanks to
    +Russell Lang for the patch. (winint.mak [1.7]: 2001/03/19 17:12:45 raph)
    +
    +Increments version number to 6.62 as part of 6.61 release process.
    +(version.mak [1.27]: 2001/02/24 01:56:01 raph)
    +
    +Provide alternate %stdin/out/err implementation using procedure based
    +streams and callouts. Previous stdio implementation with
    +STDIO_IMPLEMENTATION= New callout stdio implementation with
    +STDIO_IMPLEMENTATION=c Bug fix to zflush and zpeekstring. New stdio stream
    +code is in ziodevsc.c which will be in next commit. (bcwin32.mak [1.5],
    +dvx-gcc.mak [1.6], gs.mak [1.3], int.mak [1.43], msvc32.mak [1.7],
    +msvclib.mak [1.7], openvms.mak [1.7], os2.mak [1.10], ugcclib.mak [1.7],
    +unix-gcc.mak [1.10], unixansi.mak [1.8], unixtrad.mak [1.8], watc.mak [1.7],
    +watclib.mak [1.7], watcw32.mak [1.6]: 2001/03/12 04:05:19 ghostgum)
    +
    +Adds device filter pipeline, which will be used by PDF 1.4 and other
    +enhanced imaging operations. (int.mak [1.44], lib.mak [1.43]: 2001/03/13
    +00:41:10 raph)
    +
    +Implement new Ghostscript interpreter API for DLL or shared object.
    +Reimplement old DLL interface using new API. See iapi.h and iapi.c for new
    +API. For unix, build using "make so". Added loader programs for Ghostscript
    +interpreter library for GNU/Linux (dxmain.c), Windows (dw*.c) and OS/2
    +(dpmain.c). Add new "display" device for use with the new API. GNU/Linux
    +dxmain.c uses the "display" device, Gtk+ and GdkRgb for faster drawing than
    +the "x11" device. (devs.mak [1.43], gsdll2.def [1.2], gsdll32.def [1.2],
    +int.mak [1.45], msvc32.mak [1.8], os2.mak [1.11], unix-dll.mak [1.1],
    +unix-gcc.mak [1.11], winint.mak [1.6], winlib.mak [1.6]: 2001/03/13 07:09:28
    +ghostgum)
    +
    +When building the GNU/Linux shared object, separate directories soobj and sobin
    +are used to prevent 'make' from mixing the object files and building a
    +corrupt executable. Added 'API.htm' to the installed documentation files.
    +(unix-dll.mak [1.2], unix-gcc.mak [1.12], unixinst.mak [1.18]: 2001/03/15
    +09:11:28 ghostgum)
    +
    +Change path on Windows and OS/2 platforms from c:/aladdin
    +to c:/gs. (bcwin32.mak [1.6], msvc32.mak [1.9], msvclib.mak [1.8],
    +watc.mak [1.8], watclib.mak [1.8], watcw32.mak [1.7]: 2001/03/16 22:19:16
    +ghostgum)
    +
    +Integrates ICC profile input support from Jan Stoeckenius. Also includes
    +slightly modified version of icclib (icc.h, icc.c, icc9809.h) by Graeme
    +Gill. (bcwin32.mak [1.7], devs.mak [1.45], dvx-gcc.mak [1.7], gs.mak [1.4],
    +icclib.mak [1.1], int.mak [1.46], lib.mak [1.44], msvc32.mak [1.11],
    +msvclib.mak [1.9], openvms.mak [1.8], os2.mak [1.12], ugcclib.mak [1.8],
    +unix-gcc.mak [1.13], unixansi.mak [1.9], unixtrad.mak [1.9],
    +version.mak [1.28], watc.mak [1.9], watclib.mak [1.9], watcw32.mak [1.8],
    +wctail.mak [1.3], winlib.mak [1.8]: 2001/03/17 01:15:42 raph)
    +
    +Moves patched icclib 1.23 files into the new icclib/ subdirectory, with
    +makefile changes to match. Adds missing COPYRIGHT and other documentation to
    +icclib. Thanks to L. Peter Deutsch for pointing out the need.
    +(bcwin32.mak [1.8], dvx-gcc.mak [1.8], msvc32.mak [1.12],
    +msvclib.mak [1.10], openvms.mak [1.9], os2.mak [1.13], ugcclib.mak [1.9],
    +unix-gcc.mak [1.14], unixansi.mak [1.10], unixtrad.mak [1.10],
    +watc.mak [1.10], watclib.mak [1.10], watcw32.mak [1.9]: 2001/03/19 17:11:15
    +raph)
    +
    +Updates date for 6.62 release to 2001-03-19. (version.mak [1.29]: 2001/03/19
    +17:26:18 raph)
    +
    +

    Utilities

    +
    +Replace many references to exit() with returns. (gp_dvx.c [1.3],
    +gp_os2.c [1.7], gp_unix.c [1.4]: 2001/03/12 03:50:02 ghostgum)
    +
    +Cleanup of MS-Windows and OS/2 code. Remove old 16-bit MS-Windows code.
    +Remove references to stdout/err, replacing with eprintf(). Remove global
    +variables. Disable mswindll and os2dll devices if a callback function is not
    +provided. (gp_mswin.c [1.4], gp_os2.c [1.8]: 2001/03/12 03:56:13 ghostgum)
    +
    +stdio implementation using callouts. Missing file from last commit.
    +(ziodevsc.c [1.1]: 2001/03/12 04:11:28 ghostgum)
    +
    +Implement new Ghostscript interpreter API for DLL or shared object.
    +Reimplement old DLL interface using new API. See iapi.h and iapi.c for new
    +API. For unix, build using "make so". Added loader programs for Ghostscript
    +interpreter library for GNU/Linux (dxmain.c), Windows (dw*.c) and OS/2
    +(dpmain.c). Add new "display" device for use with the new API. GNU/Linux
    +dxmain.c uses the "display" device, Gtk+ and GdkRgb for faster drawing than
    +the "x11" device. (dxmain.c [1.1], gp_msdll.c [1.1], gp_mswin.c [1.5],
    +gp_os2.c [1.9], gsdll.c [1.4]: 2001/03/13 07:09:28 ghostgum)
    +
    +Integrates ICC profile input support from Jan Stoeckenius. Also includes
    +slightly modified version of icclib (icc.h, icc.c, icc9809.h) by Graeme
    +Gill. (icc.c [1.1]: 2001/03/17 01:15:42 raph)
    +
    +Moves patched icclib 1.23 files into the new icclib/ subdirectory, with
    +makefile changes to match. Adds missing COPYRIGHT and other documentation to
    +icclib. Thanks to L. Peter Deutsch for pointing out the need. (icc.c [1.2]:
    +2001/03/19 17:11:15 raph)
    +
    +

    Drivers

    +
    +Fixes problems:
    +	- to achieve page independence, every page must in the general case
    +set page parameters. To preserve duplexing the page cannot set page
    +parameters. New code checks the current page size and sets it only if it is
    +necessary. Bug #404376 reported by bannis at users.sourceforge.net
    +(gdevpsu.c [1.3]: 2001/03/03 03:27:03 alexcher)
    +
    +Adds Epson Stylus Color 300 support to uniprint, also some code cleanups.
    +Thanks to Glenn Ramsey and Gunther Hess for the patch. (gdevupd.c [1.4],
    +lib/stc300.upp [1.1], lib/stc300bl.upp [1.1], lib/stc300bm.upp [1.1]:
    +2001/03/03 00:45:01 raph)
    +
    +Cleanup of MS-Windows and OS/2 code. Remove old 16-bit MS-Windows code.
    +Remove references to stdout/err, replacing with eprintf(). Remove global
    +variables. Disable mswindll and os2dll devices if a callback function is not
    +provided. (gdevmswn.c [1.3], gdevpm.c [1.3], gdevwdib.c [1.3],
    +gdevwpr2.c [1.6], gdevwprn.c [1.3]: 2001/03/12 03:56:13 ghostgum)
    +
    +Redirect all user messages from stdout and stderr to outwrite() and
    +errwrite(). This is needed to allow stdout/err to be redirected to the
    +caller for DLL / shared object builds. (gdev4693.c [1.2], gdevcdj.c [1.5],
    +gdevhl7x.c [1.4], gdevifno.c [1.2], gdevimgn.c [1.3], gdevos2p.c [1.4],
    +gdevsppr.c [1.3], gdevsunr.c [1.3], gdevupd.c [1.5], gdevwddb.c [1.3],
    +gdevwpr2.c [1.7]: 2001/03/13 06:51:39 ghostgum)
    +
    +Implement new Ghostscript interpreter API for DLL or shared object.
    +Reimplement old DLL interface using new API. See iapi.h and iapi.c for new
    +API. For unix, build using "make so". Added loader programs for Ghostscript
    +interpreter library for GNU/Linux (dxmain.c), Windows (dw*.c) and OS/2
    +(dpmain.c). Add new "display" device for use with the new API. GNU/Linux
    +dxmain.c uses the "display" device, Gtk+ and GdkRgb for faster drawing than
    +the "x11" device. (gdevdsp.c [1.1], gdevdsp.h [1.1], gdevdsp2.h [1.1],
    +gdevmswn.c [1.4], gdevpm.c [1.4]: 2001/03/13 07:09:28 ghostgum)
    +
    +Adds typed image rendering to pnga (prototype PDF 1.4) device.
    +(gdevpnga.c [1.3]: 2001/03/17 00:16:53 raph)
    +
    +Integrates ICC profile input support from Jan Stoeckenius. Also includes
    +slightly modified version of icclib (icc.h, icc.c, icc9809.h) by Graeme
    +Gill. (gdevpx.c [1.6]: 2001/03/17 01:15:42 raph)
    +
    +

    PDF writer

    +
    +Fixes problems:
    +	- properly include unistd_.h in files that call unlink()
    +(gdevpdf.c [1.29]: 2001/03/16 22:12:34 giles)
    +
    +Redirect all user messages from stdout and stderr to outwrite() and
    +errwrite(). This is needed to allow stdout/err to be redirected to the
    +caller for DLL / shared object builds. (gdevpdfm.c [1.9]: 2001/03/13
    +06:51:39 ghostgum)
    +
    +Integrates ICC profile input support from Jan Stoeckenius. Also includes
    +slightly modified version of icclib (icc.h, icc.c, icc9809.h) by Graeme
    +Gill. (gdevpdfc.c [1.14]: 2001/03/17 01:15:42 raph)
    +
    +

    PDF Interpreter

    +
    +Fixes problems:
    +	- When the stream is located in an external file (i.e. the stream
    +dictionary contains an /F entry) GS fails with "typecheck in .knownget"
    +because of a minor bug in stack handling in pdf_base.ps. Bug #229425, the
    +fix from Andreas Bolsch <meromorphic at users.sourceforge.net>
    +(lib/pdf_base.ps [1.13]: 2001/03/04 16:59:19 alexcher)
    +	- GS can override image interpolation using INTERPOLATE or
    +NOINTERPOLATE flags. These flags had no effect on PDF because the PDF
    +interpreter is bound earlier than image operator is redefined. New version
    +takes image and imagemask values from systemdict at run time.
    +(lib/pdf_draw.ps [1.27]: 2001/03/11 05:15:26 alexcher)
    +
    +Integrates ICC profile input support from Jan Stoeckenius. Also includes
    +slightly modified version of icclib (icc.h, icc.c, icc9809.h) by Graeme
    +Gill. (lib/pdf_draw.ps [1.28], lib/pdf_ops.ps [1.16]: 2001/03/17 01:15:41
    +raph)
    +
    +

    Interpreter

    +
    +Fixes problems:
    +	- Allocate filter in local VM when currentglobal is false. Prevents
    +a problem with some QuarkXpress ProcSets that turn off vmreclaim and expect
    +save/restore to free memory which only works on local VM. Fix for problem
    +reported by Artifex customer #150, file "japan.ps". (zfilter.c [1.5]:
    +2001/02/28 00:39:26 rayjj)
    +	- Speed-up JPEG decompression by increasing file buffer to 2K. This
    +avoids installation of an intermediate buffering filter that resulted in a
    +byte-by-byte filling of the buffer to the JPEG code. When the buffer was not
    +full enough a recoverable error would result in a round trip for the next
    +byte. Fixes SourcForge bug #405342 for Artifex customer #350.
    +(zfile.c [1.7]: 2001/03/02 03:06:50 alexcher)
    +	- Removes Category dictionary from dictionary stack during the
    +execution of the /Font resourceforall procedure, needed for proper access
    +from the procedure to underlying dictionary. Fixes SourceForge bug #224973.
    +(lib/gs_cidcm.ps [1.2]: 2001/03/03 15:09:12 igorm)
    +	- GS didn't accept packed array as data source in image with
    +multiple data sources. From internal bug report. (zimage2.c [1.4]:
    +2001/03/12 22:53:22 alexcher)
    +	- ztype9mapcid now allocates string in global memory space to match
    +allocation of contents. Thanks to Masatake YAMATO for the patch.
    +(zfcid0.c [1.6]: 2001/03/13 19:57:06 raph)
    +	- Define to DefaultGray, DefaultRGB, DefaultCMYK color spaces to
    +allow UseCIEColor to work. SourceForge bugs #216461, #219676.
    +(lib/gs_ll3.ps [1.8]: 2001/03/14 12:00:37 igorm)
    +	- /None and /All separations are now supported. SourceForge bug
    +#228354. (zcssepr.c [1.6]: 2001/03/18 19:17:50 igorm)
    +
    +Increments version number to 6.62 as part of 6.61 release process.
    +(lib/gs_init.ps [1.30]: 2001/02/24 01:56:01 raph)
    +
    +Replace many references to exit() with returns. (errors.h [1.3], gs.c [1.3],
    +igcref.c [1.3], imain.c [1.4], imainarg.c [1.7], imainarg.h [1.3],
    +zcontext.c [1.7]: 2001/03/12 03:50:02 ghostgum)
    +
    +Provide alternate %stdin/out/err implementation using procedure based
    +streams and callouts. Previous stdio implementation with
    +STDIO_IMPLEMENTATION= New callout stdio implementation with
    +STDIO_IMPLEMENTATION=c Bug fix to zflush and zpeekstring. New stdio stream
    +code is in ziodevsc.c which will be in next commit. (errors.h [1.4],
    +files.h [1.3], imain.c [1.5], iminst.h [1.3], interp.c [1.7], zfile.c [1.8],
    +zfileio.c [1.10], zfproc.c [1.8], ziodev.c [1.4]: 2001/03/12 04:05:19
    +ghostgum)
    +
    +This fix corrects a problem with VM usage in the DSC parser. Previously the
    +dictionary dsc_dict was allocated in global VM but the DSC parser would try
    +to insert items while in local VM mode. This fix forces the DSC parser into
    +global VM mode. (lib/gs_dscp.ps [1.4]: 2001/03/12 22:41:22 dancoby)
    +
    +Adds device filter pipeline, which will be used by PDF 1.4 and other
    +enhanced imaging operations. (zdfilter.c [1.1]: 2001/03/13 00:41:10 raph)
    +
    +Redirect all user messages from stdout and stderr to outwrite() and
    +errwrite(). This is needed to allow stdout/err to be redirected to the
    +caller for DLL / shared object builds. (gs.c [1.4], idebug.c [1.3],
    +igc.c [1.3], imain.c [1.6], imainarg.c [1.8]: 2001/03/13 06:51:39 ghostgum)
    +
    +Implement new Ghostscript interpreter API for DLL or shared object.
    +Reimplement old DLL interface using new API. See iapi.h and iapi.c for new
    +API. For unix, build using "make so". Added loader programs for Ghostscript
    +interpreter library for GNU/Linux (dxmain.c), Windows (dw*.c) and OS/2
    +(dpmain.c). Add new "display" device for use with the new API. GNU/Linux
    +dxmain.c uses the "display" device, Gtk+ and GdkRgb for faster drawing than
    +the "x11" device. (dpmain.c [1.1], dpmainc.c [1.3], dwdll.c [1.1],
    +dwdll.cpp [1.3], dwdll.h [1.3], dwimg.c [1.1], dwimg.cpp [1.4],
    +dwimg.h [1.3], dwmain.c [1.1], dwmain.cpp [1.3], dwmain.h [1.3],
    +dwmainc.c [1.1], dwmainc.cpp [1.4], dwnodll.c [1.1], dwnodll.cpp [1.3],
    +dwtext.c [1.1], dwtext.cpp [1.3], dwtext.h [1.3], files.h [1.4], gs.c [1.5],
    +iapi.c [1.1], iapi.h [1.1], iconf.c [1.3], idisp.c [1.1], idisp.h [1.1],
    +imain.c [1.7], imainarg.c [1.9], iminst.h [1.4], main.h [1.3]: 2001/03/13
    +07:09:28 ghostgum)
    +
    +Interpolation overriding is modified to support - colorimage; old version
    +did nothing - ImageType 3 dictionaries; old version did nothing - local data
    +source in global mode; old version failed (lib/gs_init.ps [1.31]: 2001/03/13
    +22:50:03 alexcher)
    +
    +Integrates ICC profile input support from Jan Stoeckenius. Also includes
    +slightly modified version of icclib (icc.h, icc.c, icc9809.h) by Graeme
    +Gill. (icie.h [1.3], lib/gs_icc.ps [1.1], zcie.c [1.5], zicc.c [1.1]:
    +2001/03/17 01:15:41 raph)
    +
    +

    Streams

    +
    +Fixes problems:
    +	- eexecDecode filter returned EOF immediately if the input stream
    +was shorter than 9 characters. New code may misidentify short streams but
    +old code always failed. (seexec.c [1.4]: 2001/02/23 03:00:13 alexcher)
    +
    +Replace many references to exit() with returns. (stdpre.h [1.3]: 2001/03/12
    +03:50:02 ghostgum)
    +
    +Redirect all user messages from stdout and stderr to outwrite() and
    +errwrite(). This is needed to allow stdout/err to be redirected to the
    +caller for DLL / shared object builds. (std.h [1.4]: 2001/03/13 06:51:39
    +ghostgum)
    +
    +Integrates ICC profile input support from Jan Stoeckenius. Also includes
    +slightly modified version of icclib (icc.h, icc.c, icc9809.h) by Graeme
    +Gill. (stream.c [1.10]: 2001/03/17 01:15:42 raph)
    +
    +Minor patch to header files so that unlink() prototype doesn't conflict when
    +const is disabled through #define. (stdio_.h [1.4]: 2001/03/17 01:18:34
    +raph)
    +
    +

    Library

    +
    +Fixes problems:
    +	- Minor changes to fix compilation on VMS, thanks to Jacob
    +=JoukJansen for the patch. (gstrans.c [1.13]: 2001/03/01 22:16:02 raph)
    +	- gp_file_name_sizeof is increased to 260 bytes, == MAX_PATH on MS
    +Windows. The platform-specific fix is too difficult because some platforms
    +may have very long or unlimited file names. Bug #231514 submitted by
    +anonymous user. (gp.h [1.6]: 2001/03/03 04:38:19 alexcher)
    +	- When objects were resized or trimmed, the objects o_size was not
    +being updated if the rounded_size didn't change. This could lead to
    +alignment issues on some systems (causing a crash). Problem reported by
    +Artifex customer #460. (gsalloc.c [1.9]: 2001/03/12 00:04:28 rayjj)
    +	- Some device color components were missed while serializing
    +halftone to clist, causing segment fault during playback. Changes use proper
    +number of device color components to be written to clist and read from it.
    +SourceForge bug #211449. (gxclpath.c [1.9], gxclrast.c [1.9]: 2001/03/13
    +08:38:03 igorm)
    +	- kshow now restores currentfont if changed while running proc.
    +Fixes SourceForge bug #221715. (gxchar.c [1.3]: 2001/03/14 13:03:49 igorm)
    +	- properly include unistd_.h in files that call unlink()
    +(gsiodev.c [1.5], gxclfile.c [1.3]: 2001/03/16 22:12:34 giles)
    +	- /None and /All separations are now supported. SourceForge bug
    +#228354. (gscsepr.c [1.7]: 2001/03/18 19:17:50 igorm)
    +
    +Replace many references to exit() with returns. (gsargs.c [1.3],
    +gsargs.h [1.4], gsexit.h [1.3], gxalloc.h [1.6]: 2001/03/12 03:50:02
    +ghostgum)
    +
    +Adds device filter pipeline, which will be used by PDF 1.4 and other
    +enhanced imaging operations. (gsdfilt.c [1.1], gsdfilt.h [1.1],
    +gsstate.c [1.10], gzstate.h [1.5]: 2001/03/13 00:41:10 raph)
    +
    +Redirect all user messages from stdout and stderr to outwrite() and
    +errwrite(). This is needed to allow stdout/err to be redirected to the
    +caller for DLL / shared object builds. (gp_unifs.c [1.4], gsargs.c [1.4],
    +gsinit.c [1.3], gsio.h [1.5], gslib.c [1.4], gsmisc.c [1.10],
    +gxclutil.c [1.4]: 2001/03/13 06:51:39 ghostgum)
    +
    +Implement new Ghostscript interpreter API for DLL or shared object.
    +Reimplement old DLL interface using new API. See iapi.h and iapi.c for new
    +API. For unix, build using "make so". Added loader programs for Ghostscript
    +interpreter library for GNU/Linux (dxmain.c), Windows (dw*.c) and OS/2
    +(dpmain.c). Add new "display" device for use with the new API. GNU/Linux
    +dxmain.c uses the "display" device, Gtk+ and GdkRgb for faster drawing than
    +the "x11" device. (gsexit.h [1.4]: 2001/03/13 07:09:29 ghostgum)
    +
    +Integrates ICC profile input support from Jan Stoeckenius. Also includes
    +slightly modified version of icclib (icc.h, icc.c, icc9809.h) by Graeme
    +Gill. (gs_stdio.h [1.1], gscdef.c [1.12], gscie.c [1.4], gscie.h [1.3],
    +gsciemap.c [1.5], gscolor.c [1.5], gscolor1.c [1.4], gscscie.c [1.4],
    +gscspace.h [1.6], gscssub.c [1.3], gsicc.c [1.1], gsicc.h [1.1],
    +gxcie.h [1.3], gxshade.c [1.5], icc.h [1.1]: 2001/03/17 01:15:42 raph)
    +
    +Minor patch to header files so that unlink() prototype doesn't conflict when
    +const is disabled through #define. (unistd_.h [1.2]: 2001/03/17 01:18:34
    +raph)
    +
    +Moves patched icclib 1.23 files into the new icclib/ subdirectory, with
    +makefile changes to match. Adds missing COPYRIGHT and other documentation to
    +icclib. Thanks to L. Peter Deutsch for pointing out the need. (icc.h [1.2]:
    +2001/03/19 17:11:15 raph)
    +
    +

    Other

    +
    +Cleanup of MS-Windows and OS/2 code. Remove old 16-bit MS-Windows code.
    +Remove references to stdout/err, replacing with eprintf(). Remove global
    +variables. Disable mswindll and os2dll devices if a callback function is not
    +provided. (gp_mswin.h [1.3]: 2001/03/12 03:56:13 ghostgum)
    +
    +Implement new Ghostscript interpreter API for DLL or shared object.
    +Reimplement old DLL interface using new API. See iapi.h and iapi.c for new
    +API. For unix, build using "make so". Added loader programs for Ghostscript
    +interpreter library for GNU/Linux (dxmain.c), Windows (dw*.c) and OS/2
    +(dpmain.c). Add new "display" device for use with the new API. GNU/Linux
    +dxmain.c uses the "display" device, Gtk+ and GdkRgb for faster drawing than
    +the "x11" device. (gp_mswin.h [1.4], gsdll.h [1.3], gsdllwin.h [1.3]:
    +2001/03/13 07:09:28 ghostgum)
    +
    +Integrates ICC profile input support from Jan Stoeckenius. Also includes
    +slightly modified version of icclib (icc.h, icc.c, icc9809.h) by Graeme
    +Gill. (icc9809.h [1.1]: 2001/03/17 01:15:42 raph)
    +
    +Moves patched icclib 1.23 files into the new icclib/ subdirectory, with
    +makefile changes to match. Adds missing COPYRIGHT and other documentation to
    +icclib. Thanks to L. Peter Deutsch for pointing out the need.
    +(icc9809.h [1.2], icclib/COPYRIGHT [1.1], icclib/NOTES [1.1],
    +icclib/README [1.1], icclib/icc.c [1.1], icclib/icc.h [1.1],
    +icclib/icc9809.h [1.1]: 2001/03/19 17:11:14 raph)
    +
    +
    + +

    Version 6.61 (2001-02-21)

    + +

    +The primary updates in this fileset are in the PDF 1.4 transparency and +blending code (available for testing with the pnga driver). The usual +bug fixes are also present. + +

    +All problems registered on SourceForge numbered 133403 or lower are +closed, except for the following: 101814, 101955, 102735, 106652, +109350, 111449, 113116, 113799, 114084, 115256, 116461, 119676, +119677, 119798, 120967, 121582, 121715, 122534, 122683, 122727, +123005, 123091, 123754, 123896, 123992, 124056, 124095, 124134, +124205, 124863, 124973, 126364, 126391, 126462, 126477, 126584, +126943, 127090, 127190, 127244, 127276, 127382, 127651, 127684, +127709, 127802, 128180, 128354, 128423, 128641, 128714, 128808, +129425, 129439, 130694, 130699, 131001, 131390, 131514, 132334, +132696, 133403. + + +

    Documentation

    +
    +Fixes problems:
    +	- Ps-style.htm was missing from the index/blurbs in Readme.htm Adds
    +a note about documentation to the "Adding and Removing Files" section, and
    +moves that section to Maintain.htm from Release.htm. Closes sourceforge bug
    +#126771 (doc/Maintain.htm [1.9], doc/Readme.htm [1.18],
    +doc/Release.htm [1.27]: 2001/02/09 01:59:35 giles)
    +
    +Brings prototypes for fill_path, stroke_path, and fill_trapezoid in sync
    +with code. New description for fill_trapezoid, as the parameters changed
    +considerably. (doc/Drivers.htm [1.13]: 2001/01/04 19:08:25 raph)
    +
    +Adds a link to Adobe's Technote #5407 regarding transparency.
    +(doc/Language.htm [1.24]: 2001/01/07 18:21:55 giles)
    +
    +Updates png and zlib urls to the new canonical domain. Patch from Tobias
    +Burnus. (doc/Devices.htm [1.18], doc/Make.htm [1.20],
    +doc/New-user.htm [1.18]: 2001/01/07 18:36:35 giles)
    +
    +Increments CVS version number to 6.61 as part of (very delayed) 6.60 release
    +process. (doc/News.htm [1.75]: 2001/02/03 01:23:03 raph)
    +
    +Added DOPDFMARKS to allow pdfmark to be called for annotations, links and
    +cropboxes for PDF files on any device. Fixes SourceForge bug # 127062.
    +(doc/Use.htm [1.21]: 2001/02/09 23:38:12 ghostgum)
    +
    +Added addition comments about how to build GS on am IBM RS6000 under AIX
    +version 4.3.3 using the IBM C compiler (xlc) version 5.
    +(doc/Make.htm [1.21]: 2001/02/20 06:09:31 dancoby)
    +
    +Updates dates and version numbers in preparation for 6.61 release.
    +(doc/Bug-form.htm [1.14], doc/Bug-info.htm [1.10], doc/C-style.htm [1.11],
    +doc/Commprod.htm [1.8], doc/Copying.htm [1.6], doc/Current.htm [1.6],
    +doc/DLL.htm [1.7], doc/Develop.htm [1.32], doc/Devices.htm [1.19],
    +doc/Drivers.htm [1.14], doc/Fonts.htm [1.12], doc/Helpers.htm [1.9],
    +doc/History1.htm [1.6], doc/History2.htm [1.6], doc/History3.htm [1.6],
    +doc/History4.htm [1.6], doc/History5.htm [1.8], doc/History6.htm [1.17],
    +doc/Htmstyle.htm [1.9], doc/Install.htm [1.14], doc/Language.htm [1.25],
    +doc/Lib.htm [1.6], doc/Maintain.htm [1.10], doc/Make.htm [1.22],
    +doc/New-user.htm [1.19], doc/News.htm [1.76], doc/PUBLIC [1.4],
    +doc/Projects.htm [1.23], doc/Ps-style.htm [1.6], doc/Ps2epsi.htm [1.7],
    +doc/Ps2pdf.htm [1.24], doc/Psfiles.htm [1.13], doc/README [1.5],
    +doc/Readme.htm [1.19], doc/Release.htm [1.28], doc/Source.htm [1.6],
    +doc/Tester.htm [1.6], doc/Unix-lpr.htm [1.6], doc/Use.htm [1.22],
    +doc/Xfonts.htm [1.6], doc/gs-vms.hlp [1.5], man/dvipdf.1 [1.3],
    +man/font2c.1 [1.3], man/gs.1 [1.3], man/gslp.1 [1.3], man/gsnd.1 [1.3],
    +man/pdf2dsc.1 [1.3], man/pdf2ps.1 [1.5], man/pdfopt.1 [1.3],
    +man/pf2afm.1 [1.3], man/pfbtopfa.1 [1.4], man/printafm.1 [1.3],
    +man/ps2ascii.1 [1.3], man/ps2epsi.1 [1.3], man/ps2pdf.1 [1.7],
    +man/ps2pdfwr.1 [1.4], man/ps2ps.1 [1.10], man/wftopfa.1 [1.3]: 2001/02/22
    +07:30:37 raph)
    +
    +

    Procedures

    +
    +Updates png and zlib urls to the new canonical domain. Patch from Tobias
    +Burnus. (libpng.mak [1.4], zlib.mak [1.3]: 2001/01/07 18:36:35 giles)
    +
    +First cut of the PDF 1.4 transparency and blending operations.
    +(contrib.mak [1.21], lib.mak [1.42]: 2001/01/14 00:25:27 raph)
    +
    +Increments CVS version number to 6.61 as part of (very delayed) 6.60 release
    +process. (version.mak [1.25]: 2001/02/03 01:23:03 raph)
    +
    +Continuing development of PDF 1.4 transparency and blending. This round of
    +commits implements groups, including non-isolated and knockout variants.
    +Also, moves the build rule for the pnga device from contrib to devs.
    +(contrib.mak [1.22], devs.mak [1.41]: 2001/02/22 07:27:10 raph)
    +
    +Updates dates and version numbers in preparation for 6.61 release.
    +(version.mak [1.26]: 2001/02/22 07:30:39 raph)
    +
    +

    Utilities

    +
    +Fixes problems:
    +	- Temporary _.at file was not deleted. (lib/pdf2ps.bat [1.4]:
    +2001/02/03 16:12:29 alexcher)
    +	- Added -dSAFER (lib/pdf2ps.cmd [1.2]: 2001/02/03 18:31:12 alexcher)
    +	- Defines prototypes for fputs only for (broken) Sun platforms, to
    +avoid type mismatches when compiling with -Dconst=. Fixes SourceForge bug
    +133358. (echogs.c [1.3]: 2001/02/22 03:59:39 raph)
    +
    +branches: 1.1.2; file vdtrace.c was initially added on branch HINTER.
    +(vdtrace.c [1.1]: 2001/01/12 06:19:36 igorm)
    +
    +branches: 1.1.2; file _type1.c was initially added on branch HINTER.
    +(_type1.c [1.1]: 2001/02/02 20:27:09 igorm)
    +
    +Converted to SAFER mode. (lib/pf2afm [1.2], lib/pf2afm.bat [1.2],
    +lib/pf2afm.cmd [1.2], lib/pf2afm.ps [1.3]: 2001/02/03 21:31:40 alexcher)
    +
    +

    Drivers

    +
    +Fixes problems:
    +	- Changes tiff12nc to output correct number of bytes for odd widths.
    +(gdevtfnx.c [1.5]: 2001/02/03 18:50:01 raph)
    +	- Added down cast from gx_device_printer to gx_device_fax The fix is
    +suggested by the user. (gdevdfax.c [1.4]: 2001/02/12 21:02:51 alexcher)
    +	- pswrite ProcSet is reordered to eliminate forward references and
    +please a simplistic parser used by one of GS customers. (gdevps.c [1.15]:
    +2001/02/21 05:52:07 alexcher)
    +
    +First cut of the PDF 1.4 transparency and blending operations.
    +(gdevpnga.c [1.1]: 2001/01/14 00:25:27 raph)
    +
    +Continuing development of PDF 1.4 transparency and blending. This round of
    +commits implements groups, including non-isolated and knockout variants.
    +Also, moves the build rule for the pnga device from contrib to devs.
    +(gdevpnga.c [1.2]: 2001/02/22 07:27:10 raph)
    +
    +

    PDF writer

    +
    +Fixes problems:
    +	- in pdfwrite mode kshow called its procedure in infinite loop
    +bacause the character indes was not updated. Unexpected number of calls to
    +the procedure often caused various errors such as /stackunderfloe.
    +(gdevpdfs.c [1.2]: 2001/02/06 21:42:38 alexcher)
    +	- imagemask used the color of previous object if the object had
    +smaller clipping path than imagemask. Deferred grestore and setcolor were
    +transposed. (gdevpdfi.c [1.21]: 2001/02/07 03:49:27 alexcher)
    +
    +

    PDF Interpreter

    +
    +Fixes problems:
    +	- skip all bytes after the end of the stream in the inline image
    +until EOL or EI is found. Some buggy PDF files require this. Fix: In PDF 1.3
    +/Matrix key in XObject is optional. Add unitary matrix to the form
    +dictionary if XObject has none. (lib/pdf_draw.ps [1.25]: 2001/02/02 22:08:33
    +alexcher)
    +
    +Added DOPDFMARKS to allow pdfmark to be called for annotations, links and
    +cropboxes for PDF files on any device. Fixes SourceForge bug # 127062.
    +(lib/pdf_main.ps [1.27]: 2001/02/09 23:38:12 ghostgum)
    +
    +Continuing development of PDF 1.4 transparency and blending. This round of
    +commits implements groups, including non-isolated and knockout variants.
    +Also, moves the build rule for the pnga device from contrib to devs.
    +(lib/pdf_draw.ps [1.26]: 2001/02/22 07:27:10 raph)
    +
    +

    Interpreter

    +
    +Fixes problems:
    +	- cvs operator did't report rangecheck when source operand is a name
    +or string and it's longer than the destination string. Bug # 130975
    +(iutil.c [1.3]: 2001/02/05 20:43:40 alexcher)
    +	- memmove() was used without portability header file memory_.h
    +(ztrans.c [1.13]: 2001/02/13 19:45:38 alexcher)
    +	- New TransformPQR implements a relative colorimetric intent by
    +scaling the XYZ values relative to the white and black points. Bug #129771
    +(lib/gs_lev2.ps [1.7]: 2001/02/21 04:23:44 alexcher)
    +
    +branches: 1.1.2; file dwtrace.h was initially added on branch HINTER.
    +(dwtrace.h [1.1]: 2001/01/12 06:18:35 igorm)
    +
    +branches: 1.1.2; file dwtrace.cpp was initially added on branch HINTER.
    +(dwtrace.cpp [1.1]: 2001/01/12 06:22:06 igorm)
    +
    +Increments CVS version number to 6.61 as part of (very delayed) 6.60 release
    +process. (lib/gs_init.ps [1.29]: 2001/02/03 01:23:03 raph)
    +
    +

    Streams

    +
    +Minor patches for clean VMS compile. Thanks to Jacob (=Jouk) Jansen.
    +(stdio_.h [1.3]: 2001/02/02 07:52:26 raph)
    +
    +

    Library

    +
    +Fixes problems:
    +	- egcc - 2.91.66 generates incorrect code for dda_step_add(dxx4,
    +dxx4); Using the intermediate variable now to wark around the problem. This
    +bug corrupted memory block headers and caused random crashes.
    +(gxifast.c [1.3]: 2001/01/25 21:36:17 alexcher)
    +
    +Changes gx_image_cached_char so that it now images to the device in the text
    +enumeration, rather than the current device. This change gives more
    +flexibility for implementations of begin_text to interpose a device of their
    +own for actual imaging. (gxccache.c [1.3]: 2001/01/04 19:39:24 raph)
    +
    +Updates documentation in gxdevcli.h on creating device instances.
    +(gxdevcli.h [1.4]: 2001/01/14 00:24:30 raph)
    +
    +First cut of the PDF 1.4 transparency and blending operations.
    +(gxblend.c [1.1], gxblend.h [1.1]: 2001/01/14 00:25:27 raph)
    +
    +Minor patches for clean VMS compile. Thanks to Jacob (=Jouk) Jansen.
    +(gsnogc.c [1.6], gxblend.c [1.2]: 2001/02/02 07:52:25 raph)
    +
    +Continuing development of PDF 1.4 transparency and blending. This round of
    +commits implements groups, including non-isolated and knockout variants.
    +Also, moves the build rule for the pnga device from contrib to devs.
    +(gstrans.c [1.12], gxdevcli.h [1.5]: 2001/02/22 07:27:10 raph)
    +
    +

    Other

    +
    +branches: 1.1.2; file _type1.h was initially added on branch HINTER.
    +(_type1.h [1.1]: 2001/01/12 06:22:23 igorm)
    +
    +branches: 1.1.2; file vdtrace.h was initially added on branch HINTER.
    +(vdtrace.h [1.1]: 2001/02/02 20:27:09 igorm)
    +
    +
    + +

    Version 6.60 (2000-12-31)

    + +

    +This long-overdue fileset includes major new developer documentation, major +improvements in the PDF writer (for embedded fonts and for DSC comments), +and lots of bug fixes. Unfortunately, for unknown reasons, the release +"smoke test" loops forever on the file data/ps/screen.ps -- but only when +compiled in 'production' mode, not in 'debug' mode. We suspect a gcc bug, +but don't have the time to track it down before the end of the millennium. + +

    +All problems registered on SourceForge numbered 127190 or lower are closed, +except for the following: 101814, 101955, 102735, 105289, 106652, 109350, +111449, 113116, 113799, 114084, 115256, 116461, 117260, 119676, 119677, +119798, 120967, 121582, 121715, 122426, 122532, 122534, 122683, 122727, +123005, 123091, 123702, 123754, 123867, 123896, 123992, 124042, 124056, +124095, 124134, 124205, 124863, 124973, 126364, 126391, 126462, 126477, +126506, 126584, 126771, 126943, 127062, 127090, 127190. + +

    Incompatible changes

    + +
    +(Interpreter)
    +	- With WMode = 1, CID-keyed fonts with no Metrics2 now use default
    +metrics computed from FontBBox rather than the horizontal metrics.
    +(PDF interpreter)
    +	- The interpreter now skips to the next EOL after reading the data
    +following the ID operator.
    +	- The incorrectly named ViewerOrientation DSC comment is now
    +corrected to ViewingOrientation.
    +(Streams)
    +	- All decoding filters that recognize an EOD in the source data
    +must now have an init procedure that sets state->min_left = 1.
    +(Library)
    +	- The glyph_data, subr_data, and seac_data procedures in a Type 1
    +font (gs_type1_data_procs), and the glyph_data procedure passed to
    +psf_{check,get}_outline_glyphs, must now return 1 iff the outline string was
    +newly allocated and should be freed by the caller, like the get_outline
    +procedure of Type 42 fonts (gs_type42_data).
    +	- The ip_state structure is renamed ip_state_t, and has a new
    +member, free_char_string.
    +	- The incorrectly named ViewerOrientation DSC comment is now
    +corrected to ViewingOrientation, and the viewer_orientation members of
    +the DSC parsing structure are corrected to viewing_orientation.
    +
    +
    +
    +

    Documentation

    +
    +Fixes problems:
    +	- An isolated ampersand needed to be converted to the HTML form.
    +(doc/Bug-form.htm [1.12]: 2000/11/04 17:53:57 lpd)
    +	- cvs2hist was generating invalid anchor names and not escaping
    +special charaters. also enable '-r' commandline option, and pass '-b' if
    +it's not specified for default branch logs only. Changes.htm now passes the
    +validator. Minor url cleanup in Release.htm (doc/Changes.htm [1.19],
    +doc/Release.htm [1.23]: 2000/11/10 01:52:35 giles)
    +	- Removes obsolete documentation reference to -DUsePrinterImages and
    +clarifies the entry for the replacing -DPrinted. Fixes sourceforge bug #
    +121907. (doc/Use.htm [1.16]: 2000/11/20 20:34:23 giles)
    +	- Type 1 CharStrings loaded from disk for type 0 CIDFonts were never
    +freed, except by garbage collection (which doesn't reclaim chunks with only
    +a small amount of surviving data). In practice, this probably only affects
    +the PDF writer. (doc/News.htm [1.71]: 2000/11/23 23:34:23 lpd)
    +	- The pswrite device couldn't write to pipes. The fix involved
    +expanding the API for opening device OutputFiles so that the individual
    +driver could specify whether it required, requested, or did not want a
    +positionable file. Fixes SourceForge bug # 122223. (doc/Use.htm [1.17]:
    +2000/11/29 02:25:13 lpd)
    +	- The default ps2pdf "distiller parameters" weren't documented
    +correctly; the parameter values for the other PDFSETTINGS (screen, printer,
    +prepress) weren't documented at all; the xxxImageDownsampleThreshold
    +parameters were incorrectly documented as xxxDownsampleThreshold.
    +(doc/Ps2pdf.htm [1.22]: 2000/12/19 17:55:55 lpd)
    +	- The documentation of the -dSAFER command line switch was
    +inaccurate. (doc/Use.htm [1.18]: 2000/12/23 01:33:06 lpd)
    +	- documentation for gs_cidcm.ps and gs_dscp.ps was missing.
    +(doc/Psfiles.htm [1.11]: 2000/12/29 02:17:12 lpd)
    +
    +Adds developer documentation on the color mapping pipeline.
    +(doc/Develop.htm [1.16]: 2000/11/03 04:53:00 lpd)
    +
    +switch to Tobias Burnus' stylesheet for the B-D html documentation, along
    +with some minor cleanups (doc/Bug-form.htm [1.10], doc/Bug-info.htm [1.8],
    +doc/C-style.htm [1.6], doc/Commprod.htm [1.4], doc/Copying.htm [1.4],
    +doc/Current.htm [1.4], doc/DLL.htm [1.4], doc/Develop.htm [1.17],
    +doc/Devices.htm [1.14], doc/Drivers.htm [1.10], doc/gs.css [1.1]: 2000/11/03
    +06:42:42 giles)
    +
    +update remaining file links in Develop.htm to <dl> format, plus
    +additional cleanup (doc/Commprod.htm [1.5], doc/DLL.htm [1.5],
    +doc/Develop.htm [1.18], doc/Devices.htm [1.15], doc/Drivers.htm [1.11]:
    +2000/11/03 20:15:55 giles)
    +
    +Lists all the monochrome TIFF drivers individually, rather than as a class.
    +(doc/Devices.htm [1.16]: 2000/11/03 23:33:18 lpd)
    +
    +Switches the rest of the human-maintained html documentation to the new
    +stylesheet. We now pass validator.w3.org for HTML 4.01 with the exception of
    +an error I couldn't figure out in Bug-form.htm. (doc/Bug-form.htm [1.11],
    +doc/Fonts.htm [1.9], doc/Helpers.htm [1.7], doc/Hershey.htm [1.3],
    +doc/Htmstyle.htm [1.7], doc/Humor.htm [1.2], doc/Install.htm [1.10],
    +doc/Language.htm [1.21], doc/Lib.htm [1.4], doc/Maintain.htm [1.7],
    +doc/Make.htm [1.17], doc/New-user.htm [1.15], doc/Projects.htm [1.20],
    +doc/Ps-style.htm [1.4], doc/Ps2epsi.htm [1.5], doc/Ps2pdf.htm [1.19],
    +doc/Psfiles.htm [1.10], doc/Public.htm [1.4], doc/Readme.htm [1.15],
    +doc/Release.htm [1.22], doc/Source.htm [1.4], doc/Tester.htm [1.4],
    +doc/Unix-lpr.htm [1.4], doc/Use.htm [1.15], doc/Xfonts.htm [1.4],
    +doc/index.html [1.2]: 2000/11/04 05:00:00 giles)
    +
    +updated News.htm to use gs.css (doc/News.htm [1.70]: 2000/11/04 21:59:35
    +giles)
    +
    +Adds documentation on Ghostscript's object-oriented coding conventions, and
    +more documentation on error generation. (doc/C-style.htm [1.7],
    +doc/Develop.htm [1.19]: 2000/11/07 07:34:57 lpd)
    +
    +Expands the description of the color mapping process.
    +(doc/Develop.htm [1.20]: 2000/11/09 05:41:46 lpd)
    +
    +updates history files 1-4 (historical) to valid html4 and the new stylesheet
    +(doc/History1.htm [1.4], doc/History2.htm [1.4], doc/History3.htm [1.4],
    +doc/History4.htm [1.4]: 2000/11/28 22:55:34 giles)
    +
    +updates the version 5.x history file to the conforming html4
    +(doc/History5.htm [1.6]: 2000/12/01 00:47:08 giles)
    +
    +Adds documentation on creating a release directory, including checking the
    +version numbers of the third-party libraries.
    +(doc/Release.htm [1.24]: 2000/12/05 21:16:25 lpd)
    +
    +Updates documentation to reflect recent improvements in text and DSC comment
    +handling. (doc/Ps2pdf.htm [1.20]: 2000/12/09 08:01:56 lpd)
    +
    +Documents the change from ViewerOrientation to ViewingOrientation in the DSC
    +parser. (doc/News.htm [1.72]: 2000/12/09 19:53:48 lpd)
    +
    +Makes the PDF writer extract orientation and bounding box information from
    +DSC comments, if present. The orientation is used to set Rotate if
    +AutoRotatePages is not selected; the bounding box is not yet used for
    +anything. (doc/Ps2pdf.htm [1.21]: 2000/12/09 19:54:55 lpd)
    +
    +adds a brief blurb for Develop.htm (doc/Readme.htm [1.16]: 2000/12/11
    +19:39:36 giles)
    +
    +In the developer documentation, breaks down several long file lists into
    +shorter, more focused ones. (doc/Develop.htm [1.21]: 2000/12/12 19:52:49
    +lpd)
    +
    +Adds some additional documentation on halftones. (doc/Develop.htm [1.22]:
    +2000/12/15 01:46:57 lpd)
    +
    +Adds additional documentation on makefile conventions, and improves a few
    +other areas. (doc/Develop.htm [1.23]: 2000/12/18 06:45:23 lpd)
    +
    +Adds more documentation on makefiles, .dev files, and related topics.
    +(doc/Develop.htm [1.24]: 2000/12/20 05:09:31 lpd)
    +
    +Adds more developer documentation on the PostScript interpreter; divides up
    +some lists of files to provide more helpful detail. (doc/Develop.htm [1.25]:
    +2000/12/20 20:15:41 lpd)
    +
    +Documents the preferred line breaking and indentation format for assignment
    +statements, including chain assignments. (doc/C-style.htm [1.8]: 2000/12/22
    +16:58:55 lpd)
    +
    +Makes some minor corrections and improvements to the developer
    +documentation. (doc/Develop.htm [1.26]: 2000/12/28 05:57:18 lpd)
    +
    +Adds substantial new material on coding conventions for structures, classes,
    +and subclasses. (doc/C-style.htm [1.9]: 2000/12/28 07:12:38 lpd)
    +
    +Documents about 15 additional non-standard operators (the ones most likely
    +to be used in future code). (doc/Develop.htm [1.27],
    +doc/Language.htm [1.22]: 2000/12/28 18:29:49 lpd)
    +
    +Documents the need to run hrefcov as part of the release process; also fixes
    +some minor inaccuracies. (doc/Release.htm [1.25]: 2000/12/29 02:12:08 lpd)
    +
    +Adds more files to the developer "roadmap" documentation.
    +(doc/Develop.htm [1.28]: 2000/12/29 02:18:47 lpd)
    +
    +Adds the Fontmaps and the contributed drivers to the developer documentation
    +"roadmap", which is now complete. (doc/Develop.htm [1.29]: 2000/12/29
    +02:33:40 lpd)
    +
    +Adds some developer documentation on design principles.
    +(doc/Develop.htm [1.30]: 2000/12/30 22:07:37 lpd)
    +
    +Removes or updates no longer appropriate references to Aladdin Enterprises.
    +(doc/Commprod.htm [1.6], doc/Fonts.htm [1.10], doc/Install.htm [1.11],
    +doc/Make.htm [1.18], doc/New-user.htm [1.16], doc/Projects.htm [1.21],
    +doc/Use.htm [1.19]: 2000/12/31 21:43:59 lpd)
    +
    +Updates documentation for the Windows uninstall program to reflect a name
    +change.
    +(doc/Install.htm [1.12]: 2000/12/31 22:26:08 lpd)
    +
    +Updates repository for 6.60 release. (doc/Bug-form.htm [1.13],
    +doc/Bug-info.htm [1.9], doc/C-style.htm [1.10], doc/Commprod.htm [1.7],
    +doc/Copying.htm [1.5], doc/Current.htm [1.5], doc/DLL.htm [1.6],
    +doc/Develop.htm [1.31], doc/Devices.htm [1.17], doc/Drivers.htm [1.12],
    +doc/Fonts.htm [1.11], doc/Helpers.htm [1.8], doc/History1.htm [1.5],
    +doc/History2.htm [1.5], doc/History3.htm [1.5], doc/History4.htm [1.5],
    +doc/History5.htm [1.7], doc/History6.htm [1.15], doc/Htmstyle.htm [1.8],
    +doc/Install.htm [1.13], doc/Language.htm [1.23], doc/Lib.htm [1.5],
    +doc/Maintain.htm [1.8], doc/Make.htm [1.19], doc/New-user.htm [1.17],
    +doc/News.htm [1.73], doc/Projects.htm [1.22], doc/Ps-style.htm [1.5],
    +doc/Ps2epsi.htm [1.6], doc/Ps2pdf.htm [1.23], doc/Psfiles.htm [1.12],
    +doc/Readme.htm [1.17], doc/Release.htm [1.26], doc/Source.htm [1.5],
    +doc/Tester.htm [1.5], doc/Unix-lpr.htm [1.5], doc/Use.htm [1.20],
    +doc/Xfonts.htm [1.5], doc/gs-vms.hlp [1.4], man/dvipdf.1 [1.2],
    +man/eps2eps.1 [1.3], man/font2c.1 [1.2], man/gs.1 [1.2], man/gslp.1 [1.2],
    +man/gsnd.1 [1.2], man/pdf2dsc.1 [1.2], man/pdf2ps.1 [1.4],
    +man/pdfopt.1 [1.2], man/pf2afm.1 [1.2], man/pfbtopfa.1 [1.3],
    +man/printafm.1 [1.2], man/ps2ascii.1 [1.2], man/ps2epsi.1 [1.2],
    +man/ps2pdf.1 [1.6], man/ps2pdfwr.1 [1.3], man/ps2ps.1 [1.9],
    +man/wftopfa.1 [1.2]: 2001/01/01 00:24:05 lpd)
    +
    +

    Procedures

    +
    +Fixes problems:
    +	- cvs2hist was generating invalid anchor names and not escaping
    +special charaters. also enable '-r' commandline option, and pass '-b' if
    +it's not specified for default branch logs only. Changes.htm now passes the
    +validator. Minor url cleanup in Release.htm (toolbin/cvs2hist.py [1.4]:
    +2000/11/10 01:52:35 giles)
    +	- The OS/2 platform code would no longer compile, because the stdio
    +files are no longer available. (fix from rjl) (os2.mak [1.9]: 2000/12/05
    +01:16:26 lpd)
    +	- Embedded font subsets always used similar sequences of prefixes,
    +making it likely that combining multiple PDF files would lead to clashes;
    +the code now generates truly random prefixes, using an external source of
    +random data. (devs.mak [1.39]: 2000/12/10 00:12:23 lpd)
    +	- Fixes a couple of dependency lists that had gotten out of sync.
    +(devs.mak [1.40]: 2000/12/10 00:17:51 lpd)
    +	- Seek was broken and PDF interpreter failed when
    +FILE_IMPLEMENTATION=fd The implementation of streams using direct OS calls
    +is extended to support MSVC && Win32. close_.h is replaced by more
    +general unistd_.h (lib.mak [1.40]: 2000/12/19 03:35:40 alexcher)
    +	- In the previous fix unistd__h was misspelt as unistd_h .
    +(lib.mak [1.41]: 2000/12/19 05:35:53 alexcher)
    +	- The recent change for localized man pages didn't update 2 of the 3
    +top-level Unix makefiles. (unixansi.mak [1.7], unixtrad.mak [1.7]:
    +2000/12/23 16:29:53 lpd)
    +	- The list of doc files to be installed had gotten out of date
    +(Develop.htm, Maintain.htm, and Ps-style.htm were missing).
    +(unixinst.mak [1.16]: 2000/12/23 16:30:36 lpd)
    +	- unixinst.mak was checked in with the previous fix only partly
    +done. (unixinst.mak [1.17]: 2000/12/23 16:34:12 lpd)
    +
    +Collect some stray configuration related externs into iconf.h
    +(int.mak [1.40]: 2000/11/04 06:12:02 rayjj)
    +
    +Adds DSC parsing capability to the PostScript interpreter, with an optional
    +'feature' to use the DSC Orientation comments to compensate for sloppy
    +PostScript producers that don't emit an appropriate setpagedevice command.
    +(int.mak [1.41]: 2000/11/05 18:33:53 lpd)
    +
    +Adds the 'hook' for passing DSC comments to the PDF writer, but doesn't
    +actually process any of the comments. NOTE: Part of this code was
    +accidentally included in the recent fix for local/global VM problems in the
    +PostScript code for using the DSC parser. (devs.mak [1.36]: 2000/11/07
    +18:54:26 lpd)
    +
    +Reorganizes some text-writing code in anticipation of adding CIDFont and
    +CMap support. (devs.mak [1.37]: 2000/11/17 22:11:44 lpd)
    +
    +Avoids exporting empty LD_RUN_PATH environment variable to the link process.
    +This was causing binaries to search the current directory for libraries,
    +which was a security hole. Fixes SourceForge bug 122532. (ugcclib.mak [1.6],
    +unixlink.mak [1.3]: 2000/11/28 00:14:48 raph)
    +
    +Updates the date and version checker for compatibility with the newest
    +documentation standards; also makes it check the makefile values of JVERSION
    +and PVERSION against the currently installed third-party source code.
    +(toolbin/pre [1.9]: 2000/12/05 21:14:14 lpd)
    +
    +Extensively revises and updates the pdfwrite text handling code to support
    +processing and embedding of all types of fonts (except for Type 3 and
    +CIDFontType 1, which are defined by PostScript procedures), and all variants
    +of 'show' (including kshow and glyphshow). In particular, Type 0 fonts with
    +all FMapTypes (including CMap-based), CIDFontType 0 and 2 fonts, and both
    +standard and non-standard CMaps are supported. (devs.mak [1.38],
    +int.mak [1.42], lib.mak [1.38]: 2000/12/08 23:35:37 lpd)
    +
    +removes a spurious import of the cgi module (toolbin/cvs2hist.py [1.5]:
    +2000/12/11 19:40:23 giles)
    +
    +Splits off the code for downsampling an oversampled character bitmap into a
    +separate file. (lib.mak [1.39]: 2000/12/14 00:14:52 lpd)
    +
    +Adds a '-t' option to enable text output rather than html, replacing the old
    +behavior, which was to return text unless a version string was passed with
    +'-v'. The version string is now set to 'CVS' if no explicit version is
    +passed, and this is used in the named anchors within the html output.
    +(toolbin/cvs2hist.py [1.6]: 2000/12/23 09:38:10 giles)
    +
    +Adds support for localized manpages to the make 'install' target. On unix
    +the makefile will now intall any files with the $MAN1EXT extension it finds
    +under locale subdirs of the man directory that are listed in the MAN_LCDIRS
    +variable. The $man1dir is correspondingly removed from unix-gcc.mak. Also
    +adds separate targets: install-doc install-man install-examples
    +install-libdata (unix-gcc.mak [1.9], unixinst.mak [1.15]: 2000/12/23
    +10:10:37 giles)
    +
    +Improves the set of files checked by hrefcov +lib.
    +(toolbin/hrefcov.tcl [1.5]: 2000/12/29 02:16:13 lpd)
    +
    +Adds a script for batch-converting PostScript files to PDF, intended to be
    +useful for testing. (toolbin/many2pdf.tcl [1.1]: 2000/12/31 22:28:09 lpd)
    +
    +Updates repository for 6.60 release. (toolbin/pre [1.10],
    +version.mak [1.24]: 2001/01/01 00:24:06 lpd)
    +
    +

    Utilities

    +
    +Fixes problems:
    +	- pdfopt.ps used the "unresolved?" procedure from pdf_base.ps, which
    +has been replaced by the slightly different "resolved?" procedure.
    +(lib/pdfopt.ps [1.4]: 2000/12/01 04:15:52 lpd)
    +	- The OS/2 platform code would no longer compile, because the stdio
    +files are no longer available. (fix from rjl) (gp_os2.c [1.5]: 2000/12/05
    +01:16:26 lpd)
    +	- File flush method uses file member in stream. On Windows and OS/2
    +it is NULL for %stdout or %stderr. So the standard flush method is
    +installed. (gp_msio.c [1.3], gp_os2.c [1.6]: 2000/12/19 03:44:24 alexcher)
    +	- /NullEncode filter no longer supports fileposition. Replacing
    +fileposition with .fileposition (lib/impath.ps [1.3]: 2000/12/28 17:06:07
    +alexcher)
    +	- _.at file was not deleted in BAT file; SAFER option added to CMD
    +file. (lib/eps2eps.bat [1.4], lib/eps2eps.cmd [1.2]: 2000/12/30 18:45:37
    +alexcher)
    +
    +Improves documentation of cid2code.ps by adding a complete usage example.
    +(lib/cid2code.ps [1.3]: 2000/11/30 18:22:11 lpd)
    +
    +Adds extensive documentation to genconf.c; also brings it into line with
    +current Ghostscript coding standards. (genconf.c [1.4]: 2000/12/20 04:20:34
    +lpd)
    +
    +Safe mode implemented using DELAYSAFER flag. (lib/pdf2dsc [1.3],
    +lib/pdf2dsc.bat [1.1], lib/pdf2dsc.ps [1.3]: 2000/12/29 05:03:49 alexcher)
    +
    +

    Drivers

    +
    +Fixes problems:
    +	- In PDF output, color values of 1.0 were usually written as 0.999.
    +(bug introduced in version 6.22) (gdevpsdu.c [1.8]: 2000/11/12 07:13:26 lpd)
    +	- The pswrite device couldn't write to pipes. The fix involved
    +expanding the API for opening device OutputFiles so that the individual
    +driver could specify whether it required, requested, or did not want a
    +positionable file. Fixes SourceForge bug # 122223. (gdevps.c [1.13],
    +gdevpx.c [1.5]: 2000/11/29 02:25:13 lpd)
    +	- Invalid (uninitialized) StripByteCount was being left in file for
    +the tiff12nc and tiff24nc devices. Needed to call gdev_tiff_end_strip().
    +(gdevtfnx.c [1.4]: 2000/12/15 06:09:27 rayjj)
    +	- Fixes bug introduced in gdevxini.c revision 1.5. Don't overwrite
    +the pixmap handle provided in the GHOSTVIEW environment variable.
    +(gdevxini.c [1.10]: 2000/12/15 10:18:47 ghostgum)
    +	- The pswrite device produced an extra page if the transfer function
    +didn't map "1 setgray" to device white. (gdevps.c [1.14]: 2000/12/21
    +03:58:54 lpd)
    +
    +

    PDF writer

    +
    +Fixes problems:
    +	- kshow caused the PDF writer to revert to bitmapped fonts. Fixes
    +SourceForge bug # 104118. (gdevpdft.c [1.21]: 2000/11/06 04:17:14 lpd)
    +	- The PDF writer didn't handle stroked fonts correctly (they were
    +filled instead of stroked). (gdevpdf.c [1.23], gdevpdfd.c [1.11],
    +gdevpdft.c [1.22], gdevpdfx.h [1.23]: 2000/11/12 06:52:08 lpd)
    +	- When mixing filled and stroked fonts, the color wasn't set
    +correctly. (gdevpdft.c [1.23]: 2000/11/12 07:14:30 lpd)
    +	- The PDF writer incorrectly assumed that in PDF 1.3, the standard
    +Latin character set was the PostScript 3 extended set (it's actually the old
    +PostScript Level 2 set). (gdevpdft.c [1.28]: 2000/11/20 18:13:55 lpd)
    +	- Embedded CIDFontType 2 fonts had an incorrect BoundingBox.
    +(gdevpdff.c [1.14]: 2000/12/09 06:53:25 lpd)
    +	- Embedded font subsets always used similar sequences of prefixes,
    +making it likely that combining multiple PDF files would lead to clashes;
    +the code now generates truly random prefixes, using an external source of
    +random data. (gdevpdf.c [1.26], gdevpdfe.c [1.8], gdevpdff.c [1.15],
    +gdevpdff.h [1.9], gdevpdfx.h [1.27]: 2000/12/10 00:12:23 lpd)
    +	- Non-embedded Multiple Master instances weren't identified as such
    +(font Subtype = /MMType1). (gdevpdfw.c [1.7]: 2000/12/11 08:52:01 lpd)
    +	- pdfwrite would crash if a bitmap character was larger than 10Kb
    +(compressed). The fix simply raises the limit to 1 Mb. (gdevpdft.c [1.30]:
    +2000/12/13 01:33:37 lpd)
    +	- When processing DSC comments, some constant strings weren't copied
    +to the heap, possibly causing memory access errors. (gdevpdfp.c [1.16]:
    +2000/12/16 07:02:35 lpd)
    +	- If the same standard (base 14) font was loaded more than once
    +(because of save/restore), the PDF file could contain fonts that had
    +suffixed names (e.g., Helvetica~2) but with data missing as though they were
    +standard fonts, upsetting Acrobat Reader. Fixes SourceForge bug # 101905.
    +THIS FIX IS IN A VERY FRAGILE AREA AND MAY INTRODUCE NEW PROBLEMS.
    +(gdevpdff.c [1.16]: 2000/12/16 08:00:53 lpd)
    +	- The previous fix for copying DSC comment keys to the heap was
    +unnecessarily complex. (gdevpdfp.c [1.17]: 2000/12/16 19:28:51 lpd)
    +	- Resource usage wasn't tracked separately for Form XObjects (BP/EP
    +pdfmarks), producing non-compliant files that caused errors from Acrobat.
    +Fixes SourceForge bug # 102146. (gdevpdf.c [1.28], gdevpdff.c [1.17],
    +gdevpdff.h [1.10], gdevpdfm.c [1.8], gdevpdfo.c [1.6], gdevpdfo.h [1.6],
    +gdevpdft.c [1.31], gdevpdfu.c [1.14], gdevpdfw.c [1.8], gdevpdfx.h [1.28]:
    +2000/12/16 19:36:32 lpd)
    +	- Strict type correctness is required on VMS system. Contributed by
    +Jouk Jansen joukj@hrem.stm.tudelft.nl (gdevpdfw.c [1.9]: 2000/12/18 21:58:03
    +alexcher)
    +
    +Adds the 'hook' for passing DSC comments to the PDF writer, but doesn't
    +actually process any of the comments. NOTE: Part of this code was
    +accidentally included in the recent fix for local/global VM problems in the
    +PostScript code for using the DSC parser. (gdevpdfp.c [1.13]: 2000/11/07
    +18:54:26 lpd)
    +
    +Changes the internal indication of whether to allow font subsetting from a
    +Boolean to OK, YES, NO. (Unfortunately, I no longer remember why this change
    +is needed.) (gdevpdfe.c [1.6], gdevpdff.c [1.10], gdevpdff.h [1.5],
    +gdevpdft.c [1.24]: 2000/11/14 06:57:21 lpd)
    +
    +When writing PDF output, adds the ability to convert text in Type 0 fonts to
    +text in the descendant leaf fonts. This completes the handling of text
    +output except for CID-keyed fonts. (gdevpdft.c [1.25]: 2000/11/14 16:47:09
    +lpd)
    +
    +Reorganizes some text-writing code in anticipation of adding CIDFont and
    +CMap support. (gdevpdff.c [1.11], gdevpdff.h [1.6], gdevpdft.c [1.26]:
    +2000/11/17 22:11:44 lpd)
    +
    +Makes glyphshow no longer revert to bitmapped fonts. Also adds a CIDFont
    +pseudo-resource, in anticipation of adding CID-keyed font support.
    +(gdevpdff.c [1.12], gdevpdff.h [1.7], gdevpdft.c [1.27], gdevpdfx.h [1.24]:
    +2000/11/20 08:31:20 lpd)
    +
    +Extensively revises and updates the pdfwrite text handling code to support
    +processing and embedding of all types of fonts (except for Type 3 and
    +CIDFontType 1, which are defined by PostScript procedures), and all variants
    +of 'show' (including kshow and glyphshow). In particular, Type 0 fonts with
    +all FMapTypes (including CMap-based), CIDFontType 0 and 2 fonts, and both
    +standard and non-standard CMaps are supported. (gdevpdf.c [1.24],
    +gdevpdfe.c [1.7], gdevpdff.c [1.13], gdevpdff.h [1.8], gdevpdfs.c [1.1],
    +gdevpdft.c [1.29], gdevpdfu.c [1.13], gdevpdfw.c [1.6], gdevpdfx.h [1.25]:
    +2000/12/08 23:35:38 lpd)
    +
    +If ParseDSCCommentsForDocInfo is set to true, copies information from DSC
    +comments Creator, CreationDate, For, and Title into the output's Info
    +dictionary. (gdevpdfp.c [1.14]: 2000/12/09 07:49:22 lpd)
    +
    +Makes the PDF writer extract orientation and bounding box information from
    +DSC comments, if present. The orientation is used to set Rotate if
    +AutoRotatePages is not selected; the bounding box is not yet used for
    +anything. (gdevpdf.c [1.25], gdevpdfp.c [1.15], gdevpdfx.h [1.26]:
    +2000/12/09 19:54:54 lpd)
    +
    +Slightly changes the initialization of the random offset for font subset
    +prefixes, to work better with low-resolution clocks such as those typical on
    +PCs. (gdevpdf.c [1.27]: 2000/12/16 19:31:10 lpd)
    +
    +

    PDF Interpreter

    +
    +Fixes problems:
    +	- Type 0 fonts with a non-standard (embedded) CMap didn't work at
    +all. (lib/pdf_font.ps [1.15]: 2000/12/02 20:41:52 lpd)
    +	- The PDF interpreter ignored the CIDToGIDMap entry in (embedded)
    +CIDFontType 2 fonts, producing incorrect output if the map wasn't /Identity.
    +(lib/pdf_font.ps [1.16]: 2000/12/07 23:41:10 lpd)
    +	- GS didn't dereference indirect objects in Widths array.
    +(lib/pdf_font.ps [1.17]: 2000/12/17 19:06:19 alexcher)
    +	- Fixes a slight oversight in the true/false/null improvement for
    +the PDF interpreter. (lib/pdf_base.ps [1.12]: 2000/12/26 04:10:12 lpd)
    +	- When a non-TrueType font was substituted for a TrueType font, the
    +Encoding in the font descriptor was ignored. This hack was intended to fix
    +SF bug # 104702, an invalid PDF file, but it broke another case. Removal of
    +the hack makes GS render both cases similar to AR 4.
    +(lib/pdf_font.ps [1.18]: 2000/12/26 04:29:30 alexcher)
    +	- The PDF interpreter didn't rotate the CropBox for landscape pages,
    +producing incorrect output if the input of ps2pdf was a landscape PDF file.
    +(lib/pdf_main.ps [1.26]: 2000/12/31 01:07:18 lpd)
    +
    +Improves font substitution by taking the "Narrow" property into account.
    +Fixes SourceForge bug 116460. Fix due to Leon Bottou.
    +(lib/pdf_font.ps [1.13]: 2000/11/05 17:36:28 raph)
    +
    +Wraps the showpagecontents call in gsave/grestore, so that the graphics
    +state for drawing annotations is pristine. Fixes Sourceforge bug 123310.
    +(lib/pdf_main.ps [1.23]: 2000/11/25 22:00:21 raph)
    +
    +The published PDF specification says the Encoding name "must be" one of the
    +3 predefined Encodings, implying that an error should occur if it isn't.
    +However, Acrobat Reader simply ignores unknown names, and since there are
    +some buggy applications that rely on this, we do the same.
    +(lib/pdf_font.ps [1.14]: 2000/11/28 18:55:24 alexcher)
    +
    +The PDF specification says that the 'xref' must be on a line by itself. The
    +code formerly used readline and linene to check this. However, Acrobat
    +Reader only requires the line to begin with 'xref', and there are enough
    +applications producing non-compliant PDF files that we have to do this too.
    +(lib/pdf_main.ps [1.24]: 2000/12/18 03:41:35 alexcher)
    +
    +AI8 writes bogus encoding array [0 1 0 0 0 0 0 0] AR doesn't care. So we
    +have to straighten it up here. (lib/pdf_draw.ps [1.24]: 2000/12/20 19:02:24
    +alexcher)
    +
    +Makes the PDF interpreter handle true, false, and null specially, rather
    +than by dictionary lookup, so that the PostScript interpreter can still
    +process these names using the special fast case for names defined only in
    +systemdict. (lib/pdf_base.ps [1.11], lib/pdf_main.ps [1.25]: 2000/12/26
    +04:08:44 lpd)
    +
    +

    Interpreter

    +
    +Fixes problems:
    +	- The recently updated code for activating the DSC comment parser
    +had several local/global VM problems, causing invalidaccess errors.
    +(lib/gs_dps2.ps [1.3], lib/gs_init.ps [1.27], lib/gs_pdfwr.ps [1.7]:
    +2000/11/07 18:51:24 lpd)
    +	- There was still a bug in the code for passing DSC comments to the
    +PDF writer, causing typecheck errors. (lib/gs_pdfwr.ps [1.8]: 2000/11/07
    +19:27:14 lpd)
    +	- If the procedure of a FunctionType 4 Function was syntactically
    +valid but exceeded the maximum stack depth, an attempt was made to free a
    +string as an object, causing memory corruption. (zfunc4.c [1.6]: 2000/11/11
    +17:34:06 lpd)
    +	- Disk-based TrueType fonts caused a memory leak. (Currently, there
    +are no such fonts, but CIDFontType 2 fonts, and directly-accessed TrueType
    +fonts, should be made disk-based.) (zfcid1.c [1.4]: 2000/11/22 08:32:07 lpd)
    +	- Type 1 CharStrings loaded from disk for type 0 CIDFonts were never
    +freed, except by garbage collection (which doesn't reclaim chunks with only
    +a small amount of surviving data). In practice, this probably only affects
    +the PDF writer. (zfcid0.c [1.5]: 2000/11/23 23:34:22 lpd)
    +	- Single-byte notdef ranges in CMaps incorrectly incremented the CID
    +number, rather than assigning the same CID to all characters in the range.
    +(lib/gs_cmap.ps [1.9]: 2000/11/29 06:58:36 lpd)
    +	- In dictionaries, an int lookup key sometimes didn't match a real
    +stored key, and vice versa. Fixes SourceForge bug # 123678. (idict.c [1.3]:
    +2000/11/30 07:13:08 lpd)
    +	- Further tweaking of the logic to clear end_status flags in a
    +pipeline in the continuation of a procedure write, making it more aggressive
    +than the previous fix, but less aggressive than the original code. This is a
    +revised fix for Sourceforge bug 119777. (zfproc.c [1.7]: 2000/12/02 19:58:45
    +raph)
    +	- 'gstate' was allowed in global VM even if the current graphics
    +state included references to structures in local VM (which is, in fact,
    +normally the case) and the save level was non-zero: this could create a
    +dangling pointer after the 'restore'. This "fix" is a workaround that simply
    +prohibits doing this, but a correct fix would copy any such structures.
    +(zdps1.c [1.3]: 2000/12/02 20:39:37 lpd)
    +	- The first call of check_psc_function in gs_build_function_4 didn't
    +initialize size to 0, causing the computed value of size to be garbage,
    +possibly leading to a VMerror or memory corruption. (zfunc4.c [1.7]:
    +2000/12/03 16:56:31 alexcher)
    +	- The font_info procedure for PostScript fonts other than Type 1
    +didn't return information from the FontInfo dictionary (Copyright,
    +FamilyName, FullName, Notice), causing this information to be omitted when
    +embedding the font in a PDF file. (ifont.h [1.6], zbfont.c [1.7],
    +zfont.c [1.3], zfont1.c [1.9]: 2000/12/03 23:35:30 lpd)
    +	- The %%ViewingOrientation: DSC comment was misspelled
    +%%ViewerOrientation:. This also corrects the CDSC_VIEWINGORIENTATION enum
    +value (formerly CDSC_VIEWERORIENTATION, and the viewing_orientation members
    +of the CDSCPAGE structure and the CDSC structure (formerly
    +viewer_orientation). (dscparse.c [1.3], dscparse.h [1.3], zdscpars.c [1.8]:
    +2000/12/09 18:28:23 lpd)
    +	- Unitialized member of CDSCPAGE caused random crashes.
    +(dscparse.c [1.4]: 2000/12/13 07:18:46 alexcher)
    +	- systemdict was being created too small for LanguageLevel 3
    +systems. (It expanded properly, but left a sandbar.) (iinit.c [1.3]:
    +2000/12/26 04:25:54 lpd)
    +	- Expanding a permanent dictionary (systemdict or userdict)
    +destroyed the single-definition bookkeeping for names defined in that
    +dictionary, slowing down subsequent interpretation. (idict.c [1.4]:
    +2000/12/26 06:09:58 lpd)
    +	- Fix to dscparse.c for parsing DOS EPS files. Code now looks for
    +%!PS-Adobe- at the start of the PostScript section, not at the start of the
    +DOS EPS header. (dscparse.c [1.5]: 2000/12/28 01:45:01 ghostgum)
    +
    +Collect some stray configuration related externs into iconf.h
    +(imain.c [1.3], imainarg.c [1.5]: 2000/11/04 06:12:02 rayjj)
    +
    +branches: 1.1.2; Collect some stray configuration related externs into
    +iconf.h (iconf.h [1.1]: 2000/11/04 06:12:02 rayjj)
    +
    +Add COMPILE_INITS information line to -h help output. (imainarg.c [1.6]:
    +2000/11/04 06:13:42 rayjj)
    +
    +Adds DSC parsing capability to the PostScript interpreter, with an optional
    +'feature' to use the DSC Orientation comments to compensate for sloppy
    +PostScript producers that don't emit an appropriate setpagedevice command.
    +(lib/gs_dscp.ps [1.1], zdscpars.c [1.1]: 2000/11/05 18:33:52 lpd)
    +
    +branches: 1.1.2; Adds DSC parsing capability to the PostScript interpreter,
    +with an optional 'feature' to use the DSC Orientation comments to compensate
    +for sloppy PostScript producers that don't emit an appropriate setpagedevice
    +command. (dscparse.c [1.1], dscparse.h [1.1]: 2000/11/05 18:33:53 lpd)
    +
    +Polishes the DSC parser interface: improves comments and formatting, and
    +fixes a couple of very minor glitches. (zdscpars.c [1.2]: 2000/11/06
    +07:34:21 lpd)
    +
    +branches: 1.3.2; ... and fixes an overlooked const discrepancy.
    +(zdscpars.c [1.3]: 2000/11/06 07:35:51 lpd)
    +
    +branches: 1.2.2; Fix: The recently updated code for activating the DSC
    +comment parser had several local/global VM problems, causing invalidaccess
    +errors. (lib/gs_dscp.ps [1.2]: 2000/11/07 18:51:25 lpd)
    +
    +Return code variables (code and comment_code) in zparse_dsc_comments(). need
    +to be signed. (zdscpars.c [1.4]: 2000/11/08 00:54:48 dancoby)
    +
    +Rewrites .parse_dsc_comment to use the parameter list machinery, removing a
    +little functionally duplicated code; changes two incorrect uints to ints
    +(fix from dan@artifex.com); adds additional comment types (BoundingBox,
    +PageBoundingBox, BeginDefaults, EndDefaults) to the interface.
    +(zdscpars.c [1.5]: 2000/11/08 07:07:32 lpd)
    +
    +DSC parser changes: adds %%ViewerOrientation to DSC parser; doesn't flag an
    +error if %%Pages is absent but one %%Page is found; frees memory if
    +initialization fails; recognizes general whitespace in some places where
    +only spaces were recognized before. (changes from gsview@ghostgum.com.au)
    +(dscparse.c [1.2], dscparse.h [1.2]: 2000/11/13 05:44:58 lpd)
    +
    +Adds DSC comment tracing to ps2pdf, if -dDEBUG is specified on the command
    +line. (lib/gs_pdfwr.ps [1.9]: 2000/11/13 17:03:51 lpd)
    +
    +Adds %%EndDefaults, %%For:, and %%ViewerOrientation: to the set of DSC
    +comments handled by the .parse_dsc_comments operator. (zdscpars.c [1.6]:
    +2000/11/13 17:06:18 lpd)
    +
    +Slightly simplifies the code for creating the internal representation of
    +CMaps. (lib/gs_cmap.ps [1.8]: 2000/11/16 00:32:00 lpd)
    +
    +Changes .buildshading to always apply a ReusableStreamDecode filter to file
    +and stream DataSources, so that multiple passes over the stream work. This
    +patch closes SourceForge bug 121810. (lib/gs_ll3.ps [1.7]: 2000/11/16
    +00:37:32 raph)
    +
    +Makes single-byte CMap ranges convert into a single range in the internal
    +representation, rather than (largest - smallest + 1) separate single-element
    +ranges. (lib/gs_cmap.ps [1.10]: 2000/11/29 07:10:27 lpd)
    +
    +Adds documentation for the procedures declared in ifont.h. (ifont.h [1.5]:
    +2000/12/03 23:14:28 lpd)
    +
    +Extensively revises and updates the pdfwrite text handling code to support
    +processing and embedding of all types of fonts (except for Type 3 and
    +CIDFontType 1, which are defined by PostScript procedures), and all variants
    +of 'show' (including kshow and glyphshow). In particular, Type 0 fonts with
    +all FMapTypes (including CMap-based), CIDFontType 0 and 2 fonts, and both
    +standard and non-standard CMaps are supported. (lib/gs_cidfn.ps [1.18]:
    +2000/12/08 23:35:38 lpd)
    +
    +Makes the default value of ParseDSCCommentsForDocInfo true rather than
    +false. (lib/gs_pdfwr.ps [1.10]: 2000/12/09 08:00:52 lpd)
    +
    +Changes the parsing of the DSC Orientation comments to return -1 .. 3 rather
    +than 0 or 1. (lib/gs_dscp.ps [1.3], zdscpars.c [1.7]: 2000/12/09 17:52:29
    +lpd)
    +
    +Changes .parse_dsc_comments to distinguish (document default)
    +ViewingOrientation from PageViewingOrientation, as for [Page]Orientation.
    +(zdscpars.c [1.9]: 2000/12/09 19:52:49 lpd)
    +
    +Updates the comments with a new proposal for speeding up name lookup in the
    +interpreter. (dstack.h [1.3]: 2000/12/26 01:20:58 lpd)
    +
    +The old code caused gswin crash when console window closes.
    +(dwimg.cpp [1.3]: 2000/12/26 13:41:40 igorm)
    +
    +New flag DELAYSAFER added to defer activation of safety checks. SAFER=false
    +=> no safety checks SAFER=true, DELAYSAFER=false => safety checks
    +always SAFER=true, DELAYSAFER=true => safety checks after .setsafe
    +(lib/gs_init.ps [1.28]: 2000/12/29 04:13:56 alexcher)
    +
    +

    Streams

    +
    +Fixes problems:
    +	- Seek was broken and PDF interpreter failed when
    +FILE_IMPLEMENTATION=fd The implementation of streams using direct OS calls
    +is extended to support MSVC && Win32. close_.h is replaced by more
    +general unistd_.h (sfxfd.c [1.6]: 2000/12/19 03:35:40 alexcher)
    +
    +

    Library

    +
    +Fixes problems:
    +	- Several places in the band list code didn't call s_init_state to
    +initialize locally allocated stream states: this is now required (see the
    +"Incompatible changes" section above). We suspect there are a few more
    +places that will need this fix. (gxclbits.c [1.3], gxcldev.h [1.4],
    +gxclread.c [1.3], gxclutil.c [1.3]: 2000/11/05 00:34:24 lpd)
    +	- Fixes infinite loops when writing large bitmaps into clist. Now,
    +cmd_put_bits never requests an allocation in the clist buffer larger than
    +cbuf_size. (gxclbits.c [1.4]: 2000/11/05 18:44:57 raph)
    +	- Works around an Acrobat Reader 4 bug that causes AR4 to draw a
    +single pixel, rather than nothing, when filling a subpath consisting only of
    +a moveto. (gdevvec.c [1.8]: 2000/11/07 16:42:28 lpd)
    +	- The PDF writer didn't handle stroked fonts correctly (they were
    +filled instead of stroked). (gdevvec.c [1.9], gdevvec.h [1.5]: 2000/11/12
    +06:52:08 lpd)
    +	- The pdfwrite and pswrite drivers could emit a lineto or rlineto
    +without a moveto at the beginning of the path. (bug introduced very
    +recently, by a workaround for an Acrobat Reader bug) (gdevvec.c [1.10]:
    +2000/11/14 07:41:08 lpd)
    +	- Attempting to write a CFF Type 2 font larger than 32K but smaller
    +than 64K caused a rangecheck. (gdevpsf2.c [1.8]: 2000/11/19 17:48:08 lpd)
    +	- Computing the default width or the fixed width for a CIDFont or
    +TrueType font could do a huge amount of unnecessary work. (Probably only
    +affects the PDF writer.) (gsfont.c [1.3]: 2000/11/20 21:09:09 lpd)
    +	- The Type 1 to Type 2 CharString converter (currently used only by
    +the PDF writer) often didn't detect invalid CharStrings as input.
    +(gdevpsfx.c [1.6]: 2000/11/21 02:33:55 lpd)
    +	- The code for writing a CIDFontType0 CFF font mistook Type 2
    +CharStrings for Type 1, and tried to convert them to Type 2. (This currently
    +affects only the PDF writer.) (gdevpsf2.c [1.9]: 2000/11/21 02:35:59 lpd)
    +	- Disk-based TrueType fonts caused a memory leak. (Currently, there
    +are no such fonts, but CIDFontType 2 fonts, and directly-accessed TrueType
    +fonts, should be made disk-based.) (gdevpsft.c [1.5], gstype42.c [1.10]:
    +2000/11/22 08:32:07 lpd)
    +	- Type 1 CharStrings loaded from disk for type 0 CIDFonts were never
    +freed, except by garbage collection (which doesn't reclaim chunks with only
    +a small amount of surviving data). In practice, this probably only affects
    +the PDF writer. (gsfcid.c [1.5], gstype1.c [1.6], gstype2.c [1.9],
    +gxfont1.h [1.5], gxtype1.c [1.8], gxtype1.h [1.5]: 2000/11/23 23:34:22 lpd)
    +	- The pswrite device couldn't write to pipes. The fix involved
    +expanding the API for opening device OutputFiles so that the individual
    +driver could specify whether it required, requested, or did not want a
    +positionable file. Fixes SourceForge bug # 122223. (gdevpipe.c [1.4],
    +gdevvec.c [1.11], gdevvec.h [1.6], gsdevice.c [1.8]: 2000/11/29 02:25:13
    +lpd)
    +	- The change for freeing transient CharStrings introduced two bugs,
    +possibly causing the code to free data twice, or to free data that should be
    +retained. (gdevpsfx.c [1.8]: 2000/11/30 05:58:19 lpd)
    +	- Allocates graphics state path in stable memory. This prevents
    +paths in Type 3 fonts allocated inside a save ... setcachedevice ... restore
    +sequence from being prematurely freed. Fixes SourceForge bug 101549.
    +(gspath1.c [1.3], gsstate.c [1.6]: 2000/12/04 21:13:55 raph)
    +	- An inadvertent change caused the graphics state not to be freed on
    +grestore. This fix, due to lpd, restores the freeing statement.
    +(gsstate.c [1.7]: 2000/12/05 09:24:57 raph)
    +	- The pointers to the substituted color spaces in the graphics state
    +weren't included in the structure descriptor, causing memory access errors
    +if UseCIEColor was used. (gsstate.c [1.8]: 2000/12/11 04:06:22 alexcher)
    +	- In TrueType fonts, glyph outlines starting with an off-curve point
    +didn't render correctly, replacing the curve with a pair of straight lines.
    +(gstype42.c [1.11]: 2000/12/12 22:27:56 alexcher)
    +	- Strict type correctness is required on VMS system. Contributed by
    +Jouk Jansen joukj@hrem.stm.tudelft.nl (gdevpsf2.c [1.12], gsfcmap.c [1.13]:
    +2000/12/18 21:58:03 alexcher)
    +	- Seek was broken and PDF interpreter failed when
    +FILE_IMPLEMENTATION=fd The implementation of streams using direct OS calls
    +is extended to support MSVC && Win32. close_.h is replaced by more
    +general unistd_.h (gpmisc.c [1.9]: 2000/12/19 03:35:40 alexcher)
    +	- Fixes a subtle logic bug in the scan line path filling code, which
    +unfortunately involved rewriting the code from scratch. The new code is also
    +somewhat subtle, and may contain new bugs: DON'T TRUST IT YET. Fixes
    +SourceForge bug # 117066. (gxfill.c [1.7]: 2000/12/23 06:02:39 lpd)
    +	- Embedded Type 1 fonts omitted StdVW. (Acrobat Reader requires
    +this, even though the Type 1 specification says it is optional.)
    +(gdevpsf1.c [1.8]: 2000/12/29 01:18:55 lpd)
    +
    +Adds developer documentation on the color mapping pipeline. (gxfrac.h [1.3]:
    +2000/11/03 04:53:00 lpd)
    +
    +Improves the documentation of the minimum responsibilities of the 'process'
    +procedure in a text enumerator. (gxtext.h [1.6]: 2000/11/06 00:44:37 lpd)
    +
    +Adds a param_string_from_transient_string macro, to parallel
    +param_string_from_string for non-permanent C strings. (gsparam.h [1.8]:
    +2000/11/08 06:56:50 lpd)
    +
    +Adds a macro for declaring suffix subclasses with 5 added pointers (in
    +addition to the existing 1, 2, 3, 4, and 6). (gsstruct.h [1.6]: 2000/11/21
    +16:46:55 lpd)
    +
    +Adds a procedure for testing whether a glyph is a "notdef" in a font,
    +necessary for fixing a memory consumption problem when accessing type 0
    +CIDFonts. (gsfont.c [1.4], gxfont.h [1.3]: 2000/11/23 23:23:40 lpd)
    +
    +Speeds up the slow case of fixed_mult_quo by nearly a factor of 2, by using
    +a tiny bit of numerical analysis. (gsmisc.c [1.9], gxfixed.h [1.3]:
    +2000/11/24 06:53:23 lpd)
    +
    +Improves the performance of embedded font writing by freeing strings when no
    +longer needed, and by removing redundant computation. (Currently relevant
    +only to the PDF writer.) (gdevpsf1.c [1.7], gdevpsf2.c [1.10],
    +gdevpsfu.c [1.5], gdevpsfx.c [1.7]: 2000/11/24 07:10:41 lpd)
    +
    +Adds a procedure for creating an Identity CMap, needed by the PDF writer.
    +(gsfcmap.c [1.11], gxfcmap.h [1.6]: 2000/11/26 04:08:41 lpd)
    +
    +Implements the stopgap measure of increasing fill_adjust for Coons patch
    +shading, to cover the dropouts caused by incorrect triangulation of the mesh
    +surface. See SourceForge Bug 119588 for a more thorough analysis.
    +(gsptype2.c [1.4], gxshade4.c [1.4]: 2000/11/29 01:31:30 raph)
    +
    +Adds an internal unique ID to CMap structures (gs_cmap_t), for use as a
    +cache or comparison key. (gsfcmap.c [1.12], gxfcmap.h [1.7]: 2000/11/29
    +05:50:03 lpd)
    +
    +The old code did not comply ISO/IEC C language standard and compiled wrongly
    +to Mac, causing halftone problem on Mac. (gshtscr.c [1.5]: 2000/11/29
    +14:41:34 igorm)
    +
    +Adds macros for suffix subclass structures with 7 or 8 additional pointers
    +(1-6 and 9 existed already). (gsstruct.h [1.7]: 2000/12/04 01:11:53 lpd)
    +
    +Extensively revises and updates the pdfwrite text handling code to support
    +processing and embedding of all types of fonts (except for Type 3 and
    +CIDFontType 1, which are defined by PostScript procedures), and all variants
    +of 'show' (including kshow and glyphshow). In particular, Type 0 fonts with
    +all FMapTypes (including CMap-based), CIDFontType 0 and 2 fonts, and both
    +standard and non-standard CMaps are supported. (gdevpsf.h [1.9],
    +gdevpsf2.c [1.11], gdevpsfm.c [1.4], gdevpsft.c [1.6], gdevpsfu.c [1.6]:
    +2000/12/08 23:35:38 lpd)
    +
    +Moves definitions of gs_state_do_ptrs and gs_state_num_ptrs from gsstate.c
    +to gzstate.h since they depend on the contents of struct gs_state_s defined
    +there. (gsstate.c [1.9], gzstate.h [1.4]: 2000/12/11 12:52:16 alexcher)
    +
    +Splits off the code for downsampling an oversampled character bitmap into a
    +separate file. (gsbitcom.c [1.1], gsbitops.c [1.3]: 2000/12/14 00:14:52 lpd)
    +
    +branches: 1.1.2; Fix: Seek was broken and PDF interpreter failed when
    +FILE_IMPLEMENTATION=fd The implementation of streams using direct OS calls
    +is extended to support MSVC && Win32. close_.h is replaced by more
    +general unistd_.h (unistd_.h [1.1]: 2000/12/19 03:35:40 alexcher)
    +
    +Brings gxfill.c up to date with current coding standards (except for adding
    +_t to the names of locally defined structure types); also puts #ifdef
    +FILL_TRAPEZOIDS around a little more code that tests 'if (fill_trapezoids)'.
    +(gxfill.c [1.6]: 2000/12/21 16:10:36 lpd)
    +
    +Updates repository for 6.60 release. (gscdef.c [1.11]: 2001/01/01 00:24:06
    +lpd)
    +
    +

    Other

    +
    +Fixes problems:
    +	- Seek was broken and PDF interpreter failed when
    +FILE_IMPLEMENTATION=fd The implementation of streams using direct OS calls
    +is extended to support MSVC && Win32. close_.h is replaced by more
    +general unistd_.h (close_.h [1.3]: 2000/12/19 03:35:40 alexcher)
    +
    +
    + +

    Version 6.30 (2000-10-03)

    + +

    +This fileset consists of xxx. + +

    +All problems registered on SourceForge numbered 110922 or lower are closed, +except for the following: 101549, 101814, 101905, 101955, 102146, 102735, +104118, 105289, 105558, 106340, 106652, 109350, 110445, 110898, 110922. + +

    +The following projects are in a partially completed state: + +

      + +
    • CID-keyed fonts in the PDF writer (gdevpdf[eftw].c) -- barely started. + +
    + +
    +
    +

    Incompatible changes

    + +(Procedures) + - The -Zv and -ZV switches now trace alpha/transparency features. + - The program name has changed. + - The default Windows installation directory is now c:\gs rather +than c:\Aladdin. +(Utilities) + - lib/pdfeof.ps is deleted; its functionality is included in the +standard code. +(Drivers) + - The X driver now implements sync_output using XSync(False) rather +than XFlush(). +(Library) + - gdev_vector_dopath now never returns 1. + - Color space types now have a new, required, "equal" procedure. + + +

    Documentation

    +
    +Fixes problems:
    +	- the "User parameters" section was incorrectly titled "Device
    +parameters". (doc/Language.htm [1.11]: 2000/08/17 17:00:42 lpd)
    +
    +Initializes files for the 6.24 fileset. (doc/News.htm [1.57]: 2000/08/09
    +16:54:01 lpd)
    +
    +Adds Alex Cherepanov to the roster of helpers. (doc/Helpers.htm [1.2]:
    +2000/08/09 16:54:39 lpd)
    +
    +Documents the -dDEVICE{WIDTH,HEIGHT}POINTS= switches. (doc/Use.htm [1.10]:
    +2000/08/17 01:31:52 lpd)
    +
    +Notes the change in the return value of gdev_vector_dopath.
    +(doc/News.htm [1.58]: 2000/08/20 00:20:42 lpd)
    +
    +Changes text to make it clear that Yves Arrouye no longer maintains the BJC
    +drivers that he wrote. (doc/Devices.htm [1.11]: 2000/08/21 14:38:27 lpd)
    +
    +Puts the logic for detecting garbage after %%EOF (and some similar invalid
    +constructs) back into the main code, making it produce a message on stderr.
    +(doc/Psfiles.htm [1.6]: 2000/08/23 02:22:39 lpd)
    +
    +Documents the deletion of lib/pdfeof.ps. (doc/News.htm [1.59]: 2000/08/23
    +02:23:54 lpd)
    +
    +Starts to implement the PDF 1.4 transparency features. All API and operator
    +additions are now implemented (at least as stubs) and documented, as is
    +bookkeeping for the new scalar graphics state members (but not for the soft
    +masks or the transparency group stack). (doc/Language.htm [1.12]: 2000/08/23
    +21:46:31 lpd)
    +
    +Adds a project to avoid DCT-decoding followed by DCT-encoding images when
    +writing PDF files. (doc/Projects.htm [1.16]: 2000/08/24 03:43:12 lpd)
    +
    +Adds a new equality-testing virtual procedure for color spaces.
    +(doc/News.htm [1.60]: 2000/08/24 05:42:30 lpd)
    +
    +Brings the (still mostly stubbed) transparency code to a more
    +self-consistent state. (doc/Language.htm [1.13]: 2000/08/30 01:34:40 lpd)
    +
    +Completes the parsing of .{begin,end}transparency{group,mask}, except for
    +the TransferFunction for masks. The specification is still subject to
    +change. (doc/Language.htm [1.14]: 2000/08/30 15:03:36 lpd)
    +
    +Divides the list of documents according to whether the document is for
    +users, for developers, or both. (doc/Readme.htm [1.11]: 2000/08/30 21:24:00
    +lpd)
    +
    +Adds more documentation for the transparency rendering stack.
    +(doc/Language.htm [1.15]: 2000/08/31 03:34:41 lpd)
    +
    +Adds a requirement to only use ANSI standard C library facilities.
    +(doc/C-style.htm [1.2]: 2000/09/08 04:53:14 lpd)
    +
    +Changes the -Zv switch to trace alpha/transparency-related features.
    +(doc/News.htm [1.61], doc/Use.htm [1.11]: 2000/09/10 05:23:10 lpd)
    +
    +Implements another chunk of the PDF 1.4 transparency features, fixing some
    +bugs in the previous code. (doc/Language.htm [1.16]: 2000/09/10 05:26:27
    +lpd)
    +
    +Documents the addition of (limited) PDF 1.4 output capabilities.
    +(doc/Ps2pdf.htm [1.16]: 2000/09/11 02:08:58 lpd)
    +
    +Moves the Matte entry of soft mask images from the main structure to the
    +mask structures, and changes Matted to has_Matte. (doc/Language.htm [1.17]:
    +2000/09/11 04:08:13 lpd)
    +
    +Documents division of bug-gs mailbox into bug-gs, bug-gs-dev, and
    +bug-gs-beta. (doc/Bug-form.htm [1.7], doc/Bug-info.htm [1.5]: 2000/09/15
    +23:44:21 lpd)
    +
    +Adds a paragraph explaining license details. (doc/PUBLIC [1.2],
    +doc/Public.htm [1.2]: 2000/09/18 22:26:32 lpd)
    +
    +Updates the license notices to reflect the name change; also updates many
    +internal references. (doc/Bug-form.htm [1.8], doc/Bug-info.htm [1.6],
    +doc/C-style.htm [1.3], doc/Changes.htm [1.17], doc/Commprod.htm [1.2],
    +doc/Copying.htm [1.2], doc/Current.htm [1.2], doc/DLL.htm [1.2],
    +doc/Devices.htm [1.12], doc/Drivers.htm [1.7], doc/Fonts.htm [1.7],
    +doc/Helpers.htm [1.3], doc/History1.htm [1.2], doc/History2.htm [1.2],
    +doc/History3.htm [1.2], doc/History4.htm [1.2], doc/History5.htm [1.4],
    +doc/History6.htm [1.12], doc/Htmstyle.htm [1.5], doc/Install.htm [1.6],
    +doc/Language.htm [1.18], doc/Lib.htm [1.2], doc/Maintain.htm [1.3],
    +doc/Make.htm [1.14], doc/New-user.htm [1.11], doc/News.htm [1.62],
    +doc/PUBLIC [1.3], doc/Projects.htm [1.17], doc/Ps2epsi.htm [1.3],
    +doc/Ps2pdf.htm [1.17], doc/Psfiles.htm [1.7], doc/Public.htm [1.3],
    +doc/Readme.htm [1.12], doc/Release.htm [1.18], doc/Source.htm [1.2],
    +doc/Tester.htm [1.2], doc/Unix-lpr.htm [1.2], doc/Use.htm [1.12],
    +doc/Xfonts.htm [1.2], doc/gs-vms.hlp [1.2]: 2000/09/19 21:37:50 lpd)
    +
    +Updates README from Readme.htm. (doc/README [1.3]: 2000/09/19 23:39:31 lpd)
    +
    +Changes the default Windows installation directory from c:\Aladdin to c:\gs.
    +(doc/Install.htm [1.7], doc/News.htm [1.63]: 2000/09/22 05:32:17 lpd)
    +
    +Replaces the OpenVMS installation instructions with an improved set
    +contributed by a user. (doc/Helpers.htm [1.4], doc/Install.htm [1.8]:
    +2000/09/22 20:33:19 lpd)
    +
    +Adds a project for fixing PDF files that have gotten mangled by EOL
    +conversion. (doc/Projects.htm [1.18]: 2000/09/25 14:40:37 lpd)
    +
    +Adds a reference to PreScript, another free text extraction program based on
    +Ghostscript. (doc/New-user.htm [1.12]: 2000/09/26 01:04:40 lpd)
    +
    +Documentation changes in preparation for 6.30 release. Replaced some contact
    +information, updated version numbers. (doc/Bug-form.htm [1.9],
    +doc/Bug-info.htm [1.7], doc/Commprod.htm [1.3], doc/Copying.htm [1.3],
    +doc/Current.htm [1.3], doc/DLL.htm [1.3], doc/Devices.htm [1.13],
    +doc/Drivers.htm [1.8], doc/Fonts.htm [1.8], doc/Helpers.htm [1.5],
    +doc/History1.htm [1.3], doc/History2.htm [1.3], doc/History3.htm [1.3],
    +doc/History4.htm [1.3], doc/History5.htm [1.5], doc/History6.htm [1.13],
    +doc/Htmstyle.htm [1.6], doc/Install.htm [1.9], doc/Language.htm [1.19],
    +doc/Lib.htm [1.3], doc/Maintain.htm [1.4], doc/Make.htm [1.15],
    +doc/New-user.htm [1.13], doc/News.htm [1.64], doc/Projects.htm [1.19],
    +doc/Ps2epsi.htm [1.4], doc/Ps2pdf.htm [1.18], doc/Psfiles.htm [1.8],
    +doc/README [1.4], doc/Readme.htm [1.13], doc/Release.htm [1.19],
    +doc/Source.htm [1.3], doc/Tester.htm [1.3], doc/Unix-lpr.htm [1.3],
    +doc/Use.htm [1.13], doc/Xfonts.htm [1.3], doc/gs-vms.hlp [1.3]: 2000/10/04
    +04:33:27 raph)
    +
    +Bring version numbers and dates up to date. Small bug fix in toolbin/pre to
    +make it able to handle months with leading zeros. (doc/C-style.htm [1.4],
    +doc/Helpers.htm [1.6], man/ps2ps.1 [1.7]: 2000/10/04 05:18:54 raph)
    +
    +

    Procedures

    +
    +Fixes problems:
    +	- The PostScript image writing drivers (psmono/gray/rgb) didn't set
    +the page size in the output, and didn't produce DSC-compliant output.
    +(devs.mak [1.31]: 2000/08/09 06:55:45 lpd)
    +	- The FlateEncode and zlibEncode filters didn't implement the
    +"Effort" parameter. (fix from Alex Cherepanov) (int.mak [1.28]: 2000/08/09
    +16:55:24 lpd)
    +	- Because "-" as an OutputFile now references the %stdout IODevice,
    +it no longer worked in configurations without a PostScript interpreter.
    +Fixing this required factoring out the stdin/out/err IODevices and providing
    +an implementation that didn't reference the PostScript interpreter.
    +(int.mak [1.32], lib.mak [1.34], ugcclib.mak [1.3]: 2000/09/07 06:14:45 lpd)
    +	- Configurations including PDF but not PostScript didn't include all
    +the PostScript LL3 features needed to interpret PDF 1.3 et seq.
    +(int.mak [1.33]: 2000/09/07 06:35:06 lpd)
    +	- Cleans up some missing and incorrect dependencies.
    +(devs.mak [1.33], int.mak [1.34], lib.mak [1.35]: 2000/09/11 04:43:09 lpd)
    +	- The definition of PSRCDIR was inconsistent with the definition of
    +PVERSION. (openvms.mak [1.5]: 2000/09/22 04:05:40 lpd)
    +	- The pgnm and pnm drivers didn't properly detect the presence of
    +gray shades or color in images, sometimes causing gray or color information
    +to be lost in the output. (fix contributed by a user) (devs.mak [1.35]:
    +2000/09/23 04:52:56 lpd)
    +
    +Initializes files for the 6.24 fileset. (version.mak [1.19]: 2000/08/09
    +16:54:02 lpd)
    +
    +Adds a mention of the Color LaserJet 4500 as a color PCL XL printer.
    +(devs.mak [1.32]: 2000/08/17 20:43:50 lpd)
    +
    +Changes text to make it clear that Yves Arrouye no longer maintains the BJC
    +drivers that he wrote. (contrib.mak [1.19]: 2000/08/21 14:38:28 lpd)
    +
    +Puts the logic for detecting garbage after %%EOF (and some similar invalid
    +constructs) back into the main code, making it produce a message on stderr.
    +(unixinst.mak [1.12]: 2000/08/23 02:22:39 lpd)
    +
    +Starts to implement the PDF 1.4 transparency features. All API and operator
    +additions are now implemented (at least as stubs) and documented, as is
    +bookkeeping for the new scalar graphics state members (but not for the soft
    +masks or the transparency group stack). (int.mak [1.29], lib.mak [1.30]:
    +2000/08/23 21:46:31 lpd)
    +
    +Adds a new equality-testing virtual procedure for color spaces.
    +(lib.mak [1.31]: 2000/08/24 05:42:30 lpd)
    +
    +Partly implements opacity and shape mask bookkeeping. gsave/grestore/etc.
    +and banding don't do the right thing yet. (int.mak [1.30],
    +version.mak [1.20]: 2000/08/25 01:46:48 lpd)
    +
    +Brings the (still mostly stubbed) transparency code to a more
    +self-consistent state. (lib.mak [1.32]: 2000/08/30 01:34:40 lpd)
    +
    +Finishes the code for parsing ImageType 103 (soft-mask) images.
    +(int.mak [1.31], lib.mak [1.33]: 2000/08/30 04:30:05 lpd)
    +
    +*** empty log message *** (int.mak [1.35]: 2000/09/14 19:46:05 alexcher)
    +
    +Undoes uncommented and in some cases inappropriate changes. (int.mak [1.36]:
    +2000/09/18 06:28:58 lpd)
    +
    +Updates license notices
    +rather than simply saying "All rights reserved". (toolbin/3way.tcl [1.2],
    +toolbin/cvs2hist.py [1.2], toolbin/errlist.tcl [1.2],
    +toolbin/gsindent [1.2], toolbin/gsmake.tcl [1.4], toolbin/headers.tcl [1.2],
    +toolbin/leaks.tcl [1.2], toolbin/makegnu.tcl [1.2],
    +toolbin/makeset.tcl [1.4], toolbin/pre [1.6], toolbin/precheck.tcl [1.2],
    +toolbin/suite.tcl [1.2], toolbin/tmake.tcl [1.2]: 2000/09/19 17:30:25 lpd)
    +
    +Updates the license notices to reflect the name change, and changes
    +internal references in various scripts. (toolbin/3way.tcl [1.3],
    +toolbin/cvs2hist.py [1.3], toolbin/errlist.tcl [1.3], toolbin/gsindent
    +[1.3], toolbin/gsmake.tcl [1.5], toolbin/headers.tcl [1.3],
    +toolbin/leaks.tcl [1.3], toolbin/makegnu.tcl [1.3], toolbin/makeset.tcl
    +[1.5], toolbin/pre [1.7], toolbin/precheck.tcl [1.3], toolbin/suite.tcl
    +[1.3], toolbin/tmake.tcl [1.3]: 2000/09/19 18:10:51 lpd)
    +
    +Updates the license notices to reflect the name change, as well as some
    +internal references to the program name. (all-arch.mak [1.5], bcwin32.mak
    +[1.3], cfonts.mak [1.2], contrib.mak [1.20], devs.mak [1.34], dvx-gcc.mak
    +[1.4], dvx-head.mak [1.2], dvx-tail.mak [1.3], dwmain.rc [1.2], dwsetup.def
    +[1.2], dwsetup.rc [1.2], dwuninst.def [1.2], dwuninst.rc [1.3]: 2000/09/19
    +19:00:08 lpd)
    +
    +Updates the license notices to reflect the name change, as well as some
    +internal references to the program name. (gs.mak [1.2], gs16spl.rc [1.2],
    +gsdll2.rc [1.2], gsdll32.rc [1.2]: 2000/09/19 19:00:25 lpd)
    +
    +Updates the license notices to reflect the name change, as well as some
    +internal references to the program name. (gsos2.rc [1.2], gspmdrv.rc [1.2]:
    +2000/09/19 19:00:30 lpd)
    +
    +Updates the license notices to reflect the name change, as well as some
    +internal references to the program name. (gswin.rc [1.2]: 2000/09/19
    +19:00:33 lpd)
    +
    +Updates the license notices to reflect the name change, as well as some
    +internal references to the program name. (int.mak [1.37], jpeg.mak [1.3],
    +lib.mak [1.36], libpng.mak [1.2], msvc32.mak [1.5], msvccmd.mak [1.5],
    +msvclib.mak [1.5], msvctail.mak [1.4], openvms.mak [1.4], openvms.mmk
    +[1.5], os2.mak [1.7], pcwin.mak [1.2]: 2000/09/19 19:00:45 lpd)
    +
    +Updates the license notices to reflect the name change, as well as some
    +internal references to the program name. (ugcclib.mak [1.4], unix-aux.mak
    +[1.3], unix-end.mak [1.2], unix-gcc.mak [1.7], unixansi.mak [1.5],
    +unixhead.mak [1.2], unixinst.mak [1.13], unixlink.mak [1.2], unixtrad.mak
    +[1.5], version.mak [1.21], watc.mak [1.5], watclib.mak [1.5], watcw32.mak
    +[1.4], wccommon.mak [1.3], wctail.mak [1.2], winint.mak [1.5], winlib.mak
    +[1.4], winplat.mak [1.2], wmin.mak [1.2], zlib.mak [1.2]: 2000/09/19
    +19:00:52 lpd)
    +
    +Add commands to make the target GLGENDIR and BINDIR directories so that a
    +clean build works automatically. (msvctail.mak [1.5]: 2000/09/21 15:14:37
    +rayjj)
    +
    +Changes the default Windows installation directory from c:\Aladdin to c:\gs.
    +(dwsetup.rc [1.3]: 2000/09/22 05:32:17 lpd)
    +
    +Changes the default Windows Start Menu Folder from "Aladdin" to
    +"Ghostscript". (dwsetup.rc [1.4]: 2000/09/22 05:35:02 lpd)
    +
    +Updates the makefiles from libpng version 1.0.5 to 1.0.8.
    +(all-arch.mak [1.6], bcwin32.mak [1.4], dvx-gcc.mak [1.5], libpng.mak [1.3],
    +msvc32.mak [1.6], msvclib.mak [1.6], openvms.mak [1.6], openvms.mmk [1.6],
    +os2.mak [1.8], ugcclib.mak [1.5], unix-gcc.mak [1.8], unixansi.mak [1.6],
    +unixtrad.mak [1.6], watc.mak [1.6], watclib.mak [1.6], watcw32.mak [1.5]:
    +2000/09/25 15:06:28 lpd)
    +
    +Documentation changes in preparation for 6.30 release. Replaced some contact
    +information, updated version numbers. (version.mak [1.22]: 2000/10/04
    +04:33:29 raph)
    +
    +Bring version numbers and dates up to date. Small bug fix in toolbin/pre to
    +make it able to handle months with leading zeros. (toolbin/pre [1.8]:
    +2000/10/04 05:18:54 raph)
    +
    +

    Utilities

    +
    +Fixes problems:
    +	- ps2pdf13.cmd set the output PDF version to 1.2 rather than 1.3.
    +(lib/ps2pdf13.cmd [1.2]: 2000/09/10 19:32:44 lpd)
    +	- The OpenVMS Fontmap had gotten badly out of date; specifically, it
    +didn't reference the URW++ fonts distributed with Ghostscript.
    +(lib/Fontmap.VMS [1.2]: 2000/09/22 03:30:21 lpd)
    +
    +Puts the logic for detecting garbage after %%EOF (and some similar invalid
    +constructs) back into the main code, making it produce a message on stderr.
    +(lib/pdfeof.ps [1.2]: 2000/08/23 02:22:39 lpd)
    +
    +Adds script / batch / command files for producing PDF 1.4 output.
    +(lib/ps2pdf14 [1.1], lib/ps2pdf14.bat [1.1], lib/ps2pdf14.cmd [1.1]:
    +2000/09/10 19:33:47 lpd)
    +
    +Updates the license notices to reflect the name change, and changes a few
    +other internal references. (lib/Fontmap.ATB [1.2], lib/Fontmap.ATM [1.2],
    +lib/Fontmap.GS [1.2], lib/Fontmap.OS2 [1.2], lib/Fontmap.SGI [1.2],
    +lib/Fontmap.Sol [1.2], lib/Fontmap.Ult [1.2], lib/addxchar.ps [1.2],
    +lib/afmdiff.awk [1.2], lib/align.ps [1.2], lib/bdftops.ps [1.2],
    +lib/caption.ps [1.2], lib/cbjc600.ppd [1.2], lib/cbjc800.ppd [1.2],
    +lib/cid2code.ps [1.2], lib/docie.ps [1.2], lib/errpage.ps [1.2],
    +lib/font2c.ps [1.2], lib/font2pcl.ps [1.2], lib/gslp.ps [1.2], lib/gsnup.ps
    +[1.2], lib/image-qa.ps [1.2], lib/impath.ps [1.2], lib/jispaper.ps [1.2],
    +lib/lines.ps [1.2], lib/markhint.ps [1.2], lib/markpath.ps [1.2],
    +lib/packfile.ps [1.2], lib/pcharstr.ps [1.2], lib/pdf2dsc.ps [1.2],
    +lib/pdfopt.ps [1.3], lib/pdfwrite.ps [1.3], lib/pfbtopfa.ps [1.2],
    +lib/ppath.ps [1.2], lib/ps2ai.ps [1.2], lib/ps2ascii.ps [1.2], lib/ps2epsi
    +[1.4], lib/ps2epsi.ps [1.4], lib/showchar.ps [1.2], lib/stcinfo.ps [1.2],
    +lib/stcolor.ps [1.2], lib/stocht.ps [1.3], lib/traceimg.ps [1.2],
    +lib/traceop.ps [1.2], lib/type1enc.ps [1.2], lib/type1ops.ps [1.2],
    +lib/uninfo.ps [1.2], lib/unprot.ps [1.2], lib/viewcmyk.ps [1.2],
    +lib/viewgif.ps [1.2], lib/viewmiff.ps [1.2], lib/viewpbm.ps [1.2],
    +lib/viewpcx.ps [1.2], lib/viewps2a.ps [1.2], lib/wftopfa.ps [1.2],
    +lib/winmaps.ps [1.2], lib/wrfont.ps [1.2], lib/zeroline.ps [1.2]:
    +2000/09/19 18:29:11 lpd)
    +
    +Updates the license notices to reflect the name change, as well as some
    +internal references to the program name. (bench.c [1.3], echogs.c [1.2]:
    +2000/09/19 19:00:08 lpd)
    +
    +Updates the license notices to reflect the name change, as well as some
    +internal references to the program name. (genarch.c [1.2], genconf.c [1.3],
    +gendev.c [1.2], genht.c [1.2], geninit.c [1.3], gp_dvx.c [1.2], gp_iwatc.c
    +[1.4], gp_mktmp.c [1.2], gp_mshdl.c [1.2], gp_msio.c [1.2], gp_mslib.c
    +[1.2], gp_mswin.c [1.3], gp_ntfs.c [1.4], gp_os2.c [1.4], gp_os9.c [1.3],
    +gp_sysv.c [1.2], gp_unix.c [1.3], gp_vms.c [1.4], gp_wgetv.c [1.3],
    +gp_win32.c [1.2], gp_wsync.c [1.2], gs16spl.c [1.2]: 2000/09/19 19:00:23
    +lpd)
    +
    +Updates the license notices to reflect the name change, as well as some
    +internal references to the program name. (gsdll.c [1.3], gserver.c [1.2]:
    +2000/09/19 19:00:27 lpd)
    +
    +Updates the license notices to reflect the name change, as well as some
    +internal references to the program name. (gspmdrv.c [1.2]: 2000/09/19
    +19:00:31 lpd)
    +
    +Updates the license notices to reflect the name change, as well as some
    +internal references to the program name. (scfdgen.c [1.2]: 2000/09/19
    +19:00:48 lpd)
    +
    +Updates the license notices to reflect the name change, as well as some
    +internal references to the program name. (zdosio.c [1.2]: 2000/09/19
    +19:00:53 lpd)
    +
    +When GSC environment variable is not set, gssetgs.bat fails to set it, which
    +makes ps2pdf.bat and several other scripts fail on Windows NT 4.0 with the
    +following misleading error message: "_.at" This file doesn't have a program
    +associated with it ... This change fixes the problem.
    +(lib/gssetgs.bat [1.2]: 2000/10/01 15:25:37 alexcher)
    +
    +

    Drivers

    +
    +Fixes problems:
    +	- The PostScript image writing drivers (psmono/gray/rgb) didn't set
    +the page size in the output, and didn't produce DSC-compliant output.
    +(gdevps.c [1.11], gdevpsci.c [1.2], gdevpsim.c [1.3], gdevpsu.c [1.1],
    +gdevpsu.h [1.1]: 2000/08/09 06:55:45 lpd)
    +	- the user-contributed cfax driver didn't correctly handle page
    +widths other than the standard fax widths, and didn't write the required
    +end-of-document marker. (gdevcfax.c [1.2]: 2000/08/17 04:43:25 lpd)
    +	- Setting parameters for the PS/PDF writer reset any unspecified
    +*Dict parameter dictionaries to the empty dictionary, rather than leaving
    +them alone. (gdevpsdp.c [1.6]: 2000/08/18 03:18:59 lpd)
    +	- BJC printers with different X and Y resolution produced incorrect
    +output. Also removes the comment asking users to report problems to Yves
    +Arrouye, since he no longer maintains this code. (gdevcdj.c [1.3]:
    +2000/08/21 14:43:17 lpd)
    +	- The emulation of XPutImage (Ghostscript*useXPutImage: 0) was
    +broken. (gdevx.c [1.6]: 2000/08/21 17:23:26 lpd)
    +	- Dictionary-valued device parameters for high-level devices could
    +be freed while the device still referred to them. (gdevpsdp.c [1.7]:
    +2000/08/31 15:55:46 lpd)
    +	- Cleans up some missing and incorrect dependencies.
    +(gdevsco.c [1.2]: 2000/09/11 04:43:09 lpd)
    +	- Works around a gcc code generation bug that sometimes caused gray
    +colors to be written out as RGB in PDF files. (Minor performance issue
    +only.) (gdevpsdu.c [1.6]: 2000/09/11 21:12:12 lpd)
    +	- The pgnm and pnm drivers didn't properly detect the presence of
    +gray shades or color in images, sometimes causing gray or color information
    +to be lost in the output. (fix contributed by a user) (gdevpbm.c [1.3]:
    +2000/09/23 04:52:57 lpd)
    +
    +In the X Windows driver, changes XFlush() to XSync(False) so that updates
    +will actually complete before the command prompt appears. (gdevx.c [1.5],
    +gdevxini.c [1.8]: 2000/08/19 03:31:44 lpd)
    +
    +Updates the license notices to reflect the name change, as well as some
    +internal references to the program name. (gdev3852.c [1.2], gdev3b1.c
    +[1.2], gdev4081.c [1.2], gdev8510.c [1.2], gdev8bcm.c [1.2], gdev8bcm.h
    +[1.2], gdevadmp.c [1.2], gdevatx.c [1.6], gdevbit.c [1.2], gdevbj10.c
    +[1.3], gdevbjc.h [1.2], gdevbjcl.c [1.2], gdevbjcl.h [1.2], gdevbmp.c
    +[1.3], gdevbmp.h [1.2], gdevbmpa.c [1.3], gdevbmpc.c [1.2], gdevccr.c
    +[1.2], gdevcdj.c [1.4], gdevcfax.c [1.3], gdevcgm.c [1.2], gdevcgml.c
    +[1.2], gdevcgml.h [1.2], gdevcgmx.h [1.2], gdevcif.c [1.2], gdevclj.c
    +[1.2], gdevcljc.c [1.2], gdevcp50.c [1.2], gdevcslw.c [1.2], gdevdcrd.c
    +[1.2], gdevdcrd.h [1.2], gdevdfax.c [1.3], gdevdjet.c [1.6], gdevdjtc.c
    +[1.2], gdevdljm.c [1.4], gdevdljm.h [1.4], gdevdm24.c [1.2], gdevegaa.asm
    +[1.2], gdevepsc.c [1.2], gdevepsn.c [1.2], gdevescp.c [1.2], gdevevga.c
    +[1.2], gdevfax.c [1.2], gdevfax.h [1.2], gdevherc.c [1.2], gdevhl7x.c
    +[1.3], gdevimgn.c [1.2], gdevjpeg.c [1.2], gdevl256.c [1.3], gdevl31s.c
    +[1.2], gdevlbp8.c [1.2], gdevlj56.c [1.2], gdevlp8k.c [1.2], gdevlxm.c
    +[1.2], gdevmeds.c [1.2]: 2000/09/19 19:00:11 lpd)
    +
    +Updates the license notices to reflect the name change, as well as some
    +internal references to the program name. (gdevmeds.h [1.2], gdevmgr.c
    +[1.2], gdevmgr.h [1.2], gdevmiff.c [1.2], gdevmswn.c [1.2], gdevmswn.h
    +[1.2], gdevmsxf.c [1.2], gdevn533.c [1.2], gdevo182.c [1.2], gdevokii.c
    +[1.2], gdevos2p.c [1.3], gdevp2up.c [1.2], gdevpbm.c [1.2], gdevpccm.c
    +[1.2], gdevpccm.h [1.3], gdevpcfb.c [1.2], gdevpcfb.h [1.2], gdevpcl.c
    +[1.4]: 2000/09/19 19:00:14 lpd)
    +
    +Updates the license notices to reflect the name change, as well as some
    +internal references to the program name. (gdevpcl.h [1.4], gdevpcx.c [1.2],
    +gdevpe.c [1.2]: 2000/09/19 19:00:17 lpd)
    +
    +Updates the license notices to reflect the name change, as well as some
    +internal references to the program name. (gdevphex.c [1.2], gdevpjet.c
    +[1.2], gdevpm.c [1.2], gdevpm.h [1.2], gdevpng.c [1.3], gdevps.c [1.12],
    +gdevpsdf.h [1.8], gdevpsdi.c [1.12], gdevpsdp.c [1.8], gdevpsds.c [1.4],
    +gdevpsds.h [1.4], gdevpsdu.c [1.7], gdevpsim.c [1.4], gdevpsu.c [1.2],
    +gdevpsu.h [1.2], gdevpx.c [1.4], gdevpxat.h [1.3], gdevpxen.h [1.3],
    +gdevpxop.h [1.2], gdevpxut.c [1.2], gdevpxut.h [1.2], gdevs3ga.c [1.2],
    +gdevsco.c [1.3], gdevsj48.c [1.2], gdevsnfb.c [1.2], gdevsppr.c [1.2],
    +gdevstc.c [1.2], gdevstc.h [1.2], gdevstc1.c [1.2], gdevstc2.c [1.2],
    +gdevstc3.c [1.2], gdevstc4.c [1.2], gdevsun.c [1.2]: 2000/09/19 19:00:20
    +lpd)
    +
    +Updates the license notices to reflect the name change, as well as some
    +internal references to the program name. (gdevsunr.c [1.2], gdevsvga.c
    +[1.2], gdevsvga.h [1.2], gdevtfax.c [1.4], gdevtfax.h [1.4], gdevtfnx.c
    +[1.3], gdevtifs.c [1.3], gdevtifs.h [1.3], gdevtknk.c [1.2], gdevupd.c
    +[1.3], gdevvglb.c [1.3], gdevwddb.c [1.2], gdevwdib.c [1.2], gdevwpr2.c
    +[1.5], gdevwprn.c [1.2], gdevx.c [1.7], gdevx.h [1.4], gdevxalt.c [1.2],
    +gdevxcmp.c [1.2], gdevxcmp.h [1.2], gdevxini.c [1.9], gdevxres.c [1.3],
    +gdevxxf.c [1.5]: 2000/09/19 19:00:23 lpd)
    +
    +Updates the license notices to reflect the name change, as well as some
    +internal references to the program name. (png_.h [1.2]: 2000/09/19 19:00:47
    +lpd)
    +
    +Updates the license notices to reflect the name change, as well as some
    +internal references to the program name. (x_.h [1.2]: 2000/09/19 19:00:52
    +lpd)
    +
    +

    PDF writer

    +
    +Fixes problems:
    +	- The SrcPg entry in ANN pdfmarks was (effectively) ignored. (bug
    +introduced between 5.50 and 6.01.) (gdevpdfm.c [1.5]: 2000/08/31 18:49:59
    +lpd)
    +	- When CompatibilityLevel < 1.4, transparency was ignored rather
    +than being rendered explicitly. (gdevpdfg.c [1.9]: 2000/09/11 21:13:49 lpd)
    +
    +Works around the bug in Acrobat Reader (all versions) that apparently treats
    +stroked fonts as filled fonts, ignoring the PaintType. (gdevpdft.c [1.15]:
    +2000/08/31 03:23:26 lpd)
    +
    +Adds the ability to write some PDF 1.4 constructs: graphics state parameters
    +AIS, BM, ca/CA, and TK, and images with soft masks (except for Matte).
    +(gdevpdfg.c [1.8], gdevpdfg.h [1.8], gdevpdfi.c [1.18]: 2000/09/11 02:14:09
    +lpd)
    +
    +Adds the ability to write PDF 1.4 soft-masked images. (gdevpdfi.c [1.19],
    +gdevpdfo.c [1.4], gdevpdfo.h [1.4], gdevpdfv.c [1.2]: 2000/09/11 04:10:42
    +lpd)
    +
    +Replaces "Distiller" with our program name in the Info Producer string.
    +(gdevpdf.c [1.20], gdevpdfm.c [1.6], gdevpdfu.c [1.11], gdevpdfx.h [1.21]:
    +2000/09/12 02:03:35 lpd)
    +
    +Updates the license notices to reflect the name change, as well as some
    +internal references to the program name. (gdevpdf.c [1.21], gdevpdfb.c
    +[1.2], gdevpdfc.c [1.12], gdevpdfd.c [1.10], gdevpdfe.c [1.4], gdevpdff.c
    +[1.8], gdevpdff.h [1.4], gdevpdfg.c [1.10], gdevpdfg.h [1.9], gdevpdfi.c
    +[1.20], gdevpdfj.c [1.5], gdevpdfm.c [1.7], gdevpdfo.c [1.5], gdevpdfo.h
    +[1.5], gdevpdfp.c [1.10], gdevpdfr.c [1.4], gdevpdft.c [1.16], gdevpdfu.c
    +[1.12], gdevpdfv.c [1.3], gdevpdfw.c [1.5], gdevpdfx.h [1.22]: 2000/09/19
    +19:00:17 lpd)
    +
    +

    Interpreter (PDF)

    +
    +Fixes problems:
    +	- PDF files with embedded CID fonts with FontName != BaseFont
    +(prohibited by the PDF specification, but produced by some Adobe software)
    +caused an error. (lib/pdf_font.ps [1.11], lib/pdf_ops.ps [1.8]: 2000/08/08
    +22:29:12 lpd)
    +	- Setting the color (fill or stroke) sometimes overwrote the color
    +associated with an outer gsave level. (lib/pdf_ops.ps [1.9]: 2000/08/24
    +01:55:37 lpd)
    +	- The PDF text rendering modes that included clipping (modes 4-7)
    +didn't work. The fix is a bit of a hack, but it's much closer to being
    +right. (lib/pdf_ops.ps [1.12]: 2000/08/31 02:05:55 lpd)
    +	- The new code for detecting whether a page used any transparency
    +features could cause an error. (lib/pdf_main.ps [1.14]: 2000/09/10 18:48:26
    +lpd)
    +	- Filters with indirect object parameters caused an error. (Fix from
    +Artifex.) (lib/pdf_base.ps [1.9]: 2000/09/14 00:38:05 lpd)
    +	- The page dictionary was left on the operand stack while the page
    +was being rendered, causing the sc[n]/SC[N] operators to give an error if
    +the color consisted of only a single value. (bug introduced after 6.23)
    +(lib/pdf_main.ps [1.18]: 2000/09/18 06:38:38 lpd)
    +
    +Puts the logic for detecting garbage after %%EOF (and some similar invalid
    +constructs) back into the main code, making it produce a message on stderr.
    +(lib/pdf_main.ps [1.11]: 2000/08/23 02:22:39 lpd)
    +
    +Implements the op, OP, and OPM (overprint control) elements of ExtGStates.
    +(lib/pdf_draw.ps [1.17], lib/pdf_ops.ps [1.10]: 2000/08/24 02:26:52 lpd)
    +
    +Implements the new PDF 1.4 scalar graphics state parameters (ca, CA, SMask,
    +AIS, BM, TK). The implementation of SMask is a stub.
    +(lib/pdf_draw.ps [1.18], lib/pdf_ops.ps [1.11]: 2000/08/24 03:04:29 lpd)
    +
    +If a PDF file is invalid but repairable, prints out the Producer as part of
    +the warning message. (lib/pdf_main.ps [1.12]: 2000/08/24 04:18:40 lpd)
    +
    +Adds most of the code needed to support PDF 1.4 transparency groups and soft
    +masks in the graphics state. (lib/pdf_draw.ps [1.19], lib/pdf_ops.ps [1.13]:
    +2000/09/08 04:54:10 lpd)
    +
    +Implements another chunk of the PDF 1.4 transparency features, fixing some
    +bugs in the previous code. (lib/pdf_draw.ps [1.20], lib/pdf_main.ps [1.13],
    +lib/pdf_ops.ps [1.14]: 2000/09/10 05:26:27 lpd)
    +
    +Moves the Matte entry of soft mask images from the main structure to the
    +mask structures, and changes Matted to has_Matte. (lib/pdf_draw.ps [1.21]:
    +2000/09/11 04:08:13 lpd)
    +
    +Renders pages that use any transparency features as transparency groups.
    +(lib/pdf_main.ps [1.15]: 2000/09/12 20:36:23 lpd)
    +
    +*** empty log message *** (lib/pdf_main.ps [1.16]: 2000/09/15 03:51:54
    +alexcher)
    +
    +Undoes uncommented and in some cases inappropriate changes.
    +(lib/pdf_main.ps [1.17]: 2000/09/18 06:28:58 lpd)
    +
    +Updates the license notices to reflect the name change, and changes a few
    +other internal references. (lib/pdf_base.ps [1.10], lib/pdf_draw.ps [1.22],
    +lib/pdf_font.ps [1.12], lib/pdf_main.ps [1.19], lib/pdf_ops.ps [1.15],
    +lib/pdf_sec.ps [1.2]: 2000/09/19 18:29:11 lpd)
    +
    +

    Interpreter

    +
    +Fixes problems:
    +	- The FlateEncode and zlibEncode filters didn't implement the
    +"Effort" parameter. (fix from Alex Cherepanov) (zfzlib.c [1.2]: 2000/08/09
    +16:55:25 lpd)
    +	- The *ACSImageDict parameter dictionaries weren't being set for the
    +/default configuration; the *ACSImageDict parameters were never recognized,
    +because their names were spelled incorrectly as *ACSDict. (Two separate
    +bugs.) (lib/gs_pdfwr.ps [1.5]: 2000/08/18 03:20:12 lpd)
    +	- When given an array of the wrong size, a number of operators
    +produced a limitcheck error rather than a rangecheck. (idparam.c [1.2],
    +idparam.h [1.2], zcie.c [1.3], zfont1.c [1.7], zfunc.c [1.5],
    +zfunc0.c [1.2], zimage2.c [1.2], zimage3.c [1.2], zpcolor.c [1.2],
    +zshade.c [1.3]: 2000/08/23 01:45:08 lpd)
    +	- The stub implementations of .{set,current}{opacity,shape}mask
    +didn't {pop the argument}{push null}. (ztrans.c [1.2]: 2000/08/24 03:03:18
    +lpd)
    +	- The BeOS C compiler objected to some int/bool mismatches.
    +(icontext.c [1.5]: 2000/08/31 03:51:29 lpd)
    +	- If changing LanguageLevels caused a dictionary to grow, memory
    +could be corrupted. (zmisc2.c [1.2]: 2000/08/31 14:43:58 lpd)
    +	- Because "-" as an OutputFile now references the %stdout IODevice,
    +it no longer worked in configurations without a PostScript interpreter.
    +Fixing this required factoring out the stdin/out/err IODevices and providing
    +an implementation that didn't reference the PostScript interpreter.
    +(ziodev.c [1.2], ziodevs.c [1.1]: 2000/09/07 06:14:45 lpd)
    +	- .LocalDefaults was stored in a local array in the (global)
    +ColorSpace category dictionary, causing memory anomalies with multiple
    +contexts. (lib/gs_ll3.ps [1.6], lib/gs_res.ps [1.13]: 2000/09/20 07:15:11
    +lpd)
    +	- A missing cast caused the picky OpenVMS compiler to complain.
    +(zdevcal.c [1.3]: 2000/09/22 04:18:17 lpd)
    +	- Attempting to show an undefined character code in a TrueType font
    +with no .notdef entry caused an error. (lib/gs_ttf.ps [1.8]: 2000/09/23
    +18:47:06 lpd)
    +
    +Initializes files for the 6.24 fileset. (lib/gs_init.ps [1.21]: 2000/08/09
    +16:54:02 lpd)
    +
    +Adds the PDF "overprint mode" to the graphics state. THE ACTUAL
    +FUNCTIONALITY IS NOT IMPLEMENTED YET. (zcssepr.c [1.4]: 2000/08/23 17:54:16
    +lpd)
    +
    +Starts to implement the PDF 1.4 transparency features. All API and operator
    +additions are now implemented (at least as stubs) and documented, as is
    +bookkeeping for the new scalar graphics state members (but not for the soft
    +masks or the transparency group stack). (ztrans.c [1.1]: 2000/08/23 21:46:31
    +lpd)
    +
    +Partly implements opacity and shape mask bookkeeping. gsave/grestore/etc.
    +and banding don't do the right thing yet. (igstate.h [1.2], ztrans.c [1.3]:
    +2000/08/25 01:46:48 lpd)
    +
    +Implements some minor improvements to the freelist algorithms that can
    +produce nearly a factor of 2 speedup in some allocation-intensive
    +situations. (isave.c [1.2]: 2000/08/26 03:21:34 lpd)
    +
    +Brings the (still mostly stubbed) transparency code to a more
    +self-consistent state. (ztrans.c [1.4]: 2000/08/30 01:34:40 lpd)
    +
    +Finishes the code for parsing ImageType 103 (soft-mask) images.
    +(ztrans.c [1.5]: 2000/08/30 04:30:06 lpd)
    +
    +Completes the parsing of .{begin,end}transparency{group,mask}, except for
    +the TransferFunction for masks. The specification is still subject to
    +change. (ztrans.c [1.6]: 2000/08/30 15:03:36 lpd)
    +
    +*Really* finishes the transparency rendering stack operators (the previous
    +version didn't even compile), except for TransferFunction. (ztrans.c [1.7]:
    +2000/08/30 21:11:55 lpd)
    +
    +Implements another chunk of the PDF 1.4 transparency features, fixing some
    +bugs in the previous code. (lib/gs_ll3.ps [1.4], ztrans.c [1.8]: 2000/09/10
    +05:26:27 lpd)
    +
    +Checks that the TransferFunction of a soft mask is 1-in, 1-out; sets Matted
    +correctly in the soft mask parameters passed to the graphics library.
    +(ztrans.c [1.9]: 2000/09/11 02:10:28 lpd)
    +
    +Moves the Matte entry of soft mask images from the main structure to the
    +mask structures, and changes Matted to has_Matte. (ztrans.c [1.10]:
    +2000/09/11 04:08:13 lpd)
    +
    +Upgrades the proposed driver interface transparency extension from comments
    +to macros, changing the name 'discard_transparency_level' to
    +'discard_transparency_layer'. (ztrans.c [1.11]: 2000/09/11 20:13:31 lpd)
    +
    +*** empty log message *** (lib/gs_init.ps [1.22], zmatrix.c [1.2]:
    +2000/09/14 19:46:05 alexcher)
    +
    +Undoes uncommented and in some cases inappropriate changes.
    +(lib/gs_init.ps [1.23], zmatrix.c [1.3]: 2000/09/18 06:28:58 lpd)
    +
    +Updates the license notice to reflect the name change, and changes a few
    +other internal references. (lib/gs_agl.ps [1.2], lib/gs_btokn.ps [1.3],
    +lib/gs_ccfnt.ps [1.4], lib/gs_ce_e.ps [1.2], lib/gs_cff.ps [1.7],
    +lib/gs_cidfn.ps [1.17], lib/gs_cmap.ps [1.6], lib/gs_cmdl.ps [1.2],
    +lib/gs_css_e.ps [1.2], lib/gs_dbt_e.ps [1.2], lib/gs_diskf.ps [1.2],
    +lib/gs_dpnxt.ps [1.2], lib/gs_dps.ps [1.4], lib/gs_dps1.ps [1.2],
    +lib/gs_dps2.ps [1.2], lib/gs_epsf.ps [1.2], lib/gs_fform.ps [1.2],
    +lib/gs_fonts.ps [1.9], lib/gs_frsd.ps [1.4], lib/gs_il1_e.ps [1.2],
    +lib/gs_il2_e.ps [1.2], lib/gs_init.ps [1.24], lib/gs_kanji.ps [1.2],
    +lib/gs_ksb_e.ps [1.2], lib/gs_l2img.ps [1.2], lib/gs_lev2.ps [1.6],
    +lib/gs_lgo_e.ps [1.3], lib/gs_lgx_e.ps [1.2], lib/gs_ll3.ps [1.5],
    +lib/gs_mex_e.ps [1.2], lib/gs_mgl_e.ps [1.3], lib/gs_mro_e.ps [1.2],
    +lib/gs_pdf_e.ps [1.2], lib/gs_pdfwr.ps [1.6], lib/gs_pfile.ps [1.2],
    +lib/gs_rdlin.ps [1.2], lib/gs_res.ps [1.12], lib/gs_setpd.ps [1.5],
    +lib/gs_statd.ps [1.4], lib/gs_std_e.ps [1.2], lib/gs_sym_e.ps [1.2],
    +lib/gs_trap.ps [1.3], lib/gs_ttf.ps [1.7], lib/gs_typ32.ps [1.2],
    +lib/gs_typ42.ps [1.2], lib/gs_type1.ps [1.4], lib/gs_wan_e.ps [1.2],
    +lib/gs_wl1_e.ps [1.2], lib/gs_wl2_e.ps [1.2], lib/gs_wl5_e.ps [1.2]:
    +2000/09/19 18:29:11 lpd)
    +
    +Updates the license notices to reflect the name change, as well as some
    +internal references to the program name. (bfont.h [1.3], btoken.h [1.4],
    +ccfont.h [1.2], dpmainc.c [1.2], dstack.h [1.2], dwdll.cpp [1.2], dwdll.h
    +[1.2], dwimg.cpp [1.2], dwimg.h [1.2], dwinst.cpp [1.2], dwinst.h [1.2],
    +dwmain.cpp [1.2], dwmain.h [1.2], dwmainc.cpp [1.3], dwnodll.cpp [1.2],
    +dwsetup.cpp [1.3], dwsetup.h [1.2], dwtext.cpp [1.2], dwtext.h [1.2],
    +dwuninst.cpp [1.2], dwuninst.h [1.2], errors.h [1.2], estack.h [1.2],
    +files.h [1.2]: 2000/09/19 19:00:09 lpd)
    +
    +Updates the license notices to reflect the name change, as well as some
    +internal references to the program name. (ghost.h [1.2], gs.c [1.2]:
    +2000/09/19 19:00:23 lpd)
    +
    +Updates the license notices to reflect the name change, as well as some
    +internal references to the program name. (ialloc.c [1.2], ialloc.h [1.2],
    +iastate.h [1.2], iastruct.h [1.2], ibnum.c [1.2], ibnum.h [1.2], iccfont.c
    +[1.2], iccinit0.c [1.2], icfontab.c [1.2], ichar.h [1.3], ichar1.h [1.3],
    +icharout.h [1.2], icid.h [1.2], icie.h [1.2], icolor.h [1.2], iconf.c
    +[1.2], icontext.c [1.6], icontext.h [1.2], icremap.h [1.2], icsmap.h [1.2],
    +icstate.h [1.4], iddict.h [1.2], iddstack.h [1.2], idebug.c [1.2], idebug.h
    +[1.2], idict.c [1.2], idict.h [1.2], idictdef.h [1.2], idosave.h [1.2],
    +idparam.c [1.3], idparam.h [1.3], idsdata.h [1.2], idstack.c [1.2],
    +idstack.h [1.2], iesdata.h [1.2], iestack.h [1.2], ifcid.h [1.2], ifilter.h
    +[1.3], ifilter2.h [1.2], ifont.h [1.4], ifont1.h [1.3], ifont2.h [1.2],
    +ifont42.h [1.3], ifrpred.h [1.2], ifunc.h [1.3], ifwpred.h [1.2], igc.c
    +[1.2]: 2000/09/19 19:00:41 lpd)
    +
    +Updates the license notices to reflect the name change, as well as some
    +internal references to the program name. (igc.h [1.2], igcref.c [1.2],
    +igcstr.c [1.3], igcstr.h [1.2], igstate.h [1.3], iht.h [1.2], iimage.h
    +[1.2], iimage2.h [1.2], iinit.c [1.2], iinit.h [1.2], ilevel.h [1.2],
    +ilocate.c [1.3], imain.c [1.2], imain.h [1.2], imainarg.c [1.4], imainarg.h
    +[1.2], imemory.h [1.2], iminst.h [1.2], iname.c [1.3], iname.h [1.2],
    +inamedef.h [1.2], inameidx.h [1.2], inames.h [1.2], inamestr.h [1.2],
    +inobtokn.c [1.2], inouparm.c [1.2], interp.c [1.6], interp.h [1.2],
    +iosdata.h [1.2], iostack.h [1.2], ipacked.h [1.2], iparam.c [1.5], iparam.h
    +[1.2], iparray.h [1.2], ipcolor.h [1.2], ireclaim.c [1.2], iref.h [1.3],
    +isave.c [1.3], isave.h [1.2], iscan.c [1.5], iscan.h [1.4], iscanbin.c
    +[1.5], iscanbin.h [1.2], iscannum.c [1.2], iscannum.h [1.2], isdata.h
    +[1.2], isstate.h [1.2], istack.c [1.2], istack.h [1.2], istkparm.h [1.2],
    +istream.h [1.2], istruct.h [1.2], itoken.h [1.2], iutil.c [1.2], iutil.h
    +[1.2], iutil2.c [1.2], iutil2.h [1.2], ivmem2.h [1.2]: 2000/09/19 19:00:44
    +lpd)
    +
    +Updates the license notices to reflect the name change, as well as some
    +internal references to the program name. (ivmspace.h [1.2], main.h [1.2],
    +oparc.h [1.2], opcheck.h [1.2], opdef.h [1.2], oper.h [1.2], opextern.h
    +[1.2], ostack.h [1.2], sbhc.c [1.2], sbhc.h [1.2], sbwbs.c [1.2], sbwbs.h
    +[1.2], sfilter1.c [1.5]: 2000/09/19 19:00:47 lpd)
    +
    +Updates the license notices to reflect the name change, as well as some
    +internal references to the program name. (shcgen.c [1.2], shcgen.h [1.2],
    +smtf.c [1.2], smtf.h [1.2], store.h [1.2], zarith.c [1.4], zarray.c [1.2],
    +zbfont.c [1.6], zbseq.c [1.4], zcfont.c [1.2], zchar.c [1.3], zchar1.c
    +[1.5], zchar2.c [1.2], zchar32.c [1.2], zchar42.c [1.2], zcharout.c [1.2],
    +zcharx.c [1.3], zcid.c [1.3], zcie.c [1.4], zcolor.c [1.4]: 2000/09/19
    +19:00:50 lpd)
    +
    +Updates the license notices to reflect the name change, as well as some
    +internal references to the program name. (zcolor1.c [1.3], zcolor2.c [1.3],
    +zcontext.c [1.6], zcontrol.c [1.3], zcrd.c [1.2], zcsdevn.c [1.3],
    +zcsindex.c [1.3], zcspixel.c [1.2], zcssepr.c [1.5], zdevcal.c [1.2],
    +zdevice.c [1.3], zdevice2.c [1.3], zdict.c [1.3], zdouble.c [1.2],
    +zdpnext.c [1.2], zdps.c [1.4], zdps1.c [1.2], zfbcp.c [1.3], zfcid.c
    +[1.10], zfcid0.c [1.4], zfcid1.c [1.2], zfcmap.c [1.8], zfdctd.c [1.3],
    +zfdcte.c [1.3], zfdecode.c [1.3], zfile.c [1.5], zfileio.c [1.9], zfilter.c
    +[1.4], zfilter2.c [1.3], zfilterx.c [1.2], zfmd5.c [1.2], zfont.c [1.2],
    +zfont0.c [1.3], zfont1.c [1.8], zfont2.c [1.3], zfont32.c [1.2], zfont42.c
    +[1.5], zfproc.c [1.4], zfrsd.c [1.4], zfunc.c [1.6], zfunc0.c [1.3],
    +zfunc3.c [1.2], zfunc4.c [1.5], zfzlib.c [1.3], zgeneric.c [1.3], zgstate.c
    +[1.2], zhsb.c [1.2], zht.c [1.2], zht1.c [1.2], zht2.c [1.2], zimage.c
    +[1.5], zimage2.c [1.3], zimage3.c [1.3], ziodev.c [1.3], ziodev2.c [1.3],
    +ziodevs.c [1.2], zmath.c [1.3], zmatrix.c [1.4], zmedia2.c [1.2], zmisc.c
    +[1.2], zmisc1.c [1.3], zmisc2.c [1.3], zmisc3.c [1.2], zpacked.c [1.2],
    +zpaint.c [1.2], zpath.c [1.2], zpath1.c [1.2], zpcolor.c [1.3], zrelbit.c
    +[1.2], zrop.c [1.2], zshade.c [1.4], zstack.c [1.2], zstring.c [1.2],
    +zsysvm.c [1.2], ztoken.c [1.6], ztrans.c [1.12], ztrap.c [1.2], ztype.c
    +[1.3], zupath.c [1.2], zusparam.c [1.3], zvmem.c [1.2], zvmem2.c [1.2]:
    +2000/09/19 19:00:53 lpd)
    +
    +Change to avoid multiply defined rect_param when NOPRIVATE is used. This
    +module uses 4 element X/Y/width/Height, not a gs_rect so xywh_param is a
    +better name. (zdpnext.c [1.3]: 2000/09/21 15:12:01 rayjj)
    +
    +Changes the default Windows installation directory from c:\Aladdin to c:\gs.
    +(dwsetup.cpp [1.4]: 2000/09/22 05:32:17 lpd)
    +
    +Changes the default Windows Start Menu Folder from "Aladdin" to
    +"Ghostscript". (dwsetup.cpp [1.5]: 2000/09/22 05:35:02 lpd)
    +
    +Documentation changes in preparation for 6.30 release. Replaced some contact
    +information, updated version numbers. (lib/gs_init.ps [1.25]: 2000/10/04
    +04:33:29 raph)
    +
    +

    Streams

    +
    +Fixes problems:
    +	- s_add_filter used min_out_size rather than min_in_size for the
    +minimum buffer size, which could cause an endless loop when writing to the
    +filter. (This only affected filters allocated by C code, not by the
    +PostScript filter operator.) (stream.c [1.7], stream.h [1.6]: 2000/08/16
    +01:26:22 lpd)
    +
    +Updates the license notices to reflect the name change, as well as some
    +internal references to the program name. (sa85d.c [1.2], sa85d.h [1.2],
    +sa85x.h [1.3], sbcp.c [1.3], sbcp.h [1.2], sbtx.h [1.2], scanchar.h [1.2],
    +scantab.c [1.2], scf.h [1.2], scfd.c [1.2], scfe.c [1.2], scfetab.c [1.2],
    +scfparam.c [1.2], scfx.h [1.2], scommon.h [1.2], sdcparam.c [1.2],
    +sdcparam.h [1.2], sdct.h [1.2], sdctc.c [1.2], sdctd.c [1.2], sdcte.c
    +[1.2], sddparam.c [1.2], sdeparam.c [1.2], seexec.c [1.3], sfilter.h [1.6],
    +sfilter2.c [1.3], sfxboth.c [1.2], sfxfd.c [1.5]: 2000/09/19 19:00:47 lpd)
    +
    +Updates the license notices to reflect the name change, as well as some
    +internal references to the program name. (sfxstdio.c [1.4], shc.c [1.2],
    +shc.h [1.2], siinterp.c [1.2], siinterp.h [1.2], siscale.c [1.4], siscale.h
    +[1.2], sisparam.h [1.2], sjpeg.h [1.2], sjpegc.c [1.2], sjpegd.c [1.2],
    +sjpege.c [1.2], slzwc.c [1.2], slzwce.c [1.2], slzwd.c [1.2], slzwx.h
    +[1.2], smd5.c [1.3], smd5.h [1.2], spdiff.c [1.3], spdiffx.h [1.2], spngp.c
    +[1.2], spngpx.h [1.2], spprint.c [1.2], spprint.h [1.2], spsdf.c [1.4],
    +spsdf.h [1.2], srdline.h [1.2], srld.c [1.2], srle.c [1.2], srlx.h [1.2],
    +sstring.c [1.2], sstring.h [1.2], stat_.h [1.5], std.h [1.3], stdio_.h
    +[1.2], stdpre.h [1.2], stream.c [1.8], stream.h [1.7], strimpl.h [1.2],
    +string_.h [1.2], szlibc.c [1.2], szlibd.c [1.2], szlibe.c [1.2], szlibx.h
    +[1.2], szlibxx.h [1.2]: 2000/09/19 19:00:50 lpd)
    +
    +

    Library

    +
    +Fixes problems:
    +	- Parameter lists didn't have proper GC descriptors; garbage
    +collection could mangle keys and collection values in non-transient
    +parameter lists (such as distiller parameters). (gscparam.c [1.5]:
    +2000/08/19 03:01:30 lpd)
    +	- gdev_vector_dopath could return 1, which value was then propagated
    +to callers that interpreted it differently. (gdevvec.c [1.5],
    +gdevvec.h [1.3]: 2000/08/20 00:21:42 lpd)
    +	- An AIX compiler could get confused if the last elements of a
    +structure were individual bytes. (gzpath.h [1.2]: 2000/08/24 19:43:48 lpd)
    +	- If the OutputFile of a high-level device was ever set, any
    +subsequent execution of setpagedevice would cause a rangecheck in
    +.installpagedevice. (gdevvec.c [1.6]: 2000/08/31 02:04:50 lpd)
    +	- Type 2 CharStrings didn't insert an explicit closepath at the end
    +of each subpath. (This matters for charpath followed by stroke.)
    +(gstype2.c [1.5]: 2000/08/31 02:16:45 lpd)
    +	- Type 2 fonts should insert an explicit closepath only if the
    +font's PaintType != 1. (gstype2.c [1.6]: 2000/08/31 03:21:45 lpd)
    +	- The BeOS C compiler objected to some int/bool mismatches.
    +(gp.h [1.4], gxfill.c [1.4], gxtext.h [1.2]: 2000/08/31 03:51:29 lpd)
    +	- Because "-" as an OutputFile now references the %stdout IODevice,
    +it no longer worked in configurations without a PostScript interpreter.
    +Fixing this required factoring out the stdin/out/err IODevices and providing
    +an implementation that didn't reference the PostScript interpreter.
    +(gsiodevs.c [1.1], gslib.c [1.2]: 2000/09/07 06:14:45 lpd)
    +	- Fixes a type error caused by a change in the TransferFunction
    +member of gs_transparency_mask_params_t. (gstrans.c [1.7]: 2000/09/10
    +18:20:09 lpd)
    +	- Several places in the code for ImageType 3x (soft-masked) images
    +didn't correctly handle the case where only one of the two masks was
    +supplied (which is always the case for PDF). (gximag3x.c [1.4]: 2000/09/11
    +02:12:19 lpd)
    +	- The -Zv tracing messages for gs_begin_transparency_{group,mask}
    +were incorrect. (gstrans.c [1.10]: 2000/09/12 20:35:05 lpd)
    +	- Printing the program name and version didn't use fprintf, so it
    +didn't work properly with the stdout redirection on Windows. (fix from
    +Artifex) (gsmisc.c [1.7]: 2000/09/18 06:22:35 lpd)
    +	- Undefined characters in CID-keyed (FMapType 9) composite fonts
    +caused an infinite loop, because the parsing index was never advanced past
    +the character. (gsfcmap.c [1.7]: 2000/09/21 02:44:44 lpd)
    +	- CID-keyed (FMapType 9) composite fonts didn't return the correct
    +parsed character code, possibly causing widthshow or cshow to produce
    +incorrect output. (gsfcmap.c [1.8], gsfcmap.h [1.4]: 2000/09/21 03:02:03
    +lpd)
    +	- Works around ANSI C's unreasonable new aliasing restrictions.
    +(gsnogc.c [1.5]: 2000/09/22 04:17:52 lpd)
    +	- The 'head' table in embedded TrueType fonts had a length of 56; it
    +should have a length of 54 and be followed by 2 padding bytes.
    +(gdevpsft.c [1.4]: 2000/09/26 06:42:05 lpd)
    +
    +Initializes files for the 6.24 fileset. (gscdef.c [1.7]: 2000/08/09 16:54:02
    +lpd)
    +
    +Adds the PDF "overprint mode" to the graphics state. THE ACTUAL
    +FUNCTIONALITY IS NOT IMPLEMENTED YET. (gscsepr.c [1.4], gscsepr.h [1.3],
    +gsstate.c [1.2], gxclpath.c [1.3], gxclpath.h [1.2], gxclrast.c [1.4],
    +gxistate.h [1.2]: 2000/08/23 17:54:14 lpd)
    +
    +Starts to implement the PDF 1.4 transparency features. All API and operator
    +additions are now implemented (at least as stubs) and documented, as is
    +bookkeeping for the new scalar graphics state members (but not for the soft
    +masks or the transparency group stack). (gsistate.c [1.2], gsstate.c [1.3],
    +gstparam.h [1.1], gstrans.c [1.1], gstrans.h [1.1], gxclpath.c [1.4],
    +gxclpath.h [1.3], gxclrast.c [1.5], gxistate.h [1.3], gzstate.h [1.2]:
    +2000/08/23 21:46:31 lpd)
    +
    +Adds a new equality-testing virtual procedure for color spaces.
    +(gscdevn.c [1.4], gscolor2.c [1.5], gscpixel.c [1.2], gscscie.c [1.2],
    +gscsepr.c [1.5], gscspace.c [1.3], gscspace.h [1.3], gspcolor.c [1.3],
    +gxcspace.h [1.3]: 2000/08/24 05:42:30 lpd)
    +
    +Changes the band list representation of mask images to allow
    +BitsPerComponent > 1 (for soft masks). (gximage1.c [1.2]: 2000/08/24
    +17:58:18 lpd)
    +
    +Adds Matte and has_Matte members to ImageType 1 images. These are only used
    +with the new transparency features. (gsiparam.h [1.2], gximage1.c [1.3]:
    +2000/08/24 19:20:12 lpd)
    +
    +Partly implements opacity and shape mask bookkeeping. gsave/grestore/etc.
    +and banding don't do the right thing yet. (gstparam.h [1.2],
    +gstrans.c [1.2], gstrans.h [1.2], gxcldev.h [1.2], gxclpath.c [1.5],
    +gxclpath.h [1.4]: 2000/08/25 01:46:48 lpd)
    +
    +Changes remove_range_from_freelist to only scan relevant freelists, rather
    +than all of them. On some files, the speedup is dramatic. (gsalloc.c [1.6]:
    +2000/08/26 01:18:33 lpd)
    +
    +Completes an edit that accidentally left the repository in an inconsistent
    +state. (gxclpath.c [1.6], gxclrast.c [1.6]: 2000/08/26 03:19:56 lpd)
    +
    +Implements some minor improvements to the freelist algorithms that can
    +produce nearly a factor of 2 speedup in some allocation-intensive
    +situations. (gsalloc.c [1.7], gxalloc.h [1.4]: 2000/08/26 03:21:34 lpd)
    +
    +Brings the (still mostly stubbed) transparency code to a more
    +self-consistent state. (gsipar3x.h [1.1], gsiparam.h [1.3],
    +gsstruct.h [1.4], gstparam.h [1.3], gstrans.c [1.3], gstrans.h [1.3],
    +gxclpath.c [1.7], gxclpath.h [1.5], gxclrast.c [1.7], gximag3x.c [1.1],
    +gximag3x.h [1.1], gximage1.c [1.4], gxistate.h [1.4]: 2000/08/30 01:34:40
    +lpd)
    +
    +Finishes the code for parsing ImageType 103 (soft-mask) images.
    +(gximag3x.c [1.2]: 2000/08/30 04:29:56 lpd)
    +
    +Completes the parsing of .{begin,end}transparency{group,mask}, except for
    +the TransferFunction for masks. The specification is still subject to
    +change. (gstparam.h [1.4], gstrans.c [1.4], gstrans.h [1.4]: 2000/08/30
    +15:03:36 lpd)
    +
    +Adds documentation on proposed driver interface additions for managing the
    +transparency rendering stack. (gstrans.c [1.5]: 2000/08/31 20:22:47 lpd)
    +
    +Adds color space type names for tracing/debugging. (gscspace.h [1.4]:
    +2000/09/10 05:21:44 lpd)
    +
    +Changes the -Zv switch to trace alpha/transparency-related features.
    +(gdevabuf.c [1.2]: 2000/09/10 05:23:10 lpd)
    +
    +Implements another chunk of the PDF 1.4 transparency features, fixing some
    +bugs in the previous code. (gstparam.h [1.5], gstrans.c [1.6],
    +gximag3x.c [1.3]: 2000/09/10 05:26:27 lpd)
    +
    +Moves the Matte entry of soft mask images from the main structure to the
    +mask structures, and changes Matted to has_Matte. (gsipar3x.h [1.2],
    +gximag3x.c [1.5], gximag3x.h [1.2]: 2000/09/11 04:08:13 lpd)
    +
    +Adds a default implementation of soft-masked images that simply ignores the
    +mask. (gximag3x.c [1.6]: 2000/09/11 04:38:01 lpd)
    +
    +Upgrades the proposed driver interface transparency extension from comments
    +to macros, changing the name 'discard_transparency_level' to
    +'discard_transparency_layer'. (gstrans.c [1.8], gstrans.h [1.5]: 2000/09/11
    +20:13:31 lpd)
    +
    +Finishes the (dummy) implementation of the transparency layer stack in the
    +graphics library. (gsistate.c [1.3], gsstate.c [1.4], gstparam.h [1.6],
    +gstrans.c [1.9], gxistate.h [1.5]: 2000/09/11 22:20:05 lpd)
    +
    +Makes the default string matching parameters public. (gsutil.c [1.3],
    +gsutil.h [1.2]: 2000/09/12 02:02:52 lpd)
    +
    +*** empty log message *** (gsmisc.c [1.6]: 2000/09/15 03:01:51 alexcher)
    +
    +Updates the license notices to reflect the name change, as well as some
    +internal references to the program name. (close_.h [1.2], ctype_.h [1.2],
    +dirent_.h [1.2], dos_.h [1.2], errno_.h [1.2], fcntl_.h [1.3], gconf.c
    +[1.2], gconf.h [1.2], gdebug.h [1.2], gdevabuf.c [1.3], gdevalph.c [1.2],
    +gdevbbox.c [1.3], gdevbbox.h [1.2]: 2000/09/19 19:00:09 lpd)
    +
    +Updates the license notices to reflect the name change, as well as some
    +internal references to the program name. (gdevcmap.c [1.2], gdevcmap.h
    +[1.2], gdevdbit.c [1.2], gdevddrw.c [1.2], gdevdflt.c [1.3], gdevdgbr.c
    +[1.2], gdevdrop.c [1.3], gdevemap.c [1.2], gdevhit.c [1.2], gdevht.c [1.3],
    +gdevht.h [1.2], gdevm1.c [1.2], gdevm16.c [1.2], gdevm2.c [1.2], gdevm24.c
    +[1.2], gdevm32.c [1.2], gdevm4.c [1.2], gdevm8.c [1.2], gdevmem.c [1.2],
    +gdevmem.h [1.3], gdevmpla.c [1.2], gdevmpla.h [1.2], gdevmr1.c [1.2],
    +gdevmr2n.c [1.2], gdevmr8n.c [1.2], gdevmrop.h [1.3], gdevmrun.c [1.2],
    +gdevmrun.h [1.2], gdevnfwd.c [1.3]: 2000/09/19 19:00:12 lpd)
    +
    +Updates the license notices to reflect the name change, as well as some
    +internal references to the program name. (gdevpipe.c [1.3], gdevplnx.c
    +[1.2], gdevplnx.h [1.2], gdevppla.c [1.2], gdevppla.h [1.2], gdevprn.c
    +[1.5], gdevprn.h [1.6], gdevprna.c [1.2], gdevprna.h [1.2], gdevpsf.h
    +[1.7], gdevpsf1.c [1.5], gdevpsf2.c [1.7], gdevpsfm.c [1.3], gdevpsft.c
    +[1.3], gdevpsfu.c [1.4], gdevpsfx.c [1.5], gdevrops.c [1.3]: 2000/09/19
    +19:00:20 lpd)
    +
    +Updates the license notices to reflect the name change, as well as some
    +internal references to the program name. (gdevtrac.c [1.2], gdevvec.c
    +[1.7], gdevvec.h [1.4], gp.h [1.5], gp_dosfe.c [1.2], gp_dosfs.c [1.2],
    +gp_getnv.c [1.2], gp_msdos.c [1.2], gp_nsync.c [1.2], gp_psync.c [1.2],
    +gp_strdl.c [1.2], gp_unifn.c [1.2], gp_unifs.c [1.3], gpcheck.h [1.2],
    +gpgetenv.h [1.2], gpmisc.c [1.7], gpmisc.h [1.2], gpsync.h [1.2], gsalloc.c
    +[1.8], gsalloc.h [1.2], gsalpha.c [1.2], gsalpha.h [1.2], gsalphac.c [1.2],
    +gsalphac.h [1.2], gsargs.c [1.2], gsargs.h [1.3], gsbitmap.h [1.2],
    +gsbitops.c [1.2], gsbitops.h [1.2], gsbittab.c [1.2], gsbittab.h [1.2]:
    +2000/09/19 19:00:23 lpd)
    +
    +Updates the license notices to reflect the name change, as well as some
    +internal references to the program name. (gsccode.h [1.4], gsccolor.h
    +[1.2], gscdef.c [1.8], gscdefs.h [1.2], gscdevn.c [1.5], gscdevn.h [1.3],
    +gschar.c [1.3], gschar.h [1.3], gschar0.c [1.2], gscie.c [1.3], gscie.h
    +[1.2], gsciemap.c [1.3], gscindex.h [1.2], gsclipsr.c [1.2], gsclipsr.h
    +[1.2], gscolor.c [1.4], gscolor.h [1.3], gscolor1.c [1.3], gscolor1.h
    +[1.2], gscolor2.c [1.6], gscolor2.h [1.3], gscolor3.c [1.4], gscolor3.h
    +[1.2], gscompt.h [1.2], gscoord.c [1.5], gscoord.h [1.2], gscparam.c [1.6],
    +gscpixel.c [1.3], gscpixel.h [1.2], gscpm.h [1.2], gscrd.c [1.2], gscrd.h
    +[1.2], gscrdp.c [1.2], gscrdp.h [1.2], gscrypt1.c [1.2], gscrypt1.h [1.2],
    +gscscie.c [1.3], gscsel.h [1.2], gscsepnm.h [1.2], gscsepr.c [1.6],
    +gscsepr.h [1.4], gscspace.c [1.4], gscspace.h [1.5], gscssub.c [1.2],
    +gscssub.h [1.2], gsdcolor.h [1.3], gsdevice.c [1.7], gsdevice.h [1.3],
    +gsdevmem.c [1.2], gsdparam.c [1.4], gsdpnext.h [1.2], gsdps.c [1.2],
    +gsdps.h [1.2], gsdps1.c [1.2], gsdsrc.c [1.2], gsdsrc.h [1.3], gserror.h
    +[1.2], gserrors.h [1.2], gsexit.h [1.2], gsfcid.c [1.4], gsfcmap.c [1.6],
    +gsfcmap.h [1.3], gsfemu.c [1.2], gsflip.c [1.2], gsflip.h [1.2], gsfname.c
    +[1.2], gsfname.h [1.2], gsfont.c [1.2], gsfont.h [1.2], gsfont0.c [1.2],
    +gsfunc.c [1.4], gsfunc.h [1.4], gsfunc0.c [1.3], gsfunc0.h [1.2], gsfunc3.c
    +[1.4], gsfunc3.h [1.2], gsfunc4.c [1.3], gsfunc4.h [1.2], gsfuncv.c [1.2],
    +gsfuncv.h [1.2]: 2000/09/19 19:00:26 lpd)
    +
    +Updates the license notices to reflect the name change, as well as some
    +internal references to the program name. (gsgc.h [1.2], gshsb.c [1.2],
    +gshsb.h [1.2], gsht.c [1.2], gsht.h [1.2], gsht1.c [1.2], gsht1.h [1.2],
    +gshtscr.c [1.3], gshtx.c [1.2], gshtx.h [1.2], gsimage.c [1.3], gsimage.h
    +[1.2], gsimpath.c [1.2], gsinit.c [1.2], gsio.h [1.4], gsiodev.c [1.3],
    +gsiodevs.c [1.2], gsipar3x.h [1.3], gsiparam.h [1.4], gsiparm2.h [1.2],
    +gsiparm3.h [1.4], gsiparm4.h [1.2], gsistate.c [1.4], gsjconf.h [1.2],
    +gslib.c [1.3], gslib.h [1.2], gsline.c [1.2], gsline.h [1.2], gslparam.h
    +[1.2], gsmalloc.c [1.3], gsmalloc.h [1.2], gsmatrix.c [1.2], gsmatrix.h
    +[1.2], gsmdebug.h [1.2], gsmemlok.c [1.3], gsmemlok.h [1.2], gsmemory.c
    +[1.2], gsmemory.h [1.2], gsmemraw.h [1.2], gsmemret.c [1.2], gsmemret.h
    +[1.2], gsmisc.c [1.8], gsnogc.c [1.4], gsnogc.h [1.2], gsnorop.c [1.2],
    +gsnotify.c [1.2], gsnotify.h [1.2], gspaint.c [1.2], gspaint.h [1.2],
    +gsparam.c [1.4], gsparam.h [1.7], gsparam2.c [1.2], gsparams.c [1.2],
    +gsparams.h [1.2], gsparamx.c [1.3], gsparamx.h [1.3], gspath.c [1.2],
    +gspath.h [1.2], gspath1.c [1.2], gspath2.h [1.2], gspcolor.c [1.4],
    +gspcolor.h [1.2], gspenum.h [1.2], gsptype1.c [1.2], gsptype1.h [1.2]:
    +2000/09/19 19:00:29 lpd)
    +
    +Updates the license notices to reflect the name change, as well as some
    +internal references to the program name. (gsptype2.c [1.3], gsptype2.h
    +[1.2], gsrect.h [1.2], gsrefct.h [1.2], gsrop.c [1.2], gsrop.h [1.2],
    +gsropc.c [1.2], gsropc.h [1.2], gsropt.h [1.3], gsroptab.c [1.2], gsshade.c
    +[1.3], gsshade.h [1.3], gsstate.c [1.5], gsstate.h [1.2], gsstruct.h [1.5],
    +gsstype.h [1.2], gstext.c [1.3], gstext.h [1.3], gstparam.h [1.7],
    +gstrans.c [1.11], gstrans.h [1.6], gstrap.c [1.3], gstrap.h [1.3],
    +gstype1.c [1.5], gstype1.h [1.2], gstype2.c [1.7], gstype42.c [1.7],
    +gstypes.h [1.2], gsuid.h [1.2], gsutil.c [1.4], gsutil.h [1.3], gsxfont.h
    +[1.2], gx.h [1.2], gxacpath.c [1.3], gxalloc.h [1.5], gxalpha.h [1.2],
    +gxarith.h [1.2], gxband.h [1.2], gxbcache.c [1.2], gxbcache.h [1.2],
    +gxbitfmt.h [1.2], gxbitmap.h [1.2], gxbitops.h [1.2], gxccache.c [1.2],
    +gxccman.c [1.2], gxcdevn.h [1.2], gxchar.c [1.2], gxchar.h [1.2],
    +gxchrout.c [1.2], gxchrout.h [1.2], gxcht.c [1.2], gxcid.h [1.3], gxcie.h
    +[1.2], gxcindex.h [1.2], gxclbits.c [1.2], gxcldev.h [1.3], gxclfile.c
    +[1.2], gxclimag.c [1.2], gxclio.h [1.2], gxclip.c [1.3], gxclip.h [1.2],
    +gxclip2.c [1.3], gxclip2.h [1.2], gxclipm.c [1.3], gxclipm.h [1.2],
    +gxclipsr.h [1.2], gxclist.c [1.3], gxclist.h [1.2], gxcllzw.c [1.2],
    +gxclmem.c [1.2], gxclmem.h [1.2]: 2000/09/19 19:00:32 lpd)
    +
    +Updates the license notices to reflect the name change, as well as some
    +internal references to the program name. (gxclpage.c [1.2], gxclpage.h
    +[1.2], gxclpath.c [1.8], gxclpath.h [1.6], gxclrast.c [1.8], gxclread.c
    +[1.2], gxclrect.c [1.2], gxclutil.c [1.2], gxclzlib.c [1.2], gxcmap.c
    +[1.3], gxcmap.h [1.2], gxcolor2.h [1.4], gxcomp.h [1.2], gxcoord.h [1.2],
    +gxcpath.c [1.3], gxcpath.h [1.2], gxcspace.h [1.4], gxctable.c [1.3],
    +gxctable.h [1.2], gxcvalue.h [1.2], gxdcconv.c [1.3], gxdcconv.h [1.2],
    +gxdcolor.c [1.3], gxdcolor.h [1.3], gxdda.h [1.2], gxdevbuf.h [1.2],
    +gxdevcli.h [1.3], gxdevice.h [1.4], gxdevmem.h [1.2], gxdevrop.h [1.2],
    +gxdht.h [1.4], gxdhtres.h [1.2], gxdither.c [1.2], gxdither.h [1.2],
    +gxfarith.h [1.3], gxfcache.h [1.2], gxfcid.h [1.6], gxfcmap.h [1.5],
    +gxfill.c [1.5], gxfixed.h [1.2], gxfmap.h [1.3], gxfont.h [1.2], gxfont0.h
    +[1.3], gxfont1.h [1.4], gxfont42.h [1.4], gxfrac.h [1.2], gxftype.h [1.2],
    +gxfunc.h [1.3], gxgetbit.h [1.2], gxhint1.c [1.2], gxhint2.c [1.2],
    +gxhint3.c [1.2], gxht.c [1.2], gxht.h [1.2], gxhtbit.c [1.3], gxhttile.h
    +[1.2], gxhttype.h [1.2], gxi12bit.c [1.2], gxiclass.h [1.2], gxicolor.c
    +[1.2], gxidata.c [1.4], gxifast.c [1.2], gximag3x.c [1.7]: 2000/09/19
    +19:00:35 lpd)
    +
    +Updates the license notices to reflect the name change, as well as some
    +internal references to the program name. (gximag3x.h [1.3], gximage.c
    +[1.2], gximage.h [1.2], gximage1.c [1.5], gximage2.c [1.2], gximage3.c
    +[1.6], gximage3.h [1.4], gximage4.c [1.3], gximono.c [1.2], gxino12b.c
    +[1.2], gxiodev.h [1.2], gxiparam.h [1.2], gxipixel.c [1.2], gxiscale.c
    +[1.2], gxistate.h [1.6], gxline.h [1.2], gxlum.h [1.2], gxmatrix.h [1.4],
    +gxmclip.c [1.2], gxmclip.h [1.2], gxobj.h [1.2], gxop1.h [1.2], gxp1fill.c
    +[1.2], gxp1impl.h [1.2], gxpageq.c [1.2], gxpageq.h [1.2], gxpaint.c [1.2],
    +gxpaint.h [1.2], gxpath.c [1.2], gxpath.h [1.2], gxpath2.c [1.2],
    +gxpcache.h [1.2], gxpcmap.c [1.3], gxpcolor.h [1.2], gxpcopy.c [1.3],
    +gxpdash.c [1.2], gxpflat.c [1.2], gxropc.h [1.2], gxrplane.h [1.2],
    +gxsample.c [1.2], gxsample.h [1.2], gxshade.c [1.4], gxshade.h [1.3],
    +gxshade1.c [1.5], gxshade4.c [1.3], gxshade4.h [1.2], gxshade6.c [1.3],
    +gxstate.h [1.2], gxstdio.h [1.2], gxstroke.c [1.2], gxsync.c [1.2],
    +gxsync.h [1.2], gxtext.h [1.3], gxtmap.h [1.2], gxttf.h [1.2], gxtype1.c
    +[1.6], gxtype1.h [1.4], gxxfont.h [1.2], gzacpath.h [1.2], gzcpath.h [1.2],
    +gzht.h [1.3], gzline.h [1.2], gzpath.h [1.3]: 2000/09/19 19:00:38 lpd)
    +
    +Updates the license notices to reflect the name change, as well as some
    +internal references to the program name. (gzstate.h [1.3]: 2000/09/19
    +19:00:41 lpd)
    +
    +Updates the license notices to reflect the name change, as well as some
    +internal references to the program name. (jerror_.h [1.2], malloc_.h [1.2],
    +math_.h [1.2], memory_.h [1.2], pipe_.h [1.2]: 2000/09/19 19:00:47 lpd)
    +
    +Updates the license notices to reflect the name change, as well as some
    +internal references to the program name. (time_.h [1.2], vmsmath.h [1.2],
    +windows_.h [1.2]: 2000/09/19 19:00:51 lpd)
    +
    +Bring version numbers and dates up to date. Small bug fix in toolbin/pre to
    +make it able to handle months with leading zeros. (gscdef.c [1.9]:
    +2000/10/04 05:18:54 raph)
    +
    +

    ???Other???

    +
    +Updates the license notices to reflect the name change, as well as some
    +internal references to the program name. (gp_mswin.h [1.2]: 2000/09/19
    +19:00:24 lpd)
    +
    +Updates the license notices to reflect the name change, as well as some
    +internal references to the program name. (gsdll.h [1.2], gsdll32w.lnk
    +[1.2], gsdllos2.h [1.2], gsdllwin.h [1.2], gsjmorec.h [1.2]: 2000/09/19
    +19:00:27 lpd)
    +
    +Updates the license notices to reflect the name change, as well as some
    +internal references to the program name. (gspmdrv.h [1.2]: 2000/09/19
    +19:00:31 lpd)
    +
    +Updates the license notices to reflect the name change, as well as some
    +internal references to the program name. (iutilasm.asm [1.2]: 2000/09/19
    +19:00:46 lpd)
    +
    +
    + +

    Version 6.23 (2000-08-07)

    + +

    +This fileset consists mostly of bug fixes. + +

    +All problems registered on SourceForge numbered 110922 or lower are closed, +except for the following: 101549, 101814, 101905, 101955, 102146, 102735, +104118, 105289, 105558, 106340, 106652, 109350, 110445, 110898, 110922. + +

    +The following projects are in a partially completed state in the PDF writer: + +

      + +
    • CID-keyed fonts (gdevpdf[eftw].c) -- barely started. + +
    + +
    +
    +

    Incompatible changes

    + +(Drivers) + - With high-level drivers ([e]pswrite, pdfwrite, pxl*, cgm*), +changing the OutputFile after writing one or more pages now causes an error. +(Interpreter) + - By default, copydevice will only copy a device prototype. + - Some internal references to contexts in zcontext.c are changed +from direct pointers to context indices. + - Renames internal types to add a _t: ctx_list, ctx_status, +gs_context, gs_condition, gs_lock. +(Library) + - By default, gs_copydevice[2] will only copy a device prototype. + + +

    Documentation

    +
    +Fixes problems:
    +	- Local GC in a multi-context system caused a crash. Also updates
    +all the internal type names in zcontext.c by adding a _t suffix if
    +necessary. (doc/News.htm [1.54]: 2000/07/10 23:56:55 lpd)
    +	- With some high-level drivers, changing the OutputFile after
    +opening the device could cause a crash. After the fix, doing this works
    +properly if no pages have actually been written out, but causes a rangecheck
    +error if any pages have been written. (This is required to maintain internal
    +consistency.) (doc/News.htm [1.55]: 2000/07/12 14:02:03 lpd)
    +	- The documented limit on the length of a file name was incorrect.
    +(doc/Language.htm [1.9]: 2000/08/03 06:45:25 lpd)
    +
    +Increments the version number, in preparation for the next fileset.
    +(doc/News.htm [1.52]: 2000/07/06 02:45:06 lpd)
    +
    +Adds a finish_copydevice device procedure, for cleaning up after copying the
    +bits of a device prototype or instance. For safety, the default
    +implementation only allows copying the prototype, not instances. This is a
    +NON-BACKWARD-COMPATIBLE change; however, using copydevice on a device
    +instance never worked reliably, so it should not have been used this way
    +before. (doc/Drivers.htm [1.4], doc/News.htm [1.53]: 2000/07/06 04:13:24
    +lpd)
    +
    +Updates the references to the Computer Modern Fontmap on CTAN.
    +(doc/Fonts.htm [1.5], doc/New-user.htm [1.8]: 2000/07/09 23:29:25 lpd)
    +
    +Updates a couple of release procedures. (doc/Release.htm [1.15]: 2000/07/10
    +19:32:59 lpd)
    +
    +Adds documentation and a script for preparing GNU releases from Aladdin
    +releases. (doc/Release.htm [1.16]: 2000/07/17 17:10:57 lpd)
    +
    +Clarifies that device parameters set with -d or -s can be changed
    +subsequently. (doc/Use.htm [1.8]: 2000/07/17 20:13:03 lpd)
    +
    +Adds a project for making Ghostscript work as a Netscape browser plug-in.
    +(doc/Projects.htm [1.13]: 2000/07/19 22:50:18 lpd)
    +
    +Removes the SVG driver from the list of projects, since there is a group
    +close to completing one (referenced from the Ghostscript home page on the
    +Web). (doc/Projects.htm [1.14]: 2000/07/20 14:49:52 lpd)
    +
    +Directs users to the Ghostscript home page on the Web for information about
    +third-party drivers. (doc/New-user.htm [1.9]: 2000/07/20 14:50:34 lpd)
    +
    +Adds a partially implemented driver that just produces a trace of its
    +drawing calls. This driver also serves as a minimal example of how to
    +implement the high-level driver operations. (doc/Drivers.htm [1.5]:
    +2000/07/29 04:00:00 lpd)
    +
    +Updates dates and version #s for the 6.23 fileset. (doc/Bug-info.htm [1.4],
    +doc/Changes.htm [1.15], doc/Drivers.htm [1.6], doc/Fonts.htm [1.6],
    +doc/History5.htm [1.3], doc/Htmstyle.htm [1.4], doc/Install.htm [1.5],
    +doc/Language.htm [1.10], doc/New-user.htm [1.10], doc/News.htm [1.56],
    +doc/Projects.htm [1.15], doc/Ps2pdf.htm [1.15], doc/Release.htm [1.17],
    +doc/Use.htm [1.9], man/ps2ps.1 [1.6]: 2000/08/07 17:48:09 lpd)
    +
    +

    Procedures

    +
    +Fixes problems:
    +	- $(GLGEN)/md5.h wasn't deleted after compilation. (lib.mak [1.26]:
    +2000/07/09 23:19:59 lpd)
    +	- TrueType font loading now requires the Adobe glyph list, but this
    +dependency was missing from the makefile. (int.mak [1.26]: 2000/07/19
    +08:11:15 lpd)
    +	- During compilation, GLSRCDIR was searched before GLGENDIR. (We're
    +very surprised that this didn't cause detectable trouble before.)
    +(lib.mak [1.27]: 2000/07/19 14:32:00 lpd)
    +	- The dependency on gsparamx.$(OBJ) was incorrectly attached to
    +pdfwrite.dev rather than psdf.dev. (devs.mak [1.30]: 2000/08/03 17:42:52
    +lpd)
    +	- 'pre' didn't work with dates in August or September (Tcl doesn't
    +accept 08 and 09 as valid numbers). (toolbin/pre [1.5]: 2000/08/07 17:35:27
    +lpd)
    +
    +Increments the version number, in preparation for the next fileset.
    +(version.mak [1.17]: 2000/07/06 02:45:06 lpd)
    +
    +Adds some user-contributed comments about using the Canon BJ200 driver with
    +the BJ300. (contrib.mak [1.18]: 2000/07/11 15:33:19 lpd)
    +
    +Updates the (user-contributed) all-architecture build script to work around
    +a detail in the SGI IRIX C library header files. (all-arch.mak [1.4]:
    +2000/07/15 19:23:45 lpd)
    +
    +Adds documentation and a script for preparing GNU releases from Aladdin
    +releases. (toolbin/makegnu.tcl [1.1]: 2000/07/17 17:10:57 lpd)
    +
    +Adds a partially implemented driver that just produces a trace of its
    +drawing calls. This driver also serves as a minimal example of how to
    +implement the high-level driver operations. (lib.mak [1.28]: 2000/07/29
    +04:00:00 lpd)
    +
    +Changes 'gsmake' to report line number rather than character position for
    +errors and warnings. (toolbin/gsmake.tcl [1.3]: 2000/08/07 17:22:27 lpd)
    +
    +Updates dates and version #s for the 6.23 fileset. (version.mak [1.18]:
    +2000/08/07 17:48:10 lpd)
    +
    +Adds some missing dependencies. (int.mak [1.27], lib.mak [1.29]: 2000/08/07
    +17:52:22 lpd)
    +
    +

    Utilities

    +
    +Fixes problems:
    +	- An invalid file name or pattern passed to filenameforall would
    +(incorrectly) return an empty string rather than not returning any file
    +names at all. (gp_vms.c [1.3]: 2000/07/09 21:09:51 lpd)
    +	- Some DOS/Windows script files didn't use 'call', so they would
    +terminate execution prematurely if called from another script file.
    +(lib/ps2pdf.bat [1.5], lib/ps2pdf12.bat [1.4], lib/ps2pdf13.bat [1.4],
    +lib/ps2pdfxx.bat [1.8]: 2000/07/24 15:12:21 lpd)
    +
    +

    Drivers

    +
    +Implements finish_copydevice for X windows, to allow copying instances as
    +well as the prototype. (gdevx.c [1.4], gdevx.h [1.3], gdevxini.c [1.7]:
    +2000/07/06 05:29:46 lpd)
    +
    +Adds some user-contributed comments about using the Canon BJ200 driver with
    +the BJ300. (gdevbj10.c [1.2]: 2000/07/11 15:33:19 lpd)
    +
    +

    PDF writer

    +
    +Fixes problems:
    +	- M_2PI was predefined on some systems. (gdevpdfg.c [1.6]:
    +2000/07/09 23:11:31 lpd)
    +	- The word and character spacing values were not tracked correctly
    +when mixing text and graphics, sometimes producing horizontally misplaced
    +text. (gdevpdf.c [1.18], gdevpdfg.c [1.7], gdevpdfu.c [1.10],
    +gdevpdfx.h [1.19]: 2000/07/11 14:33:54 lpd)
    +	- 'show'ing an empty string could cause the next string to be
    +positioned incorrectly. (gdevpdft.c [1.14]: 2000/07/27 14:18:11 lpd)
    +
    +Updates font embedding code to handle CIDFontType 2 fonts. NOT TESTED.
    +(gdevpdfe.c [1.3]: 2000/07/27 04:18:13 lpd)
    +
    +Adds glyphs_used to FontDescriptors and pfd to std_fonts in the device
    +structure. WORK IN PROGRESS. (gdevpdf.c [1.19], gdevpdff.c [1.7],
    +gdevpdff.h [1.3], gdevpdfx.h [1.20]: 2000/07/27 04:19:24 lpd)
    +
    +

    Interpreter (PDF)

    +
    +Fixes problems:
    +	- If a badly-constructed PDF file referenced one of the 12 base
    +alphabetic fonts explicitly as a TrueType font (e.g., /BaseFont
    +/TimesNewRoman /Subtype /TrueType) without embedding it, the substituted
    +Type 1 font had the wrong Encoding. (lib/pdf_font.ps [1.10]: 2000/07/10
    +13:18:28 lpd)
    +	- Piped input beginning with a % caused an ioerror. (bug introduced
    +in 6.22) (lib/pdf_main.ps [1.10]: 2000/07/14 05:30:19 lpd)
    +	- As a result of some recent changes to fix other problems, setting
    +certain text state parameters (Tf, Ts, Tz) outside of text mode (BT/ET)
    +caused an error. (lib/pdf_ops.ps [1.6]: 2000/07/19 15:57:54 lpd)
    +	- Setting a singular text matrix (e.g., 0 0 0 0   Tm) caused
    +an error. (lib/pdf_ops.ps [1.7]: 2000/08/04 16:08:05 lpd)
    +
    +

    Interpreter

    +
    +Fixes problems:
    +	- Removes the '?' procedure, which was defined solely for the
    +convenience of users who don't read the documentation and which interfered
    +with the operation of some code produced by the Adobe PS5 Windows driver.
    +(lib/gs_init.ps [1.18]: 2000/07/09 22:34:30 lpd)
    +	- A constant 1 should have been 1L, causing a warning on systems
    +where sizeof(long) > sizeof(int). (zarith.c [1.3]: 2000/07/09 23:10:58 lpd)
    +	- The workaround for attempting to set a 4-element PageSize value in
    +a page device sometimes caused an error. (bug introduced in 6.21)
    +(lib/gs_setpd.ps [1.4]: 2000/07/10 12:48:54 lpd)
    +	- Redefining setcolorspace could cause an infinite recursion.
    +(lib/gs_lev2.ps [1.5]: 2000/07/10 13:35:24 lpd)
    +	- Local GC in a multi-context system caused a crash. Also updates
    +all the internal type names in zcontext.c by adding a _t suffix if
    +necessary. (zcontext.c [1.4]: 2000/07/10 23:56:55 lpd)
    +	- A garbage collection occurring within a save could cause a memory
    +access error. (bug introduced in 6.22) (zcontext.c [1.5]: 2000/07/14
    +05:28:56 lpd)
    +	- Piped input beginning with a % caused an ioerror. (bug introduced
    +in 6.22) (zfileio.c [1.8]: 2000/07/14 05:30:19 lpd)
    +	- A garbage collection occurring while scanning a binary token
    +sequence could cause a syntaxerror or corrupted data. (iscan.c [1.3]:
    +2000/07/18 15:39:02 lpd)
    +	- (correction) An interruption (including a callout for a
    +procedure-based stream), not a garbage collection, while scanning a binary
    +token sequence could cause a syntaxerror or corrupted data. (iscan.c [1.4]:
    +2000/07/18 15:41:55 lpd)
    +	- When loading a TrueType font, invalid glyph numbers in the 'post'
    +table (which appear in some Adobe-created PDF files) caused an error instead
    +of being ignored; a test was backwards, causing some embedded TrueType fonts
    +in PDF files to produce a rangecheck error. (lib/gs_ttf.ps [1.6]: 2000/07/19
    +08:12:41 lpd)
    +	- When NOPROMPT was set, no flush or flushpage occurred at the end
    +of a page. (fix from an anonymous user on SourceForge)
    +(lib/gs_init.ps [1.19]: 2000/07/20 01:40:50 lpd)
    +	- Type 1 or Type 2 fonts with invalid LanguageGroup values < 0
    +caused an error. (Such fonts are invalid, but some real fonts have garbage
    +LanguageGroup values, and Adobe software doesn't give an error.)
    +(zfont1.c [1.6]: 2000/07/24 18:08:38 lpd)
    +	- Errors while executing gs_init.ps and other PostScript
    +initialization files were sometimes ignored, leading to mysterious error
    +messages later. (imainarg.c [1.3]: 2000/08/03 06:43:17 lpd)
    +	- Showing text with a singular matrix (scaling matrix x CTM) could
    +leave extraneous values on the operand stack. (zchar1.c [1.4]: 2000/08/04
    +16:09:30 lpd)
    +
    +Increments the version number, in preparation for the next fileset.
    +(lib/gs_init.ps [1.15]: 2000/07/06 02:45:06 lpd)
    +
    +Redefines [gs_]copydevice in terms of a new gs_copydevice2/.copydevice2,
    +which adds a Boolean keep_open argument that requests (but does not
    +guarantee) that a copy of an open device remain open.
    +(lib/gs_init.ps [1.16], zdevice.c [1.2]: 2000/07/06 03:26:13 lpd)
    +
    +Adds a finish_copydevice device procedure, for cleaning up after copying the
    +bits of a device prototype or instance. For safety, the default
    +implementation only allows copying the prototype, not instances. This is a
    +NON-BACKWARD-COMPATIBLE change; however, using copydevice on a device
    +instance never worked reliably, so it should not have been used this way
    +before. (lib/gs_init.ps [1.17]: 2000/07/06 04:13:24 lpd)
    +
    +Adds the ability to load CIDFont resources from CFF OpenType font files.
    +(lib/gs_cff.ps [1.6], lib/gs_cidfn.ps [1.16]: 2000/07/29 05:58:28 lpd)
    +
    +Ensures that errordict has at least one empty entry, for the sake of some
    +astonishingly bad PostScript code that tests for this and has a bug in the
    +case where it isn't true. (lib/gs_init.ps [1.20]: 2000/08/04 04:29:45 lpd)
    +
    +

    Library

    +
    +Fixes problems:
    +	- Some coordinate computations for Type 1 fonts could lose far too
    +much precision if _fixed_shift was reduced. (gscoord.c [1.2],
    +gxmatrix.h [1.2]: 2000/07/11 09:25:46 lpd)
    +	- If the current color space was DeviceRGB, gs_currentgray returned
    +the wrong value. (bug introduced in 6.22) (gscolor.c [1.3]: 2000/07/11
    +14:00:09 lpd)
    +	- With some high-level drivers, changing the OutputFile after
    +opening the device could cause a crash. After the fix, doing this works
    +properly if no pages have actually been written out, but causes a rangecheck
    +error if any pages have been written. (This is required to maintain internal
    +consistency.) (gdevvec.c [1.4]: 2000/07/12 14:02:04 lpd)
    +	- A file had accidentally acquired an incorrect license notice.
    +(gscoord.c [1.4]: 2000/07/13 02:02:09 lpd)
    +	- Type 2 fonts that used the 'hflex' operator could produce
    +distorted characters (e.g., slanted bottoms). (gstype2.c [1.4]: 2000/07/13
    +02:09:21 lpd)
    +	- The use of macros within procedure argument lists confused
    +ansi2knr. (gximage3.c [1.5], gximage3.h [1.3]: 2000/07/19 14:30:45 lpd)
    +	- Freeing a locking allocator could cause infinite recursion.
    +(gsmemlok.c [1.2]: 2000/07/19 21:32:12 lpd)
    +	- "Accurate curves" was a no-op for certain cases of horizontal or
    +vertical tangents. (gxpcopy.c [1.2]: 2000/08/05 01:04:28 lpd)
    +
    +Increments the version number, in preparation for the next fileset.
    +(gscdef.c [1.5]: 2000/07/06 02:45:06 lpd)
    +
    +Redefines [gs_]copydevice in terms of a new gs_copydevice2/.copydevice2,
    +which adds a Boolean keep_open argument that requests (but does not
    +guarantee) that a copy of an open device remain open. (gsdevice.c [1.5],
    +gsdevice.h [1.2]: 2000/07/06 03:26:13 lpd)
    +
    +Adds a finish_copydevice device procedure, for cleaning up after copying the
    +bits of a device prototype or instance. For safety, the default
    +implementation only allows copying the prototype, not instances. This is a
    +NON-BACKWARD-COMPATIBLE change; however, using copydevice on a device
    +instance never worked reliably, so it should not have been used this way
    +before. (gdevbbox.c [1.2], gdevdflt.c [1.2], gdevht.c [1.2],
    +gdevmem.h [1.2], gdevnfwd.c [1.2], gdevprn.h [1.5], gdevrops.c [1.2],
    +gsdevice.c [1.6], gxacpath.c [1.2], gxclip.c [1.2], gxclip2.c [1.2],
    +gxclipm.c [1.2], gxclist.c [1.2], gxdevcli.h [1.2], gxdevice.h [1.3],
    +gxpcmap.c [1.2]: 2000/07/06 04:13:24 lpd)
    +
    +Adds a little more tracing output for images. (gxidata.c [1.3]: 2000/07/09
    +21:04:25 lpd)
    +
    +Adds _simple_final structure type definition macros. (gsstruct.h [1.3]:
    +2000/07/10 15:43:30 lpd)
    +
    +Removes a structure member no longer needed after a recent fix.
    +(gscoord.c [1.3], gxmatrix.h [1.3]: 2000/07/12 04:49:43 lpd)
    +
    +Adds the ability to write subsetted CIDFontType 2 (TrueType-based) fonts.
    +(gdevpsf.h [1.6], gdevpsft.c [1.2], gdevpsfu.c [1.3], gxfcid.h [1.5]:
    +2000/07/21 01:09:16 lpd)
    +
    +Adds a partially implemented driver that just produces a trace of its
    +drawing calls. This driver also serves as a minimal example of how to
    +implement the high-level driver operations. (gdevtrac.c [1.1]: 2000/07/29
    +04:00:00 lpd)
    +
    +Improves the smoothness of ShadingType 4 - 7 gradient fills.
    +(gxshade4.c [1.2], gxshade6.c [1.2]: 2000/08/03 20:47:48 lpd)
    +
    +Updates dates and version #s for the 6.23 fileset. (gscdef.c [1.6]:
    +2000/08/07 17:48:10 lpd)
    +
    +
    + +

    Version 6.22 (2000-07-05)

    + +

    +This fileset consists mostly of bug fixes. It also further improves the PDF +writer, which now handles ImageType 3 images and PatternType 2 (shading) +patterns. + +

    +All problems registered on SourceForge numbered 108819 or lower are closed, +except for the following: 101549, 101814, 101905, 101955, 102146, 102735, +104118, 105289, 105558, 106340, 106652, 108639. + +

    +The following projects are in a partially completed state in the PDF writer: + +

      + +
    • CID-keyed fonts (gdevpdf[eftw].c) -- barely started. + +
    + +
    +
    +

    Incompatible changes

    + +(Procedures) + - Versions now have odd numbers during development, even numbers +when released. + - The TMPDIR environment variable, if set, now takes precedence +over TEMP. + - On MS-DOS, MS Windows, and OS/2 platforms, the batch files that +invoke Ghostscript now use a default name of gswin32 or gswin32c rather than +simply gs. +(Drivers) + - The PCL drivers now select a given paper size if the requested +height is at least 0.1" greater than the height of the next smaller paper +size, rather than if the requested height is at least as large as that of +the given paper size. +(Interpreter) + - user_names_p and system_names_p may now be NULL: clients must +check this. + - scan_comment_proc and scan_dsc_proc are now deprecated, and will +disappear in the near future. + - The values in psuserparams are now checking procedures rather +than parameter values. + - Comments beginning with %! are treated as "DSC comments", like +comments beginning with %%. +(Library) + - The macro for declaring the fill_rectangle procedure of a shading +is now upper-case. The fill_rectangle procedure is now a member of a procs +structure; there is a new macro for calling it. + - The parameter list and return value for gs_currentgray have +changed. This is very unfortunate, but it was unavoidable. + + +

    Documentation

    +
    +Fixes problems:
    +	- The batch files for MS-DOS, MS Windows, and OS/2 referred to the
    +executable by the name 'gs'. They now use environment variables GS
    +(graphical) and GSC (console) for the executable names, defaulting to
    +gswin32 and gswin32c respectively. (doc/News.htm [1.45], doc/Use.htm [1.6]:
    +2000/05/20 20:53:04 lpd)
    +	- The -dCompatibilityLevel= switch was incorrectly identified in one
    +place as -dCompatibility=. (doc/Ps2pdf.htm [1.11]: 2000/05/22 21:29:45 lpd)
    +	- [gs_]currentgray didn't return the correct value if the current
    +color space was a DeviceN space using the alternate space.
    +(doc/News.htm [1.49]: 2000/07/03 15:28:26 lpd)
    +	- Fixes a couple of typos. (doc/Release.htm [1.12]: 2000/07/04
    +19:19:38 lpd)
    +	- The "smoke test" procedure for fileset releases didn't stress the
    +banding code nearly as hard as intended. (doc/Release.htm [1.13]: 2000/07/05
    +04:50:13 lpd)
    +
    +Adds predefined pdfwrite settings similar to the three standard settings in
    +Adobe Acrobat Distiller 4, plus a "default" setting, with
    +-dPDFSETTINGS=/settingname. (doc/Ps2pdf.htm [1.10]: 2000/04/29 02:29:20 lpd)
    +
    +Increments the version number to 6.23. From now on, we use odd numbers
    +during development, even numbers for released filesets.
    +(doc/Changes.htm [1.12], doc/History6.htm [1.7], doc/News.htm [1.40],
    +doc/Release.htm [1.11]: 2000/04/29 16:49:43 lpd)
    +
    +Implements ImageType 3 images in the PDF writer. (doc/News.htm [1.41]:
    +2000/04/30 06:21:58 lpd)
    +
    +Creates a procs structure for shadings, moving the fill_rectangle procedure
    +into it, in anticipation of adding a get_params procedure.
    +(doc/News.htm [1.42]: 2000/04/30 19:37:37 lpd)
    +
    +Implements PatternType 2 patterns and shfill in the PDF writer.
    +(doc/News.htm [1.43]: 2000/05/02 07:14:58 lpd)
    +
    +Adds a reference to Karel Kulhavy's pdf2html program.
    +(doc/New-user.htm [1.6]: 2000/05/04 21:16:44 lpd)
    +
    +Adds a small project to remove the limit on the length of the OutputFile
    +parameter for printer drivers. (doc/Projects.htm [1.9]: 2000/05/06 00:32:08
    +lpd)
    +
    +Documents the addition of TMPDIR for specifying the directory for temporary
    +files. (doc/News.htm [1.44], doc/Use.htm [1.5]: 2000/05/19 17:59:28 lpd)
    +
    +Adds (more) user-contributed uniprint parameter files for the Epson Stylus
    +Color 640. (doc/Devices.htm [1.8]: 2000/05/23 18:58:56 lpd)
    +
    +Adds implementation of the %font% IODevice to the list of projects.
    +(doc/Projects.htm [1.10]: 2000/05/24 23:30:15 lpd)
    +
    +Documents the change in the paper size selection for PCL drivers.
    +(doc/News.htm [1.46]: 2000/05/30 03:26:15 lpd)
    +
    +Adds glyph decaching notification to the list of projects.
    +(doc/Projects.htm [1.11]: 2000/05/30 05:54:23 lpd)
    +
    +Documents that user_names_p and system_names_p may now be NULL.
    +(doc/News.htm [1.47]: 2000/06/05 01:26:05 lpd)
    +
    +Adds the ability to write multi-strip monochrome TIFF files, controlled by a
    +new MaxStripSize parameter for the monochrome TIFF drivers.
    +(doc/Devices.htm [1.9]: 2000/06/05 05:41:55 lpd)
    +
    +Updates the open ICC color support project to reference Graeme Gill's icclib
    +package. (doc/Projects.htm [1.12]: 2000/06/08 02:55:37 lpd)
    +
    +Adds an umbrella document for maintenance procedures, initially describing
    +the procedure for uploading bug report test data to SourceForge.
    +(doc/Maintain.htm [1.1], doc/Readme.htm [1.8]: 2000/06/13 20:27:26 lpd)
    +
    +Updates documentation to reflect the use of the GSC environment variable to
    +set the name of the executable for ps2pdf. (doc/Ps2pdf.htm [1.12]:
    +2000/06/21 17:10:41 lpd)
    +
    +Updates documentation on the ProcessColorModel and ColorConversionStrategy
    +parameters. (doc/Ps2pdf.htm [1.13]: 2000/06/21 18:06:07 lpd)
    +
    +Adds user parameters ProcessComment and ProcessDSCComment. If not null,
    +these procedures are called with the file and the comment line whenever the
    +scanner detects a comment (or non-DSC comment) or DSC comment. NOTE: the
    +interpreter is currently patched so that ProcessComment is never called.
    +(doc/Language.htm [1.4], doc/News.htm [1.48]: 2000/06/27 00:53:38 lpd)
    +
    +Adds a reference to a user-maintained Czech translation of the Ghostscript
    +'man' pages. (doc/Readme.htm [1.9]: 2000/06/27 14:03:29 lpd)
    +
    +Brings the language documentation (more) up to date.
    +(doc/Language.htm [1.5]: 2000/06/29 16:00:48 lpd)
    +
    +Improves the documentation of copydevice regarding where it allocates the
    +copy, and documents finddevice. (doc/Drivers.htm [1.2],
    +doc/Language.htm [1.6]: 2000/06/30 00:09:15 lpd)
    +
    +Adds a findprotodevice "operator", to find a device prototype by name.
    +(doc/Language.htm [1.7]: 2000/07/05 04:49:11 lpd)
    +
    +Changes the version numbering system back to sequential (not odd/even).
    +Between numbered filesets, GS_PRODUCT will say "CVS PRE-RELEASE".
    +(doc/History6.htm [1.8], doc/News.htm [1.50]: 2000/07/05 17:23:54 lpd)
    +
    +Updates documentation related to version numbering, reflecting the move back
    +to sequential numbering. (doc/Maintain.htm [1.2], doc/Release.htm [1.14]:
    +2000/07/05 18:27:50 lpd)
    +
    +Updates documentation dates for making a fileset. (doc/Changes.htm [1.13],
    +doc/Devices.htm [1.10], doc/Drivers.htm [1.3], doc/History6.htm [1.9],
    +doc/Language.htm [1.8], doc/New-user.htm [1.7], doc/News.htm [1.51],
    +doc/Ps2pdf.htm [1.14], doc/Readme.htm [1.10], doc/Use.htm [1.7]: 2000/07/06
    +00:01:39 lpd)
    +
    +

    Procedures

    +
    +Fixes problems:
    +	- The rule for the recently-added gdevhl12 driver omitted the space
    +before the colon. (contrib.mak [1.12]: 2000/05/02 01:42:12 lpd)
    +	- Once again, corrects an incorrect dependency list.
    +(lib.mak [1.19]: 2000/05/02 07:14:11 lpd)
    +	- smd5.c didn't compile properly with "traditional C" compilers.
    +(lib.mak [1.20]: 2000/05/19 06:08:01 lpd)
    +	- Temporary files weren't created as private or exclusive.
    +(lib.mak [1.21], os2.mak [1.6], watc.mak [1.4], watclib.mak [1.4],
    +winlib.mak [1.3]: 2000/05/19 17:52:51 lpd)
    +	- The definitions of user names weren't properly associated with
    +local VM (they were stored in a static variable). (int.mak [1.22]:
    +2000/05/26 02:27:58 lpd)
    +	- 'make install' on Unix systems didn't install pdfopt.ps and
    +pdfwrite.ps. (unixinst.mak [1.11]: 2000/05/30 23:07:34 lpd)
    +	- The dependency list for the new Epson Stylus Photo driver was
    +wrong, causing build problems if this driver was included.
    +(contrib.mak [1.13]: 2000/06/01 20:25:39 lpd)
    +	- The change to implement stripped TIFF files broke non-TIFF fax
    +output formats (faxg* drivers). Also factors plain-fax writing from TIFF
    +writing. (devs.mak [1.26]: 2000/06/06 06:37:37 lpd)
    +	- Corrects a typo introduced by recent changes. (msvctail.mak [1.3]:
    +2000/06/07 06:36:54 lpd)
    +	- Rendering TrueType fonts didn't adjust the flatness to ensure
    +accurate results. (lib.mak [1.23]: 2000/06/20 15:46:53 lpd)
    +	- The makefile missed a dependency (CIDFontType 0 fonts require
    +FontType 2 fonts). (int.mak [1.23]: 2000/06/27 17:23:13 lpd)
    +	- The makefiles didn't include the requirement that gs_mro_e.ps be
    +loaded before gs_mgl_e.ps. (devs.mak [1.28], int.mak [1.24]: 2000/06/27
    +17:36:42 lpd)
    +	- A dependency was missing. (lib.mak [1.24]: 2000/07/04 19:05:12
    +lpd)
    +	- Fixes a typo; reduces the number of false warnings for
    +documentation date mismatches. (toolbin/pre [1.4]: 2000/07/04 19:19:17 lpd)
    +	- Fixes a typo. (contrib.mak [1.16]: 2000/07/04 22:30:10 lpd)
    +	- Adds a missing dependency. (devs.mak [1.29]: 2000/07/04 22:30:33
    +lpd)
    +	- Adds a missing dependency. (contrib.mak [1.17]: 2000/07/06
    +00:00:13 lpd)
    +
    +Increments the version number to 6.23. From now on, we use odd numbers
    +during development, even numbers for released filesets. (version.mak [1.15]:
    +2000/04/29 16:49:43 lpd)
    +
    +Restructures the code for handling ImageType 3 images, for the benefit of
    +the PDF writer. (lib.mak [1.18]: 2000/04/30 03:08:15 lpd)
    +
    +Implements ImageType 3 images in the PDF writer. (devs.mak [1.23]:
    +2000/04/30 06:21:58 lpd)
    +
    +Implements PatternType 2 patterns and shfill in the PDF writer.
    +(devs.mak [1.24]: 2000/05/02 07:14:58 lpd)
    +
    +Adds the first draft of a driver for the Practical Automation ATX-23, -24,
    +and -38 label/ticket printers, developed under contract. This has a dual
    +GPL/AFPL license. (devs.mak [1.25]: 2000/05/03 20:30:06 lpd)
    +
    +Works around the fact that Microsoft Visual C++ (only) doesn't define the O_
    +flags for the `open' library call. (lib.mak [1.22]: 2000/05/31 20:34:43 lpd)
    +
    +Makes it possible to build on MSVC++ systems without specifying the paths
    +for the tools, headers, or libraries. See msvc{32,lib}.mak for details.
    +(msvc32.mak [1.4], msvccmd.mak [1.4], msvclib.mak [1.4], msvctail.mak [1.2],
    +winint.mak [1.4]: 2000/06/05 02:46:07 lpd)
    +
    +Adds a user-contributed driver for SFF (the file format for CAPI fax
    +devices). (contrib.mak [1.14]: 2000/06/06 06:38:31 lpd)
    +
    +Notes that the vgalib driver only suppotrs 16-color modes. (devs.mak [1.27]:
    +2000/06/06 15:28:01 lpd)
    +
    +Removes an obsolete file. (toolbin/package.tcl [1.2]: 2000/06/06 18:05:32
    +lpd)
    +
    +Documents the fact that the IJG JPEG library header files must be available
    +when compiling, even if SHARE_JPEG=1. (dvx-gcc.mak [1.3], jpeg.mak [1.2],
    +unix-gcc.mak [1.6], unixansi.mak [1.4], unixtrad.mak [1.4]: 2000/06/07
    +13:32:44 lpd)
    +
    +Finishes implementing the Process[DSC]Comment callout. (int.mak [1.25]:
    +2000/06/28 20:17:00 lpd)
    +
    +Removes some third-party drivers with incompatible licenses.
    +(contrib.mak [1.15]: 2000/07/02 22:11:31 lpd)
    +
    +Finishes working around the fact that Microsoft C, in defiance of multiple
    +standards, by default doesn't define the O_ flags for 'open' in fcntl.h (or
    +anywhere else). (lib.mak [1.25]: 2000/07/05 00:48:21 lpd)
    +
    +Changes the version numbering system back to sequential (not odd/even).
    +Between numbered filesets, GS_PRODUCT will say "CVS PRE-RELEASE".
    +(version.mak [1.16]: 2000/07/05 17:23:54 lpd)
    +
    +

    Utilities

    +
    +Fixes problems:
    +	- Fixes a couple of minor Windows NT compatibility problems in
    +script files. (lib/ps2pdf.bat [1.3], lib/ps2pdfxx.bat [1.5]: 2000/05/05
    +03:21:03 lpd)
    +	- Temporary files weren't created as private or exclusive.
    +(gp_iwatc.c [1.3], gp_mswin.c [1.2], gp_os2.c [1.3]: 2000/05/19 17:52:51
    +lpd)
    +	- gsdll_init didn't propagate an error return from
    +gs_main_init_with_args, causing clients to think Ghostscript was initialized
    +properly when it wasn't. (gsdll.c [1.2]: 2000/05/20 14:39:42 lpd)
    +	- The batch files for MS-DOS, MS Windows, and OS/2 referred to the
    +executable by the name 'gs'. They now use environment variables GS
    +(graphical) and GSC (console) for the executable names, defaulting to
    +gswin32 and gswin32c respectively. (lib/bdftops.bat [1.2],
    +lib/eps2eps.bat [1.3], lib/font2c.bat [1.2], lib/gsbj.bat [1.2],
    +lib/gsdj.bat [1.2], lib/gsdj500.bat [1.2], lib/gslj.bat [1.2],
    +lib/gslp.bat [1.2], lib/gsnd.bat [1.2], lib/gsndt.bat [1.2],
    +lib/gssetgs.bat [1.1], lib/gst.bat [1.2], lib/gstt.bat [1.2],
    +lib/lpgs.bat [1.2], lib/lpr2.bat [1.2], lib/pdf2ps.bat [1.3],
    +lib/pdfopt.bat [1.2], lib/pftogsf.bat [1.2], lib/ps2ascii.bat [1.3],
    +lib/ps2epsi.bat [1.3], lib/ps2pdfxx.bat [1.7], lib/ps2ps.bat [1.3]:
    +2000/05/20 20:53:05 lpd)
    +	- The ps2pdf.bat script didn't set the default PDF level, so it
    +normally produced PDF 1.3 rather than 1.2, which was contrary to the
    +documentation and different from the Unix ps2pdf script.
    +(lib/ps2pdf.bat [1.4]: 2000/06/08 02:33:09 lpd)
    +
    +Adds a user-contributed program for displaying the differences between two
    +AFM (font metric) files. This has a dual AFPL/GPL copyright.
    +(lib/afmdiff.awk [1.1]: 2000/04/29 20:51:41 lpd)
    +
    +Removes an out-of-date e-mail address. (lib/ps2pdfxx.bat [1.4]: 2000/05/04
    +16:40:08 lpd)
    +
    +Adds -dSAFER to all the format conversion scripts in which the input is
    +executed as PostScript or PDF code. (lib/eps2eps [1.2],
    +lib/eps2eps.bat [1.2], lib/pdf2dsc [1.2], lib/pdf2ps [1.3],
    +lib/pdf2ps.bat [1.2], lib/ps2ascii [1.2], lib/ps2ascii.bat [1.2],
    +lib/ps2epsi [1.3], lib/ps2epsi.bat [1.2], lib/ps2pdfwr [1.5],
    +lib/ps2pdfxx.bat [1.6], lib/ps2ps [1.2], lib/ps2ps.bat [1.2]: 2000/05/19
    +06:38:25 lpd)
    +
    +Adds -dSAFER to one more script. (lib/pdfopt [1.2]: 2000/05/30 05:28:22 lpd)
    +
    +Refactors some PDF-writing code for use in a PDF decompressor.
    +(lib/pdfwrite.ps [1.2]: 2000/06/27 17:06:32 lpd)
    +
    +Adds a number of (user-maintained) command files for OS/2.
    +(lib/bdftops.cmd [1.1], lib/eps2eps.cmd [1.1], lib/font2c.cmd [1.1],
    +lib/pdf2ps.cmd [1.1], lib/pf2afm.cmd [1.1], lib/ps2ascii.cmd [1.1],
    +lib/ps2epsi.cmd [1.1], lib/ps2pdf.cmd [1.1], lib/ps2pdf12.cmd [1.1],
    +lib/ps2pdf13.cmd [1.1], lib/ps2ps.cmd [1.1]: 2000/07/05 16:21:13 lpd)
    +
    +

    Drivers

    +
    +Fixes problems:
    +	- The "compressed data" command encoding was wrong in one place in
    +the documentation, and the code used the incorrect encoding.
    +(gdevatx.c [1.2]: 2000/05/06 00:31:25 lpd)
    +	- If a file made no marks at all, ps2[e]ps produced bad output.
    +(gdevps.c [1.8]: 2000/05/07 15:38:27 lpd)
    +	- Returning an image compression parameter dictionary didn't close
    +an enumeration, failing to free a bookkeeping structure. (gdevpsdp.c [1.5]:
    +2000/05/11 16:13:16 lpd)
    +	- The epswrite driver could produce output that used initclip, which
    +is not allowed in EPS files. (gdevps.c [1.9]: 2000/05/20 06:36:30 lpd)
    +	- The change to implement stripped TIFF files broke non-TIFF fax
    +output formats (faxg* drivers). Also factors plain-fax writing from TIFF
    +writing. (gdevfax.c [1.1], gdevfax.h [1.1], gdevtfax.c [1.3],
    +gdevtfax.h [1.3]: 2000/06/06 06:37:37 lpd)
    +	- In the X driver, resetting MaxBitmap didn't have the proper
    +effect, and could cause a crash. (This is probably only a partial fix.)
    +(gdevxini.c [1.4]: 2000/06/12 01:52:16 lpd)
    +	- Finishes fixing the handling of MaxBitmap in the X driver.
    +(gdevxini.c [1.5]: 2000/06/12 02:45:25 lpd)
    +	- In the ATX drivers, the word count for compressed scan lines was
    +written as 2 bytes rather than 1; the drivers wouldn't accept a page width
    +greater than 2400 pixels. (gdevatx.c [1.4]: 2000/06/12 04:39:48 lpd)
    +	- Works around a bug in the MSVC++ 5.0 compiler that treats (int <<
    +unsigned) as unsigned rather than int. (gdevcd8.c [1.2], gdevcdj.c [1.2],
    +gdevdj9.c [1.3]: 2000/06/20 14:21:34 lpd)
    +	- Uncolored Patterns used with a gray color produced incorrect PDF
    +output. (Bug introduced in 6.2x.) (gdevpsdu.c [1.5]: 2000/06/28 05:13:19
    +lpd)
    +	- Moves an assignment to eliminate a bogus warning from some picky
    +compilers about a variable supposedly clobbered by longjmp.
    +(gdevpng.c [1.2]: 2000/07/03 21:10:33 lpd)
    +	- Two values were computed and not used. (gdevpx.c [1.3]: 2000/07/03
    +21:30:41 lpd)
    +	- [e]pswrite didn't guarantee a maximum line length of 255
    +characters, and didn't mark binary data with %%BeginData:/%%EndData.
    +(gdevps.c [1.10]: 2000/07/04 18:34:38 lpd)
    +	- Fixes references to undeclared functions. (gdevdfax.c [1.2],
    +gdevl256.c [1.2]: 2000/07/04 22:25:08 lpd)
    +	- X Windows platform fonts were broken when using multiple device
    +instances (windows). (gdevxxf.c [1.4]: 2000/07/05 18:20:41 lpd)
    +
    +Improves the test for whether compressing an image is worthwhile.
    +(gdevpsdi.c [1.11]: 2000/04/30 01:26:41 lpd)
    +
    +When printing color values derived from 8-bit fields, rounds the output to 3
    +decimal places for compactness with no loss of precision. (gdevpsdu.c [1.4]:
    +2000/04/30 19:24:28 lpd)
    +
    +Adds the first draft of a driver for the Practical Automation ATX-23, -24,
    +and -38 label/ticket printers, developed under contract. This has a dual
    +GPL/AFPL license. (gdevatx.c [1.1]: 2000/05/03 20:30:06 lpd)
    +
    +Updates the ATX printer drivers to handle the unprintable margins.
    +(gdevatx.c [1.3]: 2000/05/19 05:48:30 lpd)
    +
    +Adds (more) user-contributed uniprint parameter files for the Epson Stylus
    +Color 640. (lib/st640ih.upp [1.1], lib/st640ihg.upp [1.1],
    +lib/st640p.upp [1.1], lib/st640pg.upp [1.1], lib/st640pl.upp [1.1],
    +lib/st640plg.upp [1.1]: 2000/05/23 18:58:56 lpd)
    +
    +Adds support for 11x17 paper in PCL printers; changes the paper size tests
    +so that paper size N+1 is selected if the requested height is at least 0.1"
    +greater than the height of paper size N. (gdevpcl.c [1.2], gdevpcl.h [1.2]:
    +2000/05/30 03:24:17 lpd)
    +
    +Adds comments about H-P's inconsistent use of different names and size codes
    +for the 11x17 paper size. (gdevpcl.c [1.3], gdevpcl.h [1.3]: 2000/05/30
    +20:45:45 lpd)
    +
    +Adds the ability to write multi-strip monochrome TIFF files, controlled by a
    +new MaxStripSize parameter for the monochrome TIFF drivers.
    +(gdevtfax.c [1.2], gdevtfax.h [1.2], gdevtfnx.c [1.2], gdevtifs.c [1.2],
    +gdevtifs.h [1.2]: 2000/06/05 05:41:55 lpd)
    +
    +Adds a user-contributed driver for SFF (the file format for CAPI fax
    +devices). (gdevcfax.c [1.1]: 2000/06/06 06:38:31 lpd)
    +
    +Notes that the vgalib driver only suppotrs 16-color modes.
    +(gdevvglb.c [1.2]: 2000/06/06 15:28:01 lpd)
    +
    +Adds some code contributed by Leon Bottou  that
    +makes the X driver prefer TrueColor visuals. We aren't sure of the
    +ramifications of this.... (gdevxini.c [1.6]: 2000/06/12 04:41:15 lpd)
    +
    +Updates the ATX driver(s) to enforce maximum page width and minimum page
    +length. (gdevatx.c [1.5]: 2000/06/22 14:55:53 lpd)
    +
    +Removes some third-party drivers with incompatible licenses.
    +(gdevcd8.c [1.3], gdevdj9.c [1.4], gdevhl12.c [1.2]: 2000/07/02 22:11:31
    +lpd)
    +
    +Per user request, changes the license on the basic monochrome
    +DeskJet/LaserJet drivers from AFPL to dual AFPL/GPL. (gdevdjet.c [1.5],
    +gdevdljm.c [1.3], gdevdljm.h [1.3]: 2000/07/05 17:36:14 lpd)
    +
    +

    PDF writer

    +
    +Fixes problems:
    +	- A "0 ||" was omitted, potentially causing some kinds of errors
    +that never happen in practice to be overlooked. (gdevpdfi.c [1.17]:
    +2000/05/02 01:55:10 lpd)
    +	- Fixes minor syntactic incompatibilities with "traditional C"
    +compilers. (gdevpdfg.c [1.5]: 2000/05/11 16:14:51 lpd)
    +	- The PDF writer could still produce coordinates for paths that
    +exceeded Acrobat Reader's user-coordinate limit of +/- 32K.
    +(gdevpdfd.c [1.9]: 2000/05/23 21:05:00 lpd)
    +	- In PDF 1.2 output, several synthesized Type 3 fonts could have the
    +same name, producing errors and/or incorrect output. (bug introduced since
    +6.01) (gdevpdf.c [1.17], gdevpdft.c [1.11], gdevpdfx.h [1.18]: 2000/05/24
    +20:39:30 lpd)
    +	- The FontDescriptor flags for non-embedded alphabetic fonts with
    +non-Standard encodings incorrectly identified the font as a small-caps font.
    +(gdevpdff.c [1.6]: 2000/05/30 23:04:23 lpd)
    +	- Works around the fact that Acrobat Reader won't accept /MMType1
    +fonts, but will accept MM Type 1 instances if they're tagged as /Type1
    +rather than /MMType1. (gdevpdft.c [1.12], gdevpdfw.c [1.4]: 2000/06/12
    +18:13:51 lpd)
    +	- Embedded Type 1 (but not Type 2 / 1C) fonts were written without
    +eexec encryption. We can't figure out how this happened, because the PDF
    +spec requires eexec encryption and the correct code was commented out; we
    +suppose this was a debugging or testing modification that got left in. (bug
    +introduced since 6.01) (gdevpdfe.c [1.2]: 2000/06/12 18:15:20 lpd)
    +	- Text in Type 3 synthesized fonts was often positioned incorrectly,
    +usually too far to the left. (bug introduced since 6.01) (gdevpdft.c [1.13]:
    +2000/06/13 16:34:42 lpd)
    +	- Images that ended prematurely still (again?) weren't written
    +correctly. (gdevpdfj.c [1.4]: 2000/06/27 06:32:03 lpd)
    +
    +Implements ImageType 3 images in the PDF writer. (gdevpdfb.c [1.1],
    +gdevpdfg.h [1.6], gdevpdfi.c [1.16], gdevpdfj.c [1.3], gdevpdfx.h [1.16]:
    +2000/04/30 06:21:58 lpd)
    +
    +Implements PatternType 2 patterns and shfill in the PDF writer.
    +(gdevpdfc.c [1.11], gdevpdfg.h [1.7], gdevpdfo.c [1.3], gdevpdfo.h [1.3],
    +gdevpdfv.c [1.1], gdevpdfx.h [1.17]: 2000/05/02 07:14:58 lpd)
    +
    +

    Interpreter (PDF)

    +
    +Fixes problems:
    +	- PatternType 2 (shaded) Patterns caused errors.
    +(lib/pdf_draw.ps [1.14]: 2000/05/02 07:03:09 lpd)
    +	- -q (-dQUIET) didn't suppress all warnings from the PDF
    +interpreter. (lib/pdf_base.ps [1.8]: 2000/05/07 15:51:18 lpd)
    +	- FunctionType 3 functions with indirect /Bounds or /Encode entries
    +caused a typecheck error. (lib/pdf_draw.ps [1.15]: 2000/06/07 19:08:00 lpd)
    +	- If the TR element of an ExtGState was an array of Functions (for
    +setcolortransfer) rather a single Function (for settransfer), an error
    +occurred. (fix from Artifex) (lib/pdf_draw.ps [1.16]: 2000/06/12 00:40:45
    +lpd)
    +	- The code for keeping the Install procedure from getting more and
    +more deeply nested didn't actually work, and also caused pages with a
    +non-zero MediaBox offset to be translated incorrectly.
    +(lib/pdf_main.ps [1.8]: 2000/06/12 19:17:03 lpd)
    +	- PDF files with embedded TrueType fonts didn't map characters to
    +glyph indices correctly (i.e., using the same algorithm as Acrobat Reader).
    +(lib/pdf_font.ps [1.8]: 2000/06/21 02:15:01 lpd)
    +	- The built-in Identity CMaps had an incorrect entry count for
    +begincodespacerange and begincidrange; these CMaps, and all Type 0 fonts,
    +were constructed in a way that was incompatible with some old Adobe font
    +loading software. (lib/pdf_font.ps [1.9]: 2000/06/28 01:36:30 lpd)
    +	- If PDF interpretation was included in the build, the very first
    +line of a non-PDF file wouldn't be processed (if applicable) as a comment.
    +(lib/pdf_main.ps [1.9]: 2000/06/29 15:55:13 lpd)
    +
    +

    Interpreter

    +
    +Fixes problems:
    +	- localfork didn't properly initialize userdict in the new context.
    +(lib/gs_dps.ps [1.2]: 2000/05/01 07:20:37 lpd)
    +	- A null Pattern color caused an error. (zcolor2.c [1.2]: 2000/05/01
    +15:15:06 lpd)
    +	- Fixes minor syntactic incompatibilities with "traditional C"
    +compilers. (zbfont.c [1.5], zfcid0.c [1.3]: 2000/05/11 16:14:51 lpd)
    +	- The 'monitor' operator was broken (probably had never been
    +tried!). (zcontext.c [1.2]: 2000/05/15 19:14:25 lpd)
    +	- -dSTRICT caused an error, /undefined in SIZES.
    +(lib/gs_statd.ps [1.3]: 2000/05/17 19:17:40 lpd)
    +	- CFF CID fonts in which the FDSelect array occurred before the
    +CharStrings caused an error. (lib/gs_cff.ps [1.5]: 2000/05/17 20:39:20 lpd)
    +	- dict_matrix3_param didn't work correctly on platforms where the
    +compiler aligned structures to a boundary larger than sizeof(float), causing
    +incorrect output or arithmetic exceptions for CIE color spaces.
    +(zcie.c [1.2]: 2000/05/18 19:02:25 lpd)
    +	- Flushing or closing a procedure-based output stream still wasn't
    +implemented correctly (it could cause an endless loop). (zfproc.c [1.3]:
    +2000/05/19 19:35:01 lpd)
    +	- 'monitor' left its operand on the stack. (zcontext.c [1.3]:
    +2000/05/22 21:15:23 lpd)
    +	- The definitions of user names weren't properly associated with
    +local VM (they were stored in a static variable). (btoken.h [1.2],
    +iref.h [1.2], iscanbin.c [1.3], zbseq.c [1.2], zdps.c [1.2]: 2000/05/26
    +02:27:58 lpd)
    +	- Invoking an image operator with an empty string data source caused
    +an infinite loop. (zimage.c [1.4]: 2000/05/30 03:43:19 lpd)
    +	- The fix for associating the user name array with local VM didn't
    +create the user name table properly for new contexts with their own local
    +VM. The user name array is now created lazily. (btoken.h [1.3],
    +iscanbin.c [1.4], zbseq.c [1.3], zdps.c [1.3]: 2000/05/30 04:38:26 lpd)
    +	- As a result of the fix removing the incorrect same-local-VM check
    +in context_state_load, userparams wasn't updated properly when switching
    +contexts. (icontext.c [1.3]: 2000/05/30 20:40:17 lpd)
    +	- MAX_HALF_INTVAL was defined incorrectly, causing the mul operator
    +to run slower than necessary when multiplying two small integers.
    +(zarith.c [1.2]: 2000/06/04 17:00:29 lpd)
    +	- Shadings with an array of Functions caused a rangecheck or
    +typecheck error. (zshade.c [1.2]: 2000/06/04 18:26:17 lpd)
    +	- If the new value of a device parameter was an array with some
    +integers and some reals, and the first element was a real, a typecheck error
    +would occur. (iparam.c [1.4]: 2000/06/19 22:22:51 lpd)
    +	- PDF files with embedded TrueType fonts didn't map characters to
    +glyph indices correctly (i.e., using the same algorithm as Acrobat Reader).
    +(lib/gs_agl.ps [1.1], lib/gs_ttf.ps [1.5]: 2000/06/21 02:15:01 lpd)
    +	- The dictionary used to hold Encodings wasn't large enough.
    +(lib/gs_init.ps [1.10]: 2000/06/27 17:55:05 lpd)
    +	- The change in parameter type checking required for the new
    +Process[DSC]Comment user parameters broke type checking for system
    +parameters. (lib/gs_lev2.ps [1.4]: 2000/06/27 17:56:04 lpd)
    +	- Calling out to process a comment during scanning left an extra
    +element on the operand stack if the comment appeared within { }.
    +(ztoken.c [1.3]: 2000/06/28 00:47:05 lpd)
    +	- In some cases, two successive DSC comments produced a syntaxerror.
    +(ztoken.c [1.4]: 2000/06/28 05:14:17 lpd)
    +	- The code for registering compiled fonts was sensitive to its
    +position in the order of loading the initialization files (caused an error
    +if loaded too early). (lib/gs_ccfnt.ps [1.3]: 2000/06/29 23:31:14 lpd)
    +	- [gs_]currentgray didn't return the correct value if the current
    +color space was a DeviceN space using the alternate space. (zcolor.c [1.3],
    +zcolor1.c [1.2]: 2000/07/03 15:28:26 lpd)
    +
    +Adds predefined pdfwrite settings similar to the three standard settings in
    +Adobe Acrobat Distiller 4, plus a "default" setting, with
    +-dPDFSETTINGS=/settingname. (lib/gs_pdfwr.ps [1.4]: 2000/04/29 02:29:21 lpd)
    +
    +Increments the version number to 6.23. From now on, we use odd numbers
    +during development, even numbers for released filesets.
    +(lib/gs_init.ps [1.8]: 2000/04/29 16:49:43 lpd)
    +
    +Changes .buildfont1 to accept Type 1 fonts with LanguageGroup other than 0
    +or 1. This is contrary to the spec, but we've seen a few fonts with other
    +values. (zfont1.c [1.5]: 2000/05/06 08:19:37 lpd)
    +
    +Cleans up code and comments slightly. (lib/gs_dps.ps [1.3]: 2000/05/30
    +20:35:56 lpd)
    +
    +Adds user parameters ProcessComment and ProcessDSCComment. If not null,
    +these procedures are called with the file and the comment line whenever the
    +scanner detects a comment (or non-DSC comment) or DSC comment. NOTE: the
    +interpreter is currently patched so that ProcessComment is never called.
    +(interp.c [1.4], iscan.c [1.2], iscan.h [1.2], lib/gs_init.ps [1.9],
    +lib/gs_lev2.ps [1.3], ztoken.c [1.2], ztype.c [1.2]: 2000/06/27 00:53:38
    +lpd)
    +
    +Finishes implementing the Process[DSC]Comment callout. (icontext.c [1.4],
    +icstate.h [1.3], interp.c [1.5], iscan.h [1.3], itoken.h [1.1],
    +lib/gs_init.ps [1.11], ztoken.c [1.5], zusparam.c [1.2]: 2000/06/28 20:17:00
    +lpd)
    +
    +Changes the name of the unread operator to .unread, retaining unread as a
    +synonym for backward compatibility. (lib/gs_init.ps [1.12], zfileio.c [1.7]:
    +2000/06/29 15:58:24 lpd)
    +
    +Adds a findprotodevice "operator", to find a device prototype by name.
    +(lib/gs_init.ps [1.13]: 2000/07/05 04:49:11 lpd)
    +
    +Changes the version numbering system back to sequential (not odd/even).
    +Between numbered filesets, GS_PRODUCT will say "CVS PRE-RELEASE".
    +(lib/gs_init.ps [1.14]: 2000/07/05 17:23:54 lpd)
    +
    +

    Streams

    +
    +Fixes problems:
    +	- file_limit wasn't initialized properly in some cases.
    +(sfxfd.c [1.4], sfxstdio.c [1.3]: 2000/05/02 02:06:41 lpd)
    +	- smd5.c didn't compile properly with "traditional C" compilers.
    +(smd5.c [1.2]: 2000/05/19 06:08:01 lpd)
    +	- The workaround for Microsoft C's omission of O_APPEND et al caused
    +warnings or errors with other compilers. (stat_.h [1.3]: 2000/07/03 21:07:05
    +lpd)
    +
    +Works around the fact that Microsoft Visual C++ (only) doesn't define the O_
    +flags for the `open' library call. (stat_.h [1.2]: 2000/05/31 20:34:43 lpd)
    +
    +Finishes working around the fact that Microsoft C, in defiance of multiple
    +standards, by default doesn't define the O_ flags for 'open' in fcntl.h (or
    +anywhere else). (stat_.h [1.4]: 2000/07/05 00:48:21 lpd)
    +
    +

    Library

    +
    +Fixes problems:
    +	- A null Pattern color caused an error. (gspcolor.c [1.2]:
    +2000/05/01 15:15:07 lpd)
    +	- A procedure name exceeded VMS's 31-character limit.
    +(gsparam.h [1.6]: 2000/05/02 01:47:50 lpd)
    +	- If the DataSource of a shading was a reusable stream, the stream
    +wasn't reset before rendering the shading. (gxshade.c [1.2]: 2000/05/02
    +07:05:10 lpd)
    +	- shfill didn't go through the device fill_path procedure,
    +preventing it from being written out as a high-level PostScript or PDF
    +construct. (gscolor3.c [1.2]: 2000/05/02 07:06:23 lpd)
    +	- Once again, corrects an incorrect dependency list.
    +(gscolor3.c [1.3]: 2000/05/02 07:14:11 lpd)
    +	- The code for adding elements to small-string free lists was wrong,
    +possibly causing an endless loop. (gsnogc.c [1.3]: 2000/05/04 01:29:53 lpd)
    +	- Fixes minor syntactic incompatibilities with "traditional C"
    +compilers. (gsfunc4.c [1.2], gstype42.c [1.5]: 2000/05/11 16:14:51 lpd)
    +	- CIEBasedDEF[G] color spaces computed incorrect results or caused
    +invalid memory accesses, especially if DecodeDEF[G] is not the identity
    +function. (This bug had probably been there since these color spaces were
    +first implemented, unnoticed because DecodeDEF[G] is almost always the
    +identity.) (gscie.c [1.2], gsciemap.c [1.2], gxctable.c [1.2]: 2000/05/15
    +19:58:38 lpd)
    +	- Temporary files weren't created as private or exclusive.
    +(close_.h [1.1], gp_unifs.c [1.2], gpmisc.c [1.1], gpmisc.h [1.1]:
    +2000/05/19 17:52:51 lpd)
    +	- OutputFile values starting with a %d format string caused an
    +error. (bug introduced in 5.85) (gsdevice.c [1.4]: 2000/05/20 06:58:11 lpd)
    +	- In rare cases, an overflow could occur in the filling loop,
    +producing distorted output. (Fix from Artifex Software.) (gxfill.c [1.3]:
    +2000/05/23 05:46:52 lpd)
    +	- When writing PDF or PostScript, stroked rectangles could sometimes
    +be omitted from the output. (gdevvec.c [1.3]: 2000/05/24 18:48:14 lpd)
    +	- In PDF output, the conversion of Type 1 to Type 2 CharStrings
    +didn't adjust the X offset of the accent for 'seac', causing accents to be
    +displaced to the right. (gdevpsfx.c [1.3]: 2000/05/24 23:20:43 lpd)
    +	- The definitions of user names weren't properly associated with
    +local VM (they were stored in a static variable). (gsalloc.c [1.3],
    +gxalloc.h [1.2]: 2000/05/26 02:27:58 lpd)
    +	- The change for local user names didn't update the structure
    +descriptor for gs_ref_memory_t. (gsalloc.c [1.4], gxalloc.h [1.3]:
    +2000/05/26 02:33:38 lpd)
    +	- The fix for 'seac' when converting Type 1 to Type 2 CharStrings
    +wasn't quite complete. (gdevpsfx.c [1.4]: 2000/05/26 20:48:37 lpd)
    +	- If [eo]clip set a rectangular region, clippath would return the
    +rounded clipping box, not the correct clipping path. (gxcpath.c [1.2]:
    +2000/05/31 22:20:04 lpd)
    +	- ShadingType 2 shadings could cause an invalid memory access.
    +(gsfunc3.c [1.3]: 2000/06/04 18:25:33 lpd)
    +	- Printer drivers that didn't implement print_page_copies didn't
    +print multiple copies of the same page on separate files if the OutputFile
    +name included %d, and some drivers (such as the TIFF drivers) produced
    +invalid output. (gdevprn.c [1.4]: 2000/06/05 02:04:26 lpd)
    +	- 32-bit sample values in shading data didn't work, because some
    +CPUs execute (1 << 32) as (1 << 0). (gxshade.c [1.3]: 2000/06/07 19:07:17
    +lpd)
    +	- Type 1 fonts without eexec encryption still included the 4 eexec
    +padding bytes. (bug probably introduced since 6.0) (gdevpsf1.c [1.4]:
    +2000/06/12 17:38:48 lpd)
    +	- Axial shadings with a non-orthogonal CTM could fail to fill the
    +required region. (fix from Artifex) (gxshade1.c [1.4]: 2000/06/12 21:45:19
    +lpd)
    +	- When allocator debugging was enabled (-Z@), 'restore' didn't clear
    +vacated space in inner chunks. (gsalloc.c [1.5]: 2000/06/13 07:04:18 lpd)
    +	- the row buffers for images weren't allocated with a stable
    +allocator, possibly causing data corruption or invalid accesses if a
    +PostScript program invoked save/restore within the data-reading procedure
    +for an image. (gsimage.c [1.2]: 2000/06/13 07:05:21 lpd)
    +	- Rendering TrueType fonts didn't adjust the flatness to ensure
    +accurate results. (gstype42.c [1.6], gxchrout.c [1.1], gxchrout.h [1.1],
    +gxtype1.c [1.5]: 2000/06/20 15:46:53 lpd)
    +	- Calling get_params with a static (read-only) device prototype
    +could cause a memory access error. (gsdparam.c [1.3]: 2000/06/22 14:05:49
    +lpd)
    +	- [gs_]currentgray didn't return the correct value if the current
    +color space was a DeviceN space using the alternate space. (gscolor.c [1.2],
    +gscolor.h [1.2], gscolor1.c [1.2]: 2000/07/03 15:28:26 lpd)
    +	- Some picky compilers complained about "integer constant is
    +unsigned in ANSI C, signed with -traditional". (md5.c [1.2]: 2000/07/03
    +21:55:18 lpd)
    +	- If TMPDIR wasn't defined, TEMP would be ignored. (bug introduced
    +in 6.23) (gpmisc.c [1.4]: 2000/07/04 19:54:00 lpd)
    +	- Watcom C requires the non-standard O_BINARY mode flag when opening
    +(with open) a file that will later be opened in binary mode with fdopen.
    +(gpmisc.c [1.6]: 2000/07/05 17:08:27 lpd)
    +
    +Restructures the code for handling ImageType 3 images, for the benefit of
    +the PDF writer. (gximage3.c [1.3], gximage3.h [1.1]: 2000/04/30 03:08:15
    +lpd)
    +
    +Implements ImageType 3 images in the PDF writer. (gximage3.c [1.4],
    +gximage3.h [1.2]: 2000/04/30 06:21:58 lpd)
    +
    +Creates a procs structure for shadings, moving the fill_rectangle procedure
    +into it, in anticipation of adding a get_params procedure. (gsshade.c [1.2],
    +gsshade.h [1.2], gxshade.h [1.2]: 2000/04/30 19:37:37 lpd)
    +
    +Implements PatternType 2 patterns and shfill in the PDF writer.
    +(gsptype2.c [1.2]: 2000/05/02 07:14:58 lpd)
    +
    +Changes gdev_prn_file_is_new from a macro to a procedure. (gdevprn.c [1.3],
    +gdevprn.h [1.4]: 2000/05/20 20:25:48 lpd)
    +
    +Works around the fact that Microsoft Visual C++ defines S_IREAD and S_IWRITE
    +but not their newer equivalents S_IRUSR and S_IWUSR. (gpmisc.c [1.2]:
    +2000/05/24 18:49:54 lpd)
    +
    +Changes some assignments to work around over-zealous compiler warnings.
    +(gxtype1.c [1.4]: 2000/05/24 23:52:58 lpd)
    +
    +Works around the fact that Microsoft Visual C++ (only) doesn't define the O_
    +flags for the `open' library call. (gpmisc.c [1.3]: 2000/05/31 20:34:43 lpd)
    +
    +Improves some comments in A_fill_stripe. (gxshade1.c [1.3]: 2000/06/04
    +20:58:23 lpd)
    +
    +Finishes working around the fact that Microsoft C, in defiance of multiple
    +standards, by default doesn't define the O_ flags for 'open' in fcntl.h (or
    +anywhere else). (fcntl_.h [1.1], gpmisc.c [1.5]: 2000/07/05 00:48:21 lpd)
    +
    +Adds O_BINARY to the Microsoft compatibility fcntl.h patch. (fcntl_.h [1.2]:
    +2000/07/05 17:21:43 lpd)
    +
    +Changes the version numbering system back to sequential (not odd/even).
    +Between numbered filesets, GS_PRODUCT will say "CVS PRE-RELEASE".
    +(gscdef.c [1.3]: 2000/07/05 17:23:54 lpd)
    +
    +Updates GS_PRODUCT for making a fileset. (gscdef.c [1.4]: 2000/07/06
    +00:01:03 lpd)
    +
    +
    + +

    Version 6.21 (2000-04-28)

    + +

    +This fileset includes more PDF writer enhancements: conversion of embedded +Type 1 fonts to Type 1C (smaller), handling of more color spaces for images, +ImageType 4 images, compression of mask images, support for (tiled) Pattern +colors, more graphics state distiller parameters, recording of graphics +state functions in the output. It also greatly improves the space usage and +loading time for CMaps. + +

    +All problems registered on SourceForge numbered 104890 or lower are closed, +except for the following: 101549, 101814, 101905, 101955, 102146, 102735, +103528, 104118, 104375. + +

    +The following projects are in a partially completed state in the PDF writer: + +

      + +
    • CID-keyed fonts (gdevpdf[eftw].c) -- barely started. + +
    • ImageType 3 images (gdevpdf[ij].c) -- started. + +
    + +
    +
    +

    Incompatible changes

    + +(Drivers) + - The downsampling filters now require WidthIn and HeightIn, +replacing Columns. + - The gp_ procedures for managing screen swapping between console +and graphics are removed. + - Any driver that processes the pdfmark pseudo-parameter must now +also return null for the "value" of the pdfmark parameter when (and only +when) specifically requested. +(PDF writer) + - The last argument of pdf_alloc_font has changed. + - pdf_set_color is renamed pdf_set_pure_color. + - When producing PDF 1.3 output, the base 14 fonts are now +candidates for embedding just like any other fonts. +(Interpreter) + - The .fontproperties procedure in gs_fonts.ps now takes an +additional argument. + - The interpreter must no longer reference stdin/out/err directly. +(Library) + - The internal representation of CMaps is changed completely, and +has several new required members. + - gs_cmap is renamed gs_cmap_t; gx_code_map is renamed +gx_code_map_t. + - Clients creating CMaps must call gs_cmap_init to initialize them. + - The library must no longer reference stdin/out/err directly. + + +

    Documentation

    +
    +Fixes problems:
    +	- The PDF writer could get an ioerror when downsampling images whose
    +size wasn't an exact multiple of the downsampling factor.
    +(doc/News.htm [1.31]: 2000/04/13 16:44:59 lpd)
    +	- When processing a PDF file, the font substitution heuristic based
    +on the FontName sometimes overrode the Flags information in the
    +FontDescriptor. (doc/News.htm [1.34]: 2000/04/20 06:36:02 lpd)
    +	- When pdfwrite was producing PDF 1.3 output, the base 14 fonts were
    +never embedded, rather than being handled like all other fonts.
    +(doc/News.htm [1.37]: 2000/04/20 23:49:40 lpd)
    +	- The URL for the Arphic free Chinese fonts had become incorrect.
    +(doc/Fonts.htm [1.3]: 2000/04/27 13:44:52 lpd)
    +	- Fixes a few typos, and adds GS_FONTPATH to the list of environment
    +variables to be unset for a pristine test run. (doc/Release.htm [1.10]:
    +2000/04/28 22:08:41 lpd)
    +
    +Adds projects related to SVG and to pswrite image compression.
    +(doc/Projects.htm [1.4]: 2000/04/07 18:39:12 lpd)
    +
    +Makes the ps2pdf scripts replace a .eps extension with .pdf, as they do with
    +.ps. (doc/Ps2pdf.htm [1.7], man/ps2pdf.1 [1.5], man/ps2pdfwr.1 [1.2]:
    +2000/04/07 19:28:14 lpd)
    +
    +Completely redesigns the representation of CMaps, to reduce space
    +requirements and make comparing them more reasonable, changing gs_cmap to
    +gs_cmap_t and gx_code_map to gx_code_map_t. (****** NOTE ****** The
    +PostScript code currently only handles a few well-behaved CMap structures.)
    +(doc/News.htm [1.27]: 2000/04/08 03:54:38 lpd)
    +
    +Documents the need to set SYNC=nosync on NextStep / OpenStep systems.
    +(doc/Make.htm [1.10]: 2000/04/10 04:45:37 lpd)
    +
    +Overhauls font embedding in the PDF writer: splits off the code into a new
    +file (gdevpdfe.c), writes embedded Type 1 fonts as Type 1C (CFF Type 2), and
    +adds a little bit of code for future support of Type 0 and CID-keyed fonts.
    +(doc/News.htm [1.28]: 2000/04/10 07:48:37 lpd)
    +
    +Documents the fact that building on NeXTSTEP 3.3 systems requires removing
    +-Wmissing-declarations from GCFLAGS. (doc/Make.htm [1.11]: 2000/04/11
    +14:06:54 lpd)
    +
    +Enhances pdf2ps to allow defaulting the output file name.
    +(man/pdf2ps.1 [1.2]: 2000/04/11 14:23:24 lpd)
    +
    +Factors out code for writing functions and for adding filter-related entries
    +to a stream dictionary; implements the DefaultRenderingIntent distiller
    +parameter. (doc/Ps2pdf.htm [1.8]: 2000/04/11 16:06:57 lpd)
    +
    +Implements additional distiller parameters: PreserveHalftoneInfo,
    +PreserveOverprintSetting, TransferFunctionInfo (except for Apply vs.
    +Remove), UCRandBGInfo. Splits off graphics state management into separate
    +files. Implements the remaining graphics state parameters (halftone,
    +transfer function, black generation, undercolor removal, halftone phase,
    +smoothness, overprint, stroke adjustment) ****** EXCEPT FOR IMAGES ******.
    +In anticipation of handling more general colors, renames pdf_set_color as
    +pdf_set_pure_color, and adds pdf_set_drawing_color. (doc/News.htm [1.29]:
    +2000/04/11 18:31:32 lpd)
    +
    +Updates documentation to match recent changes in the pdfwrite driver.
    +(doc/Ps2pdf.htm [1.9]: 2000/04/11 22:56:17 lpd)
    +
    +Makes the second argument of the pfbtopfa script optional, so 'pfbtopfa
    +dir/x.pfb' is equivalent to 'pfbtopfa dir/x.pfb x.pfa'.
    +(man/pfbtopfa.1 [1.2]: 2000/04/12 17:41:41 lpd)
    +
    +In pdfwrite, rewrites the image writing code to use Cos objects rather than
    +direct printing, and splits off the creation of image dictionaries into a
    +new file; adds support for tiling with uncolored Patterns; implements
    +converting ImageType 4 images to their PDF 1.3 counterpart; starts to do the
    +same for ImageType 3. This code is "in progress" and likely to have problems
    +for a while. (doc/News.htm [1.30]: 2000/04/12 18:44:35 lpd)
    +
    +Implements pdfwrite compression for mask images, using the same parameters
    +as for monochrome images. (doc/News.htm [1.32]: 2000/04/13 18:40:23 lpd)
    +
    +Adds user-contributed uniprint parameter files for the Canon BJC-8200,
    +including an addition for the Red Hat printer data base.
    +(doc/Devices.htm [1.4]: 2000/04/14 03:59:57 lpd)
    +
    +Slightly updates the user-contributed documentation on the new BJC-8200
    +uniprint parameters. (doc/Devices.htm [1.5]: 2000/04/15 00:20:54 lpd)
    +
    +Completes code for reading and writing CMaps. (doc/News.htm [1.33]:
    +2000/04/16 03:05:29 lpd)
    +
    +Clarifies some details of posting releases on SourceForge.
    +(doc/Release.htm [1.9]: 2000/04/17 22:59:24 lpd)
    +
    +Converts the ps2epsi documentation to HTML. (doc/Ps2epsi.htm [1.1],
    +doc/Readme.htm [1.6], doc/ps2epsi.txt [1.2]: 2000/04/18 17:59:13 lpd)
    +
    +Adds a couple of graphics library optimization projects.
    +(doc/Projects.htm [1.5]: 2000/04/19 04:05:11 lpd)
    +
    +Adds a project for creating an OutputDevice resource instance for each
    +device. (doc/Projects.htm [1.6]: 2000/04/19 21:37:47 lpd)
    +
    +Checks in the accumulated change log. (doc/Changes.htm [1.10]: 2000/04/20
    +07:24:22 lpd)
    +
    +Removes the gp_ procedures for managing screen swapping between console and
    +graphics, which haven't been used for a long time and are no longer useful.
    +(doc/News.htm [1.35]: 2000/04/20 22:47:35 lpd)
    +
    +Removes all remaining direct references to stdin/out/err from the library,
    +interpreter, and non-contributed drivers; moves the ersatz definitions of
    +stdin/out/err to a new header file. (doc/News.htm [1.36]: 2000/04/20
    +23:30:22 lpd)
    +
    +Reduces the startup time for displaying PDF files, by skipping the creation
    +of pdfmarks for annotations and outlines when the output device doesn't
    +process pdfmarks. (doc/News.htm [1.38]: 2000/04/21 16:58:28 lpd)
    +
    +Notes that even if SHARE_JPEG=1, the IJG library sources are required.
    +(doc/Make.htm [1.12]: 2000/04/27 07:39:05 lpd)
    +
    +Documents the new -dPrinted[=true/false] switch for PDF files.
    +(doc/Use.htm [1.3]: 2000/04/27 08:17:05 lpd)
    +
    +Adds a MD5Encode filter, which computes the 16-byte MD5 digest of the input.
    +No output is produced until the filter is closed. (doc/Language.htm [1.2]:
    +2000/04/27 14:39:57 lpd)
    +
    +Updates the description of the project to produce higher-level PCL output.
    +(doc/Projects.htm [1.7]: 2000/04/28 10:42:02 lpd)
    +
    +Adds a sample file containing a wide variety of PDF annotations; updates
    +documentation for this and some other overlooked files.
    +(doc/Psfiles.htm [1.4]: 2000/04/28 10:51:02 lpd)
    +
    +Notes that the uniprint dnj750c.upp parameters are also good for the 450C.
    +(doc/Devices.htm [1.6]: 2000/04/28 14:27:02 lpd)
    +
    +Updates release dates. (man/pdf2ps.1 [1.3], man/ps2ps.1 [1.5]: 2000/04/28
    +18:29:32 lpd)
    +
    +Updates version numbers and dates for the 6.21 fileset.
    +(doc/Bug-form.htm [1.6], doc/Devices.htm [1.7], doc/Fonts.htm [1.4],
    +doc/Language.htm [1.3], doc/Make.htm [1.13], doc/Projects.htm [1.8],
    +doc/Ps2epsi.htm [1.2], doc/Psfiles.htm [1.5], doc/Readme.htm [1.7],
    +doc/Use.htm [1.4]: 2000/04/28 22:06:25 lpd)
    +
    +Updates the news for the 6.21 fileset. (doc/News.htm [1.39]: 2000/04/28
    +22:18:16 lpd)
    +
    +

    Procedures

    +
    +Fixes problems:
    +	- Some makefile macros were used before being defined.
    +(devs.mak [1.9], lib.mak [1.9]: 2000/04/07 16:02:03 lpd)
    +	- `make install-data' didn't install lib/gs_frsd.ps or
    +lib/pdfopt.ps. (unixinst.mak [1.7]: 2000/04/07 19:17:48 lpd)
    +	- gsmake would get into a loop if the makefile was not a symbolic
    +link; `gsmake check' didn't accept a makefile name on the command line.
    +(toolbin/gsmake.tcl [1.2]: 2000/04/07 19:37:21 lpd)
    +	- `makemaster' referred to an undefined variable. (How could it ever
    +have worked?) (toolbin/makeset.tcl [1.3]: 2000/04/07 19:39:27 lpd)
    +	- A dependency wasn't updated when moving the gdevpsf* rules from
    +devs.mak to lib.mak. (lib.mak [1.10]: 2000/04/07 19:40:25 lpd)
    +	- The dependencies in the makefile weren't updated for the pdfwrite
    +font embedding overhaul. (devs.mak [1.11]: 2000/04/10 18:57:33 lpd)
    +	- Once again, the dependencies hadn't been updated. (int.mak [1.17]:
    +2000/04/11 15:59:42 lpd)
    +	- Setting pdfwrite parameters for a DCTEncode filter could cause a
    +crash (memory fault). (devs.mak [1.16]: 2000/04/13 01:53:07 lpd)
    +	- `make install' didn't install all the documentation files.
    +(unixinst.mak [1.9]: 2000/04/14 04:06:13 lpd)
    +	- The Color LaserJet 5 drivers were incorrectly identified as
    +"supported" rather than "contributed". (contrib.mak [1.7], devs.mak [1.17]:
    +2000/04/20 17:12:54 lpd)
    +	- PDF images with a bitmap Mask caused errors or produced incorrect
    +output. (int.mak [1.20]: 2000/04/24 00:59:04 lpd)
    +
    +Completely redesigns the representation of CMaps, to reduce space
    +requirements and make comparing them more reasonable, changing gs_cmap to
    +gs_cmap_t and gx_code_map to gx_code_map_t. (****** NOTE ****** The
    +PostScript code currently only handles a few well-behaved CMap structures.)
    +(int.mak [1.16]: 2000/04/08 03:54:38 lpd)
    +
    +Updates version #s to 6.21. (We should have done this earlier.)
    +(version.mak [1.12]: 2000/04/10 04:46:36 lpd)
    +
    +Overhauls font embedding in the PDF writer: splits off the code into a new
    +file (gdevpdfe.c), writes embedded Type 1 fonts as Type 1C (CFF Type 2), and
    +adds a little bit of code for future support of Type 0 and CID-keyed fonts.
    +(devs.mak [1.10]: 2000/04/10 07:48:37 lpd)
    +
    +Adds Function-based tint_transform procedures for Separation and DeviceN
    +color spaces. (lib.mak [1.11]: 2000/04/10 19:02:19 lpd)
    +
    +Factors out code for writing functions and for adding filter-related entries
    +to a stream dictionary; implements the DefaultRenderingIntent distiller
    +parameter. (devs.mak [1.12]: 2000/04/11 16:06:57 lpd)
    +
    +Implements additional distiller parameters: PreserveHalftoneInfo,
    +PreserveOverprintSetting, TransferFunctionInfo (except for Apply vs.
    +Remove), UCRandBGInfo. Splits off graphics state management into separate
    +files. Implements the remaining graphics state parameters (halftone,
    +transfer function, black generation, undercolor removal, halftone phase,
    +smoothness, overprint, stroke adjustment) ****** EXCEPT FOR IMAGES ******.
    +In anticipation of handling more general colors, renames pdf_set_color as
    +pdf_set_pure_color, and adds pdf_set_drawing_color. (devs.mak [1.13]:
    +2000/04/11 18:31:32 lpd)
    +
    +Splits off creation and writing of color spaces, and writing color values,
    +into a separate file. Adds support for (Function-based) Separation and
    +DeviceN color spaces, general Pattern color spaces, and procedure-based
    +Indexed color spaces. Adds some code to support Pattern colors, but stubs it
    +out because it depends on changes in the image writing code that haven't
    +been integrated yet. In fact, most of the new code isn't called yet, either.
    +(devs.mak [1.14]: 2000/04/11 19:10:13 lpd)
    +
    +In pdfwrite, rewrites the image writing code to use Cos objects rather than
    +direct printing, and splits off the creation of image dictionaries into a
    +new file; adds support for tiling with uncolored Patterns; implements
    +converting ImageType 4 images to their PDF 1.3 counterpart; starts to do the
    +same for ImageType 3. This code is "in progress" and likely to have problems
    +for a while. (devs.mak [1.15]: 2000/04/12 18:44:35 lpd)
    +
    +Adds user-contributed uniprint parameter files for the Canon BJC-8200,
    +including an addition for the Red Hat printer data base.
    +(unixinst.mak [1.8]: 2000/04/14 03:59:57 lpd)
    +
    +Adds code to write out CMaps, similar to the code for writing fonts, for
    +eventual embedding in PDF output. (int.mak [1.18], lib.mak [1.12]:
    +2000/04/14 07:17:24 lpd)
    +
    +Completes code for reading and writing CMaps. (int.mak [1.19],
    +lib.mak [1.13]: 2000/04/16 03:05:29 lpd)
    +
    +Adds a user-contributed driver for the Epson Stylus (Color) Photo printers.
    +(contrib.mak [1.6]: 2000/04/18 06:34:26 lpd)
    +
    +Converts the ps2epsi documentation to HTML. (unixinst.mak [1.10]: 2000/04/18
    +17:59:13 lpd)
    +
    +Checks in the accumulated change log. (version.mak [1.13]: 2000/04/20
    +07:24:22 lpd)
    +
    +Converts the bmp* and bmpa* devices to -dev2, to make them const.
    +(devs.mak [1.18]: 2000/04/20 17:19:21 lpd)
    +
    +Removes the gp_ procedures for managing screen swapping between console and
    +graphics, which haven't been used for a long time and are no longer useful.
    +(dvx-tail.mak [1.2], lib.mak [1.14], openvms.mak [1.3], openvms.mmk [1.4],
    +os2.mak [1.5], unix-aux.mak [1.2], watc.mak [1.3], watclib.mak [1.3],
    +winlib.mak [1.2]: 2000/04/20 22:47:35 lpd)
    +
    +Removes all remaining direct references to stdin/out/err from the library,
    +interpreter, and non-contributed drivers; moves the ersatz definitions of
    +stdin/out/err to a new header file. (lib.mak [1.15], unix-gcc.mak [1.5]:
    +2000/04/20 23:30:22 lpd)
    +
    +Adds compression for pdfwrite Patterns. (devs.mak [1.19]: 2000/04/24
    +06:13:02 lpd)
    +
    +Adds a MD5Encode filter, which computes the 16-byte MD5 digest of the input.
    +No output is produced until the filter is closed. (devs.mak [1.20],
    +int.mak [1.21], lib.mak [1.16]: 2000/04/27 14:39:57 lpd)
    +
    +Adds a user-contributed driver for the H-P 970Cxi inkjet printer.
    +(contrib.mak [1.8]: 2000/04/27 14:55:56 lpd)
    +
    +Factors the H-P monochrome laser and inkjet drivers into a generic driver
    +and printer-specific clients. (devs.mak [1.21]: 2000/04/27 20:16:33 lpd)
    +
    +Adds a user-contributed driver for the Brother HL-1250 laser printer. This
    +has a dual AFPL/GPL license, and a non-Aladdin copyright.
    +(contrib.mak [1.9]: 2000/04/27 20:18:39 lpd)
    +
    +Once again, updates some dependency lists that had become inconsistent with
    +the code. (contrib.mak [1.10], devs.mak [1.22], lib.mak [1.17]: 2000/04/27
    +21:36:19 lpd)
    +
    +Yet again, updates an out-of-date dependency list. (contrib.mak [1.11]:
    +2000/04/28 18:28:42 lpd)
    +
    +Changes the check for documentation files having the correct embedded date.
    +(toolbin/pre [1.3]: 2000/04/28 18:29:14 lpd)
    +
    +Updates version numbers and dates for the 6.21 fileset. (version.mak [1.14]:
    +2000/04/28 22:06:26 lpd)
    +
    +

    Utilities

    +
    +Fixes problems:
    +	- The e-mail address for reporting problems was out of date.
    +(lib/ps2epsi.ps [1.2]: 2000/04/10 02:27:21 lpd)
    +	- If a font didn't have a FontName (which is the case for bitmap
    +fonts produced by recent versions of dvips), ps2epsi caused an error.
    +(lib/ps2epsi.ps [1.3]: 2000/04/11 16:32:51 lpd)
    +	- Backs out contributed changes of 2000-03-05 because of bugs.
    +(ansi2knr.c [1.3]: 2000/04/13 03:41:48 lpd)
    +	- ps2epsi removed all ^M characters in the input, possibly
    +corrupting binary data. (lib/ps2epsi [1.2]: 2000/04/27 01:44:04 lpd)
    +
    +Makes the ps2pdf scripts replace a .eps extension with .pdf, as they do with
    +.ps. (lib/ps2pdfwr [1.2], lib/ps2pdfxx.bat [1.2]: 2000/04/07 19:28:14 lpd)
    +
    +Enhances pdf2ps to allow defaulting the output file name. (lib/pdf2ps [1.2]:
    +2000/04/11 14:23:24 lpd)
    +
    +Makes the second argument of the pfbtopfa script optional, so 'pfbtopfa
    +dir/x.pfb' is equivalent to 'pfbtopfa dir/x.pfb x.pfa'. (lib/pfbtopfa [1.2]:
    +2000/04/12 17:41:41 lpd)
    +
    +Adds user-contributed uniprint parameter files for the Canon BJC-8200,
    +including an addition for the Red Hat printer data base. (lib/bj8.rpd [1.1]:
    +2000/04/14 03:59:57 lpd)
    +
    +Increases the VMThreshold when converting PostScript to PDF, to reduce
    +garbage collection overhead. (lib/ps2pdfwr [1.3]: 2000/04/17 19:06:58 lpd)
    +
    +Moves the optimization prologue for ps2pdf from the command line to a
    +procedure, to avoid shell length limits. (lib/ps2pdfwr [1.4],
    +lib/ps2pdfxx.bat [1.3]: 2000/04/18 16:40:14 lpd)
    +
    +Removes the gp_ procedures for managing screen swapping between console and
    +graphics, which haven't been used for a long time and are no longer useful.
    +(bench.c [1.2], gp_dosfb.c [1.2], gp_iwatc.c [1.2], gp_nofb.c [1.2]:
    +2000/04/20 22:47:35 lpd)
    +
    +Checks in a file overlooked in the elimination of the gp_ console
    +procedures. (gp_os2.c [1.2]: 2000/04/20 23:27:21 lpd)
    +
    +

    Drivers

    +
    +Fixes problems:
    +	- The pdfwrite driver sometimes compressed images in an Indexed
    +color space with the DCTEncode filter, producing garbage. (gdevpsdi.c [1.4]:
    +2000/04/12 19:25:56 lpd)
    +	- Setting pdfwrite parameters for a DCTEncode filter could cause a
    +crash (memory fault). (gdevpsdf.h [1.7], gdevpsdi.c [1.5], gdevpsdp.c [1.4],
    +gdevpsdu.c [1.2]: 2000/04/13 01:53:07 lpd)
    +	- Compressing with DCTEncode tried to add the compression filter
    +twice. (gdevpsdi.c [1.6]: 2000/04/13 04:52:38 lpd)
    +	- The PDF writer could get an ioerror when downsampling images whose
    +size wasn't an exact multiple of the downsampling factor. (gdevpsdi.c [1.7],
    +gdevpsds.c [1.2], gdevpsds.h [1.2]: 2000/04/13 16:44:59 lpd)
    +	- Downsampled mask images could cause a memory access error.
    +(gdevpsdi.c [1.9]: 2000/04/18 16:37:04 lpd)
    +	- PDF Patterns weren't written correctly if the ProcessColorModel
    +wasn't Device RGB. (gdevpsdu.c [1.3]: 2000/04/24 05:40:30 lpd)
    +	- The [e]pswrite driver produced incorrect output for color images
    +with multiple data sources. (gdevps.c [1.5]: 2000/04/25 19:35:07 lpd)
    +
    +Implements pdfwrite compression for mask images, using the same parameters
    +as for monochrome images. (gdevpsdi.c [1.8]: 2000/04/13 18:40:23 lpd)
    +
    +Adds user-contributed uniprint parameter files for the Canon BJC-8200,
    +including an addition for the Red Hat printer data base.
    +(lib/bj8gc12f.upp [1.1], lib/bj8hg12f.upp [1.1], lib/bj8oh06n.upp [1.1],
    +lib/bj8pa06n.upp [1.1], lib/bj8pp12f.upp [1.1], lib/bj8ts06n.upp [1.1]:
    +2000/04/14 03:59:57 lpd)
    +
    +Adds a user-contributed driver for the Epson Stylus (Color) Photo printers.
    +(gdevphex.c [1.1]: 2000/04/18 06:34:26 lpd)
    +
    +Converts the bmp* and bmpa* devices to -dev2, to make them const.
    +(gdevbmp.c [1.2], gdevbmpa.c [1.2]: 2000/04/20 17:19:21 lpd)
    +
    +Documents the astounding fact that the Xt implementation actually writes
    +into the XtResource tables. (gdevxres.c [1.2]: 2000/04/20 19:59:28 lpd)
    +
    +Removes all remaining direct references to stdin/out/err from the library,
    +interpreter, and non-contributed drivers; moves the ersatz definitions of
    +stdin/out/err to a new header file. (gdevxxf.c [1.3]: 2000/04/20 23:30:22
    +lpd)
    +
    +When writing PDF output, reduces the size of compressed images in Indexed
    +color spaces by not using a Predictor for them. (gdevpsdi.c [1.10]:
    +2000/04/21 06:46:08 lpd)
    +
    +Adds an internal filter for converting images to Indexed form if possible.
    +(gdevpsds.c [1.3], gdevpsds.h [1.3]: 2000/04/21 19:26:37 lpd)
    +
    +Cleans up code by replacing macros with procedures or variables.
    +(gdevps.c [1.6]: 2000/04/25 20:35:46 lpd)
    +
    +Makes the [e]pswrite and pdfwrite drivers merge adjacent horizontal or
    +vertical line segments going in the same direction. This makes a big
    +difference for PostScript files produced by certain applications.
    +(gdevps.c [1.7]: 2000/04/25 22:39:54 lpd)
    +
    +Adds a user-contributed driver for the H-P 970Cxi inkjet printer.
    +(gdevdj9.c [1.1]: 2000/04/27 14:55:56 lpd)
    +
    +Factors the H-P monochrome laser and inkjet drivers into a generic driver
    +and printer-specific clients. (gdevdjet.c [1.3], gdevdljm.c [1.1],
    +gdevdljm.h [1.1]: 2000/04/27 20:16:33 lpd)
    +
    +Adds a user-contributed driver for the Brother HL-1250 laser printer. This
    +has a dual AFPL/GPL license, and a non-Aladdin copyright. (gdevhl12.c [1.1]:
    +2000/04/27 20:18:39 lpd)
    +
    +Once again, updates some dependency lists that had become inconsistent with
    +the code. (gdevdj9.c [1.2]: 2000/04/27 21:36:19 lpd)
    +
    +Makes the printers in gdevdjet.c that support setting the number of copies
    +use this feature when multiple copies are requested. (gdevdjet.c [1.4],
    +gdevdljm.c [1.2], gdevdljm.h [1.2]: 2000/04/28 13:37:47 lpd)
    +
    +

    PDF writer

    +
    +Fixes problems:
    +	- The Cos objects of resources not shared between pages weren't
    +freed at the end of each page. (gdevpdf.c [1.9]: 2000/04/10 04:17:56 lpd)
    +	- gdevpdfe.c was omitted from the check-in for the overhaul of
    +pdfwrite font embedding. (gdevpdfe.c [1.1]: 2000/04/10 16:01:29 lpd)
    +	- pdfwrite output could contain commands to set the line width to a
    +negative value, which PostScript allows but PDF doesn't. (gdevpdfd.c [1.6]:
    +2000/04/12 19:51:14 lpd)
    +	- The changes for the new color handling code caused stroked
    +graphics not to output the line width. (new bug since 6.20)
    +(gdevpdfd.c [1.7]: 2000/04/13 03:47:21 lpd)
    +	- Pattern resources were written with incorrectly scaled XStep and
    +YStep, and without a Type entry. (gdevpdfc.c [1.3], gdevpdfi.c [1.10]:
    +2000/04/13 04:12:33 lpd)
    +	- The PDF writer could get an ioerror when downsampling images whose
    +size wasn't an exact multiple of the downsampling factor.
    +(gdevpdfi.c [1.11]: 2000/04/13 16:44:59 lpd)
    +	- Bitmapped characters weren't written properly on the output file
    +(new bug since 6.20). (gdevpdfg.h [1.4], gdevpdfi.c [1.12],
    +gdevpdfj.c [1.2]: 2000/04/13 17:24:54 lpd)
    +	- gxdcolor.h was required for gxpcolor.h, but wasn't included.
    +(gdevpdfc.c [1.4]: 2000/04/18 17:42:55 lpd)
    +	- A table of constant strings wasn't declared as const.
    +(gdevpdfp.c [1.7]: 2000/04/20 17:37:31 lpd)
    +	- When pdfwrite was producing PDF 1.3 output, the base 14 fonts were
    +never embedded, rather than being handled like all other fonts.
    +(gdevpdff.c [1.4]: 2000/04/20 23:49:40 lpd)
    +	- Indexed color spaces used in in-line images were being written
    +incorrectly. Also optimizes Indexed images by converting RGB palettes to
    +Gray if all the entries are actually gray. (gdevpdfc.c [1.5]: 2000/04/21
    +15:29:20 lpd)
    +	- The recent optimization for using the ' command in PDF output lost
    +track of the leading value between blocks of text, causing lines in later
    +blocks to overprint each other. (gdevpdfu.c [1.9]: 2000/04/21 22:29:05 lpd)
    +	- Backs out the change that allowed embedding of the base 14 fonts,
    +because it produces invalid output. (gdevpdff.c [1.5]: 2000/04/22 00:13:11
    +lpd)
    +	- Colored Patterns requiring masking weren't written properly.
    +(gdevpdfc.c [1.6]: 2000/04/24 00:09:37 lpd)
    +	- Patterns were written upside-down. (gdevpdfc.c [1.7]: 2000/04/24
    +01:11:36 lpd)
    +	- PDF Patterns weren't written correctly if the ProcessColorModel
    +wasn't Device RGB. (gdevpdf.c [1.15], gdevpdfc.c [1.8], gdevpdfg.h [1.5],
    +gdevpdfi.c [1.13], gdevpdfx.h [1.15]: 2000/04/24 05:40:30 lpd)
    +	- The color space for images wasn't always written in the correct
    +form (an object reference for image XObjects, a resource name for in-line
    +images). (gdevpdfi.c [1.14]: 2000/04/28 12:07:37 lpd)
    +	- Patterns were sometimes written with a duplicate Type element.
    +(gdevpdfc.c [1.10]: 2000/04/28 12:23:54 lpd)
    +	- Patterns were sometimes written twice, with an empty definition
    +the second time. (gdevpdfi.c [1.15]: 2000/04/28 12:24:42 lpd)
    +
    +Overhauls font embedding in the PDF writer: splits off the code into a new
    +file (gdevpdfe.c), writes embedded Type 1 fonts as Type 1C (CFF Type 2), and
    +adds a little bit of code for future support of Type 0 and CID-keyed fonts.
    +(gdevpdff.c [1.3], gdevpdff.h [1.2], gdevpdft.c [1.6], gdevpdfw.c [1.3]:
    +2000/04/10 07:48:37 lpd)
    +
    +Factors out code for writing functions and for adding filter-related entries
    +to a stream dictionary; implements the DefaultRenderingIntent distiller
    +parameter. (gdevpdf.c [1.10], gdevpdfu.c [1.6], gdevpdfx.h [1.8]: 2000/04/11
    +16:06:57 lpd)
    +
    +Adds ExtGState resources. These should be written and freed at the end of
    +each page, but they aren't yet. (gdevpdfx.h [1.9]: 2000/04/11 16:38:14 lpd)
    +
    +Implements additional distiller parameters: PreserveHalftoneInfo,
    +PreserveOverprintSetting, TransferFunctionInfo (except for Apply vs.
    +Remove), UCRandBGInfo. Splits off graphics state management into separate
    +files. Implements the remaining graphics state parameters (halftone,
    +transfer function, black generation, undercolor removal, halftone phase,
    +smoothness, overprint, stroke adjustment) ****** EXCEPT FOR IMAGES ******.
    +In anticipation of handling more general colors, renames pdf_set_color as
    +pdf_set_pure_color, and adds pdf_set_drawing_color. (gdevpdf.c [1.11],
    +gdevpdfd.c [1.4], gdevpdfg.c [1.1], gdevpdfg.h [1.1], gdevpdfi.c [1.8],
    +gdevpdft.c [1.7], gdevpdfu.c [1.7], gdevpdfx.h [1.10]: 2000/04/11 18:31:32
    +lpd)
    +
    +Splits off creation and writing of color spaces, and writing color values,
    +into a separate file. Adds support for (Function-based) Separation and
    +DeviceN color spaces, general Pattern color spaces, and procedure-based
    +Indexed color spaces. Adds some code to support Pattern colors, but stubs it
    +out because it depends on changes in the image writing code that haven't
    +been integrated yet. In fact, most of the new code isn't called yet, either.
    +(gdevpdf.c [1.12], gdevpdfc.c [1.1], gdevpdfd.c [1.5], gdevpdfg.c [1.2],
    +gdevpdfg.h [1.2], gdevpdft.c [1.8], gdevpdfx.h [1.11]: 2000/04/11 19:10:13
    +lpd)
    +
    +Integrates a couple of minor overlooked changes in the text-writing code.
    +(gdevpdf.c [1.13], gdevpdft.c [1.9], gdevpdfx.h [1.12]: 2000/04/11 19:20:56
    +lpd)
    +
    +In pdfwrite, rewrites the image writing code to use Cos objects rather than
    +direct printing, and splits off the creation of image dictionaries into a
    +new file; adds support for tiling with uncolored Patterns; implements
    +converting ImageType 4 images to their PDF 1.3 counterpart; starts to do the
    +same for ImageType 3. This code is "in progress" and likely to have problems
    +for a while. (gdevpdf.c [1.14], gdevpdfc.c [1.2], gdevpdfg.c [1.3],
    +gdevpdfg.h [1.3], gdevpdfi.c [1.9], gdevpdfj.c [1.1], gdevpdfx.h [1.13]:
    +2000/04/12 18:44:35 lpd)
    +
    +Tweaks the PDF writer to use the ' command for positioning text when
    +possible (small optimization only). (gdevpdfg.c [1.4], gdevpdft.c [1.10],
    +gdevpdfu.c [1.8], gdevpdfx.h [1.14]: 2000/04/18 16:08:16 lpd)
    +
    +Reduces the startup time for displaying PDF files, by skipping the creation
    +of pdfmarks for annotations and outlines when the output device doesn't
    +process pdfmarks. (gdevpdfp.c [1.8]: 2000/04/21 16:58:28 lpd)
    +
    +Adds compression for pdfwrite Patterns. (gdevpdfc.c [1.9]: 2000/04/24
    +06:13:02 lpd)
    +
    +Makes the [e]pswrite and pdfwrite drivers merge adjacent horizontal or
    +vertical line segments going in the same direction. This makes a big
    +difference for PostScript files produced by certain applications.
    +(gdevpdf.c [1.16], gdevpdfd.c [1.8]: 2000/04/25 22:39:54 lpd)
    +
    +Updates the list of remaining pdfwrite tasks. (gdevpdfp.c [1.9]: 2000/04/27
    +21:36:52 lpd)
    +
    +

    Interpreter (PDF)

    +
    +Fixes problems:
    +	- Embedded subset CFF fonts in PDF files were defined using the name
    +in the font data rather than the font name in the PDF resource object. (bug
    +#102901) (lib/pdf_ops.ps [1.5]: 2000/04/11 05:33:13 lpd)
    +	- When processing a PDF file, the font substitution heuristic based
    +on the FontName sometimes overrode the Flags information in the
    +FontDescriptor. (lib/pdf_font.ps [1.6]: 2000/04/20 06:36:02 lpd)
    +	- PDF images with a bitmap Mask caused errors or produced incorrect
    +output. (lib/pdf_draw.ps [1.10]: 2000/04/24 00:59:04 lpd)
    +	- Masked images weren't drawn properly, because the two data sources
    +could reference the same file. (lib/pdf_draw.ps [1.11]: 2000/04/24 05:39:45
    +lpd)
    +	- *Really* fixes the problem of data source aliasing for masked
    +images. (lib/pdf_draw.ps [1.12]: 2000/04/24 05:53:43 lpd)
    +	- If a font specified Subtype = /TrueType but the actual font used
    +was not a TrueType font, any Encoding in the Font object should be ignored.
    +(This is a hack required by the PDF specification.) (lib/pdf_font.ps [1.7]:
    +2000/04/24 06:37:18 lpd)
    +	- Colored annotation borders caused an error; 0-width borders were
    +drawn even though they shouldn't be; Link and Stamp annotations weren't
    +drawn at all. Also adds a new -dPrinted[=true/false] switch to choose
    +whether to produce "screen" or "printer" output. (code from Artifex)
    +(lib/pdf_draw.ps [1.13], lib/pdf_main.ps [1.7]: 2000/04/27 08:16:40 lpd)
    +
    +Makes undefined XObject resources for the Do operator produce a warning
    +rather than an error, to parallel Acrobat Reader. (lib/pdf_draw.ps [1.9]:
    +2000/04/16 07:48:23 lpd)
    +
    +Tweaks up the performance of the PDF interpreter loop slightly.
    +(lib/pdf_base.ps [1.7]: 2000/04/18 05:45:49 lpd)
    +
    +Reduces the startup time for displaying PDF files, by skipping the creation
    +of pdfmarks for annotations and outlines when the output device doesn't
    +process pdfmarks. (lib/pdf_main.ps [1.6]: 2000/04/21 16:58:28 lpd)
    +
    +

    Interpreter

    +
    +Fixes problems:
    +	- Fixes some signed/unsigned char * mismatches. (zfrsd.c [1.3]:
    +2000/04/07 15:27:14 lpd)
    +	- Automatic loading of fonts from resource files didn't work
    +(usually caused an unmatchedmark or typecheck error).
    +(lib/gs_fonts.ps [1.5], lib/gs_res.ps [1.9]: 2000/04/08 03:45:41 lpd)
    +	- A -> should have been a . (only shows up on 64-bit systems).
    +(zfunc4.c [1.3]: 2000/04/09 20:04:00 lpd)
    +	- the most recent 'fixes' for loading font resources caused all
    +built-in fonts to be returned as null. (lib/gs_res.ps [1.10]: 2000/04/09
    +22:51:01 lpd)
    +	- /Category defineresource didn't make the category definition
    +dictionary read-only. (lib/gs_res.ps [1.11]: 2000/04/10 18:29:04 lpd)
    +	- Attempting to build an invalid FunctionType 4 function could cause
    +a memory access error. (zfunc4.c [1.4]: 2000/04/10 19:38:53 lpd)
    +	- Embedded subset CFF fonts in PDF files were defined using the name
    +in the font data rather than the font name in the PDF resource object. (bug
    +#102901) (lib/gs_cff.ps [1.4]: 2000/04/11 05:33:13 lpd)
    +	- CMaps with more than one code space range weren't converted to the
    +internal form correctly; begincidchar and beginnotdefchar caused errors.
    +(lib/gs_cmap.ps [1.3], zfcmap.c [1.6]: 2000/04/14 07:53:10 lpd)
    +	- flushfile and closefile didn't properly flush streams whose final
    +target was a procedure, and closefile didn't actually close them. (This is a
    +very old bug.) (zfproc.c [1.2]: 2000/04/18 05:50:15 lpd)
    +	- CIDFontType 0 CIDFonts in which some FDArray element had no Subrs
    +caused an error. (lib/gs_cidfn.ps [1.14]: 2000/04/18 05:58:08 lpd)
    +	- Attempting to set a PageSize with 4 elements actually set the
    +PageSize (to the first 2 elements), rather than ignoring the attempt. (This
    +is just a patch to prevent some PageMaker files from being thrown off by the
    +4-element PageSizes in Input Attributes.) (lib/gs_setpd.ps [1.2]: 2000/04/19
    +06:01:19 lpd)
    +	- When choosing a substituted font, 'Serif' had priority over
    +'Sans', so unknown fonts with 'SansSerif' in their name would have a serif
    +font substituted. (lib/gs_fonts.ps [1.6]: 2000/04/19 13:48:48 lpd)
    +	- The fix to make setpagedevice ignore 4-element PageSizes in
    +InputAttributes was broken. (It's impossible that it could ever have worked,
    +despite the fact that we tested it.) (lib/gs_setpd.ps [1.3]: 2000/04/20
    +06:24:39 lpd)
    +	- When processing a PDF file, the font substitution heuristic based
    +on the FontName sometimes overrode the Flags information in the
    +FontDescriptor. (lib/gs_fonts.ps [1.7]: 2000/04/20 06:36:02 lpd)
    +	- Showing a string in a Type 1 font with a singular combined matrix
    +(e.g., after 0 scalefont setfont) caused an error instead of doing nothing.
    +(zchar1.c [1.3]: 2000/04/22 00:34:46 lpd)
    +	- Images with multiple file DataSources where two or more of the
    +files were the same caused a crash. (zimage.c [1.3]: 2000/04/24 00:07:41
    +lpd)
    +	- .reusablestreamdecode wasn't defined for use in LanguageLevel 2.
    +(The ReusableStreamDecode filter itself was properly defined.)
    +(lib/gs_frsd.ps [1.3]: 2000/04/24 00:45:38 lpd)
    +	- Loading an unknown font gave a spurious "non-string font name"
    +message; unknown fonts with names containing style strings like Bold or
    +Italic caused an error. (bug introduced since 6.20) (lib/gs_fonts.ps [1.8]:
    +2000/04/28 22:03:58 lpd)
    +
    +Adds a workaround for misnamed glyphs in some Microsoft TrueType font 'post'
    +tables. (lib/gs_mgl_e.ps [1.2], lib/gs_ttf.ps [1.4]: 2000/04/08 01:53:16
    +lpd)
    +
    +Completely redesigns the representation of CMaps, to reduce space
    +requirements and make comparing them more reasonable, changing gs_cmap to
    +gs_cmap_t and gx_code_map to gx_code_map_t. (****** NOTE ****** The
    +PostScript code currently only handles a few well-behaved CMap structures.)
    +(lib/gs_cmap.ps [1.2], zfcmap.c [1.4], zfont0.c [1.2]: 2000/04/08 03:54:38
    +lpd)
    +
    +Updates version #s to 6.21. (We should have done this earlier.)
    +(lib/gs_init.ps [1.7]: 2000/04/10 04:46:36 lpd)
    +
    +Makes Separation and DeviceN color spaces detect that their tint transform
    +procedure is a Function, and call it rather than using its cached values.
    +(zcsdevn.c [1.2], zcssepr.c [1.3]: 2000/04/10 19:39:44 lpd)
    +
    +Adds code to write out CMaps, similar to the code for writing fonts, for
    +eventual embedding in PDF output. (zfcmap.c [1.5]: 2000/04/14 07:17:24 lpd)
    +
    +Completes code for reading and writing CMaps. (lib/gs_cmap.ps [1.4],
    +zfcmap.c [1.7]: 2000/04/16 03:05:29 lpd)
    +
    +Works around a bug in the AdobePS5 Windows driver, which emits CMaps lacking
    +the required CMapName entry. (lib/gs_cidfn.ps [1.15], lib/gs_cmap.ps [1.5]:
    +2000/04/18 07:18:42 lpd)
    +
    +Moves the optimization prologue for ps2pdf from the command line to a
    +procedure, to avoid shell length limits. (lib/gs_pdfwr.ps [1.3]: 2000/04/18
    +16:40:14 lpd)
    +
    +Removes all remaining direct references to stdin/out/err from the library,
    +interpreter, and non-contributed drivers; moves the ersatz definitions of
    +stdin/out/err to a new header file. (imainarg.c [1.2]: 2000/04/20 23:30:22
    +lpd)
    +
    +Speeds up Type 1 font loading slightly by removing a conversion from binary
    +to hex and back again. (zmisc1.c [1.2]: 2000/04/22 16:03:18 lpd)
    +
    +Adds a MD5Encode filter, which computes the 16-byte MD5 digest of the input.
    +No output is produced until the filter is closed. (zfmd5.c [1.1]: 2000/04/27
    +14:39:57 lpd)
    +
    +Adds a sample file containing a wide variety of PDF annotations; updates
    +documentation for this and some other overlooked files.
    +(examples/annots.pdf [1.1]: 2000/04/28 10:51:02 lpd)
    +
    +

    Streams

    +
    +Fixes problems:
    +	- FILE_IMPLEMENTATION=both was broken (by the introduction of
    +sread_subfile). (sfxfd.c [1.3]: 2000/04/10 02:41:48 lpd)
    +	- flushfile and closefile didn't properly flush streams whose final
    +target was a procedure, and closefile didn't actually close them. (This is a
    +very old bug.) (stream.c [1.6]: 2000/04/18 05:50:15 lpd)
    +	- The PixelDifference filters (Predictor = 2) weren't implemented
    +for Colors > 4 and BitsPerComponent != 8, and they dropped trailing bytes if
    +the length of the data wasn't an exact multiple of the pixel size.
    +(spdiff.c [1.2]: 2000/04/22 03:55:22 lpd)
    +
    +Enhances the ASCII85Encode filter to avoid %! at the beginning of a line of
    +output, in addition to avoiding %% which it did already. (sa85x.h [1.2],
    +sfilter2.c [1.2]: 2000/04/08 01:30:36 lpd)
    +
    +Removes all remaining direct references to stdin/out/err from the library,
    +interpreter, and non-contributed drivers; moves the ersatz definitions of
    +stdin/out/err to a new header file. (std.h [1.2]: 2000/04/20 23:30:22 lpd)
    +
    +Speeds up Type 1 font loading slightly by removing a conversion from binary
    +to hex and back again. (seexec.c [1.2], sfilter.h [1.5]: 2000/04/22 16:03:18
    +lpd)
    +
    +Adds a MD5Encode filter, which computes the 16-byte MD5 digest of the input.
    +No output is produced until the filter is closed. (smd5.c [1.1],
    +smd5.h [1.1]: 2000/04/27 14:39:57 lpd)
    +
    +

    Library

    +
    +Fixes problems:
    +	- Fixes some signed/unsigned char * mismatches. (gdevpsf2.c [1.5]:
    +2000/04/07 15:27:14 lpd)
    +	- Writing a Type 2 CFF with multiply-encoded glyphs produced an
    +incorrect Encoding. Also, when producing output for PDF 1.2 files, no longer
    +emits certain opcodes that cause an (unjustified) error in Acrobat Reader 3
    +for GNU/Linux. (gdevpsf.h [1.3], gdevpsf2.c [1.6]: 2000/04/10 07:42:31 lpd)
    +	- gsmisc.c didn't compile in DEBUG mode on systems with a
    +non-standard prototype for the sqrt function. (gsmisc.c [1.3]: 2000/04/10
    +16:00:31 lpd)
    +	- One picky compiler complained about (1L << 31). (gsmisc.c [1.4]:
    +2000/04/10 17:21:41 lpd)
    +	- putdeviceparams allowed a PageSize or .MediaSize value with the
    +wrong number of elements to take effect. (gsdparam.c [1.2]: 2000/04/19
    +05:59:05 lpd)
    +	- The elimination of stdin/out/err also eliminated some #defines
    +that are needed for error printout. (gsio.h [1.3]: 2000/04/21 06:39:17 lpd)
    +	- The structure descriptor for ImageType 3 images was public rather
    +than private. (gsiparm3.h [1.3], gximage3.c [1.2]: 2000/04/22 07:02:18 lpd)
    +	- The "point matching" feature of TrueType composite glyphs wasn't
    +implemented, causing some composite (accented) characters to have their
    +accents misplaced. (gstype42.c [1.4]: 2000/04/25 07:22:50 lpd)
    +
    +Completely redesigns the representation of CMaps, to reduce space
    +requirements and make comparing them more reasonable, changing gs_cmap to
    +gs_cmap_t and gx_code_map to gx_code_map_t. (****** NOTE ****** The
    +PostScript code currently only handles a few well-behaved CMap structures.)
    +(gsfcmap.c [1.4], gsfcmap.h [1.2], gxfcmap.h [1.3], gxfont0.h [1.2]:
    +2000/04/08 03:54:38 lpd)
    +
    +Adds Function-based tint_transform procedures for Separation and DeviceN
    +color spaces. (gscdevn.c [1.3], gscdevn.h [1.2], gscsepr.c [1.3],
    +gscsepr.h [1.2]: 2000/04/10 19:02:19 lpd)
    +
    +Adds code to write out CMaps, similar to the code for writing fonts, for
    +eventual embedding in PDF output. (gdevpsf.h [1.4], gdevpsfm.c [1.1]:
    +2000/04/14 07:17:24 lpd)
    +
    +Completes code for reading and writing CMaps. (gdevpsf.h [1.5],
    +gdevpsfm.c [1.2], gsccode.h [1.3], gsfcid.c [1.3], gsfcmap.c [1.5],
    +gxcid.h [1.2], gxfcmap.h [1.4]: 2000/04/16 03:05:29 lpd)
    +
    +Removes the gp_ procedures for managing screen swapping between console and
    +graphics, which haven't been used for a long time and are no longer useful.
    +(gp.h [1.3]: 2000/04/20 22:47:35 lpd)
    +
    +Removes all remaining direct references to stdin/out/err from the library,
    +interpreter, and non-contributed drivers; moves the ersatz definitions of
    +stdin/out/err to a new header file. (gsdevice.c [1.3], gsio.h [1.2],
    +gsmisc.c [1.5], gxdevice.h [1.2]: 2000/04/20 23:30:22 lpd)
    +
    +Adds an essential new file overlooked in the removal of references to
    +stdin/out/err. (gxstdio.h [1.1]: 2000/04/20 23:50:20 lpd)
    +
    +Makes the [e]pswrite and pdfwrite drivers merge adjacent horizontal or
    +vertical line segments going in the same direction. This makes a big
    +difference for PostScript files produced by certain applications.
    +(gdevvec.c [1.2], gdevvec.h [1.2]: 2000/04/25 22:39:54 lpd)
    +
    +Adds template macros for printer devices that implement print_page_copies
    +rather than print_page. (gdevprn.c [1.2], gdevprn.h [1.3]: 2000/04/28
    +13:36:16 lpd)
    +
    +
    + +

    Version 6.20 (2000-04-06)

    + +

    +This fileset includes the first steps towards bringing the pdfwrite driver +closer to matching Acrobat Distiller 4. Highlights: + +

      + +
    • Reimplementation of CIDFontType 0 support in C rather than PostScript; + +
    • Parsing (but not functional implementation) of nearly all the Acrobat +Distiller 4 parameters; + +
    • Implementation of AutoRotatePages and DCTEncode filtering in the PDF +writer; + +
    • A PDF linearizer ("optimizer"). + +
    + +

    +All problems registered on SourceForge numbered 103963 or lower are closed, +except for the following: 101549, 101814, 101829, 101905, 101955, 102046, +102047, 102132, 102146, 102735, 102901, 103016, 103528, 103963. + +

    +
    +

    Incompatible changes

    + +(Procedures) + - The default value of FPU_TYPE in all Windows and OS/2 makefiles +is now 387 rather than 0. + - The process for reporting problems has changed significantly. +(PDF writer) + - The Cos procedures no longer take the device as an argument, +except for object-creating procedures, which now take the device rather +than an allocator. + - The is_object member of Cos values is replaced by value_type. +Clients must use COS_VALUE_IS_OBJECT() to test whether a value is an object +reference. + - The Cos procedures that take C strings no longer copy the string. + - The argument of cos_write_object is no longer const. +(Drivers) + - The default BufferSpace for printer drivers is now 4 Mb. + - Device halftone order implementations must now provide a new +bit_index procedure. + - The image argument for psdf_setup_image_filters is changed from +gs_image_t to gs_pixel_image_t. + - The font-related psdf_ procedures are renamed psf_. +(Streams) + - The interface to the [T]BCP filters is now in a separate file, +sbcp.h. +(PDF interpreter) + - The internal beginpage procedure is renamed dictbeginpage, and +now takes a dictionary argument. +(Interpreter) + - The argument list for the internal build_gs_TrueType_font +procedure has changed. + - The zcharstring_glyph_outline procedure is renamed +zchar1_glyph_outline. + - The Instances dictionary of resources is renamed .Instances. +(Library) + - ImageType 4 images now give an error if a MaskColor value is out +of the range of possible sample values. + - The definition of gs_param_key_t, the key type returned by +parameter list enumeration, is changed. + - Implementors of parameter lists must now call gs_param_list_init +to initialize the common members. + - st_indexed_map is now private. Clients allocating instances of +this structure must now call alloc_indexed_map. + - Setting a transfer map as the identity mapping now requires +calling gx_set_identity_transfer. + - gs_cid_system_info is renamed gs_cid_system_info_t. + - The get_outline procedure of a Type 42 or Type 11 (CIDFontType 0) +font now returns 1 if the string was newly allocated and can be freed by the +client. + - The procs member of gs_type1_data is now an in-line structure +rather than a pointer to a const structure. + + +

    Documentation

    +
    +Fixes problems:
    +	- If log2_transfer_map_size > 8, identity transfer functions
    +returned garbage. The fix requires that if a client wants to set a transfer
    +function to the identity mapping, it must call gx_set_identity_transfer
    +rather than simply setting the procedure to gs_identity_transfer.
    +(doc/News.htm [1.13]: 2000/03/19 17:14:47 lpd)
    +	- In PDF files, the page CropBox was not being used to clip the
    +output. (doc/News.htm [1.18]: 2000/03/21 23:08:32 lpd)
    +	- Fixes several problems in resourceforall and resource loading: the
    +operands of resourceforall were restored even in the case of an error in the
    +client's procedure; the name Instances had special meaning for some Adobe
    +code; resourceforall caused an invalidaccess error if an operand was in
    +local VM but the current VM was global; loading a resource from a file could
    +cause a typecheck error if the file left values on the operand stack.
    +(doc/News.htm [1.25]: 2000/04/04 22:26:02 lpd)
    +	- The location of the lists of supported and unsupported drivers was
    +incorrect. (doc/Bug-info.htm [1.2]: 2000/04/07 03:01:52 lpd)
    +
    +Undoes an accidental RCS ID substitution in what was supposed to be literal
    +text. (doc/Htmstyle.htm [1.2]: 2000/03/18 22:29:03 lpd)
    +
    +Increments the version number to 6.20, in anticipation of the next release.
    +(We do this at the beginning of the development for a release, not the end.)
    +(doc/History6.htm [1.4], doc/News.htm [1.6]: 2000/03/19 00:27:22 lpd)
    +
    +Splits out the [T]BCP filter interface into a separate file.
    +(doc/News.htm [1.7]: 2000/03/19 02:40:18 lpd)
    +
    +Documents the fact that ImageType 4 images now cause an error for
    +out-of-range MaskColor values. (doc/News.htm [1.8]: 2000/03/19 04:32:09 lpd)
    +
    +Updates the change log with recent changes. (doc/Changes.htm [1.4]:
    +2000/03/19 05:39:58 lpd)
    +
    +Adds a new document listing projects with which we are seeking help. Also
    +makes the description of Changes.htm and News.htm more accurate.
    +(doc/New-user.htm [1.2], doc/Projects.htm [1.1], doc/Readme.htm [1.3]:
    +2000/03/19 06:07:15 lpd)
    +
    +Changes the default value of BufferSpace to 4 Mb. In desktop applications,
    +this is a reasonable value that can substantially improve performance
    +(especially for color printers); embedded applications will want to set
    +BufferSpace themselves in any case. (doc/News.htm [1.9]: 2000/03/19 06:51:13
    +lpd)
    +
    +Changes the key type returned by parameter list enumeration to include a
    +persistence flag, makes C parameter lists support non-persistent keys, and
    +upgrades GC descriptors so that parameter lists can be used non-transiently;
    +updates implementors of parameter lists to call gs_param_list_init to
    +initialize the common members, which is now required. (doc/News.htm [1.10]:
    +2000/03/19 15:16:11 lpd)
    +
    +Documents the fact that drivers that device halftone order implementations
    +must now provide the new bit_index procedure. (This should have been
    +documented when bit_index was introduced!) (doc/News.htm [1.11]: 2000/03/19
    +15:47:47 lpd)
    +
    +Makes st_indexed_map private. Clients must now use the constructor procedure
    +alloc_indexed_map rather than allocating instances directly.
    +(doc/News.htm [1.12]: 2000/03/19 16:37:28 lpd)
    +
    +Update the date and change log for the latest batches of checked-in changes.
    +(doc/Changes.htm [1.5]: 2000/03/19 17:29:57 lpd)
    +
    +Adds a PDF linearizer ("optimizer"). This is a separate utility (not
    +integrated with the pdfwrite driver), written in PostScript.
    +(doc/Psfiles.htm [1.2]: 2000/03/20 04:31:22 lpd)
    +
    +Adds parsing for the remaining Acrobat Distiller 4 parameters. Implements
    +the LockDistillerParams, xxxDownsampleThreshold, xxxImageDict, and
    +xxxACSImageDict distiller parameters. Implements DCTEncode as an
    +xxxImageFilter option (it used to cause a crash). Makes the
    +AutoFilterxxxImages distiller parameters select JPEG encoding (with ACSDict)
    +if the image has 8 bits per component and is not Indexed, and LZW/Flate
    +otherwise: this still isn't right, but it's closer. Implementation changes:
    +Changes the implementation of distiller parameter dictionaries from stream
    +states to parameter lists; changes the test for masks in
    +psdf_setup_image_filters, and changes the image argument from gs_image_t to
    +gs_pixel_image_t. (doc/News.htm [1.14]: 2000/03/20 05:40:04 lpd)
    +
    +Moves font-writing support into a new module (gdevpsf*), changing the source
    +file names. Adds the ability to write CFF fonts, with either Type 1 or Type
    +2 CharStrings; unfortunately, Acrobat Reader appears not to accept CFF fonts
    +with Type 1 CharStrings. Adds the ability to convert Type 1 CharStrings to
    +Type 2, including optimizing sequences of Type 1 operators into a single
    +Type 2 operator. Implements writing CIDFontType 0 CFF fonts (CIDFonts) [NOT
    +TESTED]. Starts (just barely) to remove more unneeded information from
    +embedded TrueType fonts. (doc/News.htm [1.15]: 2000/03/20 07:02:12 lpd)
    +
    +Updates the consolidated change log with today's changes.
    +(doc/Changes.htm [1.6]: 2000/03/20 07:18:38 lpd)
    +
    +Starts to move support for CIDFontType 0 and 2 into C code, needed by the
    +PDF writer for handling CID-keyed fonts. Implements GlyphDirectory for
    +CIDFonts. Makes GDBytes and CIDMapOffset optional for CIDFontType 0 fonts
    +that have a GlyphDirectory (not documented in the PLRM, but clearly
    +correct). Implements Adobe 3011 features: integer and dictionary CIDMaps,
    +and the MetricsCount entry, in CIDFontType 2 fonts (but only in the C code,
    +which isn't hooked in yet, not in the PostScript code in gs_cidfn.ps.)
    +(doc/News.htm [1.16]: 2000/03/20 19:53:06 lpd)
    +
    +Notes that the argument list for the internal build_gs_TrueType_font
    +procedure has changed, as part of the CIDFont migration to C code.
    +(doc/News.htm [1.17]: 2000/03/20 20:04:20 lpd)
    +
    +Adds invocation scripts and documentation for the PDF "optimizer".
    +(man/pdfopt.1 [1.1]: 2000/03/21 17:01:33 lpd)
    +
    +Updates information about reporting problems when using Ghostview or GSview.
    +(doc/Bug-form.htm [1.3], doc/New-user.htm [1.3]: 2000/03/22 22:13:49 lpd)
    +
    +Checks in the latest consolidated change log. (doc/Changes.htm [1.7]:
    +2000/03/24 05:04:55 lpd)
    +
    +Substantially enhances the Cos object machinery. Interface: Adds a few more
    +procedures, including a procedure to create a stream that writes directly
    +into a Cos stream object, procedures for putting more kinds of values into
    +arrays and dictionaries, and a param_list interface. Changes Cos objects to
    +store a reference to the PDF device, and removes the device argument from
    +all Cos procedures other than object creation. Replaces the Boolean
    +is_object member of Cos values by a value_type enum: clients must now use
    +COS_VALUE_IS_OBJECT() to test whether a value is an object reference. To
    +reduce allocator overhead, makes the Cos procedures that take C strings no
    +longer copy the string. Records whether each Cos object has been written
    +into the output, so that in the future (but not in this batch of changes)
    +resource definitions can be copied at the end of each page. Implementation:
    +Moves more of the implementation of Cos objects to the .c file.
    +(doc/News.htm [1.19]: 2000/03/24 06:12:52 lpd)
    +
    +Adds parsing for the remaining Acrobat Distiller 4 parameters, although most
    +of them don't have any effect yet; brings documentation up to date.
    +(doc/Ps2pdf.htm [1.3]: 2000/03/28 07:36:58 lpd)
    +
    +Implements LockDistillerParams; completes the StartPage/EndPage fix checked
    +in just before. (doc/Ps2pdf.htm [1.4]: 2000/03/28 07:52:06 lpd)
    +
    +Changes the default value of FPU_TYPE in all Windows and OS/2 makefiles from
    +0 to 387, since all current desktop CPUs include floating point hardware.
    +(doc/News.htm [1.20]: 2000/03/28 17:03:48 lpd)
    +
    +Changes the get_outline / glyph_data procedure for getting encoded font
    +outline data to return an indication of whether the outline data were just
    +allocated and can be freed by the client. (This is a possibly
    +non-backward-compatible change.) (doc/News.htm [1.21]: 2000/03/28 18:47:02
    +lpd)
    +
    +Adds a note about bogus "ANSI aliasing" warnings from the DEC C compiler.
    +(doc/Make.htm [1.8]: 2000/03/29 19:29:08 lpd)
    +
    +Changes the procs structure of gs_type1_data to an in-line structure rather
    +than a pointer to a const structure. (Needed for moving CIDFontType 0
    +support into C.) (doc/News.htm [1.22]: 2000/03/29 22:10:31 lpd)
    +
    +Updates the change log with recent changes. (doc/Changes.htm [1.8]:
    +2000/03/30 07:59:39 lpd)
    +
    +Creates a real list of projects on which help would be appreciated.
    +(doc/Projects.htm [1.2]: 2000/04/01 00:43:11 lpd)
    +
    +Finishes implementing the ability to write CIDFontType 0 CFFs. This involved
    +a surprising number of changes in other font-related files.
    +(doc/News.htm [1.23]: 2000/04/02 07:38:46 lpd)
    +
    +Updates the documentation on preparing releases to reflect the addition of
    +the toolbin directory. (doc/Release.htm [1.7]: 2000/04/02 18:56:58 lpd)
    +
    +Implements the AutoRotatePages distiller parameter. (doc/Ps2pdf.htm [1.5]:
    +2000/04/03 02:54:41 lpd)
    +
    +Updates the problem reporting procedure to use SourceForge; separates the
    +description of the procedure from the reporting form.
    +(doc/Bug-form.htm [1.4], doc/Bug-info.htm [1.1], doc/New-user.htm [1.4],
    +doc/News.htm [1.24], doc/Readme.htm [1.4]: 2000/04/04 04:14:02 lpd)
    +
    +Updates release dates and version numbers. (doc/Bug-form.htm [1.5],
    +doc/Bug-info.htm [1.3], doc/Htmstyle.htm [1.3], doc/Make.htm [1.9],
    +doc/New-user.htm [1.5], doc/Projects.htm [1.3], doc/Ps2pdf.htm [1.6],
    +doc/Psfiles.htm [1.3], doc/Readme.htm [1.5], man/ps2pdf.1 [1.4],
    +man/ps2ps.1 [1.4]: 2000/04/07 05:21:45 lpd)
    +
    +Removes redundant material, and the www.aladdin.com distribution point, from
    +the release procedure documentation. (doc/Release.htm [1.8]: 2000/04/07
    +05:24:29 lpd)
    +
    +

    Procedures

    +
    +Fixes problems:
    +	- pdfread.dev incorrectly depended on dpsnext_. (int.mak [1.4]:
    +2000/03/19 02:00:09 lpd)
    +	- The referenced libpng version hadn't been updated to 1.0.5.
    +(openvms.mmk [1.3]: 2000/03/20 16:38:46 lpd)
    +	- The MSVC++ 6 compiler no longer recognizes the /FPi87 switch.
    +(msvccmd.mak [1.2]: 2000/03/31 05:06:53 lpd)
    +	- MSVC versions before 5, not before 6, recognize /FPi87.
    +(msvccmd.mak [1.3]: 2000/03/31 05:50:33 lpd)
    +	- Removes some occurrences of $,I,d,: that shouldn't be substituted.
    +(toolbin/pre [1.2]: 2000/04/07 05:20:35 lpd)
    +
    +Increments the version number to 6.20, in anticipation of the next release.
    +(We do this at the beginning of the development for a release, not the end.)
    +(version.mak [1.6]: 2000/03/19 00:27:22 lpd)
    +
    +Adds a pseudo-encoding for the CFF StandardStrings that represent
    +characters. (devs.mak [1.3], int.mak [1.3], unixinst.mak [1.5]: 2000/03/19
    +00:38:50 lpd)
    +
    +Updates makefiles with dependencies for recent changes. (int.mak [1.5],
    +lib.mak [1.3]: 2000/03/19 05:37:38 lpd)
    +
    +Adds dependencies for the new implementation of FunctionType 4 functions.
    +(int.mak [1.6]: 2000/03/19 07:03:53 lpd)
    +
    +Splits off "vanilla" Functions into separate files, in anticipation of
    +removing them (they were only used to implement PostScript Calculator
    +Functions). (lib.mak [1.4]: 2000/03/19 07:33:08 lpd)
    +
    +Update the date and change log for the latest batches of checked-in changes.
    +(version.mak [1.7]: 2000/03/19 17:29:57 lpd)
    +
    +Moves font-writing support into a new module (gdevpsf*), changing the source
    +file names. Adds the ability to write CFF fonts, with either Type 1 or Type
    +2 CharStrings; unfortunately, Acrobat Reader appears not to accept CFF fonts
    +with Type 1 CharStrings. Adds the ability to convert Type 1 CharStrings to
    +Type 2, including optimizing sequences of Type 1 operators into a single
    +Type 2 operator. Implements writing CIDFontType 0 CFF fonts (CIDFonts) [NOT
    +TESTED]. Starts (just barely) to remove more unneeded information from
    +embedded TrueType fonts. (devs.mak [1.4], lib.mak [1.5]: 2000/03/20 07:02:12
    +lpd)
    +
    +Updates dependencies to reflect today's batches of checked-in changes.
    +(devs.mak [1.5], int.mak [1.7], lib.mak [1.6]: 2000/03/20 07:16:35 lpd)
    +
    +Updates the makefile for the renaming of gdevpsdf.c => gdevpsdu.c.
    +(devs.mak [1.6]: 2000/03/20 19:30:35 lpd)
    +
    +Starts to move support for CIDFontType 0 and 2 into C code, needed by the
    +PDF writer for handling CID-keyed fonts. Implements GlyphDirectory for
    +CIDFonts. Makes GDBytes and CIDMapOffset optional for CIDFontType 0 fonts
    +that have a GlyphDirectory (not documented in the PLRM, but clearly
    +correct). Implements Adobe 3011 features: integer and dictionary CIDMaps,
    +and the MetricsCount entry, in CIDFontType 2 fonts (but only in the C code,
    +which isn't hooked in yet, not in the PostScript code in gs_cidfn.ps.)
    +(int.mak [1.8], lib.mak [1.7]: 2000/03/20 19:53:06 lpd)
    +
    +Extends the C support for CIDFontType 0 fonts to include those with FontType
    +2 subfonts in the FDArray (an Adobe 3011 addition, specifically for CFF
    +fonts). (int.mak [1.9]: 2000/03/21 07:43:42 lpd)
    +
    +Adds invocation scripts and documentation for the PDF "optimizer".
    +(unixinst.mak [1.6]: 2000/03/21 17:01:33 lpd)
    +
    +Splits off the ReusableStreamDecode filter as a separate module, since
    +CIDFontType 0 fonts will use it even in LanguageLevels below 3.
    +(int.mak [1.10]: 2000/03/21 21:34:57 lpd)
    +
    +Makes file streams remember the file name, needed for efficiently
    +implementing reusable streams. (int.mak [1.11]: 2000/03/23 02:13:40 lpd)
    +
    +Checks in the latest consolidated change log. (version.mak [1.8]: 2000/03/24
    +05:04:55 lpd)
    +
    +Changes the implementation of incrementally loaded CIDFontType 0 fonts to
    +use a ReusableStreamDecode filter, in anticipation of moving the BuildGlyph
    +procedure for these fonts from PostScript to C. (int.mak [1.12],
    +version.mak [1.9]: 2000/03/27 16:36:24 lpd)
    +
    +Changes the default value of FPU_TYPE in all Windows and OS/2 makefiles from
    +0 to 387, since all current desktop CPUs include floating point hardware.
    +(msvc32.mak [1.3], msvclib.mak [1.3], os2.mak [1.4], watcw32.mak [1.3]:
    +2000/03/28 17:03:48 lpd)
    +
    +Updates the change log with recent changes. (version.mak [1.10]: 2000/03/30
    +07:59:39 lpd)
    +
    +Cleans up some dependencies missed at the last checkin. (devs.mak [1.7],
    +int.mak [1.13]: 2000/03/31 05:03:30 lpd)
    +
    +Finishes implementing the ability to write CIDFontType 0 CFFs. This involved
    +a surprising number of changes in other font-related files. (int.mak [1.14]:
    +2000/04/02 07:38:46 lpd)
    +
    +Adds a variety of tools used to build and distribute Ghostscript releases.
    +The only documentation is comments in the files themselves, and there isn't
    +much of it. All aspects of these tools are subject to change without notice.
    +(toolbin/3way.tcl [1.1], toolbin/cvs2hist.py [1.1],
    +toolbin/errlist.tcl [1.1], toolbin/gsmake.tcl [1.1],
    +toolbin/headers.tcl [1.1], toolbin/leaks.tcl [1.1],
    +toolbin/makeset.tcl [1.1], toolbin/package.tcl [1.1], toolbin/pre [1.1],
    +toolbin/pre.chk [1.1], toolbin/precheck.tcl [1.1], toolbin/smoke.ps [1.1],
    +toolbin/suite.tcl [1.1], toolbin/tmake.tcl [1.1]: 2000/04/02 18:44:27 lpd)
    +
    +Moves gsindent from src to toolbin. (toolbin/gsindent [1.1]: 2000/04/02
    +18:56:25 lpd)
    +
    +Adds an #include required by the Watcom compiler. (devs.mak [1.8]:
    +2000/04/05 19:51:54 lpd)
    +
    +Adds a missing dependency. (lib.mak [1.8]: 2000/04/07 03:00:56 lpd)
    +
    +Updates a few dependencies for the release. (int.mak [1.15]: 2000/04/07
    +05:23:12 lpd)
    +
    +Updates the build date for the release. (version.mak [1.11]: 2000/04/07
    +05:25:18 lpd)
    +
    +Adds .cvsignore files, to prevent bogus warnings on cvs update.
    +(.cvsignore [1.1], src/.cvsignore [1.1]: 2000/04/05 19:46:04 lpd)
    +
    +

    Utilities

    +
    +Fixes problems:
    +	- A couple of places in the Windows code didn't correctly handle
    +Ghostscript version 6.64, 7 April 2001
    +21:45:03 lpd)
    +	- Replaces a final exit() with a return, to avoid a compiler
    +warning. (genconf.c [1.2]: 2000/04/05 19:53:27 lpd)
    +
    +Makes geninit remove whitespace adjacent to hex and base-85 string literals.
    +(geninit.c [1.2]: 2000/03/18 22:51:24 lpd)
    +
    +Adds a PDF linearizer ("optimizer"). This is a separate utility (not
    +integrated with the pdfwrite driver), written in PostScript.
    +(lib/pdfopt.ps [1.1], lib/pdfwrite.ps [1.1]: 2000/03/20 04:31:22 lpd)
    +
    +Replaces the O(N^2) sorting algorithm for printing unencoded characters with
    +a O(N log N) algorithm, which makes printing Unicode and Chinese/Japanese
    +fonts practical. (lib/prfont.ps [1.2]: 2000/03/21 06:39:49 lpd)
    +
    +Adds invocation scripts and documentation for the PDF "optimizer".
    +(lib/pdfopt [1.1], lib/pdfopt.bat [1.1], lib/pdfopt.ps [1.2]: 2000/03/21
    +17:01:33 lpd)
    +
    +Splits off the ReusableStreamDecode filter as a separate module, since
    +CIDFontType 0 fonts will use it even in LanguageLevels below 3.
    +(zfreuse.c [1.2]: 2000/03/21 21:34:57 lpd)
    +
    +Adds a variety of tools used to build and distribute Ghostscript releases.
    +The only documentation is comments in the files themselves, and there isn't
    +much of it. All aspects of these tools are subject to change without notice.
    +(gsindent [1.2]: 2000/04/02 18:44:27 lpd)
    +
    +

    Drivers

    +
    +Fixes problems:
    +	- The color_info member of the Windows and OS/2 printer devices (and
    +other devices using PC-style palettes) wasn't initialized properly, causing
    +improper behavior. (gdevos2p.c [1.2], gdevpccm.h [1.2], gdevwpr2.c [1.3]:
    +2000/03/20 21:05:11 lpd)
    +	- Fixes a bug in the mswinpr2 driver in the handling of
    +BitsPerPixel. (gdevwpr2.c [1.4]: 2000/03/22 17:08:33 lpd)
    +	- In PCL XL output (pxl* drivers), if a PostScript image didn't
    +provide enough source data, the remainder of the output image was
    +erroneously filled with pixel value 0 (typically black or the foreground
    +color). (gdevpx.c [1.2]: 2000/03/22 20:55:21 lpd)
    +	- In the output of the pswrite driver (pdf2ps, ps2ps), the showpage
    +for each page occurred before, not after, the restore that ended the page
    +contents. This contradicted Adobe's documentation, and made utilities like
    +N-up printing not work properly. (gdevps.c [1.4]: 2000/03/28 00:52:46 lpd)
    +	- The PCL XL 2.0 value for sRGB color space was wrong, and the
    +attribute for writing mode was missing. (gdevpxat.h [1.2], gdevpxen.h [1.2]:
    +2000/03/29 18:19:44 lpd)
    +	- When printing on monochrome LaserJet/DeskJet printers, the driver
    +didn't set the number of copies to 1; on the LJ 4si, this sometimes caused
    +double printing. (gdevdjet.c [1.2]: 2000/04/03 14:36:12 lpd)
    +	- Updates clients for the change in the last argument of
    +cff_string_index from uint * to int *. (gdevpsf2.c [1.4]: 2000/04/05
    +19:55:29 lpd)
    +
    +Adds parsing for the remaining Acrobat Distiller 4 parameters. Implements
    +the LockDistillerParams, xxxDownsampleThreshold, xxxImageDict, and
    +xxxACSImageDict distiller parameters. Implements DCTEncode as an
    +xxxImageFilter option (it used to cause a crash). Makes the
    +AutoFilterxxxImages distiller parameters select JPEG encoding (with ACSDict)
    +if the image has 8 bits per component and is not Indexed, and LZW/Flate
    +otherwise: this still isn't right, but it's closer. Implementation changes:
    +Changes the implementation of distiller parameter dictionaries from stream
    +states to parameter lists; changes the test for masks in
    +psdf_setup_image_filters, and changes the image argument from gs_image_t to
    +gs_pixel_image_t. (gdevpsdf.h [1.4], gdevpsdi.c [1.3], gdevpsdp.c [1.3]:
    +2000/03/20 05:40:04 lpd)
    +
    +Moves font-writing support into a new module (gdevpsf*), changing the source
    +file names. Adds the ability to write CFF fonts, with either Type 1 or Type
    +2 CharStrings; unfortunately, Acrobat Reader appears not to accept CFF fonts
    +with Type 1 CharStrings. Adds the ability to convert Type 1 CharStrings to
    +Type 2, including optimizing sequences of Type 1 operators into a single
    +Type 2 operator. Implements writing CIDFontType 0 CFF fonts (CIDFonts) [NOT
    +TESTED]. Starts (just barely) to remove more unneeded information from
    +embedded TrueType fonts. (gdevpsd1.c [1.2], gdevpsdf.c [1.3],
    +gdevpsdf.h [1.5], gdevpsdt.c [1.2], gdevpsf.h [1.1], gdevpsf1.c [1.1],
    +gdevpsf2.c [1.1], gdevpsft.c [1.1], gdevpsfu.c [1.1], gdevpsfx.c [1.1]:
    +2000/03/20 07:02:12 lpd)
    +
    +Renames an inappropriately named file. (gdevpsdf.c [1.4], gdevpsdf.h [1.6],
    +gdevpsdu.c [1.1]: 2000/03/20 19:03:43 lpd)
    +
    +Extends the C support for CIDFontType 0 fonts to include those with FontType
    +2 subfonts in the FDArray (an Adobe 3011 addition, specifically for CFF
    +fonts). (gdevpsf.h [1.2]: 2000/03/21 07:43:42 lpd)
    +
    +Changes the procs structure of gs_type1_data to an in-line structure rather
    +than a pointer to a const structure. (Needed for moving CIDFontType 0
    +support into C.) (gdevpsf1.c [1.2], gdevpsf2.c [1.2], gdevpsfx.c [1.2]:
    +2000/03/29 22:10:31 lpd)
    +
    +Finishes implementing the ability to write CIDFontType 0 CFFs. This involved
    +a surprising number of changes in other font-related files.
    +(gdevpsf2.c [1.3], gdevpsfu.c [1.2]: 2000/04/02 07:38:45 lpd)
    +
    +Slightly simplifies the output of the psmono and psgray drivers.
    +(gdevpsim.c [1.2]: 2000/04/02 19:57:37 lpd)
    +
    +Adds an #include required by the Watcom compiler. (gdevpsf1.c [1.3]:
    +2000/04/05 19:51:54 lpd)
    +
    +

    PDF writer

    +
    +Fixes problems:
    +	- The pointer enumeration procedure for pdf_image_enum was wrong,
    +possibly producing a mangled pointer and a memory access error if a garbage
    +collection occured while writing an image in a PDF file. (gdevpdfi.c [1.5]:
    +2000/03/20 05:54:13 lpd)
    +	- The computation for testing whether a tiled pattern could be
    +represented in line, and whether it exceeded Acrobat Reader's size limit,
    +was wrong, causing some patterns not to be represented as Patterns.
    +(gdevpdfi.c [1.6]: 2000/03/20 05:58:15 lpd)
    +	- When ProcessColorModel=/DeviceCMYK, if the first object on a page
    +or after changing the clipping path was white, the PDF writer would write it
    +as black. (gdevpdfu.c [1.3]: 2000/03/21 18:36:36 lpd)
    +	- If a page ended with an incomplete outline tree, an invalid memory
    +access occurred. (gdevpdf.c [1.3], gdevpdfm.c [1.2]: 2000/03/24 05:09:56
    +lpd)
    +	- The SP pdfmark didn't check that its argument was a graphics
    +stream. (gdevpdfm.c [1.4]: 2000/03/24 06:18:39 lpd)
    +	- The name of the EndPage Distiller parameter collided with the
    +EndPage page device parameter. (gdevpdfp.c [1.4]: 2000/03/28 07:45:25 lpd)
    +	- If two embedded fonts had the same base font, the PDF file could
    +wind up with an invalid entry in the xref table. (gdevpdft.c [1.4]:
    +2000/04/01 01:18:32 lpd)
    +
    +Adds parsing for the remaining Acrobat Distiller 4 parameters. Implements
    +the LockDistillerParams, xxxDownsampleThreshold, xxxImageDict, and
    +xxxACSImageDict distiller parameters. Implements DCTEncode as an
    +xxxImageFilter option (it used to cause a crash). Makes the
    +AutoFilterxxxImages distiller parameters select JPEG encoding (with ACSDict)
    +if the image has 8 bits per component and is not Indexed, and LZW/Flate
    +otherwise: this still isn't right, but it's closer. Implementation changes:
    +Changes the implementation of distiller parameter dictionaries from stream
    +states to parameter lists; changes the test for masks in
    +psdf_setup_image_filters, and changes the image argument from gs_image_t to
    +gs_pixel_image_t. (gdevpdfi.c [1.4]: 2000/03/20 05:40:04 lpd)
    +
    +Moves font-writing support into a new module (gdevpsf*), changing the source
    +file names. Adds the ability to write CFF fonts, with either Type 1 or Type
    +2 CharStrings; unfortunately, Acrobat Reader appears not to accept CFF fonts
    +with Type 1 CharStrings. Adds the ability to convert Type 1 CharStrings to
    +Type 2, including optimizing sequences of Type 1 operators into a single
    +Type 2 operator. Implements writing CIDFontType 0 CFF fonts (CIDFonts) [NOT
    +TESTED]. Starts (just barely) to remove more unneeded information from
    +embedded TrueType fonts. (gdevpdff.c [1.2], gdevpdfw.c [1.2]: 2000/03/20
    +07:02:12 lpd)
    +
    +Substantially enhances the Cos object machinery. Interface: Adds a few more
    +procedures, including a procedure to create a stream that writes directly
    +into a Cos stream object, procedures for putting more kinds of values into
    +arrays and dictionaries, and a param_list interface. Changes Cos objects to
    +store a reference to the PDF device, and removes the device argument from
    +all Cos procedures other than object creation. Replaces the Boolean
    +is_object member of Cos values by a value_type enum: clients must now use
    +COS_VALUE_IS_OBJECT() to test whether a value is an object reference. To
    +reduce allocator overhead, makes the Cos procedures that take C strings no
    +longer copy the string. Records whether each Cos object has been written
    +into the output, so that in the future (but not in this batch of changes)
    +resource definitions can be copied at the end of each page. Implementation:
    +Moves more of the implementation of Cos objects to the .c file.
    +(gdevpdf.c [1.4], gdevpdfi.c [1.7], gdevpdfm.c [1.3], gdevpdfo.c [1.2],
    +gdevpdfo.h [1.2], gdevpdfr.c [1.2], gdevpdfu.c [1.4], gdevpdfx.h [1.3]:
    +2000/03/24 06:12:52 lpd)
    +
    +Changes a few initializations to suppress warnings from one picky compiler
    +that doesn't like ptr = buf - 1 where buf is an array. (gdevpdfr.c [1.3]:
    +2000/03/28 02:01:34 lpd)
    +
    +Adds parsing for the remaining Acrobat Distiller 4 parameters, although most
    +of them don't have any effect yet; brings documentation up to date.
    +(gdevpdf.c [1.5], gdevpdfp.c [1.3], gdevpdfx.h [1.4]: 2000/03/28 07:36:58
    +lpd)
    +
    +Implements LockDistillerParams; completes the StartPage/EndPage fix checked
    +in just before. (gdevpdf.c [1.6], gdevpdfp.c [1.5], gdevpdfx.h [1.5]:
    +2000/03/28 07:52:06 lpd)
    +
    +Changes the initial values of the "job control" parameters to match Acrobat
    +Distiller 4. (gdevpdf.c [1.7], gdevpdfp.c [1.6], gdevpdfx.h [1.6]:
    +2000/03/28 07:57:14 lpd)
    +
    +Implements the AutoRotatePages distiller parameter. (gdevpdf.c [1.8],
    +gdevpdft.c [1.5], gdevpdfu.c [1.5], gdevpdfx.h [1.7]: 2000/04/03 02:54:41
    +lpd)
    +
    +

    Interpreter (PDF)

    +
    +Fixes problems:
    +	- Reading embedded compressed CIDFonts wasn't implemented.
    +(lib/pdf_font.ps [1.3]: 2000/03/19 01:28:59 lpd)
    +	- PDF images with DeviceN color spaces caused an error.
    +(lib/pdf_draw.ps [1.2]: 2000/03/19 01:44:53 lpd)
    +	- PDF images with a Mask ignored the mask. (lib/pdf_draw.ps [1.3]:
    +2000/03/19 01:46:27 lpd)
    +	- the PDF interpreter hadn't been updated for the move to
    +library-based FunctionType 4 Functions, and still tried to bind the names
    +true and false to the no longer existing operators .true and .false.
    +(lib/pdf_draw.ps [1.5]: 2000/03/19 07:37:03 lpd)
    +	- FunctionType 2 and 3 functions didn't work.
    +(lib/pdf_draw.ps [1.6]: 2000/03/19 15:23:10 lpd)
    +	- In PDF files, the page CropBox was not being used to clip the
    +output. (lib/pdf_main.ps [1.4], lib/pdf_ops.ps [1.3]: 2000/03/21 23:08:32
    +lpd)
    +	- The "fix" for FunctionTypes 2 and 3 in PDF files had made things
    +worse, because the code didn't distinguish between resolving to a PostScript
    +function (for shadings) and resolving to a PostScript procedure (for
    +halftones, BG/UCR, alternate color space mapping, etc.)
    +(lib/pdf_draw.ps [1.7]: 2000/03/23 18:31:46 lpd)
    +	- Text with a Pattern color scaled the pattern according to the text
    +matrix, not the default matrix of the marking context.
    +(lib/pdf_base.ps [1.6], lib/pdf_main.ps [1.5], lib/pdf_ops.ps [1.4]:
    +2000/03/30 18:01:58 lpd)
    +	- Resolving a Shading didn't create a reusable stream for the
    +shading data; since the data was then read at unpredictable times, the
    +shading or other constructs in the PDF file could read incorrect data.
    +(lib/pdf_draw.ps [1.8]: 2000/04/03 06:01:25 lpd)
    +
    +Adds a lforall procedure for the PDF linearizer. (lib/pdf_base.ps [1.3]:
    +2000/03/19 01:50:05 lpd)
    +
    +Changes the PDF interpreter so that following an object reference doesn't
    +store the result back into the referring slot, and so that # # R always
    +creates an indirect object. This is necessary for the PDF linearizer. It
    +shouldn't have any visible effect (other than a possible small performance
    +cost). (lib/pdf_base.ps [1.4], lib/pdf_draw.ps [1.4]: 2000/03/19 01:53:58
    +lpd)
    +
    +Refactors some code to make it usable by the PDF linearizer.
    +(lib/pdf_main.ps [1.3]: 2000/03/19 17:26:42 lpd)
    +
    +Speeds up loading embedded Type 1 fonts a little. (lib/pdf_base.ps [1.5],
    +lib/pdf_font.ps [1.4]: 2000/03/24 07:42:16 lpd)
    +
    +Speeds up reading embedded Type 1 fonts a little more.
    +(lib/pdf_font.ps [1.5]: 2000/03/24 16:28:26 lpd)
    +
    +

    Interpreter

    +
    +Fixes problems:
    +	- Font substitution was broken. (lib/gs_fonts.ps [1.3]: 2000/03/19
    +00:22:05 lpd)
    +	- The CFF reader gave an error if a font included any Subrs (it's
    +very surprising that this hasn't surfaced before, but apparently Acrobat
    +Distiller always produces CFF fonts with no Subrs); the CFF reader didn't
    +default lenIV to -1 for Type 1 CharStrings; the CFF reader wasn't able to
    +read CIDFonts. (lib/gs_cff.ps [1.3], lib/gs_cidfn.ps [1.4]: 2000/03/19
    +00:45:40 lpd)
    +	- EXTEND_NAMES had stopped working, because not all places that
    +needed the index of a name ref used name_index rather than r_size
    +(ilocate.c), and because the high_index value in the name sub-table was set
    +incorrectly (iname.c). (ilocate.c [1.2], iname.c [1.2]: 2000/03/19 01:33:23
    +lpd)
    +	- The attribute check for Functions being executed was incorrect
    +(always succeeded). (zfunc.c [1.2]: 2000/03/19 02:12:37 lpd)
    +	- s_add_filter didn't ensure enough buffering. This entailed moving
    +the NullEncode/Decode filters to stream.[hc]. (sfilter1.c [1.2]: 2000/03/19
    +03:15:02 lpd)
    +	- The parameters of SubFileDecode filters weren't initialized fully
    +(required by a change in this version). (zfilter.c [1.3]: 2000/03/19
    +04:03:45 lpd)
    +	- The AutoPositionEPSFiles Distiller parameter was misspelled
    +AutoPositionEPSFile. (lib/gs_pdfwr.ps [1.2]: 2000/03/19 05:03:31 lpd)
    +	- Enumerating the elements of a dictionary-based parameter list
    +returned garbage for the keys. (iparam.c [1.2]: 2000/03/19 15:13:13 lpd)
    +	- .buildfont0 should not check CIDSystemInfo compatibility. The
    +PLRM3 says PostScript interpreters do not make this check, even though the
    +PLRM2 says compatibility is required (!). (zfcmap.c [1.2]: 2000/03/19
    +16:53:50 lpd)
    +	- If log2_transfer_map_size > 8, identity transfer functions
    +returned garbage. The fix requires that if a client wants to set a transfer
    +function to the identity mapping, it must call gx_set_identity_transfer
    +rather than simply setting the procedure to gs_identity_transfer.
    +(zcolor.c [1.2]: 2000/03/19 17:14:47 lpd)
    +	- Separation color spaces didn't store the separation name.
    +(zcssepr.c [1.2]: 2000/03/19 17:21:36 lpd)
    +	- The addition of the dummy cid_Setup procedure in gs 6.01 was
    +accidentally commented out. (lib/gs_cidfn.ps [1.5]: 2000/03/21 00:11:55 lpd)
    +	- The test for whether an CIDFontType 2 outline string was large
    +enough to include prefixed metrics was backwards, which would have caused
    +problems with any font that used MetricsCount. (zfcid.c [1.3]: 2000/03/21
    +00:43:17 lpd)
    +	- A couple of places in the Windows code didn't correctly handle
    +Ghostscript version numbers of the form #.0#. (dwsetup.cpp [1.2]: 2000/03/22
    +21:45:03 lpd)
    +	- In some cases, re-registering an existing font or CIDFont with
    +definefont would cause an invalidfont error. (zbfont.c [1.4],
    +zfont42.c [1.3]: 2000/03/28 18:20:39 lpd)
    +	- Re-registering a CIDFont with definefont, or defining a CIDFont
    +with definefont instead of /CIDFont defineresource, caused an invalidfont
    +error or a crash. (lib/gs_cidfn.ps [1.9], lib/gs_fonts.ps [1.4]: 2000/03/28
    +18:21:50 lpd)
    +	- The new C BuildGlyph code for CIDFontType 0 fonts didn't handle
    +GlyphDirectory or Type 2 CharStrings correctly. (lib/gs_cidfn.ps [1.12],
    +zfcid.c [1.8]: 2000/03/31 23:21:57 lpd)
    +	- The internaldict "operator" was allocated in local VM, preventing
    +it from being bound into procedures allocated in global VM.
    +(lib/gs_init.ps [1.6]: 2000/04/04 22:16:02 lpd)
    +	- If there was a CIDInit ProcSet defined in the filesystem, the code
    +for initializing the built-in CIDInit ProcSet became confused.
    +(lib/gs_cidfn.ps [1.13]: 2000/04/04 22:17:33 lpd)
    +	- Fixes several problems in resourceforall and resource loading: the
    +operands of resourceforall were restored even in the case of an error in the
    +client's procedure; the name Instances had special meaning for some Adobe
    +code; resourceforall caused an invalidaccess error if an operand was in
    +local VM but the current VM was global; loading a resource from a file could
    +cause a typecheck error if the file left values on the operand stack.
    +(interp.c [1.3], lib/gs_ccfnt.ps [1.2], lib/gs_res.ps [1.3]: 2000/04/04
    +22:26:02 lpd)
    +	- resourceforall didn't enumerate external (loadable) instances, and
    +would enumerate an instance twice if it had both a local and a global
    +definition. (lib/gs_res.ps [1.4]: 2000/04/05 21:07:02 lpd)
    +	- The implementation of resourcestatus wasn't compatible with some
    +badly written code in an Adobe font downloader that assumes that the
    +implementation of resourcestatus in Generic and Font is the same.
    +(lib/gs_res.ps [1.5]: 2000/04/05 21:20:07 lpd)
    +	- The just-checked-in fixed for resourceforall didn't work properly
    +for the IdiomSet category. (They probably failed for other categories that
    +had no instances, but we didn't check this.) (lib/gs_res.ps [1.6]:
    +2000/04/05 21:51:43 lpd)
    +	- Some Adobe font downloading code assumed that loading a resource
    +file would never leave extra values on the stack; our implementation didn't
    +ensure this (by popping them if needed). (lib/gs_res.ps [1.8]: 2000/04/06
    +04:50:28 lpd)
    +	- If an alphabetic font defined and used a .notdef character,
    +pdfwrite always converted it to a bitmap. (lib/gs_lgo_e.ps [1.2]: 2000/04/07
    +02:48:23 lpd)
    +
    +Provides a gs_atan2_degrees procedure to parallel sin and cos.
    +(zmath.c [1.2]: 2000/03/18 23:10:39 lpd)
    +
    +Speeds up string garbage collection by scanning unmodified string regions
    +faster. (igcstr.c [1.2]: 2000/03/18 23:29:32 lpd)
    +
    +Adds the ImagemaskTrapping parameter to the trapping state.
    +(lib/gs_trap.ps [1.2]: 2000/03/18 23:35:53 lpd)
    +
    +Increments the version number to 6.20, in anticipation of the next release.
    +(We do this at the beginning of the development for a release, not the end.)
    +(lib/gs_init.ps [1.4]: 2000/03/19 00:27:22 lpd)
    +
    +Adds a pseudo-encoding for the CFF StandardStrings that represent
    +characters. (lib/gs_cff.ps [1.2], lib/gs_css_e.ps [1.1]: 2000/03/19 00:38:50
    +lpd)
    +
    +Refactors the code for getting Type 1/2/4 font parameters so it can be used
    +for FDArray entries of CIDFontType 0 fonts. (ifont1.h [1.2], zfont1.c [1.2]:
    +2000/03/19 02:07:45 lpd)
    +
    +Speeds up Function evaluation slightly, by preallocating space for a
    +reasonable number of operands and results on the C stack rather than always
    +allocating it on the heap. (zfunc.c [1.3]: 2000/03/19 02:16:58 lpd)
    +
    +Adds a public procedure for determining whether a PostScript object is a
    +Function, and if so, returning the pointer to the gs_function_t structure.
    +(ifunc.h [1.2], zfunc.c [1.4]: 2000/03/19 02:22:01 lpd)
    +
    +Splits out the [T]BCP filter interface into a separate file. (zfbcp.c [1.2]:
    +2000/03/19 02:40:18 lpd)
    +
    +Adds a skip_count parameter to the SubFileDecode filter, giving the number
    +of initial bytes or records to skip over. (Needed for printing FunctionType
    +4 functions, possibly useful for other things.) (sfilter1.c [1.3]:
    +2000/03/19 03:20:18 lpd)
    +
    +Replaces the implementation of FunctionType 4 functions at the PostScript
    +language level with one that uses the new library-based facilities.
    +(zdevice2.c [1.2], zfunc4.c [1.2]: 2000/03/19 06:56:23 lpd)
    +
    +Changes the key type returned by parameter list enumeration to include a
    +persistence flag, makes C parameter lists support non-persistent keys, and
    +upgrades GC descriptors so that parameter lists can be used non-transiently;
    +updates implementors of parameter lists to call gs_param_list_init to
    +initialize the common members, which is now required. (iparam.c [1.3]:
    +2000/03/19 15:16:11 lpd)
    +
    +Makes Separation and DeviceN color spaces convert their tint transform
    +function to a FunctionType 4 Function if possible, for better accuracy and
    +to allow writing in PDF files. (lib/gs_lev2.ps [1.2], lib/gs_ll3.ps [1.2]:
    +2000/03/19 15:28:34 lpd)
    +
    +Makes st_indexed_map private. Clients must now use the constructor procedure
    +alloc_indexed_map rather than allocating instances directly.
    +(zcsindex.c [1.2]: 2000/03/19 16:37:28 lpd)
    +
    +Refactors the code for building fonts so it can be used for FDArray entries
    +of CIDFontType 0 fonts. (bfont.h [1.2], zbfont.c [1.2]: 2000/03/19 16:45:47
    +lpd)
    +
    +Adds a .fileposition operator that will read the position even of
    +non-positionable streams, needed for the PDF linearizer. (zfileio.c [1.3]:
    +2000/03/20 04:30:49 lpd)
    +
    +Starts to move support for CIDFontType 0 and 2 into C code, needed by the
    +PDF writer for handling CID-keyed fonts. Implements GlyphDirectory for
    +CIDFonts. Makes GDBytes and CIDMapOffset optional for CIDFontType 0 fonts
    +that have a GlyphDirectory (not documented in the PLRM, but clearly
    +correct). Implements Adobe 3011 features: integer and dictionary CIDMaps,
    +and the MetricsCount entry, in CIDFontType 2 fonts (but only in the C code,
    +which isn't hooked in yet, not in the PostScript code in gs_cidfn.ps.)
    +(icid.h [1.1], ifont.h [1.2], ifont42.h [1.1], zcid.c [1.2], zfcid.c [1.1],
    +zfcmap.c [1.3], zfont42.c [1.2]: 2000/03/20 19:53:06 lpd)
    +
    +Hooks the new CIDMap code into the BuildGlyph procedure for CIDFontType 2
    +fonts. (Contrary to a previous log comment, MetricsCount is already hooked
    +in.) Support for CIDFontType 2 fonts is now implemented entirely in C, as
    +for Type 42 fonts. (lib/gs_cidfn.ps [1.6], zfcid.c [1.2]: 2000/03/21
    +00:32:15 lpd)
    +
    +Extends the C support for CIDFontType 0 fonts to include those with FontType
    +2 subfonts in the FDArray (an Adobe 3011 addition, specifically for CFF
    +fonts). (ifont2.h [1.1], zfcid.c [1.4], zfont2.c [1.2]: 2000/03/21 07:43:42
    +lpd)
    +
    +Changes Subr loading for CIDFontType 0 fonts from lazy to immediate, so that
    +C code can be guaranteed access to the Subrs. (In every CIDFontType 0 font
    +that we have seen, SubrCount is 5, so this has no significant time or space
    +cost.) Also adds support for FDBytes > 1 in GlyphDirectory definitions.
    +(lib/gs_cidfn.ps [1.7]: 2000/03/21 20:06:44 lpd)
    +
    +Splits off the ReusableStreamDecode filter as a separate module, since
    +CIDFontType 0 fonts will use it even in LanguageLevels below 3.
    +(lib/gs_frsd.ps [1.1], lib/gs_ll3.ps [1.3], zfrsd.c [1.1]: 2000/03/21
    +21:34:57 lpd)
    +
    +Makes file streams remember the file name, needed for efficiently
    +implementing reusable streams. (zfile.c [1.3], zfileio.c [1.4]: 2000/03/23
    +02:13:40 lpd)
    +
    +Changes the new .filename operator to return true/false rather than causing
    +an error; redefines findlibfile in terms of a simpler .libfile operator +
    +.filename. (lib/gs_init.ps [1.5], zfile.c [1.4], zfileio.c [1.5]: 2000/03/23
    +18:47:17 lpd)
    +
    +Finishes implementing the file case of ReusableStreamDecode. This required
    +adding the ability to restrict file-reading streams to a subfile.
    +(lib/gs_frsd.ps [1.2], sfilter1.c [1.4], zfileio.c [1.6], zfrsd.c [1.2]:
    +2000/03/24 03:59:42 lpd)
    +
    +Changes the implementation of incrementally loaded CIDFontType 0 fonts to
    +use a ReusableStreamDecode filter, in anticipation of moving the BuildGlyph
    +procedure for these fonts from PostScript to C. (lib/gs_cidfn.ps [1.8],
    +zbfont.c [1.3], zfcid.c [1.5]: 2000/03/27 16:36:24 lpd)
    +
    +Changes the get_outline / glyph_data procedure for getting encoded font
    +outline data to return an indication of whether the outline data were just
    +allocated and can be freed by the client. (This is a possibly
    +non-backward-compatible change.) (zfcid.c [1.6]: 2000/03/28 18:47:02 lpd)
    +
    +Changes the procs structure of gs_type1_data to an in-line structure rather
    +than a pointer to a const structure. (Needed for moving CIDFontType 0
    +support into C.) (zfont1.c [1.3]: 2000/03/29 22:10:31 lpd)
    +
    +Finishes moving support for CIDFontType 0 fonts from PostScript to C.
    +(ifont.h [1.3], ifont42.h [1.2], lib/gs_cidfn.ps [1.10], zfcid.c [1.7],
    +zfont42.c [1.4]: 2000/03/31 04:55:18 lpd)
    +
    +Allows dictionaries as the value of CIDMap resources. (Also removes an
    +unrelated obsolete comment.) (lib/gs_cidfn.ps [1.11]: 2000/03/31 05:11:30
    +lpd)
    +
    +Finishes implementing the ability to write CIDFontType 0 CFFs. This involved
    +a surprising number of changes in other font-related files. (ichar1.h [1.2],
    +ifcid.h [1.1], zchar1.c [1.2], zfcid.c [1.9], zfcid0.c [1.1],
    +zfcid1.c [1.1], zfont1.c [1.4]: 2000/04/02 07:38:46 lpd)
    +
    +Makes the .writefont9 operator (used only for testing) available in both
    +DEBUG and PROFILE configurations. (zfcid0.c [1.2]: 2000/04/03 02:37:55 lpd)
    +
    +Extends .forceput to handle arrays as well as dictionaries, required to fix
    +a bug with internaldict. (zdict.c [1.2], zgeneric.c [1.2]: 2000/04/04
    +22:13:23 lpd)
    +
    +Works around an Adobe code assumption that the default FindResource
    +procedure does *not* call the ResourceStatus procedure if the requested
    +instance is already defined in VM. (lib/gs_res.ps [1.7]: 2000/04/05 23:31:54
    +lpd)
    +
    +Implements the framework for superexec (but none of the actual access check
    +bypasses). (icontext.c [1.2], icstate.h [1.2], zcontrol.c [1.2]: 2000/04/06
    +04:40:06 lpd)
    +
    +Extends the undocumented CCRun procedure to take an additional argument, a
    +Private dictionary, required by some Adobe font downloading code.
    +(lib/gs_type1.ps [1.3]: 2000/04/06 05:25:10 lpd)
    +
    +

    Streams

    +
    +Fixes problems:
    +	- s_add_filter didn't ensure enough buffering. This entailed moving
    +the NullEncode/Decode filters to stream.[hc]. (sfilter.h [1.3],
    +stream.c [1.3], stream.h [1.3]: 2000/03/19 03:15:02 lpd)
    +	- When FPU_TYPE <= 0, the image interpolation code lost too much
    +accuracy, producing color streaks in the output. (Fix by DanCoby.)
    +(siscale.c [1.2]: 2000/03/29 20:34:45 lpd)
    +	- Fixes a couple of typos in the recently checked-in image
    +interpolation fix. (siscale.c [1.3]: 2000/03/30 06:55:26 lpd)
    +
    +Splits out the [T]BCP filter interface into a separate file. (sbcp.c [1.2],
    +sbcp.h [1.1], sfilter.h [1.2]: 2000/03/19 02:40:18 lpd)
    +
    +Adds a skip_count parameter to the SubFileDecode filter, giving the number
    +of initial bytes or records to skip over. (Needed for printing FunctionType
    +4 functions, possibly useful for other things.) (sfilter.h [1.4]: 2000/03/19
    +03:20:18 lpd)
    +
    +Changes the key type returned by parameter list enumeration to include a
    +persistence flag, makes C parameter lists support non-persistent keys, and
    +upgrades GC descriptors so that parameter lists can be used non-transiently;
    +updates implementors of parameter lists to call gs_param_list_init to
    +initialize the common members, which is now required. (spsdf.c [1.2]:
    +2000/03/19 15:16:11 lpd)
    +
    +Makes file streams remember the file name, needed for efficiently
    +implementing reusable streams. (stream.c [1.4], stream.h [1.4]: 2000/03/23
    +02:13:40 lpd)
    +
    +Finishes implementing the file case of ReusableStreamDecode. This required
    +adding the ability to restrict file-reading streams to a subfile.
    +(sfxfd.c [1.2], sfxstdio.c [1.2], stream.c [1.5], stream.h [1.5]: 2000/03/24
    +03:59:42 lpd)
    +
    +Changes a few initializations to suppress warnings from one picky compiler
    +that doesn't like ptr = buf - 1 where buf is an array. (spsdf.c [1.3]:
    +2000/03/28 02:01:34 lpd)
    +
    +

    Library

    +
    +Fixes problems:
    +	- Two comments in the file were incorrect. (gsiparm3.h [1.2]:
    +2000/03/19 02:46:11 lpd)
    +	- param_coerce_typed, which works with any parameter list
    +implementation, was incorrectly described as associated with the default
    +implementation. (gsparam.h [1.2]: 2000/03/19 03:37:08 lpd)
    +	- TrueType fonts didn't use vhea/vmtx if WMode = 1. Also makes
    +gs_font_type42 subclassable, for implementing CIDFontType 2 fonts, and makes
    +its procedure for getting a glyph's side bearing and width virtual, required
    +to support MetricsCount in CIDFontType 2 fonts. (gstype42.c [1.3],
    +gxfont42.h [1.2]: 2000/03/19 03:58:51 lpd)
    +	- ImageType 4 images didn't give an error for out-of-range MaskColor
    +values. The file also had an unnecessary #include. (gximage4.c [1.2]:
    +2000/03/19 04:10:09 lpd)
    +	- If log2_transfer_map_size > 8, identity transfer functions
    +returned garbage. The fix requires that if a client wants to set a transfer
    +function to the identity mapping, it must call gx_set_identity_transfer
    +rather than simply setting the procedure to gs_identity_transfer.
    +(gxclrast.c [1.3], gxcmap.c [1.2], gxfmap.h [1.2]: 2000/03/19 17:14:47 lpd)
    +	- Fixes a warning about aliasing produced by one extremely picky
    +compiler. (gsnogc.c [1.2]: 2000/03/22 21:39:32 lpd)
    +	- Filling or clipping with ridiculously large (out-of-bounds)
    +coordinates could cause an internal overflow that produced incorrect
    +results. (This is probably not the last such bug.) (gxfill.c [1.2]:
    +2000/03/30 07:03:59 lpd)
    +
    +Provides a gs_atan2_degrees procedure to parallel sin and cos.
    +(gsmisc.c [1.2], gxfarith.h [1.2]: 2000/03/18 23:10:39 lpd)
    +
    +Improves the 8x8 bitmap "flipping" procedure to take advantage of 32-bit
    +ints. (gsutil.c [1.2]: 2000/03/18 23:16:16 lpd)
    +
    +Adds a public procedure for restricting a color to its legal range.
    +(gscspace.c [1.2], gscspace.h [1.2], gxcspace.h [1.2]: 2000/03/18 23:19:17
    +lpd)
    +
    +Adds the new ImagemaskTrapping parameter to the trapping state.
    +(gstrap.c [1.2], gstrap.h [1.2]: 2000/03/18 23:26:17 lpd)
    +
    +Increments the version number to 6.20, in anticipation of the next release.
    +(We do this at the beginning of the development for a release, not the end.)
    +(gscdef.c [1.2]: 2000/03/19 00:27:22 lpd)
    +
    +Adds a pseudo-encoding for the CFF StandardStrings that represent
    +characters. (gsccode.h [1.2]: 2000/03/19 00:38:50 lpd)
    +
    +Adds a bit_index procedure to the implementation of device halftones,
    +required for writing halftones in PDF files. (The only implementors are
    +internal ones.) (gxdht.h [1.2], gxhtbit.c [1.2]: 2000/03/19 05:10:55 lpd)
    +
    +Adds a public procedure for getting a palette entry of an Indexed color
    +space, used when writing Indexed color spaces in PDF files.
    +(gscindex.h [1.1], gscolor2.c [1.2], gscolor2.h [1.2]: 2000/03/19 05:20:28
    +lpd)
    +
    +Reimplements "PostScript calculator" (FunctionType 4) functions entirely in
    +C, to allow them to be written out in PDF files. (gsfunc4.c [1.1],
    +gsfunc4.h [1.1], gsstruct.h [1.2]: 2000/03/19 05:25:53 lpd)
    +
    +Moves gx_device_color_equal to the public API, for detecting redundant color
    +setting when writing PDF files. (gsdcolor.h [1.2], gxdcolor.c [1.2],
    +gxdcolor.h [1.2]: 2000/03/19 06:46:08 lpd)
    +
    +Changes the default value of BufferSpace to 4 Mb. In desktop applications,
    +this is a reasonable value that can substantially improve performance
    +(especially for color printers); embedded applications will want to set
    +BufferSpace themselves in any case. (gdevprn.h [1.2]: 2000/03/19 06:51:13
    +lpd)
    +
    +Adds virtual procedures for Functions to write their parameters to a
    +parameter list, and to access their data source and subfunctions. This is
    +needed for writing Functions in PDF files. This change is also a
    +prerequisite for the C implemention of FunctionType 4 functions, even though
    +it appears later in the change log. (gsdsrc.h [1.2], gsfunc.c [1.2],
    +gsfunc.h [1.2], gsfunc0.c [1.2], gsfunc3.c [1.2], gsparam.c [1.2],
    +gsparam.h [1.3], gxfunc.h [1.2]: 2000/03/19 07:24:53 lpd)
    +
    +Splits off "vanilla" Functions into separate files, in anticipation of
    +removing them (they were only used to implement PostScript Calculator
    +Functions). (gsfunc.c [1.3], gsfunc.h [1.3], gsfuncv.c [1.1],
    +gsfuncv.h [1.1]: 2000/03/19 07:33:08 lpd)
    +
    +Adds a procedure for allocating a C parameter list. (gscparam.c [1.2],
    +gsparam.h [1.4]: 2000/03/19 15:00:05 lpd)
    +
    +Undoes a premature change that depends on an update not yet checked in.
    +(gscparam.c [1.3]: 2000/03/19 15:07:59 lpd)
    +
    +Changes the key type returned by parameter list enumeration to include a
    +persistence flag, makes C parameter lists support non-persistent keys, and
    +upgrades GC descriptors so that parameter lists can be used non-transiently;
    +updates implementors of parameter lists to call gs_param_list_init to
    +initialize the common members, which is now required. (gscparam.c [1.4],
    +gsparam.c [1.3], gsparam.h [1.5]: 2000/03/19 15:16:11 lpd)
    +
    +Adds a procedure for copying one parameter list to another.
    +(gsparamx.c [1.2], gsparamx.h [1.2]: 2000/03/19 15:35:31 lpd)
    +
    +Records the CTM used for sampling HalftoneType 1 spot functions. This is
    +needed for recognizing the standard spot functions when producing PDF
    +output. Also factors the code for initializing spot functions for the
    +benefit of the PDF writer. (gshtscr.c [1.2], gxdht.h [1.3], gzht.h [1.2]:
    +2000/03/19 15:43:36 lpd)
    +
    +Adds a proc_data member to the map for Separation and Indexed color spaces.
    +(gscolor2.c [1.3], gxcolor2.h [1.2]: 2000/03/19 16:23:46 lpd)
    +
    +Makes st_indexed_map private. Clients must now use the constructor procedure
    +alloc_indexed_map rather than allocating instances directly.
    +(gscolor2.c [1.4], gscsepr.c [1.2], gxclrast.c [1.2], gxcolor2.h [1.3]:
    +2000/03/19 16:37:28 lpd)
    +
    +Adds procedures for building and accessing DeviceN color spaces.
    +(gscdevn.c [1.2], gscdevn.h [1.1]: 2000/03/19 17:02:37 lpd)
    +
    +Exports the 'blend' operators of the Type 1 interpreter, for use by the Type
    +1 / Type 2 font writer. (gstype1.c [1.3], gxtype1.c [1.2], gxtype1.h [1.3]:
    +2000/03/19 18:46:44 lpd)
    +
    +Starts to move support for CIDFontType 0 and 2 fonts into C code. (These
    +header files are the ones needed to compile the new gdevpsf* files; they
    +don't interact with any existing code.) (gxcid.h [1.1], gxfcid.h [1.1]:
    +2000/03/20 06:40:22 lpd)
    +
    +Moves font-writing support into a new module (gdevpsf*), changing the source
    +file names. Adds the ability to write CFF fonts, with either Type 1 or Type
    +2 CharStrings; unfortunately, Acrobat Reader appears not to accept CFF fonts
    +with Type 1 CharStrings. Adds the ability to convert Type 1 CharStrings to
    +Type 2, including optimizing sequences of Type 1 operators into a single
    +Type 2 operator. Implements writing CIDFontType 0 CFF fonts (CIDFonts) [NOT
    +TESTED]. Starts (just barely) to remove more unneeded information from
    +embedded TrueType fonts. (gxttf.h [1.1]: 2000/03/20 07:02:12 lpd)
    +
    +Starts to move support for CIDFontType 0 and 2 into C code, needed by the
    +PDF writer for handling CID-keyed fonts. Implements GlyphDirectory for
    +CIDFonts. Makes GDBytes and CIDMapOffset optional for CIDFontType 0 fonts
    +that have a GlyphDirectory (not documented in the PLRM, but clearly
    +correct). Implements Adobe 3011 features: integer and dictionary CIDMaps,
    +and the MetricsCount entry, in CIDFontType 2 fonts (but only in the C code,
    +which isn't hooked in yet, not in the PostScript code in gs_cidfn.ps.)
    +(gsfcid.c [1.1], gsfcmap.c [1.3], gxfcmap.h [1.2], gxfont1.h [1.2]:
    +2000/03/20 19:53:06 lpd)
    +
    +Changes a few initializations to suppress warnings from one picky compiler
    +that doesn't like ptr = buf - 1 where buf is an array. (gxclpath.c [1.2]:
    +2000/03/28 02:01:34 lpd)
    +
    +Changes the get_outline / glyph_data procedure for getting encoded font
    +outline data to return an indication of whether the outline data were just
    +allocated and can be freed by the client. (This is a possibly
    +non-backward-compatible change.) (gxfcid.h [1.2], gxfont42.h [1.3]:
    +2000/03/28 18:47:02 lpd)
    +
    +Changes the procs structure of gs_type1_data to an in-line structure rather
    +than a pointer to a const structure. (Needed for moving CIDFontType 0
    +support into C.) (gstype1.c [1.4], gstype2.c [1.3], gxfont1.h [1.3],
    +gxtype1.c [1.3]: 2000/03/29 22:10:31 lpd)
    +
    +Finishes moving support for CIDFontType 0 fonts from PostScript to C.
    +(gxfcid.h [1.3]: 2000/03/31 04:55:18 lpd)
    +
    +Finishes implementing the ability to write CIDFontType 0 CFFs. This involved
    +a surprising number of changes in other font-related files. (gsfcid.c [1.2],
    +gxfcid.h [1.4]: 2000/04/02 07:38:46 lpd)
    +
    +
    + +

    Version 6.01 (2000-03-17)

    + +This is a bug-fix release for 6.0. + +This release fixes the following reported bugs: #101555, #101813, #101816, +#101818, #101827, #101830, #101871, #101853, #101906, #101949, #101950, +#102003, #102004, #102038, #102081, #102936. + +

    Incompatible changes

    + +(Platforms) + - OpenVMS using VAX C is no longer supported. (OpenVMS with DEC C +and gcc are still supported.) +(Drivers) + - The third argument of psdf_set_color is changed from const char * +to const psdf_set_color_commands_t *. +(Interpreter) + - The non-standard feature of writing dictionaries in binary object +output is now disabled by default, but can now be enabled dynamically. +(Library) + - The definition of TRANSPARENCY_PER_H_P is moved from gdevmrop.h to +gsropt.h. + - The handling of the source opaque, texture transparent case of +RasterOp when TRANSPARENCY_PER_H_P is defined is changed slightly. + + +

    Documentation

    +
    +Fixes problems:
    +	- Fixes a typo. (man/ps2pdf.1 [1.2]: 2000/03/10 03:11:06 lpd)
    +	- When converting PostScript to PDF, selecting /Bicubic as an image
    +DownsampleType caused an error instead of defaulting to /Average.
    +(doc/Ps2pdf.htm [1.2]: 2000/03/10 04:16:09 lpd)
    +	- The gs###src.zip and gs###lib.zip files weren't mentioned as being
    +included in distributions; News.htm and Changes.htm weren't mentioned at
    +all. (doc/Release.htm [1.5]: 2000/03/15 07:23:52 lpd)
    +	- Fixes a problem producing too much black in the output; also adds
    +support for 5 new printers (H-P Color DeskJet 690, H-P DesignJet 750, and
    +Epson Stylus Color 200). Note that this is user-contributed code.
    +(doc/Devices.htm [1.2]: 2000/03/16 02:01:36 lpd)
    +
    +In ansi2knr, adds user-contributed support for concatenated string literals
    +and character constants, and fixes for a couple of minor bugs.
    +(man/ansi2knr.1 [1.2]: 2000/03/10 03:16:17 lpd)
    +
    +Removes an inappropriate copying notice. (doc/Hershey.htm [1.2]: 2000/03/10
    +07:03:57 lpd)
    +
    +Clarifies when xdpyinfo and xwininfo are needed. Adds privacy options for
    +problem reports. (doc/Bug-form.htm [1.2]: 2000/03/10 07:06:08 lpd)
    +
    +Adds a new eps2eps utility analogous to ps2ps. (man/eps2eps.1 [1.1],
    +man/ps2ps.1 [1.2]: 2000/03/10 07:51:55 lpd)
    +
    +Updates the documentation on making RPMs, which is no longer supported.
    +(doc/Install.htm [1.2], doc/Make.htm [1.2]: 2000/03/10 07:58:00 lpd)
    +
    +Adds a recommendation to use gcc on SGI platforms. (doc/Make.htm [1.3]:
    +2000/03/10 07:59:53 lpd)
    +
    +Updates documentation regarding Unix systems that do/don't use libpthread.
    +(doc/Make.htm [1.4]: 2000/03/10 08:01:35 lpd)
    +
    +Removes support for VAX C, which DEC stopped supporting 9 (!) years ago.
    +(doc/Make.htm [1.5], doc/Use.htm [1.2]: 2000/03/10 08:02:59 lpd)
    +
    +Updates the documentation for building Aladdin releases to reflect revised
    +procedures for the Windows executable, and a few other minor changes.
    +(doc/Release.htm [1.2]: 2000/03/10 15:55:39 lpd)
    +
    +Adds the ability to compile on OS/2 with XFree86. (doc/Install.htm [1.3],
    +doc/Make.htm [1.6]: 2000/03/10 19:50:49 lpd)
    +
    +Moves all history for versions 5.n into History5.htm; creates History6.htm
    +for versions 6.n; redefines News.htm as containing only news for the current
    +release; adds (a link to) Changes.htm for the mechanically generated change
    +log. (doc/History5.htm [1.2], doc/History6.htm [1.1], doc/News.htm [1.2],
    +doc/README [1.2], doc/Readme.htm [1.2]: 2000/03/14 06:14:43 lpd)
    +
    +Partially updates the release procedure documentation to reflect the use of
    +SourceForge and CVS. (doc/Release.htm [1.3]: 2000/03/14 06:39:23 lpd)
    +
    +Adds a change log generated mechanically from the CVS logs. Future releases
    +may omit this file (doc/Changes.htm) from their change log.
    +(doc/Changes.htm [1.1], doc/News.htm [1.3]: 2000/03/14 06:48:44 lpd)
    +
    +Revises the release procedures to reflect use of SourceForge, and to
    +separate out the procedures for building Windows executables.
    +(doc/Release.htm [1.4]: 2000/03/15 02:24:58 lpd)
    +
    +Adds information on uninstalling Ghostscript on Windows.
    +(doc/Install.htm [1.4]: 2000/03/15 07:29:53 lpd)
    +
    +Adds the ability to set the ProcessColorModel of the pdfwrite device to
    +/DeviceGray, /DeviceRGB, or /DeviceCMYK. This affects the color space used
    +for fill, stroke, text, and imagemask, and for images that (for whatever
    +reason) can't be written in their specified color space. Note that this is a
    +short-term fix: pdfwrite should output colors in the color space in which
    +they were specified. However, a proper fix will require more significant
    +architectural changes. (doc/News.htm [1.4]: 2000/03/16 01:21:23 lpd)
    +
    +Adds a reference to a third-party Fontmap for the Computer Modern fonts.
    +(doc/Fonts.htm [1.2]: 2000/03/16 04:05:07 lpd)
    +
    +Adds documentation and a makefile entry for Matthew Gelhaus' cdj880 driver.
    +The code will eventually be included in gdevcd8.c, but it is not yet mature
    +enough. (doc/Devices.htm [1.3]: 2000/03/16 08:09:42 lpd)
    +
    +Updates the version number reference in the troff header.
    +(man/ps2pdf.1 [1.3], man/ps2ps.1 [1.3]: 2000/03/17 00:47:08 lpd)
    +
    +Removes the attempted documentation on building Windows executable
    +distributions: it was never correct, and Aladdin will no longer be creating
    +such distributions. Also reorganizes the document slightly and brings the
    +rest of it fully into line with reality. (doc/Release.htm [1.6]: 2000/03/17
    +04:40:47 lpd)
    +
    +Adds information on building with the Intel C/C++ optimizing compiler
    +(requires the Microsoft Visual C++ environment), and fixes a typo in the
    +link to ftp.cdrom.com. (doc/Make.htm [1.7]: 2000/03/17 17:42:59 lpd)
    +
    +Checks in the first wrap-up for the 6.01 release. (doc/Changes.htm [1.2],
    +doc/History6.htm [1.2], doc/News.htm [1.5]: 2000/03/18 04:13:40 lpd)
    +
    +

    Procedures

    +
    +Fixes problems:
    +	- The terminating $ on the $Id: line in gsmalloc.c was missing, and
    +dwuninst.rc lacked a $Id: line. (dwuninst.rc [1.2]: 2000/03/10 03:44:33 lpd)
    +	- The %ram% IODevice was defined, but should not be (it represents a
    +RAM-based file system, which Ghostscript does not provide). Fix: The type of
    +the %null% IODevice was /FileSystem rather than /Special. (int.mak [1.2]:
    +2000/03/10 07:02:07 lpd)
    +	- The dependency list for coslwxl omitted a $(DD).
    +(contrib.mak [1.2]: 2000/03/10 07:30:54 lpd)
    +	- The makefile still referred to a long-gone driver for the DEC
    +LA70. (contrib.mak [1.3]: 2000/03/10 07:32:43 lpd)
    +	- The Unix install process tried to make links without deleting them
    +first. (unixinst.mak [1.2]: 2000/03/10 07:49:21 lpd)
    +	- The Watcom compiler switches didn't force enums to occupy a full
    +int, leading to execution errors because the code casts (enum *) pointers to
    +(int *). (wccommon.mak [1.2]: 2000/03/10 08:15:31 lpd)
    +	- The Windows zip archive didn't include font metrics files. (This
    +change only fixes the build procedure: it doesn't actually update the
    +currently released zip archive.) (winint.mak [1.2]: 2000/03/10 08:17:06 lpd)
    +	- the "all architectures" build and test script hadn't been updated
    +to use different STDLIBS values depending on where the platform provides the
    +pthreads library. (all-arch.mak [1.2]: 2000/03/10 15:40:43 lpd)
    +	- The documentation for building with pthreads on FreeBSD hadn't
    +been updated. (unix-gcc.mak [1.2], unixansi.mak [1.2], unixtrad.mak [1.2]:
    +2000/03/10 15:44:01 lpd)
    +	- gsmalloc.c didn't include the prototype for gs_exit(), which it
    +calls. (lib.mak [1.2]: 2000/03/10 15:53:08 lpd)
    +
    +Because of rampant confusion, disagreement, and lack of standardization,
    +removes the RPM-related spec and patch files. (gs-fonts.rps [1.2],
    +gs.rps [1.2], rpm-conf.dif [1.2]: 2000/03/10 03:22:04 lpd)
    +
    +Increases the stack size for the PC platforms, since a user had reported
    +that the OS/2 stack size was too small. (dw32c.def [1.2],
    +dwmain32.def [1.2], gsos2.def [1.2]: 2000/03/10 03:33:21 lpd)
    +
    +Updates the Brother HL7xx drivers with a new user-contributed version, plus
    +a couple of minor fixes. (contrib.mak [1.4]: 2000/03/10 07:33:44 lpd)
    +
    +Adds a new eps2eps utility analogous to ps2ps. (unixinst.mak [1.3]:
    +2000/03/10 07:51:55 lpd)
    +
    +Removes support for VAX C, which DEC stopped supporting 9 (!) years ago.
    +(openvms.mak [1.2], openvms.mmk [1.2]: 2000/03/10 08:02:59 lpd)
    +
    +Updates all makefiles to the current libpng version, 1.0.5.
    +(bcwin32.mak [1.2], dvx-gcc.mak [1.2], msvc32.mak [1.2], msvclib.mak [1.2],
    +os2.mak [1.2], ugcclib.mak [1.2], unix-gcc.mak [1.3], unixansi.mak [1.3],
    +unixtrad.mak [1.3], watc.mak [1.2], watclib.mak [1.2], watcw32.mak [1.2]:
    +2000/03/10 15:48:58 lpd)
    +
    +Updates the version # to 6.01, and the version date. (version.mak [1.2]:
    +2000/03/10 17:18:29 lpd)
    +
    +Adds the ability to compile on OS/2 with XFree86. (os2.mak [1.3]: 2000/03/10
    +19:50:49 lpd)
    +
    +Moves all history for versions 5.n into History5.htm; creates History6.htm
    +for versions 6.n; redefines News.htm as containing only news for the current
    +release; adds (a link to) Changes.htm for the mechanically generated change
    +log. (unixinst.mak [1.4], version.mak [1.3]: 2000/03/14 06:14:44 lpd)
    +
    +Adds entries for ibm-rs6000-aix-4.3, sgi-mips-irix6.5-64bit, and
    +sun-sparc-solaris-64bit. (all-arch.mak [1.3]: 2000/03/15 18:38:29 lpd)
    +
    +Adds the ability to set the ProcessColorModel of the pdfwrite device to
    +/DeviceGray, /DeviceRGB, or /DeviceCMYK. This affects the color space used
    +for fill, stroke, text, and imagemask, and for images that (for whatever
    +reason) can't be written in their specified color space. Note that this is a
    +short-term fix: pdfwrite should output colors in the color space in which
    +they were specified. However, a proper fix will require more significant
    +architectural changes. (version.mak [1.4]: 2000/03/16 01:21:24 lpd)
    +
    +Adds documentation and a makefile entry for Matthew Gelhaus' cdj880 driver.
    +The code will eventually be included in gdevcd8.c, but it is not yet mature
    +enough. (contrib.mak [1.5]: 2000/03/16 08:09:42 lpd)
    +
    +Adds a missing dependency of gdevpdft.o on gxfont42.h. (devs.mak [1.2]:
    +2000/03/17 02:59:26 lpd)
    +
    +Adds a disclaimer of responsibility for the makefile section for creating
    +distribution archives, which Aladdin is no longer maintaining.
    +(winint.mak [1.3]: 2000/03/17 03:01:58 lpd)
    +
    +Checks in the first wrap-up for the 6.01 release. (unix-gcc.mak [1.4],
    +version.mak [1.5]: 2000/03/18 04:13:40 lpd)
    +
    +

    Utilities

    +
    +Fixes problems:
    +	- The loader for the stochastic halftone incorrectly assumed that
    +the resource file left the resource on the stack, causing a stackunderflow
    +error. (lib/stocht.ps [1.2]: 2000/03/10 03:34:44 lpd)
    +	- The ps2pdf*.bat scripts didn't set PS2PDFSW to the empty string if
    +there were no arguments, causing the same file to be processed again.
    +(lib/ps2pdf12.bat [1.2], lib/ps2pdf13.bat [1.2]: 2000/03/10 07:40:00 lpd)
    +	- Fixes a typo in the fix for putting stdout in binary mode.
    +(gp_ntfs.c [1.3]: 2000/03/18 01:15:16 lpd)
    +	- For printer devices, a non-null definition for OutputFile was
    +required even on platforms that had a default printer (as implemented by
    +gp_open_printer for that platform). (gp_os9.c [1.2], gp_unix.c [1.2],
    +gp_vms.c [1.2]: 2000/03/18 01:45:16 lpd)
    +
    +In ansi2knr, adds user-contributed support for concatenated string literals
    +and character constants, and fixes for a couple of minor bugs.
    +(ansi2knr.c [1.2]: 2000/03/10 03:16:17 lpd)
    +
    +Updates the pf2afm.ps utility with a revised version from its authors.
    +(lib/pf2afm.ps [1.2]: 2000/03/10 03:35:37 lpd)
    +
    +Adds a new eps2eps utility analogous to ps2ps. (lib/eps2eps [1.1],
    +lib/eps2eps.bat [1.1]: 2000/03/10 07:51:55 lpd)
    +
    +Removes a temporary file that was included in the fileset by mistake.
    +(lib/history [1.2]: 2000/03/10 08:18:36 lpd)
    +
    +Changes the ps2pdf MS Windows / MS-DOS scripts to use temporary files to
    +avoid the absurdly low limits on the length of a command line and the total
    +size of environment variable definitions. (lib/ps2pdf.bat [1.2],
    +lib/ps2pdf12.bat [1.3], lib/ps2pdf13.bat [1.3], lib/ps2pdfwr.bat [1.2],
    +lib/ps2pdfxx.bat [1.1]: 2000/03/14 20:20:20 lpd)
    +
    +On Windows, puts stdout into binary mode as well as stdin, to allow piping
    +printer output through stdout (not a good idea, but it should be supported
    +as well as on other platforms). (gp_ntfs.c [1.2]: 2000/03/17 06:22:59 lpd)
    +
    +

    Drivers

    +
    +Fixes problems:
    +	- When converting PostScript to PDF, selecting /Bicubic as an image
    +DownsampleType caused an error instead of defaulting to /Average.
    +(gdevpsdf.h [1.2], gdevpsdi.c [1.2], gdevpsdp.c [1.2]: 2000/03/10 04:16:09
    +lpd)
    +	- The mswinpr2 driver didn't handle setting BitsPerPixel to the same
    +value when the device was already open, possibly causing an error on restore
    +or grestore. (gdevwpr2.c [1.2]: 2000/03/10 04:26:07 lpd)
    +	- When operating in buffered mode (MaxBitmap > 0), the X driver
    +sometimes failed to copy all of the updated area to the screen.
    +(gdevx.c [1.2], gdevx.h [1.2], gdevxini.c [1.2], gdevxxf.c [1.2]: 2000/03/10
    +06:56:27 lpd)
    +	- The [e]pswrite driver produced invalid output if the input file
    +didn't end with a showpage. Also cleans up some formatting and removes a
    +redundant test. (gdevps.c [1.2]: 2000/03/10 07:44:27 lpd)
    +	- Fixes a problem producing too much black in the output; also adds
    +support for 5 new printers (H-P Color DeskJet 690, H-P DesignJet 750, and
    +Epson Stylus Color 200). Note that this is user-contributed code.
    +(gdevupd.c [1.2], lib/bjc610a0.upp [1.2], lib/bjc610a1.upp [1.2],
    +lib/bjc610a2.upp [1.2], lib/bjc610a3.upp [1.2], lib/bjc610a4.upp [1.2],
    +lib/bjc610a5.upp [1.2], lib/bjc610a6.upp [1.2], lib/bjc610a7.upp [1.2],
    +lib/bjc610a8.upp [1.2], lib/bjc610b1.upp [1.2], lib/bjc610b2.upp [1.2],
    +lib/bjc610b3.upp [1.2], lib/bjc610b4.upp [1.2], lib/bjc610b6.upp [1.2],
    +lib/bjc610b7.upp [1.2], lib/bjc610b8.upp [1.2], lib/cdj550.upp [1.2],
    +lib/cdj690.upp [1.1], lib/cdj690ec.upp [1.1], lib/dnj750c.upp [1.1],
    +lib/dnj750m.upp [1.1], lib/ras32.upp [1.2], lib/stc.upp [1.2],
    +lib/stc1520h.upp [1.2], lib/stc2.upp [1.2], lib/stc200_h.upp [1.1],
    +lib/stc2_h.upp [1.2], lib/stc2s_h.upp [1.2], lib/stc500p.upp [1.2],
    +lib/stc500ph.upp [1.2], lib/stc600ih.upp [1.2], lib/stc600p.upp [1.2],
    +lib/stc600pl.upp [1.2], lib/stc800ih.upp [1.2], lib/stc800p.upp [1.2],
    +lib/stc800pl.upp [1.2], lib/stc_h.upp [1.2], lib/stc_l.upp [1.2],
    +lib/stcany.upp [1.2]: 2000/03/16 02:01:36 lpd)
    +	- The X driver's algorithm for deciding when to update the screen
    +was changed several times between 5.50 and 6.0, and one of the more recent
    +changes caused it to copy many more pixels to the screen than necessary if
    +the file was making marks on the page in widely separated places.
    +(gdevx.c [1.3]: 2000/03/17 07:35:43 lpd)
    +	- In the X driver, the full-page buffer controlled by -dMaxBitmap=
    +wasn't allocated with a stable allocator, possibly leading to memory access
    +errors if save/restore were used. (gdevxini.c [1.3]: 2000/03/18 04:11:59
    +lpd)
    +
    +Updates the Brother HL7xx drivers with a new user-contributed version, plus
    +a couple of minor fixes. (gdevhl7x.c [1.2]: 2000/03/10 07:33:44 lpd)
    +
    +Enhances the [e]pswrite driver to handle Indexed color spaces over Device
    +color spaces, only with the standard Decode. (gdevps.c [1.3]: 2000/03/10
    +07:45:50 lpd)
    +
    +Adds the ability to set the ProcessColorModel of the pdfwrite device to
    +/DeviceGray, /DeviceRGB, or /DeviceCMYK. This affects the color space used
    +for fill, stroke, text, and imagemask, and for images that (for whatever
    +reason) can't be written in their specified color space. Note that this is a
    +short-term fix: pdfwrite should output colors in the color space in which
    +they were specified. However, a proper fix will require more significant
    +architectural changes. (gdevpsdf.c [1.2], gdevpsdf.h [1.3]: 2000/03/16
    +01:21:24 lpd)
    +
    +Adds two more user-contributed 'uniprint' printer parameter sets: Epson
    +Stylus Color 640, and a generic Epson Stylus Color in high resolution mode
    +(720x720 dpi). (lib/stc640p.upp [1.1], lib/stcany_h.upp [1.1]: 2000/03/16
    +02:03:40 lpd)
    +
    +

    PDF writer

    +
    +Fixes problems:
    +	- In-line images emitted an extra 'q' (gsave), causing the CTM to
    +become incorrect, entries to pile up on the dictionary stack, and an
    +invalidrestore error to occur at the end of the page. (gdevpdfi.c [1.2]:
    +2000/03/10 03:47:37 lpd)
    +	- The change in 5.99 to work around Acrobat Reader's 32K limit on
    +user space coordinates caused all 0-width rectangles to disappear, which had
    +major effects on some files. (gdevpdfd.c [1.2]: 2000/03/10 03:48:10 lpd)
    +	- Incrementally downloaded TrueType fonts produced truncated Widths
    +tables in the output. We have patched this with a ******HACK****** that
    +causes such fonts to be converted to bitmaps: the correct fix (to delay
    +determining the range of valid characters until the font is written) is too
    +large a change to make in a bug fix release. (gdevpdft.c [1.2]: 2000/03/10
    +03:48:48 lpd)
    +
    +Adds the ability to set the ProcessColorModel of the pdfwrite device to
    +/DeviceGray, /DeviceRGB, or /DeviceCMYK. This affects the color space used
    +for fill, stroke, text, and imagemask, and for images that (for whatever
    +reason) can't be written in their specified color space. Note that this is a
    +short-term fix: pdfwrite should output colors in the color space in which
    +they were specified. However, a proper fix will require more significant
    +architectural changes. (gdevpdf.c [1.2], gdevpdfd.c [1.3], gdevpdfi.c [1.3],
    +gdevpdfp.c [1.2], gdevpdft.c [1.3], gdevpdfu.c [1.2], gdevpdfx.h [1.2]:
    +2000/03/16 01:21:24 lpd)
    +
    +

    Interpreter (PDF)

    +
    +Fixes problems:
    +	- When interpreting a PDF file, the Install page device procedure
    +got more and more deeply nested after every page, eventually causing an
    +execstackoverflow. (lib/pdf_main.ps [1.2]: 2000/03/10 03:56:11 lpd)
    +	- When interpreting a PDF file, text drawing operators didn't reset
    +the text position, so strings could get displayed on top of each other. (bug
    +introduced by a fix in 5.98) (lib/pdf_ops.ps [1.2]: 2000/03/10 03:57:03 lpd)
    +	- When interpreting a PDF file, substituted small-cap fonts were
    +created with incorrect scaling. (lib/pdf_font.ps [1.2]: 2000/03/10 03:57:50
    +lpd)
    +
    +Cleans up some formatting. (lib/pdf_base.ps [1.2]: 2000/03/10 03:58:14 lpd)
    +
    +

    Interpreter

    +
    +Fixes problems:
    +	- There were extraneous 'def' commands that caused definitions to be
    +made in the wrong dictionary. (lib/gs_ttf.ps [1.2]: 2000/03/10 03:31:39 lpd)
    +	- If an error occurred while loading a font, it wouldn't produce an
    +error message. (This is a 'fix' of a 'fix' of a 'fix': it might well break
    +something else.) (lib/gs_type1.ps [1.2]: 2000/03/10 03:37:14 lpd)
    +	- When reading the strings of a binary object sequence, having to
    +get more data from a procedure-based stream sometimes caused a syntaxerror.
    +Fix: If the reserved (0) field in binary objects or binary object sequences
    +was not 0, no syntaxerror occurred. (iscanbin.c [1.2]: 2000/03/10 03:38:50
    +lpd)
    +	- The code for handling execstackoverflow errors didn't cut back the
    +stack correctly, possibly causing invalid memory accesses if an incorrect
    +attempt was made to run a cleanup procedure. (interp.c [1.2]: 2000/03/10
    +04:04:38 lpd)
    +	- Writing of dictionaries in binary object output, a non-standard
    +extension, was enabled by default, and also had to be enabled at startup
    +time if it was ever going to be used. Fix: Binary error messages caused an
    +error if the command wasn't of a type that printobject could handle. We now
    +do what the Adobe implementations appear to do in this case, namely, convert
    +the object with cvs. (lib/gs_btokn.ps [1.2]: 2000/03/10 04:27:31 lpd)
    +	- CloseSource and CloseTarget were effectively ignored for Flate and
    +LZW filters with a Predictor, and for the DCT filters. (ifilter.h [1.2],
    +zfdctd.c [1.2], zfdcte.c [1.2], zfdecode.c [1.2], zfilter.c [1.2],
    +zfilter2.c [1.2]: 2000/03/10 04:32:51 lpd)
    +	- findlibfile didn't handle %iodevice% prefixes correctly.
    +(zfile.c [1.2]: 2000/03/10 04:35:08 lpd)
    +	- fileposition didn't give an error for filters or non-seekable
    +streams. (zfileio.c [1.2]: 2000/03/10 04:35:53 lpd)
    +	- Images with input from a file or filter demanded 1 byte of data
    +too many, sometimes causing the last line of the image to be dropped. (bug
    +probably introduced in 6.0) (zimage.c [1.2]: 2000/03/10 04:37:02 lpd)
    +	- The check for a show within a cshow procedure for a CID font was
    +wrong. Fix: Character widths in CIDFontType 0 fonts were ignored (!). Adds a
    +.glyphwidth operator to support correct handling of character widths for CID
    +fonts. Adds a glyphwidth procedure to the library, like glyphshow and
    +glyphpath, in order to support correct handling of widths for CID fonts.
    +(ichar.h [1.2], lib/gs_cidfn.ps [1.2], zchar.c [1.2], zcharx.c [1.2]:
    +2000/03/10 04:41:47 lpd)
    +	- resourcestatus for fonts was broken. (lib/gs_res.ps [1.2]:
    +2000/03/10 04:54:15 lpd)
    +	- Fixes incorrect documentation of several procedures.
    +(lib/gs_fonts.ps [1.2]: 2000/03/10 07:00:28 lpd)
    +	- The %ram% IODevice was defined, but should not be (it represents a
    +RAM-based file system, which Ghostscript does not provide). Fix: The type of
    +the %null% IODevice was /FileSystem rather than /Special. (ziodev2.c [1.2]:
    +2000/03/10 07:02:07 lpd)
    +	- Directly-loaded TrueType fonts (including embedded TrueType fonts
    +in PDF files) could get confused with each other in the cache, because their
    +XUIDs were based on the font checksum field, which some fonts don't have set
    +correctly. (lib/gs_ttf.ps [1.3]: 2000/03/16 07:38:07 lpd)
    +
    +Adds a new example file, a 3-D synthetic image. (examples/doretree.ps [1.1]:
    +2000/03/10 04:00:45 lpd)
    +
    +Adds implementations of the devforall, devstatus, and diskonline
    +compatibility operators. (lib/gs_statd.ps [1.2]: 2000/03/10 04:01:55 lpd)
    +
    +Some Adobe CIDFonts include a line /Setup /cid_Setup load def that
    +apparently is intended only to prevent the fonts from being loaded by a
    +standard PostScript interpreter (as opposed to ATM or a special font
    +loader), since cid_Setup is not defined anywhere and Setup is never
    +referenced; this change adds a dummy definition of cid_Setup to work around
    +this. (lib/gs_cidfn.ps [1.3]: 2000/03/10 04:53:25 lpd)
    +
    +Updates the version # to 6.01, and the version date. (lib/gs_init.ps [1.2]:
    +2000/03/10 17:18:29 lpd)
    +
    +Changes the default undercolor removal and black generation functions back
    +from f(k) = k to f(k) = 0. This fixes some, but not all, of the reported
    +problems with color inkjet output in 6.0. (lib/gs_init.ps [1.3]: 2000/03/10
    +18:47:31 lpd)
    +
    +On Windows, puts stdout into binary mode as well as stdin, to allow piping
    +printer output through stdout (not a good idea, but it should be supported
    +as well as on other platforms). (dwmainc.cpp [1.2]: 2000/03/17 06:22:59 lpd)
    +
    +

    Streams

    +
    +Changes the sbuf_min_left macro to a procedure for readability and in
    +preparation for later revision. (stream.c [1.2], stream.h [1.2]: 2000/03/10
    +03:40:13 lpd)
    +
    +

    Library

    +
    +Fixes problems:
    +	- (%os%) currentdevparams didn't return (fixed) values for
    +InitializeAction, Mounted, Removable, Searchable, SearchOrder, and
    +Writeable, or (meaningful) values for BlockSize, Free, and LogicalSize.
    +Currently, the latter values are dummies. (gsiodev.c [1.2]: 2000/03/10
    +03:43:06 lpd)
    +	- The terminating $ on the $Id: line in gsmalloc.c was missing, and
    +dwuninst.rc lacked a $Id: line. (gsmalloc.c [1.2]: 2000/03/10 03:44:33 lpd)
    +	- RasterOps with source transparency = 0, texture transparency = 1
    +didn't match the (very peculiar) H-P specification even if
    +TRANSPARENCY_PER_H_P was defined. (gdevdrop.c [1.2], gdevmrop.h [1.2],
    +gsropt.h [1.2]: 2000/03/10 04:06:15 lpd)
    +	- The prototype for gs_exit() was not included even though gs_exit()
    +was called. Fix: A cast discarded const unnecessarily. (gsalloc.c [1.2]:
    +2000/03/10 04:08:23 lpd)
    +	- The type of the %pipe% IODevice was /FileSystem, whereas it should
    +be /Special. (gdevpipe.c [1.2]: 2000/03/10 04:13:57 lpd)
    +	- An incorrectly formatted procedure couldn't be converted correctly
    +by ansi2knr. (gxidata.c [1.2]: 2000/03/10 04:30:58 lpd)
    +	- The check for a show within a cshow procedure for a CID font was
    +wrong. Fix: Character widths in CIDFontType 0 fonts were ignored (!). Adds a
    +.glyphwidth operator to support correct handling of character widths for CID
    +fonts. Adds a glyphwidth procedure to the library, like glyphshow and
    +glyphpath, in order to support correct handling of widths for CID fonts.
    +(gschar.c [1.2], gschar.h [1.2], gstext.c [1.2], gstext.h [1.2]: 2000/03/10
    +04:41:47 lpd)
    +	- The description of the value returned by code_map_decode_next in
    +*pchr was incorrect. (documentation bug only) (gsfcmap.c [1.2]: 2000/03/10
    +07:03:09 lpd)
    +	- Fixes a problem producing too much black in the output; also adds
    +support for 5 new printers (H-P Color DeskJet 690, H-P DesignJet 750, and
    +Epson Stylus Color 200). Note that this is user-contributed code.
    +(gsargs.h [1.2]: 2000/03/16 02:01:36 lpd)
    +	- The code for Axial shadings incorrectly assumed that if the
    +shading axis was horizontal or vertical in user space, it was also
    +horizontal or vertical in device space: this caused incorrect results when
    +the CTM wasn't orthogonal. (gxshade1.c [1.2]: 2000/03/17 08:17:55 lpd)
    +	- For printer devices, a non-null definition for OutputFile was
    +required even on platforms that had a default printer (as implemented by
    +gp_open_printer for that platform). (gp.h [1.2], gsdevice.c [1.2]:
    +2000/03/18 01:45:16 lpd)
    +
    +Clears the glyf and loca offsets in TrueType fonts that lack these tables,
    +so that clients who care can tell whether the font is being downloaded
    +incrementally. (gstype42.c [1.2]: 2000/03/10 03:45:29 lpd)
    +
    +Changes a few macro definitions to work around over-zealous compiler
    +warnings. (gstype1.c [1.2], gstype2.c [1.2], gxtype1.h [1.2]: 2000/03/10
    +04:29:37 lpd)
    +
    +Changes the default undercolor removal and black generation functions back
    +from f(k) = k to f(k) = 0. This fixes some, but not all, of the reported
    +problems with color inkjet output in 6.0. (gxdcconv.c [1.2]: 2000/03/10
    +18:47:31 lpd)
    +
    +
    + +

    Version 6.0 (2000-02-03)

    + +This is the first public release since 5.50. See the +release summary for information about new capabilities and known +problems. + +

    Documentation

    + +Documents the fact that the plane_depths of a gx_image_enum structure may +vary, and that planes_wanted procedure of a gx_image_enum must return false +if the depths *or* widths can change. (gxiparam.h) + +Documents the fact that a wanted plane's wanted status, width, or depth can +only be changed by a call of plane_data that provides data for that plane. +(gxiparam.h) + +Documents the change in the handling of the pthreads library. +(doc/Make.htm) + +Documents the fact that setting parameters for the DCTEncode filter in +ps2pdf causes a crash. (doc/Ps2pdf.htm) + +Documents another bug in the MIPSpro 7.x / IRIX 6.5.x compilers, with +isave.c. (doc/Make.htm) + +Corrects Russell Lang's e-mail address. (doc/New-user.htm) + +Documents the new image operator test file and the pdfeof file. +(doc/Psfiles.htm) + +Documents the 'w' argument for image_render procedures. (gxiclass.h) + +Adds a little more checking to the release process. (doc/Release.htm) + +Documents the return values from the font build_char procedure. (gxfont.h) + +Documents the fact that the free 'zip' program is needed to build the +self-extracting Windows executable, as well as WinZipSE. (doc/Make.htm, +msvc32.mak, winint.mak) + +Adds references to several new free fonts. (doc/Fonts.htm) + +Documents an important invariant for streams. (stream.h) + +Adds a reference for user-supported Watcom / GNU make makefiles. +(doc/Make.htm, doc/New-user.htm) + +Documents the dependence of gs_ttf.ps on some of the gs_*_e.ps files. +(lib/gs_ttf.ps) + +Documents how to make self-extracting Windows executables. +(doc/Release.htm) + +Adds a number of new user-contributed man pages. (unixinst.mak, man/gslp.1, +man/wftopfa.1, man/printafm.1, man/pfbtopfa.1, man/font2c.1, man/dvipdf.1, +man/ps2pdfwr.1, man/gsnd.1, man/pf2afm.1, man/ps2pdf.1) + +

    Procedures

    + +Fixes problems: + - Building on BSDI didn't work. The simplest way to fix this was to +change the linking of the pthreads library on Unix platforms to be included +in STDLIBS rather than the "sync" implementation. (fix contributed by a +user) (lib.mak, unix-gcc.mak, unixansi.mak, unixtrad.mak) + - Once again, some runtime files weren't installed. (unixinst.mak) + - Building the self-extracting executable didn't work. (winint.mak) + +Updates the user-contributed all-architectures makefile. (all-arch.mak) + +

    Utilities

    + +Fixes problems: + - A needed #include was missing. (geninit.c) + - There were signed/unsigned char mismatches. (genht.c, geninit.c) + - The MacOS compiler imposes a 32K limit on the size of a stack +frame: we changed the code to use malloc/free. (geninit.c) + +Removes an unnecessary variable. (echogs.c) + +Adds a file that attempts to test the image operators exhaustively. +(lib/image-qa.ps, unixinst.mak) + +Enhances the prfont.ps utility to print CIDFonts. (lib/prfont.ps) + +Adds a utility file that patches the PDF interpreter to allow garbage after +the %%EOF (or the %%EOF to be missing completely). (lib/pdfeof.ps) + +

    Drivers

    + +Fixes problems: + - The X driver compared too many bits of color value, leading to +unnecessary halftoning. (bug introduced by a fix in 5.99) (gdevxcmp.c) + - Output from the pswrite driver got a dictfull error on Level 1 +printers. (gdevps.c) + - Anti-aliasing had stopped working on MS Windows and OS/2. (bug +probably introduced in 5.65) (gdevmswn.c, gdevpm.c) + +

    Platforms

    + +Adds a conditional definition of PTHREAD_CREATE_DETACHED for old versions of +the pthreads library. (gp_psync.c) + +Updates the Microsoft Visual C++ library makefile for VC++ 6. (msvclib.mak) + +Updates some copyright dates. (winint.mak, dwsetup.rc) + +

    Fonts

    + +Updates the URW fonts to include the expanded Adobe character set, including +many Eastern European accented characters. (doc/New-user.htm) + +Removes a 'readonly' that inconvenienced the authors of ttf2pf. +(lib/gs_ttf.ps) + +

    PDF writer

    + +Fixes problems: + - The Dest key was deleted from GoTo and GoToR link annotation +pdfmarks. (gdevpdfm.c) + - {name} references were substituted even in stream data for the +/PUT pdfmark. (gdevpdfm.c) + - The revision number was sometimes printed incorrectly if its +fraction part was zero. (gdevpdf.c) + - Embedded Multiple Master font instances weren't identified as +MMType1 rather than Type1. (gdevpdff.h, gdevpdff.c, gdevpdft.c, gdevpdfw.c) + - The test against MaxSubsetPct was incorrect when the percentages +were equal. (gdevpdfw.c) + - Font registrations weren't removed when the device was closed. +(gdevpdff.h, gdevpdfx.h, gdevpdff.c, gdevpdfw.c) + - Multiple /OBJ pdfmarks with the same name caused an error. For +Distiller compatibility, we now allow this if the type is the same, even +though the pdfmark specification doesn't say anything about this being +legal. (gdevpdfm.c) + +Removes an unnecessary variable. (gdevpdff.c, gdevpdfr.c) + +Disables embedding Multiple Master font instances, since Acrobat Reader +doesn't accept what appear to be correct output and we don't have time +before the release to track down the problem. (gdevpdft.c) + +

    Interpreter (PDF)

    + +Factors some code to allow patching the PDF reader to allow garbage after +the %%EOF (or the %%EOF to be missing completely). (lib/pdf_main.ps) + +

    Interpreter

    + +Fixes problems: + - Type 1 fonts with non-standard OtherSubrs had stopped working. +(bug introduced since 5.60) (zchar1.c) + - usecmap didn't work. (lib/gs_cmap.ps) + - The glyph_info procedure for Type 1 fonts didn't take Metrics[2] +or CDevProc into account. (zchar1.c, zfont1.c) + - The multiple-data-source case of images was broken. (bug +introduced in 5.99) (zimage.c) + - If a page device Install procedure caused an error, things could +be left in an inconsistent state. (lib/gs_setpd.ps) + - Using a DeviceN color space could access uninitialized data in a +color value. (zcsdevn.c) + - DeviceN images with procedure data sources were broken. +(zimage.c) + - Images with a procedure data source could terminate prematurely if +their processing was interrupted. (zimage.c) + - The garbage collector only marked half the name table sub-tables, +and attempted to mark an equal number of invalid pointers, leading to +invalid accesses or memory corruption. (iname.c) + +Removes an unused variable. (zmisc.c) + +

    Streams

    + +Fixes problems: + - sgets didn't reset the cursor pointers, so sgets into a client +buffer followed by sseek (for some kinds of streams, including files) could +get confused. (stream.c) + +

    Library

    + +Fixes problems: + - A 'const' qualifier was omitted, leading to a type mismatch. +(gxclrast.c) + - The revision number was sometimes printed incorrectly if its +fraction part was zero. (gsmisc.c) + - gs_image_next returned the wrong value in *pused if it incremented +the plane number. (bug introduced in 5.99) (gsimage.c) + - Only the last of the data_x and raster values in the local +'planes' array in gs_image_next_planes were initialized. (bug introduced in +5.99) (gsimage.c) + - The multiple-data-source case of images was broken. (bug +introduced in 5.99) (gsimage.h, gsimage.c) + - ImageType 3 images with unequal scaling for the mask and data +didn't work. (We thought they once did, but it appears they never have.) +(gximage3.c) + - Images with 12-bit samples treated a Decode entry of [1 0] the +same as [0 1]. (Other, general Decode entries worked correctly.) +(gxipixel.c) + - ImageType 3 images didn't work if processing was ever interrupted +for remapping a color. (gximage3.c) + - Images in DeviceN color spaces with 12-bit samples didn't work. +(gxi12bit.c, gxidata.c) + - Images in DeviceN color spaces could fail to render properly +because the interruption of rendering left a half-built entry in an internal +cache. (gxi12bit.c, gxicolor.c) + - Images with non-idempotent RasterOps in 1-component DeviceN color +spaces didn't render properly, because the same pixel was rendered multiple +times after a color remapping interruption. (gximono.c) + - The fast case of masked images caused a crash if invoked without +an imager state. (gximono.c) + - Flushing buffered image data could cause coordinate bookkeeping +to get out of sync. (gxidata.c) + - ImageType 3, InterleaveType 2 images sometimes failed to render +the last row. (gximage3.c) + - The fix in 5.88 for resizing large objects had a bug itself. +(gsalloc.c) + - Whan banding, if a client supplied more data than necessary for an +image, the client was told (incorrectly) that all of the data was used. +(fix from Artifex) (gxclimag.c) + - Null patterns caused a crash. (bug probably introduced by changes +to support PatternType 2) (gspcolor.c) + - On hand-initialized memory devices where line_ptrs[0] != base, +monobit RasterOps could cause invalid or stray memory accesses. (gdevmr1.c) + +Removes an unnecessary variable. (gdevppla.c, gsfont.c) + +Adds the ability to call a specified procedure when unregistering +notification, needed for removing PDF font registrations. (gsnotify.h, +gsnotify.c) + +Updates the copyright year. (gscdef.c) + +
    + + + + +
    + +

    +Copyright © 2000 Aladdin Enterprises. +All rights reserved. + +

    +This software is provided AS-IS with no warranty, either express or +implied. + +This software is distributed under license and may not be copied, +modified or distributed except as expressly authorized under the terms +of the license contained in the file LICENSE in this distribution. + +

    +Ghostscript version 7.07, 17 May 2003 + + + + + diff --git a/Master/xemtex/doc/ghostscript/History7.htm b/Master/xemtex/doc/ghostscript/History7.htm new file mode 100644 index 00000000000..7e71a4f3b3f --- /dev/null +++ b/Master/xemtex/doc/ghostscript/History7.htm @@ -0,0 +1,5109 @@ + + + +History of Ghostscript versions 7.n + + + + + + + + + + + +
    History of Ghostscript versions 7.xx +
    + + + + + +

    Table of contents

    + +
    + + + + + +

    +This document is a record of changes in Ghostscript releases numbered 7.xx. +For earlier versions, see the the history documents: + +

    +History of Ghostscript versions 6.n
    +History of Ghostscript versions 5.n
    +History of Ghostscript versions 4.n
    +History of Ghostscript versions 3.n
    +History of Ghostscript versions 2.n
    +History of Ghostscript versions 1.n +
    + +

    For other information, see the Ghostscript +overview. + + + +


    + + + + + +

    +Within each release, news appears in the following order: Incompatible +changes, Documentation, Procedures, Utilities, Drivers, Platforms, Fonts, +PDF writer (included under Drivers through fileset 5.88), Interpreter, +Streams (included under Interpreter through release 2.9.9), Library. +Changes marked with a * were made available as patches to a previous +release. + +


    + +

    Version 7.07 (2003-05-17)

    + +

    This is the third release of the stable 7.0x series under the GNU +GPL. It includes an important security update; upgrading is strongly +recommended.

    + +

    Incompatible changes

    + +

    +No incompatible changes have been recorded for this version. Users of the 6.5x versions of GNU +Ghostscript will want to check the History for a complete list of changes since that version. + +

    +
    +
    +
    +

    Documentation

    +
    +Increment the version number after release. (doc/News.htm [1.90.2.18.2.6]:
    +2003/04/08 11:05:47 giles)
    +
    +Apply standard FSF license banner to files missed the 7.06 release. Patch
    +from Brett Smith. (doc/Readme.htm [1.31.2.16.2.5]: 2003/04/12 14:02:38
    +giles)
    +
    +Update the version and data for the 7.07 release.
    +(doc/API.htm [1.11.2.13.2.6], doc/C-style.htm [1.21.2.11.2.5],
    +doc/DLL.htm [1.15.2.11.2.5], doc/Develop.htm [1.47.2.18.2.6],
    +doc/Devices.htm [1.34.2.15.2.6], doc/Drivers.htm [1.21.2.11.2.5],
    +doc/Fonts.htm [1.22.2.13.2.6], doc/Helpers.htm [1.17.2.11.2.5],
    +doc/History1.htm [1.13.2.11.2.5], doc/History2.htm [1.13.2.11.2.6],
    +doc/History3.htm [1.13.2.11.2.6], doc/History4.htm [1.13.2.11.2.6],
    +doc/History5.htm [1.15.2.11.2.6], doc/History6.htm [1.30.2.11.2.6],
    +doc/History7.htm [1.5.2.17.2.7], doc/Htmstyle.htm [1.18.2.11.2.5],
    +doc/Install.htm [1.26.2.13.2.6], doc/Issues.htm [1.15.2.13.2.5],
    +doc/Language.htm [1.34.2.16.2.5], doc/Lib.htm [1.14.2.11.2.5],
    +doc/Maintain.htm [1.23.2.12.2.6], doc/Make.htm [1.36.2.19.2.6],
    +doc/New-user.htm [1.30.2.14.2.6], doc/News.htm [1.90.2.18.2.7],
    +doc/Projects.htm [1.33.2.11.2.6], doc/Ps-style.htm [1.13.2.11.2.5],
    +doc/Ps2epsi.htm [1.15.2.12.2.6], doc/Ps2pdf.htm [1.32.2.11.2.5],
    +doc/Psfiles.htm [1.22.2.12.2.5], doc/Readme.htm [1.31.2.16.2.6],
    +doc/Release.htm [1.40.2.23.2.6], doc/Source.htm [1.13.2.11.2.5],
    +doc/Unix-lpr.htm [1.13.2.11.2.5], doc/Use.htm [1.33.2.22.2.6],
    +doc/Xfonts.htm [1.13.2.11.2.5], doc/gs-vms.hlp [1.12.2.10.2.5],
    +man/dvipdf.1 [1.10.2.9.2.5], man/font2c.1 [1.10.2.9.2.5],
    +man/gs.1 [1.10.2.10.2.5], man/gslp.1 [1.10.2.9.2.5],
    +man/gsnd.1 [1.10.2.9.2.5], man/pdf2dsc.1 [1.10.2.9.2.5],
    +man/pdf2ps.1 [1.12.2.9.2.5], man/pdfopt.1 [1.10.2.9.2.5],
    +man/pf2afm.1 [1.10.2.9.2.5], man/pfbtopfa.1 [1.11.2.9.2.5],
    +man/printafm.1 [1.10.2.9.2.5], man/ps2ascii.1 [1.10.2.9.2.5],
    +man/ps2epsi.1 [1.10.2.10.2.5], man/ps2pdf.1 [1.14.2.11.2.5],
    +man/ps2pdfwr.1 [1.13.2.10.2.5], man/ps2ps.1 [1.17.2.9.2.5],
    +man/wftopfa.1 [1.10.2.9.2.5]: 2003/05/17 14:38:59 giles)
    +
    +Update the release notes. (doc/News.htm [1.90.2.18.2.8]: 2003/05/17 14:44:22
    +giles)
    +
    +

    Procedures

    +
    +Increment the version number after release. (version.mak [1.36.2.9.2.5]:
    +2003/04/08 11:05:47 giles)
    +
    +Apply standard FSF license banner to files missed the 7.06 release. Patch
    +from Brett Smith. (toolbin/3way.tcl [1.3.6.1.2.1],
    +toolbin/cvs2hist.py [1.9.2.2.2.1], toolbin/errlist.tcl [1.3.6.1.2.1],
    +toolbin/gsindent [1.3.6.1.2.1], toolbin/gsmake.tcl [1.5.6.1.2.1],
    +toolbin/gssubst [1.1.4.1.2.1], toolbin/headers.tcl [1.3.6.1.2.1],
    +toolbin/leaks.tcl [1.3.6.1.2.1], toolbin/makegnu.tcl [1.3.6.1.2.1],
    +toolbin/makeset.tcl [1.10.2.3.2.1], toolbin/many2pdf.tcl [1.1.4.1.2.1],
    +toolbin/pdfinflt.ps [1.1.2.1.2.1], toolbin/pre [1.11.2.3.2.1],
    +toolbin/precheck.tcl [1.3.6.1.2.1], toolbin/suite.tcl [1.3.6.1.2.1],
    +toolbin/tmake.tcl [1.3.6.1.2.1]: 2003/04/12 14:02:39 giles)
    +
    +Add the bbox device to the default macos shlib build. Bug 686811.
    +(macos-mcp.mak [1.3.2.8.2.2]: 2003/04/27 23:50:11 giles)
    +
    +Add the display device to the default macos shlib build.
    +(macos-mcp.mak [1.3.2.8.2.3]: 2003/04/27 23:52:55 giles)
    +
    +Log message: For the pngalpha device, set the default background color to
    +white in the bKGD chunk. Add an option -dBackgroundColor=16#RRGGBB to
    +explicitly set the background color. This is needed by a common web browser
    +that doesn't correctly support PNG with alpha transparency. DETAILS:
    +Programs that don't fully support alpha transparency let libpng convert an
    +RGBA image to RGB. The background color used is either provided by the
    +program, or in the bKGD chunk, or it falls back to gray. MSIE was defaulting
    +to a gray background which is not commonly used on web pages. By writing a
    +white bKGD chunk, PNG files will display correctly against a white
    +background in MSIE. If a solid color for a web page background is used with
    +<body bgcolor="#CCCC00">, then PNG images appearing on that page would
    +need to be created with -dBackgroundColor=16#CCCC00. For textured background
    +there is no hope. Microsoft needs to fix Internet Explorer.
    +(libpng.mak [1.10.2.3.2.2]: 2003/05/15 10:05:29 ghostgum)
    +
    +Update the version and data for the 7.07 release.
    +(version.mak [1.36.2.9.2.6]: 2003/05/17 14:39:00 giles)
    +
    +

    Utilities

    +
    +Apply standard FSF license banner to files missed the 7.06 release. Patch
    +from Brett Smith. (lib/Fontmap.ATB [1.2.6.1.2.1],
    +lib/Fontmap.ATM [1.2.6.1.2.1], lib/Fontmap.GS [1.2.6.1.2.1],
    +lib/Fontmap.OS2 [1.2.6.1.2.1], lib/Fontmap.SGI [1.2.6.1.2.1],
    +lib/Fontmap.Sol [1.2.6.1.2.1], lib/Fontmap.Ult [1.2.6.1.2.1],
    +lib/addxchar.ps [1.2.6.1.2.1], lib/align.ps [1.2.6.1.2.1],
    +lib/bdftops.ps [1.3.2.2.2.1], lib/caption.ps [1.2.6.1.2.1],
    +lib/cid2code.ps [1.3.4.1.2.1], lib/docie.ps [1.2.6.1.2.1],
    +lib/errpage.ps [1.2.6.1.2.1], lib/font2c.ps [1.3.2.1.2.1],
    +lib/font2pcl.ps [1.2.6.2.2.1], lib/gslp.ps [1.2.6.2.2.1],
    +lib/gsnup.ps [1.2.6.1.2.1], lib/image-qa.ps [1.3.2.1.2.1],
    +lib/impath.ps [1.3.4.1.2.1], lib/jispaper.ps [1.2.6.1.2.1],
    +lib/lines.ps [1.2.6.1.2.1], lib/markhint.ps [1.2.6.1.2.1],
    +lib/markpath.ps [1.2.6.1.2.1], lib/packfile.ps [1.2.6.2.2.1],
    +lib/pcharstr.ps [1.2.6.1.2.1], lib/pdf2dsc.ps [1.3.4.2.2.1],
    +lib/pdfopt.ps [1.10.2.2.2.1], lib/pdfwrite.ps [1.7.2.1.2.1],
    +lib/pfbtopfa.ps [1.2.6.1.2.1], lib/ppath.ps [1.2.6.1.2.1],
    +lib/pphs.ps [1.3.2.1.2.1], lib/ps2ai.ps [1.2.6.1.2.1],
    +lib/ps2ascii.ps [1.3.2.2.2.1], lib/ps2epsi.ps [1.5.2.3.2.1],
    +lib/rollconv.ps [1.1.8.1], lib/showchar.ps [1.2.6.1.2.1],
    +lib/stcinfo.ps [1.2.6.1.2.1], lib/stcolor.ps [1.2.6.1.2.1],
    +lib/stocht.ps [1.3.6.1.2.1], lib/traceimg.ps [1.2.6.2.2.1],
    +lib/traceop.ps [1.2.6.1.2.1], lib/type1enc.ps [1.2.6.1.2.1],
    +lib/type1ops.ps [1.2.6.1.2.1], lib/uninfo.ps [1.2.6.1.2.1],
    +lib/unprot.ps [1.2.6.1.2.1], lib/viewcmyk.ps [1.2.6.2.2.1],
    +lib/viewgif.ps [1.2.6.1.2.1], lib/viewjpeg.ps [1.1.6.2.2.1],
    +lib/viewmiff.ps [1.2.6.1.2.1], lib/viewpbm.ps [1.2.6.2.2.1],
    +lib/viewpcx.ps [1.2.6.2.2.1], lib/viewps2a.ps [1.2.6.1.2.1],
    +lib/wftopfa.ps [1.2.6.1.2.1], lib/winmaps.ps [1.2.6.1.2.1],
    +lib/wrfont.ps [1.2.6.1.2.1], lib/zeroline.ps [1.2.6.1.2.1]: 2003/04/12
    +14:02:38 giles)
    +
    +Avoid calling a null pgsdll_callback, as can happen with the new client api
    +and CHECK_INTERRUPTS. This fix affects primarily MacOS; similar protections
    +are already in place for other platforms, although the global was not
    +explicitly initialized to null. Also return EOFC in the mac stdio stream
    +process if no callback is defined. Closes bug 686768. Also backports some
    +code cleanup from HEAD. (gp_mac.c [1.1.4.3.2.2], gp_macio.c [1.2.4.5.2.3]:
    +2003/04/12 16:37:26 giles)
    +
    +Add a missing variable declaration for VMS. Patch from Forrest Cahoon and
    +Jouk Jansen. (gp_vms.c [1.7.2.3.2.2]: 2003/04/14 13:58:04 giles)
    +
    +

    Drivers

    +
    +Avoid calling a null pgsdll_callback, as can happen with the new client api
    +and CHECK_INTERRUPTS. This fix affects primarily MacOS; similar protections
    +are already in place for other platforms, although the global was not
    +explicitly initialized to null. Also return EOFC in the mac stdio stream
    +process if no callback is defined. Closes bug 686768. Also backports some
    +code cleanup from HEAD. (gdevmac.c [1.1.4.3.2.2]: 2003/04/12 16:37:26 giles)
    +
    +In the display device, store the line pointers separately from the bits, so
    +that the bits can be placed in special memory (e.g. allocated in video
    +memory). Fixes Bug 686780 display_memalloc() asks for too much memory. If
    +reopening the display device fails after setting the callback, display an
    +error message. Allocate the large display bitmap using a low level allocator
    +to avoid exceeding the memory limit of the previously used device stable
    +memory allocator. Fixes bugs 686836 "-r doesn't work" and duplicate 686838
    +"Ghostscript doesn't do anything". DETAILS: The display memory device and
    +the raster including line pointers was allocated using the stable allocator
    +of the display device. This had a limit of 1Mbyte, which was exceeded when
    +the resolution was greater then 114dpi. This would cause subsequent
    +allocations to fail, but it appears that nothing else tried to use this
    +allocator after the display device. The display device was changed to
    +allocate the line pointers separately to allow the raster to be allocated in
    +special memory, e.g. video memory or shared memory. This caused the
    +subsequent allocation of the line pointers to fail when resolution exceeded
    +114dpi. The modified code now allocates the raster with
    +gs_alloc_byte_array_immovable, which allocates directly from the C heap, not
    +subject to any memory limit apart from the overall -K limit if specified,
    +and is not subject to garbage collection. The normal allocator now has
    +sufficient memory to allocate the line pointers without problem. The raster
    +pointer is removed from the pointers that are enumerated during garbage
    +collection. (gdevdsp.c [1.5.2.5.2.3]: 2003/05/01 10:06:26 ghostgum)
    +
    +Log message: For the pngalpha device, set the default background color to
    +white in the bKGD chunk. Add an option -dBackgroundColor=16#RRGGBB to
    +explicitly set the background color. This is needed by a common web browser
    +that doesn't correctly support PNG with alpha transparency. DETAILS:
    +Programs that don't fully support alpha transparency let libpng convert an
    +RGBA image to RGB. The background color used is either provided by the
    +program, or in the bKGD chunk, or it falls back to gray. MSIE was defaulting
    +to a gray background which is not commonly used on web pages. By writing a
    +white bKGD chunk, PNG files will display correctly against a white
    +background in MSIE. If a solid color for a web page background is used with
    +<body bgcolor="#CCCC00">, then PNG images appearing on that page would
    +need to be created with -dBackgroundColor=16#CCCC00. For textured background
    +there is no hope. Microsoft needs to fix Internet Explorer.
    +(gdevpng.c [1.4.2.1.2.3]: 2003/05/15 10:05:29 ghostgum)
    +
    +

    PDF Interpreter

    +
    +Apply standard FSF license banner to files missed the 7.06 release. Patch
    +from Brett Smith. (lib/pdf_base.ps [1.14.2.1.2.1],
    +lib/pdf_draw.ps [1.36.2.2.2.1], lib/pdf_font.ps [1.23.2.6.2.1],
    +lib/pdf_main.ps [1.35.2.7.2.3], lib/pdf_ops.ps [1.17.2.2.2.1]: 2003/04/12
    +14:02:39 giles)
    +
    +

    Interpreter

    +
    +Increment the version number after release. (lib/gs_init.ps [1.40.2.12.2.2]:
    +2003/04/08 11:05:47 giles)
    +
    +Apply standard FSF license banner to files missed the 7.06 release. Patch
    +from Brett Smith. (examples/waterfal.ps [1.3.2.1.2.1],
    +lib/gs_agl.ps [1.2.6.1.2.1], lib/gs_btokn.ps [1.5.2.1.2.1],
    +lib/gs_ccfnt.ps [1.5.2.1.2.1], lib/gs_ce_e.ps [1.2.6.1.2.1],
    +lib/gs_cff.ps [1.10.2.1.2.1], lib/gs_cidcm.ps [1.5.2.2.2.1],
    +lib/gs_cidfn.ps [1.18.4.5.2.1], lib/gs_cmap.ps [1.11.2.4.2.1],
    +lib/gs_cmdl.ps [1.2.6.1.2.1], lib/gs_css_e.ps [1.2.6.1.2.1],
    +lib/gs_dbt_e.ps [1.2.6.1.2.1], lib/gs_diskf.ps [1.2.6.1.2.1],
    +lib/gs_dpnxt.ps [1.2.6.1.2.1], lib/gs_dps.ps [1.4.6.1.2.1],
    +lib/gs_dps1.ps [1.2.6.1.2.1], lib/gs_dps2.ps [1.3.4.1.2.1],
    +lib/gs_dscp.ps [1.4.2.1.2.1], lib/gs_epsf.ps [1.2.6.11.2.3],
    +lib/gs_fform.ps [1.2.6.1.2.1], lib/gs_fonts.ps [1.13.2.3.2.1],
    +lib/gs_frsd.ps [1.4.6.1.2.1], lib/gs_icc.ps [1.2.2.1.2.1],
    +lib/gs_il1_e.ps [1.2.6.1.2.1], lib/gs_il2_e.ps [1.2.6.1.2.1],
    +lib/gs_init.ps [1.40.2.12.2.3], lib/gs_kanji.ps [1.2.6.1.2.1],
    +lib/gs_ksb_e.ps [1.2.6.1.2.1], lib/gs_l2img.ps [1.2.6.1.2.1],
    +lib/gs_lev2.ps [1.7.2.4.2.3], lib/gs_lgo_e.ps [1.3.6.1.2.1],
    +lib/gs_lgx_e.ps [1.2.6.1.2.1], lib/gs_ll3.ps [1.10.2.2.2.1],
    +lib/gs_mex_e.ps [1.2.6.1.2.1], lib/gs_mgl_e.ps [1.3.6.1.2.1],
    +lib/gs_mro_e.ps [1.2.6.1.2.1], lib/gs_pdf_e.ps [1.2.6.1.2.1],
    +lib/gs_pdfwr.ps [1.11.2.1.2.1], lib/gs_pfile.ps [1.2.6.1.2.1],
    +lib/gs_rdlin.ps [1.2.6.1.2.1], lib/gs_res.ps [1.16.2.2.2.1],
    +lib/gs_setpd.ps [1.8.2.2.2.2], lib/gs_statd.ps [1.5.2.2.2.1],
    +lib/gs_std_e.ps [1.2.6.1.2.1], lib/gs_sym_e.ps [1.2.6.1.2.1],
    +lib/gs_trap.ps [1.3.6.2.2.1], lib/gs_ttf.ps [1.9.2.4.2.1],
    +lib/gs_typ32.ps [1.3.2.2.2.1], lib/gs_typ42.ps [1.2.6.1.2.1],
    +lib/gs_type1.ps [1.5.2.1.2.1], lib/gs_wan_e.ps [1.2.6.1.2.1],
    +lib/gs_wl1_e.ps [1.2.6.1.2.1], lib/gs_wl2_e.ps [1.2.6.1.2.1],
    +lib/gs_wl5_e.ps [1.2.6.1.2.1]: 2003/04/12 14:02:38 giles)
    +
    +Sort the list of devices in the output of 'gs -h' so they're easier to read.
    +List the default device separately as it's no longer first. Based on a patch
    +from Nelson Beebe. Closes bug 416746. Also correct a warning in argproc().
    +(imainarg.c [1.13.2.3.2.2]: 2003/04/12 16:43:14 giles)
    +
    +In the display device, store the line pointers separately from the bits, so
    +that the bits can be placed in special memory (e.g. allocated in video
    +memory). Fixes Bug 686780 display_memalloc() asks for too much memory. If
    +reopening the display device fails after setting the callback, display an
    +error message. Allocate the large display bitmap using a low level allocator
    +to avoid exceeding the memory limit of the previously used device stable
    +memory allocator. Fixes bugs 686836 "-r doesn't work" and duplicate 686838
    +"Ghostscript doesn't do anything". DETAILS: The display memory device and
    +the raster including line pointers was allocated using the stable allocator
    +of the display device. This had a limit of 1Mbyte, which was exceeded when
    +the resolution was greater then 114dpi. This would cause subsequent
    +allocations to fail, but it appears that nothing else tried to use this
    +allocator after the display device. The display device was changed to
    +allocate the line pointers separately to allow the raster to be allocated in
    +special memory, e.g. video memory or shared memory. This caused the
    +subsequent allocation of the line pointers to fail when resolution exceeded
    +114dpi. The modified code now allocates the raster with
    +gs_alloc_byte_array_immovable, which allocates directly from the C heap, not
    +subject to any memory limit apart from the overall -K limit if specified,
    +and is not subject to garbage collection. The normal allocator now has
    +sufficient memory to allocate the line pointers without problem. The raster
    +pointer is removed from the pointers that are enumerated during garbage
    +collection. (idisp.c [1.2.2.2.2.2]: 2003/05/01 10:06:26 ghostgum)
    +
    +Security fixes. Add detection of %pipe% device when in SAFER mode. Also fix
    +detection of 'renamefile' to prevent rename from a file that is not on the
    +PermitFileControl list. (zfile.c [1.11.2.4.2.2]: 2003/05/17 14:28:33 ray)
    +
    +

    Library

    +
    +Increment the version number after release. (gscdef.c [1.15.2.4.2.3]:
    +2003/04/08 11:05:47 giles)
    +
    +Update the version and data for the 7.07 release. (gscdef.c [1.15.2.4.2.4]:
    +2003/05/17 14:39:00 giles)
    +
    +

    Other

    +
    +Test the optimization compiler flag '-O2' before using it since some vendor
    +compilers have different syntax. (Makefile.in [1.1.4.13.2.3],
    +configure.ac [1.4.4.12.2.2]: 2003/04/16 13:59:56 giles)
    +
    +Include the bbox device in the default autoconf build.
    +(Makefile.in [1.1.4.13.2.4]: 2003/04/29 18:33:31 giles)
    +
    +
    + +

    Version 7.06 (2003-04-01)

    + +

    This is the second release of the stable 7.0x series under the GNU +GPL, following one year after the release of 7.00. It includes a number +of small bug fixes and documentation cleanup to comply with the GNU +coding guidelines. + +

    Also new in this release is the 'pngalpha' device which produces png output +with a transparent background (page) color so they can be composited against a +separate background. The transparency is based only on what parts of the page +have been drawn and does not support PDF 1.4 trasparent painting.

    + +

    Incompatible changes

    + +

    +No incompatible changes have been recorded for this version. Users of the 6.5x versions of GNU +Ghostscript will want to check the History for a complete list of changes since that version. +Authors of drivers with potential security implications are also encouraged to review +the security changes introduced with 6.53/7.04. + +

    +Additionally, the scripts which create the project file for bulding +ghostscript on MacOS have been updated for Metrowerks CodeWarrior 7.2 and 8.3. +Edit the LIBS entries in macgenmcpxml.sh to recover the settings for +CW6. + +

    Documentation

    +
    +Fixes problems:
    +	- Add the option -dUseCropBox to set the page size from the CropBox
    +rather than the MediaBox. This is appropriate when using ghostscript to view
    +PDF files or convert to bitmaps. It probably isn't appropriate for printing.
    +Fixes SourceForge bugs #522486, "Wromg size EPS generated from PDF" and
    +#538267 "Problems with Media Box in PDF and PS interpreter".
    +(doc/Use.htm [1.33.2.13]: 2002/06/28 10:59:01 ghostgum)
    +	- When ghostscript is given a PDF file on standard input, copy it to
    +a temporary file before processing. Prior to version 7, ghostscript could
    +read PDF from standard input redirected from a file, but not from a pipe.
    +Standard input was changed in version 7 to use callouts, which prevented PDF
    +reading from standard input. Fixes SourceForge bug #583413, /ioerror with gs
    +- < file.pdf vers 7.xx (doc/Use.htm [1.33.2.15]: 2002/09/14 12:05:58
    +ghostgum)
    +	- Fix: Mentions the autoconf build method in the installation
    +documentation. Inspired by a user report of having looked there first rather
    +than at Make.htm; an understandible choice based on GNU/Linux packaging
    +conventions. Also removes a reference to using the Acrobat Reader fonts.
    +(doc/Install.htm [1.26.2.9]: 2002/09/16 21:41:40 giles)
    +	- Fix a broken documentation link. (doc/Use.htm [1.33.2.17]:
    +2002/09/16 22:50:31 giles)
    +	- Keep pagedevice and device views of .LockSafetyParams correct even
    +after a 'restore' is used to unlock. The dictionary fed to the setpagedevice
    +operator is allocated in the same VM space as currentpagedevice to avoid
    +invalidaccess problems. Fixed SF #580029 and does not revert to the
    +incorrect behaviour of bug #516379. (doc/Language.htm [1.34.2.12]:
    +2002/09/19 17:05:05 ray)
    +	- adds missing files to the developer documentation.
    +(doc/Develop.htm [1.47.2.16]: 2002/10/10 13:22:31 giles)
    +	- release number must be updated in lib/gs_init.ps as well.
    +(doc/Release.htm [1.40.2.19]: 2002/10/10 13:25:25 giles)
    +
    +Update the url for the zlib website and source. Fixes SF Bug #550585.
    +(doc/Make.htm [1.36.2.13], doc/New-user.htm [1.30.2.9]: 2002/05/09 17:04:50
    +giles)
    +
    +Prefer {} to () for manditory alteration groups in commandline arguments.
    +Patch from Eric S. Raymond. (man/de/ps2pdf.1 [1.1.4.1],
    +man/ps2pdf.1 [1.14.2.8], man/ps2pdfwr.1 [1.13.2.8]: 2002/08/08 12:27:21
    +giles)
    +
    +Add missing "Summary of environment variables" header to Use.htm.
    +(doc/Use.htm [1.33.2.14]: 2002/08/09 11:00:04 ghostgum)
    +
    +Delete all temporary files when the interpreter closes.
    +(doc/Language.htm [1.34.2.11]: 2002/09/05 12:21:45 ghostgum)
    +
    +Add command line options -dEPS, -dEPSCrop and -dEPSFitPage for handling
    +Encapsulated PostScript files. (doc/Use.htm [1.33.2.16]: 2002/09/14 12:17:25
    +ghostgum)
    +
    +Removes mention of the gdevcd8.c drivers from the documentation. All of
    +these printers are supported by the gimp-print and/or hpijs projects. The
    +(GPL) third party drivers for them were never added to the 7.0x series.
    +Closes SourceForge bug #557177. (doc/Devices.htm [1.34.2.12]: 2002/09/22
    +23:02:38 giles)
    +
    +Add documentation to the .setsafe operator that was added to .locksafe
    +operator that says that .setsafe uses setpagedevice, thus it will erase the
    +page. Related to SourceForge bug #580029. (doc/Language.htm [1.34.2.13]:
    +2002/09/23 06:19:58 ray)
    +
    +Remove excessive trademark symbols to improve compliance with the GNU coding
    +guidelines. (man/de/ps2pdf.1 [1.1.4.2], man/ps2pdf.1 [1.14.2.9]: 2002/09/23
    +14:53:40 giles)
    +
    +Attempt to update version info on the german manpages and port Thomas
    +Hoffmann's fixes from HEAD. (man/de/ansi2knr.1 [1.1.4.1],
    +man/de/dvipdf.1 [1.1.4.1], man/de/font2c.1 [1.1.4.1],
    +man/de/gsnd.1 [1.2.4.1], man/de/pdf2dsc.1 [1.1.4.1],
    +man/de/pdf2ps.1 [1.2.4.1], man/de/pdfopt.1 [1.1.4.1],
    +man/de/printafm.1 [1.1.4.1], man/de/ps2ascii.1 [1.1.4.1],
    +man/de/ps2pdf.1 [1.1.4.3], man/de/ps2ps.1 [1.2.4.1],
    +man/de/wftopfa.1 [1.1.4.1]: 2002/09/23 15:57:35 giles)
    +
    +Improve compliance with GNU coding standards by removing references to
    +other software. (doc/API.htm [1.11.2.11], doc/C-style.htm [1.21.2.9],
    +doc/Current.htm [1.13.2.9], doc/DLL.htm [1.15.2.9], doc/Develop.htm
    +[1.47.2.14], doc/Devices.htm [1.34.2.13], doc/Drivers.htm [1.21.2.9],
    +doc/Fonts.htm [1.22.2.10], doc/Helpers.htm [1.17.2.9], doc/Hershey.htm
    +[1.3.4.1], doc/History1.htm [1.13.2.9], doc/History2.htm [1.13.2.9],
    +doc/History3.htm [1.13.2.9], doc/History4.htm [1.13.2.9], doc/History5.htm
    +[1.15.2.9], doc/History6.htm [1.30.2.9], doc/History7.htm [1.5.2.13],
    +doc/Htmstyle.htm [1.18.2.9], doc/Humor.htm [1.3.2.2], doc/Install.htm
    +[1.26.2.10], doc/Issues.htm [1.15.2.10], doc/Language.htm [1.34.2.14],
    +doc/Lib.htm [1.14.2.9], doc/Maintain.htm [1.23.2.9], doc/Make.htm
    +[1.36.2.14], doc/New-user.htm [1.30.2.10], doc/News.htm [1.90.2.15],
    +doc/Projects.htm [1.33.2.9], doc/Ps-style.htm [1.13.2.9], doc/Ps2epsi.htm
    +[1.15.2.10], doc/Ps2pdf.htm [1.32.2.9], doc/Psfiles.htm [1.22.2.10],
    +doc/Readme.htm [1.31.2.11], doc/Release.htm [1.40.2.16], doc/Source.htm
    +[1.13.2.9], doc/Unix-lpr.htm [1.13.2.9], doc/Use.htm [1.33.2.18],
    +doc/Xfonts.htm [1.13.2.9]: 2002/09/23 16:26:21 giles)
    +
    +Additional german manpage cleanup thanks to the Jens Harting.
    +(man/de/ansi2knr.1 [1.1.4.2], man/de/dvipdf.1 [1.1.4.2],
    +man/de/font2c.1 [1.1.4.2], man/de/gsnd.1 [1.2.4.2],
    +man/de/pdf2dsc.1 [1.1.4.2], man/de/pdf2ps.1 [1.2.4.2],
    +man/de/pdfopt.1 [1.1.4.2], man/de/ps2ascii.1 [1.1.4.2],
    +man/de/ps2pdf.1 [1.1.4.4], man/de/ps2ps.1 [1.2.4.2]: 2002/09/23 17:24:44
    +giles)
    +
    +Improve compliance with the GNU coding guidelines on references to other
    +software. (doc/Readme.htm [1.31.2.12]: 2002/09/25 14:58:34 giles)
    +
    +Further improvement of compliance with the GNU coding guidelines on
    +references to other software. (doc/Make.htm [1.36.2.15], doc/New-user.htm
    +[1.30.2.11]: 2002/09/25 18:13:29 giles)
    +
    +Further improvement of compliance with the GNU coding guidelines on
    +references to other software. (doc/gs-vms.hlp [1.12.2.8]: 2002/10/07
    +22:18:20 giles)
    +
    +Remove Tester.htm. It's (probably) out of date. (doc/Readme.htm
    +[1.31.2.13]: 2002/10/07 22:19:40 giles)
    +
    +Last round of refinement for compliance with GNU coding
    +standards. (doc/Fonts.htm [1.22.2.11], doc/Install.htm [1.26.2.11],
    +doc/Issues.htm [1.15.2.11], doc/Maintain.htm [1.23.2.10], doc/Make.htm
    +[1.36.2.16], doc/New-user.htm [1.30.2.12], doc/Readme.htm [1.31.2.14],
    +doc/Release.htm [1.40.2.17]: 2002/10/08 08:24:34 giles)
    +
    +Remove remaining elements of support for K&R (pre-ansi) C. We no longer
    +support building ghostscript tt way, but the remaining dead code causes
    +confusion for some users. Closes Sourceforge bug #618048.
    +(doc/Develop.htm [1.47.2.15], doc/Make.htm [1.36.2.17],
    +doc/Release.htm [1.40.2.18]: 2002/10/10 00:28:26 giles)
    +
    +Update version number and date for release. (doc/API.htm [1.11.2.12],
    +doc/C-style.htm [1.21.2.10], doc/Current.htm [1.13.2.10],
    +doc/DLL.htm [1.15.2.10], doc/Develop.htm [1.47.2.17],
    +doc/Devices.htm [1.34.2.14], doc/Drivers.htm [1.21.2.10],
    +doc/Fonts.htm [1.22.2.12], doc/Helpers.htm [1.17.2.10],
    +doc/History1.htm [1.13.2.10], doc/History2.htm [1.13.2.10],
    +doc/History3.htm [1.13.2.10], doc/History4.htm [1.13.2.10],
    +doc/History5.htm [1.15.2.10], doc/History6.htm [1.30.2.10],
    +doc/History7.htm [1.5.2.14], doc/Htmstyle.htm [1.18.2.10],
    +doc/Install.htm [1.26.2.12], doc/Issues.htm [1.15.2.12],
    +doc/Language.htm [1.34.2.15], doc/Lib.htm [1.14.2.10],
    +doc/Maintain.htm [1.23.2.11], doc/Make.htm [1.36.2.18],
    +doc/New-user.htm [1.30.2.13], doc/News.htm [1.90.2.16],
    +doc/Projects.htm [1.33.2.10], doc/Ps-style.htm [1.13.2.10],
    +doc/Ps2epsi.htm [1.15.2.11], doc/Ps2pdf.htm [1.32.2.10],
    +doc/Psfiles.htm [1.22.2.11], doc/Readme.htm [1.31.2.15],
    +doc/Release.htm [1.40.2.20], doc/Source.htm [1.13.2.10],
    +doc/Unix-lpr.htm [1.13.2.10], doc/Use.htm [1.33.2.19],
    +doc/Xfonts.htm [1.13.2.10], doc/gs-vms.hlp [1.12.2.9]: 2002/10/10 13:36:49
    +giles)
    +
    +Update version number and date for release. (man/dvipdf.1 [1.10.2.8],
    +man/font2c.1 [1.10.2.8], man/gs.1 [1.10.2.9], man/gslp.1 [1.10.2.8],
    +man/gsnd.1 [1.10.2.8], man/pdf2dsc.1 [1.10.2.8], man/pdf2ps.1 [1.12.2.8],
    +man/pdfopt.1 [1.10.2.8], man/pf2afm.1 [1.10.2.8], man/pfbtopfa.1 [1.11.2.8],
    +man/printafm.1 [1.10.2.8], man/ps2ascii.1 [1.10.2.8],
    +man/ps2epsi.1 [1.10.2.9], man/ps2pdf.1 [1.14.2.10],
    +man/ps2pdfwr.1 [1.13.2.9], man/ps2ps.1 [1.17.2.8], man/wftopfa.1 [1.10.2.8]:
    +2002/10/10 13:37:00 giles)
    +
    +Improvements to processing of EPS files. (doc/Use.htm [1.33.2.20]:
    +2002/10/31 11:12:12 ghostgum)
    +
    +Correct the documented paper sizes in Use.htm to match gs_statd.ps after fix
    +for SF bug # 536877. Change cm units to the more common mm.
    +(doc/Use.htm [1.33.2.21]: 2002/11/04 22:55:35 ghostgum)
    +
    +Add working 'distclean' and 'maintainer-clean' targets to the autoconf
    +makefile. Backport from HEAD. (doc/Release.htm [1.40.2.22]: 2002/12/02
    +00:10:23 giles)
    +
    +Update release date for second candidate. (doc/API.htm [1.11.2.13],
    +doc/C-style.htm [1.21.2.11], doc/DLL.htm [1.15.2.11],
    +doc/Develop.htm [1.47.2.18], doc/Devices.htm [1.34.2.15],
    +doc/Drivers.htm [1.21.2.11], doc/Fonts.htm [1.22.2.13],
    +doc/Helpers.htm [1.17.2.11], doc/History1.htm [1.13.2.11],
    +doc/History2.htm [1.13.2.11], doc/History3.htm [1.13.2.11],
    +doc/History4.htm [1.13.2.11], doc/History5.htm [1.15.2.11],
    +doc/History6.htm [1.30.2.11], doc/History7.htm [1.5.2.16],
    +doc/Htmstyle.htm [1.18.2.11], doc/Install.htm [1.26.2.13],
    +doc/Issues.htm [1.15.2.13], doc/Language.htm [1.34.2.16],
    +doc/Lib.htm [1.14.2.11], doc/Maintain.htm [1.23.2.12],
    +doc/Make.htm [1.36.2.19], doc/New-user.htm [1.30.2.14],
    +doc/News.htm [1.90.2.18], doc/Projects.htm [1.33.2.11],
    +doc/Ps-style.htm [1.13.2.11], doc/Ps2epsi.htm [1.15.2.12],
    +doc/Ps2pdf.htm [1.32.2.11], doc/Psfiles.htm [1.22.2.12],
    +doc/Readme.htm [1.31.2.16], doc/Release.htm [1.40.2.23],
    +doc/Source.htm [1.13.2.11], doc/Unix-lpr.htm [1.13.2.11],
    +doc/Use.htm [1.33.2.22], doc/Xfonts.htm [1.13.2.11],
    +doc/gs-vms.hlp [1.12.2.10]: 2002/12/02 01:54:36 giles)
    +
    +Update release date for second candidate. (man/dvipdf.1 [1.10.2.9],
    +man/font2c.1 [1.10.2.9], man/gs.1 [1.10.2.10], man/gslp.1 [1.10.2.9],
    +man/gsnd.1 [1.10.2.9], man/pdf2dsc.1 [1.10.2.9], man/pdf2ps.1 [1.12.2.9],
    +man/pdfopt.1 [1.10.2.9], man/pf2afm.1 [1.10.2.9], man/pfbtopfa.1 [1.11.2.9],
    +man/printafm.1 [1.10.2.9], man/ps2ascii.1 [1.10.2.9],
    +man/ps2epsi.1 [1.10.2.10], man/ps2pdf.1 [1.14.2.11],
    +man/ps2pdfwr.1 [1.13.2.10], man/ps2ps.1 [1.17.2.9],
    +man/wftopfa.1 [1.10.2.9]: 2002/12/02 01:54:43 giles)
    +
    +Change documentation and changelogs to better comply with GNU coding
    +guidelines. Patch from Brett Smith. (doc/API.htm [1.11.2.13.2.1],
    +doc/Changes.htm [1.28.2.8.2.1], doc/Develop.htm [1.47.2.18.2.1],
    +doc/Devices.htm [1.34.2.15.2.1], doc/Fonts.htm [1.22.2.13.2.1],
    +doc/History2.htm [1.13.2.11.2.1], doc/History3.htm [1.13.2.11.2.1],
    +doc/History4.htm [1.13.2.11.2.1], doc/History5.htm [1.15.2.11.2.1],
    +doc/History6.htm [1.30.2.11.2.1], doc/History7.htm [1.5.2.17.2.1],
    +doc/Install.htm [1.26.2.13.2.1], doc/Maintain.htm [1.23.2.12.2.1],
    +doc/Make.htm [1.36.2.19.2.1], doc/New-user.htm [1.30.2.14.2.1],
    +doc/Projects.htm [1.33.2.11.2.1], doc/Ps2epsi.htm [1.15.2.12.2.1],
    +doc/Release.htm [1.40.2.23.2.1], doc/Use.htm [1.33.2.22.2.1]: 2003/01/17
    +00:58:51 giles)
    +
    +Update release date for final 7.06 release. (doc/API.htm [1.11.2.13.2.2],
    +doc/C-style.htm [1.21.2.11.2.1], doc/DLL.htm [1.15.2.11.2.1],
    +doc/Develop.htm [1.47.2.18.2.2], doc/Devices.htm [1.34.2.15.2.2],
    +doc/Drivers.htm [1.21.2.11.2.1], doc/Fonts.htm [1.22.2.13.2.2],
    +doc/Helpers.htm [1.17.2.11.2.1], doc/History1.htm [1.13.2.11.2.1],
    +doc/History2.htm [1.13.2.11.2.2], doc/History3.htm [1.13.2.11.2.2],
    +doc/History4.htm [1.13.2.11.2.2], doc/History5.htm [1.15.2.11.2.2],
    +doc/History6.htm [1.30.2.11.2.2], doc/History7.htm [1.5.2.17.2.2],
    +doc/Htmstyle.htm [1.18.2.11.2.1], doc/Install.htm [1.26.2.13.2.2],
    +doc/Issues.htm [1.15.2.13.2.1], doc/Language.htm [1.34.2.16.2.1],
    +doc/Lib.htm [1.14.2.11.2.1], doc/Maintain.htm [1.23.2.12.2.2],
    +doc/Make.htm [1.36.2.19.2.2], doc/New-user.htm [1.30.2.14.2.2],
    +doc/News.htm [1.90.2.18.2.1], doc/Projects.htm [1.33.2.11.2.2],
    +doc/Ps-style.htm [1.13.2.11.2.1], doc/Ps2epsi.htm [1.15.2.12.2.2],
    +doc/Ps2pdf.htm [1.32.2.11.2.1], doc/Psfiles.htm [1.22.2.12.2.1],
    +doc/Readme.htm [1.31.2.16.2.1], doc/Release.htm [1.40.2.23.2.2],
    +doc/Source.htm [1.13.2.11.2.1], doc/Unix-lpr.htm [1.13.2.11.2.1],
    +doc/Use.htm [1.33.2.22.2.2], doc/Xfonts.htm [1.13.2.11.2.1],
    +doc/gs-vms.hlp [1.12.2.10.2.1], man/dvipdf.1 [1.10.2.9.2.1],
    +man/font2c.1 [1.10.2.9.2.1], man/gs.1 [1.10.2.10.2.1],
    +man/gslp.1 [1.10.2.9.2.1], man/gsnd.1 [1.10.2.9.2.1],
    +man/pdf2dsc.1 [1.10.2.9.2.1], man/pdf2ps.1 [1.12.2.9.2.1],
    +man/pdfopt.1 [1.10.2.9.2.1], man/pf2afm.1 [1.10.2.9.2.1],
    +man/pfbtopfa.1 [1.11.2.9.2.1], man/printafm.1 [1.10.2.9.2.1],
    +man/ps2ascii.1 [1.10.2.9.2.1], man/ps2epsi.1 [1.10.2.10.2.1],
    +man/ps2pdf.1 [1.14.2.11.2.1], man/ps2pdfwr.1 [1.13.2.10.2.1],
    +man/ps2ps.1 [1.17.2.9.2.1], man/wftopfa.1 [1.10.2.9.2.1]: 2003/02/09
    +16:20:03 giles)
    +
    +Correct a typo in the release date. (doc/API.htm [1.11.2.13.2.3],
    +doc/C-style.htm [1.21.2.11.2.2], doc/DLL.htm [1.15.2.11.2.2],
    +doc/Develop.htm [1.47.2.18.2.3], doc/Devices.htm [1.34.2.15.2.3],
    +doc/Drivers.htm [1.21.2.11.2.2], doc/Fonts.htm [1.22.2.13.2.3],
    +doc/Helpers.htm [1.17.2.11.2.2], doc/History1.htm [1.13.2.11.2.2],
    +doc/History2.htm [1.13.2.11.2.3], doc/History3.htm [1.13.2.11.2.3],
    +doc/History4.htm [1.13.2.11.2.3], doc/History5.htm [1.15.2.11.2.3],
    +doc/History6.htm [1.30.2.11.2.3], doc/History7.htm [1.5.2.17.2.3],
    +doc/Htmstyle.htm [1.18.2.11.2.2], doc/Install.htm [1.26.2.13.2.3],
    +doc/Issues.htm [1.15.2.13.2.2], doc/Language.htm [1.34.2.16.2.2],
    +doc/Lib.htm [1.14.2.11.2.2], doc/Maintain.htm [1.23.2.12.2.3],
    +doc/Make.htm [1.36.2.19.2.3], doc/New-user.htm [1.30.2.14.2.3],
    +doc/News.htm [1.90.2.18.2.2], doc/Projects.htm [1.33.2.11.2.3],
    +doc/Ps-style.htm [1.13.2.11.2.2], doc/Ps2epsi.htm [1.15.2.12.2.3],
    +doc/Ps2pdf.htm [1.32.2.11.2.2], doc/Psfiles.htm [1.22.2.12.2.2],
    +doc/Readme.htm [1.31.2.16.2.2], doc/Release.htm [1.40.2.23.2.3],
    +doc/Source.htm [1.13.2.11.2.2], doc/Unix-lpr.htm [1.13.2.11.2.2],
    +doc/Use.htm [1.33.2.22.2.3], doc/Xfonts.htm [1.13.2.11.2.2],
    +doc/gs-vms.hlp [1.12.2.10.2.2], man/dvipdf.1 [1.10.2.9.2.2],
    +man/font2c.1 [1.10.2.9.2.2], man/gs.1 [1.10.2.10.2.2],
    +man/gslp.1 [1.10.2.9.2.2], man/gsnd.1 [1.10.2.9.2.2],
    +man/pdf2dsc.1 [1.10.2.9.2.2], man/pdf2ps.1 [1.12.2.9.2.2],
    +man/pdfopt.1 [1.10.2.9.2.2], man/pf2afm.1 [1.10.2.9.2.2],
    +man/pfbtopfa.1 [1.11.2.9.2.2], man/printafm.1 [1.10.2.9.2.2],
    +man/ps2ascii.1 [1.10.2.9.2.2], man/ps2epsi.1 [1.10.2.10.2.2],
    +man/ps2pdf.1 [1.14.2.11.2.2], man/ps2pdfwr.1 [1.13.2.10.2.2],
    +man/ps2ps.1 [1.17.2.9.2.2], man/wftopfa.1 [1.10.2.9.2.2]: 2003/02/09
    +17:07:08 giles)
    +
    +Update changelog and release date. (doc/News.htm [1.90.2.18.2.3]: 2003/03/31
    +13:56:42 giles)
    +
    +Propagate new release date to all documentation.
    +(doc/API.htm [1.11.2.13.2.4], doc/C-style.htm [1.21.2.11.2.3],
    +doc/DLL.htm [1.15.2.11.2.3], doc/Develop.htm [1.47.2.18.2.4],
    +doc/Devices.htm [1.34.2.15.2.4], doc/Drivers.htm [1.21.2.11.2.3],
    +doc/Fonts.htm [1.22.2.13.2.4], doc/Helpers.htm [1.17.2.11.2.3],
    +doc/History1.htm [1.13.2.11.2.3], doc/History2.htm [1.13.2.11.2.4],
    +doc/History3.htm [1.13.2.11.2.4], doc/History4.htm [1.13.2.11.2.4],
    +doc/History5.htm [1.15.2.11.2.4], doc/History6.htm [1.30.2.11.2.4],
    +doc/History7.htm [1.5.2.17.2.4], doc/Htmstyle.htm [1.18.2.11.2.3],
    +doc/Install.htm [1.26.2.13.2.4], doc/Issues.htm [1.15.2.13.2.3],
    +doc/Language.htm [1.34.2.16.2.3], doc/Lib.htm [1.14.2.11.2.3],
    +doc/Maintain.htm [1.23.2.12.2.4], doc/Make.htm [1.36.2.19.2.4],
    +doc/New-user.htm [1.30.2.14.2.4], doc/News.htm [1.90.2.18.2.4],
    +doc/Projects.htm [1.33.2.11.2.4], doc/Ps-style.htm [1.13.2.11.2.3],
    +doc/Ps2epsi.htm [1.15.2.12.2.4], doc/Ps2pdf.htm [1.32.2.11.2.3],
    +doc/Psfiles.htm [1.22.2.12.2.3], doc/Readme.htm [1.31.2.16.2.3],
    +doc/Release.htm [1.40.2.23.2.4], doc/Source.htm [1.13.2.11.2.3],
    +doc/Unix-lpr.htm [1.13.2.11.2.3], doc/Use.htm [1.33.2.22.2.4],
    +doc/Xfonts.htm [1.13.2.11.2.3], doc/gs-vms.hlp [1.12.2.10.2.3],
    +man/dvipdf.1 [1.10.2.9.2.3], man/font2c.1 [1.10.2.9.2.3],
    +man/gs.1 [1.10.2.10.2.3], man/gslp.1 [1.10.2.9.2.3],
    +man/gsnd.1 [1.10.2.9.2.3], man/pdf2dsc.1 [1.10.2.9.2.3],
    +man/pdf2ps.1 [1.12.2.9.2.3], man/pdfopt.1 [1.10.2.9.2.3],
    +man/pf2afm.1 [1.10.2.9.2.3], man/pfbtopfa.1 [1.11.2.9.2.3],
    +man/printafm.1 [1.10.2.9.2.3], man/ps2ascii.1 [1.10.2.9.2.3],
    +man/ps2epsi.1 [1.10.2.10.2.3], man/ps2pdf.1 [1.14.2.11.2.3],
    +man/ps2pdfwr.1 [1.13.2.10.2.3], man/ps2ps.1 [1.17.2.9.2.3],
    +man/wftopfa.1 [1.10.2.9.2.3]: 2003/03/31 14:00:26 giles)
    +
    +

    Procedures

    +
    +Fixes problems:
    +	- .pushpdf14devicefilter was defined in zdfilter.c, but depended on
    +the optional pdf module's transparency features. Moves the definition of
    +this routine to the conditionally included ztrans.c. Fix by L. Peter
    +Deutsch, resolves SourceForge Bug 565019. (int.mak [1.50.2.4]: 2002/06/14
    +09:53:12 giles)
    +	- As a result of a recent fix, an opdef table had more than 16
    +entries, causing initialization to abort. backporting a fix by L. Peter
    +Deutsch from HEAD. (int.mak [1.50.2.5]: 2002/06/14 15:26:00 giles)
    +	- When building an archive of the graphics library or interpreter,
    +add only the object files, not the .dev and interpreter files. Fixes
    +SourceForge bug # 538311 - files missing from library archive.
    +(gs.mak [1.5.2.4], ugcclib.mak [1.13.2.6], unixlink.mak [1.3.4.2]:
    +2002/06/22 03:34:43 ghostgum)
    +	- Provide an implementation of popen for Windows, to avoid the
    +broken implementation in MSVC++ 5 and 6. This allows pswrite to output to a
    +pipe on Windows. Fixes SourceForge bug #482038, pswrite does not write to
    +pipe. (winlib.mak [1.12.2.3]: 2002/09/05 10:19:00 ghostgum)
    +	- provide a meaningful error message when an immediately evaluated
    +name can not be found. Fixes SourceForge bug #543185, Confusing diagnostics
    +for //undefined. (int.mak [1.50.2.6]: 2002/09/14 11:59:15 ghostgum)
    +
    +Update the url for the zlib website and source. Fixes SF Bug #550585.
    +(zlib.mak [1.3.2.2]: 2002/05/09 17:04:50 giles)
    +
    +Add a 32 bit/pixel CMYK driver named pam using the Portable Arbitrary Map
    +file format, one of the netpbm family. This driver has problems with
    +anti-aliasing that will be fixed in a later patch. (devs.mak [1.47.2.7]:
    +2002/06/22 03:44:00 ghostgum)
    +
    +Remove spurious build of the gtk client along with the macos framework.
    +Backport the 'framework_install' target from HEAD. (macos-fw.mak [1.1.2.3]:
    +2002/08/07 13:05:17 giles)
    +
    +Add command line options -dEPS, -dEPSCrop and -dEPSFitPage for handling
    +Encapsulated PostScript files. (bcwin32.mak [1.12.2.6],
    +msvc32.mak [1.20.2.8]: 2002/09/14 12:17:26 ghostgum)
    +
    +Remove some interpreter references from the graphics library. Partial fix
    +for SourceForge bug #542848, "library #includes interpreter headers".
    +(lib.mak [1.53.2.5], msvclib.mak [1.16.2.4], msvctail.mak [1.6.2.2],
    +pcwin.mak [1.2.6.2]: 2002/09/14 12:25:55 ghostgum)
    +
    +Prune the dead 'begin' makefile target. This was supposedly removed in
    +release 5.20. (gs.mak [1.5.2.5]: 2002/10/09 22:07:08 giles)
    +
    +Remove remaining elements of support for K&R (pre-ansi) C. We no longer
    +support building ghostscript tt way, but the remaining dead code causes
    +confusion for some users. Closes Sourceforge bug #618048.
    +(dvx-gcc.mak [1.12.2.6], dvx-tail.mak [1.5.2.2], gs.mak [1.5.2.6],
    +macos-mcp.mak [1.3.2.5], macosx.mak [1.3.2.7], openvms.mak [1.16.2.6],
    +openvms.mmk [1.12.2.3], os2.mak [1.19.2.6], ugcclib.mak [1.13.2.7],
    +unix-aux.mak [1.5.2.3], unix-gcc.mak [1.23.2.10], unixansi.mak [1.16.2.9],
    +wccommon.mak [1.3.6.2], winlib.mak [1.12.2.4]: 2002/10/10 00:24:01 giles)
    +
    +Set USE_ASM to zero explicitly. (unix-gcc.mak [1.23.2.11],
    +unixansi.mak [1.16.2.10]: 2002/10/10 12:47:49 giles)
    +
    +Update libpng version number to latest release. (all-arch.mak [1.9.2.4],
    +bcwin32.mak [1.12.2.7], dvx-gcc.mak [1.12.2.7], macos-mcp.mak [1.3.2.6],
    +macosx.mak [1.3.2.8], msvc32.mak [1.20.2.9], msvclib.mak [1.16.2.5],
    +openvms.mak [1.16.2.7], os2.mak [1.19.2.7], ugcclib.mak [1.13.2.8],
    +unix-gcc.mak [1.23.2.12], unixansi.mak [1.16.2.11], watc.mak [1.16.2.4],
    +watclib.mak [1.13.2.5], watcw32.mak [1.13.2.5]: 2002/10/10 13:35:51 giles)
    +
    +Update version number and date for release. (version.mak [1.36.2.8]:
    +2002/10/10 13:37:03 giles)
    +
    +Module gslib removed from the library archive. Further fix for [ 538311 ]
    +files missing from library archive. (ugcclib.mak [1.13.2.9]: 2002/11/02
    +04:31:13 ghostgum)
    +
    +Backport MacOS build updates for Metrowerks CW8 from HEAD.
    +(macos-mcp.mak [1.3.2.7], macosx.mak [1.3.2.9]: 2002/12/01 23:29:37 giles)
    +
    +Update libpng version makefile variables to 10205. These were accidentally
    +reverted in the last commit. (macos-mcp.mak [1.3.2.8],
    +macosx.mak [1.3.2.10]: 2002/12/01 23:32:56 giles)
    +
    +Add working 'distclean' and 'maintainer-clean' targets to the autoconf
    +makefile. Backport from HEAD. (gs.mak [1.5.2.7]: 2002/12/02 00:10:24 giles)
    +
    +Update release date for second candidate. (version.mak [1.36.2.9]:
    +2002/12/02 01:55:46 giles)
    +
    +Apply standard GNU license banner at the request of RMS. Patch from Brett
    +Smith. (all-arch.mak [1.9.2.4.2.1], bcwin32.mak [1.12.2.7.2.1],
    +cfonts.mak [1.2.6.1.2.1], contrib.mak [1.24.2.1.2.1],
    +devs.mak [1.47.2.7.2.1], dvx-gcc.mak [1.12.2.7.2.1],
    +dvx-head.mak [1.2.6.1.2.1], dvx-tail.mak [1.5.2.2.2.1],
    +dwmain.rc [1.2.6.2.2.1], dwsetup.rc [1.5.2.4.2.1],
    +dwuninst.rc [1.3.6.2.2.1], gs.mak [1.5.2.7.2.1], gs16spl.rc [1.2.6.2.2.1],
    +gsdll2.rc [1.2.6.1.2.1], gsdll32.rc [1.2.6.2.2.1]: 2003/01/17 00:49:00
    +giles)
    + 
    +Apply standard GNU license banner at the request of RMS. Patch from Brett
    +Smith. (gsos2.rc [1.2.6.1.2.1], gspmdrv.rc [1.2.6.1.2.1],
    +gswin.rc [1.2.6.2.2.1], icclib.mak [1.3.2.2.2.1], ijs.mak [1.2.2.2.2.1],
    +int.mak [1.50.2.6.2.1], jpeg.mak [1.4.2.1.2.1], lib.mak [1.53.2.5.2.1],
    +libpng.mak [1.10.2.3.2.1], macos-fw.mak [1.1.2.3.2.1],
    +macos-mcp.mak [1.3.2.8.2.1], macosx.mak [1.3.2.10.2.1],
    +msvc32.mak [1.20.2.9.2.1], msvccmd.mak [1.6.2.1.2.1],
    +msvclib.mak [1.16.2.5.2.1], msvctail.mak [1.6.2.2.2.1],
    +openvms.mak [1.16.2.7.2.1], openvms.mmk [1.12.2.3.2.1],
    +os2.mak [1.19.2.7.2.1], pcwin.mak [1.2.6.2.2.1], ugcclib.mak [1.13.2.9.2.1],
    +unix-aux.mak [1.5.2.3.2.1], unix-dll.mak [1.6.2.2.2.1],
    +unix-end.mak [1.2.6.1.2.1], unix-gcc.mak [1.23.2.12.2.1],
    +unixansi.mak [1.16.2.11.2.1], unixhead.mak [1.2.6.1.2.1],
    +unixinst.mak [1.20.2.9.2.1], unixlink.mak [1.3.4.2.2.1],
    +version.mak [1.36.2.9.2.1], watclib.mak [1.13.2.5.2.1],
    +watcw32.mak [1.13.2.5.2.1], wccommon.mak [1.3.6.2.2.1],
    +wctail.mak [1.3.2.2.2.1], winint.mak [1.8.2.5.2.1],
    +winlib.mak [1.12.2.4.2.1], winplat.mak [1.2.6.1.2.1],
    +wmin.mak [1.2.6.1.2.1]: 2003/01/17 00:49:03 giles)
    + 
    +Apply standard GNU license banner at the request of RMS. Patch from Brett
    +Smith. (zlib.mak [1.3.2.2.2.1]: 2003/01/17 00:49:06 giles)
    +
    +Makefile banner lines should be comments. (gs.mak [1.5.2.7.2.2]: 2003/01/28
    +12:02:09 ghostgum)
    +
    +Update release date for final 7.06 release. (version.mak [1.36.2.9.2.2]:
    +2003/02/09 16:20:05 giles)
    +
    +Add pngalpha device that uses RGBA, with the alpha channel providing pixel
    +coverage. Used for generating PNG images with a transparent background.
    +(bcwin32.mak [1.12.2.7.2.2], devs.mak [1.47.2.7.2.2],
    +macosx.mak [1.3.2.10.2.2], msvc32.mak [1.20.2.9.2.2],
    +openvms.mak [1.16.2.7.2.2], os2.mak [1.19.2.7.2.2],
    +unix-gcc.mak [1.23.2.12.2.2], unixansi.mak [1.16.2.11.2.2],
    +watcw32.mak [1.13.2.5.2.2]: 2003/03/11 11:59:10 ghostgum)
    +
    +Backport MacOS build updates for Metrowerks CW8 from HEAD.
    +(gp_mac.c [1.1.4.3], gp_macio.c [1.2.4.4], macgenmcpxml.sh [1.1.4.4]:
    +2002/12/01 23:29:37 giles)
    +Update changelog and release date. (version.mak [1.36.2.9.2.3]: 2003/03/31
    +13:56:42 giles)
    +
    +Correct the copyright date and avoid putting NT security attributes into the
    +Windows distribution archive. (winint.mak [1.8.2.5.2.2]: 2003/04/01 09:30:59
    +ghostgum) 
    +
    +

    Utilities

    +
    +Fixes problems:
    +	- Reinstate ps2epsi.bat and ps2epsi.cmd. Correctly embed the
    +original EPS file in the output of ps2epsi on Windows and OS/2.
    +(lib/ps2epsi.bat [1.6.2.2], lib/ps2epsi.cmd [1.3.2.2]: 2002/04/26 00:24:45
    +ghostgum)
    +	- Temporary files weren't being put in the proper location under
    +MacOS X/Carbon. Updates the the proper prameter block type for the Carbon
    +interface so this works properly on both OS 9/X. Patch from Erik Strik.
    +(gp_macio.c [1.2.4.3]: 2002/06/13 15:40:59 giles)
    +	- Provide an implementation of popen for Windows, to avoid the
    +broken implementation in MSVC++ 5 and 6. This allows pswrite to output to a
    +pipe on Windows. Fixes SourceForge bug #482038, pswrite does not write to
    +pipe. (gp_mswin.c [1.7.2.2]: 2002/09/05 10:19:00 ghostgum)
    +
    +Remove the DOS and OS/2 versions of the ps2epsi code. They have been broken
    +for some time. (lib/ps2epsi.bat [1.6.2.1], lib/ps2epsi.cmd [1.3.2.1]:
    +2002/04/22 20:38:01 giles)
    +
    +Changes to the gtk+ client to request a suitable window size based on the
    +screen and image sizes, to reduce unnecessary redraws and erase the window
    +area outside the image. (dxmain.c [1.7.2.2]: 2002/04/26 05:03:20 ghostgum)
    +
    +Update project file generation script to support Metrowerks CodeWarrior 7.
    +(macgenmcpxml.sh [1.1.4.3]: 2002/09/04 09:02:38 giles)
    +
    +Backport MacOS build updates for Metrowerks CW8 from HEAD.
    +(gp_mac.c [1.1.4.3], gp_macio.c [1.2.4.4], macgenmcpxml.sh [1.1.4.4]:
    +2002/12/01 23:29:37 giles)
    +
    +Apply standard GNU license banner at the request of RMS. Patch from Brett
    +Smith. (bench.c [1.4.4.1.2.1], dxmain.c [1.7.2.2.2.1],
    +dxmainc.c [1.4.2.2.2.1], echogs.c [1.3.2.1.2.1], genarch.c [1.2.6.1.2.1],
    +genconf.c [1.4.4.1.2.1], gendev.c [1.2.6.1.2.1], genht.c [1.2.6.1.2.1],
    +geninit.c [1.3.6.1.2.1], gp_dvx.c [1.4.2.1.2.1], gp_iwatc.c [1.6.2.2.2.1],
    +gp_mac.c [1.1.4.3.2.1], gp_macio.c [1.2.4.5.2.1], gp_mktmp.c [1.2.6.1.2.1],
    +gp_msdll.c [1.1.2.1.2.1], gp_mshdl.c [1.2.6.1.2.1], gp_msio.c [1.3.4.1.2.1],
    +gp_mslib.c [1.3.2.1.2.1], gp_mspol.c [1.1.2.1.2.1],
    +gp_msprn.c [1.1.2.1.2.1], gp_mswin.c [1.7.2.3.2.1], gp_ntfs.c [1.5.2.4.2.1],
    +gp_os2.c [1.10.2.3.2.1], gp_os9.c [1.4.2.1.2.1], gp_stdia.c [1.3.2.1.2.1],
    +gp_stdin.c [1.2.2.1.2.1], gp_sysv.c [1.2.6.1.2.1], gp_unix.c [1.5.2.1.2.1],
    +gp_vms.c [1.7.2.3.2.1], gp_wgetv.c [1.4.2.2.2.1], gp_win32.c [1.2.6.1.2.1],
    +gp_wsync.c [1.2.6.1.2.1], gs16spl.c [1.2.6.1.2.1], gsdll.c [1.6.2.1.2.1],
    +gserver.c [1.2.6.1.2.1]: 2003/01/17 00:49:00 giles)
    +
    +Apply standard GNU license banner at the request of RMS. Patch from Brett
    +Smith. (gspmdrv.c [1.2.6.1.2.1], scfdgen.c [1.2.6.1.2.1],
    +zdosio.c [1.2.6.1.2.1]: 2003/01/17 00:49:03 giles)
    +
    +Apply standard GNU license banner at the request of RMS. Patch from Brett
    +Smith. (ziodevs.c [1.5.2.1.2.1], ziodevsc.c [1.3.2.1.2.1]: 2003/01/17
    +00:49:06 giles)
    + 
    +Correct an incorrectly applied patch to the macos implementation of
    +gp_pathstring_not_bare(). (gp_macio.c [1.2.4.5.2.2]: 2003/04/01 12:21:50
    +giles)
    +
    +

    Drivers

    +
    +Fixes problems:
    +	- Correct the display device color mapping functions that were
    +wrong. Change 4-bit mapping functions to standard VGA. Correct 16-bit native
    +RGB and 32-bit xRGB mapping functions. Add RGB to color mapping functions
    +for CMYK formats, needed by anti-aliasing. (gdevdsp.c [1.5.2.5]: 2002/06/22
    +03:10:10 ghostgum)
    +	- When compiled for A4 default page size, the initial page size is
    +now 595x842pts. The initial printer page size in tenths of an inch now uses
    +floating point. This may cause problems with old compilers that do not allow
    +floating point calculations in initializers for integers. Add some casts to
    +suppress warnings with the MS compiler. Fixes SourceForge bug #535997,
    +"ps2pdf produces incorrect A4 page size". (gdevbmpc.c [1.2.6.2]: 2002/07/18
    +11:11:40 ghostgum)
    +
    +To improve clarity, use hexadecimal for -dDisplayFormat=16#XXXXXX in the
    +display device example code. (gdevdsp.c [1.5.2.4]: 2002/06/19 11:36:36
    +ghostgum)
    +
    +Add a 32 bit/pixel CMYK driver named pam using the Portable Arbitrary Map
    +file format, one of the netpbm family. This driver has problems with
    +anti-aliasing that will be fixed in a later patch. (gdevpbm.c [1.3.6.2]:
    +2002/06/22 03:44:00 ghostgum)
    +
    +Remove some interpreter references from the graphics library. Partial fix
    +for SourceForge bug #542848, "library #includes interpreter headers".
    +(gdevmswn.c [1.4.2.2]: 2002/09/14 12:25:55 ghostgum)
    +
    +Backport MacOS build updates for Metrowerks CW8 from HEAD.
    +(gdevmac.h [1.1.4.3]: 2002/12/01 23:29:37 giles)
    +
    +Apply standard GNU license banner at the request of RMS. Patch from Brett
    +Smith. (gdev3852.c [1.3.2.1.2.1], gdev3b1.c [1.2.6.1.2.1],
    +gdev4081.c [1.3.2.1.2.1], gdev8510.c [1.3.2.1.2.1],
    +gdev8bcm.c [1.2.6.1.2.1], gdev8bcm.h [1.2.6.1.2.1],
    +gdevadmp.c [1.3.2.1.2.1], gdevatx.c [1.6.8.1], gdevbit.c [1.2.6.1.2.1],
    +gdevbj10.c [1.4.2.1.2.1], gdevbjc.h [1.2.6.1.2.1], gdevbjcl.c [1.2.6.1.2.1],
    +gdevbjcl.h [1.2.6.1.2.1], gdevbmp.c [1.4.2.1.2.1], gdevbmp.h [1.2.6.1.2.1],
    +gdevbmpa.c [1.3.6.1.2.1], gdevbmpc.c [1.2.6.2.2.1], gdevccr.c [1.2.6.1.2.1],
    +gdevcdj.c [1.5.2.1.2.1], gdevcfax.c [1.3.6.1.2.1], gdevcgm.c [1.2.6.2.2.1],
    +gdevcgml.c [1.2.6.1.2.1], gdevcgml.h [1.2.6.1.2.1],
    +gdevcgmx.h [1.2.6.1.2.1], gdevcif.c [1.3.2.1.2.1], gdevclj.c [1.2.6.1.2.1],
    +gdevcljc.c [1.4.2.1.2.1], gdevcp50.c [1.3.2.1.2.1],
    +gdevcslw.c [1.2.6.1.2.1], gdevdcrd.c [1.2.6.1.2.1],
    +gdevdcrd.h [1.2.6.1.2.1], gdevdfax.c [1.4.2.1.2.1], gdevdjet.c [1.6.8.1],
    +gdevdjtc.c [1.3.2.1.2.1], gdevdljm.c [1.4.8.1], gdevdljm.h [1.4.8.1],
    +gdevdm24.c [1.3.2.1.2.1], gdevdsp.c [1.5.2.5.2.1],
    +gdevegaa.asm [1.2.6.1.2.1], gdevepsc.c [1.3.2.1.2.1],
    +gdevepsn.c [1.3.2.1.2.1], gdevescp.c [1.3.2.1.2.1],
    +gdevevga.c [1.2.6.1.2.1], gdevfax.c [1.2.6.1.2.1], gdevfax.h [1.2.6.1.2.1],
    +gdevherc.c [1.2.6.1.2.1], gdevhl7x.c [1.5.2.1.2.1], gdevijs.c [1.1.2.3.2.1],
    +gdevimgn.c [1.4.2.1.2.1], gdevjpeg.c [1.3.2.1.2.1],
    +gdevl256.c [1.3.6.1.2.1], gdevl31s.c [1.2.6.1.2.1],
    +gdevlbp8.c [1.3.2.1.2.1], gdevlj56.c [1.3.2.1.2.1],
    +gdevlp8k.c [1.2.6.1.2.1], gdevlxm.c [1.2.6.1.2.1], gdevmac.c [1.1.4.3.2.1],
    +gdevmac.h [1.1.4.3.2.1], gdevmacpictop.h [1.1.4.2.2.1],
    +gdevmacttf.h [1.1.4.2.2.1], gdevmacxf.c [1.1.4.2.2.1],
    +gdevmeds.c [1.2.6.1.2.1], gdevmeds.h [1.2.6.1.2.1], gdevmgr.c [1.2.6.1.2.1],
    +gdevmgr.h [1.2.6.1.2.1], gdevmiff.c [1.3.2.1.2.1], gdevmswn.c [1.4.2.2.2.1],
    +gdevmswn.h [1.2.6.1.2.1], gdevmsxf.c [1.2.6.1.2.1],
    +gdevn533.c [1.3.2.1.2.1], gdevo182.c [1.3.2.1.2.1],
    +gdevokii.c [1.3.2.1.2.1], gdevos2p.c [1.4.2.1.2.1], gdevp14.h [1.1.2.1.2.1],
    +gdevp2up.c [1.2.6.1.2.1], gdevpbm.c [1.3.6.2.2.1], gdevpccm.c [1.2.6.1.2.1],
    +gdevpccm.h [1.3.6.1.2.1], gdevpcfb.c [1.2.6.1.2.1],
    +gdevpcfb.h [1.2.6.1.2.1], gdevpcl.c [1.5.2.1.2.1], gdevpcl.h [1.5.2.1.2.1],
    +gdevpcx.c [1.2.6.1.2.1], gdevpe.c [1.2.6.1.2.1], gdevphex.c [1.2.6.2.2.1],
    +gdevpjet.c [1.3.2.1.2.1], gdevpm.c [1.4.2.1.2.1], gdevpm.h [1.2.6.1.2.1],
    +gdevpng.c [1.4.2.1.2.1], gdevpnga.c [1.4.2.1.2.1], gdevps.c [1.19.2.2.2.1],
    +gdevpsdf.h [1.9.4.1.2.1], gdevpsdi.c [1.15.2.1.2.1],
    +gdevpsdp.c [1.8.6.1.2.1], gdevpsds.c [1.4.6.1.2.1],
    +gdevpsds.h [1.4.6.1.2.1], gdevpsdu.c [1.10.2.1.2.1],
    +gdevpsim.c [1.6.2.1.2.1], gdevpsu.c [1.7.2.2.2.1], gdevpsu.h [1.4.2.1.2.1],
    +gdevpx.c [1.6.2.1.2.1], gdevpxat.h [1.3.6.1.2.1], gdevpxen.h [1.3.6.1.2.1],
    +gdevpxop.h [1.2.6.1.2.1], gdevpxut.c [1.2.6.1.2.1],
    +gdevpxut.h [1.2.6.1.2.1], gdevs3ga.c [1.2.6.1.2.1], gdevsco.c [1.3.6.1.2.1],
    +gdevsj48.c [1.2.6.1.2.1], gdevsnfb.c [1.3.2.1.2.1],
    +gdevsppr.c [1.5.2.1.2.1], gdevstc.c [1.2.6.1.2.1], gdevstc.h [1.2.6.1.2.1],
    +gdevstc1.c [1.2.6.1.2.1], gdevstc2.c [1.2.6.1.2.1],
    +gdevstc3.c [1.2.6.1.2.1], gdevstc4.c [1.2.6.1.2.1], gdevsun.c [1.2.6.1.2.1],
    +gdevsunr.c [1.4.2.1.2.1], gdevsvga.c [1.2.6.1.2.1],
    +gdevsvga.h [1.2.6.1.2.1], gdevtfax.c [1.4.6.1.2.1],
    +gdevtfax.h [1.4.6.1.2.1], gdevtfnx.c [1.5.2.1.2.1],
    +gdevtifs.c [1.4.2.1.2.1], gdevtifs.h [1.3.6.1.2.1],
    +gdevtknk.c [1.3.2.1.2.1], gdevupd.c [1.5.2.1.2.1], gdevvglb.c [1.3.6.1.2.1],
    +gdevwddb.c [1.3.2.1.2.1], gdevwdib.c [1.3.2.1.2.1],
    +gdevwpr2.c [1.9.2.1.2.1], gdevwprn.c [1.3.2.1.2.1], gdevx.c [1.8.2.3.2.1],
    +gdevx.h [1.4.6.1.2.1], gdevxalt.c [1.2.6.2.2.1], gdevxcmp.c [1.2.6.2.2.1],
    +gdevxcmp.h [1.2.6.1.2.1], gdevxini.c [1.10.4.1.2.1],
    +gdevxres.c [1.3.6.1.2.1], gdevxxf.c [1.5.6.1.2.1]: 2003/01/17 00:49:00
    +giles)
    +
    +Apply standard GNU license banner at the request of RMS. Patch from Brett
    +Smith. (gdevpdf.c [1.38.2.3.2.1], gdevpdfb.c [1.6.2.1.2.1],
    +gdevpdfc.c [1.17.2.1.2.1], gdevpdfd.c [1.16.2.1.2.1],
    +gdevpdfg.c [1.14.2.1.2.1], gdevpdfg.h [1.9.6.1.2.1],
    +gdevpdfi.c [1.24.2.1.2.1], gdevpdfj.c [1.7.2.1.2.1],
    +gdevpdfm.c [1.14.2.1.2.1], gdevpdfo.c [1.9.2.1.2.1],
    +gdevpdfo.h [1.6.4.1.2.1], gdevpdfp.c [1.19.2.1.2.1],
    +gdevpdfr.c [1.4.6.1.2.1], gdevpdfu.c [1.16.2.1.2.1],
    +gdevpdfv.c [1.10.2.1.2.1], gdevpdfx.h [1.34.2.1.2.1]: 2003/01/17 00:49:01
    +giles)
    +
    +

    PDF writer

    +
    +Fixes problems:
    +	- (pdfwrite) Completely replacing the Rotation computation logics.
    +Source Forge bug "[ 475147 ] GS 7.03 produces everthing upsidedown"
    +(gdevpdf.c [1.38.2.2]: 2002/06/28 10:44:18 igor)
    +
    +

    PDF Interpreter

    +
    +Fixes problems:
    +	- Add the option -dUseCropBox to set the page size from the CropBox
    +rather than the MediaBox. This is appropriate when using ghostscript to view
    +PDF files or convert to bitmaps. It probably isn't appropriate for printing.
    +Fixes SourceForge bugs #522486, "Wromg size EPS generated from PDF" and
    +#538267 "Problems with Media Box in PDF and PS interpreter".
    +(lib/pdf_main.ps [1.35.2.3]: 2002/06/28 10:59:02 ghostgum)
    +	- When drawing PDF annotation links which are missing a /Border,
    +assume the default /Border [0 0 1]. Previously ghostscript assumed that
    +links without a /Border should not be drawn, which is contrary to the PDF
    +specification. (lib/pdf_draw.ps [1.36.2.2]: 2002/06/28 23:12:21 ghostgum)
    +	- If a PDF annotation specified other than the default color with
    +/C, pass this into the pdfmark logic as /Color. (lib/pdf_main.ps [1.35.2.4]:
    +2002/06/28 23:13:06 ghostgum)
    +	- When using -dUseCropBox, use an inherited CropBox. The previous
    +fix would only use a CropBox on the page being displayed.
    +(lib/pdf_main.ps [1.35.2.5]: 2002/07/18 10:45:42 ghostgum)
    +	- When ghostscript is given a PDF file on standard input, copy it to
    +a temporary file before processing. Prior to version 7, ghostscript could
    +read PDF from standard input redirected from a file, but not from a pipe.
    +Standard input was changed in version 7 to use callouts, which prevented PDF
    +reading from standard input. Fixes SourceForge bug #583413, /ioerror with gs
    +- < file.pdf vers 7.xx (lib/pdf_main.ps [1.35.2.6]: 2002/09/14 12:05:58
    +ghostgum)
    +
    +Move code from pdfshowpage to pdfshowpage_finish for the benefit of GSview
    +which calls pdfshowpage_init and pdfshowpage_finish, but not
    +pdfshowpage_setpage. (lib/pdf_main.ps [1.35.2.7]: 2002/11/05 20:58:19
    +ghostgum)
    +
    +Makes the PDF interpreter run files under a level of 'save'. This improves
    +memory utilization significantly, although we don't understand why. Patch
    +originally applied as revision 1.45 by lpd. (lib/pdf_main.ps [1.35.2.7.2.1]:
    +2003/01/28 11:08:36 ghostgum)
    +
    +Treat files starting with %Pxxx as PostScript, not PDF. Process empty files
    +without error. Fixes SourceForge bug #663150, Some PS files half-recognized
    +as PDF files DETAILS: Changes for the 8.00 release to allow reading of PDF
    +files from stdin caused files starting with %Pxxx to be half recognised as
    +PDF files. This patch simplifies the PDF recognition code and makes it treat
    +only files starting with "%PDF-" as PDF. Testing of this code found that
    +zero length input files caused a PostScript error. This was an existing
    +error which is fixed by the gs_epsf.ps patch and last line of the
    +pdf_main.ps patch. (lib/pdf_main.ps [1.35.2.7.2.2]: 2003/01/28 11:54:11
    +ghostgum)
    +
    +

    Interpreter

    +
    +Fixes problems:
    +	- .pushpdf14devicefilter was defined in zdfilter.c, but depended on
    +the optional pdf module's transparency features. Moves the definition of
    +this routine to the conditionally included ztrans.c. Fix by L. Peter
    +Deutsch, resolves SourceForge Bug 565019. (zdfilter.c [1.2.2.2],
    +ztrans.c [1.13.2.2]: 2002/06/14 09:53:12 giles)
    +	- As a result of a recent fix, an opdef table had more than 16
    +entries, causing initialization to abort. backporting a fix by L. Peter
    +Deutsch from HEAD. (ztrans.c [1.13.2.3]: 2002/06/14 15:26:00 giles)
    +	- Correct the display device color mapping functions that were
    +wrong. Change 4-bit mapping functions to standard VGA. Correct 16-bit native
    +RGB and 32-bit xRGB mapping functions. Add RGB to color mapping functions
    +for CMYK formats, needed by anti-aliasing. (dpmain.c [1.5.2.2],
    +dwimg.c [1.3.2.2]: 2002/06/22 03:10:10 ghostgum)
    +	- correct the ISO paper sizes in gs_statd.ps to match those in the
    +Adobe PPD specification, technical note 5003. Fixes SourceForge bug #536877,
    +"Paper sizes wrong in gs_statd.ps". (lib/gs_statd.ps [1.5.2.2]: 2002/07/18
    +10:43:42 ghostgum)
    +	- process comment lines when they straddle a buffer boundary, so
    +that all DSC comments can be processed by the PDF writer. Fixes SourceForge
    +bug #432040, DSC ignored when reading stdin. (iscan.c [1.5.6.2]: 2002/09/05
    +08:30:38 ghostgum)
    +	- copy comment lines inside a procedure which require a scanner
    +refill to the operand stack, not the execution stack. Fixes SourceForge bug
    +#605240, 070-01.ps fails in .parse_dsc_comments. (iscan.c [1.5.6.3]:
    +2002/09/06 20:54:10 ghostgum)
    +	- provide a meaningful error message when an immediately evaluated
    +name can not be found. Fixes SourceForge bug #543185, Confusing diagnostics
    +for //undefined. (interp.c [1.8.2.2], ziodev.c [1.6.2.2]: 2002/09/14
    +11:59:15 ghostgum)
    +	- Keep pagedevice and device views of .LockSafetyParams correct even
    +after a 'restore' is used to unlock. The dictionary fed to the setpagedevice
    +operator is allocated in the same VM space as currentpagedevice to avoid
    +invalidaccess problems. Fixed SF #580029 and does not revert to the
    +incorrect behaviour of bug #516379. (lib/gs_init.ps [1.40.2.11]: 2002/09/19
    +17:05:05 ray)
    +	- Fix : Overlapping format 4 CMap ranges, while arguably buggy, are
    +commonly found in quite a few popular CJK TrueType fonts. Patch from Anthony
    +Fok Tung-Ling. (lib/gs_ttf.ps [1.9.2.3]: 2002/09/20 15:35:22 igor)
    +	- The constraint for FontBBox to be non-zero was not conforming and
    +now is removed. (bfont.h [1.3.6.2], zbfont.c [1.7.4.2], zfcid0.c [1.7.2.3],
    +zfcid1.c [1.4.4.2]: 2002/09/21 08:36:49 igor)
    +	- Fix : Unwinding the patch from Anthony Fok Tung-Ling, because it
    +caused regression with comparefiles/fonts.pdf . (lib/gs_ttf.ps [1.9.2.4]:
    +2002/09/22 12:43:55 igor)
    +	- Provide a meaningful error message when an immediately evaluated
    +name in a procedure can not be found. Additional fix for SourceForge bug
    +#543185, Confusing diagnostics for //undefined. (iscan.c [1.5.6.4],
    +ziodev.c [1.6.2.3]: 2002/11/01 23:50:42 ghostgum)
    +	- Redefine .runstdin with one bound to EPSF 'run' operator so that
    +EPS files are handled correctly from %stdin. Code for skipping DOS EPS
    +header now uses the EPS encapsulating run, instead of directly calling
    +.runexec. (lib/gs_epsf.ps [1.2.6.5]: 2002/11/01 23:53:32 ghostgum)
    +	- When processing an EPS file, remove any left over items on the
    +operand and dictionary stacks. (lib/gs_epsf.ps [1.2.6.7]: 2002/11/12
    +20:32:59 ghostgum)
    +	- Fix the remaining security patch problems so that local/global
    +state is correctly handled, both for the pagedevice as well as the
    +PermitFile... userparam dictionary entries. Fixes bug #647685. Patch from
    +Ray Johnston. (lib/gs_epsf.ps [1.2.6.11.2.2],
    +lib/gs_init.ps [1.40.2.12.2.1], lib/gs_lev2.ps [1.7.2.4.2.2],
    +lib/gs_setpd.ps [1.8.2.2.2.1]: 2003/03/31 13:02:22 giles)
    +
    +Delete all temporary files when the interpreter closes. (imain.c [1.19.2.2]:
    +2002/09/05 10:26:09 ghostgum)
    +
    +Add command line options -dEPS, -dEPSCrop and -dEPSFitPage for handling
    +Encapsulated PostScript files. (lib/gs_epsf.ps [1.2.6.2],
    +lib/gs_init.ps [1.40.2.10]: 2002/09/14 12:17:26 ghostgum)
    +
    +Remove a debug message from previous EPS commit. (lib/gs_epsf.ps [1.2.6.3]:
    +2002/09/14 12:45:02 ghostgum)
    +
    +Update version number and date for release. (lib/gs_init.ps [1.40.2.12]:
    +2002/10/10 13:36:56 giles)
    +
    +Improvements to processing of EPS files. (lib/gs_epsf.ps [1.2.6.4]:
    +2002/10/31 11:12:13 ghostgum)
    +
    +Correct -dEPSFitPage when the device has non-zero margins.
    +(lib/gs_epsf.ps [1.2.6.6]: 2002/11/07 07:16:34 ghostgum)
    +
    +Correct the display device color mapping intended for the Macintosh.
    +(gdevdsp.h [1.1.2.3]: 2002/11/13 07:19:56 ghostgum)
    +
    +Make sure resource use of .forcedef works with -dDELAYBIND. Patch by Alex
    +Cherepanov. (lib/gs_res.ps [1.16.2.2]: 2002/11/18 20:31:52 ghostgum)
    +
    +Prevent access to .forceput. (lib/gs_epsf.ps [1.2.6.8]: 2002/11/20 06:44:59
    +ghostgum)
    +
    +When processing multiple EPS files, call showpage if necessary for
    +subsequent files. (lib/gs_epsf.ps [1.2.6.9]: 2002/11/20 06:46:35 ghostgum)
    +
    +When processing EPS files, empty the path after checking the page size.
    +(lib/gs_epsf.ps [1.2.6.10]: 2002/11/21 09:59:46 ghostgum)
    +
    +Backport debug and unitialized variable fixes from HEAD. After a patch from
    +Alexei A. Podtelezhnikov. (icontext.c [1.6.6.3], interp.c [1.8.2.3],
    +iscan.c [1.5.6.5], ziodev.c [1.6.2.4]: 2002/12/01 15:10:20 giles)
    +
    +Apply standard GNU license banner at the request of RMS. Patch from Brett
    +Smith. (bfont.h [1.3.6.2.2.1], btoken.h [1.4.6.1.2.1],
    +ccfont.h [1.2.6.1.2.1], dpmain.c [1.5.2.2.2.1], dscparse.c [1.7.2.1.2.1],
    +dscparse.h [1.6.2.2.2.1], dstack.h [1.3.4.1.2.1], dwdll.c [1.2.2.1.2.1],
    +dwdll.h [1.3.2.1.2.1], dwimg.c [1.3.2.2.2.1], dwimg.h [1.4.2.2.2.1],
    +dwinst.cpp [1.2.6.2.2.1], dwinst.h [1.2.6.3.2.1], dwmain.c [1.6.2.2.2.1],
    +dwmain.h [1.3.2.2.2.1], dwmainc.c [1.8.2.2.2.1], dwnodll.c [1.1.2.2.2.1],
    +dwreg.c [1.1.2.2.2.1], dwreg.h [1.1.2.2.2.1], dwsetup.cpp [1.5.6.2.2.1],
    +dwsetup.h [1.2.6.2.2.1], dwtext.c [1.5.2.1.2.1], dwtext.h [1.4.2.2.2.1],
    +dwuninst.cpp [1.2.6.2.2.1], dwuninst.h [1.2.6.2.2.1],
    +errors.h [1.4.2.1.2.1], estack.h [1.2.6.1.2.1], files.h [1.4.2.1.2.1],
    +gdevdsp.h [1.1.2.3.2.1], gdevdsp2.h [1.2.2.2.2.1], ghost.h [1.2.6.1.2.1],
    +gs.c [1.6.2.1.2.1]: 2003/01/17 00:49:00 giles)
    +
    +Apply standard GNU license banner at the request of RMS. Patch from Brett
    +Smith. (ialloc.c [1.2.6.1.2.1], ialloc.h [1.2.6.1.2.1],
    +iapi.c [1.1.2.2.2.1], iapi.h [1.2.2.1.2.1], iastate.h [1.2.6.1.2.1],
    +iastruct.h [1.2.6.1.2.1], ibnum.c [1.2.6.1.2.1], ibnum.h [1.2.6.1.2.1],
    +iccfont.c [1.2.6.2.2.1], iccinit0.c [1.2.6.1.2.1], icfontab.c [1.2.6.1.2.1],
    +ichar.h [1.3.6.1.2.1], ichar1.h [1.3.6.1.2.1], icharout.h [1.3.4.1.2.1],
    +icid.h [1.2.6.1.2.1], icie.h [1.3.2.1.2.1], icolor.h [1.2.6.1.2.1],
    +iconf.c [1.3.2.1.2.1], iconf.h [1.1.6.1.2.1], icontext.c [1.6.6.3.2.1],
    +icontext.h [1.2.6.1.2.1], icremap.h [1.2.6.1.2.1], icsmap.h [1.2.6.1.2.1],
    +icstate.h [1.4.6.2.2.1], iddict.h [1.2.6.1.2.1], iddstack.h [1.2.6.1.2.1],
    +idebug.c [1.4.2.1.2.1], idebug.h [1.2.6.1.2.1], idict.c [1.4.4.1.2.1],
    +idict.h [1.2.6.1.2.1], idictdef.h [1.2.6.1.2.1], idisp.c [1.2.2.2.2.1],
    +idisp.h [1.1.2.1.2.1], idosave.h [1.2.6.1.2.1], idparam.c [1.3.6.1.2.1],
    +idparam.h [1.3.6.1.2.1], idsdata.h [1.2.6.1.2.1], idstack.c [1.2.6.1.2.1],
    +idstack.h [1.2.6.1.2.1], iesdata.h [1.2.6.1.2.1], iestack.h [1.2.6.1.2.1],
    +ifcid.h [1.2.6.1.2.1], ifilter.h [1.3.6.1.2.1], ifilter2.h [1.2.6.1.2.1],
    +ifont.h [1.6.4.1.2.1], ifont1.h [1.3.6.1.2.1], ifont2.h [1.2.6.1.2.1],
    +ifont42.h [1.3.6.1.2.1], ifrpred.h [1.2.6.1.2.1], ifunc.h [1.3.6.3.2.1],
    +ifwpred.h [1.2.6.1.2.1], igc.c [1.5.2.1.2.1], igc.h [1.2.6.1.2.1],
    +igcref.c [1.3.2.1.2.1], igcstr.c [1.3.6.1.2.1], igcstr.h [1.2.6.1.2.1],
    +igstate.h [1.3.6.1.2.1], iht.h [1.2.6.1.2.1], iimage.h [1.2.6.1.2.1],
    +iimage2.h [1.2.6.1.2.1], iinit.c [1.3.4.1.2.1], iinit.h [1.2.6.1.2.1],
    +ilevel.h [1.2.6.1.2.1], ilocate.c [1.4.2.1.2.1], imain.c [1.19.2.2.2.1],
    +imain.h [1.3.2.1.2.1], imainarg.c [1.13.2.3.2.1], imainarg.h [1.3.2.1.2.1],
    +imemory.h [1.2.6.1.2.1], iminst.h [1.5.2.1.2.1], iname.c [1.3.6.1.2.1],
    +iname.h [1.2.6.1.2.1], inamedef.h [1.2.6.1.2.1], inameidx.h [1.2.6.1.2.1],
    +inames.h [1.2.6.1.2.1], inamestr.h [1.2.6.1.2.1], inobtokn.c [1.2.6.1.2.1],
    +inouparm.c [1.2.6.1.2.1], interp.c [1.8.2.3.2.1], interp.h [1.2.6.1.2.1],
    +iosdata.h [1.2.6.1.2.1], iostack.h [1.2.6.1.2.1], ipacked.h [1.2.6.1.2.1],
    +iparam.c [1.5.6.1.2.1], iparam.h [1.2.6.1.2.1], iparray.h [1.2.6.1.2.1],
    +ipcolor.h [1.2.6.1.2.1], ireclaim.c [1.3.2.1.2.1], iref.h [1.5.4.1.2.1],
    +isave.c [1.3.6.1.2.1], isave.h [1.2.6.1.2.1], iscan.c [1.5.6.5.2.1],
    +iscan.h [1.4.6.1.2.1], iscanbin.c [1.5.6.1.2.1], iscanbin.h [1.2.6.1.2.1],
    +iscannum.c [1.3.2.1.2.1], iscannum.h [1.2.6.1.2.1], isdata.h [1.2.6.1.2.1],
    +isstate.h [1.2.6.1.2.1], istack.c [1.2.6.1.2.1], istack.h [1.2.6.1.2.1],
    +isstate.h [1.2.6.1.2.1], istack.c [1.2.6.1.2.1], istack.h [1.2.6.1.2.1],
    +istkparm.h [1.2.6.1.2.1], istream.h [1.2.6.1.2.1], istruct.h [1.2.6.1.2.1],
    +itoken.h [1.2.6.1.2.1], iutil.c [1.3.2.1.2.1], iutil.h [1.2.6.1.2.1],
    +iutil2.c [1.2.6.2.2.1], iutil2.h [1.2.6.2.2.1], ivmem2.h [1.2.6.1.2.1],
    +ivmspace.h [1.2.6.1.2.1], main.h [1.3.2.1.2.1], oparc.h [1.2.6.1.2.1],
    +opcheck.h [1.2.6.1.2.1], opdef.h [1.3.2.1.2.1], oper.h [1.2.6.1.2.1],
    +opextern.h [1.2.6.1.2.1], ostack.h [1.2.6.1.2.1], sbhc.c [1.3.4.1.2.1],
    +sbhc.h [1.2.6.1.2.1], sbwbs.c [1.2.6.1.2.1], sbwbs.h [1.2.6.1.2.1],
    +sfilter1.c [1.6.4.1.2.1], shcgen.c [1.2.6.1.2.1], shcgen.h [1.2.6.1.2.1],
    +smtf.c [1.2.6.1.2.1], smtf.h [1.2.6.1.2.1], store.h [1.2.6.1.2.1],
    +zarith.c [1.4.6.1.2.1], zarray.c [1.2.6.1.2.1], zbfont.c [1.7.4.2.2.1],
    +zbseq.c [1.4.6.1.2.1], zcfont.c [1.2.6.2.2.1], zchar.c [1.4.2.2.2.1],
    +zchar1.c [1.7.2.2.2.1], zchar2.c [1.2.6.1.2.1], zchar32.c [1.2.6.1.2.1],
    +zchar42.c [1.3.4.2.2.1], zcharout.c [1.4.4.2.2.1], zcharx.c [1.3.6.1.2.1],
    +zcid.c [1.3.6.1.2.1], zcie.c [1.5.2.1.2.1], zcolor.c [1.4.6.1.2.1],
    +zcolor1.c [1.3.6.1.2.1], zcolor2.c [1.4.2.1.2.1], zcontext.c [1.7.2.1.2.1],
    +zcontrol.c [1.3.6.2.2.1], zcrd.c [1.2.6.1.2.1], zcsdevn.c [1.5.2.2.2.1],
    +zcsindex.c [1.3.6.1.2.1], zcspixel.c [1.2.6.1.2.1], zcssepr.c [1.8.2.1.2.1],
    +zdevcal.c [1.3.6.1.2.1], zdevice.c [1.3.6.2.2.1], zdevice2.c [1.4.2.2.2.1],
    +zdfilter.c [1.2.2.2.2.1], zdict.c [1.3.6.1.2.1], zdouble.c [1.2.6.1.2.1],
    +zdpnext.c [1.3.6.1.2.1], zdps.c [1.4.6.1.2.1], zdps1.c [1.3.4.1.2.1],
    +zdscpars.c [1.12.2.1.2.1], zfarc4.c [1.2.2.1.2.1], zfbcp.c [1.3.6.1.2.1],
    +zfcid.c [1.11.4.1.2.1], zfcid0.c [1.7.2.3.2.1], zfcid1.c [1.4.4.2.2.1],
    +zfcmap.c [1.9.2.1.2.1], zfdctd.c [1.6.2.1.2.1], zfdcte.c [1.5.2.1.2.1],
    +zfdecode.c [1.3.6.1.2.1], zfile.c [1.11.2.4.2.1], zfileio.c [1.12.2.1.2.1],
    +zfilter.c [1.5.2.1.2.1], zfilter2.c [1.3.6.1.2.1], zfilterx.c [1.2.6.1.2.1],
    +zfmd5.c [1.2.6.1.2.1], zfont.c [1.3.4.1.2.1], zfont0.c [1.3.6.1.2.1],
    +zfont1.c [1.9.4.1.2.1], zfont2.c [1.4.2.1.2.1], zfont32.c [1.2.6.1.2.1],
    +zfont42.c [1.5.6.1.2.1], zfproc.c [1.9.2.1.2.1], zfrsd.c [1.4.6.1.2.1],
    +zfunc.c [1.6.6.3.2.1], zfunc0.c [1.3.6.2.2.1], zfunc3.c [1.2.6.2.2.1],
    +zfunc4.c [1.7.4.2.2.1], zfzlib.c [1.3.6.1.2.1], zgeneric.c [1.3.6.1.2.1],
    +zgstate.c [1.2.6.1.2.1], zhsb.c [1.2.6.1.2.1], zht.c [1.2.6.1.2.1],
    +zht1.c [1.2.6.1.2.1], zht2.c [1.2.6.1.2.1], zicc.c [1.2.2.2.2.1],
    +zimage.c [1.5.6.1.2.1], zimage2.c [1.4.2.1.2.1], zimage3.c [1.3.6.1.2.1],
    +ziodev.c [1.6.2.4.2.1], ziodev2.c [1.3.6.1.2.1], zmath.c [1.3.6.1.2.1],
    +zmatrix.c [1.4.6.1.2.1], zmedia2.c [1.3.2.1.2.1], zmisc.c [1.2.6.1.2.1],
    +zmisc1.c [1.3.6.1.2.1], zmisc2.c [1.3.6.1.2.1], zmisc3.c [1.2.6.1.2.1],
    +zpacked.c [1.2.6.1.2.1], zpaint.c [1.2.6.1.2.1], zpath.c [1.2.6.1.2.1],
    +zpath1.c [1.2.6.1.2.1], zpcolor.c [1.3.6.1.2.1], zrelbit.c [1.2.6.1.2.1],
    +zrop.c [1.2.6.1.2.1], zshade.c [1.4.6.2.2.1], zstack.c [1.2.6.1.2.1],
    +zstring.c [1.2.6.1.2.1], zsysvm.c [1.2.6.1.2.1], ztoken.c [1.6.6.1.2.1],
    +ztrans.c [1.13.2.3.2.1], ztrap.c [1.2.6.1.2.1], ztype.c [1.3.6.1.2.1],
    +zupath.c [1.2.6.1.2.1], zusparam.c [1.3.6.2.2.1], zvmem.c [1.3.2.2.2.1],
    +zvmem2.c [1.3.2.1.2.1]: 2003/01/17 00:49:04 giles)
    +
    +Update DSC parser to current Ghostgum Software version. Fixes SourceForge
    +bug #657289, SEGV on Alpha in DSC parser. DETAILS: A %%Page line with
    +mismatched parentheses around the page label was ignored, but parser state
    +was updated to scanning pages, not setup section. This resulted in access to
    +dsc->page[-1] which is invalid and caused a SEGV on Alpha. The updated
    +code now checks that dsc->page_count is non-zero before accessing dsc-
    +>page[dsc->page_count-1]. It also makes a second attempt at finding
    +the page ordinal at the end of a line like: %%Page: (label with closing
    +parentheses 1 Other parser updates include support for DCS2 files (which is
    +not quite compliant with DSC), removing a few compiler warnings,
    +%%HiResBoundingBox, %%CropBox, %%PageCropBox, and being more resilient to
    +incorrect DSC. (dscparse.c [1.7.2.1.2.2], dscparse.h [1.6.2.2.2.2]:
    +2003/01/28 11:44:44 ghostgum)
    +
    +Treat files starting with %Pxxx as PostScript, not PDF. Process empty files
    +without error. Fixes SourceForge bug #663150, Some PS files half-recognized
    +as PDF files DETAILS: Changes for the 8.00 release to allow reading of PDF
    +files from stdin caused files starting with %Pxxx to be half recognised as
    +PDF files. This patch simplifies the PDF recognition code and makes it treat
    +only files starting with "%PDF-" as PDF. Testing of this code found that
    +zero length input files caused a PostScript error. This was an existing
    +error which is fixed by the gs_epsf.ps patch and last line of the
    +pdf_main.ps patch. (lib/gs_epsf.ps [1.2.6.11.2.1]: 2003/01/28 11:54:11
    +ghostgum)
    +
    +

    Streams

    +
    +Remove some interpreter references from the graphics library. Partial fix
    +for SourceForge bug #542848, "library #includes interpreter headers".
    +(sarc4.c [1.5.2.2]: 2002/09/14 12:25:55 ghostgum)
    +
    +Backport MacOS build updates for Metrowerks CW8 from HEAD.
    +(stat_.h [1.6.2.2], stdpre.h [1.4.2.2]: 2002/12/01 23:29:37 giles)
    +
    +

    Library

    +
    +Fixes problems:
    +	- When drawing with anti-aliasing on devices with less than
    +8-bit/pixel, extract the correct existing pixel value.
    +(gdevdbit.c [1.2.6.2]: 2002/06/22 03:09:05 ghostgum)
    +	- (pdfwrite) Enforce writing FontBBox into CFF. Source Forge bug "[
    +578899 ] Missing /FontBBox when converting to ps?" (gdevpsf.h [1.10.2.2],
    +gdevpsf2.c [1.15.2.2]: 2002/07/16 13:33:49 igor)
    +	- When compiled for A4 default page size, the initial page size is
    +now 595x842pts. The initial printer page size in tenths of an inch now uses
    +floating point. This may cause problems with old compilers that do not allow
    +floating point calculations in initializers for integers. Add some casts to
    +suppress warnings with the MS compiler. Fixes SourceForge bug #535997,
    +"ps2pdf produces incorrect A4 page size". (gdevprn.h [1.6.6.2],
    +gxdevice.h [1.4.6.3]: 2002/07/18 11:11:40 ghostgum)
    +	- Provide an implementation of popen for Windows, to avoid the
    +broken implementation in MSVC++ 5 and 6. This allows pswrite to output to a
    +pipe on Windows. Fixes SourceForge bug #482038, pswrite does not write to
    +pipe. (pipe_.h [1.2.6.2]: 2002/09/05 10:19:00 ghostgum)
    +	- Propagate error codes from gs_distance_transform_inverse. Patch
    +from Forrest Cahoon, improved. (gxstroke.c [1.2.6.2]: 2002/10/31 09:02:54
    +igor)
    +
    +Remove some interpreter references from the graphics library. Partial fix
    +for SourceForge bug #542848, "library #includes interpreter headers".
    +(gsargs.c [1.4.2.2]: 2002/09/14 12:25:55 ghostgum)
    +
    +Apply standard GNU license banner at the request of RMS. Patch from Brett
    +Smith. (ctype_.h [1.2.6.1.2.1], dirent_.h [1.2.6.1.2.1],
    +dos_.h [1.2.6.1.2.1], errno_.h [1.2.6.1.2.1], fcntl_.h [1.3.6.1.2.1],
    +gconf.c [1.2.6.1.2.1], gconf.h [1.2.6.1.2.1], gdebug.h [1.3.2.1.2.1],
    +gdevabuf.c [1.3.6.1.2.1], gdevbbox.c [1.4.2.1.2.1],
    +gdevbbox.h [1.2.6.1.2.1], gdevcmap.c [1.2.6.1.2.1],
    +gdevcmap.h [1.2.6.1.2.1], gdevdbit.c [1.2.6.2.2.1],
    +gdevddrw.c [1.2.6.1.2.1], gdevdflt.c [1.3.6.1.2.1],
    +gdevdgbr.c [1.2.6.1.2.1], gdevdrop.c [1.3.6.1.2.1],
    +gdevemap.c [1.2.6.1.2.1], gdevhit.c [1.2.6.1.2.1], gdevm1.c [1.2.6.1.2.1],
    +gdevm16.c [1.2.6.1.2.1], gdevm2.c [1.2.6.1.2.1], gdevm24.c [1.2.6.1.2.1],
    +gdevm32.c [1.2.6.1.2.1], gdevm4.c [1.2.6.1.2.1], gdevm8.c [1.2.6.1.2.1],
    +gdevmem.c [1.2.6.1.2.1], gdevmem.h [1.3.6.1.2.1], gdevmpla.c [1.2.6.1.2.1],
    +gdevmpla.h [1.2.6.1.2.1], gdevmr1.c [1.2.6.1.2.1], gdevmr2n.c [1.2.6.1.2.1],
    +gdevmr8n.c [1.2.6.1.2.1], gdevmrop.h [1.3.6.1.2.1],
    +gdevmrun.c [1.2.6.1.2.1], gdevmrun.h [1.2.6.1.2.1],
    +gdevnfwd.c [1.3.6.1.2.1], gdevp14.c [1.4.2.3.2.1], gdevpipe.c [1.4.4.1.2.1],
    +gdevplnx.c [1.2.6.1.2.1], gdevplnx.h [1.2.6.1.2.1],
    +gdevppla.c [1.2.6.1.2.1], gdevppla.h [1.2.6.1.2.1], gdevprn.c [1.5.6.2.2.1],
    +gdevprn.h [1.6.6.2.2.1], gdevprna.c [1.2.6.1.2.1], gdevprna.h [1.2.6.1.2.1],
    +gdevpsf.h [1.10.2.2.2.1], gdevpsf1.c [1.9.2.1.2.1],
    +gdevpsf2.c [1.15.2.2.2.1], gdevpsfm.c [1.5.2.2.2.1],
    +gdevpsft.c [1.8.2.1.2.1], gdevpsfu.c [1.7.2.1.2.1],
    +gdevpsfx.c [1.9.2.1.2.1], gdevrops.c [1.3.6.1.2.1],
    +gdevtrac.c [1.2.6.1.2.1], gdevvec.c [1.12.2.2.2.1], gdevvec.h [1.7.2.1.2.1],
    +gp.h [1.8.2.3.2.1], gp_dosfe.c [1.2.6.2.2.1], gp_dosfs.c [1.2.6.3.2.1],
    +gp_getnv.c [1.2.6.1.2.1], gp_msdos.c [1.2.6.1.2.1],
    +gp_nsync.c [1.2.6.1.2.1], gp_psync.c [1.2.6.1.2.1],
    +gp_strdl.c [1.2.6.1.2.1], gp_unifn.c [1.2.6.3.2.1],
    +gp_unifs.c [1.6.2.2.2.1], gpcheck.h [1.2.6.1.2.1], gpgetenv.h [1.2.6.1.2.1],
    +gpmisc.c [1.9.4.1.2.1], gpmisc.h [1.2.6.1.2.1], gpsync.h [1.2.6.1.2.1],
    +gsalloc.c [1.11.2.2.2.1], gsalloc.h [1.2.6.1.2.1], gsalpha.c [1.2.6.1.2.1],
    +gsalpha.h [1.2.6.1.2.1], gsalphac.c [1.2.6.1.2.1], gsalphac.h [1.2.6.1.2.1],
    +gsargs.c [1.4.2.2.2.1], gsargs.h [1.4.2.1.2.1], gsbitcom.c [1.1.4.1.2.1],
    +gsbitmap.h [1.2.6.1.2.1], gsbitops.c [1.3.4.1.2.1],
    +gsbitops.h [1.2.6.1.2.1], gsbittab.c [1.2.6.1.2.1],
    +gsbittab.h [1.2.6.1.2.1], gsccode.h [1.4.6.1.2.1], gsccolor.h [1.2.6.1.2.1],
    +gscdef.c [1.15.2.4.2.1], gscdefs.h [1.2.6.1.2.1], gscdevn.c [1.6.2.1.2.1],
    +gscdevn.h [1.3.6.1.2.1], gschar.c [1.3.6.1.2.1], gschar.h [1.3.6.1.2.1],
    +gschar0.c [1.3.4.3.2.1], gscie.c [1.4.2.1.2.1], gscie.h [1.3.2.1.2.1],
    +gsciemap.c [1.6.2.1.2.1], gscindex.h [1.2.6.1.2.1],
    +gsclipsr.c [1.2.6.1.2.1], gsclipsr.h [1.2.6.1.2.1], gscolor.c [1.5.2.1.2.1],
    +gscolor.h [1.3.6.1.2.1], gscolor1.c [1.4.2.1.2.1], gscolor1.h [1.2.6.1.2.1],
    +gscolor2.c [1.6.6.1.2.1], gscolor2.h [1.3.6.1.2.1],
    +gscolor3.c [1.4.6.1.2.1], gscolor3.h [1.2.6.1.2.1], gscompt.h [1.2.6.1.2.1],
    +gscoord.c [1.5.6.1.2.1], gscoord.h [1.2.6.1.2.1], gscparam.c [1.7.2.1.2.1],
    +gscpixel.c [1.3.6.1.2.1], gscpixel.h [1.2.6.1.2.1], gscpm.h [1.2.6.1.2.1],
    +gscrd.c [1.2.6.1.2.1], gscrd.h [1.2.6.1.2.1], gscrdp.c [1.2.6.1.2.1],
    +gscrdp.h [1.2.6.1.2.1], gscrypt1.c [1.2.6.1.2.1], gscrypt1.h [1.2.6.1.2.1],
    +gscscie.c [1.4.2.1.2.1], gscsel.h [1.2.6.1.2.1], gscsepr.c [1.12.2.2.2.1],
    +gscsepr.h [1.4.6.1.2.1], gscspace.c [1.4.6.1.2.1], gscspace.h [1.8.2.1.2.1],
    +gscssub.c [1.3.2.1.2.1], gscssub.h [1.2.6.1.2.1], gsdcolor.h [1.3.6.1.2.1],
    +gsdevice.c [1.11.2.1.2.1], gsdevice.h [1.3.6.1.2.1],
    +gsdevmem.c [1.2.6.1.2.1], gsdfilt.c [1.3.2.1.2.1], gsdfilt.h [1.2.2.2.2.1],
    +gsdparam.c [1.4.6.2.2.1], gsdpnext.h [1.2.6.1.2.1], gsdps.c [1.2.6.1.2.1],
    +gsdps.h [1.2.6.1.2.1], gsdps1.c [1.2.6.1.2.1], gsdsrc.c [1.2.6.1.2.1],
    +gsdsrc.h [1.3.6.1.2.1], gserror.h [1.2.6.1.2.1], gserrors.h [1.2.6.2.2.1],
    +gsexit.h [1.4.2.1.2.1], gsfcid.c [1.5.4.1.2.1], gsfcmap.c [1.14.2.2.2.1],
    +gsfcmap.h [1.4.6.1.2.1], gsfemu.c [1.2.6.1.2.1], gsflip.c [1.2.6.1.2.1],
    +gsflip.h [1.2.6.1.2.1], gsfname.c [1.2.6.1.2.1], gsfname.h [1.2.6.1.2.1],
    +gsfont.c [1.4.4.1.2.1], gsfont.h [1.2.6.1.2.1], gsfont0.c [1.2.6.1.2.1],
    +gsfunc.c [1.4.6.1.2.1], gsfunc.h [1.4.6.1.2.1], gsfunc0.c [1.5.4.1.2.1],
    +gsfunc0.h [1.2.6.1.2.1], gsfunc3.c [1.4.6.1.2.1], gsfunc3.h [1.2.6.1.2.1],
    +gsfunc4.c [1.7.2.1.2.1], gsfunc4.h [1.2.6.1.2.1], gsgc.h [1.3.2.1.2.1],
    +gshsb.c [1.2.6.1.2.1], gshsb.h [1.2.6.1.2.1], gsht.c [1.2.6.1.2.1],
    +gsht.h [1.2.6.1.2.1], gsht1.c [1.3.2.1.2.1], gsht1.h [1.2.6.1.2.1],
    +gshtscr.c [1.6.2.1.2.1], gshtx.c [1.2.6.1.2.1], gshtx.h [1.2.6.1.2.1],
    +gsicc.c [1.5.2.1.2.1], gsicc.h [1.3.2.1.2.1], gsimage.c [1.4.2.1.2.1],
    +gsimage.h [1.2.6.1.2.1], gsimpath.c [1.2.6.1.2.1], gsinit.c [1.3.2.1.2.1],
    +gsio.h [1.5.2.1.2.1], gsiodev.c [1.5.2.1.2.1], gsiodevs.c [1.2.6.1.2.1],
    +gsipar3x.h [1.3.6.1.2.1], gsiparam.h [1.4.6.1.2.1],
    +gsiparm2.h [1.2.6.1.2.1], gsiparm3.h [1.4.6.1.2.1],
    +gsiparm4.h [1.2.6.1.2.1], gsistate.c [1.4.6.1.2.1], gsjconf.h [1.2.6.1.2.1],
    +gslib.c [1.5.2.1.2.1], gslib.h [1.2.6.1.2.1], gsline.c [1.2.6.1.2.1]:
    +2003/01/17 00:49:00 giles)
    +
    +Apply standard GNU license banner at the request of RMS. Patch from Brett
    +Smith. (gsline.h [1.2.6.1.2.1], gslparam.h [1.2.6.1.2.1],
    +gsmalloc.c [1.3.6.1.2.1], gsmalloc.h [1.2.6.1.2.1],
    +gsmatrix.c [1.2.6.1.2.1], gsmatrix.h [1.2.6.1.2.1],
    +gsmdebug.h [1.3.2.1.2.1], gsmemlok.c [1.3.6.1.2.1],
    +gsmemlok.h [1.2.6.1.2.1], gsmemory.c [1.4.2.1.2.1],
    +gsmemory.h [1.3.2.1.2.1], gsmemraw.h [1.2.6.1.2.1],
    +gsmemret.c [1.2.6.1.2.1], gsmemret.h [1.2.6.1.2.1], gsmisc.c [1.12.2.1.2.1],
    +gsnogc.c [1.7.2.1.2.1], gsnogc.h [1.2.6.1.2.1], gsnorop.c [1.2.6.1.2.1],
    +gsnotify.c [1.2.6.1.2.1], gsnotify.h [1.2.6.1.2.1], gspaint.c [1.2.6.1.2.1],
    +gspaint.h [1.2.6.1.2.1], gsparam.c [1.4.6.1.2.1], gsparam.h [1.8.4.1.2.1],
    +gsparam2.c [1.2.6.1.2.1], gsparams.c [1.2.6.1.2.1],
    +gsparams.h [1.2.6.1.2.1], gsparamx.c [1.4.2.1.2.1],
    +gsparamx.h [1.3.6.1.2.1], gspath.c [1.2.6.1.2.1], gspath.h [1.2.6.1.2.1],
    +gspath1.c [1.3.4.1.2.1], gspath2.h [1.2.6.1.2.1], gspcolor.c [1.4.6.1.2.1],
    +gspcolor.h [1.2.6.1.2.1], gspenum.h [1.2.6.1.2.1], gsptype1.c [1.3.2.1.2.1],
    +gsptype1.h [1.2.6.1.2.1], gsptype2.c [1.5.2.1.2.1],
    +gsptype2.h [1.4.2.1.2.1], gsrect.h [1.2.6.1.2.1], gsrefct.h [1.2.6.1.2.1],
    +gsrop.c [1.2.6.1.2.1], gsrop.h [1.2.6.1.2.1], gsropc.c [1.2.6.1.2.1],
    +gsropc.h [1.2.6.1.2.1], gsropt.h [1.4.2.1.2.1], gsroptab.c [1.2.6.1.2.1],
    +gsshade.c [1.4.2.1.2.1], gsshade.h [1.3.6.1.2.1], gsstate.c [1.11.2.1.2.1],
    +gsstate.h [1.2.6.1.2.1], gsstruct.h [1.8.2.1.2.1], gsstype.h [1.2.6.1.2.1],
    +gstext.c [1.6.2.2.2.1], gstext.h [1.3.6.1.2.1], gstparam.h [1.7.6.1.2.1],
    +gstrans.c [1.13.2.1.2.1], gstrans.h [1.6.6.1.2.1], gstrap.c [1.3.6.1.2.1],
    +gstrap.h [1.3.6.1.2.1], gstype1.c [1.6.4.1.2.1], gstype1.h [1.2.6.1.2.1],
    +gstype2.c [1.10.2.3.2.1], gstype42.c [1.12.2.2.2.1],
    +gstypes.h [1.3.2.1.2.1], gsuid.h [1.2.6.1.2.1], gsutil.c [1.4.6.2.2.1],
    +gsutil.h [1.3.6.2.2.1], gsxfont.h [1.2.6.1.2.1], gx.h [1.2.6.1.2.1],
    +gxacpath.c [1.3.6.1.2.1], gxalloc.h [1.6.2.1.2.1], gxalpha.h [1.2.6.1.2.1],
    +gxarith.h [1.2.6.1.2.1], gxband.h [1.2.6.1.2.1], gxbcache.c [1.2.6.1.2.1],
    +gxbcache.h [1.2.6.1.2.1], gxbitfmt.h [1.2.6.1.2.1],
    +gxbitmap.h [1.2.6.1.2.1], gxbitops.h [1.2.6.1.2.1], gxblend.c [1.2.2.1.2.1],
    +gxblend.h [1.1.2.1.2.1], gxccache.c [1.5.2.1.2.1], gxccman.c [1.2.6.1.2.1],
    +gxcdevn.h [1.2.6.1.2.1], gxchar.c [1.5.2.5.2.1], gxchar.h [1.2.6.2.2.1],
    +gxchrout.c [1.2.6.1.2.1], gxchrout.h [1.2.6.1.2.1], gxcht.c [1.3.2.1.2.1],
    +gxcid.h [1.3.6.1.2.1], gxcie.h [1.3.2.1.2.1], gxcindex.h [1.2.6.1.2.1],
    +gxclbits.c [1.4.4.1.2.1], gxcldev.h [1.4.4.1.2.1], gxclfile.c [1.3.2.1.2.1],
    +gxclimag.c [1.3.2.1.2.1], gxclio.h [1.2.6.1.2.1], gxclip.c [1.4.2.1.2.1],
    +gxclip.h [1.2.6.1.2.1], gxclip2.c [1.3.6.1.2.1], gxclip2.h [1.2.6.1.2.1],
    +gxclipm.c [1.3.6.1.2.1], gxclipm.h [1.2.6.1.2.1], gxclipsr.h [1.2.6.1.2.1],
    +gxclist.c [1.3.6.1.2.1], gxclist.h [1.2.6.1.2.1], gxcllzw.c [1.2.6.1.2.1],
    +gxclmem.c [1.2.6.1.2.1], gxclmem.h [1.2.6.1.2.1], gxclpage.c [1.2.6.1.2.1],
    +gxclpage.h [1.2.6.1.2.1], gxclpath.c [1.9.2.1.2.1],
    +gxclpath.h [1.6.6.1.2.1], gxclrast.c [1.9.2.1.2.1],
    +gxclread.c [1.3.4.1.2.1], gxclrect.c [1.2.6.1.2.1],
    +gxclutil.c [1.5.2.1.2.1], gxclzlib.c [1.2.6.1.2.1], gxcmap.c [1.3.6.1.2.1],
    +gxcmap.h [1.2.6.1.2.1], gxcolor2.h [1.4.6.1.2.1], gxcomp.h [1.2.6.1.2.1],
    +gxcoord.h [1.2.6.1.2.1], gxcpath.c [1.3.6.1.2.1], gxcpath.h [1.2.6.1.2.1],
    +gxcspace.h [1.4.6.1.2.1], gxctable.c [1.3.6.1.2.1],
    +gxctable.h [1.2.6.1.2.1], gxcvalue.h [1.2.6.1.2.1],
    +gxdcconv.c [1.3.6.1.2.1], gxdcconv.h [1.2.6.1.2.1],
    +gxdcolor.c [1.3.6.1.2.1], gxdcolor.h [1.3.6.1.2.1], gxdda.h [1.2.6.1.2.1],
    +gxdevbuf.h [1.2.6.1.2.1], gxdevcli.h [1.5.2.2.2.1],
    +gxdevice.h [1.4.6.3.2.1], gxdevmem.h [1.2.6.1.2.1],
    +gxdevrop.h [1.2.6.1.2.1], gxdht.h [1.4.6.1.2.1], gxdhtres.h [1.2.6.1.2.1],
    +gxdither.h [1.2.6.1.2.1], gxfarith.h [1.3.6.1.2.1],
    +gxfcache.h [1.2.6.1.2.1], gxfcid.h [1.6.6.1.2.1], gxfcmap.h [1.8.2.1.2.1],
    +gxfill.c [1.8.2.1.2.1], gxfixed.h [1.3.4.1.2.1], gxfmap.h [1.3.6.1.2.1],
    +gxfont.h [1.3.4.1.2.1], gxfont0.h [1.3.6.1.2.1], gxfont1.h [1.5.4.1.2.1],
    +gxfont42.h [1.4.6.1.2.1], gxfrac.h [1.3.4.1.2.1], gxftype.h [1.2.6.1.2.1],
    +gxfunc.h [1.3.6.1.2.1], gxgetbit.h [1.2.6.1.2.1], gxhint1.c [1.2.6.1.2.1],
    +gxhint2.c [1.2.6.1.2.1], gxhint3.c [1.3.2.1.2.1], gxht.c [1.2.6.2.2.1],
    +gxht.h [1.2.6.1.2.1], gxhtbit.c [1.3.6.1.2.1], gxhttile.h [1.2.6.1.2.1],
    +gxhttype.h [1.2.6.1.2.1], gxi12bit.c [1.2.6.1.2.1],
    +gxiclass.h [1.2.6.1.2.1], gxicolor.c [1.3.2.1.2.1], gxidata.c [1.4.6.1.2.1],
    +gxifast.c [1.4.2.1.2.1], gximag3x.c [1.7.6.1.2.1], gximag3x.h [1.3.6.1.2.1],
    +gximage.c [1.2.6.1.2.1], gximage.h [1.2.6.1.2.1], gximage1.c [1.5.6.1.2.1],
    +gximage2.c [1.2.6.1.2.1], gximage3.c [1.6.6.1.2.1],
    +gximage3.h [1.4.6.1.2.1], gximage4.c [1.3.6.1.2.1], gximono.c [1.2.6.1.2.1],
    +gxino12b.c [1.2.6.1.2.1], gxiodev.h [1.2.6.1.2.1], gxiparam.h [1.2.6.1.2.1],
    +gxipixel.c [1.2.6.1.2.1], gxiscale.c [1.2.6.2.2.1],
    +gxistate.h [1.6.6.1.2.1], gxline.h [1.2.6.1.2.1], gxlum.h [1.2.6.1.2.1],
    +gxmatrix.h [1.4.6.1.2.1], gxmclip.c [1.2.6.1.2.1], gxmclip.h [1.2.6.1.2.1],
    +gxobj.h [1.2.6.1.2.1], gxop1.h [1.2.6.1.2.1], gxp1fill.c [1.2.6.1.2.1],
    +gxp1impl.h [1.2.6.1.2.1], gxpageq.c [1.2.6.1.2.1], gxpageq.h [1.2.6.1.2.1],
    +gxpaint.c [1.2.6.1.2.1], gxpaint.h [1.2.6.1.2.1], gxpath.c [1.2.6.1.2.1],
    +gxpath.h [1.2.6.1.2.1], gxpath2.c [1.2.6.1.2.1], gxpcache.h [1.2.6.1.2.1],
    +gxpcmap.c [1.3.6.1.2.1], gxpcolor.h [1.2.6.1.2.1], gxpcopy.c [1.3.6.1.2.1],
    +gxpdash.c [1.2.6.1.2.1], gxpflat.c [1.2.6.1.2.1], gxropc.h [1.2.6.1.2.1],
    +gxrplane.h [1.2.6.1.2.1], gxsample.c [1.2.6.1.2.1],
    +gxsample.h [1.2.6.1.2.1], gxshade.c [1.6.2.1.2.1], gxshade.h [1.4.2.1.2.1],
    +gxshade1.c [1.9.2.1.2.1], gxshade4.c [1.6.2.1.2.1],
    +gxshade4.h [1.2.6.1.2.1], gxshade6.c [1.3.6.1.2.1], gxstate.h [1.2.6.1.2.1],
    +gxstdio.h [1.2.6.1.2.1], gxstroke.c [1.2.6.2.2.1], gxsync.c [1.2.6.1.2.1],
    +gxsync.h [1.2.6.1.2.1], gxtext.h [1.7.2.1.2.1], gxtmap.h [1.2.6.1.2.1],
    +gxttf.h [1.2.6.1.2.1], gxtype1.c [1.8.4.1.2.1], gxtype1.h [1.5.4.1.2.1],
    +gxxfont.h [1.2.6.1.2.1], gzacpath.h [1.2.6.1.2.1], gzcpath.h [1.2.6.1.2.1],
    +gzht.h [1.4.4.1.2.1], gzline.h [1.2.6.1.2.1], gzpath.h [1.3.6.1.2.1],
    +gzstate.h [1.5.2.1.2.1], jerror_.h [1.2.6.2.2.1], malloc_.h [1.2.6.1.2.1],
    +math_.h [1.2.6.1.2.1], md5.c [1.2.8.1], md5.h [1.1.8.1],
    +memory_.h [1.2.6.1.2.1], pipe_.h [1.2.6.2.2.1], time_.h [1.3.2.2.2.1],
    +unistd_.h [1.4.2.1.2.1], vmsmath.h [1.2.6.1.2.1], windows_.h [1.2.6.1.2.1]:
    +2003/01/17 00:49:03 giles)
    +
    +Update release date for final 7.06 release. (gscdef.c [1.15.2.4.2.2]:
    +2003/02/09 16:20:05 giles)
    +
    +Add pngalpha device that uses RGBA, with the alpha channel providing pixel
    +coverage. Used for generating PNG images with a transparent background.
    +(gdevprn.h [1.6.6.2.2.2]: 2003/03/11 11:59:10 ghostgum)
    +
    +

    Other

    +
    +Add a configure option to enable COMPILE_INITS. After a patch from Michael
    +Sweet. (Makefile.in [1.1.4.8], configure.ac [1.4.4.10]: 2002/05/03 03:40:11
    +giles)
    +
    +Add a configure option for setting the name of the ghostscript executable.
    +From a patch by Michael Sweet. (Makefile.in [1.1.4.9],
    +configure.ac [1.4.4.11]: 2002/05/03 07:26:21 giles)
    +
    +Add a .cvsignore. (ijs/.cvsignore [1.1.2.1]: 2002/09/29 17:53:27 giles)
    +
    +Remove remaining elements of support for K&R (pre-ansi) C. We no longer
    +support building ghostscript tt way, but the remaining dead code causes
    +confusion for some users. Closes Sourceforge bug #618048.
    +(Makefile.in [1.1.4.10]: 2002/10/10 00:24:01 giles)
    +
    +Set USE_ASM to zero explicitly. (Makefile.in [1.1.4.11]: 2002/10/10 12:47:49
    +giles)
    +
    +Backport debug and unitialized variable fixes from HEAD. After a patch from
    +Alexei A. Podtelezhnikov. (gdevp14.c [1.4.2.2], gsalloc.c [1.11.2.2],
    +gxht.c [1.2.6.2]: 2002/12/01 15:10:20 giles)
    +
    +Backport additional cast and initialization fixes. (gdevp14.c [1.4.2.3]:
    +2002/12/01 18:02:41 giles)
    +
    +Backport MacOS build updates for Metrowerks CW8 from HEAD.
    +(time_.h [1.3.2.2]: 2002/12/01 23:29:37 giles)
    +
    +Backport MacOS build updates for Metrowerks CW8 from HEAD.
    +(macsystypes.h [1.1.4.3]: 2002/12/01 23:29:37 giles)
    +
    +Add working 'distclean' and 'maintainer-clean' targets to the autoconf
    +makefile. Backport from HEAD. (Makefile.in [1.1.4.12]: 2002/12/02 00:10:24
    +giles)
    +
    +Update release date for second candidate. Also adds a dummy 'check' target
    +to the autoconf makefile for standards compliance. (Makefile.in [1.1.4.13]:
    +2002/12/02 01:55:46 giles)
    +
    +Apply standard GNU license banner at the request of RMS. Patch from Brett
    +Smith. (Makefile.in [1.1.4.13.2.1], gp_mac.h [1.1.4.2.2.1],
    +gp_mswin.h [1.4.2.1.2.1], gsdll.h [1.3.2.2.2.1], gsdllos2.h [1.2.6.1.2.1],
    +gsdllwin.h [1.3.2.1.2.1], gsjmorec.h [1.3.4.1.2.1]: 2003/01/17 00:49:00
    +giles)
    +
    +Apply standard GNU license banner at the request of RMS. Patch from Brett
    +Smith. (gspmdrv.h [1.2.6.1.2.1], iutilasm.asm [1.2.6.1.2.1],
    +macsystypes.h [1.1.4.3.2.1], vms_x_fix.h [1.1.2.2.2.1]: 2003/01/17 00:49:03
    +giles)
    +
    +Define the RM macro for the benifit of the 'clean' targets in the autoconf
    +build. (Makefile.in [1.1.4.13.2.2]: 2003/02/09 17:20:51 giles)
    +
    +
    + +

    Version 7.05 (2002-04-22)

    + +

    This is the first release of the stable 7.0x series under the GNU +GPL, following one year after the release of 7.00. The license change in +the major reason for this release, and we hope the community of +Free Software users will enjoy the much improved features of the new +stable branch. + +

    Another major change over the 7.04 release is a improved asian +language support from the gs-cjk team. This is a new version of the +work released with 6.53. + +

    And of course there are the usual bug fixes and minor improvements. + +

    At the time of release, the following bugs were open against all +ghostscript versions: + +219798, +405342, +406979, +407342, +414947, +414985, +415142, +418241, +423838, +427193, +427347, +428891, +428973, +432040, +434277, +437285, +446344, +446672, +448199, +453969, +458261, +458500, +458775, +458780, +459647, +462221, +465720, +465936, +468762, +474745, +475147, +477644, +482038, +483629, +484752, +484753, +485510, +487953, +493348, +495319, +498595, +503794, +505429, +506375, +508081, +508675, +509646, +510808, +511232, +513905, +514616, +514616, +515475, +516653, +517349, +520686, +521354, +521664, +521916, +522486, +524292, +525508, +526099, +526491, +528647, +529103, +529578, +530011, +530588, +533467, +534637, +535366, +535752, +535836, +535997, +536877, +538033, +538042, +538055, +538267, +538311, +538428, +539239, +539327, +539359, +542535, +542625, +542664, +542786, +542848, +543185, +544247, +544365, +544774, +544996, +545003, +545177, +545478, +546823, +547102, +547111. + +

    Incompatible changes

    + +

    +No incompatible changes have been recorded for this version. Users of the 6.5x versions of GNU +Ghostscript will want to check the History for a complete list of changes since that version. +Authors of drivers with potential security implications are also encouraged to review +the security changes introduced with 6.53/7.04. + +

    +
    +
    +
    +

    Documentation

    +
    +Fixes problems:
    +	- corrects a typo in the new Id: line (doc/index.html [1.2.4.2]:
    +2002/04/10 09:45:40 giles)
    +	- the url for the guide to international paper sizes has changed.
    +Thanks to Nelson Beebe for finding th e update. (doc/Use.htm [1.33.2.7]:
    +2002/04/14 01:10:01 giles)
    +	- Fix typo in cvs2hist invocation example
    +(doc/Release.htm [1.40.2.12]: 2002/04/17 01:42:58 giles)
    +
    +Documents the work-around of using '#' instead of '=' to separate command
    +line options from their arguments. The was previously listed only as a quirk
    +of the Wacom build on MS-DOS, but is also needed on win32 because the
    +command shell treats '=' as whitespace in passing arguments to batch files
    +(like ps2pdf.bat). Closes SourceForge bug #483066. Also documents that
    +MS-DOS is no longer a supported operating system. (doc/Use.htm [1.33.2.4]:
    +2002/02/01 19:43:02 giles)
    +
    +Improves branch handling in cvs2hist, raph's patch from HEAD. Also documents
    +the new options. (doc/Release.htm [1.40.2.4]: 2002/02/06 23:31:10 giles)
    +
    +Removes mention of SourceForge Bug #223005, which was closed before the 7.00
    +release. (doc/Issues.htm [1.15.2.3]: 2002/02/21 20:33:08 giles)
    +
    +Update banner to the new format common to all releases. References file
    +LICENSE. Note that the $Id: line is not altered by this change.
    +(doc/API.htm [1.11.2.4],
    +doc/Bug-form.htm [1.23.2.3], doc/Bug-info.htm [1.20.2.3],
    +doc/C-style.htm [1.21.2.3], doc/Commprod.htm [1.15.2.3],
    +doc/Current.htm [1.13.2.3], doc/DLL.htm [1.15.2.3],
    +doc/Develop.htm [1.47.2.4], doc/Devices.htm [1.34.2.5],
    +doc/Drivers.htm [1.21.2.3], doc/Fonts.htm [1.22.2.3],
    +doc/Helpers.htm [1.17.2.3], doc/History1.htm [1.13.2.3],
    +doc/History2.htm [1.13.2.3], doc/History3.htm [1.13.2.3],
    +doc/History4.htm [1.13.2.3], doc/History5.htm [1.15.2.3],
    +doc/History6.htm [1.30.2.3], doc/History7.htm [1.5.2.4],
    +doc/Htmstyle.htm [1.18.2.3], doc/Humor.htm [1.3.2.1],
    +doc/Install.htm [1.26.2.3], doc/Issues.htm [1.15.2.4],
    +doc/Language.htm [1.34.2.5], doc/Lib.htm [1.14.2.3],
    +doc/Maintain.htm [1.23.2.3], doc/Make.htm [1.36.2.6],
    +doc/New-user.htm [1.30.2.3], doc/News.htm [1.90.2.5],
    +doc/Projects.htm [1.33.2.3], doc/Ps-style.htm [1.13.2.3],
    +doc/Ps2epsi.htm [1.15.2.3], doc/Ps2pdf.htm [1.32.2.3],
    +doc/Psfiles.htm [1.22.2.3], doc/Readme.htm [1.31.2.3],
    +doc/Release.htm [1.40.2.5], doc/Source.htm [1.13.2.3],
    +doc/Tester.htm [1.14.2.3], doc/Unix-lpr.htm [1.13.2.3],
    +doc/Use.htm [1.33.2.5], doc/Xfonts.htm [1.13.2.3]: 2002/02/22 19:45:53 ray)
    +
    +Removes auto-generated plain text versions of html documentation from cvs
    +and makes their creation an explicit part of the release process.
    +(doc/Release.htm [1.40.2.6]: 2002/02/25 21:43:20 giles)
    +
    +Add example code to doc/API.htm showing how to call the Ghostscript DLL as a
    +PostScript to PDF convertor. (doc/API.htm [1.11.2.5]: 2002/03/12 07:15:16
    +ghostgum)
    +
    +Update msvc32.mak and documentation to support compilation with Microsoft
    +Visual Studio .NET. This requires MSVC_VERSION=7. (doc/Make.htm [1.36.2.7]:
    +2002/03/12 07:21:30 ghostgum)
    +
    +Documents how to build a Windows self-extracting archive for a ghostscript
    +distribution (doc/Release.htm [1.40.2.7]: 2002/03/12 07:25:12 ghostgum)
    +
    +gs-cjk project : add new documents CJK.htm and CJKTTCID.htm, add references
    +to Fonts.htm, Readme.htm, Use.htm add targets to unixinst.mak. Fix by Suzuki
    +Toshiya and Taiji Yamada. (doc/Fonts.htm [1.22.2.4],
    +doc/Readme.htm [1.31.2.4], doc/Use.htm [1.33.2.6]: 2002/04/02 14:26:38
    +mpsuzuki)
    +
    +gs-cjk project : add CIDFnmap samples add references to Develop.htm add
    +targets to unixinst.mak (doc/Develop.htm [1.47.2.5]: 2002/04/02 14:47:42
    +mpsuzuki)
    +
    +add a missing Id: line (doc/index.html [1.2.4.1]: 2002/04/10 09:19:35 giles)
    +
    +add new files to the Developer documentation (doc/Develop.htm [1.47.2.6]:
    +2002/04/10 09:44:24 giles)
    +
    +mark this as a GNU version and bump the release number
    +(doc/News.htm [1.90.2.6]: 2002/04/15 05:47:56 giles)
    +
    +Update version and date for the 7.05rc1. (doc/API.htm [1.11.2.6],
    +doc/Bug-form.htm [1.23.2.4], doc/Bug-info.htm [1.20.2.4],
    +doc/C-style.htm [1.21.2.4], doc/Commprod.htm [1.15.2.4],
    +doc/Current.htm [1.13.2.4], doc/DLL.htm [1.15.2.4],
    +doc/Develop.htm [1.47.2.7], doc/Devices.htm [1.34.2.6],
    +doc/Drivers.htm [1.21.2.4], doc/Fonts.htm [1.22.2.5],
    +doc/Helpers.htm [1.17.2.4], doc/History1.htm [1.13.2.4],
    +doc/History2.htm [1.13.2.4], doc/History3.htm [1.13.2.4],
    +doc/History4.htm [1.13.2.4], doc/History5.htm [1.15.2.4],
    +doc/History6.htm [1.30.2.4], doc/History7.htm [1.5.2.5],
    +doc/Htmstyle.htm [1.18.2.4], doc/Install.htm [1.26.2.4],
    +doc/Issues.htm [1.15.2.5], doc/Language.htm [1.34.2.6],
    +doc/Lib.htm [1.14.2.4], doc/Maintain.htm [1.23.2.4],
    +doc/Make.htm [1.36.2.8], doc/New-user.htm [1.30.2.4],
    +doc/News.htm [1.90.2.7], doc/Projects.htm [1.33.2.4],
    +doc/Ps-style.htm [1.13.2.4], doc/Ps2epsi.htm [1.15.2.4],
    +doc/Ps2pdf.htm [1.32.2.4], doc/Psfiles.htm [1.22.2.4],
    +doc/Readme.htm [1.31.2.5], doc/Release.htm [1.40.2.8],
    +doc/Source.htm [1.13.2.4], doc/Tester.htm [1.14.2.4],
    +doc/Unix-lpr.htm [1.13.2.4], doc/Use.htm [1.33.2.8],
    +doc/Xfonts.htm [1.13.2.4], doc/gs-vms.hlp [1.12.2.3],
    +man/dvipdf.1 [1.10.2.3], man/font2c.1 [1.10.2.3], man/gs.1 [1.10.2.3],
    +man/gslp.1 [1.10.2.3], man/gsnd.1 [1.10.2.3], man/pdf2dsc.1 [1.10.2.3],
    +man/pdf2ps.1 [1.12.2.3], man/pdfopt.1 [1.10.2.3], man/pf2afm.1 [1.10.2.3],
    +man/pfbtopfa.1 [1.11.2.3], man/printafm.1 [1.10.2.3],
    +man/ps2ascii.1 [1.10.2.3], man/ps2epsi.1 [1.10.2.3],
    +man/ps2pdf.1 [1.14.2.3], man/ps2pdfwr.1 [1.13.2.3], man/ps2ps.1 [1.17.2.3],
    +man/wftopfa.1 [1.10.2.3]: 2002/04/15 19:20:09 giles)
    +
    +Document the -dBATCH option in the manpage. Strengthen the wording for
    +-dSAFER and improve the ordering of the option descriptions.
    +(man/gs.1 [1.10.2.4]: 2002/04/15 19:54:06 giles)
    +
    +Update the release documentation to better reflect current practice.
    +(doc/Release.htm [1.40.2.9]: 2002/04/15 21:40:02 giles)
    +
    +Documentation updates for a revised 7.05rc1. (doc/API.htm [1.11.2.7],
    +doc/Bug-form.htm [1.23.2.5], doc/Bug-info.htm [1.20.2.5],
    +doc/C-style.htm [1.21.2.5], doc/Commprod.htm [1.15.2.5],
    +doc/Current.htm [1.13.2.5], doc/DLL.htm [1.15.2.5],
    +doc/Develop.htm [1.47.2.8], doc/Devices.htm [1.34.2.7],
    +doc/Drivers.htm [1.21.2.5], doc/Fonts.htm [1.22.2.6],
    +doc/Helpers.htm [1.17.2.5], doc/History1.htm [1.13.2.5],
    +doc/History2.htm [1.13.2.5], doc/History3.htm [1.13.2.5],
    +doc/History4.htm [1.13.2.5], doc/History5.htm [1.15.2.5],
    +doc/History6.htm [1.30.2.5], doc/History7.htm [1.5.2.6],
    +doc/Htmstyle.htm [1.18.2.5], doc/Install.htm [1.26.2.5],
    +doc/Issues.htm [1.15.2.6], doc/Language.htm [1.34.2.7],
    +doc/Lib.htm [1.14.2.5], doc/Maintain.htm [1.23.2.5],
    +doc/Make.htm [1.36.2.9], doc/New-user.htm [1.30.2.5],
    +doc/News.htm [1.90.2.8], doc/Projects.htm [1.33.2.5],
    +doc/Ps-style.htm [1.13.2.5], doc/Ps2epsi.htm [1.15.2.5],
    +doc/Ps2pdf.htm [1.32.2.5], doc/Psfiles.htm [1.22.2.5],
    +doc/Readme.htm [1.31.2.6], doc/Release.htm [1.40.2.10],
    +doc/Source.htm [1.13.2.5], doc/Tester.htm [1.14.2.5],
    +doc/Unix-lpr.htm [1.13.2.5], doc/Use.htm [1.33.2.9],
    +doc/Xfonts.htm [1.13.2.5], doc/gs-vms.hlp [1.12.2.4]: 2002/04/17 01:08:26
    +giles)
    +
    +Documentation updates for a revised 7.05rc1. (man/dvipdf.1 [1.10.2.4],
    +man/font2c.1 [1.10.2.4], man/gs.1 [1.10.2.5], man/gslp.1 [1.10.2.4],
    +man/gsnd.1 [1.10.2.4], man/pdf2dsc.1 [1.10.2.4], man/pdf2ps.1 [1.12.2.4],
    +man/pdfopt.1 [1.10.2.4], man/pf2afm.1 [1.10.2.4], man/pfbtopfa.1 [1.11.2.4],
    +man/printafm.1 [1.10.2.4], man/ps2ascii.1 [1.10.2.4],
    +man/ps2epsi.1 [1.10.2.4], man/ps2pdf.1 [1.14.2.4],
    +man/ps2pdfwr.1 [1.13.2.4], man/ps2ps.1 [1.17.2.4], man/wftopfa.1 [1.10.2.4]:
    +2002/04/17 01:08:37 giles)
    +
    +Update release date for revised 7.05rc1. (doc/API.htm [1.11.2.8],
    +doc/Bug-form.htm [1.23.2.6], doc/Bug-info.htm [1.20.2.6],
    +doc/C-style.htm [1.21.2.6], doc/Commprod.htm [1.15.2.6],
    +doc/Current.htm [1.13.2.6], doc/DLL.htm [1.15.2.6],
    +doc/Develop.htm [1.47.2.9], doc/Devices.htm [1.34.2.8],
    +doc/Drivers.htm [1.21.2.6], doc/Fonts.htm [1.22.2.7],
    +doc/Helpers.htm [1.17.2.6], doc/History1.htm [1.13.2.6],
    +doc/History2.htm [1.13.2.6], doc/History3.htm [1.13.2.6],
    +doc/History4.htm [1.13.2.6], doc/History5.htm [1.15.2.6],
    +doc/History6.htm [1.30.2.6], doc/History7.htm [1.5.2.7],
    +doc/Htmstyle.htm [1.18.2.6], doc/Install.htm [1.26.2.6],
    +doc/Issues.htm [1.15.2.7], doc/Language.htm [1.34.2.8],
    +doc/Lib.htm [1.14.2.6], doc/Maintain.htm [1.23.2.6],
    +doc/Make.htm [1.36.2.10], doc/New-user.htm [1.30.2.6],
    +doc/News.htm [1.90.2.9], doc/Projects.htm [1.33.2.6],
    +doc/Ps-style.htm [1.13.2.6], doc/Ps2epsi.htm [1.15.2.6],
    +doc/Ps2pdf.htm [1.32.2.6], doc/Psfiles.htm [1.22.2.6],
    +doc/Readme.htm [1.31.2.7], doc/Release.htm [1.40.2.11],
    +doc/Source.htm [1.13.2.6], doc/Tester.htm [1.14.2.6],
    +doc/Unix-lpr.htm [1.13.2.6], doc/Use.htm [1.33.2.10],
    +doc/Xfonts.htm [1.13.2.6], doc/gs-vms.hlp [1.12.2.5]: 2002/04/17 01:13:15
    +giles)
    +
    +Update release date for revised 7.05rc1. (man/dvipdf.1 [1.10.2.5],
    +man/font2c.1 [1.10.2.5], man/gs.1 [1.10.2.6], man/gslp.1 [1.10.2.5],
    +man/gsnd.1 [1.10.2.5], man/pdf2dsc.1 [1.10.2.5], man/pdf2ps.1 [1.12.2.5],
    +man/pdfopt.1 [1.10.2.5], man/pf2afm.1 [1.10.2.5], man/pfbtopfa.1 [1.11.2.5],
    +man/printafm.1 [1.10.2.5], man/ps2ascii.1 [1.10.2.5],
    +man/ps2epsi.1 [1.10.2.5], man/ps2pdf.1 [1.14.2.5],
    +man/ps2pdfwr.1 [1.13.2.5], man/ps2ps.1 [1.17.2.5], man/wftopfa.1 [1.10.2.5]:
    +2002/04/17 01:13:21 giles)
    +
    +update changelog for 7.05rc1 (doc/Changes.htm [1.28.2.4],
    +doc/History7.htm [1.5.2.8], doc/News.htm [1.90.2.10]: 2002/04/17 01:43:27
    +giles)
    +
    +Minor clean-up for GNU coding standards. (doc/Readme.htm [1.31.2.8]: 2002/04/17
    +01:52:38 giles)
    +
    +Remove the chess.ps example file due to license ambiguity.
    +(doc/Psfiles.htm [1.22.2.7]: 2002/04/18 06:01:27 giles)
    +
    +update the language describing the gnu portion of the license options to
    +reflect current practice. (doc/Commprod.htm [1.15.2.7]: 2002/04/19 01:45:01
    +giles)
    +
    +Add the 'stp' driver from the gimp-print project, and compile it in by
    +default from the autoconf build if libgimprint is found.
    +(doc/Devices.htm [1.34.2.9]: 2002/04/19 22:23:09 giles)
    +
    +bump release date for 7.05rc2 (doc/API.htm [1.11.2.9],
    +doc/Bug-form.htm [1.23.2.7], doc/Bug-info.htm [1.20.2.7],
    +doc/C-style.htm [1.21.2.7], doc/Commprod.htm [1.15.2.8],
    +doc/Current.htm [1.13.2.7], doc/DLL.htm [1.15.2.7],
    +doc/Develop.htm [1.47.2.10], doc/Devices.htm [1.34.2.10],
    +doc/Drivers.htm [1.21.2.7], doc/Fonts.htm [1.22.2.8],
    +doc/Helpers.htm [1.17.2.7], doc/History1.htm [1.13.2.7],
    +doc/History2.htm [1.13.2.7], doc/History3.htm [1.13.2.7],
    +doc/History4.htm [1.13.2.7], doc/History5.htm [1.15.2.7],
    +doc/History6.htm [1.30.2.7], doc/History7.htm [1.5.2.9],
    +doc/Htmstyle.htm [1.18.2.7], doc/Install.htm [1.26.2.7],
    +doc/Issues.htm [1.15.2.8], doc/Language.htm [1.34.2.9],
    +doc/Lib.htm [1.14.2.7], doc/Maintain.htm [1.23.2.7],
    +doc/Make.htm [1.36.2.11], doc/New-user.htm [1.30.2.7],
    +doc/News.htm [1.90.2.11], doc/Projects.htm [1.33.2.7],
    +doc/Ps-style.htm [1.13.2.7], doc/Ps2epsi.htm [1.15.2.7],
    +doc/Ps2pdf.htm [1.32.2.7], doc/Psfiles.htm [1.22.2.8],
    +doc/Readme.htm [1.31.2.9], doc/Release.htm [1.40.2.13],
    +doc/Source.htm [1.13.2.7], doc/Tester.htm [1.14.2.7],
    +doc/Unix-lpr.htm [1.13.2.7], doc/Use.htm [1.33.2.11],
    +doc/Xfonts.htm [1.13.2.7], doc/gs-vms.hlp [1.12.2.6],
    +man/dvipdf.1 [1.10.2.6], man/font2c.1 [1.10.2.6], man/gs.1 [1.10.2.7],
    +man/gslp.1 [1.10.2.6], man/gsnd.1 [1.10.2.6], man/pdf2dsc.1 [1.10.2.6],
    +man/pdf2ps.1 [1.12.2.6], man/pdfopt.1 [1.10.2.6], man/pf2afm.1 [1.10.2.6],
    +man/pfbtopfa.1 [1.11.2.6], man/printafm.1 [1.10.2.6],
    +man/ps2ascii.1 [1.10.2.6], man/ps2epsi.1 [1.10.2.6],
    +man/ps2pdf.1 [1.14.2.6], man/ps2pdfwr.1 [1.13.2.6], man/ps2ps.1 [1.17.2.6],
    +man/wftopfa.1 [1.10.2.6]: 2002/04/19 22:38:45 giles)
    +
    +Update the open bug list. (doc/News.htm [1.90.2.12]: 2002/04/19 22:47:14
    +giles)
    +
    +add gnudevs.mak and gdevstp.c to Develop.htm (doc/Develop.htm [1.47.2.11]:
    +2002/04/19 22:53:14 giles)
    +
    +Update changelog for the 7.05rc2 pre-release. (doc/Changes.htm [1.28.2.5],
    +doc/History7.htm [1.5.2.10]: 2002/04/19 23:03:02 giles)
    +
    +Add a step to create the configure script for ijs.
    +(doc/Release.htm [1.40.2.14]: 2002/04/22 18:11:46 giles)
    +
    +Remove the DOS and OS/2 versions of the ps2epsi code. They have been broken
    +for some time. (doc/Develop.htm [1.47.2.12], doc/Ps2epsi.htm [1.15.2.8],
    +man/ps2epsi.1 [1.10.2.7]: 2002/04/22 20:38:01 giles)
    +
    +Update version date for release. (doc/API.htm [1.11.2.10],
    +doc/Bug-form.htm [1.23.2.8], doc/Bug-info.htm [1.20.2.8],
    +doc/C-style.htm [1.21.2.8], doc/Commprod.htm [1.15.2.9],
    +doc/Current.htm [1.13.2.8], doc/DLL.htm [1.15.2.8],
    +doc/Develop.htm [1.47.2.13], doc/Devices.htm [1.34.2.11],
    +doc/Drivers.htm [1.21.2.8], doc/Fonts.htm [1.22.2.9],
    +doc/Helpers.htm [1.17.2.8], doc/History1.htm [1.13.2.8],
    +doc/History2.htm [1.13.2.8], doc/History3.htm [1.13.2.8],
    +doc/History4.htm [1.13.2.8], doc/History5.htm [1.15.2.8],
    +doc/History6.htm [1.30.2.8], doc/History7.htm [1.5.2.11],
    +doc/Htmstyle.htm [1.18.2.8], doc/Install.htm [1.26.2.8],
    +doc/Issues.htm [1.15.2.9], doc/Language.htm [1.34.2.10],
    +doc/Lib.htm [1.14.2.8], doc/Maintain.htm [1.23.2.8],
    +doc/Make.htm [1.36.2.12], doc/New-user.htm [1.30.2.8],
    +doc/News.htm [1.90.2.13], doc/Projects.htm [1.33.2.8],
    +doc/Ps-style.htm [1.13.2.8], doc/Ps2epsi.htm [1.15.2.9],
    +doc/Ps2pdf.htm [1.32.2.8], doc/Psfiles.htm [1.22.2.9],
    +doc/Readme.htm [1.31.2.10], doc/Release.htm [1.40.2.15],
    +doc/Source.htm [1.13.2.8], doc/Tester.htm [1.14.2.8],
    +doc/Unix-lpr.htm [1.13.2.8], doc/Use.htm [1.33.2.12],
    +doc/Xfonts.htm [1.13.2.8], doc/gs-vms.hlp [1.12.2.7]: 2002/04/22 21:15:32
    +giles)
    +
    +Update version date for release.Update version date for release.
    +(man/dvipdf.1 [1.10.2.7], man/font2c.1 [1.10.2.7], man/gs.1 [1.10.2.8],
    +man/gslp.1 [1.10.2.7], man/gsnd.1 [1.10.2.7], man/pdf2dsc.1 [1.10.2.7],
    +man/pdf2ps.1 [1.12.2.7], man/pdfopt.1 [1.10.2.7], man/pf2afm.1 [1.10.2.7],
    +man/pfbtopfa.1 [1.11.2.7], man/printafm.1 [1.10.2.7],
    +man/ps2ascii.1 [1.10.2.7], man/ps2epsi.1 [1.10.2.8],
    +man/ps2pdf.1 [1.14.2.7], man/ps2pdfwr.1 [1.13.2.7], man/ps2ps.1 [1.17.2.7],
    +man/wftopfa.1 [1.10.2.7]: 2002/04/22 21:15:55 giles)
    +
    +Update the open bug list for release. (doc/News.htm [1.90.2.14]: 2002/04/22
    +21:26:46 giles)
    +
    +

    Procedures

    +
    +Fixes problems:
    +	- ps2pdf14 was not being installed by unixinst.mak. Fixes
    +SourceForge bug #508607. (unixinst.mak [1.20.2.2]: 2002/02/06 07:19:17
    +jackiem)
    +	- make symlinks to equivalent manpages with relative rather than
    +absolute paths to facilitate moving the directory to another location.
    +Closes SourceForge Bug #416131. (unixinst.mak [1.20.2.7]: 2002/04/18
    +01:56:12 giles)
    +	- Adds -p parameter to mkdir to suppress warning messages when the
    +target already exists and to create parent directories automatically if they
    +don't exist. Fixes Sourceforge bug #518742. (unix-dll.mak [1.6.2.2],
    +unixinst.mak [1.20.2.9]: 2002/04/19 01:10:40 jack)
    +
    +Improves branch handling in cvs2hist, raph's patch from HEAD. Also documents
    +the new options. (toolbin/cvs2hist.py [1.9.2.1]: 2002/02/06 23:31:10 giles)
    +
    +Update banner to the new format common to all releases. References file
    +LICENSE. Note that the $Id: line is not altered by this change.
    +(all-arch.mak [1.9.2.2],
    +bcwin32.mak [1.12.2.3], cfonts.mak [1.2.6.1], contrib.mak [1.24.2.1],
    +devs.mak [1.47.2.3], dvx-gcc.mak [1.12.2.3], dvx-head.mak [1.2.6.1],
    +dvx-tail.mak [1.5.2.1], dwmain.rc [1.2.6.1], dwsetup.rc [1.5.2.1],
    +dwuninst.rc [1.3.6.1], gs.mak [1.5.2.3], gs16spl.rc [1.2.6.1],
    +gsdll2.rc [1.2.6.1], gsdll32.rc [1.2.6.1]: 2002/02/22 19:45:55 ray)
    +
    +Update banner to the new format common to all releases. References file
    +LICENSE. Note that the $Id: line is not altered by this change.
    +(gsos2.rc [1.2.6.1],
    +gspmdrv.rc [1.2.6.1], gswin.rc [1.2.6.1], icclib.mak [1.3.2.2],
    +ijs.mak [1.2.2.2], int.mak [1.50.2.3], jpeg.mak [1.4.2.1],
    +lib.mak [1.53.2.2], libpng.mak [1.10.2.2], macos-fw.mak [1.1.2.2],
    +macos-mcp.mak [1.3.2.3], macosx.mak [1.3.2.2], msvc32.mak [1.20.2.4],
    +msvccmd.mak [1.6.2.1], msvclib.mak [1.16.2.2], msvctail.mak [1.6.2.1],
    +openvms.mak [1.16.2.3], openvms.mmk [1.12.2.1], os2.mak [1.19.2.3],
    +pcwin.mak [1.2.6.1], ugcclib.mak [1.13.2.3], unix-aux.mak [1.5.2.1],
    +unix-dll.mak [1.6.2.1], unix-end.mak [1.2.6.1], unix-gcc.mak [1.23.2.4],
    +unixansi.mak [1.16.2.4], unixhead.mak [1.2.6.1], unixinst.mak [1.20.2.3],
    +unixlink.mak [1.3.4.1], version.mak [1.36.2.3], watc.mak [1.16.2.2],
    +watclib.mak [1.13.2.3], watcw32.mak [1.13.2.3], wccommon.mak [1.3.6.1],
    +wctail.mak [1.3.2.2], winint.mak [1.8.2.1], winlib.mak [1.12.2.2],
    +winplat.mak [1.2.6.1], wmin.mak [1.2.6.1], zlib.mak [1.3.2.1]: 2002/02/22
    +19:45:58 ray)
    +
    +Update banner to the new format common to all releases. References file
    +LICENSE. Note that the $Id: line is not altered by this change.
    +(toolbin/3way.tcl [1.3.6.1],
    +toolbin/cvs2hist.py [1.9.2.2], toolbin/errlist.tcl [1.3.6.1],
    +toolbin/gsindent [1.3.6.1], toolbin/gsmake.tcl [1.5.6.1],
    +toolbin/gssubst [1.1.4.1], toolbin/headers.tcl [1.3.6.1],
    +toolbin/leaks.tcl [1.3.6.1], toolbin/makegnu.tcl [1.3.6.1],
    +toolbin/makeset.tcl [1.10.2.3], toolbin/many2pdf.tcl [1.1.4.1],
    +toolbin/pdfinflt.ps [1.1.2.1], toolbin/pre [1.11.2.1],
    +toolbin/precheck.tcl [1.3.6.1], toolbin/suite.tcl [1.3.6.1],
    +toolbin/tmake.tcl [1.3.6.1]: 2002/02/22 19:46:03 ray)
    +
    +Removes auto-generated plain text versions of html documentation from cvs
    +and makes their creation an explicit part of the release process.
    +(toolbin/pre [1.11.2.2]: 2002/02/25 21:43:20 giles)
    +
    +Add gdevpccm.obj to the display device dependencies. (devs.mak [1.47.2.4]:
    +2002/02/28 22:22:25 ghostgum)
    +
    +When building the distribution archive, don't flag an error if gsv16spl.exe
    +doesn't exist. This file is only needed for Win32s which is no longer
    +supported. (winint.mak [1.8.2.2]: 2002/02/28 22:23:03 ghostgum)
    +
    +Update msvc32.mak and documentation to support compilation with Microsoft
    +Visual Studio .NET. This requires MSVC_VERSION=7. (msvc32.mak [1.20.2.5]:
    +2002/03/12 07:21:30 ghostgum)
    +
    +Replace Windows icons with new versions that include 48x48 pixel and 32-bit
    +versions for Windows XP. Change the 16x16 pixel icons to use the full 'g'
    +instead of just the head. Use a restricted icon gswin16.ico for WinZip SE
    +which can't handle the new icon. (bcwin32.mak [1.12.2.4],
    +dwmain.rc [1.2.6.2], dwsetup.rc [1.5.2.2], dwuninst.rc [1.3.6.2],
    +gs16spl.rc [1.2.6.2], gsdll32.rc [1.2.6.2], gswin.rc [1.2.6.2],
    +gswin32.rc [1.1.6.1], gswin386.rc [1.1.6.1], winint.mak [1.8.2.3]:
    +2002/03/30 01:33:03 ghostgum)
    +
    +gs_cjk project : bugfix for nested FMapType4/5 OCF. Fix by Suzuki Toshiya.
    +(lib.mak [1.53.2.3]: 2002/04/02 13:29:35 mpsuzuki)
    +
    +gs-cjk project : add new documents CJK.htm and CJKTTCID.htm, add references
    +to Fonts.htm, Readme.htm, Use.htm add targets to unixinst.mak. Fix by Suzuki
    +Toshiya and Taiji Yamada. (unixinst.mak [1.20.2.4]: 2002/04/02 14:26:39
    +mpsuzuki)
    +
    +gs-cjk project : add CIDFnmap samples add references to Develop.htm add
    +targets to unixinst.mak (unixinst.mak [1.20.2.5]: 2002/04/02 14:47:42
    +mpsuzuki)
    +
    +gs-cjk project : add CJK samples and fix install targets, by Taiji Yamada
    +(unixinst.mak [1.20.2.6]: 2002/04/02 14:53:39 mpsuzuki)
    +
    +Create the bboxutil pseudo-device to allow inclusion of the bbox device for
    +internal use by those drivers that require it without putting it on the list
    +of devices. Also some minor makefile cleanup. Patch by Ray Johnston from
    +7.20. (devs.mak [1.47.2.5], lib.mak [1.53.2.4], macosx.mak [1.3.2.3],
    +msvc32.mak [1.20.2.6], openvms.mak [1.16.2.4], os2.mak [1.19.2.4],
    +unix-gcc.mak [1.23.2.5], unixansi.mak [1.16.2.5]: 2002/04/10 00:53:33 giles)
    +
    +Adds support for compilation against a standard shared libjpeg. It is
    +believed that non-baseline compliant DCTEncoded data, permitted by early
    +versions of postscript, is now extremely rare and the prohibition against
    +SHARE_JPEG=1 may reasonably be removed. The autoconf build will prefer a
    +local copy of the jpeg source, in which case the D_MAX_BLOCKS_IN_MCU patch
    +will still be applied. If no such local copy is found, it will try to find a
    +shared library on the system. For all unix builds, if $(JSRCDIR)/jmemsys.h
    +cannot be found, we define DONT_HAVE_JMEMSYS_H and include our own versions
    +of the libjpeg memory manager prototypes. The default allocator in the
    +shared library is overridden by the ghostscript one at link-time. While this
    +may be implementation-dependent, it appears to function as desired on at
    +least GNU/Linux and Solaris. Also changes the autoconf build to prefer local
    +zlib and libpng source, and cleans up some variable names. Patch by Raph
    +Levien from 7.20. (dvx-gcc.mak [1.12.2.4], macosx.mak [1.3.2.4],
    +ugcclib.mak [1.13.2.4], unix-aux.mak [1.5.2.2], unixansi.mak [1.16.2.6]:
    +2002/04/10 01:44:27 giles)
    +
    +remove the warning against SHARE_JPEG=1, omitted in the last commit
    +(unix-gcc.mak [1.23.2.6]: 2002/04/10 02:33:31 giles)
    +
    +use relative paths for the smoke test data files
    +(toolbin/smoke.ps [1.1.6.1]: 2002/04/10 02:33:31 giles)
    +
    +makefile cleanup. remove a redundant -fno-common from the linker flags
    +(unix-gcc.mak [1.23.2.7]: 2002/04/10 02:37:36 giles)
    +
    +add a missing Id: line (toolbin/smoke.ps [1.1.6.2]: 2002/04/10 09:17:30
    +giles)
    +
    +mark this as a GNU version and bump the release number
    +(version.mak [1.36.2.4]: 2002/04/15 05:47:56 giles)
    +
    +update the libpng version (macosx.mak [1.3.2.5]: 2002/04/15 19:24:22 giles)
    +
    +Documentation updates for a revised 7.05rc1. (version.mak [1.36.2.5]:
    +2002/04/17 01:08:44 giles)
    +
    +Check release dates in UTC to avoid conflicts due to timezone.
    +(toolbin/pre [1.11.2.3]: 2002/04/17 01:16:22 giles)
    +
    +Remove the chess.ps example file due to license ambiguity.
    +(unixinst.mak [1.20.2.8]: 2002/04/18 06:01:27 giles)
    +
    +Committing in . Back-ports from the main stream such that OpenVMS is happy
    +Modified Files: Tag: GS_7_0X gs/src/devs.mak gs/src/gschar0.c
    +gs/src/gserrors.h gs/src/imainarg.c
    +----------------------------------------------------------------------
    +(devs.mak [1.47.2.6]: 2002/04/18 09:58:45 joukj)
    +
    +Update libpng version numbers to the latest 1.2.2. (all-arch.mak [1.9.2.3],
    +bcwin32.mak [1.12.2.5], dvx-gcc.mak [1.12.2.5], libpng.mak [1.10.2.3],
    +macos-mcp.mak [1.3.2.4], macosx.mak [1.3.2.6], msvc32.mak [1.20.2.7],
    +msvclib.mak [1.16.2.3], openvms.mak [1.16.2.5], openvms.mmk [1.12.2.2],
    +os2.mak [1.19.2.5], ugcclib.mak [1.13.2.5], unix-gcc.mak [1.23.2.8],
    +unixansi.mak [1.16.2.7], watc.mak [1.16.2.3], watclib.mak [1.13.2.4],
    +watcw32.mak [1.13.2.4]: 2002/04/19 06:32:22 giles)
    +
    +Add the 'stp' driver from the gimp-print project, and compile it in by
    +default from the autoconf build if libgimprint is found.
    +(unix-gcc.mak [1.23.2.9], unixansi.mak [1.16.2.8]: 2002/04/19 22:23:09
    +giles)
    +
    +bump the release date in the makefile (version.mak [1.36.2.6]: 2002/04/19
    +22:39:53 giles)
    +
    +Update licensing information in the Windows distribution archive.
    +(winint.mak [1.8.2.4]: 2002/04/20 10:14:02 ghostgum)
    +
    +Update licensing information in Windows distribution archive.
    +(winint.mak [1.8.2.5]: 2002/04/20 10:32:37 ghostgum)
    +
    +Update licensing information in Windows files. (dwsetup.def [1.2.6.1],
    +dwsetup.rc [1.5.2.3], dwuninst.def [1.2.6.1]: 2002/04/20 22:11:39 ghostgum)
    +
    +Update version date for release.Update version date for release.Update
    +version date for release. (version.mak [1.36.2.7]: 2002/04/22 21:16:23
    +giles)
    +
    +Change the license reference in the installer dialog and update the
    +copyright year. (dwsetup.rc [1.5.2.4]: 2002/04/23 01:41:13 giles)
    +
    +

    Utilities

    +
    +Fixes problems:
    +	- Fixes pdf2dsc to open input file before .setsafe, so that it works
    +even when SAFER locks down read file access. Backport patch by raph from
    +HEAD. (lib/pdf2dsc.ps [1.3.4.1]: 2002/02/13 23:29:52 giles)
    +	- ps2epsi generated an invalid DSC header. Also, encapsulate the
    +original file in %%Begin/EndDocument t o protect against confusion with
    +multiple DSC comments. Patch from Russell Lang. (lib/ps2epsi [1.7.2.1]:
    +2002/04/22 20:18:24 giles)
    +	- Calculate more accurate BoundingBox and prevent invalidaccess by
    +using an 8-bit deep preview image. Patch from Ray Johnston. SF bug #525508.
    +(lib/ps2epsi.ps [1.5.2.3]: 2002/04/22 20:30:39 giles)
    +
    +Update licensing information, with permission from Thomas Merz. Also
    +updates the author's email address and removes the obsolete physical
    +address.
    +(lib/viewjpeg.ps [1.1.6.1]: 2002/02/08 09:44:43 giles)
    +
    +Update banner to the new format common to all releases. References file
    +LICENSE. Note that the $Id: line is not altered by this change.
    +(bench.c [1.4.4.1],
    +dxmain.c [1.7.2.1], dxmainc.c [1.4.2.2], echogs.c [1.3.2.1],
    +lib/Fontmap.ATB [1.2.6.1], lib/Fontmap.ATM [1.2.6.1],
    +lib/Fontmap.GS [1.2.6.1], lib/Fontmap.OS2 [1.2.6.1],
    +lib/Fontmap.SGI [1.2.6.1], lib/Fontmap.Sol [1.2.6.1],
    +lib/Fontmap.Ult [1.2.6.1], lib/addxchar.ps [1.2.6.1],
    +lib/align.ps [1.2.6.1], lib/bdftops.ps [1.3.2.1], lib/caption.ps [1.2.6.1],
    +lib/cid2code.ps [1.3.4.1], lib/docie.ps [1.2.6.1], lib/errpage.ps [1.2.6.1],
    +lib/font2c.ps [1.3.2.1], lib/font2pcl.ps [1.2.6.1], lib/gslp.ps [1.2.6.1],
    +lib/gsnup.ps [1.2.6.1], lib/image-qa.ps [1.3.2.1], lib/impath.ps [1.3.4.1],
    +lib/jispaper.ps [1.2.6.1], lib/lines.ps [1.2.6.1],
    +lib/markhint.ps [1.2.6.1], lib/markpath.ps [1.2.6.1],
    +lib/packfile.ps [1.2.6.1], lib/pcharstr.ps [1.2.6.1],
    +lib/pdf2dsc.ps [1.3.4.2], lib/pdfopt.ps [1.10.2.1],
    +lib/pdfwrite.ps [1.7.2.1], lib/pfbtopfa.ps [1.2.6.1],
    +lib/ppath.ps [1.2.6.1], lib/pphs.ps [1.3.2.1], lib/ps2ai.ps [1.2.6.1],
    +lib/ps2ascii.ps [1.3.2.1], lib/ps2epsi.ps [1.5.2.1],
    +lib/showchar.ps [1.2.6.1], lib/stcinfo.ps [1.2.6.1],
    +lib/stcolor.ps [1.2.6.1], lib/stocht.ps [1.3.6.1],
    +lib/traceimg.ps [1.2.6.1], lib/traceop.ps [1.2.6.1],
    +lib/type1enc.ps [1.2.6.1], lib/type1ops.ps [1.2.6.1],
    +lib/uninfo.ps [1.2.6.1], lib/unprot.ps [1.2.6.1], lib/viewcmyk.ps [1.2.6.1],
    +lib/viewgif.ps [1.2.6.1], lib/viewjpeg.ps [1.1.6.2],
    +lib/viewmiff.ps [1.2.6.1], lib/viewpbm.ps [1.2.6.1],
    +lib/viewpcx.ps [1.2.6.1], lib/viewps2a.ps [1.2.6.1],
    +lib/wftopfa.ps [1.2.6.1], lib/winmaps.ps [1.2.6.1], lib/wrfont.ps [1.2.6.1],
    +lib/zeroline.ps [1.2.6.1]: 2002/02/22 19:45:54 ray)
    +
    +Update banner to the new format common to all releases. References file
    +LICENSE. Note that the $Id: line is not altered by this change.
    +(genarch.c [1.2.6.1],
    +genconf.c [1.4.4.1], gendev.c [1.2.6.1], genht.c [1.2.6.1],
    +geninit.c [1.3.6.1], gp_dvx.c [1.4.2.1], gp_iwatc.c [1.6.2.1],
    +gp_mac.c [1.1.4.1], gp_mktmp.c [1.2.6.1], gp_msdll.c [1.1.2.1],
    +gp_mshdl.c [1.2.6.1], gp_msio.c [1.3.4.1], gp_mslib.c [1.3.2.1],
    +gp_mspol.c [1.1.2.1], gp_msprn.c [1.1.2.1], gp_mswin.c [1.7.2.1],
    +gp_ntfs.c [1.5.2.3], gp_os2.c [1.10.2.2], gp_os9.c [1.4.2.1],
    +gp_stdia.c [1.3.2.1], gp_stdin.c [1.2.2.1], gp_sysv.c [1.2.6.1],
    +gp_unix.c [1.5.2.1], gp_vms.c [1.7.2.2], gp_wgetv.c [1.4.2.1],
    +gp_win32.c [1.2.6.1], gp_wsync.c [1.2.6.1], gs16spl.c [1.2.6.1],
    +gsdll.c [1.6.2.1], gserver.c [1.2.6.1], gspmdrv.c [1.2.6.1]: 2002/02/22
    +19:45:57 ray)
    +
    +Update banner to the new format common to all releases. References file
    +LICENSE. Note that the $Id: line is not altered by this change.
    +(scfdgen.c [1.2.6.1],
    +zdosio.c [1.2.6.1], ziodevs.c [1.5.2.1], ziodevsc.c [1.3.2.1]: 2002/02/22
    +19:46:00 ray)
    +
    +gs_cjk project : replace "min" & "max" by ".min" & ".max". Fix by
    +Suzuki Toshiya. (lib/bdftops.ps [1.3.2.2], lib/font2pcl.ps [1.2.6.2],
    +lib/gslp.ps [1.2.6.2], lib/packfile.ps [1.2.6.2], lib/pdfopt.ps [1.10.2.2],
    +lib/prfont.ps [1.2.6.1], lib/ps2ascii.ps [1.3.2.2],
    +lib/traceimg.ps [1.2.6.2], lib/viewcmyk.ps [1.2.6.2],
    +lib/viewpbm.ps [1.2.6.2], lib/viewpcx.ps [1.2.6.2]: 2002/04/02 13:57:27
    +mpsuzuki)
    +
    +add missing Id: lines (lib/acctest.ps [1.1.6.1], lib/decrypt.ps [1.1.6.1],
    +lib/landscap.ps [1.1.6.1], lib/level1.ps [1.1.6.1], lib/pf2afm.ps [1.3.2.1],
    +lib/printafm.ps [1.1.6.1]: 2002/04/10 09:22:58 giles)
    +
    +adds missing Id: lines. (gp_mac.c [1.1.4.2]: 2002/04/10 09:33:26 giles)
    +
    +Updating licensing information in Windows files. (gp_wgetv.c [1.4.2.2]:
    +2002/04/20 22:11:39 ghostgum)
    +
    +Use sed in preference to tail to avoid conflicts between posix and
    +traditional implementations. Patch from Paul Eggert. Closes SourceForge bug
    +#521597. (lib/unix-lpr.sh [1.1.6.1]: 2002/04/22 19:54:55 giles)
    +
    +Add new license header to some files.
    +(gp_macio.c [1.2.4.2]: 2002/04/23 01:32:26 giles)
    +
    +

    Drivers

    +
    +Fixes problems:
    +	- Changes XPutImage to use xdev->vinfo->depth rather than
    +xdev->color_info.depth. These are the same in all cases except a visual
    +depth of 15, in which the latter is 16. (gdevx.c [1.8.2.2]: 2002/02/20
    +21:11:49 raph)
    +	- improve pswrite with compatibility to interpreters which don't
    +consume ASCII85Decode EOD when reader stops immediately before it. Source
    +Forge bug #525044 "pswrite incompatible with some RIPs". Thanks to Paul
    +Vojta for spotting this. (gdevps.c [1.19.2.2]: 2002/03/13 17:09:11 igor)
    +	- epswrite was incompatible with HP LaserJet 4000 TN. Source Forge
    +bug #529202 "Wrong PostScript in pswrite prolog". (gdevpsu.c [1.7.2.2]:
    +2002/03/20 20:17:31 igor)
    +	- Fixes incorrect margins on IJS devices. Thanks to Dave Suffield
    +for the patch. (gdevijs.c [1.1.2.3]: 2002/03/28 20:44:53 raph)
    +	- Initializes the green and blue components of cmap and their
    +multipliers. A floating point exception was occuring on static gray X
    +displays when these were left at 0. (gdevxcmp.c [1.2.6.2]: 2002/04/19
    +00:46:41 jack)
    +
    +Update banner to the new format common to all releases. References file
    +LICENSE. Note that the $Id: line is not altered by this change.
    +(gdev3852.c [1.3.2.1],
    +gdev3b1.c [1.2.6.1], gdev4081.c [1.3.2.1], gdev8510.c [1.3.2.1],
    +gdev8bcm.c [1.2.6.1], gdev8bcm.h [1.2.6.1], gdevadmp.c [1.3.2.1],
    +gdevbit.c [1.2.6.1], gdevbj10.c [1.4.2.1], gdevbjc.h [1.2.6.1],
    +gdevbjcl.c [1.2.6.1], gdevbjcl.h [1.2.6.1], gdevbmp.c [1.4.2.1],
    +gdevbmp.h [1.2.6.1], gdevbmpa.c [1.3.6.1], gdevbmpc.c [1.2.6.1],
    +gdevccr.c [1.2.6.1], gdevcdj.c [1.5.2.1], gdevcfax.c [1.3.6.1],
    +gdevcgm.c [1.2.6.2], gdevcgml.c [1.2.6.1], gdevcgml.h [1.2.6.1],
    +gdevcgmx.h [1.2.6.1], gdevcif.c [1.3.2.1], gdevclj.c [1.2.6.1],
    +gdevcljc.c [1.4.2.1], gdevcp50.c [1.3.2.1], gdevcslw.c [1.2.6.1],
    +gdevdcrd.c [1.2.6.1], gdevdcrd.h [1.2.6.1], gdevdfax.c [1.4.2.1],
    +gdevdjtc.c [1.3.2.1], gdevdm24.c [1.3.2.1], gdevdsp.c [1.5.2.2],
    +gdevegaa.asm [1.2.6.1], gdevepsc.c [1.3.2.1], gdevepsn.c [1.3.2.1],
    +gdevescp.c [1.3.2.1], gdevevga.c [1.2.6.1], gdevfax.c [1.2.6.1],
    +gdevfax.h [1.2.6.1], gdevherc.c [1.2.6.1], gdevhl7x.c [1.5.2.1],
    +gdevijs.c [1.1.2.2], gdevimgn.c [1.4.2.1], gdevjpeg.c [1.3.2.1],
    +gdevl256.c [1.3.6.1], gdevl31s.c [1.2.6.1], gdevlbp8.c [1.3.2.1],
    +gdevlj56.c [1.3.2.1], gdevlp8k.c [1.2.6.1], gdevlxm.c [1.2.6.1],
    +gdevmac.h [1.1.4.1], gdevmacxf.c [1.1.4.1], gdevmeds.c [1.2.6.1],
    +gdevmeds.h [1.2.6.1], gdevmgr.c [1.2.6.1], gdevmgr.h [1.2.6.1],
    +gdevmiff.c [1.3.2.1], gdevmswn.c [1.4.2.1], gdevmswn.h [1.2.6.1],
    +gdevmsxf.c [1.2.6.1], gdevn533.c [1.3.2.1], gdevo182.c [1.3.2.1],
    +gdevokii.c [1.3.2.1], gdevos2p.c [1.4.2.1], gdevp14.h [1.1.2.1],
    +gdevp2up.c [1.2.6.1], gdevpbm.c [1.3.6.1], gdevpccm.c [1.2.6.1],
    +gdevpccm.h [1.3.6.1], gdevpcfb.c [1.2.6.1], gdevpcfb.h [1.2.6.1],
    +gdevpcl.c [1.5.2.1], gdevpcl.h [1.5.2.1], gdevpcx.c [1.2.6.1],
    +gdevpe.c [1.2.6.1], gdevphex.c [1.2.6.1], gdevpjet.c [1.3.2.1],
    +gdevpm.c [1.4.2.1], gdevpm.h [1.2.6.1], gdevpng.c [1.4.2.1],
    +gdevpnga.c [1.4.2.1], gdevps.c [1.19.2.1], gdevpsdf.h [1.9.4.1],
    +gdevpsdi.c [1.15.2.1], gdevpsdp.c [1.8.6.1], gdevpsds.c [1.4.6.1],
    +gdevpsds.h [1.4.6.1], gdevpsdu.c [1.10.2.1], gdevpsim.c [1.6.2.1],
    +gdevpsu.c [1.7.2.1], gdevpsu.h [1.4.2.1], gdevpx.c [1.6.2.1],
    +gdevpxat.h [1.3.6.1], gdevpxen.h [1.3.6.1], gdevpxop.h [1.2.6.1],
    +gdevpxut.c [1.2.6.1], gdevpxut.h [1.2.6.1], gdevs3ga.c [1.2.6.1],
    +gdevsco.c [1.3.6.1], gdevsj48.c [1.2.6.1], gdevsnfb.c [1.3.2.1],
    +gdevsppr.c [1.5.2.1], gdevstc.c [1.2.6.1], gdevstc.h [1.2.6.1],
    +gdevstc1.c [1.2.6.1], gdevstc2.c [1.2.6.1], gdevstc3.c [1.2.6.1],
    +gdevstc4.c [1.2.6.1], gdevsun.c [1.2.6.1], gdevsunr.c [1.4.2.1],
    +gdevsvga.c [1.2.6.1], gdevsvga.h [1.2.6.1], gdevtfax.c [1.4.6.1],
    +gdevtfax.h [1.4.6.1], gdevtfnx.c [1.5.2.1], gdevtifs.c [1.4.2.1],
    +gdevtifs.h [1.3.6.1], gdevtknk.c [1.3.2.1], gdevupd.c [1.5.2.1],
    +gdevvglb.c [1.3.6.1], gdevwddb.c [1.3.2.1], gdevwdib.c [1.3.2.1],
    +gdevwpr2.c [1.9.2.1], gdevwprn.c [1.3.2.1], gdevx.c [1.8.2.3],
    +gdevx.h [1.4.6.1], gdevxalt.c [1.2.6.2], gdevxcmp.c [1.2.6.1],
    +gdevxcmp.h [1.2.6.1], gdevxini.c [1.10.4.1], gdevxres.c [1.3.6.1],
    +gdevxxf.c [1.5.6.1]: 2002/02/22 19:45:55 ray)
    +
    +Update banner to the new format common to all releases. References file
    +LICENSE. Note that the $Id: line is not altered by this change.
    +(png_.h [1.2.6.1],
    +x_.h [1.3.2.1]: 2002/02/22 19:46:00 ray)
    +
    +Add multiple inclusion protection to headers files which were missing it.
    +(gdevmacpictop.h [1.1.4.1], gdevmacttf.h [1.1.4.1], png_.h [1.2.6.2]:
    +2002/04/10 09:13:11 giles)
    +
    +adds missing Id: lines. (gdevdsp.c [1.5.2.3], gdevhpij.c [1.3.2.1],
    +gdevhpij.h [1.2.4.1], gdevmac.c [1.1.4.2], gdevmac.h [1.1.4.2],
    +gdevmacxf.c [1.1.4.2], gdevphex.c [1.2.6.2]: 2002/04/10 09:33:25 giles)
    +
    +Add new license header to some files.
    +(gdevmac.c [1.1.4.3]: 2002/04/23 01:32:26 giles)
    +
    +

    PDF writer

    +
    +Fixes problems:
    +	- Fix : pdfwrite wrongly computed text width for fonts with unusual
    +font matrix. Source Forge bug "[ 535401 ] euro glyph misplaced after
    +pdfwrite". (gdevpdff.c [1.22.2.2], gdevpdfs.c [1.7.2.2]: 2002/04/11 15:49:45
    +igor)
    +	- Fix : pdfwrite wrongly computed line width for fonts with
    +PaintType 2. (gdevpdfs.c [1.7.2.3]: 2002/04/16 10:11:30 igor)
    +
    +Update banner to the new format common to all releases. References file
    +LICENSE. Note that the $Id: line is not altered by this change.
    +(gdevpdf.c [1.38.2.1],
    +gdevpdfb.c [1.6.2.1], gdevpdfc.c [1.17.2.1], gdevpdfd.c [1.16.2.1],
    +gdevpdfe.c [1.10.2.1], gdevpdff.c [1.22.2.1], gdevpdff.h [1.11.2.1],
    +gdevpdfg.c [1.14.2.1], gdevpdfg.h [1.9.6.1], gdevpdfi.c [1.24.2.1],
    +gdevpdfj.c [1.7.2.1], gdevpdfm.c [1.14.2.1], gdevpdfo.c [1.9.2.1],
    +gdevpdfo.h [1.6.4.1], gdevpdfp.c [1.19.2.1], gdevpdfr.c [1.4.6.1],
    +gdevpdfs.c [1.7.2.1], gdevpdft.c [1.36.2.1], gdevpdfu.c [1.16.2.1],
    +gdevpdfv.c [1.10.2.1], gdevpdfw.c [1.12.2.1], gdevpdfx.h [1.34.2.1]:
    +2002/02/22 19:45:56 ray)
    +
    +

    PDF Interpreter

    +
    +Update banner to the new format common to all releases. References file
    +LICENSE. Note that the $Id: line is not altered by this change.
    +(lib/pdf_base.ps [1.14.2.1],
    +lib/pdf_draw.ps [1.36.2.1], lib/pdf_font.ps [1.23.2.1],
    +lib/pdf_main.ps [1.35.2.1], lib/pdf_ops.ps [1.17.2.2]: 2002/02/22 19:45:55
    +ray)
    +
    +gs_cjk project : CIDWProc sample implementation by Suzuki Toshiya.
    +(lib/pdf_font.ps [1.23.2.2]: 2002/04/02 13:53:16 mpsuzuki)
    +
    +gs_cjk project : replace "min" & "max" by ".min" & ".max". Fix by
    +Suzuki Toshiya. (lib/pdf_font.ps [1.23.2.3], lib/pdf_main.ps [1.35.2.2],
    +lib/pdf_sec.ps [1.5.2.1]: 2002/04/02 13:57:27 mpsuzuki)
    +
    +gs_cjk project : Automatic bold & italic for non-CID fonts in PDF. Fix
    +by Taiji Yamada. (lib/pdf_font.ps [1.23.2.4]: 2002/04/02 13:58:40 mpsuzuki)
    +
    +gs-cjk project : update comments on "PDF reference", third edition fixes
    +wrong notes about /DW in second edition. Fix by Suzuki Toshiya.
    +(lib/pdf_font.ps [1.23.2.5]: 2002/04/03 07:27:49 mpsuzuki)
    +
    +disable the new auto-bold and auto-slant functions for non-cid fonts,
    +pending improved detection of when this is necessary.
    +(lib/pdf_font.ps [1.23.2.6]: 2002/04/16 06:11:29 giles)
    +
    +

    Interpreter

    +
    +Fixes problems:
    +	- Prevent .locksafe (and .setsafe) from resetting the current
    +pagedevice. Fixes SourceForge bug #516379. (lib/gs_init.ps [1.40.2.5]:
    +2002/02/14 01:25:59 rayjj)
    +	- -dSAFER mode to allow opening a file that references the parent
    +directory as long as the PermitFileReading strings include a (*) string
    +(allow all reading). Corresponds to rev 1.19 change. (zfile.c [1.11.2.3]:
    +2002/04/11 20:05:01 ray)
    +
    +Update banner to the new format common to all releases. References file
    +LICENSE. Note that the $Id: line is not altered by this change.
    +(bfont.h [1.3.6.1],
    +btoken.h [1.4.6.1], ccfont.h [1.2.6.1], dpmain.c [1.5.2.1],
    +dscparse.c [1.7.2.1], dscparse.h [1.6.2.1], dstack.h [1.3.4.1],
    +dwdll.c [1.2.2.1], dwdll.h [1.3.2.1], dwimg.c [1.3.2.1], dwimg.h [1.4.2.1],
    +dwinst.cpp [1.2.6.1], dwinst.h [1.2.6.1], dwmain.c [1.6.2.2],
    +dwmain.h [1.3.2.1], dwmainc.c [1.8.2.2], dwnodll.c [1.1.2.1],
    +dwreg.c [1.1.2.1], dwreg.h [1.1.2.1], dwsetup.cpp [1.5.6.1],
    +dwsetup.h [1.2.6.1], dwtext.c [1.5.2.1], dwtext.h [1.4.2.1],
    +dwuninst.cpp [1.2.6.1], dwuninst.h [1.2.6.1], errors.h [1.4.2.1],
    +estack.h [1.2.6.1], examples/waterfal.ps [1.3.2.1], files.h [1.4.2.1],
    +gdevdsp.h [1.1.2.1], gdevdsp2.h [1.2.2.1], lib/gs_agl.ps [1.2.6.1],
    +lib/gs_btokn.ps [1.5.2.1], lib/gs_ccfnt.ps [1.5.2.1],
    +lib/gs_ce_e.ps [1.2.6.1], lib/gs_cff.ps [1.10.2.1],
    +lib/gs_cidcm.ps [1.5.2.1], lib/gs_cidfn.ps [1.18.4.1],
    +lib/gs_cmap.ps [1.11.2.1], lib/gs_cmdl.ps [1.2.6.1],
    +lib/gs_css_e.ps [1.2.6.1], lib/gs_dbt_e.ps [1.2.6.1],
    +lib/gs_diskf.ps [1.2.6.1], lib/gs_dpnxt.ps [1.2.6.1],
    +lib/gs_dps.ps [1.4.6.1], lib/gs_dps1.ps [1.2.6.1], lib/gs_dps2.ps [1.3.4.1],
    +lib/gs_dscp.ps [1.4.2.1], lib/gs_epsf.ps [1.2.6.1],
    +lib/gs_fform.ps [1.2.6.1], lib/gs_fonts.ps [1.13.2.2],
    +lib/gs_frsd.ps [1.4.6.1], lib/gs_icc.ps [1.2.2.1],
    +lib/gs_il1_e.ps [1.2.6.1], lib/gs_il2_e.ps [1.2.6.1],
    +lib/gs_init.ps [1.40.2.6], lib/gs_kanji.ps [1.2.6.1],
    +lib/gs_ksb_e.ps [1.2.6.1], lib/gs_l2img.ps [1.2.6.1],
    +lib/gs_lev2.ps [1.7.2.3], lib/gs_lgo_e.ps [1.3.6.1],
    +lib/gs_lgx_e.ps [1.2.6.1], lib/gs_ll3.ps [1.10.2.1],
    +lib/gs_mex_e.ps [1.2.6.1], lib/gs_mgl_e.ps [1.3.6.1],
    +lib/gs_mro_e.ps [1.2.6.1], lib/gs_pdf_e.ps [1.2.6.1],
    +lib/gs_pdfwr.ps [1.11.2.1], lib/gs_pfile.ps [1.2.6.1],
    +lib/gs_rdlin.ps [1.2.6.1], lib/gs_res.ps [1.16.2.1],
    +lib/gs_setpd.ps [1.8.2.2], lib/gs_statd.ps [1.5.2.1],
    +lib/gs_std_e.ps [1.2.6.1], lib/gs_sym_e.ps [1.2.6.1],
    +lib/gs_trap.ps [1.3.6.1], lib/gs_ttf.ps [1.9.2.1],
    +lib/gs_typ32.ps [1.3.2.1], lib/gs_typ42.ps [1.2.6.1],
    +lib/gs_type1.ps [1.5.2.1], lib/gs_wan_e.ps [1.2.6.1],
    +lib/gs_wl1_e.ps [1.2.6.1], lib/gs_wl2_e.ps [1.2.6.1],
    +lib/gs_wl5_e.ps [1.2.6.1]: 2002/02/22 19:45:54 ray)
    +
    +Update banner to the new format common to all releases. References file
    +LICENSE. Note that the $Id: line is not altered by this change.
    +(ghost.h [1.2.6.1],
    +gs.c [1.6.2.1], ialloc.c [1.2.6.1], ialloc.h [1.2.6.1], iapi.c [1.1.2.2],
    +iapi.h [1.2.2.1], iastate.h [1.2.6.1], iastruct.h [1.2.6.1],
    +ibnum.c [1.2.6.1], ibnum.h [1.2.6.1], iccfont.c [1.2.6.2],
    +iccinit0.c [1.2.6.1], icfontab.c [1.2.6.1], ichar.h [1.3.6.1],
    +ichar1.h [1.3.6.1], icharout.h [1.3.4.1], icid.h [1.2.6.1],
    +icie.h [1.3.2.1], icolor.h [1.2.6.1], iconf.c [1.3.2.1], iconf.h [1.1.6.1],
    +icontext.c [1.6.6.2], icontext.h [1.2.6.1], icremap.h [1.2.6.1],
    +icsmap.h [1.2.6.1], icstate.h [1.4.6.2], iddict.h [1.2.6.1],
    +iddstack.h [1.2.6.1], idebug.c [1.4.2.1], idebug.h [1.2.6.1],
    +idict.c [1.4.4.1], idict.h [1.2.6.1], idictdef.h [1.2.6.1],
    +idisp.c [1.2.2.1], idisp.h [1.1.2.1], idosave.h [1.2.6.1],
    +idparam.c [1.3.6.1], idparam.h [1.3.6.1], idsdata.h [1.2.6.1],
    +idstack.c [1.2.6.1], idstack.h [1.2.6.1], iesdata.h [1.2.6.1],
    +iestack.h [1.2.6.1], ifcid.h [1.2.6.1], ifilter.h [1.3.6.1],
    +ifilter2.h [1.2.6.1], ifont.h [1.6.4.1], ifont1.h [1.3.6.1],
    +ifont2.h [1.2.6.1], ifont42.h [1.3.6.1], ifrpred.h [1.2.6.1],
    +ifunc.h [1.3.6.3], ifwpred.h [1.2.6.1], igc.c [1.5.2.1], igc.h [1.2.6.1],
    +igcref.c [1.3.2.1], igcstr.c [1.3.6.1], igcstr.h [1.2.6.1],
    +igstate.h [1.3.6.1], iht.h [1.2.6.1], iimage.h [1.2.6.1],
    +iimage2.h [1.2.6.1], iinit.c [1.3.4.1], iinit.h [1.2.6.1],
    +ilevel.h [1.2.6.1], ilocate.c [1.4.2.1], imain.c [1.19.2.1],
    +imain.h [1.3.2.1], imainarg.c [1.13.2.2], imainarg.h [1.3.2.1],
    +imemory.h [1.2.6.1], iminst.h [1.5.2.1], iname.c [1.3.6.1],
    +iname.h [1.2.6.1], inamedef.h [1.2.6.1], inameidx.h [1.2.6.1],
    +inames.h [1.2.6.1], inamestr.h [1.2.6.1], inobtokn.c [1.2.6.1],
    +inouparm.c [1.2.6.1], interp.c [1.8.2.1], interp.h [1.2.6.1],
    +iosdata.h [1.2.6.1], iostack.h [1.2.6.1], ipacked.h [1.2.6.1],
    +iparam.c [1.5.6.1], iparam.h [1.2.6.1], iparray.h [1.2.6.1],
    +ipcolor.h [1.2.6.1], ireclaim.c [1.3.2.1], iref.h [1.5.4.1],
    +isave.c [1.3.6.1], isave.h [1.2.6.1], iscan.c [1.5.6.1], iscan.h [1.4.6.1],
    +iscanbin.c [1.5.6.1], iscanbin.h [1.2.6.1], iscannum.c [1.3.2.1],
    +iscannum.h [1.2.6.1], isdata.h [1.2.6.1], isstate.h [1.2.6.1],
    +istack.c [1.2.6.1], istack.h [1.2.6.1], istkparm.h [1.2.6.1],
    +istream.h [1.2.6.1], istruct.h [1.2.6.1], itoken.h [1.2.6.1],
    +iutil.c [1.3.2.1], iutil.h [1.2.6.1], iutil2.c [1.2.6.2],
    +iutil2.h [1.2.6.2], ivmem2.h [1.2.6.1], ivmspace.h [1.2.6.1],
    +main.h [1.3.2.1], oparc.h [1.2.6.1], opcheck.h [1.2.6.1], opdef.h [1.3.2.1],
    +oper.h [1.2.6.1], opextern.h [1.2.6.1]: 2002/02/22 19:45:57 ray)
    +
    +Update banner to the new format common to all releases. References file
    +LICENSE. Note that the $Id: line is not altered by this change.
    +(ostack.h [1.2.6.1],
    +sbhc.c [1.3.4.1], sbhc.h [1.2.6.1], sbwbs.c [1.2.6.1], sbwbs.h [1.2.6.1],
    +sfilter1.c [1.6.4.1], shcgen.c [1.2.6.1], shcgen.h [1.2.6.1],
    +smtf.c [1.2.6.1], smtf.h [1.2.6.1], store.h [1.2.6.1], zarith.c [1.4.6.1],
    +zarray.c [1.2.6.1], zbfont.c [1.7.4.1], zbseq.c [1.4.6.1],
    +zcfont.c [1.2.6.1], zchar.c [1.4.2.1], zchar1.c [1.7.2.1],
    +zchar2.c [1.2.6.1], zchar32.c [1.2.6.1], zchar42.c [1.3.4.1],
    +zcharout.c [1.4.4.1], zcharx.c [1.3.6.1], zcid.c [1.3.6.1],
    +zcie.c [1.5.2.1], zcolor.c [1.4.6.1], zcolor1.c [1.3.6.1],
    +zcolor2.c [1.4.2.1], zcontext.c [1.7.2.1], zcontrol.c [1.3.6.2],
    +zcrd.c [1.2.6.1], zcsdevn.c [1.5.2.2], zcsindex.c [1.3.6.1],
    +zcspixel.c [1.2.6.1], zcssepr.c [1.8.2.1], zdevcal.c [1.3.6.1],
    +zdevice.c [1.3.6.2], zdevice2.c [1.4.2.2], zdfilter.c [1.2.2.1],
    +zdict.c [1.3.6.1], zdouble.c [1.2.6.1], zdpnext.c [1.3.6.1],
    +zdps.c [1.4.6.1], zdps1.c [1.3.4.1], zdscpars.c [1.12.2.1],
    +zfarc4.c [1.2.2.1], zfbcp.c [1.3.6.1], zfcid.c [1.11.4.1],
    +zfcid0.c [1.7.2.1], zfcid1.c [1.4.4.1], zfcmap.c [1.9.2.1],
    +zfdctd.c [1.6.2.1], zfdcte.c [1.5.2.1], zfdecode.c [1.3.6.1],
    +zfile.c [1.11.2.2], zfileio.c [1.12.2.1], zfilter.c [1.5.2.1],
    +zfilter2.c [1.3.6.1], zfilterx.c [1.2.6.1], zfmd5.c [1.2.6.1],
    +zfont.c [1.3.4.1], zfont0.c [1.3.6.1], zfont1.c [1.9.4.1],
    +zfont2.c [1.4.2.1], zfont32.c [1.2.6.1], zfont42.c [1.5.6.1],
    +zfproc.c [1.9.2.1], zfrsd.c [1.4.6.1], zfunc.c [1.6.6.3],
    +zfunc0.c [1.3.6.2], zfunc3.c [1.2.6.2], zfunc4.c [1.7.4.2],
    +zfzlib.c [1.3.6.1], zgeneric.c [1.3.6.1], zgstate.c [1.2.6.1],
    +zhsb.c [1.2.6.1], zht.c [1.2.6.1], zht1.c [1.2.6.1], zht2.c [1.2.6.1],
    +zicc.c [1.2.2.1], zimage.c [1.5.6.1], zimage2.c [1.4.2.1],
    +zimage3.c [1.3.6.1], ziodev.c [1.6.2.1], ziodev2.c [1.3.6.1],
    +zmath.c [1.3.6.1], zmatrix.c [1.4.6.1], zmedia2.c [1.3.2.1],
    +zmisc.c [1.2.6.1], zmisc1.c [1.3.6.1], zmisc2.c [1.3.6.1],
    +zmisc3.c [1.2.6.1], zpacked.c [1.2.6.1], zpaint.c [1.2.6.1],
    +zpath.c [1.2.6.1], zpath1.c [1.2.6.1], zpcolor.c [1.3.6.1],
    +zrelbit.c [1.2.6.1], zrop.c [1.2.6.1], zshade.c [1.4.6.2],
    +zstack.c [1.2.6.1], zstring.c [1.2.6.1], zsysvm.c [1.2.6.1],
    +ztoken.c [1.6.6.1], ztrans.c [1.13.2.1], ztrap.c [1.2.6.1],
    +ztype.c [1.3.6.1], zupath.c [1.2.6.1], zusparam.c [1.3.6.2],
    +zvmem.c [1.3.2.2], zvmem2.c [1.3.2.1]: 2002/02/22 19:46:00 ray)
    +
    +MS-Windows installer now clears the read-only attribute when copying files.
    +The installer was failing when the source files were stored unpacked on a
    +CD-ROM. (dwinst.cpp [1.2.6.2], dwinst.h [1.2.6.2]: 2002/03/12 20:57:01
    +ghostgum)
    +
    +gs_cjk project : gdevpsfm.c did not know about CODE_VALUE_NOTDEF which was
    +introduced by MDRC. Fix by Suzuki Toshiya. Also Fix in HEAD (revision 1.8
    +-> 1.9) by L. Peter Deutsch is included. (lib/gs_cmap.ps [1.11.2.2]:
    +2002/04/02 13:24:12 mpsuzuki)
    +
    +gs_cjk project : MDRC bug fix pt.1: use signalerror instead stop Fix by
    +Suzuki Toshiya. (lib/gs_cmap.ps [1.11.2.3]: 2002/04/02 13:25:44 mpsuzuki)
    +
    +gs_cjk project : MDRC bug fix pt.2: shrink map infos by endcidchar too, to
    +provide parsing of Adobe-CNS1-4 UCS4 CMap. Fix by Suzuki Toshiya.
    +(lib/gs_cmap.ps [1.11.2.4]: 2002/04/02 13:26:37 mpsuzuki)
    +
    +gs_cjk project : return error when we cannot load even CID=0. Fix by Suzuki
    +Toshiya. (zfcid0.c [1.7.2.2]: 2002/04/02 13:28:34 mpsuzuki)
    +
    +gs_cjk project : cshow bug patch for CIDFont. proc passed to cshow can
    +change currentfont internally, in such case, rangecheck error should not be
    +returned. Fix by Masatake Yamato. (zchar.c [1.4.2.2]: 2002/04/02 13:30:49
    +mpsuzuki)
    +
    +gs_cjk project : cshow bug patch for composite font. Fix by Masatake Yamato.
    +(zcfont.c [1.2.6.2]: 2002/04/02 13:31:38 mpsuzuki)
    +
    +gs_cjk project : support for vertical writing mode by CIDFontType2 by
    +Hideyuki Suzuki. (zchar42.c [1.3.4.2]: 2002/04/02 13:32:14 mpsuzuki)
    +
    +gs_cjk project : zsetcachedevice2 bug patch by Masatake Yamato, modified by
    +Hideo Saito (zchar1.c [1.7.2.2]: 2002/04/02 13:45:02 mpsuzuki)
    +
    +gs_cjk project : CDevProc patch by Masatake Yamato. (zcharout.c [1.4.4.2]:
    +2002/04/02 13:46:13 mpsuzuki)
    +
    +gs_cjk project : CJK TTF loader: on-the-fly CIDFontType2 convertor,
    +including bugfix for cmap format2 parser (2002-01-09 for GS_6_5) by Hideyuki
    +Suzuki and Taiji Yamada. (lib/gs_ttf.ps [1.9.2.2]: 2002/04/02 13:55:03
    +mpsuzuki)
    +
    +gs_cjk project : CIDFontmap patch (without CJK TTF support) by Masatake
    +Yamato. (lib/gs_cidcm.ps [1.5.2.2], lib/gs_cidfn.ps [1.18.4.2],
    +lib/gs_init.ps [1.40.2.7]: 2002/04/02 13:55:47 mpsuzuki)
    +
    +gs_cjk project : CIDFontmap patch CJK TTF support by Masatake Yamato.
    +(lib/gs_cidfn.ps [1.18.4.3]: 2002/04/02 13:56:26 mpsuzuki)
    +
    +gs_cjk project : replace "min" & "max" by ".min" & ".max". Fix by
    +Suzuki Toshiya. (lib/gs_cidfn.ps [1.18.4.4], lib/gs_fonts.ps [1.13.2.3],
    +lib/gs_init.ps [1.40.2.8], lib/gs_ll3.ps [1.10.2.2],
    +lib/gs_trap.ps [1.3.6.2], lib/gs_typ32.ps [1.3.2.2]: 2002/04/02 13:57:27
    +mpsuzuki)
    +
    +gs-cjk project : apply security fix by rayjj for gs6.53 branch (for original
    +fix, see rev. 1.17.2.2). Fix by Suzuki Toshiya. (lib/gs_cidfn.ps [1.18.4.5]:
    +2002/04/03 07:31:14 mpsuzuki)
    +
    +Add multiple inclusion protection to headers files which were missing it.
    +(dscparse.h [1.6.2.2], dwimg.h [1.4.2.2], dwinst.h [1.2.6.3],
    +dwmain.h [1.3.2.2], dwreg.h [1.1.2.2], dwsetup.h [1.2.6.2],
    +dwtext.h [1.4.2.2], dwuninst.h [1.2.6.2]: 2002/04/10 09:13:11 giles)
    +
    +adds missing Id: lines. (dwnodll.c [1.1.2.2], gdevdsp.h [1.1.2.2],
    +gdevdsp2.h [1.2.2.2], idisp.c [1.2.2.2], zicc.c [1.2.2.2]: 2002/04/10
    +09:33:25 giles)
    +
    +Update the version number in the library as well.
    +(lib/gs_init.ps [1.40.2.9]: 2002/04/15 06:49:43 giles)
    +
    +Committing in . Back-ports from the main stream such that OpenVMS is happy
    +Modified Files: Tag: GS_7_0X gs/src/devs.mak gs/src/gschar0.c
    +gs/src/gserrors.h gs/src/imainarg.c
    +----------------------------------------------------------------------
    +(imainarg.c [1.13.2.3]: 2002/04/18 09:58:45 joukj)
    +
    +Updating licensing information in Windows files. (dwreg.c [1.1.2.2],
    +dwsetup.cpp [1.5.6.2], dwuninst.cpp [1.2.6.2]: 2002/04/20 22:11:39 ghostgum)
    +
    +

    Streams

    +
    +Update banner to the new format common to all releases. References file
    +LICENSE. Note that the $Id: line is not altered by this change.
    +(sa85d.c [1.3.4.1],
    +sa85d.h [1.3.4.1], sa85x.h [1.3.6.1], sarc4.c [1.5.2.1], sarc4.h [1.2.2.1],
    +sbcp.c [1.3.6.1], sbcp.h [1.2.6.1], sbtx.h [1.2.6.1], scanchar.h [1.2.6.1],
    +scantab.c [1.2.6.1], scf.h [1.2.6.1], scfd.c [1.3.4.1], scfe.c [1.2.6.1],
    +scfetab.c [1.2.6.1], scfparam.c [1.2.6.1], scfx.h [1.2.6.1],
    +scommon.h [1.3.4.1], sdcparam.c [1.3.2.1], sdcparam.h [1.2.6.1],
    +sdct.h [1.4.2.1], sdctc.c [1.2.6.1], sdctd.c [1.2.6.1], sdcte.c [1.4.2.1],
    +sddparam.c [1.2.6.1], sdeparam.c [1.4.2.1], seexec.c [1.4.2.1],
    +sfilter.h [1.6.6.1], sfilter2.c [1.3.6.1], sfxboth.c [1.2.6.1],
    +sfxfd.c [1.6.4.1], sfxstdio.c [1.4.6.1], shc.c [1.2.6.1], shc.h [1.2.6.1],
    +siinterp.c [1.2.6.1], siinterp.h [1.2.6.1], siscale.c [1.4.6.1],
    +siscale.h [1.2.6.1], sisparam.h [1.2.6.1], sjpeg.h [1.2.6.1],
    +sjpegc.c [1.4.2.1], sjpegd.c [1.3.2.1], sjpege.c [1.3.2.1],
    +slzwc.c [1.2.6.1], slzwce.c [1.2.6.1], slzwd.c [1.3.4.1], slzwx.h [1.2.6.1],
    +smd5.c [1.3.6.1], smd5.h [1.2.6.1], spdiff.c [1.3.6.1], spdiffx.h [1.2.6.1],
    +spngp.c [1.2.6.1], spngpx.h [1.2.6.1], spprint.c [1.4.2.1],
    +spprint.h [1.3.2.1], spsdf.c [1.5.2.1], spsdf.h [1.2.6.1],
    +srdline.h [1.2.6.1], srld.c [1.2.6.1], srle.c [1.2.6.1], srlx.h [1.3.4.1],
    +sstring.c [1.2.6.1], sstring.h [1.3.4.1], stat_.h [1.6.2.1],
    +std.h [1.4.2.1], stdio_.h [1.4.2.1], stdpre.h [1.4.2.1],
    +stream.c [1.15.2.1], stream.h [1.8.2.1], strimpl.h [1.3.4.1],
    +string_.h [1.2.6.1], szlibc.c [1.3.2.1], szlibd.c [1.3.4.1],
    +szlibe.c [1.2.6.1], szlibx.h [1.2.6.1], szlibxx.h [1.2.6.1]: 2002/02/22
    +19:46:00 ray)
    +
    +Adds support for compilation against a standard shared libjpeg. It is
    +believed that non-baseline compliant DCTEncoded data, permitted by early
    +versions of postscript, is now extremely rare and the prohibition against
    +SHARE_JPEG=1 may reasonably be removed. The autoconf build will prefer a
    +local copy of the jpeg source, in which case the D_MAX_BLOCKS_IN_MCU patch
    +will still be applied. If no such local copy is found, it will try to find a
    +shared library on the system. For all unix builds, if $(JSRCDIR)/jmemsys.h
    +cannot be found, we define DONT_HAVE_JMEMSYS_H and include our own versions
    +of the libjpeg memory manager prototypes. The default allocator in the
    +shared library is overridden by the ghostscript one at link-time. While this
    +may be implementation-dependent, it appears to function as desired on at
    +least GNU/Linux and Solaris. Also changes the autoconf build to prefer local
    +zlib and libpng source, and cleans up some variable names. Patch by Raph
    +Levien from 7.20. (sjpegc.c [1.4.2.2]: 2002/04/10 01:44:27 giles)
    +
    +

    Library

    +
    +Fixes problems:
    +	- The formula for dy6 in Type2 hflex1 instruction was wrong. Source
    +Forge bug #530136 "hflex1 arguments misinterpreted". Thanks to Felix Pahl
    +(fpahl) for spotting this. (gstype2.c [1.10.2.2]: 2002/03/20 20:22:15 igor)
    +	- Fix : Type2 interpreter state was wrongly backed up for sbw
    +fallback. Source Forge bug "[ 541877 ] /invalidfont on Kozuka Mincho". Patch
    +by Igor Melichev, backported from the development tree.
    +(gstype2.c [1.10.2.3]: 2002/04/18 21:10:48 giles)
    +
    +Update banner to the new format common to all releases. References file
    +LICENSE. Note that the $Id: line is not altered by this change.
    +(ctype_.h [1.2.6.1],
    +dirent_.h [1.2.6.1], dos_.h [1.2.6.1], errno_.h [1.2.6.1],
    +fcntl_.h [1.3.6.1], gconf.c [1.2.6.1], gconf.h [1.2.6.1],
    +gdebug.h [1.3.2.1], gdevabuf.c [1.3.6.1], gdevalph.c [1.2.6.1],
    +gdevbbox.c [1.4.2.1], gdevbbox.h [1.2.6.1], gdevcmap.c [1.2.6.1],
    +gdevcmap.h [1.2.6.1], gdevdbit.c [1.2.6.1], gdevddrw.c [1.2.6.1],
    +gdevdflt.c [1.3.6.1], gdevdgbr.c [1.2.6.1], gdevdrop.c [1.3.6.1],
    +gdevemap.c [1.2.6.1], gdevhit.c [1.2.6.1], gdevm1.c [1.2.6.1],
    +gdevm16.c [1.2.6.1], gdevm2.c [1.2.6.1], gdevm24.c [1.2.6.1],
    +gdevm32.c [1.2.6.1], gdevm4.c [1.2.6.1], gdevm8.c [1.2.6.1],
    +gdevmem.c [1.2.6.1], gdevmem.h [1.3.6.1], gdevmpla.c [1.2.6.1],
    +gdevmpla.h [1.2.6.1], gdevmr1.c [1.2.6.1], gdevmr2n.c [1.2.6.1],
    +gdevmr8n.c [1.2.6.1], gdevmrop.h [1.3.6.1], gdevmrun.c [1.2.6.1],
    +gdevmrun.h [1.2.6.1], gdevnfwd.c [1.3.6.1], gdevp14.c [1.4.2.1],
    +gdevpipe.c [1.4.4.1], gdevplnx.c [1.2.6.1], gdevplnx.h [1.2.6.1],
    +gdevppla.c [1.2.6.1], gdevppla.h [1.2.6.1], gdevprn.c [1.5.6.2],
    +gdevprn.h [1.6.6.1], gdevprna.c [1.2.6.1], gdevprna.h [1.2.6.1],
    +gdevpsf.h [1.10.2.1], gdevpsf1.c [1.9.2.1], gdevpsf2.c [1.15.2.1],
    +gdevpsfm.c [1.5.2.1], gdevpsft.c [1.8.2.1], gdevpsfu.c [1.7.2.1],
    +gdevpsfx.c [1.9.2.1], gdevrops.c [1.3.6.1], gdevtrac.c [1.2.6.1],
    +gdevvec.c [1.12.2.2], gdevvec.h [1.7.2.1], gp.h [1.8.2.2],
    +gp_dosfe.c [1.2.6.2], gp_dosfs.c [1.2.6.2], gp_getnv.c [1.2.6.1],
    +gp_msdos.c [1.2.6.1], gp_nsync.c [1.2.6.1], gp_psync.c [1.2.6.1],
    +gp_strdl.c [1.2.6.1], gp_unifn.c [1.2.6.2], gp_unifs.c [1.6.2.1],
    +gpcheck.h [1.2.6.1], gpgetenv.h [1.2.6.1], gpmisc.c [1.9.4.1],
    +gpmisc.h [1.2.6.1], gpsync.h [1.2.6.1], gsalloc.c [1.11.2.1],
    +gsalloc.h [1.2.6.1], gsalpha.c [1.2.6.1], gsalpha.h [1.2.6.1],
    +gsalphac.c [1.2.6.1], gsalphac.h [1.2.6.1], gsargs.c [1.4.2.1],
    +gsargs.h [1.4.2.1], gsbitcom.c [1.1.4.1], gsbitmap.h [1.2.6.1],
    +gsbitops.c [1.3.4.1], gsbitops.h [1.2.6.1], gsbittab.c [1.2.6.1],
    +gsbittab.h [1.2.6.1], gsccode.h [1.4.6.1], gsccolor.h [1.2.6.1],
    +gscdef.c [1.15.2.1], gscdefs.h [1.2.6.1], gscdevn.c [1.6.2.1],
    +gscdevn.h [1.3.6.1], gschar.c [1.3.6.1], gschar.h [1.3.6.1],
    +gschar0.c [1.3.4.1], gscie.c [1.4.2.1], gscie.h [1.3.2.1],
    +gsciemap.c [1.6.2.1], gscindex.h [1.2.6.1], gsclipsr.c [1.2.6.1],
    +gsclipsr.h [1.2.6.1], gscolor.c [1.5.2.1], gscolor.h [1.3.6.1],
    +gscolor1.c [1.4.2.1], gscolor1.h [1.2.6.1], gscolor2.c [1.6.6.1],
    +gscolor2.h [1.3.6.1], gscolor3.c [1.4.6.1], gscolor3.h [1.2.6.1],
    +gscompt.h [1.2.6.1], gscoord.c [1.5.6.1], gscoord.h [1.2.6.1],
    +gscparam.c [1.7.2.1], gscpixel.c [1.3.6.1], gscpixel.h [1.2.6.1],
    +gscpm.h [1.2.6.1], gscrd.c [1.2.6.1], gscrd.h [1.2.6.1], gscrdp.c [1.2.6.1],
    +gscrdp.h [1.2.6.1], gscrypt1.c [1.2.6.1], gscrypt1.h [1.2.6.1],
    +gscscie.c [1.4.2.1], gscsel.h [1.2.6.1], gscsepnm.h [1.2.6.1],
    +gscsepr.c [1.12.2.2], gscsepr.h [1.4.6.1], gscspace.c [1.4.6.1],
    +gscspace.h [1.8.2.1], gscssub.c [1.3.2.1], gscssub.h [1.2.6.1],
    +gsdcolor.h [1.3.6.1], gsdevice.c [1.11.2.1], gsdevice.h [1.3.6.1],
    +gsdevmem.c [1.2.6.1], gsdfilt.c [1.3.2.1], gsdfilt.h [1.2.2.1],
    +gsdparam.c [1.4.6.2], gsdpnext.h [1.2.6.1], gsdps.c [1.2.6.1],
    +gsdps.h [1.2.6.1], gsdps1.c [1.2.6.1], gsdsrc.c [1.2.6.1],
    +gsdsrc.h [1.3.6.1], gserror.h [1.2.6.1], gserrors.h [1.2.6.1],
    +gsexit.h [1.4.2.1], gsfcid.c [1.5.4.1], gsfcmap.c [1.14.2.1],
    +gsfcmap.h [1.4.6.1], gsfemu.c [1.2.6.1], gsflip.c [1.2.6.1],
    +gsflip.h [1.2.6.1], gsfname.c [1.2.6.1], gsfname.h [1.2.6.1],
    +gsfont.c [1.4.4.1], gsfont.h [1.2.6.1], gsfont0.c [1.2.6.1],
    +gsfunc.c [1.4.6.1], gsfunc.h [1.4.6.1], gsfunc0.c [1.5.4.1],
    +gsfunc0.h [1.2.6.1], gsfunc3.c [1.4.6.1], gsfunc3.h [1.2.6.1],
    +gsfunc4.c [1.7.2.1], gsfunc4.h [1.2.6.1], gsgc.h [1.3.2.1],
    +gshsb.c [1.2.6.1], gshsb.h [1.2.6.1], gsht.c [1.2.6.1], gsht.h [1.2.6.1],
    +gsht1.c [1.3.2.1], gsht1.h [1.2.6.1], gshtscr.c [1.6.2.1],
    +gshtx.c [1.2.6.1], gshtx.h [1.2.6.1], gsicc.c [1.5.2.1], gsicc.h [1.3.2.1],
    +gsimage.c [1.4.2.1], gsimage.h [1.2.6.1], gsimpath.c [1.2.6.1],
    +gsinit.c [1.3.2.1]: 2002/02/22 19:45:55 ray)
    +
    +Update banner to the new format common to all releases. References file
    +LICENSE. Note that the $Id: line is not altered by this change.
    +(gsio.h [1.5.2.1],
    +gsiodev.c [1.5.2.1], gsiodevs.c [1.2.6.1], gsipar3x.h [1.3.6.1],
    +gsiparam.h [1.4.6.1], gsiparm2.h [1.2.6.1], gsiparm3.h [1.4.6.1],
    +gsiparm4.h [1.2.6.1], gsistate.c [1.4.6.1], gsjconf.h [1.2.6.1],
    +gslib.c [1.5.2.1], gslib.h [1.2.6.1], gsline.c [1.2.6.1],
    +gsline.h [1.2.6.1], gslparam.h [1.2.6.1], gsmalloc.c [1.3.6.1],
    +gsmalloc.h [1.2.6.1], gsmatrix.c [1.2.6.1], gsmatrix.h [1.2.6.1],
    +gsmdebug.h [1.3.2.1], gsmemlok.c [1.3.6.1], gsmemlok.h [1.2.6.1],
    +gsmemory.c [1.4.2.1], gsmemory.h [1.3.2.1], gsmemraw.h [1.2.6.1],
    +gsmemret.c [1.2.6.1], gsmemret.h [1.2.6.1], gsmisc.c [1.12.2.1],
    +gsnogc.c [1.7.2.1], gsnogc.h [1.2.6.1], gsnorop.c [1.2.6.1],
    +gsnotify.c [1.2.6.1], gsnotify.h [1.2.6.1], gspaint.c [1.2.6.1],
    +gspaint.h [1.2.6.1], gsparam.c [1.4.6.1], gsparam.h [1.8.4.1],
    +gsparam2.c [1.2.6.1], gsparams.c [1.2.6.1], gsparams.h [1.2.6.1],
    +gsparamx.c [1.4.2.1], gsparamx.h [1.3.6.1], gspath.c [1.2.6.1],
    +gspath.h [1.2.6.1], gspath1.c [1.3.4.1], gspath2.h [1.2.6.1],
    +gspcolor.c [1.4.6.1], gspcolor.h [1.2.6.1], gspenum.h [1.2.6.1],
    +gsptype1.c [1.3.2.1], gsptype1.h [1.2.6.1], gsptype2.c [1.5.2.1],
    +gsptype2.h [1.4.2.1], gsrect.h [1.2.6.1], gsrefct.h [1.2.6.1],
    +gsrop.c [1.2.6.1], gsrop.h [1.2.6.1], gsropc.c [1.2.6.1],
    +gsropc.h [1.2.6.1], gsropt.h [1.4.2.1], gsroptab.c [1.2.6.1],
    +gsshade.c [1.4.2.1], gsshade.h [1.3.6.1], gsstate.c [1.11.2.1],
    +gsstate.h [1.2.6.1], gsstruct.h [1.8.2.1], gsstype.h [1.2.6.1],
    +gstext.c [1.6.2.1], gstext.h [1.3.6.1], gstparam.h [1.7.6.1],
    +gstrans.c [1.13.2.1], gstrans.h [1.6.6.1], gstrap.c [1.3.6.1],
    +gstrap.h [1.3.6.1], gstype1.c [1.6.4.1], gstype1.h [1.2.6.1],
    +gstype2.c [1.10.2.1], gstype42.c [1.12.2.1], gstypes.h [1.3.2.1],
    +gsuid.h [1.2.6.1], gsutil.c [1.4.6.2], gsutil.h [1.3.6.2],
    +gsxfont.h [1.2.6.1], gx.h [1.2.6.1], gxacpath.c [1.3.6.1],
    +gxalloc.h [1.6.2.1], gxalpha.h [1.2.6.1], gxarith.h [1.2.6.1],
    +gxband.h [1.2.6.1], gxbcache.c [1.2.6.1], gxbcache.h [1.2.6.1],
    +gxbitfmt.h [1.2.6.1], gxbitmap.h [1.2.6.1], gxbitops.h [1.2.6.1],
    +gxblend.c [1.2.2.1], gxblend.h [1.1.2.1], gxccache.c [1.5.2.1],
    +gxccman.c [1.2.6.1], gxcdevn.h [1.2.6.1], gxchar.c [1.5.2.2],
    +gxchar.h [1.2.6.1], gxchrout.c [1.2.6.1], gxchrout.h [1.2.6.1],
    +gxcht.c [1.3.2.1], gxcid.h [1.3.6.1], gxcie.h [1.3.2.1],
    +gxcindex.h [1.2.6.1], gxclbits.c [1.4.4.1], gxcldev.h [1.4.4.1],
    +gxclfile.c [1.3.2.1], gxclimag.c [1.3.2.1], gxclio.h [1.2.6.1],
    +gxclip.c [1.4.2.1], gxclip.h [1.2.6.1], gxclip2.c [1.3.6.1],
    +gxclip2.h [1.2.6.1], gxclipm.c [1.3.6.1], gxclipm.h [1.2.6.1],
    +gxclipsr.h [1.2.6.1], gxclist.c [1.3.6.1], gxclist.h [1.2.6.1],
    +gxcllzw.c [1.2.6.1], gxclmem.c [1.2.6.1], gxclmem.h [1.2.6.1],
    +gxclpage.c [1.2.6.1], gxclpage.h [1.2.6.1], gxclpath.c [1.9.2.1],
    +gxclpath.h [1.6.6.1], gxclrast.c [1.9.2.1], gxclread.c [1.3.4.1],
    +gxclrect.c [1.2.6.1], gxclutil.c [1.5.2.1], gxclzlib.c [1.2.6.1],
    +gxcmap.c [1.3.6.1], gxcmap.h [1.2.6.1], gxcolor2.h [1.4.6.1],
    +gxcomp.h [1.2.6.1], gxcoord.h [1.2.6.1], gxcpath.c [1.3.6.1],
    +gxcpath.h [1.2.6.1], gxcspace.h [1.4.6.1], gxctable.c [1.3.6.1],
    +gxctable.h [1.2.6.1], gxcvalue.h [1.2.6.1], gxdcconv.c [1.3.6.1],
    +gxdcconv.h [1.2.6.1], gxdcolor.c [1.3.6.1], gxdcolor.h [1.3.6.1],
    +gxdda.h [1.2.6.1], gxdevbuf.h [1.2.6.1], gxdevcli.h [1.5.2.2],
    +gxdevice.h [1.4.6.2], gxdevmem.h [1.2.6.1], gxdevrop.h [1.2.6.1],
    +gxdht.h [1.4.6.1], gxdhtres.h [1.2.6.1], gxdither.c [1.2.6.1],
    +gxdither.h [1.2.6.1], gxfarith.h [1.3.6.1], gxfcache.h [1.2.6.1],
    +gxfcid.h [1.6.6.1], gxfcmap.h [1.8.2.1], gxfill.c [1.8.2.1],
    +gxfixed.h [1.3.4.1], gxfmap.h [1.3.6.1], gxfont.h [1.3.4.1],
    +gxfont0.h [1.3.6.1], gxfont1.h [1.5.4.1], gxfont42.h [1.4.6.1],
    +gxfrac.h [1.3.4.1], gxftype.h [1.2.6.1], gxfunc.h [1.3.6.1],
    +gxgetbit.h [1.2.6.1], gxhint1.c [1.2.6.1], gxhint2.c [1.2.6.1],
    +gxhint3.c [1.3.2.1], gxht.c [1.2.6.1], gxht.h [1.2.6.1],
    +gxhtbit.c [1.3.6.1], gxhttile.h [1.2.6.1], gxhttype.h [1.2.6.1],
    +gxi12bit.c [1.2.6.1], gxiclass.h [1.2.6.1], gxicolor.c [1.3.2.1],
    +gxidata.c [1.4.6.1], gxifast.c [1.4.2.1], gximag3x.c [1.7.6.1],
    +gximag3x.h [1.3.6.1], gximage.c [1.2.6.1], gximage.h [1.2.6.1],
    +gximage1.c [1.5.6.1], gximage2.c [1.2.6.1], gximage3.c [1.6.6.1],
    +gximage3.h [1.4.6.1], gximage4.c [1.3.6.1], gximono.c [1.2.6.1],
    +gxino12b.c [1.2.6.1], gxiodev.h [1.2.6.1], gxiparam.h [1.2.6.1],
    +gxipixel.c [1.2.6.1], gxiscale.c [1.2.6.2], gxistate.h [1.6.6.1],
    +gxline.h [1.2.6.1], gxlum.h [1.2.6.1], gxmatrix.h [1.4.6.1],
    +gxmclip.c [1.2.6.1], gxmclip.h [1.2.6.1], gxobj.h [1.2.6.1],
    +gxop1.h [1.2.6.1], gxp1fill.c [1.2.6.1], gxp1impl.h [1.2.6.1],
    +gxpageq.c [1.2.6.1], gxpageq.h [1.2.6.1], gxpaint.c [1.2.6.1],
    +gxpaint.h [1.2.6.1], gxpath.c [1.2.6.1], gxpath.h [1.2.6.1],
    +gxpath2.c [1.2.6.1], gxpcache.h [1.2.6.1], gxpcmap.c [1.3.6.1],
    +gxpcolor.h [1.2.6.1], gxpcopy.c [1.3.6.1], gxpdash.c [1.2.6.1],
    +gxpflat.c [1.2.6.1], gxropc.h [1.2.6.1], gxrplane.h [1.2.6.1],
    +gxsample.c [1.2.6.1], gxsample.h [1.2.6.1], gxshade.c [1.6.2.1],
    +gxshade.h [1.4.2.1], gxshade1.c [1.9.2.1], gxshade4.c [1.6.2.1],
    +gxshade4.h [1.2.6.1], gxshade6.c [1.3.6.1], gxstate.h [1.2.6.1],
    +gxstdio.h [1.2.6.1], gxstroke.c [1.2.6.1], gxsync.c [1.2.6.1],
    +gxsync.h [1.2.6.1], gxtext.h [1.7.2.1], gxtmap.h [1.2.6.1],
    +gxttf.h [1.2.6.1], gxtype1.c [1.8.4.1], gxtype1.h [1.5.4.1],
    +gxxfont.h [1.2.6.1], gzacpath.h [1.2.6.1], gzcpath.h [1.2.6.1],
    +gzht.h [1.4.4.1], gzline.h [1.2.6.1], gzpath.h [1.3.6.1],
    +gzstate.h [1.5.2.1], jerror_.h [1.2.6.1], malloc_.h [1.2.6.1],
    +math_.h [1.2.6.1], memory_.h [1.2.6.1], pipe_.h [1.2.6.1],
    +time_.h [1.3.2.1], unistd_.h [1.4.2.1], vmsmath.h [1.2.6.1],
    +windows_.h [1.2.6.1]: 2002/02/22 19:45:58 ray)
    +
    +gs_cjk project : gdevpsfm.c did not know about CODE_VALUE_NOTDEF which was
    +introduced by MDRC. Fix by Suzuki Toshiya. Also Fix in HEAD (revision 1.8
    +-> 1.9) by L. Peter Deutsch is included. (gdevpsfm.c [1.5.2.2]:
    +2002/04/02 13:24:12 mpsuzuki)
    +
    +gs_cjk project : handle "cidchar" map correctly. Fix by Suzuki Toshiya.
    +(gsfcmap.c [1.14.2.2]: 2002/04/02 13:27:37 mpsuzuki)
    +
    +gs_cjk project : bugfix for nested FMapType4/5 OCF. Fix by Suzuki Toshiya.
    +(gschar0.c [1.3.4.2]: 2002/04/02 13:29:35 mpsuzuki)
    +
    +gs_cjk project : bugfix for invalid metrics calculation for CIDFontType2.
    +Fix by Masatake Yamato. (gstype42.c [1.12.2.2]: 2002/04/02 13:33:06
    +mpsuzuki)
    +
    +gs_cjk project : cshow bug fix for CIDFontType2. Fix by Hideyuki Suzuki.
    +(gxchar.c [1.5.2.3]: 2002/04/02 13:33:44 mpsuzuki)
    +
    +gs_cjk project: glyph cache bug patch for vertical writing mode. Fallback
    +against inconsistency in double checking of glyph cache. The inconsistency
    +causes misplacement of CJK glyph in vertical writing mode. Fix by Hideo
    +Saito. (gxchar.c [1.5.2.4], gxchar.h [1.2.6.2]: 2002/04/02 13:35:00
    +mpsuzuki)
    +
    +gs_cjk project : glyphshow in vertical writing mode bug patch. Originally,
    +FontBBox_as_Metrics2 was set when charcode string is decoded into CIDs.
    +"glyphshow" bypasses such decoding procedure, thus FontBBox_as_Metrics2 is
    +not set. Fix by Masatake Yamato. (gstext.c [1.6.2.2]: 2002/04/02 13:42:10
    +mpsuzuki)
    +
    +gs-cjk project : move definition "cc" to the scope that it is used. Fix by
    +Suzuki Toshiya. (gxchar.c [1.5.2.5]: 2002/04/02 13:52:29 mpsuzuki)
    +
    +Add multiple inclusion protection to headers files which were missing it.
    +(gsdfilt.h [1.2.2.2], jerror_.h [1.2.6.2]: 2002/04/10 09:13:11 giles)
    +
    +mark this as a GNU version and bump the release number (gscdef.c [1.15.2.2]:
    +2002/04/15 05:47:56 giles)
    +
    +disable the new auto-bold and auto-slant functions for non-cid fonts,
    +pending improved detection of when this is necessary. (gscdef.c [1.15.2.3]:
    +2002/04/16 06:11:29 giles)
    +
    +revert bad licensing change accidentally included in the last commit.
    +(gscdef.c [1.15.2.4]: 2002/04/16 06:12:42 giles)
    +
    +Committing in . Back-ports from the main stream such that OpenVMS is happy
    +Modified Files: Tag: GS_7_0X gs/src/devs.mak gs/src/gschar0.c
    +gs/src/gserrors.h gs/src/imainarg.c
    +----------------------------------------------------------------------
    +(gschar0.c [1.3.4.3], gserrors.h [1.2.6.2]: 2002/04/18 09:58:45 joukj)
    +
    +

    Other

    +
    +Fixes problems:
    +	- Fixes the gdevx.o command line in the case when AC_PATH_X sets
    +x_includes to the empty string. Fixes SF #530429. (Makefile.in [1.1.4.4],
    +configure.ac [1.4.4.4]: 2002/03/28 19:35:58 raph)
    +	- Uses a default 'src' setting for PSRCDIR in the autoconf build
    +with a shared libpng, as we do with zlib, preventing compiler confusion from
    +empty -I lines. Partial fix for SF bug #514898. (configure.ac [1.4.4.5]:
    +2002/03/28 20:37:33 giles)
    +	- improves X11 path settings in the autoconf build. We use
    +AC_PATH_XTRA instead of the previous "is it null" hack with AC_PATH_X. The
    +new macro also defines some additional libraries that may need to be
    +included. We currently don't use this information. (Makefile.in [1.1.4.5],
    +configure.ac [1.4.4.6]: 2002/03/28 20:41:25 giles)
    +
    +Update banner to the new format common to all releases. References file
    +LICENSE. Note that the $Id: line is not altered by this change.
    +(Makefile.in [1.1.4.3],
    +gp_mswin.h [1.4.2.1], gsdll.h [1.3.2.1], gsdllos2.h [1.2.6.1],
    +gsdllwin.h [1.3.2.1]: 2002/02/22 19:45:55 ray)
    +
    +Update banner to the new format common to all releases. References file
    +LICENSE. Note that the $Id: line is not altered by this change.
    +(gsjmorec.h [1.3.4.1],
    +gspmdrv.h [1.2.6.1], iutilasm.asm [1.2.6.1]: 2002/02/22 19:45:58 ray)
    +
    +Replace Windows icons with new versions that include 48x48 pixel and 32-bit
    +versions for Windows XP. Change the 16x16 pixel icons to use the full 'g'
    +instead of just the head. Use a restricted icon gswin16.ico for WinZip SE
    +which can't handle the new icon. (gswin.icx [1.1.2.1]: 2002/03/30 01:33:03
    +ghostgum)
    +
    +Replace Windows icons with new versions that include 48x48 pixel and 32-bit
    +versions for Windows XP. Change the 16x16 pixel icons to use the full 'g'
    +instead of just the head. Use a restricted icon gswin16.ico for WinZip SE
    +which can't handle the new icon. (gswin16.icx [1.1.2.1]: 2002/03/30 01:34:00
    +ghostgum)
    +
    +Propagate autoconf build updates from HEAD: Allow shared jpeg since
    +non-baseline dctencoded data is now vanishingly rare. Prefer local source of
    +libjpeg, libpng and zlib to shared versions if it's available. Add the
    +standard gcc cflags only if we're using gcc and it don't error on them. Also
    +look for current-version-named third-party libraries to save a step.
    +(Makefile.in [1.1.4.6], configure.ac [1.4.4.7]: 2002/04/09 21:18:27 giles)
    +
    +Add multiple inclusion protection to headers files which were missing it.
    +(gsdll.h [1.3.2.2]: 2002/04/10 09:13:11 giles)
    +
    +adds missing Id: lines. (gp_mac.h [1.1.4.1], macsysstat.h [1.1.4.1],
    +macsystypes.h [1.1.4.1], vms_x_fix.h [1.1.2.1]: 2002/04/10 09:33:26 giles)
    +
    +Adds the LICENSE file, containing a copy of the GNU GPL.
    +(LICENSE [1.1.2.1]: 2002/04/15 05:38:45 giles)
    +
    +Upgrade icclib to (proposed) 2.01 release. Patch has been sent to Graeme
    +Gill for consideration. (icclib/icc.c [1.6.2.1], icclib/icc.h [1.4.2.1],
    +icclib/icc9809.h [1.2.2.1]: 2002/04/18 18:20:16 raph)
    +
    +Removes trailing comma in enum. (icclib/icc.h [1.4.2.2]: 2002/04/18 20:29:14
    +raph)
    +
    +Update libpng version numbers to the latest 1.2.2. (configure.ac [1.4.4.8]:
    +2002/04/19 06:32:22 giles)
    +
    +Add the 'stp' driver from the gimp-print project, and compile it in by
    +default from the autoconf build if libgimprint is found.
    +(Makefile.in [1.1.4.7], configure.ac [1.4.4.9]: 2002/04/19 22:23:09 giles)
    +
    +Update to the latest cvs version of ijs. Source files now properly include
    +the MIT license header. (ijs/Makefile.in [1.1.2.2], ijs/README [1.1.2.2],
    +ijs/ijs.c [1.1.2.2], ijs/ijs.h [1.1.2.2], ijs/ijs_client.c [1.1.2.2],
    +ijs/ijs_client.h [1.1.2.2], ijs/ijs_client_example.c [1.1.2.2],
    +ijs/ijs_exec_unix.c [1.1.2.2], ijs/ijs_exec_win.c [1.1.2.2],
    +ijs/ijs_server.c [1.1.2.2], ijs/ijs_server.h [1.1.2.2],
    +ijs/ijs_server_example.c [1.1.2.2], ijs/ijs_spec.sgml [1.1.2.2],
    +ijs/unistd_.h [1.1.2.2]: 2002/04/22 17:53:36 giles)
    +
    +update icclib to the 2.02 release (icclib/Licence.txt [1.1.2.1],
    +icclib/Readme.txt [1.1.2.1], icclib/icc.c [1.6.2.2], icclib/icc.h [1.4.2.3]:
    +2002/04/22 18:17:47 giles)
    +
    +Update the ijs source to the latest 0.34 release.
    +(ijs/Makefile.in [1.1.2.3], ijs/configure.in [1.1.2.2],
    +ijs/ijs_spec.pdf [1.1.2.2], ijs/ijs_spec.sgml [1.1.2.3]: 2002/04/23 01:23:33
    +giles)
    +
    +Add new license header to some files.
    +(gp_mac.h [1.1.4.2], macsysstat.h [1.1.4.2], macsystypes.h [1.1.4.2]:
    +2002/04/23 01:32:26 giles)
    +
    +
    + +

    Version 7.04 (2002-01-30)

    + +

    +This is a security update of Ghostscript. A number of maintenance +fixes and new features have been added. + +

    Major changes include: + +

      +
    • A rather serious security hole, where PostScript code could cause +arbitrary commands to be executed, has been patched. + +
    • There is also a new -DPARANOIDSAFER option, which locks down +reading of arbitrary files. + +
    • This release integrates the IJS driver, which makes it much easier +to add and upgrade printer drivers without needing to recompile +Ghostscript. + +
    • There is a configure script for automatically configuring the +makefile on Unix platforms. Those who enjoy the fun of hand-editing +the makefile are still welcome to do so. + +
    • The usual bug fixes. + +
    + +

    +The following SourceForge bug numbers are currently open: (todo) + +

    Incompatible changes

    + +

    +No incompatible changes have been recorded for this version. Authors +of drivers with potential security implications are encouraged to review +the security changes, however. + +

    +
    +
    +
    +

    Documentation

    +
    +Fixes problems:
    +	- Improve security in a (mostly) backward compatible fashion adding
    +more flexible file access paths (PermitFile...) as user paramters and adding
    +the facility to return to NOSAFER mode after running jobs (files/procedures)
    +in SAFER mode. Also adds a -dPARANOIDSAFER command line option that only
    +allows reading files from %stdin, paths specified on LIBPATH, FONTPATH and
    +/GenericResourceDir or /FontResourceDir. Improve security for device related
    +access to the file system and to pipes by allowing the dangerous parameters
    +to be locked (for example, OutputFile). The locking is performed after
    +command line parameters are established. This should address SF bug #474582
    +and eliminate the need for the RedHat PARANOIDSAFER patch.
    +(doc/Language.htm [1.34.2.1], doc/Use.htm [1.33.2.1]: 2002/01/25 06:33:08
    +rayjj)
    +
    +Removes the admonishment to update PVERSION and JVERSION from the Makefile
    +documentation. The build dependencies were removed earlier to reduce user
    +confusion; they're currently vestigial in expectation of future build
    +requirements. This is the second half of the fix for sf bug #457838.
    +(doc/Make.htm [1.36.2.1]: 2001/10/24 22:29:29 giles)
    +
    +Adds a link to the v7.xx history files. (doc/News.htm [1.90.2.2]: 2001/10/24
    +22:32:18 giles)
    +
    +Adds basic autoconf support to the build system. (doc/Make.htm [1.36.2.2],
    +doc/Release.htm [1.40.2.1]: 2002/01/24 01:30:56 giles)
    +
    +Adds a new documentation section on display devices along with a basic
    +description of the x11 devices. (doc/Devices.htm [1.34.2.1]: 2002/01/30
    +07:36:09 giles)
    +
    +Minor change from 'search' to 'filenameforall' in discussion about the
    +wildcard characters in PermitFile... strings. (doc/Language.htm [1.34.2.2]:
    +2002/01/31 17:36:56 rayjj)
    +
    +Version number upgrade and minor documentation patch in preparation for 7.04
    +release. (doc/API.htm [1.11.2.1], doc/Bug-form.htm [1.23.2.1],
    +doc/Bug-info.htm [1.20.2.1], doc/C-style.htm [1.21.2.1],
    +doc/Changes.htm [1.28.2.2], doc/Commprod.htm [1.15.2.1],
    +doc/Copying.htm [1.13.2.1], doc/Current.htm [1.13.2.1],
    +doc/DLL.htm [1.15.2.1], doc/Develop.htm [1.47.2.1],
    +doc/Devices.htm [1.34.2.2], doc/Drivers.htm [1.21.2.1],
    +doc/Fonts.htm [1.22.2.1], doc/Helpers.htm [1.17.2.1],
    +doc/History1.htm [1.13.2.1], doc/History2.htm [1.13.2.1],
    +doc/History3.htm [1.13.2.1], doc/History4.htm [1.13.2.1],
    +doc/History5.htm [1.15.2.1], doc/History6.htm [1.30.2.1],
    +doc/History7.htm [1.5.2.2], doc/Htmstyle.htm [1.18.2.1],
    +doc/Install.htm [1.26.2.1], doc/Issues.htm [1.15.2.1],
    +doc/Language.htm [1.34.2.3], doc/Lib.htm [1.14.2.1],
    +doc/Maintain.htm [1.23.2.1], doc/Make.htm [1.36.2.3],
    +doc/New-user.htm [1.30.2.1], doc/News.htm [1.90.2.3], doc/PUBLIC [1.5.2.1],
    +doc/Projects.htm [1.33.2.1], doc/Ps-style.htm [1.13.2.1],
    +doc/Ps2epsi.htm [1.15.2.1], doc/Ps2pdf.htm [1.32.2.1],
    +doc/Psfiles.htm [1.22.2.1], doc/README [1.12.2.1],
    +doc/Readme.htm [1.31.2.1], doc/Release.htm [1.40.2.2],
    +doc/Source.htm [1.13.2.1], doc/Tester.htm [1.14.2.1],
    +doc/Unix-lpr.htm [1.13.2.1], doc/Use.htm [1.33.2.2],
    +doc/Xfonts.htm [1.13.2.1], doc/gs-vms.hlp [1.12.2.1],
    +man/dvipdf.1 [1.10.2.1], man/font2c.1 [1.10.2.1], man/gs.1 [1.10.2.1],
    +man/gslp.1 [1.10.2.1], man/gsnd.1 [1.10.2.1], man/pdf2dsc.1 [1.10.2.1],
    +man/pdf2ps.1 [1.12.2.1], man/pdfopt.1 [1.10.2.1], man/pf2afm.1 [1.10.2.1],
    +man/pfbtopfa.1 [1.11.2.1], man/printafm.1 [1.10.2.1],
    +man/ps2ascii.1 [1.10.2.1], man/ps2epsi.1 [1.10.2.1],
    +man/ps2pdf.1 [1.14.2.1], man/ps2pdfwr.1 [1.13.2.1], man/ps2ps.1 [1.17.2.1],
    +man/wftopfa.1 [1.10.2.1]: 2002/02/01 03:25:43 raph)
    +
    +Adds IJS driver to Ghostscript. Includes complete IJS version 0.33
    +distribution. Also includes autoconf patch by Ralph Giles.
    +(doc/Develop.htm [1.47.2.2], doc/Devices.htm [1.34.2.3]: 2002/02/01 03:30:14
    +raph)
    +
    +

    Procedures

    +
    +Fixes problems:
    +	- the icclib makefile comments were out of date; the build rule
    +referred to gs_stdio_h, which no longer exists; the build rule for gsicc.o
    +referred to icc_h, which was not defined at that point. patch originally by
    +lpd, propagated from the development branch. (gs.mak [1.5.2.1],
    +icclib.mak [1.3.2.1], lib.mak [1.53.2.1]: 2001/10/26 00:15:30 giles)
    +	- Fix for #474544. Corrects inability to convert valid DeviceN tint
    +transform functions into type 4 functions. Valid operator names were not
    +being recognized unless the tint transform function had been bound. One of
    +two fixes required for this problem. Customer #710. (int.mak [1.50.2.1]:
    +2002/01/17 02:59:35 dancoby)
    +	- Fix for #474544. This is the second of two fixes required for this
    +problem. This fix creates a type 0 function which implements a "color cube"
    +for those tint transform functions which cannot be converted into a type 4
    +function. Customer #710. Note: There is one more revision planned for this
    +effort. This revision will make the buildcolorcube operator into a more
    +general buildsampledfunction. This will allow its use in other situations.
    +(int.mak [1.50.2.2]: 2002/01/17 06:57:55 dancoby)
    +
    +Version number upgrade and minor documentation patch in preparation for 7.04
    +release. (all-arch.mak [1.9.2.1], bcwin32.mak [1.12.2.1],
    +dvx-gcc.mak [1.12.2.1], libpng.mak [1.10.2.1], macos-mcp.mak [1.3.2.1],
    +msvc32.mak [1.20.2.1], msvclib.mak [1.16.2.1], openvms.mak [1.16.2.1],
    +os2.mak [1.19.2.1], ugcclib.mak [1.13.2.1], unix-gcc.mak [1.23.2.1],
    +unixansi.mak [1.16.2.1], version.mak [1.36.2.1], watc.mak [1.16.2.1],
    +watclib.mak [1.13.2.1], watcw32.mak [1.13.2.1]: 2002/02/01 03:25:45 raph)
    +
    +Adds IJS driver to Ghostscript. Includes complete IJS version 0.33
    +distribution. Also includes autoconf patch by Ralph Giles.
    +(bcwin32.mak [1.12.2.2], devs.mak [1.47.2.1], dvx-gcc.mak [1.12.2.2],
    +gs.mak [1.5.2.2], ijs.mak [1.2.2.1], macos-mcp.mak [1.3.2.2],
    +msvc32.mak [1.20.2.2], openvms.mak [1.16.2.2], os2.mak [1.19.2.2],
    +ugcclib.mak [1.13.2.2], unix-gcc.mak [1.23.2.2], unixansi.mak [1.16.2.2],
    +watclib.mak [1.13.2.2], watcw32.mak [1.13.2.2], wctail.mak [1.3.2.1],
    +winlib.mak [1.12.2.1]: 2002/02/01 03:30:13 raph)
    +
    +

    Utilities

    +
    +Fixes problems:
    +	- Incorporate patch from Tim Waugh of RedHat to allow ps2pdfwr to
    +correctly process files with spaces in their names. Peter's earlier fix
    +missed a few enclosing "'s for output files. Fixes Sourceforge bug #505338.
    +(lib/ps2pdfwr [1.6.2.1]: 2002/01/22 21:34:04 jackiem)
    +	- Improve security in a (mostly) backward compatible fashion adding
    +more flexible file access paths (PermitFile...) as user paramters and adding
    +the facility to return to NOSAFER mode after running jobs (files/procedures)
    +in SAFER mode. Also adds a -dPARANOIDSAFER command line option that only
    +allows reading files from %stdin, paths specified on LIBPATH, FONTPATH and
    +/GenericResourceDir or /FontResourceDir. Improve security for device related
    +access to the file system and to pipes by allowing the dangerous parameters
    +to be locked (for example, OutputFile). The locking is performed after
    +command line parameters are established. This should address SF bug #474582
    +and eliminate the need for the RedHat PARANOIDSAFER patch.
    +(gp_macio.c [1.2.4.1], gp_ntfs.c [1.5.2.1], gp_os2.c [1.10.2.1],
    +gp_vms.c [1.7.2.1]: 2002/01/25 06:33:09 rayjj)
    +
    +Replaces references of 'FontManagerLib' with 'FontManager' to match the
    +Universal Headers stub shipped with Metrowerks CW 6.3.
    +(macgenmcpxml.sh [1.1.4.1]: 2001/11/02 02:31:21 giles)
    +
    +Disables the 'unused arguments' warning with the Metrowerks Codewarrior 6.3
    +Compiler. We have many of these by design and it's responsible for a large
    +number of warnings on that platform. (macgenmcpxml.sh [1.1.4.2]: 2001/11/02
    +02:33:21 giles)
    +
    +

    Drivers

    +
    +Fixes problems:
    +	- Improve security in a (mostly) backward compatible fashion adding
    +more flexible file access paths (PermitFile...) as user paramters and adding
    +the facility to return to NOSAFER mode after running jobs (files/procedures)
    +in SAFER mode. Also adds a -dPARANOIDSAFER command line option that only
    +allows reading files from %stdin, paths specified on LIBPATH, FONTPATH and
    +/GenericResourceDir or /FontResourceDir. Improve security for device related
    +access to the file system and to pipes by allowing the dangerous parameters
    +to be locked (for example, OutputFile). The locking is performed after
    +command line parameters are established. This should address SF bug #474582
    +and eliminate the need for the RedHat PARANOIDSAFER patch.
    +(gdevcgm.c [1.2.6.1], gdevmac.c [1.1.4.1]: 2002/01/25 06:33:09 rayjj)
    +	- Removes broken x11alpha driver, and installs an alias for x11
    +under that name, with default parameters changed to support antialiasing.
    +Fixes SourceForge bug #505692. (gdevx.c [1.8.2.1], gdevxalt.c [1.2.6.1]:
    +2002/01/30 20:09:26 raph)
    +
    +Don't allocate memory or call callbacks when display device does not have a
    +callback function. (gdevdsp.c [1.5.2.1]: 2001/12/18 07:09:17 ghostgum)
    +
    +Adds IJS driver to Ghostscript. Includes complete IJS version 0.33
    +distribution. Also includes autoconf patch by Ralph Giles.
    +(gdevijs.c [1.1.2.1]: 2002/02/01 03:30:13 raph)
    +
    +

    PDF Interpreter

    +
    +Fixes problems:
    +	- T* applied the leading horizontally when using a font in vertical
    +writing mode, but the PDF Reference says the leading is always applied
    +vertically. (lib/pdf_ops.ps [1.17.2.1]: 2001/12/22 07:34:23 masata-y)
    +
    +

    Interpreter

    +
    +Fixes problems:
    +	- Some gsapi functions were not passing the user_errors argument to
    +the corresponding gs_main_run_string_* functions, and instead, these
    +functions were passing 0. (iapi.c [1.1.2.1]: 2002/01/03 20:20:38 jackiem)
    +	- ifont.h requires gsmatix.h and gxfont.h for clean compilation. Not
    +having them was a warning on gcc, but an error on Borland CBuilder 5.5.
    +Thanks to Rod Webster for the fix. Closes Sourceforge bug #474246.
    +(iccfont.c [1.2.6.1]: 2002/01/09 21:52:04 giles)
    +	- ReleaseDC was missed in Windows client applications. SourceForge
    +bug #499903. (dwmain.c [1.6.2.1], dwmainc.c [1.8.2.1]: 2002/01/16 21:07:16
    +igorm)
    +	- Fix for #474544. Corrects inability to convert valid DeviceN tint
    +transform functions into type 4 functions. Valid operator names were not
    +being recognized unless the tint transform function had been bound. One of
    +two fixes required for this problem. Customer #710. (ifunc.h [1.3.6.1],
    +zfunc.c [1.6.6.1], zfunc0.c [1.3.6.1], zfunc3.c [1.2.6.1],
    +zfunc4.c [1.7.4.1], zshade.c [1.4.6.1]: 2002/01/17 02:59:35 dancoby)
    +	- Fix for #474544. This is the second of two fixes required for this
    +problem. This fix creates a type 0 function which implements a "color cube"
    +for those tint transform functions which cannot be converted into a type 4
    +function. Customer #710. Note: There is one more revision planned for this
    +effort. This revision will make the buildcolorcube operator into a more
    +general buildsampledfunction. This will allow its use in other situations.
    +(ifunc.h [1.3.6.2], lib/gs_lev2.ps [1.7.2.1], zccube.c [1.1.2.1],
    +zcsdevn.c [1.5.2.1], zfunc.c [1.6.6.2]: 2002/01/17 06:57:55 dancoby)
    +	- Improve security in a (mostly) backward compatible fashion adding
    +more flexible file access paths (PermitFile...) as user paramters and adding
    +the facility to return to NOSAFER mode after running jobs (files/procedures)
    +in SAFER mode. Also adds a -dPARANOIDSAFER command line option that only
    +allows reading files from %stdin, paths specified on LIBPATH, FONTPATH and
    +/GenericResourceDir or /FontResourceDir. Improve security for device related
    +access to the file system and to pipes by allowing the dangerous parameters
    +to be locked (for example, OutputFile). The locking is performed after
    +command line parameters are established. This should address SF bug #474582
    +and eliminate the need for the RedHat PARANOIDSAFER patch.
    +(icontext.c [1.6.6.1], icstate.h [1.4.6.1], imainarg.c [1.13.2.1],
    +iutil2.c [1.2.6.1], iutil2.h [1.2.6.1], lib/gs_fonts.ps [1.13.2.1],
    +lib/gs_init.ps [1.40.2.2], lib/gs_lev2.ps [1.7.2.2],
    +lib/gs_setpd.ps [1.8.2.1], zcontrol.c [1.3.6.1], zdevice.c [1.3.6.1],
    +zdevice2.c [1.4.2.1], zfile.c [1.11.2.1], zusparam.c [1.3.6.1],
    +zvmem.c [1.3.2.1]: 2002/01/25 06:33:09 rayjj)
    +	- .locksafe is not supposed to change the PermitFileWriting and
    +PermitFileControl paths (was setting them to empty arrays).
    +(lib/gs_init.ps [1.40.2.3]: 2002/01/31 17:39:07 rayjj)
    +
    +Change the unstopped error handler to print the operand stack in the same
    +order as the normal error handler, with the top of the stack at the right.
    +Fixes Sourceforge bug #496440. (lib/gs_init.ps [1.40.2.1]: 2002/01/10
    +02:41:01 ghostgum)
    +
    +Version number upgrade and minor documentation patch in preparation for 7.04
    +release. (lib/gs_init.ps [1.40.2.4]: 2002/02/01 03:25:45 raph)
    +
    +

    Library

    +
    +Fixes problems:
    +	- Change show_enum pointer enumeration to properly enumerate
    +underlying gs_text_enum structure. (gxchar.c [1.5.2.1]: 2001/10/26 16:35:25
    +raph)
    +	- Image Type 4 images processed with the Interpolate turned on (as
    +from -dDOINTERPOLATE) left an uninitialized variable that could cause
    +extensive slowdown. Fix for SourceForge bug #491308 for Artifex customer
    +671. (gxiscale.c [1.2.6.1]: 2001/12/14 19:16:04 rayjj)
    +	- Improve security in a (mostly) backward compatible fashion adding
    +more flexible file access paths (PermitFile...) as user paramters and adding
    +the facility to return to NOSAFER mode after running jobs (files/procedures)
    +in SAFER mode. Also adds a -dPARANOIDSAFER command line option that only
    +allows reading files from %stdin, paths specified on LIBPATH, FONTPATH and
    +/GenericResourceDir or /FontResourceDir. Improve security for device related
    +access to the file system and to pipes by allowing the dangerous parameters
    +to be locked (for example, OutputFile). The locking is performed after
    +command line parameters are established. This should address SF bug #474582
    +and eliminate the need for the RedHat PARANOIDSAFER patch.
    +(gdevprn.c [1.5.6.1], gdevvec.c [1.12.2.1], gp.h [1.8.2.1],
    +gp_dosfe.c [1.2.6.1], gp_dosfs.c [1.2.6.1], gp_unifn.c [1.2.6.1],
    +gsdparam.c [1.4.6.1], gsutil.c [1.4.6.1], gsutil.h [1.3.6.1],
    +gxdevcli.h [1.5.2.1], gxdevice.h [1.4.6.1]: 2002/01/25 06:33:09 rayjj)
    +
    +

    Other

    +
    +Adds basic autoconf support to the build system. (.cvsignore [1.2.2.1],
    +Makefile.in [1.1.4.1], autogen.sh [1.3.4.1], configure.ac [1.4.4.1]:
    +2002/01/24 01:30:56 giles)
    +
    +Adds IJS driver to Ghostscript. Includes complete IJS version 0.33
    +distribution. Also includes autoconf patch by Ralph Giles.
    +(Makefile.in [1.1.4.2], configure.ac [1.4.4.2]: 2002/02/01 03:30:13 raph)
    +
    +
    + +

    Version 7.03 (2001-10-20)

    + +

    +This is a fully tested, stable release of Ghostscript. It fixes quite a +few issues with 7.02. + +

    Major changes include: + +

      +
    • Integration of icclib 2.0. + +
    • There was at least one embarassing pdfwrite bug, now fixed. + +
    • Significant shading speedups, especially for worst-case files +such as Coons01.ps. + +
    • The stdio logic is a lot more robust. 7.02 had some problems, +especially with trying to set stdin to non-blocking. + +
    • The usual bug fixes. In particular, regression testing against +7.00 shows only one serious regression (035-01.ps), and numerous +progressions. + +
    + +

    +The following SourceForge bug numbers are currently open: 215256, +219798, 222727, 226477, 405342, 406689, 406979, 407342, 414947, +414985, 415016, 415142, 415170, 416131, 416830, 418241, 421057, +422532, 423838, 427193, 427314, 427347, 428891, 428973, 432040, +432657, 434277, 434707, 436099, 436897, 437285, 438679, 438957, +443745, 444791, 446344, 446672, 448199, 450663, 451456, 452155, +453969, 457838, 458261, 458500, 458769, 458775, 458780, 462221, +465720, 465921, 465936, 468386, 468762, 469518, 472681, 473305. + +

    Incompatible changes

    + +

    +No incompatible changes have been recorded for this version. + +

    +
    +
    +
    +

    Documentation

    +
    +Fixes problems:
    +	- Add new Windows and Unix platform files to developer
    +documentation. (doc/Develop.htm [1.46]: 2001/09/23 08:54:03 ghostgum)
    +	- Adds a -dNOCCFONTS switch to disable use of compiled-in fonts.
    +(doc/Use.htm [1.32]: 2001/10/01 05:25:55 lpd)
    +	- Added potential workaround for DCTEncode filter problem where the
    +image has less rows than requested. (doc/Issues.htm [1.13]: 2001/10/03
    +17:24:23 jackiem)
    +	- Fixes reference counting for PDF 1.4 device filter stack.
    +Temporary patch to not free PDF 1.4 marking device for images (it was being
    +freed prematurely). (doc/Issues.htm [1.14]: 2001/10/17 17:28:10 raph)
    +	- Syncs with hpijs version 0.97, and fixes a documentation bug.
    +(doc/Devices.htm [1.33]: 2001/10/19 04:20:08 raph)
    +	- Documentation and version number change in preparation for 7.03
    +release. (doc/API.htm [1.11], doc/Bug-form.htm [1.23],
    +doc/Bug-info.htm [1.20], doc/C-style.htm [1.21], doc/Commprod.htm [1.15],
    +doc/Copying.htm [1.13], doc/Current.htm [1.13], doc/DLL.htm [1.15],
    +doc/Develop.htm [1.47], doc/Devices.htm [1.34], doc/Drivers.htm [1.21],
    +doc/Fonts.htm [1.22], doc/Helpers.htm [1.17], doc/History1.htm [1.13],
    +doc/History2.htm [1.13], doc/History3.htm [1.13], doc/History4.htm [1.13],
    +doc/History5.htm [1.15], doc/History6.htm [1.30], doc/History7.htm [1.4],
    +doc/Htmstyle.htm [1.18], doc/Install.htm [1.26], doc/Issues.htm [1.15],
    +doc/Language.htm [1.34], doc/Lib.htm [1.14], doc/Maintain.htm [1.23],
    +doc/Make.htm [1.36], doc/New-user.htm [1.30], doc/News.htm [1.89],
    +doc/Projects.htm [1.33], doc/Ps-style.htm [1.13], doc/Ps2epsi.htm [1.15],
    +doc/Ps2pdf.htm [1.32], doc/Psfiles.htm [1.22], doc/README [1.12],
    +doc/Readme.htm [1.31], doc/Release.htm [1.40], doc/Source.htm [1.13],
    +doc/Tester.htm [1.14], doc/Unix-lpr.htm [1.13], doc/Use.htm [1.33],
    +doc/Xfonts.htm [1.13], doc/gs-vms.hlp [1.12], man/dvipdf.1 [1.10],
    +man/font2c.1 [1.10], man/gs.1 [1.10], man/gslp.1 [1.10], man/gsnd.1 [1.10],
    +man/pdf2dsc.1 [1.10], man/pdf2ps.1 [1.12], man/pdfopt.1 [1.10],
    +man/pf2afm.1 [1.10], man/pfbtopfa.1 [1.11], man/printafm.1 [1.10],
    +man/ps2ascii.1 [1.10], man/ps2epsi.1 [1.10], man/ps2pdf.1 [1.14],
    +man/ps2pdfwr.1 [1.13], man/ps2ps.1 [1.17], man/wftopfa.1 [1.10]: 2001/10/20
    +08:44:30 raph)
    +
    +

    Procedures

    +
    +Fixes problems:
    +	- cvs2hist no longer worked in Python 2.1 and later: the regex and
    +regsub modules were superseded by re, and append() no longer accepted
    +multiple arguments to create a tuple. The fixes are backward compatible for
    +all versions of Python from 1.5 on. (toolbin/cvs2hist.py [1.7]: 2001/09/23
    +04:45:10 lpd)
    +	- The previous update to make cvs2hist use Python's re module rather
    +than the obsolete regex and regsub modules didn't change the code to use
    +match objects when necessary. Finishes fixing SourceForge #462777.
    +(toolbin/cvs2hist.py [1.8]: 2001/09/23 20:43:16 lpd)
    +	- Some print statements for debugging were accidentally left in the
    +code. (toolbin/cvs2hist.py [1.9]: 2001/09/23 21:05:12 lpd)
    +	- Committing in . Modified Files: gs/src/gp_stdia.c
    +gs/src/openvms.mmk gs/src/ziodevs.c patches for OpenVMS (openvms.mmk [1.10]:
    +2001/09/24 10:47:06 joukj)
    +	- Fixes for stdin as a result of using callouts. Use unbuffered
    +read, not non-blocking read. Change gp_stdin_read to use file pointer not
    +handle. Remove gp_stdin_init since we don't need to set non-blocking. Change
    +gp_stdin.c to use fread/fwrite to be more portable. Flush redirected stdout
    +correctly. Added casts to fix compiler warnings in dxmain.c. Corrected
    +header dependencies. Fixes SourceForge bug #467787. (dvx-tail.mak [1.5],
    +macos-mcp.mak [1.3], openvms.mak [1.16], openvms.mmk [1.11], os2.mak [1.19],
    +unix-aux.mak [1.5], watc.mak [1.16], winlib.mak [1.12]: 2001/10/12 21:37:08
    +ghostgum)
    +	- Committing in . Modified Files: gs/src/openvms.mmk OpenVMS needs
    +target : sources ^ this space is realy needed. Otherwise MMS/MMK chokes on
    +it!!!! (openvms.mmk [1.12]: 2001/10/15 10:24:21 joukj)
    +	- When building gsx and gsc, use the GS makefile macro as the shared
    +library name to link against, not a hard coded gs. (unix-dll.mak [1.6]:
    +2001/10/17 10:11:23 ghostgum)
    +	- Removes cheq.ps from list of example files installed.
    +(unixinst.mak [1.20]: 2001/10/17 19:48:36 raph)
    +	- uses concrete color space of alternate color space, rather than
    +simply alternate color space, to determine target color space for
    +concretizing /All colors. Fixes regression of non-sepqxd2distiller.pdf, for
    +which those color spaces differed. (gscsepr.c [1.13]: 2001/10/21 06:02:21
    + raph)
    +	- Updates icclib to version 2.0, and integrates icclib changes. In
    +particular, icclib now accesses Ghostscript streams through the clean
    +icmFile object interface, rather than previous hack. Removes remnants of
    +previous hack, including gs_stdio.h header file and sread() and swrite()
    +functions in stream.c. (lib.mak [1.53]: 2001/10/19 21:52:50 raph)
    +	- Documentation and version number change in preparation for 7.03
    +release. (version.mak [1.36]: 2001/10/20 08:44:31 raph)
    +	- Updates default MSVC_VERSION to 6. (msvc32.mak [1.20]: 2001/10/20
    +08:45:39 raph)
    +
    +

    Utilities

    +
    +Fixes problems:
    +	- Committing in . Modified Files: gs/src/gp_stdia.c
    +gs/src/openvms.mmk gs/src/ziodevs.c patches for OpenVMS (gp_stdia.c [1.2],
    +ziodevs.c [1.4]: 2001/09/24 10:47:06 joukj)
    +	- add missing file descriptor variable to stdin function of
    +dxmainc.c. Fixes SourceForge bug #465214. (dxmainc.c [1.3]: 2001/09/28
    +22:04:03 ghostgum)
    +	- If gtk+ GUI can't be initialised, disable display device. This
    +allows gsx to be used without an X display. Partial fix for SourceForge bug
    +#450933. (dxmain.c [1.5]: 2001/10/12 11:10:37 ghostgum)
    +	- Fixes for stdin as a result of using callouts. Use unbuffered
    +read, not non-blocking read. Change gp_stdin_read to use file pointer not
    +handle. Remove gp_stdin_init since we don't need to set non-blocking. Change
    +gp_stdin.c to use fread/fwrite to be more portable. Flush redirected stdout
    +correctly. Added casts to fix compiler warnings in dxmain.c. Corrected
    +header dependencies. Fixes SourceForge bug #467787. (dxmain.c [1.6],
    +dxmainc.c [1.4], gp_stdia.c [1.3], gp_stdin.c [1.2]: 2001/10/12 21:37:08
    +ghostgum)
    +	- Proposed log message: Fix: Callout implementation of %stdin,
    +%stdout and %stderr now correctly allocates the streams in system memory.
    +This avoids a crash during garbage collection seen during frequent
    +open/close of stderr.. Fixes SourceForge bugs #427316, #442477.
    +(ziodevsc.c [1.3]: 2001/10/15 21:44:42 ghostgum)
    +	- When using STDIO_IMPLEMENTATION=, call gp_stdin_read with a file
    +pointer, not a file handle. (ziodevs.c [1.5]: 2001/10/17 21:12:44 ghostgum)
    +	- Use unbuffered read within gtk+ handler instead of using
    +non-blocking read. While waiting for stdin, allow gtk main loop to block to
    +avoid wasting CPU. (dxmain.c [1.7]: 2001/10/20 08:22:05 ghostgum)
    +
    +

    Drivers

    +
    +Fixes problems:
    +	- If "distiller" image compression options were changed in the
    +middle of a file, the parameter list holding them might not be set back to
    +read mode when using them to compress an image, causing an error. Fixes
    +SourceForge #464938. (gdevpsdi.c [1.15]: 2001/09/25 22:00:44 lpd)
    +	- bmp16 and png16 devices now create 4 bit/pixel bitmaps instead of
    +8. bmp256 and png256 devices now use dci values which match the color
    +mapping functions. (gdevbmp.c [1.4], gdevpng.c [1.4]: 2001/09/28 22:06:21
    +ghostgum)
    +	- Don't omit zero length deltas when stroking so that linecap will
    +be produced by resulting PS or EPS file. SourceForge bug #466162.
    +(gdevps.c [1.19]: 2001/09/28 23:18:46 rayjj)
    +	- Fixes for stdin as a result of using callouts. Use unbuffered
    +read, not non-blocking read. Change gp_stdin_read to use file pointer not
    +handle. Remove gp_stdin_init since we don't need to set non-blocking. Change
    +gp_stdin.c to use fread/fwrite to be more portable. Flush redirected stdout
    +correctly. Added casts to fix compiler warnings in dxmain.c. Corrected
    +header dependencies. Fixes SourceForge bug #467787. (gdevsppr.c [1.5]:
    +2001/10/12 21:37:08 ghostgum)
    +	- When the display device fails to allocate memory for the bitmap,
    +set the memory device width and height to zero to prevent drawing on it.
    +Always call the display_size callback to prevent a lockup in the caller, and
    +if there is no memory tell the caller that the width and height are zero.
    +Add some casts to remove compiler warnings. Fixes SourceForge bug #430879.
    +(gdevdsp.c [1.5]: 2001/10/12 21:41:25 ghostgum)
    +	- Syncs with hpijs version 0.97, and fixes a documentation bug.
    +(gdevhpij.c [1.3]: 2001/10/19 04:20:07 raph)
    +
    +

    PDF writer

    +
    +Fixes problems:
    +	- pdfwrite didn't set the orig_matrix of standard fonts, sometimes
    +causing re-encoded characters to be written with a width of 0. Bug
    +introduced by fix for #439474, gdevpdff.c [1.19]. Fixes SourceForge #463400.
    +(gdevpdff.c [1.22]: 2001/10/05 05:40:41 lpd)
    +	- pdfwrite allowed AutoRotatePages to override DSC comments rather
    +than vice versa, and it interpreted "Portrait" in a DSC orientation comment
    +as "don't rotate" rather than as "rotate if necessary so that width <
    +height." Fixes SourceForge #467259, although the result is not what the
    +submitter wanted. (gdevpdf.c [1.38], gdevpdfp.c [1.19], gdevpdfx.h [1.34]:
    +2001/10/07 05:33:11 lpd)
    +
    +

    PDF Interpreter

    +
    +Fixes problems:
    +	- Pop the /None key in the SMask processing of the 'gs' in a PDF 1.4
    +document. Fixes SourceForge bug #459647 for Artifex customer Accusoft.
    +(lib/pdf_draw.ps [1.35]: 2001/10/05 18:25:16 rayjj)
    +	- Enhances -dDEBUG for encrypted PDF files to print strings after
    +decryption. (lib/pdf_sec.ps [1.5]: 2001/10/09 20:17:23 lpd)
    +	- If LastPage was greater than the number of pages in the document,
    +a rangecheck was generated. Instead, limit LastPage (silently) to the number
    +of pages in the document. If FirstPage is past end of document, issue a
    +warning. Also, if no pages are processed due to FirstPage > LastPage,
    +give a clear error message. SourceForge bug #470025.
    +(lib/pdf_main.ps [1.35]: 2001/10/12 07:07:54 rayjj)
    +	- Changing the hack in PDF font processing, which chooses character
    +width with encodings where the same character appears more than once. New
    +code takes width for character code which appears in Differences. Source
    +Forge bugs #444366, #468389. (lib/pdf_font.ps [1.22]: 2001/10/14 01:28:05
    +igorm)
    +	- Fix for #471414. Thanks to Leon Bottou for his excellent analysis
    +and fix for this problem. Ghostscript was incorrectly handling a PDF shading
    +dictionary in which the /Function entry contained an array of function
    +dictionary references. An additonal oforce was required in the array
    +processing loop. (lib/pdf_draw.ps [1.36]: 2001/10/16 22:20:31 dancoby)
    +	- Applied two patches reported in
    +http://www.ghostscript.com/pipermail/gs-code-review/2001-October/001255.html
    +by Hideyuki Suzuki / hideyuki at sat dot t dot u-tokyo dot ac dot jp.
    +pdf_font.ps: automatic substitution & transformation of CID-keyed fonts.
    +pdf_ops.ps: make spacings vertical when WMode is 1. (lib/pdf_font.ps [1.23],
    +lib/pdf_ops.ps [1.17]: 2001/10/19 16:42:47 masata-y)
    +
    +

    Interpreter

    +
    +Fixes problems:
    +	- Adds a -dNOCCFONTS switch to disable use of compiled-in fonts.
    +(lib/gs_ccfnt.ps [1.5], lib/gs_init.ps [1.39]: 2001/10/01 05:25:55 lpd)
    +	- After removing a compiled font with undefinefont, loading the font
    +or asking for its resourcestatus left extra information on the stack. Fixes
    +SourceForge #458818. (lib/gs_res.ps [1.16]: 2001/10/01 05:56:58 lpd)
    +	- Clean up PostScript files in examples directory to prevent
    +spurious bug reports caused when running more than a sigle file or running
    +chess.ps without cheq.ps in the current directory. Thanks to Russell Lang
    +for cleanup on DSC comment and structure. (examples/alphabet.ps [1.2],
    +examples/chess.ps [1.2], examples/colorcir.ps [1.2],
    +examples/doretree.ps [1.2], examples/escher.ps [1.2],
    +examples/golfer.ps [1.2], examples/grayalph.ps [1.2],
    +examples/snowflak.ps [1.2], examples/tiger.ps [1.2],
    +examples/vasarely.ps [1.2], examples/waterfal.ps [1.3]: 2001/10/01 21:28:25
    +rayjj)
    +	- Remove this file which was referenced from chess.ps -- now it is
    +included in chess.ps to prevent errors when cheq.ps could not be located.
    +(examples/cheq.ps [1.2]: 2001/10/01 21:33:05 rayjj)
    +	- When using a substitute for an unknown font, add an alias in
    +FontDirectory under the original requested font name.
    +(lib/gs_fonts.ps [1.12]: 2001/10/01 21:35:53 rayjj)
    +	- Undo previous 1.12 update. The PS file that exhibited the problem
    +was bad as was my testing against Adobe PS behaviour. Substituted fonts are
    +neither aliased, nor entered in the FontDirectory by Adobe PostScript. Fixes
    +regression bug with Genoa PS LL3 FTS test 313-01.ps.
    +(lib/gs_fonts.ps [1.13]: 2001/10/09 18:01:17 rayjj)
    +	- Fixing inaccurate coding in Type 2 font processing : when
    +GlobalSubrs absents, old code damages useful information in
    +charstring_font_refs_s::GlobalSubrs, possibly causing indeterministic error.
    +(zfont2.c [1.4]: 2001/10/11 17:55:32 igorm)
    +	- Fix : Making GlobalSubrs to be shared for all descendent fonts
    +within CFF CID font. 1/2 fix for Source Forge bug #468389 "rangecheck in
    +type2execchar" (lib/gs_cff.ps [1.10]: 2001/10/12 08:52:14 igorm)
    +	- Fixes for stdin as a result of using callouts. Use unbuffered
    +read, not non-blocking read. Change gp_stdin_read to use file pointer not
    +handle. Remove gp_stdin_init since we don't need to set non-blocking. Change
    +gp_stdin.c to use fread/fwrite to be more portable. Flush redirected stdout
    +correctly. Added casts to fix compiler warnings in dxmain.c. Corrected
    +header dependencies. Fixes SourceForge bug #467787. (dpmain.c [1.5],
    +dwmainc.c [1.8], idebug.c [1.4], igc.c [1.5], imain.c [1.19]: 2001/10/12
    +21:37:08 ghostgum)
    +	- Documentation and version number change in preparation for 7.03
    +release. (lib/gs_init.ps [1.40]: 2001/10/20 08:44:31 raph)
    +
    +

    Streams

    +
    +Fixes problems:
    +	- Updates icclib to version 2.0, and integrates icclib changes. In
    +particular, icclib now accesses Ghostscript streams through the clean
    +icmFile object interface, rather than previous hack. Removes remnants of
    +previous hack, including gs_stdio.h header file and sread() and swrite()
    +functions in stream.c. (stream.c [1.15]: 2001/10/19 21:52:50 raph)
    +
    +

    Library

    +
    +Fixes problems:
    +	- Fixes nontermination of triangle subdivision in shading, as
    +triggered by FTS 446-01.ps. The criterion for whether a triangle spans more
    +than one pixel was too conservative, as it took the fill adjust into
    +account. (gxshade4.c [1.6]: 2001/10/01 21:16:47 raph)
    +	- Correct inverted Decode cases of ImageType 4 color range masks for
    +the Monochrome single bit per pixel case. Fixes SourceForge bug #462319 for
    +Artifex customer #671. (gxifast.c [1.4]: 2001/10/06 03:27:57 rayjj)
    +	- Fix : More error tolerance in type2 charstring interpreter. 2/2
    +fix for Source Forge bug #468389 "rangecheck in type2execchar". Thanks to L.
    +Peter Deutsch for participation and for the comment in code.
    +(gstype2.c [1.10]: 2001/10/12 08:55:24 igorm)
    +	- Fixes for stdin as a result of using callouts. Use unbuffered
    +read, not non-blocking read. Change gp_stdin_read to use file pointer not
    +handle. Remove gp_stdin_init since we don't need to set non-blocking. Change
    +gp_stdin.c to use fread/fwrite to be more portable. Flush redirected stdout
    +correctly. Added casts to fix compiler warnings in dxmain.c. Corrected
    +header dependencies. Fixes SourceForge bug #467787. (gp.h [1.8],
    +gxclutil.c [1.5], unistd_.h [1.4]: 2001/10/12 21:37:08 ghostgum)
    +	- Fixes reference counting for PDF 1.4 device filter stack.
    +Temporary patch to not free PDF 1.4 marking device for images (it was being
    +freed prematurely). (gdevp14.c [1.4], gsdfilt.c [1.3]: 2001/10/17 17:28:10
    +raph)
    +	- Updates icclib to version 2.0, and integrates icclib changes. In
    +particular, icclib now accesses Ghostscript streams through the clean
    +icmFile object interface, rather than previous hack. Removes remnants of
    +previous hack, including gs_stdio.h header file and sread() and swrite()
    +functions in stream.c. (gsicc.c [1.5], gsicc.h [1.3]: 2001/10/19 21:52:50
    +raph)
    +	- Documentation and version number change in preparation for 7.03
    +release. (gscdef.c [1.15]: 2001/10/20 08:44:31 raph)
    +
    +

    Other

    +
    +Fixes problems:
    +	- Updates icclib to version 2.0, and integrates icclib changes. In
    +particular, icclib now accesses Ghostscript streams through the clean
    +icmFile object interface, rather than previous hack. Removes remnants of
    +previous hack, including gs_stdio.h header file and sread() and swrite()
    +functions in stream.c. (gs_stdio.h [1.3], icclib/Licence.txt [1.1],
    +icclib/NOTES [1.2], icclib/Readme.txt [1.1], icclib/icc.c [1.6],
    +icclib/icc.h [1.4], icclib/icc9809.h [1.2]: 2001/10/19 21:52:50 raph)
    +
    +
    + +

    Version 7.02 (2001-09-22)

    + +

    +This is a prerelease of Ghostscript, in preparation for a forthcoming +fully tested, supported 7.0x release. We are skipping the 7.01 release +number because that number is now associated with CVS versions. + +

    Major changes include: + +

      +
    • Compile and portability fixes, including the dreaded time.h +problem that affects up-to-date GNU/Linux builds. + +
    • Big improvements in stdio, including a new -sstdout= redirect +switch. In addition, reading from stdin uses nonblocking I/O, so the +ugly -_ workaround is no longer necessary. + +
    • Substantial pdfwrite improvements. + +
    • 128-bit encrypted files are now supported. + +
    • The usual bug fixes. + +
    + +Release issues that will be fixed before next fully supported version: + +
      + +
    • Update icclib to 2.0. + +
    • Update hpijs and Omni glue to latest versions. + +
    • Make sure all source files are referenced in Develop.htm. + +
    + +

    +The following SourceForge bug numbers are currently open: +215256, 219798, 222727, 224863, 226477, 405342, 406285, 406689, +406979, 407342, 411753, 413669, 414947, 414985, 415016, 415142, +415170, 415177, 415526, 416043, 416131, 416830, 418241, 418597, +421057, 422532, 423838, 426274, 427193, 427314, 427316, 427347, +428891, 428973, 430879, 431065, 432040, 432657, 433835, 434277, +434707, 435154, 436099, 436897, 437285, 438679, 438957, 441566, +442477, 443745, 444791, 446344, 446672, 446676, 446035, 447695, +448199, 450271, 450663, 451456, 452155, 452173, 453861, 453969, +457838, 458025, 458261, 458500, 458769, 458775, 458780, 458818, +459645, 459647, 459764, 460292, 462139, 462212, 462221, 462319, +462777, 463123, 463400. + +

    Incompatible changes

    + +

    +No incompatible changes have been recorded for this version. + +

    +
    +
    +
    +

    Documentation

    +
    +Fixes problems:
    +	- Fixes a typo: gs_stable_memory should have been gs_memory_stable.
    +(doc/Develop.htm [1.41]: 2001/06/17 04:06:05 lpd)
    +	- The "Incompatible changes" sections for 6.62 and 6.61 were
    +duplicates of the section for 6.60. (doc/History6.htm [1.28]: 2001/07/28
    +23:02:56 lpd)
    +
    +Increments version number after 7.00 release. Also fixes gs_init.ps to
    +consistently print minor revision number as two digits.
    +(doc/News.htm [1.86]: 2001/04/17 07:40:12 raph)
    +
    +Documents the circumstances when no structure descriptor is needed.
    +(doc/Develop.htm [1.39]: 2001/04/20 19:44:18 lpd)
    +
    +Adds documentation for the graphics library's implementation of clipping.
    +(doc/Develop.htm [1.40]: 2001/04/20 20:17:28 lpd)
    +
    +Make copyright and license info at the end match other .htm files.
    +(doc/Humor.htm [1.3]: 2001/04/21 17:14:33 rayjj)
    +
    +Added entry about confusing error messages. (doc/Issues.htm [1.10]:
    +2001/04/27 23:41:28 alexcher)
    +
    +Clarifies the manpage for the ps2pdfwr wrapper script, mentioning the
    +-dSAFER option and adding a sentence describing the role of this particular
    +script. (man/ps2pdfwr.1 [1.10]: 2001/05/03 21:07:33 giles)
    +
    +Adds a 'see also' reference to ps2pdf from the pdf2pdfwr manpage.
    +(man/ps2pdfwr.1 [1.11]: 2001/05/03 23:54:51 giles)
    +
    +Restructures the C style guide to explicitly distinguish language
    +restrictions from purely stylistic issues. (Requested by Artifex engineer.)
    +(doc/C-style.htm [1.18]: 2001/05/25 00:35:41 lpd)
    +
    +Updates hpijs driver to version 0.96. (doc/Devices.htm [1.30]: 2001/05/30
    +23:25:25 raph)
    +
    +Minor documentation update for HPIJS driver (adds more supported devices).
    +(doc/Devices.htm [1.31]: 2001/05/30 23:58:44 raph)
    +
    +updates the bug report for to reflect the public nature of the new bug lists
    +and tracker. (doc/Bug-form.htm [1.21]: 2001/06/05 02:30:47 giles)
    +
    +corrects the spelling of Metrowerks CodeWarrior (doc/Bug-info.htm [1.18]:
    +2001/06/05 02:31:58 giles)
    +
    +branches: 1.1.2; file COPYING was initially added on branch GS_6_5.
    +(doc/COPYING [1.1]: 2001/06/05 07:07:35 raph)
    +
    +Changes release policy to preserve the original filenames of 3rd party
    +tarballs. (doc/Release.htm [1.38]: 2001/06/06 18:46:23 giles)
    +
    +This revision allows the MSVC makefiles to work with spaces in the DEVSTUDIO
    +path. Also if DEVSTUDIO is set to empty then the PATH, LIB, INCLUDE
    +environment variables are used for building. The MSVC section of Make.htm
    +was enlarged. (doc/Make.htm [1.32]: 2001/06/12 23:06:19 dancoby)
    +
    +Adds an explanation of why stable allocators are needed, rather than using
    +the system VM allocator for all stable objects. (doc/Develop.htm [1.42]:
    +2001/06/17 04:12:06 lpd)
    +
    +Adds extern_inline for including inline procedures in header files.
    +(doc/C-style.htm [1.19]: 2001/06/17 05:09:07 lpd)
    +
    +Adds and documents an operator <prefix|null> <access_string>
    +.tempfile <filename> <file> to create and open a temporary file,
    +using gp_open_scratch_file. (doc/Language.htm [1.32]: 2001/07/15 13:54:17
    +lpd)
    +
    +Adds pphs, a utility for printing the Primary Hint Stream of a linearized
    +PDF file. (doc/Develop.htm [1.43], doc/Psfiles.htm [1.20]: 2001/07/15
    +16:25:02 lpd)
    +
    +Adds documentation of the new macos build processes. (doc/Make.htm [1.33]:
    +2001/07/18 20:17:11 giles)
    +
    +Makes explicit note of the requirement to update the 'incompatible changes'
    +section of the documentation with relevant commits.
    +(doc/Maintain.htm [1.19], doc/News.htm [1.87]: 2001/07/31 03:31:35 giles)
    +
    +Adds documentation for the 'Fix:' prefix handling in changelog generation.
    +(doc/Maintain.htm [1.20]: 2001/07/31 08:06:48 giles)
    +
    +Removes a reference to mailing separate bug fix notices to artifex made
    +obsolete by the commit announcement mailing list. (doc/Maintain.htm [1.21]:
    +2001/07/31 20:27:42 giles)
    +
    +Documentation update : ps2ascii can't handle incremental fonts.
    +(doc/Issues.htm [1.11]: 2001/08/06 10:24:01 igorm)
    +
    +Update to 1. add Active-X project suggested by a user. 2. Remove the DSC
    +processing project (completed). 3. provide minor update to the pswrite
    +project. 4. Update the ICC profile support project to reflect the partial
    +support now completed (in 7.00). (doc/Projects.htm [1.31]: 2001/08/17
    +19:42:49 rayjj)
    +
    +Adds documentation for the -sPDFPassword command line option for encrypted
    +pdf files, introduced with the inclusion of pdf_sec.ps. (doc/Use.htm [1.29]:
    +2001/09/05 22:47:27 giles)
    +
    +Notes that ps2pdf may cause a limitcheck on PostScript files with
    +unreasonably large coordinates; suggests using -r as a workaround. Responds
    +to SourceForge bug #461335. (doc/Ps2pdf.htm [1.30]: 2001/09/14 00:40:04 lpd)
    +
    +Update documentation to describe how to build and install ghostscript as a
    +shared object on Unix. Fixes sourceforge bug #444593.
    +(doc/Install.htm [1.24], doc/Make.htm [1.34]: 2001/09/15 08:04:42 ghostgum)
    +
    +Speed up reading stdin when using callouts. Add platform-specific functions
    +for reading stdin, to allow non-blocking reading of stdin if supported.
    +Fixes Sourceforge bug #416973. (doc/Develop.htm [1.44]: 2001/09/15 08:48:33
    +ghostgum)
    +
    +Allow PostScript stdout to be redirected to stderr or a file. This is
    +required to avoid driver stdout being mixed with PostScript stdout. Options
    +are -sstdout=filename or -sstdout=%stderr. To reset redirection use
    +-sstdout=- or -sstdout=%stdout. Fixes Sourceforge bug #222534.
    +(doc/Use.htm [1.30]: 2001/09/22 07:33:35 ghostgum)
    +
    +Updates version and date in documentation in preparation for 7.02
    +pre-release. (doc/API.htm [1.10], doc/Bug-form.htm [1.22],
    +doc/Bug-info.htm [1.19], doc/C-style.htm [1.20], doc/Commprod.htm [1.14],
    +doc/Copying.htm [1.12], doc/Current.htm [1.12], doc/DLL.htm [1.14],
    +doc/Develop.htm [1.45], doc/Devices.htm [1.32], doc/Drivers.htm [1.20],
    +doc/Fonts.htm [1.21], doc/Helpers.htm [1.16], doc/History1.htm [1.12],
    +doc/History2.htm [1.12], doc/History3.htm [1.12], doc/History4.htm [1.12],
    +doc/History5.htm [1.14], doc/History6.htm [1.29], doc/History7.htm [1.2],
    +doc/Htmstyle.htm [1.17], doc/Install.htm [1.25], doc/Issues.htm [1.12],
    +doc/Language.htm [1.33], doc/Lib.htm [1.13], doc/Maintain.htm [1.22],
    +doc/Make.htm [1.35], doc/New-user.htm [1.29], doc/News.htm [1.88],
    +doc/PUBLIC [1.5], doc/Projects.htm [1.32], doc/Ps-style.htm [1.12],
    +doc/Ps2epsi.htm [1.14], doc/Ps2pdf.htm [1.31], doc/Psfiles.htm [1.21],
    +doc/README [1.11], doc/Readme.htm [1.30], doc/Release.htm [1.39],
    +doc/Source.htm [1.12], doc/Tester.htm [1.13], doc/Unix-lpr.htm [1.12],
    +doc/Use.htm [1.31], doc/Xfonts.htm [1.12], doc/gs-vms.hlp [1.11],
    +man/dvipdf.1 [1.9], man/font2c.1 [1.9], man/gs.1 [1.9], man/gslp.1 [1.9],
    +man/gsnd.1 [1.9], man/pdf2dsc.1 [1.9], man/pdf2ps.1 [1.11],
    +man/pdfopt.1 [1.9], man/pf2afm.1 [1.9], man/pfbtopfa.1 [1.10],
    +man/printafm.1 [1.9], man/ps2ascii.1 [1.9], man/ps2epsi.1 [1.9],
    +man/ps2pdf.1 [1.13], man/ps2pdfwr.1 [1.12], man/ps2ps.1 [1.16],
    +man/wftopfa.1 [1.9]: 2001/09/22 16:26:21 raph)
    +
    +

    Procedures

    +
    +Fixes problems:
    +	- Removing the dependence of graphic library on PS interpreter.
    +Source Forge bug #415003. (lib.mak [1.48]: 2001/04/20 09:38:39 igorm)
    +	- Undoes makefile breakage introduced in previous version (for VMS).
    +(icclib.mak [1.3], lib.mak [1.50]: 2001/04/24 18:36:55 raph)
    +	- !ifndef COMPILED_INITS instead of !ifndef COMPILE_INITS Discovered
    +fixing bug #414985 from anonymous user (msvclib.mak [1.13]: 2001/04/28
    +00:53:46 alexcher)
    +	- Optimization for shading fill. The general path filling algorithm
    +subdivides fill region with trapezoid or rectangle subregions and then
    +paints each subregion with given color. If the color is shading, each
    +subregion to be subdivided into areas of constant color. But with radial
    +shading each area is a high order polygon, being subdivided into smaller
    +subregions, so as total number of subregions grows huge. Faster processing
    +is done here by changing the order of subdivision cycles : we first
    +subdivide the shading into areas of constant color, then apply the general
    +path filling algorithm (i.e. subdivide each area into trapezoids or
    +rectangles), using the filling path as clip mask. Source Forge bug #414022.
    +(lib.mak [1.51]: 2001/05/10 18:36:40 igorm)
    +	- Adobe PhotoShop 5+ duotone code assumes that setcolor operator
    +calls tint transform function if source colors don't make a subset of device
    +colors. Bug #224056, Customer #150 (int.mak [1.47]: 2001/06/07 14:48:24
    +alexcher)
    +	- index.html and gs.css weren't being copied to the installed
    +documentation directory. (unixinst.mak [1.19]: 2001/07/25 21:10:39 giles)
    +	- define previously undefined make variables. DISPLAY_DEV in
    +unix-gcc.mak. gdevdsp_h and gdevdsp2_h in int.mak. Add missing iref.h
    +dependency for idisp. Bug #415006. (devs.mak [1.46], int.mak [1.48],
    +unix-gcc.mak [1.22]: 2001/08/01 08:58:49 ghostgum)
    +	- Link GNU/Linux shared object as position independent code, instead of
    +just compiling the modules as position independent. Adds prefix to shared
    +object recursive make to allow install to a temporary location while
    +building a distribution. (unix-dll.mak [1.3]: 2001/08/01 09:42:01 ghostgum)
    +	- allow any value of JVERSION in the platform-specific makefiles to
    +reduce user confusion over minor version naming. We continue to support only
    +libjpeg v6*. Sourceforge bugs #457617 and #457838, September 2001.
    +(jpeg.mak [1.4]: 2001/09/05 21:46:35 giles)
    +	- Fix for MS-Windows graphics library. Remove references to
    +interpreter from gp_check_interrupts function in library. Make gslib.c
    +access gs_stdin not stdin. Correct the build paths for graphics devices. Add
    +missing graphics devices. (msvc32.mak [1.18], msvclib.mak [1.16],
    +winlib.mak [1.11]: 2001/09/22 07:07:02 ghostgum)
    +	- Prevent memory corruption when reading %statementedit. Allocate
    +lineedit buffer in correct memory space. Line being assembled is stored in a
    +PostScript string during callouts, so prevent zfilelineedit from reading
    +more than max_string_size bytes. Allocate extra space for trailing new-line
    +for statementedit, rather than fiddling the string length which broke when
    +sreadline reallocated the string. (int.mak [1.50]: 2001/09/22 07:26:45
    +ghostgum)
    +	- pdfwrite failed to recognize several of the standard screen spot
    +functions: Ellipse, Round, and Diamond weren't implemented, and several of
    +the others didn't match the PostScript implementation because of
    +float/double discrepancies. Also, pdfwrite wrote out halftone screens using
    +the adjusted ("actual") frequency and angle values rather than the requested
    +values. Fixes SourceForge #446676. (devs.mak [1.47]: 2001/09/22 16:27:04
    +lpd)
    +
    +Increments version number after 7.00 release. Also fixes gs_init.ps to
    +consistently print minor revision number as two digits. (version.mak [1.34]:
    +2001/04/17 07:40:12 raph)
    +
    +Committing in . Modified Files: gs/icclib/icc.c gs/src/gdevpdf.c
    +gs/src/gp_vms.c gs/src/gsnogc.c gs/src/icclib.mak gs/src/openvms.mmk
    +gs/src/x_.h Added Files: gs/src/vms_x_fix.h Patches for OpenVMS
    +(icclib.mak [1.2], openvms.mmk [1.7]: 2001/04/20 09:56:22 joukj)
    +
    +Committing in . Modified Files: gs/src/lib.mak Patch for OpenVMS (little
    +delayed since it was merged first with another commit) (lib.mak [1.49]:
    +2001/04/20 10:39:44 joukj)
    +
    +Committing in . Modified Files: gs/src/gdevpdf.c gs/src/imainarg.c
    +gs/src/openvms.mmk Merged in some patches by Rick Dyson, which affect
    +compilation on VMS only. (openvms.mmk [1.8]: 2001/04/25 08:19:41 joukj)
    +
    +Committing in . Modified Files: gs/src/openvms.mak bringing openvms.mak in
    +sync. with new features( Icclib etc.) and with new compile strategy with
    +long variable names( as in openvms.mmk) Patch from Rick Dyson.
    +(openvms.mak [1.12]: 2001/04/25 13:24:20 joukj)
    +
    +Changes gp_open_scratch_file() to use mkstemp() rather than mktemp() on gcc
    +builds, which avoids warnings. Adds CAPOPT variable to unix-gcc.mak to
    +select which function is used, so that builds will still succeed on systems
    +that don't have mkstemp(). (unix-gcc.mak [1.20]: 2001/05/07 19:05:46
    +jackiem)
    +
    +Committing in . Modified Files: gs/src/openvms.mmk Enabling mkstemp on VMS.
    +(openvms.mmk [1.9]: 2001/05/08 12:28:38 joukj)
    +
    +This file is a new utility intended for debug. It is not yet ready for prime
    +time, but is available for whoever wants to fix it. The main problems are:
    +1. It doesn't work for files that use chained filters such as [
    +/ASCII85Decode /FlateDecode ] 2. The PDF files that are written are
    +sometimes broken. GS gets an xref problem. This second problem may actually
    +due to lib/pdfwrite.ps since even when no conversion is done, the file is
    +bad. (toolbin/pdfinflt.ps [1.1]: 2001/05/31 04:54:51 rayjj)
    +
    +branches: 1.1.2; file gnudevs.mak was initially added on branch GS_6_5.
    +(gnudevs.mak [1.1]: 2001/06/05 07:07:37 raph)
    +
    +removes unnessary whitespace, which was breaking tmake.tcl. Part of
    +sourceforge bug #415170, 2001 April 10. (libpng.mak [1.7]: 2001/06/07
    +22:01:16 giles)
    +
    +This revision allows the MSVC makefiles to work with spaces in the DEVSTUDIO
    +path. Also if DEVSTUDIO is set to empty then the PATH, LIB, INCLUDE
    +environment variables are used for building. The MSVC section of Make.htm
    +was enlarged. (msvc32.mak [1.16], msvccmd.mak [1.6], msvclib.mak [1.14],
    +msvctail.mak [1.6]: 2001/06/12 23:06:19 dancoby)
    +
    +updates makefiles to use version 1.0.12 of the png library.
    +(all-arch.mak [1.9], bcwin32.mak [1.11], dvx-gcc.mak [1.11],
    +libpng.mak [1.8], msvc32.mak [1.17], msvclib.mak [1.15], openvms.mak [1.13],
    +os2.mak [1.17], ugcclib.mak [1.13], unix-gcc.mak [1.21],
    +unixansi.mak [1.15], unixtrad.mak [1.15], watc.mak [1.13],
    +watclib.mak [1.13], watcw32.mak [1.12]: 2001/07/10 01:39:57 giles)
    +
    +drops support for libpng v0.89 and streamlines the library makefile.
    +(libpng.mak [1.9]: 2001/07/10 02:07:08 giles)
    +
    +minor comment cleanup (libpng.mak [1.10]: 2001/07/10 03:14:33 giles)
    +
    +branches: 1.1.2; Adds the makefile and script for the new macos build method
    +(macos-mcp.mak [1.1]: 2001/07/18 20:28:57 giles)
    +
    +To reduce redraw flicker, do not allow Windows to erase the background since
    +we paint it ourselves. Paint areas outside the page with the window
    +background colour or light grey. Save and restore window size using
    +registry. Add "Paste" to system menu of text window. Make error message box
    +a child of text window to avoid it appearing behind the text window. To
    +allow user to read the error message, the text window is not automatically
    +destroyed in the event of an error. The user must close text window using
    +close button or system menu. If text window closed, return e_Fatal to poll
    +function to provide a cleaner exit without a stack dump. (winint.mak [1.8]:
    +2001/08/01 09:50:36 ghostgum)
    +
    +Uses lynx instead of netscape to generate text versions of important
    +documentation files. (toolbin/pre [1.11]: 2001/08/18 02:50:09 giles)
    +
    +Adds a C implementation of the Arcfour encryption filter. This is a
    +work-alike of the RC4 cipher used in PDF encryption. (int.mak [1.49],
    +lib.mak [1.52]: 2001/09/02 06:16:41 giles)
    +
    +The Unix shared object loader 'gsx' depends on Gtk+ which causes it to fail
    +in an environment where X11 and Gtk+ are not available. Add a console only
    +loader 'gsc' which does not depend on X11 or Gtk+. This does not support the
    +'display' device. Fixes sourceforge bug #450933. (unix-dll.mak [1.4]:
    +2001/09/15 08:10:33 ghostgum)
    +
    +Speed up reading stdin when using callouts. Add platform-specific functions
    +for reading stdin, to allow non-blocking reading of stdin if supported.
    +Fixes Sourceforge bug #416973. (dvx-tail.mak [1.4], macos-mcp.mak [1.2],
    +openvms.mak [1.14], os2.mak [1.18], unix-aux.mak [1.4], watc.mak [1.14],
    +winlib.mak [1.10]: 2001/09/15 08:48:33 ghostgum)
    +
    +Change all interpreter builds to use callouts for stdio. Ghostscript library
    +builds still use file based stdio. (bcwin32.mak [1.12], dvx-gcc.mak [1.12],
    +gs.mak [1.5], openvms.mak [1.15], unix-gcc.mak [1.23], unixansi.mak [1.16],
    +unixtrad.mak [1.16], watc.mak [1.15], watcw32.mak [1.13]: 2001/09/15
    +08:55:32 ghostgum)
    +
    +Correct makefile dependency for gsx/dxmainc.c. (unix-dll.mak [1.5]:
    +2001/09/22 07:21:00 ghostgum)
    +
    +Add the needed object files when building Windows large executable.
    +(msvc32.mak [1.19]: 2001/09/22 07:24:33 ghostgum)
    +
    +Updates version and date in documentation in preparation for 7.02
    +pre-release. (version.mak [1.35]: 2001/09/22 16:26:22 raph)
    +
    +

    Utilities

    +
    +Fixes problems:
    +	- null object was converted to -nostringval- Discovered during the
    +work on pdfopt. (lib/pdfwrite.ps [1.4]: 2001/04/28 01:01:38 alexcher)
    +	- On Windows GS enumerated "." and ".." as external resources and
    +failed with /invalidresource trying to load them later. (gp_ntfs.c [1.5]:
    +2001/05/04 20:27:40 alexcher)
    +	- pass #xx escaped characters in names through and fix the escape
    +logic to prevent a /typecheck in add. (lib/pdfwrite.ps [1.5]: 2001/05/31
    +04:38:42 rayjj)
    +	- Many scripts for invoking Ghostscript-based utilities didn't
    +properly handle file names that included spaces. Unix and DOS/Windows/OS/2
    +scripts required different fixes. (lib/dvipdf [1.2], lib/eps2eps [1.3],
    +lib/eps2eps.bat [1.5], lib/gssetgs.bat [1.3], lib/pdf2dsc.bat [1.2],
    +lib/pdf2ps [1.4], lib/pdf2ps.bat [1.5], lib/pdfopt [1.3],
    +lib/pdfopt.bat [1.3], lib/pf2afm.bat [1.3], lib/pfbtopfa [1.3],
    +lib/ps2ascii [1.3], lib/ps2epsi [1.7], lib/ps2epsi.bat [1.6],
    +lib/ps2epsi.cmd [1.3], lib/ps2pdf.bat [1.6], lib/ps2pdf12.bat [1.5],
    +lib/ps2pdf13.bat [1.5], lib/ps2pdf14.bat [1.2], lib/ps2pdfwr [1.6],
    +lib/ps2pdfxx.bat [1.10], lib/ps2ps [1.3], lib/ps2ps.bat [1.4]: 2001/06/22
    +16:09:22 lpd)
    +	- pdfopt gave an error if the input file had PageMode = /UseOutlines
    +but lacked an Outlines tree. Fixes SourceForge bug #410371.
    +(lib/pdfopt.ps [1.5]: 2001/07/01 07:16:28 lpd)
    +	- The first pass of pdfopt always estimated the size of the primary
    +hint stream as 0, which occasionally caused the second-pass fixup to fail.
    +Fixes SourceForge bug #409887. (lib/pdfopt.ps [1.7]: 2001/07/01 07:23:36
    +lpd)
    +	- If the OpenAction of a document referred to a Page object, pdfopt
    +would try to include the page in the "document-level objects" section of the
    +output, causing a rangecheck error. Fixes SourceForge bug #437724. Also adds
    +more tracing to pdfopt (with -dPDEBUG). (lib/pdfopt.ps [1.8]: 2001/07/02
    +15:50:19 lpd)
    +	- gp_open_scratch_file concatenated the temporary directory name
    +with the prefix even if the prefix was an absolute path; also, it didn't
    +check the length of the final file name, possibly leading to memory
    +corruption. (gp_iwatc.c [1.6], gp_mswin.c [1.6], gp_os2.c [1.10],
    +gp_vms.c [1.7]: 2001/07/15 13:57:50 lpd)
    +	- glyphshow procedure in ps2ascii lacks a pop in the for loop. Patch
    +from Leon Bottou. Source Forge bug #443361. (lib/ps2ascii.ps [1.3]:
    +2001/07/22 20:43:32 igorm)
    +	- pdfopt was broken because SAFER prevented it from opening its
    +output and temporary files, and from deleting its temporary files. Note:
    +this fix requires the .tempfile operator added in src/zfile.c [1.9].
    +(lib/pdfopt [1.4], lib/pdfopt.bat [1.4], lib/pdfopt.ps [1.9]: 2001/07/23
    +06:57:27 lpd)
    +	- Running font2c on any of the 35 standard fonts caused an
    +invalidaccess error if gs was built with compiled fonts (ccfonts.dev
    +"feature"). Fixes SourceForge #458816. (lib/font2c.ps [1.3]: 2001/09/13
    +23:16:29 lpd)
    +	- Fix for MS-Windows graphics library. Remove references to
    +interpreter from gp_check_interrupts function in library. Make gslib.c
    +access gs_stdin not stdin. Correct the build paths for graphics devices. Add
    +missing graphics devices. (gp_mslib.c [1.3], gp_mspol.c [1.1],
    +gp_mswin.c [1.7]: 2001/09/22 07:07:02 ghostgum)
    +
    +Committing in . Modified Files: gs/icclib/icc.c gs/src/gdevpdf.c
    +gs/src/gp_vms.c gs/src/gsnogc.c gs/src/icclib.mak gs/src/openvms.mmk
    +gs/src/x_.h Added Files: gs/src/vms_x_fix.h Patches for OpenVMS
    +(gp_vms.c [1.6]: 2001/04/20 09:56:22 joukj)
    +
    +branches: 1.1.2; file gp_gnrdl.c was initially added on branch GS_6_5.
    +(gp_gnrdl.c [1.1]: 2001/06/05 07:07:37 raph)
    +
    +Change ps2pdfxx.bat to use lowercase output file extension to be consistent
    +with other platforms. This closes sourceforge bug #430129.
    +(lib/ps2pdfxx.bat [1.9]: 2001/06/15 05:32:56 jackiem)
    +
    +Adds more tracing output to pdfopt with -dPDEBUG. (lib/pdfopt.ps [1.6]:
    +2001/07/01 07:20:30 lpd)
    +
    +Adds more tracing (with -dPDEBUG) to lib/pdfwrite.ps, used by pdfopt.
    +(lib/pdfwrite.ps [1.6]: 2001/07/02 15:46:05 lpd)
    +
    +Adds pphs, a utility for printing the Primary Hint Stream of a linearized
    +PDF file. (lib/pphs [1.1], lib/pphs.ps [1.1]: 2001/07/15 16:25:02 lpd)
    +
    +Re-enables export of the hwnd parameter in the old dll interface. This is
    +required by macgsview. (gsdll.c [1.5]: 2001/07/18 20:16:24 giles)
    +
    +Adds initial support for macos. (gp_macio.c [1.1]: 2001/07/18 20:20:50
    +giles)
    +
    +branches: 1.1.2; Adds initial support for macos. (gp_mac.c [1.1]: 2001/07/18
    +20:20:50 giles)
    +
    +branches: 1.1.2; Adds the makefile and script for the new macos build method
    +(macgenmcpxml.sh [1.1]: 2001/07/18 20:28:57 giles)
    +
    +Adds descriptive labels to the output of the utility for printing linearized
    +PDF data. (lib/pphs.ps [1.2]: 2001/07/19 18:38:45 lpd)
    +
    +Protect the export of 'hwndtext', required by macgsview, with platform
    +#ifdefs to avoid conflicts with the win32 dll build. (gsdll.c [1.6]:
    +2001/07/23 05:25:08 giles)
    +
    +branches: 1.2.2; corrects line endings in gp_macio.c (gp_macio.c [1.2]:
    +2001/07/24 22:22:59 giles)
    +
    +Improves the comments printed with dumps of Linearized PDF hint tables.
    +(lib/pphs.ps [1.3]: 2001/07/24 22:24:28 lpd)
    +
    +Changes pdfopt to work around several Acrobat code and documentation bugs,
    +so that Acrobat now recognizes pdfopt output as "optimized". Fixes
    +SourceForge #438685. (lib/pdfopt.ps [1.10], lib/pdfwrite.ps [1.7]:
    +2001/07/30 07:16:32 lpd)
    +
    +The Unix shared object loader 'gsx' depends on Gtk+ which causes it to fail
    +in an environment where X11 and Gtk+ are not available. Add a console only
    +loader 'gsc' which does not depend on X11 or Gtk+. This does not support the
    +'display' device. Fixes sourceforge bug #450933. (dxmainc.c [1.1]:
    +2001/09/15 08:10:33 ghostgum)
    +
    +When using the Unix Gtk+ loader gsx, delay setting the default color map and
    +visual until the display device is opened. This may allow gsx to be used
    +when X11 is not available. May fix Sourceforge bug #450933. (dxmain.c [1.4]:
    +2001/09/15 08:14:21 ghostgum)
    +
    +Speed up reading stdin when using callouts. Add platform-specific functions
    +for reading stdin, to allow non-blocking reading of stdin if supported.
    +Fixes Sourceforge bug #416973. (gp_stdia.c [1.1], gp_stdin.c [1.1],
    +ziodevs.c [1.3]: 2001/09/15 08:48:34 ghostgum)
    +
    +Correct the stdin code in dxmainc.c (gsc) to be the same as gp_stdia.c.
    +(dxmainc.c [1.2]: 2001/09/22 07:16:50 ghostgum)
    +
    +

    Drivers

    +
    +Fixes problems:
    +	- Prevent empty or invalid OutputFile values from causing SEGV in
    +psrgb, psgray and psmono. SourceForge bug #414151. (gdevpsu.c [1.5]:
    +2001/04/20 02:35:24 rayjj)
    +	- Corrects incorrect month value in TIFF headers. Need to increment
    +tm_mon by one to get actual month. Fix from Helge Blischke.
    +(gdevtifs.c [1.4]: 2001/04/20 06:36:00 rayjj)
    +	- epswrite now writes each page into separate file, if OutputFile
    +specifies format. SourceForge bug #228641. (gdevps.c [1.17],
    +gdevpsim.c [1.5], gdevpsu.c [1.6], gdevpsu.h [1.3]: 2001/05/05 11:04:22
    +igorm)
    +	- Writing each page to separate file, epswrite wrote wrong number of
    +pages to their trailers. (gdevps.c [1.18], gdevpsim.c [1.6],
    +gdevpsu.c [1.7], gdevpsu.h [1.4]: 2001/05/10 17:41:22 igorm)
    +	- Removes duplicate rc_decrement_only() in
    +pdf14_begin_typed_image(), so that the marking device is now deallocated
    +once. Fixes SourceForge bug #434705. (gdevpnga.c [1.4]: 2001/07/05 23:21:01
    +raph)
    +
    +Committing in . Modified Files: gs/icclib/icc.c gs/src/gdevpdf.c
    +gs/src/gp_vms.c gs/src/gsnogc.c gs/src/icclib.mak gs/src/openvms.mmk
    +gs/src/x_.h Added Files: gs/src/vms_x_fix.h Patches for OpenVMS (x_.h [1.3]:
    +2001/04/20 09:56:22 joukj)
    +
    +branches: 1.2.2; Updates hpijs driver to version 0.96. (gdevhpij.c [1.2],
    +gdevhpij.h [1.2]: 2001/05/30 23:25:25 raph)
    +
    +branches: 1.1.2; file defs.h was initially added on branch GS_6_5.
    +(defs.h [1.1]: 2001/05/31 08:28:49 raph)
    +
    +branches: 1.1.2; file gomni.c was initially added on branch GS_6_5.
    +(gomni.c [1.1]: 2001/05/31 08:28:49 raph)
    +
    +branches: 1.1.2; file gdevln03.c was initially added on branch GS_6_5.
    +(gdevln03.c [1.1]: 2001/06/05 07:07:37 raph)
    +
    +branches: 1.1.2; file gdevop4w.c was initially added on branch GS_6_5.
    +(gdevop4w.c [1.1]: 2001/06/05 07:07:37 raph)
    +
    +branches: 1.1.2; file gdevxes.c was initially added on branch GS_6_5.
    +(gdevxes.c [1.1]: 2001/06/05 07:07:37 raph)
    +
    +Adds knowledge of more paper sizes to PCL driver. Thanks to Jonathan Kamens
    +for the patch. (gdevpcl.c [1.5], gdevpcl.h [1.5]: 2001/07/15 06:38:38 raph)
    +
    +branches: 1.1.2; Adds initial support for macos. (gdevmac.c [1.1],
    +gdevmac.h [1.1], gdevmacpictop.h [1.1], gdevmacttf.h [1.1]: 2001/07/18
    +20:20:50 giles)
    +
    +branches: 1.1.2; Adds the remaining macos source files (gdevmacxf.c [1.1]:
    +2001/07/18 20:27:39 giles)
    +
    +Added const to all printer device descriptors const gx_device_printer
    +gs_xxx_device = ... (gdev3852.c [1.3], gdev4081.c [1.3], gdev4693.c [1.3],
    +gdev8510.c [1.3], gdevadmp.c [1.3], gdevbj10.c [1.4], gdevcif.c [1.3],
    +gdevcljc.c [1.4], gdevcp50.c [1.3], gdevdjtc.c [1.3], gdevdm24.c [1.3],
    +gdevepsc.c [1.3], gdevepsn.c [1.3], gdevescp.c [1.3], gdevhl7x.c [1.5],
    +gdevimgn.c [1.4], gdevlbp8.c [1.3], gdevlj56.c [1.3], gdevmiff.c [1.3],
    +gdevn533.c [1.3], gdevo182.c [1.3], gdevokii.c [1.3], gdevpjet.c [1.3],
    +gdevsgi.c [1.2], gdevsnfb.c [1.3], gdevsppr.c [1.4], gdevsunr.c [1.4],
    +gdevtknk.c [1.3]: 2001/08/01 00:48:23 stefan911)
    +
    +

    PDF writer

    +
    +Fixes problems:
    +	- Empty pages included a Contents entry whose value was an empty
    +array: the spec allows this, and AR3 and 4 accept it, but AR5 rejects it.
    +(gdevpdf.c [1.34]: 2001/06/29 06:52:13 lpd)
    +	- When tiling with a bitmap, the /Type entry in the Pattern resource
    +was written twice. (Minor file size problem only, not a functional problem.)
    +(gdevpdfb.c [1.5]: 2001/06/29 17:04:17 lpd)
    +	- Some poorly designed PDF tools couldn't handle the fact that the
    +Contents stream of each page was not surrounded by q/Q. (The PDF spec does
    +not require this.) Fixes SourceForge bug #231390. (gdevpdfu.c [1.16]:
    +2001/07/02 18:07:55 lpd)
    +	- pdfwrite didn't set returned.current_char, so the "current
    +character" for kshow was 0 or a random value. Fixes SourceForge bug #420933.
    +(gdevpdfs.c [1.5]: 2001/07/02 19:09:23 lpd)
    +	- When producing text in a Type 3 (bitmap) font and using TL and '
    +for Y positioning, emitting a horizontal space character reset
    +text.use_leading, causing the line to be positioned incorrectly. Fixes
    +SourceForge bug #427159. (gdevpdft.c [1.33]: 2001/07/04 16:47:33 uid22160)
    +	- When producing text using a Type 3 (bitmap) font, the TL command
    +was used (incorrectly) when the new text position was directly below the
    +current text position, not (correctly) when the new text position was
    +directly below the beginning of the current text line. Fixes SourceForge bug
    +#228180. (gdevpdft.c [1.34]: 2001/07/04 18:06:39 uid22160)
    +	- Scaled fonts with PaintType = 2 (stroked) were painted with
    +incorrect stroked width. (gdevpdfs.c [1.6]: 2001/07/04 21:57:02 uid22160)
    +	- pdfwrite generated masked images, a PDF 1.3 feature, even when
    +CompatibilityLevel < 1.3. Fixes item (2) of SourceForge bug #414104.
    +(gdevpdfj.c [1.7], gdevpdfv.c [1.6]: 2001/07/07 19:15:51 lpd)
    +	- pdfwrite could write out a Pattern image too large for Acrobat
    +Reader to handle, which would then never be referenced. Fixes item (4) of
    +SourceForge bug #414104. (gdevpdfv.c [1.7]: 2001/07/07 19:41:12 lpd)
    +	- MSVC requires that a label not be the last thing in a block.
    +(gdevpdfv.c [1.9]: 2001/07/08 13:46:25 lpd)
    +	- The algorithm for scaling down user coordinates to fall within
    +Acrobat Reader's limitations didn't work properly for stroked paths with
    +anisotropic CTMs, possibly producing large coordinates that led Acrobat (but
    +not Ghostscript) to display the resulting file incorrectly. Fixes
    +SourceForge bug #440476. (gdevpdfd.c [1.15], gdevpdfp.c [1.18],
    +gdevpdfx.h [1.30]: 2001/07/12 03:28:02 lpd)
    +	- pdfwrite didn't write transfer functions in the output for images,
    +and allowed lossy compressions on images even in the presence of peculiar
    +transfer functions (such as functions simulating indexed color spaces). This
    +fix writes transfer functions for images, prevents lossy compression if the
    +transfer function is not the identity, and undoes the hack that was
    +implemented earlier to work around this problem. Fixes SourceForge bug
    +#420257. (gdevpdf.c [1.35], gdevpdfg.c [1.13], gdevpdfi.c [1.22],
    +gdevpdfx.h [1.31]: 2001/07/12 05:47:07 lpd)
    +	- When writing text, the leading offset was sometimes ignored if
    +blank lines were followed by a non-blank line. Fixes SourceForge bug
    +#440490. (gdevpdft.c [1.35]: 2001/07/12 19:45:53 lpd)
    +	- If ConvertCMYKImagesToRGB was true, pdfwrite produced images with
    +the correct RGB data but with the color space still set to DeviceCMYK. (Fix
    +originally from Helge Blischke.) (gdevpdfi.c [1.23]: 2001/07/24 04:47:37
    +lpd)
    +	- The calculation of a scaling value for stroked paths was
    +incorrect, causing Inf and NaN values to be written in the PDF file. Fixes
    +SourceForge #444682. Bug was introduced by the fix for #440476.
    +(gdevpdfd.c [1.16]: 2001/07/27 22:28:31 lpd)
    +	- Some error codes were ignored, masking errors in writing embedded
    +fonts. (gdevpdfe.c [1.10]: 2001/07/31 06:32:42 lpd)
    +	- ICCBased color spaces were copied to the output even if the output
    +level was 1.2 (ICCBased color spaces were introduced in PDF 1.3).
    +(gdevpdfc.c [1.16]: 2001/08/02 20:29:07 lpd)
    +	- If an image used a color space that couldn't be represented in
    +PDF, an invalid file was produced, rather than falling back to the default
    +representation as tiny rectangles. (bug introduced by H. Blischke's color
    +space fix) (gdevpdfi.c [1.24]: 2001/08/03 16:12:16 lpd)
    +	- Type 1 fonts that did not use the standard 1000-unit cell, such as
    +some fonts in PostScript files produced by Windows NT 4.0, were written with
    +an incorrect FontMatrix. (The output was visually correct, because the font
    +size was scaled to compensate.) Fixes SourceForge #439474.
    +(gdevpdff.c [1.19], gdevpdff.h [1.11], gdevpdfs.c [1.7]: 2001/08/06 19:36:01
    +lpd)
    +	- If the base 14 fonts were being embedded, they would often be
    +embedded multiple times. Partially fixes SourceForge #438957.
    +(gdevpdff.c [1.20]: 2001/08/17 21:27:21 lpd)
    +	- The descriptors for embedded fonts were recomputed unnecessarily.
    +Part 1 of a two-part fix for SourceForge #451456. (gdevpdff.c [1.21]:
    +2001/08/29 19:03:59 lpd)
    +	- Uncolored Patterns with all bits set (equivalent to a solid color)
    +crashed pdfwrite. Fixes SourceForge #461330. (gdevpdfv.c [1.10]: 2001/09/15
    +06:12:29 lpd)
    +	- pdfwrite failed to recognize several of the standard screen spot
    +functions: Ellipse, Round, and Diamond weren't implemented, and several of
    +the others didn't match the PostScript implementation because of
    +float/double discrepancies. Also, pdfwrite wrote out halftone screens using
    +the adjusted ("actual") frequency and angle values rather than the requested
    +values. Fixes SourceForge #446676. (gdevpdfg.c [1.14]: 2001/09/22 16:27:04
    +lpd)
    +
    +Committing in . Modified Files: gs/icclib/icc.c gs/src/gdevpdf.c
    +gs/src/gp_vms.c gs/src/gsnogc.c gs/src/icclib.mak gs/src/openvms.mmk
    +gs/src/x_.h Added Files: gs/src/vms_x_fix.h Patches for OpenVMS
    +(gdevpdf.c [1.32]: 2001/04/20 09:56:22 joukj)
    +
    +Committing in . Modified Files: gs/src/gdevpdf.c gs/src/imainarg.c
    +gs/src/openvms.mmk Merged in some patches by Rick Dyson, which affect
    +compilation on VMS only. (gdevpdf.c [1.33]: 2001/04/25 08:19:41 joukj)
    +
    +Changes the locally used BASE_ENCODING macro to an inline procedure
    +base_encoding_index. (Code hygeine only, no functional effect.)
    +(gdevpdfs.c [1.4]: 2001/06/29 17:05:35 lpd)
    +
    +Makes pdfwrite recognize colored Patterns where all the pixels are the same
    +color, and convert them to uncolored Patterns. This is an important
    +optimization for files produced by certain applications (the test file came
    +from Freehand on the Mac). Fixes item (3) of SourceForge bug #414104.
    +(gdevpdfv.c [1.8]: 2001/07/08 04:27:48 lpd)
    +
    +Capitalizes a macro, and replaces two other macros with variables.
    +(gdevpdfm.c [1.12]: 2001/07/15 22:53:23 lpd)
    +
    +Interprets bookmarks (/OUT pdfmarks) lacking both Action and Dest keys as a
    +GoTo to the current page, to match Acrobat Distiller. SourceForge bug
    +(enhancement) #442111. (gdevpdfm.c [1.13]: 2001/07/24 22:28:42 lpd)
    +
    +Changes pdfwrite to produce MediaBox values with up to 2 digits of decimal
    +fraction, rather than truncating to integers. SourceForge enhancement
    +request #440782. (gdevpdf.c [1.36], gdevpdfx.h [1.32]: 2001/07/25 23:16:44
    +lpd)
    +
    +Changes the writing of Type 3 character bitmaps to use Decode in the image
    +dictionary, rather than BlackIs1 in the parameter dictionary, to invert the
    +data, because it takes slightly less space on the file. (gdevpdfb.c [1.6]:
    +2001/07/29 02:21:43 lpd)
    +
    +Shrinks PDF output slightly by removing unnecessary spaces.
    +(gdevpdfo.c [1.8]: 2001/07/29 03:00:45 lpd)
    +
    +Writes only the necessary Encoding entries for Type 3 bitmap fonts, rather
    +than always writing all 256 entries. Motivated by SourceForge #438957.
    +(gdevpdf.c [1.37], gdevpdft.c [1.36], gdevpdfw.c [1.12], gdevpdfx.h [1.33]:
    +2001/07/30 15:11:00 lpd)
    +
    +Added const to all printer device descriptors const gx_device_printer
    +gs_xxx_device = ... (gdevpdff.c [1.18]: 2001/08/01 00:48:23 stefan911)
    +
    +Converts all locally defined macros to upper case. (gdevpdfc.c [1.17]:
    +2001/08/03 06:43:52 lpd)
    +
    +Shrinks pdfwrite output slightly by omitting the unnecessary space character
    +before strings and hex strings, as well as before names, arrays, and
    +dictionaries. (gdevpdfo.c [1.9]: 2001/08/14 02:29:16 lpd)
    +
    +Committing in . Modified Files: gs/src/gdevpdfm.c gs/src/sarc4.c
    +gs/src/zcsdevn.c gs/src/zfile.c Some type casts added (gdevpdfm.c [1.14]:
    +2001/09/04 14:30:13 joukj)
    +
    +

    PDF Interpreter

    +
    +Fixes problems:
    +	- 5-element DeviceN array (with attributes) messed up the operand
    +stack and failed. The attributes is an informational entry that can be
    +safely ignored. Bug #419509, Customer #150. (lib/pdf_draw.ps [1.30]:
    +2001/04/28 01:45:25 alexcher)
    +	- PDF files containing strings with codes that map to glyph names
    +that are not part of the font would error with undefined in --get--.
    +Substitute the .notdef glyph as Adobe Acrobat Reader apparently does.
    +(lib/pdf_font.ps [1.19]: 2001/05/12 00:11:42 rayjj)
    +	- .resolvefn4 used stream length as the length of the decompressed
    +data, truncated the PostScript procedure and caused syntax error in the
    +token operator because of the unmatched brackets. Reading directly from the
    +stream fixes the problem. Bugs #425919 (lib/pdf_draw.ps [1.31]: 2001/05/24
    +16:48:59 alexcher)
    +	- The March 1999 PDF 1.3 version of the specification had a change
    +to make the /FormType key and /Matrix key optional in a Form. While we had
    +already handled missing /Matrix key, the missing /FormType key was not
    +accounted for in all cases. Move this to the common DoForm code. Fix for
    +SourceForge bug #430556, Artifex customer #671. (lib/pdf_draw.ps [1.32]:
    +2001/06/13 05:30:29 rayjj)
    +	- Wrong entry name (BaseFont instead CIDFontName) was used while
    +resolving font resource to CIDFontType2 in PDF interpreter. Source Forge bug
    +#436892 (lib/pdf_font.ps [1.20]: 2001/07/09 19:27:37 igorm)
    +	- Workaround a SEGV caused by GC interaction with stderr file.
    +Needed to complete the fix for #430556, but the stderr bug remains open as
    +442477. (lib/pdf_main.ps [1.34]: 2001/07/18 20:42:48 rayjj)
    +	- Detect and load embedded Type1 fonts that are in PFB format (have
    +the 6 byte PFB header before each segment). Also ignore /Length values in
    +the streamdict keys that don't match the PFB segnment lengths. Issue warning
    +messages to stderr for all of these spec violations. SourceForge bug #430556
    +for Artifex customer #671. VS:
    +----------------------------------------------------------------------
    +(lib/pdf_font.ps [1.21]: 2001/07/18 20:45:35 rayjj)
    +	- This problem was a rangecheck error being reported in
    +.setindexedspace when the base colorspace was DeviceN. The cause was an
    +error in determining the number of components in the DeviceN space. This is
    +the second of two fixes for SF bugs 427165 (customer #1110) and 438682.
    +(lib/pdf_draw.ps [1.34]: 2001/08/21 23:54:30 dancoby)
    +
    +Improvement: Prevents PDF files with more than 65534 page from failing due
    +to the dict size limit. The caches never hit on pages past 65534. Problem
    +was reported by a potential Artifex customer re their customer's files.
    +(lib/pdf_main.ps [1.33]: 2001/05/12 17:15:41 rayjj)
    +
    +This is the fix for [ #427354 ] PDF checkboxes problem. The PDF annotation
    +handler was not correctly handling cases in which there was no appearance in
    +the appearance dictionary AP for the current appearance state AS. It should
    +not display anything in this case. (lib/pdf_draw.ps [1.33]: 2001/06/14
    +22:25:36 dancoby)
    +
    +Updates pdf_sec.ps to use the new PDF 1.4 algorithms and 128 bit keylengths.
    +Rewritten to use C implementations of Arcfour (RC4 compatible cipher) and
    +MD5. Also fixes bug in processing of zero-length streams.
    +(lib/pdf_sec.ps [1.4]: 2001/09/19 07:12:13 raph)
    +
    +

    Interpreter

    +
    +Fixes problems:
    +	- GS didn't exit to shell when it was used with '--' option. The bug
    +was introduced in revision 1.7 when many references to exit() were replaced
    +with returns. Bug #416498 by Paul Vojta (imainarg.c [1.11]: 2001/04/19
    +23:39:39 ghostgum)
    +	- Removing the dependence of graphic library on PS interpreter.
    +Source Forge bug #415003. (zcssepr.c [1.8]: 2001/04/20 09:38:39 igorm)
    +	- Auto-rotation is enabled for non-null orientations. Auto rotation
    +now always rotates the image +90 degrees relative to the orientation. Bug
    +#416830 Customer #430 (zmedia2.c [1.3]: 2001/04/26 17:57:41 alexcher)
    +	- EPS files without a showpage could not be viewed if given as a
    +command line arg. Extra call to display_set_callback erased the page before
    +going to the GS> prompt the first time. Only do display_set_callback as
    +part of init_2. (imain.c [1.13]: 2001/05/04 20:35:33 rayjj)
    +	- in global mode pdfmark with composite objects causes invalidaccess
    +because the objects are copied to local memory but the array is copied to
    +current memory. Now the array is copied to local memory too. Fix from Helge
    +Blischke with changes. (lib/gs_pdfwr.ps [1.11]: 2001/05/04 20:59:33
    +alexcher)
    +	- This IdiomSet replaces 3 procedures generated by Win2K driver in
    +level 1 mode for RGB source image and DeviceRGB, DeviceCMYK, and DeviceGray
    +color models. Original implementation uses transfer functions to simulate
    +the indexed color space. Currently, GS always ignore transfer functions. The
    +replacement procedure uses indexed color space directly. This Idiom should
    +really be in a file in the IdiomSet directory of the Resource path, but we
    +put it here until GS has a way to handle distribution and installation of
    +Resources. Customer #670, Bug #420257 (lib/gs_ll3.ps [1.9]: 2001/05/08
    +19:42:13 alexcher)
    +	- Add all page sizes supported in statusdict to the .pagetypenames
    +array so that these page sizes can be selected from the command line using
    +-sPAPERSIZE=... parameter. Also implement the STRICT that limits the
    +available known paper sizes to those Adobe had defined prior to Level 2 when
    +'setpagedevice' replaced this mess. SourceForge bug #427898
    +(lib/gs_statd.ps [1.5]: 2001/05/30 21:14:35 rayjj)
    +	- Fix for [ #419211 ] .parse_dsc_comments not robust. This change
    +modifies the DSC parser so that errors in DSC comments do not abort the file
    +processing. (zdscpars.c [1.11]: 2001/06/06 08:11:20 dancoby)
    +	- Adobe PhotoShop 5+ duotone code assumes that setcolor operator
    +calls tint transform function if source colors don't make a subset of device
    +colors. Bug #224056, Customer #150 (zcolor2.c [1.4]: 2001/06/07 14:48:24
    +alexcher)
    +	- When finding a %%Page line in the trailer due to incorrect DSC
    +comments, the DSC parser now returns CDSC_PAGE only if the parser treats it
    +as a valid page. Partial fix for SourceForge bug #435157. (dscparse.c [1.6]:
    +2001/06/23 10:21:24 ghostgum)
    +	- Fix for [ #435157 ] segmentation fault in dsc_page. Add test for
    +valid page data before using. (zdscpars.c [1.12]: 2001/06/27 00:25:08
    +dancoby)
    +	- Implementing CIDFont.CMap construction with period character (see
    +Ken Lunde, "CJKV Information Processing," O'RELILLY. 1999. p284) for any
    +compatible pair of CIDFont & CMap. This feature complies with Adobe
    +CPSI. Thanks to Masatake Yamato for discovering this feature.
    +(lib/gs_cidcm.ps [1.5]: 2001/07/01 08:55:34 igorm)
    +	- Reading a TrueType font with an empty table could cause a
    +rangecheck error. (lib/gs_ttf.ps [1.9]: 2001/07/08 15:24:11 lpd)
    +	- pdfwrite didn't write transfer functions in the output for images,
    +and allowed lossy compressions on images even in the presence of peculiar
    +transfer functions (such as functions simulating indexed color spaces). This
    +fix writes transfer functions for images, prevents lossy compression if the
    +transfer function is not the identity, and undoes the hack that was
    +implemented earlier to work around this problem. Fixes SourceForge bug
    +#420257. (lib/gs_ll3.ps [1.10]: 2001/07/12 05:47:07 lpd)
    +	- zfilelineedit sometimes reallocates (resizes) buffer string
    +without updating reference to it from o-stack, so as console input after
    +callout reads undefined data. Fixed with copying new reference to o-stack
    +whenever it changes. Source Forge bug #437808 (ziodev.c [1.5]: 2001/07/16
    +08:38:14 igorm)
    +	- If a 'restore' had to restore page device parameters, it did so
    +before rather than after restoring the state of VM, possibly creating
    +dangling references. Fixes SourceForge #230694, #414588, #444565.
    +(lib/gs_setpd.ps [1.8], zdevice2.c [1.4]: 2001/07/30 07:11:38 lpd)
    +	- Ignore white space between %%DocumentData: and argument. Fix: Set
    +dsc->preview correctly to DOS EPS if both DOS EPS and EPSI previews are
    +present. Update to latest dscparse.c/h used in GSview. Change dscparse to
    +mark internal functions "dsc_private" not "private", so it can be compiled
    +as C++ (needed by GSview, not Ghostscript). (dscparse.c [1.7],
    +dscparse.h [1.6]: 2001/08/01 09:03:40 ghostgum)
    +	- Fixing wrong binding of .getmetrics32 with -dNOBIND.
    +(lib/gs_typ32.ps [1.3]: 2001/08/06 10:19:42 igorm)
    +	- Old hack about underline parameters in gs_type1.ps now conflicts
    +with QuarkXPress_4.1 3.0 0 procset. Disabling it for fonts, which have
    +degenerate FontBBox. Source Forge bug #441870. (lib/gs_type1.ps [1.5]:
    +2001/08/06 16:47:43 igorm)
    +	- The problem was a rangecheck error being reported in
    +.setdevicenspace with PDF files. The cause of the problem was not allowing
    +multiple copies of the name /None in DeviceN colorant specification. This is
    +the first of two fixes for SF bugs 427165 (customer #1110) and 438682.
    +(zcsdevn.c [1.4]: 2001/08/21 23:52:36 dancoby)
    +	- Work around a bug in the Adobe AGM_Core that results in areas
    +painted by the tint transform of a spot color being overpainted with white.
    +The symptom is missing graphics (lines, fills or text). SourceForge bug
    +#454415 for Artifex customer #190. (lib/gs_init.ps [1.37]: 2001/08/29
    +21:10:23 rayjj)
    +	- Fix a bug that the procedure for arraytype in cntdict leaves an
    +object. (lib/gs_btokn.ps [1.4]: 2001/09/04 22:59:52 masata-y)
    +	- If MaxLocalVM user parameter is set, perform garbage collection
    +before checking for potential VMerror. Without this fix, VMerror would be
    +issued even if a garbage collection would have freed enough memory to stay
    +below the MaxLocalVM limit. (ireclaim.c [1.3]: 2001/09/05 17:50:36 rayjj)
    +	- Prevent memory corruption when reading %statementedit. Allocate
    +lineedit buffer in correct memory space. Line being assembled is stored in a
    +PostScript string during callouts, so prevent zfilelineedit from reading
    +more than max_string_size bytes. Allocate extra space for trailing new-line
    +for statementedit, rather than fiddling the string length which broke when
    +sreadline reallocated the string. (zfile.c [1.11], ziodev.c [1.6]:
    +2001/09/22 07:26:46 ghostgum)
    +
    +Increments version number after 7.00 release. Also fixes gs_init.ps to
    +consistently print minor revision number as two digits.
    +(lib/gs_init.ps [1.35]: 2001/04/17 07:40:12 raph)
    +
    +Committing in . Modified Files: gs/src/gdevpdf.c gs/src/imainarg.c
    +gs/src/openvms.mmk Merged in some patches by Rick Dyson, which affect
    +compilation on VMS only. (imainarg.c [1.12]: 2001/04/25 08:19:41 joukj)
    +
    +Added dot(.) composed font name(CIDFont.CMap) supports.
    +(lib/gs_cidcm.ps [1.3]: 2001/05/09 09:15:19 masata-y)
    +
    +In zfilename, a string allocated by ialloc_string is put on the stack with
    +correct memory space. (zfileio.c [1.11]: 2001/05/09 09:25:24 masata-y)
    +
    +The show operator doesn't clear the operand stack on interrupts. Source
    +Forge bug 209350. (zchar.c [1.4]: 2001/05/10 19:15:29 igorm)
    +
    +Move jpeg_decompress structure enum/reloc handler from interp level to
    +stream utility level to support non-PostScript clients. (zfdcte.c [1.5]:
    +2001/05/30 17:38:45 rayjj)
    +
    +Unwind to the revision 1.2, because CIDFont.CMap patch misses some important
    +CIDFont-CMap combinations. (lib/gs_cidcm.ps [1.4]: 2001/06/06 10:44:05
    +igorm)
    +
    +If an ICC color space failed to load, Acrobat Reader uses the alternate
    +color space. Previous implementation ignored errors during load and used the
    +partial ICC space. This change signals an error and uses the alternate space
    +by catching the error in a stopped context in the interpreter.
    +(lib/gs_icc.ps [1.2]: 2001/06/12 16:02:39 rayjj)
    +
    +Patch from Mr. Toshiya Suzuki : Implementing multi-dimensional CID ranges,
    +and fixing bugs about decoding text string with CID font : (1) when GS
    +consumes undefined byte sequence (which cannot be mapped to some glyphs), GS
    +aborts. (2) when selected CID font lacks the glyph for requested CID, GS
    +aborts. (3) "notdefrange" defines SINGLE CID for undefined byte sequences in
    +specified range, but current GS implementation take it as an offset to
    +calculate MULTIPLE CID. (4) "cidrange" operators accept only full range
    +specification (<0000> to <FFFF>) or 8 bit width range
    +(<xxyy> to <xxzz>). Source Forge bug #415163.
    +(lib/gs_cmap.ps [1.11], zfcid0.c [1.7]: 2001/06/16 19:02:31 igorm)
    +
    +Committing in . Modified Files: gs/src/idisp.c gs/src/imain.c
    +gs/src/zfileio.c Some minor fixes (2 added includes and 1 type cast) needed
    +to compile cleanly on OpenVMS. (idisp.c [1.2], imain.c [1.14],
    +zfileio.c [1.12]: 2001/07/11 12:05:52 joukj)
    +
    +Adds and documents an operator <prefix|null> <access_string>
    +.tempfile <filename> <file> to create and open a temporary file,
    +using gp_open_scratch_file. (zfile.c [1.9]: 2001/07/15 13:54:17 lpd)
    +
    +Add the local and global vmstatus values to calculate the memory usage of a
    +resource. (lib/gs_res.ps [1.15]: 2001/07/15 16:13:39 masata-y)
    +
    +Allows temporary files (created and opened with .tempfile) to be deleted
    +even if SAFER is set. (lib/gs_init.ps [1.36]: 2001/07/23 06:56:24 lpd)
    +
    +To reduce redraw flicker, do not allow Windows to erase the background since
    +we paint it ourselves. Paint areas outside the page with the window
    +background colour or light grey. Save and restore window size using
    +registry. Add "Paste" to system menu of text window. Make error message box
    +a child of text window to avoid it appearing behind the text window. To
    +allow user to read the error message, the text window is not automatically
    +destroyed in the event of an error. The user must close text window using
    +close button or system menu. If text window closed, return e_Fatal to poll
    +function to provide a cleaner exit without a stack dump. (dwimg.c [1.3],
    +dwimg.h [1.4], dwmain.c [1.5], dwmainc.c [1.6], dwtext.c [1.4],
    +dwtext.h [1.4]: 2001/08/01 09:50:36 ghostgum)
    +
    +Changed debugging flag variables to const. (igc.c [1.4], zvmem.c [1.3]:
    +2001/08/01 16:21:35 stefan911)
    +
    +Adds missing dwreg.cpp and dwreg.h files needed by recent Windows updates
    +which save and restore window size using registry. (dwreg.c [1.1],
    +dwreg.h [1.1]: 2001/08/02 08:36:07 ghostgum)
    +
    +Improves documentation of the op_def array elements and removes the obsolete
    +BEGIN/END_OP_DEFS macros, deprecated since 5.25. (opdef.h [1.3]: 2001/08/28
    +03:28:08 giles)
    +
    +Adds a C implementation of the Arcfour encryption filter. This is a
    +work-alike of the RC4 cipher used in PDF encryption. (zfarc4.c [1.1]:
    +2001/09/02 06:16:41 giles)
    +
    +Corrects indenting, and adds another missing header. (zfarc4.c [1.2]:
    +2001/09/02 07:09:13 giles)
    +
    +Committing in . Modified Files: gs/src/gdevpdfm.c gs/src/sarc4.c
    +gs/src/zcsdevn.c gs/src/zfile.c Some type casts added (zcsdevn.c [1.5],
    +zfile.c [1.10]: 2001/09/04 14:30:13 joukj)
    +
    +Change to debug output so that when the ptr is totally bogus, some useful
    +output will be generated before otype->ssize is dereferenced (which can
    +cause a memory access crash such as SEGV). No effect on non-debug code.
    +(ilocate.c [1.4]: 2001/09/06 15:46:13 rayjj)
    +
    +Move misplaced comment block. (zvmem2.c [1.3]: 2001/09/06 16:01:23 rayjj)
    +
    +.objectprinttest: do one more pop if the operator is executed without error.
    +.writeobjects: Before writing the header, check whether the written objects
    +are arrays or not. If they are arrays, they are left them on the stack. If
    +they are not arrays, they are removed from the stack.
    +(lib/gs_btokn.ps [1.5]: 2001/09/15 07:11:00 masata-y)
    +
    +When using gswin32 (GUI version) and an error occurs or -? is used, do not
    +display an error message box. Add a message to the text window "Close this
    +window with the close button on the title bar or the system menu". Flash the
    +window to attract attention. Fixes sourceforge bug #459019. (dwmain.c [1.6],
    +dwtext.c [1.5]: 2001/09/15 08:36:53 ghostgum)
    +
    +Speed up reading stdin when using callouts. Add platform-specific functions
    +for reading stdin, to allow non-blocking reading of stdin if supported.
    +Fixes Sourceforge bug #416973. (dpmain.c [1.4], dwmainc.c [1.7],
    +imain.c [1.15]: 2001/09/15 08:48:33 ghostgum)
    +
    +When using stdio callouts without callback functions, flush stdout and
    +stderr. (imain.c [1.16]: 2001/09/15 09:17:10 ghostgum)
    +
    +Don't initialize stdin if it is being handled by the caller.
    +(imain.c [1.17]: 2001/09/22 07:22:48 ghostgum)
    +
    +Allow PostScript stdout to be redirected to stderr or a file. This is
    +required to avoid driver stdout being mixed with PostScript stdout. Options
    +are -sstdout=filename or -sstdout=%stderr. To reset redirection use
    +-sstdout=- or -sstdout=%stdout. Fixes Sourceforge bug #222534.
    +(imain.c [1.18], imain.h [1.3], imainarg.c [1.13], iminst.h [1.5]:
    +2001/09/22 07:33:35 ghostgum)
    +
    +Updates version and date in documentation in preparation for 7.02
    +pre-release. (lib/gs_init.ps [1.38]: 2001/09/22 16:26:22 raph)
    +
    +

    Streams

    +
    +Fixes problems:
    +	- When input stream of an input filter reports EOF, old code reports
    +EOF for the filter. But if output buffer for the filter is not empty, EOF
    +status to be delayed until it empties. Source Forge bug #417127.
    +(stream.c [1.12]: 2001/05/05 10:12:23 igorm)
    +	- Non-stable memory was used for internal zlib data, causing
    +inconsistent heap state after 'restore' while zlib is active, and subsequent
    +crash. Source Forge bug #431057 (szlibc.c [1.3]: 2001/07/16 08:29:46 igorm)
    +	- Fixes numerous bugs in setting of DCT compression parameters.
    +Manual setting of parameters such as QFactor should now work. Also
    +ColorTransform now defaults to YCC instead of RGB color space so the default
    +quality and compression ratio should improve. Thanks to Dave Slattengren for
    +the initial version of this fix. (sdcparam.c [1.3], sdcte.c [1.4],
    +sdeparam.c [1.4]: 2001/09/01 23:54:57 raph)
    +	- fixes bounds overstepping in arcfour filter in the case where
    +write buffer space is smaller than read buffer space. (sarc4.c [1.5]:
    +2001/09/14 20:26:02 raph)
    +
    +Set file_name.size = 0 when file_name.data is set to 0. (stream.c [1.13]:
    +2001/05/09 09:42:57 masata-y)
    +
    +Move jpeg_decompress structure enum/reloc handler from interp level to
    +stream utility level to support non-PostScript clients. (sdcte.c [1.3]:
    +2001/05/30 17:38:45 rayjj)
    +
    +Move jpeg_decompress structure enum/reloc handler from interp level to
    +stream utility level to support non-PostScript clients. (see also zfdcte.c
    +and sdcte.c) (sdct.h [1.4]: 2001/06/08 07:08:44 rayjj)
    +
    +Adds a comment describing the function and return value of sreadbuf.
    +(stream.c [1.14]: 2001/06/17 04:28:10 lpd)
    +
    +Adds extern_inline for including inline procedures in header files.
    +(stdpre.h [1.4]: 2001/06/17 05:09:07 lpd)
    +
    +These changes were originally put into the GS_6_5 branch on 2001/03/13. They
    +are needed for using the current version of teh graphics library with the
    +PCL6 code. Short description of changes: stat_.h: Added definition of
    +stat_is_dir for use with MSVC. Not used in Ghostscript. gsptype1.c: Changes
    +in image_PaintProc. This routine is used in gs_makepixmappattern.
    +gs_makepixmappattern is only used in test8 (in gslib.c - a test module) and
    +gs_makebitmappattern_xform. gs_makebitmappatern_xform is not used in
    +Ghostscript. It is used in pcl6. (stat_.h [1.6]: 2001/08/07 22:13:29
    +dancoby)
    +
    +Makes the spprint* procedures use sputc rather than sputs for printing
    +converted values. Speeds up one set of customer ps2pdf conversions by 2.5%.
    +(spprint.c [1.4]: 2001/08/25 06:59:04 lpd)
    +
    +Adds a C implementation of the Arcfour encryption filter. This is a
    +work-alike of the RC4 cipher used in PDF encryption. (sarc4.c [1.1],
    +sarc4.h [1.1]: 2001/09/02 06:16:41 giles)
    +
    +adds a missing header file for e_rangecheck. (sarc4.c [1.2]: 2001/09/02
    +06:27:18 giles)
    +
    +Corrects indenting, and adds another missing header. (sarc4.c [1.3],
    +sarc4.h [1.2]: 2001/09/02 07:09:13 giles)
    +
    +Committing in . Modified Files: gs/src/gdevpdfm.c gs/src/sarc4.c
    +gs/src/zcsdevn.c gs/src/zfile.c Some type casts added (sarc4.c [1.4]:
    +2001/09/04 14:30:13 joukj)
    +
    +

    Library

    +
    +Fixes problems:
    +	- When copying a device, copy the static procs if needed before
    +calling finish_copydevice, so that the correct finish_copydevice is used.
    +(gsdevice.c [1.9]: 2001/04/12 08:45:02 ghostgum)
    +	- Removing the dependence of graphic library on PS interpreter.
    +Source Forge bug #415003. (gscsepr.c [1.10], gscspace.h [1.7]: 2001/04/20
    +09:38:38 igorm)
    +	- Removing the dependence of graphic library on PS interpreter.
    +Source Forge bug #415003. (gscsepr.c [1.11]: 2001/04/20 10:07:48 igorm)
    +	- Optimization for shading fill. The general path filling algorithm
    +subdivides fill region with trapezoid or rectangle subregions and then
    +paints each subregion with given color. If the color is shading, each
    +subregion to be subdivided into areas of constant color. But with radial
    +shading each area is a high order polygon, being subdivided into smaller
    +subregions, so as total number of subregions grows huge. Faster processing
    +is done here by changing the order of subdivision cycles : we first
    +subdivide the shading into areas of constant color, then apply the general
    +path filling algorithm (i.e. subdivide each area into trapezoids or
    +rectangles), using the filling path as clip mask. Source Forge bug #414022.
    +(gsptype2.c [1.5], gsptype2.h [1.3], gxfill.c [1.8]: 2001/05/10 18:35:14
    +igorm)
    +	- If the OutputFile name was not NULL terminated, the strcmp would
    +fail in unpredictable ways. (gsdevice.c [1.10]: 2001/05/12 00:08:36 rayjj)
    +	- dev_color_eq used wrong number of components for halftones. Source
    +Forge bug #422534. (gsht1.c [1.3], gxcht.c [1.3]: 2001/05/12 14:51:52 igorm)
    +	- Current code for /All separations marks all planes in the
    +alternate color space, not the destination color space. This is wrong, but
    +gx_concretize_Separation() doesn't have access to the destination device
    +color space. This fix makes tint value 1 print as black in any alternate
    +color space. It printed as white in DeviceCMYK before. Bug #423838
    +(gscsepr.c [1.12]: 2001/05/25 13:54:01 alexcher)
    +	- Prevent SEGV caused by freeing memory not owned. Variable 'code'
    +was overwritten, losing the get_outline return code that was needed for the
    +decision to free the glyph_string.data. Problem detected with PCL. Bug was
    +introduced in rev 1.10. (gstype42.c [1.12]: 2001/05/31 04:34:23 rayjj)
    +	- Include <time.h> as required by Debian systems with glibc
    +2.2. Fixes SourceForge bugs 413747, 417180, 417181, 417182. (time_.h [1.3]:
    +2001/06/07 21:04:52 raph)
    +	- FunctionType 4 functions that contained conditionals (if/ifelse)
    +would report the length of their symbolic definition incorrectly;
    +FunctionType 4 functions that had to return their symbolic definition in
    +pieces would loop forever. Fixes SourceForge bug #427191. (gsfunc4.c [1.6]:
    +2001/07/04 01:23:46 lpd)
    +	- Changes clip logic in gx_image_cached_char() to affect the imaging
    +device, so that clipping is reliably effective. Fixes SF bug #433821 (and
    +probably others). (gxccache.c [1.5]: 2001/07/05 20:36:55 raph)
    +	- Removes duplicate rc_decrement_only() in
    +pdf14_begin_typed_image(), so that the marking device is now deallocated
    +once. Fixes SourceForge bug #434705. (gdevp14.c [1.3]: 2001/07/05 23:21:00
    +raph)
    +	- Prevent non-persistent name_arrays of size==0 from causing a
    +VMerror if alloc of size 0 returns a NULL. Detected with
    +SeparationColorNames from the PCL code. (gscparam.c [1.7]: 2001/07/06
    +17:02:25 rayjj)
    +	- If the FontMatrix of a CFF CIDFont was the default [0.001 0 0
    +0.001 0 0], it was not written, causing the FontMatrices of the subfonts to
    +be scaled by 1000. (The Adobe documentation isn't at all clear about this.)
    +Fixes SourceForge bug #428595. (gdevpsf2.c [1.14]: 2001/07/07 06:28:08 lpd)
    +	- Before processing an image that uses the current color, call
    +gs_state_color_load to ensure that if the current color is a pattern, the
    +pattern is loaded. (This parallels existing code used for filling paths and
    +processing text.) This prevents a SEGV caused when pdfwrite dereferenced a 0
    +pointer to pdc->colors.pattern.p_tile. Fixes SourceForge bug #422089 for
    +Artifex Customer #1110. (gsimage.c [1.4]: 2001/07/10 22:04:20 lpd)
    +	- The algorithm for scaling down user coordinates to fall within
    +Acrobat Reader's limitations didn't work properly for stroked paths with
    +anisotropic CTMs, possibly producing large coordinates that led Acrobat (but
    +not Ghostscript) to display the resulting file incorrectly. Fixes
    +SourceForge bug #440476. (gdevvec.c [1.12], gdevvec.h [1.7]: 2001/07/12
    +03:28:02 lpd)
    +	- -sOutputFile=%stdout handling was broken by rev. 1.4 is fixed by
    +giving priority to iodevices when there is a leading %, but if the iodevice
    +is not recognized, attempting to parse as a format. Fix for SourceForge bugs
    +436895 and 428738, Artifex customer #680 (gsdevice.c [1.11]: 2001/07/12
    +14:10:55 rayjj)
    +	- gp_open_scratch_file concatenated the temporary directory name
    +with the prefix even if the prefix was an absolute path; also, it didn't
    +check the length of the final file name, possibly leading to memory
    +corruption. (gp_unifs.c [1.6]: 2001/07/15 13:57:50 lpd)
    +	- An incorrect optimization in the conversion of Type 1 to Type 2
    +CharStrings could cause character shapes to be mangled. This probably only
    +affected embedded fonts in PDF output. Fixes SourceForge #444374.
    +(gdevpsfx.c [1.9]: 2001/07/26 03:04:51 lpd)
    +	- Acrobat Reader would not accept embedded TrueType fonts with a
    +zero-length glyf table. Fixes SourceForge #429156. (gdevpsft.c [1.8]:
    +2001/07/30 07:03:18 lpd)
    +	- An embedded CFF font could not be larger than 64K. Fixes
    +SourceForge #445400. (gdevpsf2.c [1.15]: 2001/07/31 06:39:06 lpd)
    +	- For CIEBasedDEF(G) color spaces the interpolated values from the
    +Table need to be scaled to the range given by RangeABC. Fixes SourceForge
    +bug #440278 reported by Artifex customer #10. (gsciemap.c [1.6]: 2001/08/03
    +15:26:35 rayjj)
    +	- Correct a problem with white lines appearing in an image at or
    +near band boundaries. Problem caused by different handling for the last
    +image pixel at a band boundary versus the remaining pixels. Replaced it with
    +uniform handling. Fixes SourceForge bug #436899 reported by Artifex customer
    +#150. Also included are three lines of source code clean up in the same
    +section. (gxicolor.c [1.3]: 2001/08/06 21:22:31 dancoby)
    +	- Writing a Type 2 font subset with undefined glyphs in the Encoding
    +produced invalid output. Fixes SourceForge #451399. (gdevpsf.h [1.10],
    +gdevpsfu.c [1.7]: 2001/08/16 13:36:37 lpd)
    +	- The problem was a rangecheck error being reported in
    +.setdevicenspace with PDF files. The cause of the problem was not allowing
    +multiple copies of the name /None in DeviceN colorant specification. This is
    +the first of two fixes for SF bugs 427165 (customer #1110) and 438682.
    +(gscdevn.c [1.6], gscspace.h [1.8]: 2001/08/21 23:52:36 dancoby)
    +	- Most of the Type 1 hinting code was executed even when hinting was
    +disabled. Part 2 of a two-part fix for SourceForge #451456.
    +(gxhint3.c [1.3]: 2001/08/29 19:04:55 lpd)
    +	- Quark Xpress turns off garbage collection with -2 vmreclaim when
    +embedding EPS files which can lead to rampant allocation that is only
    +reclaimed when GC is reenabled. When the GC is disabled, reduce the
    +threshold from 2 Gb to 8 Mb. Fixes SourceForge bugs: 444370 and 438676.
    +(gsalloc.c [1.10]: 2001/09/05 17:54:31 rayjj)
    +	- Fixes some typos in the comment for FORCE_GC_LIMIT.
    +(gsalloc.c [1.11]: 2001/09/05 18:03:39 lpd)
    +	- Copying a parameter list failed to copy persistent aggregates if
    +the target list used a different allocator from the source list, possibly
    +causing crashes at 'restore'. Fixes SourceForge #461007. (gsparamx.c [1.4]:
    +2001/09/14 04:23:11 lpd)
    +	- The sin and cos operators in Type 4 (PostScript Calculator)
    +Functions expected their argument in radians, not degrees. (gsfunc4.c [1.7]:
    +2001/09/17 06:01:12 lpd)
    +	- Fix for MS-Windows graphics library. Remove references to
    +interpreter from gp_check_interrupts function in library. Make gslib.c
    +access gs_stdin not stdin. Correct the build paths for graphics devices. Add
    +missing graphics devices. (gslib.c [1.5]: 2001/09/22 07:07:02 ghostgum)
    +
    +Committing in . Modified Files: gs/icclib/icc.c gs/src/gdevpdf.c
    +gs/src/gp_vms.c gs/src/gsnogc.c gs/src/icclib.mak gs/src/openvms.mmk
    +gs/src/x_.h Added Files: gs/src/vms_x_fix.h Patches for OpenVMS
    +(gsnogc.c [1.7]: 2001/04/20 09:56:22 joukj)
    +
    +Changes gp_open_scratch_file() to use mkstemp() rather than mktemp() on gcc
    +builds, which avoids warnings. Adds CAPOPT variable to unix-gcc.mak to
    +select which function is used, so that builds will still succeed on systems
    +that don't have mkstemp(). (gp_unifs.c [1.5]: 2001/05/07 19:05:46 jackiem)
    +
    +This fixes a minor omission that prevents ghostscript from building on at
    +least some platforms. After an #ifndef, a #define isn't done.
    +(gsptype2.h [1.4]: 2001/05/11 23:12:11 jackiem)
    +
    +fix: If the ICC profile fails to load completely, or is missing a WhitePoint
    +a valid default is needed to prevent a divide by zero. The WhitePoint is the
    +same as the ICC default illuminant, D50. SourceForge bug 432130 for Artifex
    +customer #150 as well as bug 427156, customers #880 and #1110 and bug
    +414984. (gsicc.c [1.3]: 2001/06/12 15:32:20 rayjj)
    +
    +If an ICC color space failed to load, Acrobat Reader uses the alternate
    +color space. Previous implementation ignored errors during load and used the
    +partial ICC space. This change signals an error and uses the alternate space
    +by catching the error in a stopped context in the interpreter.
    +(gsicc.c [1.4]: 2001/06/12 16:02:39 rayjj)
    +
    +Patch from Mr. Toshiya Suzuki : Implementing multi-dimensional CID ranges,
    +and fixing bugs about decoding text string with CID font : (1) when GS
    +consumes undefined byte sequence (which cannot be mapped to some glyphs), GS
    +aborts. (2) when selected CID font lacks the glyph for requested CID, GS
    +aborts. (3) "notdefrange" defines SINGLE CID for undefined byte sequences in
    +specified range, but current GS implementation take it as an offset to
    +calculate MULTIPLE CID. (4) "cidrange" operators accept only full range
    +specification (<0000> to <FFFF>) or 8 bit width range
    +(<xxyy> to <xxzz>). Source Forge bug #415163. (gdebug.h [1.3],
    +gsfcmap.c [1.14], gsmisc.c [1.12], gxfcmap.h [1.8]: 2001/06/16 19:02:32
    +igorm)
    +
    +Notes that the 'foreign' member of the vm_spaces.memories allocator array is
    +not used (always zero). (gsgc.h [1.3]: 2001/06/17 04:03:52 lpd)
    +
    +Makes embedded CFF fonts in PDF files omit the FontBBox if it is [0 0 0 0].
    +This should only be a minor optimization, but SourceForge bug #428595 claims
    +that Acrobat Reader cares. (gdevpsf2.c [1.13]: 2001/07/06 05:17:31 lpd)
    +
    +Changed debugging flag variables to const. (gshtscr.c [1.6],
    +gsmdebug.h [1.3], gxchar.c [1.5], gxclimag.c [1.3], gxclip.c [1.4]:
    +2001/08/01 16:21:34 stefan911)
    +
    +Changed fill patterns for unallocated memory to const (gsmemory.c [1.3]:
    +2001/08/02 00:12:08 stefan911)
    +
    +These changes were originally put into the GS_6_5 branch on 2001/03/13. They
    +are needed for using the current version of teh graphics library with the
    +PCL6 code. Short description of changes: stat_.h: Added definition of
    +stat_is_dir for use with MSVC. Not used in Ghostscript. gsptype1.c: Changes
    +in image_PaintProc. This routine is used in gs_makepixmappattern.
    +gs_makepixmappattern is only used in test8 (in gslib.c - a test module) and
    +gs_makebitmappattern_xform. gs_makebitmappatern_xform is not used in
    +Ghostscript. It is used in pcl6. (gsptype1.c [1.3]: 2001/08/07 22:13:29
    +dancoby)
    +
    +Improves documentation for gs_string and gs_bytestring types; adds
    +gs_free_[const_]bytestring procedures. (gsmemory.c [1.4], gsmemory.h [1.3],
    +gstypes.h [1.3]: 2001/08/25 06:46:21 lpd)
    +
    +Speed up reading stdin when using callouts. Add platform-specific functions
    +for reading stdin, to allow non-blocking reading of stdin if supported.
    +Fixes Sourceforge bug #416973. (gp.h [1.7], unistd_.h [1.3]: 2001/09/15
    +08:48:33 ghostgum)
    +
    +Improves poor performance of shadings in some cases, notably Coons01.ps.
    +Long, thin triangles are now cut in half, rather than into four smaller
    +triangles. Thus, the mesh is more regular. (gxshade4.c [1.5]: 2001/09/22
    +16:15:43 raph)
    +
    +Updates version and date in documentation in preparation for 7.02
    +pre-release. (gscdef.c [1.14]: 2001/09/22 16:26:22 raph)
    +
    +

    Other

    +
    +Committing in . Modified Files: gs/icclib/icc.c gs/src/gdevpdf.c
    +gs/src/gp_vms.c gs/src/gsnogc.c gs/src/icclib.mak gs/src/openvms.mmk
    +gs/src/x_.h Added Files: gs/src/vms_x_fix.h Patches for OpenVMS
    +(icclib/icc.c [1.4], vms_x_fix.h [1.1]: 2001/04/20 09:56:22 joukj)
    +
    +This is the fix for [ #425014 ] Compile error on AIX in icc.c. The control87
    +is not defined on AIX systems (or probably on anything but x86 systems).
    +This was suggested by Graeme Gill. (icclib/icc.c [1.5]: 2001/06/06 08:14:14
    +dancoby)
    +
    +branches: 1.1.2; Adds initial support for macos. (gp_mac.h [1.1]: 2001/07/18
    +20:20:50 giles)
    +
    +branches: 1.1.2; Adds the remaining macos source files (macsysstat.h [1.1],
    +macsystypes.h [1.1]: 2001/07/18 20:27:39 giles)
    +
    +Adds generated macos build files to .cvsignore (.cvsignore [1.2]: 2001/07/31
    +20:03:20 giles)
    +
    +
    + +

    Version 7.00 (2001-04-08)

    + +

    +This is the official 7.0 Ghostscript release. Most of the changes +since 6.64 are quite minor, with the exception of one fix for ICC +profile support. + +

    +All problems registered on SourceForge numbered 414588 or lower are +closed, except for the following: 209350 215256, 219798, 221582, +222534, 222727, 224056, 224863, 226477, 226584, 227684, 228180, +228641, 230694, 231390, 404255, 404482, 405342, 406285, 406689, +406696, 406979, 407342, 409887, 410371, 411753, 413114, 413669, +413747, 414022, 414104, 414588. + +

    Incompatible changes

    + +
    +
    + +

    Documentation

    +
    +Updates broken and obsolete offsite links in the documenation.
    +(doc/Devices.htm [1.28], doc/Fonts.htm [1.18], doc/Language.htm [1.30],
    +doc/Lib.htm [1.11], doc/Maintain.htm [1.17], doc/Make.htm [1.29],
    +doc/New-user.htm [1.26], doc/Projects.htm [1.29], doc/Ps2epsi.htm [1.12],
    +doc/Readme.htm [1.27]: 2001/04/08 04:42:55 giles)
    +
    +Updates version number and date in preparation for 7.00 release.
    +(doc/API.htm [1.9], doc/Bug-form.htm [1.20], doc/Bug-info.htm [1.17],
    +doc/C-style.htm [1.17], doc/Commprod.htm [1.13], doc/Copying.htm [1.11],
    +doc/Current.htm [1.11], doc/DLL.htm [1.13], doc/Develop.htm [1.38],
    +doc/Devices.htm [1.29], doc/Drivers.htm [1.19], doc/Fonts.htm [1.19],
    +doc/Helpers.htm [1.15], doc/History1.htm [1.11], doc/History2.htm [1.11],
    +doc/History3.htm [1.11], doc/History4.htm [1.11], doc/History5.htm [1.13],
    +doc/History6.htm [1.27], doc/Htmstyle.htm [1.16], doc/Install.htm [1.22],
    +doc/Issues.htm [1.9], doc/Language.htm [1.31], doc/Lib.htm [1.12],
    +doc/Maintain.htm [1.18], doc/Make.htm [1.30], doc/New-user.htm [1.27],
    +doc/News.htm [1.84], doc/Projects.htm [1.30], doc/Ps-style.htm [1.11],
    +doc/Ps2epsi.htm [1.13], doc/Ps2pdf.htm [1.29], doc/Psfiles.htm [1.19],
    +doc/README [1.10], doc/Readme.htm [1.28], doc/Release.htm [1.35],
    +doc/Source.htm [1.11], doc/Tester.htm [1.12], doc/Unix-lpr.htm [1.11],
    +doc/Use.htm [1.27], doc/Xfonts.htm [1.11], doc/gs-vms.hlp [1.10],
    +man/dvipdf.1 [1.8], man/font2c.1 [1.8], man/gs.1 [1.8], man/gslp.1 [1.8],
    +man/gsnd.1 [1.8], man/pdf2dsc.1 [1.8], man/pdf2ps.1 [1.10],
    +man/pdfopt.1 [1.8], man/pf2afm.1 [1.8], man/pfbtopfa.1 [1.9],
    +man/printafm.1 [1.8], man/ps2ascii.1 [1.8], man/ps2epsi.1 [1.8],
    +man/ps2pdf.1 [1.12], man/ps2pdfwr.1 [1.9], man/ps2ps.1 [1.15],
    +man/wftopfa.1 [1.8]: 2001/04/09 06:20:01 raph)
    +
    +

    Procedures

    +
    +Completes the change of default X directories to /usr/X11R6. Last commit on
    +this was inadvertently incomplete. (unix-gcc.mak [1.19],
    +unixansi.mak [1.14]: 2001/04/07 23:34:40 raph)
    +
    +Updates version number and date in preparation for 7.00 release.
    +(version.mak [1.33]: 2001/04/09 06:20:03 raph)
    +
    +

    Utilities

    +
    +Fixes problems:
    +	- Correct the Unix executable handing of the display device formats
    +of 8bit and 24bit per pixel RGB. (dxmain.c [1.3]: 2001/04/08 08:40:29
    +ghostgum)
    +	- Ghostscript should return to the caller, not exit. Remove exit()
    +from gp_do_exit() for all platforms except VMS. (gp_dvx.c [1.4],
    +gp_iwatc.c [1.5], gp_os9.c [1.4], gp_unix.c [1.5]: 2001/04/08 08:43:24
    +ghostgum)
    +
    +

    PDF writer

    +
    +Fixes problems:
    +	- AR4 doesn't like fonts with empty FontBBox which happens when the
    +font contains only space characters. Small BBox causes AR 4 to display a
    +hairline. So we use the full BBox. (gdevpdfw.c [1.11]: 2001/04/08 14:12:56
    +alexcher)
    +
    +

    Interpreter

    +
    +Fixes problems:
    +	- Ghostscript should return to the caller, not exit. Remove exit()
    +from gp_do_exit() for all platforms except VMS. (gs.c [1.6]: 2001/04/08
    +08:43:24 ghostgum)
    +	- Need a cast to (gs_memory_t *) to prevent errors on some
    +compliers. Change provided by Nelson H. F. Beebe. (zfdctd.c [1.6]:
    +2001/04/09 05:15:57 rayjj)
    +	- Setting an ICC color space now invalidates the joint cache, so
    +that TransformPQR gets computed. The profile is explicitly loaded so that
    +the TransformPQR procedures have access to the white point. Also, the
    +photometric interpretation of the hack for /All separation color spaces is
    +reversed. Fixes Fixed_Original.pdf from Michael Jahn and Adobe tech note
    +5002_EPSF_Spec.pdf. (zicc.c [1.2]: 2001/04/09 06:09:58 raph)
    +
    +Updates version number and date in preparation for 7.00 release.
    +(lib/gs_init.ps [1.34]: 2001/04/09 06:20:03 raph)
    +
    +

    Library

    +
    +Fixes problems:
    +	- Setting an ICC color space now invalidates the joint cache, so
    +that TransformPQR gets computed. The profile is explicitly loaded so that
    +the TransformPQR procedures have access to the white point. Also, the
    +photometric interpretation of the hack for /All separation color spaces is
    +reversed. Fixes Fixed_Original.pdf from Michael Jahn and Adobe tech note
    +5002_EPSF_Spec.pdf. (gscsepr.c [1.9], gsicc.c [1.2], gsicc.h [1.2]:
    +2001/04/09 06:09:58 raph)
    +
    +
    + + + + +
    + +

    +Copyright © 2001 artofcode LLC. +All rights reserved. + +

    +This software is provided AS-IS with no warranty, either express or +implied. + +This software is distributed under license and may not be copied, +modified or distributed except as expressly authorized under the terms +of the license contained in the file LICENSE in this distribution. + +

    +Ghostscript version 7.07, 17 May 2003 + + + + + diff --git a/Master/xemtex/doc/ghostscript/Htmstyle.htm b/Master/xemtex/doc/ghostscript/Htmstyle.htm new file mode 100644 index 00000000000..05b4e82ef06 --- /dev/null +++ b/Master/xemtex/doc/ghostscript/Htmstyle.htm @@ -0,0 +1,778 @@ + + + +HTML coding and style guidelines for Ghostscript documentation + + + + + + + + + +

    HTML coding and style guidelines for Ghostscript documentation

    + + + + + +

    Table of contents

    + +
    + + + + + +

    For other information, see the Ghostscript +overview. + + + +


    + + + + + +

    Introduction

    + +

    +The most important intention in casting Ghostscript's documentation into +Hypertext Markup Language (HTML) from simple text form is to improve its +usefulness greatly to those who use, install, and build Ghostscript: +everything else is details. The wide spread of World Wide Web browsers now +makes it possible to distribute documents which are not only readable as +text, but also richly cross-linked as hypertext. Using hypertext through a +browser can reduce the effort required to find and use the information +people often need in order to use Ghostscript. + +

    +The remainder of this document expresses the guidelines used to create the +HTML form of the Ghostscript documentation. The guidelines are intended to +encourage + +

      +
    • documents that are easy to read and understand in all of the most-used +forms: on screen with a browser, printed by a browser, or as plain text; + +
    • correct HTML that conforms to prevailing standards; + +
    • consistent HTML coding among all Ghostscript's documents; and + +
    • HTML documents that are as simple as possible in light of their +contents; free of difficult, little-used, or proprietary constructs; and +easy to understand and modify. +
    + +

    +Here are those guidelines. + +


    + +

    Appearance and contents

    + +

    +What the user sees browsing the documentation, and what a document +developer or editor sees working with it, are different. This section is +about what the user sees. + +

    Page structure

    + +

    +A Ghostscript document in HTML form should consist of + +

      +
    1. a visual header containing +
        +
      1. a conspicuous highlighted headline; +
      2. a table of contents; +
      3. "hints": references to other useful documents, always including +Readme.htm; +
      +
    2. the substantive contents; +
    3. a visual trailer consisting entirely of +
        +
      1. standard copyright and licensing text; +
      2. the Ghostscript version number; and +
      3. the date when the document was last modified. +
      +
    + +

    +This document is an example of this standard visible structure. Also see +below about "Structuring comments" in +HTML source code. + +

    +Where it makes sense to modify the standard structure to make the document +more usable, do that. See +Readme.htm for an example: the +introductory material at the beginning of the visible header, before the +table of contents. + +

    Links to outside the Ghostscript documentation

    + +

    +Links to sites and documents outside the ghostscript distribution +must carry the class="offsite" attribute and value. This signals special +formatting to the stylesheet to assist users reading offline. + +

    +Avoid gratuitous commercial links; for instance, link the title of a book +to its publisher, not to one particular on-line bookseller. See +Language.htm for an +example, the reference to the PostScript Language Reference +Manual. + +

    +Similarly, where you have a choice, refer to free software rather than +commercial products. See +Make.htm for an example, the +reference to InfoZip +unzip (where many commercial products provide similar +functions). + +

    Images and graphics

    + +

    +Use no graphics or images. The documents are text-only, so nothing is lost +when a document is converted into ASCII text. This is an explicit initial +design goal of the HTML documentation. + +

    index.html

    + +

    +index.html is not a part of the visible Ghostscript +documentation itself, but when it is placed with all the +*.htm files in a directory and a browser refers to the +directory name alone, most servers are configured to deliver a file named +index.html by default. This one does nothing except +immediately to open the introductory Ghostscript document +Readme.htm. This is intended to +make life easier for both webmasters and users. + +


    + +

    HTML large structure

    + +

    HTML <head>

    + +

    +Besides the essential HTML structure elements, Ghostscript HTML document's +<head> consists of three elements in this order: + +

      +
    1. A <title>, usually the same text as the +headline + +
    2. An RCS identification line giving the name of the file in an HTML +comment: + +
      + +<!-- $Id: {file name}.htm $ --> +
      + +
    3. For documents converted from another form, an HTML comment line giving +the name of the original file before it was edited and converted to HTML: + +
      +<!-- Originally: {file name} --> +
      +
    + +

    HTML <body>

    + +

    +A Ghostscript HTML document's <body> consists of five +elements in this order: + +

      +
    1. The headline is conspicuous text +at the top of the page, usually the same as the +<title> text. It is +always in a table whose purpose is to provide a colored background using +bgcolor, going the full width of the page: + +
      +<p><table width="100%" border="0">
      +<tr><th align="center" bgcolor="#CCCC00"><font size=6>

      +{Text}
      +</font>
      +</table>
      +
      + +
    2. +The table of contents consists of nested unordered +lists <ul>, in most documents assembled strictly from +the <Hn> headers. The levels of nesting in the table +of contents correspond to the level numbers of the headers. + +
    3. The hint is a short section suggesting where to look +for other related information. With very few exceptions this always +includes a reference and link to +Readme.htm, but may include other +suggestions and references. + +
    4. The substance of the document. + +
    5. The trailer contains, in a small font size, + +
        +
      1. the copyright notice and other legal boilerplate text +
      2. the version number of Ghostscript and the +date when the file was last modified. +
      +
    + +

    +This document for an example of that structure. + +


    + +

    HTML inner structure

    + +

    Structuring comments

    + +

    +Special comment lines within the HTML files mark internally the visible +sections of the document. They make it easy for both document developers +and programs to handle the HTML code. Each of these comments is exactly 80 +characters wide, and each important section of a document is bracketed by a +unique beginning and ending pair. View the source code of this document +for an example of these structuring comments. The sections they mark are: + +

      +
    1. the visible header +
        +
      1. the headline +
      2. the table of contents +
      3. the "see also" hints +
      +
    2. the body +
    3. the trailer +
    + +

    Headers: <Hn>

    + +

    +Give a header <Hn> this structure: + +

    +<h2><a name="Head_anchor"></a>Header text</h2> +
    + +

    +That is, the opening header tag, an anchor, the header text, and the +closing tag. + +

    +Represent every header in the table of contents, linked +<a href="#...">...</a> to +the header. Of course, the headers are also convenient linkage points for +references from other documents. + +

    Anchors: <a name="...">

    + +

    +Give an anchor a name consisting only of letters, digits, dots +("."), hyphens ("-"), and underscores +("_"), but not white space or other punctuation marks. +This ensures that the name is readable and that an entire name always +appears on a single line of HTML source both where it's defined and +everywhere it's used, making it simple to find anchors by text search in +the HTML source code. + +

    +Choose anchor names to be readable and meaningful in the HTML source code. +For instance: + +

    + +
    Use this form +      + ... NOT this form +

    +
    <a name="Image_formats"></a> +   + <a name="Imgfts"></a> +
    + +

    +Anchors should be empty, that is + +

    + +
    Use this form +      + ... NOT this form +

    +
    <a name="..."></a> +   + <a name="...">anything</a> +
    + +

    +Place an anchor within a paragraph (indented +paragraph, list item, head, etc.) and at its beginning. + +

    + +
    Use this form +      + ... NOT this form +

    +
    <p><a name="..."></a> +   + <p> ...text... <a name="..."></a> +
    <p><a name="..."></a> +   + <a name="..."></a><p> +
    <li><a name="..."></a> +   + <a name="..."></a><li> +
    + +
    + +

    The presentation of text

    + +

    Sections of text

    + +

    Paragraphs: <p>

    + +

    +Define unindented paragraphs with <p>, never with +explicit line breaks <br>, and make them +ragged-right, not right-filled or centered. Put the paragraph tag +<p> on a line alone, except when it is +followed immediately by an anchor. +Don't place the anchor before the paragraph tag. + +

    Indented paragraphs: <blockquote>

    + +

    +Define indented paragraphs with <blockquote>. Avoid +elaborate nested indentation -- that is, more than two levels. It is +generally a poor idea to try to make indentation carry too much weight of +meaning for text, so use indentation simply to separate visual elements for +easier reading. + +

    Explicit line breaks: <br>

    + +

    +Use explicit line breaks <br> sparingly, and never as +a substitute for paragraph tags. Do use them in + +

      +
    • multi-line addresses +
    • formatted coding examples +
    • table entries, sparingly +
    + +

    Preformatted text: <pre>

    + +

    +Use preformatted text <pre> exclusively for material +that must be presented with exact spacing in a monospaced font, such as +extended coding examples. Where extended preformatted text seems likely to +be wider than a typical browser window, reduce the font size: + +

    +<font size="-1"><pre>
    +... Wide preformatted text ...
    +</pre></font> +
    + +

    The use of different font faces

    + +

    +Do not use named fonts. Use only standard markup to specify fonts, as +shown in this table. + +

    + +

    Use of fonts
    +
    Tag +     + Used for +

    +
    <address> +   + Addresses in running text +
    <b> +   + Emphasis everywhere +
    <em> +   + Emphasis, usually in running text; with <b>, strong emphasis +
    <font size=N> +   + Table headings, extended <pre> examples +
    <pre> +   + Preformatted text (to control spacing) +
    <small> +   + Superscripts (smaller than <font size="-1">) +
    <sup> +   + Superscripts +
    <tt> +   + With <b>, used for specific names of + code, programs, and data in running text, and in short examples +
    + +
    + +

    Lists: <ul>, <ol>, <dl>

    + +

    +Don't over-use lists: instead simply use clear wording in running text +wherever possible. Use a list where the special formatting improves the +material's clarity and readability. + +

    +Most simple lists should be unordered (bulleted) lists +<ul>. Use an ordered (numbered or alphabetized) list +<ol> only where the exact ordering or an exact count +is important. + +

    +Where entries in a descriptive list <dl> contain +extended descriptions <dd> -- especially if the +descriptions contain paragraph breaks or tables -- improve the spacing +between entries by making each entry a separate list. That is, enclose +each entry in a separate list to give it more readable spacing, rather than +putting many <dt>...<dd>... entries in a single +list: + +

    + +
    Use this form +      + ... NOT this form +

    +
    + <dl>
    + <dt>Term
    + <dd>Description
    + <p>Another paragraph of description
    + </dl>
    +  
    + <dl>
    + <dt>Another term
    + <dd>Another description
    + </dl>
    + ...
    +
      + + <dl>
    + <dt>Term
    + <dd>Description
    + <p>Another paragraph of description
    + <dt>Another term
    + <dd>Another description
    + ...
    + </dl> +
    + +

    +This may be more work for the HTML writer, but the results for the reader +are often much better. + +


    + +

    Tables: <table>

    + +

    Readability for the user and the HTML writer

    + +

    +Format tables to be as readable as possible both with a browser and when +converted to plain text. Browsers and converters of all kinds handle +tables idiosyncratically, so there seems to be more art than science to +reaching this end, which accounts for all the detail in the guidelines for +tables: it is the reason for all the uses of background color +bgcolor, horizontal rules <hr>, and +explicit spacing. + +

    +Secondarily, arrange HTML source code for tables to be readable by the +writer and developer. + +

    Specific guidelines for coding tables

    + +
      +
    • Large tables have heads with the same background color as the page's +headline. (Color is used only in tables and only +this way, and it is the same color everywhere. In consideration of +differences of color vision, the color is chosen so that normal black text +contrasts with a brighter background, and the color itself against white.) + +
    • Do not use borders for tables; they almost invariably only clutter the +appearance without adding to clarity, and they don't convert well to plain +text. For visual spacing prefer white space. + +
    • Set cell padding and spacing to 0. Use explicit white space for +readability, not implicit white space. + +
    • Begin the code for a new row <tr> on a new line. +Generally use valign=top to control the placement of text +in a row for readability with a browser or as plain text. + +
    • Code the first column of a row beginning on the same line as the +beginning of the row, and then begin every other column on a separate line. +Always precede <td> by a tab character. + +
    • Separate two columns of substantive material by a visually empty column +of nonbreaking spaces for readability. Specify the width of this empty +column in the first row, and in all other rows give that column a single +nonbreaking space. + +
    • Use horizontal rules and visually empty rows for clarity, but +sparingly. Be consistent with the existing tables. + +
    • Give every cell some contents: put a nonbreaking space in a visually +empty cell as a placeholder. +
    + +

    HTML code for typical tables

    + +

    +The HTML source code for a typical large table should look like this: + +

    +
    <table cellpadding=0 cellspacing=0>
    +<tr><th colspan=5 bgcolor="#CCCC00"><hr><font size="+1">Large table</font><hr>
    +<tr>    <th align=left>...
    +        <td>&nbsp;&nbsp;&nbsp;
    +        <th align=left>...
    +        <td>&nbsp;&nbsp;&nbsp;
    +        <th align=left>...
    +<tr>    <td>...
    +        <td>&nbsp;&nbsp;
    +        <td>...
    +        <td>&nbsp;
    +        <td>...
    +...
    +</table>
    +
    + +

    +The HTML source code for a typical small table should look like this: + +

    +
    <table cellpadding=0 cellspacing=0>
    +<tr>    <td>...
    +        <td>&nbsp;&nbsp;&nbsp;
    +        <td>...
    +<tr>    <td>...
    +        <td>&nbsp;
    +        <td>...
    +...
    +</table>
    +
    + +
    + +

    Tags not used

    + +

    +Don't use optional tags (ones not required by the HTML standard). These +include </dd>, </dt>, +</li>, </p>, +</tr>, </th>, and +</td>. + +


    + +

    Creating a new document

    + +

    Name the new document in 8+3 format

    + +

    +If you create a new Ghostscript HTML document, choose for it a name in 8+3 +format for cross-platform compabitility: + +

    +Name.htm +
    + +

    +where "Name" is no more than eight characters. + +

    +Begin the new file name with an upper-case letter like the existing names, +which are in mixed case beginning with upper-case letters. Use spelling, +not case, to distinguish between names: that is, don't create a new file +whose name differs from an existing one only by the difference between +upper and lower case, because some platforms can't store two such files. + +

    Use an existing document as a model

    + +

    +To create an entirely new Ghostscript document, plagiarize this one for the +structuring comments and other useful +parts. Then, using the structuring +comments as a guide to the sections of the document (in a text editor, +search for "<!-- ["): + +

      +
    • insert your own HTML title and headline (they +should ordinarily be the same text) in place of the old ones; + +
    • insert your own RCS $Id in place of the old one in the +HTML header; + +
    • delete the old entries in the table of +contents; + +
    • keep the hint paragraph; + +
    • delete the entire contents section between the structuring comments; +and + +
    • in the trailer, update the version number and date. +
    + +

    +You now have a template document ready for new contents. + +

    Write new references to go in Readme.htm

    + +

    +Write material to go in Readme.htm +that describes the new document, and links to it from two sections: + +

    + +

    Other considerations

    + +

    +Follow the other guidelines here, including which elements of the +document should go in which section according to the structuring comments, +and anchoring every <Hn> +header. As you create text and headers, you will want to rebuild the +table of contents from the headers +occasionally. + +

    +Pete Kaiser <kaiser@acm.org> +wrote a package of GNU emacs functions specifically to handle Ghostscript +HTML documentation, including functions to build a table of contents from +headers in an HTML document, and to build and maintain tables and +other structures built along the guidelines in this document. + +


    + +

    Miscellany

    + +

    +Use <> to bracket links to visible email addresses +(mailto) in running text. This makes it easy for a user to +cut and paste the entire name and address into another document or mailer, +for instance + +

    +Free Software Foundation <gnu@gnu.org> +
    + +

    +For exponentiation use "^" (not "**" or "exp()") plus +writing the exponent as a superscript in <small> +size: + +

    +Something^<sup><small>exponent</small></sup>. +
    + +

    +to look like this: + +

    +Something^exponent +
    + +

    +This is intended for readability both in a browser and as plain text. + + + + +


    + +

    +Copyright © 1996, 2000 Aladdin Enterprises. All rights +reserved. + +

    +This software is provided AS-IS with no warranty, either express or +implied. + +This software is distributed under license and may not be copied, +modified or distributed except as expressly authorized under the terms +of the license contained in the file LICENSE in this distribution. + +

    +Ghostscript version 7.07, 17 May 2003 + + + + + diff --git a/Master/xemtex/doc/ghostscript/Humor.htm b/Master/xemtex/doc/ghostscript/Humor.htm new file mode 100644 index 00000000000..2df2a61a1b4 --- /dev/null +++ b/Master/xemtex/doc/ghostscript/Humor.htm @@ -0,0 +1,99 @@ + + + +Another Ghostscript interpreter + + + + + + + + + + +

    Another Ghostscript interpreter

    + + + + + + + + + +

    +This document contains a humorous message, verbatim except for +minor spelling corrections, received from a friend out in network-land. + + + + + +


    + + + +

    +Regarding Ghostscript: I hate to say this to you but I've already +implemented a Ghostscript interpreter. I'm happy to see that someone else +has recognized the need dead people have for computers. I have included an +example of the output of my Ghostscript at the end of this letter. + +

    +The interpreter is written in a language called cant-C, developed by Mr. +Turing last year. The compiler is easily ported to any environment you +care to name. I would be more than happy to send you a copy, but you must +first contact my lawyer for this venture, Thomas Jefferson of Phila. Pa.. +(As a side note, Mr. Jefferson is very excited by Ghostscript. Look for +The Declaration of Independance V1.1 RSN). + +

    +The possibilities for Ghostscript go far beyond Deathtop publishing, I'm +sure you'll agree. I have contacted numerous authors who may be interested +in using Ghostscript (Shakespeare, Hemingway, etc) and all have been very +excited by what they've seen. (Shakespeare wants to write a modern Romeo +and Juliette, called Romeo and Julio, the story of 2 gay hispanic men kept +apart by their parents.) + +

    +Anyway, here is the Ghostscript example I promised. Feel free to show this +to your friends and colleagues, I'm sure they'll all be suitably impressed. + +

    +------Cut Here--------------------------------------
    +------Cut Here--------------------------------------
    +
    + + + + +
    + +

    +Copyright © 2001 artofcode LLC. All rights reserved. + +

    +This software is provided AS-IS with no warranty, either express or +implied. + +This software is distributed under license and may not be copied, +modified or distributed except as expressly authorized under the terms +of the license contained in the file LICENSE in this distribution. + +For more information about licensing, please refer to +http://www.ghostscript.com/licensing/. For information on +commercial licensing, go to http://www.artifex.com/licensing/ or +contact Artifex Software, Inc., 101 Lucas Valley Road #110, +San Rafael, CA 94903, U.S.A., +1(415)492-9861. + +

    +Ghostscript version 7.00, 8 April 2001 + + + + + + diff --git a/Master/xemtex/doc/ghostscript/Install.htm b/Master/xemtex/doc/ghostscript/Install.htm new file mode 100644 index 00000000000..060de229bae --- /dev/null +++ b/Master/xemtex/doc/ghostscript/Install.htm @@ -0,0 +1,540 @@ + + + +How to install Ghostscript + + + + + + + + + + +

    How to install Ghostscript

    + + + + + +

    Table of contents

    + +
    + + + + + +

    For other information, see the Ghostscript +overview and "How to build Ghostscript from source +code". + + + +


    + + + + + +

    Overview of how to install Ghostscript

    + +

    +You must have three things to run Ghostscript: +

      +
    1. The Ghostscript executable file; on some operating +systems, more than one file is required. These are entirely +platform-specific. See below for details. + +
    2. Initialization files that Ghostscript reads in when it +starts up; these are the same on all platforms. +
        +
      • gs_*.ps unless Ghostscript was compiled +using the "compiled initialization files" option. See the documentation of +PostScript files distributed with Ghostscript. + +
      • pdf_*.ps if Ghostscript was compiled +with the ability to interpret Adobe Portable Document Format (PDF) files, +that is, pdf.dev was included in +FEATURE_DEVS when Ghostscript was built. + +
      • Fontmap and Fontmap.GS (or the +appropriate Fontmap.xxx for your platform), unless +you plan always to invoke Ghostscript with the -dNOFONTMAP switch. +
      + +
    3. Fonts, for rendering text. These are platform-independent, +but if you already have fonts of the right kind on your platform, +you may be able to use those. See below for details. Also see the +documentation on fonts. +
    + +

    +The usage documentation describes the search +algorithms used to find initialization files and font files. The +per-platform descriptions that follow tell you where to install these +files. + +


    + +

    Installing Ghostscript on Unix

    + +

    +Ghostscript uses a GNU autoconf-based configure, build and install method +common to many modern software packages. In general the following with suffice +to build ghostscript: +

    + ./configure
    + make +
    +and then it may be installed in the default location with: +
    + make install +
    +This last command may need to be performed with super user privileges. + +

    +You can set the installation directory by adding --prefix=path +to the configure invocation in the first step. The default prefix is /usr/local, +which is to say the gs executable is installed as /usr/local/bin/gs. + +

    A list of similar configuration options is available via ./configure --help + +

    +For more detailed information on building Ghostscript see +how to build Ghostscript on Unix in +the documentation on building Ghostscript, especially regarding information +on using the older hand edited makefile +approach. Whatever configuration method you use, execute "make +install" to install the executable and all the required and +ancillary files after the build is complete. + +

    Fonts

    + +

    +The makefile installs all the files except fonts under the directory +defined in the makefile as prefix. Fonts need to be +installed separately. The fonts should be installed in +{prefix}/share/ghostscript/fonts. +(That is, /usr/local/share/ghostscript/fonts/ if you used the default +configuration above.) + +

    +You can have ghostscript use other fonts on your system by adding +entries to the fontmap or adding the directories to the GS_FONTMAP environment +variable. See the usage documentation for more +information. +For example, many GNU/Linux distributions place fonts under /usr/share/fonts. + +

    Ghostscript as a shared object

    +If you've built Ghostscript as a shared object, instead of 'make install', +you must use 'make soinstall'. +See how to build Ghostscript +as a shared object for more details. + +

    Additional notes on GNU/Linux

    + +

    +For GNU/Linux, you may be able to install or upgrade Ghostscript from +precompiled RPM files using: + +

    +rpm -U ghostscript-N.NN-1.i386.rpm
    +rpm -U ghostscript-fonts-N.NN-1.noarch.rpm +
    + +

    +However, please note that we do not create RPMs for Ghostscript, and we take +no responsibility for RPMs created by others. + +


    + +

    Installing Ghostscript on MS Windows

    + +

    +We usually distribute Ghostscript releases for Windows as self-extracting +archive files, since this is the most convenient form for users. These +files can also be unpacked as if they were plain zip files. + +

    +The self-extracting archive is normally named +gs###w32.exe, +where ### is the release number (e.g., 650 for Ghostscript 6.50, +700 for Ghostscript 7.00). + +

    Windows 95/98 and NT 4

    + +

    +To install a self-extracting Ghostscript archive on Windows 95/98 or +Windows NT4/2000, you need just this self-extracting archive file. +Run this file to install Ghostscript. + +

    +Alternatively, if you have the zip file, unzip it to a temporary +directory then run the included setupgs.exe. +After the setup program has finished, remove the temporary files. + +

    General Windows configuration

    + +

    +The archive includes files in these subdirectories: + +

    +gs#.##\bin +
    gs#.##\lib +
    gs#.##\examples +
    gs#.##\doc +
    fonts +
    + +

    +The actual executable files, in the gs#.##\bin +subdirectory, are: + +

    +
    GSWIN32.EXE +   + 32-bit Ghostscript using windows +
    GSWIN32C.EXE +   + 32-bit Ghostscript using only the command line +
    GSDLL32.DLL +   + 32-bit dynamic link library containing most of Ghostscript's +functionality +
    + +

    +See "Installing Ghostscript on DOS" below for +information about using Adobe Type Manager, Adobe Type Basics, or Adobe +Acrobat fonts. If your system uses TrueType fonts, you can get them +converted to a Ghostscript-compatible format at the time you select your +"printer" by doing the following: + +

      +
    1. Open control panel and double-click on the "Printers" icon. +
    2. Select your Postscript printer. +
    3. Choose Setup. +
    4. Choose Options. +
    5. Choose Advanced. +
    6. At the top of the dialog box you will see TrueType Fonts Send to +Printer As: Choose (drop-down menu) Adobe Type 1. +
    7. Uncheck Use Printer Fonts for All TrueType Fonts and Use +Substitution +Table. +
    8. OK. +
    9. OK etc. +
    + +

    +That's it! Your TrueType fonts will automatically be downloaded in your +PostScript file for Ghostscript to use. + +

    +For printer devices, the default output is: + +

    +
    The default printer +     + Win95 or WinNT +
    Prompt for a printer port +   + Win32s (Windows 3.1) +
    + +

    +This can be modified as follows. + +

    +
    +
    -sOutputFile="LPT1:" +
    Output to the named port. + +
    -sOutputFile="%printer%printer name" (Windows 95, 98, +NT or 2000) +
    Output to the named printer. If your printer is named "HP DeskJet 500" +then you would use -sOutputFile="%printer%HP DeskJet 500". + +
    -sOutputFile="\\spool\printer name" (Windows 3.1/Win32s) +
    Output to the named printer. Note that this is NOT a UNC name. + +
    +
    + +

    +If Ghostscript fails to find an environment variable, it looks for a +registry value of the same name under the key + +

    +HKEY_CURRENT_USER\Software\GNU Ghostscript\#.## +
    + +

    +or if that fails, under the key + +

    +HKEY_LOCAL_MACHINE\SOFTWARE\GNU Ghostscript\#.## +
    + +

    +where #.## is the Ghostscript version number. This does not work under +Win32s (that is, Windows 3.1, which doesn't support named registry +values). + +

    +Ghostscript will attempt to load the Ghostscript dynamic link +library GSDLL32.DLL in the following order: +

      +
    • In the same directory as the Ghostscript executable. +
    • If the environment variable GS_DLL is defined, +Ghostscript tries to load the Ghostscript dynamic link library (DLL) +with the name given. +
    • Using the standard Windows library search method: the directory +from which the application loaded, the current directory, the Windows +system directory, the Windows directory and the directories listed in +the PATH environment variable. +
    + +

    +The Ghostscript setup program will create registry values +for the environment variables GS_LIB +and GS_DLL. + +

    Uninstalling Ghostscript on Windows

    + +

    +To uninstall Ghostscript, use the Control Panel, Add/Remove Programs and +remove "Ghostscript #.##" and "Ghostscript Fonts". (The entries may be +called "Aladdin Ghostscript" or some other specifier rather than just +"Ghostscript", depending on what version of Ghostscript was installed.) + +


    + +

    Installing Ghostscript on OpenVMS

    + +

    +You need the file GS.EXE to run Ghostscript on OpenVMS, and +installing Ghostscript on an OpenVMS system requires building it first: +please read how to build Ghostscript on VMS +in the documentation on building Ghostscript. + +

    +The following installation steps assume that the Ghostscript directory is +DISK1:[DIR.GHOSTSCRIPT]. Yours will almost certainly be in +a different location so adjust the following commands accordingly. + +

      + +
    • Download the fonts and unpack them into +DISK1:[DIR.GHOSTSCRIPT.LIB]. + +
    • Enable access to the program and support files for all users with: + +
      +$ set file/prot=w:re DISK1:[DIR]GHOSTSCRIPT.dir
      +$ set file/prot=w:re DISK1:[DIR.GHOSTSCRIPT...]*.*
      +
      + +
    • Optionally, add the Ghostscript help instructions to your system wide +help file: + +
      +$ lib/help sys$help:HELPLIB.HLB DISK1:[DIR.GHOSTSCRIPT.DOC]GS-VMS.HLP
      +
      + +
    • Lastly, add the following lines to the appropriate system wide or user +specific login script. + +
      +$ define gs_exe DISK1:[DIR.GHOSTSCRIPT.BIN]
      +$ define gs_lib DISK1:[DIR.GHOSTSCRIPT.EXE]
      +$ gs :== $gs_exe:gs.exe
      +
      + +
    + +

    +If you have DECWindows/Motif installed, you may wish to replace the +FONTMAP.GS file with FONTMAP.VMS. Read the +comment at the beginning of the latter file for more information. + +


    + +

    Installing Ghostscript on DOS

    + +

    +You need the files GS386.EXE and DOS4GW.EXE +to run Ghostscript. You should install all the files except the fonts in +C:\GS, and the fonts in C:\GS\FONTS. + +

    If you have Adobe Type Manager +(ATM) fonts installed on your system, and you wish to use them with +Ghostscript, you may wish to replace the FONTMAP file with +FONTMAP.ATM, and to add to the environment variable +GS_LIB the name of the directory where the fonts are located +(see below for more information about GS_LIB). Before you +do this, please read carefully the license that accompanies the ATM fonts; +we take no responsibility for any possible violations of such licenses. +Similarly, if you have Adobe Type Basics, you may wish to replace +FONTMAP with FONTMAP.ATB. Finally, if you +have neither ATM nor ATB but you have Adobe Acrobat installed, you can use +the Acrobat fonts in place of the ones provided with Ghostscript by adding +the Acrobat fonts directory to GS_FONTPATH and removing +these fonts from FONTMAP: + +

    +Courier, Courier-Bold, Courier-BoldOblique, Courier-Oblique, Helvetica, +Helvetica-Bold, Helvetica-BoldOblique, Helvetica-Oblique, Symbol, Times-Bold, +Times-BoldItalic, Times-Italic, Times-Roman, ZapfDingbats +
    + +
    + +

    Installing Ghostscript on OS/2 2.x

    + +

    +The Ghostscript OS/2 implementation is designed for OS/2 2.1 or later. A +few people have used it successfully under OS/2 2.0, but it has had very +little testing. You need these files to run Ghostscript on OS/2: + +

    +
    GSOS2.EXE +     + A text application that will run windowed or full screen +
    GSDLL2.DLL +   + A dynamic link library that must be in the same directory as + GSOS2.EXE or on the LIBPATH. +
    GSPMDRV.EXE +   + An "external driver" used by the "os2pm" + device, which is normally the default device and which displays + output in a Presentation Manager window; + GSPMDRV.EXE must be located in the same + directory as GSOS2.EXE or on the + PATH +
    + +

    +GSOS2.EXE, GSDLL2.DLL and +GSPMDRV.EXE are compiled using EMX/GCC 0.9d. You must have +the EMX DLLs on your LIBPATH; they are available in a +package emxrt.zip from many places on the Internet, so you +can find the package by using a search engine or an ftp lookup service such +as the one at + +

    +http://ftpsearch.lycos.com/ +
    + +

    +The system menu of the Ghostscript Image window includes a "Copy" command +to copy the currently displayed bitmap to the Clipboard. + +

    +OS/2 comes with some Adobe Type Manager fonts. If you wish to use these with +Ghostscript, you should replace the FONTMAP file with +FONTMAP.OS2, and add to the environment variable +GS_LIB (see below for more information about +GS_LIB) the name of the directory where the fonts are +located, usually C:\PSFONTS. Before you do this, please +read carefully the license that accompanies the ATM fonts; we take no +responsibility for any possible violations of such licenses. + +

    +Since GSOS2.EXE is not a PM application, it cannot +determine the depth of the PM display. You must provide this information +using the -dBitsPerPixel option. Valid values are 1, 4, 8 +(the default), and 24. + +

    + +
    Use +      + For +

    +
    -dBitsPerPixel=1 +   + VGA monochrome +
    -dBitsPerPixel=4 +   + VGA standard +
    -dBitsPerPixel=8 +   + SVGA 256 colors +
    + +

    +A command file gspm.cmd containing the following line may +be useful: + +

    +@c:\gs\gsos2.exe -Ic:/gs;c:/gs/fonts;c:/psfonts -sDEVICE=os2pm -dBitsPerPixel=8 -sPAPERSIZE=a4 %1 %2 %3 %4 %5 %6 %7 %8 +
    + +

    +While drawing, the os2pm driver updates the display every 5 +seconds. On slow computers this is undesirable, and a different interval +can be specified in milliseconds with the -dUpdateInterval +option, with a default of -dUpdateInterval=5000; to disable +update, use -dUpdateInterval=0. + +

    +Standard VGA is very slow because it uses double buffering to avoid bugs +and because of 1-plane to 4-plane conversion; it's better to use a +256-color display driver. Many display drivers have bugs which cause 1 +bit-per-pixel bitmaps to be displayed incorrectly. + +

    +GSOS2.EXE and GSPMDRV.EXE will stay in +memory for the number of minutes specified in the environment variable +GS_LOAD. + +

    +If you run GS386 in the OS/2 2.0 or 2.1 DOS box, you must +select the "ENABLED" setting for the DPMI_DOS_API option of the DOS box. +GS386 will not run with the "AUTO" setting. + +

    +For printer devices, output goes to the default queue. To print to a +specified queue, use -sOutputFile=\\spool\NullLPT1, where +NullLPT1 is the queue's physical name. + + + + +


    + +

    +Copyright © 1996, 2000 Aladdin Enterprises. All rights +reserved. + +

    +This software is provided AS-IS with no warranty, either express or +implied. + +This software is distributed under license and may not be copied, +modified or distributed except as expressly authorized under the terms +of the license contained in the file LICENSE in this distribution. + +

    +Ghostscript version 7.07, 17 May 2003 + + + + + diff --git a/Master/xemtex/doc/ghostscript/Issues.htm b/Master/xemtex/doc/ghostscript/Issues.htm new file mode 100644 index 00000000000..6285337ecfb --- /dev/null +++ b/Master/xemtex/doc/ghostscript/Issues.htm @@ -0,0 +1,502 @@ + + + +Ghostscript Open Issues. + + + + + + + + + +

    Known limitations and minor bugs.

    + + + + + +

    Table of contents

    + + + + + + + +

    For other information, see the Development Projects list +. + + + +


    + + + + + +

    +There are many areas that might make Ghostscript more useful or minor bugs +that we would like to investigate and possibly fix, but for which we don't +have enough resources. These may or may not be addressed in future releases. +

    +If you would like to take responsibility for any of these issues, please +contact us. +

    +Additional comments on implementation approaches or project goals are in +italic type like this. +


    + +

    Known Limitations.

    + +

    bbox device doesn't allow min coords < 0.

    +Adobe eps specification doesn't say that bbox values must be positive, +and, for example Adobe Illustrator, can create EPS files with negative bboxes. +In such case, Ghostscipt returns zero instead of proper negative number. +
    SourceForge Bug #202735 March 09, 2000. +

    + +This might be able to be fixed by applying a large positive translation to +the bbox CTM which would be subtracted from coordinates passed to the target +device as well as from the results the bbox device reports. +

    +If coordinates for the ImagingBBox[0] and [1] values, then negative +values are handled, but this is not reliable since there are places in +the graphics library that depend on first quadrant coordinates. + + +

    Error messages are too low level and confusing.

    + +

    +Although technically correct many error messages are confusing for +end users. Some commonly reported examples are listed below. + +

    +When pdfwrite device cannot open the output file it fails with: +

    **** Unable to open the initial device, quitting.
    + +When CIDFont-CMap pair required by PDF file is not available GS +fails with: +
    /undefinedresource in --findresource--
    + +
    +

    Minor Bugs.

    + +

    PageSize cannot use packedarray

    +PageSize doesn't accept packed array as an argument if the page size is +adjusted, for instance, to the whole number of pixels. The following +program +
    +%!
    +/x 333.33333333 def /y 666.66666666 def
    +
    +<< /PageSize x y 2 packedarray >> setpagedevice
    +(pached passed)==    % fails
    +%EOF
    +
    +fails with +
    +Error: /configurationerror in --setpagedevice--
    +Additional information: [/PageSize [333.333344 666.666687]]
    +
    + +

    Multiple encode filters in a pipeline fail.

    +The following code fragment should output "3E>". It outputs nothing. +
    +%!PS 
    +(%stdout) (w) file 
    +/ASCIIHexEncode filter 
    +/ASCIIHexEncode filter 
    +closefile 
    +
    +SourceForge bug #224134, December 2, 2000. + +

    Bad JPEG stream in PDF generated when source ends prematurely

    +When GS converts the source image to JPEG stream in PDF file and the +source data end prematurely, it generates bad JPEG stream. +tiff2ps from libtiff distribution often generates such files. +

    +One potential workaround is to use -dAutoFilterColorImages=false and +-dColorImageFilter=/FlateEncode. +

    +SourceForge bug #228808, Jan 15, 2000. +

    + +JPEG stream writes image dimensions in JPEG header when the stream is created. +When the source data end the dimensions are not updated. There may be other +problems too. + + +

    Some attributes of Catalog object are lost during PDF to PDF conversion

    +Dests, OpenAction, URI, PageMode, ViewerPreferences are lost during PDF to PDF +conversion. Other attributes have not been checked. +

    + +The loss happens diring PDF interpretation. GS can generate these attributes +from pdfmark's. + +

    +March 25, 2001. +

    ps2pdf ignores transfer functions in shaded fill

    +ps2pdf ignores transfer functions in the shaded fill but +uses them for vector objects. The following sample program +has 2 shaded fills and 2 rectangles that should have the +same color as the left end of the shaded fill. +
    +
    +      <> >>setpagedevice 
    +      612 1 scale 
    +      /grad 
    +      { gsave 
    +	  0 0 1 100 rectclip 
    +	  <<
    +	      /ColorSpace [/DeviceCMYK] 
    +	      /Domain [0 1] 
    +	      /Coords [0 0 1 0] 
    +	      /Extend [false false] 
    +	      /Function 
    +	      << /FunctionType 3 
    +		  /Domain [ 0 1] 
    +		  /Functions 
    +		  [ <<
    +		      /FunctionType 2 
    +		      /N 1 
    +		      /C0 [ 0 0.5 0 0 ] 
    +		      /Domain [ 0 1] 
    +		      /C1 [0.5 0 0 0] 
    +		  >> ] 
    +		  /Bounds [] 
    +		  /Encode [0 1] 
    +	      >> 
    +	      /ShadingType 2 
    +	  >> shfill 
    +
    +      0 0.5 0 0 setcmykcolor 
    +      0 0 0.1 50 rectfill 
    +      grestore 
    +      } def 
    +
    +      grad 
    +      {1 exch 2 div sub} settransfer 
    +      0 100 translate 
    +      grad 
    +      showpage 
    +
    +SourceForge Bug #232334, Feb 14, 2001. + +

    ResourceFileName gives wrong result with Font category.

    +The following sequence: + +
    +	/Font /Category findresource begin 
    +	/CharterBT-Roman 255 string ResourceFileName = 
    +	end 
    +
    + +Gives the results: +
    +        /Resource/Font/CharterBT-Roman 
    +
    + +This should be a valid platform specific file name and path such as: +
    +        f:/fonts/bchr.pfa 
    +
    +SourceForge Bug #233403, Feb 21, 2001. +

    GS doesn't handle names of separations with HalftoneType 5.

    +PLRM3 says, that HalftoneType 5 may use user defined +names of separations. Neither zht2.c nor cmd_put_drawing_color in +gxclpath.c can handle this. GS chooses default halftone component +for any non-standard separation name. +

    +SourceForge Bug #406643, Mar 7, 2001. + +

    PDF 1.4 images don't deallocate all memory

    + +The pdf14_begin_typed_image() function in the PDF 1.4 device creates +a marking device, but this is not freed on end_image. The garbage +collector will free it, so it's not a real memory leak, but it would +still be nicer to free it explicitly. + +

    + +
    + +

    Driver Issues.

    + +

    [ ] Missing text in landscape mode.

    +Using GSWIN32C.EXE with djet500 to print a file in landscape mode +on a HP 2000C, the first 3 characters on the left margin are missing.
    +When the postscript file is editted to use a larger offset (1st moveto +parameter), the text appears ok.
    +When the postscript file is sent to a printer with a builtin postscript +interpreter, it prints ok. +
    SourceForge Bug #206652. +

    +A possible work around is to send the following +postscript file to the printer prior to printing the problem +file. This works but it leaves a .5" margin at the top +and left which is may be ok for some uses. + +

    +
    +%!PS-Adobe-2.0
    +% Reset the offset and margins.
    +<<
    +    /PageOffset [-12 -18]
    +    /Margins [0 0]
    +    /.HWMargins [0 0 0 0]
    +>>
    +setpagedevice
    +
    + + +This is an instance of the endless struggle with printer margins, especially +for HP printers. The HP drivers are inconsistent as to whether the user space +(0,0) should be the physical corner of the page (as it is in PostScript) or +the corner of the printable area, and if the latterm whether the page should +be clipped or scaled. + +

    + +


    + +

    Performance.

    + +

    Incremental loading for CIDFontType 2 and TrueType fonts.

    + +Entire TrueType outline data in CIDFontType 2 and TrueType fonts are +loaded into memory at once. Incremental loading of the outline data is +indispensable for practical use of Asian fonts. +

    +There is one other type of CID-keyed font that should also be +loaded incrementally: CFF CIDFontType0, i.e., a CIDFontType 0 +font represented using the compact binary CFF format. This is +important because this is one of the two variants of Asian OpenType +fonts (the other is essentially the same as TrueType). Ghostscript +already supports both of these OpenType variants, but not with +incremental loading. +

    +SourceForge bug #223992, November 30, 2000. +

    +We suggest that anyone who would like to work on this project +start by looking at how CIDFontType 0 fonts do incremental loading +(lib/gs_cidfn.ps and src/zfcid0.c). Probably much of this +code can be also be used with CIDFontType 2 and TrueType fonts. + + +


    + +

    Differences from Adobe Implementation.

    + +

    pdfwrite + TT font => Acrobat 3.x for Windows gives error

    + +Running ps2pdf12 on the file test1.ps produces a PDF on which Acrobat +3.x for Windows complains about not being able to find or create a +particular TrueType font that is embedded in the PDF file. However, +Acrobat 3.x for other platforms, and Acrobat 4.x for all platforms, +accepts the file. +

    +SourceForge bug #201955, February 14, 2000. +

    +Since Acrobat 3 is superseded by Acrobat 4 which is available at no +charge, and the file produced by Ghostscript meets published PDF +specification, this will most likely be left as is. + + +

    Inconsistent handling of /Orientation.

    +PLRM says "The dictionary returned by currentpagedevice always +contains an entry for every parameter supported by the device". +GS prints both messages in the following program: + +
    +%! 
    +currentpagedevice /Orientation known not 
    +{ (This printer does _not_ support Orientation.) = 
    +} 
    +if 
    +<> setpagedevice 
    +currentpagedevice /Orientation known 
    +{ (Err... wait... it does.) = 
    +} 
    +if 
    +%%EOF 
    +
    +SourceForge bug #220967, October 31, 2000. +

    +The handling of Orientation is a mess. The PLRM says quite explicitly +that it is only supported for roll devices, where the page size +alone doesn't give enough information to decide whether to rotate +the page. +

    +The reason that Ghostscript accepts it for other devices at all +is twofold: displays are like roll media in that they don't have +an inherent orientation, and almost none of the other Ghostscript +devices actually specify their page sizes. Both of these reasons +are now poorly motivated: displays should behave like +portrait-orientation devices (albeit with variable page dimensions), +rotating the image if the requested page width is greater than +the height, and now that setpagedevice and the Resource machinery +are fully implemented, all printer drivers should be updated +to provide the paper size information. Once these fixes are made +(which will probably have some repercussions other places in +the code), Ghostscript will handle Orientation properly. +

    +This should be addressed when the "setpagedevice in C" project is +completed since part of this will require printer drivers to make +page size information available to the setpagedevice logic. + + +

    Filesystem implementation differences.

    +Adobe implementations often treat the filesystem as flat. This means that the +path separator characters are not handled as special characters in filenames. +The PLRM states that file names are implementation specific (section 3.8.2) +and Ghostscript currently implements filenames that conform with the underlying +operating system as is stated in this section about the %os% device. This +can result from behaviour that is different from Adobe printer implementations. +

    + +Current implementation is incompatible with most font installers. Installers +expect that: +
      +"filenameforall" enumerates all files in all directories using the relative path name. +Directory names, including . and .. are not enumerated +
    +
      +characters not supported on the platform are encoded. +
    +
      +"(w) file" operator creates directories if necessary. +
    +
    + +

    Cannot load Adobe's fonts.

    +The following program fails with Adobe fonts: + +
    +(C*) 
    +{ cvn findfont pop 
    +} 255 string /Font resourceforall 
    +
    +SourceForge Bug #226462, December 20, 2000. +

    + +The 'findfont' operator and '/Font resourceforall' are very difficult to +keep consistent, because the same logic algorithms must be implemented +in two different ways. The problem is likely to be in lib/gs_fonts.ps, +lib/gs_res.ps, and lib/gs_cidcm.ps. + +

    There's no %ram% device.

    +GS doesn't have %ram% device reguired on all Level 3 products. +It is documented in PS Supplement 3010 and 3011 dated August 30, 1999 +
    SourceForge Bug #226943, December 27, 2000. +

    + +This should be implemented using the (disk) file system rather than +actual RAM, at least initially, since that will be easy. +
    +On Unix, it should be implemented with a directory /tmp/$$/ (where +$$ is the process id), which Ghostscript should delete when it exits. +
    + +

    pdfwrite doesn't recognise the image type by content

    +Currently pdfwrite uses JPEG compression for any 8 bit per component +images >= 64 pixels in both dimensions. +

    + +pdfwrite needs to be changed to use a reasonable algorithm for deciding +between JPEG and Flate compression, probably based on sharp vs. smooth +color transitions in the image; in case of uncertainty, it should use Flate. + +

    +SourceForge Bug #226391, December 19, 2000. +

    + + +

    ps2ascii can't handle incremental fonts

    +ps2ascii fails with rangecheck on incremental fonts. +Need to recognise incremental fonts and say that incremental +fonts are impossible to convert to ASCII. +

    +SourceForge Bug #441959 keeps good test data for this. +

    + + +

    Buffering in input filters

    + +The following program prints differently to stdout on GS and Adobe : +

    +

    +%!
    +/proc
    +  { currentfile =string readline pop
    +    dup ==
    +    (%) anchorsearch { pop } if
    +  } bind def
    +/test
    +  { //proc /ASCIIHexDecode filter 
    +    3 string readstring pop ==
    +  } bind def
    +
    +(start) ==
    +
    +test
    +%31
    +%32
    +%33
    +%34
    +%35
    +%36
    +%37
    +%38
    +%39
    +
    +(stop) ==
    +
    +%%EOF
    +
    +

    + +Adobe fills entire input buffer of ASCIIHexDecode with procedure's output, +before passing data to ASCIIHexDecode, and without knowledge how much data +does ASCIIHexDecode want. GS does know the size of data requested, +so as the procedure is called exact number of times. Thus, GS is more conservative. + +

    +Anoter useful test to be made by repeating lines %31-%39 hundred times, +without intermediate empty lines. +

    +

    +

    + + + + + +


    + +

    +Copyright © 2000 artofocode LLC. All rights reserved. + +

    +This software is provided AS-IS with no warranty, either express or +implied. + +This software is distributed under license and may not be copied, +modified or distributed except as expressly authorized under the terms +of the license contained in the file LICENSE in this distribution. + +

    +Ghostscript version 7.07, 17 May 2003 + + + + + diff --git a/Master/xemtex/doc/ghostscript/Language.htm b/Master/xemtex/doc/ghostscript/Language.htm new file mode 100644 index 00000000000..b47f003bec9 --- /dev/null +++ b/Master/xemtex/doc/ghostscript/Language.htm @@ -0,0 +1,1897 @@ + + + +Ghostscript and the PostScript language + + + + + + + + + + +

    Ghostscript and the PostScript language

    + + + + + +

    Table of contents

    + +
    + + + + + +

    For other information, see the Ghostscript +overview. + + + +


    + + + + + +

    Ghostscript's capabilities in relation to PostScript

    + +

    +The Ghostscript interpreter, except as noted below, is intended to execute +properly any source program written in the (LanguageLevel 3) +PostScript language as defined in the PostScript +Language Reference, Third Edition (ISBN 0-201-37922-8) published by +Addison-Wesley in mid-1999. However, the interpreter is configurable in +ways that can restrict it to various subsets of this language. +Specifically, the base interpreter accepts the Level 1 subset of the +PostScript language, as defined in the first edition of the PostScript +Language Reference Manual (ISBN 0-201-10174-2) Addison-Wesley 1985, +plus the file system, version 25.0 language, and miscellaneous additions +listed in sections A.1.6, A.1.7, and A.1.8 of the Second Edition +respectively, including allowing a string operand for the +"status" operator. The base interpreter may be configured +(see the documentation on building Ghostscript for +how to configure it) by adding any combination of the following: + +

      +
    • The ability to process PostScript Type 1 fonts. This facility is +normally included in the interpreter. + +
    • The CMYK color extensions listed in section A.1.4 of the Second Edition +(including colorimage). These facilities are available +only if the color, dps, or +level2 feature was selected when Ghostscript was built. + +
    • The Display PostScript extensions listed in section A.1.3 of the Second +Edition, but excluding the operators listed in section A.1.2. These +facilities are available only if the dps feature or the +level2 feature was selected when Ghostscript was built. + +
    • The composite font extensions listed in section A.1.5 of the Second +Edition, and the ability to handle Type 0 fonts. These facilities are +available only if the compfont feature or the +level2 feature was selected when Ghostscript was built. + +
    • The ability to load TrueType fonts and to handle PostScript Type 42 +(encapsulated TrueType) fonts. These facilities are available only if the +ttfont feature was selected when Ghostscript was built. + +
    • The PostScript Level 2 "filter" facilities except the +DCTEncode and DCTDecode filters. These +facilities are available only if the filter, +dps, or level2 feature was selected when +Ghostscript was built. + +
    • The PostScript Level 2 DCTEncode and +DCTDecode filters. These facilities are available only if +the dct or level2 feature was selected when +Ghostscript was built. + +
    • All the other PostScript Level 2 operators and facilities listed in +section A.1.1 of the Second Edition and not listed in any of the other +A.1.n sections. These facilities are available only if the +level2 feature was selected when Ghostscript was built. + +
    • All PostScript LanguageLevel 3 operators and facilities listed in the +Third Edition, except as noted below. These facilities are available only +if the psl3 feature was selected when Ghostscript was built. + +
    • The ability to recognize DOS EPSF files and process only the PostScript +part, ignoring bitmap previews or other information. This facility is +available only if the epsf feature was selected when +Ghostscript was built. +
    + +

    +Ghostscript currently does not implement the following PostScript +LanguageLevel 3 facilities: + +

      +
    • Native Separation and DeviceN color +spaces -- the alternate space is always used. + +
    • Settable ProcessColorModel for page devices, except for +a very few special devices. + +
    • IODevices other than %stdin, +%stdout, %stderr, %lineedit, +%statementedit, %os%, and (if configured) +%pipe%. +
    + +

    +Ghostscript can also interpret files in the Portable Document Format (PDF) +1.3 format defined in the Portable +Document Format Reference Manual Version 1.3 of March 11, 1999, +distributed by Adobe Systems +Incorporated, except as noted below. This facility is available only if +the pdf feature was selected when Ghostscript was built. + +

    +Ghostscript currently does not implement the following PDF 1.3 facilities: + +

      +
    • Native Separation and DeviceN color +spaces, as noted above for PostScript. + +
    • Native ICCBased color spaces -- these too always use the +alternate space. +
    + +

    +Ghostscript also includes a number of +additional operators defined below that +are not in the PostScript language defined by Adobe. + +


    + +

    Implementation limits

    + +

    +The implementation limits show here correspond to those in Tables B.1 and +B.2 of the Second and Third Editions, which describe the quantities fully. +Where Ghostscript's limits are different from those of Adobe's +implementations (as shown in the Third Edition), Adobe's limits are also +shown. + +

    Architectural limits

    + +
    + +

    Architectural limits (corresponds to Adobe table B.1)
    +
    Quantity +    + Limit +    + Type +    + Adobe +

    +
    integer +   + 32-bit +   + twos complement integer +   +   +
    real +   + single-precision +   + IEEE float +   +   +
    array +   + 65535 +   + elements +   +   +
    dictionary +   + 65534 +   + elements +   + 65535 +
    string +   + 65535 +   + characters +   +   +
    name +   + 16383 +   + characters +   + 127 +
    filename +   + 128* +   + characters +   +   +
    save level +   + none +   + (capacity of memory) +   + 15 +
    gsave level +   + none +   + (capacity of memory) +   + 13 +
    + +

    +* The limit on the length of a file name is 128 characters if the name +starts with a %...% IODevice designation, or 124 characters if it does not. + +

    Typical memory limits in LanguageLevel 1

    + +
    + + +

    Memory limits (corresponds to Adobe table B.2)
    +
    Quantity +    + Limit +    + Type +    + Adobe +

    +
    userdict +   + 200 +   +   +   +   +
    FontDirectory +   + 100 +   +   +   +   +
    operand stack +   + 800 +   +   +   + 500 +
    dictionary stack +   + 20 +   +   +
    execution stack +   + 250 +   +   +
    interpreter level +   + none +   + (capacity of memory) +   + 10 +
    path +   + none +   + (capacity of memory) +   + 1500 +
    dash +   + 11 +   +   +
    VM +   + none +   + (capacity of memory) +   + 240000 +
    file +   + none +   + (determined by operating system) +   + 6 +
    image +   + 65535 +   + values (samples × components)
    for1-, 2-, 4-, or 8-bit samples +
      + 3300 +
      +   + 32767 +   + values for 12-bit samples +   + 3300 +
    + +

    Other differences in VM consumption

    + +

    +Packed array elements occupy either 2 bytes or 8 bytes. The average +element size is probably about 5 bytes. Names occupy 12 bytes plus the +space for the string. + +


    + +

    Additional operators in Ghostscript

    + +

    Graphics and text operators

    + +

    Transparency

    + +

    +Ghostscript provides a set of operators for implementing the transparency +and compositing facilities of PDF 1.4. These are defined only if the +transpar option was selected when Ghostscript was built. We +do not attempt to explain the underlying graphics model here: for details, +see Adobe +Technical Note #5407, "Transparency +in PDF". Note, however, that +Ghostscript's model generalizes that of PDF 1.4 in that Ghostscript +maintains separate alpha and mask values for opacity and shape, rather than +a single value with a Boolean that says whether it represents opacity or +shape. EVERYTHING IN THIS SECTION IS SUBJECT TO CHANGE. + +

    Graphics state +operators
    + +
    +
    <modename> .setblendmode - +
    Sets the blending mode in the graphics state. If the mode name is not +recognized, causes a rangecheck error. The initial value of +the blending mode is /Compatible. +
    + +
    +
    - .currentblendmode <modename> +
    Returns the current blending mode. +
    + +
    +
    <0..1> .setopacityalpha - +
    Sets the opacity alpha value in the graphics state. +The initial opacity alpha value is 1. +
    + +
    +
    - .currentopacityalpha <0..1> +
    Returns the current opacity alpha value. +
    + +
    +
    <0..1> .setshapealpha - +
    Sets the shape alpha value in the graphics state. +The initial shape alpha value is 1. +
    + +
    +
    - .currentshapealpha <0..1> +
    Returns the current shape alpha value. +
    + +
    +
    <bool> .settextknockout - +
    Sets the text knockout flag in the graphics state. +The initial value of the text knockout flag is true. +
    + +
    +
    - .currenttextknockout <bool> +
    Returns the current text knockout flag. +
    + +
    Rendering stack +operators
    + +

    +The interpreter state is extended to include a (per-context) rendering stack +for handling transparency groups and masks (generically, "layers"). Groups +accumulate a full value for each pixel (paint plus transparency); masks +accumulate only a coverage value. Layers must be properly nested, i.e., the +'end' or 'discard' operator must match the corresponding 'begin' operator. + +

    +Beginning and ending layers must nest properly with respect to +save and restore: save and +restore do not save and restore the layer stack. Currently, +layers are not required to nest with respect to gsave and +grestore, except that the device that is current in the +graphics state when ending a layer must be the same as the device that was +current when beginning the layer. THIS AREA IS SUBJECT TO CHANGE. + +

    +
    <paramdict> <llx> <lly> <urx> <ury> +.begintransparencygroup - +
    Begins a new transparency group. The ll/ur coordinates +are the bounding box of the group in the current user coordinate system. +paramdict has the following keys: +
    +
    /Isolated +
    (optional) Boolean; default value = false. +
    /Knockout +
    (optional) Boolean; default value = false. +
    +
    + +
    +
    - .discardtransparencygroup - +
    Ends and discards the current transparency group. +
    + +
    +
    - .endtransparencygroup - +
    Ends the current transparency group, compositing the group being ended +onto the group that now becomes current. +
    + +
    +
    <paramdict> <llx> <lly> <urx> <ury> +.begintransparencymask - +
    Begins a new transparency mask. The ll/ur coordinates +are the bounding box of the mask in the current user coordinate system. +paramdict has the following keys: +
    +
    /Subtype +
    (required) Name, either /Alpha or +/Luminosity. +
    /Background +
    (optional) Array of number. +
    /TransferFunction +
    (optional) Function object (produced by applying +.buildfunction to a Function dictionary). +
    +
    + +
    +
    - .discardtransparencymask - +
    Ends and discards the current transparency mask. +
    + +
    +
    <masknum> .endtransparencymask - +
    Ends the current transparency mask, installing it as the current opacity +(masknum = 0) or shape (masknum = 1) mask in +the graphics state. +
    + +
    +
    <masknum> .inittransparencymask - +
    Resets the current opacity (masknum = 0) or shape +(masknum = 1) mask to an infinite mask with alpha = 1 +everywhere. +
    + +
    New ImageType
    + +

    +The transparency extension defines a new ImageType 103, similar to ImageType +3 with the following differences: + +

      + +
    • The required MaskDict is replaced by two optional +dictionaries, OpacityMaskDict and +ShapeMaskDict. If present, these dictionaries must have a +BitsPerComponent entry, whose value may be greater than 1. +Note that in contrast to ImageType 3, where any non-zero chunky mask value +is equivalent to 1, ImageType 103 simply takes the low-order bits of chunky +mask values. + +
    • A Matte entry may be present in one or both mask +dictionaries, indicating premultiplication of the data values. If both +MaskDicts have a Matte entry and the values +of the two Matte entries are different, a +rangecheck error occurs. + +
    • InterleaveType appears in the MaskDicts, +not the DataDict, because each mask has its own +InterleaveType. InterleaveType 2 +(interlaced scan lines) is not supported. + +
    + +

    Other graphics state operators

    + +
    +
    <bool> .setaccuratecurves - +
    Sets a graphics state flag that determines whether curves and arcs, +when flattened, always start and end with a line that is a segment of the +tangent; this also causes butt and square caps to be properly perpendicular +to the tangent. initgraphics sets this flag to false, to +match other PostScript implementations. +
    + +
    +
    - .currentaccuratecurves <bool> +
    Returns the current value of the accurate curves flag. +
    + +
    +
    <int> .setcurvejoin - +
    Sets a graphics state parameter that determines how to treat the joins +between the line segments produced when a curve is flattened. The parameter +value may be either -1 or a value acceptable to setlinejoin. +If the parameter value is -1, the join used for flattened curve line +segments is given by the current line join parameter in the graphics state +(except that if the line join value is "none", a bevel join is used), which +matches the Adobe Red Book, but not the Adobe implementations; if the curve +join parameter value is a line join value, that type of join is used for +flattened curve line segments, regardless of the value of the graphics state +line join parameter. The initial (and default) value of the curve join +parameter is 2, causing bevel joins to be used: this matches the Adobe +implementations. initgraphics sets the parameter to its +default value. +
    + +
    +
    - .currentcurvejoin <int> +
    Returns the current value of the curve join parameter. +
    + +
    +
    <bool> .setdashadapt - +
    Sets a graphics state flag that determines whether dash patterns do +(true) or do not (false) automatically scale themselves so that each line +segment consists of an integral number of pattern repetitions. +initgraphics sets this flag to false. +
    + +
    +
    - .currentdashadapt <bool> +
    Returns the current value of the dash adaptation flag. +
    + +
    +
    <matrix> .setdefaultmatrix - +
    Sets the default matrix that is returned by +defaultmatrix and installed by initmatrix. +Ordinary programs should not use this operator. +
    + +
    +
    <num> <bool> .setdotlength - +
    Sets a graphics state parameter that determines the handling of +zero-length lines (dots). If the dot length is zero, dots are painted as +circles if round line caps are in effect, otherwise they are not painted at +all. If the dot length is non-zero, dots are treated exactly like lines of +the given length: the length is specified in user coordinates (like line +width) if bool is false, or in default user coordinates of +points (units of 1/72in; see the notes +on measurements in the documentation on devices) if +bool is true. Dots occurring as part of dash patterns will +be oriented correctly; isolated dots will be oriented as though they were +part of a vertical line. initgraphics sets the dot length +to zero. +
    + +
    +
    - .currentdotlength <num> <bool> +
    Returns the current dot length and dot length mode. +
    + +
    +
    <dx> <dy> .setfilladjust2 - +
    Sets graphics state parameters that cause all filled and stroked +regions to be "fattened" by the given amount relative to an algorithm that +only paints pixels whose centers fall within the region to be painted. +dx and dy are numbers between 0 and 0.5, +measured in device space. The only two values that are likely to be useful +are 0, which gives a pure center-of-pixel rule, and 0.5, which gives +Adobe's any-part-of-pixel rule. (0.5 is treated slightly specially in +order to create half-open pixels per Adobe's specification.) +
    + +
    +
    - .currentfilladjust2 <dx> <dy> +
    Returns the current fill adjustment values. +
    + +
    +
    <bool> .setlimitclamp - +
    Sets a graphics state flag that determines whether attempts to set the +current point outside the internally representable range should clamp the +value to the largest representable value (true) or give a +limitcheck error (false). initgraphics sets +this flag to false, to match other PostScript implementations. +
    + +
    +
    - .currentlimitclamp <bool> +
    Returns the current value of the limit clamp flag. +
    + +
    +
    <int> .setoverprintmode - +
    Sets the overprint mode in the graphics state. Legal values are 0 or 1. +Per the PDF 1.3 specification, if the overprint mode is 1, then when the +current color space is DeviceCMYK, color components whose +value is 0 do not write into the target, rather than writing a 0 value. +THIS BEHAVIOR IS NOT IMPLEMENTED YET. The initial value of the overprint +mode is 0. +
    + +
    +
    - .currentoverprintmode <int> +
    Returns the current overprint mode. +
    + +

    Path operators

    + +
    +
    - .dashpath - +
    If there is no current dash pattern, does nothing. Otherwise, does the +equivalent of flattenpath and then chops up the path as +determined by the dash pattern. +
    + +
    +
    <x> <y> <width> <height> .rectappend - +
    <numarray> .rectappend - +
    <numstring> .rectappend - +
    Appends a rectangle or rectangles to the current path, in the same +manner as rectfill, rectclip, etc. Defined +only if the dps or level2 option was +selected when Ghostscript was built. +
    + +

    Painting operators

    + +

    +Ghostscript supports an experimental extension of the PostScript imaging +model to include RasterOp and some related facilities. +This extension is available only if the rasterop option was +selected when building Ghostscript. + +

    +With the RasterOp extension, imaging operations compute a +function D = f(D,S,T) in RGB space, where f is an +arbitrary 3-input Boolean function, D is the destination (frame +buffer or print buffer), S is the source (described below), and +T is the texture (the current PostScript color, which may be a +pattern). The source and texture depend on the PostScript imaging +operation: + +

      +
    • For fill and stroke, the source is +solid black, covering the region to be painted; the texture is the current +PostScript color. + +
    • For show and imagemask, the source is +solid black, covering the pixels to be painted; the texture is the current +PostScript color. + +
    • For image and colorimage, the source is +the image data; the texture depends on an optional Boolean parameter, +CombineWithColor, in the image dictionary. If +CombineWithColor is false (the default), the texture is +solid black. If CombineWithColor is true, the texture is +the current color. For the non-dictionary form of the image operator, +CombineWithColor is considered to be false. +
    + +

    +The rasterop option adds the following operators: + +

    +
    <int8> .setrasterop - +
    Sets the RasterOp function in the graphics state. The +default function is 252, Source | Texture. +
    + +
    +
    - .currentrasterop <int8> +
    Returns the current RasterOp function. +
    + +
    +
    <bool> .setsourcetransparent - +
    Sets source transparency in the graphics state. When source +transparency is true, white source pixels prevent storing into the +destination, regardless of what the RasterOp function +returns. The default source transparency is false. +
    + +
    +
    - .currentsourcetransparent <bool> - +
    Returns the current source transparency. +
    + +
    +
    <bool> .settexturetransparent - +
    Sets texture transparency in the graphics state. When texture +transparency is true, white texture pixels prevent storing into the +destination, regardless of what the RasterOp function +returns. The default texture transparency is false. +
    + +
    +
    - .currenttexturetransparent <bool> - +
    Returns the current texture transparency. +
    + +

    +For more information on RasterOp and transparency, please consult chapter 5 +of the "PCL 5 Color Technical Reference Manual", +Hewlett-Packard +Manual Part No. 5961-0635. + +

    Character operators

    + +
    +
    <string> <bool> .charboxpath - +
    For each character C in the rendering of <string>, let the +bounding box of C in device space be the four +user-space points p1x/y, p2x/y, p3x/y, and p4x/y. For each +character in order, .charboxpath appends the following to +the current path: + +
    • If <bool> is true, the equivalent of: + +
      +p1x p1y moveto
      +p2x p2y lineto
      +p3x p3y lineto
      +p4x p4y lineto
      +closepath +
      +
    + +

    +This creates a path whose pathbbox is the +bbox of the string. + +

    • If <bool> is false, the equivalent of: + +
      +p1x p1y moveto
      +p3x p3y lineto +
      +
    + +

    +If the CTM is well-behaved (consists only of reflection, scaling, and +rotation by multiples of 90 degrees), this too creates a (simpler) path +whose pathbbox is the bbox of the string. +

    + +
    +
    <font> <charname|charcode> <charname> <charstring> .type1execchar - +
    Does all the work for rendering a Type 1 outline. This operator, like +setcharwidth and setcachedevice, is valid +only in the context of a show operator -- that is, it must only be called +from within a BuildChar or BuildGlyph +procedure. +
    + +
    +
    <font> <charcode> %Type1BuildChar - +
    This is not a new operator: rather, it is a name known specially to the +interpreter. Whenever the interpreter needs to render a character (during +a ...show, stringwidth, or +charpath), it looks up the name BuildChar +in the font dictionary to find a procedure to run. If it does not find +this name, and if the FontType is 1, the interpreter +instead uses the value (looked up on the dictionary stack in the usual way) +of the name %Type1BuildChar. + +

    +The standard definition of %Type1BuildChar is in the +initialization file gs_type1.ps. Users should not need to +redefine %Type1BuildChar, except perhaps for tracing or +debugging. +

    + +
    +
    <font> <charname> %Type1BuildGlyph - +
    Provides the Type 1 implementation of BuildGlyph. +
    + +

    Other operators

    + +

    Mathematical operators

    + +
    +
    <number> arccos <number> +
    Computes the arc cosine of a number between -1 and 1. +
    + +
    +
    <number> arcsin <number> +
    Computes the arc sine of a number between -1 and 1. +
    + +

    Dictionary operators

    + +
    +
    mark <key1> <value1> <key2> <value2> ... .dicttomark <dict> +
    Creates and returns a dictionary with the given keys and values. This +is the same as the PostScript Level 2 >> operator, +but is available even in Level 1 configurations. +
    + +
    +
    <dict> <key> <value> .forceput - +
    Equivalent to put, but works even if +dict is not writable, and (if dict is +systemdict or the current save level is 0) even if +dict is in global VM and key and/or +value is in local VM. This operator should be used +only initialization code, and only in executeonly procedures: it must not be +accessible after initialization. +
    + +
    +
    <dict> <key> .forceundef - +
    Equivalent to undef, but works even if +dict is not writable. This operator should be used +only initialization code, and only in executeonly procedures: it must not be +accessible after initialization. +
    + + +
    +
    <dict> <key> .knownget <value> true +
    <dict> <key> .knownget false +
    Combines known and get in the +obvious way. +
    + +
    +
    <dict> <integer> .setmaxlength - +
    Sets the capacity (maxlength) of a dictionary. +Causes a dictfull error if the dictionary has more +occupied entries than the requested capacity. +
    + +

    String and name operators

    + +
    +
    <integer> .bytestring <bytestring> +
    Allocates and returns a bytestring, a special data type that can be +larger than the maximum size of a string (64K-1 bytes) and can be used in +place of a string with a very few operators. +
    + +
    +
    <name> .namestring <string> +
    Returns the (read-only) string for a name. +
    + +
    +
    <obj> <pattern> .stringmatch <bool> +
    Matches obj against a pattern in which '*' matches 0 or +more characters and '?' matches any single character. If +obj is a string or a name, matches its characters against +the pattern; if obj is of any other type, the result is +true if the pattern is the single character "*" and +false otherwise. +
    + +
    +
    <state> <fromString> <toString> .type1encrypt <newState> <toSubstring> +
    Encrypts fromString according to the algorithm for +Adobe Type 1 fonts, writing the result into toString. +toString must be at least as long as +fromString, or a rangecheck error occurs. +state is the initial state of the encryption algorithm (a +16-bit non-negative integer); newState is the new state of +the algorithm. +
    + +
    +
    <state> <fromString> <toString> .type1decrypt <newState> <toSubstring> +
    Decrypts fromString according to the algorithm for +Adobe Type 1 fonts, writing the result into toString. +Other specifications are as for type1encrypt. +
    + +

    Relational operators

    + +
    +
    <number|string> <number|string> max <number|string> +
    Returns the larger of two numbers or strings. +
    + +
    +
    <number|string> <number|string> min <number|string> +
    Returns the smaller of two numbers or strings. +
    + +

    File operators

    + +
    +
    <file> .filename <string> true +
    <file> .filename false +
    If the file was opened by the file or +.tempfile operator, returns the file name and +true; if the file is a filter, returns +false. +
    + +
    +
    <file> .fileposition <integer> true +
    Returns the position of file. Unlike the standard +fileposition operator, which causes an error if the file is +not positionable, .fileposition works on all files, +including filters: for non-positionable files, it returns the total number +of bytes read or written since the file was opened. +
    + +
    +
    <string> findlibfile <foundstring> <file> true +
    <string> findlibfile <string> false +
    Opens the file of the given name for reading, searching through +directories as described in the usage +documentation. If the search fails, findlibfile simply +pushes false on the stack and returns, rather than causing an error. +
    + +
    +
    <file> <string> .peekstring <substring> <filled_bool> +
    Reads bytes from a file like readstring, but also leaves +the bytes in the file buffer so they will be read again by a subsequent read +operation. Currently gives a rangecheck error if +string is larger than the file's buffer. +
    + + +
    +
    <prefix_string|null> <access_string> .tempfile +<string> <file> +
    Creates and opens a temporary file +like the file operator, also returning the file name. There +are three cases for the <prefix_string|null> operand: + +
      +

      +

    • null: create the file in the same directory and with the +same name conventions as other temporary files created by the Ghostscript +implementation on this platform. E.g., the temporary file might be named +/tmp/gs_a1234. +

      +

    • A string that is not the beginning of an absolute file name (e.g., does +not begin with . or / on Unix-like +platforms): create the file in the standard temporary directory, but use the +<prefix_string> as the first part of the file name. +E.g., if <prefix_string> is xx, the +temporary file might be named /tmp/xxa1234. +

      +

    • A string that is the beginning of an absolute file name: use the +<prefix_string> as the first part of the file name. +E.g., if <prefix_string> is +/my/tmpdir/zz, the temporary file might be named +/my/tmpdir/zza1234. +

      +When running in SAFER mode, the absolute path must +be one of the strings on the list given by the PermitFileWriting +userparameter. Temporary files created with .tempfile can +be deleted when in SAFER mode, and can be renamed to one of the paths +that is on both the PermitFileControl and PermitFileWriting +paths. +

    + +
    + +
    +
    <file> <integer> .unread - +
    Pushes back the last-read character onto the front of the file. If the +file is open only for writing, or if the integer argument is not the same +as the last character read from the file, causes an ioerror +error. May also cause an ioerror if the last operation on +the file was not a reading operation. This operator is now deprecated: +use .peekstring in new code. +
    + +

    +Ghostscript also supports the following IODevice in +addition to a subset of those defined in the Adobe documentation: +%pipe%command, which opens a pipe on the given command. +This is supported only on operating systems that provide +popen (primarily Unix systems, and not all of those). + +

    Virtual memory operators

    + +
    +
    <save> .forgetsave - +
    Cancels the effect of a save, making it as though the save never +happened. +
    + +

    Miscellaneous operators

    + +
    +
    <obj1> <obj2> ... <objn> <n> .execn ... +
    This executes obj1 through objn in that +order, essentially equivalent to + +
    +<obj1> <obj2> ... <objn> <n> array astore {exec} forall
    +
    + +

    +except that it doesn't actually create the array. +

    + +
    +
    <string> getenv <string> true +
    <string> getenv false +
    Looks up a name in the shell environment. If the name is found, +returns the corresponding value and true; if the name is not found, returns +false. +
    + +
    +
    <name> <array> .makeoperator <operator> +
    Constructs and returns a new operator that is actually the given +procedure in disguise. The name is only used for printing. The operator +has the executable attribute. + +

    +Operators defined in this way do one other thing besides running the +procedure: if an error occurs during the execution of the procedure, and +there has been no net reduction in operand or dictionary stack depth, the +operand or dictionary stack pointer respectively is reset to its position +at the beginning of the procedure. +

    + +
    +
    <string> <boolean> .setdebug - +
    If the Ghostscript interpreter was built with the DEBUG +flag set, sets or resets any subset of the debugging flags normally +controlled by -Z in the command line. Has no effect +otherwise. +
    + +
    +
    - .oserrno <errno> +
    Returns the error code for the most recent operating system error. +
    + +
    +
    - .oserrorstring <string> +
    Returns the error string for the most recent operating system error. +
    + + +
    +
    <array> <procedure> .runandhide ... <array> +
    Runs the <procedure> after removing the +<array> from the stack. As long as <array> +is not contained in any readable dictionaries or elsewhere on stacks, it +will not be accessible to <procedure>. +

    +This operator is intended to allow hiding a <save> object +during execution of procedures or files that run in SAFER mode. +If a save is performed prior to entering SAFER mode +with .setsafe, using the save object as the operand to +restore will return to NOSAFER mode. In order to +prevent the procedures running in SAFER mode from being able to +return to NOSAFER mode, this operator should be used. +Upon return from the file or procedure restore can be used +to return to NOSAFER mode. +

    +Note: The array operand hidden during the execution of the file or +procedure will be placed at the top of the operand stack which may be on +top of objects that the file or procedure leaves on top of the stack. +Thus removing objects below the array may be needed to prevent an +invalidrestore error. +

    +For example, in order for a script or job server to execute a file +somefile.ps with the SAFER mode restrictions in place, returning +to unrestricted NOSAFER mode when the procedure exits is as follows: +

    +	Start Ghostscript with -dNOSAFER
    +
    +	...			% perform any device set up w/o restrictions
    +	[ save ]		% create a save object before SAFER
    +	(somefile.ps) (r) file cvx	% open the file to process
    +	.setsafe		% enter SAFER mode
    +	.runandhide		% run the file hiding the save object
    +	count 1 roll		% place array below anything left over
    +	count 1 sub { pop } repeat	% pop left over stuff
    +	cleardictstack		% prevent invalidrestore from dicts
    +	0 get restore		% go back to NOSAFER mode
    +
    +Another refinement on the above would be to execute .runandhide +using stopped in order to report errors but continue processing. +
    + +
    +
    - .setsafe - +
    If Ghostscript is started with -dNOSAFER or +-dDELAYSAFER, this operator can be used to enter SAFER +mode (see -dSAFER) +

    +Note: If -dPARANOIDSAFER was specified on the command +line, .setsafe also sets the PermitFileReading +parameter to an empty array. +

    +Since SAFER mode is implemented with userparameters and device parameters, +it is possible to use save and restore before +and after .setsafe to return to NOSAFER mode, but care +should be taken to ensure that the save object is not +accessible to any procedures or file run in SAFER mode (see +.runandhide above). +

    +Note: This uses setpagedevice to change .LockSafetyParams, so the page +will be erased as a side effect of this operator +

    + +
    +
    - .locksafe - +
    +This operator sets the current device's .LockSafetyParams +and the LockFilePermissions user parameter true as well as +adding the paths on LIBPATH and FONTPATH and the paths given by the +system params /GenericResourceDir and /FontResourceDir to the current +PermitFileReading list of paths. +

    +If Ghostscript is started with -dNOSAFER or +-dDELAYSAFER, this operator can be used to enter SAFER +mode with the current set of PermitFile... user parameters +in effect. Since .setsafe sets the PermitFileWriting +and PermitFileControl user parameters to empty arrays, a script +or job server that needs to enable certain paths for file Writing and/or Control +can use this operator to perform the locking needed to enter SAFER mode. +

    +For example, to enable reading everywhere, but disallow writing and file +control (deleting and renaming files), the following can be used: +

    +	{ << /PermitFileReading [ (*) ]
    +	     /PermitFileWriting [ ]
    +	     /PermitFileControl [ ]
    +	  >> setuserparams
    +	  .locksafe
    +	} stopped pop
    +
    +In the above example, use of stopped will allow the use of this sequence on +older versions of Ghostscript where .locksafe was not an operator. +

    +Note: This uses setpagedevice to change .LockSafetyParams, so the page +will be erased as a side effect of this operator +

    +See also .LockSafetyParams and +User Parameters. +

    +

    + +

    Device operators

    + +
    +
    <device> copydevice <device> +
    Copies a device. The copy is writable and installable. The copy is +created in the current VM (local or global), usually local VM for executing +ordinary PostScript files. +
    + +
    +
    <devicename> finddevice <device> +
    Creates a default instance of a device specified by name. The instance +is created in global VM. If finddevice is called more than +once with the same device name, it creates the default instance the first +time, and returns the same instance thereafter. +
    + +
    +
    <devicename> findprotodevice <device> +
    Finds the prototype of a device specified by name. A prototype can be +used with .getdeviceparams or other parameter-reading +operators, but it is read-only and cannot be set with +setdevice: it must be copied first. +
    + +
    +
    <device> <x> <y> <width> <max_height> <alpha?> <std_depth|null> <string> .getbitsrect <height> <substring> +
    Reads a rectangle of rendered bits back from a device. This is only +guaranteed to be implemented for image devices (see below). +alpha? is 0 for no alpha, -1 for alpha first, 1 for alpha +last. std_depth is null for native pixels, number of bits +per component for a standard color space. +
    + +
    +
    <index> .getdevice <device> +
    Returns a device from the set of devices known to the system. The +first device, which is the default, is numbered 0. If the +index is out of range, causes a rangecheck +error. This device is actually a prototype, not a directly usable device, +and is marked read-only; it cannot have its parameters changed or be +installed as the current device. +
    + +
    +
    <matrix> <width> <height> <palette> makeimagedevice <device> +
    Makes a new device that accumulates an image in memory. +matrix is the initial transformation matrix: it must be orthogonal +(that is, [a 0 0 b x y] or +[0 a b 0 x y]). palette is a +string of 2^N or +3 × 2^N elements, +specifying how the 2^N possible pixel +values will be interpreted. Each element is interpreted as a gray value, +or as RGB values, multiplied by 255. For example, if you want a monochrome +image for which 0=white and 1=black, the palette should be +<ff 00>; if you want a 3-bit deep image with +just the primary colors and their complements (ignoring the fact that 3-bit +images are not supported), the palette might be <000000 0000ff +00ff00 00ffff ff0000 ff00ff ffff00 ffffff>. At present, the +palette must contain exactly 2, 4, 16, or 256 entries, and must contain an +entry for black and an entry for white; if it contains any entries that +aren't black, white, or gray, it must contain at least the six primary +colors (red, green, blue, and their complements cyan, magenta, and yellow); +aside from this, its contents are arbitrary. + +

    +Alternatively, palette can be 16, 24, 32, or null (equivalent to 24). +These are interpreted as: + +

    + +
    Palette +     + Bits allocated per color +

    +
    16 +   + 5 red, 6 green, 5 blue +
    24 +   + 8 red, 8 green, 8 blue +
    32 +   + 8C, 8M, 8Y, 8K +
    + +

    +Note that one can also make an image device (with the same palette as an +existing image device) by copying a device using the +copydevice operator. +

    + +
    +
    <matrix> <width> <height> <palette> <word?> makewordimagedevice <device> +
    Makes an image device as described above. word? is a +Boolean value indicating whether the data should be stored in a +word-oriented format internally. No ordinary PostScript programs should +use this operator. +
    + +
    +
    <device> <index> <string> copyscanlines <substring> +
    Copies one or more scan lines from an image device into a string, +starting at a given scan line in the image. The data is in the same format +as for the image operator. It is an error if the device is +not an image device or if the string is too small to hold at least one +complete scan line. Always copies an integral number of scan lines. +
    + +
    +
    <device> setdevice - +
    Sets the current device to the specified device. Also resets the +transformation and clipping path to the initial values for the device. +Signals an invalidaccess error if the device is a +prototype or if .LockSafetyParams +is true for the current device. +
    + +
    +
    - currentdevice <device> +
    Gets the current device from the graphics state. +
    + +
    +
    <device> getdeviceprops <mark> <name1> <value1> ... <namen> <valuen> +
    Gets the properties of a device. See the section on +device parameters below for details. +
    + +
    +
    <mark> <name1> <value1> ... <namen> <valuen> <device> putdeviceprops <device> +
    Sets properties of a device. May cause undefined, +invalidaccess, typecheck, rangecheck, or +limitcheck errors. +
    + +
    +
    - flushpage - +
    On displays, flushes any buffered output, so that it is guaranteed to +show up on the screen; on printers, has no effect. +
    + +
    + +

    Filters

    + +

    Standard filters

    + +

    +In its usual configuration, Ghostscript supports all the standard PostScript +LanguageLevel 3 filters, both encoding and decoding, except that it does not +currently support: + +

      + +
    • the EarlyChange key in the LZWEncode +filter. + +
    + +

    +Ghostscript also supports additional keys in the optional dictionary +operands for some filters. For the LZWDecode filter: + +

    +
    InitialCodeLength <integer> (default 8) +
    An integer between 2 and 11 specifying the initial number of data bits +per code. Note that the actual initial code length is 1 greater than this, +to allow for the reset and end-of-data code values. +
    + +
    +
    FirstBitLowOrder <boolean> (default false) +
    If true, codes appear with their low-order bit first. +
    + +
    +
    BlockData <boolean> (default false) +
    If true, the data is broken into blocks in the manner specified for the +GIF file format. +
    + +

    +For the CCITTFaxEncode and CCITTFaxDecode +filters: + +

    +
    DecodedByteAlign <integer> (default 1) +
    An integer N with the value 1, 2, 4, 8, or 16, specifying that +decoded data scan lines are always a multiple of N bytes. The +encoding filter skips data in each scan line from Columns to the next +multiple of N bytes; the decoding filter pads each scan line to a +multiple of N bytes. +
    + +

    Non-standard filters

    + +

    +In addition to the standard PostScript LanguageLevel 3 filters, Ghostscript +supports the following non-standard filters. Many of these filters are used +internally to implement standard filters or facilities; they are almost +certain to remain, in their present form or a backward-compatible one, in +future Ghostscript releases. + +

    +
    <target> /BCPEncode filter <file> +
    <source> /BCPDecode filter <file> +
    Create filters that implement the Adobe Binary Communications Protocol. +See Adobe documentation for details. +
    + +
    +
    <target> <seed_integer> /eexecEncode filter <file> +
    Creates a filter for encrypting data into the encrypted format described +in the Adobe Type 1 Font Format documentation. The +seed_integer must be 55665 for the eexec +section of a font, or 4330 for a CharString. Note that for +the eexec section of a font, this filter produces binary +output and does not include the initial 4 (or lenIV) garbage +bytes. +
    + +
    +
    <source> <seed_integer> /eexecDecode filter <file> +
    <source> <dict> /eexecDecode filter <file> +
    Creates a filter for decrypting data encrypted as described in the Adobe +Type 1 Font Format documentation. The seed_integer must be +55665 or 4330 as described just above. Recognized dictionary keys are: + +
    +seed <16-bit integer> (required)
    +lenIV <non-negative integer> (default=4) +
    +
    + +
    +
    <target> /MD5Encode filter <file> +
    Creates a filter that produces the 16-byte MD5 digest of the input. +Note that no output is produced until the filter is closed. +
    + +
    +
    <source> <hex_boolean> /PFBDecode filter <file> +
    Creates a filter that decodes data in .PFB format, the +usual semi-binary representation for Type 1 font files on IBM PC and +compatible systems. If hex_boolean is true, binary packets +are converted to hex; if false, binary packets are not converted. +
    + +
    +
    <target> <dict> /PixelDifferenceEncode filter <file> +
    <source> <dict> /PixelDifferenceDecode filter <file> +
    Implements the Predictor=2 pixel-differencing option of the LZW +filters. Recognized keys are: + +
    +Colors <integer> (1 to 4, default=1)
    +BitsPerComponent <integer> (1, 2, 4, or 8, default=8)
    +Columns <integer> (>= 0, required) +
    + +

    +See the Adobe Portable +Document Format Reference Manual for details. +

    + +
    +
    <target> <dict> /PNGPredictorEncode filter <file> +
    <source> <dict> /PNGPredictorDecode filter <file> +
    Implements the "filter" algorithms of the +Portable Network Graphics (PNG) +graphics format. Recognized keys are: + +
    + +

    Keys recognized in PNG filter algorithms
    +
    Key +    + Range +    + Default +

    +
    Colors <integer> +     + 1 to 16 +    + 16 +
    BitsPerComponent <integer> +   + 1, 2, 4, 8, or 16 +    + 8 +
    Columns <integer> +   + >= 0 +    + 1 +
    Predictor <integer> +   + 10 to 15 +    + 15 +
    + +

    +The Predictor is the PNG algorithm number + 10 for the +Encoding filter; the Decoding filter +ignores Predictor. 15 means the encoder attempts to +optimize the choice of algorithm. For more details see the PNG +specification + +

    +http://www.w3.org/TR/WD-png-960128.html +
    +
    + +
    +
    <target> /TBCPEncode filter <file> +
    <source> /TBCPDecode filter <file> +
    Create filters that implement the Adobe Tagged Binary Communications +Protocol. See Adobe documentation for details. +
    + +
    +
    <target> /zlibEncode filter <file> +
    <source> /zlibDecode filter <file> +
    Creates filters that use the data compression method variously known as +'zlib' (the name of a popular library that implements it), 'Deflate' (as in +RFC 1951, which is a +detailed specification for the method), 'gzip' (the name of a popular +compression application that uses it), or 'Flate' (Adobe's name). Note that +the PostScript Flate filters are actually a combination of +this filter with an optional predictor filter. +
    + +

    Unstable filters

    + +

    +Some versions of Ghostscript may also support other non-standard filters for +experimental purposes. The current version includes the following such +filters, which are not documented further. No code should assume that these +filters will exist in compatible form, or at all, in future versions. + +

    +
    <target/source> <string> ByteTranslateEncode/Decode filter <file> +
    string must be a string of exactly 256 bytes. Creates a +filter that converts each input byte b to +string[b]. Note that the Encode +and Decode filters operate identically: the client must +provide a string for the Decode filter that +is the inverse mapping of the string for the +Encode filter. +
    + +
    +
    <target/source> <dict> BoundedHuffmanEncode/Decode filter <file> +
    These filters encode and decode data using Huffman codes. Since these +filters aren't used anywhere, we don't document them further, except to note +the recognized dictionary keys, which must be set identically for encoding +and decoding: + +
    +FirstBitLowOrder <bool> (default=false)
    +MaxCodeLength <int> (default=16)
    +EndOfData <bool> (default=true)
    +EncodeZeroRuns <int> (default=256)
    +Tables <int_array> +
    +
    + +
    +
    <target/source> <dict> BWBlockSortEncode/Decode filter <file> +
    This filter implements the Burroughs-Wheeler block sorting compression +method, which we've heard is also used in the popular bzip2 +compression application. See http://sources.redhat.com/bzip2/ +for more information. The only recognized dictionary key is: + +
    +BlockSize <integer> (default=16384) +
    +
    + +
    +
    <target/source> MoveToFrontEncode/Decode filter <file> + +
    The Encode filter starts by initializing an internal +256-byte array a to the values 0 .. 255. This array will +always hold a permutation of these values. Then for each input byte +b, the filter outputs the index i such that +a[i] = b, and moves that element to the +front (element 0) of a, moving elements 0 .. i-1 to +positions 1 .. i. The Decode filter inverts this +process. +
    + +
    + +

    Device parameters

    + +Ghostscript supports the concept of device parameters for all devices, not +just page devices. (For non-page devices, these are accessible through +getdeviceprops and putdeviceprops, as +indicated above.) Here are the currently defined parameters for all +devices: + +
    + +
    .LockSafetyParams <boolean> +
    This parameter allows for improved system security by preventing +PostScript programs from being able to change potentially dangerous +device paramters such as OutputFile. This parameter cannot be set false +if it is already true. +

    +If this parameter is true for the current device, attempt to set a new +device that has .LockSafetyParams false will signal an + invalidaccess error. +

    + +
    +
    BitsPerPixel <integer> (usually read-only) +
    Number of bits per pixel. +
    + +
    +
    .HWMargins [<four floats>] +
    Size of non-imageable regions around the edges of the page, in points +(units of 1/72in; see the notes on +measurements in the documentation on devices). +
    + +
    +
    HWSize [<integer> <integer>] +
    X and Y size in pixels. +
    + +
    +
    Name <string> (read-only) +
    The device name. Currently the same as OutputDevice. +
    + +
    +
    Colors, GrayValues, RedValues, GreenValues, BlueValues, ColorValues (usually read-only) +
    As for the deviceinfo operator of Display PostScript. +Red, Green, Blue, and +ColorValues are only defined if +Colors > 1. +
    + +
    +
    TextAlphaBits, GraphicsAlphaBits (usually read-only) +
    The number of bits of anti-aliasing information for text or graphics +respectively. Legal values are 1 (no anti-aliasing, the default for most +devices), 2, or 4. +
    + +

    +In addition, the following are defined per Adobe's documentation for the +setpagedevice operator: + +

    +Duplex (if supported)
    +HWResolution
    +ImagingBBox
    +Margins
    +NumCopies (for printers only)
    +Orientation (if supported)
    +OutputDevice
    +PageOffset (write-only)
    +PageSize
    +ProcessColorModel (usually read-only)
    +
    + +

    +Some devices may only allow certain values for HWResolution +and PageSize. The null device ignores attempts to set +PageSize; its size is always [0 0]. + +

    +For printers these are also defined: + +

    +
    BufferSpace <integer> +
    Buffer space for band lists, if the bitmap is too big to fit in memory. +
    + +
    +
    MaxBitmap <integer> +
    Maximum space for a full bitmap in memory. +
    + +
    +
    OutputFile <string> + +
    An empty string means "send to printer directly", otherwise specifies +the file name for output; %d is replaced by the page number; +on Unix systems %pipe%command writes to a pipe. +(|command also writes to a pipe, but is now +deprecated.) +

    +Attempts to set this parameter if .LockSafetyParams is true +will signal an invalidaccess error. +

    + +
    +
    OpenOutputFile <boolean> +
    If true, open the device's output file when the device is opened, +rather than waiting until the first page is ready to print. +
    + +
    +
    PageCount <integer> (read-only) +
    Counts the number of pages printed on the device. +
    + +

    +The following parameters are for use only by very specialized applications +that separate band construction from band rasterization. Improper use may +cause unpredictable errors. In particular, if you only want to allocate +more memory for banding, to increase band size and improve performance, use +the BufferSpace parameter, not +BandBufferSpace. + +

    +
    BandHeight <integer> +
    The height of bands when banding. 0 means use the largest band height +that will fit within the BandBufferSpace (or BufferSpace, if +BandBufferSpace is not specified). +
    + +
    +
    BandWidth <integer> +
    The width of bands in the rasterizing pass, in pixels. 0 means use the +actual page width. +
    + +
    +
    BandBufferSpace <integer> +
    The size of the band buffer in the rasterizing pass, in bytes. 0 means +use the same buffer size as for the interpretation pass. +
    + +

    +Ghostscript supports the following parameter for +setpagedevice and currentpagedevice that is +not a device parameter per se: + +

    +
    ViewerPreProcess <procedure> +
    Specifies a procedure to be applied to the page device dictionary +before any other processing is done. The procedure may not alter the +dictionary, but it may return a modified copy. This "hook" is provided for +use by viewing programs such as GSview. +
    + +
    + +

    User parameters

    + +Ghostscript supports the following non-standard user parameters: + +
    +
    ProcessDSCComment <procedure|null> +
    If not null, this procedure is called whenever the scanner detects a DSC +comment (comment beginning with %% or %!). +There are two operands, the file and the comment (minus any terminating +EOL), which the procedure must consume. +
    + +
    +
    ProcessComment <procedure|null> +
    If not null, this procedure is called whenever the scanner detects a +comment (or, if ProcessDSCComment is also not null, a +comment other than a DSC comment). The operands are the same as for +ProcessDSCComment. +
    + +
    +
    LockFilePermissions <boolean> +
    If true, this parameter and the three PermitFile... +parameters cannot be changed. Attempts to change any of the values +when LockFilePermissions is true will signal invalidaccess. +Also, when this value is true, the file operator +will give invalidaccess when attempting to open files +(processes) using the %pipe device. +

    +Also when LockFilePermissions is true, strings +cannot reference the parent directory (platform specific). For example +(../../xyz) is illegal on unix, Windows +and Macintosh, and ([.#.#.XYZ]) is illegal on VMS. +

    +This parameter is set true by the .setsafe and +.locksafe operators. +

    + +
    +
    PermitFileReading <array of strings> +
    PermitFileWriting <array of strings> +
    PermitFileControl <array of strings> +
    These parameters specify paths where file reading, writing and the +'control' operations are permitted, respectively. File control +operations are deletefile and renamefile. +For renamefile, the filename for the current filename +must match one of the paths on the PermitFileControl list, and the +new filename must be on both the PermitFileControl and the +PermitFileWriting lists of paths. +

    +The strings can contain wildcard characters as for the filenameforall +operator and unless specifying a single file, will end with a * +for directories (folders) to allow access to all files and sub-directories +in that directory. +

    +Note: The strings are used for stringmatch operations similar +to filenameforall, thus on MS Windows platforms, use the '/' +character to separate directories and filenames or use '\\\\' to +have the string contain '\\' which will match a single '\' in the +target filename (use of '/' is strongly recommended). +

    +The SAFER mode and the +.setsafe operator set all three lists to empty arrays, +thus the only files that can be read are the %stdin device and +on LIBPATH or FONTPATH or the Resource paths specified by the /FontResourceDir +or /GenericResourceDir system params. Files cannot be opened for writing +anywhere and cannot be deleted or renamed except for files created with the +.tempfile operator). +

    + +
    + +

    Miscellaneous additions

    + +run can take either a string or a file as its argument. In +the latter case, it just runs the file, closing it at the end, and trapping +errors just as for the string case. + + + + +
    + +

    +Copyright © 1996, 2000 Aladdin Enterprises. All rights +reserved. + +

    +This software is provided AS-IS with no warranty, either express or +implied. + +This software is distributed under license and may not be copied, +modified or distributed except as expressly authorized under the terms +of the license contained in the file LICENSE in this distribution. + +

    +Ghostscript version 7.07, 17 May 2003 + + + + + diff --git a/Master/xemtex/doc/ghostscript/Lib.htm b/Master/xemtex/doc/ghostscript/Lib.htm new file mode 100644 index 00000000000..d3377b6238b --- /dev/null +++ b/Master/xemtex/doc/ghostscript/Lib.htm @@ -0,0 +1,491 @@ + + + +The Ghostscript library + + + + + + + + + + +

    The Ghostscript Library

    + + + + + +

    Table of contents

    + +
    + + + + + +

    For other information, see the Ghostscript +overview. + + + +


    + + + + + +

    The Ghostscript library

    + +

    +This document describes the Ghostscript library, a set of procedures +to implement the graphics and filtering capabilities that are primitive +operations in the PostScript language and in Adobe Portable Document Format +(PDF). + +

    +Ghostscript is actually two programs: a language interpreter, and a +graphics library. The library provides, in the form of C procedures, all +the graphics functions of the language, that is, approximately those +facilities listed in section 8.1 of the PostScript +Language Reference Manual, starting with the +graphics state operators. In addition, the library provides some +lower-level graphics facilities that offer higher performance in exchange +for less generality. + +


    + +

    PostScript operator API

    + +

    +The highest level of the library, which is the one that most clients will +use, directly implements the PostScript graphics operators with procedures +named gs_XXX, for instance gs_moveto and +gs_fill. Nearly all of these procedures take graphics +state objects as their first arguments, such as + +

    +int gs_moveto(gs_state *, double, double); +
    + +

    +Nearly every procedure returns an integer code which is >= 0 for a +successful return or <0 for a failure. The failure codes correspond +directly to PostScript errors, and are defined in +gserrors.h. + +

    +The library implements all the operators in the following sections of the +PostScript Language Reference Manual, with the indicated +omissions and with the APIs defined in the indicated .h +files. A header of the form A.h(B.h) indicates that +A.h is included in B.h, so +A.h need not be included explicitly if B.h +is included. Operators marked with * in the "omissions" column are not +implemented directly; the library provides lower-level procedures that can +be used to implement the operator. + +

    +There are slight differences in the operators that return multiple values, +since C's provisions for this are awkward. Also, the control structure for +the operators involving callback procedures (pathforall, +image, colorimage, +imagemask) is partly inverted: the client calls a procedure +to set up an enumerator object, and then calls another procedure for each +iteration. The ...show operators, +charpath, and stringwidth also use an +inverted control structure. + +

    + +
    Section
    (operators) +
       + Headers +    + Omissions +

    +
    Graphics state -- device-independent +   + gscolor.h(gsstate.h)
    gscolor1.h
    gscolor2.h
    gscspace.h
    gshsb.h
    gsline.h(gsstate.h)
    gsstate.h +
      +   +
      +
    Graphics state -- device-dependent +   + gscolor.h(gsstate.h)
    gscolor1.h
    gscolor2.h
    gsht.h(gsht1.h,gsstate.h)
    gsht1.h
    gsline.h(gsstate.h) +
      +   +
      +
    Coordinate system and matrix +   + gscoord.h
    gsmatrix.h +
      + *matrix, *identmatrix, *concatmatrix, *invertmatrix +
      +
    Path construction +   + gspath.h
    gspath2.h +
      + *arct, *pathforall, ustrokepath, uappend, upath, ucache +
      +
    Painting +   + gsimage.h
    gspaint.h
    gspath2.h +
      + *image, *colorimage, *imagemask, ufill, ueofill, ustroke +
      +
    Form and pattern +   + gscolor2.h +   + execform +
      +
    Device setup and output +   + gsdevice.h +   + *showpage, *set/currentpagedevice +
      +
    Character and font +   + gschar.h
    gsfont.h +
      + *(all the show operators), definefont, undefinefont, findfont, *scalefont, *makefont, selectfont, [Global]FontDirectory, Standard/ISOLatin1Encoding, findencoding +
    + +

    +The following procedures from the list above operate differently from their +PostScript operator counterparts, as explained here: + +

    +
    gs_makepattern(gscolor2.h) +
    Takes an explicit current color, rather than using the current color in +the graphics state. Takes an explicit allocator for allocating the pattern +implementation. See below for more details on +gs_makepattern. +
    + +
    +
    gs_setpattern(gscolor2.h) +
    gs_setcolor(gscolor2.h) +
    gs_currentcolor(gscolor2.h) +
    Use gs_client_color rather than a set of color +parameter values. See below for more details on +gs_setpattern. +
    + +
    +
    gs_currentdash_length/pattern/offset(gsline.h) +
    Splits up currentdash into three separate procedures. +
    + +
    +
    gs_screen_init/currentpoint/next/install(gsht.h) +
    Provide an "enumeration style" interface to setscreen. +(gs_setscreen is also implemented.) +
    + +
    +
    gs_rotate/scale/translate(gscoord.h) +
    gs_[i][d]transform(gscoord.h) +
    These always operate on the graphics state CTM. The corresponding +operations on free-standing matrices are in gsmatrix.h and +have different names. +
    + +
    +
    gs_path_enum_alloc/init/next/cleanup(gspath.h) +
    Provide an "enumeration style" implementation of +pathforall. +
    + +
    +
    gs_image_enum_alloc(gsimage.h) +
    gs_image_init/next/cleanup(gsimage.h) +
    Provide an "enumeration style" interface to the equivalent of +image, imagemask, and +colorimage. In the gs_image_t, +ColorSpace provides an explicit color space, rather than +using the current color space in the graphics state; +ImageMask distinguishes imagemask from +[color]image. +
    + +
    +
    gs_get/putdeviceparams(gsdevice.h) +
    Take a gs_param_list for specifying or receiving the +parameter values. See gsparam.h for more details. +
    + +
    +
    gs_show_enum_alloc/release(gschar.h) +
    gs_xxxshow_[n_]init(gschar.h) +
    gs_show_next(gschar.h) +
    Provide an "enumeration style" interface to writing text. Note that +control returns to the caller if the character must be rasterized. +
    + +

    +This level of the library also implements the following operators from other +sections of the Manual: + +

    + +
    Section
    (operators) +
       + Headers +    + Operators +

    +
    Interpreter parameter +   + gsfont.h +   + cachestatus, setcachelimit, *set/currentcacheparams +
    Display PostScript +   + gsstate.h +   + set/currenthalftonephase +
    + +

    +In order to obtain the full PostScript Level 2 functionality listed above, +FEATURE_DEVS must be set in the makefile to include at least the following: + +

    +FEATURE_DEVS=patcore.dev cmykcore.dev psl2core.dev dps2core.dev ciecore.dev path1core.dev hsbcore.dev +
    + +

    +The *lib.mak makefiles mentioned below do not always +include all of these features. + +

    +Files named gs*.c implement the higher level of the +graphics library. As might be expected, all procedures, variables, and +structures available at this level begin with "gs_". +Structures that appear in these interfaces, but whose definitions may be +hidden from clients, also have names beginning with "gs_", +that is, the prefix, not the implementation, reflects at what level the +abstraction is made available. + +

    Patterns

    + +

    +Patterns are the most complicated PostScript language objects that the +library API deals with. As in PostScript, defining a pattern color and +using the color are two separate operations. + +

    +gs_makepattern defines a pattern color. Its arguments are as follows: + +

    +
    gs_client_color * +     + The resulting Pattern color is stored here. This is different from PostScript, which has no color objects per se, and hence returns a modified copy of the dictionary. +
    const gs_client_pattern * +   + The analogue of the original Pattern dictionary, described in detail just below. +
    const gs_matrix * +   + Corresponds to the matrix argument of the makepattern operator. +
    gs_state * +   + The current graphics state. +
    gs_memory_t * +   + The allocator to use for allocating the saved data for the + Pattern color. If this is + NULL, gs_makepattern uses the + same allocator that allocated the graphics state. Library + clients should probably always use NULL. + +
    + +

    +The gs_client_pattern structure defined in +gscolor2.h corresponds to the Pattern +dictionary that is the argument to the PostScript language +makepattern operator. This structure has one extra member, +void *client_data, which is a place for clients to +store a pointer to additional data for the PaintProc; this +provides the same functionality as putting additional keys in the +Pattern dictionary at the PostScript language level. The +PaintProc is an ordinary C procedure that takes as +parameters a gs_client_color *, which is the +Pattern color that is being used for painting, and a +gs_state *, which is the same graphics state that +would be presented to the PaintProc in PostScript. +Currently the gs_client_color * is always the current +color in the graphics state, but the PaintProc should not +rely on this. The PaintProc can retrieve the +gs_client_pattern * from the +gs_client_color * with the +gs_getpattern procedure, also defined in +gscolor2.h, and from there, it can retrieve the +client_data pointer. + +

    +The normal way to set a Pattern color is to call +gs_setpattern with the graphics state and with the +gs_client_color returned by gs_makepattern. +After that, one can use gs_setcolor to set further +Pattern colors (colored, or uncolored with the same +underlying color space); the rules are the same as those in PostScript. +Note that for gs_setpattern, the +paint.values in the gs_client_color must be +filled in for uncolored patterns; this corresponds to the additional +arguments for the PostScript setpattern operator in the +uncolored case. + +

    +There is a special procedure gs_makebitmappattern for creating bitmap-based +patterns. Its API is documented in gscolor2.h; its implementation, in +gspcolor.c, may be useful as an example of a pattern using a particularly +simple PaintProc. + +

    Lower-level API

    + +

    +Files named gx*.c implement the lower level of the graphics +library. The interfaces at the gx level are less stable, +and expose more of the implementation detail, than those at the +gs level: in particular, the gx interfaces +generally use device coordinates in an internal fixed-point representation, +as opposed to the gs interfaces that use floating point +user coordinates. Named entities at this level begin with +gx_. + +

    +Files named gz*.c and gz*.h are internal to +the Ghostscript implementation, and are not designed to be called by +clients. + +


    + +

    A full example

    + +

    +The file gslib.c in the Ghostscript fileset is a complete +example program that initializes the library and produces output using it; +files named *lib.mak (such as ugcclib.mak +and bclib.mak) are makefiles using gslib.c +as the main program. The following annotated excerpts from this file are +intended to provide a roadmap for applications that call the library. + +

    /* Capture stdin/out/err before gs.h redefines them. */
    +#include <stdio.h>
    +static FILE *real_stdin, *real_stdout, *real_stderr;
    +static void
    +get_real(void)
    +{       real_stdin = stdin, real_stdout = stdout, real_stderr = stderr;
    +}
    + +

    +Any application using Ghostscript should include the fragment above at the +very beginning of the main program. + +

    #include "gx.h"
    + +

    +The gx.h header includes a wealth of declarations related +to the Ghostscript memory manager, portability machinery, debugging +framework, and other substrate facilities. Any application file that calls +any Ghostscript API functions should probably include gx.h. + +

    /* Configuration information imported from gconfig.c. */
    +extern gx_device *gx_device_list[];
    +
    +/* Other imported procedures */
    +        /* from gsinit.c */
    +extern void gs_lib_init(P1(FILE *));
    +extern void gs_lib_finit(P2(int, int));
    +        /* from gsalloc.c */
    +extern gs_ref_memory_t *ialloc_alloc_state(P2(gs_memory_t *, uint));
    + +

    +The externs above are needed for initializing the library. + +

            gs_ref_memory_t *imem;
    +#define mem ((gs_memory_t *)imem)
    +        gs_state *pgs;
    +        gx_device *dev = gx_device_list[0];
    +
    +        gp_init();
    +        get_real();
    +        gs_stdin = real_stdin;
    +        gs_stdout = real_stdout;
    +        gs_stderr = real_stderr;
    +        gs_lib_init(stdout);
    +        ....
    +        imem = ialloc_alloc_state(&gs_memory_default, 20000);
    +        imem->space = 0;
    +        ....
    +        pgs = gs_state_alloc(mem);
    + +

    +The code above initializes the library and its memory manager. pgs now +points to the graphics state that will be passed to the drawing routines in +the library. + +

            gs_setdevice_no_erase(pgs, dev);    /* can't erase yet */
    +        {   gs_point dpi;
    +            gs_screen_halftone ht;
    +            gs_dtransform(pgs, 72.0, 72.0, &dpi);
    +            ht.frequency = min(fabs(dpi.x), fabs(dpi.y)) / 16.001;
    +            ht.angle = 0;
    +            ht.spot_function = odsf;
    +            gs_setscreen(pgs, &ht);
    +        }
    + +

    +The code above initializes the default device and sets a default halftone +screen. (For brevity, we have omitted the definition of odsf, the spot +function.) + +

            /* gsave and grestore (among other places) assume that */
    +        /* there are at least 2 gstates on the graphics stack. */
    +        /* Ensure that now. */
    +        gs_gsave(pgs);
    + +

    +The call above completes initializing the graphics state. When the program +is finished, it should execute: + +

            gs_lib_finit(0, 0);
    + + + + +
    + +

    +Copyright © 1996, 1997, 1998 Aladdin Enterprises. +All rights reserved. + +

    +This software is provided AS-IS with no warranty, either express or +implied. + +This software is distributed under license and may not be copied, +modified or distributed except as expressly authorized under the terms +of the license contained in the file LICENSE in this distribution. + +

    +Ghostscript version 7.07, 17 May 2003 + + + + + diff --git a/Master/xemtex/doc/ghostscript/Maintain.htm b/Master/xemtex/doc/ghostscript/Maintain.htm new file mode 100644 index 00000000000..789602bd86c --- /dev/null +++ b/Master/xemtex/doc/ghostscript/Maintain.htm @@ -0,0 +1,210 @@ + + + +Ghostscript maintenance procedures + + + + + + + + + +

    Ghostscript maintenance procedures

    + + + + + +

    Table of contents

    + +
    + + + + + +

    For other information, see the Ghostscript +overview and the instructions on how to build +Ghostscript. + + + +


    + + + + + +

    Introduction

    + +

    +This document describes various maintenance procedures associated with +development version +Ghostscript. It is only meant for developers actively working on +Ghostscript. + +


    + +

    Rules for CVS Commits

    + +

    +This section describes a few rules intended to make life easier for people +working with this code base. + +

    +At any given time, there are usually two active branches: a stable +branch and a development branch. The development branch is HEAD, which +is the default when doing a checkout without a -r flag. At the time of +this writing (7 October 2002), the stable branch is tagged +GS_7_0x. + +

    +A concise and useful document for working with CVS branches is Jeff +Semke's CVS +Branch and Tag Primer. A +somewhat more detailed explanation is the Branching and +merging section from the CVS documentation by Pascal Molli. + +

    +For new development commits, you can basically ignore the +branches. Just commit to the HEAD branch. For bug fixes for the stable +branch, it is your responsibility to commit to both the stable branch +and, if appropriate, HEAD. Commits to HEAD are appropriate if they are +in an area not being actively reworked, if the development version +exhibits the same bug symptoms, and if the patch fixes these +symptoms. + +

    +When modifying a number of files for a single issue, please group them +together as a single commit. For two separate sets of changes dealing +with two different issues, there should be two commits. + +

    +You should strive not to introduce any new bugs with your +commit. Always make sure the code compiles before committing. Test the +changes with several files, including the problem file in the case of +a bug fix, and other files that may have been affected by the +changes. + +

    +Always supply a descriptive log message for your commits. These log +messages are used to automatically generate the News.htm file and History changelogs, and are also +crucial for navigating CVS using the CVSweb gateway. Please try to +keep the style of the descriptions similar to those in the current +History#.htm files. + +

    +Log messages beginning with 'Fix' are treated specially. Such messages are +put under the "Fixes problems" heading when the History files are +generated. Additionally, if the first four characters are 'Fix:' this is removed +(i.e., "Fix: The xyz" becomes "The xyz", but "Fixes xyz" is copied unchanged). +This feature is intended for explicit bugfixes and should be avoided for +enhancements or commits with long explanations. + +

    +Information about who changed what, when, and why is maintained in the +CVS logs. In general, a file should be a clean representation of the +current version rather than a history trail of how it got +there. Keeping old code around for reference is usually not necessary, +as it is stored in the CVS diffs. When necessary, use #if / #endif, or +descriptive conditionals such as #ifdef OLD_CMAP_TABLES. Do not +comment out old code. (A very few files that are distributed separate +from Ghostscript have a change log at the beginning, which should be +maintained: currently, only ansiknr.c and md5.[ch].) + +

    +Additionally, if your patch removes a feature, changes an interface or +otherwise creates an incompatibility with the last release, you +must add an entry to the "Incompatible changes" section of News.htm +as this information can only be generated manually. +This admonition applies to api changes that might +affect other developers as well as user issues like switch behavior. +Upon release, the accumulated incompatible changes will be moved to the +relevant History file, and the News collection in cvs will be wiped clean +for the next version. + +

    +All patches must be reviewed before being committed. Please email your +patch to gs-code-review@ghostscript.com. +Make sure to include your commit comment and any other information +that would be helpful for the review. Also, please identify which +branches the patch is intended for. + +

    +If you are not an employee or consultant of Artifex or artofcode, then +we need a copyright assignment form so we can incorporate your +changes. Please email Raph Levien <raph@artofcode.com> and +include your snailmail address for a hardcopy assignment form. + +

    Adding or removing files

    + +

    +When adding or removing files, don't forget to invoke cvs +add or cvs rm. + +

    +When adding files, update the file roadmap in +doc/Develop.htm. + +

    +When adding or removing files other than .c or .h: If the files will be +used at runtime, check the install list in unixinst.mak. + +

    +When adding .c files, update the relevant .mak file +(usually devs.mak, int.mak, or +lib.mak). + +

    +When adding new documentation, add a link to doc/Readme.htm and +a short blurb describing the contents of the file. + +

    +When adding or changing fonts, update lib/Fontmap.GS, +fonts.mak, and possibly the compiled fonts in +gs.mak and the examples in +doc/Fonts.htm. + +

    +When adding .ps files, update doc/Psfiles.htm. + +

    +Likewise, you will want to delete any references for a file you +remove from Ghostscript. + + + + +


    + +

    +Copyright © 2000 artofcode LLC. +All rights reserved. + +

    +This software is provided AS-IS with no warranty, either express or +implied. + +This software is distributed under license and may not be copied, +modified or distributed except as expressly authorized under the terms +of the license contained in the file LICENSE in this distribution. + +

    +Ghostscript version 7.07, 17 May 2003 + + + + + diff --git a/Master/xemtex/doc/ghostscript/Make.htm b/Master/xemtex/doc/ghostscript/Make.htm new file mode 100644 index 00000000000..2fecd470c45 --- /dev/null +++ b/Master/xemtex/doc/ghostscript/Make.htm @@ -0,0 +1,2766 @@ + + + +How to build Ghostscript from source code + + + + + + + + + + +

    How to build Ghostscript from source code

    + + + + + +

    Table of contents

    + +
    + + + + + +

    For other information, see the Ghostscript +overview and the instructions on how to install +Ghostscript. + + + +


    + + + + + +

    General overview

    + +

    +This document describes how to build a Ghostscript executable from source +code. There are four major steps to building Ghostscript: + +

      +
    1. Acquire the compressed archive files of source code for Ghostscript and +the required third-party libraries. +
    2. Unpack the archive files into the Ghostscript directory and correctly +named subdirectories. +
    3. Prepare the makefiles, including specific changes for your operating +environment and your choice of configuration options. +
    4. Invoke "make" to build the software. +
    + +

    +The remainder of this document describes each of these steps in detail. +Note that some of this process is platform-dependent. After building +Ghostscript you must then install it; for that, see the +installation instructions. + +


    + +

    How to acquire the source code

    + +

    +Building Ghostscript requires the Ghostscript source code itself, and also +the source code for some third-party libraries that Ghostscript uses. + +

    Ghostscript source code

    + +

    +Ghostscript is available from all the standard GNU mirrors, e.g. + +

    +ftp://ftp.gnu.org/pub/gnu/ +
    + +

    +Ghostscript source code is packaged in two different formats: +gzip-compressed tar files (*.tar.gz) and zip files +(*.zip). For all versions there are gzip-compressed tar +files: + +

    +ghostscript-#.##.tar.gz
    +ghostscript-fonts-std-#.##.tar.gz
    +ghostscript-fonts-other-#.##.tar.gz +
    + +

    For recent versions of Ghostscript there may also be zip files + +

    +gs###src.zip
    +gs###w32.exe +
    + +

    +("#.##" and "###" are version numbers in punctuated and unpunctuated form.) +Software to decompress and extract both formats is available for almost +every platform for which Ghostscript is available -- including Unix, DOS, +MS Windows, and VMS -- so you can choose the format most convenient for +you; but it's up to you to locate that software. See the section on unpacking the source code. + +

    Third-party library source code

    + +

    +To build Ghostscript you need the source code for the Independent JPEG Group (IJG) library, the +Portable Network Graphics +(PNG) +library, and the zlib +compression and decompression library. Here are authoritative distribution +points for these libraries, where as elsewhere, "#" is used for version +numbers. The JPEG source code is quite stable, so the reference +here includes the latest version number. The zlib references are +version-independent and should always provide the latest version. + +

    +

    Third-party libraries: authoritative sources
    +
    JPEG +     + ftp://ftp.uu.net/graphics/jpeg/jpegsrc.v6b.tar.gz
    + ftp://ftp.simtel.net/pub/simtelnet/msdos/graphics/jpegsr6b.zip + +
    PNG +   + http://www.libpng.org/pub/png/src/libpng-#.#.#.tar.gz
    + http://www.libpng.org/pub/png/src/lpng###.zip
    + ftp://swrinde.nde.swri.edu/pub/png/src/libpng-#.#.#.tar.gz
    + ftp://swrinde.nde.swri.edu/pub/png/src/lpng###.zip + +
    zlib (latest) +   + http://www.gzip.org/zlib/zlib.tar.gz
    + http://www.gzip.org/zlib/zlib.zip
    + ftp://swrinde.nde.swri.edu/pub/png/src/zlib-#.#.#.tar.gz
    + ftp://swrinde.nde.swri.edu/pub/png/src/zlib###.zip +
    + +

    +On DOS or MS Windows one ordinarily uses the zip file kits, in other +environments the compressed tar files, but this is simply a matter of +convenience, since for the same version of the software the compressed tar +file has the same contents as the zip file. Note that each of these +libraries has its own version number that has +nothing to do with Ghostscript's version number; you should +get the highest numbered version. (If you encounter difficulties in the +build process you might have to use a lower-numbered version, but don't +worry about this yet.) If you're running GNU/Linux, you might check whether +these libraries are already available in source form on your system, since +many GNU/Linux distributors include them; but we advise you to get the highest +version from the Net if you can. + +

    +Although the zip archives of an old version of the PNG library may not be +named lpng###.zip, we refer to it as +lpng###.zip. + +

    +On MacOS, the .sit source archive includes the appropriate source versions +of these libraries, so no additional downloads are necessary. + +


    + +

    How to unpack the source code

    + +

    +Unfortunately there are no generally accepted standards for how to package +source code into archives, so the instructions for unpacking Ghostscript are +longer than they should be. We begin with a brief explanation of how to +extract the two kinds of archive files. + +

    How to unpack compressed tar files generally

    + +

    +Tar (.tar) files are the de facto standard for +archiving files on Unix (every Unix system has the tar +program), and programs to extract their contents are also widely available +for DOS, MS Windows, and VMS. To economize on space and downloading time, +Ghostscript's tar files are compressed with GNU gzip, which +adds the suffix ".gz" to the file name, giving +".tar.gz". + +

    +To unpack a compressed tar file MyArchive.tar.gz you +must both decompress it and extract the contents. You can do this in two +steps, one to decompress the file and another to unpack it: + +

    +gzip -d MyArchive.tar.gz +
    tar -xf MyArchive.tar +
    + +

    +or in a pipeline: + +

    +gzip -d -c MyArchive.tar.gz | tar -xf - +
    + +

    +or, if you have a program like GNU tar that can handle +compressed tar files, with a single command: + +

    +tar -zxf MyArchive.tar.gz +
    + +

    +The tar program automatically preserves directory structure +in extracting files. The Ghostscript source archive puts all files under a +directory gs#.##, so using tar to unpack a +compressed archive should always properly create that directory, which we +will call the "gs directory". Make sure you're positioned in the +parent of the gs directory before unpacking +the files. If a subdirectory doesn't already exist, tar +creates it. + +

    +Some other programs -- under MS Windows, for instance -- can also unpack +compressed tar files, but they may not automatically preserve directory +structure nor even extract files into the current directory. If you use +one of these, you must + +

      +
    • set the program's options to "Use folder names" or the equivalent, and +
    • check that it is extracting files into the right place. +
    + +

    How to unpack zip files generally

    + +

    +Zip files are the de facto standard for archiving files on DOS and +MS Windows, and programs to extract their contents are widely available for +DOS, MS Windows, Unix, VMS, and other platforms. Zip files are at once an +archive format and a compressed format, so an unzipping program +decompresses and extracts archived files as a single step. + +

    +One common 16-bit DOS program is pkunzip, which comes in +the pkzip package. If you use this, you should ensure that +you have at least version 2.04g, because with its -d +switch, that version of pkunzip preserves the directory +structure of archived files when extracting them; see below. Another +popular free program to unpack zip archives, available for DOS and MS +Windows (16-bit and 32-bit), Unix, VMS, and other platforms, is InfoZIP +unzip: + +

    +http://www.info-zip.org/pub/infozip/UnZip.html +
    + +

    +Unlike pkunzip, InfoZIP unzip automatically +preserves the directory structure of extracted files. So if you have a zip +archive MyArchive.zip: + +

    + +

    Extracting zipped files
    +
    Command +      + Preserves directory structure +

    +
    pkunzip MyArchive.zip +   + Does NOT +
    pkunzip -d MyArchive.zip +   + DOES (note the -d switch) +
    unzip MyArchive.zip +   + DOES +
    + +

    +As with the compressed tar files, make sure you're positioned in the +parent of the gs directory before unpacking +the files. If a subdirectory doesn't already exist, zip or +pkunzip -d creates it. + +

    How to unpack Ghostscript itself

    + +

    +At this point you have acquired all the source code +and are ready to unpack it according to the preceding guidelines for tar files or zip files. To +unpack the Ghostscript source, make the parent of the (new) +gs directory the current directory. + +

    +
    2-step: +     + gzip -d ghostscript-#.##.tar.gz
    tar -xf ghostscript-#.##.tar +
    +
    Pipe: +   + gzip -d -c ghostscript-#.##.tar.gz | tar -xf - +
    +
    GNU tar: +   + tar -zxf ghostscript-#.##.tar.gz +
    +
    pkunzip: +   + pkunzip -d gs###sr1.zip
    pkunzip -d gs###sr2.zip
    ... +
    +
    unzip: +   + unzip gs###src.zip +
    + +

    +All the Ghostscript source files are now in subdirectories of the gs +directory. + +

    +

    Source subdirectories
    +
    Subdirectory +      + Contents +

    +
    src/ +   + C source code and makefiles +
    lib/ +   + PostScript files and scripts used when running Ghostscript +
    doc/ +   + Documentation +
    man/ +   + Unix man pages +
    examples/ +   + Sample PostScript files +
    + +

    How to unpack the third-party libraries

    + +

    +The Ghostscript makefiles expect to find the JPEG, PNG, and zlib source code +in specific subdirectories of the gs directory, and this +means you must pay careful attention to unpacking the source code for these +packages. Use the same method for all of them, no matter how they're +packaged: + +

      +
    1. Make the gs directory current. +
    2. Unpack the archive file, creating a subdirectory (which will include a +version number). +
    3. Whatever the subdirectory's original name, rename it to the versionless +name shown just below. +
    + +

    +If you're uncertain how to unpack an archive, review the sections on compressed tar files and zip +files. + +

    +

    3d-party software subdirectories
    +
    Package +      + Possible
    original name +
         + Rename to +

    +
    JPEG +   + ./jpeg-6b +   + ./jpeg +
    PNG +   + ./libpng-#.## +   + ./libpng +
    zlib +   + ./zlib-#.#.# +   + ./zlib +
    + +
    + +

    How to prepare the makefiles

    + +

    +The Ghostscript makefiles are very large and complex in order to deal with +the diverse requirements of all the different systems where they may be +used. + +

    +New with this release is support for the GNU autoconf tool for generating +an automatic configuration script. If you're on unix or a related system +that supports unix shell scripts, this is the easiest option to use. +Simply type: + +

    +./configure +
    + +from the top level of the ghostscript source directory. It should configure +itself based on what's available on your system, warn you of any missing +dependencies, and generate a Makefile. At this point you can skip to the +section invoking make below. Note that the +autoconfiguration option is only available with the unix .tar distribution +of the source. + +

    +If your system doesn't support the configure script or you don't wish to +use it, you can use the traditional ghostscript makefile system, editing +the options by hand to match your system as described below. +Fortunately, the only makefiles you're likely to want to change are +relatively small ones containing platform-specific information. + + +

    +

    Platform-specific makefiles
    +
    Makefile +      + Used for +

    +
    bcwin32.mak +   + MS Windows with Borland/Inprise compilers +
    msvc32.mak +   + MS Windows with Microsoft Visual C++ version 4 to 7. +
    openvms.mak +   + OpenVMS +
    os2.mak +   + OS/2 with the gcc/emx compiler +
    unix-gcc.mak +   + Unix with gcc +
    unixansi.mak +   + Unix with ANSI C compilers other than gcc +
    watc.mak +   + DOS with Watcom compilers +
    watcw32.mak +   + MS Windows with Watcom compilers +
      +

    Platform-independent makefiles
    +
    contrib.mak +   + Contributed device drivers +
    devs.mak +   + Maintained device drivers +
    gs.mak +   + Documentation and miscellany +
    int.mak +   + Main makefile for the PostScript & PDF interpreter +
    jpeg.mak +   + JPEG library +
    lib.mak +   + Graphics engine +
    libpng.mak +   + PNG library +
    version.mak +   + Version and release date +
    zlib.mak +   + zlib library +
    + +

    +Since these files change from one Ghostscript version to another, sometimes +substantially, and since they all include documentation for the various +options, here we don't duplicate most of that documentation: we recommend +strongly that you review the entire makefile specific for your operating +system and compiler before building Ghostscript. + +

    Changes for your environment

    + +

    +You must edit the platform-specific makefile to change any of these: + +

      +
    • The name of the makefile itself (MAKEFILE macro) +
    • The locations to install Ghostscript files (prefix etc.) +
    • The default search paths for the initialization and font files +(GS_LIB_DEFAULT macro) +
    • The debugging options (DEBUG and TDEBUG +macros) +
    • Which optional features to include (FEATURE_DEVS) +
    • Which device drivers to include (DEVICE_DEVS and +DEVICE_DEVS{1--20} macros) +
    • Default resolution parameters for some printer drivers +(devs.mak or contrib.mak, whichever defines +the driver) + +
    + +

    +The platform-specific makefiles +include comments describing all these except the +DEVICE_DEVS options. These are described in +devs.mak and contrib.mak, even though the +file that must be edited to select them is the platform-specific makefile. + +

    +Some platform-specific options are described in the sections for individual +platforms. See the "Options" section near the beginning of the relevant +makefile for more information. + +

    Selecting features and devices

    + +

    +You may build Ghostscript with any of a variety of features and with any +subset of the available device drivers. The complete list of features is +in a comment at the beginning of gs.mak, and the complete +list of drivers in comments at the beginning of devs.mak +and contrib.mak. To find what devices a platform-specific +makefile selects to include in the executable, look in it for all lines of +the form + +

    +FEATURE_DEVS={list of features}
    +DEVICE_DEVS*={list of devices} +
    + +

    +For example, if the makefile has + +

    +FEATURE_DEVS=$(PSD)level2.dev +
    + +

    +indicating that only the PostScript Level 2 facilities should be included, +you might make it + +

    +FEATURE_DEVS=$(PSD)level2.dev $(PSD)pdf.dev +
    + +

    +to add the ability to interpret PDF files. (In fact, +FEATURE_DEVS in the current Unix makefiles already includes +$(PSD)pdf.dev.) The Unix makefile also defines + +

    +DEVICE_DEVS=$(DD)x11.dev +
    + +

    +indicating that the X Windows driver should be included, but since +platform-specific makefiles as distributed normally include many of the +possible features and drivers, you will probably rather remove from the +makefile the features and drivers you don't want. It does no harm to +include unneeded features and devices, but the resulting executable will be +larger than needed. + +

    +You may edit the FEATURE_DEVS line to select or omit any of +the features listed near the beginning of gs.mak, and the +DEVICE_DEVS* lines to select or omit any of the device +drivers listed near the beginning of devs.mak and +contrib.mak. The first device listed in the definition of +DEVICE_DEVS becomes the default device for this executable; +see the usage documentation for how to +select an output device at run time using the +-sDEVICE= switch. If +you can't fit all the devices on a single line, you may add lines defining + +

    +DEVICE_DEVS1=$(DD){dev11}.dev ... $(DD){dev1n}.dev +
    DEVICE_DEVS2=$(DD){dev21}.dev ... $(DD){dev2n}.dev +
    + +

    +etc., up to DEVICE_DEVS15. Don't use continuation lines -- +on some platforms they don't work. + +

    +Note that if you want to include a driver named xxx, you must put +$(DD)xxx.dev in +DEVICE_DEVS*. Similarly, if you want to include a feature +related to the PostScript or PDF language interpreters (PostScript level +1 .. 3, or other language features such as the ability to read EPSF files or +TrueType font files), you must represent it as +$(PSD)xxx.dev. If you are linking +only the graphics library -- not the language interpreter(s) -- with an +application and want to include optional graphics library features such as +CIE color, you represent them as +$(GLD)xxx.dev. + +

    Precompiled run-time data

    + +

    +Ghostscript normally reads a number of external data files at run time: +initialization files containing PostScript code, fonts, and other resources +such as halftones. By changing options in the top-level makefile for the +platform, you can cause some of these files to be compiled into the +executable: this simplifies installation, improves security, may reduce +memory requirements, and may be essential if you are planning on putting +Ghostscript into ROM. + +

    +To compile the initialization files (lib/gs_init.ps, etc.) +into the executable, change the 0 to a 1 in +the line + +

    +COMPILE_INITS=0 +
    + +

    +To compile fonts into the executable, see Precompiling fonts. + +

    +To compile threshold-array halftones into the executable, see the "Compiled +halftone" section of int.mak for a sample makefile fragment, +genht.c for the syntax of halftone data files, and +lib/ht_ccsto.ps for a sample data file. Note that even +though the data files use PostScript syntax, compiled halftones do not +require the PostScript interpreter and may be used with the graphics library +alone. + +

    GNU readline

    + +

    +GNU Ghostscript distributions include support for GNU readline, but this +is not officially supported at this time. We will, however, welcome bug +fixes or updates, and distribute them with subsequent releases. + +

    Setting up "makefile"

    + +

    + +After going through the steps just described to unpack +the +sources, make any desired changes to +the +makefiles, and unpack or create links to the third party libraries, as the final step in +preparing to build Ghostscript you must usually associate the name +"makefile" with the correct makefile for your environment so +the make command can find it. See the section on your +particular platform for how to do that if necessary. + +

    Invoking "make"

    + +
    +
    make +
    Builds Ghostscript without debugging options. +
    + +
    +
    make debug +
    Builds Ghostscript with debugging options and additional internal error +checks. The program will be somewhat larger and slower, but it will behave +no differently unless you actually turn on debugging options at execution +time with the -DDEBUG or +-Z command line switches +described in the usage documentation. +
    + +
    +
    make pg +
    On Unix platforms, builds with the -pg compiler +switch, creating an executable for time profiling. +
    + +
    +
    make begin +
    On PC platforms, attempts a quick and dirty compilation of all the +.c files in the current directory. See the +more detailed explanation. +
    + +
    +
    make install +
    After building, installs the Ghostscript executables, support files, +and documentation, but does not install fonts. See the +installation documentation. +
    + +
    +
    make clean +
    Deletes all the files created by the build process (relocatables, +executables, and miscellaneous temporary files). If you've built an +executable and want to save it, move it first to another place, because +"make clean" deletes it. +
    + +

    +Note: on most platforms some of these simple instructions don't +quite work in one way or another. Read the section on your specific +platform. + +

    Cross-compiling

    + +

    +If you are compiling Ghostscript on machines X1 ... Xn with +cross-compilers that generate code for machine Y, you must first +perform several extra steps on some machine Z (not necessarily of the +same type as either Xi or Y). First of all, choose a makefile +appropriate for Z and edit it to reflect the run-time options you +wish to include (FEATURE_DEVS, DEVICE_DEVS*, +and any other relevant options), just as for non-cross-compilation. + +

    +If Z runs Unix, perform the following steps: +

      +
    1. On Z, +
      +make clean
      +make obj/arch.h obj/genconf obj/echogs +
      + +
    2. Edit obj/arch.h to reflect the architecture of Y. + +
    3. On Z, +
      +make CC=: CCLD=: +
      + +
    4. Copy the files obj/*.h from Z to the directory on +each Xi that will be used for compilation. + +
    5. Extract from the file obj/ldt.tr (on Z) the list +of .o files that will be linked: this gives the list of +source files that must be compiled. + +
    6. Do the compilations on Xi. +
    + +

    +If Z runs some version of Microsoft Windows with Microsoft Visual +C++, use the following steps. NOTE: We have not actually tested +this. + +

      +
    1. On Z, +
      +nmake clean
      +nmake obj\arch.h obj\genconf.exe obj\echogs.exe +
      + +
    2. Edit obj\arch.h to reflect the architecture of Y. + +
    3. On Z, +
      +nmake CC=rem LINK=rem +
      + +
    4. Copy the files obj\*.h from Z to the directory on +each Xi that will be used for compilation. + +
    5. Extract from the file obj\ldt.tr (on Z) the list +of .obj files that will be linked: this gives the list of +source files that must be compiled. + +
    6. Do the compilations on Xi. +
    + +
    + +

    How to build Ghostscript from source (PC version)

    + +

    +All Ghostscript builds in PC (DOS and MS Windows) environments are 32- or +64-bit: 16-bit builds are not supported. The relevant makefiles are + +

    +

    PC makefiles
    +
    Makefile +    + Construction tools +    + For environment +

    +
    bcwin32.mak +   + Borland/Inprise C++ 4.x +   + 32-bit MS Windows 3.1 + Win32s, 95, 98, NT +
    msvc32.mak +   + Microsoft Visual C++ 4 to 7 +   + MS Windows 32-bit +
    watc.mak +   + Watcom C/386 or C++ +   + MS-DOS 32-bit (extended) +
    watcw32.mak +   + Watcom C/386 or C++ +   + MS Windows 32-bit +
    unix-gcc.mak +   + Cygnus gcc +   + Cygnus gnu-win32 +
    + +

    +To build Ghostscript you need MS-DOS version 3.3 or later and +Borland/Inprise C/C++ (4.0 or later); Microsoft Visual C++ (version 4.0 or +later); Watcom C/386 (version 8.5 or later) or C++ (any version); or the +free djgpp + go32 development system. The options in the makefiles are +chosen to strike a balance between RAM consumption and likely usefulness. +If you run make in directory {dir}, the default +configuration generates an executable that assumes the Ghostscript +initialization and font files are in directory +{dir}\lib. + +

    +Note that the make program supplied with each PC compiler +has a different name. We refer to this program generically as +make everywhere else in this document, but you will find the +correct name for each compiler in the relevant section below that discusses +that compiler. + +

    +You must have COMMAND.COM in your path to build Ghostscript. +After making the changes needed to choose features and devices to build into +the executable, you must create the directory where the compiler will do its +work (normally the obj subdirectory of the current +directory) and the directory where the compiled code will be placed +(normally the bin subdirectory). Then to build the +Ghostscript executable all you need do is give the make +command. + +

    +A special make target "begin" attempts to compile all the +.c files in the current directory. Some of these +compilations will fail, but the ones that succeed will go considerably +faster because they don't individually pay the overhead of starting up the +compiler. So a good strategy for building the executable for the first +time, or after changing a widely used .h file, is to do the +fast compilation of everything possible, then the controlled compilation of +everything that failed in the first step: + +

    +make begin
    +make +
    + +

    +Note: if you unpack the Ghostscript sources on a DOS or MS Windows +system from a Unix tar file, the unpacked files have linefeed alone as the +line terminator (the Unix convention) instead of carriage return + linefeed +(the Microsoft convention), which may make the C compiler unhappy. One +simple way to fix this, if you have the InfoZIP zip and +unzip programs, is + +

    +
    zip -l CVTEMP.zip *.bat *.c *.h *.def *.rc +      + (Letter "l", not the digit "1") +
    unzip -o CVTEMP.zip +   + (Rewrite all the same files correctly) +
    del CVTEMP.zip +   + (Delete the temporary zip file) +
    + +

    Borland/Inprise environment

    + +

    +To compile Ghostscript with the Borland/Inprise environment (hereafter +referred to as just "Borland"), you need Borland C++ (version 4.0 or later); +specifically the compiler, make utility, and linker. You +also need either the Borland assembler (version 1.0 or later) or the +Microsoft assembler (version 4.0 or later). + +

    +To create "makefile", give the command + +

    +echo !include "src\bcwin32.mak" >makefile +
    + +

    +To run the make program, give the commmand + +

    +make +
    + +

    +Besides the source files and the makefiles, you need: + +

    +
    *.bat +   + (a variety of batch files used in the build process) +
    + +

    +Comments in the makefiles describe the configuration parameters. If your +configuration is different from the following, you should definitely read +those comments and see if you want or need to change any of this: +

      +
    • The compiler files are in C:\BC and its subdirectories. +
    • You are using the Borland assembler tasm. +
    • You want an executable that will run on any 32-bit PC-compatible, +regardless of processor type (80386, 80486, Pentium, or compatible) and +regardless of whether a math coprocessor (80x87) is present -- an issue only +with 80386 processors. +
    + +

    +Notes + +

      +
    • A user reports that the Borland C++ 4.00 with patch 1-6 doesn't +produce a working executable of Ghostscript 5.03. We can't test this, +since we no longer have this compiler. + +
    • Borland C++ 4.5 has a bug or bugs that cause(s) the 32-bit Windows +executable to crash if you give any @-files on the command line. Among +other things, this makes the uniprint driver unusable, because it references +the .upp configuration files this way. This problem may possibly be fixed +by one or more of the patch files on + +
      +ftp://ftp.borland.com/pub/borlandcpp/devsupport/patches/bc4_5/ +
      + +
    • Borland C++ 4.52 has a bug that causes the 32-bit Windows executable to +fail during startup. Borland (now Inprise) provides a patch for this bug +in + +
      +ftp://ftp.borland.com/pub/borlandcpp/devsupport/patches/bc4_5/bc45xp1.zip +
      + +
    • Borland C++ 5.0 and 5.01 have a code generator bug that generates +incorrect code for the construct !file_is_valid(). Do not +attempt to compile Ghostscript with these compilers. If you want to report +this bug to Borland, send them the result of compiling +ziodev.c and tell them to look at the code generated for +file_is_valid() and !file_is_valid(). We +don't know whether Borland C++ 5.02 still has this problem. + +
    • When building for the MS Windows Win32s environment, the make +process will stop after it has created genarch.exe. +You should then run "_genarch.bat", wait until +genarch has finished and then exit MS Windows. Then type +"make" again to restart the make process. + +
    + +

    Microsoft Environment

    + +

    NOTE: We have received reports that the Microsoft Visual C++ 5.0 and 6.0 compilers + produce incorrect code for Ghostscript version 6.0 and later, from the same + source code that compiles and runs correctly with other compilers. In spite + of these reports, several members of the Artifex staff use version 6.0 of the + MSVC compiler on a regular basis and we have not found any problems. You may + also want to try out the Intel C/C++ compiler, + which can be integrated into the Microsoft Visual C++ environment. +

    To compile Ghostscript using the Microsoft environment, you need Microsoft + Visual C++ 4.0 or later with its associated "nmake" utility + and linker. +

    Using Microsoft Developer + Studio

    +

    Microsoft Developer Studio is the Microsoft Visual C++ integrated development + environment. To use it to build Ghostscript: it is first necessary to create + a new workspace/project. To create the workspace/project, open Microsoft Developer + Studio and select File/New. In the dialog window that is opened, + select 'Makefile' as the type of project. Specify a name for the project. (Microsoft + does not allow special characters such as ., *, ?, /, or \ as part of project + names.) Also specify the location of the master directory for your Ghostscript + files. Then select OK. +

    In the next dialog window, specify the build command line as nmake + /f src/msvc32.mak DEVSTUDIO= Note the value for DEVSTUDIO + is empty. Then select Finish. +

    At this point, it is now possible to build Ghostscript using Developer Studio. + To build, press F7 or select the build icon. Note: multiple warnings will also + given about things like double to float data conversions. Ignore them. We have + not found a way to create a single set of sources that does not create warnings + with the different compilers and operating systems supported by Ghostscript. + We are working to reduce the number of the warning messages. +

    To run Ghostscript inside of Developer Studio, it is necessary to specify the + name of the executable program . Select Project/Settings. Select + the Debug tab. Then for Executable for debug session: + specify bin/gswin32.exe +

    To use all of the features of Microsoft Developer Studio for debugging, and + modifying Ghostscriptt, you need to finish the remaining steps. +

    To add the Ghostscript DLL to the project, select Project/Settings. + Select the Debug tab. Change the Category to + Additional DLLs. Then specify bin/gsdll32.dll. +

    To specify the Ghostscript program arguments, select Project/Settings. + Select the Debug tab. Change the Category to + General. Then specify the desired program arguments. For example, + specifying: examples/tiger.ps will result in the tiger example + file being displayed when Ghostscript is executed. . +

    A final note: it is possible to create a command file (build.bat) to be used + for the build command line. If many different workspaces/projects are created, + it is simpler to use a build batch command file rather than retyping the build + command line for each new project. Here is an example used by one of Artifex's + staff members. This file is one line: +

    nmake -f src/msvc32.mak DEVSTUDIO= DEBUG=1 GS_LIB_DEFAULT="./lib/;./font;$(GSROOTDIR)/lib;$(AROOTDIR)/fonts" +
    +

    The DEBUG=1 enables many debugging features built into Ghostscript. + Please note the double quotes around the value for GS_LIB_DEFAULT + and the addition of ./lib;./fonts; to its definition. This uses + the local (within the project) copy of the lib and fonts + directories. This is convenient if any changes need to be made in these directories. +

    Using the command line

    +

    Ghostscript can be made using either the DOS shell or one one of the various + command line shells made for Windows. +

    In order for the makefiles to work properly, two items may have to be changed. + If you are not using version 6.x then before building, in src\msvc32.mak + find the line "MSVC_VERSION=6" and change it to "MSVC_VERSION=4", + "MSVC_VERSION=5" or "MSVC_VERSION=7". +

    In some cases the location of the Microsoft Developer Studio, needs to be changed. + The location of Microsoft Developer Studio is defined by the value of DEVSTUDIO. + There are four different definitions of DEVSTUDIO in src\msvc32.mak. + There is one for each of the currently supported versions of Microsoft Visual + C++ (4, 5, 6 and 7). +

    The normal installation process for Microsoft Visual C++ includes setting the + location of the Microsoft Visual C++ executables (cl.exe, link.exe, nmake.exe, + rc.exe) in your PATH definition and the LIB and INCLUDE environment variables + are set to point to the Microsoft Visual C++ directories. If this is true then + the value for DEVSTUDIO can be changed to empty. I.e. DEVSTUDIO= +

    If PATH, LIB, and INCLUDE are not correctly set then the value for DEVSTUDIO + needs to be defined. For example, for version 6.0, the default definition for + the location for the Microsoft Developer Studio is: DEVSTUDIO=C:\Program + Files\Microsoft Visual Studio If the path to Microsoft Developer Studio + on your system differs from the default then change the appropriate definition + of DEVSTUDIO. (Remember that there is a separate definition + of DEVSTUDIO for each version of MSVC, so be sure to change + the correct definition.) +

    To run the make program, give the command +

    +nmake -f src\msvc32.mak +
    + +

    +Rather than changing src/msvc32.mak, these values can be specified on the make +command line, I.e. + +

    nmake -f src\msvc32.mak MSVC_VERSION=6 DEVSTUDIO="C:\Program Files\Microsoft Visual Studio"
    +nmake -f src\msvc32.mak MSVC_VERSION=7 DEVSTUDIO="C:\Program Files\Microsoft Visual Studio .NET" +
    + +

    Note that double quotes have been added around the path for DEVSTUDIO + due to the spaces in the path value. +

    +This command line can also be put into a batch file. + +

    You may get warning messages during compilation about /QI0f + being an undefined switch, or the message "dwmain32.def: EXETYPE not supported + for platform; ignored" during linking. Multiple warnings will also given about + things like double to float data conversions. Ignore them. We have not found + a way to create a single set of sources that does not create warnings with the + different compilers and operating systems supported by Ghostscript. +

    +The Microsoft VC++ 5.0 compiler locks up when compiling +gxi12bit.c with /O2. Compile this file +without /O2. + +

    The Microsoft VC++ 5.0 compiler produces a non-working executable if compiling + without stack checking. Don't change the setting TDEBUG=1 in + msvc32.mak. + + +

    Making self-extracting executables

    + +

    +You can build self-extracting Windows executables of Ghostscript. (This is +not needed to use Ghostscript.) Currently this requires both the +Borland/Inprise and the Microsoft compilers, and also two pieces of +third-party software: + +

    + +

    +You will have to edit src/winint.mak to define +WINZIPSE_XE and ZIP_XE respectively as the +path names of these programs. See Release.htm for +the detailed procedure. + +

    Watcom environment

    + +

    +Because of limitations in the way that Watcom implemented their +wmake program, you must run the Watcom tools under MS +Windows, even if you are generating a DOS executable. This is very +unfortunate, and there is no good technical reason for it, but we were +unable to persuade Watcom (now Powersoft) to do anything about it. + +

    +To use the Watcom compiler, add to AUTOEXEC.BAT the line +"set DOS4G=quiet". Check that +AUTOEXEC.BAT also contains a line of the form +"set WATCOM={wcdir}" where {wcdir} is +the directory where you installed the Watcom tools, and that the setting of +PATH includes {wcdir}\binnt (or +%WATCOM%\binnt) before {wcdir}\binw +(or %WATCOM%\binw). Then to create +"makefile": + +

    +
    For +     + Give the command +

    +
    DOS +   + echo !include src\watc.mak >makefile +
    MS Windows +   + echo !include src\watcw32.mak >makefile +
    + +

    +Before compiling, change the definition of the WCVERSION +macro in the makefile (watc.mak or +watcw32.mak) to the version of the Watcom compiler you are +using. This is necessary to handle some minor incompatibilities between +versions. + +

    +To run the make program, give the commmand + +

    +wmake -u +
    + +

    +For information on using the GNU make program with the +Watcom compiler to build MS-DOS executables, which avoids the limitations in +wmake, see here. + +

    Cygwin32 gcc

    + +

    +A user reports that it is possible to compile Ghostscript for MS Windows NT +using the Cygwin32 gcc compiler, GNU make, and the +unix-gcc.mak makefile, with only two small source code +changes: + +

      +
    • Add "b" to the call to fopen in gp_open_scratch +
    • Mirror the gp_ntfs logic for gp_file_name_is_absolute +
    + +

    +Information about this compiler and environment is at the Cygnus site: + +

    +http://sources.redhat.com/cygwin/ +
    + +

    +Please note that Cygnus's licensing terms aren't quite as liberal about +redistribution as either the GNU +General Public License +or the Aladdin Free Public License, so read their +license carefully if you want to redistribute the results of using their +compiler. + +

    Intel C/C++ environment

    + +

    +Intel provides a C/C++ compiler that is compatible with the Microsoft Visual C++ environment. The main +advantage of this compiler over MSVC 5.0 and 6.0 is that it produces +working code even when all optimizations are enabled and when stack checking +is disabled. + +

    +To build Ghostscript using the Intel C/C++ compiler, you have to make the +following small changes in the makefiles: + +

      +
    • Find and change the second occurrence of +"COMPILE_FULL_OPTIMIZED" to "/O2" in file +msvccmd.mak.
    • Override "TDEBUG", +"COMP", and "COMPAUX" when invoking +nmake. +
    + +

    +More specifically, use "TDEBUG=0" and set both +"COMP" and "COMPAUX" to the full path of +icl (for example +"COMP=C:\intel\compiler45\bin\icl" if the Intel C/C++ +compiler V4.5 was installed to C:\intel). It is suggested +that you use a batch file to launch nmake, since the command +line processes the "=" on its own. Also, you may need to +execute vcvars32.bat and iccvars.bat to +register the proper paths for the compiler, its include files and its +libraries. + +

    +You can buy or download a 30-day evaluation version of the Intel C/C++ +compiler from Intel's Software Performance Tools web site: + +

    +http://www.intel.com/vtune/ +
    + +
    + +

    How to build Ghostscript from source (MacOS version)

    + +

    Traditional MacOS

    + +

    +The Macintosh version of Ghostscript requires the Metrowerks Codewarrior development suite. Download the +macgs-7xx-src.sit source archive from the location listed +below. This includes a Codewarrior .mcp project file than can be used to build both +Carbon and CFM versions of the ghostscript shared library component. + +

    +ftp://mirror.cs.wisc.edu/pub/mirrors/ghost/gnu/current/ +
    + +

    +If your system doesn't automatically unpack the source archive, you can +download the gratis Stuffit Expander to open it. + +

    +This archive includes appropriate versions of the jpeg, zlib and libpng 3rd party +library source for convenience. You must still download the fonts and place them in an +appropriate location, along with the contents of the lib directory from the source +archive. + +

    +Note that since this is just a library component, you will need a front-end application, such as +MacGSView, to actually view or convert postscript and pdf documents. + + +

    MacOS X

    + +

    +The unix source distribution (.tar.gz) builds fine on Darwin/MacOS X, +albeit without a display device. You can generally just use the Makefile +generated by ./configure or macosx.mak as your top-level makefile. +This will allow you to use Ghostscript from the command line as a BSD-layer +tool to rasterize postscript and pdf and convert between +the various formats supported by Ghostscript. + +

    +There is also a support for building Ghostscript as a framework. This is +a special encapsulated shared library format specific to MacOS X. To build +the framework, copy macosx.mak to the top-level directory, rename it to +makefile and issue 'make framework' from Terminal.app. This will result +in a Ghostscript.framework in the sobin directory. It must be +manually copied to /Library/Frameworks/ before applications +can use it. You may need to create the Frameworks/ directory on some systems. + +

    +Finally, there is a macos-mcp.mak makefile that can be +used to set up the Codewarrior shared library component build described +in the section on Classic MacOS above. + +

    +To set up the shlib build, download and uncompress the Ghostscript source. +If the archive doesn't contain the 3rd party jpeg, png, and zlib source, +you must download them as described at the beginning of this document and +unpack them under the macgs-###-src directory under the specific names +jpeg, zlib and libpng. You cannot use symlinks as +Codewarrior will not be able to follow them for some of the needed header +files. + +

    +Copy src/macos-mcp.mak to the top-level directory and rename +it makefile. Then run 'make' in that directory, either from +within Terminal.app or through Project Builder. This will set up the +generated code required for the build and run a shell script to generate +ghostscript.mcp.xml. Launch Metrowerks Codewarrior, and select +'Import Project...' from the File menu, and open the xml project file. +When asked, save the results as ghostscript.mcp in the same +directory and you should be ready to build the shared library component. + +

    +Tradtional ('PPC') applications based on the Code Fragment Manager +will not be able to open the shlib linked with CarbonLib, so two +targets are provided, one with carbon and one without. + +
    + +

    How to build Ghostscript from source (Unix version)

    + +

    +Before issuing the make command to build Ghostscript, you +have to make some choices, for instance +

      +
    • which compiler to use; +
    • what features and devices to include; +
    • whether to use system libraries for PNG and zlib; +
    • and how to handle issues for your particular platform. +
    + +

    +Be sure to check the sections on tool-, OS-, and hardware-specific issues for notes +on your particular platform and compiler. In fact, that is the +first place to check if you build Ghostscript and it crashes +or produces obviously incorrect results. + +

    The multi-architecture makefile

    + +

    +Especially if you are working in a Unix environment with multiple CPU types, +operating systems, and/or C compilers, you may find the file +all-arch.mak useful. This user-contributed file includes +"wrappers" for the Unix makefiles for many different common environments. +The author of this file notes: + +

    + +

    +This makefile allows you to execute + +

    +	 make `hostname`
    +
    + +

    +on any machine on a network, without having to examine the Makefile for a +specific target name. Also, some of the targets in the Makefile incorporate +special changes in compiler options for certain files, to work around +compiler bugs that Ghostscript has been so good at exposing. Having that +special handling written down in a Makefile proves very convenient. + +

    +I don't do "make install" until I've done + +

    +	cd ...build-directory.../gs-x.yz
    +	cd lib
    +	../bin/gs ../examples/tiger.ps
    +
    + +

    +and verified that the famous tiger can be correctly displayed. Also, the +"make install" step is careful to first remove any existing +$(BINDIR)/gs, then install a new gs there with a hard link +to gs-x.yz. + +

    +That way, each installation makes gs a synonym for the latest release, +but earlier ones remain in place in case backtracking is needed, which +I've fairly often wanted to do when investigating changed behavior, or +a suspected bug. + +

    +When I've been experimenting with a new feature, such as GNU readline +support, I change the setting of GS from gs to ngs (new gs), so as not +to break any existing programs by the installation of an experimental +version. + +

    + +

    Setting up "makefile"

    + +

    +The files src/unix*.mak are the makefiles for +Unix platforms, and you choose one based on what compiler you use. To +build Ghostscript, however, you must use the simple command +"make", which must find the file "makefile" +(or "Makefile"). If your system supports symbolic links, +set up "makefile" like this. + +

    +
    GNU gcc: +      + ln -s src/unix-gcc.mak makefile +
    Non-gcc ANSI C compiler: +   + ln -s src/unixansi.mak makefile +
    + +

    +If your system doesn't support symbolic links, first finish all changes to +the compiler-specific makefile, then make a hard link, omitting the +-s switch. + +

    +The makefile distributed with Ghostscript selects the following devices +to include in the build: + +

    + +

    Devices included as distributed
    +
    Type +    + Devices +

    +
    Display +   + X Windows +
    Printers +   + H-P DeskJets, LaserJets, and color DeskJets and PaintJets; Canon BubbleJets +
    File formats +   + Group 3 & Group 4 fax; JPEG; PCX; PBM, PGM, PKM, & PPM; TIFF; PostScript images; PNG; distilled PDF, PostScript, and EPS; PCL XL ("PCL 6") +
    + +

    +The unix*.mak files explicitly compile and +link the JPEG, PNG, and zlib libraries into the executable. If your Unix +system already includes the PNG and zlib libraries -- probably in +/usr/lib/libpng.{a,so} and +/usr/lib/libz.{a,so} -- and +you would rather use those copies, change the definition of +SHARE_LIBPNG and SHARE_ZLIB from 0 to 1 in +the relevant unix*.mak file before +compiling. Note that if you do this, you will get non-debug versions of +these libraries even if you selected DEBUG in the makefile. +At the insistence of some users, we have also provided the ability to do +this with the JPEG library (SHARE_JPEG), but should not use +it: in order to be compatible with Adobe interpreters (which do not follow +the JPEG standard exactly), Ghostscript has to compile the IJG code with +the non-standard definition + +

    +#define D_MAX_BLOCKS_IN_MCU 64 +
    + +

    +and since shared versions of this library will not have been compiled this +way, you will get errors on some valid PostScript and PDF input files. Note +also that because not all the JPEG library header files that Ghostscript +uses are normally installed in /usr/include, you must have +the source code for this library available even if you set +SHARE_JPEG to 1. + +

    +If the X11 client header files are located in some directory which your +compiler does not automatically search, you must change the +XINCLUDE macro in the makefile to include a specific +-I switch. See the comment preceding +XINCLUDE in the makefile. + +

    +Currently Ghostscript is set up to compile and link in a generic Unix +environment. Some Unix environments may require changing the +LDFLAGS macro in the makefile; be sure to check the Unix section for your specific tools, operating +system, and hardware. + +

    +Ghostscript uses ANSI syntax for function definitions. Building +with pre-ANSI C compilers is no longer supported. + +

    Shared object

    +To build Ghostscript as a shared object with gcc +(instead of as a single large executable) use: +
    +	ln -s src/unix-gcc.mak makefile
    +	make so
    +
    +

    +This will build libgs.so and two programs which use the +shared object, gsx which uses Gtk+ and gsc +which does not. + +

    +Do not use make -f src/unix-gcc.mak because this will +break the recursive make used in building the shared object. +

    +To install the shared object and these two programs: +

    +	make soinstall
    +
    +To delete files created by the build process: +
    +	make soclean
    +
    +

    +For more details see unix-dll.mak. + +

    Tool-specific issues

    + +

    gcc 2.7.*

    + +

    +Some of the issues in using gcc are very specific to the particular +computer, the particular version of the operating system, and the +particular version of gcc available to you. You can check the version of +gcc with the gcc --version command. + +

    +An optimizer bug in gcc versions 2.7.0, 2.7.1, and 2.7.2 causes the +compiler to generate incorrect code. The makefile works around this, but +we recommend that if possible you use either an earlier or a later version +of gcc; for instance, gcc 2.5.8, gcc 2.6.3, 2.7.2.1 or later which don't +have this bug. Note, however, that gcc has other problems on some +platforms, so please read the section for your specific platform. + +

    GNU make

    + +

    +Current versions of GNU make have no problems, but GNU +make 3.59 can't handle the final linking step in some +cases; if this happens, use the platform's standard make, +typically /bin/make. + +

    OS-specific issues

    + +

    386 Unix

    + +
      +
    • gcc versions older than 1.38 on Intel 80386 systems do not compile +Ghostscript correctly with the -O option. + +
    • gcc 1.39 under 386BSD has a bug that causes +float-to-integer conversions to compile incorrectly, rendering the +executable unusable. + +
    • X11R5 may need "#include <stddef.h>" in x_.h. + +
    • Also see regarding System V platforms. +
    + +

    BSDI

    + +
      + +
    • Use unix-gcc.mak and set
      +STDLIBS=-lm
      +XINCLUDE=-I/usr/X11R6/include
      +XLIBDIRS=-L/usr/X11R6/lib
      +XLIBS=Xt SM ICE Xext X11
      + +
    • If you want to use the shared versions of the PNG and zlib libraries, set +SHARE_LIBPNG=1 and SHARE_ZLIB=1 +as discussed previously. + +
    • BSD make uses a different syntax for its +include directive than Ghostscript; +use gmake instead. +
    + +

    Digital Unix (Alpha)

    + +
      + +
    • Use unixansi.mak for all Digital Unix compilers. + +
    • For versions of Digital Unix before 4.0, set + +

      +CFLAGS=-std -migrate -Olimit 1000 -g3 -O2 $(XCFLAGS)
      +LDFLAGS=-lots $(XLDFLAGS)
      + +

      +You may be able to omit -g3. For later versions of Digital +Unix, users have reported that the proper flags are + +

      +CFLAGS=-std1 -Olimit 1000 -g3 -O2 $(XCFLAGS) + +

      +again, optionally omitting the -g3. + +

    • If you get compiler error messages about "ANSI aliasing rules", please +see the section about building under OpenVMS below. + +
    + +

    FreeBSD

    + +

    +On FreeBSD systems, in the top-level makefile (unixansi.mak, +unix-gcc.mak, change the +value of STDLIBS from -lpthread -lm to +-lc_r -lm before building. + +

    GNU/Linux

    + +
      +
    • If you build on GNU/Linux with X11 R6 or later, you may get link-time error +messages about undefined references to various functions beginning with +"SMC" and "ICE". If this happens, make sure that XLIBS in +the makefile is set to +"Xt SM ICE Xext X11" rather than +"Xt Xext X11". + +
    • With gcc version 2.6.3 or later, you may encounter an incompatibility +in object formats (a.out vs. ELF) with the XFree86 library. +Typically, ld complains that some X library is not found, +or that many Xlib or Xt functions are not +found in the library (similar to the messages for omitting +SM and ICE from XLIBS). Or +you get a message when you start Ghostscript that the program or the shared +library is an unrecognized format. +If this happens, edit unix-gcc.mak to add the switches +"-b i486-linuxaout" to both CFLAGS and +LDFLAGS, then "make clean" followed by +"make"). If this doesn't help, or if other strange things +happen, contact your GNU/Linux supplier or support resource. + +
    • A few of Ghostscript's drivers are multi-threaded (currently only those +whose names begin with "bmpa"). These drivers require libc +version 6 or higher. Some GNU/Linux distributions, including Red Hat +distributions before 5.0, have libc version 5, so these +drivers may not compile. If this happens, remove these drivers (from the +definitions of DEVICE_DEVS* in +unix-gcc.mak), and, if you wish, substitute the +corresponding single-threaded drivers, whose names don't include the "a". + +
    + +

    +You may want to create RPM (Red Hat +Package Manager) files for Ghostscript. Because of the lack +of standardization of installation directory names between GNU/Linux releases, +Ghostscript does not come with any RPM specification files. You may wish to +contact the following people who have created RPM spec files in the past: + +

    +Henri Gomez hgomez@slib.fr
    +Russell Lang gsview@ghostgum.com.au
    +Cristian Gafton gafton@redhat.com
    +Preston Brown pbrown@redhat.com
    +
    + +

    +The following instructions may work for the Ghostscript 6.0x distributions, +once you have RPM spec files that you believe are appropriate. + +

    +To create RPMs for Ghostscript N.NN: + +

      +
    • Change to your source directory (/usr/src/redhat for Red Hat + Linux 5.1). +
    • Copy ghostscript-N.NN*.tar.gz (4 source files) to the +SOURCES subdirectory. +
    • Copy ghostscript-fonts-std-6.0.tar.gz and +ghostscript-fonts-other-6.0.tar.gz to the +SOURCES subdirectory. +
    • From SOURCES/ghostscript-N.NN.tar.gz, +
        +
      • extract rpm-conf.dif and copy to +SOURCES/ghostscript-N.NN-config.patch +
      • extract gs.rps and copy to +SPECS/ghostscript-N.NN.spec +
      • extract gs-fonts.rps and copy to +SPECS/ghostscript-fonts-N.NN.spec +
      +If the contents of these files have become out of date, you +will need to update the version number N.NN in the spec files, +and update the patch file. +
    • Change to the SPECS subdirectory and then execute the commands +
      +rpm -ba ghostscript-N.NN.spec
      +rpm -ba ghostscript-fonts-N.NN.spec +
      +This will create the RPM files +
      +RPMS/i386/ghostscript-N.NN-1.i386.rpm
      +RPMS/noarch/ghostscript-fonts-N.NN-1.noarch.rpm
      +SRPMS/ghostscript-N.NN-1.src.rpm
      +SRPMS/ghostscript-fonts-N.NN-1.src.rpm
      +
      +
    • See instructions on how to install + Ghostscript under Unix. +
    + +

    +Bruce Babcock +<babcock@math.psu.edu> has +made available everything needed to build Ghostscript under Slackware +3.*, Red Hat 4.* and 5.*, and Debian 1.* and 2.0; the files include +instructions and shell scripts to build and install Ghostscript, as well as +all the source and font kits and patches needed: + +

    +ftp://ykbsb2.yk.psu.edu/pub/ghost/GS-5.10/
    +ftp://ykbsb2.yk.psu.edu/pub/ghost/GS-5.10-Extra/ +
    + +

    NeXTSTEP / OpenSTEP

    + +
      +
    • If you are using a NeXTSTEP version before 3.3, please get a no-cost +upgrade (along with Y2K patches) from Apple. + +
    • For all NeXTSTEP systems, use unix-gcc.mak. Make the +following changes: + +
        +
      • In unix-aux.mak (and ugcclib.mak, if you +are using only the library) change the definition of INCLUDE +to "INCLUDE=/usr/include/bsd"; + +
      • in unix-gcc.mak: + +
          +
        • change CC=gcc to CC=cc; + +
        • change the definition of STDLIBS to only +-lm; + +
        • change SYNC=posync to SYNC=nosync; + +
        • add -D_POSIX_SOURCE to CFLAGS and remove +-g; + +
        • remove -Wstrict-prototypes from GCFLAGS, +and if you are using NeXTSTEP 3.3 (with gcc 2.5.8), also remove +-Wmissing-declarations; +
        + +
      • to the end of Fontmap.GS add the line +"/Ohlfs /Courier ;". +
      + +
    • If you are running the Pencom co-Xist X server (development version), +the X headers and libraries are in the default places, so change the +makefile definitions of XINCLUDE and +XLIBDIRS to empty strings. +
    + +

    SCO Unix/Xenix

    + +
      +
    • See also "386 Unix" and +"System V Unix platforms". + +
    • The standard cc compiler on SCO OpenServer v5 has optimizer bugs. +Compile without -O. + +
    • The SCO Unix C compiler apparently can't handle the +Pn macros in std.h. If you get +strange compilation errors on SCO Unix, ask SCO for a compiler fix. + +
    • Meanwhile, to use gcc with SCO ODT, see unix-gcc.mak +for the appropriate switch settings. + +
    • Because of a bug in SCO's floating point emulator, gcc 2.3.3 produces +code that causes crashes on machines without hardware floating point. Use +a different compiler on these machines. + +
    • If you aren't using the X11 driver, you must add +-lsocket to the value of EXTRALIBS to link +the date and time functions. + +
    • If you want to use direct frame buffer addressing instead of X Windows, +include the relevant frame buffer devices ($(DD)ega.dev, +$(DD)vga.dev, etc.) and change the definition of +EGAVGA to $(EGAVGA_SCO) as indicated in +devs.mak. Note: this works with SuperVGA displays +only for 800x600x16 mode. + +
    • If the display looks "smeared", try recompiling +gdevpcfb.c with -O0. + +
    • If Ghostscript crashes, use the -q switch or redirect +console output to a file. + +
    • If your compiler accepts both the -Xt and +-Xa switches, use -Xt. Even though this +causes the compiler to use incorrect rules for computing the result types +of "<<" and ">>", +-Xa enables optimizations that produce incorrect code. + +
    • For SCO ODT 2.0, in addition to -D__SVR3 and +-DSYSV, you need to specify -Dsco, +-DUSG, and -DMALLOC_0_RETURNS_NULL. For +SCO ODT, you need +"EXTRALIBS=-lX11 -lsocket -lmalloc", or maybe +only -lsocket depending on the version), and for SCO ODT +2.0, you must also specify -lc_s. For SCO Xenix, you need +"EXTRALIBS=-lmalloc". + +
    • For SCO OpenServer 5.0.5, add -L/usr/local/lib to +LDFLAGS. + +
    • For all SCO systems, set "XINCLUDE=" and +"XLIBDIRS=". +
    + +

    SVR4 Unix

    + +
      +
    • You may need to set EXTRALIBS=-lnsl. + +
    • Do not change PLATFORM=unix_ to PLATFORM=sysv_. + +
    • On SVR4 Unix platforms with dynamic linking, you may need to define +XLIBDIR as the name of the directory that holds the X +Windows libraries. Do not prefix the name with +"-L". + +
    • For SVR4.0 systems, set -DSVR4 and +-DSVR4_0 in the makefile; do not set +-DSYSV. For SVR4.2 (or later) and Solaris 2.n +systems, set only -DSVR4 (not +-DSVR4_0 nor -DSYSV). +
    + +

    System V Unix platforms

    + +
      +
    • If you are using a stock System V platform that lacks +rename and gettimeofday, in the makefile +change "PLATFORM=unix_" to +"PLATFORM=sysv_". + +
    • You will probably need to change the definition of +INSTALL from "install" to +"/usr/ucb/install". +
    + +

    Unixware

    + +
      +
    • The standard cc compiler has optimizer bugs. Compile without +-O. +
    + +

    Hardware-specific issues

    + +

    Alpha with gcc

    + +
      +
    • You don't have to use gcc on Alpha systems, because the bundled +compiler works. + +
    • The Alpha code generator in gcc 2.7.2.1 is broken. gcc 2.5.8 and 2.6.3 +are probably usable. Versions before 2.5.0 are believed not to work. We +suggest you use a recent version. + +
    • If you really want to use gcc 2.7.x, here is a patch for that version +from gcc maintainer Jim Wilson +<wilson@cygnus.com>. + +
      +*** reload.c.orig       Sun Mar  9 14:05:23 1997
      +--- reload.c    Sun Mar  9 14:06:54 1997
      +*************** push_secondary_reload (in_p, x, opnum, o
      +*** 589,600 ****
      +         set it up now.  */
      +
      +        if (in_p && icode == CODE_FOR_nothing
      +!         && SECONDARY_MEMORY_NEEDED (class, reload_class, reload_mode))
      +!       get_secondary_mem (x, reload_mode, opnum, type);
      +
      +        if (! in_p && icode == CODE_FOR_nothing
      +!         && SECONDARY_MEMORY_NEEDED (reload_class, class, reload_mode))
      +!       get_secondary_mem (x, reload_mode, opnum, type);
      +  #endif
      +      }
      +
      +--- 589,600 ----
      +         set it up now.  */
      +
      +        if (in_p && icode == CODE_FOR_nothing
      +!         && SECONDARY_MEMORY_NEEDED (class, reload_class, mode))
      +!       get_secondary_mem (x, mode, opnum, type);
      +
      +        if (! in_p && icode == CODE_FOR_nothing
      +!         && SECONDARY_MEMORY_NEEDED (reload_class, class, mode))
      +!       get_secondary_mem (x, mode, opnum, type);
      +  #endif
      +      }
      +
      +
    + +

    H-P Apollo

    + +
      + +
    • You must run the compiler in ANSI-compatible mode (that is, set AK={null string} in the makefile); otherwise it gives incorrect error +messages for any function declared as returning a float value. + +
    • The H-P Apollo compiler may not compile Ghostscript correctly. If you +get unexpected crashes at run time, use gcc. +
    + +

    AT&T 7040 R3

    + +
      +
    • If Ghostscript crashes on startup, recompile with -O0 +to work around compiler bugs. +
    + +

    Convex

    + +
      + +
    • Use unixansi.mak. Do not invoke optimization +(-O1) because the compiler will produce incorrect code. + +
    • Set CFLAGS to +"-no -fn -tm c1". +
    + +

    DECStations with Ultrix

    + +
      + +
    • If you get the compiler message "cfe: Fatal: _temp_19086.c: +Segmentation violation" or a similar one, try compiling with the +-oldc switch. + +
    • You may wish to set + +

      +GS_LIB_DEFAULT=$(gsdatadir):/usr/lib/DPS/outline/decwin:$(gsdatadir)/fonts + +

      +in the makefile to add the Display PostScript font directory to the font +search path. + +

    • Set + +

      +CFLAGS="-Olimit 2500" + +

      +to make the optimizer allocate enough table space. + +

    • The Ultrix 4.4 C compiler compiles gdevm1.c +incorrectly. Insert the following line in the makefile rule for +"gdevm1.$(OBJ)" (the body of the rule is empty in the +standard distribution): + +

      +$(CCC) -oldc gdevm1.c +

    + +

    H-P RISC workstations

    + +
      + +
    • HP-UX versions before 11.0 do not support POSIX threads. Set +SYNC=nosync in the makefile before building. + +
    • Ghostscript builds on H-P machines with either GNU gcc or H-P's +ANSI-capable cc. The minimal, non-ANSI-capable +cc that ships with a basic HPUX system does not +work. If cc on your system doesn't accept the +-Aa switch, then you need to get the full +cc or gcc. + +
    • If you use H-P's compiler, be sure you have upgraded to a recent +release. Many bizarre symptoms have been reported trying to build +Ghostscript with older, buggier compilers, for example: +
        +
      • The link step fails with a message about "max" not being defined. +
      • The build succeeds, but the resulting executable fails to start up, +with an error message like "Initializing... Unrecoverable error: typecheck +in .registerencoding". +
      • The build succeeds, but the resulting executable produces a black +background on the first page of output. +
      + +
    • It is reported that On HPUX 9.* you need at least compiler patch +PHSS_5723 and dld.sl patch PHSS_5734 to build Ghostscript. (As of late +1997, those patches are long obsolete; the current patches are compiler +PHSS_10357 and dld.sl PHSS_11246. It is unknown whether current +Ghostscript releases work with compiler/dld.sl versions older than these.) + +
    • On HPUX 10.*, we don't know what combinations of compiler version and +switches work. It is reported that On HPUX 10.20, setting +"CC=c89" and "CFLAGS=+O3 $(XCFLAGS)" +works, contradicting the information in the next paragraph, but this may be +dependent on the specific compiler version. + +
    • In either HPUX version, you need to set +"CC=cc -Aa" (or use -Ae if you +prefer), and set +"CFLAGS=-D_HPUX_SOURCE -O $(XCFLAGS)". Higher +levels of optimization than -O may work depending on your +compiler revision; some users have reported success with ++O3, some have not. + +
    • Some users have reported needing -DNOSYSTIME and +-D_POSIX_SOURCE in CFLAGS, but recent tests +do not show these to be necessary. + +
    • If you use gcc, it's a good idea to have a recent release -- 2.7.2.1 or +later -- but gcc 2.6.3 has been known to work with past releases of +Ghostscript. gcc versions earlier than 2.6.3, and 2.7.* earlier than +2.7.2.1, are known not to work. You may be able to get a working +executable with an older gcc by removing -O from +CFLAGS. +
    + +

    Intergraph Clipper

    + +
      +
    • Recommended settings are: + +

      +XCFLAGS=-w -Q -DSYSV -D__SVR3
      +EXTRALIBS=-lbsd -lc_s
      +CC=acc -knr
      +PLATFORM=sysv_

        + +

    • You will probably need to change the value of XLIBS from +"XLIBS=Xt X11 Xext" to "XLIBS=Xt_s X11_s Xext". +
    + +

    MIPS

    + +
      +
    • There is apparently a bug in older versions of the MIPS C compiler +which causes gxdither.c to compile incorrectly if +optimization is enabled (-O). However, this bug is +definitely fixed in MipsPRO C version 6.00; with this version, compiling +with "-O2 -mips2" produces good output. +
    + +

    NCR 3550

    + +
      +
    • With the NCR C Development Toolkit you must use -O0. +
    + +

    Pyramid MIServer-S

    + +

    +See "AT&T 7040 R3". + +

    IBM RS/6000 with AIX

    + +
      + +
    • Many versions of the AIX C compiler have bugs that have prevented +Ghostscript from compiling and linking properly. We believe that the +current Ghostscript release works around these bugs, and that +unixansi.mak with CC=cc should work. + +
    • You must also edit the makefile (unixansi.mak) to change +INSTALL to /usr/ucb/install. + +
    • AIX doesn't use a separate library for multi-thread support: set +STDLIBS=-lm in the makefile. + +
    • If -DSYSV produces a complaint about the functions +index and rindex not being defined, try +removing it. + +
    • If the xlc 1.2.1 optimizer runs out of memory, you may need to add +-qmaxmem=4000 to CFLAGS. + +
    • A user reports that the AIX C compiler shipped with AIX 3.2.5 compiles +Ghostscript only if invoked with "c89 -D_POSIX_SOURCE" +and without -O. On the other hand, another +user reports successful compilation using unix-ansi.mak and +the command line + +

      +make CC=c89 XCFLAGS="-DOSY_AIX -D_ALL_SOURCE -qnoro -qmaxmem=3000 -bfl" $*
        + +

    • Apparently some (but not all) releases of the C library declare the +hypot function: if the declaration in +math_.h produces an error message, try removing it. + +
    • The IBM X11R3 server is known to be buggy: use the MIT X server if +possible. + +
    • The xlc 1.3.0.x compiler provided in AIX 3.2.5+ definitely will not +compile Ghostscript correctly if -O is used on all files. +A user reports that compiling z*.c, +gsmatrix.c, gxstroke.c without +-O is sufficient to produce a working executable:. + +
    • Some installations of AIX 3.2.5 have what appears to be an incorrect or +inconsistent version of libXt.a in +/usr/lpp/X11/lib. If linking shows +XtShellStrings and XtStrings as unresolved +externals, set +"XLIBDIRS=-L/usr/lpp/X11/lib/R5 -L/usr/lpp/X11/lib" +rather than just "XLIBDIRS=-L/usr/lpp/X11/lib". + +
    • Ghostscript has been successfully compiled and runs under AIX 4.3.3 and +the IBM C compiler version 5. The following changes were required in +unixansi.mak: + +

      +CC=xlc +
      +XCFLAGS=-qalign=natural + +

    + +

    +Silicon Graphics

    + +

    +Users have had a lot of problems with the MIPSpro compilers on SGI systems. +We recommend using gcc. If you do choose to use the MIPSpro compiler, +please read the following carefully. + +

      +
    • +To make the optimizer allocate enough table space, set + +

      CFLAGS="-Olimit 2500" (for older compilers) +
      CFLAGS="-OPT:Olimit=2500" (for newer compilers) + +

      +MIPSpro compiler version 3.19 is "older", and 7.1 is "newer"; we aren't +sure at what point in between the latter syntax was introduced. + +

    • +With the compiler shipped with Irix 5.2, use the -ansi +option. + +
    • +The SGI C compiler may produce warnings about "Undefined the ANSI standard +library defined macro stdin/stdout/stderr". To suppress these warnings, add +"-woff 608" to the definition of CFLAGS. + +
    • +The SGI C compiler shipped with Irix 6.1 and 6.2 will not compile +zlib/deflate.c properly with optimization. Compile this file +separately without -O. + +
    • +With IRIX 6.5.x and the MIPSpro 7.x compilers there have been reports about +incorrect output and binaries that cause segmentation faults.  Various +solutions have been suggested and you may want to try them in this order, +until you get a working binary: + +
        +
      • +Compile idict.c and isave.c separately +without optimization after doing a normal compile; then relink.e.g.: + +

        +cc -OPT:Olimit=2500 -I. -I./obj -o ./obj/idict.o -c ./idict.c
        +cc -OPT:Olimit=2500 -I. -I./obj -o ./obj/isave.o -c ./isave.c + +

      • +Set CFLAGS= (no optimization). + +
      • +Use only -O2.   Compiler produces incorrect output +with -O3 or "-Ofast=ip32 -show". + +
      • +Irix 6.5.1m with MIPSpro compiler 7.2.1.1m, Irix 6.5.3m with MIPSpro +compiler 7.2.1, and probably other 6.5x / 7.2x combinations require +compiling with the -o32 option. Compiling with the (default) +-n32 option produces non-working executables. +-O2 is OK (possibly except for idict.c), but +not -O3. +
      +
    + +

    Sun

    + +
      +
    • The Sun unbundled C compiler (SC1.0) doesn't compile Ghostscript +properly with the -fast option: Ghostscript core-dumps in +build_gs_font. With that compiler use -g, +or use gcc instead. + +
    • The Sun version of dbx often gives up with an error +message when trying to load Ghostscript. If this happens, use GNU +gdb instead. (gdb is more reliable than +dbx in other ways as well.) + +
    • A bug in some versions of zlib results in an undefined +symbol zmemcmp when compiling with Sun cc. Use gcc +instead. +
    + +

    SunOS

    + +
      +
    • The tar program provided with SunOS 4.1.3 may not be +able to unpack the archives in the standard Ghostscript distribution. +Get a more recent version of tar, such as GNU +tar. + +
    • In SunOS 4.1.[23], you may get undefined symbols +_get_wmShellWidgetClass and +_get_applicationShellWidgetClass when linking. Compiling +"-Bstatic -lXmu -Bdynamic" appears to work for +SC1.0. For gcc, try adding -static to +CFLAGS. To solve the problem if you are using OpenWindows +3.0 (X11R4-based Xt), ask Sun for patches 100512-02 and 100573-03. +
    + +

    Solaris

    + +
      +
    • Solaris 2.2 may require setting "EXTRALIBS=-lsocket". +Solaris 2.3 and later seem to require "EXTRALIBS=-lnsl -lsocket -lposix4". + +
    • For Solaris 2.6 (and possibly some other versions), if you set +SHARE_LIBPNG=1, SHARE_ZLIB=1, or +SHARE_JPEG=1, you may need to set + +

      +XLDFLAGS=-R /usr/local/xxx/lib:/usr/local/lib + +

      +using the full path names of the relevant directories. + +

    • Solaris 2.n uses /usr/openwin/share/include +for the X11 libraries rather than /usr/local/X/include. + +
    • Solaris 2.n typically has Type 1 fonts in +/usr/openwin/lib/X11/fonts/Type1/outline. + +
    • For Solaris 2.n in the makefile you must change +the definition of INSTALL from "install -c" to +"/usr/ucb/install -c". + +
    • You may need to set XLIBDIR to the directory that holds +the X11 libraries, as for other SVR4 systems. Set -DSVR4 +in CFLAGS. + +
    • If you are using the SunPRO C compiler, don't use optimization level +-xO3. On SPARC platforms the compiler hangs; on Intel +platforms the generated code is incorrect. With this compiler on Intel, do +not use the -native flag: floating point computations +become unacceptably inaccurate. You can use -xcg92 (SPARC +V8) and -dalign for better performance. +
    + +

    VAX with Ultrix

    + +
      +
    • You may wish to set + +

      +GS_LIB_DEFAULT=$(gsdatadir):/usr/lib/DPS/outline/decwin:$(gsdatadir)/fonts + +

      +in the makefile to add the Display PostScript font directory to the font +search path. +

    + +
    + +

    How to build Ghostscript from source (OS/2 version)

    + +

    +Note: This section was contributed by a user: please e-mail Hermann +Ulrichskötter <ulrichsk@t-online.de> if you have +questions or problems. + +

    +The following instructions are for building with emx 0.9d/Fix2. Be warned +that with this version of gcc/emx, compiler optimization flags '-O' or '-O1' +will produce non-working output. + +

      +
    • The relevant makefile is os2.mak The gcc/emx 0.9b (or +later) compiler and IBM NMAKE.EXE are required. + +
    • For gcc/emx versions 0.9c and later, the LINK386 +command must include +"$(COMPBASE)\lib\end.lib"; version 0.9b requires +omitting it. The current os2.mak file does +include this file in the LINK386 command, so if you are +using 0.9b, delete this file reference before building. + +
    • Be sure you are using the standard OS/2 shell, CMD.EXE. +Some other shells have bugs or differences that cause the makefile not to +work. + +
    • Make sure you followed the instructions in "How to unpack the source +code" and "How to unpack the third-party libraries". + +
    • Use jpegsrc_v6b.tar.gz, zlib.tar.gz and libpng-1.0.3.tar.gz. Earlier +versions may not work. + +
    • If you wish to include support for XFree86, edit the makefile +to change BUILD_X11=0 to BUILD_X11=1. +XFree86 for OS/2 can be obtained from + +http://borneo.gmd.de/~veit/os2/xf86os2.html +You must use emx 0.9d. +
    + +

    +Before compiling or linking, execute md bin and md +obj in the gs directory to create the directories +for the binaries. + +

    +First, build the standard configuration: + +

      +
    • Edit gs/src/os2.mak: find line with 'CO=-O' (Optimizer flag) and edit +this line to 'CO=-O2' (-O or -O1 do not work!). + +
    • To start the make process, type nmake -f .\src\os2.mak, +from the gs-directory. + +
    • One DLL and two EXEs will be produced in gs/bin: +gsdll2.dll (the Ghostscript DLL), gsos2.exe +(the Ghostscript executable) and gspmdrv.exe (the +Presentation Manager display driver). All other newly generated files will +be produced in gs/obj. +
    + +

    +Now, if you wish, you can edit OS2.MAK to suit your needs, and then perform +nmake -f .\src\os2.mak clean and then nmake -f +.\src\os2.mak. + +


    + +

    How to build Ghostscript from source (OpenVMS version)

    + +

    The DECC6.2-003 compiler has an optimization problem that may lead to +warnings about the "ANSI aliasing rules". DEC (Compaq) can provide a fix +for this problem. The DECC6.2-006 compiler apparently does not have the +problem. + +

    +DEC C runtime library versions 5.5 and newer have an exit +function that is compatible with all other C systems, but some older ones +don't. If you get error messages from VMS when auxiliary programs such as +genarch or echogs finish executing, find the +line in stdpre.h that reads + +

    +/*#define OLD_VMS_C*/ +
    + +and remove the /* and */, changing it to + +
    +#define OLD_VMS_C +
    + +

    +Some versions of DEC's X server have bugs that produce broad bands of color +where dither patterns should appear, or characters displayed white on top +of black rectangles or not displayed at all. If this happens, consult the +usage documentation for how to work around +X server bugs using X resources; also report the problem to DEC, or +whomever supplied your X server. + +

    +You may also wish to turn off the use of a backing pixmap with Ghostscript, +either to work around X server memory limitations or bugs, or to obtain +faster displaying at the expense of no redrawing when a Ghostscript window +is restored from an icon or exposed after being occluded by another window. +Again, the usage documentation tells how to do this. + +

    +You can precompile any Type 1 font +into C, then compile and build it into Ghostscript, as described in the +fonts documentation. If you do this, then add +"$(PSD)ccfonts.dev" to FEATURE_DEVS in +OPENVMS.MAK: + +

    +$ FEATURE_DEVS = "$(PSD)psl3.dev $(PSD)pdf.dev $(PSD)dpsnext.dev $(PSD)ttfont.dev $(PSD)ccfonts.dev" +
    + +

    +Specify the font names with ccfonts1: + +

    +$ ccfonts1 = "Courier Courier_Oblique Courier_Bold Courier_BoldOblique" +
    + +

    +If this makes the line too long, add another line of the same form, such as + +

    +$ ccfonts1 = "Courier Courier_Oblique Courier_Bold Courier_BoldOblique" +$ ccfonts2 = "Times_Roman Times_Italic Times_Bold Times_BoldItalic" +
    + +

    Building with GNU make on OpenVMS

    + +

    +Note: GNU make on OpenVMS apparently has bugs that make it stop with an +error when building Ghostscript version 5.80 or later. Until further +notice, use MMS or MMK for building Ghostscript on OpenVMS. See below for details. + +

    +As of Ghostscript version 5.0 you can use GNU make -- with the file +OPENVMS.MAK and some auxiliary .COM files +-- to build Ghostscript on OpenVMS. Use the command: + +

    +make -fopenvms.mak "DECWINDOWS=[1.2]" +
    + +

    +That is, specify either "1.2" or nothing (blank) as the +value of DECWINDOWS. In Europe and other parts of the world +where ISO standard paper sizes are used, append "A4_PAPER=1" +to that line to make A4 the default paper size at run time. + +

    +If you haven't a prebuilt copy of GNU make, you'll have to build it +yourself; as of Version 3.76 (but not earlier) it is said to build properly +under OpenVMS on both VAX and Alpha. The kit is available at the +Free Software Foundation's ftp site and +its mirrors. See + +

    +ftp://ftp.gnu.org/pub/gnu/ +
    + +

    Building with MMK or MMS on OpenVMS

    + +

    +As of Ghostscript version 5.68 you can use MMK or MMS to build Ghostscript on +OpenVMS. MMS is a utility available from Compaq (Digital); +MMK is a freely-available program largely compatible with MMS. + +

    +Building Ghostscript with MMK or MMS uses the file +OPENVMS.MMK and some auxiliary .COM files. +To build Ghostscript with MMK or MMS, use the command: + +

    +###/descrip=[.src]openvms.mmk/macro=("DECWINDOWS1_2={0,1}") +
    + +where ### is either mmk or mms. + +

    +Specify DECWINDOWS1_2=1 for DECWINDOWS 1.2, +DECWINDOWS1_2=0 for other DECWINDOWS versions. In Europe +and other parts of the world where ISO standard paper sizes are used, add +,"A4_PAPER=1" just before the final closing parenthesis to +make A4 the default paper size at run time. + +


    + +

    Other environments

    + +

    Environments lacking multi-threading

    + +

    +All environments mentioned here by name have multi-threading capability. +However, if your environment doesn't, you can remove all need for +multi-threading by setting SYNC=nosync in the top-level +makefile. Note that you will not be able to use any so-called "async" +drivers (drivers that overlap interpretation and rasterization) if you do +this. No such drivers are in the DEVICE_DEVS* lists of any +makefile that we distribute. + +

    Plan 9

    + +

    +Use unix-gcc.mak, editing it to define + +

    +CC=cc +GCFLAGS=-D_BSD_EXTENSION -DPlan9 +
    + +

    +You will also probably have to edit many path names. + +

    QNX

    + +

    +David J. Hawkey Jr. writes that he built Ghostscript 4.03 and 5.0 under QNX +4.22, 4.23, and 4.24 using Watcom C 10.6 and that "it works quite well, +after figuring out the /etc/config/lpsrvr directives, +except for color printing to my HP DeskJet some-number-or-another". Here +is a concise presentation of changes based on the ones he made for +Ghostscript 4.03. + +

    +
    unixansi.mak +
    + +
    Original lines +    + Change to +

    +
    INSTALL = install -c
    INSTALL_PROGRAM = $(INSTALL) -m 755
    INSTALL_DATA = $(INSTALL) -m 644
    +
      + INSTALL = cp
    INSTALL_PROGRAM = $(INSTALL)
    INSTALL_DATA = $(INSTALL)
    +

    +
    datadir = $(prefix)/share +   + datadir = $(prefix)/lib +

    +
    CFLAGS_STANDARD=-O +   + CFLAGS_STANDARD=-Otx -zp1 -mf +

    +
    LDFLAGS=$(XLDFLAGS) +   + LDFLAGS=-mf -N32k $(XLDFLAGS) +

    +
    EXTRALIBS= +   + EXTRALIBS=-lXqnx_s -lsocket +

    +
    XINCLUDE=-I/usr/local/X/include +   + #XINCLUDE=-I/usr/local/X/include +

    +
    XLIBDIRS=-L/usr/local/X/lib
    XLIBDIR=
    XLIBS=Xt Xext X11
    +
      + #XLIBDIRS=-L/usr/local/X/lib
    #XLIBDIR=
    XLIBS=Xt_s Xext X11_s
    +

    +
    +
    + +
    +
    gp_unifs.c +
    After the line + +
    +#include <sys/param.h> +
    + +

    +add these lines: + +

    +#if defined(__QNX__)
    +#include <unix.h>
    +#endif

    +
    +
    + +
    +
    gp_unix.c +
    After the line + +
    +#include "time.h" +
    + +

    +add these lines: + +

    +#if defined(__QNX__)
    +#include <sys/time.h>
    +#endif

    +
    +
    + +
    +
    time_.h +
    Modify the line beginning + +
    +#  if defined(Plan9) || +
    + +

    +to begin + +

    +#  if defined(__QNX__) || defined(Plan9) || +
    +
    + +
    +
    /etc/config/lpsrvr +
    Here is Hawkey's lpsrvr as an example. + +
    +
    # lpsrvr
    +#
    +# Defines the print queues and their devices
    +#
    +# Queues
    +
    +# ink-jet: Ghostscript interpreter for mono DeskJet - LaserJet works
    +#          better than DeskJet!
    +
    +[ij-monops]
    +        ta=lpt1
    +        co=/usr/local/bin/gs -q -sDEVICE=laserjet -sOutputFile=- -dNOPAUSE $(spfile) quit.ps | cat > $(device)
    +
    +# Devices
    +
    +[-lpt1]
    +        dv=/dev/par1
    +
    +[-lpt2]
    +        dv=/dev/par2
    +
    +
    + + + + +
    + +

    +Copyright © 1996, 2000 Aladdin Enterprises. +All rights reserved. + +

    +This software is provided AS-IS with no warranty, either express or +implied. + +This software is distributed under license and may not be copied, +modified or distributed except as expressly authorized under the terms +of the license contained in the file LICENSE in this distribution. + +

    +Ghostscript version 7.07, 17 May 2003 + + + + + diff --git a/Master/xemtex/doc/ghostscript/New-user.htm b/Master/xemtex/doc/ghostscript/New-user.htm new file mode 100644 index 00000000000..125058b234e --- /dev/null +++ b/Master/xemtex/doc/ghostscript/New-user.htm @@ -0,0 +1,592 @@ + + + +Background information for new users of Ghostscript + + + + + + + + + + +

    Background information for new users of Ghostscript

    + + + + + +

    Table of contents

    + + + + + + + +

    For other information, see the Ghostscript +overview. + + + +


    + + + + + +

    An overview of Ghostscript

    + +

    +Ghostscript is the name of a set of software that provides: + +

      +
    • An interpreter for the PostScriptTM +language and the Adobe Portable Document Format (PDF -- +sometimes confused with Acrobat, Adobe's PDF browser and editor product); + +
    • Input modules (utilities) for reading a variety of raster formats, +including CMYK, GIF, JFIF (JPEG), MIFF, +PBM/PGM/PPM, and PCX; + +
    • Output modules (drivers) for a wide variety of window systems (including +X Windows and Microsoft Windows), raster file formats, and printers, as well +as a PDF output module that implements functions similar to Adobe's +AcrobatTM DistillerTM +product; and + +
    • The Ghostscript library, a set of procedures to implement the graphics +and filtering capabilities that are primitive operations in the PostScript +language and in PDF. +
    + +

    +In simple terms, this means that Ghostscript can read a PostScript or PDF +file and display the results on the screen or convert them into a form you +can print on a non-PostScript printer. Especially together with several +popular previewers, with Ghostscript you can view +or print an entire document or even isolated pages, even if your computer +doesn't have Display PostScript and your printer doesn't handle PostScript +itself. + +

    How is Ghostscript licensed? Where can I find it?

    + +

    +Ghostscript is a copyrighted work (artofcode LLC owns the copyright); +it is not shareware or in the public domain. Different versions of it are +distributed with three different licenses: + +

    GNU Ghostscript

    + +

    +GNU Ghostscript is distributed under the terms of the GNU General Public License, +which allows free use, and free copying and redistribution under certain +conditions (including, in some cases, commercial distribution). +You can always get the current version of GNU Ghostscript by Internet FTP +from any of the many GNU distribution sites. The GNU home ftp site is + +

    +ftp://ftp.gnu.org/pub/gnu/ +
    + +

    +For a more complete list of sites, including sites outside the U.S. and +other ways of obtaining GNU software, contact +the Free Software Foundation +<gnu@gnu.org>. + +

    +Versions of Ghostscript are also available from sites in the +Comprehensive TeX Archive Network (CTAN), in a tree based at +/tex-archive/support/ghostscript/, which you can find at these principal +CTAN distribution sites ("participating hosts") as of mid-1998: + +

    +
    ftp://ctan.tug.org/tex-archive/support/ghostscript/ +    + Massachusetts, U.S.A. +
    ftp://ftp.dante.de/tex-archive/support/ghostscript/ +   + Deutschland +
    ftp://ftp.tex.ac.uk/tex-archive/support/ghostscript/ +   + United Kingdom +
    + +

    +CTAN has more than fifty mirror sites around the world. For information +about CTAN sites, including how to use them over the World Wide Web, visit +ctan.org or get +the file CTAN.sites from any CTAN server, for +instance + +

    +ftp://ctan.tug.org/tex-archive/CTAN.sites +
    + +
    + +

    Libraries obtained from other parties

    + +

    +The Ghostscript source code distribution, and the Ghostscript executable +code, include libraries obtained from other parties. All the source files +mentioned in this section are in the Ghostscript and third-party library +source kits. The documentation of how to build +Ghostscript tells where to get these +libraries and how to unpack them. + +

    +
    The Independent JPEG +Group (IJG) +library +
    The executable versions of Ghostscript are based in part on the work of +the Independent JPEG Group. For more information, see +jpeg.mak in the main Ghostscript source directory and +README in the libjpeg source directory. + +
    The Portable Network +Graphics (PNG) library created by Dave Martindale, Guy Eric Schalnat, +Paul Schmidt, and Tim Wegner, of Group 42, Inc. +
    For more information, see libpng.mak in the main +Ghostscript source directory, and README and +png.h in the libpng source directory. + +
    The zlib library +created by Jean-loup Gailly and Mark Adler +
    For more information, see zlib.mak in the main +Ghostscript source directory, and README in the +zlib source code. +
    + +

    +These libraries do not fall under the GPL but come with their own licenses, +which also allow free use and redistribution under appropriate +circumstances and which appear in the files mentioned just above. These +libraries are entirely original works of their respective authors, and are +provided as is with no warranty and no support. + +


    + +

    What if I want support?

    + +

    +Neither artofcode LLC nor any organization known to us currently offers +Ghostscript support for end-users -- that is, for people or companies who +just want to use Ghostscript and not redistribute it as part of a product. + +

    +Nothing in the GNU license prevents anyone from providing +support for Ghostscript, either free or commercial. We would be happy to +include in the Ghostscript documentation the contact information for anyone +who wants to offer such support. + +


    + +

    What platforms does Ghostscript run on?

    + +

    +Ghostscript is written entirely in C, with special care taken to make it +portable to a wide variety of systems. It is actively maintained on many +unix-like operating systems, Microsoft Windows, Apple's MacOS and +OpenVMS and can easily be ported to others. Please see Making Ghostscript for details on the build process +and hints for various platforms. + +


    + +

    Related work

    + +

    Drivers

    + +

    +A number of people have created Ghostscript drivers that they prefer to +distribute directly, rather than including them in the Ghostscript +distributions. Please refer to www.linuxprinting.org or your favorite search engine +for +relevant examples. + +

    Previewers

    + +

    +The Ghostscript user interface is very primitive, so several people have +contributed screen previewers with better user interfaces. + +

    Previewers for X Windows

    + +
    +
    GSPreview +
    For information on GSPreview, contact Richard Hesketh +<rlh@ukc.ac.uk>. +
    + +

    Previewers for DOS and MS Windows

    + +
    +
    psv +
    PSV, another keyboard-based PostScript viewing package +for DOS, appears to be redistributable with no restrictions. It was once +available from + +
    +ftp://puccini.ujf-grenoble.fr/pub/contrib-ps/DOS-PSV/ +
    +
    + +

    A previewer for GNU/Linux

    + +
    +
    BMV
    Jan Kybic has created a Ghostscript-based +bitmap previewing program for GNU/Linux called BMV, which +doesn't use X Windows but is based on svgalib. He says +there is a port of BMV for SCO Unix by William Bader. +BMV is available from + +
    +ftp://sunsite.unc.edu/pub/Linux/apps/graphics/viewers/svga/bmv-1.2.tgz +
    +
    + +
    + +

    Related programs

    + +
    +
    genscript +
    genscript is a free replacement for the +enscript program. genscript converts plain +text files to PostScript and sends the generated PostScript output to the +specified printer or to a file. genscript can be easily +extended to handle different output media, and it has many options which can +be used to customize printouts, including 2-up printing, pagination, complex +headers, and many more. You can find the current version at + +
    +http://www.iki.fi/~mtr/genscript/ (home page)
    +ftp://ftp.gnu.org/pub/gnu/enscript/enscript-*.tar.gz +
    + +
    pstotext +
    A good free utility pstotext uses Ghostscript to extract +plain text from PostScript files. It is much better than the +ps2ascii utility distributed with Ghostscript. You can read +the pstotext documentation at + +
    +http://www.research.digital.com/SRC/virtualpaper/manpages/pstotext.1.html +
    + +

    +and download the pstotext kit from + +

    +http://www.research.digital.com/SRC/virtualpaper/pstotext.html +
    + +

    +pstotext is unsupported, but the authors, +Paul McJones +<paul.mcjones@acm.org> +and Andrew Birrell +<birrell@pa.dec.com>, are +happy to have your questions and comments either by e-mail or here + +

    +For more information about the authors' Virtual Paper project, which +attempts to make on-line reading of lengthy material (like research +reports, manuals, or entire books) comfortable, read: + +

    +http://www.research.digital.com/SRC/virtualpaper +
    + +
    PreScript +
    This is another good free utility that uses Ghostscript to extract text +from PostScript or PDF files. It can also generate very simple HTML, +keeping some of the formatting. It is unsupported, but is the product of an +active research project. Its home page is: + +
    +http://www.nzdl.org/html/prescript.html +
    + +
    + +
    + +

    If you need help

    + +

    +The list of Frequently Asked Questions (FAQ) isn't updated very often, so +it may be somewhat out of date. It's available from + +

    +http://www.cs.wisc.edu/~ghost/doc/faq.htm
    +ftp://mirror.cs.wisc.edu/pub/mirrors/ghost/faq.htm +
    + +

    +or by AFS from + +

    +/afs/cs.wisc.edu/p/mirror/pub/mirrors/ghost/faq.htm +
    + +

    +CompuServe announced in December 1995 that the Graphics Support Forum offers +Message Section and Library 21, "Ghostscript", for technical assistance with +Ghostscript. Ghostscript is available for downloading in Library 21, +"Ghostscript." To access the Graphics Support Forum, GO +GRAPHSUP. This service has no connection with the main Ghostscript +developers. + +

    +If you have problems with Ghostscript and you have access to the +Internet, we suggest to post your question to one of these Usenet +newsgroups: + +

    +
    gnu.ghostscript.bug +
    if your question is about GNU Ghostscript. If you have access to Internet mail, but not Usenet news, +write to bug-ghostscript@gnu.org, which is equivalent to +posting to that newsgroup. + +
    comp.lang.postscript +
    if you have a general question about Ghostscript. Note +however that this newsgroup was not intended for Ghostscript +discussion per se. +
    + +

    +There are hundreds of Ghostscript user sites all over the world, and another +user will often be able to help you. If you have trouble with a specific +device driver, look at devs.mak and +contrib.mak in the Ghostscript source directory to see in +which file the driver is defined. If it's defined in +contrib.mak, the list of contributed drivers, please contact +the author directly: the maintainers of Ghostscript can't help you with +user-maintained drivers. + +

    Reporting problems

    + +

    +Please read Bug-info.htm for information about +reporting problems. + +


    + +

    Contacting Ghostscript headquarters

    + +

    +As of mid-September 2000, artofcode LLC is responsible for the future +development of Ghostscript. Please do not contact us if all you want is +help with Ghostscript! Ghostscript is +free, but our time is not. If you call for help, we will tell you politely +that we cannot answer your question. Ghostscript's documentation, while not +of commercial end-user quality, has been adequate for thousands of users +(for many of whom English is a foreign language), so the answer to your +question is very likely in it somewhere. + +

    +Here is our contact information: + +

    +Raph Levien
    +artofcode LLC
    +940 Tyler St. Studio 6
    +Benicia, CA 94510
    +tel/fax +1 707 746 6398
    +raph@artofcode.com +
    + +

    Aladdin Enterprises

    + +

    +Aladdin Enterprises, the original authors of Ghostscript, is no +longer responsible for Ghostscript, but may be available for small +contract projects. Here is their contact information: + +

    +Aladdin Enterprises
    +203 Santa Margarita Avenue
    +Menlo Park, CA 94025 U.S.A.
    ++1-650-322-1734 fax
    +ghost@aladdin.com
    +http://www.ghostscript.com/ +
    + +

    +If you want help with Ghostscript, or want to report a problem, please do +not contact us. We will not be able to help you. + +


    + +

    How you can help improve Ghostscript

    + +

    +The most valuable thing you can do to help improve Ghostscript is to help +test it. We make three different grades of release available, each of +which needs a different kind of testing. + +

      +
    • Stable releases are made available about every 9 months, after +a beta test period. Reporting problems as described above often results in a fix being posted on +our Web site. +
    + +
      +
    • Beta releases are posted starting about 6 weeks before a +planned public release. These are candidates for public release, and need +intensive testing. +
    + +
      +
    • Development releases are posted every few weeks. These are not +supposed to be good enough for general use, but testing them is still very +helpful, since it gets problems corrected before the intensive beta test +period. +
    + +

    +You can always find the current public release and the current beta or +tester release on our Web +site. If you would like to be notified when new beta or tester releases +are posted, please contact us. + +

    +There are also some useful projects that we don't have enough resources to +work on, and with which we would appreciate help. See this list for details. + +


    + +

    Acknowledgements

    + +

    +Ghostscript was originally created, and through the year 2000 was primarily +developed and maintained, by L. Peter Deutsch, President of Aladdin +Enterprises (not to be confused with Peter J. Deutsch, founder of Bunyip +Information Systems Inc.). + +

    +Special thanks are due to Russell Lang, for the +GSview for Windows and +PM GSview programs, and for contributing most of the code for +the Microsoft Windows and OS/2 environments; to Tim Theisen, for the +Ghostview program for X Windows and for major contributions +to, and assistance with support of, the code for the X Windows +environment; to Martin Fong and Mark Lentczner, for the first Macintosh +ports; to Pete Kaiser +<kaiser@acm.org>, for redoing all +of the documentation in HTML; +and to the Independent +JPEG Group, to Group 42, Inc., and to Jean-loup Gailly and Mark Adler, +for creating the freely available libraries that Ghostscript uses. + +

    +Special thanks are due to URW++ Design and Development Incorporated, of +Hamburg, Germany (http://www.urwpp.de/) +for making a commercial-quality set of the 35 standard PostScript Type 1 +fonts available for free distribution under the GNU and Aladdin licenses, +and for updating them to include Adobe's expanded PostScript 3 character +set. + +

    +Special thanks are due to Richard Stallman and the +Free Software +Foundation for originating +the GNU +General Public +License, for originally motivating Aladdin's interest in creating free +software, and for being the primary distributor of GNU Ghostscript on the +Internet. + +

    +See also the list of the many other people who have +contributed significantly to improving Ghostscript. + + + + +


    + +

    +Copyright © 1996-2002 artofcode LLC. All rights +reserved. + +

    +This software is provided AS-IS with no warranty, either express or +implied. + +This software is distributed under license and may not be copied, +modified or distributed except as expressly authorized under the terms +of the license contained in the file LICENSE in this distribution. + +

    +Ghostscript version 7.07, 17 May 2003 + + + + + diff --git a/Master/xemtex/doc/ghostscript/News.htm b/Master/xemtex/doc/ghostscript/News.htm new file mode 100644 index 00000000000..7e3fa2fa015 --- /dev/null +++ b/Master/xemtex/doc/ghostscript/News.htm @@ -0,0 +1,96 @@ + + + +Recent changes in Ghostscript + + + + + + + + + + + +

    Changes in the most recent release of Ghostscript

    + + + + + + + + + +

    +This document is news about the most recent Ghostscript release. For +earlier versions, see the history documents: + +

    +History of Ghostscript versions 7.n
    +History of Ghostscript versions 6.n
    +History of Ghostscript versions 5.n
    +History of Ghostscript versions 4.n
    +History of Ghostscript versions 3.n
    +History of Ghostscript versions 2.n
    +History of Ghostscript versions 1.n +
    + +

    For other information, see the Ghostscript +overview. + + + +


    + + + + + +

    Version 7.07 (2003-05-17)

    + +

    This is the third release of the stable 7.0x series under the GNU +GPL. It includes an important security update; upgrading is strongly +recommended.

    + +

    Incompatible changes

    + +

    +No incompatible changes have been recorded for this version. Users of the 6.5x versions of GNU +Ghostscript will want to check the History for a complete list of changes since that version. + +

    +
    +
    + + + + +
    + +

    +Copyright © 2003 artofcode LLC. All rights +reserved. + +

    +This software is provided AS-IS with no warranty, either express or +implied. + +This software is distributed under license and may not be copied, +modified or distributed except as expressly authorized under the terms +of the license contained in the file LICENSE in this distribution. + +

    +Ghostscript version 7.07, 17 May 2003 + + + + + diff --git a/Master/xemtex/doc/ghostscript/Projects.htm b/Master/xemtex/doc/ghostscript/Projects.htm new file mode 100644 index 00000000000..3ee7f5cad5f --- /dev/null +++ b/Master/xemtex/doc/ghostscript/Projects.htm @@ -0,0 +1,629 @@ + + + +Ghostscript projects + + + + + + + + + +

    Ghostscript projects seeking developers

    + + + + + +

    Table of contents

    + + + + + + + +

    For other information, see the Ghostscript +overview. + + + +


    + + + + + +

    +There are many projects that would improve Ghostscript and that we would +like to do, but for which we don't have enough resources. If you would like +to take responsibility for any of these projects, please contact us. Additional comments on +implementation approaches or project goals are in italic type like +this. + +

    Additional platforms

    + +

    DOS, Windows and OS/2 builds using gcc.

    + +

    +We would like Ghostscript to work with the free emx/gcc and +rsx libraries, to provide an alternative DOS, Windows +95/98/NT, and OS/2 implementation that requires no proprietary, commercial +compilers. We think Ghostscript's existing OS/2 makefile already includes +most of what is needed. If someone is willing to do the work, we will be +happy to include this in our list of supported platforms and to distribute +the makefiles. + +

    Windows driver using Ghostscript as a language monitor.

    + +

    +MS Windows has a "language monitor" capability which would allow Ghostscript +to be invoked seamlessly to process input files in any language Ghostscript +could handle (currently PostScript and PDF) and for any printer for which +Ghostscript had a driver. Doing this properly would require integrating +Ghostscript with Windows' "Add Printer" dialog, and would also require +creating a PPD for Ghostscript. Russell Lang's RedMon program provides +some, but not all, of this capability. + +

    Netscape browser plug-in.

    + +

    +Currently, Ghostscript can work as a "helper application" for the Netscape +browser, but not as a plug-in; the latter would integrate it more closely +with the browser. We aren't sure what doing this would involve; we've also +heard by rumor that it's already been done. + +

    Ghostscript as an Active-X COM Object.

    + +

    +In order to integrate Ghostscript into XMetaL and other applications it +would be convenient for Ghostscript to be distributed as a COM object +along with the current gswin32.exe, gswin32c.exe and gsdll32.dll files. + +


    + +

    Driver Architecture

    + +

    Improved multi-threaded rendering support.

    + +

    +Currently, drivers can be written so that converting PostScript to a list of +graphical objects can run in one thread, and rasterizing the objects can run +in another thread. However, drivers must be written specially if they are +going to do this. We would like to change the architecture so that any +driver can work this way. We would also like to support dual-threaded +operation for drivers that produce high-level output, such as the PDF +writer. Doing this would require separating banding from +the multithreaded logic. Also, currently each thread has its own allocation +pool: this is unnecessary in the normal case, since Ghostscript now supports +properly locked access to the C heap, but embedded systems still need to use +a fixed-size area for the rasterizing thread. With a locked, shared +allocator, the rasterizing thread could use the full set of band list +functions; with a fixed-size area and a separate allocator, only a subset is +available, as is the case now for dual-threaded drivers. + + +

    Dynamic run-time loadable devices.

    + +

    +Currently, drivers must be linked into the executable. We would like to be +able to load drivers dynamically. Doing this requires defining a +platform-independent API (presumably extending the current gp_* APIs) that +would work at least on GNU/Linux, vendor Unix, MS Windows, and Macintosh. Unix +systems should include Sun, HP, AIX, IRIX, DEC; Linux ELF and a.out formats +should both be supported. Consider the Netscape plug-in +architecture. + +

    Moving 'setpagedevice' into C.

    + +

    +The PostScript 'setpagedevice' function implements matching of media and +page size requests to available media, page orientation, and paper handling +(duplex, etc.) Currently it is implemented in PostScript code, which means +it is not available for use with other input languages. (It is available +for PDF, which Ghostscript implements on top of PostScript, but not for the +not-yet-freely-available PCL interpreters that use the Ghostscript library, +or for possible future SVG or similar interpreters). We would like to move +this function into C. The device driver will be required to +send page parameters up to PostScript to be stored in a resource. To be +included in this project are handling policy implementations in the device +drivers. DeferredMediaSelection should also be implemented. + +

    Adding 'tee' for output to multiple devices.

    + +

    +In a few cases, it would be desirable to provide a 'tee' capability for +drivers: specifically, for generating small, low-resolution 'thumbnail' +images concurrently with other output. Probably the +simplest way to do this is to generate a band list and then process it +twice. This is not completely trivial, since the band list does include +device resolution information and scaling would be required for some +constructs. + +

    OutputDevice resource category

    + +

    +Each available output device should provide an instance of the +OutputDevice resource category, which gives the available +page sizes, resolutions, media classes, process color models, and other +information about the device. This would replace the current +non-standard use of a 4-element PageSize in the +InputAttributes entry of the page device dictionary. + +

    Removing the limit on the length of OutputFile.

    + +

    +Currently, the maximum length of the OutputFile parameter is +a compile-time constant, gp_file_name_sizeof. This is +appropriate for ordinary file names, since this constant is the platform's +limit on the length of a file name. However, if OutputFile +is a pipe, the length should not be limited in this way. This is +probably a small project: it requires allocating the file name dynamically, +and freeing it in the finalization routine that gets called when a driver +instance is freed.. + +

    Specific drivers

    + +

    PrintGear and PPA output drivers.

    + +

    +We would like to provide (Adobe) PrintGear and (H-P) PPA output drivers for +Ghostscript, but the specifications for these protocols are not published. +If you can provide them to us without violating any agreements, please let +us know. (Some work has already been done on reverse-engineering these +protocols, but we don't have references to it.) + +

    Improve 'pswrite' up to the level of 'pdfwrite'.

    + +

    +We would like to improve the high-level PostScript-writing +pswrite driver to bring it up to parity with the PDF-writing +driver (including the many improvements in the latter being implemented in +Ghostscript 7.xx). Specifically, we want it to write text as text rather +than bitmaps, and to consistently write images in their original high-level +form. We have already started to factor out code that +should be common to these two drivers, specifically for writing embedded +fonts and compressed data streams. + +

    +There is one small part of this project that would be especially valuable +and could be done independently (although it might have to be partly or +entirely redone later): compressing images. Currently the driver only +compresses character bitmaps, and doesn't compress other images at all. +It should use the CCITTFaxEncode filter for 1-bit-deep +images, and plane-separated LZWEncode compression for color +images, using the miGIF algorithms that are believed to be +free of the Welch patent for the latter. When generating LL3 PS, the +Flate compression will work better than miGIF. It may be +worth trying several methods on each image and use the one that works best. + +

    High level graphics and text for PCL 5 and PCL XL drivers.

    + +

    +Currently, the PCL 5 drivers produce only bitmaps; the PCL XL driver +produces high-level graphics and sometimes high-level images, but low-level +text. We would like to improve these drivers to produce higher-level, +smaller output. This was a very low-priority project; it has become more +important now that H-P's laser printers are shipping with less memory. + +

    Improved high level GDI driver for Windows.

    + +

    +We would like a "GDI driver" for MS Windows that would implement more +higher-level constructs (specifically for text). The +mswin and mswinprn drivers both do some of +this. Some of the the 'xfont' support code for MS Windows should be useful. +We were frustrated in the past because the GDI calls for getting font sizes +and metrics consistently returned incorrect information and provided no way +to get the correct information; perhaps this has been fixed in 32-bit +Windows. We believe that H-P, Russell Lang, and perhaps others are working +in this area, but we can always use more help. + +

    PDF thumbnail generation.

    + +

    +The PDF writer needs to be able to generate thumbnails (small previews). We +might do this through the 'tee' capability mentioned above. However, we +currently prefer the idea of implementing a completely separate program to +add thumbnails to an arbitrary, existing PDF file: this would allow +Ghostscript to add thumbnails to PDF files generated by other programs. +Much of the code needed to do this has already been written +for Ghostscript's PDF linearizer: see +lib/pdfwrite.ps. A user has implemented this as well, +using a separate program that calls Ghostscript: see + +http://www.uni-giessen.de/~g029/eurotex99/oberdiek/. + + +

    Consolidate inkjet drivers into a single family.

    + +

    +In addition to factoring out the error diffusion code as described below, we +would like to see another attempt at reducing the enormous volume of code +for color inkjet drivers. There are three sets of drivers (gdevcdj.c, +gdevstc.c, gdevupd.c) with much overlapping functionality. The latter two +driver families make good attempts at factoring out things like head +geometry and canned control strings, but we think this problem deserves +another pass, especially in the hope of consolidating these drivers into a +single family. + +

    Download glyph bitmaps (with glyph decaching notification).

    + +

    +See below under "Notification for glyph decaching." + +

    Preserve compression when writing PDF images.

    + +

    +Currently, all images are decompressed by the interpreter before being +passed to the graphics library; the PDF writer may then compress them again. +Ordinarily, this only slows things down a little, but in the case of +DCT-encoded images that are being DCT-encoded in the output, image +degradation may occur. Ideally, the implementation should be smart enough +to not decode and re-encode the image. However, making this work properly +is difficult. This would probably involve extending the library APIs for +images so that they could pass a stream, possibly including filters, instead +of the (fully decoded) data rows. + +


    + +

    Graphics functionality

    + +

    Support for 64-bit colors on 64-bit platforms.

    + +

    +Currently, the library supports a maximum of 32 bits of data per pixel; we +would like to raise this limit to 64 bits on systems where the 'long' data +type is 64 bits wide. The gx_color_index +type is already defined as 'long', but there are many places where the type +bits32 is used for pixel values; there is a 32-bit +stored-image "device", but there is no 64-bit device; a few algorithms and +tables have knowledge of the 32-bit width built into them, only because the +C preprocessor doesn't have any kind of loop or repetition +capability. + +

    In-RIP trapping.

    + +

    +The PostScript specification includes an option for the interpreter to +implement trapping (adjustments of object boundaries to prevent visual +anomalies caused by slight misregistration of different ink layers): we +would like to implement this. This is a complex and +difficult area; even many Adobe RIPs don't do it. + +

    Hook FreeType TrueType library into graphics library.

    + +

    +We would like to provide an option for good integration of the FreeType font +rasterizer into Ghostscript, since the FreeType code is better than +Ghostscript's current rasterizers. We understand that some users in Japan +have done this already, but we don't know if this is a good starting point +(the only documentation is in Japanese). Their work uses +Ghostscript's 'xfont' interface, which is how Ghostscript interfaces to +platform facilities such as the X and MS Windows font capabilities. This is +a device-level interface and not the best place to do this: we would rather +have the graphics library interface to FreeType directly. + +

    ICC profile support for output.

    + +

    +Ghostscript 7.00 and later supports ICCBased color spaces of PDF +using the icclib package from + +http://web.access.net.au/argyll/color.html +but there is no facility to use ICC output (printer) profiles that +may be embedded in the PDF. Also it would be useful for PostScript +to be able to directly use a specific Intent from ICC profile to +convert output colors (as CRD's are now used). +The primary difficulty is that the graphics library and PostScript +always use CIE XYZ as the connection space, but ICC profiles may +use CIELAB as the connection space, requiring conversion for use +with the graphics library. + +

    Making halftones into "objects" and adding new types.

    + +

    +Currently, knowledge of the specific data formats and algorithms for +halftoning permeates too many places in the library. We would like +halftoning to be more "object oriented" (using virtual procedures) so that +we could support other halftoning methods such as direct use of threshold +arrays, or the double-rectangle approach added in newer PostScript versions. +Threshold arrays take much less space than the current +representation, generally at the expense of longer rendering time for +black-and-white images; double-rectangle representation would give us a +better implementation of AccurateScreens. We might want store both +threshold arrays and the current representation. + +

    Factor out error diffusion routines, integrate ETS.

    + +

    +Currently, several different inkjet drivers implement their own, very +similar but slightly differing error diffusion methods. This has caused +severe code bloat as well as tempting future driver writers to contribute to +it further. We want to factor out error diffusion into a common set of +facilities that drivers can use. We would like to design +these facilities so that they can easily interface to the Even-Toned +Screening algorithms from artofcode (Raph Levien), to the extent that these +will be Open Source. + +

    Improve, or generalize, linearization for stochastic threshold +data.

    + +

    +The Ghostscript distribution includes a stochastic threshold array. This +array has some gamma correction built into it, which works well for some +output devices and not for others. We would like to provide a version of +this array without (or with less) gamma correction. We have +original data available from which this could be done fairly easily. + +

    Change sampled functions to use new interpreted functions.

    + +

    +The PostScript language defines many functions relevant to graphics +rendering as being implemented by arbitrary PostScript procedures: transfer +(gamma correction), black generation, undercolor removal, several stages of +CIE color space and rendering, and color mapping for Separation and DeviceN +spaces. Since the graphics library can't call PostScript procedures, +Ghostscript currently samples these procedures at a fixed number of points +and interpolates linearly between the samples. As of Ghostscript 6.20, the +library can interpret a restricted subset of PostScript procedures directly +(basically those that only use arithmetic and comparisons: no loops, +sub-procedures, or data structures). Changing the rendering functions to +use this approach when possible would greatly improve output quality when +the functions are very non-linear (which we have actually seen in practice). +This should only be done if the function is, in fact, +severely non-linear, since interpreting the function definition will almost +always be much slower than interpolating in the table. + +

    Add optional cubic interpolation to RenderTable and other table +lookup.

    + +

    +Currently, if a CIE rendering dictionary uses a lookup table for the final +step, Ghostscript always interpolates linearly between the entries. Cubic +interpolation should be supported as an option. A cubic interpolation +option is also needed for general table-lookup Functions. + +

    Add better (SVG-like) alpha channel and compositing to library.

    + +

    +Ghostscript has partial support for alpha channel and for alpha and RasterOp +compositing. There is some architectural support for general compositing, +but it postdates the RasterOp implementation, and most of the RasterOp code +doesn't use it. We expect that the more extensive compositing and alpha +capabilities of SVG will find their way into PDF (and probably PostScript as +well) in the course of 2000 and 2001, and we will need to implement them. + +


    + +

    Performance

    + +

    Change band list logic to defer halftoning until rendering.

    + +

    +Currently, when Ghostscript uses a band list, it does halftoning before +banding. It should do halftoning after banding: this produces smaller band +lists and shifts more work to the rasterizer (which is good because the +rasterizer can be multi-threaded internally for higher performance on +multiprocessors: see the next topic.) + +

    Reduce redundant data for smoothed banded images.

    + +

    +When smoothed ("interpolated") images are written in the band list, extra +rows must be written above and below each band in order to provide the data +for interpolation. Currently, the number of such rows is computed very +conservatively; instead, the final interpolation algorithm should be +consulted to provide the correct value. This is a small task. + +

    Multi-threaded rasterizing

    + +

    +For high-resolution devices, rasterization dominates execution time. On +multiprocessor systems, Ghostscript can do tasks in parallel: + +

      + +
    • Rasterize multiple bands simultaneously; + +
    • Rasterize multiple color planes of a single band simultaneously (if a +planar representation is being used); + +
    • For some computation-intensive tasks like smoothing images or filling +large regions, partition the task (possibly buffering more data to allow +larger-grain partitioning) and execute several partitions simultaneously. + +
    + +

    +We would want these facilities implemented so that no conditional +compilation was involved: on uniprocessor systems, the locking API would +simply have a vacuous implementation. + +

    Notification for glyph decaching.

    + +

    +Currently, drivers can't do a very good job of downloading rendered +character bitmaps to the device they manage, because they can't find out +when a bitmap is being deleted from Ghostscript's cache and therefore will +never be referenced again. Here is a sketch of how we would add this +capability to the graphics library: + +

      + +
    • The driver would implement the text_begin call, simply +to get access to a gs_imager_state that references the +rendered character cache. (The driver could always simply call the default +implementation of text_begin.) + +
    • In the text_begin procedure, the driver would call + +
      +gs_glyph_decache_register(imager_state, notify_proc, proc_data)
      +
      + +

      +where proc_data was, or pointed to a structure that +included, a pointer to the driver. + +

    • gs_glyph_decache_register would use the general +notification mechanism defined in gsnotify.h to call + +
      +notify_proc(proc_data, pchar_data)
      +
      + +

      +whenever a bitmap was removed from the character cache. +pchar_data would point to some identification of the +character; perhaps just the bitmap ID, but possibly a +gx_cached_bits_common or even a cached_char. + +

    • The char_cache structure would be need an additional +member, a gs_notify_list_t. It would also need to add +finalization so that when it was freed, it would notify and unregister all +clients, using gs_notify_all(list, NULL) and then +gs_notify_release. + +
    + +

    +This facility was requested by the Display Ghostscript project, but it +could also be used to improve the output of the PCL XL driver and possibly +the X and PCL5 drivers. + +


    + +

    Other functionality

    + +

    OpenStep (Display PostScript + NeXT) extensions to Ghostscript.

    + +

    +There is a project to create a GNU implementation of the OPENStep API, which +involves extending Ghostscript to provide the full functionality of Adobe's +Display PostScript system with some of the NeXT extensions. For more +information, please contact Net-Community <scottc@net-community.com>. + +

    Job Server implementation.

    + +

    +For full Adobe PostScript compatibility, Ghostscript needs a real "job +server" to encapsulate the execution of PostScript files. +See the section on "Job Execution Environment" in the PostScript +Language Reference Manual for details. + +

    SVG (XML Structured Vector Graphics) interpreter.

    + +

    +Ghostscript could be adapted with some work to read SVG. This would be an +interesting and challenging project because SVG's graphics model would +require extending the library (see above). If SVG turns out to be an +important standard, it is important that there be a good free implementation +of it. + +

    %font% and other IODevices.

    + +

    +Currently, the %font% IODevice is not implemented. We would +like to see this implemented using a general framework for implementing +IODevices (%xxxx%) entirely in PostScript, in an "object oriented" manner +very similiar to the way Resource categories are implemented. An IODevice +would be implemented as a dictionary with the following keys, whose values +would be procedures that implemented the corresponding operation: + +

    +/File
    +/DeleteFile
    +/RenameFile
    +/Status
    +/FileNameForAll
    +/GetDevParams
    +/PutDevParams
    +
    + +

    +There would only be global IODevices, no local ones; the dictionary keeping +track of them would be stored in global VM. + +

    +This is an obscure feature that matters only because some PostScript code +uses filenameforall with this IODevice, rather than +filenameforall with the /Font Resource +category, to enumerate available fonts. + +

    Repairing damaged or EOL-converted PDF files.

    + +

    +Adobe Acrobat Reader can scan a PDF file that has had its end-of-lines +converted by careless users transferring the file across operating systems +as text rather than binary across, and reconstruct the cross-reference table +which the PDF interpreter requires. This only works if the file has no +binary data in it, which with PDF 1.3 is rarely the case. However, users +occasionally receive PDF files that have been damaged in this way, and it +might be useful to have a program that can repair them. We think this +should probably be done as a separate program, possibly in PostScript, +similar to Ghostscript's PDF linearizer. + +

    Implementation improvements

    + +

    Fully re-entrant code.

    + +

    +Currently, neither the PostScript interpreter nor the graphics library is +fully re-entrant (no writable globals). Making them fully re-entrant would +make Ghostscript usable in multi-threaded environments, and more easily +usable in embedded environments. Note that this is necessary, but far from +sufficient, for Ghostscript to allow simultaneous execution of a single +Ghostscript interpreter instance by multiple threads: that is probably +permanently out of the question. Almost all drivers, including all of +the drivers in devs.mak which are maintained as part of the main Ghostscript +code, are already fully re-entrant; making the remaining ones re-entrant +should really be up to the driver author. + +

    Ghostscript has no %ram% device.

    + +The %ram% device is documented in PS Supplement 3010 and 3011 dated August 30, 1999. +This is probably not a major impediment to portability, but it would be handy. +

    +On Unix, the suggested implementation would be to create a subdirectory +of the temporary directory (usually /tmp), with the name chosen and the +directory created in such a way as to avoid /tmp races and similar +problems. Ghostscript should delete the subdirectory when it exits. + + + + + +


    + +

    +Copyright © 2000 Aladdin Enterprises. All rights +reserved. + +

    +This software is provided AS-IS with no warranty, either express or +implied. + +This software is distributed under license and may not be copied, +modified or distributed except as expressly authorized under the terms +of the license contained in the file LICENSE in this distribution. + +

    +Ghostscript version 7.07, 17 May 2003 + + + + + diff --git a/Master/xemtex/doc/ghostscript/Ps-style.htm b/Master/xemtex/doc/ghostscript/Ps-style.htm new file mode 100644 index 00000000000..5cf2e643113 --- /dev/null +++ b/Master/xemtex/doc/ghostscript/Ps-style.htm @@ -0,0 +1,514 @@ + + + +Ghostscript PostScript coding guidelines + + + + + + + + + +

    Ghostscript PostScript coding guidelines

    + + + + + +

    Table of contents

    + +
    + + + + + +

    +For other information, see the Ghostscript +overview. + + + +


    + + + + + +

    Summary of the coding guidelines

    + +
      + +
    • Don't store into literals. + +
    • Use loop to create a block with multiple exits. + +
    • Use a dictionary or an array for multi-way switches. + +
    • Start every file with a copyright notice, the file name, and a one-line +summary. + +
    • Comment every procedure with the arguments and result, and with the +function of the procedure unless it's obvious. + +
    • Comment the stack contents ad lib, and particularly at the beginning of +every loop body. + +
    • Indent every 2 spaces. + +
    • Always put { at the end of a line, and } at the beginning of a line, +unless the contents are very short. + +
    • Always put spaces between adjacent tokens. + +
    • Use only lower-case letters and digits for names, or Vienna style names, +except for an initial "." for names only used within a single file. + +
    • Don't allocate objects in heavily used code. + +
    • Consider factoring out code into a procedure if it is used more than +once. + +
    + +
    + +

    Introduction

    + +

    +The many rules that Ghostscript's code follows almost everywhere are meant +to produce code that is easy to read. It's important to observe them as +much as possible in order to maintain a consistent style, but if you find a +rule getting in your way or producing ugly-looking results once in a while, +it's OK to break it. + +


    + +

    Use of PostScript language features

    + +

    Restrictions

    + +

    +If you need to store a value temporarily, don't write into a literal in the +code, as in this fragment to show a character given the character code: + +

    +( ) dup 0 4 -1 roll put show
    +
    + +

    +Instead, allocate storage for it: + +

    +1 string dup 0 4 -1 roll put show
    +
    + +

    Protection

    + +

    +If an object is never supposed to change, use readonly to +make it read-only. This applies especially to permanently allocated objects +such as constant strings or dictionaries. + +

    +During initialization, and occasionally afterwards, it may be necessary to +store into a read-only dictionary, or to store a pointer to a dictionary in +local VM into a dictionary in global VM. The operators +.forceput and .forceundef are available for +this purpose. To make these operators inaccessible to ordinary programs, +they are removed from systemdict at the end of +initialization: system code that uses them should always use +bind and odef (or +executeonly) to make uses of them inaccessible as well. + +

    Standard constructions

    + +

    Multi-way conditionals

    + +

    +If you write a block of code with more than about 3 exit points, the usual +way to do it would be like this: + +

    +{
    +  ... {
    +    ...1
    +  } {
    +    ... {
    +      ...2
    +    } {
    +      ... {
    +        ...3
    +      } {
    +        ...4
    +      } ifelse
    +    } ifelse
    +  } ifelse
    +}
    +
    + +

    +However, this causes the 4 logically somewhat parallel code blocks to be +indented differently, and as the indentation increases, it becomes harder to +see the structure visually. As an alternative, you can do it this way: + +

    +{       % The loop doesn't actually loop: it just provides a common exit.
    +  ... {
    +    ...1
    +    exit
    +  } if
    +  ... {
    +    ...2
    +    exit
    +  } if
    +  ... {
    +    ...3
    +    exit
    +  } if
    +  ...4
    +  exit
    +} loop
    +
    + +

    +Don't forget the final exit, to prevent the loop from actually looping. + +

    Switches

    + +

    +Use a dictionary or an array of procedures to implement a 'switch', rather +than a series of conditionals, if there are more than about 3 cases. For +example, rather than: + +

    +dup /a eq {
    +  pop ...a
    +} {
    +  dup /b eq {
    +    pop ...b
    +  } {
    +    dup /c eq {
    +      pop ...c
    +    } {
    +      ...x
    +    } ifelse
    +  } ifelse
    +} ifelse
    +
    + +

    +(or using the loop/exit construct suggested above), consider: + +

    +/xyzdict mark
    +  /a {...a} bind
    +  /b {...b} bind
    +  /c {...c} bind
    +.dicttomark readonly def
    +...
    +//xyzdict 1 index .knownget {
    +  exch pop exec
    +} {
    +  ...x
    +} ifelse
    +
    + +
    + +

    File structuring

    + +

    +Every code file should start with comments containing + +

      +
    1. a copyright notice; +
    2. the name of the file in the form of an RCS Id: + +
      +% Id$: filename.ps $
      +
      + +
    3. a very brief summary (preferably only one line) of what the file +contains. +
    + +

    +If you create a file by copying the beginning of another file, be sure to +update the copyright year and change the file name. + +


    + +

    Commenting

    + +

    +If a file has well-defined functional sections, put a comment at the +beginning of each section to describe its purpose or function. + +

    +Put a comment before every procedure to describe what the procedure does, +unless it's obvious or the procedure's function is defined by the PLRM. In +case of doubt, don't assume it's obvious. If the procedure may execute a +deliberate 'stop' or 'exit' not enclosed in 'stopped' or a loop +respectively, that should be mentioned. However, information about the +arguments and results should go in the argument and result comment +(described just below) if possible, not the functional comment. + +

    +Put a comment on every procedure to describe the arguments and results: + +

    +/hypot {	% <num1> <num2> hypot <real>
    +  dup mul exch dup mul add sqrt
    +} def
    +
    + +

    +There is another commenting style that some people prefer to the above: + +

    +/hypot {	% num1 num2 --> realnum
    +  dup mul exch dup mul add sqrt
    +} def
    +
    + +

    +We have adopted the first style for consistency with Adobe's documentation, +but we recognize that there are technical arguments for and against both +styles, and might consider switching some time in the future. If you have +strong feelings either way, please make your opinion known to +gs-devel@ghostscript.com. + +

    +Put comments describing the stack contents wherever you think they will be +helpful; put such a comment at the beginning of every loop body unless you +have a good reason not to. + +

    +When you change a piece of code, do not include a comment with your +name or initials. Also, do not retain the old code in a comment, +unless you consider it essential to explain something about the new code; in +that case, retain as little as possible. (CVS logs do both of these things +better than manual editing.) However, if you make major changes in a +procedure or a file, you may put your initials, the date, and a brief +comment at the head of the procedure or file respectively. + +


    + +

    Formatting

    + +

    Indentation

    + +

    +Indent 2 spaces per indentation level. You may use tabs at the left margin +for indentation, with 1 tab = 8 spaces, but you should not use tabs anywhere +else, except to place comments. + +

    +Indent { } constructs like this: + +

    +... {
    +  ...
    +} {
    +  ...
    +} ...
    +
    + +

    +If the body of a conditional or loop is no more than about 20 characters, +you can put the entire construct on a single line if you want: + +

    +... { ... } if
    +
    + +rather than + +
    +... {
    +  ...
    +} if
    +
    + +

    +There is another indentation style that many people prefer to the above: + +

    +...
    +{ ...
    +}
    +{ ...
    +} ...
    +
    + +

    +We have adopted the first style for consistency with our C code, but we +recognize that there are technical arguments for and against both styles, +and might consider switching some time in the future. If you have strong +feelings either way, please make your opinion known to +gs-devel@ghostscript.com. + +

    Spaces

    + +

    +Always put spaces between two adjacent tokens, even if this isn't strictly +required. E.g., + +

    +/Halftone /Category findresource
    +
    + +

    +not + +

    +/Halftone/Category findresource
    +
    + +
    + +

    Naming

    + +

    +All names should consist only of letters and digits, possibly with an +initial ".", except for names drawn from the PostScript or PDF reference +manual, which must be capitalized as in the manual. In general, an initial +"." should be used for those and only those names that are not defined in a +private dictionary but that are meant to be used only in the file where they +are defined. + +

    +For edits to existing code, names made up of multiple words should not use +any punctuation, or capitalization, to separate the words, again except for +names that must match a specification. For new code, you may use this +convention, or you may use the "Vienna" convention of capitalizing the first +letter of words, e.g., readSubrs rather than +readsubrs. If you use the Vienna convention, function names +should start with an upper case letter, variable names with a lower case +letter. Using the first letter of a variable name to indicate the +variable's type is optional, but if you do it, you should follow existing +codified usage (****** WE NEED A REFERENCE FOR THIS ******). + +


    + +

    Miscellany

    + +

    Some useful non-standard +operators

    + +
    + +
    <obj1> <obj2> ... <objn> <n> .execn ... +
    This executes obj1 through objn in that +order, essentially equivalent to + +
    +<obj1> <obj2> ... <objn> <n> array astore {exec} forall
    +
    + +

    +except that it doesn't actually create the array. + +

    <dict> <key> .knownget <value> true +
    <dict> <key> .knownget false + +
    This combines known and get in the +obvious way. + +
    <name> <proc> odef - + +
    This defines name as a "pseudo-operator". The value of +name will be executable, will have type +operatortype, and will be executed if it appears directly in +the body of a procedure (like an operator, unlike a procedure), but what +will actually be executed will be proc. In addition, if the +execution of proc is ended prematurely (by +stop, including the stop that is normally +executed when an error occurs, or exit) and the operand and +dictionary stacks are at least as deep as they were when the "operator" was +invoked, the stacks will be cut back to their original depths before the +error is processed. Thus, if pseudo-operator procedures are careful not to +remove any of their operands until they reach a point in execution beyond +which they cannot possibly cause an error, they will behave just like +operators in that the stacks will appear to be unchanged if an error occurs. + +
    + +

    Some useful procedures

    + +
    + +
    <object> <errorname> signalerror - + +
    Signal an error with the given name and the given "current object". +This does exactly what the interpreter does when an error occurs. + +
    + +

    Other

    + +

    +If you can avoid it, don't allocate objects (strings, arrays, dictionaries, +gstates, etc.) in commonly used operators or procedures: these will need to +be garbage collected later, slowing down execution. Instead, keep values on +the stack, if you can. The .execn operator discussed above +may be helpful in doing this. + +

    +If you find yourself writing the same stretch of code (more than about half +a dozen tokens) more than once, ask yourself whether it performs a function +that could be made into a procedure. + + + + + +


    + +

    +Copyright © 2000 Aladdin Enterprises. All rights +reserved. + + +

    +This software is provided AS-IS with no warranty, either express or +implied. + +This software is distributed under license and may not be copied, +modified or distributed except as expressly authorized under the terms +of the license contained in the file LICENSE in this distribution. + + +

    +Ghostscript version 7.07, 17 May 2003 + + + + + diff --git a/Master/xemtex/doc/ghostscript/Ps2epsi.htm b/Master/xemtex/doc/ghostscript/Ps2epsi.htm new file mode 100644 index 00000000000..3656b722a08 --- /dev/null +++ b/Master/xemtex/doc/ghostscript/Ps2epsi.htm @@ -0,0 +1,154 @@ + + + +Convert PostScript to Encapsulated PostScript Interchange format + + + + + + + + + + +

    Convert PostScript to Encapsulated PostScript Interchange +format

    + + + + + +

    Table of contents

    + +
    + + + + + +

    +The information in this document was contributed by George Cameron +<george@bio-medical-physics.aberdeen.ac.uk>; +please direct to him any questions about it. Because the software +described here is no longer being maintained, this document may be +obsolete, or inconsistent with ps2epsi.1. + +

    +For other information, see the Ghostscript +overview. + + + +


    + + + + + +

    Overview

    + +

    +ps2epsi is a utility based on Ghostscript, which takes as +input a PostScript file and generates as output a new file which conforms +to Adobe's Encapsulated PostScript Interchange (EPSI) format, a special +form of +Encapsulated PostScript +(EPS) which adds to the beginning of the file, as PostScript comments, a +low-resolution monochrome bitmap image of the final displayed page. +Programs which understand EPSI can use this bitmap as a preview on screen +of the full PostScript page. The displayed quality is often not very good, +but the final printed version uses the "real" PostScript, and thus has the +normal full PostScript quality. + +


    + +

    Usage

    + +

    Unix

    + +

    +Using the supplied shell script ps2epsi, the command is + +

    +ps2epsi infile.ps [outfile.epsi] +
    + +

    +where infile.ps is the input file and +outfile.epsi is the output EPSI file to be created. If the +output filename is omitted, ps2epsi generates one from the +input filename; and any standard extension (.ps, +.cps, .eps or .epsf) of the +input file is replaced in the output file with the extension +.epsi. + +


    + +

    Limitations

    + +

    +Not all PostScript files can be encapsulated, because there are +restrictions in what is permitted in a PostScript file for it to be +properly encapsulated. ps2epsi does a little extra work to +try to help encapsulation, and it automatically calculates the bounding box +required for all encapsulated PostScript files, so most of the time it does +a pretty good job. There are certain to be cases, however, when +encapsulation fails because of the nature of the original PostScript file. + +


    + +

    Files

    + +
    + +

    ps2epsi files
    +
    File +     + Contents +

    +
    Ps2epsi.htm +   + This document +
    ps2epsi +   + Unix shell script +
    ps2epsi.ps +   + Ghostscript program which does the work +
    + + + + + +
    + +

    +Copyright © 1998, 2000 Aladdin Enterprises. All rights +reserved. + +

    +This software is provided AS-IS with no warranty, either express or +implied. + +This software is distributed under license and may not be copied, +modified or distributed except as expressly authorized under the terms +of the license contained in the file LICENSE in this distribution. + +

    +Ghostscript version 7.07, 17 May 2003 + + + + + diff --git a/Master/xemtex/doc/ghostscript/Ps2pdf.htm b/Master/xemtex/doc/ghostscript/Ps2pdf.htm new file mode 100644 index 00000000000..6d369674969 --- /dev/null +++ b/Master/xemtex/doc/ghostscript/Ps2pdf.htm @@ -0,0 +1,502 @@ + + + +ps2pdf: PostScript-to-PDF converter + + + + + + + + + + +

    ps2pdf: PostScript-to-PDF converter

    + + + + + +

    Table of contents

    + +
    + + + + + +

    For other information, see the Ghostscript +overview. + + + +


    + + + + + +

    Overview

    + +ps2pdf is a work-alike for nearly all the functionality (but +not the user interface) of Adobe's AcrobatTM +DistillerTM product: it converts PostScript files +to Portable Document Format (PDF) files. + +

    +ps2pdf is implemented as a very small command script (batch +file) that invokes Ghostscript, selecting a special "output device" called +pdfwrite. In order to use ps2pdf, the +pdfwrite device must be included in the makefile when +Ghostscript was compiled; see the documentation on building +Ghostscript for details: this is currently the case on all platforms, in +Ghostscript as we distribute it. + +


    + +

    Usage

    + +

    +The usage for ps2pdf is + +

    +ps2pdf [options] input.[e]ps output.pdf +
    + +

    +or, on Unix systems and some versions of Windows NT and OS/2 + +

    +ps2pdf input.[e]ps +
    + +

    +which is equivalent to + +

    +ps2pdf input.[e]ps input.pdf +
    + +

    +There are actually several different ps2pdf* scripts: +the name ps2pdf above refers to any of them. + +

      + +
    • ps2pdf12 will always produce PDF 1.2 output (Acrobat +3-and-later compatible). + +
    • ps2pdf13 will always produce PDF 1.3 output (Acrobat +4-and-later compatible). + +
    • ps2pdf14 will always produce PDF 1.4 output (Acrobat +5-and-later compatible). + +
    • ps2pdf per se currently produces PDF 1.2 output (Acrobat +3-and-later compatible). However, this may change in the future. If you +care about the compatibility level of the output, use +ps2pdf12, ps2pdf13, or +ps2pdf14, or use the +-dCompatibilityLevel=1.x switch in the command +line. + +
    + +

    +All of these scripts actually call a script named ps2pdfwr +or ps2pdfxx. The Unix ps2pdfwr script +assumes that the Ghostscript executable is named gs; it is +unlikely that you will need to change this. The DOS and MS Windows +ps2pdfxx.bat script uses the value of the +GSC environment variable, if defined, as the name of the +executable; otherwise the script assumes the executable is named +gswin32c. So in these environments, if the executable has a +different name, you must set GSC to the name of the +executable. + +


    + +

    Options

    + +

    +The options in the command line may include any switches that may +be used with Ghostscript's PostScript and PDF interpreter (see here for a complete list), although almost none +of them are useful with ps2pdf. The following may be +useful: + +

    + +
    -rresolution +
    Sets the resolution for pattern fills and for fonts that must be +converted to bitmaps. + +
    -dProcessColorModel=device_color_space
    Sets +the color space to be used for device-dependent colors in the +output. device_color_space may be /DeviceGray, +/DeviceRGB, or /DeviceCMYK; the default +value is /DeviceRGB. + +
    + +

    +More importantly, options may include +-dparameter=value or +-sparameter=string switches for setting +"distiller parameters", Adobe's documented parameters for controlling the +conversion process. The PostScript setdistillerparams and +currentdistillerparams operators are also recognized when +running ps2pdf, and provide an equivalent way to set these +parameters from within the PostScript input file. + +

    +ps2pdf also recognizes the following switches: + +

    +
    -dPDFSETTINGS=configuration +
    Presets the "distiller parameters" to one of four predefined settings: + +
      + +
    • /screen selects low-resolution output similar to the +Acrobat Distiller "Screen Optimized" setting. + +
    • /printer selects output similar to the Acrobat Distiller +"Print Optimized" setting. + +
    • /prepress selects output similar to Acrobat Distiller +"Prepress Optimized" setting. + +
    • /default selects output intended to be useful across a +wide variety of uses, possibly at the expense of a larger output file. + +
    + +
    + +

    +ps2pdf recognizes all of the Acrobat Distiller 4 parameters +documented in + +Adobe Technical Note #5151. Cells in the table containing '=' mean that +the value of the parameter is the same as in the "default" column. + +

    + +
    Parameter name +      + Notes +    + default +    + screen +    + printer +    + prepress +

    +
    ASCII85EncodePagesfalse=== +
    AlwaysEmbed[]=== +
    AntiAliasColorImages(0)false=== +
    AntiAliasGrayImages(0)false=== +
    AntiAliasMonoImages(0)false=== +
    AutoFilterColorImages(1)true=== +
    AutoFilterGrayImages(1)true=== +
    AutoPositionEPSFiles(0)true=== +
    AutoRotatePages/PageByPage/PageByPage/None/None +
    Binding(0)/Left=== +
    CalCMYKProfile(0)()=== +
    CalGrayProfile(0)()=== +
    CalRGBProfile(0)()=== +
    CannotEmbedFontPolicy(0)/Warning/Warning/Warning/Error +
    ColorACSImageDict(note 7)(note 7)(note 8)(note 9) +
    ColorConversionStrategy(0,6)/LeaveColorUnchanged/sRGB/UseDeviceIndependentColor/LeaveColorUnchanged +
    ColorImageDepth-1=== +
    ColorImageDict(note 7)=== +
    ColorImageFilter/DCTEncode=== +
    ColorImageDownsampleThreshold1.5=== +
    ColorImageDownsampleType(3)/Subsample/Average/Bicubic/Bicubic +
    ColorImageResolution7272300300 +
    CompatibilityLevel1.31.21.31.3 +
    CompressPagestrue=== +
    ConvertCMYKImagesToRGBtrue=== +
    ConvertImagesToIndexed(0)true=== +
    CoreDistVersion4000=== +
    CreateJobTicket(0)falsefalsetruetrue +
    DefaultRenderingIntent/Default=== +
    DetectBlends(0)true=== +
    DoThumbnails(0)falsefalsefalsetrue +
    DownsampleColorImagesfalsetruefalsefalse +
    DownsampleGrayImagesfalsetruefalsefalse +
    DownsampleMonoImagesfalsetruefalsefalse +
    EmbedAllFontstruefalsetruetrue +
    EmitDSCWarnings(0)false=== +
    EncodeColorImagestrue=== +
    EncodeGrayImagestrue=== +
    EncodeMonoImagestrue=== +
    EndPage(0)-1=== +
    GrayACSImageDict(note 7)(note 7)(note 8)= +
    GrayImageDepth-1=== +
    GrayImageDict(note 7)=== +
    GrayImageDownsampleThreshold1.5=== +
    GrayImageDownsampleType(3)/Subsample/Average/Bicubic/Bicubic +
    GrayImageFilter/DCTEncode=== +
    GrayImageResolution7272300300 +
    ImageMemory(0)500000=== +
    LockDistillerParamsfalse=== +
    LZWEncodePages(2)false=== +
    MaxSubsetPct100=== +
    MonoImageDepth-1=== +
    MonoImageDict<>=== +
    MonoImageDownsampleThreshold1.5=== +
    MonoImageDownsampleType/Subsample/Average/Bicubic/Bicubic +
    MonoImageFilter/CCITTFaxEncode=== +
    MonoImageResolution30030012001200 +
    NeverEmbed[]=== +
    OPM1=== +
    Optimize(0,5)falsetruetruetrue +
    ParseDSCCommentstrue=== +
    ParseDSCCommentsForDocInfotruefalsetruetrue +
    PreserveCopyPage(0)true=== +
    PreserveEPSInfo(0)true=== +
    PreserveHalftoneInfofalse=== +
    PreserveOPIComments(0)falsefalsetruetrue +
    PreserveOverprintSettingsfalsefalsetruetrue +
    sRGBProfile(0)()=== +
    StartPage(0)1=== +
    SubsetFontstrue=== +
    TransferFunctionInfo(4)/Preserve=== +
    UCRandBGInfo/Remove/Remove/Preserve/Preserve +
    UseFlateCompressiontrue=== +
    UsePrologue(0)false=== +
    + +

    +(note 0) This parameter can be set and queried, but currently has no effect. + +

    +(note 1) AutoFilterxxxImages doesn't examine the image to +decide between JPEG and LZW or Flate compression: it uses JPEG compression +if the image has 8 bits per component and does not use an Indexed color +space, and LZW or Flate compression otherwise. + +

    +(note 2) Because of Unisys's threats regarding the Welch patent, +ps2pdf cannot actually use LZW compression: instead, it +treats all requests for LZW compression as calling for Flate compression if +UseFlateCompression is true and +CompatibilityLevel >= 1.2, and ignores them otherwise. + +

    +(note 3) The xxxDownsampleType parameters can also have the +value /Bicubic (a Distiller 4 feature), which is currently treated as +equivalent to /Average. + +

    +(note 4) Currently, the transfer function is always applied. If the +corresponding parameter is set to /Preserve, the function +setting is also copied into the PDF file. + +

    +(note 5) Optimization (linearization) is implemented with a separate +program, pdfopt input.pdf output.pdf; the +Optimize parameter has no effect. + +

    +(note 6) Currently, colors for images and shadings are left in the color +space specified in the PostScript input, except for +ConvertCMYKImagesToRGB; the current color in the graphics +state (used for fill, stroke, text, and imagemask) is always converted to +the color space specified by the current value of +ProcessColorModel. The intended behavior is the same as for +Acrobat Distiller, except that if ColorConversionStrategy is +set to /UseDeviceDependentColor, colors are converted to the +color space specified by ProcessColorModel rather than +always to /DeviceRGB. + +

    +(note 7) The default image parameter dictionary is +

    +<< /QFactor 0.9 /Blend 1 /HSamples [2 1 1 2] /VSamples [2 1 1 2] >> +
    + +

    +(note 8) The printer ACS image parameter dictionary is +

    +<< /QFactor 0.55 /Blend 1 /HSamples [2 1 1 2] /VSamples [2 1 1 2] >> +
    + +

    +(note 9) The prepress ACS image parameter dictionary is +

    +<< /QFactor 0.25 /HSamples [1 1 1 1] /VSamples [1 1 1 1] >> +
    + +
    + +

    Limitations

    + +

    +ps2pdf will sometimes convert text to high-resolution +bitmapped fonts rather than to embedded outline fonts. This will occur when +the PostScript file uses Type 3, CIDFontType 1, or CIDFontType 4 fonts, or +Type 0 fonts that reference any of these; it may also occur in some cases if +the input file uses fonts with non-standard encodings, or in some other rare +cases. + +

    +The PDF output always represents the colors of text and graphics in +DeviceGray or DeviceRGB color space (or DeviceCMYK if the +ProcessColorModel parameter has been set to +/DeviceCMYK); all other color spaces are converted to these. +However, for images, it will retain the original color space for DeviceGray, +DeviceRGB, DeviceCMYK, certain CIEBased spaces, and Indexed spaces based on +these. + +

    +ps2pdf will sometimes convert PostScript constructs to +lower-level ones, even if a higher-level construct is available. For +example, if the PostScript file uses charpath to set a +clipping path consisting of text, ps2pdf will write the +clipping path as a path in the PDF file, rather than as text, even though +PDF is able to express clipping with text. This is only a performance +issue, and will be improved incrementally over time. + +

    +Some applications, such as HIGZ, produce PostScript files that use +ridiculously large coordinates. On such files, ps2pdf may +cause a limitcheck error. If this occurs, try reducing the +default internal resolution of 720 dpi by using the -r +switch, e.g., ps2pdf -r300 somefile.ps. + +

    +ps2pdf ignores the PDF 1.3 (Acrobat 4.x) pdfmarks related to +document content structure: StRoleMap, +StClassMap, StPNE, +StBookmarkRoot, StPush, +StPop, StPopAll, StBMC, +StBDC, EMC, StOBJ, +StAttr, StStore, StRetrieve, +NamespacePush, NamespacePop, and +NI. While this causes some structural information to be +omitted from the output file, the displayed and printed output are normally +not affected. + +

    +ps2pdf currently has only very limited support for PDF 1.4. +It writes out the blend mode, constant alpha, and text knockout graphics +state parameters, and it handles images with soft masks, but it does not +handle transparency groups, or soft masks in the graphics state. (Note that +there is no standard way to specify any of these things in PostScript, so +these statements only apply when the input file is already a PDF 1.4 file.) + +


    + +

    Known problems

    + +

    +Distiller parameters should only be saved by save and +restored by restore, but they are also saved by +gsave and restored by grestore. + +

    +Changing the value of the CompressPages parameter after any +marks have been made on the page may cause a crash. + +

    +If the input file downloads Type 1 fonts incrementally, the output file may +contain embedded fonts with some information missing from the +FontDescriptor, which may crash Acrobat Reader 4 or produce incorrect +character spacing. + +


    + +

    Comparison of ps2pdf and +Acrobat Distiller

    + +

    +According to users, the greatest benefit of ps2pdf is that +it is more robust than Acrobat Distiller: it will process complex and +difficult PostScript files that Acrobat Distiller is not able to handle. + +

    +For certain documents, ps2pdf is much faster than Adobe +Distiller, and may be suitable for run-time conversions. George White, +a heavy user of ps2pdf, remarks: + +

    +I haven't seen a head to head comparison, but Distiller seems +slower when running on what should be a faster system (for instance, +Distiller on a PPC Mac vs a 25 MHz 68040 NeXT running +ps2pdf), so I think this is fair -- also, one of Mark +Doyle's postings indicated that Distiller was not fast enough for use as a +run-time server. In contrast, I find that I can use ps2pdf +as a post-processor during routine document creation. +
    + +

    +On the other hand, there are some documents for which ps2pdf +may be much slower than Acrobat Distiller. Caveat user. + +

    +ps2pdf usually produces output that is comparable in size to +the output of Acrobat Distiller; however, it sometimes produces much larger +output, especially if the input file involves pattern fills. + +

    +Many users report that the combination of ps2pdf with +Acrobat Reader is superior to using a generic PostScript viewer +(psview or ghostview), particularly for +documents with many pages where the navigational support in PDF files +reduces the overhead involved in navigating conventional PostScript +documents. + +


    + +

    Acknowledgments

    + +

    +Thanks to George N. White III <aa056@chebucto.ns.ca> of the Ocean +Sciences Division of the Bedford Institute of Oceanography in Dartmouth, +Nova Scotia for extensive testing of early versions of +ps2pdf, and for contributing most of this writeup. + +

    +Thanks to Martin Hosken of SIL International <http://www.sil.org> for help with testing +ps2pdf with a wide variety of international fonts. + + + + +


    + +

    +Copyright © 1996, 2000 Aladdin Enterprises. All rights +reserved. + +

    +This software is provided AS-IS with no warranty, either express or +implied. + +This software is distributed under license and may not be copied, +modified or distributed except as expressly authorized under the terms +of the license contained in the file LICENSE in this distribution. + +

    +Ghostscript version 7.07, 17 May 2003 + + + + + diff --git a/Master/xemtex/doc/ghostscript/Psfiles.htm b/Master/xemtex/doc/ghostscript/Psfiles.htm new file mode 100644 index 00000000000..2b5a7a75c1c --- /dev/null +++ b/Master/xemtex/doc/ghostscript/Psfiles.htm @@ -0,0 +1,832 @@ + + + +.ps files distributed with Ghostscript + + + + + + + + + + +

    Postscript files distributed with Ghostscript

    + + + + + +

    Table of contents

    + +
    + + + + + +

    For other information, see the Ghostscript +overview. + + + +


    + + + + + +

    Generally used system files

    + +

    +These files are found in the lib subdirectory of +the Ghostscript source distribution. + +

    +
    gs_*_e.ps +

    +These files define the Encodings known to Ghostscript. All of +them except gs_std_e.ps and gs_il1_e.ps +are loaded only if referred to. + +

    + +
    +PostScript Encodings: +
    +gs_ce_e.ps, +gs_il1_e.ps, +gs_std_e.ps, +gs_sym_e.ps. + +
    +PDF Encodings: +
    +gs_mex_e.ps, +gs_mro_e.ps, +gs_pdf_e.ps, +gs_wan_e.ps. + +
    +Non-standard Encodings: +
    +gs_dbt_e.ps, +gs_il2_e.ps, +gs_ksb_e.ps, +gs_wl1_e.ps, +gs_wl2_e.ps, +gs_wl5_e.ps. + +
    +Pseudo-encodings: +
    +gs_css_e.ps, +gs_lgo_e.ps, +gs_lgx_e.ps, +gs_mgl_e.ps. + +
    +
    + +
    +
    gs_btokn.ps +
    gs_init.ps reads this in if the btoken +feature is included in the configuration. It provides support for binary +tokens. +
    + +
    +
    gs_ccfnt.ps +
    gs_init.ps reads this in if the ccfonts +feature is included in the configuration. It provides support for compiled +fonts. +
    + +
    +
    gs_cff.ps +
    Load CFF (compressed) fonts. +
    + +
    +
    gs_cidcm.ps +
    Code for recognizing font names of the form CIDFont-CMap (or +CIDFont--CMap) and creating the font automatically. +
    + +
    +
    gs_cidfn.ps +
    ProcSet for implementing CIDFont and +CIDMap resources. +
    + +
    +
    gs_cmap.ps +
    ProcSet for implementing CMap resources. +
    + +
    +
    gs_dscp.ps +
    Code to compensate for badly written PostScript files by setting +Orientation according to the DSC comments. +
    + +
    +
    gs_epsf.ps +
    Allow the interpreter to recognize DOS EPSF file headers, and skip to the +PostScript section of the file. +
    + +
    +
    gs_fonts.ps +
    gs_init.ps reads this in. It initializes Ghostscript's +font machinery and provides some utility procedures that work with fonts. +
    + +
    +
    gs_frsd.ps +
    Support for the PostScript LanguageLevel 3 +ReusableStreamDecode filter. +
    + +
    +
    gs_init.ps +
    Ghostscript reads this automatically when it starts up. It contains +definitions of many standard procedures and initialization for a wide +variety of things. +
    + +
    +
    gs_lev2.ps +
    gs_init.ps reads this in if the Ghostscript interpreter +includes Level 2 PostScript functions. It contains definitions of +procedures and miscellaneous initialization for the Level 2 functions. +
    + +
    +
    gs_ll3.ps +
    Initialize PostScript LanguageLevel 3 functions. +
    + +
    +
    gs_res.ps +
    gs_init.ps reads this in if the Level 2 resource +machinery is included. Currently, this is the case for all Level 2 +configurations. +
    + +
    +
    gs_setpd.ps +
    Implementation of the setpagedevice operator. +
    + +
    +
    gs_statd.ps +
    gs_init.ps reads this in. It creates a dummy +statusdict and some other environmental odds and ends for +the benefit of PostScript files that really want to be printed on a +LaserWriter. +
    + +
    +
    gs_trap.ps +
    Stub support for the PostScript LanguageLevel 3 "In-RIP trapping" +feature. +
    + +
    +
    gs_ttf.ps +
    Support code for direct use of TrueType fonts. +
    + +
    +
    gs_typ32.ps +
    Initialization file for Type 32 fonts. +
    + +
    +
    gs_typ42.ps +
    Support code for Type 42 fonts (TrueType font in a PostScript "wrapper"). +
    + +
    +
    gs_type1.ps +
    gs_init.ps reads this in if the Ghostscript interpreter +includes Type 1 font capability (which it normally does). +
    + +
    + +

    More obscure system files

    + +

    +These files are found in the lib subdirectory of +the Ghostscript source distribution. + +

    +
    font2c.ps +
    Convert a PostScript Type 0 or Type 1 font to C code that can be compiled +and linked into Ghostscript; see the documentation on fonts for how to do this. +
    + +
    +
    gs_agl.ps +
    Contains the mapping from Adobe glyph names to Unicode values, used to +support TrueType fonts. +
    + +
    +
    gs_cmdl.ps +
    This file is not used yet. Eventually it will replace C code that +parses the Ghostscript command line. +
    + +
    +
    gs_diskf.ps +
    This file implements the -dDISKFONTS feature +(diskfont.dev). See the the usage documentation for a description of this feature. +
    + +
    +
    gs_fform.ps +
    A usable but imperfect PostScript implementation of Form caching. +
    + +
    +
    gs_kanji.ps +
    This file provides support for the Wadalab free Kanji font. It is not +included automatically in any configuration. +
    + +
    +
    gs_pdfwr.ps +
    This file contains some patches for providing information to the +pdfwrite driver. It is included only if the +pdfwrite driver is included. +
    + +
    +
    gs_pfile.ps +
    This file provides runtime support for packed fonts. It is not +included automatically in any configuration. +
    + +
    +
    gs_rdlin.ps +
    A tiny patch for systems with built-in readline support. +
    + +
    +
    ht_ccsto.ps +
    A default stochastic CMYK halftone. This file is in the public domain. +
    + +
    +
    stcolor.ps +
    Configure the (Epson) stcolor driver +
    + +
    + +

    PDF-specific system files

    + +

    +These files are found in the lib subdirectory of +the Ghostscript source distribution. + +

    +
    gs_l2img.ps +
    The ProcSet that emulates the PostScript Level 2 +"image" operator on Level 1 systems. +
    + +
    +
    pdf_base.ps +
    Utilities for interpreting PDF objects and streams. +
    + +
    +
    pdf_draw.ps +
    The interpreter for drawing-related PDF operations. +
    + +
    +
    pdf_font.ps +
    Code for handling fonts in PDF files. +
    + +
    +
    pdf_main.ps +
    Document- and page-level control for interpreting PDF files. +
    + +
    +
    pdf_ops.ps +
    Definitions for most of the PDF operators. +
    + +
    +
    pdf_sec.ps +
    PDF security (encryption) code. +
    + +
    +
    pdfopt.ps +
    A PDF linearizer ("optimizer"). +
    + +
    +
    pdfwrite.ps +
    Support for writing PDF files. Currently used only by the linearizer, +but potentially useful for other kinds of PDF-processing utilities. +
    + +
    +
    gs_icc.ps
    Support for +ICC color profiles. These are not a standard PostScript feature, but +are used in the PDF interpreter, as ICC profiles may be embedded in +PDF files. +
    + +
    + +

    Display PostScript-specific system files

    + +

    +These files are found in the lib subdirectory of +the Ghostscript source distribution. + +

    +
    gs_dpnxt.ps +
    NeXT Display PostScript extensions. +
    + +
    +
    gs_dps.ps, +gs_dps1.ps, +gs_dps2.ps +
    gs_init.ps reads these in if the dps +feature is included in the configuration. They provide support for various +Display PostScript and Level 2 features. +
    + +
    + +

    Art and examples

    + +

    +These files are found in the examples subdirectory of +the Ghostscript source distribution. + +

    +
    alphabet.ps +
    Prints a sample alphabet at several different sizes. +
    + +
    +
    annots.pdf +
    A sample file with a wide variety of PDF "annotations". +
    + +
    +
    colorcir.ps +
    A set of nested ellipses made up of colored bars. +
    + +
    +
    doretree.ps +
    A 3-D image produced by a modeling program. This file is in the public +domain. +
    + +
    +
    escher.ps +
    A colored version of a hexagonally symmetric Escher drawing of +interlocking butterflies. Can be printed on monochrome devices, with +somewhat less dramatic results. +
    + +
    +
    golfer.ps +
    A gray-scale picture of a stylishly dressed woman swinging a golf club. +
    + +
    +
    grayalph.ps +
    Grayscaled text test pattern. +
    + +
    +
    ridt91.eps +
    The RIDT '91 logo. Note that since this is an EPS file, you will have +to add "-c showpage" at the end of the command line to +print it or convert it to a raster file. +
    + +
    +
    snowflak.ps +
    A rectangular grid of intricate colored snowflakes. (May render very +slowly.) +
    + +
    +
    tiger.ps +
    A dramatic colored picture of a tiger's head. +
    + +
    +
    vasarely.ps +
    Colored rectangles and ellipses inspired by Victor Vasarely's experiments +with tilting circles and squares. +
    + +
    +
    waterfal.ps +
    Prints text in a variety of different sizes, to help evaluate the +quality of text rendering. +
    + +
    + +

    Utilities

    + +

    +For more information on these utility programs, see the comments at the +beginnings of the files. The ones marked (*) have batch files or shell +scripts of the same name (like bdftops and +bdftops.bat) to invoke them conveniently. + +

    +These files are found in the lib subdirectory of +the Ghostscript source distribution. + +

    +
    addxchar.ps +
    A utility to add Central European and other Adobe extended Latin +characters to a Type 1 font. +
    + +
    +
    align.ps +
    A test page for determining the proper margin and offset parameters for +your printer. +
    + +
    +
    bdftops.ps * +
    A utility for converting BDF fonts to outline form: see the documentation on fonts. +
    + +
    +
    bench.ps +
    A file useful for running benchmarks. +
    + +
    +
    caption.ps +
    A file for putting a caption in a box at the bottom of each page, +useful for trade show demos. +
    + +
    +
    cid2code.ps +
    A utility for creating maps from CIDs to Unicode, useful when +substituting a TrueType font for an Adobe font. +
    + +
    +
    docie.ps +
    An emulation of the CIE color mapping algorithms. +
    + +
    +
    errpage.ps +
    A file that you can put in front of your own files to make Ghostscript +(or a PostScript printer) produce an informative error page if something +goes wrong during the processing of your file(s). +
    + +
    +
    font2pcl.ps +
    A utility to write a font as a PCL bitmap font. +
    + +
    +
    gslp.ps * +
    A utility for doing "line printing" of plain text files. +
    + +
    +
    gsnup.ps +
    A file that you can concatenate in front of (very well-behaved) +PostScript files to do N-up printing. It is deliberately simple and naive: +for more generality, use psnup (which, however, requires DSC +comments). +
    + +
    +
    jispaper.ps +
    A file that makes the b0 through b6 +procedures refer to JIS B paper sizes rather than ISO B. +
    + + +
    +
    impath.ps +
    A utility for reconstructing outlines from bitmap images, used by +bdftops. +
    + +
    +
    landscap.ps +
    A file that you can put in front of your own files to get them rendered +in landscape mode. +
    + +
    +
    level1.ps +
    A file that turns off any Level 2 features. +
    + +
    +
    packfile.ps +
    A utility for compressing fonts into a single file. +
    + +
    +
    pdf2dsc.ps +
    A utility to read a PDF file and produce a DSC "index" file. +
    + +
    +
    pf2afm.ps * +
    A utility for producing AFM files from PFA, PFB, and optionally PFM +files. +
    + +
    +
    pfbtopfa.ps * +
    A utility to convert PFB (binary) font files to PFA (text) format. +
    + +
    +
    prfont.ps +
    A utility to print a font catalog. +
    + +
    +
    printafm.ps +
    A utility to print an AFM file on standard output. +
    + +
    +
    ps2ai.ps +
    A utility for converting an arbitrary PostScript file into a form +compatible with Adobe Illustrator. NOTE: ps2ai doesn't +work properly with Adobe's Helvetica-Oblique font, and other fonts whose +original FontMatrix involves skewing or rotation. +
    + +
    +
    ps2ascii.ps * +
    A utility for extracting the ASCII text from PostScript source files. +It redefines many operators. For more information, see the comments in the +file. +
    + +
    +
    ps2epsi.ps * +
    A utility for converting an arbitrary PostScript file into EPSI form. +
    + +
    +
    quit.ps +
    A file containing just the word "quit". (The +-c switch now makes this unnecessary; this file exists for +backward compatibility.) +
    + +
    +
    rollconv.ps +
    A utility for converting files produced by Macromedia's +Rollup program to a Type 0 form directly usable by +Ghostscript. +
    + +
    +
    showpage.ps +
    A file containing just the word "showpage". (The +-c switch now makes this unnecessary; this file exists for +backward compatibility.) +
    + +
    +
    stocht.ps +
    A file that installs the StochasticDefault halftone as the default, +which may improve output quality on inkjet printers. See the file for more +information. +
    + +
    +
    viewcmyk.ps +
    A utility for displaying CMYK files. +
    + +
    +
    viewgif.ps +
    A utility for displaying GIF files. +
    + +
    +
    viewjpeg.ps +
    A utility for displaying JPEG files. +
    + +
    +
    viewmiff.ps +
    A utility for displaying MIFF files. +
    + +
    +
    viewpbm.ps +
    A utility for displaying PBM/PGM/PPM files. +
    + +
    +
    viewpcx.ps +
    A utility for displaying PCX files. +
    + +
    +
    waterfal.ps +
    A utility to print a "waterfall" of fonts at different sizes. +
    + +
    + +

    Development tools

    + +

    +These files are found in the lib subdirectory of +the Ghostscript source distribution. + +

    +
    acctest.ps +
    A utility that checks whether the interpreter enforces access +restrictions. +
    + +
    +
    decrypt.ps +
    A utility for decrypting the eexec section of a font. +
    + +
    +
    image-qa.ps +
    A comprehensive test of the image display operators. +
    + +
    +
    markpath.ps +
    A utility for showing the points on a path. +
    + +
    +
    pcharstr.ps +
    A utility for printing out the CharStrings and +Subrs in a Type 1 font. +
    + +
    +
    ppath.ps +
    A couple of utilities for printing out the current path, for debugging. +
    + +
    +
    pphs.ps +
    A utility to print the Primary Hint Stream of a linearized PDF file. +
    + +
    +
    traceimg.ps +
    Trace the data supplied to the image operator. +
    + +
    +
    traceop.ps +
    A utility for tracing uses of any procedure or operator for debugging. +
    + +
    +
    type1enc.ps +
    The Type 1 font format encryption and decryption algorithms, written in +PostScript. +
    + +
    +
    uninfo.ps +
    Some utilities for printing out PostScript data structures. +
    + +
    +
    unprot.ps +
    A prologue to disable access checking. +
    + +
    +
    viewps2a.ps +
    A utility for displaying the output of ps2ascii.ps. +
    + +
    +
    wftopfa.ps +
    Convert a Wadalab (Japanese) base font to .PFA (or +.PFB) format. +
    + +
    +
    winmaps.ps +
    A utility for creating mappings between the Adobe encodings and the +Microsoft Windows character sets. +
    + +
    +
    wrfont.ps +
    A utility for writing out an unprotected Type 1 font, such as the +standard Ghostscript fonts. +
    + +
    +
    zeroline.ps +
    A utility for testing how interpreters handle zero-width lines. +
    + +
    + +

    Odds and ends

    + +

    +These files are found in the lib subdirectory of +the Ghostscript source distribution. + +

    +
    lines.ps +
    A test program for line joins and caps. +
    + +
    +
    markhint.ps +
    Draw the hints for a Type 1 font. +
    + +
    +
    showchar.ps +
    Show a character's outline and rasterized forms. +
    + +
    +
    stcinfo.ps +
    Print and show parameters of the (Epson) stcolor driver. +
    + +
    +
    type1ops.ps +
    The Type 1 font format opcodes. +
    + + + + +
    + +

    +Copyright © 1996, 2000 Aladdin Enterprises. All rights +reserved. + +

    +This software is provided AS-IS with no warranty, either express or +implied. + +This software is distributed under license and may not be copied, +modified or distributed except as expressly authorized under the terms +of the license contained in the file LICENSE in this distribution. + +

    +Ghostscript version 7.07, 17 May 2003 + + + + + diff --git a/Master/xemtex/doc/ghostscript/README b/Master/xemtex/doc/ghostscript/README new file mode 100644 index 00000000000..193c9f09192 --- /dev/null +++ b/Master/xemtex/doc/ghostscript/README @@ -0,0 +1,391 @@ + + Overview of Ghostscript + + If this is your first contact with Ghostscript, before continuing here + you should read the documentation for new users, where you'll find + * what Ghostscript does (PostScript and PDF previewing, conversion, + and printing); + * its licensing terms (free for ordinary use); + * what platforms it runs on (every platform you're likely to be + interested in); + * where to find some useful programs that enhance Ghostscript (like + user-friendly previewers for Unix, VMS, MS Windows, DOS, and + Macintosh); and + * what to do if you need help. + + The rest of this document is a roadmap to the Ghostscript + documentation. After looking through it, if you want to install + Ghostscript and not only use it, we recommend you read how to install + Ghostscript, and how to compile Ghostscript from source code (which is + necessary before installing it on Unix and VMS systems). + _________________________________________________________________ + +Table of contents + + * Document roadmap by theme + + What should I read if I'm a new user? + + Before building Ghostscript + + What should I read if I'm not a new user? + + What if I'm a developer? + + What if I'm writing documentation? + * Presence on the World Wide Web + + Ghostscript's home pages + + Adobe PostScript, Encapsulated PostScript, and PDF reference + documentation + + Other material on the WWW + * Which document contains what? + + Primarily for users: + + Devices.htm + Helpers.htm + Humor.htm + New-user.htm + Ps2epsi.htm + Ps2pdf.htm + Readme.htm + Unix-lpr.htm + Use.htm + + + For both users and developers: + + Changes.htm + Current.htm + CJK.htm + Fonts.htm + Hershey.htm + History*.htm + Install.htm + Language.htm + Make.htm + News.htm + Psfiles.htm + + + Primarily for developers: + + API.htm + C-style.htm + CJKTTCID.htm + DLL.htm + Develop.htm + Drivers.htm + Htmstyle.htm + Issues.htm + Lib.htm + Maintain.htm + Projects.htm + Ps-style.htm + Release.htm + Source.htm + Xfonts.htm + _________________________________________________________________ + +Document roadmap by theme + + What should I read if I'm a new user? + + A new user of Ghostscript should begin by reading the material + specifically for new users, then as many of these documents as seem + useful: + * how to install Ghostscript + * how to use Ghostscript; some of this information information also + found in gs.1, the Unix "man" page for Ghostscript. + * the catalogs at the beginning of devs.mak and contrib.mak, which + list all the devices for which Ghostscript is able to produce + output (although if you got Ghostscript in binary form, it will + only include some of these devices) + * detailed information about some specific devices that Ghostscript + knows about + * more detailed information about how to use Ghostscript under Unix + with lpr as a filter for non-PostScript printers + * about the fonts distributed with Ghostscript, including how to add + or replace fonts + * a description of the Ghostscript language, and its differences + from the documented PostScript language + * about the postscript files distributed with Ghostscript (other + than fonts) + + Before building Ghostscript + + If you are going to compile Ghostscript, rather than just use an + executable you got from somewhere, you should read: + * how to build Ghostscript and install it + _________________________________________________________________ + +What should I read if I'm not a new user? + + If you have already used Ghostscript, when you receive a new release + you should begin by reading this file, then + * News.htm, for incompatible changes and new features in the current + release; + * Current.htm, for known problems in the current release; + * if you wish, Changes.htm, for a detailed list of changes in the + current release; + * if you wish, History#.htm (currently History7.htm), for changes in + other releases. + _________________________________________________________________ + +What if I'm a developer? + + If you are going to do any development on or with Ghostscript at all, + you should at least look at + * the roadmap documentation for Ghostscript's source files and + architecture + + If you are going to write a new driver for Ghostscript, you should + read + * the guide to the Ghostscript source code + * the interface between Ghostscript and device drivers + * about the external font interface between Ghostscript and + platform-supplied fonts (but read about drivers in general first) + + If you intend to use Ghostscript in the form of a dynamic link library + (DLL) under OS/2 or Microsoft Windows or in the form of shared object + under GNU/Linux, read + * documentation on Ghostscript Interpreter API + + If you want to use Ghostscript as part of another program--as a + callable PostScript language interpreter--and not as a DLL or as a + self-contained executable application, you should begin by reading + * the source file imain.h, the documented API for Ghostscript not as + a DLL + + or if you are going to use only the Ghostscript graphics library, + * about the structure of the Ghostscript library and its interfaces + _________________________________________________________________ + +What if I'm writing documentation? + + If you are editing or adding to Ghostscript's existing documentation + in HTML format, or writing a new document, you should read + * the coding and style guidelines for Ghostscript's HTML-based + documentation. + _________________________________________________________________ + +Presence on the World Wide Web + + Ghostscript's home page + + GNU Ghostscript has a home page on the World Wide Web with helpful + information. Pleave visit: + + http://www.gnu.org/software/ghostscript/ + + More material about Ghostscript can be found at + + http://www.ghostscript.com/ + + Adobe PostScript, Encapsulated PostScript, and PDF reference documentation + + Adobe makes a wealth of technical documentation available over the + Web, including the PostScript Language Reference Manual (Third + Edition); the Encapsulated PostScript (EPS) Format Specification + version 3, including Encapsulated PostScript Interchange (EPSI) + format; the PDF 1.3 specification; and the pdfmark, transparency and + Acrobat Distiller parameters documentation. Some of these documents + are also available at Adobe's ftp site, but not necessarily under the + same filenames. + + Other material on the WWW + + Much other material about Ghostscript is available on the World Wide + Web, both as web pages and as archived Usenet and mailing list + discussions. Use the well-known search engines to find such material. + + There is a good manual for Ghostscript available in PDF form, in + English and German (and soon in Japanese), at: + + http://www.pdflib.com/gsmanual + + There is a translation of the Ghostscript 'man' pages into Czech at: + + http://www.volny.cz/rebus/ghostscript/ + _________________________________________________________________ + +Which document contains what? + + Here is the list in alphabetic order of Ghostscript documentation, + with explanations of the contents. + + API.htm + On MS-Windows and OS/2, Ghostscript is compiled as a dynamic + link library (DLL). On GNU/Linux, Ghostscript can be compiled + as a shared object. This describes how to use it. For + developers. + + C-style.htm + Guidelines and style for C coding, which you should follow if, + for example, you write a new driver or add or change something + in Ghostscript. For developers. + + Changes.htm + A detailed list of all code changes in the current release or + pre-release, generated mechanically from the CVS logs. For + developers. + + CJK.htm + Usage of features to support CJK CID-keyed fonts in + Ghostscript. + + CJKTTCID.htm + Note providing information on utilization of CJK (Chinese, + Japanese and Korean) TrueType fonts as CIDFontType2 fonts from + the viewpoint of its validity and limitations. + + Current.htm + Information specifically about the current release of + Ghostscript. See also the latest news of changes. + + DLL.htm + On OS/2, MS Windows-16 and MS Windows-32 platforms, Ghostscript + is compiled as a dynamic link library (DLL). This describes how + to use it. For developers. This DLL interface is obsolete. Use + API.htm instead. + + Develop.htm + Code orientation for developers. Contains a detailed breakdown + of the source files by functional group, and overviews of the + major architectural features and services. + + Devices.htm + Detailed information about some specific devices for which + Ghostscript can produce output. Run "gs -h" to see which + devices a particular version of Ghostscript is built to use. + + Drivers.htm + Describes the interface between Ghostscript and device drivers. + If you do this, you should also read and use the C style and + coding guidelines. Necessary to develop a new driver. For + developers. + + Fonts.htm + All about fonts freely available for Ghostscript, and how to + add and use new fonts. Also describes how to use Ghostscript + fonts as X Windows fonts. For both users and developers. + + Helpers.htm + A note of thanks to people who have helped in the development + of Ghostscript. + + Hershey.htm + Part 1 of the five-part original Usenet distribution of the + free Hershey fonts, giving the terms of use and describing + their encoding. + + History*.htm + The history of changes in all Ghostscript releases: + + History7.htm for Ghostscript versions 7.n + History6.htm for Ghostscript versions 6.n + History5.htm for Ghostscript versions 5.n + History4.htm for Ghostscript versions 4.n + History3.htm for Ghostscript versions 3.n + History2.htm for Ghostscript versions 2.n + History1.htm for Ghostscript versions 1.n + + Htmstyle.htm + The guidelines and style for HTML coding of Ghostscript's + documentation, which you should follow if, for example, you + change existing HTML documentation or write new documents. For + writers and editors. + + Humor.htm + Another Ghostscript interpreter. + + Install.htm + How to install Ghostscript. See also how to build it. + + Issues.htm + A list of outstanding open issues in Ghostscript. These include + known limitations, minor bugs, performance issues, differences + from Adobe implementations, and others. + + Language.htm + The relationship between the Ghostscript interpreter and the + PostScript language as defined by Adobe. + + Lib.htm + A description of the Ghostscript library, a set of procedures + to implement the graphics and filtering capabilities that are + primitive operations in the PostScript language and in Adobe + Portable Document Format (PDF). For developers. + + Maintain.htm + Assorted Ghostscript maintenance procedures. For developers. + + Make.htm + How to build Ghostscript executables from the source code. See + also how to install it. It's not necessary to be a highly + experienced developer to build or install Ghostscript, but some + experience is needed. + + New-user.htm + Essential information for new users of Ghostscript. + + News.htm + A brief description of the latest release or pre-release of + Ghostscript, and a list of any incompatible changes in it. + Changes in older releases are described in the history files + "History*.htm", which are usually installed in the + documentation directory. Run "gs -h" to see where that is. + + Projects.htm + A list of Ghostscript development projects with which we would + like help. + + Ps-style.htm + The guidelines and style for postscript coding in Ghostscript. + Some of Ghostscript is implemented in the postscript language + itself, and various utilities and examples are distributed with + it. You should follow these guidelines if you're extending or + modifying those files. For developers. + + Ps2epsi.htm + Detailed information on how to use Ghostscript through ps2epsi + to convert PostScript to Adobe Encapsulated PostScript + Interchange (EPSI) format. + + Ps2pdf.htm + Detailed information on how to use Ghostscript through ps2pdf + to convert PostScript to Adobe Portable Document Format (PDF). + + Psfiles.htm + A description of the PostScript files (other than font files) + distributed with Ghostscript, including initialization + routines, utility programs, and sample printable files. + + Readme.htm + This document. + + Release.htm + A description of how to prepare and test a Ghostscript release. + Of interest only to developers who want to create new + Ghostscript versions for distribution. + + Source.htm + A guide to the Ghostscript source code, for development and + debugging. + + Unix-lpr.htm + How to set up Ghostscript as a Unix lpr filter. + + Use.htm + Detailed instructions on how to use Ghostscript, including such + matters as designating an output device; choosing a default + paper size; how Ghostscript finds files, including font files; + how it uses environment variables; notes on specific platforms, + including the X Window System; and command-line options. + + Xfonts.htm + Ghostscript's external font interface to a host platform's + font-rendering mechanism, for developers. + _________________________________________________________________ + + Copyright © 1996, 2000 Aladdin Enterprises. All rights reserved. + + This software is provided AS-IS with no warranty, either express or + implied. This software is distributed under license and may not be + copied, modified or distributed except as expressly authorized under + the terms of the license contained in the file LICENSE in this + distribution. + + Ghostscript version 7.07, 17 May 2003 diff --git a/Master/xemtex/doc/ghostscript/Readme.htm b/Master/xemtex/doc/ghostscript/Readme.htm new file mode 100644 index 00000000000..b1ed5164975 --- /dev/null +++ b/Master/xemtex/doc/ghostscript/Readme.htm @@ -0,0 +1,634 @@ + + + +Overview of Ghostscript + + + + + + + + + + +

    Overview of Ghostscript

    + + + + + +

    +If this is your first contact with Ghostscript, before continuing here you +should read the documentation for new users, +where you'll find + +

    + +

    +The rest of this document is a roadmap to the Ghostscript documentation. +After looking through it, if you want to install Ghostscript and not only +use it, we recommend you read how to install +Ghostscript, and how to compile Ghostscript from +source code (which is necessary before installing it on Unix and VMS +systems). + + + +


    + + + +

    Table of contents

    + +
    + + + +
    + + + + + +

    Document roadmap by theme

    + +

    What should I read if I'm a new user?

    + +

    +A new user of Ghostscript should begin by reading the material +specifically for new users, then as many of +these documents as seem useful: + +

      +
    • how to install Ghostscript + +
    • how to use Ghostscript; some of this information +information also found in gs.1, the Unix +"man" page for Ghostscript. + +
    • the catalogs at the beginning of devs.mak and +contrib.mak, which list all the devices for which +Ghostscript is able to produce output (although if you got Ghostscript in +binary form, it will only include some of these devices) + +
    • detailed information about some specific +devices that Ghostscript knows about + +
    • more detailed information about how to use Ghostscript under +Unix with lpr as a filter +for non-PostScript printers + +
    • about the fonts distributed with +Ghostscript, including how to add or replace fonts + +
    • a description of the Ghostscript language, +and its differences from the documented PostScript language + +
    • about the postscript files distributed with +Ghostscript (other than fonts) +
    + +

    Before building Ghostscript

    + +

    +If you are going to compile Ghostscript, rather than just use an executable +you got from somewhere, you should read: + +

    + +
    + +

    What should I read if I'm not a new user?

    + +

    +If you have already used Ghostscript, when you receive a new release you +should begin by reading this file, then + +

      +
    • News.htm, for incompatible changes and new +features in the current release; + +
    • Current.htm, for known problems in the +current release; + +
    • if you wish, Changes.htm, for a detailed list +of changes in the current release; + +
    • if you wish, History#.htm (currently History7.htm), for changes in other releases. +
    + +
    + +

    What if I'm a developer?

    + +

    +If you are going to do any development on or with Ghostscript at all, you +should at least look at + +

    + +

    +If you are going to write a new driver for Ghostscript, you should read + +

    + +

    +If you intend to use Ghostscript in the form of a dynamic link library +(DLL) under OS/2 or Microsoft Windows or in the form of shared object +under GNU/Linux, read + +

    + +

    +If you want to use Ghostscript as part of another program--as a callable +PostScript language interpreter--and not as a DLL or as a self-contained +executable application, you should begin by reading + +

      +
    • the source file imain.h, the documented +API for Ghostscript not as a DLL +
    + +

    +or if you are going to use only the Ghostscript graphics library, + +

    + +
    + +

    What if I'm writing documentation?

    + +

    +If you are editing or adding to Ghostscript's existing documentation in +HTML format, or writing a new document, you should read + +

    + +
    + +

    Presence on the World Wide Web

    + +

    Ghostscript's home page

    + +

    +GNU Ghostscript has a home page on the World Wide Web with helpful +information. Pleave visit: + +

    +http://www.gnu.org/software/ghostscript/ +
    + +

    +More material about Ghostscript can be found at + +

    +http://www.ghostscript.com/ +
    + +

    Adobe PostScript, Encapsulated +PostScript, and PDF reference documentation

    + +

    +Adobe makes a wealth of + +technical documentation available over the Web, including the + +PostScript Language Reference Manual (Third Edition); the + +Encapsulated PostScript (EPS) Format Specification version 3, including +Encapsulated PostScript Interchange (EPSI) +format; the + +PDF 1.3 specification; and the + +pdfmark, +transparency and + +Acrobat Distiller parameters documentation. Some of these documents +are also available at Adobe's ftp +site, but not necessarily under the same filenames. + +

    Other material on the WWW

    + +

    +Much other material about Ghostscript is available on the World Wide Web, +both as web pages and as archived Usenet and mailing list discussions. Use +the well-known search engines to find such material. + +

    +There is a good manual for Ghostscript available in PDF form, +in English and German (and soon in Japanese), at: + +

    +http://www.pdflib.com/gsmanual +
    + +

    +There is a translation of the Ghostscript 'man' pages into Czech at: + +

    +http://www.volny.cz/rebus/ghostscript/ +
    + +
    + +

    Which document contains what?

    + +

    Here is the list in alphabetic order of Ghostscript documentation, +with explanations of the contents. + +

    +
    API.htm +
    On MS-Windows and OS/2, Ghostscript is compiled as a dynamic +link library (DLL). On GNU/Linux, Ghostscript can be compiled as +a shared object. This describes how to use it. +For developers. +
    + +
    +
    C-style.htm +
    Guidelines and style for C coding, which you should follow +if, for example, you write a new driver or add or +change something in Ghostscript. For developers. +
    + +
    +
    Changes.htm +
    A detailed list of all code changes in the current release or +pre-release, generated mechanically from the CVS logs. For developers. +
    + +
    +
    CJK.htm +
    Usage of features to support CJK CID-keyed fonts in Ghostscript. +
    + +
    +
    CJKTTCID.htm +
    Note providing information on utilization of CJK (Chinese, +Japanese and Korean) TrueType fonts as CIDFontType2 fonts from the +viewpoint of its validity and limitations. +
    + +
    +
    Current.htm +
    Information specifically about the current release of Ghostscript. +See also the latest news of changes. +
    + +
    +
    DLL.htm +
    On OS/2, MS Windows-16 and MS Windows-32 platforms, Ghostscript is +compiled as a dynamic link library (DLL). This describes how to use it. +For developers. This DLL interface is obsolete. +Use API.htm instead. +
    + +
    +
    Develop.htm +
    Code orientation for developers. Contains a detailed breakdown of +the source files by functional group, and overviews of the major +architectural features and services. +
    + +
    +
    Devices.htm +
    Detailed information about some specific devices for which Ghostscript +can produce output. Run "gs -h" to see which +devices a particular version of Ghostscript is built to use. +
    + +
    +
    Drivers.htm +
    Describes the interface between Ghostscript and device drivers. If +you do this, you should also read and use the C style +and coding guidelines. Necessary to develop a new driver. For +developers. +
    + +
    +
    Fonts.htm
    All +about fonts freely available for Ghostscript, and how to add and use new +fonts. Also describes how to use Ghostscript fonts as X Windows fonts. For +both users and developers. +
    + +
    +
    Helpers.htm +
    A note of thanks to people who have helped in the development of +Ghostscript. +
    + +
    +
    Hershey.htm +
    Part 1 of the five-part original Usenet distribution of the free +Hershey fonts, giving the terms of use and describing their encoding. +
    + +
    +
    History*.htm +
    The history of changes in all Ghostscript releases: +
    +History7.htm for Ghostscript versions 7.n
    +History6.htm for Ghostscript versions 6.n
    +History5.htm for Ghostscript versions 5.n
    +History4.htm for Ghostscript versions 4.n
    +History3.htm for Ghostscript versions 3.n
    +History2.htm for Ghostscript versions 2.n
    +History1.htm for Ghostscript versions 1.n +
    +
    + +
    +
    Htmstyle.htm +
    The guidelines and style for HTML coding of Ghostscript's +documentation, which you should follow if, for example, you change existing +HTML documentation or write new documents. For writers and editors. +
    + +
    +
    Humor.htm +
    Another Ghostscript interpreter. +
    + +
    +
    Install.htm +
    How to install Ghostscript. See also how to build +it. +
    + +
    +
    Issues.htm +
    A list of outstanding open issues in Ghostscript. These include +known limitations, minor bugs, performance issues, differences from +Adobe implementations, and others. +
    + +
    +
    Language.htm +
    The relationship between the Ghostscript interpreter and the +PostScript language as defined by Adobe. +
    + +
    +
    Lib.htm +
    A description of the Ghostscript library, a set of procedures to +implement the graphics and filtering capabilities that are primitive +operations in the PostScript language and in Adobe Portable Document Format +(PDF). For developers. +
    + +
    +
    Maintain.htm +
    Assorted Ghostscript maintenance procedures. For developers. +
    + +
    +
    Make.htm +
    How to build Ghostscript executables from the source code. See also +how to install it. It's not necessary to be a highly +experienced developer to build or install Ghostscript, but some experience +is needed. +
    + +
    +
    New-user.htm +
    Essential information for new users of Ghostscript. +
    + +
    +
    News.htm +
    A brief description of the latest release or pre-release of +Ghostscript, and a list of any incompatible changes in it. Changes in older +releases are described in the history files "History*.htm", +which are usually installed in the documentation directory. Run +"gs -h" to see where that is. +
    + +
    +
    Projects.htm +
    A list of Ghostscript development projects with which we would like +help. +
    + +
    +
    Ps-style.htm +
    The guidelines and style for postscript coding in Ghostscript. Some +of Ghostscript is implemented in the postscript language itself, and +various utilities and examples are distributed with it. You should +follow these guidelines if you're extending or modifying those files. +For developers. +
    + +
    +
    Ps2epsi.htm +
    Detailed information on how to use Ghostscript through +ps2epsi to convert PostScript to Adobe +Encapsulated PostScript Interchange (EPSI) format. +
    + +
    +
    Ps2pdf.htm +
    Detailed information on how to use Ghostscript through +ps2pdf to convert PostScript to Adobe +Portable Document Format (PDF). +
    + +
    +
    Psfiles.htm +
    A description of the PostScript files (other than font files) +distributed with Ghostscript, including initialization routines, utility +programs, and sample printable files. +
    + +
    +
    Readme.htm +
    This document. +
    + +
    +
    Release.htm +
    A description of how to prepare and test a Ghostscript release. Of +interest only to developers who want to create new Ghostscript versions for +distribution. +
    + +
    +
    Source.htm +
    A guide to the Ghostscript source code, for development and debugging. +
    + +
    +
    Unix-lpr.htm +
    How to set up Ghostscript as a Unix lpr +filter. +
    + +
    +
    Use.htm +
    Detailed instructions on how to use Ghostscript, including such +matters as designating an output device; choosing a default paper size; +how Ghostscript finds files, including font files; how it uses environment +variables; notes on specific platforms, including the X Window System; and +command-line options. +
    + +
    +
    Xfonts.htm +
    Ghostscript's external font interface to a host platform's +font-rendering mechanism, for developers. +
    + + + + +
    + +

    +Copyright © 1996, 2000 Aladdin Enterprises. All rights +reserved. + +

    +This software is provided AS-IS with no warranty, either express or +implied. + +This software is distributed under license and may not be copied, +modified or distributed except as expressly authorized under the terms +of the license contained in the file LICENSE in this distribution. + +

    +Ghostscript version 7.07, 17 May 2003 + + + + + diff --git a/Master/xemtex/doc/ghostscript/Release.htm b/Master/xemtex/doc/ghostscript/Release.htm new file mode 100644 index 00000000000..561de32658c --- /dev/null +++ b/Master/xemtex/doc/ghostscript/Release.htm @@ -0,0 +1,769 @@ + + + +How to prepare a Ghostscript release + + + + + + + + + + +

    How to prepare a Ghostscript release

    + + + + + +

    Table of contents

    + +
    + + + + + +

    For other information, see the Ghostscript +overview and the instructions on how to build +Ghostscript. + + + +


    + + + + + +

    Introduction

    + +

    +This document describes the process that artofcode LLC, the copyright holder +of Ghostscript, uses for making new Ghostscript releases. Please note +that while the the license allows anyone to prepare and distribute +releases in accordance with its terms and conditions, this document is +really meant only to document the process used by artofcode LLC. +However, the eventual purpose of this document is to describe +Ghostscript release procedures in enough detail that someone who knows +little about Ghostscript but is generally familiar with the platform on +which the procedure is being carried out can execute the procedures +correctly. So if you add or changing anything to/in this document, +be sure to specify all command lines, file names, etc. in explicit +detail. + +

    +File names below that don't include an explicit subdirectory name are in the +src subdirectory. + +

    +If you do plan to make your own distribution, please be aware of some items +you will want to change. + +

      + +
    • If you make any significant changes, please edit +gscdef.c to change GS_PRODUCTFAMILY and +GS_PRODUCT from "GNU Ghostscript" to something else, +in order to avoid confusion with artofcode's releases. + +
    • In the same file, you may also want to edit GS_COPYRIGHT +to add your own copyright notice (although you must not remove any +notice that is there). + +
    • You will almost certainly want to edit version.mak to +change the revision date, GS_REVISIONDATE. + +
    • If you want to change the version number, you must change it in both +version.mak (GS_VERSION_*) and +lib/gs_init.ps (the integer on a line by itself near the +beginning of the file). + +
    + +

    Servers

    + +

    +The Ghostscript source files are maintained on sites accessible to +the public. One specific site hosts the active CVS repository for code, +data, and documentation, and the bug report data base; several sites +offer distributions with version numbers, intended for wider +distribution. + +

    Distribution

    + +

    +The primary distribution site for GNU Ghostscript is the GNU ftp +site and its mirrors. + +

    +Stable releases are also distributed from + +

    +ftp://mirror.cs.wisc.edu/pub/mirrors/ghost/gnu/ +
    + +

    Making distributions

    + +

    +This document only discusses source distributions. Source distributions +currently can only be made on GNU/Linux systems (but it probably wouldn't +take much work to support other Unix-like systems). Ghostscript as +distributed also +often includes executables or other packages for the Windows and MacOS +environments, but artofcode does not produce these, and this document does not +discuss them. For more information about Windows packages, please contact +bug-gswin@ghostscript.com; +for more information about MacOS packages, please contact mac-gs@ghostscript.com. + +

    +To make a source distribution, you will need the scripts and data files in +the toolbin/ directory. The instructions below generally +assume that you're invoking the relative to the top level of the source +tree. + +To run the scripts, you will need reasonably current versions of Tcl, +freely available from Scriptics +(http://www.scriptics.com), and +Python, freely available from http://www.python.org. + +

    +The instructions below also refer to some files that are deliberately +omitted from the public distribution, because they are not freely +redistributable. You will need to provide similar files for your +environment. + +

    +data/*/*.ps (PostScript files) - needed for smoke testing
    +
    + +

    Preparing the source code

    + +

    +Update references to the date for release: + +

      + +
    • In lib/gs_init.ps, as an integer (release number +x100) at the beginning of the file just after the initial comment +blocks. + +
    • In version.mak, the numeric date. + +
    • In doc/News.htm, in two places, skipping the Id: +line. That is, in parentheses after the VERSION X.YY heading, +and in the copyright footer both the year and the release date. + +
    + +We recommend using a UTC release date to avoid timezone skew. + +

    +Also in doc/News.htm, update the number of the highest +closed bug and the list of open bugs. + +

    +Check in gscdef.c that the definition of +GS_PRODUCT includes the appropriate one of "DEVELOPMENT +RELEASE", "BETA RELEASE", or neither, and does not include "CVS +PRE-RELEASE". + +

    Run the source-consistency checks from the test suite: + +

    +toolbin/tests/check_all.py --gsroot=.
    +
    +Where the argument of --gsroot is the path to the top level of the +source tree. Fix any problems it indicates, and commit them to cvs. + +

    +Check for patched configuration parameters, #define TESTs, +version/date inconsistencies, and mismatches between the working directory +and the CVS repository by running: + +

    +toolbin/pre
    +
    + +

    +This program compares the result of various greps against a check file, +writing the results of grep on one output file and the differences from the +check file on another. See the source code of +toolbin/pre for the default file names. The +important one is the check file, +toolbin/pre.chk. pre also verifies +that the +right information is in the following places: +

      +
    • version number in man/*.1, doc/*.htm, +version.mak, doc/gs-vms.hlp, +lib/gs_init.ps +
    • revision date in man/*.1, doc/*.htm, +version.mak, doc/gs-vms.hlp +
    • copyright year (if necessary) in gscdef.c +
    • third-party library version number in *.mak +
    + +

    +If necessary, run + +

    +toolbin/pre update
    +
    + +

    +to update the version and revision date in the doc files, and then run + +

    +toolbin/pre
    +
    + +

    +again. To confirm that everything is updated. You may have to commit to +cvs after the update to satify the script that all the dates are +correct. + +

    +Check the consistency of the source code with the makefiles by +running: + +

    +toolbin/gsmake.tcl check
    +
    + +This script assumes the top level makefile is named 'makefile'. + +

    +Fix any problems and commit to cvs. + +

    Testing

    + +

    +Edit your top-level the Makefile to set +

    +FEATURE_DEVS=$(FEATURE_DEVS_ALL)
    +COMPILE_INITS=1
    +
    + +

    +This will help catch compilation problems. + +

    +Run + +

    +rm obj/*
    +make -j2 >& make.log
    +
    + +

    +and look for warnings and errors in the log file. + +

    +Do a smoke test, updating the example paths as necessary: + +

    +unset GS_DEVICE GS_FONTPATH GS_LIB GS_OPTIONS
    +./bin/gs -I./lib -I./fonts -dNOPAUSE -dBATCH /gs/toolbin/smoke.ps
    +./bin/gs -I./lib -I./fonts -dNOPAUSE -dBATCH -sDEVICE=bitcmyk\
    +  -sOutputFile=/dev/null -r600 -dBufferSpace=50000 /gs/toolbin/smoke.ps
    +
    + +

    +This reads files named + +

    +data/misc/*.ps
    +data/ps/*.ps
    +data/psl2/*.ps
    +data/psl3/*.ps
    +data/pdf/*.pdf
    +
    + +

    +(Edit toolbin/smoke.ps to use other test sets.) +Watch for crashes, unusual error messages, or anomalous displayed output. +If there are any problems, start over from the beginning of the process. + +

    +Undo the FEATURE_DEVS and COMPILE_INITS +edits. + +

    +Run + +

    +cvs commit
    +
    + +

    +to ensure the repository is up to date. + +

    +Execute + +

    +toolbin/cvs2hist.py -j <previous_tag> -r '-r<branch_tag>' -v <new_version> > doc/Changes.htm
    +
    +e.g.
    toolbin/cvs2hist.py -j gs7_04 -r '-rGS_7_0X' -v 7.05
    +
    + +

    +This consolidates all the CVS logs since the previous release in a readable +format. Note: the cvs2hist.py tool currently in the distribution is not +very branch-aware (nor is the 'cvs log' command it depends on) so the extra +complication of the -j and -r options are required when generating the Changes +for a non-HEAD branch of Ghostscript. Note that the -r option should be +an empty '-b' when generating logs for the cvs main branch due to +variations in naming. + +

    +Run + +

    +tclsh
    +% source toolbin/makeset.tcl
    +% makehist
    +
    + +

    +This updates doc/History#.htm from +doc/News.htm and doc/Changes.htm. + +Then run + +

    +cvs commit
    +
    + +

    +again to check in the Changes and history files. + +

    Making the source distribution

    + +

    +First, tag the versions of the files in cvs with the release version +number. + +

    +
    cvs tag gs#_##
    +
    + +If you've already tagged this release (e.g. in making an earlier +release candidate) you'll need to add the -r and -F +options after 'cvs tag' to force moving the tag to the new revisions +of changed files. + +

    +Pull a fresh copy for distribution from the cvs repository: + +

    +cvs -z3 -d <ghostscript cvsroot> export -r gs#_## -d ghostscript-#.## gs
    +
    + + +

    +Generate the text versions of the README document: + +

    +
    cd ghostscript-#.##
    +lynx -dump -nolist doc/Readme.htm > doc/README
    +
    + +

    +For the unix source distributions only, generate the configure +scripts. From the top level directory, run + +

    ./autogen.sh
    +make distclean
    +
    + +This should create links to configure.ac and +Makefile.in in the top level directory and +invoke autoconf to create the configure script. + +

    +Also, run autoconf in the ijs subdir to create the configure script +for that package. + +

    +Move back to directory containing the distribution code and make the +source archives with: + +

    +tar cvzf ghostscript-#.##.tar.gz ghostscript-#.##/*
    +zcat ghostscript-#.##.tar.gz | bzip2 -c > ghostscript-#.##.tar.bz2
    +
    + +

    +This creates the files + +

    +ghostscript-#.##.tar.gz (main archive)
    +ghostscript-#.##.tar.bz2 (main archive)
    +
    + +

    +The important issue is that the tarballs unpack into a directory +of the same name, and that the code be a pristine copy without +build or CVS housekeeping files. + +

    +It is also customary to make a gs###src.zip archive for the +convenience of windows developers. See below. + +

    Testing on Windows

    + +

    +For Windows testing, you will need, in addition to the files listed +under "Preparing the source" above: +

    +toolbin/makewin (link to makeset.tcl)
    +
    + +

    +The following procedures rely on a large number of MS-DOS batch scripts that +are not discussed here: they are unlikely to be generally useful. + +

    +Mount the Windows partition on /c, and create the +/c/work directory if needed. + +

    +Make the zip archive of all files needed for a Windows build, and copy it to +the Windows partition: + +

    +toolbin/makewin
    +cp gs###.zip /c/work
    +
    + +

    +Boot into Windows. Unpack the archive: + +

    +cd \work
    +unzip -oq gs###.zip
    +gs###
    +
    + +

    +The gs###.bat script creates some necessary directories, +sets up PATH and GS_LIB for testing, and +makes the gs#.## directory current. + +

    +Build with the Borland compiler: + +

    +config bcwin32
    +copy /y /b ..\gs\makefile
    +erase obj\*.*
    +make > bc.log
    +
    + +

    +Smoke test the executables (both gswin32 and +gswin32c), as described above for source distributions. +Then build with the Microsoft compiler: + +

    +config msvc32
    +copy /y /b ..\gs\makefile
    +erase obj\*.*
    +nmake > msvc.log
    +
    + +

    +Smoke test these executables too. + +

    +Building with the Watcom compiler doesn't work, because the +wmake or wmakel program runs out of memory. +However, if it did work, this is how to do it: + +

    +config watcw32
    +copy /y /b ..\gs\makefile
    +erase obj\*.*
    +wmake -u > watc.log
    +
    + +

    +Boot back into GNU/Linux. If testing in Windows revealed problems, edit the +source files as necessary, and go back to "Preparing the source code." + +

    Building the Windows distribution

    +

    +Extract the sources from ghostscript-N.NN.tar.gz +then repackage in a zip file as follows: +

    +zip -r temp.zip gsN.NN/doc gsN.NN/examples gsN.NN/icclib + gsN.NN/ijs gsN.NN/lib gsN.NN/src +
    +Unzip converting the line endings to CRLF: +
    +unzip -a temp.zip
    +del temp.zip
    +
    +Then finally zip up the sources to the distribution file: +
    +zip -9 -r gsNNNsrc.zip gsN.NN +
    +This method is reasonably portable, and does not convert binary +files such as +examples/annots.pdf. +

    +Unzip gsNNNsrc.zip. +The directory must be named gsN.NN. +

    +Extract the fonts gnu-gs-fonts-std-6.0.tar.gz +into a directory fonts adjacent to the +gsN.NN directory. +The fonts are needed in this location for building +the distribution archive later. +

    +You will need the command line Info-Zip zip program available from + +http://www.info-zip.org/pub/infozip/ +Alternatively, the command line version of WinZip +(wzzip.exe) can be used by replacing the +Info-Zip command line options -9 -r +with -ex -P in +winint.mak. +

    +You will need WinZip Self-Extractor for building the +self extracting archive. This is commercial software. +You may need to update the path WINZIPSE_XE in +winint.mak. +

    +Unzip the jpeg, libpng and zlib libraries, then make ghostscript +as documented in Make.htm. +

    +Run the command nmake archive. This builds the distribution +archive gsNNNw32.exe and an ordinary zip file +gsNNNw32.zip in the parent directory. +If you do not have WinZip Self-Extractor, you can use +nmake zip to make gsNNNw32.zip only. + +

    Finishing up

    + +

    +Upload ghostscript-#.##.tar.* to SourceForge (by anonymous +FTP to upload.sourceforge.net, directory +/incoming), and then post it using the "File Release" +facility in the Ghostscript project. +If this is a GNU release, put it in the gnu-gs module. +If this is a test release or beta release, put +it in the gs-devel or gs-beta module, +respectively. +If you are adding executable builds or source archives for other +platforms to an existing source release, please use the same release +date as the source release, not the current date. + +

    Beta distributions

    + +

    +Do the steps for distributions in general. + +

    +Upload ghostscript-#.##.tar.* to the testing directory on +mirror.cs.wisc.edu. + +

    +Send an email announcement to the gs-test list +announcing the new release. + +

    Public releases

    + +

    +Update the title (current version #), first heading (previous version #), +and "new features" and "known problems" lists in +doc/Current.htm. + +

    +Do the steps for distributions in general. + +

    +Create a directory at +ftp://mirror.cs.wisc.edu/pub/mirrors/ghost/gnu/gs###/. +In that +directory, store the following files: + +

      + +
    • Standard distribution files: + +
      +ghostscript-#.##.tar.gz
      +ghostscript-#.##.tar.bz2
      +
      + +
    • MS Windows source and executables: + +
      +gs###src.zip
      +gs###w32.exe
      +gs###w32.zip
      +
      + +
    • Third-party libraries, as links (upload these if not installed), where +$$$ et al. refer to the version number of the library, which +should be the latest compatible release of the library and should be +consistent with the values of and version numbers specifically listed in +the makefiles. + +
      +jpegsrc.v$$.tar.gz -> ../../3rdparty/jpegsrc.v$$.tar.gz
      +libpng-$.$.$.tar.gz -> ../../3rdparty/libpng-$.$.$.tar.gz
      +zlib-$.$.$.tar.gz -> ../../3rdparty/zlib-$.$.$.tar.gz
      +jpegsr$$.zip -> ../../3rdparty/jpegsr$$.zip
      +lpng$$$.zip -> ../../3rdparty/lpng$$$.zip
      +zlib$$$.zip -> ../../3rdparty/zlib$$$.zip
      +
      + +In any case, the names of the links in the distribution directory should reflect +the original name of the upstream file. + +
    • Fonts, where $.$$ refers to the most recent version +number of the fonts: + +
      +ghostscript-fonts-other-$.$.tar.gz -> ../fonts/ghostscript-fonts-other-$.$.tar.gz
      +ghostscript-fonts-std-$.$.tar.gz -> ../fonts/ghostscript-fonts-std-$.$.tar.gz
      +
      + +
    + +

    +(Note that the link names are somewhat inconsistent: some of them retain the +version number of the file being referenced, and some of them use the +Ghostscript version number. This is a historical artifact that might be +changed someday.) + +

    +E-mail the release announcement using: +

    +To: gs-announce
    +
    + +

    +Edit the Web pages in cvs and commit to reflect the new release. +The Wisconsin server should update automatically. + +

    After releasing

    + +

    +E-mail the full URL and the md5sum of the new archive(s) to +ftp-upload@gnu.org. This +will allow the site maintainers to add the new release to the GNU +distribution network. + +

    +It may also be helpful to have the Free Software Foundation review the +code before release to see whether it meets their standards for +distribution from the gnu.org website. + +

    +Update the version number by incrementing it: + +

      + +
    • In lib/gs_init.ps, at the very beginning of the file. + +
    • In version.mak, in 3 definitions. + +
    • In doc/News.htm, in 4 places. + +
    + +

    +In gscdef.c, edit the definition of +GS_PRODUCT to include "CVS PRE-RELEASE". + +

    +Edit doc/News.htm to remove all the content. + + +

    Fonts

    + +

    +artofcode LLC distributes a package of the base 35 PostScript fonts, and a +package of other miscellaneous fonts. These are released with a +licence matching that of the Ghostscript code. + +

    +To make the font packages, run the command + +

    +toolbin/makefonts #.##
    +
    + +

    +This creates the following files: + +

    +ghostscript-fonts-std-#.##.tar.gz
    +ghostscript-fonts-other-#.##.tar.gz
    +gnu-gs-fonts-std-#.##.tar.gz
    +gnu-gs-fonts-other-#.##.tar.gz
    +
    + +

    +The second two should be uploaded to +ftp://mirror.cs.wisc.edu/pub/mirrors/ghost/gnu/fonts/, +and the url and md5sum sent to the GNU ftp maintainers as with the +ghostscript source. + + + + +


    + +

    +Copyright © 1999-2002 artofcode LLC. All rights +reserved. + +

    +This software is provided AS-IS with no warranty, either express or +implied. + +This software is distributed under license and may not be copied, +modified or distributed except as expressly authorized under the terms +of the license contained in the file LICENSE in this distribution. + +

    +Ghostscript version 7.07, 17 May 2003 + + + + + diff --git a/Master/xemtex/doc/ghostscript/Source.htm b/Master/xemtex/doc/ghostscript/Source.htm new file mode 100644 index 00000000000..348920b4e22 --- /dev/null +++ b/Master/xemtex/doc/ghostscript/Source.htm @@ -0,0 +1,383 @@ + + + +Guide to Ghostscript source code + + + + + + + + + + +

    Guide to Ghostscript source code

    + + + + + +

    Table of contents

    + +
    + + + + + +

    For other information, see the Ghostscript +overview and the documents on how to build +Ghostscript from source, Ghostscript C coding +guidelines, drivers, the +Ghostscript library and how to +install Ghostscript. + + + +


    + + + + + +

    Conceptual overview

    + +

    +The Ghostscript source code is divided conceptually as follows: + +

    +
    PostScript interpreter: +
         + PostScript operators +      + z*.h and z*.c +
      + Other interpreter code +   + i*.h and i*.c +
      + PostScript code +   + gs_*.ps +
    PDF interpreter: +
      + PostScript code +   + pdf_*.ps +
    Graphics library: +
      + Main library code +   + g*.h and g*.c +
      + Streams +   + s*.h and s*.c +
      + Device drivers +   + gdev*.h and gdev*.c +
      + Platform-specific code +   + gp*.h and gp*.c +
    + +
    + +

    PostScript Interpreter

    + +

    +gs.c is the main program for the interactive language +interpreter; gserver.c is an alternative main program that +is a rudimentary server. If you configure Ghostscript as a server rather +than an interactive program, you will use gserver.c instead +of gs.c. + +

    +Files named z*.c are Ghostscript operator +files. The names of the files generally follow the section headings of the +operator summary in section 6.2 (Second Edition) or 8.2 (Third Edition) of +the PostScript Language Reference Manual. Each operator XXX is implemented +by a procedure named zXXX, for example, +zfill and zarray. + +

    +Files named i*.c, and *.h +other than g*.h, are the rest of the +interpreter. See the makefile for a little more information on how the +files are divided functionally. + +

    +The main loop of the PostScript interpreter is the interp +procedure in interp.c. When the interpreter is reading +from an input file, it calls the token scanner in +iscan*.c. + +

    +idebug.c contains a lot of debugger-callable routines +useful for printing PostScript objects when debugging. + +


    + +

    PDF interpreter

    + +

    +The PDF interpreter is written entirely in PostScript. Its main loop is +the .pdfrun procedure in pdf_base.ps. When +the PDF interpreter is configured into the build, it redefines the +"run" operator to test whether the file is a PDF file. +This redefinition is near the beginning of pdf_main.ps. + +


    + +

    Graphics library

    + +

    +Files beginning with gs, gx, or +gz (both .c and .h), other +than gs.c and gserver.c, are the +Ghostscript library. Files beginning with gdev are device +drivers or related code, also part of the library. Other files beginning +with g are library files that don't fall neatly into either +the kernel or the driver category. + +

    +Files named s*.c and +s*.h are a flexible stream package, +including the Level 2 PostScript "filters" supported by Ghostscript. See +stream.h, scommon.h, and +strimpl.h for all the details. + +

    Device drivers

    + +

    +The interface between the graphics library and device drivers is the only +really well documented one in all of Ghostscript: see the +documentation on drivers. + +

    +In addition to many real device and file format drivers listed in +devs.mak and contrib.mak, a number of +drivers are used for internal purposes. You can search +lib.mak for files named +gdev*.c to find almost all of them. + +

    +Drivers are divided into "printer" drivers, which support banding, and +non-printer drivers, which don't. The decision whether banding is +required is made (by default on the basis of how much memory is available) +in the procedure gdev_prn_alloc in +gdevprn.c: it implements this decision by filling the +virtual procedure table for the printer device in one of two different +ways. + +

    +A good simple "printer" (bandable) driver to read is +gdevmiff.c: it's less than 100 lines, of which much is +boilerplate. There are no simple non-printer drivers that actually drive +devices: probably the simplest non-printer driver for reading is +gdevm8.c, which implements 8-bit-deep devices that only +store the bits in memory. + +

    Platform-specific code

    + +

    +There are very few platform dependencies in Ghostscript. Ghostscript deals +with them in three ways: + +

      +
    • Files named *_.h substitute for the corresponding +<*.h> file by adding conditionals +that provide a uniform set of system interfaces on all platforms. + +
    • The file arch.h contains a set of +mechanically-discovered platform properties like byte order, size of +int, etc. These properties, not the names of +specific platforms, are used to select between different algorithms or +parameters at compile time. + +
    • Files named gp*.h define interfaces +that are intended to be implemented differently on each platform, but whose +specification is common to all platforms. +
    + +

    +The platform-specific implementations of the +gp*.h interfaces have names of the form +"gp_{platform}.c, specifically +(this list may be out of date): + +

    + +

    Platform-specific interfaces
    +
    Routine +      + Platform +

    +
    gp_dosfb.c +   + DOS +
    gp_dosfs.c +   + DOS and MS Windows +
    gp_itbc.c +   + DOS, Borland compilers +
    gp_iwatc.c +   + DOS, Watcom or Microsoft compiler +
    gp_msdos.c +   + DOS and MS Windows +
    gp_ntfs.c +   + MS-Windows Win32s and Windows NT +
    gp_os2.c +   + OS/2 +
    gp_os9.c +   + OS-9 +
    gp_unifs.c +   + Unix, OS-9, and QNX +
    gp_unix.c +   + Unix and QNX +
    gp_sysv.c +   + System V Unix +
    gp_vms.c +   + VMS +
    gp_win32.c +   + MS-Windows Win32s and Windows NT +
    + +

    +If you are going to extend Ghostscript to new machines or operating +systems, check the *_.h files for ifdef on +things other than DEBUG. You should probably plan to make +a new makefile and a new gp_XXX.c file. + +


    + +

    Makefiles

    + +

    +This section is only for advanced developers who need to integrate +Ghostscript into a larger program at build time. + +

    +NOTE: THIS SECTION IS INCOMPLETE. IT WILL BE IMPROVED IN A LATER REVISION. + +

    +The Ghostscript makefiles are meant to be organized according to the +following two principles: + +

      + +
    • All the parameters that vary from platform to platform appear in the +top-level makefile for a given platform. ("Platform" = OS + compiler + +choice of interpreter vs. library) + +
    • All the rules and definitions that can meaningfully be shared among more +than 1 platform appear in a makefile that is "included" by a makefile +(normally the top-level makefile) for those platforms. +
    + +

    +Thus, for example: + +

      + +
    • Rules and definitions shared by all builds are in +gs.mak. + +
    • Rules and definitions specific to the library (on all platforms) are in +lib.mak. In principle this could be merged with +gs.mak, but we wanted to leave open the possibility that +gs.mak might be useful with hypothetical interpreter-only +products. + +
    • Stuff specific to interpreters (on all platforms) is in +int.mak. + +
    • Stuff specific to all Unix platforms should be in a single +unix.mak file, but because make sometimes +cares about the order of definitions, and because some of it is shared with +DV/X, it got split between unix-aux.mak, +unix-end.mak, unixhead.mak, +unixinst.mak, and unixlink.mak. + +
    + +

    +For MS-DOS and MS Windows builds, there should be: + +

      + +
    • A makefile for all MS OS (DOS or Windows) builds, for all + compilers and products. + +
    • Perhaps a makefile for all MS-DOS builds, for all compilers and +products, although since Watcom is the only such compiler we're likely to +support this may be overkill. + +
    • A makefile for all MS Windows builds, for all compilers and products. + +
    • A makefile for all Watcom builds (DOS or Windows), for all products. + +
    • A top-level makefile for the Watcom DOS interpreter product. + +
    • A top-level makefile for the Watcom Windows interpreter product. + +
    • A top-level makefile for the Watcom DOS library "product". + +
    • A top-level makefile for the Watcom Windows library "product". + +
    • A makefile for all Borland builds (DOS or Windows), for all + products. + +
    + +

    +and so on. + + + + +


    + +

    +Copyright © 1996, 1997, 1998 Aladdin Enterprises. All +rights reserved. + +

    +This software is provided AS-IS with no warranty, either express or +implied. + +This software is distributed under license and may not be copied, +modified or distributed except as expressly authorized under the terms +of the license contained in the file LICENSE in this distribution. + +

    +Ghostscript version 7.07, 17 May 2003 + + + + + diff --git a/Master/xemtex/doc/ghostscript/Unix-lpr.htm b/Master/xemtex/doc/ghostscript/Unix-lpr.htm new file mode 100644 index 00000000000..a92e7809534 --- /dev/null +++ b/Master/xemtex/doc/ghostscript/Unix-lpr.htm @@ -0,0 +1,267 @@ + + + +Setting up a Unix lpr filter for Ghostscript + + + + + + + + + + +

    Setting up a Unix lpr filter for Ghostscript

    + + + + + +

    Table of contents

    + +
    + + + + + +

    For other information, see the Ghostscript +overview and the usage documentation. + + + +


    + + + + + +

    Overview

    + +

    +"How do I set up Ghostscript to provide PostScript queues in a standard lpr +environment on Unix systems?" is a Frequently Asked Question amongst +Ghostscript users. The two shell scripts described by this document are +designed to make this task a little easier. They are + +

    +
    unix-lpr.sh +
    a flexible, multi-option print filter + +
    lprsetup.sh +
    A shell script which sets up soft links and creates a template insert +for the printcap file +
    + +
    + +

    What it can do

    + +

    +The print filter resides in the Ghostscript installation directory (often +/usr/local/share/ghostscript, but may be something else at +your installation), together with a dummy filter directory containing +various soft links which point to the filter. It offers the following +features: + +

      +
    • Multiple devices supported by a single filter +
    • Multiple bit-depths for the same device +
    • Multiple number of colours for the same device +
    • Direct (single-queue) and indirect (two-queue) setup +
    • Support for the standard preprocessing filters if you have the +corresponding (whatever)-to-PostScript translators +
    • Redirection of diagnostic and programmed output to a logfile in +the spooling directory +
    • Maintaining of printer accounting records of the numbers of pages +printed by each user (compatible with the pac command) +
    • Straightforward editing for further customisation +
    + +
    + +

    Setting it up

    + +

    +The lprsetup.sh script needs to have two lines edited +before running, to set the printer devices to use and the list of filters +available. With this information, it + +

      +
    • creates a "filt" subdirectory under the +Ghostscript installation directory +
    • creates the links in this directory which enable the filter to +determine the parameters for running Ghostscript +
    • automatically generates printcap entries which should +need only a little editing before adding to your system +printcap file +
    + +

    Editing the device list DEVICES

    + +

    +At the top of lprsetup.sh is a line of the form +DEVICES={list}. Replace the example list with +your own list of devices. Each entry is the name of a device, followed by +three more optional fields, separated by dots ".". + +

    Field 1: bits per pixel

    + +

    +The first field is required only if the printer device understands the -dBitsPerPixel= +switch, which applies only to colour devices. For a particular number +N of bits per pixel, add the suffix .N to +the device name, for instance cdj500.3, +cdj500.24, etc. + +

    Field 2: colours

    + +

    +The second field is required only if the printer device understands the +setting of the Colors device parameter (as in +-dColors=), which applies only to colour devices (and at +present is only supported by the bjc* family of drivers). +For a particular number N of colours, suffix +.N to the device name, such as bjc600.24.3, +bjc600.8.1 etc. + +

    Field 3: dual queues

    + +

    +The third field is required in order to use two separate queues for the +device, a "raw" queue and a PostScript queue (see +"Single or dual queues" below). If you want +dual queues, add the suffix .dq ("dual queue") to the name, +whether or not a bits-per-pixel suffix has already +been added. + +

    Example definition of +DEVICES

    + +

    +Thus the following list supports a cdj550 device at three +different bit depths (24 bpp, 3 bpp and 1 bpp), with a dual queue (that is, +a separate queue for the raw data); a monochrome deskjet +device with a single queue; and a djet500 device using a +separate queue: + +

    +DEVICES="cdj550.24.dq cdj550.3.dq cdj550.1.dq deskjet djet500.dq" +
    + +

    Editing the filter list

    + +

    +The standard list contains only the generic "if" filter, +but a commented-out list shows other filters which may be available. If +you wish to use the support for these filters, you may need to edit the +bsd-if file to add to the PATH the +directories where the translators are stored, or to change the names of the +filters if yours are different. The bsd-if script is +supplied with an example setup using Transcript (a commercial package from +Adobe), and PBMPLUS, a freeware package by Jef Poskanzer and others. + +

    Editing the printer port and +type

    + +

    +You can set the port and port type (parallel or printer) for an attached +printer, but for remote printers you'll have to modify the +printcap.insert file yourself. + +

    Modifying +printcap.insert

    + +

    +Running lprsetup.sh generates a file +printcap.insert which has a template setup for your +printer queues. It cannot guarantee to do the whole job, and you will +probably need to consult your system documentation and edit this file +before you add it to your printcap file. The file has good +defaults for serial printers, as these often cause problems in getting +binary data to the printer. However, you may need to change the baud rate, +or the handshaking method. Only a small change is required in the +printcap file to use a networked remote printer instead of +an attached printer, and an example is given in +printcap.insert. + +

    Single or dual queues

    + +

    +If you wish to provide a PostScript-only queue (for example, so that all +pages printed go through accounting), and the printer port is local to the +host machine, a single queue is appropriate -- Ghostscript simply converts +PostScript into the printer's native data format and sends it to the +port. But if the printer is on a remote networked machine, or if you need to +send raw printer data to the printer, you must use two queues. Simply +specify the ".dq" option above. + +


    + +

    Bugs

    + +

    +You must have write access to the Ghostscript installation directory for +lprsetup.sh to create the filter directory and soft links. + +

    +If you have several different values of bits per pixel for the same device, +you must list all instances of that device as adjacent items in the +DEVICES device +list. If you do not, printcap.insert will contain multiple +entries for the same device, which is not supported. + +


    + +

    Authors

    + +

    +This material was contributed by George Cameron. Yves Arrouye +<yves.arrouye@usa.net> +is responsible for the number-of-colours part of the script. + + + + +


    + +

    +Copyright © 1996, 1997, 1998 Aladdin Enterprises. All +rights reserved. + +

    +This software is provided AS-IS with no warranty, either express or +implied. + +This software is distributed under license and may not be copied, +modified or distributed except as expressly authorized under the terms +of the license contained in the file LICENSE in this distribution. + +

    +Ghostscript version 7.07, 17 May 2003 + + + + + diff --git a/Master/xemtex/doc/ghostscript/Use.htm b/Master/xemtex/doc/ghostscript/Use.htm new file mode 100644 index 00000000000..e2d2576d09b --- /dev/null +++ b/Master/xemtex/doc/ghostscript/Use.htm @@ -0,0 +1,3036 @@ + + + +How to use Ghostscript + + + + + + + + + + +

    How to use Ghostscript

    + + + + + +

    Table of contents

    + +
    + + + + + +

    For other information, see the Ghostscript +overview, the new user's documentation on +previewers and, if necessary, how to +install Ghostscript. + + + +


    + + + + + +

    Invoking Ghostscript

    + +

    The command line to invoke Ghostscript is +essentially the same on all systems, although the name of the executable +program itself may differ among systems. For instance, to invoke +Ghostscript on Unix: + +

    +gs [switches] {filename 1} ... [switches] {filename N} ... +
    + +
    +

    Ghostscript's name on different systems
    +
    System +    + Ghostscript's name +

    +
    Unix +  gs +
    VMS +  gs +
    DOS & MS Windows 3 +  gs386 +
    MS Windows 95/98 +  gswin32 +
    MS Windows 95/98 command line +  gswin32c +
    OS/2 +  gsos2 +
    + +

    +Note, though, that on a system with a windowed graphical user interface, +it's common to use Ghostscript through a previewer, so you should read the +section about previewers in the +documentation for new users. + +

    +Ghostscript is capable of interpreting PostScript, encapsulated PostScript +(EPS), DOS EPS (EPSF), and -- if the executable was built for it -- Adobe +Portable Document Format (PDF). The interpreter reads and executes the +files in sequence, using the method described under +"File searching" to find them. After doing +this, it reads further lines of PostScript language commands from the +primary input stream, normally the keyboard, interpreting each line +separately. To quit the interpreter, type "quit". The +interpreter also quits gracefully if it encounters end-of-file or +control-C. + +

    +The interpreter recognizes many switches. A switch +may appear anywhere in the command line, and applies to all files named +after it on the line. Many of the switches include "=" +followed by a parameter. + +

    Help at the command line: gs -h

    + +

    +You can get a brief help message by invoking Ghostscript with the +-h or -? switch, like this: + +

    +gs -h
    +gs -? +
    + +

    +(Of course, for "gs" use the right +command for your system.) The message shows +for this executable + +

      +
    • its version +
    • the format of the command to invoke it +
    • a few of the most useful switches +
    • the formats it can interpret +
    • the devices for which it can produce output +
    • where it looks for font files +
    • where and how to send bug reports +
    + +

    Security

    + +

    +Ghostscript implements a full-featured programming language, with +access to the filesystem and the ability to control a diverse set of +devices. As such, there are potential security implications. + +

    +The first line of defense is to use the security mechanisms +provided by Ghostscript. If you're running arbitrary PostScript files +(for example, those sent through email or downloaded from the Web), +make sure to use the -dSAFER option. Otherwise, you are opening up +your entire filesystem to potentially malicious code. + +

    +By default, Ghostscript opens up read access to the entire +filesystem. In general, if you're just viewing or printing documents, +this does not pose a significant security risk. However, if there is +a chance that the output of Ghostscript can leak sensitive information, +also set the -DPARANOIDSAFER option. Note, however, that this option +is incompatible with some scripts and wrappers, including gv and +related viewer apps. + +

    +We plan to make -dSAFER the default in future versions of Ghostscript. +Since most people use Ghostscript to print and view documents, rather +than to run scripts written in the PostScript language, this will +provide additional safety with little hassle for most users. If you +are using Ghostscript as a scripting language and need +unfettered access to the filesystem, use the -dNOSAFER flag to signal +explictly that you wish the PostScript code to have full access to the +file system. Currently, this flag has no effect, but it will insure +than your scripts execute as expected in future versions. + +

    +While we've tried to patch all known security problems, there is +no guarantee that we've caught them all. Ghostscript is a complex +application written in C. Buffer overflows and other exploits remain +a distinct possibility. Thus we recommend that, whenever possible, +Ghostscript should run in a secure "sandbox" environment, making +use of the security mechanisms of the underlying operating system. +In particular, we urge GNU/Linux distributors to invoke Ghostscript from +the print subsystem in a chroot'ed environment, and never as root. + +

    +We will continue to be vigilant regarding security issues. As +always, apply security updates promptly. + +

    Input from a pipe

    + +

    +As noted above, one normally specifies input with file names on the command +line. However, one can also "pipe" input into Ghostscript by using the +special file name "-" or "-_", for instance + +

    +{some program producing PS} | gs {...options...} - +
    +{some program producing PS} | gs {...options...} -_ +
    + +

    +These switches differ from a named file in two respects: + +

      +
    1. When Ghostscript finishes reading from the pipe, it quits rather than +going into interactive mode. Because of this, these switches are +really only useful as the last argument on the command line. + +
    2. These switches can't be used to pipe PDF input to Ghostscript. +See "Using Ghostscript with PDF files" below. +
    + +

    + +The difference between "-" and "-_" is that +"-" may read the input one character at a time, which is useful +for programs that generate input for Ghostscript dynamically +and watch for some response, whereas "-_" reads the input in +blocks, which is more efficient for ordinary (batch) execution. + +

    Selecting an output device

    + +

    +Ghostscript may be built to handle multiple output devices, and it normally +opens and directs output to the first one built in. Ghostscript's +gs -h help message lists +the output devices known to the executable. Once you invoke Ghostscript +you can also find out what devices are available by +"devicenames ==" at its command prompt. + +

    + +A little more information about devices appears near the beginning of the +files devs.mak (for drivers that are considered "part of" +Ghostscript and are maintained by the maintainers of the main Ghostscript +code) and contrib.mak (for user-contributed drivers) used to +build Ghostscript. (If you got Ghostscript under the Aladdin Free Public License, the person or place from which +you got it is also required to make the source code available to you; if you +got it under the GNU General Public License (GPL), see the GNU General Public License for +more information.) + +

    +To use device xyz as the initial output device, use the +command-line switch + +

    + -sDEVICE=xyz +
    + +

    +Note that this switch must precede the name of the first input file, and +only its first use has any effect. For example, for printer output in a +configuration that includes an Epson printer driver, instead of just +"gs myfile.ps" you might use + +

    + gs -sDEVICE=epson myfile.ps +
    + +

    +Alternatively, once you invoke Ghostscript and have its own command prompt +you can type + +

    + (epson) selectdevice
    + (myfile.ps) run +
    + +

    +All output then goes to the Epson printer instead of the display until you +do something to change devices. You can switch devices at any time by +using the selectdevice procedure, for +instance like one of these: + +

    + (vga) selectdevice
    + (epson) selectdevice +
    + +

    +A third possibility is to define an environment variable +GS_DEVICE with the name of your desired default device. +The order of precedence for these alternatives, highest to lowest, is: + +

    +
    selectdevice +        + Highest precedence +
    (command line) +   +   +
    GS_DEVICE +   +   +
    (first device built in) +   + Default; lowest precedence +
    + +

    Printer resolution

    + +

    +Some printers can print at several different resolutions, letting you +balance resolution against printing speed. To select the resolution on +such a printer, use the -r switch: + +

    + gs -sDEVICE=printer -rXRESxYRES +
    + +

    +For example, on Epson-compatible printers you have these choices: + +

    +
    gs -sDEVICE=epson +    + -r60x72 +    + 9-pin +    + lowest resolution +    + fastest +
      +   + -r240x72 +   +   +   + highest +   + slowest +
      +
      +   + -r60x60 +   + 24-pin +   + lowest +   + fastest +
      +   + -r360x180 +   +   +   + highest +   + slowest +
    + +

    Output to files

    + +

    +If you select a printer as the output device, Ghostscript also allows you to +control where the device sends its output. On DOS and MS Windows systems, +output normally goes directly to the printer (PRN); on Unix +or VMS systems normally to a temporary file for later printing. To send the +output to a file, use the -sOutputFile= switch (for +compatibility with older versions of Ghostscript, +-sOUTPUTFILE= also works). For instance, to direct all +output into the file ABC.xyz, use + +

    +gs -sOutputFile=ABC.xyz +
    + +

    +The file name follows the PostScript convention that if a name begins with +%, the name must be in the form %filedevice +or %filedevice%file. The legal values of +filedevice are system-dependent, but the following have consistent meanings +across systems: + +

    + +

    "%{filedevice}%{file}" in -sOutputFile=
    +
    filedevice +     + Meaning +

    +
    %os%xyz +   + An ordinary file named xyz +
    %pipe%cmd +   + (if supported) A pipe to an instance of the command cmd +
    %stdout +   + The standard output file +
    + +

    +Note that because of this, if you want to specify a file name that actually +begins with %, you must specify the %os% +filedevice explicitly: e.g., for output to a file named +%abc, you need to specify +-sOutputFile=%os%%abc. Note also that on DOS and MS Windows +systems, the % character has a special meaning for the +command processor (shell), so you will have to double it, e.g., for a pipe +on MS Windows, + +

    +gs -sOutputFile=%%pipe%%cmd +
    + +

    One page per file

    + +

    +You can also tell Ghostscript to put each page of output in a separate +file. To send output to a series of files each representing a single page, +use in the filename the printf format specifier +"%d" (or its extended form like "%02d"); +for instance + +

    + +

    "%{n}d" in -sOutputFile=
    +
    Output specification +     + Produces the series of 1-page files +

    +
    -sOutputFile=ABC%d.xyz +   + ABC1.xyz ... ABC10.xyz ... +
    -sOutputFile=ABC%03d.xyz +   + ABC001.xyz ... ABC010.xyz ... +
    + +

    +As noted above, on DOS and MS Windows systems, you will have to double the +% character, e.g., + +

    +gs -sOutputFile=ABC%%03d.xyz +
    + +

    Output to a pipe

    + +

    +On Unix and (32-bit) MS Windows systems you can use this switch to send +output directly to a pipe. For example, to pipe the output to +lpr, use the command + +

    + gs -sOutputFile=\|lpr +
    +or, as noted above, +
    + gs -sOutputFile=%pipe%lpr +
    + +

    +(doubling the % characters on MS Windows systems, as noted +above.) You can also send output to standard output for piping in the usual +way supported by the system: + +

    + gs -sOutputFile=- -q | ... +
    +or, as noted above, +
    + gs -sOutputFile=%stdout -q | ... +
    + +

    +(again, doubling the % character on MS Windows systems.) +In this case you must also use the -q +switch to prevent Ghostscript from writing messages to standard output +which become mixed with the intended output stream. + +

    Output to graphics file formats

    + +

    +File formats like PCX and PBM are also "devices". When you select a file +format as the "device", you must also specify an output file, for instance + +

    +gs -sDEVICE=pcxmono -sOutputFile=xyz.pcx +
    + +

    +Here, as with printable files, you can use "%d" +("%%d" on DOS and MS Windows) to specify one page per output file. + +

    Bounding box output

    + +

    +There is a special bbox "device" that just prints the +bounding box of each page. You select it in the usual way: + +

    +gs -dNOPAUSE -dBATCH -sDEVICE=bbox +
    + +

    +It prints the output in a format like this: + +

    +
    %%BoundingBox: 14 37 570 719
    +%%HiResBoundingBox: 14.308066 37.547999 569.495061 718.319158
    +
    + +

    +Currently, it always prints the bounding box on stderr; +eventually, it should also recognize -sOutputFile=. + +

    +Note that this device, like other devices, has a resolution and a (maximum) +page size. As for other devices, the product (resolution x page size) is +limited to approximately 500K pixels. By default, the resolution is 4000 +DPI and the maximum page size is approximately 125", or approximately 9000 +default (1/72") user coordinate units. If you need to measure larger pages +than this, you must reset both the resolution and the page size in +pixels, e.g., + +

    +gs -dNOPAUSE -dBATCH -sDEVICE=bbox -r100 -g500000x500000 +
    + +

    Choosing paper size

    + +

    +Ghostscript is distributed configured to use U.S. letter paper as its +default page size. There are two ways to select other paper sizes from the +command line: + +

      + +
    • +If the desired paper size is listed in the section on paper sizes known to Ghostscript below, you +can select it as the default paper size for a single invocation of +Ghostscript by using the -sPAPERSIZE= switch, for instance + +
      +-sPAPERSIZE=a4
      +-sPAPERSIZE=legal +
      + +
    • +Otherwise, let w be the desired paper width and h be the +desired paper height, in 1/72" units. You can set the page size using the +pair of switches + +
      +-dDEVICEWIDTHPOINTS=w +-dDEVICEHEIGHTPOINTS=h +
      + +
    + +

    +Individual documents can (and often do) specify a paper size, which takes +precedence over the default size. To force a specific paper size and +ignore the paper size specified in the document, select a paper size as +just described, and also include the +-dFIXEDMEDIA switch on the +command line. + +

    Changing the installed default paper size

    + +

    +You can change the installed default paper size in installing Ghostscript +or later, by editing the initialization file gs_init.ps. +Find the consecutive lines + +

    +% Optionally choose a default paper size other than U.S. letter.
    +% (a4) +
    + +

    +Then to make A4 the default paper size, uncomment the second line to change +this to + +

    +% Optionally choose a default paper size other than U.S. letter.
    +(a4) +
    + +

    +For a4 you can substitute any +paper size Ghostscript knows. + +

    How Ghostscript finds files

    + +

    +When looking for initialization files (gs_*.ps, +pdf_*.ps), font files, the Fontmap file, +and files named on the command line, Ghostscript first tests whether the +file name specifies an explicit directory. + +

    +

    Testing a file name for an explicit directory
    +
    System +    + Does the name ... +

    +
    Unix +   + Begin with /, ./ or ../ ? +
    DOS or MS Windows +   + Have : as its second character, or + begin with /, \, + ./, ../, .\, or ..\ ? +
    VMS +   + Contain a node, device, root, or directory specification? +
    + +

    If the test succeeds, the file name +specifies an explicit directory and Ghostscript tries to open the file +using the name given. Otherwise it tries directories in this order: + +

      +
    1. The current directory (unless disabled by the +-P- switch); + +
    2. The directories specified by -I +switches in the command line, if any; + +
    3. The directories specified by the GS_LIB +environment variable, if any; + +
    4. The directories specified by the +GS_LIB_DEFAULT macro (if any) in the makefile +when this executable was built. +
    + +

    +GS_LIB_DEFAULT, +GS_LIB, and the +-I parameter may specify either a single +directory or a list of directories separated by a character appropriate for +the operating system (":" on Unix systems, +"," on VMS systems, and +";" on DOS systems). We think that trying +the current directory first is a very bad idea -- it opens serious security +loopholes and can lead to very confusing errors if one has more than one +version of Ghostscript in one's environment -- but when we attempted to +change it, users insisted that we change it back. You can disable looking +in the current directory first by using the +-P- switch. + +

    +Note that Ghostscript does not use this file searching algorithm for the +run or file +operators: for these operators, it simply opens the file with the name +given. To run a file using the searching algorithm, use +runlibfile instead of +run. + +

    Finding PostScript Level 2 resources

    + +

    +Ghostscript uses a completely different rule for looking for files +containing PostScript Level 2 "resources": per the Adobe documentation, it +concatenates together + +

      +
    1. the value of the system parameter +GenericResourceDir (initially +/Resource/) + +
    2. the name of the resource category (for instance, ProcSet) + +
    3. the value of the system parameter +GenericResourcePathSep (initially +"/") + +
    4. the name of the resource instance (for instance, CIDInit) +
    + +

    +To look up fonts, after exhausting the search method described in the +next section, it concatenates together + +

      +
    1. the value of the system parameter +FontResourceDir (initially +/Resource/Font/) + +
    2. the name of the resource font (for instance, Times-Roman) +
    + +

    +Note that even though the system parameters are named "somethingDir", they +are not just plain directory names: they have "/" on the +end, so that they can be concatenated with the category name or font name. + +

    Font lookup

    + +

    +Ghostscript has a slightly different way to find the file containing a font +with a given name. This rule uses not only the search path defined by +-I, GS_LIB, and +GS_LIB_DEFAULT as described +above, but also the directory that is the value of the +FontResourceDir system parameter, and an additional list of +directories that is the value of the GS_FONTPATH environment +variable (or the value provided with the -sFONTPATH= switch, +if present). + +

    +At startup time, Ghostscript reads in the Fontmap files in +every directory on the search path (or in the list provided with the +-sFONTMAP= switch, if present): these files are catalogs of +fonts and the files that contain them. (See the +documentation of fonts for details.) Then, when Ghostscript needs to +find a font that isn't already loaded into memory, it goes through a series +of steps. + +

      + +
    • +First, it looks up the font name in the combined Fontmaps. If there is an +entry for the desired font name, and the file named in the entry can be +found in some directory on the general search path (defined by +-I, GS_LIB, and +GS_LIB_DEFAULT), and the file is loaded successfully, and +loading it defines a font of the desired name, that is the end of the +process. + +
    • +If this process fails at any step, Ghostscript looks for a file whose name +is the concatenation of the value of the FontResourceDir +system parameter and the font name, with no extension. If such a file +exists, can be loaded, and defines a font of the desired name, that again is +the end. The value of FontResourceDir is normally the +string /Resource/Font/, but it can be changed with the +setsystemparams operator: see the PostScript Language +Reference Manual for details. + +
    • +If that fails, Ghostscript then looks for a file on the general search path +whose name is the desired font name, with no extension. If such a file +exists, can be loaded, and defines a font of the desired name, that again is +the end. + +
    • +If that too fails, Ghostscript looks at the GS_FONTPATH +environment variable (or the value provided with the +-sFONTPATH= switch, if present), which is also a list of +directories. It goes to the first directory on the list, looking for all +files that appear to contain PostScript fonts; it then adds all those files +and fonts to the combined Fontmaps, and starts over. + +
    • +If scanning the first FONTPATH directory doesn't produce a file that +provides the desired font, it adds the next directory on the FONTPATH list, +and so on until either the font is defined successfully or the list is +exhausted. + +
    • +Finally, if all else fails, it will try to find a substitute for the font +from among the standard 35 fonts. + +
    + +
    +

    Differences between search path and font path
    +
    Search path +     + Font path +

    +
    -I switch +   + -sFONTPATH= switch +
      +
    GS_LIB and GS_LIB_DEFAULT + environment variables +   + GS_FONTPATH environment variable +
      +
    Consulted first +   + Consulted only if search path and + FontResourceDir don't provide the file. +
      +
    Font-name-to-file-name mapping given in Fontmap + files; aliases are possible, and there need not be any relation + between the font name in the Fontmap and the + FontName in the file. +   Font-name-to-file-name mapping is + implicit -- the FontName in the file is + used. Aliases are not possible. +
      +
    Only fonts and files named in Fontmap are used. +   + Every Type 1 font file in each directory is + available; if TrueType fonts are supported (the + ttfont.dev feature was included when the + executable was built), they are also available. +
    + +

    +If you are using one of the following types of computer, you may wish to +set the environment variable GS_FONTPATH to +the value indicated so that Ghostscript will automatically acquire all the +installed Type 1 (and, if supported, TrueType) fonts (but see below for +notes on systems marked with "*"): + +

    +

    Suggested GS_FONTPATH for different systems
    +
      +    + System type +    + GS_FONTPATH +

    +
      +   + Digital Unix +   + /usr/lib/X11/fonts/Type1Adobe +
      +   + Ultrix +   + /usr/lib/DPS/outline/decwin +
      +   + HP-UX 9 +   + /usr/lib/X11/fonts/type1.st/typefaces +
      +   + IBM AIX +   + /usr/lpp/DPS/fonts/outlines +
    /usr/lpp/X11/lib/X11/fonts/Type1 +
    /usr/lpp/X11/lib/X11/fonts/Type1/DPS
    +
      +   + NeXT +   + /NextLibrary/Fonts/outline +
    * +   + SGI IRIX +   + /usr/lib/DPS/outline/base +
    /usr/lib/X11/fonts/Type1
    +
      +   + SunOS 4.x
    (NeWSprint only) +
      + newsprint_2.5/SUNWsteNP/reloc/$BASEDIR/NeWSprint/
        small_openwin/lib/fonts
    +
    ** +   + SunOS 4.x +   + /usr/openwin/lib/X11/fonts/Type1/outline +
    ** +   + Solaris 2.x +   + /usr/openwin/lib/X11/fonts/Type1/outline +
      +   + VMS +   + SYS$COMMON:[SYSFONT.XDPS.OUTLINE] +
    + +
    + +

    +* On SGI IRIX systems, you must use Fontmap.SGI in +place of Fontmap or Fontmap.GS, because +otherwise the entries in Fontmap will take precedence over +the fonts in the FONTPATH directories. + +

    +** On Solaris systems simply setting GS_FONTPATH or +using -sFONTPATH= may not work, because for some reason some +versions of Ghostscript can't seem to find any of the Type1 fonts in +/usr/openwin/lib/X11/fonts/Type1/outline. (It says: "15 +files, 15 scanned, 0 new fonts". We think this problem has been fixed in +Ghostscript version 6.0, but we aren't sure because we've never been able to +reproduce it.) See Fontmap.Sol instead. Also, on Solaris +2.x it's probably not worth your while to add Sun's fonts to your font path +and Fontmap. The fonts Sun distributes on Solaris 2.x in the directories + +

    + /usr/openwin/lib/X11/fonts/Type1
    + /usr/openwin/lib/X11/fonts/Type1/outline +
    + +

    +are already represented among the ones distributed as part of Ghostscript; +and on some test files, Sun's fonts have been shown to cause incorrect +displays with Ghostscript. + +

    + +

    +These paths may not be exactly right for your installation; if the indicated +directory doesn't contain files whose names are familiar font names like +Courier and Helvetica, you may wish to ask your system administrator where +to find these fonts. + +

    +Adobe Acrobat comes with a set of fourteen Type 1 fonts, on Unix typically +in a directory called .../Acrobat3/Fonts. There is no +particular reason to use these instead of the corresponding fonts in the +Ghostscript distribution (which are of just as good quality), except to save +about a megabyte of disk space, but the installation documentation explains +how to do it on Unix and on DOS (where you can also use +Adobe Type Manager fonts). + +

    Temporary files

    + +
    + +

    Where Ghostscript puts temporary files
    +
    Platform +     + Filename +     + Location +

    +
    DOS and OpenVMS +   + _temp_XX.XXX +   + Current directory +
    OS/2 +   + gsXXXXXX +   + Current directory +
    Unix +   + gs_XXXXX +   + /tmp +
    + +

    +You can change in which directory Ghostscript creates temporary files by +setting the TMPDIR or TEMP environment +variable to the name of the directory you want used. Ghostscript currently +doesn't do a very good job of deleting temporary files if it exits because +of an error; you may have to delete them manually from time to time. + +

    +
    GS, GSC (MS Windows only) +
    Specify the names of the Ghostscript executables. GS +brings up a new typein window and possibly a graphics window; +GSC uses the DOS console. If these are not set, +GS defaults to gswin32, and +GSC defaults to gswin32c. +
    + +

    Summary of environment variables

    + +
    +
    GS_DEVICE +
    Defines the default output device. +
    + +
    +
    GS_FONTPATH +
    Specifies a list of directories to scan for fonts if a font requested +can't be found anywhere on the search path. +
    + +
    +
    GS_LIB +
    Provides a search path for initialization files and fonts. +
    + +
    +
    GS_OPTIONS +
    Defines a list of command-line arguments to be processed before the +ones actually specified on the command line. For example, setting +GS_DEVICE to XYZ is equivalent to setting +GS_OPTIONS to -sDEVICE=XYZ. The contents +of GS_OPTIONS are not limited to switches; they may include +actual file names or even "@file" arguments. + +
    + +
    +
    TEMP, TMPDIR +
    Defines a directory name for temporary files. If both +TEMP and TMPDIR are defined, +TMPDIR takes precedence. +
    + +
    +

    CID font substitution

    + +

    +CID fonts are PostScript resources containing +large number of glyphs (e.g. glyphs for Far East languages). +Please refer Postscript Language Reference, +third edition, for details. + + +

    +CID font resources are different kind of PostScript resources than fonts. +Particularly they cannot be used as regular fonts. For doing this, +CID font resourse first to be combined with a CMap resource, which +defines specific codes for hieroglyphs (this allows to use +same collection of hieroglyphs with different encodings). + +

    +The simplest method to request a font composed of CID font resource and CMap resource +is to code +

    +/CIDFont-CMap findfont +
    +in a PostScript document, where CIDFont is a name of any +CID font resourse, and CMap is a name of a CMap resource, +being designed for same character collection. The interpreter will compose +the font automatically from the specified CID font and CMap resources. +Another method is based on the operator composefont. + +

    +For substituting CID font resources Ghostscript 6.53 and 7.0x provides +the control file "CIDFnmap", which defines a CID font resource map. +please refer +"About CIDFnmap of Ghostscript" +in CJK.htm. However, "CIDFnmap" will be replaced by "cidfmap" in +Ghostscript 7.2x and later releases. + + +

    Using Ghostscript with EPS files

    +

    +Encapsulated PostScript (EPS) files are intended to be encapsulated +in another PostScript document and may not display or print on their +own. An EPS file must conform to the Document Structuring Conventions, +must include a %%BoundingBox: line to indicate the +rectangle in which it will draw, must not use PostScript commands +which will interfere with the document importing the EPS, +and can have either zero pages or one page. +Ghostscript has support for handling EPS files, but requires +that the %%BoundingBox: be in the header, +not the trailer. +

    +

    +For the official description of the EPS file format, please +refer to the Adobe documentation in their tech note #5002. It +is available from: + +http://partners.adobe.com/asn/developer/technotes/postscript.html +

    +

    +To crop an EPS file to the bounding box: +

    + + gs -dEPSCrop file.eps + +
    +

    +

    +To resize an EPS file to fit the page: +

    + + gs -dEPSFitPage file.eps + +
    +

    +

    +To disable special processing of EPS files: +

    + + gs -dNOEPS file.eps + +
    +

    + +

    Using Ghostscript with PDF files

    + +

    +Ghostscript is normally built (except on 16-bit DOS platforms) to interpret +both PostScript and PDF files, examining each file to determine +automatically whether its contents are PDF or PostScript. All the normal +switches and procedures for interpreting PostScript files also apply to PDF +files, with a few exceptions. In addition, the +pdf2ps utility uses Ghostscript to convert +PDF to (Level 2) PostScript. + +

    PDF files from standard input

    + +

    +The PDF language, unlike the PostScript language, inherently requires +random access to the file. +If you provide PDF to standard input using the +"-" or "-_" +switch, +ghostscript will copy it to a temporary file before interpreting the PDF. + +

    Switches for PDF files

    + +
    +
    -dFirstPage=pagenumber +
    Begins interpreting on the designated page of the document. +
    + +
    +
    -dLastPage=pagenumber +
    Stops interpreting after the designated page of the document. +
    + +
    +
    -dPrinted +
    -dPrinted=false +
    Determines whether the file should be displayed or printed using the +"screen" or "printer" options for annotations and images. With +-dPrinted, the output will use the file's "print" +options; with -dPrinted=false, the output will use the +file's "screen" options. If neither of these is specified, the output will +use the screen options for any output device that doesn't have an +OutputFile parameter, and the printer options for +devices that do have this parameter. +
    + +
    +
    -dUseCropBox +
    Sets the page size to the CropBox rather than the MediaBox. +Some files have a CropBox that is smaller than the MediaBox and +may include white space, registration or cutting marks outside +the CropBox. Using this option will set the page size +appropriately for a viewer. +
    + +
    +
    -sPDFPassword=password +
    Sets the user or owner password to be used in decoding encrypted +PDF files. +
    + +

    Problems interpreting a PDF file

    + +

    +Occasionally you may try to read or print a *.pdf file that +Ghostscript doesn't recognize as PDF, even though the same file +can be opened and interpreted by an Adobe Acrobat viewer. +This can happen when, for instance, a PDF file produced on a Macintosh is +carelessly moved to another kind of system, leaving now-useless +Macintosh-specific data before the standard header. Ghostscript can't read +these files because they don't conform to the PDF standard, Adobe's Portable +Document Format Reference Manual, version 1.2, which states: + +

    +The first line of a PDF file specifies the version number of the PDF +specification to which the file adheres.... [T]he first line of a +1.2-conforming PDF file should be %PDF-1.2. +
    + +

    +However, in an appendix the manual also says that Adobe + +

    +Acrobat viewers are very liberal in their check for a valid PDF header. +All viewers allow the header to appear anywhere in the first 1,000 bytes of +the file. +
    + +

    +Ghostscript doesn't do this: it expects PDF files to conform to the +standard, because that's how it recognizes them among other formats it +handles, unlike Acrobat viewers which need deal only with PDF and can +therefore afford to be more liberal with PDF. So if you encounter a file +with useless characters before the header and you want to use it with +Ghostscript, you can fix it by stripping the extra characters from before +the standard header. The file should begin with exactly the characters + +

    +%PDF +
    + +

    +PDF files are binary, not text, so be careful to edit the file as a binary, +not as text. On Unix, after determining the length of the useless prefix +string, which you can do with od, you can use +tail to strip them off. For instance: + +

    +od -c Macintosh.pdf | more ;# shows that %PDF occurs after 128 characters
    +tail +128c Macintosh.pdf >Legal.pdf +
    + +

    +On PCs and other systems you can use the hexl program +distributed with GNU emacs to convert the PDF file to editable text form. +After editing, hexl can convert the text form back to +binary. + +


    + +

    Notes on specific platforms

    + +

    Unix

    + +

    +The Ghostscript distribution includes some Unix shell scripts to use with +Ghostscript in different environments. These are all user-contributed +code, so if you have questions, please contact the user identified in the +file, not Aladdin Enterprises or artofcode LLC. + +

    +
    pv.sh +
    Preview a specified page of a dvi file in an X window +
    + +
    +
    sysvlp.sh +
    System V 3.2 lp interface for parallel printer +
    + +
    +
    pj-gs.sh +
    Printing on an H-P PaintJet under HP-UX +
    + +
    +
    unix-lpr.sh +
    Queue filter for lpr under Unix; +its documentation is intended for system +administrators +
    + +
    +
    lprsetup.sh +
    Setup for unix-lpr.sh +
    + +
    + +

    VMS

    + +
      +
    • To be able to specify switches and file names when invoking the +interpreter, define gs as a foreign command: + +
      +$ gs == "$disk:[directory]gs.exe" +
      + +

      +where the "disk" and "directory" specify where +the Ghostscript executable is located. For instance, + +

      +$ gs == "$dua1:[ghostscript]gs.exe" +
      + +
    • On VMS systems, the last character of each "directory" name indicates +what sort of entity the "directory" refers to. If the "directory" name +ends with a colon ":", it is taken to refer to a logical +device, for instance + +
      +$ define ghostscript_device dua1:[ghostscript_510]
      +$ define gs_lib ghostscript_device: +
      + +

      +If the "directory" name ends with a closing square bracket +"]", it is taken to refer to a real directory, for instance + +

      +$ define gs_lib dua1:[ghostscript] +
      + +
    • Defining the logical GS_LIB + +
      +$ define gs_lib disk:[directory] +
      + +

      +allows Ghostscript to find its initialization files in the Ghostscript +directory even if that's not where the executable resides.
        + +

    • Although VMS DCL itself converts unquoted parameters to upper case, C +programs such as Ghostscript receive their parameters through the C runtime +library, which forces all unquoted command-line parameters to lower case. +That is, with the command + +
      +$ gs -Isys$login: +
      + +

      +Ghostscript sees the switch as -isys$login, +which doesn't work. To preserve the case of switches, quote them like +this: + +

      +$ gs "-Isys$login:" +
      + +
    • If you write printer output to a file with +-sOutputFile= and then want to print the file later, use +"PRINT/PASSALL". +
    + +
      +
    • PDF files (or PostScript files that use the +setfileposition operator) must be "stream LF" type files to +work properly on VMS systems. (Note: This definitely matters +if Ghostscript was compiled with DEC C; we are not sure of the situation if +you use gcc.) Because of this, if you transfer files by +FTP, you probably need to do one of these two things after the transfer: + +
        +
      1. If the FTP transfer was in text (ASCII) mode: + +
        +$ convert/fdl=streamlf.fdl input-file output-file +
        + +

        +where the contents of the file STREAMLF.FDL are + +

        +
        FILE
        +        ORGANIZATION            sequential
        +
        +RECORD
        +        BLOCK_SPAN              yes
        +        CARRIAGE_CONTROL        carriage_return
        +        FORMAT                  stream_lf
        +
        + +
      2. If the FTP transfer was in binary mode: + +
        + $ set file/attribute=(rfm:stmlf) +
        +
      +
    + +

    Using X Windows on VMS

    + +

    +If you are using on an X Windows display, you can set it up with the node +name and network transport, for instance + +

    + $ set display/create/node="doof.city.com"/transport=tcpip +
    + +

    +and then run Ghostscript by typing gs at the command line. + +


    + +

    MS Windows

    + +

    +You must add gs\bin and +gs\lib to the PATH, where +gs is the top-level Ghostscript directory. + +

    +When passing options to ghostcript through a batch file wrapper such as +ps2pdf.bat you need to substitute '#' for '=' as the separator +between options and their arguments. For example: +

    +ps2pdf -sPAPERSIZE#a4 file.ps file.pdf
    +
    + +Ghostscript treats '#' the same internally, and the '=' is mangled by +the command shell. + +
    + +

    MS-DOS

    + +

    +Note: Ghostscript is no longer supported on MS-DOS. This +documentation is included for historical interest only. + +

    +You must add gs\bin and +gs\lib to the PATH, where +gs is the top-level Ghostscript directory. + +

      +
    • +Ghostscript supports many SuperVGA displays directly, most of them with +more than 16 colors. The complete list is in the file +devs.mak, part of Ghostscript's +source code. + +
    • +Some applications, such as Microsoft Word, require a prologue in front of +the PostScript files they produce. In the case of MS Word, this prologue +is one of the *.ini files Microsoft includes with Word. Other applications +may require other prologues. You may specify a prologue on the Ghostscript +command line, for instance + +
      + gs386 prologue.ini myfile.ps +
      + +
    • +If you have a SuperVGA display that supports a 16-color mode with 800x600 +pixels and you know the display mode number for this mode, you can select +it by using the command line switches + +
      +-sDEVICE=svga16 -dDisplayMode=NNN +
      + +

      +where NNN is the display mode number in decimal. Here are modes +for some popular display chipsets; the ones that use the default value are +marked "*". If your card's chipset doesn't appear on this list, or if you +try the value here and it doesn't work, please send the name of the chipset +and its correct display mode to <bug-gs@aladdin.com> to include in +future releases. + +

      +

      Display modes for PC display chipsets
      +
        + Chipset +   + Decimal +   + Hex +

      +
        + Acumos AVGA2, AVGA3 +   + 88 +   + 0x58 +
        + Advance Logic AL2101 +   + 43 +   + 0x2B +
        + Ahead V5000 +   + 113 +   + 0x71 +
        + ATI VGAWONDER, Graphics Ultra etc. +   + 84 +   + 0x54 +
        + Chips and Technologies +   + 106 +   + 0x6A +
        + Cirrus Logic CL-GD 500/600 +   + 100 +   + 0x64 +
        + Cirrus Logic GD 5422 +   + 88 +   + 0x58 +
        + Compaq VGA +   + 89 +   + 0x59 +
        + CTI +   + 106 +   + 0x6A +
      * + Genoa 5xxx, Sigma VGA +   + 41 +   + 0x29 +
        + Genoa 6xxx +   + 106 +   + 0x6A +
        + MXIC MX 68010 +   + 85 +   + 0x55 +
        + NCR 77C22 +   + 88 +   + 0x58 +
        + OAK Technologies OTI-067, OTI-077, OTI037C +   + 82 +   + 0x52 +
        + OAK Technologies OTI037C w/ NEL BIOS +   + 91 +   + 0x5B +
      * + Orchid Prodesigner +   + 41 +   + 0x29 +
        + Paradise +   + 88 +   + 0x58 +
        + Poach +   + 106 +   + 0x6A +
        + Primus +   + 42 +   + 0x2A +
        + Realtek RT 3106 +   + 31 +   + 0x1F +
        + Tecmar +   + 22 +   + 0x16 +
        + Trident 8900 +   + 91 +   + 0x5B +
      * + Tseng ET-3000, ET-4000 +   + 41 +   + 0x29 +
      * + VEGA +   + 41 +   + 0x29 +
        + Video 7 SVGA +   + 98 +   + 0x62 +
        + WD90C11 +   + 92 +   + 0x5C +
        + Western Digital +   + 88 +   + 0x58 +
      +
    + +

    +Note that when passing arguments to batch files (as above) and also with the +DOS executable gs386.exe build with the Watcom C/C++ compiler, +you must use '#' rather than '=' between a +command line switch and its argument, because of a strange design decision +in the Wacom run-time library. + + +


    + +

    X Windows

    + +

    +Ghostscript looks for the following resources under the program name +ghostscript and class name +Ghostscript; the ones marked "**" are +calculated from display metrics: + +

    +

    X Windows resources
    +
    Name +    + Class +    + Default +

    +
    background +   + Background +   + white +
    foreground +   + Foreground +   + black +
    borderColor +   + BorderColor +   + black +
    borderWidth +   + BorderWidth +   + 1 +
    geometry +   + Geometry +   + NULL +
    xResolution +   + Resolution +   + ** +
    yResolution +   + Resolution +   + ** +
    useExternalFonts +   + UseExternalFonts +   + true +
    useScalableFonts +   + UseScalableFonts +   + true +
    logExternalFonts +   + LogExternalFonts +   + false +
    externalFontTolerance +   + ExternalFontTolerance +   + 10.0 +
    palette +   + Palette +   + Color +
    maxGrayRamp +   + MaxGrayRamp +   + 128 +
    maxRGBRamp +   + MaxRGBRamp +   + 5 +
    maxDynamicColors +   + MaxDynamicColors +   + 256 +
    useBackingPixmap +   + UseBackingPixmap +   + true +
    useXPutImage +   + UseXPutImage +   + true +
    useXSetTile +   + UseXSetTile +   + true +
    regularFonts +   + RegularFonts +   + See "X fonts" +
    symbolFonts +   + SymbolFonts +   + See "X fonts" +
    dingbatFonts +   + DingbatFonts +   + See "X fonts" +
    + +

    X resources

    + +
      +
    • +To set X resources, put them in a file (such as +~/.Xdefaults on Unix) in a form like this: + +
      +
      Ghostscript*geometry:  595x842-0+0 +
      Ghostscript*xResolution: 72 +
      Ghostscript*yResolution: 72 +
      + +

      +Then merge these resources into the X server's resource database: + +

      + xrdb -merge ~/.Xdefaults +
      + +
    • +Ghostscript doesn't look at the default system background and foreground +colors; if you want to change the background or foreground color, you must +set them explicitly for Ghostscript. This is a deliberate choice, so that +PostScript documents will display correctly by default -- with white as +white and black as black -- even if text windows use other colors. + +
    • +The geometry resource affects only window placement. + +
    • +Resolution is expressed in pixels per inch (1 inch = 25.4mm). + +
    • +The font tolerance gives the largest acceptable difference in height of the +screen font, expressed as a percentage of the height of the desired font. + +
    • +The palette resource can be used to restrict Ghostscript to +using a grayscale or monochrome palette. + +
    • +maxRGBRamp and +maxGrayRamp control the maximum number of +colors that ghostscript allocates ahead of time for the dither cube (ramp). +Ghostscript never preallocates more than half the cells in a colormap. +maxDynamicColors controls the maximum +number of colors that Ghostscript will allocate dynamically in the +colormap. +
    + +

    Working around bugs in X servers

    + +

    +The "use..." resources exist primarily to work around bugs +in X servers. + +

      +
    • Old versions of DEC's X server (DECwindows) have bugs that + require setting useXPutImage or + useXSetTile to + false. + +
    • Some servers do not implement backing pixmaps properly, or do not + have enough memory for them. If you get strange behavior or "out + of memory" messages, try setting + useBackingPixmap to + false. + +
    • Some servers do not implement tiling properly. This appears + as broad bands of color where dither patterns should appear. If + this happens, try setting + useXSetTile to + false. + +
    • Some servers do not implement bitmap or pixmap displaying properly. + This may appear as white or black rectangles where characters + should appear; or characters may appear in "inverse video" (for + instance, white on a black rectangle rather than black on white). + If this happens, try setting + useXPutImage to + false. +
    + +

    X fonts

    + +

    +To use native X11 fonts, Ghostscript must map PostScript font names to the +XLFD font names. The resources regularFonts +(fonts available in standard or ISO-Latin-1 encoding), +symbolFonts (using Symbol encoding), and +dingbatFonts (using Dingbat encoding) give +the name mapping for different encodings. The XLFD font name in the +mapping must contain 7 dashes; the X driver adds the additional size and +encoding fields to bring the total number of dashes in the font name to 14. +See the appendix "X default font mappings" +for the full list of default mappings. + +

    +Users who switch regularly between different X servers may wish to use the +"*" wild card in place of the foundry name +(itc, +monotype, +linotype, +b&h, or +adobe); users who do not switch X servers +should leave the explicit foundry in the name, since it speeds up access to +fonts. + +

    +Ghostscript takes advantage of the "HP XLFD Enhancements," if available, to +use native X11 fonts for fonts that are anamorphically scaled, rotated, or +mirrored. If the changes have been installed to the X or font server, they +are automatically used when appropriate. + +

    Using Ghostscript fonts on X displays

    + +

    +Font files distributed with Ghostscript can be used on X Windows displays. +You can find full instructions in the +documentation on fonts. + +

    X device parameters

    + +

    +In addition to the device parameters recognized by all devices, Ghostscript's X +driver provides parameters to adjust its performance. Users will rarely +need to modify these. Note that these are parameters to be set with the +-d switch in the command line (e.g., +-dMaxBitmap=10000000), not resources to be defined in the +~/.Xdefaults file. + +

    +
    AlwaysUpdate <boolean> +
    If true, the driver updates the screen after each +primitive drawing operation; if false (the default), the +driver uses an intelligent buffered updating algorithm. +
    + +
    +
    MaxBitmap <integer> +
    If the amount of memory required to hold the pixmap for the window is no +more than the value of MaxBitmap, the driver will draw to a +pixmap in Ghostscript's address space (called a "client-side pixmap") and +will copy it to the screen from time to time; if the amount of memory +required for the pixmap exceeds the value of MaxBitmap, the +driver will draw to a server pixmap. Using a client-side pixmap usually +provides better performance -- for bitmap images, possibly much better +performance -- but since it may require quite a lot of RAM (e.g., about 2.2 +Mb for a 24-bit 1024x768 window), the default value of +MaxBitmap is 0. +
    + +
    +
    MaxTempPixmap, MaxTempImage, MaxBufferedTotal, MaxBufferedArea, +MaxBufferedCount <integer> +
    These control various aspects of the driver's buffering behavior. For +details, please consult the source file gdevx.h. +
    + +
    + +

    SCO Unix

    + +

    +Because of bugs in the SCO Unix kernel, Ghostscript will not work if you +select direct screen output and also allow it to write messages on the +console. If you are using direct screen output, redirect Ghostscript's +terminal output to a file. + +


    + +

    Switches

    + +

    +Unless otherwise noted, these switches can be used on all platforms. + +

    General switches

    + +

    Input control

    + +
    +
    @filename +
    Causes Ghostscript to read filename and treat its contents the +same as the command line. (This is intended primarily for getting around +DOS's 128-character limit on the length of a command line.) Switches or +file names in the file may be separated by any amount of white space +(space, tab, line break); there is no limit on the size of the file. +
    + +
    +
    -- filename arg1 ... +
    -+ filename arg1 ... +
    Takes the next argument as a file name as usual, but takes all +remaining arguments (even if they have the syntactic form of switches) and +defines the name ARGUMENTS in userdict (not systemdict) as +an array of those strings, before running the file. When +Ghostscript finishes executing the file, it exits back to the shell. +
    + +
    +
    -@ filename arg1 ... +
    Does the same thing as -- and -+, but +expands @filename arguments. +
    + +
    +
    - +
    -_ +
    These are not really switches: they tell Ghostscript to read from +standard input, which is coming from a file or a pipe, +with or without buffering. +See "Input from a pipe" above. +
    + +
    +
    -c tokens ... +
    Interprets arguments as PostScript code up to the next argument that +begins with "-" followed by a non-digit, or with +"@". For example, if the file quit.ps +contains just the word "quit", then +-c quit on the command line is equivalent to +quit.ps there. Each argument must be exactly one token, as +defined by the token operator. +
    + +
    +
    -f +
    Interprets following non-switch arguments as file names to be executed +using the normal run command. Since this is the default +behavior, -f is useful only for terminating the list of +tokens for the -c switch. +
    + +
    +
    -ffilename +
    Execute the given file, even if its name begins with a +"-" or "@". +
    + +

    File searching

    + +

    +Note that by "library files" here we mean all the files identified using +the search rule under "How Ghostscript finds +files" above: Ghostscript's own initialization files, fonts, and files +named on the command line. + +

    +
    -Idirectories +
    Adds the designated list of directories at the head of the search path +for library files. +
    + +
    +
    -P +
    Makes Ghostscript look first in the current directory for library +files. This is currently the default. +
    + +
    +
    -P- +
    Makes Ghostscript not look first in the current +directory for library files (unless, of course, the first explicitly +supplied directory is "."). +
    + +

    Setting parameters

    + +
    +
    -Dname +
    -dname +
    Define a name in systemdict with value=true. +
    + +
    +
    -Dname=token +
    -dname=token +
    Define a name in systemdict with the given definition. The token must +be exactly one token (as defined by the token operator) and +must not contain any whitespace. If the token is a non-literal name, it +must be true, false, or null. +
    + +
    +
    -Sname=string +
    -sname=string +
    Define a name in systemdict with a given string as value. This is +different from -d. For example, -dXYZ=35 +on the command line is equivalent to the program fragment + +
    +/XYZ 35 def +
    + +

    +whereas -sXYZ=35 is equivalent to + +

    +/XYZ (35) def +
    +
    + +
    +
    -uname +
    Un-define a name, cancelling -d or -s. +
    + +

    +Note that the initialization file gs_init.ps makes +systemdict read-only, so the values of names defined with +-D, -d, -S, and +-s cannot be changed -- although, of course, they can be +superseded by definitions in userdict or other dictionaries. +However, device parameters set this way (PageSize, +Margins, etc.) are not read-only, and can +be changed by code in PostScript files. + +

    +
    -gnumber1xnumber2 +
    Equivalent to -dDEVICEWIDTH=number1 and +-dDEVICEHEIGHT=number2, specifying the device +width and height in pixels for the benefit of devices such as X11 windows +and VESA displays that require (or allow) you to specify width and height. +Note that this causes documents of other sizes to be clipped, not scaled: +see -dFIXEDMEDIA below. +
    + +
    +
    -rnumber (same +as -rnumberxnumber) +
    -rnumber1xnumber2 +
    Equivalent to -dDEVICEXRESOLUTION=number1 and +-dDEVICEYRESOLUTION=number2, specifying the device +horizontal and vertical resolution in pixels per inch for the benefit of +devices such as printers that support multiple X and Y resolutions. +
    + +

    Suppress messages

    + +
    +
    -q +
    Quiet startup: suppress normal startup messages, and also do the +equivalent of -dQUIET. +
    + +

    Parameter switches (-d and -s)

    + +

    +As noted above, -d and -s define initial +values for PostScript names. Some of these names are parameters that +control the interpreter or the graphics engine. You can also use +-d or -s to define a value for any device +parameter of the initial device (the one defined with +-sDEVICE=, or the default device if this switch is not +used). For example, since the ppmraw device has a numeric +GrayValues parameter that controls the number of bits per +component, -sDEVICE=ppmraw -dGrayValues=16 will make this +the default device and set the number of bits per component to 4 (log2(16)). + +

    Rendering parameters

    + +
    +
    -dCOLORSCREEN +
    -dCOLORSCREEN=0 +
    -dCOLORSCREEN=false
    +
    On high-resolution devices (at least 150 dpi resolution, or +-dDITHERPPI specified), -dCOLORSCREEN +forces the use of separate halftone screens with different angles for CMYK +or RGB if halftones are needed (this produces the best-quality output); +-dCOLORSCREEN=0 uses separate screens with the same +frequency and angle; -dCOLORSCREEN=false forces the use of +a single binary screen. The default if COLORSCREEN is not +specified is to use separate screens with different angles if the device +has fewer than 5 bits per color, and a single binary screen (which is never +actually used under normal circumstances) on all other devices. +
    + +
    +
    -dDITHERPPI=lpi +
    Forces all devices to be considered high-resolution, and forces use of +a halftone screen or screens with lpi lines per inch, disregarding +the actual device resolution. Reasonable values for lpi are +N/5 to N/20, where N is the +resolution in dots per inch. +
    + +
    +
    -dDOINTERPOLATE +
    Turns on image interpolation for all images, improving image quality for +scaled images at the expense of speed. Note that +-dNOINTERPOLATE overrides -dDOINTERPOLATE if +both are specified. +
    + +
    +
    -dNOCIE +
    Substitutes DeviceGray and DeviceRGB +for CIEBasedA and CIEBasedABC color spaces respectively. Useful only on +very slow systems where color accuracy is less important. +
    + +
    +
    -dNOINTERPOLATE +
    Turns off image interpolation, improving performance on interpolated +images at the expense of image quality. -dNOINTERPOLATE +overrides -dDOINTERPOLATE. +
    + +

    Page parameters

    + +
    +
    -dFIXEDMEDIA +
    Causes the media size to be fixed after initialization, forcing pages +of other sizes or orientations to be clipped. This may be useful when +printing documents on a printer that can handle their requested paper size +but whose default is some other size. Note that -g +automatically sets -dFIXEDMEDIA, but +-sPAPERSIZE= does not. +
    + +
    +
    -dFIXEDRESOLUTION +
    Causes the media resolution to be fixed similarly. -r +automatically sets -dFIXEDRESOLUTION. +
    + +
    +
    -dORIENT1=true +
    -dORIENT1=false
    +
    Defines the meaning of the 0 and 1 orientation values for the +setpage[params] compatibility operators. The default value of +ORIENT1 is true (set in gs_init.ps), which +is the correct value for most files that use setpage[params] at all, +namely, files produced by badly designed applications that "know" that the +output will be printed on certain roll-media printers: these applications +use 0 to mean landscape and 1 to mean portrait. +-dORIENT1=false declares that 0 means portrait and 1 means +landscape, which is the convention used by a smaller number of files +produced by properly written applications. +
    + +
    +
    -dDEVICEWIDTHPOINTS=w +
    -dDEVICEHEIGHTPOINTS=h +
    Sets the initial page width to w or initial page height to +h respectively, specified in 1/72" units. +
    + +

    Font-related parameters

    + +
    +
    -dDISKFONTS +
    Causes individual character outlines to be loaded from the disk the +first time they are encountered. (Normally Ghostscript loads all the +character outlines when it loads a font.) This may allow loading more +fonts into memory at the expense of slower rendering. +DISKFONTS is effective only if the diskfont feature was +built into the executable; otherwise it is ignored. +
    + +
    +
    -dLOCALFONTS +
    Causes Type 1 fonts to be loaded into the current VM -- normally local +VM -- instead of always being loaded into global VM. Useful only for +compatibility with Adobe printers for loading some obsolete fonts. +
    + +
    +
    -dNOCCFONTS +
    Suppresses the use of fonts precompiled into the Ghostscript executable. +See "Precompiling fonts" in the +documentation on fonts for details. This is probably useful only for +debugging. +
    + +
    +
    -dNOFONTMAP +
    Suppresses the normal loading of the Fontmap file. This may be useful +in environments without a file system. +
    + +
    +
    -dNOFONTPATH +
    Suppresses consultation of GS_FONTPATH. This may be +useful for debugging. +
    + +
    +
    -dNOPLATFONTS +
    Disables the use of fonts supplied by the underlying platform (X +Windows or Microsoft Windows). This may be needed if the platform fonts +look undesirably different from the scalable fonts. +
    + +
    +
    -sFONTMAP=filename1;filename2;... +
    Specifies alternate name or names for the Fontmap file. Note that the +names are separated by ":" on Unix systems, by +";" on DOS or MS Windows systems, and by +"," on VMS systems, just as for search paths. +
    + +
    +
    -sFONTPATH=dir1;dir2;... +
    Specifies a list of directories that will be scanned when looking for +fonts not found on the search path, overriding the environment variable +GS_FONTPATH. +
    + +
    +
    -sSUBSTFONT=fontname +
    Causes the given font to be substituted for all unknown fonts, instead +of using the normal intelligent substitution algorithm. Also, in this +case, the font returned by findfont is the actual font +named "fontname", not a copy of the font with the +FontName changed to the requested one. +
    + +

    Interaction-related parameters

    + +
    +
    -dBATCH +
    Causes Ghostscript to exit after processing all files named on the +command line, rather than going into an interactive loop reading PostScript +commands. Equivalent to putting -c quit at the end of the command line. +
    + +
    +
    -dNOPAGEPROMPT +
    Disables only the prompt, but not the pause, at the end of each page. +This may be useful on PC displays that get confused if a program attempts +to write text to the console while the display is in a graphics mode. +
    + +
    +
    -dNOPAUSE +
    Disables the prompt and pause at the end of each page. Normally one +should use this (along with -dBATCH) when producing output +on a printer or to a file; it also may be desirable for applications where +another program is "driving" Ghostscript. +
    + +
    +
    -dNOPROMPT +
    Disables the prompt printed by Ghostscript when it expects interactive +input, as well as the end-of-page prompt (-dNOPAGEPROMPT); +also disables the implicit flushpage that normally occurs +each time Ghostscript asks for more input. This allows piping input +directly into Ghostscript, as long as the data doesn't refer to +currentfile. +
    + +
    +
    -dQUIET +
    Suppresses routine information comments on standard output. This is +currently necessary when redirecting device output to standard output. +
    + +
    +
    -dSHORTERRORS +
    Makes certain error and information messages more Adobe-compatible. +
    + +
    +
    -sstdout=filename +
    Redirect PostScript %stdout to a file or +stderr, to avoid it being mixed with device stdout. +To redirect stdout to stderr use -sstdout=%stderr. +To cancel redirection of stdout use -sstdout=%stdout +or -sstdout=-. +
    + +
    +
    -dTTYPAUSE +
    Causes Ghostscript to read a character from /dev/tty, +rather than standard input, at the end of each page. This may be useful if +input is coming from a pipe. Note that -dTTYPAUSE +overrides -dNOPAUSE. +
    + +

    Device and output selection parameters

    + +
    +
    -dNODISPLAY +
    Initializes Ghostscript with a null device (a device that discards the +output image) rather than the default device or the device selected with +-sDEVICE=. This is usually useful only when running +PostScript code whose purpose is to compute something rather than to +produce an output image; for instance, when converting PostScript to PDF. +
    + +
    +
    -sDEVICE=device +
    Selects an alternate initial output +device. +
    + +
    +
    -sOutputFile=filename +
    Selects an alternate output file (or pipe) for the initial output +device, as described above. +
    + +

    Other parameters

    + +
    +
    -dDELAYBIND +
    Causes bind to remember all its invocations, but not +actually execute them until the .bindnow procedure is +called. Useful only for certain specialized packages like +pstotext that redefine operators. +
    + +
    +
    -dDOPDFMARKS +
    Causes pdfmark to be called for bookmarks, +annotations, links and cropbox when processing PDF files. +Normally, pdfmark is only called for these types +for PostScript files or when the output device requests it +(e.g. pdfwrite device). +
    + +
    +
    -dNOBIND +
    Disables the bind operator. Useful only for debugging. +
    + +
    +
    -dNOCACHE +
    Disables character caching. Useful only for debugging. +
    + +
    +
    -dNOGC +
    Suppresses the initial automatic enabling of the garbage collector in +Level 2 systems. (The vmreclaim operator is not disabled.) +Useful only for debugging. +
    + +
    +
    -dNOSAFER (equivalent to -dDELAYSAFER). +
    This flag disables SAFER mode until the .setsafe +procedure is run. This is intended for clients or scripts that cannot +operate in SAFER mode. If Ghostscript is started with -dNOSAFER +or -dDELAYSAFER, PostScript programs are allowed to read, write, +rename or delete any files in the system that are not protected by operating +system permissions. +

    This mode should be used with caution, and .setsafe should be +run prior to running any PostScript file with unknown contents. +

    + + +
    +
    -dSAFER +
    Disables the deletefile and renamefile +operators, and the ability to open piped commands (%pipe%cmd) +at all. Only %stdout and %stderr can be opened +for writing. +

    +This mode also sets the .LockSafetyParams +parameter of the default device, or the device specified with the -sDEVICE= +switch to protect against programs that attempt to write to files using the +OutputFile device parameter. Note that since the device parameters specified +on the command line (including OutputFile) are set prior to SAFER mode, +the -sOutputFile=... on the command line is unrestricted. +

    +SAFER mode also prevents changing the /GenericResourceDir, +/FontResourceDir and either the /SystemParamsPassword or the /StartJobPassword. +

    +Note: While SAFER mode is not the default, in a subsequent release of +Ghostscript, SAFER mode will be the default thus scripts or programs that need +to open files or set restricted parameters will require the -dNOSAFER +command line option. +

    +When running -dNOSAFER it is possible to perform a save, +followed by .setsafe, execute a file or procedure in SAFER mode, +then use restore to return to NOSAFER mode. In order to prevent +the save object from being restored by the foreign file or procedure, the +.runandhide operator should +be used to hide the save object from the restricted procedure. +

    + +
    +
    -dPARANOIDSAFER +
    Disables reading of files other than %stdin, those given as +a command line argument, or those contained on one of the paths given by +LIBPATH and FONTPATH and specified by the system params /FontResourceDir +and /GenericResourceDir. +

    +-dPARANOIDSAFER implies -dSAFER so if +-dPARANOIDSAFER is given on the command line, +-dSAFER is optional. +

    + +
    +
    -dSTRICT +
    Disables as many Ghostscript extensions as feasible, to be more helpful +in debugging applications that produce output for Adobe and other RIPs. +
    + +
    +
    -dWRITESYSTEMDICT +
    Leaves systemdict writable. This is necessary when +running special utility programs such as font2c and +pcharstr, which must bypass normal PostScript access +protection. +
    + +
    + +

    Improving performance

    + +

    +Ghostscript attempts to find an optimum balance between speed and memory +consumption, but there are some cases in which you may get a very large +speedup by telling Ghostscript to use more memory. + +

      + +
    • +If you are using X Windows, setting the -dMaxBitmap= +parameter described above may +dramatically improve performance on files that have a lot of bitmap images. + +
    • +If you are using Chinese, Japanese, or other fonts with very large character +sets, adding the following sequence of switches before the first file name +may dramatically improve performance at the cost of an additional 2-3 Mb of +memory: -c 3000000 setvmthreshold -f. + +
    + +
    + +

    Debugging

    + +

    +The information here describing the debugging switches is probably +interesting only to developers. The -Z switch applies only +if the interpreter was built for a debugging +configuration. In the table below, the first column is a debugging +switch, the second is an equivalent switch (if any) and the third is its +usage. + + +

    Switches used in debugging
    +
    Switch +    + Equivalent +    +   +

    +
    -A +   + -Z@ +   + Fill empty storage with a distinctive bit pattern for debugging + +
    -A- +   + -Z-@ +   + Turn off -A +
    -Bsize +   +   +   + Run all subsequent files named on the command line (except for + -F) through the run_string interface, using a + buffer of size bytes +
    -B- +   +   +   + Turn off -B: run subsequent files (except for + -F) directly in the normal way +
    -E +   + -Z# +   + Turn on tracing of error returns from operators +
    -E- +   + -Z-# +   + Turn off -E +
    -Ffile +   +   +   + Execute the file with -B1 temporarily in effect +
    -Kn +   +   +   + Limit the total amount of memory that the interpreter can have + allocated at any one time to nK bytes. + n is a positive decimal integer. +
    -Mn +   +   +   + Force the interpreter's allocator to acquire additional memory + in units of nK bytes, rather than the default + (currently 20K on DOS systems, 50K on Unix). n + is a positive decimal integer, on DOS systems no greater than + 63. +
    -Nn +   +   +   + Allocate space for nK names, rather than the + default (normally 64K). n may be greater than + 64 only if EXTEND_NAMES was defined when the + interpreter was compiled . +
    -Zxxx
    -Z-xxx +
      +   +   + Turn debugging printout on (off). Each of the xxx + characters selects an option. Case is significant: "a" and + "A" have different meanings. + +
    +
    0
    garbage collector, minimal detail +
    1
    type 1 and type 42 font interpreter +
    2
    curve subdivider/rasterizer +
       3
    curve subdivider/rasterizer, detail +
    4
    garbage collector (strings) +
       5
    garbage collector (strings, detail) +
    6
    garbage collector (chunks, roots) +
       7
    garbage collector (objects) +
       8
    garbage collector (refs) +
       9
    garbage collector (pointers) +
    a
    allocator (large blocks only) +
       A
    allocator (all calls) +
    b
    bitmap image processor +
       B
    bitmap images, detail +
    c
    color/halftone mapper +
    d
    dictionary put/undef +
       D
    dictionary lookups +
    e
    external (OS-related) calls +
    f
    fill algorithm (summary) +
       F
    fill algorithm (detail) +
    g
    gsave/grestore[all] +
    h
    halftone renderer +
       H
    halftones, every pixel +
    i
    interpreter, just names +
       I
    interpreter, everything +
    j
    (Japanese) composite fonts +
    k
    character cache and xfonts +
       K
    character cache, every access +
    l
    command lists, bands +
       L
    command lists, everything +
    m
    makefont and font cache +
    n
    name lookup (new names only) +
    o
    outliner (stroke) +
       O
    stroke detail +
    p
    band list paths +
       P
    all paths +
    q
    clipping +
    r
    arc renderer +
    s
    streams +
       S
    scanner +
    t
    tiling algorithm +
    u
    undo saver (for save/restore), finalization +
       U
    undo saver, more detail +
    v
    alpha/transparency +
       V
    alpha/transparency, more detail +
    w
    compression encoder/decoder +
    x
    transformations +
    y
    Type 1 hints +
       Y
    Type 1 hints, every access +
    z
    trapezoid fill +
    #
    operator error returns +
    %
    externally processed comments +
    *
    image and RasterOp parameters +
    :
    command list and allocator/time summary +
    ~
    math functions and Functions +
    '
    contexts, create/destroy +
       "
    contexts, every operation +
    ^
    reference counting +
    _
    high-level output +
    |
    (reserved for experimental code) +
    + +

    +The following switch affects what is printed, but does not select specific +items for printing: + +

    +
    /
    include file name and line number on all trace output +
    + +

    +These switches select debugging options other than what should be printed: + +

    +
    $
    set unused parts of object references to +identifiable garbage values +
    +
    use minimum-size stack blocks +
    ,
    don't use path-based banding +
    `
    don't use high-level banded images +
    .
    use small-memory table sizes even on large-memory +machines +
    ?
    validate pointers before, during and after garbage +collection, also before and after save and restore; also make other +allocator validity checks +
    @
    fill newly allocated, garbage-collected, and freed +storage with a marker (a1, c1, and f1 respectively) +
    +
    + +


    + +

    Appendix: Paper sizes known to Ghostscript

    + +

    +The paper sizes known to Ghostscript are defined at the beginning of the +initialization file gs_statd.ps; see the comments there for +more details about the definitions. The table here lists them by name and +size. gs_statd.ps defines their sizes exactly in points, +and the dimensions in inches (at 72 points per inch) and centimeters shown +in the table are derived from those, rounded to the nearest 0.1 unit. A +guide to international paper sizes can be found at + +

    +http://www.twics.com/~eds/paper/ +
    + + +

    Paper sizes known to Ghostscript
    +
    U.S. standard +
      +        + Inches +        + mm +        + Points +        +   +
    Name +   +  W  + × +  H  +   +  W  + × +  H  +   +  W  + × +  H  +   +   +

    +
    11x17 +   11.0  17.0  279  432  792  1224  11×17in portrait +
    ledger +  17.0 11.0 432 279 1224 792 11×17in landscape +
    legal +  8.5 14.0 216 356 612 1008   +
    letter +  8.5 11.0 216 279 612 792   +
    lettersmall +  8.5 11.0 216 279 612 792   +
    archE +  36.0 48.0 914 1219 2592 3456   +
    archD +  24.0 36.0 610 914 1728 2592   +
    archC +  18.0 24.0 457 610 1296 1728   +
    archB +  12.0 18.0 305 457 864 1296   +
    archA +  9.0 12.0 229 305 648 864   +

    +
    ISO standard +

    +
    a0 +  33.1 46.8 841 1189 2384 3370   +
    a1 +  23.4 33.1 594 841 1684 2384   +
    a2 +  16.5 23.4 420 594 1191 1684   +
    a3 +  11.7 16.5 297 420 842 1191   +
    a4 +  8.3 11.7 210 297 595 842   +
    a4small +  8.3 11.7 210 297 595 842   +
    a5 +  5.8 8.3 148 210 420 595   +
    a6 +  4.1 5.8 105 148 297 420   +
    a7 +  2.9 4.1 74 105 210 297   +
    a8 +  2.1 2.9 52 74 148 210   +
    a9 +  1.5 2.1 37 52 105 148   +
    a10 +  1.0 1.5 26 37 73 105   +
    isob0 +  39.4 55.7 1000 1414 2835 4008   +
    isob1 +  27.8 39.4 707 1000 2004 2835   +
    isob2 +  19.7 27.8 500 707 1417 2004   +
    isob3 +  13.9 19.7 353 500 1001 1417   +
    isob4 +  9.8 13.9 250 353 709 1001   +
    isob5 +  6.9 9.8 176 250 499 709   +
    isob6 +  4.9 6.9 125 176 354 499   +
    c0 +  36.1 51.1 917 1297 2599 3677   +
    c1 +  25.5 36.1 648 917 1837 2599   +
    c2 +  18.0 25.5 458 648 1298 1837   +
    c3 +  12.8 18.0 324 458 918 1298   +
    c4 +  9.0 12.8 229 324 649 918   +
    c5 +  6.4 9.0 162 229 459 649   +
    c6 +  4.5 6.4 114 162 323 459   +

    +
    JIS standard +

    +
    jisb0 +    1030 1456     +
    jisb1 +    728 1030     +
    jisb2 +    515 728     +
    jisb3 +    364 515     +
    jisb4 +    257 364     +
    jisb5 +    182 257     +
    jisb6 +    128 182     +

    +
    ISO/JIS switchable +

    +
    b0 (see * below) +
    b1 (see * below) +
    b2 (see * below) +
    b3 (see * below) +
    b4 (see * below) +
    b5 (see * below) +

    +
    Other +

    +
    flsa +  8.5 13.0 216 330 612 936 U.S. foolscap +
    flse +  8.5 13.0 216 330 612 936 European foolscap +
    halfletter +  5.5 8.5 140 216 396 612   +
    + +

    +*Note: Initially the B paper sizes are the ISO sizes, e.g., +b0 is the same as isob0. Running the file +lib/jispaper.ps makes the B paper sizes be the JIS sizes, +e.g., b0 becomes the same as jisb0. + +


    + +

    Appendix: X default font mappings

    + +

    Standard X servers

    + +

    Regular fonts

    + +
        AvantGarde-Book:              -Adobe-ITC Avant Garde Gothic-Book-R-Normal--\n\
    +    AvantGarde-BookOblique:       -Adobe-ITC Avant Garde Gothic-Book-O-Normal--\n\
    +    AvantGarde-Demi:              -Adobe-ITC Avant Garde Gothic-Demi-R-Normal--\n\
    +    AvantGarde-DemiOblique:       -Adobe-ITC Avant Garde Gothic-Demi-O-Normal--\n\
    +    Bookman-Demi:                 -Adobe-ITC Bookman-Demi-R-Normal--\n\
    +    Bookman-DemiItalic:           -Adobe-ITC Bookman-Demi-I-Normal--\n\
    +    Bookman-Light:                -Adobe-ITC Bookman-Light-R-Normal--\n\
    +    Bookman-LightItalic:          -Adobe-ITC Bookman-Light-I-Normal--\n\
    +    Courier:                      -Adobe-Courier-Medium-R-Normal--\n\
    +    Courier-Bold:                 -Adobe-Courier-Bold-R-Normal--\n\
    +    Courier-BoldOblique:          -Adobe-Courier-Bold-O-Normal--\n\
    +    Courier-Oblique:              -Adobe-Courier-Medium-O-Normal--\n\
    +    Helvetica:                    -Adobe-Helvetica-Medium-R-Normal--\n\
    +    Helvetica-Bold:               -Adobe-Helvetica-Bold-R-Normal--\n\
    +    Helvetica-BoldOblique:        -Adobe-Helvetica-Bold-O-Normal--\n\
    +    Helvetica-Narrow:             -Adobe-Helvetica-Medium-R-Narrow--\n\
    +    Helvetica-Narrow-Bold:        -Adobe-Helvetica-Bold-R-Narrow--\n\
    +    Helvetica-Narrow-BoldOblique: -Adobe-Helvetica-Bold-O-Narrow--\n\
    +    Helvetica-Narrow-Oblique:     -Adobe-Helvetica-Medium-O-Narrow--\n\
    +    Helvetica-Oblique:            -Adobe-Helvetica-Medium-O-Normal--\n\
    +    NewCenturySchlbk-Bold:        -Adobe-New Century Schoolbook-Bold-R-Normal--\n\
    +    NewCenturySchlbk-BoldItalic:  -Adobe-New Century Schoolbook-Bold-I-Normal--\n\
    +    NewCenturySchlbk-Italic:      -Adobe-New Century Schoolbook-Medium-I-Normal--\n\
    +    NewCenturySchlbk-Roman:       -Adobe-New Century Schoolbook-Medium-R-Normal--\n\
    +    Palatino-Bold:                -Adobe-Palatino-Bold-R-Normal--\n\
    +    Palatino-BoldItalic:          -Adobe-Palatino-Bold-I-Normal--\n\
    +    Palatino-Italic:              -Adobe-Palatino-Medium-I-Normal--\n\
    +    Palatino-Roman:               -Adobe-Palatino-Medium-R-Normal--\n\
    +    Times-Bold:                   -Adobe-Times-Bold-R-Normal--\n\
    +    Times-BoldItalic:             -Adobe-Times-Bold-I-Normal--\n\
    +    Times-Italic:                 -Adobe-Times-Medium-I-Normal--\n\
    +    Times-Roman:                  -Adobe-Times-Medium-R-Normal--\n\
    +    ZapfChancery-MediumItalic:    -Adobe-ITC Zapf Chancery-Medium-I-Normal--
    +
    + +

    Symbol fonts

    + +
        Symbol:                       -Adobe-Symbol-Medium-R-Normal--
    +
    + +

    Dingbat fonts

    + +
        ZapfDingbats:                 -Adobe-ITC Zapf Dingbats-Medium-R-Normal--
    +
    + +

    Sun OpenWindows

    + +

    +For Sun's X11/NeWS one can use the OpenWindows scalable fonts instead, +which gives good output for any point size. In this environment, the +relevant section of the resource file should look like this: + +

    Ghostscript.regularFonts: \
    +    AvantGarde-Book:              -itc-avantgarde-book-r-normal-- \n\
    +    AvantGarde-BookOblique:       -itc-avantgarde-book-o-normal-- \n\
    +    AvantGarde-Demi:              -itc-avantgarde-demi-r-normal-- \n\
    +    AvantGarde-DemiOblique:       -itc-avantgarde-demi-o-normal-- \n\
    +    Bembo:                        -monotype-bembo-medium-r-normal-- \n\
    +    Bembo-Bold:                   -monotype-bembo-bold-r-normal-- \n\
    +    Bembo-BoldItalic:             -monotype-bembo-bold-i-normal-- \n\
    +    Bembo-Italic:                 -monotype-bembo-medium-i-normal-- \n\
    +    Bookman-Demi:                 -itc-bookman-demi-r-normal-- \n\
    +    Bookman-DemiItalic:           -itc-bookman-demi-i-normal-- \n\
    +    Bookman-Light:                -itc-bookman-light-r-normal-- \n\
    +    Bookman-LightItalic:          -itc-bookman-light-i-normal-- \n\
    +    Courier:                      -itc-courier-medium-r-normal-- \n\
    +    Courier-Bold:                 -itc-courier-bold-r-normal-- \n\
    +    Courier-BoldOblique:          -itc-courier-bold-o-normal-- \n\
    +    Courier-Oblique:              -itc-courier-medium-o-normal-- \n\
    +    GillSans:                     -monotype-gill-medium-r-normal-sans- \n\
    +    GillSans-Bold:                -monotype-gill-bold-r-normal-sans- \n\
    +    GillSans-BoldItalic:          -monotype-gill-bold-i-normal-sans- \n\
    +    GillSans-Italic:              -monotype-gill-normal-i-normal-sans- \n\
    +    Helvetica:                    -linotype-helvetica-medium-r-normal-- \n\
    +    Helvetica-Bold:               -linotype-helvetica-bold-r-normal-- \n\
    +    Helvetica-BoldOblique:        -linotype-helvetica-bold-o-normal-- \n\
    +    Helvetica-Narrow:             -linotype-helvetica-medium-r-narrow-- \n\
    +    Helvetica-Narrow-Bold:        -linotype-helvetica-bold-r-narrow-- \n\
    +    Helvetica-Narrow-BoldOblique: -linotype-helvetica-bold-o-narrow-- \n\
    +    Helvetica-Narrow-Oblique:     -linotype-helvetica-medium-o-narrow-- \n\
    +    Helvetica-Oblique:            -linotype-helvetica-medium-o-normal-- \n\
    +    LucidaBright:                 -b&h-lucidabright-medium-r-normal-- \n\
    +    LucidaBright-Demi:            -b&h-lucidabright-demibold-r-normal-- \n\
    +    LucidaBright-DemiItalic:      -b&h-lucidabright-demibold-i-normal-- \n\
    +    LucidaBright-Italic:          -b&h-lucidabright-medium-i-normal-- \n\
    +    LucidaSans:                   -b&h-lucida-medium-r-normal-sans- \n\
    +    LucidaSans-Bold:              -b&h-lucida-bold-r-normal-sans- \n\
    +    LucidaSans-BoldItalic:        -b&h-lucida-bold-i-normal-sans- \n\
    +    LucidaSans-Italic:            -b&h-lucida-medium-i-normal-sans- \n\
    +    LucidaSans-Typewriter:        -b&h-lucidatypewriter-medium-r-normal-sans- \n\
    +    LucidaSans-TypewriterBold:    -b&h-lucidatypewriter-bold-r-normal-sans- \n\
    +    NewCenturySchlbk-BoldItalic:  -linotype-new century schoolbook-bold-i-normal-- \n\
    +    NewCenturySchlbk-Bold:        -linotype-new century schoolbook-bold-r-normal-- \n\
    +    NewCenturySchlbk-Italic:      -linotype-new century schoolbook-medium-i-normal-- \n\
    +    NewCenturySchlbk-Roman:       -linotype-new century schoolbook-medium-r-normal-- \n\
    +    Palatino-Bold:                -linotype-palatino-bold-r-normal-- \n\
    +    Palatino-BoldItalic:          -linotype-palatino-bold-i-normal-- \n\
    +    Palatino-Italic:              -linotype-palatino-medium-i-normal-- \n\
    +    Palatino-Roman:               -linotype-palatino-medium-r-normal-- \n\
    +    Rockwell:                     -monotype-rockwell-medium-r-normal-- \n\
    +    Rockwell-Bold:                -monotype-rockwell-bold-r-normal-- \n\
    +    Rockwell-BoldItalic:          -monotype-rockwell-bold-i-normal-- \n\
    +    Rockwell-Italic:              -monotype-rockwell-medium-i-normal-- \n\
    +    Times-Bold:                   -linotype-times-bold-r-normal-- \n\
    +    Times-BoldItalic:             -linotype-times-bold-i-normal-- \n\
    +    Times-Italic:                 -linotype-times-medium-i-normal-- \n\
    +    Times-Roman:                  -linotype-times-medium-r-normal-- \n\
    +    Utopia-Bold:                  -adobe-utopia-bold-r-normal-- \n\
    +    Utopia-BoldItalic:            -adobe-utopia-bold-i-normal-- \n\
    +    Utopia-Italic:                -adobe-utopia-regular-i-normal-- \n\
    +    Utopia-Regular:               -adobe-utopia-regular-r-normal-- \n\
    +    ZapfChancery-MediumItalic:    -itc-zapfchancery-medium-i-normal-- \n
    +Ghostscript.dingbatFonts: \
    +    ZapfDingbats:                 -itc-zapfdingbats-medium-r-normal--
    +Ghostscript.symbolFonts: \
    +    Symbol:                       --symbol-medium-r-normal--
    +
    + + + + +
    + +

    +Copyright © 1996, 2000 Aladdin Enterprises. All rights +reserved. + +

    +This software is provided AS-IS with no warranty, either express or +implied. + +This software is distributed under license and may not be copied, +modified or distributed except as expressly authorized under the terms +of the license contained in the file LICENSE in this distribution. + +

    +Ghostscript version 7.07, 17 May 2003 + + + + + diff --git a/Master/xemtex/doc/ghostscript/Xfonts.htm b/Master/xemtex/doc/ghostscript/Xfonts.htm new file mode 100644 index 00000000000..d86653143ab --- /dev/null +++ b/Master/xemtex/doc/ghostscript/Xfonts.htm @@ -0,0 +1,265 @@ + + + +Ghostscript's external font and text interface + + + + + + + + + + +

    Ghostscript's external font and text interface

    + + + + + +

    Table of contents

    + +
    + + + + + +

    For other information, see the Ghostscript +overview. + + + +


    + + + + + +

    Introduction

    + +

    +Ghostscript can use the character rasterizer provided by the underlying +operating system and window system; specifically, Adobe Type Manager (ATM) +or a TrueType rasterizer under MS Windows, or the facilities provided by X +Windows. This ability augments, but does not replace, Ghostscript's own +Type 1 rasterizer: Ghostscript may still use its own rasterizer for very +large characters, characters that are clipped or transformed in unusual +ways, and for output to devices other than the screen. + +

    +Ghostscript connects to these platform facilities through a driver-like +interface called the xfont (external font) interface. Current xfont +implementations are associated directly with device drivers; in a future +release, Ghostscript may separate them, so that (for example) it will be +possible to use the platform rasterizer when writing to a file. + +

    +Please note that from this point, this file is likely to be useful only +to a small number of Ghostscript porters and implementors. + +


    + +

    Types

    + + +
    Type +    + Declared /
    defined in +
      + Represents +

    +
    gs_char +   + gsccode.h +   + A character code that appears in a string. Currently + it is always a single byte, but composite fonts or Unicode may + require it to be wider in the future. +
    gs_glyph +   + gsccode.h +   + A character name like "period" or "epsilon". From + the xfont implementation's point of view, it is just a handle; + when necessary, Ghostscript provides a + gs_proc_glyph_name_t procedure to + convert it to a string name. +
    gs_proc_glyph_name_t +   + gsccode.h +   + A procedure that maps a gs_glyph to + its string name; see the char_xglyph procedure. +
    gx_xglyph +   + gsxfont.h +   + A character or glyph code that can be used with a + specific platform font. Normally it will be a character code + that the implementation of render_char will + turn into a 1-character string and give to the platform's + "display string" operation. +
    gx_xfont_procs +   + gsxfont.h, gxxfont.h +   + The xfont analogue of + gx_device_procs, the type of the + procedure record that defines an xfont implementation. +
    gx_xfont +   + gsxfont.h, gxxfont.h +   + The gxfont analogue of gx_device, + the type of the basic structure for an xfont. +
    (encoding_index) +   +   +   + Not really a type, although it probably should be: + an int used to indicate the + Encoding used by a font. Defined values are +
    +
    0
    StandardEncoding +
    1
    ISOLatin1Encoding +
    2
    SymbolEncoding +
    3
    DingbatsEncoding +
    -1
    Other encoding +
    +
    + +
    + +

    Implementation +procedures

    + +

    +All the procedures that return int results return 0 on +success, or an appropriate negative error code for error conditions; these +error codes are defined in gserrors.h. The relevant ones +are the same as for drivers, and as with drivers, +if an implementation procedure returns an error, it should use the +return_error macro -- defined in gx.h, +which is automatically included by gdevprn.h but not by +gserrors.h -- rather than a simple return +statement, for instance + +

    +return_error(gs_error_VMerror); +
    + +

    Font-level procedures

    + +

    lookup_font

    + +
    +
    gx_xfont *(*lookup_font)(P7(gx_device *dev, +const byte *fname, uint len, int encoding_index, +const gs_uid *puid, const gs_matrix *pmat, +const gs_memory_procs *mprocs)) +
    Look up a font name, UniqueID, and matrix, and return +an xfont, or NULL if no suitable xfont exists. Use +mprocs to allocate the xfont and any subsidiary data +structures. The matrix is the FontMatrix concatenated with +the CTM, so (roughly speaking) the font size in pixels is +pmat -> yy × 1000 for a normal +Type 1 font. + +

    +Note that this is the only implementation procedure that does not take an +xfont * as its first argument. In fact, callers of +lookup_font must use the get_xfont_device +driver procedure to get the correct device to pass as the first argument to +lookup_font. +

    + +

    char_xglyph

    + +
    +
    gx_xglyph (*char_xglyph)(P5(gx_xfont *xf, gs_char chr, +int encoding_index, gs_glyph glyph, +gs_proc_glyph_name_t glyph_name)) +
    Convert a character name to an xglyph code. In the case of +glyphshow, chr may be +gs_no_char; for an ordinary show operation, +if the character code is invalid, glyph may be +gs_no_glyph. +
    + +

    char_metrics

    + +
    +
    int (*char_metrics)(P5(gx_xfont *xf, gx_xglyph xg, +int wmode, gs_int_point *pwidth, +gs_int_rect *pbbox)) +
    Get the metrics for a character. If the metrics are unavailable, +return 1. +
    + +

    render_char

    + +
    +
    int (*render_char)(P7(gx_xfont *xf, gx_xglyph xg, +gx_device *target, int x, int y, gx_color_index color, +int required)) +
    Render a character. (x,y) corresponds to the character +origin. The target may be any Ghostscript device. A good implementation +will check whether the target can handle this type of xfont directly (for +instance by checking the target name), and if so, will render the character +directly; otherwise, it will do what has to be done in the general case, +namely, get a bitmap for the character and use the target's +copy_mono operation. If required is false, +the procedure should return an error if the rendering operation would be +expensive, since in this case Ghostscript has already cached the bitmap and +metrics from a previous call with required=true. If the +operation cannot be done, return 1. +
    + +

    release

    + +
    +
    int (*release)(P2(gx_xfont *xf, +const gs_memory_procs *mprocs)) +
    Release any external resources associated with an xfont. If +mprocs is not NULL, also free any storage +allocated by lookup_font (including the xfont itself). +
    + + + + +
    + +

    +Copyright © 1996, 1997, 1998 Aladdin Enterprises. All +rights reserved. + +

    +This software is provided AS-IS with no warranty, either express or +implied. + +This software is distributed under license and may not be copied, +modified or distributed except as expressly authorized under the terms +of the license contained in the file LICENSE in this distribution. + +

    +Ghostscript version 7.07, 17 May 2003 + + + + + diff --git a/Master/xemtex/doc/ghostscript/examples/alphabet.ps b/Master/xemtex/doc/ghostscript/examples/alphabet.ps new file mode 100644 index 00000000000..95137585b25 --- /dev/null +++ b/Master/xemtex/doc/ghostscript/examples/alphabet.ps @@ -0,0 +1,62 @@ +%! +% Check for command line parameters: +% Name, FirstSize, Ratio, NumSizes, UseOutline. + +/alphabetsave save def % prevent left over effects + +/FontName where { pop } { /FontName (Palatino-Italic) def } ifelse +/FirstSize where { pop } { /FirstSize 15 def } ifelse +/Ratio where { pop } { /Ratio 1.6 def } ifelse +/NumSizes where { pop } { /NumSizes 3 def } ifelse +/UseOutline where { pop } { /UseOutline false def } ifelse + +/Strings FirstSize 20 gt + { [ + (ABCDEFGHIJ) (KLMNOPQR) (STUVWXYZ) + (abcdefghijklm) (nopqrstuvwxyz) + (0123456789<=>) (:;?@ !"#$%&') + (\(\)*+,-./[\\]^_) (`{|}~) + ] } + { [ + (ABCDEFGHIJKLMNOPQRSTUVWXYZ) + (abcdefghijklmnopqrstuvwxyz) + (0123456789<=>:;?@ !"#$%&') + (\(\)*+,-./ [\\]^_ `{|}~) + ] } +ifelse def + +/sshow + { gsave UseOutline + { { gsave ( ) dup 0 4 -1 roll put + false charpath pathbbox 0 setlinewidth stroke grestore + pop 8 add currentpoint exch pop moveto pop + } forall + } + { 2 0 3 -1 roll ashow } + ifelse grestore + } def + +FontName findfont FirstSize scalefont setfont + +clippath pathbbox /top exch def pop pop pop newpath +10 10 moveto +NumSizes + { gsave nulldevice (Q) false charpath pathbbox grestore + exch pop exch sub exch pop 1.25 mul /height exch def + Strings + { currentpoint exch pop top height 3 mul sub gt + { showpage 10 10 height sub moveto + } + if + dup sshow + UseOutline not + { 0 height rmoveto gsave 0.01 rotate sshow grestore } + if + 0 height rmoveto + } forall + Ratio dup scale + } repeat +showpage + +clear cleardictstack +alphabetsave restore diff --git a/Master/xemtex/doc/ghostscript/examples/annots.pdf b/Master/xemtex/doc/ghostscript/examples/annots.pdf new file mode 100644 index 00000000000..467926df379 Binary files /dev/null and b/Master/xemtex/doc/ghostscript/examples/annots.pdf differ diff --git a/Master/xemtex/doc/ghostscript/examples/cjk/all_ac1.ps b/Master/xemtex/doc/ghostscript/examples/cjk/all_ac1.ps new file mode 100644 index 00000000000..bb038b640e5 --- /dev/null +++ b/Master/xemtex/doc/ghostscript/examples/cjk/all_ac1.ps @@ -0,0 +1,221 @@ +%!PS-Adobe-3.0 +%%Title: Adobe-CNS1 CID-Keyed Fonts Character List +%%Creator: Taiji Yamada and gs-cjk project +%%Copyright: (C) 2001 Taiji Yamada and gs-cjk project +%%+ This script is part of GNU Ghostscript and is distributed under +%%+ the terms of the GNU General Public License. See the file COPYING +%%+ for more information. +%%Version: 1.0 +% +% Usage: +% gs [-sF=MOESung-Regular] [-daffix [-sAF=MSung-Light]] \ +% [-dglyphshow- [-sI=Identity-H]] [-ddescent=200] all_ac1.ps +% +%%DocumentMedia: A4 595 842 0 white () +%%EndComments +%%BeginProlog + +/*gs-cjk (\ +------------------------------------------------------------------------\n\ +This is a script to test CJK fonts such as CID-keyed fonts.\n\ +If you have not done CID-keyed fonts installation and definitions at\n\ +/Resource/CMap and CIDFnmap or /Resource/CIDFont of ghostscript, then\n\ +this script can't work correctly.\n\ +For details, please see README at http://www.gyve.org/gs-cjk/supplement.\n\ + +If you throw this script into a printer, it requires PostScript 3\n\ +printer and CID-keyed fonts specified in this script.\n\ +------------------------------------------------------------------------\n) def + +/notice*stdout 4 dict begin + /*open {} def /*echo-n { =only } def /*echo { = } def /*close { flush } def + currentdict +end def + +/notice*page 5 dict begin + /*y 750 def + /*open { + gsave initmatrix /Courier findfont 11 scalefont setfont 50 *y moveto + *y 750 eq { + *gs-cjk { (\n) search { *echo } { *echo-n exit } ifelse pop } loop + } if + } def + /*echo-n { dup type /stringtype ne { dup length string cvs } if show } def + /*echo { *echo-n /*y *y 11 sub def 50 *y moveto } def + /*close { grestore } def + currentdict +end def + +/greeting*gs-cjk { + product (Ghostscript) search not { pop } { pop pop pop QUIET not { + notice*stdout begin + *open + *gs-cjk { (\n) search { *echo } { *echo-n exit } ifelse pop } loop + *close + end + } if } ifelse +} bind def +greeting*gs-cjk + +/*findfont { + dup /Font resourcestatus { pop pop findfont } { + notice*page begin + *open + (Error in findfont: ) *echo-n dup *echo + *close + end + findfont + } ifelse +} bind def + +/*CIDFont*findresource { + dup /CIDFont resourcestatus { pop pop /CIDFont findresource } { + notice*page begin + *open + (Error in /CIDFont findresource: ) *echo-n dup *echo + *close + end + /CIDFont findresource + } ifelse +} bind def + +/orighandleerror errordict /handleerror get def +errordict begin + /handleerror { + notice*page begin errordict begin $error begin + *open + (Error of ) *echo-n errorname dup length string cvs *echo + *close + showpage + end end end + orighandleerror + } bind def +end + +/title (Adobe-CNS1 CID-Keyed Fonts Character List) def +/PW 595 def +/PH 842 def +/LM 78 def +/TM 130 def +/RM 47 def +/BM 76 def +/NH 10 def +/NV 12 def +/RW PW LM RM add sub NH div def +/RH PH TM BM add sub NV div def +/FS RW 3 mul 4 div def +/AFS RW 1 mul 4 div def +/unknowndef { exch dup where { pop pop pop } { exch def } ifelse } bind def +/F (MKai-Medium) unknowndef +/affix false unknowndef +%/AF (MOESung-Regular) unknowndef +%/AF (MOEKai-Regular) unknowndef +/AF (MSung-Light) unknowndef +%/AF (MHei-Medium) unknowndef +/descent 130 unknowndef +/glyphshow- false unknowndef +/fss { exch /CIDFont findresource exch scalefont setfont } bind def +/concats { % [str ...] concats str + () exch dup length 1 sub -1 0 { + 1 index exch get dup type /stringtype ne { dup length string cvs } if + 3 -1 roll exch dup length 2 index length add string + dup dup 4 2 roll copy length 4 -1 roll putinterval exch + } for pop +} bind def +/composefontname { % font cmap composefontname font--cmap + [ 2 index (--) 3 index ] concats dup 3 -1 roll [ 5 -1 roll ] composefont pop +} bind def +glyphshow- { + /I (Identity-H) unknowndef + /F F I composefontname def + affix { /AF AF I composefontname def } if + /fss { exch findfont exch scalefont setfont } bind def + /s 2 string def +} if +/glyphframe { % h oldx glyphframe - + gsave 0 setlinewidth + currentpoint pop sub exch dup 0 exch descent mul 1000 div neg rmoveto + currentpoint 4 -2 roll rectstroke grestore +} bind def +/box { % llx lly urx ury box - + 3 index 3 index moveto exch 4 -1 roll sub 3 1 roll exch sub + currentpoint 4 -2 roll rectstroke +} bind def +/charframe { % h string charframe - + gsave 0 setlinewidth + stringwidth pop exch dup 0 exch descent mul 1000 div neg rmoveto + currentpoint 4 -2 roll rectstroke grestore +} bind def +/pathframe { % string pathframe - + gsave 0 setlinewidth + true charpath flattenpath pathbbox box grestore +} bind def +/np { + /Helvetica findfont 11 scalefont setfont + LM BM 11 2 mul sub moveto title show ( - ) show F show + affix { + gsave /Helvetica findfont 5 scalefont setfont ( and ) show AF show grestore + } if + PW RM sub BM 11 2 mul sub moveto p 3 string cvs show + /p p 1 add def + showpage + /x LM def + /y PH TM sub def +} bind def +/nb { + /x x RW add def + x PW RM sub ge { + /x LM def + /y y RH sub def + y BM le { + np + /y PH TM sub def + } if + } if +} bind def +%%EndProlog +/x LM def +/y PH TM sub def +/p 1 def +[ + %[0 14098] % Adobe-CNS1-0 + %[0 17407] % Adobe-CNS1-0,1 + %[0 17600] % Adobe-CNS1-0,1,2 + %[0 18845] % Adobe-CNS1-0,1,2,3 + [0 18961] % Adobe-CNS1-0,1,2,3,4 +] { + cvx exec 1 exch { + /id exch def + F FS fss + x y FS sub moveto + glyphshow- not { + id glyphshow + FS x glyphframe + } { + s 0 id 256 idiv put s 1 id 256 mod put + FS s charframe + s pathframe + s show + } ifelse + affix { + AF AFS fss + x FS add y FS sub moveto + glyphshow- not { + id glyphshow + AFS x FS add glyphframe + } { + AFS s charframe + s pathframe + s show + } ifelse + } if + % + /Times-Roman findfont 7 scalefont setfont + x y FS sub FS descent mul 1000 div sub 7 sub moveto + id 5 string cvs show + nb + } for + np +} forall +%%Trailer +%%EOF diff --git a/Master/xemtex/doc/ghostscript/examples/cjk/all_ag1.ps b/Master/xemtex/doc/ghostscript/examples/cjk/all_ag1.ps new file mode 100644 index 00000000000..26d8178959f --- /dev/null +++ b/Master/xemtex/doc/ghostscript/examples/cjk/all_ag1.ps @@ -0,0 +1,218 @@ +%!PS-Adobe-3.0 +%%Title: Adobe-GB1 CID-Keyed Fonts Character List +%%Creator: Taiji Yamada and gs-cjk project +%%Copyright: (C) 2001 Taiji Yamada and gs-cjk project +%%+ This script is part of GNU Ghostscript and is distributed under +%%+ the terms of the GNU General Public License. See the file COPYING +%%+ for more information. +%%Version: 1.0 +% +% Usage: +% gs [-sF=BousungEG-Light-GB] [-daffix [-sAF=STSong-Light]] \ +% [-dglyphshow- [-sI=Identity-H]] [-ddescent=200] all_ag1.ps +% +%%DocumentMedia: A4 595 842 0 white () +%%EndComments +%%BeginProlog + +/*gs-cjk (\ +------------------------------------------------------------------------\n\ +This is a script to test CJK fonts such as CID-keyed fonts.\n\ +If you have not done CID-keyed fonts installation and definitions at\n\ +/Resource/CMap and CIDFnmap or /Resource/CIDFont of ghostscript, then\n\ +this script can't work correctly.\n\ +For details, please see README at http://www.gyve.org/gs-cjk/supplement.\n\ + +If you throw this script into a printer, it requires PostScript 3\n\ +printer and CID-keyed fonts specified in this script.\n\ +------------------------------------------------------------------------\n) def + +/notice*stdout 4 dict begin + /*open {} def /*echo-n { =only } def /*echo { = } def /*close { flush } def + currentdict +end def + +/notice*page 5 dict begin + /*y 750 def + /*open { + gsave initmatrix /Courier findfont 11 scalefont setfont 50 *y moveto + *y 750 eq { + *gs-cjk { (\n) search { *echo } { *echo-n exit } ifelse pop } loop + } if + } def + /*echo-n { dup type /stringtype ne { dup length string cvs } if show } def + /*echo { *echo-n /*y *y 11 sub def 50 *y moveto } def + /*close { grestore } def + currentdict +end def + +/greeting*gs-cjk { + product (Ghostscript) search not { pop } { pop pop pop QUIET not { + notice*stdout begin + *open + *gs-cjk { (\n) search { *echo } { *echo-n exit } ifelse pop } loop + *close + end + } if } ifelse +} bind def +greeting*gs-cjk + +/*findfont { + dup /Font resourcestatus { pop pop findfont } { + notice*page begin + *open + (Error in findfont: ) *echo-n dup *echo + *close + end + findfont + } ifelse +} bind def + +/*CIDFont*findresource { + dup /CIDFont resourcestatus { pop pop /CIDFont findresource } { + notice*page begin + *open + (Error in /CIDFont findresource: ) *echo-n dup *echo + *close + end + /CIDFont findresource + } ifelse +} bind def + +/orighandleerror errordict /handleerror get def +errordict begin + /handleerror { + notice*page begin errordict begin $error begin + *open + (Error of ) *echo-n errorname dup length string cvs *echo + *close + showpage + end end end + orighandleerror + } bind def +end + +/title (Adobe-GB1 CID-Keyed Fonts Character List) def +/PW 595 def +/PH 842 def +/LM 78 def +/TM 130 def +/RM 47 def +/BM 76 def +/NH 10 def +/NV 12 def +/RW PW LM RM add sub NH div def +/RH PH TM BM add sub NV div def +/FS RW 3 mul 4 div def +/AFS RW 1 mul 4 div def +/unknowndef { exch dup where { pop pop pop } { exch def } ifelse } bind def +/F (STHeiti-Regular) unknowndef +/affix false unknowndef +/AF (STSong-Light) unknowndef +/descent 130 unknowndef +/glyphshow- false unknowndef +/fss { exch *CIDFont*findresource exch scalefont setfont } bind def +/concats { % [str ...] concats str + () exch dup length 1 sub -1 0 { + 1 index exch get dup type /stringtype ne { dup length string cvs } if + 3 -1 roll exch dup length 2 index length add string + dup dup 4 2 roll copy length 4 -1 roll putinterval exch + } for pop +} bind def +/composefontname { % font cmap composefontname font--cmap + [ 2 index (--) 3 index ] concats dup 3 -1 roll [ 5 -1 roll ] composefont pop +} bind def +glyphshow- { + /I (Identity-H) unknowndef + /F F I composefontname def + affix { /AF AF I composefontname def } if + /fss { exch *findfont exch scalefont setfont } bind def + /s 2 string def +} if +/glyphframe { % h oldx glyphframe - + gsave 0 setlinewidth + currentpoint pop sub exch dup 0 exch descent mul 1000 div neg rmoveto + currentpoint 4 -2 roll rectstroke grestore +} bind def +/box { % llx lly urx ury box - + 3 index 3 index moveto exch 4 -1 roll sub 3 1 roll exch sub + currentpoint 4 -2 roll rectstroke +} bind def +/charframe { % h string charframe - + gsave 0 setlinewidth + stringwidth pop exch dup 0 exch descent mul 1000 div neg rmoveto + currentpoint 4 -2 roll rectstroke grestore +} bind def +/pathframe { % string pathframe - + gsave 0 setlinewidth + true charpath flattenpath pathbbox box grestore +} bind def +/np { + /Helvetica findfont 11 scalefont setfont + LM BM 11 2 mul sub moveto title show ( - ) show F show + affix { + gsave /Helvetica findfont 5 scalefont setfont ( and ) show AF show grestore + } if + PW RM sub BM 11 2 mul sub moveto p 3 string cvs show + /p p 1 add def + showpage + /x LM def + /y PH TM sub def +} bind def +/nb { + /x x RW add def + x PW RM sub ge { + /x LM def + /y y RH sub def + y BM le { + np + /y PH TM sub def + } if + } if +} bind def +%%EndProlog +/x LM def +/y PH TM sub def +/p 1 def +[ + %[0 7716] % Adobe-GB1-0 + %[0 9896] % Adobe-GB1-0,1 + %[0 22126] % Adobe-GB1-0,1,2 + %[0 22352] % Adobe-GB1-0,1,2,3 + [0 29063] % Adobe-GB1-0,1,2,3,4 +] { + cvx exec 1 exch { + /id exch def + F FS fss + x y FS sub moveto + glyphshow- not { + id glyphshow + FS x glyphframe + } { + s 0 id 256 idiv put s 1 id 256 mod put + FS s charframe + s pathframe + s show + } ifelse + affix { + AF AFS fss + x FS add y FS sub moveto + glyphshow- not { + id glyphshow + AFS x FS add glyphframe + } { + AFS s charframe + s pathframe + s show + } ifelse + } if + % + /Times-Roman findfont 7 scalefont setfont + x y FS sub FS descent mul 1000 div sub 7 sub moveto + id 5 string cvs show + nb + } for + np +} forall +%%Trailer +%%EOF diff --git a/Master/xemtex/doc/ghostscript/examples/cjk/all_aj1.ps b/Master/xemtex/doc/ghostscript/examples/cjk/all_aj1.ps new file mode 100644 index 00000000000..9dd2f4d3d5c --- /dev/null +++ b/Master/xemtex/doc/ghostscript/examples/cjk/all_aj1.ps @@ -0,0 +1,218 @@ +%!PS-Adobe-3.0 +%%Title: Adobe-Japan1 CID-Keyed Fonts Character List +%%Creator: Taiji Yamada and gs-cjk project +%%Copyright: (C) 2001 Taiji Yamada and gs-cjk project +%%+ This script is part of GNU Ghostscript and is distributed under +%%+ the terms of the GNU General Public License. See the file COPYING +%%+ for more information. +%%Version: 1.0 +% +% Usage: +% gs [-sF=WadaMin-Regular] [-daffix [-sAF=HeiseiMin-W3]] \ +% [-dglyphshow- [-sI=Identity-H]] [-ddescent=200] all_aj1.ps +% +%%DocumentMedia: A4 595 842 0 white () +%%EndComments +%%BeginProlog + +/*gs-cjk (\ +------------------------------------------------------------------------\n\ +This is a script to test CJK fonts such as CID-keyed fonts.\n\ +If you have not done CID-keyed fonts installation and definitions at\n\ +/Resource/CMap and CIDFnmap or /Resource/CIDFont of ghostscript, then\n\ +this script can't work correctly.\n\ +For details, please see README at http://www.gyve.org/gs-cjk/supplement.\n\ + +If you throw this script into a printer, it requires PostScript 3\n\ +printer and CID-keyed fonts specified in this script.\n\ +------------------------------------------------------------------------\n) def + +/notice*stdout 4 dict begin + /*open {} def /*echo-n { =only } def /*echo { = } def /*close { flush } def + currentdict +end def + +/notice*page 5 dict begin + /*y 750 def + /*open { + gsave initmatrix /Courier findfont 11 scalefont setfont 50 *y moveto + *y 750 eq { + *gs-cjk { (\n) search { *echo } { *echo-n exit } ifelse pop } loop + } if + } def + /*echo-n { dup type /stringtype ne { dup length string cvs } if show } def + /*echo { *echo-n /*y *y 11 sub def 50 *y moveto } def + /*close { grestore } def + currentdict +end def + +/greeting*gs-cjk { + product (Ghostscript) search not { pop } { pop pop pop QUIET not { + notice*stdout begin + *open + *gs-cjk { (\n) search { *echo } { *echo-n exit } ifelse pop } loop + *close + end + } if } ifelse +} bind def +greeting*gs-cjk + +/*findfont { + dup /Font resourcestatus { pop pop findfont } { + notice*page begin + *open + (Error in findfont: ) *echo-n dup *echo + *close + end + findfont + } ifelse +} bind def + +/*CIDFont*findresource { + dup /CIDFont resourcestatus { pop pop /CIDFont findresource } { + notice*page begin + *open + (Error in /CIDFont findresource: ) *echo-n dup *echo + *close + end + /CIDFont findresource + } ifelse +} bind def + +/orighandleerror errordict /handleerror get def +errordict begin + /handleerror { + notice*page begin errordict begin $error begin + *open + (Error of ) *echo-n errorname dup length string cvs *echo + *close + showpage + end end end + orighandleerror + } bind def +end + +/title (Adobe-Japan1 CID-Keyed Fonts Character List) def +/PW 595 def +/PH 842 def +/LM 78 def +/TM 130 def +/RM 47 def +/BM 76 def +/NH 10 def +/NV 12 def +/RW PW LM RM add sub NH div def +/RH PH TM BM add sub NV div def +/FS RW 3 mul 4 div def +/AFS RW 1 mul 4 div def +/unknowndef { exch dup where { pop pop pop } { exch def } ifelse } bind def +/F (HeiseiKakuGo-W5) unknowndef +/affix false unknowndef +/AF (HeiseiMin-W3) unknowndef +/descent 130 unknowndef +/glyphshow- false unknowndef +/fss { exch *CIDFont*findresource exch scalefont setfont } bind def +/concats { % [str ...] concats str + () exch dup length 1 sub -1 0 { + 1 index exch get dup type /stringtype ne { dup length string cvs } if + 3 -1 roll exch dup length 2 index length add string + dup dup 4 2 roll copy length 4 -1 roll putinterval exch + } for pop +} bind def +/composefontname { % font cmap composefontname font--cmap + [ 2 index (--) 3 index ] concats dup 3 -1 roll [ 5 -1 roll ] composefont pop +} bind def +glyphshow- { + /I (Identity-H) unknowndef + /F F I composefontname def + affix { /AF AF I composefontname def } if + /fss { exch *findfont exch scalefont setfont } bind def + /s 2 string def +} if +/glyphframe { % h oldx glyphframe - + gsave 0 setlinewidth + currentpoint pop sub exch dup 0 exch descent mul 1000 div neg rmoveto + currentpoint 4 -2 roll rectstroke grestore +} bind def +/box { % llx lly urx ury box - + 3 index 3 index moveto exch 4 -1 roll sub 3 1 roll exch sub + currentpoint 4 -2 roll rectstroke +} bind def +/charframe { % h string charframe - + gsave 0 setlinewidth + stringwidth pop exch dup 0 exch descent mul 1000 div neg rmoveto + currentpoint 4 -2 roll rectstroke grestore +} bind def +/pathframe { % string pathframe - + gsave 0 setlinewidth + true charpath flattenpath pathbbox box grestore +} bind def +/np { + /Helvetica findfont 11 scalefont setfont + LM BM 11 2 mul sub moveto title show ( - ) show F show + affix { + gsave /Helvetica findfont 5 scalefont setfont ( and ) show AF show grestore + } if + PW RM sub BM 11 2 mul sub moveto p 3 string cvs show + /p p 1 add def + showpage + /x LM def + /y PH TM sub def +} bind def +/nb { + /x x RW add def + x PW RM sub ge { + /x LM def + /y y RH sub def + y BM le { + np + /y PH TM sub def + } if + } if +} bind def +%%EndProlog +/x LM def +/y PH TM sub def +/p 1 def +[ + [0 8283] % Adobe-Japan1-0 + [8284 8358] % Adobe-Japan1-1 + [8359 8719] % Adobe-Japan1-2 + [8720 9353] % Adobe-Japan1-3 + [9354 15443] % Adobe-Japan1-4 +] { + cvx exec 1 exch { + /id exch def + F FS fss + x y FS sub moveto + glyphshow- not { + id glyphshow + FS x glyphframe + } { + s 0 id 256 idiv put s 1 id 256 mod put + FS s charframe + s pathframe + s show + } ifelse + affix { + AF AFS fss + x FS add y FS sub moveto + glyphshow- not { + id glyphshow + AFS x FS add glyphframe + } { + AFS s charframe + s pathframe + s show + } ifelse + } if + % + /Times-Roman findfont 7 scalefont setfont + x y FS sub FS descent mul 1000 div sub 7 sub moveto + id 5 string cvs show + nb + } for + np +} forall +%%Trailer +%%EOF diff --git a/Master/xemtex/doc/ghostscript/examples/cjk/all_aj2.ps b/Master/xemtex/doc/ghostscript/examples/cjk/all_aj2.ps new file mode 100644 index 00000000000..7e6019eb83b --- /dev/null +++ b/Master/xemtex/doc/ghostscript/examples/cjk/all_aj2.ps @@ -0,0 +1,214 @@ +%!PS-Adobe-3.0 +%%Title: Adobe-Japan2 CID-Keyed Fonts Character List +%%Creator: Taiji Yamada and gs-cjk project +%%Copyright: (C) 2001 Taiji Yamada and gs-cjk project +%%+ This script is part of GNU Ghostscript and is distributed under +%%+ the terms of the GNU General Public License. See the file COPYING +%%+ for more information. +%%Version: 1.0 +% +% Usage: +% gs [-sF=HeiseiMin-W3H] [-daffix [-sAF=WadaMin-RegularH]] \ +% [-dglyphshow- [-sI=Identity-H]] [-ddescent=200] all_aj2.ps +% +%%DocumentMedia: A4 595 842 0 white () +%%EndComments +%%BeginProlog + +/*gs-cjk (\ +------------------------------------------------------------------------\n\ +This is a script to test CJK fonts such as CID-keyed fonts.\n\ +If you have not done CID-keyed fonts installation and definitions at\n\ +/Resource/CMap and CIDFnmap or /Resource/CIDFont of ghostscript, then\n\ +this script can't work correctly.\n\ +For details, please see README at http://www.gyve.org/gs-cjk/supplement.\n\ + +If you throw this script into a printer, it requires PostScript 3\n\ +printer and CID-keyed fonts specified in this script.\n\ +------------------------------------------------------------------------\n) def + +/notice*stdout 4 dict begin + /*open {} def /*echo-n { =only } def /*echo { = } def /*close { flush } def + currentdict +end def + +/notice*page 5 dict begin + /*y 750 def + /*open { + gsave initmatrix /Courier findfont 11 scalefont setfont 50 *y moveto + *y 750 eq { + *gs-cjk { (\n) search { *echo } { *echo-n exit } ifelse pop } loop + } if + } def + /*echo-n { dup type /stringtype ne { dup length string cvs } if show } def + /*echo { *echo-n /*y *y 11 sub def 50 *y moveto } def + /*close { grestore } def + currentdict +end def + +/greeting*gs-cjk { + product (Ghostscript) search not { pop } { pop pop pop QUIET not { + notice*stdout begin + *open + *gs-cjk { (\n) search { *echo } { *echo-n exit } ifelse pop } loop + *close + end + } if } ifelse +} bind def +greeting*gs-cjk + +/*findfont { + dup /Font resourcestatus { pop pop findfont } { + notice*page begin + *open + (Error in findfont: ) *echo-n dup *echo + *close + end + findfont + } ifelse +} bind def + +/*CIDFont*findresource { + dup /CIDFont resourcestatus { pop pop /CIDFont findresource } { + notice*page begin + *open + (Error in /CIDFont findresource: ) *echo-n dup *echo + *close + end + /CIDFont findresource + } ifelse +} bind def + +/orighandleerror errordict /handleerror get def +errordict begin + /handleerror { + notice*page begin errordict begin $error begin + *open + (Error of ) *echo-n errorname dup length string cvs *echo + *close + showpage + end end end + orighandleerror + } bind def +end + +/title (Adobe-Japan2 CID-Keyed Fonts Character List) def +/PW 595 def +/PH 842 def +/LM 78 def +/TM 130 def +/RM 47 def +/BM 76 def +/NH 10 def +/NV 12 def +/RW PW LM RM add sub NH div def +/RH PH TM BM add sub NV div def +/FS RW 3 mul 4 div def +/AFS RW 1 mul 4 div def +/unknowndef { exch dup where { pop pop pop } { exch def } ifelse } bind def +/F (WadaMin-RegularH) unknowndef +/affix false unknowndef +/AF (HeiseiMin-W3H) unknowndef +/descent 130 unknowndef +/glyphshow- false unknowndef +/fss { exch *CIDFont*findresource exch scalefont setfont } bind def +/concats { % [str ...] concats str + () exch dup length 1 sub -1 0 { + 1 index exch get dup type /stringtype ne { dup length string cvs } if + 3 -1 roll exch dup length 2 index length add string + dup dup 4 2 roll copy length 4 -1 roll putinterval exch + } for pop +} bind def +/composefontname { % font cmap composefontname font--cmap + [ 2 index (--) 3 index ] concats dup 3 -1 roll [ 5 -1 roll ] composefont pop +} bind def +glyphshow- { + /I (Identity-H) unknowndef + /F F I composefontname def + affix { /AF AF I composefontname def } if + /fss { exch *findfont exch scalefont setfont } bind def + /s 2 string def +} if +/glyphframe { % h oldx glyphframe - + gsave 0 setlinewidth + currentpoint pop sub exch dup 0 exch descent mul 1000 div neg rmoveto + currentpoint 4 -2 roll rectstroke grestore +} bind def +/box { % llx lly urx ury box - + 3 index 3 index moveto exch 4 -1 roll sub 3 1 roll exch sub + currentpoint 4 -2 roll rectstroke +} bind def +/charframe { % h string charframe - + gsave 0 setlinewidth + stringwidth pop exch dup 0 exch descent mul 1000 div neg rmoveto + currentpoint 4 -2 roll rectstroke grestore +} bind def +/pathframe { % string pathframe - + gsave 0 setlinewidth + true charpath flattenpath pathbbox box grestore +} bind def +/np { + /Helvetica findfont 11 scalefont setfont + LM BM 11 2 mul sub moveto title show ( - ) show F show + affix { + gsave /Helvetica findfont 5 scalefont setfont ( and ) show AF show grestore + } if + PW RM sub BM 11 2 mul sub moveto p 3 string cvs show + /p p 1 add def + showpage + /x LM def + /y PH TM sub def +} bind def +/nb { + /x x RW add def + x PW RM sub ge { + /x LM def + /y y RH sub def + y BM le { + np + /y PH TM sub def + } if + } if +} bind def +%%EndProlog +/x LM def +/y PH TM sub def +/p 1 def +[ + [0 6067] % Adobe-Japan2-0 +] { + cvx exec 1 exch { + /id exch def + F FS fss + x y FS sub moveto + glyphshow- not { + id glyphshow + FS x glyphframe + } { + s 0 id 256 idiv put s 1 id 256 mod put + FS s charframe + s pathframe + s show + } ifelse + affix { + AF AFS fss + x FS add y FS sub moveto + glyphshow- not { + id glyphshow + AFS x FS add glyphframe + } { + AFS s charframe + s pathframe + s show + } ifelse + } if + % + /Times-Roman findfont 7 scalefont setfont + x y FS sub FS descent mul 1000 div sub 7 sub moveto + id 5 string cvs show + nb + } for + np +} forall +%%Trailer +%%EOF diff --git a/Master/xemtex/doc/ghostscript/examples/cjk/all_ak1.ps b/Master/xemtex/doc/ghostscript/examples/cjk/all_ak1.ps new file mode 100644 index 00000000000..b3e138e7381 --- /dev/null +++ b/Master/xemtex/doc/ghostscript/examples/cjk/all_ak1.ps @@ -0,0 +1,215 @@ +%!PS-Adobe-3.0 +%%Title: Adobe-Korea1 CID-Keyed Fonts Character List +%%Creator: Taiji Yamada and gs-cjk project +%%Copyright: (C) 2001 Taiji Yamada and gs-cjk project +%%+ This script is part of GNU Ghostscript and is distributed under +%%+ the terms of the GNU General Public License. See the file COPYING +%%+ for more information. +%%Version: 1.0 +% +% Usage: +% gs [-sF=MunhwaGothic-Regular] [-daffix [-sAF=HYGoThic-Medium]] \ +% [-dglyphshow- [-sI=Identity-H]] [-ddescent=200] all_ak1.ps +% +%%DocumentMedia: A4 595 842 0 white () +%%EndComments +%%BeginProlog + +/*gs-cjk (\ +------------------------------------------------------------------------\n\ +This is a script to test CJK fonts such as CID-keyed fonts.\n\ +If you have not done CID-keyed fonts installation and definitions at\n\ +/Resource/CMap and CIDFnmap or /Resource/CIDFont of ghostscript, then\n\ +this script can't work correctly.\n\ +For details, please see README at http://www.gyve.org/gs-cjk/supplement.\n\ + +If you throw this script into a printer, it requires PostScript 3\n\ +printer and CID-keyed fonts specified in this script.\n\ +------------------------------------------------------------------------\n) def + +/notice*stdout 4 dict begin + /*open {} def /*echo-n { =only } def /*echo { = } def /*close { flush } def + currentdict +end def + +/notice*page 5 dict begin + /*y 750 def + /*open { + gsave initmatrix /Courier findfont 11 scalefont setfont 50 *y moveto + *y 750 eq { + *gs-cjk { (\n) search { *echo } { *echo-n exit } ifelse pop } loop + } if + } def + /*echo-n { dup type /stringtype ne { dup length string cvs } if show } def + /*echo { *echo-n /*y *y 11 sub def 50 *y moveto } def + /*close { grestore } def + currentdict +end def + +/greeting*gs-cjk { + product (Ghostscript) search not { pop } { pop pop pop QUIET not { + notice*stdout begin + *open + *gs-cjk { (\n) search { *echo } { *echo-n exit } ifelse pop } loop + *close + end + } if } ifelse +} bind def +greeting*gs-cjk + +/*findfont { + dup /Font resourcestatus { pop pop findfont } { + notice*page begin + *open + (Error in findfont: ) *echo-n dup *echo + *close + end + findfont + } ifelse +} bind def + +/*CIDFont*findresource { + dup /CIDFont resourcestatus { pop pop /CIDFont findresource } { + notice*page begin + *open + (Error in /CIDFont findresource: ) *echo-n dup *echo + *close + end + /CIDFont findresource + } ifelse +} bind def + +/orighandleerror errordict /handleerror get def +errordict begin + /handleerror { + notice*page begin errordict begin $error begin + *open + (Error of ) *echo-n errorname dup length string cvs *echo + *close + showpage + end end end + orighandleerror + } bind def +end + +/title (Adobe-Korea1 CID-Keyed Fonts Character List) def +/PW 595 def +/PH 842 def +/LM 78 def +/TM 130 def +/RM 47 def +/BM 76 def +/NH 10 def +/NV 12 def +/RW PW LM RM add sub NH div def +/RH PH TM BM add sub NV div def +/FS RW 3 mul 4 div def +/AFS RW 1 mul 4 div def +/unknowndef { exch dup where { pop pop pop } { exch def } ifelse } bind def +/F (HYGoThic-Medium) unknowndef +/affix false unknowndef +/AF (HYSMyeongJo-Medium) unknowndef +/descent 130 unknowndef +/glyphshow- false unknowndef +/fss { exch *CIDFont*findresource exch scalefont setfont } bind def +/concats { % [str ...] concats str + () exch dup length 1 sub -1 0 { + 1 index exch get dup type /stringtype ne { dup length string cvs } if + 3 -1 roll exch dup length 2 index length add string + dup dup 4 2 roll copy length 4 -1 roll putinterval exch + } for pop +} bind def +/composefontname { % font cmap composefontname font--cmap + [ 2 index (--) 3 index ] concats dup 3 -1 roll [ 5 -1 roll ] composefont pop +} bind def +glyphshow- { + /I (Identity-H) unknowndef + /F F I composefontname def + affix { /AF AF I composefontname def } if + /fss { exch *findfont exch scalefont setfont } bind def + /s 2 string def +} if +/glyphframe { % h oldx glyphframe - + gsave 0 setlinewidth + currentpoint pop sub exch dup 0 exch descent mul 1000 div neg rmoveto + currentpoint 4 -2 roll rectstroke grestore +} bind def +/box { % llx lly urx ury box - + 3 index 3 index moveto exch 4 -1 roll sub 3 1 roll exch sub + currentpoint 4 -2 roll rectstroke +} bind def +/charframe { % h string charframe - + gsave 0 setlinewidth + stringwidth pop exch dup 0 exch descent mul 1000 div neg rmoveto + currentpoint 4 -2 roll rectstroke grestore +} bind def +/pathframe { % string pathframe - + gsave 0 setlinewidth + true charpath flattenpath pathbbox box grestore +} bind def +/np { + /Helvetica findfont 11 scalefont setfont + LM BM 11 2 mul sub moveto title show ( - ) show F show + affix { + gsave /Helvetica findfont 5 scalefont setfont ( and ) show AF show grestore + } if + PW RM sub BM 11 2 mul sub moveto p 3 string cvs show + /p p 1 add def + showpage + /x LM def + /y PH TM sub def +} bind def +/nb { + /x x RW add def + x PW RM sub ge { + /x LM def + /y y RH sub def + y BM le { + np + /y PH TM sub def + } if + } if +} bind def +%%EndProlog +/x LM def +/y PH TM sub def +/p 1 def +[ + [0 9332] % Adobe-Korea1-0 + [9333 18351] % Adobe-Korea1-1,2 +] { + cvx exec 1 exch { + /id exch def + F FS fss + x y FS sub moveto + glyphshow- not { + id glyphshow + FS x glyphframe + } { + s 0 id 256 idiv put s 1 id 256 mod put + FS s charframe + s pathframe + s show + } ifelse + affix { + AF AFS fss + x FS add y FS sub moveto + glyphshow- not { + id glyphshow + AFS x FS add glyphframe + } { + AFS s charframe + s pathframe + s show + } ifelse + } if + % + /Times-Roman findfont 7 scalefont setfont + x y FS sub FS descent mul 1000 div sub 7 sub moveto + id 5 string cvs show + nb + } for + np +} forall +%%Trailer +%%EOF diff --git a/Master/xemtex/doc/ghostscript/examples/cjk/gscjk_ac.ps b/Master/xemtex/doc/ghostscript/examples/cjk/gscjk_ac.ps new file mode 100644 index 00000000000..dfc6230bd93 --- /dev/null +++ b/Master/xemtex/doc/ghostscript/examples/cjk/gscjk_ac.ps @@ -0,0 +1,120 @@ +%!PS-Adobe-3.0 +%%Title: chinese-big5 encoding +%%Creator: Taiji Yamada and gs-cjk project +%%Copyright: (C) 2001 Taiji Yamada and gs-cjk project +%%+ This script is part of GNU Ghostscript and is distributed under +%%+ the terms of the GNU General Public License. See the file COPYING +%%+ for more information. +%%BoundingBox: 30 150 530 650 +%%EndComments +%%BeginProlog + +/*gs-cjk (\ +------------------------------------------------------------------------\n\ +This is a script to test CJK fonts such as CID-keyed fonts.\n\ +If you have not done CID-keyed fonts installation and definitions at\n\ +/Resource/CMap and CIDFnmap or /Resource/CIDFont of ghostscript, then\n\ +this script can't work correctly.\n\ +For details, please see README at http://www.gyve.org/gs-cjk/supplement.\n\ + +If you throw this script into a printer, it requires PostScript 3\n\ +printer and CID-keyed fonts specified in this script.\n\ +------------------------------------------------------------------------\n) def + +/notice*stdout 4 dict begin + /*open {} def /*echo-n { =only } def /*echo { = } def /*close { flush } def + currentdict +end def + +/notice*page 5 dict begin + /*y 750 def + /*open { + gsave initmatrix /Courier findfont 11 scalefont setfont 50 *y moveto + *y 750 eq { + *gs-cjk { (\n) search { *echo } { *echo-n exit } ifelse pop } loop + } if + } def + /*echo-n { dup type /stringtype ne { dup length string cvs } if show } def + /*echo { *echo-n /*y *y 11 sub def 50 *y moveto } def + /*close { grestore } def + currentdict +end def + +/greeting*gs-cjk { + product (Ghostscript) search not { pop } { pop pop pop QUIET not { + notice*stdout begin + *open + *gs-cjk { (\n) search { *echo } { *echo-n exit } ifelse pop } loop + *close + end + } if } ifelse +} bind def +greeting*gs-cjk + +/*findfont { + dup /Font resourcestatus { pop pop findfont } { + notice*page begin + *open + (Error in findfont: ) *echo-n dup *echo + *close + end + findfont + } ifelse +} bind def + +/orighandleerror errordict /handleerror get def +errordict begin + /handleerror { + notice*page begin errordict begin $error begin + *open + (Error of ) *echo-n errorname dup length string cvs *echo + *close + showpage + end end end + orighandleerror + } bind def +end +%%EndProlog +/MSung-Light--B5-V *findfont 25 scalefont setfont +500 625 moveto +(ÆFµ§¤¤¤åÁcÅé¦rª½¼g¦L¨ê) show +/MSung-Light--B5-H *findfont 25 scalefont setfont +50 600 moveto +(ÆFµ§ Ghostscript) show +50 550 moveto +(¤¤¤åÁcÅé¦r Traditional Chinese) show +50 500 moveto +(¾î¼g horizontal writing) show +50 450 moveto +(¦L¨ê Print) show +% +/MSung-Light--B5-V *findfont [ 1 .3 0 1 0 0 ] makefont 20 scalefont setfont +100 275 moveto 20 2 div 0 rmoveto +(±×Åé) dup stringwidth neg rmoveto show +/MSung-Light--B5-H *findfont [ 1 0 .3 1 0 0 ] makefont 20 scalefont setfont +100 250 moveto +(±×Åé Italic transformation) show +% +/MSung-Light--B5-H *findfont 20 scalefont setfont +150 400 moveto +(Sung Typeface §ºÅé) show +/MSung-Medium--B5-H *findfont 20 scalefont setfont +150 375 moveto +(Sung Medium Typeface ¤¤§ºÅé) show +/MHei-Medium--B5-H *findfont 20 scalefont setfont +150 350 moveto +(Hei Typeface ¶ÂÅé) show +/MKai-Medium--B5-H *findfont 20 scalefont setfont +150 325 moveto +(Kai Typeface ´{Åé) show +% +/Times-Roman findfont 13 scalefont setfont +50 200 moveto +(* Chinese translation of "Ghostscript" is merely associative \ +characters of these meanings.) show +50 200 13 sub moveto +(In Traditional Chinese articles, customarily we use just \ +"Ghostscript" as it is.) show +showpage +%%Trailer +%%EOF diff --git a/Master/xemtex/doc/ghostscript/examples/cjk/gscjk_ag.ps b/Master/xemtex/doc/ghostscript/examples/cjk/gscjk_ag.ps new file mode 100644 index 00000000000..02568b64f8d --- /dev/null +++ b/Master/xemtex/doc/ghostscript/examples/cjk/gscjk_ag.ps @@ -0,0 +1,120 @@ +%!PS-Adobe-3.0 +%%Title: euc-china encoding +%%Creator: Taiji Yamada and gs-cjk project +%%Copyright: (C) 2001 Taiji Yamada and gs-cjk project +%%+ This script is part of GNU Ghostscript and is distributed under +%%+ the terms of the GNU General Public License. See the file COPYING +%%+ for more information. +%%BoundingBox: 30 150 530 650 +%%EndComments +%%BeginProlog + +/*gs-cjk (\ +------------------------------------------------------------------------\n\ +This is a script to test CJK fonts such as CID-keyed fonts.\n\ +If you have not done CID-keyed fonts installation and definitions at\n\ +/Resource/CMap and CIDFnmap or /Resource/CIDFont of ghostscript, then\n\ +this script can't work correctly.\n\ +For details, please see README at http://www.gyve.org/gs-cjk/supplement.\n\ + +If you throw this script into a printer, it requires PostScript 3\n\ +printer and CID-keyed fonts specified in this script.\n\ +------------------------------------------------------------------------\n) def + +/notice*stdout 4 dict begin + /*open {} def /*echo-n { =only } def /*echo { = } def /*close { flush } def + currentdict +end def + +/notice*page 5 dict begin + /*y 750 def + /*open { + gsave initmatrix /Courier findfont 11 scalefont setfont 50 *y moveto + *y 750 eq { + *gs-cjk { (\n) search { *echo } { *echo-n exit } ifelse pop } loop + } if + } def + /*echo-n { dup type /stringtype ne { dup length string cvs } if show } def + /*echo { *echo-n /*y *y 11 sub def 50 *y moveto } def + /*close { grestore } def + currentdict +end def + +/greeting*gs-cjk { + product (Ghostscript) search not { pop } { pop pop pop QUIET not { + notice*stdout begin + *open + *gs-cjk { (\n) search { *echo } { *echo-n exit } ifelse pop } loop + *close + end + } if } ifelse +} bind def +greeting*gs-cjk + +/*findfont { + dup /Font resourcestatus { pop pop findfont } { + notice*page begin + *open + (Error in findfont: ) *echo-n dup *echo + *close + end + findfont + } ifelse +} bind def + +/orighandleerror errordict /handleerror get def +errordict begin + /handleerror { + notice*page begin errordict begin $error begin + *open + (Error of ) *echo-n errorname dup length string cvs *echo + *close + showpage + end end end + orighandleerror + } bind def +end +%%EndProlog +/STSong-Light--GB-EUC-V *findfont 25 scalefont setfont +500 625 moveto +(Áé±ÊÖÐÎļòÌå×Öֱдӡˢ) show +/STSong-Light--GB-EUC-H *findfont 25 scalefont setfont +50 600 moveto +(Áé±Ê Ghostscript) show +50 550 moveto +(ÖÐÎļòÌå×Ö Simplified Chinese) show +50 500 moveto +(ºáд horizontal writing) show +50 450 moveto +(Ó¡Ë¢ Print) show +% +/STSong-Light--GB-EUC-V *findfont [ 1 .3 0 1 0 0 ] makefont 20 scalefont setfont +100 275 moveto 20 2 div 0 rmoveto +(бÌå) dup stringwidth neg rmoveto show +/STSong-Light--GB-EUC-H *findfont [ 1 0 .3 1 0 0 ] makefont 20 scalefont setfont +100 250 moveto +(бÌå Italic transformation) show +% +/STSong-Light--GB-EUC-H *findfont 20 scalefont setfont +150 400 moveto +(Song Typeface ËÎÌå) show +/STFangsong-Light--GB-EUC-H *findfont 20 scalefont setfont +150 375 moveto +(Fangsong Typeface ·ÂËÎÌå) show +/STHeiti-Regular--GB-EUC-H *findfont 20 scalefont setfont +150 350 moveto +(Hei Typeface ºÚÌå) show +/STKaiti-Regular--GB-EUC-H *findfont 20 scalefont setfont +150 325 moveto +(Kai Typeface ¿«Ìå) show +% +/Times-Roman findfont 13 scalefont setfont +50 200 moveto +(* Chinese translation of "Ghostscript" is merely associative \ +characters of these meanings.) show +50 200 13 sub moveto +(In Simplified Chinese articles, customarily we use just "Ghostscript" \ +as it is.) show +showpage +%%Trailer +%%EOF diff --git a/Master/xemtex/doc/ghostscript/examples/cjk/gscjk_aj.ps b/Master/xemtex/doc/ghostscript/examples/cjk/gscjk_aj.ps new file mode 100644 index 00000000000..42d98bcdbb1 --- /dev/null +++ b/Master/xemtex/doc/ghostscript/examples/cjk/gscjk_aj.ps @@ -0,0 +1,114 @@ +%!PS-Adobe-3.0 +%%Title: japanese-shift-jis encoding +%%Creator: Taiji Yamada and gs-cjk project +%%Copyright: (C) 2001 Taiji Yamada and gs-cjk project +%%+ This script is part of GNU Ghostscript and is distributed under +%%+ the terms of the GNU General Public License. See the file COPYING +%%+ for more information. +%%BoundingBox: 30 150 530 650 +%%EndComments +%%BeginProlog + +/*gs-cjk (\ +------------------------------------------------------------------------\n\ +This is a script to test CJK fonts such as CID-keyed fonts.\n\ +If you have not done CID-keyed fonts installation and definitions at\n\ +/Resource/CMap and CIDFnmap or /Resource/CIDFont of ghostscript, then\n\ +this script can't work correctly.\n\ +For details, please see README at http://www.gyve.org/gs-cjk/supplement.\n\ + +If you throw this script into a printer, it requires PostScript 3\n\ +printer and CID-keyed fonts specified in this script.\n\ +------------------------------------------------------------------------\n) def + +/notice*stdout 4 dict begin + /*open {} def /*echo-n { =only } def /*echo { = } def /*close { flush } def + currentdict +end def + +/notice*page 5 dict begin + /*y 750 def + /*open { + gsave initmatrix /Courier findfont 11 scalefont setfont 50 *y moveto + *y 750 eq { + *gs-cjk { (\n) search { *echo } { *echo-n exit } ifelse pop } loop + } if + } def + /*echo-n { dup type /stringtype ne { dup length string cvs } if show } def + /*echo { *echo-n /*y *y 11 sub def 50 *y moveto } def + /*close { grestore } def + currentdict +end def + +/greeting*gs-cjk { + product (Ghostscript) search not { pop } { pop pop pop QUIET not { + notice*stdout begin + *open + *gs-cjk { (\n) search { *echo } { *echo-n exit } ifelse pop } loop + *close + end + } if } ifelse +} bind def +greeting*gs-cjk + +/*findfont { + dup /Font resourcestatus { pop pop findfont } { + notice*page begin + *open + (Error in findfont: ) *echo-n dup *echo + *close + end + findfont + } ifelse +} bind def + +/orighandleerror errordict /handleerror get def +errordict begin + /handleerror { + notice*page begin errordict begin $error begin + *open + (Error of ) *echo-n errorname dup length string cvs *echo + *close + showpage + end end end + orighandleerror + } bind def +end +%%EndProlog +/Ryumin-Light-RKSJ-V *findfont 25 scalefont setfont +500 625 moveto +(—ì•M “ú–{Œê c‘‚« ˆóü) show +/Ryumin-Light-RKSJ-H *findfont 25 scalefont setfont +50 600 moveto +(—ì•M Ghostscript) show +50 550 moveto +(“ú–{Œê Japanese) show +50 500 moveto +(‰¡‘‚« horizontal writing) show +50 450 moveto +(ˆóü Print) show +% +/Ryumin-Light-RKSJ-V *findfont [ 1 .3 0 1 0 0 ] makefont 20 scalefont setfont +100 275 moveto 20 2 div 0 rmoveto +(ŽÎ‘Ì) dup stringwidth neg rmoveto show +/Ryumin-Light-RKSJ-H *findfont [ 1 0 .3 1 0 0 ] makefont 20 scalefont setfont +100 250 moveto +(ŽÎ‘Ì Italic transformation) show +% +/Ryumin-Light-RKSJ-H *findfont 20 scalefont setfont +150 400 moveto +(Mincho Typeface –¾’©‘Ì) show +/GothicBBB-Medium-RKSJ-H *findfont 20 scalefont setfont +150 375 moveto +(Gothic Typeface ƒSƒVƒbƒN‘Ì) show +% +/Times-Roman findfont 13 scalefont setfont +50 200 moveto +(* Japanese translation of "Ghostscript" is merely associative \ +characters of these meanings.) show +50 200 13 sub moveto +(In Japanese articles, customarily we use just "Ghostscript" as it \ +is.) show +showpage +%%Trailer +%%EOF diff --git a/Master/xemtex/doc/ghostscript/examples/cjk/gscjk_ak.ps b/Master/xemtex/doc/ghostscript/examples/cjk/gscjk_ak.ps new file mode 100644 index 00000000000..78ce81876b2 --- /dev/null +++ b/Master/xemtex/doc/ghostscript/examples/cjk/gscjk_ak.ps @@ -0,0 +1,116 @@ +%!PS-Adobe-3.0 +%%Title: euc-korea encoding +%%Creator: Taiji Yamada and gs-cjk project +%%Copyright: (C) 2001 Taiji Yamada and gs-cjk project +%%+ This script is part of GNU Ghostscript and is distributed under +%%+ the terms of the GNU General Public License. See the file COPYING +%%+ for more information. +%%BoundingBox: 30 150 530 650 +%%EndComments +%%BeginProlog + +/*gs-cjk (\ +------------------------------------------------------------------------\n\ +This is a script to test CJK fonts such as CID-keyed fonts.\n\ +If you have not done CID-keyed fonts installation and definitions at\n\ +/Resource/CMap and CIDFnmap or /Resource/CIDFont of ghostscript, then\n\ +this script can't work correctly.\n\ +For details, please see README at http://www.gyve.org/gs-cjk/supplement.\n\ + +If you throw this script into a printer, it requires PostScript 3\n\ +printer and CID-keyed fonts specified in this script.\n\ +------------------------------------------------------------------------\n) def + +/notice*stdout 4 dict begin + /*open {} def /*echo-n { =only } def /*echo { = } def /*close { flush } def + currentdict +end def + +/notice*page 5 dict begin + /*y 750 def + /*open { + gsave initmatrix /Courier findfont 11 scalefont setfont 50 *y moveto + *y 750 eq { + *gs-cjk { (\n) search { *echo } { *echo-n exit } ifelse pop } loop + } if + } def + /*echo-n { dup type /stringtype ne { dup length string cvs } if show } def + /*echo { *echo-n /*y *y 11 sub def 50 *y moveto } def + /*close { grestore } def + currentdict +end def + +/greeting*gs-cjk { + product (Ghostscript) search not { pop } { pop pop pop QUIET not { + notice*stdout begin + *open + *gs-cjk { (\n) search { *echo } { *echo-n exit } ifelse pop } loop + *close + end + } if } ifelse +} bind def +greeting*gs-cjk + +/*findfont { + dup /Font resourcestatus { pop pop findfont } { + notice*page begin + *open + (Error in findfont: ) *echo-n dup *echo + *close + end + findfont + } ifelse +} bind def + +/orighandleerror errordict /handleerror get def +errordict begin + /handleerror { + notice*page begin errordict begin $error begin + *open + (Error of ) *echo-n errorname dup length string cvs *echo + *close + showpage + end end end + orighandleerror + } bind def +end +%%EndProlog +/HYSMyeongJo-Medium--KSC-EUC-V *findfont 25 scalefont setfont +500 625 moveto +(ÖÄù¶ Çѱ¹¾î ¼¼·Î¾²±â Àμâ) show +/HYSMyeongJo-Medium--KSC-EUC-H *findfont 25 scalefont setfont +50 600 moveto +(ÖÄù¶ Ghostscript) show +50 550 moveto +(Çѱ¹¾î Korean) show +50 500 moveto +(°¡·Î¾²±â horizontal writing) show +50 450 moveto +(Àμâ Print) show +% +/HYSMyeongJo-Medium--KSC-EUC-V *findfont [ 1 .3 0 1 0 0 ] makefont 20 scalefont setfont +100 275 moveto 20 2 div 0 rmoveto +(±â¿ïÀÓ²Ã) dup stringwidth neg rmoveto show +/HYSMyeongJo-Medium--KSC-EUC-H *findfont [ 1 0 .3 1 0 0 ] makefont 20 scalefont setfont +100 250 moveto +(±â¿ïÀӲà Italic transformation) show +% +/HYSMyeongJo-Medium--KSC-EUC-H *findfont 20 scalefont setfont +150 400 moveto +(MyeongJo Typeface ¸íÁ¶) show +/HYGoThic-Medium--KSC-EUC-H *findfont 20 scalefont setfont +150 375 moveto +(Gothic Typeface °íµñ) show +/HYRGoThic-Medium--KSC-EUC-H *findfont 20 scalefont setfont +150 350 moveto +(Rounded Gothic Typeface µÕ±Ù°íµñ) show +% +/Times-Roman findfont 13 scalefont setfont +50 200 moveto +(* Korean translation of "Ghostscript" is merely associative \ +characters of these meanings.) show +50 200 13 sub moveto +(In Korean articles, customarily we use just "Ghostscript" as it is.) show +showpage +%%Trailer +%%EOF diff --git a/Master/xemtex/doc/ghostscript/examples/cjk/iso2022.ps b/Master/xemtex/doc/ghostscript/examples/cjk/iso2022.ps new file mode 100644 index 00000000000..9edb39bd6c5 --- /dev/null +++ b/Master/xemtex/doc/ghostscript/examples/cjk/iso2022.ps @@ -0,0 +1,1256 @@ +%!PS-Adobe-3.0 +%%Creator: tops by Taiji Yamada +%%Copyright: 2001 Taiji Yamada and gs-cjk project +%%+ This script is part of GNU Ghostscript and is distributed under +%%+ the terms of the GNU GPL. See the file COPYING for more information. +%%+ It is also part of tops, a text filter into PostScript for various +%%+ languages. To get it, visit http://www.aihara.co.jp/~taiji/tops/#tops +%%DocumentData: Clean7Bit +%%DocumentMedia: A4 595 842 0 white () +%%Extensions: Composite +%%Orientation: Portrait +%%Title: iso-2022-7bit - Emacs/Mule editable PostScript file +%%Version: 1.0 +% +% Usage: +% gs [-dverttext] iso2022.ps +% +%%EndComments +%%BeginProlog + +/*gs-cjk (\ +------------------------------------------------------------------------\n\ +This is a script to test CJK fonts such as CID-keyed fonts.\n\ +If you have not done CID-keyed fonts installation and definitions at\n\ +/Resource/CMap and CIDFnmap or /Resource/CIDFont of ghostscript, then\n\ +this script can't work correctly.\n\ +For details, please see README at http://www.gyve.org/gs-cjk/supplement.\n\ + +If you throw this script into a printer, it requires PostScript 3\n\ +printer and CID-keyed fonts specified in this script.\n\ +------------------------------------------------------------------------\n) def + +/notice*stdout 4 dict begin + /*open {} def /*echo-n { =only } def /*echo { = } def /*close { flush } def + currentdict +end def + +/notice*page 5 dict begin + /*y 750 def + /*open { + gsave initmatrix /Courier findfont 11 scalefont setfont 50 *y moveto + *y 750 eq { + *gs-cjk { (\n) search { *echo } { *echo-n exit } ifelse pop } loop + } if + } def + /*echo-n { dup type /stringtype ne { dup length string cvs } if show } def + /*echo { *echo-n /*y *y 11 sub def 50 *y moveto } def + /*close { grestore } def + currentdict +end def + +/greeting*gs-cjk { + product (Ghostscript) search not { pop } { pop pop pop QUIET not { + notice*stdout begin + *open + *gs-cjk { (\n) search { *echo } { *echo-n exit } ifelse pop } loop + *close + end + } if } ifelse +} bind def +greeting*gs-cjk + +/*findfont { + dup /Font resourcestatus { pop pop findfont } { + notice*page begin + *open + (Error in findfont: ) *echo-n dup *echo + *close + end + findfont + } ifelse +} bind def + +/orighandleerror errordict /handleerror get def +errordict begin + /handleerror { + notice*page begin errordict begin $error begin + *open + (Error of ) *echo-n errorname dup length string cvs *echo + *close + showpage + end end end + orighandleerror + } bind def +end + +/unknowndef { exch dup where { pop pop pop } { exch def } ifelse } bind def + +/ISOLatin1Encoding /Encoding resourcestatus { pop pop } { +%!PS-Adobe-3.0 Resource-Encoding +%%BeginResource: Encoding (ISOLatin1Encoding) +%%EndComments +/ISOLatin1Encoding [ % iso-8859-1 +% 0x00 +/.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 +% 0x20 +/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quotesingle +/parenleft/parenright/asterisk/plus/comma/minus/period/slash +/zero/one/two/three/four/five/six/seven +/eight/nine/colon/semicolon/less/equal/greater/question +% 0x40 +/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 +% 0x60 +/grave/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 +% 0x80 +/.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 +% 0xa0 +/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 +% 0xc0 +/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 +% 0xe0 +/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 +] /Encoding defineresource pop +%%EndResource +} ifelse + +/ISOLatin2Encoding /Encoding resourcestatus { pop pop } { +%!PS-Adobe-3.0 Resource-Encoding +%%BeginResource: Encoding (ISOLatin2Encoding) +%%EndComments +/ISOLatin2Encoding [ % iso-8859-2 +% 0x00 +/.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 +% 0x20 +/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quotesingle +/parenleft/parenright/asterisk/plus/comma/minus/period/slash +/zero/one/two/three/four/five/six/seven +/eight/nine/colon/semicolon/less/equal/greater/question +% 0x40 +/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 +% 0x60 +/grave/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 +% 0x80 +/.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 +% 0xa0 +/space/Aogonek/breve/Lslash/currency/Lcaron/Sacute/section +/dieresis/Scaron/Scedilla/Tcaron/Zacute/hyphen/Zcaron/Zdotaccent +/degree/aogonek/ogonek/lslash/acute/lcaron/sacute/caron +/cedilla/scaron/scedilla/tcaron/zacute/hungarumlaut/zcaron/zdotaccent +% 0xc0 +/Racute/Aacute/Acircumflex/Abreve/Adieresis/Lacute/Cacute/Ccedilla +/Ccaron/Eacute/Eogonek/Edieresis/Ecaron/Iacute/Icircumflex/Dcaron +/Dcroat/Nacute/Ncaron/Oacute/Ocircumflex/Ohungarumlaut/Odieresis/multiply +/Rcaron/Uring/Uacute/Uhungarumlaut/Udieresis/Yacute/Tcommaaccent/germandbls +% 0xe0 +/racute/aacute/acircumflex/abreve/adieresis/lacute/cacute/ccedilla +/ccaron/eacute/eogonek/edieresis/ecaron/iacute/icircumflex/dcaron +/dcroat/nacute/ncaron/oacute/ocircumflex/ohungarumlaut/odieresis/divide +/rcaron/uring/uacute/uhungarumlaut/udieresis/yacute/tcommaaccent/dotaccent +] /Encoding defineresource pop +%%EndResource +} ifelse + +/ISOLatin3Encoding /Encoding resourcestatus { pop pop } { +%!PS-Adobe-3.0 Resource-Encoding +%%BeginResource: Encoding (ISOLatin3Encoding) +%%EndComments +/ISOLatin3Encoding [ % iso-8859-3 +% 0x00 +/.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 +% 0x20 +/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quotesingle +/parenleft/parenright/asterisk/plus/comma/minus/period/slash +/zero/one/two/three/four/five/six/seven +/eight/nine/colon/semicolon/less/equal/greater/question +% 0x40 +/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 +% 0x60 +/grave/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 +% 0x80 +/.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 +% 0xa0 +/space/Hbar/breve/sterling/currency/.notdef/Hcircumflex/section +/dieresis/Idotaccent/Scedilla/Gbreve/Jcircumflex/hyphen/.notdef/Zdotaccent +/degree/hbar/twosuperior/threesuperior/acute/mu/hcircumflex/periodcentered +/cedilla/dotlessi/scedilla/gbreve/jcircumflex/onehalf/.notdef/zdotaccent +% 0xc0 +/Agrave/Aacute/Acircumflex/.notdef/Adieresis/Cdotaccent/Ccircumflex/Ccedilla +/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis +/.notdef/Ntilde/Ograve/Oacute/Ocircumflex/Gdotaccent/Odieresis/multiply +/Gcircumflex/Ugrave/Uacute/Ucircumflex/Udieresis/Ubreve/Scircumflex/germandbls +% 0xe0 +/agrave/aacute/acircumflex/.notdef/adieresis/cdotaccent/ccircumflex/ccedilla +/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis +/.notdef/ntilde/ograve/oacute/ocircumflex/gdotaccent/odieresis/divide +/gcircumflex/ugrave/uacute/ucircumflex/udieresis/ubreve/scircumflex/dotaccent +] /Encoding defineresource pop +%%EndResource +} ifelse + +/ISOLatin4Encoding /Encoding resourcestatus { pop pop } { +%!PS-Adobe-3.0 Resource-Encoding +%%BeginResource: Encoding (ISOLatin4Encoding) +%%EndComments +/ISOLatin4Encoding [ % iso-8859-4 +% 0x00 +/.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 +% 0x20 +/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quotesingle +/parenleft/parenright/asterisk/plus/comma/minus/period/slash +/zero/one/two/three/four/five/six/seven +/eight/nine/colon/semicolon/less/equal/greater/question +% 0x40 +/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 +% 0x60 +/grave/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 +% 0x80 +/.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 +% 0xa0 +/space/Aogonek/kgreenlandic/Rcommaaccent/currency/Itilde/Lcommaaccent/section +/dieresis/Scaron/Emacron/Gcommaaccent/Tbar/hyphen/Zcaron/macron +/degree/aogonek/ogonek/rcommaaccent/acute/itilde/lcommaaccent/caron +/cedilla/scaron/emacron/gcommaaccent/tbar/Eng/zcaron/eng +% 0xc0 +/Amacron/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Iogonek +/Ccaron/Eacute/Eogonek/Edieresis/Edotaccent/Iacute/Icircumflex/Imacron +/Dcroat/Ncommaaccent/Omacron/Kcommaaccent/Ocircumflex/Otilde/Odieresis/multiply +/Oslash/Uogonek/Uacute/Ucircumflex/Udieresis/Utilde/Umacron/germandbls +% 0xe0 +/amacron/aacute/acircumflex/atilde/adieresis/aring/ae/iogonek +/ccaron/eacute/eogonek/edieresis/edotaccent/iacute/icircumflex/imacron +/dcroat/ncommaaccent/omacron/kcommaaccent/ocircumflex/otilde/odieresis/divide +/oslash/uogonek/uacute/ucircumflex/udieresis/utilde/umacron/dotaccent +] /Encoding defineresource pop +%%EndResource +} ifelse + +/ISOCyrillicEncoding /Encoding resourcestatus { pop pop } { +%!PS-Adobe-3.0 Resource-Encoding +%%BeginResource: Encoding (ISOCyrillicEncoding) +%%EndComments +/ISOCyrillicEncoding [ % iso-8859-5 +% 0x00 +/.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 +% 0x20 +/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quotesingle +/parenleft/parenright/asterisk/plus/comma/minus/period/slash +/zero/one/two/three/four/five/six/seven +/eight/nine/colon/semicolon/less/equal/greater/question +% 0x40 +/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 +% 0x60 +/grave/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 +% 0x80 +/.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 +% 0xa0 +/space/afii10023/afii10051/afii10052/afii10053/afii10054/afii10055/afii10056 +/afii10057/afii10058/afii10059/afii10060/afii10061/hyphen/afii10062/afii10145 +/afii10017/afii10018/afii10019/afii10020/afii10021/afii10022/afii10024/afii10025 +/afii10026/afii10027/afii10028/afii10029/afii10030/afii10031/afii10032/afii10033 +% 0xc0 +/afii10034/afii10035/afii10036/afii10037/afii10038/afii10039/afii10040/afii10041 +/afii10042/afii10043/afii10044/afii10045/afii10046/afii10047/afii10048/afii10049 +/afii10065/afii10066/afii10067/afii10068/afii10069/afii10070/afii10072/afii10073 +/afii10074/afii10075/afii10076/afii10077/afii10078/afii10079/afii10080/afii10081 +% 0xe0 +/afii10082/afii10083/afii10084/afii10085/afii10086/afii10087/afii10088/afii10089 +/afii10090/afii10091/afii10092/afii10093/afii10094/afii10095/afii10096/afii10097 +/afii61352/afii10071/afii10099/afii10100/afii10101/afii10102/afii10103/afii10104 +/afii10105/afii10106/afii10107/afii10108/afii10109/section/afii10110/afii10193 +] /Encoding defineresource pop +%%EndResource +} ifelse + +/ISOGreekEncoding /Encoding resourcestatus { pop pop } { +%!PS-Adobe-3.0 Resource-Encoding +%%BeginResource: Encoding (ISOGreekEncoding) +%%EndComments +/ISOGreekEncoding [ % iso-8859-7 +% 0x00 +/.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 +% 0x20 +/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quotesingle +/parenleft/parenright/asterisk/plus/comma/minus/period/slash +/zero/one/two/three/four/five/six/seven +/eight/nine/colon/semicolon/less/equal/greater/question +% 0x40 +/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 +% 0x60 +/grave/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 +% 0x80 +/.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 +% 0xa0 +/space/quoteleft/quoteright/sterling/.notdef/.notdef/brokenbar/section +/dieresis/copyright/.notdef/guillemotleft/logicalnot/hyphen/.notdef/afii00208 +/degree/plusminus/twosuperior/threesuperior/tonos/dieresistonos/Alphatonos/periodcentered +/Epsilontonos/Etatonos/Iotatonos/guillemotright/Omicrontonos/onehalf/Upsilontonos/Omegatonos +% 0xc0 +/iotadieresistonos/Alpha/Beta/Gamma/Delta/Epsilon/Zeta/Eta +/Theta/Iota/Kappa/Lambda/Mu/Nu/Xi/Omicron +/Pi/Rho/.notdef/Sigma/Tau/Upsilon/Phi/Chi +/Psi/Omega/Iotadieresis/Upsilondieresis/alphatonos/epsilontonos/etatonos/iotatonos +% 0xe0 +/upsilondieresistonos/alpha/beta/gamma/delta/epsilon/zeta/eta +/theta/iota/kappa/lambda/mu/nu/xi/omicron +/pi/rho/sigma1/sigma/tau/upsilon/phi/chi +/psi/omega/iotadieresis/upsilondieresis/omicrontonos/upsilontonos/omegatonos/.notdef +] /Encoding defineresource pop +%%EndResource +} ifelse + +/ISOLatin5Encoding /Encoding resourcestatus { pop pop } { +%!PS-Adobe-3.0 Resource-Encoding +%%BeginResource: Encoding (ISOLatin5Encoding) +%%EndComments +/ISOLatin5Encoding [ % iso-8859-9 +% 0x00 +/.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 +% 0x20 +/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quotesingle +/parenleft/parenright/asterisk/plus/comma/minus/period/slash +/zero/one/two/three/four/five/six/seven +/eight/nine/colon/semicolon/less/equal/greater/question +% 0x40 +/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 +% 0x60 +/grave/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 +% 0x80 +/.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 +% 0xa0 +/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 +% 0xc0 +/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla +/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis +/Gbreve/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply +/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Idotaccent/Scedilla/germandbls +% 0xe0 +/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla +/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis +/gbreve/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide +/oslash/ugrave/uacute/ucircumflex/udieresis/dotlessi/scedilla/ydieresis +] /Encoding defineresource pop +%%EndResource +} ifelse + +/ISOLatin6Encoding /Encoding resourcestatus { pop pop } { +%!PS-Adobe-3.0 Resource-Encoding +%%BeginResource: Encoding (ISOLatin6Encoding) +%%EndComments +/ISOLatin6Encoding [ % iso-8859-10 +% 0x00 +/.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 +% 0x20 +/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quotesingle +/parenleft/parenright/asterisk/plus/comma/minus/period/slash +/zero/one/two/three/four/five/six/seven +/eight/nine/colon/semicolon/less/equal/greater/question +% 0x40 +/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 +% 0x60 +/grave/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 +% 0x80 +/.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 +% 0xa0 +/space/Aogonek/Emacron/Gcommaaccent/Imacron/Itilde/Kcommaaccent/section +/Lcommaaccent/Dcroat/Scaron/Tbar/Zcaron/hyphen/Umacron/Eng +/degree/aogonek/emacron/gcommaaccent/imacron/itilde/kcommaaccent/periodcentered +/lcommaaccent/dcroat/scaron/tbar/zcaron/afii00208/umacron/eng +% 0xc0 +/Amacron/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Iogonek +/Ccaron/Eacute/Eogonek/Edieresis/Edotaccent/Iacute/Icircumflex/Idieresis +/Eth/Ncommaaccent/Omacron/Oacute/Ocircumflex/Otilde/Odieresis/Utilde +/Oslash/Uogonek/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls +% 0xe0 +/amacron/aacute/acircumflex/atilde/adieresis/aring/ae/iogonek +/ccaron/eacute/eogonek/edieresis/edotaccent/iacute/icircumflex/idieresis +/eth/ncommaaccent/omacron/oacute/ocircumflex/otilde/odieresis/utilde +/oslash/uogonek/uacute/ucircumflex/udieresis/yacute/thorn/kgreenlandic +] /Encoding defineresource pop +%%EndResource +} ifelse + +/ISOLatin7Encoding /Encoding resourcestatus { pop pop } { +%!PS-Adobe-3.0 Resource-Encoding +%%BeginResource: Encoding (ISOLatin7Encoding) +%%EndComments +/ISOLatin7Encoding [ % iso-8859-13 +% 0x00 +/.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 +% 0x20 +/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quotesingle +/parenleft/parenright/asterisk/plus/comma/minus/period/slash +/zero/one/two/three/four/five/six/seven +/eight/nine/colon/semicolon/less/equal/greater/question +% 0x40 +/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 +% 0x60 +/grave/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 +% 0x80 +/.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 +% 0xa0 +/space/quotedblright/cent/sterling/currency/quotedblbase/brokenbar/section +/Oslash/copyright/Rcommaaccent/guillemotleft/logicalnot/hyphen/registered/AE +/degree/plusminus/twosuperior/threesuperior/quotedblleft/mu/paragraph/periodcentered +/oslash/onesuperior/rcommaaccent/guillemotright/onequarter/onehalf/threequarters/ae +% 0xc0 +/Aogonek/Iogonek/Amacron/Cacute/Adieresis/Aring/Eogonek/Emacron +/Ccaron/Eacute/Zacute/Edotaccent/Gcommaaccent/Kcommaaccent/Imacron/Lcommaaccent +/Scaron/Nacute/Ncommaaccent/Oacute/Omacron/Otilde/Odieresis/multiply +/Uogonek/Lslash/Sacute/Umacron/Udieresis/Zdotaccent/Zcaron/germandbls +% 0xe0 +/aogonek/iogonek/amacron/cacute/adieresis/aring/eogonek/emacron +/ccaron/eacute/zacute/edotaccent/gcommaaccent/kcommaaccent/imacron/lcommaaccent +/scaron/nacute/ncommaaccent/oacute/omacron/otilde/odieresis/divide +/uogonek/lslash/sacute/umacron/udieresis/zdotaccent/zcaron/quoteright +] /Encoding defineresource pop +%%EndResource +} ifelse + +/ISOLatin9Encoding /Encoding resourcestatus { pop pop } { +%!PS-Adobe-3.0 Resource-Encoding +%%BeginResource: Encoding (ISOLatin9Encoding) +%%EndComments +/ISOLatin9Encoding [ % iso-8859-15 +% 0x00 +/.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 +% 0x20 +/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quotesingle +/parenleft/parenright/asterisk/plus/comma/minus/period/slash +/zero/one/two/three/four/five/six/seven +/eight/nine/colon/semicolon/less/equal/greater/question +% 0x40 +/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 +% 0x60 +/grave/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 +% 0x80 +/.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 +% 0xa0 +/space/exclamdown/cent/sterling/Euro/yen/Scaron/section +/scaron/copyright/ordfeminine/guillemotleft/logicalnot/hyphen/registered/macron +/degree/plusminus/twosuperior/threesuperior/Zcaron/mu/paragraph/periodcentered +/zcaron/onesuperior/ordmasculine/guillemotright/OE/oe/Ydieresis/questiondown +% 0xc0 +/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 +% 0xe0 +/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 +] /Encoding defineresource pop +%%EndResource +} ifelse + +/reencode-font { % fontname font encoding reencode-font font + exch dup type dup /nametype eq exch /stringtype eq or { findfont } if + dup length dict begin + { + 1 index /FID ne 2 index /UniqueID ne and { def } { pop pop } ifelse + } forall + /Encoding exch dup type /nametype eq { /Encoding findresource } if def + dup /FontName exch def + currentdict + end + definefont +} bind def + +/vertical-font { % fontname font vertical-font font + dup type dup /nametype eq exch /stringtype eq or { *findfont } if + dup length 1 add dict begin { + 1 index /FontName eq { pop 1 index def } { + 1 index /FID ne 2 index /UniqueID ne and { def } { pop pop } ifelse + } ifelse + } forall /WMode 1 def currentdict end + definefont +} bind def + +% +% fontname [font ...] compose-fontset font +% +% References: +% [1] kanno@jn1jdz.ymt.prug.or.jp, ``jisfont.ps,'' +% in Japanesized Tgif(Tgif-3.0J-p17 JIS patch version), 7 1997. +% +/compose-fontset { + 12 dict begin + /FontType 0 def + /FontMatrix matrix def + /FontBBox { 0 0 0 0 } def + /FMapType 3 def + %/EscChar 255 def + /FDepVector [ + 2 index { + dup type dup /nametype eq exch /stringtype eq or { *findfont } if + dup /WMode known { + dup /WMode get /WMode exch def + WMode 1 eq { + [ 0 1 -1 0 0 .3 ] makefont + } if + } if + } forall + ] def + /Encoding [ 0 1 4 index length 1 sub {} for ] def + pop + dup /FontName exch def + currentdict + end + definefont +} bind def + +/decode-mule-big5 { % R1 R2 1|2 decode-mule-big5 R1 R2 + 2 dict begin + 3 1 roll + /r2 exch def + /r1 exch def + /r2 r1 16#21 sub 94 mul r2 add 16#21 sub def + 2 eq { /r2 r2 6280 add def } if + /r1 r2 157 idiv 16#a1 add def + /r2 r2 157 mod def + /r2 r2 r2 16#3f lt { 16#40 } { 16#62 } ifelse add def + r1 r2 + end +} bind def +/decode-mule-big5-l1 { % str idx decode-mule-big5-l1 str idx + 2 copy get exch 1 add exch 2 index 2 index get + 1 decode-mule-big5 + buffer size 4 -1 roll put /size size 1 add store + buffer size 3 -1 roll put /size size 1 add store +} bind def +/decode-mule-big5-l2 { % str idx decode-mule-big5-l2 str idx + 2 copy get exch 1 add exch 2 index 2 index get + 2 decode-mule-big5 + buffer size 4 -1 roll put /size size 1 add store + buffer size 3 -1 roll put /size size 1 add store +} bind def +/decode-gl { % str idx decode-gl str idx + 2 copy get buffer size 3 -1 roll put + /size size 1 add store +} bind def +/decode-gr { % str idx decode-gr str idx + 2 copy get 16#80 add buffer size 3 -1 roll put + /size size 1 add store +} bind def +/iso-2022-set [ + [ (\033\(B) {decode-gl} ] % iso-2022:ascii + [ (\033,A) {decode-gr} ] % iso-2022:iso-8859-1,iso-latin1 + [ (\033,B) {decode-gr} ] % iso-2022:iso-8859-2,iso-latin2 +% [ (\033,C) {decode-gr} ] % iso-2022:iso-8859-3,iso-latin3 +% [ (\033,D) {decode-gr} ] % iso-2022:iso-8859-4,iso-latin4 +% [ (\033,F) {decode-gr} ] % iso-2022:iso-8859-7,iso-greek +% [ (\033,G) {decode-gr} ] % iso-2022:iso-8859-6,iso-arabic +% [ (\033,H) {decode-gr} ] % iso-2022:iso-8859-8,iso-hebrew +% [ (\033,L) {decode-gr} ] % iso-2022:iso-8859-5,iso-cyrillic + [ (\033,M) {decode-gr} ] % iso-2022:iso-8859-9,iso-latin5 +% [ (\033,T) {decode-gr} ] % iso-2022:iso-8859-11,iso-thai +% [ (\033,V) {decode-gr} ] % iso-2022:iso-8859-10,iso-latin6 + [ (\033\(I) {decode-gl} ] % iso-2022:jis-x-0201-kana + [ (\033\(J) {decode-gl} ] % iso-2022:jis-x-0201-roman +% [ (\033\(T) {decode-gl} ] % iso-2022:gb-1988-roman + [ (\033$@) {decode-gl} ] % iso-2022:jis-x-0208-1978 + [ [ (\033$A) (\033$\(A) ] {decode-gl} ] % iso-2022:gb-2312-1980 + [ [ (\033$B) (\033$\(B) (\033&@\033$B) ] {decode-gl} ] % iso-2022:jis-x-0208-1983&1990 + [ (\033$\(C) {decode-gl} ] % iso-2022:ks-x-1001-1992 + [ (\033$\(D) {decode-gl} ] % iso-2022:jis-x-0212-1990 + [ (\033$\(?) {decode-gl} ] % iso-2022:gbt-12345-1990,private-iso-gbt + [ (\033$\(G) {decode-gl} ] % iso-2022:cns-11643-1992-p1 + [ (\033$\(H) {decode-gl} ] % iso-2022:cns-11643-1992-p2 + [ (\033$\(0) {decode-mule-big5-l1} ] % iso-2022:big5,mule-big5 + [ (\033$\(1) {decode-mule-big5-l2} ] % iso-2022:big5,mule-big5 +] def +/iso-2022-translate { % str idx iso-2022-translate str idx + 2 copy get 16#20 lt { + iso-2022-set length 1 sub 0 1 3 -1 roll { % str idx j + iso-2022-set 1 index get 0 get dup % str idx j ()|[] ()|[] + dup type /stringtype eq { % str idx j () () + dup length 5 index 5 index 3 -1 roll 7 index length 7 index sub + 2 copy lt { pop } { exch pop } ifelse + getinterval eq % str idx j () true|false + } { % str idx j [] [] + pop () false 3 -1 roll { + dup 4 -1 roll pop 3 1 roll + dup length 6 index 6 index 3 -1 roll 8 index length 8 index sub + 2 copy lt { pop } { exch pop } ifelse + getinterval eq or dup { exit } if % str idx j () true|false + } forall + } ifelse + { exch /iso-2022-state exch store length 1 sub add exit } { pop } ifelse + pop + } for + } if +} bind def +/iso-2022-show { % str iso-2022-show - + 10 dict begin + /iso-6429-state null def + /iso-2022-state 0 def + /iso-2022-current iso-2022-state def + /buffer 65535 string def + /size 0 def + /width 0 def + /BoldFont false def /Underscore false def /BackColor 1 def + /foldline dup where { pop foldline } { false } ifelse def + 0 { % idx {} loop + dup 2 index length lt { + iso-2022-translate + iso-2022-state iso-2022-current ne { + buffer size 8#377 put + /size size 1 add store + buffer size iso-2022-state put + /size size 1 add store + } { + iso-6429-translate + iso-6429-state null ne { + iso-6429-set iso-6429-state get 1 get exec + } { + iso-2022-set iso-2022-current get 1 get exec + } ifelse + } ifelse + } { + exit + } ifelse + /iso-2022-current iso-2022-state store + 1 add + } loop + pop pop + iflush + end +} bind def +/ichop { % required for some Adobe-official PostScript interpreters + dup length dup 2 sub -2 0 { % str len len-2 -2 0 {} for + 2 index 1 index get 8#377 eq % str len idx c(str idx get) 8#377 eq + { exch pop } { pop exit } ifelse % str len|idx + } for 0 exch getinterval % str'(str 0 len|idx getinterval) +} bind def + +/iso-6429-set [ + [ (\t) + { buffer 0 size getinterval ichop % ``ichop'' is not required for GS + stringwidth pop ( ) stringwidth pop div round cvi width add + 8 dup 3 1 roll mod sub { + buffer size ( ) putinterval /size size 1 add store + } repeat } bind + ] + [ (\f) { iflush margin 0 get margin 3 get moveto } bind ] + [ [ (\033[m) (\033[0m) ] + { iflush + /BoldFont false textfont + /Underscore false textfont + 0 textcolor + 1 backcolor + } bind + ] % All Off + [ (\033[1m) { iflush /BoldFont true textfont } bind ] + [ (\033[4m) { iflush /Underscore true textfont } bind ] + [ (\033[22m) { iflush /BoldFont false textfont } bind ] + [ (\033[24m) { iflush /Underscore false textfont } bind ] + [ (\033[30m) { iflush 0 textcolor } bind ] + [ (\033[31m) { iflush [ 1 0 0 ] textcolor } bind ] + [ (\033[32m) { iflush [ 0 1 0 ] textcolor } bind ] + [ (\033[33m) { iflush [ 1 1 0 ] textcolor } bind ] + [ (\033[34m) { iflush [ 0 0 1 ] textcolor } bind ] + [ (\033[35m) { iflush [ 1 0 1 ] textcolor } bind ] + [ (\033[36m) { iflush [ 0 1 1 ] textcolor } bind ] + [ (\033[37m) { iflush 1 textcolor } bind ] + [ (\033[39m) { iflush 0 textcolor } bind ] + [ (\033[40m) { iflush 0 backcolor } bind ] + [ (\033[41m) { iflush [ 1 0 0 ] backcolor } bind ] + [ (\033[42m) { iflush [ 0 1 0 ] backcolor } bind ] + [ (\033[43m) { iflush [ 1 1 0 ] backcolor } bind ] + [ (\033[44m) { iflush [ 0 0 1 ] backcolor } bind ] + [ (\033[45m) { iflush [ 1 0 1 ] backcolor } bind ] + [ (\033[46m) { iflush [ 0 1 1 ] backcolor } bind ] + [ (\033[47m) { iflush 1 backcolor } bind ] + [ (\033[49m) { iflush 1 backcolor } bind ] +] def +/iso-6429-translate { % str idx iso-6429-translate str idx + /iso-6429-state null store + 2 copy get 16#20 lt { + iso-6429-set length 1 sub 0 1 3 -1 roll { % str idx j + iso-6429-set 1 index get 0 get dup % str idx j ()|[] ()|[] + dup type /stringtype eq { % str idx j () () + dup length 5 index 5 index 3 -1 roll 7 index length 7 index sub + 2 copy lt { pop } { exch pop } ifelse + getinterval eq % str idx j () true|false + } { % str idx j [] [] + pop () false 3 -1 roll { + dup 4 -1 roll pop 3 1 roll + dup length 6 index 6 index 3 -1 roll 8 index length 8 index sub + 2 copy lt { pop } { exch pop } ifelse + getinterval eq or dup { exit } if % str idx j () true|false + } forall + } ifelse + { exch /iso-6429-state exch store length 1 sub add exit } { pop } ifelse + pop + } for + } if +} bind def +/show-attribute { + BackColor dup type dup /integertype eq exch /realtype eq or { + dup 1 eq { pop } { + gsave setgray BoldFont { setboldfont } if textfill grestore + } ifelse + } { + gsave cvx exec setrgbcolor BoldFont { setboldfont } if textfill grestore + } ifelse + Underscore { + gsave .2 setlinewidth currentpoint fontsize .1 mul sub moveto + BoldFont { setboldfont } if dup stringwidth pop 0 rlineto stroke grestore + } if + BoldFont { + gsave setboldfont show currentpoint grestore moveto + } { + show + } ifelse +} bind def +/cshow-attribute { + pop currentpoint pop add pagesize 0 get margin 2 get sub lt { + 1 string dup 0 4 -1 roll put show-attribute + } { + currentpoint exch pop fontsize sub round margin 3 get lt { + gsave + nextpage preparepage + currentpoint matrix currentmatrix grestore setmatrix moveto + } { + origin 0 get currentpoint exch pop fontsize sub moveto + } ifelse + 1 string dup 0 4 -1 roll put show-attribute + } ifelse +} bind def +/iflush { + size 0 gt { + buffer 0 size getinterval ichop % ``ichop'' is not required for GS + dup stringwidth pop ( ) stringwidth pop div round cvi /width exch store + foldline not { + show-attribute + } { + dup stringwidth + pop currentpoint pop add pagesize 0 get margin 2 get sub lt { + show-attribute + } { + BoldFont { /BoldFont false store + gsave setboldfont + { cshow-attribute } exch cshow + currentpoint grestore moveto + } { + { cshow-attribute } exch cshow + } ifelse + } ifelse + } ifelse + /size 0 store + } if +} bind def +/textfont { % /BoldFont|/Underscore any textfont - + store +} bind def +/textcolor { + dup type dup /integertype eq exch /realtype eq or { setgray } + { cvx exec setrgbcolor } ifelse +} bind def +/backcolor { + /BackColor exch store +} bind def +/textfill { + currentpoint fontsize .2 mul sub 2 index stringwidth pop fontsize + 4 -2 roll moveto dup 0 exch rlineto exch 0 rlineto neg 0 exch rlineto + closepath fill +} bind def +/setboldfont { + currentfont /FontName get dup length string cvs (-Bold) + exch dup length 2 index length add string + dup dup 4 2 roll copy length 4 -1 roll putinterval cvn + findfont [fontwidth 0 0 fontsize 0 0] makefont setfont +} bind def +/iso-6429-show { % str iso-6429-show - + 8 dict begin + /iso-6429-state null def + /buffer 65535 string def + /size 0 def + /width 0 def + /BoldFont false def /Underscore false def /BackColor 1 def + /foldline dup where { pop foldline } { false } ifelse def + 0 { % idx {} loop + dup 2 index length lt { + iso-6429-translate + iso-6429-state null ne { + iso-6429-set iso-6429-state get 1 get exec + } { + 2 copy get buffer size 3 -1 roll put + /size size 1 add store + } ifelse + } { + exit + } ifelse + 1 add + } loop + pop pop + iflush + end +} bind def +/shown-init { + /inshow exch def + /mediasize [ 595 842 ] def + /mediamargin [ 30 30 30 30 ] def + /pagesize [ + mediasize cvx exec mediamargin cvx exec + 3 -1 roll add 3 1 roll add 3 1 roll sub 3 1 roll sub exch + ] def + /margin [ 20 28 20 28 ] def + /division [ 1 1 ] def + /landscape false def + /landscale false def + /evenscale true def + /pagescale false def + pagescale not { + /pagesize [ + pagesize 0 get division 0 get div pagesize 1 get division 1 get div + ] store + } if + landscape { + /pagesize [ pagesize cvx exec exch ] store + /margin [ margin cvx exec 4 1 roll ] store + } if + /verttext dup where { pop verttext } { false } ifelse def + /foldline true def + /header true def /footer true def /border true def + /origin [ margin 0 get pagesize 1 get margin 1 get sub fontsize sub ] def + /position [ 0 0 ] def + /preparepage { initmatrix + landscape landscale xor not { + mediasize cvx exec exch mediamargin 0 get mediamargin 2 get add sub + division 0 get div position 0 get mul mediamargin 0 get add + exch dup mediamargin 1 get mediamargin 3 get add sub + division 1 get div position 1 get 1 add mul sub mediamargin 1 get sub + translate + pagescale { landscale not { 1 } { pagesize cvx exec div } ifelse + division 1 get div evenscale { dup } { + landscale not { 1 } { pagesize cvx exec exch div } ifelse + division 0 get div exch + } ifelse scale + } if + } { + verttext { + 180 rotate mediasize { neg } forall translate + } if + mediasize cvx exec exch mediamargin 0 get mediamargin 2 get add sub + division 0 get div position 0 get mul mediamargin 0 get add + exch mediamargin 1 get mediamargin 3 get add sub + division 1 get div position 1 get mul mediamargin 3 get add + translate + pagescale { landscale not { 1 } { pagesize cvx exec div } ifelse + division 0 get div evenscale { dup } { + landscale not { 1 } { pagesize cvx exec exch div } ifelse + division 1 get div + } ifelse scale + } if + 90 rotate 0 pagesize 1 get neg translate + } ifelse + origin cvx exec moveto + } bind def + /gssafe false def % GS-safe but not always perfect at decoratepage + /nextpage { gssafe { /decorated false store } { decoratepage } ifelse + position landscape landscale or not { 0 } { 1 } ifelse 2 copy get 1 add + dup 4 1 roll put + division landscape landscale or not { 0 } { 1 } ifelse get eq { + position landscape landscale or not { 0 } { 1 } ifelse 0 put + position landscape landscale or not { 1 } { 0 } ifelse 2 copy get 1 add + dup 4 1 roll put + division landscape landscale or not { 1 } { 0 } ifelse get eq { + position landscape landscale or not { 1 } { 0 } ifelse 0 put + showpage + } if + } if + } bind def + /lastpage { gssafe {} { decoratepage } ifelse showpage } bind def + /nextline { + currentpoint exch pop fontsize sub round margin 3 get lt { + nextpage preparepage /empty true store + } { + origin 0 get currentpoint exch pop fontsize sub moveto + } ifelse + } bind def + % + /page 0 def + /infofont /Helvetica findfont [fontwidth 0 0 fontsize 0 0] makefont def + /head (gs-cjk project: iso-2022-7bit - Emacs/Mule editable PostScript file) def + /showheader { + header { + gsave + verttext not { + margin 0 get pagesize 1 get margin 1 get sub fontsize add moveto + } { + margin 0 get fontsize sub margin 3 get translate 90 rotate + fontsize fontwidth div fontwidth fontsize div scale 0 0 moveto + } ifelse + 1 dict dup /foldline false put begin + infofont setfont head inshow + end + grestore + } if + } bind def + /foot 64 string def + /showfooter { + /page page 1 add store + footer { + gsave + verttext not { + pagesize 0 get margin 2 get sub margin 3 get fontsize 2 mul sub moveto + } { + pagesize 0 get margin 2 get sub fontsize 2 mul add + pagesize 1 get margin 1 get sub translate 90 rotate + fontsize fontwidth div fontwidth fontsize div scale 0 0 moveto + } ifelse + 1 dict dup /foldline false put begin + infofont setfont page foot cvs dup stringwidth pop neg 0 rmoveto inshow + end + grestore + } if + } bind def + /bord { + pagesize cvx exec margin { fontsize 2 div sub } forall + 3 1 roll exch 5 -1 roll exch sub exch 5 -1 roll exch sub exch + 4 copy 3 1 roll exch 8 -2 roll moveto lineto 4 2 roll lineto lineto + closepath + } bind def + /showborder { + border { + gsave .25 setlinewidth bord stroke grestore + } if + } bind def + /decoratepage { showheader showfooter showborder } bind def + % + preparepage /empty true def + gssafe { /decorated false def } if +} bind def +/shown { + gssafe { decorated not { decoratepage /decorated true store } if } if + inshow /empty false store nextline +} bind def +/shown-close { empty not { lastpage } if } bind def +/shown-readlines { + /shown-buffer 65535 string def + shown-init + { + currentfile shown-buffer readline not { pop exit } if + shown + } loop + shown-close +} bind def +/shown-readhexstrings { + /shown-buffer 65535 string def + /shown-size 0 def + /previous-char (\000) def + shown-init + { + currentfile 1 string readhexstring not { pop exit } if + dup (\n) ne { + dup (\r) ne { + shown-buffer shown-size 2 index putinterval + /shown-size shown-size 1 add store + } { % mac + shown-buffer 0 shown-size getinterval shown + /shown-size 0 store + } ifelse + } { % unix + previous-char (\r) ne { + shown-buffer 0 shown-size getinterval shown + } { % dos + } ifelse + /shown-size 0 store + } ifelse + previous-char 0 3 -1 roll putinterval + } loop + shown-close +} bind def + +/fitfont { [ .8335276 0 0 .8335276 0 .1 ] makefont } bind def + +/verttext false unknowndef +/iso-2022-fontset [ + /Courier findfont fitfont % iso-2022:ascii + /Courier-Latin1 /Courier /ISOLatin1Encoding reencode-font fitfont % iso-2022:iso-8859-1,iso-latin1 + /Courier-Latin2 /Courier /ISOLatin2Encoding reencode-font fitfont % iso-2022:iso-8859-2,iso-latin2 +% /CourierNewLatin3 findfont fitfont % iso-2022:iso-8859-3,iso-latin3 +% /CourierNewLatin4 findfont fitfont % iso-2022:iso-8859-4,iso-latin4 +% /CourierNewGreek findfont fitfont % iso-2022:iso-8859-7,iso-greek +% /CourierNewArabic findfont fitfont % iso-2022:iso-8859-6,iso-arabic +% /CourierNewHebrew findfont fitfont % iso-2022:iso-8859-8,iso-hebrew +% /Courier-Cyrillic /CourierNewCyrillic /ISOCyrillicEncoding reencode-font fitfont % iso-2022:iso-8859-5,iso-cyrillic + /Courier-Latin5 /Courier /ISOLatin5Encoding reencode-font fitfont % iso-2022:iso-8859-9,iso-latin5 +% /CourierNewThai findfont fitfont % iso-2022:iso-8859-11,iso-thai +% /CourierNewLatin6 findfont fitfont % iso-2022:iso-8859-10,iso-latin6 + verttext not { + /Ryumin-Light.Katakana % iso-2022:jis-x-0201-kana + /Ryumin-Light.Roman % iso-2022:jis-x-0201-roman +% /STSong-Light-GBK-EUC-H % iso-2022:gb-1988-roman + /Ryumin-Light-78-H % iso-2022:jis-x-0208-1978 + /STSong-Light-GB-H % iso-2022:gb-2312-1980 + /Ryumin-Light-H % iso-2022:jis-x-0208-1983&1990 + /HYSMyeongJo-Medium-KSC-H % iso-2022:ks-x-1001-1992 + /HeiseiMin-W3H-Hojo-H % iso-2022:jis-x-0212-1990 + /STSong-Light-GBT-H % iso-2022:gbt-12345-1990,private-iso-gbt + /MSung-Light-CNS1-H % iso-2022:cns-11643-1992-p1 + /MSung-Light-CNS2-H % iso-2022:cns-11643-1992-p2 + /MSung-Light-ETen-B5-H % iso-2022:big5,mule-big5 + /MSung-Light-ETen-B5-H % iso-2022:big5,mule-big5 + } { + /Ryumin-Light.Katakana-V /Ryumin-Light.Katakana vertical-font % iso-2022:jis-x-0201-kana + /Ryumin-Light.Roman-V /Ryumin-Light.Roman vertical-font % iso-2022:jis-x-0201-roman +% /STSong-Light-GBK-EUC-V % iso-2022:gb-1988-roman + /Ryumin-Light-78-V % iso-2022:jis-x-0208-1978 + /STSong-Light-GB-V % iso-2022:gb-2312-1980 + /Ryumin-Light-V % iso-2022:jis-x-0208-1983&1990 + /HYSMyeongJo-Medium-KSC-V % iso-2022:ks-x-1001-1992 + /HeiseiMin-W3H-Hojo-V % iso-2022:jis-x-0212-1990 + /STSong-Light-GBT-V % iso-2022:gbt-12345-1990,private-iso-gbt + /MSung-Light-CNS1-V % iso-2022:cns-11643-1992-p1 + /MSung-Light-CNS2-V % iso-2022:cns-11643-1992-p2 + /MSung-Light-ETen-B5-V % iso-2022:big5,mule-big5 + /MSung-Light-ETen-B5-V % iso-2022:big5,mule-big5 + } ifelse +] def +/iso-2022-bold-fontset [ + /Courier-Bold findfont fitfont % iso-2022:ascii + /Courier-Bold-Latin1 /Courier-Bold /ISOLatin1Encoding reencode-font fitfont % iso-2022:iso-8859-1,iso-latin1 + /Courier-Bold-Latin2 /Courier-Bold /ISOLatin2Encoding reencode-font fitfont % iso-2022:iso-8859-2,iso-latin2 +% /CourierNewLatin3-Bold findfont fitfont % iso-2022:iso-8859-3,iso-latin3 +% /CourierNewLatin4-Bold findfont fitfont % iso-2022:iso-8859-4,iso-latin4 +% /CourierNewGreek-Bold findfont fitfont % iso-2022:iso-8859-7,iso-greek +% /CourierNewArabic-Bold findfont fitfont % iso-2022:iso-8859-6,iso-arabic +% /CourierNewHebrew-Bold findfont fitfont % iso-2022:iso-8859-8,iso-hebrew +% /Courier-Bold-Cyrillic /CourierNewCyrillic-Bold /ISOCyrillicEncoding reencode-font fitfont % iso-2022:iso-8859-5,iso-cyrillic + /Courier-Bold-Latin5 /Courier-Bold /ISOLatin5Encoding reencode-font fitfont % iso-2022:iso-8859-9,iso-latin5 +% /CourierNewThai-Bold findfont fitfont % iso-2022:iso-8859-11,iso-thai +% /CourierNewLatin6-Bold findfont fitfont % iso-2022:iso-8859-10,iso-latin6 + verttext not { + /GothicBBB-Medium.Katakana % iso-2022:jis-x-0201-kana + /GothicBBB-Medium.Roman % iso-2022:jis-x-0201-roman +% /STHeiti-Regular-GBK-EUC-H % iso-2022:gb-1988-roman + /GothicBBB-Medium-78-H % iso-2022:jis-x-0208-1978 + /STHeiti-Regular-GB-H % iso-2022:gb-2312-1980 + /GothicBBB-Medium-H % iso-2022:jis-x-0208-1983&1990 + /HYGoThic-Medium-KSC-H % iso-2022:ks-x-1001-1992 + /HeiseiKakuGo-W5H-Hojo-H % iso-2022:jis-x-0212-1990 + /STHeiti-Regular-GBT-H % iso-2022:gbt-12345-1990,private-iso-gbt + /MHei-Medium-CNS1-H % iso-2022:cns-11643-1992-p1 + /MHei-Medium-CNS2-H % iso-2022:cns-11643-1992-p2 + /MHei-Medium-ETen-B5-H % iso-2022:big5,mule-big5 + /MHei-Medium-ETen-B5-H % iso-2022:big5,mule-big5 + } { + /GothicBBB-Medium.Katakana-V /GothicBBB-Medium.Katakana vertical-font % iso-2022:jis-x-0201-kana + /GothicBBB-Medium.Roman-V /GothicBBB-Medium.Roman vertical-font % iso-2022:jis-x-0201-roman +% /STHeiti-Regular-GBK-EUC-V % iso-2022:gb-1988-roman + /GothicBBB-Medium-78-V % iso-2022:jis-x-0208-1978 + /STHeiti-Regular-GB-V % iso-2022:gb-2312-1980 + /GothicBBB-Medium-V % iso-2022:jis-x-0208-1983&1990 + /HYGoThic-Medium-KSC-V % iso-2022:ks-x-1001-1992 + /HeiseiKakuGo-W5H-Hojo-V % iso-2022:jis-x-0212-1990 + /STHeiti-Regular-GBT-V % iso-2022:gbt-12345-1990,private-iso-gbt + /MHei-Medium-CNS1-V % iso-2022:cns-11643-1992-p1 + /MHei-Medium-CNS2-V % iso-2022:cns-11643-1992-p2 + /MHei-Medium-ETen-B5-V % iso-2022:big5,mule-big5 + /MHei-Medium-ETen-B5-V % iso-2022:big5,mule-big5 + } ifelse +] def +/fontset-iso-2022 iso-2022-fontset compose-fontset pop +/fontset-iso-2022-Bold iso-2022-bold-fontset compose-fontset pop +%%EndProlog +/fontsize 11 def /fontwidth 11 def +/fontset-iso-2022 findfont [fontwidth 0 0 fontsize 0 0] makefont setfont +{ iso-2022-show } shown-readlines +A list of ways to say hello in various languages. + +Czech (,Bh(Besky) Dobr,B}(B den +Danish (Dansk) Hej, Goddag +English Hello +Esperanto Saluton +Estonian Tere, Tervist +PostScript (Hello) = +Finnish (Suomi) Hei +French (Fran,Ag(Bais) Bonjour, Salut +German (Deutsch Nord) Guten Tag + +Italiano Ciao, Buon giorno + +Maltese Ciao +Nederlands, Vlaams Hallo, Dag +Norwegian (Norsk) Hei, God dag +Polish Dzie,Bq(B dobry, Hej + +Slovak Dobr,B}(B de,Br(B +Spanish (Espa,Aq(Bol) ,A!(BHola! +Swedish (Svenska) Hej, Goddag + +Turkish (T,M|(Brk,Mg(Be) Merhaba + +Chinese ($(GDcEF$(0!.$(GiGk#$(0!.Vn^V)t(B) $(0<@)p$(G!$I#Go!$$(0'*)y!$(B +Chinese ($AVPND#,::So#,L>!"JR2>L>(B) $B$3$s$K$A$O!#(I:]FAJ(B. +Korean ($(CGQ1[#,ySm.(B) $(C>H3gGO=J4O1n#.>H3gGO<?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\&]_^(B + +Difference between JISX0208.1978 and 1983: + + \x1b$@ $@032)3B3I3v4C4R6F7[979\a;v(B  diff --git a/Master/xemtex/doc/ghostscript/examples/colorcir.ps b/Master/xemtex/doc/ghostscript/examples/colorcir.ps new file mode 100644 index 00000000000..cf4a49e537c --- /dev/null +++ b/Master/xemtex/doc/ghostscript/examples/colorcir.ps @@ -0,0 +1,125 @@ +%! +/colorcirsave save def % prevent left over effects + +gsave +/Times-Roman findfont 24 scalefont setfont +72 72 translate 0 0 moveto 1 0 0 setrgbcolor (Red) show +72 0 translate 0 0 moveto 0 1 0 setrgbcolor (Green) show +72 0 translate 0 0 moveto 0 0 1 setrgbcolor (Blue) show +72 0 translate 0 0 moveto 1 1 0 setrgbcolor (Yellow) show +72 0 translate 0 0 moveto 1 0 1 setrgbcolor (Pink) show +72 0 translate 0 0 moveto 0 1 1 setrgbcolor (Cyan) show +72 0 translate 0 0 moveto 0.9 0.9 0.9 setrgbcolor ('White') show +grestore + +0.0 setlinewidth + +/length 0.1 def +/width 0.02 def +/hsvcircle { +gsave + /h 0.0 def + 0 4 360 { + pop + gsave + 0.5 0.0 translate + + newpath + 0.0 0.0 moveto + length 0.0 lineto + length width lineto + 0.0 width lineto + closepath + h 1.0 1.0 sethsbcolor + fill + + %newpath + %0.0 0.0 moveto + %length 0.0 lineto + %length width lineto + %0.0 width lineto + %closepath + %0.0 setgray + %stroke + + grestore + /h h 4 360 div add def + 4 rotate + } for +grestore +} def + +/graycircle { +gsave + /h -1.0 def + 0 4 360 { + pop + gsave + 0.5 0.0 translate + + newpath + 0.0 0.0 moveto + length 0.0 lineto + length width lineto + 0.0 width lineto + closepath + + h abs setgray + fill + + %newpath + %0.0 0.0 moveto + %length 0.0 lineto + %length width lineto + %0.0 width lineto + %closepath + %0.0 setgray + %stroke + grestore + + /h h 8 360 div add def + 4 rotate + } for +grestore +} def + +0.0 setlinewidth +0.0 setgray +300 400 translate +500 500 scale + +30 rotate +1.0 0.7 scale +-30 rotate + +hsvcircle +0.8 0.8 scale +graycircle +0.8 0.8 scale +hsvcircle +0.8 0.8 scale +graycircle +0.8 0.8 scale +hsvcircle +0.8 0.8 scale +graycircle +0.8 0.8 scale +hsvcircle +0.8 0.8 scale +graycircle +0.8 0.8 scale +hsvcircle +0.8 0.8 scale +graycircle +0.8 0.8 scale +hsvcircle +0.8 0.8 scale +graycircle +0.8 0.8 scale +hsvcircle +0.8 0.8 scale +graycircle + +showpage +clear cleardictstack +colorcirsave restore diff --git a/Master/xemtex/doc/ghostscript/examples/doretree.ps b/Master/xemtex/doc/ghostscript/examples/doretree.ps new file mode 100644 index 00000000000..23157fabdd8 --- /dev/null +++ b/Master/xemtex/doc/ghostscript/examples/doretree.ps @@ -0,0 +1,2485 @@ +%!PS-Adobe-1.0 +%%Title: dore.ps +%%Creator: Dore' Postscript Device Driver +%%For: Jesse Don Hickson III +%%CreationDate: Sat Apr 11 18:26:44 1998 +%%Pages: (atend) +%%DocumentFonts: +%%BoundingBox: 0 0 612 612 +%%EndComments +/doretreesave save def % prevent left over effects +% The author, Jesse Don Hickson III, hereby places this file into +% the public domain on this day 23 Feb 2000. +/Dore 20 dict def +Dore begin +/Prgb { moveto -1 -1 rmoveto 2 0 rlineto + 0 2 rlineto -2 0 rlineto + closepath setrgbcolor fill } def +/Lrgb { moveto lineto setrgbcolor stroke } def +/Trgb { moveto lineto lineto closepath + setrgbcolor fill } def +/BGrgb { dup 3 -1 roll dup 5 -1 roll dup + 7 -1 roll dup 3 -1 roll moveto + 6 -1 roll lineto exch 4 -1 roll + lineto lineto closepath + setrgbcolor + fill } def +/Pgray { moveto -1 -1 rmoveto 2 0 rlineto + 0 2 rlineto -2 0 rlineto + closepath setgray fill } def +/Lgray { moveto lineto setgray stroke } def +/Tgray { moveto lineto lineto closepath + setgray fill } def +/BGgray { dup 3 -1 roll dup 5 -1 roll dup + 7 -1 roll dup 3 -1 roll moveto + 6 -1 roll lineto exch 4 -1 roll + lineto lineto closepath setgray + fill } def +/BDR { dup 3 -1 roll dup 5 -1 roll dup + 7 -1 roll dup 3 -1 roll moveto + 6 -1 roll lineto exch 4 -1 roll + lineto lineto closepath + setgray 40 setlinewidth + stroke } def +%%EndProlog +%%Page: 1 1 + +gsave +0.400000 0.400000 0.400000 0 0 612 612 BGrgb + +0.25028 0.20022 0.15028 66 73 545 73 478 350 Trgb +0.25028 0.20022 0.15028 66 73 478 350 133 350 Trgb +0.312849 0.250279 0.312849 69 61 542 61 545 73 Trgb +0.312849 0.250279 0.312849 69 61 545 73 66 73 Trgb + +0.000000 0.699172 0.209751 308 254 305 260 302 254 Trgb +0.000000 0.699172 0.209751 305 260 299 260 302 254 Trgb +0.000000 0.699172 0.209751 299 260 296 255 302 254 Trgb +0.000000 0.699172 0.209751 296 255 299 249 302 254 Trgb +0.000000 0.699172 0.209751 299 249 305 249 302 254 Trgb +0.000000 0.699172 0.209751 305 249 308 254 302 254 Trgb +0.000000 0.000000 0.000000 303 225 299 249 296 255 Trgb +0.000000 0.000000 0.000000 303 225 296 255 300 230 Trgb +0.000000 0.006800 0.002040 308 225 305 249 299 249 Trgb +0.000000 0.003400 0.001020 308 225 299 249 303 225 Trgb +0.000000 0.025554 0.007666 311 230 308 254 305 249 Trgb +0.000000 0.017877 0.005363 311 230 305 249 308 225 Trgb +0.000000 0.698504 0.209551 318 220 315 223 313 218 Trgb +0.000000 0.698504 0.209551 315 223 310 222 313 218 Trgb +0.000000 0.698504 0.209551 310 222 309 217 313 218 Trgb +0.000000 0.698504 0.209551 309 217 312 214 313 218 Trgb +0.000000 0.698504 0.209551 312 214 317 215 313 218 Trgb +0.000000 0.698504 0.209551 317 215 318 220 313 218 Trgb +0.000000 0.039441 0.011832 303 258 315 223 318 220 Trgb +0.000000 0.039755 0.011926 303 258 318 220 306 256 Trgb +0.000000 0.013042 0.003913 299 257 310 222 315 223 Trgb +0.000000 0.026084 0.007825 299 257 315 223 303 258 Trgb +0.000000 0.000000 0.000000 298 253 309 217 310 222 Trgb +0.000000 0.000000 0.000000 298 253 310 222 299 257 Trgb +0.000000 0.696509 0.208953 351 168 348 168 348 166 Trgb +0.000000 0.696509 0.208953 348 168 346 166 348 166 Trgb +0.000000 0.696509 0.208953 346 166 345 164 348 166 Trgb +0.000000 0.696509 0.208953 345 164 348 164 348 166 Trgb +0.000000 0.696509 0.208953 348 164 351 166 348 166 Trgb +0.000000 0.696509 0.208953 351 166 351 168 348 166 Trgb +0.000000 0.059893 0.017968 314 220 348 168 351 168 Trgb +0.000000 0.060927 0.018278 314 220 351 168 316 221 Trgb +0.000000 0.019620 0.005886 311 218 346 166 348 168 Trgb +0.000000 0.039239 0.011772 311 218 348 168 314 220 Trgb +0.000000 0.000000 0.000000 311 216 345 164 346 166 Trgb +0.000000 0.000000 0.000000 311 216 346 166 311 218 Trgb +0.000000 0.000000 0.000000 350 168 349 168 348 166 Trgb +0.000000 0.000000 0.000000 349 168 347 166 348 166 Trgb +0.000000 0.000000 0.000000 347 166 346 164 348 166 Trgb +0.000000 0.000000 0.000000 346 164 347 164 348 166 Trgb +0.000000 0.000000 0.000000 347 164 349 166 348 166 Trgb +0.000000 0.000000 0.000000 349 166 350 168 348 166 Trgb +0.000000 0.238723 0.071617 349 166 385 141 386 143 Trgb +0.000000 0.241460 0.072438 349 166 386 143 350 168 Trgb +0.000000 0.078662 0.023599 347 164 384 140 385 141 Trgb +0.000000 0.157324 0.047197 347 164 385 141 349 166 Trgb +0.000000 0.000000 0.000000 346 164 383 140 384 140 Trgb +0.000000 0.000000 0.000000 346 164 384 140 347 164 Trgb +0.340732 0.248642 0.117875 397 153 395 142 402 143 Trgb +0.278657 0.203344 0.096400 395 127 402 143 395 142 Trgb +0.247789 0.180819 0.085722 395 142 386 130 395 127 Trgb +0.119439 0.087158 0.041319 386 130 377 126 395 127 Trgb +0.106393 0.077638 0.036806 376 140 383 156 371 151 Trgb +0.318775 0.232620 0.110279 395 142 397 153 383 156 Trgb +0.234743 0.171299 0.081209 383 156 376 140 395 142 Trgb +0.225832 0.164797 0.078126 386 130 395 142 376 140 Trgb +0.033948 0.024773 0.011744 366 140 376 140 371 151 Trgb +0.000000 0.000000 0.000000 372 130 377 126 366 140 Trgb +0.033948 0.024773 0.011744 376 140 366 140 377 126 Trgb +0.097482 0.071136 0.033724 377 126 386 130 376 140 Trgb +0.072446 0.052866 0.025062 383 156 373 156 371 151 Trgb +0.228924 0.167052 0.079195 397 153 391 158 383 156 Trgb +0.110944 0.080959 0.038381 373 156 383 156 391 158 Trgb +0.000000 0.699929 0.209979 390 172 391 170 391 172 Trgb +0.000000 0.699929 0.209979 391 170 392 170 391 172 Trgb +0.000000 0.699929 0.209979 392 170 393 172 391 172 Trgb +0.000000 0.699929 0.209979 393 172 392 174 391 172 Trgb +0.000000 0.699929 0.209979 392 174 391 174 391 172 Trgb +0.000000 0.699929 0.209979 391 174 390 172 391 172 Trgb +0.000000 0.004526 0.001358 348 164 391 170 390 172 Trgb +0.000000 0.006998 0.002099 348 164 390 172 347 166 Trgb +0.000000 0.000685 0.000205 349 164 392 170 391 170 Trgb +0.000000 0.001370 0.000411 349 164 391 170 348 164 Trgb +0.000000 0.008785 0.002635 347 166 390 172 391 174 Trgb +0.000000 0.008100 0.002430 347 166 391 174 347 168 Trgb +0.315444 0.255254 0.114140 397 175 404 160 408 174 Trgb +0.160986 0.130268 0.058251 383 174 386 160 397 175 Trgb +0.207378 0.167808 0.075037 404 160 397 175 386 160 Trgb +0.095933 0.077628 0.034712 386 160 393 153 404 160 Trgb +0.267978 0.216844 0.096964 404 160 409 172 408 174 Trgb +0.330957 0.267806 0.119752 402 187 397 175 408 174 Trgb +0.176499 0.142820 0.063864 384 186 383 174 397 175 Trgb +0.238403 0.192912 0.086263 397 175 402 187 384 186 Trgb +0.137926 0.111608 0.049907 390 190 384 186 402 187 Trgb +0.049541 0.040088 0.017926 386 160 383 174 374 172 Trgb +0.015977 0.012928 0.005781 374 172 381 157 386 160 Trgb +0.015977 0.012928 0.005781 393 153 386 160 381 157 Trgb +0.283490 0.229397 0.102577 409 172 402 187 408 174 Trgb +0.065053 0.052640 0.023539 383 174 384 186 374 172 Trgb +0.031489 0.025481 0.011394 379 183 374 172 384 186 Trgb +0.042458 0.034357 0.015363 384 186 390 190 379 183 Trgb +0.000000 0.697723 0.209317 341 150 344 149 343 152 Trgb +0.000000 0.697723 0.209317 344 149 346 151 343 152 Trgb +0.000000 0.697723 0.209317 346 151 345 153 343 152 Trgb +0.000000 0.697723 0.209317 345 153 343 154 343 152 Trgb +0.000000 0.697723 0.209317 343 154 341 152 343 152 Trgb +0.000000 0.697723 0.209317 341 152 341 150 343 152 Trgb +0.000000 0.049494 0.014848 350 168 345 153 346 151 Trgb +0.000000 0.044068 0.013220 350 168 346 151 350 165 Trgb +0.000000 0.029160 0.008748 348 168 343 154 345 153 Trgb +0.000000 0.042040 0.012612 348 168 345 153 350 168 Trgb +0.000000 0.005426 0.001628 346 167 341 152 343 154 Trgb +0.000000 0.010853 0.003256 346 167 343 154 348 168 Trgb +0.041998 0.199607 0.048321 336 144 348 143 342 148 Trgb +0.000000 0.000000 0.000000 334 144 343 140 336 144 Trgb +0.020666 0.098222 0.023778 348 143 336 144 343 140 Trgb +0.028561 0.135744 0.032861 343 140 351 143 348 143 Trgb +0.080827 0.384157 0.092997 348 143 349 154 342 148 Trgb +0.101740 0.483551 0.117058 356 151 352 159 349 154 Trgb +0.088824 0.422164 0.102198 349 154 348 143 356 151 Trgb +0.057889 0.275137 0.066605 351 143 356 151 348 143 Trgb +0.030833 0.146542 0.035475 337 155 336 144 342 148 Trgb +0.000000 0.000000 0.000000 331 153 334 144 336 144 Trgb +0.009501 0.045158 0.010932 336 144 337 155 331 153 Trgb +0.009501 0.045158 0.010932 335 161 331 153 337 155 Trgb +0.069662 0.331092 0.080151 349 154 337 155 342 148 Trgb +0.090575 0.430486 0.104212 352 159 344 163 349 154 Trgb +0.066494 0.316036 0.076506 337 155 349 154 344 163 Trgb +0.027665 0.131486 0.031830 344 163 335 161 337 155 Trgb +0.000000 0.699775 0.209933 370 210 368 207 370 207 Trgb +0.000000 0.699775 0.209933 368 207 369 204 370 207 Trgb +0.000000 0.699775 0.209933 369 204 370 203 370 207 Trgb +0.000000 0.699775 0.209933 370 203 372 206 370 207 Trgb +0.000000 0.699775 0.209933 372 206 372 209 370 207 Trgb +0.000000 0.699775 0.209933 372 209 370 210 370 207 Trgb +0.000000 0.011674 0.003502 312 219 368 207 370 210 Trgb +0.000000 0.014707 0.004412 312 219 370 210 313 222 Trgb +0.000000 0.002881 0.000864 312 216 369 204 368 207 Trgb +0.000000 0.005761 0.001728 312 216 368 207 312 219 Trgb +0.000000 0.014859 0.004458 313 222 370 210 372 209 Trgb +0.000000 0.011978 0.003594 313 222 372 209 315 221 Trgb +0.000000 0.000000 0.000000 369 208 369 209 370 207 Trgb +0.000000 0.000000 0.000000 369 209 369 207 370 207 Trgb +0.000000 0.000000 0.000000 369 207 371 205 370 207 Trgb +0.000000 0.000000 0.000000 371 205 372 205 370 207 Trgb +0.000000 0.000000 0.000000 372 205 371 206 370 207 Trgb +0.000000 0.000000 0.000000 371 206 369 208 370 207 Trgb +0.000000 0.033825 0.010148 371 206 410 235 409 237 Trgb +0.000000 0.027366 0.008210 371 206 409 237 369 208 Trgb +0.000000 0.026347 0.007904 372 205 411 234 410 235 Trgb +0.000000 0.033316 0.009995 372 205 410 235 371 206 Trgb +0.000000 0.013938 0.004181 369 208 409 237 408 237 Trgb +0.000000 0.006969 0.002091 369 208 408 237 369 209 Trgb +0.402052 0.138238 0.108058 417 254 429 236 426 248 Trgb +0.324052 0.111419 0.087094 402 249 413 237 417 254 Trgb +0.415721 0.142938 0.111732 429 236 417 254 413 237 Trgb +0.399297 0.137291 0.107317 413 237 421 224 429 236 Trgb +0.303041 0.104195 0.081447 421 224 422 218 429 236 Trgb +0.196628 0.067607 0.052847 397 253 402 249 417 254 Trgb +0.000000 0.000000 0.000000 405 218 392 236 392 223 Trgb +0.195487 0.067215 0.052540 413 237 402 249 392 236 Trgb +0.127423 0.043812 0.034247 392 236 405 218 413 237 Trgb +0.239564 0.082370 0.064387 421 224 413 237 405 218 Trgb +0.000000 0.000000 0.000000 402 218 405 218 392 223 Trgb +0.031167 0.010716 0.008377 405 218 402 218 422 218 Trgb +0.143308 0.049274 0.038516 422 218 421 224 405 218 Trgb +0.000000 0.000000 0.000000 392 236 390 235 392 223 Trgb +0.068063 0.023402 0.018293 402 249 397 253 392 236 Trgb +0.000000 0.000000 0.000000 390 235 392 236 397 253 Trgb +0.000000 0.699725 0.209917 388 238 390 237 389 239 Trgb +0.000000 0.699725 0.209917 390 237 392 238 389 239 Trgb +0.000000 0.699725 0.209917 392 238 391 240 389 239 Trgb +0.000000 0.699725 0.209917 391 240 388 241 389 239 Trgb +0.000000 0.699725 0.209917 388 241 387 240 389 239 Trgb +0.000000 0.699725 0.209917 387 240 388 238 389 239 Trgb +0.000000 0.011031 0.003309 371 205 390 237 388 238 Trgb +0.000000 0.005515 0.001655 371 205 388 238 369 206 Trgb +0.000000 0.017121 0.005136 372 206 392 238 390 237 Trgb +0.000000 0.016834 0.005050 372 206 390 237 371 205 Trgb +0.000000 0.000000 0.000000 369 206 388 238 387 240 Trgb +0.000000 0.000000 0.000000 369 206 387 240 368 207 Trgb +0.349698 0.218700 0.113680 387 242 406 239 397 252 Trgb +0.133776 0.083663 0.043488 379 231 393 224 387 242 Trgb +0.271918 0.170056 0.088395 406 239 387 242 393 224 Trgb +0.255724 0.159929 0.083131 393 224 405 226 406 239 Trgb +0.354064 0.221431 0.115099 406 239 402 254 397 252 Trgb +0.280651 0.175518 0.091234 402 254 406 239 407 236 Trgb +0.260091 0.162660 0.084550 405 226 407 236 406 239 Trgb +0.250481 0.156650 0.081426 384 257 387 242 397 252 Trgb +0.086350 0.054003 0.028071 371 242 379 231 387 242 Trgb +0.125275 0.078347 0.040724 387 242 384 257 371 242 Trgb +0.038925 0.024344 0.012654 374 251 371 242 384 257 Trgb +0.047425 0.029660 0.015417 393 224 379 231 376 224 Trgb +0.047425 0.029660 0.015417 376 224 394 221 393 224 Trgb +0.117582 0.073536 0.038224 405 226 393 224 394 221 Trgb +0.254847 0.159381 0.082846 402 254 384 257 397 252 Trgb +0.000000 0.000000 0.000000 379 231 371 242 376 224 Trgb +0.000000 0.682373 0.204712 391 162 392 163 390 162 Trgb +0.000000 0.682373 0.204712 392 163 391 163 390 162 Trgb +0.000000 0.682373 0.204712 391 163 389 162 390 162 Trgb +0.000000 0.682373 0.204712 389 162 388 161 390 162 Trgb +0.000000 0.682373 0.204712 388 161 389 161 390 162 Trgb +0.000000 0.682373 0.204712 389 161 391 162 390 162 Trgb +0.000000 0.137665 0.041299 371 208 391 163 392 163 Trgb +0.000000 0.128141 0.038442 371 208 392 163 372 208 Trgb +0.000000 0.068110 0.020433 369 207 389 162 391 163 Trgb +0.000000 0.107649 0.032295 369 207 391 163 371 208 Trgb +0.000000 0.009524 0.002857 368 206 388 161 389 162 Trgb +0.000000 0.019047 0.005714 368 206 389 162 369 207 Trgb +0.163081 0.086165 0.049849 403 150 407 155 399 143 Trgb +0.357741 0.189016 0.109351 408 169 406 171 407 155 Trgb +0.201687 0.106563 0.061650 407 155 389 148 399 143 Trgb +0.192638 0.101782 0.058884 394 168 380 161 389 148 Trgb +0.292072 0.154319 0.089278 389 148 407 155 394 168 Trgb +0.396347 0.209413 0.121152 406 171 394 168 407 155 Trgb +0.311639 0.164657 0.095259 406 171 408 169 395 181 Trgb +0.074953 0.039602 0.022911 389 148 385 143 399 143 Trgb +0.069652 0.036801 0.021291 380 161 372 155 389 148 Trgb +0.042354 0.022378 0.012946 385 143 389 148 372 155 Trgb +0.080631 0.042602 0.024647 377 174 395 181 382 180 Trgb +0.150284 0.079404 0.045937 380 161 394 168 377 174 Trgb +0.203616 0.107582 0.062240 395 181 377 174 394 168 Trgb +0.350245 0.185055 0.107060 394 168 406 171 395 181 Trgb +0.027298 0.014423 0.008344 372 155 380 161 377 174 Trgb +0.000000 0.000000 0.000000 377 174 374 169 372 155 Trgb +0.000000 0.697969 0.209391 293 250 295 248 296 251 Trgb +0.000000 0.697969 0.209391 295 248 299 249 296 251 Trgb +0.000000 0.697969 0.209391 299 249 299 253 296 251 Trgb +0.000000 0.697969 0.209391 299 253 297 254 296 251 Trgb +0.000000 0.697969 0.209391 297 254 293 253 296 251 Trgb +0.000000 0.697969 0.209391 293 253 293 250 296 251 Trgb +0.000000 0.000000 0.000000 313 215 295 248 293 250 Trgb +0.000000 0.000000 0.000000 313 215 293 250 310 217 Trgb +0.000000 0.029354 0.008806 316 217 299 249 295 248 Trgb +0.000000 0.014677 0.004403 316 217 295 248 313 215 Trgb +0.000000 0.046680 0.014004 317 220 299 253 299 249 Trgb +0.000000 0.045355 0.013607 317 220 299 249 316 217 Trgb +0.156998 0.121144 0.055628 280 252 297 247 291 260 Trgb +0.000000 0.000000 0.000000 279 244 288 235 280 252 Trgb +0.084838 0.065463 0.030060 297 247 280 252 288 235 Trgb +0.132657 0.102362 0.047004 288 235 302 236 297 247 Trgb +0.278211 0.214675 0.098577 297 247 305 263 291 260 Trgb +0.324474 0.250373 0.114969 312 246 313 259 305 263 Trgb +0.310052 0.239244 0.109859 305 263 297 247 312 246 Trgb +0.236658 0.182612 0.083854 302 236 312 246 297 247 Trgb +0.089372 0.068962 0.031667 289 268 280 252 291 260 Trgb +0.000000 0.000000 0.000000 280 256 279 244 280 252 Trgb +0.017212 0.013281 0.006099 280 252 289 268 280 256 Trgb +0.047819 0.036898 0.016943 302 236 288 235 303 235 Trgb +0.210585 0.162493 0.074615 305 263 289 268 291 260 Trgb +0.256848 0.198191 0.091008 313 259 304 267 305 263 Trgb +0.174799 0.134880 0.061936 289 268 305 263 304 267 Trgb +0.151820 0.117148 0.053794 312 246 302 236 303 235 Trgb +0.000000 0.699942 0.209983 348 304 347 302 351 301 Trgb +0.000000 0.699942 0.209983 347 302 349 298 351 301 Trgb +0.000000 0.699942 0.209983 349 298 353 297 351 301 Trgb +0.000000 0.699942 0.209983 353 297 355 300 351 301 Trgb +0.000000 0.699942 0.209983 355 300 352 303 351 301 Trgb +0.000000 0.699942 0.209983 352 303 348 304 351 301 Trgb +0.000000 0.000000 0.000000 298 255 347 302 348 304 Trgb +0.000000 0.000000 0.000000 298 255 348 304 300 258 Trgb +0.000000 0.001821 0.000546 301 252 349 298 347 302 Trgb +0.000000 0.000911 0.000273 301 252 347 302 298 255 Trgb +0.000000 0.006793 0.002038 304 251 353 297 349 298 Trgb +0.000000 0.004762 0.001429 304 251 349 298 301 252 Trgb +0.000000 0.018322 0.005497 350 301 386 356 384 357 Trgb +0.000000 0.009161 0.002748 350 301 384 357 348 302 Trgb +0.000000 0.035636 0.010691 353 299 389 354 386 356 Trgb +0.000000 0.031560 0.009468 353 299 386 356 350 301 Trgb +0.000000 0.021390 0.006417 353 299 390 354 389 354 Trgb +0.000000 0.030551 0.009165 353 299 389 354 353 299 Trgb +0.000000 0.677885 0.203366 386 356 385 355 387 356 Trgb +0.000000 0.677885 0.203366 385 355 386 354 387 356 Trgb +0.000000 0.677885 0.203366 386 354 388 355 387 356 Trgb +0.000000 0.677885 0.203366 388 355 389 356 387 356 Trgb +0.000000 0.677885 0.203366 389 356 388 357 387 356 Trgb +0.000000 0.677885 0.203366 388 357 386 356 387 356 Trgb +0.000000 0.144797 0.043439 388 357 369 396 367 395 Trgb +0.000000 0.115047 0.034514 388 357 367 395 386 356 Trgb +0.000000 0.117682 0.035305 389 356 369 395 369 396 Trgb +0.000000 0.146114 0.043834 389 356 369 396 388 357 Trgb +0.000000 0.056865 0.017059 386 356 367 395 365 394 Trgb +0.000000 0.028432 0.008530 386 356 365 394 385 355 Trgb +0.009232 0.148327 0.031512 363 401 370 403 364 402 Trgb +0.022270 0.357806 0.076015 365 397 371 399 363 401 Trgb +0.022149 0.355867 0.075603 370 403 363 401 371 399 Trgb +0.031065 0.499105 0.106034 371 399 375 399 370 403 Trgb +0.009353 0.150267 0.031924 360 393 365 397 363 401 Trgb +0.002795 0.044900 0.009539 363 401 359 396 360 393 Trgb +0.000000 0.000000 0.000000 360 390 360 393 359 396 Trgb +0.019209 0.308621 0.065566 376 392 369 391 371 387 Trgb +0.025955 0.417018 0.088595 371 399 365 397 369 391 Trgb +0.029520 0.474291 0.100762 369 391 376 392 371 399 Trgb +0.034750 0.558317 0.118613 375 399 371 399 376 392 Trgb +0.009086 0.145981 0.031013 369 391 365 386 371 387 Trgb +0.013038 0.209479 0.044503 365 397 360 393 369 391 Trgb +0.006480 0.104112 0.022118 365 386 369 391 360 393 Trgb +0.000000 0.000000 0.000000 360 393 360 390 365 386 Trgb +0.000000 0.698602 0.209581 389 395 390 396 387 396 Trgb +0.000000 0.698602 0.209581 390 396 388 397 387 396 Trgb +0.000000 0.698602 0.209581 388 397 386 397 387 396 Trgb +0.000000 0.698602 0.209581 386 397 385 396 387 396 Trgb +0.000000 0.698602 0.209581 385 396 387 395 387 396 Trgb +0.000000 0.698602 0.209581 387 395 389 395 387 396 Trgb +0.000000 0.037233 0.011170 389 356 390 396 389 395 Trgb +0.000000 0.038872 0.011662 389 356 389 395 389 355 Trgb +0.000000 0.003278 0.000983 386 354 387 395 385 396 Trgb +0.000000 0.001639 0.000492 386 354 385 396 385 355 Trgb +0.000000 0.028646 0.008594 389 355 389 395 387 395 Trgb +0.000000 0.016781 0.005034 389 355 387 395 386 354 Trgb +0.404995 0.114698 0.103939 398 404 399 414 388 415 Trgb +0.435739 0.123405 0.111829 402 388 409 395 398 404 Trgb +0.425131 0.120400 0.109106 399 414 398 404 409 395 Trgb +0.324162 0.091805 0.083193 376 404 398 404 388 415 Trgb +0.354905 0.100512 0.091083 386 385 402 388 398 404 Trgb +0.263463 0.074615 0.067616 398 404 376 404 386 385 Trgb +0.091315 0.025861 0.023435 371 389 386 385 376 404 Trgb +0.276324 0.078257 0.070916 409 395 402 388 397 377 Trgb +0.152013 0.043051 0.039013 377 414 376 404 388 415 Trgb +0.039290 0.011127 0.010084 376 404 377 414 366 396 Trgb +0.039290 0.011127 0.010084 366 396 371 389 376 404 Trgb +0.195491 0.055364 0.050171 402 388 386 385 397 377 Trgb +0.064759 0.018340 0.016620 376 378 397 377 386 385 Trgb +0.052024 0.014734 0.013352 386 385 371 389 376 378 Trgb +0.000000 0.000000 0.000000 371 389 366 396 376 378 Trgb +0.000000 0.699996 0.209999 421 374 420 376 419 375 Trgb +0.000000 0.699996 0.209999 420 376 419 377 419 375 Trgb +0.000000 0.699996 0.209999 419 377 418 376 419 375 Trgb +0.000000 0.699996 0.209999 418 376 418 374 419 375 Trgb +0.000000 0.699996 0.209999 418 374 420 373 419 375 Trgb +0.000000 0.699996 0.209999 420 373 421 374 419 375 Trgb +0.000000 0.000000 0.000000 385 357 418 376 419 377 Trgb +0.000000 0.000000 0.000000 385 357 419 377 386 358 Trgb +0.000000 0.000000 0.000000 386 355 418 374 418 376 Trgb +0.000000 0.000000 0.000000 386 355 418 376 385 357 Trgb +0.000000 0.001176 0.000353 388 354 420 373 418 374 Trgb +0.000000 0.000588 0.000176 388 354 418 374 386 355 Trgb +0.289362 0.280459 0.113964 436 374 429 389 431 382 Trgb +0.278122 0.269564 0.109537 429 389 419 386 431 382 Trgb +0.077960 0.075561 0.030704 412 390 407 384 419 386 Trgb +0.159921 0.155000 0.062984 419 386 429 389 412 390 Trgb +0.292601 0.283598 0.115240 426 371 436 374 431 382 Trgb +0.104389 0.101177 0.041113 426 360 431 366 436 374 Trgb +0.181640 0.176051 0.071538 436 374 426 371 426 360 Trgb +0.094729 0.091814 0.037309 417 362 426 360 426 371 Trgb +0.281360 0.272703 0.110813 419 386 426 371 431 382 Trgb +0.077960 0.075561 0.030704 407 384 409 372 419 386 Trgb +0.163159 0.158139 0.064260 426 371 419 386 409 372 Trgb +0.087489 0.084798 0.034457 409 372 417 362 426 371 Trgb +0.009530 0.009236 0.003753 426 360 417 362 410 361 Trgb +0.000000 0.000000 0.000000 409 372 407 384 403 376 Trgb +0.000000 0.000000 0.000000 403 376 410 361 409 372 Trgb +0.002290 0.002219 0.000902 417 362 409 372 410 361 Trgb +0.000000 0.697280 0.209184 347 363 350 363 349 364 Trgb +0.000000 0.697280 0.209184 350 363 352 364 349 364 Trgb +0.000000 0.697280 0.209184 352 364 351 365 349 364 Trgb +0.000000 0.697280 0.209184 351 365 348 365 349 364 Trgb +0.000000 0.697280 0.209184 348 365 346 364 349 364 Trgb +0.000000 0.697280 0.209184 346 364 347 363 349 364 Trgb +0.000000 0.034648 0.010394 352 300 350 363 347 363 Trgb +0.000000 0.017324 0.005197 352 300 347 363 349 300 Trgb +0.000000 0.053795 0.016138 354 301 352 364 350 363 Trgb +0.000000 0.052883 0.015865 354 301 350 363 352 300 Trgb +0.000000 0.000000 0.000000 349 300 347 363 346 364 Trgb +0.000000 0.000000 0.000000 349 300 346 364 348 301 Trgb +0.308371 0.106028 0.082880 340 375 360 376 349 384 Trgb +0.157725 0.054231 0.042391 336 359 352 359 340 375 Trgb +0.324928 0.111721 0.087330 360 376 340 375 352 359 Trgb +0.420222 0.144486 0.112941 352 359 366 361 360 376 Trgb +0.317849 0.109287 0.085427 360 376 358 381 349 384 Trgb +0.343885 0.118239 0.092425 358 381 360 376 369 365 Trgb +0.429700 0.147745 0.115489 366 361 369 365 360 376 Trgb +0.141167 0.048538 0.037941 337 380 340 375 349 384 Trgb +0.055697 0.019150 0.014970 329 363 336 359 340 375 Trgb +0.055697 0.019150 0.014970 340 375 337 380 329 363 Trgb +0.046330 0.015930 0.012452 361 348 341 347 350 344 Trgb +0.102027 0.035080 0.027422 352 359 336 359 341 347 Trgb +0.148358 0.051010 0.039874 341 347 361 348 352 359 Trgb +0.299349 0.102926 0.080455 366 361 352 359 361 348 Trgb +0.308827 0.106185 0.083002 369 365 366 361 361 348 Trgb +0.000000 0.000000 0.000000 336 359 329 363 341 347 Trgb +0.000000 0.698661 0.209598 356 291 357 294 353 293 Trgb +0.000000 0.698661 0.209598 357 294 354 296 353 293 Trgb +0.000000 0.698661 0.209598 354 296 351 295 353 293 Trgb +0.000000 0.698661 0.209598 351 295 350 292 353 293 Trgb +0.000000 0.698661 0.209598 350 292 353 290 353 293 Trgb +0.000000 0.698661 0.209598 353 290 356 291 353 293 Trgb +0.000000 0.033302 0.009991 352 304 354 296 357 294 Trgb +0.000000 0.037838 0.011351 352 304 357 294 354 302 Trgb +0.000000 0.009589 0.002877 348 303 351 295 354 296 Trgb +0.000000 0.019177 0.005753 348 303 354 296 352 304 Trgb +0.000000 0.000000 0.000000 348 300 350 292 351 295 Trgb +0.000000 0.000000 0.000000 348 300 351 295 348 303 Trgb +0.000000 0.000000 0.000000 328 260 328 261 326 261 Trgb +0.000000 0.000000 0.000000 328 261 326 263 326 261 Trgb +0.000000 0.000000 0.000000 326 263 324 263 326 261 Trgb +0.000000 0.000000 0.000000 324 263 324 262 326 261 Trgb +0.000000 0.000000 0.000000 324 262 326 260 326 261 Trgb +0.000000 0.000000 0.000000 326 260 328 260 326 261 Trgb +0.000000 0.115033 0.034510 355 293 328 261 328 260 Trgb +0.000000 0.073975 0.022192 355 293 328 260 355 291 Trgb +0.000000 0.134147 0.040244 354 295 326 263 328 261 Trgb +0.000000 0.145119 0.043536 354 295 328 261 355 293 Trgb +0.000000 0.041058 0.012317 352 295 324 263 326 263 Trgb +0.000000 0.082116 0.024635 352 295 326 263 354 295 Trgb +0.012930 0.111978 0.024982 327 251 325 259 320 255 Trgb +0.024464 0.211872 0.047267 334 254 335 258 327 251 Trgb +0.032663 0.282874 0.063107 325 259 327 251 335 258 Trgb +0.055838 0.483582 0.107884 335 258 331 265 325 259 Trgb +0.012930 0.111978 0.024982 325 259 317 262 320 255 Trgb +0.013042 0.112948 0.025198 324 269 319 269 317 262 Trgb +0.025972 0.224926 0.050180 317 262 325 259 324 269 Trgb +0.049147 0.425634 0.094956 331 265 324 269 325 259 Trgb +0.000000 0.000000 0.000000 319 254 327 251 320 255 Trgb +0.046381 0.401681 0.089613 336 261 334 269 335 258 Trgb +0.062754 0.543471 0.121245 331 265 335 258 334 269 Trgb +0.000000 0.000000 0.000000 317 262 319 254 320 255 Trgb +0.013154 0.113918 0.025414 319 269 324 269 325 272 Trgb +0.032999 0.285785 0.063757 334 269 325 272 324 269 Trgb +0.056063 0.485523 0.108317 324 269 331 265 334 269 Trgb +0.000000 0.677401 0.203220 372 250 370 250 370 249 Trgb +0.000000 0.677401 0.203220 370 250 368 249 370 249 Trgb +0.000000 0.677401 0.203220 368 249 367 248 370 249 Trgb +0.000000 0.677401 0.203220 367 248 369 248 370 249 Trgb +0.000000 0.677401 0.203220 369 248 371 249 370 249 Trgb +0.000000 0.677401 0.203220 371 249 372 250 370 249 Trgb +0.000000 0.155473 0.046642 354 294 370 250 372 250 Trgb +0.000000 0.146657 0.043997 354 294 372 250 356 294 Trgb +0.000000 0.072397 0.021719 352 293 368 249 370 250 Trgb +0.000000 0.118344 0.035503 352 293 370 250 354 294 Trgb +0.000000 0.008817 0.002645 351 292 367 248 368 249 Trgb +0.000000 0.017634 0.005290 351 292 368 249 352 293 Trgb +0.253712 0.080223 0.066787 390 240 373 240 377 229 Trgb +0.428856 0.135602 0.112892 390 257 383 259 390 240 Trgb +0.393311 0.124363 0.103535 373 240 390 240 383 259 Trgb +0.382168 0.120840 0.100601 383 259 367 256 373 240 Trgb +0.133898 0.042338 0.035247 373 240 360 230 377 229 Trgb +0.000000 0.000000 0.000000 353 248 349 241 360 230 Trgb +0.100475 0.031770 0.026449 360 230 373 240 353 248 Trgb +0.209145 0.066131 0.055055 367 256 353 248 373 240 Trgb +0.125755 0.039763 0.033104 363 268 379 268 362 269 Trgb +0.381589 0.120657 0.100449 383 259 390 257 379 268 Trgb +0.298777 0.094472 0.078650 379 268 363 268 383 259 Trgb +0.334900 0.105894 0.088159 367 256 383 259 363 268 Trgb +0.053208 0.016824 0.014006 350 258 363 268 362 269 Trgb +0.000000 0.000000 0.000000 349 241 353 248 350 258 Trgb +0.053208 0.016824 0.014006 363 268 350 258 353 248 Trgb +0.161878 0.051185 0.042613 353 248 367 256 363 268 Trgb +0.000000 0.699775 0.209932 374 329 375 328 376 328 Trgb +0.000000 0.699775 0.209932 375 328 377 327 376 328 Trgb +0.000000 0.699775 0.209932 377 327 378 327 376 328 Trgb +0.000000 0.699775 0.209932 378 327 378 329 376 328 Trgb +0.000000 0.699775 0.209932 378 329 375 330 376 328 Trgb +0.000000 0.699775 0.209932 375 330 374 329 376 328 Trgb +0.000000 0.000000 0.000000 352 292 375 328 374 329 Trgb +0.000000 0.000000 0.000000 352 292 374 329 351 294 Trgb +0.000000 0.010089 0.003027 354 291 377 327 375 328 Trgb +0.000000 0.005044 0.001513 354 291 375 328 352 292 Trgb +0.000000 0.015452 0.004635 356 292 378 327 377 327 Trgb +0.000000 0.015292 0.004588 356 292 377 327 354 291 Trgb +0.251815 0.220453 0.094454 371 344 380 331 385 342 Trgb +0.043448 0.038037 0.016297 360 337 362 328 371 344 Trgb +0.140870 0.123326 0.052839 380 331 371 344 362 328 Trgb +0.124253 0.108778 0.046606 362 328 373 319 380 331 Trgb +0.321818 0.281738 0.120711 380 331 393 331 385 342 Trgb +0.216925 0.189909 0.081367 385 315 392 319 393 331 Trgb +0.264847 0.231862 0.099342 393 331 380 331 385 315 Trgb +0.178226 0.156030 0.066851 373 319 385 315 380 331 Trgb +0.213871 0.187235 0.080221 384 344 371 344 385 342 Trgb +0.000000 0.000000 0.000000 362 328 360 337 359 325 Trgb +0.000000 0.000000 0.000000 359 325 368 312 362 328 Trgb +0.026831 0.023489 0.010064 373 319 362 328 368 312 Trgb +0.283874 0.248520 0.106479 393 331 384 344 385 342 Trgb +0.103473 0.090587 0.038812 392 319 385 315 381 313 Trgb +0.053974 0.047252 0.020245 368 312 381 313 385 315 Trgb +0.080804 0.070741 0.030309 385 315 373 319 368 312 Trgb +0.000000 0.665402 0.199621 241 278 244 280 242 282 Trgb +0.000000 0.665402 0.199621 244 280 245 284 242 282 Trgb +0.000000 0.665402 0.199621 245 284 243 286 242 282 Trgb +0.000000 0.665402 0.199621 243 286 240 284 242 282 Trgb +0.000000 0.665402 0.199621 240 284 239 280 242 282 Trgb +0.000000 0.665402 0.199621 239 280 241 278 242 282 Trgb +0.000000 0.101649 0.030495 305 252 244 280 241 278 Trgb +0.000000 0.050824 0.015247 305 252 241 278 301 250 Trgb +0.000000 0.191076 0.057323 305 257 245 284 244 280 Trgb +0.000000 0.171775 0.051532 305 257 244 280 305 252 Trgb +0.000000 0.108729 0.032619 303 259 243 286 245 284 Trgb +0.000000 0.159553 0.047866 303 259 245 284 305 257 Trgb +0.000000 0.000000 0.000000 183 257 182 260 181 259 Trgb +0.000000 0.000000 0.000000 182 260 180 262 181 259 Trgb +0.000000 0.000000 0.000000 180 262 180 261 181 259 Trgb +0.000000 0.000000 0.000000 180 261 181 258 181 259 Trgb +0.000000 0.000000 0.000000 181 258 182 256 181 259 Trgb +0.000000 0.000000 0.000000 182 256 183 257 181 259 Trgb +0.000000 0.058545 0.017564 243 283 182 260 183 257 Trgb +0.000000 0.052058 0.015618 243 283 183 257 243 280 Trgb +0.000000 0.034650 0.010395 241 285 180 262 182 260 Trgb +0.000000 0.049841 0.014952 241 285 182 260 243 283 Trgb +0.000000 0.030381 0.009114 243 280 183 257 182 256 Trgb +0.000000 0.015191 0.004557 243 280 182 256 243 279 Trgb +0.000000 0.699531 0.209859 182 258 183 258 181 259 Trgb +0.000000 0.699531 0.209859 183 258 182 259 181 259 Trgb +0.000000 0.699531 0.209859 182 259 180 260 181 259 Trgb +0.000000 0.699531 0.209859 180 260 179 260 181 259 Trgb +0.000000 0.699531 0.209859 179 260 180 259 181 259 Trgb +0.000000 0.699531 0.209859 180 259 182 258 181 259 Trgb +0.000000 0.018127 0.005438 180 259 158 222 160 221 Trgb +0.000000 0.021833 0.006550 180 259 160 221 182 258 Trgb +0.000000 0.004807 0.001442 179 260 157 224 158 222 Trgb +0.000000 0.009615 0.002884 179 260 158 222 180 259 Trgb +0.000000 0.020731 0.006219 182 258 160 221 161 221 Trgb +0.000000 0.015923 0.004777 182 258 161 221 183 258 Trgb +0.000000 0.000000 0.000000 158 206 144 215 151 210 Trgb +0.125687 0.116237 0.048385 165 212 154 217 158 206 Trgb +0.054272 0.050191 0.020893 144 215 158 206 154 217 Trgb +0.059609 0.055128 0.022947 154 217 145 225 144 215 Trgb +0.005337 0.004936 0.002055 145 225 145 232 144 215 Trgb +0.118139 0.109256 0.045479 173 213 165 212 158 206 Trgb +0.290405 0.268570 0.111795 155 233 169 224 167 235 Trgb +0.245347 0.226900 0.094449 154 217 165 212 169 224 Trgb +0.246867 0.228306 0.095035 169 224 155 233 154 217 Trgb +0.132545 0.122579 0.051025 145 225 154 217 155 233 Trgb +0.189409 0.175168 0.072915 160 239 155 233 167 235 Trgb +0.091599 0.084712 0.035262 155 233 160 239 145 232 Trgb +0.078273 0.072388 0.030132 145 232 145 225 155 233 Trgb +0.282857 0.261589 0.108889 169 224 174 230 167 235 Trgb +0.237798 0.219919 0.091543 165 212 173 213 169 224 Trgb +0.231771 0.214345 0.089223 174 230 169 224 173 213 Trgb +0.000000 0.687742 0.206322 155 248 154 246 156 245 Trgb +0.000000 0.687742 0.206322 154 246 155 244 156 245 Trgb +0.000000 0.687742 0.206322 155 244 157 243 156 245 Trgb +0.000000 0.687742 0.206322 157 243 158 244 156 245 Trgb +0.000000 0.687742 0.206322 158 244 157 247 156 245 Trgb +0.000000 0.687742 0.206322 157 247 155 248 156 245 Trgb +0.000000 0.066457 0.019937 183 258 158 244 157 243 Trgb +0.000000 0.033228 0.009969 183 258 157 243 182 257 Trgb +0.000000 0.115018 0.034505 183 261 157 247 158 244 Trgb +0.000000 0.107351 0.032205 183 261 158 244 183 258 Trgb +0.000000 0.056227 0.016868 181 261 155 248 157 247 Trgb +0.000000 0.089455 0.026837 181 261 157 247 183 261 Trgb +0.095233 0.034446 0.025936 143 255 136 238 145 239 Trgb +0.080765 0.029213 0.021996 149 265 139 256 143 255 Trgb +0.051549 0.018645 0.014039 136 238 143 255 139 256 Trgb +0.053915 0.019501 0.014683 136 238 153 226 145 239 Trgb +0.010230 0.003700 0.002786 153 226 136 238 149 228 Trgb +0.241449 0.087332 0.065756 160 244 143 255 145 239 Trgb +0.216750 0.078399 0.059030 163 263 149 265 143 255 Trgb +0.333750 0.120718 0.090894 143 255 160 244 163 263 Trgb +0.445297 0.161065 0.121272 173 250 163 263 160 244 Trgb +0.200131 0.072388 0.054504 153 226 160 244 145 239 Trgb +0.104898 0.037942 0.028568 163 225 173 234 153 226 Trgb +0.251114 0.090828 0.068388 160 244 153 226 173 234 Trgb +0.403979 0.146120 0.110020 173 234 173 250 160 244 Trgb +0.165202 0.059754 0.044991 149 265 163 263 159 264 Trgb +0.383518 0.138719 0.104448 163 263 173 250 176 253 Trgb +0.342200 0.123775 0.093195 173 250 173 234 176 253 Trgb +0.000000 0.000000 0.000000 138 279 137 277 139 279 Trgb +0.000000 0.000000 0.000000 137 277 138 277 139 279 Trgb +0.000000 0.000000 0.000000 138 277 139 279 139 279 Trgb +0.000000 0.000000 0.000000 139 279 140 281 139 279 Trgb +0.000000 0.000000 0.000000 140 281 139 281 139 279 Trgb +0.000000 0.000000 0.000000 139 281 138 279 139 279 Trgb +0.000000 0.007901 0.002370 181 257 138 277 137 277 Trgb +0.000000 0.003951 0.001185 181 257 137 277 180 257 Trgb +0.000000 0.086361 0.025908 182 259 139 279 138 277 Trgb +0.000000 0.049106 0.014732 182 259 138 277 181 257 Trgb +0.000000 0.115714 0.034714 182 261 140 281 139 279 Trgb +0.000000 0.119664 0.035899 182 261 139 279 182 259 Trgb +0.103705 0.001023 0.020945 115 270 125 287 116 290 Trgb +0.383332 0.003780 0.077422 134 263 143 280 125 287 Trgb +0.180283 0.001778 0.036412 125 287 115 270 134 263 Trgb +0.076578 0.000755 0.015467 128 256 134 263 115 270 Trgb +0.130831 0.001290 0.026424 125 287 130 303 116 290 Trgb +0.517330 0.005102 0.104486 143 280 149 296 125 287 Trgb +0.341407 0.003367 0.068955 130 303 125 287 149 296 Trgb +0.332454 0.003279 0.067146 149 296 149 301 130 303 Trgb +0.239839 0.002365 0.048441 158 272 147 256 161 269 Trgb +0.463077 0.004567 0.093529 143 280 134 263 158 272 Trgb +0.260028 0.002564 0.052519 147 256 158 272 134 263 Trgb +0.076578 0.000755 0.015467 134 263 128 256 147 256 Trgb +0.346710 0.003419 0.070026 162 287 158 272 161 269 Trgb +0.597075 0.005888 0.120593 149 296 143 280 158 272 Trgb +0.500898 0.004940 0.101168 158 272 162 287 149 296 Trgb +0.412199 0.004065 0.083253 149 301 149 296 162 287 Trgb +0.000000 0.698970 0.209691 239 286 235 285 237 282 Trgb +0.000000 0.698970 0.209691 235 285 233 282 237 282 Trgb +0.000000 0.698970 0.209691 233 282 235 279 237 282 Trgb +0.000000 0.698970 0.209691 235 279 239 279 237 282 Trgb +0.000000 0.698970 0.209691 239 279 241 283 237 282 Trgb +0.000000 0.698970 0.209691 241 283 239 286 237 282 Trgb +0.000000 0.004282 0.001285 244 279 239 279 235 279 Trgb +0.000000 0.002141 0.000642 244 279 235 279 241 279 Trgb +0.000000 0.025877 0.007763 245 282 241 283 239 279 Trgb +0.000000 0.016150 0.004845 245 282 239 279 244 279 Trgb +0.000000 0.031322 0.009397 244 285 239 286 241 283 Trgb +0.000000 0.033463 0.010039 244 285 241 283 245 282 Trgb +0.000000 0.699983 0.209995 269 294 268 292 270 291 Trgb +0.000000 0.699983 0.209995 268 292 269 290 270 291 Trgb +0.000000 0.699983 0.209995 269 290 270 289 270 291 Trgb +0.000000 0.699983 0.209995 270 289 272 290 270 291 Trgb +0.000000 0.699983 0.209995 272 290 271 293 270 291 Trgb +0.000000 0.699983 0.209995 271 293 269 294 270 291 Trgb +0.000000 0.002735 0.000821 235 283 268 292 269 294 Trgb +0.000000 0.003769 0.001131 235 283 269 294 236 285 Trgb +0.000000 0.000567 0.000170 236 281 269 290 268 292 Trgb +0.000000 0.001134 0.000340 236 281 268 292 235 283 Trgb +0.000000 0.000000 0.000000 238 280 270 289 269 290 Trgb +0.000000 0.000000 0.000000 238 280 269 290 236 281 Trgb +0.376135 0.200455 0.115318 276 308 269 291 284 295 Trgb +0.154087 0.082118 0.047241 265 311 256 303 276 308 Trgb +0.237541 0.126594 0.072827 269 291 276 308 256 303 Trgb +0.116308 0.061985 0.035659 256 303 255 288 269 291 Trgb +0.346879 0.184863 0.106348 269 291 283 279 284 295 Trgb +0.091976 0.049017 0.028199 263 274 275 271 283 279 Trgb +0.196118 0.104518 0.060127 283 279 269 291 263 274 Trgb +0.104142 0.055501 0.031929 255 288 263 274 269 291 Trgb +0.381060 0.203080 0.116828 290 296 276 308 284 295 Trgb +0.012166 0.006484 0.003730 255 288 256 303 250 286 Trgb +0.351803 0.187488 0.107858 283 279 290 296 284 295 Trgb +0.091976 0.049017 0.028199 275 271 284 279 283 279 Trgb +0.201042 0.107142 0.061637 290 296 283 279 284 279 Trgb +0.000000 0.000000 0.000000 263 274 255 288 250 286 Trgb +0.000000 0.696680 0.209004 220 322 221 321 222 322 Trgb +0.000000 0.696680 0.209004 221 321 224 322 222 322 Trgb +0.000000 0.696680 0.209004 224 322 225 323 222 322 Trgb +0.000000 0.696680 0.209004 225 323 223 324 222 322 Trgb +0.000000 0.696680 0.209004 223 324 221 323 222 322 Trgb +0.000000 0.696680 0.209004 221 323 220 322 222 322 Trgb +0.000000 0.003836 0.001151 236 281 221 321 220 322 Trgb +0.000000 0.001918 0.000575 236 281 220 322 235 282 Trgb +0.000000 0.043010 0.012903 238 282 224 322 221 321 Trgb +0.000000 0.024382 0.007315 238 282 221 321 236 281 Trgb +0.000000 0.057802 0.017341 239 283 225 323 224 322 Trgb +0.000000 0.059720 0.017916 239 283 224 322 238 282 Trgb +0.032130 0.233204 0.053067 212 326 221 325 219 331 Trgb +0.000000 0.000000 0.000000 212 319 216 316 212 326 Trgb +0.019262 0.139807 0.031814 221 325 212 326 216 316 Trgb +0.033635 0.244129 0.055553 216 316 223 317 221 325 Trgb +0.055827 0.405196 0.092205 221 325 227 331 219 331 Trgb +0.069102 0.501547 0.114130 231 321 233 326 227 331 Trgb +0.067720 0.491517 0.111847 227 331 221 325 231 321 Trgb +0.058397 0.423846 0.096448 223 317 231 321 221 325 Trgb +0.012868 0.093396 0.021253 219 333 212 326 219 331 Trgb +0.000000 0.000000 0.000000 216 316 212 319 217 314 Trgb +0.001064 0.007725 0.001758 217 314 225 312 216 316 Trgb +0.015437 0.112046 0.025497 223 317 216 316 225 312 Trgb +0.036565 0.265389 0.060391 227 331 219 333 219 331 Trgb +0.050904 0.369464 0.084074 233 326 231 321 232 318 Trgb +0.031324 0.227352 0.051735 225 312 232 318 231 321 Trgb +0.040198 0.291763 0.066392 231 321 223 317 225 312 Trgb +0.000000 0.000000 0.000000 194 295 195 296 195 297 Trgb +0.000000 0.000000 0.000000 195 296 196 298 195 297 Trgb +0.000000 0.000000 0.000000 196 298 196 299 195 297 Trgb +0.000000 0.000000 0.000000 196 299 194 299 195 297 Trgb +0.000000 0.000000 0.000000 194 299 193 296 195 297 Trgb +0.000000 0.000000 0.000000 193 296 194 295 195 297 Trgb +0.000000 0.120080 0.036024 238 281 195 296 194 295 Trgb +0.000000 0.060040 0.018012 238 281 194 295 236 280 Trgb +0.000000 0.307224 0.092167 238 283 196 298 195 296 Trgb +0.000000 0.243672 0.073102 238 283 195 296 238 281 Trgb +0.000000 0.250695 0.075208 238 285 196 299 196 298 Trgb +0.000000 0.310735 0.093220 238 285 196 298 238 283 Trgb +0.017736 0.110162 0.025580 185 292 191 298 185 301 Trgb +0.007836 0.048670 0.011301 191 286 195 288 185 292 Trgb +0.025572 0.158832 0.036881 191 298 185 292 195 288 Trgb +0.053236 0.330662 0.076779 195 288 199 295 191 298 Trgb +0.027636 0.171654 0.039858 191 298 191 307 185 301 Trgb +0.057770 0.358825 0.083319 201 303 199 308 191 307 Trgb +0.058923 0.365987 0.084982 191 307 191 298 201 303 Trgb +0.076687 0.476325 0.110603 199 295 201 303 191 298 Trgb +0.000000 0.000000 0.000000 185 301 185 292 185 301 Trgb +0.007836 0.048670 0.011301 195 288 191 286 199 287 Trgb +0.029223 0.181512 0.042147 199 287 205 293 195 288 Trgb +0.056887 0.353342 0.082046 199 295 195 288 205 293 Trgb +0.009900 0.061492 0.014278 191 307 185 301 185 301 Trgb +0.061421 0.381505 0.088585 199 308 201 303 204 302 Trgb +0.066226 0.411348 0.095515 205 293 204 302 201 303 Trgb +0.080339 0.499005 0.115869 201 303 199 295 205 293 Trgb +0.000000 0.000000 0.000000 204 336 203 336 206 337 Trgb +0.000000 0.000000 0.000000 203 336 206 337 206 337 Trgb +0.000000 0.000000 0.000000 206 337 208 339 206 337 Trgb +0.000000 0.000000 0.000000 208 339 208 339 206 337 Trgb +0.000000 0.000000 0.000000 208 339 206 337 206 337 Trgb +0.000000 0.000000 0.000000 206 337 204 336 206 337 Trgb +0.000000 0.287100 0.086130 242 282 206 337 203 336 Trgb +0.000000 0.143550 0.043065 242 282 203 336 240 280 Trgb +0.000000 0.549999 0.165000 244 283 208 339 206 337 Trgb +0.000000 0.490325 0.147098 244 283 206 337 242 282 Trgb +0.000000 0.322574 0.096772 244 284 208 339 208 339 Trgb +0.000000 0.466124 0.139837 244 284 208 339 244 283 Trgb +0.000000 0.698197 0.209459 204 336 205 335 206 337 Trgb +0.000000 0.698197 0.209459 205 335 207 337 206 337 Trgb +0.000000 0.698197 0.209459 207 337 208 339 206 337 Trgb +0.000000 0.698197 0.209459 208 339 206 339 206 337 Trgb +0.000000 0.698197 0.209459 206 339 204 338 206 337 Trgb +0.000000 0.698197 0.209459 204 338 204 336 206 337 Trgb +0.000000 0.008040 0.002412 204 338 183 364 182 362 Trgb +0.000000 0.004020 0.001206 204 338 182 362 204 336 Trgb +0.000000 0.036178 0.010854 206 339 185 365 183 364 Trgb +0.000000 0.024119 0.007236 206 339 183 364 204 338 Trgb +0.000000 0.040198 0.012059 208 339 186 364 185 365 Trgb +0.000000 0.044218 0.013265 208 339 185 365 206 339 Trgb +0.000000 0.000000 0.000000 166 351 166 365 164 363 Trgb +0.000000 0.000000 0.000000 172 382 164 363 166 365 Trgb +0.121419 0.011415 0.026567 166 365 177 378 172 382 Trgb +0.296498 0.027876 0.064875 177 378 193 382 172 382 Trgb +0.293709 0.027614 0.064265 187 364 178 346 195 351 Trgb +0.000000 0.000000 0.000000 166 365 166 351 178 346 Trgb +0.171952 0.016166 0.037624 178 346 187 364 166 365 Trgb +0.293371 0.027582 0.064191 177 378 166 365 187 364 Trgb +0.469028 0.044097 0.102625 205 363 187 364 195 351 Trgb +0.476578 0.044806 0.104277 203 375 193 382 205 363 Trgb +0.522349 0.049110 0.114292 187 364 205 363 193 382 Trgb +0.468450 0.044042 0.102498 193 382 177 378 187 364 Trgb +0.121997 0.011470 0.026693 178 346 197 344 195 351 Trgb +0.000000 0.000000 0.000000 166 351 176 345 178 346 Trgb +0.000239 0.000023 0.000052 197 344 178 346 176 345 Trgb +0.297315 0.027953 0.065054 197 344 205 363 195 351 Trgb +0.000000 0.699742 0.209923 205 337 206 335 206 337 Trgb +0.000000 0.699742 0.209923 206 335 207 336 206 337 Trgb +0.000000 0.699742 0.209923 207 336 207 338 206 337 Trgb +0.000000 0.699742 0.209923 207 338 206 340 206 337 Trgb +0.000000 0.699742 0.209923 206 340 205 339 206 337 Trgb +0.000000 0.699742 0.209923 205 339 205 337 206 337 Trgb +0.000000 0.015210 0.004563 205 339 165 339 165 337 Trgb +0.000000 0.011503 0.003451 205 339 165 337 205 337 Trgb +0.000000 0.013720 0.004116 206 340 167 340 165 339 Trgb +0.000000 0.016319 0.004896 206 340 165 339 205 339 Trgb +0.000000 0.005197 0.001559 205 337 165 337 166 335 Trgb +0.000000 0.002599 0.000780 205 337 166 335 206 335 Trgb +0.058239 0.091602 0.029968 159 333 159 344 153 334 Trgb +0.040484 0.063676 0.020832 156 347 153 334 159 344 Trgb +0.079983 0.125802 0.041157 159 344 164 351 156 347 Trgb +0.017755 0.027926 0.009136 163 325 159 333 153 334 Trgb +0.232855 0.366250 0.119821 173 347 170 334 178 337 Trgb +0.127138 0.199970 0.065422 159 344 159 333 170 334 Trgb +0.193657 0.304596 0.099650 170 334 173 347 159 344 Trgb +0.164256 0.258353 0.084522 164 351 159 344 173 347 Trgb +0.207746 0.326757 0.106901 180 341 173 347 178 337 Trgb +0.139147 0.218860 0.071601 170 350 164 351 173 347 Trgb +0.176996 0.278391 0.091077 170 334 177 328 178 337 Trgb +0.086654 0.136294 0.044590 159 333 163 325 170 334 Trgb +0.097313 0.153061 0.050075 177 328 170 334 163 325 Trgb +0.028415 0.044692 0.014621 163 325 169 324 177 328 Trgb +0.151887 0.238897 0.078157 177 328 180 341 178 337 Trgb +0.000000 0.698962 0.209689 220 381 218 381 220 381 Trgb +0.000000 0.698962 0.209689 218 381 217 381 220 381 Trgb +0.000000 0.698962 0.209689 217 381 219 380 220 381 Trgb +0.000000 0.698962 0.209689 219 380 221 380 220 381 Trgb +0.000000 0.698962 0.209689 221 380 222 380 220 381 Trgb +0.000000 0.698962 0.209689 222 380 220 381 220 381 Trgb +0.000000 0.016514 0.004954 205 337 219 380 217 381 Trgb +0.000000 0.008257 0.002477 205 337 217 381 204 338 Trgb +0.000000 0.033230 0.009969 207 336 221 380 219 380 Trgb +0.000000 0.029001 0.008700 207 336 219 380 205 337 Trgb +0.000000 0.020944 0.006283 208 337 222 380 221 380 Trgb +0.000000 0.029201 0.008760 208 337 221 380 207 336 Trgb +0.307148 0.060281 0.073486 210 400 221 393 226 401 Trgb +0.252761 0.049607 0.060474 201 384 214 377 221 393 Trgb +0.175305 0.034406 0.041942 221 393 210 400 201 384 Trgb +0.015997 0.003140 0.003827 199 388 201 384 210 400 Trgb +0.461610 0.090596 0.110441 221 393 239 390 226 401 Trgb +0.396072 0.077734 0.094761 214 377 231 373 221 393 Trgb +0.473078 0.092847 0.113185 239 390 221 393 231 373 Trgb +0.422991 0.083017 0.101202 231 373 240 373 239 390 Trgb +0.000000 0.000000 0.000000 211 364 201 371 213 360 Trgb +0.093452 0.018341 0.022359 214 377 201 384 211 364 Trgb +0.000000 0.000000 0.000000 201 371 211 364 201 384 Trgb +0.000000 0.000000 0.000000 201 384 199 388 201 371 Trgb +0.000000 0.000000 0.000000 229 361 211 364 213 360 Trgb +0.236764 0.046468 0.056646 231 373 214 377 211 364 Trgb +0.143312 0.028127 0.034288 211 364 229 361 231 373 Trgb +0.252533 0.049563 0.060419 240 373 231 373 229 361 Trgb +0.000000 0.699663 0.209899 381 310 379 311 383 307 Trgb +0.000000 0.699663 0.209899 379 311 381 307 383 307 Trgb +0.000000 0.699663 0.209899 381 307 385 304 383 307 Trgb +0.000000 0.699663 0.209899 385 304 387 303 383 307 Trgb +0.000000 0.699663 0.209899 387 303 385 307 383 307 Trgb +0.000000 0.699663 0.209899 385 307 381 310 383 307 Trgb +0.000000 0.009326 0.002798 303 230 381 307 379 311 Trgb +0.000000 0.004663 0.001399 303 230 379 311 301 233 Trgb +0.000000 0.018911 0.005673 307 226 385 304 381 307 Trgb +0.000000 0.016450 0.004935 307 226 381 307 303 230 Trgb +0.000000 0.012047 0.003614 310 226 387 303 385 304 Trgb +0.000000 0.016710 0.005013 310 226 385 304 307 226 Trgb +0.000000 0.000000 0.000000 381 310 381 307 383 307 Trgb +0.000000 0.000000 0.000000 381 307 384 304 383 307 Trgb +0.000000 0.000000 0.000000 384 304 386 304 383 307 Trgb +0.000000 0.000000 0.000000 386 304 385 307 383 307 Trgb +0.000000 0.000000 0.000000 385 307 383 310 383 307 Trgb +0.000000 0.000000 0.000000 383 310 381 310 383 307 Trgb +0.000000 0.025647 0.007694 383 310 439 357 437 357 Trgb +0.000000 0.012824 0.003847 383 310 437 357 381 310 Trgb +0.000000 0.054647 0.016394 385 307 442 354 439 357 Trgb +0.000000 0.046559 0.013968 385 307 439 357 383 310 Trgb +0.000000 0.037089 0.011127 386 304 442 352 442 354 Trgb +0.000000 0.049912 0.014974 386 304 442 354 385 307 Trgb +0.000000 0.687787 0.206336 438 356 437 353 440 355 Trgb +0.000000 0.687787 0.206336 437 353 439 352 440 355 Trgb +0.000000 0.687787 0.206336 439 352 442 353 440 355 Trgb +0.000000 0.687787 0.206336 442 353 442 356 440 355 Trgb +0.000000 0.687787 0.206336 442 356 440 357 440 355 Trgb +0.000000 0.687787 0.206336 440 357 438 356 440 355 Trgb +0.000000 0.101740 0.030522 442 356 464 346 462 348 Trgb +0.000000 0.074722 0.022417 442 356 462 348 440 357 Trgb +0.000000 0.096953 0.029086 442 353 463 344 464 346 Trgb +0.000000 0.112855 0.033857 442 353 464 346 442 356 Trgb +0.000000 0.027017 0.008105 439 352 461 343 463 344 Trgb +0.000000 0.054034 0.016210 439 352 463 344 442 353 Trgb +0.000000 0.691825 0.207548 460 345 460 344 461 345 Trgb +0.000000 0.691825 0.207548 460 344 462 345 461 345 Trgb +0.000000 0.691825 0.207548 462 345 463 345 461 345 Trgb +0.000000 0.691825 0.207548 463 345 463 346 461 345 Trgb +0.000000 0.691825 0.207548 463 346 461 346 461 345 Trgb +0.000000 0.691825 0.207548 461 346 460 345 461 345 Trgb +0.000000 0.075590 0.022677 462 345 472 314 474 314 Trgb +0.000000 0.090975 0.027293 462 345 474 314 463 345 Trgb +0.000000 0.020068 0.006020 460 344 471 313 472 314 Trgb +0.000000 0.040137 0.012041 460 344 472 314 462 345 Trgb +0.000000 0.000000 0.000000 460 345 470 314 471 313 Trgb +0.000000 0.000000 0.000000 460 345 471 313 460 344 Trgb +0.009659 0.007219 0.003376 468 307 460 308 472 301 Trgb +0.060429 0.045167 0.021119 484 307 472 301 476 303 Trgb +0.283462 0.211871 0.099067 485 316 478 310 484 307 Trgb +0.156813 0.117208 0.054804 472 301 484 307 478 310 Trgb +0.106043 0.079261 0.037061 478 310 468 307 472 301 Trgb +0.182166 0.136158 0.063665 478 324 472 327 468 326 Trgb +0.328054 0.245201 0.114651 485 316 483 320 478 324 Trgb +0.077145 0.057661 0.026961 460 321 467 317 468 326 Trgb +0.000000 0.000000 0.000000 459 313 460 308 460 321 Trgb +0.035955 0.026874 0.012566 467 317 460 321 460 308 Trgb +0.045614 0.034094 0.015942 460 308 468 307 467 317 Trgb +0.195825 0.146368 0.068439 467 317 478 324 468 326 Trgb +0.341713 0.255410 0.119425 478 310 485 316 478 324 Trgb +0.251020 0.187622 0.087728 478 324 467 317 478 310 Trgb +0.141998 0.106135 0.049627 468 307 478 310 467 317 Trgb +0.000000 0.000000 0.000000 463 344 462 346 461 345 Trgb +0.000000 0.000000 0.000000 462 346 461 347 461 345 Trgb +0.000000 0.000000 0.000000 461 347 460 346 461 345 Trgb +0.000000 0.000000 0.000000 460 346 460 345 461 345 Trgb +0.000000 0.000000 0.000000 460 345 462 344 461 345 Trgb +0.000000 0.000000 0.000000 462 344 463 344 461 345 Trgb +0.000000 0.014411 0.004323 461 347 485 367 485 366 Trgb +0.000000 0.007206 0.002162 461 347 485 366 460 346 Trgb +0.000000 0.054003 0.016201 462 346 487 366 485 367 Trgb +0.000000 0.037810 0.011343 462 346 485 367 461 347 Trgb +0.000000 0.055784 0.016735 463 344 487 364 487 366 Trgb +0.000000 0.062990 0.018897 463 344 487 366 462 346 Trgb +0.117681 0.406254 0.104787 491 366 493 361 495 366 Trgb +0.126551 0.436877 0.112686 495 366 491 373 491 366 Trgb +0.122641 0.423379 0.109204 487 372 491 366 491 373 Trgb +0.006385 0.022042 0.005685 481 358 487 358 480 360 Trgb +0.038254 0.132061 0.034063 491 358 493 361 487 358 Trgb +0.006385 0.022042 0.005685 487 358 481 358 491 358 Trgb +0.077571 0.267788 0.069072 481 373 487 372 491 373 Trgb +0.000000 0.000000 0.000000 477 365 481 358 480 360 Trgb +0.014824 0.051177 0.013200 487 358 482 366 480 360 Trgb +0.085380 0.294746 0.076025 493 361 491 366 487 358 Trgb +0.061950 0.213861 0.055162 482 366 487 358 491 366 Trgb +0.090341 0.311871 0.080442 491 366 487 372 482 366 Trgb +0.008440 0.029135 0.007515 482 366 477 365 480 360 Trgb +0.002055 0.007094 0.001830 481 373 479 370 477 365 Trgb +0.010495 0.036229 0.009345 477 365 482 366 481 373 Trgb +0.045270 0.156280 0.040310 487 372 481 373 482 366 Trgb +0.000000 0.000000 0.000000 461 344 461 344 461 345 Trgb +0.000000 0.000000 0.000000 461 344 462 346 461 345 Trgb +0.000000 0.000000 0.000000 462 346 462 347 461 345 Trgb +0.000000 0.000000 0.000000 462 347 461 346 461 345 Trgb +0.000000 0.000000 0.000000 461 346 460 344 461 345 Trgb +0.000000 0.000000 0.000000 460 344 461 344 461 345 Trgb +0.000000 0.074013 0.022204 462 346 495 335 494 336 Trgb +0.000000 0.062494 0.018748 462 346 494 336 462 347 Trgb +0.000000 0.051548 0.015464 461 344 494 333 495 335 Trgb +0.000000 0.068539 0.020562 461 344 495 335 462 346 Trgb +0.000000 0.011519 0.003456 461 344 493 332 494 333 Trgb +0.000000 0.023037 0.006911 461 344 494 333 461 344 Trgb +0.094155 0.178202 0.054471 504 331 498 324 503 331 Trgb +0.011283 0.021354 0.006527 494 326 490 324 498 324 Trgb +0.075245 0.142413 0.043532 498 324 504 331 494 326 Trgb +0.135510 0.256474 0.078397 498 333 494 326 504 331 Trgb +0.000000 0.000000 0.000000 484 337 485 329 484 337 Trgb +0.170934 0.323519 0.098891 497 344 499 341 503 339 Trgb +0.190588 0.360716 0.110261 504 331 503 339 499 341 Trgb +0.198172 0.375072 0.114649 499 341 498 333 504 331 Trgb +0.021265 0.040247 0.012302 485 329 490 336 484 337 Trgb +0.011283 0.021354 0.006527 490 324 494 326 485 329 Trgb +0.032547 0.061601 0.018830 490 336 485 329 494 326 Trgb +0.092812 0.175662 0.053695 494 326 498 333 490 336 Trgb +0.031247 0.059140 0.018077 490 336 490 344 484 337 Trgb +0.128236 0.242707 0.074189 499 341 497 344 490 344 Trgb +0.105192 0.199092 0.060857 490 344 490 336 499 341 Trgb +0.155475 0.294260 0.089947 498 333 499 341 490 336 Trgb +0.000000 0.698488 0.209546 453 408 454 408 451 408 Trgb +0.000000 0.698488 0.209546 454 408 452 409 451 408 Trgb +0.000000 0.698488 0.209546 452 409 449 409 451 408 Trgb +0.000000 0.698488 0.209546 449 409 448 409 451 408 Trgb +0.000000 0.698488 0.209546 448 409 450 408 451 408 Trgb +0.000000 0.698488 0.209546 450 408 453 408 451 408 Trgb +0.000000 0.035029 0.010509 442 354 454 408 453 408 Trgb +0.000000 0.040113 0.012034 442 354 453 408 441 354 Trgb +0.000000 0.010168 0.003050 439 354 450 408 448 409 Trgb +0.000000 0.005084 0.001525 439 354 448 409 437 355 Trgb +0.000000 0.035216 0.010565 441 354 453 408 450 408 Trgb +0.000000 0.025234 0.007570 441 354 450 408 439 354 Trgb +0.000000 0.696558 0.208967 443 433 443 434 441 433 Trgb +0.000000 0.696558 0.208967 443 434 441 435 441 433 Trgb +0.000000 0.696558 0.208967 441 435 439 434 441 433 Trgb +0.000000 0.696558 0.208967 439 434 439 432 441 433 Trgb +0.000000 0.696558 0.208967 439 432 441 432 441 433 Trgb +0.000000 0.696558 0.208967 441 432 443 433 441 433 Trgb +0.000000 0.059446 0.017834 453 409 443 434 443 433 Trgb +0.000000 0.060519 0.018156 453 409 443 433 453 408 Trgb +0.000000 0.002147 0.000644 451 407 441 432 439 432 Trgb +0.000000 0.001074 0.000322 451 407 439 432 449 407 Trgb +0.000000 0.042136 0.012641 453 408 443 433 441 432 Trgb +0.000000 0.022679 0.006804 453 408 441 432 451 407 Trgb +0.329826 0.121701 0.090305 449 438 444 450 437 444 Trgb +0.430194 0.158735 0.117786 456 429 458 440 449 438 Trgb +0.398450 0.147022 0.109094 444 450 449 438 458 440 Trgb +0.318627 0.117568 0.087239 458 440 450 446 444 450 Trgb +0.180059 0.066439 0.049300 444 450 428 444 437 444 Trgb +0.230910 0.085202 0.063223 432 432 449 438 437 444 Trgb +0.331278 0.122236 0.090703 445 421 456 429 449 438 Trgb +0.200618 0.074025 0.054929 449 438 432 432 445 421 Trgb +0.050851 0.018763 0.013923 432 420 445 421 432 432 Trgb +0.081143 0.029941 0.022217 428 444 432 432 437 444 Trgb +0.004639 0.001712 0.001270 432 432 428 444 425 427 Trgb +0.004639 0.001712 0.001270 425 427 432 420 432 432 Trgb +0.223084 0.082315 0.061080 456 429 445 421 455 423 Trgb +0.087786 0.032392 0.024036 438 416 455 423 445 421 Trgb +0.046212 0.017052 0.012653 445 421 432 420 438 416 Trgb +0.000000 0.699959 0.209988 485 427 484 429 484 427 Trgb +0.000000 0.699959 0.209988 484 429 483 429 484 427 Trgb +0.000000 0.699959 0.209988 483 429 484 427 484 427 Trgb +0.000000 0.699959 0.209988 484 427 485 425 484 427 Trgb +0.000000 0.699959 0.209988 485 425 485 426 484 427 Trgb +0.000000 0.699959 0.209988 485 426 485 427 484 427 Trgb +0.000000 0.005578 0.001673 450 408 484 427 483 429 Trgb +0.000000 0.003816 0.001145 450 408 483 429 450 410 Trgb +0.000000 0.005972 0.001792 451 407 485 425 484 427 Trgb +0.000000 0.006656 0.001997 451 407 484 427 450 408 Trgb +0.000000 0.001762 0.000529 452 407 485 426 485 425 Trgb +0.000000 0.003525 0.001057 452 407 485 425 451 407 Trgb +0.371114 0.204675 0.115158 489 443 491 432 498 435 Trgb +0.172821 0.095313 0.053627 475 436 479 426 491 432 Trgb +0.240382 0.132574 0.074591 491 432 489 443 475 436 Trgb +0.114646 0.063229 0.035575 477 441 475 436 489 443 Trgb +0.382205 0.210792 0.118599 491 432 499 422 498 435 Trgb +0.183911 0.101430 0.057068 479 426 486 416 491 432 Trgb +0.262562 0.144807 0.081474 499 422 491 432 486 416 Trgb +0.144668 0.079787 0.044891 486 416 492 413 499 422 Trgb +0.000000 0.000000 0.000000 471 421 470 432 471 419 Trgb +0.047085 0.025968 0.014611 479 426 475 436 471 421 Trgb +0.016255 0.008965 0.005044 470 432 471 421 475 436 Trgb +0.016255 0.008965 0.005044 475 436 477 441 470 432 Trgb +0.000000 0.000000 0.000000 480 412 471 421 471 419 Trgb +0.058175 0.032084 0.018052 486 416 479 426 471 421 Trgb +0.027345 0.015081 0.008485 471 421 480 412 486 416 Trgb +0.035187 0.019406 0.010919 492 413 486 416 480 412 Trgb +0.000000 0.668910 0.200673 449 408 449 407 451 408 Trgb +0.000000 0.668910 0.200673 449 407 451 407 451 408 Trgb +0.000000 0.668910 0.200673 451 407 452 408 451 408 Trgb +0.000000 0.668910 0.200673 452 408 453 409 451 408 Trgb +0.000000 0.668910 0.200673 453 409 451 409 451 408 Trgb +0.000000 0.668910 0.200673 451 409 449 408 451 408 Trgb +0.000000 0.099272 0.029782 451 409 439 442 437 441 Trgb +0.000000 0.049636 0.014891 451 409 437 441 449 408 Trgb +0.000000 0.181706 0.054512 453 409 441 441 439 442 Trgb +0.000000 0.165307 0.049592 453 409 439 442 451 409 Trgb +0.000000 0.000000 0.000000 449 408 437 441 437 440 Trgb +0.000000 0.000000 0.000000 449 408 437 440 449 407 Trgb +0.004375 0.127388 0.026353 433 445 440 448 437 446 Trgb +0.003962 0.115366 0.023866 433 441 438 444 433 445 Trgb +0.008337 0.242754 0.050218 440 448 433 445 438 444 Trgb +0.015764 0.459008 0.094954 438 444 443 445 440 448 Trgb +0.018343 0.534106 0.110490 443 445 446 443 440 448 Trgb +0.000000 0.000000 0.000000 432 438 433 441 433 445 Trgb +0.007368 0.214543 0.044382 443 439 436 437 441 435 Trgb +0.003962 0.115366 0.023866 438 444 433 441 436 437 Trgb +0.010090 0.293808 0.060780 436 437 443 439 438 444 Trgb +0.017517 0.510062 0.105516 443 445 438 444 443 439 Trgb +0.009534 0.277619 0.057431 445 436 443 439 441 435 Trgb +0.014836 0.431982 0.089364 443 439 445 436 446 443 Trgb +0.020096 0.585160 0.121051 446 443 443 445 443 439 Trgb +0.001240 0.036101 0.007468 436 437 438 433 441 435 Trgb +0.000000 0.000000 0.000000 433 441 432 438 436 437 Trgb +0.000000 0.000000 0.000000 438 433 436 437 432 438 Trgb +0.000000 0.699421 0.209826 496 351 496 354 496 353 Trgb +0.000000 0.699421 0.209826 496 354 496 355 496 353 Trgb +0.000000 0.699421 0.209826 496 355 496 354 496 353 Trgb +0.000000 0.699421 0.209826 496 354 496 351 496 353 Trgb +0.000000 0.699421 0.209826 496 351 496 350 496 353 Trgb +0.000000 0.699421 0.209826 496 350 496 351 496 353 Trgb +0.000000 0.023624 0.007087 439 356 496 354 496 355 Trgb +0.000000 0.018777 0.005633 439 356 496 355 440 357 Trgb +0.000000 0.019183 0.005755 439 354 496 351 496 354 Trgb +0.000000 0.023827 0.007148 439 354 496 354 439 356 Trgb +0.000000 0.004847 0.001454 439 352 496 350 496 351 Trgb +0.000000 0.009693 0.002908 439 352 496 351 439 354 Trgb +0.000000 0.172605 0.051782 496 353 494 352 496 353 Trgb +0.000000 0.172605 0.051782 494 352 494 351 496 353 Trgb +0.000000 0.172605 0.051782 494 351 496 352 496 353 Trgb +0.000000 0.172605 0.051782 496 352 497 353 496 353 Trgb +0.000000 0.172605 0.051782 497 353 497 354 496 353 Trgb +0.000000 0.172605 0.051782 497 354 496 353 496 353 Trgb +0.000000 0.589120 0.176736 497 353 517 321 517 322 Trgb +0.000000 0.508333 0.152500 497 353 517 322 497 354 Trgb +0.000000 0.384877 0.115463 496 352 516 320 517 321 Trgb +0.000000 0.527393 0.158218 496 352 517 321 497 353 Trgb +0.000000 0.080787 0.024236 494 351 515 320 516 320 Trgb +0.000000 0.161575 0.048472 494 351 516 320 496 352 Trgb +0.147652 0.061182 0.041767 532 317 522 307 524 308 Trgb +0.249743 0.103485 0.070645 526 322 516 315 522 307 Trgb +0.298271 0.123593 0.084373 522 307 532 317 526 322 Trgb +0.412156 0.170783 0.116588 531 329 526 322 532 317 Trgb +0.040189 0.016653 0.011368 522 307 512 306 524 308 Trgb +0.099123 0.041073 0.028039 516 315 506 311 522 307 Trgb +0.040189 0.016653 0.011368 512 306 522 307 506 311 Trgb +0.000000 0.000000 0.000000 506 311 502 313 512 306 Trgb +0.155686 0.064511 0.044039 510 326 520 336 507 334 Trgb +0.252711 0.104714 0.071485 516 315 526 322 510 326 Trgb +0.304207 0.126053 0.086052 520 336 510 326 526 322 Trgb +0.415124 0.172013 0.117427 526 322 531 329 520 336 Trgb +0.045255 0.018752 0.012802 500 325 510 326 507 334 Trgb +0.102091 0.042303 0.028879 506 311 516 315 510 326 Trgb +0.043157 0.017883 0.012208 510 326 500 325 506 311 Trgb +0.000000 0.000000 0.000000 502 313 506 311 500 325 Trgb +0.000000 0.000000 0.000000 496 354 495 352 496 353 Trgb +0.000000 0.000000 0.000000 495 352 494 351 496 353 Trgb +0.000000 0.000000 0.000000 494 351 496 351 496 353 Trgb +0.000000 0.000000 0.000000 496 351 497 353 496 353 Trgb +0.000000 0.000000 0.000000 497 353 497 354 496 353 Trgb +0.000000 0.000000 0.000000 497 354 496 354 496 353 Trgb +0.000000 0.192098 0.057629 497 353 525 330 525 331 Trgb +0.000000 0.177366 0.053210 497 353 525 331 497 354 Trgb +0.000000 0.098407 0.029522 496 351 523 328 525 330 Trgb +0.000000 0.152618 0.045785 496 351 525 330 497 353 Trgb +0.000000 0.014732 0.004420 494 351 522 328 523 328 Trgb +0.000000 0.029463 0.008839 494 351 523 328 496 351 Trgb +0.180153 0.097673 0.055565 540 329 531 317 535 320 Trgb +0.192968 0.104621 0.059518 532 329 523 320 531 317 Trgb +0.282334 0.153073 0.087081 531 317 540 329 532 329 Trgb +0.391187 0.212089 0.120655 535 338 532 329 540 329 Trgb +0.087413 0.047393 0.026961 524 342 516 342 512 339 Trgb +0.315976 0.171312 0.097458 535 338 532 342 524 342 Trgb +0.067950 0.036840 0.020958 523 320 515 317 531 317 Trgb +0.092721 0.050270 0.028598 515 330 524 342 512 339 Trgb +0.160670 0.087110 0.049556 523 320 532 329 515 330 Trgb +0.217739 0.118051 0.067158 524 342 515 330 532 329 Trgb +0.358889 0.194578 0.110694 532 329 535 338 524 342 Trgb +0.005308 0.002878 0.001637 508 330 515 330 512 339 Trgb +0.035652 0.019330 0.010996 515 317 523 320 515 330 Trgb +0.005308 0.002878 0.001637 515 330 508 330 515 317 Trgb +0.000000 0.000000 0.000000 512 321 515 317 508 330 Trgb +0.000000 0.000000 0.000000 496 353 495 354 496 353 Trgb +0.000000 0.000000 0.000000 495 354 495 354 496 353 Trgb +0.000000 0.000000 0.000000 495 354 496 352 496 353 Trgb +0.000000 0.000000 0.000000 496 352 497 351 496 353 Trgb +0.000000 0.000000 0.000000 497 351 497 352 496 353 Trgb +0.000000 0.000000 0.000000 497 352 496 353 496 353 Trgb +0.000000 0.028228 0.008468 497 352 526 379 524 380 Trgb +0.000000 0.027588 0.008276 497 352 524 380 496 353 Trgb +0.000000 0.010903 0.003271 497 351 526 378 526 379 Trgb +0.000000 0.019885 0.005966 497 351 526 379 497 352 Trgb +0.000000 0.017965 0.005390 496 353 524 380 523 381 Trgb +0.000000 0.008983 0.002695 496 353 523 381 495 354 Trgb +0.553377 0.015557 0.113787 535 393 545 380 539 394 Trgb +0.488126 0.013722 0.100370 525 384 535 373 535 393 Trgb +0.537456 0.015109 0.110513 545 380 535 393 535 373 Trgb +0.413448 0.011623 0.085014 535 373 539 366 545 380 Trgb +0.433488 0.012186 0.089135 525 399 535 393 539 394 Trgb +0.368237 0.010352 0.075718 514 393 525 384 535 393 Trgb +0.297677 0.008368 0.061209 535 393 525 399 514 393 Trgb +0.088894 0.002499 0.018279 510 393 514 393 525 399 Trgb +0.000000 0.000000 0.000000 524 360 514 373 510 366 Trgb +0.279343 0.007853 0.057439 535 373 525 384 514 373 Trgb +0.150823 0.004240 0.031012 514 373 524 360 535 373 Trgb +0.235597 0.006623 0.048444 539 366 535 373 524 360 Trgb +0.000000 0.000000 0.000000 514 373 504 380 510 366 Trgb +0.159453 0.004483 0.032787 525 384 514 393 514 373 Trgb +0.030933 0.000870 0.006360 504 380 514 373 514 393 Trgb +0.030933 0.000870 0.006360 514 393 510 393 504 380 Trgb +0.000000 0.698638 0.209592 397 383 401 383 397 384 Trgb +0.000000 0.698638 0.209592 401 383 400 384 397 384 Trgb +0.000000 0.698638 0.209592 400 384 396 385 397 384 Trgb +0.000000 0.698638 0.209592 396 385 393 385 397 384 Trgb +0.000000 0.698638 0.209592 393 385 393 384 397 384 Trgb +0.000000 0.698638 0.209592 393 384 397 383 397 384 Trgb +0.000000 0.038092 0.011428 387 306 401 383 397 383 Trgb +0.000000 0.033330 0.009999 387 306 397 383 384 306 Trgb +0.000000 0.000000 0.000000 380 307 393 384 393 385 Trgb +0.000000 0.000000 0.000000 380 307 393 385 380 308 Trgb +0.000000 0.019045 0.005714 384 306 397 383 393 384 Trgb +0.000000 0.009523 0.002857 384 306 393 384 380 307 Trgb +0.000000 0.617376 0.185213 369 434 371 436 369 435 Trgb +0.000000 0.617376 0.185213 371 436 371 437 369 435 Trgb +0.000000 0.617376 0.185213 371 437 369 436 369 435 Trgb +0.000000 0.617376 0.185213 369 436 367 434 369 435 Trgb +0.000000 0.617376 0.185213 367 434 367 434 369 435 Trgb +0.000000 0.617376 0.185213 367 434 369 434 369 435 Trgb +0.000000 0.264623 0.079387 399 385 371 436 369 434 Trgb +0.000000 0.200825 0.060247 399 385 369 434 397 383 Trgb +0.000000 0.237071 0.071121 399 386 371 437 371 436 Trgb +0.000000 0.282747 0.084824 399 386 371 436 399 385 Trgb +0.000000 0.091351 0.027405 397 383 369 434 367 434 Trgb +0.000000 0.045675 0.013703 397 383 367 434 394 383 Trgb +0.000000 0.698748 0.209624 369 435 369 433 369 435 Trgb +0.000000 0.698748 0.209624 369 433 369 434 369 435 Trgb +0.000000 0.698748 0.209624 369 434 369 435 369 435 Trgb +0.000000 0.698748 0.209624 369 435 370 437 369 435 Trgb +0.000000 0.698748 0.209624 370 437 369 437 369 435 Trgb +0.000000 0.698748 0.209624 369 437 369 435 369 435 Trgb +0.000000 0.035263 0.010579 369 437 329 445 329 443 Trgb +0.000000 0.028701 0.008610 369 437 329 443 369 435 Trgb +0.000000 0.027065 0.008120 370 437 329 445 329 445 Trgb +0.000000 0.034445 0.010334 370 437 329 445 369 437 Trgb +0.000000 0.014759 0.004428 369 435 329 443 328 442 Trgb +0.000000 0.007380 0.002214 369 435 328 442 369 433 Trgb +0.000793 0.000950 0.000349 318 443 321 455 315 446 Trgb +0.122526 0.146716 0.053848 327 441 329 451 318 443 Trgb +0.080197 0.096030 0.035245 321 455 318 443 329 451 Trgb +0.149369 0.178859 0.065646 329 451 331 457 321 455 Trgb +0.000000 0.000000 0.000000 318 436 318 443 315 446 Trgb +0.043122 0.051635 0.018951 326 432 327 441 318 443 Trgb +0.000000 0.000000 0.000000 318 443 318 436 326 432 Trgb +0.000000 0.000000 0.000000 326 430 326 432 318 436 Trgb +0.243693 0.291804 0.107100 340 451 337 439 342 441 Trgb +0.201137 0.240847 0.088397 329 451 327 441 337 439 Trgb +0.255047 0.305399 0.112089 337 439 340 451 329 451 Trgb +0.245608 0.294097 0.107941 331 457 329 451 340 451 Trgb +0.146662 0.175617 0.064456 337 439 337 432 342 441 Trgb +0.121733 0.145766 0.053500 327 441 326 432 337 439 Trgb +0.078611 0.094131 0.034548 337 432 337 439 326 432 Trgb +0.000000 0.000000 0.000000 326 432 326 430 337 432 Trgb +0.000000 0.696899 0.209070 360 448 358 449 358 447 Trgb +0.000000 0.696899 0.209070 358 449 356 448 358 447 Trgb +0.000000 0.696899 0.209070 356 448 356 446 358 447 Trgb +0.000000 0.696899 0.209070 356 446 358 445 358 447 Trgb +0.000000 0.696899 0.209070 358 445 360 446 358 447 Trgb +0.000000 0.696899 0.209070 360 446 360 448 358 447 Trgb +0.000000 0.000000 0.000000 369 433 358 445 356 446 Trgb +0.000000 0.000000 0.000000 369 433 356 446 367 434 Trgb +0.000000 0.028512 0.008554 371 434 360 446 358 445 Trgb +0.000000 0.014256 0.004277 371 434 358 445 369 433 Trgb +0.000000 0.057393 0.017218 371 436 360 448 360 446 Trgb +0.000000 0.050081 0.015024 371 436 360 446 371 434 Trgb +0.031196 0.349100 0.076059 362 452 354 455 356 450 Trgb +0.044298 0.495717 0.108003 366 452 361 456 362 452 Trgb +0.031814 0.356014 0.077566 354 455 362 452 361 456 Trgb +0.013721 0.153545 0.033453 361 456 355 455 354 455 Trgb +0.013103 0.146631 0.031947 354 455 351 446 356 450 Trgb +0.000000 0.000000 0.000000 350 450 350 443 351 446 Trgb +0.004147 0.046407 0.010111 351 446 354 455 350 450 Trgb +0.035568 0.398023 0.086718 359 444 362 452 356 450 Trgb +0.048670 0.544640 0.118662 366 445 366 452 362 452 Trgb +0.040558 0.453861 0.098884 362 452 359 444 366 445 Trgb +0.025556 0.285986 0.062308 362 440 366 445 359 444 Trgb +0.017475 0.195555 0.042606 351 446 359 444 356 450 Trgb +0.000000 0.000000 0.000000 350 443 355 439 351 446 Trgb +0.008519 0.095331 0.020770 359 444 351 446 355 439 Trgb +0.011610 0.129925 0.028307 355 439 362 440 359 444 Trgb +0.017037 0.190656 0.041539 366 445 362 440 362 440 Trgb +0.000000 0.000000 0.000000 367 434 369 434 369 435 Trgb +0.000000 0.000000 0.000000 369 434 371 435 369 435 Trgb +0.000000 0.000000 0.000000 371 435 371 436 369 435 Trgb +0.000000 0.000000 0.000000 371 436 369 436 369 435 Trgb +0.000000 0.000000 0.000000 369 436 367 436 369 435 Trgb +0.000000 0.000000 0.000000 367 436 367 434 369 435 Trgb +0.000000 0.242861 0.072858 369 436 372 469 370 468 Trgb +0.000000 0.121430 0.036429 369 436 370 468 367 436 Trgb +0.000000 0.537282 0.161185 371 436 374 468 372 469 Trgb +0.000000 0.450787 0.135236 371 436 372 469 369 436 Trgb +0.000000 0.380917 0.114275 371 435 374 467 374 468 Trgb +0.000000 0.502347 0.150704 371 435 374 468 371 436 Trgb +0.023187 0.019364 0.008510 357 469 363 475 366 481 Trgb +0.316349 0.264191 0.116108 374 477 384 473 381 480 Trgb +0.200748 0.167650 0.073679 381 480 366 481 374 477 Trgb +0.121324 0.101321 0.044529 363 475 374 477 366 481 Trgb +0.006442 0.005380 0.002364 365 465 363 456 371 456 Trgb +0.006442 0.005380 0.002364 363 456 365 465 357 469 Trgb +0.018714 0.015629 0.006869 363 475 357 469 365 465 Trgb +0.298993 0.249697 0.109738 384 473 387 466 381 480 Trgb +0.093666 0.078222 0.034378 379 463 365 465 371 456 Trgb +0.311877 0.260456 0.114467 384 473 374 477 379 463 Trgb +0.191803 0.160180 0.070397 365 465 379 463 374 477 Trgb +0.116852 0.097586 0.042888 374 477 363 475 365 465 Trgb +0.000000 0.000000 0.000000 363 456 378 454 371 456 Trgb +0.087224 0.072843 0.032013 378 454 379 463 371 456 Trgb +0.294521 0.245962 0.108097 387 466 384 473 379 463 Trgb +0.168006 0.140306 0.061662 379 463 378 454 387 466 Trgb +0.000000 0.699893 0.209968 443 419 441 421 443 419 Trgb +0.000000 0.699893 0.209968 441 421 441 420 443 419 Trgb +0.000000 0.699893 0.209968 441 420 442 418 443 419 Trgb +0.000000 0.699893 0.209968 442 418 444 416 443 419 Trgb +0.000000 0.699893 0.209968 444 416 444 417 443 419 Trgb +0.000000 0.699893 0.209968 444 417 443 419 443 419 Trgb +0.000000 0.001169 0.000351 395 386 441 420 441 421 Trgb +0.000000 0.000585 0.000175 395 386 441 421 396 386 Trgb +0.000000 0.008146 0.002444 396 383 442 418 441 420 Trgb +0.000000 0.004950 0.001485 396 383 441 420 395 386 Trgb +0.000000 0.010173 0.003052 398 382 444 416 442 418 Trgb +0.000000 0.010758 0.003227 398 382 442 418 396 383 Trgb +0.000000 0.699690 0.209907 475 413 475 415 474 414 Trgb +0.000000 0.699690 0.209907 475 415 474 416 474 414 Trgb +0.000000 0.699690 0.209907 474 416 473 415 474 414 Trgb +0.000000 0.699690 0.209907 473 415 473 412 474 414 Trgb +0.000000 0.699690 0.209907 473 412 474 412 474 414 Trgb +0.000000 0.699690 0.209907 474 412 475 413 474 414 Trgb +0.000000 0.009727 0.002918 441 419 473 415 474 416 Trgb +0.000000 0.014819 0.004446 441 419 474 416 443 421 Trgb +0.000000 0.001545 0.000463 441 417 473 412 473 415 Trgb +0.000000 0.003090 0.000927 441 417 473 415 441 419 Trgb +0.000000 0.000000 0.000000 442 416 474 412 473 412 Trgb +0.000000 0.000000 0.000000 442 416 473 412 441 417 Trgb +0.444852 0.102658 0.109502 492 406 490 425 489 411 Trgb +0.475371 0.109701 0.117014 490 425 477 419 489 411 Trgb +0.234152 0.054035 0.057637 472 433 463 423 477 419 Trgb +0.394626 0.091068 0.097139 477 419 490 425 472 433 Trgb +0.358772 0.082794 0.088313 482 431 472 433 490 425 Trgb +0.311095 0.071791 0.076577 479 399 492 406 489 411 Trgb +0.148213 0.034203 0.036483 492 406 479 399 476 395 Trgb +0.048297 0.011145 0.011888 466 396 476 395 479 399 Trgb +0.341613 0.078834 0.084089 477 419 479 399 489 411 Trgb +0.152014 0.035080 0.037419 463 423 461 407 477 419 Trgb +0.178731 0.041246 0.043995 479 399 477 419 461 407 Trgb +0.048297 0.011145 0.011888 461 407 466 396 479 399 Trgb +0.103718 0.023935 0.025530 463 423 472 433 456 422 Trgb +0.021580 0.004980 0.005312 461 407 463 423 456 422 Trgb +0.000000 0.000000 0.000000 456 422 458 403 461 407 Trgb +0.000000 0.000000 0.000000 466 396 461 407 458 403 Trgb +0.000000 0.000000 0.000000 442 419 441 419 443 419 Trgb +0.000000 0.000000 0.000000 441 419 441 419 443 419 Trgb +0.000000 0.000000 0.000000 441 419 443 418 443 419 Trgb +0.000000 0.000000 0.000000 443 418 445 418 443 419 Trgb +0.000000 0.000000 0.000000 445 418 444 418 443 419 Trgb +0.000000 0.000000 0.000000 444 418 442 419 443 419 Trgb +0.000000 0.045400 0.013620 444 418 452 460 450 460 Trgb +0.000000 0.030855 0.009257 444 418 450 460 442 419 Trgb +0.000000 0.049070 0.014721 445 418 453 460 452 460 Trgb +0.000000 0.054507 0.016352 445 418 452 460 444 418 Trgb +0.000000 0.010874 0.003262 442 419 450 460 449 460 Trgb +0.000000 0.005437 0.001631 442 419 449 460 441 419 Trgb +0.353693 0.099034 0.090545 448 476 466 472 455 479 Trgb +0.272514 0.076304 0.069763 443 463 458 461 448 476 Trgb +0.402283 0.112639 0.102985 466 472 448 476 458 461 Trgb +0.462817 0.129589 0.118481 458 461 468 458 466 472 Trgb +0.182115 0.050992 0.046621 442 475 448 476 455 479 Trgb +0.134561 0.037677 0.034448 434 464 443 463 448 476 Trgb +0.092752 0.025971 0.023745 448 476 442 475 434 464 Trgb +0.045201 0.012656 0.011571 461 445 443 449 447 441 Trgb +0.179761 0.050333 0.046019 458 461 443 463 443 449 Trgb +0.183153 0.051283 0.046887 443 449 461 445 458 461 Trgb +0.336439 0.094203 0.086129 468 458 458 461 461 445 Trgb +0.277313 0.077648 0.070992 469 456 468 458 461 445 Trgb +0.000000 0.000000 0.000000 443 449 437 448 447 441 Trgb +0.041809 0.011706 0.010703 443 463 434 464 443 449 Trgb +0.000000 0.000000 0.000000 437 448 443 449 434 464 Trgb +0.000000 0.698795 0.209638 443 439 445 440 442 440 Trgb +0.000000 0.698795 0.209638 445 440 444 442 442 440 Trgb +0.000000 0.698795 0.209638 444 442 441 442 442 440 Trgb +0.000000 0.698795 0.209638 441 442 440 440 442 440 Trgb +0.000000 0.698795 0.209638 440 440 441 439 442 440 Trgb +0.000000 0.698795 0.209638 441 439 443 439 442 440 Trgb +0.000000 0.031657 0.009497 445 418 445 440 443 439 Trgb +0.000000 0.022869 0.006861 445 418 443 439 444 417 Trgb +0.000000 0.000000 0.000000 441 417 441 439 440 440 Trgb +0.000000 0.000000 0.000000 441 417 440 440 440 419 Trgb +0.000000 0.009388 0.002816 444 417 443 439 441 439 Trgb +0.000000 0.004694 0.001408 444 417 441 439 441 417 Trgb +0.464524 0.061662 0.105237 449 436 456 454 442 452 Trgb +0.328483 0.043604 0.074417 452 424 463 435 449 436 Trgb +0.473280 0.062825 0.107221 456 454 449 436 463 435 Trgb +0.488213 0.064807 0.110604 463 435 462 449 456 454 Trgb +0.388439 0.051563 0.088000 456 454 436 460 442 452 Trgb +0.321110 0.042625 0.072747 436 460 456 454 449 458 Trgb +0.265926 0.035300 0.060245 428 442 449 436 442 452 Trgb +0.186236 0.024722 0.042191 435 423 452 424 449 436 Trgb +0.132435 0.017580 0.030003 449 436 428 442 435 423 Trgb +0.000000 0.000000 0.000000 423 432 435 423 428 442 Trgb +0.196048 0.026024 0.044414 463 435 452 424 449 421 Trgb +0.189841 0.025200 0.043008 436 460 428 442 442 452 Trgb +0.056350 0.007480 0.012766 428 442 436 460 422 446 Trgb +0.000000 0.000000 0.000000 422 446 423 432 428 442 Trgb +0.053800 0.007142 0.012188 452 424 435 423 449 421 Trgb +0.000000 0.000000 0.000000 435 423 423 432 429 427 Trgb +0.000000 0.000000 0.000000 394 385 396 383 397 384 Trgb +0.000000 0.000000 0.000000 396 383 398 382 397 384 Trgb +0.000000 0.000000 0.000000 398 382 399 383 397 384 Trgb +0.000000 0.000000 0.000000 399 383 398 385 397 384 Trgb +0.000000 0.000000 0.000000 398 385 395 386 397 384 Trgb +0.000000 0.000000 0.000000 395 386 394 385 397 384 Trgb +0.000000 0.009095 0.002729 395 386 418 431 417 430 Trgb +0.000000 0.004548 0.001364 395 386 417 430 394 385 Trgb +0.000000 0.072128 0.021639 398 385 420 430 418 431 Trgb +0.000000 0.042886 0.012866 398 385 418 431 395 386 Trgb +0.000000 0.092276 0.027683 399 383 422 429 420 430 Trgb +0.000000 0.096823 0.029047 399 383 420 430 398 385 Trgb +0.000000 0.697133 0.209140 418 430 418 428 419 429 Trgb +0.000000 0.697133 0.209140 418 428 419 427 419 429 Trgb +0.000000 0.697133 0.209140 419 427 421 428 419 429 Trgb +0.000000 0.697133 0.209140 421 428 421 430 419 429 Trgb +0.000000 0.697133 0.209140 421 430 419 431 419 429 Trgb +0.000000 0.697133 0.209140 419 431 418 430 419 429 Trgb +0.000000 0.020589 0.006177 419 431 420 435 418 434 Trgb +0.000000 0.010295 0.003088 419 431 418 434 418 430 Trgb +0.000000 0.052480 0.015744 421 430 422 435 420 435 Trgb +0.000000 0.041682 0.012505 421 430 420 435 419 431 Trgb +0.000000 0.042689 0.012807 421 428 422 433 422 435 Trgb +0.000000 0.052984 0.015895 421 428 422 435 421 430 Trgb +0.291762 0.030182 0.064389 426 444 408 438 420 431 Trgb +0.050562 0.005231 0.011159 415 452 403 442 408 438 Trgb +0.235211 0.024332 0.051909 408 438 426 444 415 452 Trgb +0.389230 0.040265 0.085899 429 450 415 452 426 444 Trgb +0.425848 0.044053 0.093980 432 426 426 444 420 431 Trgb +0.413548 0.042781 0.091266 437 425 438 439 432 426 Trgb +0.503383 0.052074 0.111092 426 444 432 426 438 439 Trgb +0.523316 0.054136 0.115491 438 439 429 450 426 444 Trgb +0.107113 0.011081 0.023639 408 438 413 420 420 431 Trgb +0.005095 0.000527 0.001124 403 442 402 428 408 438 Trgb +0.005095 0.000527 0.001124 413 420 408 438 402 428 Trgb +0.000000 0.000000 0.000000 402 428 411 417 413 420 Trgb +0.241200 0.024952 0.053230 413 420 432 426 420 431 Trgb +0.233994 0.024206 0.051640 426 416 437 425 432 426 Trgb +0.139181 0.014398 0.030716 432 426 413 420 426 416 Trgb +0.000000 0.000000 0.000000 411 417 426 416 413 420 Trgb +0.000000 0.697171 0.209151 417 467 417 468 415 467 Trgb +0.000000 0.697171 0.209151 417 468 415 468 415 467 Trgb +0.000000 0.697171 0.209151 415 468 414 467 415 467 Trgb +0.000000 0.697171 0.209151 414 467 414 467 415 467 Trgb +0.000000 0.697171 0.209151 414 467 415 467 415 467 Trgb +0.000000 0.697171 0.209151 415 467 417 467 415 467 Trgb +0.000000 0.044776 0.013433 421 430 417 468 417 467 Trgb +0.000000 0.053715 0.016115 421 430 417 467 421 429 Trgb +0.000000 0.017878 0.005364 419 428 415 467 414 467 Trgb +0.000000 0.008939 0.002682 419 428 414 467 418 429 Trgb +0.000000 0.050709 0.015213 421 429 417 467 415 467 Trgb +0.000000 0.038763 0.011629 421 429 415 467 419 428 Trgb +0.398748 0.030157 0.085781 427 480 421 486 413 487 Trgb +0.541936 0.040987 0.116584 433 466 435 471 427 480 Trgb +0.376526 0.028477 0.081001 407 476 427 480 413 487 Trgb +0.519713 0.039306 0.111804 421 461 433 466 427 480 Trgb +0.393916 0.029792 0.084742 427 480 407 476 421 461 Trgb +0.185847 0.014056 0.039980 405 460 421 461 407 476 Trgb +0.393176 0.029736 0.084582 435 471 433 466 429 453 Trgb +0.168457 0.012740 0.036239 401 482 407 476 413 487 Trgb +0.063268 0.004785 0.013611 407 476 401 482 396 463 Trgb +0.063268 0.004785 0.013611 396 463 405 460 407 476 Trgb +0.059310 0.004486 0.012759 429 453 410 449 417 448 Trgb +0.370954 0.028055 0.079802 433 466 421 461 429 453 Trgb +0.181888 0.013756 0.039129 410 449 429 453 421 461 Trgb +0.122578 0.009271 0.026370 421 461 405 460 410 449 Trgb +0.000000 0.000000 0.000000 405 460 396 463 410 449 Trgb +0.000000 0.013103 0.003931 419 430 457 446 456 446 Trgb +0.000000 0.006551 0.001965 419 430 456 446 419 431 Trgb +0.000000 0.020230 0.006069 420 429 457 444 457 446 Trgb +0.000000 0.019942 0.005983 420 429 457 446 419 430 Trgb +0.000000 0.007416 0.002225 420 427 458 443 457 444 Trgb +0.000000 0.013967 0.004190 420 427 457 444 420 429 Trgb +0.105394 0.247297 0.070538 453 455 455 452 463 453 Trgb +0.099335 0.233080 0.066483 463 453 462 453 453 455 Trgb +0.076087 0.178532 0.050924 460 437 461 434 467 442 Trgb +0.177850 0.417308 0.119032 463 453 467 442 468 449 Trgb +0.134392 0.315339 0.089946 455 452 458 444 463 453 Trgb +0.157331 0.369162 0.105299 467 442 463 453 458 444 Trgb +0.113669 0.266714 0.076077 458 444 460 437 467 442 Trgb +0.000000 0.000000 0.000000 448 446 447 447 447 440 Trgb +0.041228 0.096737 0.027593 455 452 453 455 448 446 Trgb +0.008584 0.020141 0.005745 447 447 448 446 453 455 Trgb +0.000000 0.000000 0.000000 451 436 452 436 447 440 Trgb +0.020505 0.048112 0.013723 461 434 460 437 452 436 Trgb +0.000000 0.000000 0.000000 452 436 448 446 447 440 Trgb +0.070226 0.164778 0.047001 458 444 455 452 448 446 Trgb +0.037582 0.088182 0.025153 448 446 452 436 458 444 Trgb +0.058087 0.136295 0.038876 460 437 458 444 452 436 Trgb +0.000000 0.699414 0.209824 398 361 400 364 396 364 Trgb +0.000000 0.699414 0.209824 400 364 398 366 396 364 Trgb +0.000000 0.699414 0.209824 398 366 394 367 396 364 Trgb +0.000000 0.699414 0.209824 394 367 392 364 396 364 Trgb +0.000000 0.699414 0.209824 392 364 394 361 396 364 Trgb +0.000000 0.699414 0.209824 394 361 398 361 396 364 Trgb +0.000000 0.025252 0.007576 387 307 400 364 398 361 Trgb +0.000000 0.023246 0.006974 387 307 398 361 385 304 Trgb +0.000000 0.000000 0.000000 381 305 394 361 392 364 Trgb +0.000000 0.000000 0.000000 381 305 392 364 379 307 Trgb +0.000000 0.014159 0.004248 385 304 398 361 394 361 Trgb +0.000000 0.007080 0.002124 385 304 394 361 381 305 Trgb +0.000000 0.670057 0.201017 363 403 365 405 363 405 Trgb +0.000000 0.670057 0.201017 365 405 366 407 363 405 Trgb +0.000000 0.670057 0.201017 366 407 364 407 363 405 Trgb +0.000000 0.670057 0.201017 364 407 361 406 363 405 Trgb +0.000000 0.670057 0.201017 361 406 361 404 363 405 Trgb +0.000000 0.670057 0.201017 361 404 363 403 363 405 Trgb +0.000000 0.126608 0.037982 398 364 365 405 363 403 Trgb +0.000000 0.070797 0.021239 398 364 363 403 396 362 Trgb +0.000000 0.172428 0.051728 399 366 366 407 365 405 Trgb +0.000000 0.177423 0.053227 399 366 365 405 398 364 Trgb +0.000000 0.009991 0.002997 396 362 363 403 361 404 Trgb +0.000000 0.004996 0.001499 396 362 361 404 394 362 Trgb +0.000000 0.000000 0.000000 321 398 321 400 321 399 Trgb +0.000000 0.000000 0.000000 321 400 320 401 321 399 Trgb +0.000000 0.000000 0.000000 320 401 320 400 321 399 Trgb +0.000000 0.000000 0.000000 320 400 320 397 321 399 Trgb +0.000000 0.000000 0.000000 320 397 321 396 321 399 Trgb +0.000000 0.000000 0.000000 321 396 321 398 321 399 Trgb +0.000000 0.039172 0.011752 363 407 321 400 321 398 Trgb +0.000000 0.034938 0.010481 363 407 321 398 364 405 Trgb +0.000000 0.022937 0.006881 363 408 320 401 321 400 Trgb +0.000000 0.033171 0.009951 363 408 321 400 363 407 Trgb +0.000000 0.020469 0.006141 364 405 321 398 321 396 Trgb +0.000000 0.010235 0.003070 364 405 321 396 363 403 Trgb +0.000000 0.000000 0.000000 316 395 314 403 312 397 Trgb +0.027860 0.282235 0.062019 323 395 322 402 316 395 Trgb +0.016503 0.167185 0.036738 314 403 316 395 322 402 Trgb +0.028485 0.288569 0.063411 322 402 320 407 314 403 Trgb +0.012424 0.125863 0.027657 320 407 319 407 314 403 Trgb +0.000000 0.000000 0.000000 315 392 316 395 312 397 Trgb +0.011357 0.115051 0.025282 322 390 323 395 316 395 Trgb +0.000000 0.000000 0.000000 316 395 315 392 322 390 Trgb +0.047694 0.483162 0.106171 326 405 328 397 329 400 Trgb +0.045026 0.456136 0.100232 322 402 323 395 328 397 Trgb +0.051278 0.519465 0.114148 328 397 326 405 322 402 Trgb +0.046094 0.466948 0.102608 320 407 322 402 326 405 Trgb +0.030749 0.311499 0.068450 328 397 327 394 329 400 Trgb +0.028523 0.288951 0.063495 323 395 322 390 328 397 Trgb +0.017829 0.180617 0.039689 327 394 328 397 322 390 Trgb +0.000000 0.699487 0.209846 371 439 368 439 370 437 Trgb +0.000000 0.699487 0.209846 368 439 368 437 370 437 Trgb +0.000000 0.699487 0.209846 368 437 370 436 370 437 Trgb +0.000000 0.699487 0.209846 370 436 372 436 370 437 Trgb +0.000000 0.699487 0.209846 372 436 372 438 370 437 Trgb +0.000000 0.699487 0.209846 372 438 371 439 370 437 Trgb +0.000000 0.000605 0.000182 363 404 370 436 368 437 Trgb +0.000000 0.000303 0.000091 363 404 368 437 361 405 Trgb +0.000000 0.016071 0.004821 365 404 372 436 370 436 Trgb +0.000000 0.008489 0.002547 365 404 370 436 363 404 Trgb +0.000000 0.023048 0.006914 365 406 372 438 372 436 Trgb +0.000000 0.023350 0.007005 365 406 372 436 365 404 Trgb +0.065732 0.277683 0.068683 373 448 364 445 372 445 Trgb +0.067033 0.283180 0.070043 364 445 370 438 372 445 Trgb +0.026637 0.112527 0.027833 361 434 368 430 370 438 Trgb +0.031584 0.133427 0.033002 370 438 364 445 361 434 Trgb +0.005867 0.024787 0.006131 360 440 361 434 364 445 Trgb +0.104129 0.439892 0.108804 379 441 373 448 372 445 Trgb +0.089964 0.380052 0.094003 381 435 379 440 379 441 Trgb +0.105430 0.445389 0.110164 370 438 379 441 372 445 Trgb +0.046486 0.196380 0.048573 368 430 376 430 370 438 Trgb +0.089831 0.379489 0.093864 379 441 370 438 376 430 Trgb +0.091265 0.385549 0.095363 376 430 381 435 379 441 Trgb +0.000920 0.003887 0.000961 368 430 361 434 367 427 Trgb +0.000000 0.000000 0.000000 361 434 367 427 361 434 Trgb +0.020769 0.087740 0.021702 376 430 368 430 367 427 Trgb +0.019849 0.083853 0.020740 367 427 376 430 376 430 Trgb +0.047000 0.198553 0.049111 381 435 376 430 376 430 Trgb +0.000000 0.699497 0.209849 381 445 379 445 381 444 Trgb +0.000000 0.699497 0.209849 379 445 380 444 381 444 Trgb +0.000000 0.699497 0.209849 380 444 382 443 381 444 Trgb +0.000000 0.699497 0.209849 382 443 383 443 381 444 Trgb +0.000000 0.699497 0.209849 383 443 383 444 381 444 Trgb +0.000000 0.699497 0.209849 383 444 381 445 381 444 Trgb +0.000000 0.000696 0.000209 362 406 380 444 379 445 Trgb +0.000000 0.000348 0.000104 362 406 379 445 361 406 Trgb +0.000000 0.016007 0.004802 364 405 382 443 380 444 Trgb +0.000000 0.008525 0.002558 364 405 380 444 362 406 Trgb +0.000000 0.022792 0.006838 365 404 383 443 382 443 Trgb +0.000000 0.023140 0.006942 365 404 382 443 364 405 Trgb +0.310982 0.003067 0.062810 384 465 374 464 391 465 Trgb +0.084174 0.000830 0.017001 363 455 361 451 374 464 Trgb +0.485793 0.004791 0.098117 374 464 393 453 391 465 Trgb +0.382596 0.003773 0.077274 371 443 388 435 393 453 Trgb +0.343159 0.003384 0.069309 393 453 374 464 371 443 Trgb +0.125602 0.001239 0.025368 361 451 371 443 374 464 Trgb +0.577749 0.005698 0.116689 393 453 403 454 391 465 Trgb +0.474551 0.004680 0.095846 388 435 400 433 393 453 Trgb +0.527070 0.005198 0.106454 403 454 393 453 400 433 Trgb +0.374535 0.003694 0.075646 400 433 401 437 403 454 Trgb +0.000000 0.000000 0.000000 379 423 360 435 372 424 Trgb +0.165038 0.001628 0.033333 388 435 371 443 379 423 Trgb +0.041428 0.000409 0.008367 360 435 379 423 371 443 Trgb +0.041428 0.000409 0.008367 371 443 361 451 360 435 Trgb +0.256994 0.002534 0.051906 400 433 388 435 379 423 Trgb +0.133383 0.001315 0.026940 379 423 389 425 400 433 Trgb +0.000000 0.699868 0.209960 440 368 438 370 438 367 Trgb +0.000000 0.699868 0.209960 438 370 436 368 438 367 Trgb +0.000000 0.699868 0.209960 436 368 436 365 438 367 Trgb +0.000000 0.699868 0.209960 436 365 438 363 438 367 Trgb +0.000000 0.699868 0.209960 438 363 440 365 438 367 Trgb +0.000000 0.699868 0.209960 440 365 440 368 438 367 Trgb +0.000000 0.005175 0.001553 394 366 436 368 438 370 Trgb +0.000000 0.008820 0.002646 394 366 438 370 396 367 Trgb +0.000000 0.000510 0.000153 394 363 436 365 436 368 Trgb +0.000000 0.001020 0.000306 394 363 436 368 394 366 Trgb +0.000000 0.000000 0.000000 396 361 438 363 436 365 Trgb +0.000000 0.000000 0.000000 396 361 436 365 394 363 Trgb +0.130763 0.477881 0.121729 448 370 441 374 446 367 Trgb +0.101991 0.372731 0.094944 441 374 448 370 440 377 Trgb +0.069415 0.253681 0.064619 440 377 434 377 441 374 Trgb +0.110114 0.402415 0.102506 441 374 438 363 446 367 Trgb +0.022716 0.083017 0.021147 430 370 431 362 438 363 Trgb +0.063387 0.231649 0.059007 438 363 441 374 430 370 Trgb +0.051461 0.188065 0.047905 434 377 430 370 441 374 Trgb +0.115504 0.422115 0.107524 446 360 448 370 446 367 Trgb +0.094854 0.346649 0.088301 438 363 446 360 446 367 Trgb +0.022716 0.083017 0.021147 431 362 435 356 438 363 Trgb +0.048127 0.175883 0.044802 446 360 438 363 435 356 Trgb +0.025411 0.092867 0.023656 435 356 442 357 446 360 Trgb +0.000000 0.000000 0.000000 431 362 430 370 427 363 Trgb +0.000000 0.000000 0.000000 430 373 427 363 430 370 Trgb +0.010790 0.039432 0.010044 430 370 434 377 430 373 Trgb +0.000000 0.000000 0.000000 435 356 431 362 427 363 Trgb +0.000000 0.697531 0.209259 400 424 402 424 403 424 Trgb +0.000000 0.697531 0.209259 402 424 405 424 403 424 Trgb +0.000000 0.697531 0.209259 405 424 406 424 403 424 Trgb +0.000000 0.697531 0.209259 406 424 404 424 403 424 Trgb +0.000000 0.697531 0.209259 404 424 401 425 403 424 Trgb +0.000000 0.697531 0.209259 401 425 400 424 403 424 Trgb +0.000000 0.010115 0.003035 395 364 402 424 400 424 Trgb +0.000000 0.005058 0.001517 395 364 400 424 393 364 Trgb +0.000000 0.042881 0.012864 398 363 405 424 402 424 Trgb +0.000000 0.029027 0.008708 398 363 402 424 395 364 Trgb +0.000000 0.046621 0.013986 399 364 406 424 405 424 Trgb +0.000000 0.051678 0.015503 399 364 405 424 398 363 Trgb +0.000000 0.692681 0.207804 401 424 402 423 403 424 Trgb +0.000000 0.692681 0.207804 402 423 404 423 403 424 Trgb +0.000000 0.692681 0.207804 404 423 405 424 403 424 Trgb +0.000000 0.692681 0.207804 405 424 405 426 403 424 Trgb +0.000000 0.692681 0.207804 405 426 403 426 403 424 Trgb +0.000000 0.692681 0.207804 403 426 401 424 403 424 Trgb +0.000000 0.033284 0.009985 403 426 395 452 393 450 Trgb +0.000000 0.016642 0.004993 403 426 393 450 401 424 Trgb +0.000000 0.083949 0.025185 405 426 397 451 395 452 Trgb +0.000000 0.066938 0.020081 405 426 395 452 403 426 Trgb +0.000000 0.067677 0.020303 405 424 397 450 397 451 Trgb +0.000000 0.084319 0.025296 405 424 397 451 405 426 Trgb +0.009477 0.046295 0.011154 386 451 390 456 387 455 Trgb +0.023261 0.113633 0.027379 396 460 387 455 390 456 Trgb +0.055621 0.271710 0.065466 390 456 398 458 396 460 Trgb +0.082430 0.402675 0.097021 398 458 403 455 396 460 Trgb +0.044843 0.219063 0.052781 398 451 390 446 397 444 Trgb +0.009477 0.046295 0.011154 390 456 386 451 390 446 Trgb +0.041455 0.202511 0.048793 390 446 398 451 390 456 Trgb +0.073815 0.360588 0.086881 398 458 390 456 398 451 Trgb +0.067345 0.328984 0.079266 403 445 398 451 397 444 Trgb +0.077745 0.379787 0.091506 404 449 403 455 403 445 Trgb +0.090766 0.443397 0.106833 398 451 403 445 403 455 Trgb +0.100624 0.491553 0.118435 403 455 398 458 398 451 Trgb +0.012865 0.062846 0.015142 390 446 395 440 397 444 Trgb +0.000000 0.000000 0.000000 386 451 387 445 390 446 Trgb +0.000000 0.000000 0.000000 395 440 390 446 387 445 Trgb +0.035367 0.172767 0.041627 395 440 403 445 397 444 Trgb +0.000000 0.637740 0.191322 379 451 379 452 377 451 Trgb +0.000000 0.637740 0.191322 379 452 378 452 377 451 Trgb +0.000000 0.637740 0.191322 378 452 376 451 377 451 Trgb +0.000000 0.637740 0.191322 376 451 376 449 377 451 Trgb +0.000000 0.637740 0.191322 376 449 377 449 377 451 Trgb +0.000000 0.637740 0.191322 377 449 379 451 377 451 Trgb +0.000000 0.252303 0.075691 405 426 379 452 379 451 Trgb +0.000000 0.246714 0.074014 405 426 379 451 404 424 Trgb +0.000000 0.000000 0.000000 403 423 377 449 376 449 Trgb +0.000000 0.000000 0.000000 403 423 376 449 402 423 Trgb +0.000000 0.160749 0.048225 404 424 379 451 377 449 Trgb +0.000000 0.080375 0.024112 404 424 377 449 403 423 Trgb +0.017498 0.271496 0.057799 377 454 377 459 372 456 Trgb +0.034877 0.541162 0.115208 382 450 384 455 377 454 Trgb +0.029698 0.460799 0.098099 377 459 377 454 384 455 Trgb +0.028021 0.434774 0.092559 384 455 382 458 377 459 Trgb +0.008105 0.125751 0.026771 377 459 370 455 372 456 Trgb +0.010945 0.169818 0.036153 370 450 377 454 372 456 Trgb +0.023966 0.371853 0.079164 378 445 382 450 377 454 Trgb +0.012233 0.189812 0.040409 377 454 370 450 378 445 Trgb +0.002840 0.044067 0.009382 373 444 378 445 370 450 Trgb +0.032683 0.507117 0.107960 384 455 382 450 385 447 Trgb +0.025310 0.392708 0.083604 385 447 384 452 384 455 Trgb +0.001552 0.024074 0.005125 370 455 370 450 372 456 Trgb +0.000000 0.000000 0.000000 371 447 373 444 370 450 Trgb +0.021771 0.337807 0.071916 382 450 378 445 385 447 Trgb +0.010039 0.155767 0.033161 378 442 385 447 378 445 Trgb +0.002840 0.044067 0.009382 378 445 373 444 378 442 Trgb +0.000000 0.699962 0.209989 436 449 434 451 435 449 Trgb +0.000000 0.699962 0.209989 434 451 433 451 435 449 Trgb +0.000000 0.699962 0.209989 433 451 434 449 435 449 Trgb +0.000000 0.699962 0.209989 434 449 435 447 435 449 Trgb +0.000000 0.699962 0.209989 435 447 436 447 435 449 Trgb +0.000000 0.699962 0.209989 436 447 436 449 435 449 Trgb +0.000000 0.002331 0.000699 402 424 434 449 433 451 Trgb +0.000000 0.001165 0.000350 402 424 433 451 402 426 Trgb +0.000000 0.006038 0.001812 404 423 435 447 434 449 Trgb +0.000000 0.004767 0.001430 404 423 434 449 402 424 Trgb +0.000000 0.004978 0.001494 405 423 436 447 435 447 Trgb +0.000000 0.006144 0.001843 405 423 435 447 404 423 Trgb +0.240590 0.297323 0.107583 437 464 437 455 445 458 Trgb +0.089658 0.110800 0.040092 424 458 427 449 437 455 Trgb +0.138434 0.171078 0.061902 437 455 437 464 424 458 Trgb +0.058982 0.072890 0.026374 428 461 424 458 437 464 Trgb +0.252665 0.312245 0.112982 447 446 447 455 445 458 Trgb +0.110270 0.136273 0.049309 442 437 445 440 447 446 Trgb +0.267098 0.330082 0.119436 437 455 447 446 445 458 Trgb +0.110128 0.136097 0.049245 427 449 434 441 437 455 Trgb +0.185412 0.229133 0.082909 447 446 437 455 434 441 Trgb +0.124703 0.154109 0.055763 434 441 442 437 447 446 Trgb +0.010206 0.012612 0.004564 427 449 424 458 422 443 Trgb +0.000000 0.000000 0.000000 422 452 422 443 424 458 Trgb +0.000000 0.000000 0.000000 432 435 422 443 424 441 Trgb +0.030676 0.037910 0.013717 434 441 427 449 422 443 Trgb +0.020470 0.025297 0.009154 422 443 432 435 434 441 Trgb +0.039214 0.048461 0.017535 442 437 434 441 432 435 Trgb +0.000000 0.675208 0.202562 239 301 244 305 240 305 Trgb +0.000000 0.675208 0.202562 244 305 244 309 240 305 Trgb +0.000000 0.675208 0.202562 244 309 241 309 240 305 Trgb +0.000000 0.675208 0.202562 241 309 236 305 240 305 Trgb +0.000000 0.675208 0.202562 236 305 236 301 240 305 Trgb +0.000000 0.675208 0.202562 236 301 239 301 240 305 Trgb +0.000000 0.139589 0.041877 309 230 244 305 239 301 Trgb +0.000000 0.098494 0.029548 309 230 239 301 305 226 Trgb +0.000000 0.142419 0.042726 310 234 244 309 244 305 Trgb +0.000000 0.161552 0.048465 310 234 244 305 309 230 Trgb +0.000000 0.038266 0.011480 305 226 239 301 236 301 Trgb +0.000000 0.019133 0.005740 305 226 236 301 301 226 Trgb +0.000000 0.697893 0.209368 237 302 239 302 240 305 Trgb +0.000000 0.697893 0.209368 239 302 242 305 240 305 Trgb +0.000000 0.697893 0.209368 242 305 243 308 240 305 Trgb +0.000000 0.697893 0.209368 243 308 241 308 240 305 Trgb +0.000000 0.697893 0.209368 241 308 238 305 240 305 Trgb +0.000000 0.697893 0.209368 238 305 237 302 240 305 Trgb +0.000000 0.017023 0.005107 238 305 176 350 175 346 Trgb +0.000000 0.008512 0.002553 238 305 175 346 237 302 Trgb +0.000000 0.044670 0.013401 241 308 179 352 176 350 Trgb +0.000000 0.035103 0.010531 241 308 176 350 238 305 Trgb +0.000000 0.037215 0.011165 243 308 181 352 179 352 Trgb +0.000000 0.045727 0.013718 243 308 179 352 241 308 Trgb +0.000000 0.699920 0.209976 176 348 178 347 178 349 Trgb +0.000000 0.699920 0.209976 178 347 180 348 178 349 Trgb +0.000000 0.699920 0.209976 180 348 180 351 178 349 Trgb +0.000000 0.699920 0.209976 180 351 178 352 178 349 Trgb +0.000000 0.699920 0.209976 178 352 176 351 178 349 Trgb +0.000000 0.699920 0.209976 176 351 176 348 178 349 Trgb +0.000000 0.001914 0.000574 176 351 145 347 145 344 Trgb +0.000000 0.000957 0.000287 176 351 145 344 176 348 Trgb +0.000000 0.007792 0.002337 178 352 147 348 145 347 Trgb +0.000000 0.005332 0.001599 178 352 145 347 176 351 Trgb +0.000000 0.000000 0.000000 176 348 145 344 147 343 Trgb +0.000000 0.000000 0.000000 176 348 147 343 178 347 Trgb +0.000000 0.699197 0.209759 146 344 148 344 147 345 Trgb +0.000000 0.699197 0.209759 148 344 149 345 147 345 Trgb +0.000000 0.699197 0.209759 149 345 148 347 147 345 Trgb +0.000000 0.699197 0.209759 148 347 146 347 147 345 Trgb +0.000000 0.699197 0.209759 146 347 145 345 147 345 Trgb +0.000000 0.699197 0.209759 145 345 146 344 147 345 Trgb +0.000000 0.000000 0.000000 145 345 151 323 151 321 Trgb +0.000000 0.000000 0.000000 145 345 151 321 146 344 Trgb +0.000000 0.025417 0.007625 148 344 153 321 154 322 Trgb +0.000000 0.029199 0.008760 148 344 154 322 149 345 Trgb +0.000000 0.007212 0.002163 146 344 151 321 153 321 Trgb +0.000000 0.014423 0.004327 146 344 153 321 148 344 Trgb +0.041504 0.027267 0.013754 155 311 144 313 148 310 Trgb +0.041504 0.027267 0.013754 148 310 162 312 155 311 Trgb +0.133196 0.087504 0.044140 164 317 155 311 162 312 Trgb +0.157254 0.103310 0.052113 143 333 145 322 150 331 Trgb +0.048551 0.031896 0.016089 138 320 144 313 145 322 Trgb +0.055597 0.036525 0.018424 145 322 143 333 138 320 Trgb +0.007046 0.004629 0.002335 141 328 138 320 143 333 Trgb +0.203918 0.133965 0.067577 157 336 143 333 150 331 Trgb +0.286927 0.188499 0.095085 145 322 159 325 150 331 Trgb +0.090055 0.059162 0.029843 144 313 155 311 145 322 Trgb +0.226774 0.148981 0.075151 159 325 145 322 155 311 Trgb +0.269915 0.177323 0.089448 155 311 164 317 159 325 Trgb +0.333590 0.219155 0.110549 159 325 157 336 150 331 Trgb +0.216378 0.142151 0.071706 167 325 161 332 157 336 Trgb +0.320101 0.210293 0.106079 157 336 159 325 167 325 Trgb +0.316578 0.207979 0.104911 164 317 167 325 159 325 Trgb +0.000000 0.698678 0.209603 147 347 147 346 147 345 Trgb +0.000000 0.698678 0.209603 147 346 147 344 147 345 Trgb +0.000000 0.698678 0.209603 147 344 147 344 147 345 Trgb +0.000000 0.698678 0.209603 147 344 147 345 147 345 Trgb +0.000000 0.698678 0.209603 147 345 147 346 147 345 Trgb +0.000000 0.698678 0.209603 147 346 147 347 147 345 Trgb +0.000000 0.018415 0.005524 147 344 109 337 110 336 Trgb +0.000000 0.009207 0.002762 147 344 110 336 147 344 Trgb +0.000000 0.037448 0.011234 147 346 109 338 109 337 Trgb +0.000000 0.032535 0.009761 147 346 109 337 147 344 Trgb +0.000000 0.023946 0.007184 147 347 109 339 109 338 Trgb +0.000000 0.033154 0.009946 147 347 109 338 147 346 Trgb +0.013745 0.002545 0.003258 96 334 94 347 91 334 Trgb +0.190914 0.035354 0.045254 106 349 105 355 94 347 Trgb +0.152290 0.028202 0.036098 94 347 96 334 106 349 Trgb +0.295853 0.054788 0.070128 108 336 106 349 96 334 Trgb +0.013745 0.002545 0.003258 99 323 96 334 91 334 Trgb +0.064484 0.011941 0.015285 113 320 111 324 99 323 Trgb +0.078229 0.014487 0.018543 96 334 99 323 111 324 Trgb +0.221792 0.041073 0.052573 111 324 108 336 96 334 Trgb +0.438208 0.081150 0.103872 119 353 121 339 127 341 Trgb +0.315714 0.058466 0.074836 105 355 106 349 119 353 Trgb +0.452629 0.083820 0.107290 121 339 119 353 106 349 Trgb +0.471392 0.087295 0.111737 106 349 108 336 121 339 Trgb +0.364147 0.067435 0.086316 121 339 125 328 127 341 Trgb +0.115222 0.021337 0.027312 111 324 113 320 125 328 Trgb +0.304506 0.056390 0.072179 125 328 121 339 111 324 Trgb +0.397330 0.073580 0.094182 108 336 111 324 121 339 Trgb +0.000000 0.691781 0.207534 149 346 148 347 147 345 Trgb +0.000000 0.691781 0.207534 148 347 147 346 147 345 Trgb +0.000000 0.691781 0.207534 147 346 145 345 147 345 Trgb +0.000000 0.691781 0.207534 145 345 146 344 147 345 Trgb +0.000000 0.691781 0.207534 146 344 147 345 147 345 Trgb +0.000000 0.691781 0.207534 147 345 149 346 147 345 Trgb +0.000000 0.000000 0.000000 145 345 131 375 131 374 Trgb +0.000000 0.000000 0.000000 145 345 131 374 146 344 Trgb +0.000000 0.058813 0.017644 147 346 132 376 131 375 Trgb +0.000000 0.029406 0.008822 147 346 131 375 145 345 Trgb +0.000000 0.093726 0.028118 148 347 134 376 132 376 Trgb +0.000000 0.090973 0.027292 148 347 132 376 147 346 Trgb +0.000000 0.000000 0.000000 124 370 125 375 124 380 Trgb +0.107475 0.388264 0.099148 136 381 141 379 133 384 Trgb +0.029201 0.105490 0.026938 133 366 141 370 136 368 Trgb +0.031304 0.113090 0.028879 125 375 130 379 124 380 Trgb +0.054230 0.195912 0.050028 133 384 124 380 130 379 Trgb +0.102218 0.369274 0.094298 130 379 136 381 133 384 Trgb +0.023944 0.086500 0.022089 129 369 133 366 136 368 Trgb +0.008378 0.030267 0.007729 125 375 124 370 129 369 Trgb +0.008378 0.030267 0.007729 133 366 129 369 124 370 Trgb +0.074140 0.267838 0.068396 141 370 138 374 136 368 Trgb +0.095135 0.343686 0.087764 138 374 141 370 141 379 Trgb +0.129488 0.467789 0.119455 141 379 136 381 138 374 Trgb +0.068883 0.248847 0.063546 138 374 129 369 136 368 Trgb +0.039682 0.143357 0.036608 130 379 125 375 129 369 Trgb +0.084621 0.305704 0.078065 129 369 138 374 130 379 Trgb +0.124231 0.448798 0.114606 136 381 130 379 138 374 Trgb +0.000000 0.000000 0.000000 133 384 131 383 131 381 Trgb +0.000000 0.000000 0.000000 131 383 130 380 131 381 Trgb +0.000000 0.000000 0.000000 130 380 129 379 131 381 Trgb +0.000000 0.000000 0.000000 129 379 131 380 131 381 Trgb +0.000000 0.000000 0.000000 131 380 132 382 131 381 Trgb +0.000000 0.000000 0.000000 132 382 133 384 131 381 Trgb +0.000000 0.087931 0.026379 178 348 131 380 129 379 Trgb +0.000000 0.043965 0.013190 178 348 129 379 176 347 Trgb +0.000000 0.299857 0.089957 179 350 132 382 131 380 Trgb +0.000000 0.215876 0.064763 179 350 131 380 178 348 Trgb +0.000000 0.295907 0.088772 179 352 133 384 132 382 Trgb +0.000000 0.339872 0.101962 179 352 132 382 179 350 Trgb +0.000000 0.691585 0.207476 106 387 105 387 105 385 Trgb +0.000000 0.691585 0.207476 105 387 103 386 105 385 Trgb +0.000000 0.691585 0.207476 103 386 104 384 105 385 Trgb +0.000000 0.691585 0.207476 104 384 105 383 105 385 Trgb +0.000000 0.691585 0.207476 105 383 107 385 105 385 Trgb +0.000000 0.691585 0.207476 107 385 106 387 105 385 Trgb +0.000000 0.038905 0.011671 131 383 105 387 106 387 Trgb +0.000000 0.068470 0.020541 131 383 106 387 132 383 Trgb +0.000000 0.059130 0.017739 133 381 107 385 105 383 Trgb +0.000000 0.029565 0.008870 133 381 105 383 131 379 Trgb +0.000000 0.094922 0.028477 132 383 106 387 107 385 Trgb +0.000000 0.091809 0.027543 132 383 107 385 133 381 Trgb +0.036557 0.227068 0.052725 105 391 97 391 99 386 Trgb +0.065148 0.404652 0.093960 111 392 105 395 105 391 Trgb +0.037225 0.231217 0.053688 97 391 105 391 105 395 Trgb +0.009849 0.061174 0.014205 97 391 97 381 99 386 Trgb +0.052749 0.327638 0.076077 104 381 105 391 99 386 Trgb +0.083603 0.519279 0.120576 113 385 111 392 105 391 Trgb +0.071872 0.446414 0.103657 105 391 104 381 113 385 Trgb +0.058213 0.361574 0.083957 110 379 113 385 104 381 Trgb +0.026041 0.161745 0.037557 97 381 104 381 99 386 Trgb +0.000000 0.000000 0.000000 100 378 105 376 97 381 Trgb +0.016192 0.100570 0.023352 104 381 97 381 105 376 Trgb +0.029241 0.181624 0.042173 105 376 110 379 104 381 Trgb +0.069674 0.432765 0.100488 111 392 113 385 113 389 Trgb +0.044015 0.273387 0.063480 113 380 113 389 113 385 Trgb +0.044284 0.275061 0.063869 113 385 110 379 113 380 Trgb +0.015313 0.095110 0.022085 110 379 105 376 113 380 Trgb +0.000000 0.698498 0.209550 130 380 132 380 131 381 Trgb +0.000000 0.698498 0.209550 132 380 133 381 131 381 Trgb +0.000000 0.698498 0.209550 133 381 132 383 131 381 Trgb +0.000000 0.698498 0.209550 132 383 130 383 131 381 Trgb +0.000000 0.698498 0.209550 130 383 129 381 131 381 Trgb +0.000000 0.698498 0.209550 129 381 130 380 131 381 Trgb +0.000000 0.000000 0.000000 129 381 111 401 111 400 Trgb +0.000000 0.000000 0.000000 129 381 111 400 130 380 Trgb +0.000000 0.023294 0.006988 130 383 112 403 111 401 Trgb +0.000000 0.011647 0.003494 130 383 111 401 129 381 Trgb +0.000000 0.040413 0.012124 132 383 113 403 112 403 Trgb +0.000000 0.037677 0.011303 132 383 112 403 130 383 Trgb +0.019290 0.043219 0.012502 102 398 104 406 103 408 Trgb +0.112959 0.253086 0.073209 111 411 119 410 113 412 Trgb +0.059036 0.132271 0.038261 113 412 103 408 111 411 Trgb +0.071059 0.159208 0.046053 104 406 111 411 103 408 Trgb +0.088148 0.197496 0.057129 110 400 111 391 118 396 Trgb +0.000000 0.000000 0.000000 102 398 106 393 111 391 Trgb +0.044502 0.099707 0.028842 111 391 110 400 102 398 Trgb +0.063792 0.142926 0.041344 104 406 102 398 110 400 Trgb +0.157140 0.352073 0.101843 121 404 110 400 118 396 Trgb +0.174684 0.391380 0.113213 119 410 111 411 121 404 Trgb +0.165263 0.370273 0.107107 110 400 121 404 111 411 Trgb +0.115561 0.258915 0.074895 111 411 104 406 110 400 Trgb +0.060868 0.136376 0.039449 111 391 121 395 118 396 Trgb +0.129860 0.290952 0.084162 121 395 121 404 118 396 Trgb +0.147404 0.330260 0.095533 122 405 119 410 121 404 Trgb +0.110704 0.248032 0.071747 121 404 121 395 122 405 Trgb +0.000000 0.699554 0.209866 131 380 131 379 131 381 Trgb +0.000000 0.699554 0.209866 131 379 132 380 131 381 Trgb +0.000000 0.699554 0.209866 132 380 132 382 131 381 Trgb +0.000000 0.699554 0.209866 132 382 131 383 131 381 Trgb +0.000000 0.699554 0.209866 131 383 130 382 131 381 Trgb +0.000000 0.699554 0.209866 130 382 131 380 131 381 Trgb +0.000000 0.019279 0.005784 130 382 92 378 93 376 Trgb +0.000000 0.013935 0.004181 130 382 93 376 131 380 Trgb +0.000000 0.018894 0.005668 131 383 93 380 92 378 Trgb +0.000000 0.021758 0.006527 131 383 92 378 130 382 Trgb +0.000000 0.005728 0.001718 131 380 93 376 94 376 Trgb +0.000000 0.002864 0.000859 131 380 94 376 131 379 Trgb +0.000000 0.000000 0.000000 83 371 82 384 82 377 Trgb +0.062639 0.107049 0.033938 90 370 88 379 83 371 Trgb +0.045424 0.077629 0.024611 82 384 83 371 88 379 Trgb +0.092448 0.157993 0.050088 88 379 89 387 82 384 Trgb +0.068102 0.116386 0.036898 89 387 93 390 82 384 Trgb +0.017215 0.029420 0.009327 94 365 90 370 83 371 Trgb +0.214613 0.366772 0.116277 98 385 99 373 105 379 Trgb +0.124366 0.212540 0.067381 88 379 90 370 99 373 Trgb +0.189956 0.324634 0.102918 99 373 98 385 88 379 Trgb +0.175253 0.299506 0.094952 89 387 88 379 98 385 Trgb +0.190267 0.325166 0.103087 104 384 98 385 105 379 Trgb +0.141265 0.241421 0.076537 98 385 104 384 93 390 Trgb +0.150908 0.257900 0.081762 93 390 89 387 98 385 Trgb +0.148111 0.253120 0.080246 99 373 104 372 105 379 Trgb +0.078942 0.134911 0.042771 90 370 94 365 99 373 Trgb +0.078030 0.133353 0.042277 104 372 99 373 94 365 Trgb +0.000000 0.651830 0.195549 178 348 180 348 178 349 Trgb +0.000000 0.651830 0.195549 180 348 180 350 178 349 Trgb +0.000000 0.651830 0.195549 180 350 178 351 178 349 Trgb +0.000000 0.651830 0.195549 178 351 175 350 178 349 Trgb +0.000000 0.651830 0.195549 175 350 175 349 178 349 Trgb +0.000000 0.651830 0.195549 175 349 178 348 178 349 Trgb +0.000000 0.136743 0.041023 178 351 181 395 179 394 Trgb +0.000000 0.068371 0.020511 178 351 179 394 175 350 Trgb +0.000000 0.224390 0.067317 180 350 184 394 181 395 Trgb +0.000000 0.214752 0.064426 180 350 181 395 178 351 Trgb +0.000000 0.097284 0.029185 180 348 184 392 184 394 Trgb +0.000000 0.165656 0.049697 180 348 184 394 180 350 Trgb +0.000000 0.000000 0.000000 181 392 182 391 181 393 Trgb +0.000000 0.000000 0.000000 182 391 183 393 181 393 Trgb +0.000000 0.000000 0.000000 183 393 182 394 181 393 Trgb +0.000000 0.000000 0.000000 182 394 181 395 181 393 Trgb +0.000000 0.000000 0.000000 181 395 180 394 181 393 Trgb +0.000000 0.000000 0.000000 180 394 181 392 181 393 Trgb +0.000000 0.098567 0.029570 182 394 210 409 209 410 Trgb +0.000000 0.058014 0.017404 182 394 209 410 181 395 Trgb +0.000000 0.127481 0.038244 183 393 211 408 210 409 Trgb +0.000000 0.133301 0.039990 183 393 210 409 182 394 Trgb +0.000000 0.040554 0.012166 182 391 211 407 211 408 Trgb +0.000000 0.081108 0.024332 182 391 211 408 183 393 Trgb +0.449781 0.027005 0.095357 204 426 214 420 223 422 Trgb +0.000000 0.000000 0.000000 191 412 197 394 196 401 Trgb +0.570312 0.034242 0.120911 214 420 222 408 223 422 Trgb +0.467717 0.028082 0.099160 228 405 223 422 222 408 Trgb +0.379352 0.022777 0.080426 222 408 222 395 228 405 Trgb +0.105134 0.006312 0.022289 203 412 191 412 196 401 Trgb +0.381323 0.022895 0.080844 214 420 204 426 203 412 Trgb +0.184233 0.011062 0.039059 191 412 203 412 204 426 Trgb +0.079098 0.004749 0.016769 204 426 198 421 191 412 Trgb +0.026036 0.001563 0.005520 197 394 209 394 196 401 Trgb +0.026036 0.001563 0.005520 209 394 197 394 216 391 Trgb +0.111265 0.006680 0.023589 216 391 222 395 209 394 Trgb +0.131171 0.007876 0.027809 209 394 203 412 196 401 Trgb +0.501854 0.030132 0.106397 222 408 214 420 203 412 Trgb +0.330800 0.019862 0.070132 203 412 209 394 222 408 Trgb +0.310894 0.018666 0.065912 222 395 222 408 209 394 Trgb +0.000000 0.699809 0.209943 180 394 180 392 181 393 Trgb +0.000000 0.699809 0.209943 180 392 182 391 181 393 Trgb +0.000000 0.699809 0.209943 182 391 183 392 181 393 Trgb +0.000000 0.699809 0.209943 183 392 183 394 181 393 Trgb +0.000000 0.699809 0.209943 183 394 181 395 181 393 Trgb +0.000000 0.699809 0.209943 181 395 180 394 181 393 Trgb +0.000000 0.006766 0.002030 181 395 168 392 166 391 Trgb +0.000000 0.003383 0.001015 181 395 166 391 180 394 Trgb +0.000000 0.000000 0.000000 180 392 167 389 168 388 Trgb +0.000000 0.000000 0.000000 180 392 168 388 182 391 Trgb +0.000000 0.000000 0.000000 180 394 166 391 167 389 Trgb +0.000000 0.000000 0.000000 180 394 167 389 180 392 Trgb +0.168457 0.380906 0.109873 173 398 164 393 172 391 Trgb +0.049902 0.112835 0.032547 164 400 159 394 164 393 Trgb +0.115650 0.261502 0.075430 164 393 173 398 164 400 Trgb +0.105923 0.239508 0.069086 171 400 164 400 173 398 Trgb +0.184304 0.416738 0.120208 177 388 173 398 172 391 Trgb +0.147343 0.333164 0.096101 173 398 177 388 177 395 Trgb +0.121770 0.275339 0.079422 177 395 171 400 173 398 Trgb +0.128611 0.290809 0.083884 164 393 169 384 172 391 Trgb +0.037902 0.085702 0.024721 159 394 159 386 164 393 Trgb +0.063804 0.144271 0.041615 169 384 164 393 159 386 Trgb +0.025902 0.058569 0.016894 159 386 165 380 169 384 Trgb +0.144458 0.326640 0.094220 169 384 177 388 172 391 Trgb +0.064954 0.146870 0.042365 173 381 177 387 177 388 Trgb +0.079651 0.180103 0.051951 177 388 169 384 173 381 Trgb +0.025902 0.058569 0.016894 165 380 173 381 169 384 Trgb +0.000000 0.694743 0.208423 182 394 181 393 181 393 Trgb +0.000000 0.694743 0.208423 181 393 180 392 181 393 Trgb +0.000000 0.694743 0.208423 180 392 181 392 181 393 Trgb +0.000000 0.694743 0.208423 181 392 182 393 181 393 Trgb +0.000000 0.694743 0.208423 182 393 183 394 181 393 Trgb +0.000000 0.694743 0.208423 183 394 182 394 181 393 Trgb +0.000000 0.065286 0.019586 183 394 157 420 156 420 Trgb +0.000000 0.074712 0.022413 183 394 156 420 182 394 Trgb +0.000000 0.018852 0.005655 181 393 154 418 154 417 Trgb +0.000000 0.009426 0.002828 181 393 154 417 180 392 Trgb +0.000000 0.065517 0.019655 182 394 156 420 154 418 Trgb +0.000000 0.046897 0.014069 182 394 154 418 181 393 Trgb +0.365097 0.114210 0.095861 159 429 167 431 150 434 Trgb +0.067185 0.021017 0.017640 139 421 150 434 144 430 Trgb +0.321781 0.100660 0.084488 149 421 159 429 150 434 Trgb +0.159955 0.050037 0.041999 150 434 139 421 149 421 Trgb +0.092770 0.029020 0.024358 143 411 149 421 139 421 Trgb +0.297384 0.093028 0.078082 172 416 166 418 167 407 Trgb +0.459583 0.143767 0.120670 167 431 159 429 166 418 Trgb +0.366658 0.114698 0.096271 166 418 172 416 167 431 Trgb +0.000000 0.000000 0.000000 144 406 143 411 139 421 Trgb +0.254068 0.079478 0.066709 166 418 155 406 167 407 Trgb +0.416267 0.130217 0.109297 159 429 149 421 166 418 Trgb +0.280026 0.087598 0.073525 155 406 166 418 149 421 Trgb +0.118355 0.037024 0.031076 149 421 143 411 155 406 Trgb +0.092397 0.028904 0.024260 155 406 161 403 167 407 Trgb +0.025585 0.008004 0.006718 161 403 155 406 144 406 Trgb +0.025585 0.008004 0.006718 143 411 144 406 155 406 Trgb +0.000000 0.699458 0.209837 243 351 238 351 240 348 Trgb +0.000000 0.699458 0.209837 238 351 236 348 240 348 Trgb +0.000000 0.699458 0.209837 236 348 238 345 240 348 Trgb +0.000000 0.699458 0.209837 238 345 243 345 240 348 Trgb +0.000000 0.699458 0.209837 243 345 245 348 240 348 Trgb +0.000000 0.699458 0.209837 245 348 243 351 240 348 Trgb +0.000000 0.000000 0.000000 238 302 238 345 236 348 Trgb +0.000000 0.000000 0.000000 238 302 236 348 236 305 Trgb +0.000000 0.010118 0.003035 242 302 243 345 238 345 Trgb +0.000000 0.005059 0.001518 242 302 238 345 238 302 Trgb +0.000000 0.023392 0.007018 244 305 245 348 243 345 Trgb +0.000000 0.019284 0.005785 244 305 243 345 242 302 Trgb +0.000000 0.699769 0.209931 279 344 276 345 277 342 Trgb +0.000000 0.699769 0.209931 276 345 274 343 277 342 Trgb +0.000000 0.699769 0.209931 274 343 274 340 277 342 Trgb +0.000000 0.699769 0.209931 274 340 277 338 277 342 Trgb +0.000000 0.699769 0.209931 277 338 279 340 277 342 Trgb +0.000000 0.699769 0.209931 279 340 279 344 277 342 Trgb +0.000000 0.006306 0.001892 238 349 274 343 276 345 Trgb +0.000000 0.011255 0.003376 238 349 276 345 240 351 Trgb +0.000000 0.000452 0.000136 238 346 274 340 274 343 Trgb +0.000000 0.000904 0.000271 238 346 274 343 238 349 Trgb +0.000000 0.000000 0.000000 241 345 277 338 274 340 Trgb +0.000000 0.000000 0.000000 241 345 274 340 238 346 Trgb +0.000000 0.582895 0.174869 282 300 282 301 280 301 Trgb +0.000000 0.582895 0.174869 282 301 280 302 280 301 Trgb +0.000000 0.582895 0.174869 280 302 278 301 280 301 Trgb +0.000000 0.582895 0.174869 278 301 278 300 280 301 Trgb +0.000000 0.582895 0.174869 278 300 279 299 280 301 Trgb +0.000000 0.582895 0.174869 279 299 282 300 280 301 Trgb +0.000000 0.335109 0.100533 277 343 280 302 282 301 Trgb +0.000000 0.336208 0.100862 277 343 282 301 279 342 Trgb +0.000000 0.111337 0.033401 275 342 278 301 280 302 Trgb +0.000000 0.222674 0.066802 275 342 280 302 277 343 Trgb +0.000000 0.000000 0.000000 275 341 278 300 278 301 Trgb +0.000000 0.000000 0.000000 275 341 278 301 275 342 Trgb +0.156119 0.052040 0.041632 292 284 290 293 281 282 Trgb +0.267437 0.089146 0.071317 290 293 292 284 300 303 Trgb +0.431611 0.143870 0.115096 300 303 293 309 290 293 Trgb +0.154020 0.051340 0.041072 290 293 269 291 281 282 Trgb +0.130571 0.043524 0.034819 278 310 264 306 269 291 Trgb +0.263240 0.087747 0.070197 269 291 290 293 278 310 Trgb +0.429512 0.143171 0.114537 293 309 278 310 290 293 Trgb +0.413054 0.137685 0.110148 293 309 300 303 288 319 Trgb +0.021351 0.007117 0.005694 269 291 271 282 281 282 Trgb +0.008229 0.002743 0.002194 264 306 259 298 269 291 Trgb +0.008229 0.002743 0.002194 271 282 269 291 259 298 Trgb +0.114112 0.038037 0.030430 267 317 288 319 278 319 Trgb +0.122342 0.040781 0.032624 264 306 278 310 267 317 Trgb +0.236454 0.078818 0.063054 288 319 267 317 278 310 Trgb +0.410955 0.136985 0.109588 278 310 293 309 288 319 Trgb +0.000000 0.000000 0.000000 259 298 264 306 267 317 Trgb +0.000000 0.699650 0.209895 320 357 320 355 320 355 Trgb +0.000000 0.699650 0.209895 320 355 321 353 320 355 Trgb +0.000000 0.699650 0.209895 321 353 321 353 320 355 Trgb +0.000000 0.699650 0.209895 321 353 321 355 320 355 Trgb +0.000000 0.699650 0.209895 321 355 320 357 320 355 Trgb +0.000000 0.699650 0.209895 320 357 320 357 320 355 Trgb +0.000000 0.019057 0.005717 276 342 320 355 320 357 Trgb +0.000000 0.016121 0.004836 276 342 320 357 276 344 Trgb +0.000000 0.013204 0.003961 277 340 321 353 320 355 Trgb +0.000000 0.017599 0.005280 277 340 320 355 276 342 Trgb +0.000000 0.002937 0.000881 277 340 321 353 321 353 Trgb +0.000000 0.005873 0.001762 277 340 321 353 277 340 Trgb +0.051513 0.547915 0.119886 325 363 327 354 330 358 Trgb +0.033489 0.356204 0.077939 317 363 318 358 325 363 Trgb +0.045176 0.480506 0.105136 327 354 325 363 318 358 Trgb +0.037293 0.396663 0.086791 318 358 320 351 327 354 Trgb +0.042482 0.451858 0.098868 327 354 329 351 330 358 Trgb +0.009041 0.096168 0.021042 322 346 324 347 329 351 Trgb +0.027114 0.288393 0.063101 329 351 327 354 322 346 Trgb +0.028262 0.300606 0.065774 320 351 322 346 327 354 Trgb +0.022883 0.243388 0.053254 319 364 317 363 325 363 Trgb +0.000000 0.000000 0.000000 314 350 312 359 311 352 Trgb +0.016992 0.180738 0.039546 318 358 317 363 312 359 Trgb +0.010607 0.112815 0.024684 312 359 314 350 318 358 Trgb +0.019221 0.204438 0.044732 320 351 318 358 314 350 Trgb +0.000000 0.000000 0.000000 316 347 314 350 311 352 Trgb +0.001576 0.016759 0.003667 314 350 316 347 322 346 Trgb +0.010190 0.108381 0.023714 322 346 320 351 314 350 Trgb +0.000000 0.698163 0.209449 265 347 268 347 266 349 Trgb +0.000000 0.698163 0.209449 268 347 268 350 266 349 Trgb +0.000000 0.698163 0.209449 268 350 267 351 266 349 Trgb +0.000000 0.698163 0.209449 267 351 265 351 266 349 Trgb +0.000000 0.698163 0.209449 265 351 264 348 266 349 Trgb +0.000000 0.698163 0.209449 264 348 265 347 266 349 Trgb +0.000000 0.014969 0.004491 278 340 268 347 265 347 Trgb +0.000000 0.007485 0.002245 278 340 265 347 276 339 Trgb +0.000000 0.041203 0.012361 279 342 268 350 268 347 Trgb +0.000000 0.031829 0.009549 279 342 268 347 278 340 Trgb +0.000000 0.035609 0.010683 277 344 267 351 268 350 Trgb +0.000000 0.043093 0.012928 277 344 268 350 279 342 Trgb +0.005581 0.351590 0.071434 263 344 271 348 264 350 Trgb +0.000872 0.054960 0.011166 264 340 270 341 263 344 Trgb +0.004101 0.258361 0.052492 271 348 263 344 270 341 Trgb +0.006315 0.397826 0.080828 270 341 274 347 271 348 Trgb +0.007937 0.500031 0.101594 271 348 267 356 264 350 Trgb +0.007251 0.456807 0.092812 274 353 269 357 267 356 Trgb +0.008813 0.555244 0.112812 267 356 271 348 274 353 Trgb +0.008671 0.546267 0.110988 274 347 274 353 271 348 Trgb +0.002352 0.148188 0.030108 259 351 263 344 264 350 Trgb +0.000284 0.017904 0.003638 259 345 264 340 263 344 Trgb +0.000284 0.017904 0.003638 263 344 259 351 259 345 Trgb +0.000000 0.000000 0.000000 258 351 259 345 259 351 Trgb +0.004708 0.296630 0.060268 267 356 259 351 264 350 Trgb +0.004307 0.271310 0.055123 269 357 262 356 267 356 Trgb +0.002640 0.166346 0.033797 259 351 267 356 262 356 Trgb +0.000000 0.000000 0.000000 262 356 258 351 259 351 Trgb +0.000000 0.699555 0.209867 274 400 274 399 276 398 Trgb +0.000000 0.699555 0.209867 274 399 276 397 276 398 Trgb +0.000000 0.699555 0.209867 276 397 279 396 276 398 Trgb +0.000000 0.699555 0.209867 279 396 279 397 276 398 Trgb +0.000000 0.699555 0.209867 279 397 276 399 276 398 Trgb +0.000000 0.699555 0.209867 276 399 274 400 276 398 Trgb +0.000000 0.001828 0.000548 238 349 274 399 274 400 Trgb +0.000000 0.000914 0.000274 238 349 274 400 238 350 Trgb +0.000000 0.016145 0.004843 240 347 276 397 274 399 Trgb +0.000000 0.009443 0.002833 240 347 274 399 238 349 Trgb +0.000000 0.021019 0.006306 243 346 279 396 276 397 Trgb +0.000000 0.021933 0.006580 243 346 276 397 240 347 Trgb +0.000000 0.000000 0.000000 275 399 275 398 276 398 Trgb +0.000000 0.000000 0.000000 275 398 277 396 276 398 Trgb +0.000000 0.000000 0.000000 277 396 278 397 276 398 Trgb +0.000000 0.000000 0.000000 278 397 278 398 276 398 Trgb +0.000000 0.000000 0.000000 278 398 276 400 276 398 Trgb +0.000000 0.000000 0.000000 276 400 275 399 276 398 Trgb +0.000000 0.040083 0.012025 276 400 304 426 303 425 Trgb +0.000000 0.020042 0.006012 276 400 303 425 275 399 Trgb +0.000000 0.090960 0.027288 278 398 305 424 304 426 Trgb +0.000000 0.075542 0.022663 278 398 304 426 276 400 Trgb +0.000000 0.066294 0.019888 278 397 306 422 305 424 Trgb +0.000000 0.086336 0.025901 278 397 305 424 278 398 Trgb +0.082512 0.183187 0.053140 311 434 303 434 299 434 Trgb +0.144624 0.321084 0.093142 299 434 307 431 311 434 Trgb +0.131873 0.292775 0.084930 313 423 314 416 316 424 Trgb +0.161712 0.359021 0.104147 316 424 311 434 313 423 Trgb +0.186888 0.414915 0.120361 307 431 313 423 311 434 Trgb +0.028116 0.062421 0.018107 300 424 292 424 296 417 Trgb +0.022788 0.050592 0.014676 299 434 295 431 292 424 Trgb +0.050904 0.113013 0.032783 292 424 300 424 299 434 Trgb +0.113016 0.250910 0.072785 307 431 299 434 300 424 Trgb +0.033444 0.074249 0.021539 305 413 300 424 296 417 Trgb +0.100265 0.222601 0.064573 314 416 313 423 305 413 Trgb +0.098496 0.218673 0.063434 300 424 305 413 313 423 Trgb +0.155280 0.344741 0.100004 313 423 307 431 300 424 Trgb +0.000000 0.000000 0.000000 292 424 297 414 296 417 Trgb +0.005328 0.011829 0.003431 297 414 305 413 296 417 Trgb +0.035213 0.078177 0.022678 309 414 314 416 305 413 Trgb +0.000000 0.000000 0.000000 276 398 274 397 276 398 Trgb +0.000000 0.000000 0.000000 274 397 275 397 276 398 Trgb +0.000000 0.000000 0.000000 275 397 277 398 276 398 Trgb +0.000000 0.000000 0.000000 277 398 278 399 276 398 Trgb +0.000000 0.000000 0.000000 278 399 278 399 276 398 Trgb +0.000000 0.000000 0.000000 278 399 276 398 276 398 Trgb +0.000000 0.456347 0.136904 278 399 262 440 260 440 Trgb +0.000000 0.340193 0.102058 278 399 260 440 276 398 Trgb +0.000000 0.423140 0.126942 278 399 263 440 262 440 Trgb +0.000000 0.497820 0.149346 278 399 262 440 278 399 Trgb +0.000000 0.149360 0.044808 276 398 260 440 259 439 Trgb +0.000000 0.074680 0.022404 276 398 259 439 274 397 Trgb +0.212339 0.022980 0.047064 249 455 269 460 253 460 Trgb +0.339481 0.036740 0.075244 252 441 268 447 249 455 Trgb +0.400003 0.043290 0.088659 269 460 249 455 268 447 Trgb +0.531030 0.057471 0.117700 268 447 280 448 269 460 Trgb +0.070112 0.007588 0.015540 242 448 249 455 253 460 Trgb +0.144590 0.015648 0.032048 241 434 252 441 249 455 Trgb +0.062885 0.006806 0.013938 249 455 242 448 241 434 Trgb +0.184671 0.019986 0.040931 280 431 260 426 268 419 Trgb +0.329260 0.035634 0.072979 268 447 252 441 260 426 Trgb +0.379562 0.041078 0.084128 260 426 280 431 268 447 Trgb +0.520810 0.056365 0.115435 280 448 268 447 280 431 Trgb +0.052664 0.005700 0.011673 260 426 253 419 268 419 Trgb +0.134369 0.014542 0.029782 252 441 241 434 260 426 Trgb +0.052664 0.005700 0.011673 253 419 260 426 241 434 Trgb +0.000000 0.000000 0.000000 241 434 242 431 253 419 Trgb +0.000000 0.699838 0.209951 305 398 304 400 303 399 Trgb +0.000000 0.699838 0.209951 304 400 303 401 303 399 Trgb +0.000000 0.699838 0.209951 303 401 301 400 303 399 Trgb +0.000000 0.699838 0.209951 301 400 301 398 303 399 Trgb +0.000000 0.699838 0.209951 301 398 303 397 303 399 Trgb +0.000000 0.699838 0.209951 303 397 305 398 303 399 Trgb +0.000000 0.004567 0.001370 275 399 301 400 303 401 Trgb +0.000000 0.008870 0.002661 275 399 303 401 276 400 Trgb +0.000000 0.000088 0.000026 275 397 301 398 301 400 Trgb +0.000000 0.000176 0.000053 275 397 301 400 275 399 Trgb +0.000000 0.000000 0.000000 277 396 303 397 301 398 Trgb +0.000000 0.000000 0.000000 277 396 301 398 275 397 Trgb +0.222606 0.358895 0.116300 316 395 312 409 312 399 Trgb +0.223481 0.360306 0.116757 312 409 301 403 312 399 Trgb +0.084475 0.136195 0.044134 299 413 292 405 301 403 Trgb +0.166838 0.268984 0.087164 301 403 312 409 299 413 Trgb +0.143692 0.231666 0.075072 307 412 299 413 312 409 Trgb +0.172674 0.278393 0.090214 306 390 316 395 312 399 Trgb +0.090628 0.146114 0.047348 316 395 306 390 307 386 Trgb +0.033050 0.053284 0.017267 298 386 307 386 306 390 Trgb +0.173550 0.279804 0.090671 301 403 306 390 312 399 Trgb +0.059072 0.095239 0.030862 292 405 292 394 301 403 Trgb +0.091503 0.147525 0.047806 306 390 301 403 292 394 Trgb +0.033050 0.053284 0.017267 292 394 298 386 306 390 Trgb +0.026022 0.041954 0.013595 292 405 299 413 289 403 Trgb +0.000619 0.000998 0.000323 292 394 292 405 289 403 Trgb +0.000000 0.000000 0.000000 298 386 292 394 294 389 Trgb +0.000000 0.683893 0.205168 199 372 201 375 199 375 Trgb +0.000000 0.683893 0.205168 201 375 201 378 199 375 Trgb +0.000000 0.683893 0.205168 201 378 199 378 199 375 Trgb +0.000000 0.683893 0.205168 199 378 197 376 199 375 Trgb +0.000000 0.683893 0.205168 197 376 197 373 199 375 Trgb +0.000000 0.683893 0.205168 197 373 199 372 199 375 Trgb +0.000000 0.091401 0.027420 243 347 201 375 199 372 Trgb +0.000000 0.049695 0.014909 243 347 199 372 240 345 Trgb +0.000000 0.127779 0.038334 243 350 201 378 201 375 Trgb +0.000000 0.130442 0.039133 243 350 201 375 243 347 Trgb +0.000000 0.005327 0.001598 240 345 199 372 197 373 Trgb +0.000000 0.002663 0.000799 240 345 197 373 238 346 Trgb +0.144027 0.150940 0.058993 191 371 200 384 189 382 Trgb +0.110751 0.116067 0.045364 199 362 207 369 191 371 Trgb +0.201210 0.210868 0.082416 200 384 191 371 207 369 Trgb +0.289919 0.303835 0.118751 207 369 211 381 200 384 Trgb +0.135622 0.142131 0.055551 200 384 192 390 189 382 Trgb +0.184399 0.193250 0.075530 192 390 200 384 208 388 Trgb +0.281513 0.295026 0.115308 211 381 208 388 200 384 Trgb +0.047625 0.049911 0.019507 183 377 191 371 189 382 Trgb +0.028132 0.029483 0.011523 190 362 199 362 191 371 Trgb +0.022189 0.023254 0.009088 191 371 183 377 190 362 Trgb +0.088563 0.092814 0.036275 207 369 199 362 206 361 Trgb +0.143049 0.149916 0.058593 206 361 215 374 207 369 Trgb +0.253947 0.266136 0.104017 211 381 207 369 215 374 Trgb +0.039219 0.041102 0.016064 192 390 183 377 189 382 Trgb +0.245542 0.257328 0.100574 208 388 211 381 215 374 Trgb +0.005944 0.006229 0.002434 199 362 190 362 206 361 Trgb +0.000000 0.663069 0.198921 237 303 239 304 240 305 Trgb +0.000000 0.663069 0.198921 239 304 243 306 240 305 Trgb +0.000000 0.663069 0.198921 243 306 243 307 240 305 Trgb +0.000000 0.663069 0.198921 243 307 241 306 240 305 Trgb +0.000000 0.663069 0.198921 241 306 237 304 240 305 Trgb +0.000000 0.663069 0.198921 237 304 237 303 240 305 Trgb +0.000000 0.004603 0.001381 237 304 193 373 193 372 Trgb +0.000000 0.002302 0.000690 237 304 193 372 237 303 Trgb +0.000000 0.134078 0.040224 241 306 197 375 193 373 Trgb +0.000000 0.070492 0.021148 241 306 193 373 237 304 Trgb +0.000000 0.193062 0.057919 243 307 199 376 197 375 Trgb +0.000000 0.195363 0.058609 243 307 197 375 241 306 Trgb +0.000000 0.000000 0.000000 195 373 198 373 196 374 Trgb +0.000000 0.000000 0.000000 198 373 199 374 196 374 Trgb +0.000000 0.000000 0.000000 199 374 197 375 196 374 Trgb +0.000000 0.000000 0.000000 197 375 194 376 196 374 Trgb +0.000000 0.000000 0.000000 194 376 193 374 196 374 Trgb +0.000000 0.000000 0.000000 193 374 195 373 196 374 Trgb +0.000000 0.116215 0.034865 194 376 202 423 201 422 Trgb +0.000000 0.058108 0.017432 194 376 201 422 193 374 Trgb +0.000000 0.468066 0.140420 197 375 204 423 202 423 Trgb +0.000000 0.321194 0.096358 197 375 202 423 194 376 Trgb +0.000000 0.498723 0.149617 199 374 206 422 204 423 Trgb +0.000000 0.556831 0.167049 199 374 204 423 197 375 Trgb +0.000000 0.011484 0.003445 202 423 231 450 230 451 Trgb +0.000000 0.005742 0.001723 202 423 230 451 202 423 Trgb +0.000000 0.027990 0.008397 204 422 232 449 231 450 Trgb +0.000000 0.022608 0.006782 204 422 231 450 202 423 Trgb +0.000000 0.021887 0.006566 205 420 233 448 232 449 Trgb +0.000000 0.027629 0.008289 205 420 232 449 204 422 Trgb +0.140855 0.120441 0.052259 222 460 224 457 234 462 Trgb +0.240544 0.205683 0.089245 244 451 244 451 242 459 Trgb +0.170476 0.145769 0.063249 244 451 244 451 242 439 Trgb +0.212239 0.181480 0.078744 238 442 242 439 244 451 Trgb +0.303940 0.259891 0.112766 234 462 244 451 242 459 Trgb +0.225159 0.192527 0.083537 224 457 231 450 234 462 Trgb +0.297267 0.254185 0.110290 244 451 234 462 231 450 Trgb +0.275635 0.235688 0.102265 231 450 238 442 244 451 Trgb +0.044827 0.038331 0.016632 224 457 222 460 219 448 Trgb +0.000000 0.000000 0.000000 230 437 229 437 221 439 Trgb +0.020908 0.017878 0.007757 229 437 230 437 242 439 Trgb +0.095304 0.081492 0.035359 242 439 238 442 229 437 Trgb +0.000000 0.000000 0.000000 229 437 219 448 221 439 Trgb +0.129131 0.110416 0.047909 231 450 224 457 219 448 Trgb +0.084303 0.072086 0.031278 219 448 229 437 231 450 Trgb +0.158699 0.135699 0.058880 238 442 231 450 229 437 Trgb +0.000000 0.697205 0.209161 203 423 202 421 203 422 Trgb +0.000000 0.697205 0.209161 202 421 202 420 203 422 Trgb +0.000000 0.697205 0.209161 202 420 203 421 203 422 Trgb +0.000000 0.697205 0.209161 203 421 205 422 203 422 Trgb +0.000000 0.697205 0.209161 205 422 205 423 203 422 Trgb +0.000000 0.697205 0.209161 205 423 203 423 203 422 Trgb +0.000000 0.053582 0.016075 205 423 177 446 175 445 Trgb +0.000000 0.054544 0.016363 205 423 175 445 203 423 Trgb +0.000000 0.001924 0.000577 202 421 174 444 174 443 Trgb +0.000000 0.000962 0.000289 202 421 174 443 202 420 Trgb +0.000000 0.037965 0.011390 203 423 175 445 174 444 Trgb +0.000000 0.020425 0.006128 203 423 174 444 202 421 Trgb +0.316256 0.106519 0.084555 174 454 183 458 166 458 Trgb +0.035608 0.011993 0.009520 158 444 166 458 164 454 Trgb +0.217204 0.073158 0.058072 166 444 174 454 166 458 Trgb +0.081816 0.027557 0.021875 166 458 158 444 166 444 Trgb +0.046208 0.015564 0.012354 163 434 166 444 158 444 Trgb +0.350542 0.118068 0.093722 193 445 183 444 188 434 Trgb +0.436507 0.147022 0.116706 183 458 174 454 183 444 Trgb +0.410770 0.138353 0.109825 183 444 193 445 183 458 Trgb +0.324951 0.109448 0.086880 188 454 183 458 193 445 Trgb +0.251490 0.084706 0.067239 183 444 175 430 188 434 Trgb +0.337456 0.113660 0.090223 174 454 166 444 183 444 Trgb +0.212668 0.071630 0.056859 175 430 183 444 166 444 Trgb +0.056808 0.019134 0.015188 166 444 163 434 175 430 Trgb +0.095631 0.032210 0.025568 175 430 185 430 188 434 Trgb +0.010600 0.003570 0.002834 163 434 168 430 175 430 Trgb +0.000000 0.699705 0.209912 228 451 227 452 227 452 Trgb +0.000000 0.699705 0.209912 227 452 226 453 227 452 Trgb +0.000000 0.699705 0.209912 226 453 225 453 227 452 Trgb +0.000000 0.699705 0.209912 225 453 226 451 227 452 Trgb +0.000000 0.699705 0.209912 226 451 228 450 227 452 Trgb +0.000000 0.699705 0.209912 228 450 228 451 227 452 Trgb +0.000000 0.012277 0.003683 203 421 226 451 225 453 Trgb +0.000000 0.006561 0.001968 203 421 225 453 202 423 Trgb +0.000000 0.017430 0.005229 204 421 228 450 226 451 Trgb +0.000000 0.017712 0.005313 204 421 226 451 203 421 Trgb +0.000000 0.005716 0.001715 205 421 228 451 228 450 Trgb +0.000000 0.011432 0.003430 205 421 228 450 204 421 Trgb +0.039036 0.368851 0.081578 229 459 226 459 232 458 Trgb +0.014453 0.136564 0.030203 221 457 220 456 226 459 Trgb +0.054216 0.512286 0.113300 232 453 235 454 232 458 Trgb +0.042493 0.401514 0.088801 235 454 232 453 233 446 Trgb +0.040366 0.381422 0.084358 229 448 233 446 232 453 Trgb +0.054876 0.518519 0.114679 226 459 232 453 232 458 Trgb +0.022702 0.214515 0.047443 220 456 223 452 226 459 Trgb +0.043812 0.413980 0.091559 232 453 226 459 223 452 Trgb +0.041026 0.387655 0.085736 223 452 229 448 232 453 Trgb +0.007590 0.071717 0.015861 225 444 228 445 233 446 Trgb +0.018790 0.177548 0.039268 233 446 229 448 225 444 Trgb +0.000000 0.000000 0.000000 225 444 219 450 222 445 Trgb +0.008716 0.082358 0.018215 223 452 220 456 219 450 Trgb +0.008250 0.077951 0.017240 219 450 225 444 223 452 Trgb +0.019450 0.183782 0.040646 229 448 223 452 225 444 Trgb +0.000000 0.675852 0.202756 157 401 155 402 154 399 Trgb +0.000000 0.675852 0.202756 155 402 153 400 154 399 Trgb +0.000000 0.675852 0.202756 153 400 152 397 154 399 Trgb +0.000000 0.675852 0.202756 152 397 154 396 154 399 Trgb +0.000000 0.675852 0.202756 154 396 156 398 154 399 Trgb +0.000000 0.675852 0.202756 156 398 157 401 154 399 Trgb +0.000000 0.082884 0.024865 197 377 155 402 157 401 Trgb +0.000000 0.128084 0.038425 197 377 157 401 198 376 Trgb +0.000000 0.090401 0.027120 198 373 156 398 154 396 Trgb +0.000000 0.045200 0.013560 198 373 154 396 195 371 Trgb +0.000000 0.160724 0.048217 198 376 157 401 156 398 Trgb +0.000000 0.148162 0.044449 198 376 156 398 198 373 Trgb +0.000000 0.624566 0.187370 133 381 132 382 132 381 Trgb +0.000000 0.624566 0.187370 132 382 130 382 132 381 Trgb +0.000000 0.624566 0.187370 130 382 130 380 132 381 Trgb +0.000000 0.624566 0.187370 130 380 132 379 132 381 Trgb +0.000000 0.624566 0.187370 132 379 134 379 132 381 Trgb +0.000000 0.624566 0.187370 134 379 133 381 132 381 Trgb +0.000000 0.236481 0.070944 154 401 132 382 133 381 Trgb +0.000000 0.274378 0.082313 154 401 133 381 156 400 Trgb +0.000000 0.066195 0.019858 153 400 130 382 132 382 Trgb +0.000000 0.132389 0.039717 153 400 132 382 154 401 Trgb +0.000000 0.246080 0.073824 156 400 133 381 134 379 Trgb +0.000000 0.179885 0.053966 156 400 134 379 156 398 Trgb +0.190356 0.052692 0.048610 134 378 117 386 121 372 Trgb +0.466388 0.129100 0.119098 146 386 134 397 134 378 Trgb +0.319369 0.088404 0.081555 117 386 134 378 134 397 Trgb +0.207824 0.057527 0.053070 134 397 122 397 117 386 Trgb +0.050611 0.014010 0.012924 117 386 115 370 121 372 Trgb +0.032644 0.009036 0.008336 115 370 117 386 115 388 Trgb +0.060843 0.016842 0.015537 122 397 115 388 117 386 Trgb +0.157712 0.043656 0.040274 132 362 134 378 121 372 Trgb +0.426508 0.118061 0.108914 149 373 146 386 134 378 Trgb +0.246846 0.068329 0.063035 134 378 132 362 149 373 Trgb +0.107101 0.029646 0.027349 142 364 149 373 132 362 Trgb +0.440979 0.122066 0.112609 134 397 146 386 149 391 Trgb +0.268552 0.074337 0.068578 149 391 132 398 134 397 Trgb +0.182415 0.050494 0.046582 122 397 134 397 132 398 Trgb +0.017967 0.004973 0.004588 115 370 132 362 121 372 Trgb +0.401099 0.111028 0.102425 146 386 149 373 149 391 Trgb +0.000000 0.696208 0.208862 150 441 149 441 152 441 Trgb +0.000000 0.696208 0.208862 149 441 151 441 152 441 Trgb +0.000000 0.696208 0.208862 151 441 153 441 152 441 Trgb +0.000000 0.696208 0.208862 153 441 154 441 152 441 Trgb +0.000000 0.696208 0.208862 154 441 152 441 152 441 Trgb +0.000000 0.696208 0.208862 152 441 150 441 152 441 Trgb +0.000000 0.021860 0.006558 154 399 151 441 149 441 Trgb +0.000000 0.010930 0.003279 154 399 149 441 152 399 Trgb +0.000000 0.059363 0.017809 156 399 153 441 151 441 Trgb +0.000000 0.046076 0.013823 156 399 151 441 154 399 Trgb +0.000000 0.050790 0.015237 157 399 154 441 153 441 Trgb +0.000000 0.061719 0.018516 157 399 153 441 156 399 Trgb +0.039530 0.023325 0.012571 135 441 138 440 141 452 Trgb +0.241096 0.142261 0.076671 141 452 158 453 150 458 Trgb +0.358611 0.211603 0.114043 149 440 162 441 158 453 Trgb +0.265973 0.156940 0.084583 158 453 141 452 149 440 Trgb +0.127736 0.075372 0.040622 138 440 149 440 141 452 Trgb +0.000000 0.000000 0.000000 138 440 135 441 143 428 Trgb +0.251597 0.148458 0.080011 158 453 160 454 150 458 Trgb +0.369112 0.217799 0.117382 162 441 168 442 158 453 Trgb +0.286976 0.169334 0.091262 160 454 158 453 168 442 Trgb +0.048676 0.028722 0.015480 160 429 143 428 153 424 Trgb +0.269050 0.158756 0.085561 162 441 149 440 160 429 Trgb +0.136882 0.080769 0.043530 143 428 160 429 149 440 Trgb +0.088206 0.052047 0.028051 149 440 138 440 143 428 Trgb +0.279552 0.164953 0.088901 168 442 162 441 160 429 Trgb +0.147384 0.086966 0.046870 160 429 162 430 168 442 Trgb +0.000000 0.698453 0.209536 154 397 154 397 154 399 Trgb +0.000000 0.698453 0.209536 154 397 155 399 154 399 Trgb +0.000000 0.698453 0.209536 155 399 155 401 154 399 Trgb +0.000000 0.698453 0.209536 155 401 155 401 154 399 Trgb +0.000000 0.698453 0.209536 155 401 154 399 154 399 Trgb +0.000000 0.698453 0.209536 154 399 154 397 154 399 Trgb +0.000000 0.024988 0.007496 154 399 112 404 112 402 Trgb +0.000000 0.012494 0.003748 154 399 112 402 154 397 Trgb +0.000000 0.040894 0.012268 155 401 112 406 112 404 Trgb +0.000000 0.039188 0.011756 155 401 112 404 154 399 Trgb +0.000000 0.017612 0.005284 155 401 113 406 112 406 Trgb +0.000000 0.030106 0.009032 155 401 112 406 155 401 Trgb +0.013474 0.018613 0.006417 101 396 102 410 99 405 Trgb +0.048974 0.067653 0.023325 110 392 110 400 101 396 Trgb +0.062448 0.086266 0.029743 102 410 101 396 110 400 Trgb +0.140330 0.193851 0.066836 110 400 111 410 102 410 Trgb +0.074641 0.103109 0.035550 104 413 102 410 113 417 Trgb +0.152523 0.210694 0.072643 111 410 113 417 102 410 Trgb +0.000000 0.000000 0.000000 112 391 110 392 101 396 Trgb +0.190994 0.263838 0.090966 121 407 120 394 126 402 Trgb +0.084474 0.116692 0.040233 110 400 110 392 120 394 Trgb +0.181141 0.250228 0.086274 120 394 121 407 110 400 Trgb +0.223523 0.308773 0.106459 111 410 110 400 121 407 Trgb +0.203187 0.280681 0.096774 123 411 121 407 126 402 Trgb +0.205527 0.283915 0.097888 121 407 123 411 113 417 Trgb +0.235716 0.325617 0.112267 113 417 111 410 121 407 Trgb +0.035500 0.049040 0.016908 110 392 112 391 120 394 Trgb +0.000000 0.000000 0.000000 196 373 198 373 196 374 Trgb +0.000000 0.000000 0.000000 198 373 199 374 196 374 Trgb +0.000000 0.000000 0.000000 199 374 196 375 196 374 Trgb +0.000000 0.000000 0.000000 196 375 194 375 196 374 Trgb +0.000000 0.000000 0.000000 194 375 194 374 196 374 Trgb +0.000000 0.000000 0.000000 194 374 196 373 196 374 Trgb +0.000000 0.058250 0.017475 196 375 211 428 209 428 Trgb +0.000000 0.029125 0.008737 196 375 209 428 194 375 Trgb +0.000000 0.089543 0.026863 199 374 214 427 211 428 Trgb +0.000000 0.088459 0.026538 199 374 211 428 196 375 Trgb +0.000000 0.032377 0.009713 198 373 213 426 214 427 Trgb +0.000000 0.061502 0.018451 198 373 214 427 199 374 Trgb +0.000000 0.030777 0.009233 211 428 250 437 250 438 Trgb +0.000000 0.024674 0.007402 211 428 250 438 211 429 Trgb +0.000000 0.024499 0.007350 211 426 250 435 250 437 Trgb +0.000000 0.030690 0.009207 211 426 250 437 211 428 Trgb +0.000000 0.006103 0.001831 212 425 250 434 250 435 Trgb +0.000000 0.012206 0.003662 212 425 250 435 211 426 Trgb +0.191392 0.316343 0.101547 257 446 258 441 262 439 Trgb +0.197092 0.325763 0.104571 248 447 249 440 258 441 Trgb +0.176218 0.291262 0.093496 258 441 257 446 248 447 Trgb +0.088556 0.146370 0.046985 247 447 248 447 257 446 Trgb +0.191022 0.315731 0.101350 258 441 260 430 262 439 Trgb +0.196721 0.325151 0.104374 249 440 251 431 258 441 Trgb +0.175477 0.290037 0.093103 260 430 258 441 251 431 Trgb +0.087553 0.144712 0.046453 251 431 253 425 260 430 Trgb +0.002361 0.003902 0.001253 241 437 240 442 238 433 Trgb +0.111529 0.184341 0.059174 249 440 248 447 241 437 Trgb +0.047688 0.078822 0.025302 240 442 241 437 248 447 Trgb +0.045589 0.075353 0.024188 248 447 247 447 240 442 Trgb +0.002361 0.003902 0.001253 243 426 241 437 238 433 Trgb +0.111158 0.183728 0.058977 251 431 249 440 241 437 Trgb +0.047318 0.078209 0.025105 241 437 243 426 251 431 Trgb +0.044957 0.074307 0.023853 253 425 251 431 243 426 Trgb +0.000000 0.696159 0.208848 210 428 209 426 211 427 Trgb +0.000000 0.696159 0.208848 209 426 211 426 211 427 Trgb +0.000000 0.696159 0.208848 211 426 212 426 211 427 Trgb +0.000000 0.696159 0.208848 212 426 213 428 211 427 Trgb +0.000000 0.696159 0.208848 213 428 212 429 211 427 Trgb +0.000000 0.696159 0.208848 212 429 210 428 211 427 Trgb +0.000000 0.053681 0.016104 212 429 198 454 197 453 Trgb +0.000000 0.036521 0.010956 212 429 197 453 210 428 Trgb +0.000000 0.057934 0.017380 213 428 200 453 198 454 Trgb +0.000000 0.064388 0.019316 213 428 198 454 212 429 Trgb +0.000000 0.012907 0.003872 210 428 197 453 196 451 Trgb +0.000000 0.006454 0.001936 210 428 196 451 209 426 Trgb +0.154398 0.084429 0.047765 188 459 198 464 187 464 Trgb +0.165493 0.090496 0.051198 202 466 187 464 198 464 Trgb +0.296883 0.162344 0.091845 198 464 209 463 202 466 Trgb +0.036020 0.019697 0.011143 183 449 188 459 187 464 Trgb +0.274719 0.150224 0.084989 209 453 194 450 203 442 Trgb +0.225659 0.123397 0.069811 198 464 188 459 194 450 Trgb +0.328338 0.179544 0.101576 194 450 209 453 198 464 Trgb +0.388466 0.212424 0.120178 209 463 198 464 209 453 Trgb +0.223779 0.122368 0.069229 209 440 209 453 203 442 Trgb +0.226457 0.123833 0.070058 209 453 209 440 213 455 Trgb +0.337526 0.184568 0.104419 213 455 209 463 209 453 Trgb +0.136021 0.074380 0.042080 194 450 194 438 203 442 Trgb +0.107282 0.058665 0.033189 188 459 183 449 194 450 Trgb +0.071262 0.038968 0.022046 194 438 194 450 183 449 Trgb +0.000000 0.000000 0.000000 183 449 187 441 194 438 Trgb +0.085080 0.046524 0.026321 194 438 209 440 203 442 Trgb +0.000000 0.695760 0.208728 202 465 202 466 200 465 Trgb +0.000000 0.695760 0.208728 202 466 201 466 200 465 Trgb +0.000000 0.695760 0.208728 201 466 199 465 200 465 Trgb +0.000000 0.695760 0.208728 199 465 198 464 200 465 Trgb +0.000000 0.695760 0.208728 198 464 200 465 200 465 Trgb +0.000000 0.695760 0.208728 200 465 202 465 200 465 Trgb +0.000000 0.053534 0.016060 213 428 202 466 202 465 Trgb +0.000000 0.065180 0.019554 213 428 202 465 213 427 Trgb +0.000000 0.023293 0.006988 211 427 200 465 198 464 Trgb +0.000000 0.011646 0.003494 211 427 198 464 209 427 Trgb +0.000000 0.062864 0.018859 213 427 202 465 200 465 Trgb +0.000000 0.048901 0.014670 213 427 200 465 211 427 Trgb +0.375597 0.014475 0.078015 207 480 205 484 195 485 Trgb +0.566565 0.021835 0.117680 216 466 220 471 207 480 Trgb +0.435134 0.016770 0.090381 205 484 207 480 220 471 Trgb +0.360499 0.013893 0.074879 187 474 207 480 195 485 Trgb +0.551467 0.021253 0.114544 202 460 216 466 207 480 Trgb +0.404938 0.015606 0.084109 207 480 187 474 202 460 Trgb +0.194920 0.007512 0.040486 187 458 202 460 187 474 Trgb +0.435649 0.016790 0.090488 220 471 216 466 215 452 Trgb +0.150481 0.005799 0.031256 185 479 187 474 195 485 Trgb +0.057909 0.002232 0.012028 187 474 185 479 180 460 Trgb +0.057909 0.002232 0.012028 180 460 187 458 187 474 Trgb +0.079101 0.003049 0.016430 215 452 195 446 206 446 Trgb +0.420551 0.016208 0.087352 216 466 202 460 215 452 Trgb +0.216112 0.008329 0.044888 195 446 215 452 202 460 Trgb +0.137011 0.005280 0.028458 202 460 187 458 195 446 Trgb +0.000000 0.000000 0.000000 187 458 180 460 195 446 Trgb + +0.2 20 20 592 592 BDR + +grestore +showpage +%%Trailer +%%Pages: 1 +end +clear cleardictstack +doretreesave restore +%%EOF diff --git a/Master/xemtex/doc/ghostscript/examples/escher.ps b/Master/xemtex/doc/ghostscript/examples/escher.ps new file mode 100644 index 00000000000..74b3e92d6de --- /dev/null +++ b/Master/xemtex/doc/ghostscript/examples/escher.ps @@ -0,0 +1,384 @@ +%! +% If you're concerned that the cpu in your PostScript printer will atrophy +% from disuse, here is another Escher-like contribution to to keep it busy +% for a while. It uses PostScript color commands, but will still work on +% a monochrome printer (but isn't very pretty in black & white). +% +% The butterflies are arranged in a hexagonal grid (wallpaper group p6), +% and the moveto, lineto, curveto commands used to render the tesselation +% are redefined so as to impose a nonlinear transform that shrinks the +% infinite plane to an ellipse. This is a sleazy way to mimic Escher's +% "circle limit" sorts of things. +% +% The butterfly permimeter was made by imposing all the symmetry constraints +% on a path, and then that path was filled in using Adobe Illustrator +% +% The routines Xform and next_color are easy to change if you want to hack +% with them. The code was written to sacrifice efficiency for readability. +% +% Bob Wallis +% +% UUCP {sun,pyramid,cae780,apple}!weitek!wallis + +/eschersave save def % prevent left over side effects + +%statusdict begin waittimeout 6000 lt % if you have a slow printer, you +% {0 60 6000 setdefaulttimeouts} % might need to uncomment this +%if end + +/nlayers 1 def % 1 takes about 10 minutes on a LW+; 2 takes 4x longer +/warp 1 def % 1 -> ellipsoidal distortion; 0 -> flat Euclidean +/inch {72 mul} def + +/x4 152 def /y4 205.6 def % 6 fold rotation center of bfly +/x12 387.20 def /y12 403.84 def % 3 fold center of bfly + +/dx x4 x12 sub def % [dx,dy] = distance between the +/dy y4 y12 sub def % two fixed points above + +/Dm dx dup mul dy dup mul % magnitude of basis vectors of + add sqrt 3 sqrt mul % parallelogram lattice +def % = |dx,dy| * sqrt(3) + +/Da dy dx atan 30 add def +/D1x Dm Da cos mul def % [D1x, D1y] = basis vector vector #1 +/D1y Dm Da sin mul def % = [Dm,0] exp(j30) + +/Da dy dx atan 30 sub def +/D2x Dm Da cos mul def % [D2x, D2y] = basis vector vector #2 +/D2y Dm Da sin mul def % = [Dm,0] exp(-j30) + +/m { moveto} def +/L {lineto} def +/S {stroke} def +/c {curveto} def +/f {closepath fill} def +/F {closepath fill} def +/g { setgray} def + +/FillStroke { % fill interior & stroke black border + closepath gsave fill grestore 0 setgray stroke +} def + +% +% Description of 1 butterfly +% +/body { + 314.96 280.19 m + 383.4 261.71 445.11 243.23 513.52 224.68 c + 463.68 256.59 490.26 328.83 446.99 360.76 c + 423.71 347.32 397.08 339.7 367.07 337.9 c + 388.93 358.28 414.14 372.84 442.73 381.58 c + 426.68 398.18 394.07 389.7 387.2 403.84 c + 371.52 404.96 362.56 372.48 340.16 366.88 c + 346.88 396.01 346.88 425.12 340.16 454.24 c + 326.72 427.35 320 400.48 320 373.6 c + 270.71 352.1 221.44 411.23 168.88 384.02 c + 189.04 388.03 202.48 380.4 212.57 366.95 c + 216.72 350.85 209.23 341.46 190.1 338.79 c + 177.34 343.57 167.94 354.17 161.9 370.59 c + 176.06 305.52 132.02 274.05 152 205.6 c + 201.29 257.12 250.56 234.72 299.84 279.52 c + 288.64 266.08 284.16 252.64 286.4 239.2 c + 298.27 223.97 310.15 222.18 322.02 233.82 c + 328.62 249.28 328.51 264.74 314.96 280.19 c + FillStroke +} def + +/eyes { + 294.8125 238.3246 m + 296.9115 238.3246 298.6132 242.7964 298.6132 248.3125 c + 298.6132 253.8286 296.9115 258.3004 294.8125 258.3004 c + 292.7135 258.3004 291.0118 253.8286 291.0118 248.3125 c + 291.0118 242.7964 292.7135 238.3246 294.8125 238.3246 c + closepath gsave 1 g fill grestore 0 g S + + 319.5 241.1782 m + 321.7455 241.1782 323.5659 245.4917 323.5659 250.8125 c + 323.5659 256.1333 321.7455 260.4468 319.5 260.4468 c + 317.2545 260.4468 315.4341 256.1333 315.4341 250.8125 c + 315.4341 245.4917 317.2545 241.1782 319.5 241.1782 c + closepath gsave 1 g fill grestore 0 g S + 0 g + 296.875 242.0939 m + 297.4608 242.0939 297.9356 243.479 297.9356 245.1875 c + 297.9356 246.896 297.4608 248.2811 296.875 248.2811 c + 296.2892 248.2811 295.8143 246.896 295.8143 245.1875 c + 295.8143 243.479 296.2892 242.0939 296.875 242.0939 c + f + 0 g + 318.5 243.7707 m + 319.281 243.7707 319.9142 245.0766 319.9142 246.6875 c + 319.9142 248.2984 319.281 249.6043 318.5 249.6043 c + 317.719 249.6043 317.0858 248.2984 317.0858 246.6875 c + 317.0858 245.0766 317.719 243.7707 318.5 243.7707 c + f +} def + +/stripes { + 292 289 m + 252 294 241 295 213 279 c + 185 263 175 252 159 222 c + S + 285 313 m + 239 326 226 325 206 315 c + 186 305 164 278 161 267 c + S + 298 353 m + 262 342 251 339 237 355 c + 223 371 213 380 201 383 c + S + 330 288 m + 384 293 385 292 418 280 c + 451 268 452 264 473 247 c + S + 342 306 m + 381 311 386 317 410 311 c + 434 305 460 287 474 262 c + S + 345 321 m + 352 357 359 367 379 377 c + 399 387 409 385 426 382 c + S + 327.75 367.75 m + 336.5 392.25 333.682 403.348 335.25 415.5 c + S + 320 364.75 m + 322 361.75 323.5 360.5 326.25 360 c + 329 359.5 332 360.5 334 362.75 c + S + 316.25 356.5 m + 318.75 353.25 320 353 323.25 352.25 c + 326.5 351.5 329 352 331.5 353.25 c + S + 312.5 349 m + 316.75 345.5 318.25 344.5 321.25 343.75 c + 324.25 343 327 344 329.75 346 c + S + 310.75 340.75 m + 314.25 336.5 316.25 335.25 320 335.25 c + 323.75 335.25 327 336.5 329.25 338 c + S + 308.5 332 m + 311.75 328.5 312.5 327.25 317 327 c + 321.5 326.75 325.75 328.25 327.75 329.75 c + S + 305 322 m + 309.5 317.75 310.75 317 315 316.5 c + 319.25 316 322.25 318 324.75 320 c + S + 302.25 311 m + 307 307.5 307.75 306.25 312.75 306 c + 317.75 305.75 320 307.25 323.75 309.5 c + S + 301.25 298.25 m + 304.5 292.75 305.25 292 308.25 292 c + 311.25 292 313.75 293.75 315.75 295.75 c + S +} def +/nostrils { + 0 g + 304.062 227.775 m + 304.599 227.775 305.034 228.883 305.034 230.25 c + 305.034 231.616 304.599 232.724 304.062 232.724 c + 303.525 232.724 303.09 231.616 303.09 230.25 c + 303.09 228.883 303.525 227.775 304.062 227.775 c + f + 304.062 230.25 m + F + 309.562 228.275 m + 310.099 228.275 310.534 229.383 310.534 230.75 c + 310.534 232.116 310.099 233.224 309.562 233.224 c + 309.025 233.224 308.59 232.116 308.59 230.75 c + 308.59 229.383 309.025 228.275 309.562 228.275 c + f +} def +/thorax +{ + 327.5 300 m + 316.5 283 315.5 275.5 308 277.5 c + 294 311.5 299 313.5 304 334 c + 309 354.5 315.5 362 322.5 372 c + 329.5 382 327.5 376.5 331 376 c + 334.5 375.5 339.1367 379.1109 339 369 c + 338.5 332 333.4999 324.5 330.5 311.5 c + 0 g S +} def +/spots { + next_color + 192 242.201 m + 202.1535 242.201 210.3848 251.0655 210.3848 262 c + 210.3848 272.9345 202.1535 281.799 192 281.799 c + 181.8465 281.799 173.6152 272.9345 173.6152 262 c + 173.6152 251.0655 181.8465 242.201 192 242.201 c + FillStroke + next_color + 447.5 250.2365 m + 459.6061 250.2365 469.4203 257.5181 469.4203 266.5 c + 469.4203 275.4819 459.6061 282.7635 447.5 282.7635 c + 435.3939 282.7635 425.5797 275.4819 425.5797 266.5 c + 425.5797 257.5181 435.3939 250.2365 447.5 250.2365 c + FillStroke + next_color + 401 369.1005 m + 409.5914 369.1005 416.5563 373.5327 416.5563 379 c + 416.5563 384.4673 409.5914 388.8995 401 388.8995 c + 392.4086 388.8995 385.4436 384.4673 385.4436 379 c + 385.4436 373.5327 392.4086 369.1005 401 369.1005 c + FillStroke + next_color + 249 348.2721 m + 261.4966 348.2721 271.6274 353.9707 271.6274 361 c + 271.6274 368.0293 261.4966 373.7279 249 373.7279 c + 236.5034 373.7279 226.3726 368.0293 226.3726 361 c + 226.3726 353.9707 236.5034 348.2721 249 348.2721 c + FillStroke +} def + +/ncolor 6 def +/cidx 0 def + +/next_color { + cidx ncolor div % hue + .75 % saturation (change these if you like) + .8 % lightness + sethsbcolor + /cidx cidx 1 add ncolor mod def +} def + +/cidx 0 def + +/max_r2 % radius^2 for center of outermost ring of butterflies + Dm nlayers mul 1.05 mul dup mul +def + +/max_radius max_r2 sqrt def +/max_radius_inv 1 max_radius div def +/Dm_inv 1 Dm div def + +% +% Ellipsoidal distortion, maps "nlayers" concentric rings of cells into +% an ellipse centered on page + +% D length of 1 basis vector separating hexagonal cells +% z0 center of 6-fold rotation = origin of shrink xform +% z' = (z - z0)/D new coord system +% |z'| = sqrt(x^2 + [(8.5/11)*y]^2) aspect ratio of paper +% z" = z' * a/M(|z'|) shrink by "a/M(|z|)" as fcn of radius + +% At the max radius, we want the shrunk ellipse to be "W" units wide so it +% just fits our output format - solve for scale factor "a" + +% zmax = n+0.5 for n layers of cells +% zmax * [a/M(zmax)] = W 1/2 width of output on paper +% a = M(zmax)*W/zmax solve for "a" + +%/M{dup mul 1 add sqrt}bind def % M(u) = sqrt(1+|u|^2) = one possible shrink +/M { 1.5 add } bind def % M(u) = (1.5+|u|) = another possible one +/W 3.8 inch def % 1/2 width of ellipse +/zmax 0.5 nlayers add def % radius at last layer of hexagons +/a zmax M W mul zmax div def % a = M(zmax)*W/zmax + +/Xform { % [x0,y0] = ctr ellipse + Matrix transform + /y exch def + /x exch def + /z x dup mul y .773 mul dup mul add sqrt def % ellipse radius + /Scale a z M div def % z=a/M(|z|) + x Scale mul x0 add % magnify back up + y Scale mul y0 add % [x0+x*s, y0+y*s] +} def + + +/Helvetica findfont 8 scalefont setfont +4.25 inch 0.5 inch moveto +(RHW) stringwidth pop -0.5 mul 0 rmoveto +(RHW) show % autograph + +warp 1 eq { % redefine commands to use Xform + /moveto { Xform //moveto} def + /lineto { Xform //lineto} def + /curveto { + Xform 6 -2 roll + Xform 6 -2 roll + Xform 6 -2 roll + //curveto + } def +}if + + +/bfly { % paint 1 butterfly + next_color body + 1 setgray eyes + stripes + 0 setgray nostrils + 0.5 setgray thorax next_color + spots +} def + +/x0 x4 def % center +/y0 y4 def + +/T1matrix % xlate to center of image + x0 neg y0 neg matrix translate +def + +/Smatrix % scale so that 1 basis vector = 1.0 + Dm_inv dup matrix scale +def + +/HexCell { % 6 butterflys rotated about center of + /cidx 0 def % 6 fold symmetry + /color 0 def + /T2matrix dx dy matrix translate def + 0 60 300 { + /angle exch def + /Rmatrix angle matrix rotate def + /Matrix % translate, rotate, scale - used by Xform + T1matrix Rmatrix matrix concatmatrix + T2matrix matrix concatmatrix + Smatrix matrix concatmatrix + def + gsave + warp 0 eq % then may use usual PostScript machinery + { % else using Xform + x0 y0 translate angle rotate + .5 dup scale + dx x0 sub dy y0 sub translate + } if + bfly + next_color + grestore + } for +} def + + +%320 x4 sub 240 y4 sub translate +4.25 inch x4 sub 5.5 inch y4 sub translate + + +0 setlinewidth +/N 2 def +N neg 1 N { + /i exch def % translate to + N neg 1 N { % i*D1 + j*D2 + /j exch def % and draw HexCell + gsave + /dx i D1x mul j D2x mul add def % translate HexCell by + /dy i D1y mul j D2y mul add def % [dx,dy] + /r2 dx dup mul dy dup mul add def % r^2 = |dx,dy|^2 + r2 max_r2 lt % inside radius? + { % yes + 1 r2 max_r2 div sub sqrt 2 div + setlinewidth % make skinnier lines + HexCell % 6 butterflies + } + if + grestore + } for +} for + +showpage + +clear cleardictstack +eschersave restore diff --git a/Master/xemtex/doc/ghostscript/examples/golfer.ps b/Master/xemtex/doc/ghostscript/examples/golfer.ps new file mode 100644 index 00000000000..9f3a8916d49 --- /dev/null +++ b/Master/xemtex/doc/ghostscript/examples/golfer.ps @@ -0,0 +1,1401 @@ +%!PS-Adobe-2.0 EPSF-1.2 +%%Creator:Adobe Illustrator(TM) 1.0b2- +%%Title:golfer art+ +%%CreationDate:1/6/87 9:32 AM +%%DocumentFonts:Helvetica-Bold +%%BoundingBox:7 31 577 726 +%%TemplateBox:0 -48 576 672 +%%EndComments +/golfersave save def % prevent left over effects +100 dict begin +/q{bind def}bind def +/Q{load def}q +/x{exch def}q +/X/def Q +/g{/_g x/p{_g setgray}X}q +/G{/_G x/P{_G setgray}X}q +/k{/_b x/_g x/_r x/p{_r _g _b setrgbcolor}X}q +/K{/_B x/_G x/_R x/P{_R _G _B setrgbcolor}X}q +/d/setdash Q +/i/setflat Q +/j/setlinejoin Q +/J/setlinecap Q +/M/setmiterlimit Q +/w/setlinewidth Q +/_C{.25 sub round .25 add}q +/_c{transform _C exch _C exch itransform}q +/c{_c curveto}q +/C/c Q +/v{currentpoint 6 2 roll _c curveto}q +/V/v Q +/y{_c 2 copy curveto}q +/Y/y Q +/l{_c lineto}q +/L/l Q +/m{_c moveto}q +/_e[]X +/_E{_e length 0 ne{gsave 1 g 0 G 1 i 0 J 0 j .5 w 10 M[]0 d +/Helvetica-Bold 24 0 0 1 z +[0.966 0.259 -0.259 0.966 +_e 0 get _e 2 get add 2 div _e 1 get _e 3 get add 2 div]a +(ERROR: can't fill a path)t T grestore}if}q +/n/newpath Q +/N/newpath Q +/F{p{fill}stopped{/_e[pathbbox]X n _E}if}q +/f{closepath F}q +/S{P stroke}q +/s{closepath S}q +/B{gsave F grestore S}q +/b{closepath B}q +/u{}q +/U{}q +/_s/ashow Q +/_S{(?)exch{2 copy 0 exch put pop dup true charpath currentpoint _m setmatrix +stroke _M setmatrix moveto 3 copy pop rmoveto}forall pop pop pop n}q +/_A{_a moveto _t exch 0 exch}q +/_L{0 _l neg translate _M currentmatrix pop}q +/_w{dup stringwidth exch 3 -1 roll length 1 sub _t mul add exch}q +/_z[{0 0}bind{dup _w exch neg 2 div exch neg 2 div}bind +{dup _w exch neg exch neg}bind]X +/z{_z exch get/_a x/_t x/_l x exch findfont exch scalefont setfont}q +/_d{matrix currentmatrix X}q +/_D{/_m _d gsave concat/_M _d}q +/e{_D p/t{_A _s _L}X}q +/r{_D P/t{_A _S _L}X}q +/a{_D/t{dup p _A _s P _A _S _L}X}q +/o{_D/t{pop _L}X}q +/T{grestore}q +/Z{findfont begin currentdict dup length dict begin +{1 index/FID ne{X}{pop pop}ifelse}forall/FontName exch X dup length 0 ne +{/Encoding Encoding 256 array copy X 0 exch{dup type/nametype eq +{Encoding 2 index 2 index put pop 1 add}{exch pop}ifelse}forall}if pop +currentdict dup end end/FontName get exch definefont pop}q +n +%%EndProlog +u +0.9 g +0 G +1 i +0 J +0 j +1 w +10 M +[]0 d +%%Note: +15.815 40.248 m +567.815 40.002 L +567.748 716.565 L +15.998 716.81 L +15.815 40.248 L +b +U +1 g +285.313 40 m +567.688 40.125 L +567.812 78.375 L +285.312 78.25 L +285.313 40 L +b +0 g +175.5 163 m +180.007 163 173.738 169.081 171.75 168.75 c +174.75 169.25 176.25 169.5 174.5 171.25 C +178 171.25 176.349 173.783 175 176.75 c +173.75 179.5 170.75 182.25 168.25 182 C +165.5 181.25 167.622 182.838 165.25 186 c +164.5 187 164.75 187.5 161.75 186.75 c +158.75 186 163.25 190 156.75 190 c +150.25 190 148.5 189 145.5 186 c +142.5 183 139.75 183.75 139.5 182.5 c +139.25 181.25 139.5 176.75 138.75 175.5 c +138 174.25 136.75 174.25 136.25 178 c +135.75 181.75 140.25 182.25 134 187 C +135.75 190.75 134.5 191.75 131 193.5 C +131 200 129.202 203.364 119.5 208.5 c +115.25 210.75 107 212.75 104.75 208.75 c +102.5 204.75 103 206.5 96.5 205.75 c +90 205 87.25 202.5 86.5 197.75 c +85.75 193 82.75 195 79 194.75 c +75.25 194.5 77 192.75 77.25 191.75 c +77.5 190.75 75.25 192.5 71.5 192 c +67.75 191.5 64.25 185.5 69.5 180.75 c +74.75 176 66.5 180.75 64.25 182.25 c +62 183.75 60.5 181.75 61 180.25 c +61.5 178.75 58.75 180.75 57.5 180.75 c +56.25 180.75 51.008 180.188 52 172.25 c +52.25 170.25 51.5 170.5 49.75 169.25 c +48 168 45.75 164.25 48.5 158.75 c +51.25 153.25 49 150 48 145.5 c +47 141 48 138.25 51.25 137.25 c +54.5 136.25 54 133.791 54 130.75 C +57 130.5 59 129.25 58.75 124.5 C +62.25 124.5 61.75 126.75 62.5 130 c +63.25 133.25 65.75 129 66.25 127 c +66.75 125 67.5 125 72 125 C +74.75 116.25 74.75 120.5 75.25 117.25 C +80 117.5 79.5 116.75 83.25 113.75 c +87 110.75 88.25 115.5 92 118.5 c +95.75 121.5 94.25 122.75 96.25 118.75 c +98.25 114.75 98.5 119 101.5 119.25 c +104.5 119.5 101 115.75 105.25 114.5 c +109.5 113.25 105 113.75 103.5 111.25 c +102 108.75 95 103.5 101.75 101.5 c +108.5 99.5 103.5 99.75 94.75 99.5 c +86 99.25 73.75 87.5 97.25 73.25 C +117.25 53.25 117.25 53.5 v +117.25 53.75 175.25 163 175.5 163 c +f +1 J +0.2 w +389.709 210.076 m +511.826 210.076 l +S +394.709 212.461 m +516.826 212.461 l +S +415.459 215.112 m +537.576 215.112 l +S +399.709 217.762 m +521.826 217.762 l +S +402.459 222.799 m +524.576 222.799 l +S +402.709 225.45 m +524.826 225.45 l +S +392.959 227.851 m +515.076 227.851 l +S +400.691 232.856 m +522.809 232.856 l +S +388.191 235.241 m +510.309 235.241 l +S +393.941 237.892 m +516.059 237.892 l +S +393.441 240.292 m +515.559 240.292 l +S +396.191 242.928 m +518.309 242.928 l +S +386.441 245.579 m +508.559 245.579 l +S +393.191 248.23 m +515.309 248.23 l +S +414.191 250.631 m +536.309 250.631 l +S +397.95 252.973 m +520.067 252.973 l +S +398.7 255.358 m +520.817 255.358 l +S +400.7 258.009 m +522.817 258.009 l +S +384.45 260.659 m +506.567 260.659 l +S +380.7 265.696 m +502.817 265.696 l +S +379.95 268.347 m +502.067 268.347 l +S +386.7 270.748 m +508.817 270.748 l +S +394.433 275.752 m +516.55 275.752 l +S +381.933 278.138 m +504.05 278.138 l +S +379.433 280.789 m +501.55 280.789 l +S +383.183 283.189 m +505.3 283.189 l +S +370.433 285.825 m +492.55 285.825 l +S +382.433 288.476 m +504.55 288.476 l +S +356.183 291.127 m +478.3 291.127 l +S +372.433 293.277 m +494.55 293.277 l +S +361.866 296.006 m +483.984 296.006 l +S +365.616 298.406 m +487.734 298.406 l +S +366.866 301.042 m +488.984 301.042 l +S +346.866 303.693 m +468.984 303.693 l +S +338.616 306.344 m +460.734 306.344 l +S +330.866 308.494 m +452.984 308.494 l +S +301.575 344.342 m +423.692 344.342 l +S +314.075 346.728 m +436.192 346.728 l +S +318.325 349.378 m +440.442 349.378 l +S +312.075 352.029 m +434.192 352.029 l +S +327.325 357.065 m +449.442 357.065 l +S +327.575 359.716 m +449.692 359.716 l +S +317.825 362.117 m +439.942 362.117 l +S +335.558 367.122 m +457.675 367.122 l +S +313.058 369.507 m +435.175 369.507 l +S +318.808 372.158 m +440.925 372.158 l +S +317.579 404.674 m +439.696 404.674 l +S +322.312 409.179 m +444.429 409.179 l +S +323.812 412.065 m +445.929 412.065 l +S +329.562 414.715 m +451.679 414.715 l +S +329.062 417.116 m +451.179 417.116 l +S +331.812 419.752 m +453.929 419.752 l +S +322.062 422.402 m +444.179 422.402 l +S +328.812 425.053 m +450.929 425.053 l +S +349.812 427.454 m +471.929 427.454 l +S +333.571 429.796 m +455.688 429.796 l +S +334.321 432.182 m +456.438 432.182 l +S +336.321 434.832 m +458.438 434.832 l +S +320.071 437.483 m +442.188 437.483 l +S +316.321 442.519 m +438.438 442.519 l +S +315.571 445.17 m +437.688 445.17 l +S +322.321 447.571 m +444.438 447.571 l +S +330.054 452.576 m +452.171 452.576 l +S +317.554 454.961 m +439.671 454.961 l +S +315.054 457.612 m +437.171 457.612 l +S +318.804 460.012 m +440.921 460.012 l +S +306.054 462.648 m +428.171 462.648 l +S +300.054 465.299 m +422.171 465.299 l +S +291.804 467.95 m +413.921 467.95 l +S +308.054 470.101 m +430.171 470.101 l +S +260.834 543.511 m +382.951 543.511 l +S +246.066 548.016 m +368.184 548.016 l +S +256.066 550.901 m +378.184 550.901 l +S +253.566 553.552 m +375.684 553.552 l +S +230.316 555.952 m +352.434 555.952 l +S +244.566 558.588 m +366.684 558.588 l +S +238.566 561.239 m +360.684 561.239 l +S +230.316 563.89 m +352.434 563.89 l +S +216.566 565.541 m +338.684 565.541 l +S +104.443 572.01 m +226.575 572.209 l +S +98.682 567.48 m +220.814 567.68 l +S +91.688 565.11 m +213.82 565.31 l +S +97.192 561.955 m +219.324 562.155 l +S +73.943 559.517 m +196.075 559.717 l +S +88.199 556.904 m +210.331 557.103 l +S +82.203 554.243 m +204.335 554.443 l +S +73.956 551.578 m +196.088 551.778 l +S +73.707 549.405 m +195.839 549.605 l +S +85.302 539.953 m +207.434 540.152 l +S +79.541 535.423 m +201.673 535.623 l +S +72.547 533.053 m +194.679 533.253 l +S +78.051 529.898 m +200.183 530.098 l +S +54.802 527.46 m +176.934 527.66 l +S +69.058 524.847 m +191.19 525.046 l +S +63.061 522.186 m +185.194 522.385 l +S +54.815 519.521 m +176.947 519.721 l +S +54.566 517.348 m +176.698 517.547 l +S +u +189.475 196.879 m +311.592 196.879 l +S +176.975 199.265 m +299.092 199.265 l +S +174.475 201.916 m +296.592 201.916 l +S +178.225 204.316 m +300.342 204.316 l +S +165.475 206.952 m +287.592 206.952 l +S +177.475 209.603 m +299.592 209.603 l +S +155.725 212.254 m +277.842 212.254 l +S +167.475 214.404 m +289.592 214.404 l +S +156.908 217.133 m +279.026 217.133 l +S +144.658 219.533 m +266.776 219.533 l +S +161.908 222.169 m +284.026 222.169 l +S +153.908 224.82 m +276.026 224.82 l +S +163.658 226.971 m +285.776 226.971 l +S +152.408 229.121 m +274.526 229.121 l +S +145.925 233.316 m +268.042 233.316 l +S +157.675 235.466 m +279.792 235.466 l +S +147.108 238.195 m +269.226 238.195 l +S +134.858 240.595 m +256.976 240.595 l +S +137.608 243.231 m +259.726 243.231 l +S +144.108 245.882 m +266.226 245.882 l +S +153.858 248.033 m +275.976 248.033 l +S +155.108 231.183 m +277.226 231.183 l +S +103.425 247.816 m +225.542 247.816 l +S +100.175 249.966 m +222.292 249.966 l +S +89.608 252.695 m +211.726 252.695 l +S +77.358 255.095 m +199.476 255.095 l +S +U +u +1 g +0 J +1 w +120.001 389.999 m +170.811 344.713 248.714 349.191 294.001 400.001 c +339.287 450.811 334.809 528.714 283.999 574.001 c +233.189 619.287 155.286 614.809 109.999 563.999 c +64.713 513.189 69.191 435.286 120.001 389.999 c +f +202 482 m +F +U +u +258 302 m +306.6 267.759 373.759 279.4 408 328 c +442.241 376.6 430.6 443.759 382 478 c +333.4 512.241 266.241 500.6 232 452 c +197.759 403.4 209.4 336.241 258 302 c +f +320 390 m +F +U +u +196 376 m +252.332 345.072 323.072 365.668 354 422 c +384.928 478.332 364.332 549.072 308 580 c +251.668 610.928 180.928 590.332 150 534 c +119.072 477.668 139.668 406.928 196 376 c +f +252 478 m +F +U +u +106 257 m +170.064 231.595 242.595 262.936 268 327 c +293.405 391.064 262.064 463.595 198 489 c +133.936 514.405 61.405 483.064 36 419 c +10.595 354.936 41.936 282.405 106 257 c +f +152 373 m +F +U +u +366.001 122 m +415.706 97.7 475.7 118.296 500 168.001 c +524.3 217.706 503.704 277.7 453.999 302 c +404.294 326.3 344.3 305.704 320 255.999 c +295.7 206.294 316.296 146.3 366.001 122 c +f +410 212 m +F +U +u +227.999 198 m +267.763 185.85 309.849 208.236 322 247.999 c +334.15 287.763 311.764 329.849 272.001 342 c +232.237 354.15 190.151 331.764 178 292.001 c +165.85 252.237 188.236 210.151 227.999 198 c +f +250 270 m +F +U +0 g +15.75 71.25 m +24.25 82.75 24.75 84.75 27.75 82.25 c +30.75 79.75 31.75 81.25 32.75 82.75 c +33.75 84.25 30.75 86.75 35.75 88.75 c +40.75 90.75 41.25 91.75 43.25 89.75 c +45.25 87.75 39.25 89.25 50.25 88.75 c +61.25 88.25 70.25 81.75 74.25 75.25 c +78.25 68.75 77.75 67.25 75.25 63.25 c +72.75 59.25 68.25 56.75 72.25 57.25 c +76.25 57.75 75.75 60.75 77.75 56.75 c +79.75 52.75 80.25 51.25 79.25 49.25 c +78.25 47.25 74.25 46.75 81.25 46.25 c +88.25 45.75 91.75 37.557 91.75 40.25 c +15.752 40.248 l +15.75 71.25 l +f +340.75 55.5 m +F +u +u +3 w +280.774 44.223 m +567.893 44.223 l +S +280.774 48.728 m +567.893 48.728 l +S +280.774 53.734 m +567.893 53.734 l +S +U +u +280.774 58.739 m +567.893 58.739 l +S +280.774 63.245 m +567.893 63.245 l +S +280.774 68.251 m +567.893 68.251 l +S +U +u +280.774 73.257 m +567.893 73.257 l +S +280.774 78.263 m +567.893 78.263 l +S +U +U +0.8 g +0.2 w +243 252 m +323 235 l +346 273 l +368 248 l +376 247 376 248 V +377 174 380.5 121 330.5 40 C +90.5 40 91.5 40 V +138.5 129 163 162 214 200 C +236 229 234.527 240.11 238 254 c +240 262 243 252 y +b +0.5 g +359.5 485 m +389.267 485 402.5 486.25 415.75 489 c +429 491.75 435 493.25 439 493.5 c +443 493.75 490.398 537.797 502.5 562 c +507 571 514.5 577 517.5 579.5 c +520.5 582 501.5 591 y +428 512 428 512.5 v +428 513 356.5 510 356 509.5 c +355.5 509 351 488 y +359 485 359.5 485 v +b +0.7 g +370 496.5 m +368 480.5 365.5 472.5 364.5 471.5 C +329.5 476.5 l +323.5 489.5 l +370 496.5 l +b +0.5 g +352.75 494 m +380 493.25 399.626 496.75 407.5 499 c +418 502 424.586 497.135 432.75 505.5 c +453 526.25 473.5 544.5 496.5 586.5 C +473.5 590 473.5 590.5 V +456 571.5 443 563.5 434 558 c +425 552.5 416 544 408.5 534.5 C +399 533 379.5 537.5 364 537.5 c +348.5 537.5 352.75 494 y +b +1 g +500 583 m +500.5 577.098 517 573.5 520.5 572 c +524 570.5 526.353 568.989 526.5 579 c +526.675 590.992 541 586 539 624 C +538.5 624 506 628 y +499.958 583.498 500 583 v +b +0 g +1 J +3 w +562 629 m +343 645 217 644 77 601 C +52 576 L +59.5 562 80.132 560.877 87 589 c +89.513 599.292 87 597 101 601 c +108.323 603.092 265 654 561 617 C +562 629 l +f +1 G +0 J +0.7 w +305 634 m +391.5 636.5 415 635 473 632 c +S +0.5 w +213 626.5 m +153.5 619 125.925 611.699 90.75 602.5 c +78.654 599.337 82.567 597.884 82.5 592 c +82.395 582.717 73.75 571 59 572.5 c +S +1 g +0 G +1 w +73 595.25 m +79.25 592.5 76.25 574.75 57.25 580 C +73 595.25 l +f +0.5 g +0.2 w +312 574.25 m +311.25 570.5 310.687 571.687 306.187 569.187 C +307.687 564.187 311.106 565.66 304.5 561.5 c +302.594 560.299 305.598 556.561 305.75 555.5 c +306.038 553.485 304.629 548.098 297 548.5 c +292.25 548.75 255.5 536 y +229.5 608.5 l +224 650 224.5 650 v +248.101 650 273.345 678.918 298 655.5 c +324.857 629.99 316.981 613.501 316.75 612.875 c +313.346 603.644 313.238 604.937 314.75 597.375 c +316.88 586.725 317.016 588.834 318.625 584.75 C +320.25 581.875 318.625 580.375 y +316.689 578.236 313.081 579.809 310.375 579 c +307.013 577.994 312 574.25 y +B +0 g +0.5 w +288.5 456 m +S +0.2 w +211 511 m +194.5 518.5 187 520.5 170.5 500 C +154.5 498.5 149.5 501 131.5 479.5 C +151 477.5 140 475 161 460 c +182 445 190.5 436.5 212 461 C +224.5 458 229 454.5 238.5 447 C +238 446.5 237 500.5 y +211 511 l +f +1 g +207.5 526.5 m +206 514.5 204 506 236 490.5 C +242.5 509.5 l +207.5 526.5 l +b +0 g +1 w +294.464 627.589 m +288.571 618.522 284.821 617.313 280 615.5 c +275.179 613.686 271.429 605.224 277.857 587.089 C +274.107 586.485 275.179 585.88 275.714 582.858 C +271.429 599.179 270.357 606.433 259.643 609.455 c +248.929 612.477 245.714 589.507 247.321 566.537 C +228.572 554.448 L +224.639 578.851 235.956 576.38 212.5 600.992 c +194.17 620.226 195.893 654.791 225.357 658.418 C +223.214 667.485 233.929 678.97 259.107 677.761 c +284.286 676.552 281.071 667.485 Y +302.5 667.485 334.964 665.942 301.429 614.895 C +306.25 639.679 303.571 643.306 296.607 646.933 C +299.286 634.239 294.464 627.589 y +f +0.7 g +0.2 w +207.5 524.5 m +214.75 519.25 241.5 509 y +239 504.5 l +232 503 214.5 508.75 206.75 519 C +207 522.5 207.5 524.5 y +b +1 g +298 546.5 m +272.625 574.625 248.5 596 195.5 568.5 C +196.26 524.417 214.492 504.333 239.5 510.5 C +298 546.5 l +b +0.8 g +351.5 542 m +367 540 L +358.5 509.5 357 489.5 357 482 C +323.5 482.5 295.5 485.5 284.5 477.5 c +298.5 468.5 l +299 457 l +270.5 451 l +238.5 483.5 l +241 513.5 l +250.5 538 252.5 547.5 282.5 550 C +306.251 550 334.454 541.702 343.687 542.187 C +342.576 538.175 346.737 538.055 351.5 542 c +b +0 g +1 w +333.25 484.75 m +343.25 458.25 371.5 466 349 418.5 C +359 348.5 378 357 363 336 C +358.5 333 359 333 v +359.5 333 353 328 359 327.5 c +365 327 371 316.5 373.5 253.5 C +381 245.5 l +371 221 371 220.5 V +360.5 247 358 253 351 261.5 C +340 238 331.5 220.5 328.5 211.5 C +301 229.5 265 250 232.5 244.5 C +247.5 287 246 299.5 275 320.5 C +270 331.5 268.689 334.634 265.75 336.25 c +255.75 341.75 261.891 340.771 251 375 c +247.5 386 249.5 384 255.5 399 C +252.5 397 253.5 401 253.5 402.5 c +253.5 404 252.057 400.023 251 402.5 c +235 440 219.5 489.5 249.5 534 C +238.5 503.5 242.102 477.13 260 463 c +269.5 455.5 278.75 453.25 291 457.25 C +297.5 461 299.549 465.787 282 476.75 C +292.5 487.5 333.25 484.75 y +f +457.25 576.25 m +454.936 574.233 453.51 595.217 479.25 583 C +495.651 573.321 495.931 560.263 482.5 560.5 C +486.25 566 491.682 565.465 478.5 575 c +463.444 585.891 460.318 578.924 457.25 576.25 c +f +1 g +460.75 581.5 m +463.387 583.699 467.528 583.937 470.5 583.375 c +473.752 582.76 473.75 581.75 Y +461.735 583.841 458.891 579.95 460.75 581.5 c +f +0 g +310.393 647.785 m +329.089 651.66 328.75 623.692 320.178 607.976 C +319.107 621.274 316.428 636.386 310.536 635.782 c +304.643 635.177 310.393 647.785 y +f +284.286 663.858 m +286.964 677.157 280.536 689.246 281.071 689.246 C +289.107 677.761 288.036 665.672 y +284.286 663.858 l +f +0.2 w +274.643 683.201 m +278.929 678.97 280 668.694 279.464 665.672 c +S +276.25 686.224 m +284.393 677.036 283.75 662.045 y +S +1 w +297.679 661.44 m +312.602 661.44 312.143 677.157 310.536 680.784 C +308.929 672.321 305.179 666.276 292.857 664.463 C +297.679 661.44 l +f +0.2 w +295 661.44 m +298.75 666.276 302.5 675.343 294.464 683.201 c +S +300.357 681.992 m +304.265 669.255 303.814 670.807 292.321 656.604 c +S +311.821 649.078 m +321.464 649.078 330.571 646.66 329.5 627.921 c +S +307.536 650.892 m +316.268 651.33 319.057 653.025 326.821 646.056 c +330.446 642.802 331.1 637.618 331.107 637.593 c +S +304.643 665.067 m +305.629 663.874 321.031 667.072 321.304 651.569 c +S +0.5 w +311.071 639.679 m +317.893 638.968 312.696 617.332 v +S +1 w +313.375 612.875 m +315.455 614.262 313.5 617.375 297.125 615.375 C +310.375 616.625 311.875 611.875 313.375 612.875 c +f +1 g +308.5 604.875 m +309.833 600.875 309.125 601.25 307.375 599 C +302.25 600.625 303.25 599.875 299 602.5 C +304.25 604.75 308.375 605.25 308.5 604.875 c +f +0 g +307.5 604.437 m +305.463 602.811 305.481 601.49 307.375 598.937 C +309.261 601.307 309.489 602.172 308.562 605.062 C +308.562 604.937 308.191 604.989 307.5 604.437 c +f +0.2 w +305.625 583.75 m +304.687 582.562 306.5 579.375 308.875 579.75 c +S +1 w +311.125 574.5 m +310.25 573.898 310 573.437 304.937 569.312 C +306.229 564.611 308.063 564.014 308.312 564.562 C +309.775 566.476 307.663 569.565 306.687 569.75 C +311.812 571.75 311.625 572.5 312 574.25 C +311.687 574.75 311.176 574.535 311.125 574.5 c +f +298.625 603 m +302 600.437 304.294 599.524 307.812 598.937 c +308.187 598.875 308.562 598.5 308.687 597.875 c +S +297.5 602.25 m +299.939 602.851 307.687 603.062 311.75 607.812 C +307.812 606 297.011 602.129 297.5 602.25 c +f +213.5 576.125 m +218.674 549.92 230.862 532.355 245.5 526.5 C +243.75 514.5 209.75 494.25 195.5 568.5 C +203.75 572.25 213.347 576.901 213.5 576.125 c +f +0.2 w +343.375 541.75 m +333.375 534.75 318.25 525.5 312 521.25 c +S +351.562 541.937 m +337.936 530.579 327.2 525.581 313.25 517.75 c +S +0.3 w +312.75 495 m +291.75 483.5 276.25 476 274.25 466 c +S +0.5 w +229 580.75 m +235.5 571 241.25 554.75 245.75 528 c +S +1 w +235 581 m +246 555.75 246.75 537.75 245.75 526 C +252.125 560.5 243.75 567.75 239.75 581.5 C +240 581.5 237 581.75 235 581 C +f +0.7 g +0.2 w +248.625 580.5 m +253.169 564.605 256.75 553.75 250.25 535.75 C +257.5 552.75 259.125 558.937 252.875 579.687 C +251.029 580.149 248.517 580.879 248.625 580.5 c +b +0 g +1 w +258.25 577.75 m +262.047 567.879 262.5 552.5 259.25 544.25 C +267.75 548.25 275 549.75 278.25 549.75 C +281.75 555.25 282.75 556.75 279.5 565.25 C +270.06 573.13 257.909 578.635 258.25 577.75 c +f +207.5 524.5 m +F +207.25 514.75 m +207.185 514.86 228.75 497.5 238 500.75 C +236 494.5 l +225 498 213.924 503.454 207.25 514.75 c +f +1 g +0.2 w +191 516 m +175.472 497.418 168.5 492 171.5 453 C +185 443.5 189 443.5 200 450.5 C +186.5 469.5 182 491 198.5 515.5 C +194.5 516 191.339 516.406 191 516 c +b +201 515 m +194 499 187 484 203.5 453 C +206.5 455 211.5 460.5 212 461 C +203.5 480.5 193.5 501.5 206 510.5 C +205 499.5 210.5 490.5 232.5 473.5 C +232.5 483 231.5 482.5 233 492 C +221 498 210 505 208 512.5 C +201 515 l +b +0 g +1 G +0.5 w +268 442.5 m +253.5 402.5 l +S +269.5 435.5 m +258.5 407 258.5 407.5 v +S +0.5 G +0.4 w +293.5 480.5 m +297.5 463.5 298.5 460.5 289 445.5 c +S +1 G +1 J +0.3 w +349.125 418.125 m +338.393 403.978 348.387 416.158 341.625 408.875 c +S +u +1 g +0 G +0 J +0.2 w +336.038 340.015 m +338.267 329.694 L +342.937 338.843 L +340.707 349.164 L +336.038 340.015 L +b +339.487 339.429 m +B +U +u +328.791 340.569 m +331.562 330.38 L +335.743 339.762 L +332.972 349.952 L +328.791 340.569 L +b +332.267 340.166 m +B +U +u +321.758 340.67 m +325.133 330.664 L +328.746 340.28 L +325.37 350.286 L +321.758 340.67 L +b +325.252 340.475 m +B +U +u +314.504 340.97 m +317.88 330.964 L +321.492 340.58 L +318.117 350.586 L +314.504 340.97 L +b +317.998 340.775 m +B +U +u +u +307.24 340.468 m +311.982 331.033 L +314.214 341.059 L +309.473 350.494 L +307.24 340.468 L +b +310.727 340.764 m +B +U +u +300.016 339.751 m +304.757 330.316 L +306.99 340.342 L +302.249 349.777 L +300.016 339.751 L +b +303.503 340.047 m +B +U +U +u +u +292.985 339.2 m +298.349 330.104 L +299.903 340.258 L +294.54 349.353 L +292.985 339.2 L +b +296.444 339.729 m +B +U +u +285.826 338 m +291.189 328.904 L +292.744 339.057 L +287.38 348.153 L +285.826 338 L +b +289.285 338.529 m +B +U +U +u +278.742 336.229 m +285.413 328.042 L +285.423 338.314 L +278.753 346.501 L +278.742 336.229 L +b +282.083 337.272 m +B +U +u +272.228 332.392 m +279.743 324.974 L +278.644 335.186 L +271.13 342.604 L +272.228 332.392 L +b +275.437 333.789 m +B +U +0 g +1 G +1 w +266.25 335.5 m +276.25 351.5 284.659 350 343 350 c +364 350 363 336 y +S +271 321 m +294 332 309 335 362 324 c +S +u +1 g +0 G +0.2 w +350.823 325.912 m +364.33 322.302 L +361.658 347.078 L +348.151 350.689 L +350.823 325.912 L +b +356.24 336.495 m +B +U +0 g +1 w +274 347.5 m +281.5 351.5 280.229 357.581 311 338 c +316.5 334.5 322.5 338 351 357.5 C +282 360 l +274 347.5 l +f +1 G +0.5 w +269.25 355.75 m +277.75 353.25 284.25 352.5 288.75 349.75 c +S +353.25 358.25 m +347.25 354 345.5 353.5 339.75 349.5 c +S +0.3 w +355.25 272.75 m +359.75 281.5 361.25 285 363.25 290.75 c +S +0.5 G +0.5 w +354 219 m +339 195 327 176 317 166 c +S +323 197 m +310 150 308 135 235 48 c +S +1 w +241 241.5 m +232 227.5 215.231 198.443 215 198 c +192.581 155 178 110 164 71 c +S +0 G +0.2 w +265.394 600.822 m +263.576 606.114 262.122 612.994 253.035 607.173 C +250.126 603.468 249.763 601.704 249.763 596.589 c +249.763 591.473 254.307 592.179 257.76 587.24 c +261.213 582.301 266.484 579.302 267.029 588.475 c +S +0.3 g +260.668 605.409 m +262.486 601.352 261.94 599.941 257.578 597.824 c +253.216 595.707 257.76 591.473 260.305 592.355 c +262.849 593.237 263.394 592.532 264.303 591.65 c +265.212 590.768 266.666 591.826 264.667 594.119 c +262.667 596.413 259.759 593.943 261.032 597.471 c +262.304 600.999 260.668 605.409 y +b +0 g +257.578 606.644 m +254.125 605.056 251.58 604.174 251.58 598.177 c +251.58 592.179 258.487 590.415 259.214 588.651 c +S +u +1 g +257.397 584.594 m +258.601 581.671 262.019 580.25 265.03 581.419 c +268.041 582.588 269.506 585.905 268.302 588.827 c +267.097 591.75 263.679 593.172 260.668 592.003 c +257.657 590.833 256.192 587.516 257.397 584.594 c +b +262.849 586.711 m +B +U +u +0.2 g +1 w +258.487 586.358 m +263.213 582.477 L +267.211 587.063 L +262.486 590.944 L +258.487 586.358 L +f +262.849 586.711 m +F +U +0 g +309.25 579.875 m +310.75 580.5 313.25 583.125 314.625 581 c +F +1 g +307.964 565.926 m +307.88 566.015 306.794 566.513 307.22 566.682 c +307.647 566.851 307.68 566.599 307.935 566.639 C +307.924 566.13 307.971 566.31 307.964 565.926 c +f +510 104 m +509.564 104.895 511.5 89 495.5 74.5 C +495.5 68 l +506 79 518.582 86.358 510 104 c +f +0 g +0.2 w +403.75 534.25 m +413.25 533.75 415.75 534.25 417.75 534.75 c +S +1 G +0.3 w +538.5 629 m +542 625 547.5 620 y +S +548.75 629.25 m +552.25 625.25 557.75 620.25 y +S +0 G +0.2 w +518.5 587.5 m +522.5 586 526 587.5 527 587.5 c +S +514 617.5 m +518 614 518.5 611.5 520 607.5 c +S +528.25 613.75 m +533.25 615.25 532.5 615.5 538.25 614.25 c +S +1 g +538 637.5 m +537.25 618 533 617.5 531.25 617.5 c +529.5 617.5 528.235 615.255 528.5 622.5 c +529.25 643 528.775 643.326 534.25 642.75 c +539 642.25 539 642.25 540.5 630.75 C +538 631 l +538 629 538 631.25 v +538 633.5 538 637.5 Y +b +0.7 g +507.5 650.75 m +510 648.5 510.25 645.75 511.75 643.25 c +513.25 640.75 508.5 638.25 508.5 638 c +508.5 637.75 507.5 650.75 y +b +1 g +529.25 639.25 m +528.5 643 527 642.75 524 642.75 c +521 642.75 519.75 644 519.5 632.25 C +519.75 638 519.75 641 v +519.75 644 518.75 644.25 515.25 644.25 c +511.75 644.25 511.75 646 509.25 641.25 c +506.75 636.5 505.75 633.25 506 633.25 c +506.25 633.25 509.75 628.25 Y +511.5 620.25 512.75 619.75 515.5 619.5 c +518.25 619.25 520.25 618.25 519.5 623.5 C +521 618.25 521 617.75 524.75 617 c +528.5 616.25 528.5 618.25 528.5 622.5 c +528.5 626.75 529.25 639.25 y +b +507.75 636.75 m +512.687 638.231 515.604 641 515.25 641 C +517.839 637.469 517.494 629.281 508.75 625.5 C +508.75 625.25 502 635 502.25 634.75 c +502.5 634.5 507.75 636.75 y +b +493.5 571.5 m +495.171 563.425 503.634 565.498 503.5 576.25 c +503.25 596.25 515.75 586.25 509 636.75 c +508.301 641.977 510 650.75 506.5 651.5 c +501.514 652.568 500.436 652.26 499.25 644.75 c +498.5 640 496.5 646.25 496 648.5 c +495.5 650.75 493.75 651 490.75 650.25 c +487.75 649.5 488.253 648.665 487.5 645.5 c +486.194 640.013 486.75 641.75 484.5 645.5 c +482.39 649.016 481.306 648.011 477.5 647.25 c +475 646.75 474.784 644.479 475.25 640.75 c +475.5 638.75 474 642.25 472.5 644.5 c +471 646.75 469.25 645.5 466.5 645.5 c +463.75 645.5 463.25 641.003 463.5 635.5 c +463.511 635.25 463 626.25 y +449.75 627.25 l +459.25 618.5 465.606 612.863 468.25 597 c +468.75 594 468 592.25 470 592.75 C +459.719 593.497 459.195 585.398 461 586 c +466.25 587.75 471.75 589.25 476.75 587 c +481.75 584.75 486.25 584.25 489.5 586.25 C +490.25 582.75 492 578.75 493.5 571.5 c +b +0 g +486.25 592.5 m +489 595.25 492.117 593.078 492.25 592.75 c +494.972 586.028 477 591.75 467.25 593 c +S +0.4 w +470 592.75 m +474.25 595.75 475 596 481.5 595.75 c +S +1 J +2.5 w +477.75 630 m +478.5 620.75 l +S +479.25 617.5 m +480 610.5 l +S +480.25 607.75 m +481 600.25 481 600.5 v +S +487.5 631.75 m +487.75 623.5 l +S +487.75 620.75 m +487.75 612.5 l +S +488 609.25 m +488.25 609.25 487.75 602.5 y +S +498 630.75 m +497.25 623.75 l +S +496.75 620.75 m +495.5 612.5 l +S +495.25 609.5 m +493.75 602 l +S +0 J +0.2 w +465.5 637.25 m +464.5 629.75 461.25 628.75 464.75 617 c +S +0.5 w +502 589.25 m +503.25 585 503.5 583.25 503.5 577 c +S +1 g +1 w +521.949 86.694 m +521.637 87.353 523.021 75.657 511.583 64.988 C +511.583 60.205 l +519.089 68.299 528.083 73.713 521.949 86.694 c +f +553.457 99.673 m +553.091 100.449 554.713 86.67 541.309 74.1 C +541.309 68.465 l +550.105 78.001 560.646 84.379 553.457 99.673 c +f +482.74 95.04 m +482.429 95.699 483.812 84.003 472.375 73.334 C +472.375 68.551 l +479.881 76.645 488.875 82.059 482.74 95.04 c +f +450.924 87.63 m +450.69 88.028 451.731 80.968 443.129 74.528 C +443.129 71.641 l +448.774 76.527 455.538 79.795 450.924 87.63 c +f +0 g +308 61.5 m +N +3 w +16.002 40.373 m +568.002 40.127 L +567.748 716.565 L +S +u +15.815 40.248 m +567.815 40.002 L +567.748 716.565 L +15.998 716.81 L +15.815 40.248 L +s +U +%%Trailer +_E end +showpage +golfersave restore +%%EOF diff --git a/Master/xemtex/doc/ghostscript/examples/grayalph.ps b/Master/xemtex/doc/ghostscript/examples/grayalph.ps new file mode 100644 index 00000000000..fffb5f6a2a1 --- /dev/null +++ b/Master/xemtex/doc/ghostscript/examples/grayalph.ps @@ -0,0 +1,65 @@ +%! +% grayscaled text test, including a trivial user bitmap font + +/grayalphsave save def % prevent left over effects + +/inch {72 mul} def + +/BuildCharDict 10 dict def +/$ExampleFont 7 dict def +$ExampleFont begin + /FontType 3 def % user defined font. + /FontMatrix [1 0 0 1 0 0] def + /FontBBox [0 0 1 1] def + /Encoding 256 array def + 0 1 255 {Encoding exch /.notdef put} for + Encoding (a) 0 get /plus put + /CharStrings 2 dict def + CharStrings /.notdef {} put + CharStrings /plus + { gsave + 0 0 moveto + 32 32 true [32 0 0 -32 0 32] + {<0007E000 0007E000 0007E000 0007E000 0007E000 0007E000 0007E000 0007E000 + 0007E000 0007E000 0007E000 0007E000 0007E000 FFFFFFFF FFFFFFFF FFFFFFFF + FFFFFFFF FFFFFFFF FFFFFFFF 0007E000 0007E000 0007E000 0007E000 0007E000 + 0007E000 0007E000 0007E000 0007E000 0007E000 0007E000 0007E000 0007E000> + } imagemask + grestore + } put + /BuildChar + { BuildCharDict begin + /char exch def + /fontdict exch def + /charproc + fontdict /Encoding get char get + fontdict /CharStrings get + exch get def + 1 0 0 0 1 1 setcachedevice + charproc + end + } def +end + +/MyFont $ExampleFont definefont pop + + newpath + .5 inch 7.5 inch moveto + 7.5 inch 0 rlineto + 0 1.5 inch rlineto + -7.5 inch 0 rlineto + closepath + 0 setgray + fill + + /MyFont findfont 72 scalefont setfont + .75 inch 7.75 inch moveto + 0 1 6 + { /n exch def + 1 n 6 div sub setgray + (a) show + } for + +showpage +clear cleardictstack +grayalphsave restore diff --git a/Master/xemtex/doc/ghostscript/examples/ridt91.eps b/Master/xemtex/doc/ghostscript/examples/ridt91.eps new file mode 100644 index 00000000000..1de3c14f29c --- /dev/null +++ b/Master/xemtex/doc/ghostscript/examples/ridt91.eps @@ -0,0 +1,135 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%BoundingBox: 0 0 380 200 +%%Creator: karl@cs.umb.edu from code by Roger Hersch +%%CreationDate: 8 March 1991 +%%Title: RIDT logo + +% Forget everything we do. +save + +% Make definitions in our own dictionary. +20 dict begin + +% However, this isn't quite a true EPS file, because we use the +% setscreen operator, which has device- and document-dependent effects. +% In particular, if the document is being printed in landscape mode, we +% have to rotate the cell by 90 degrees. The dvips translator sets the +% variable `isls' to be true in landscape mode, so we test for that. +% +/screen_angle + /isls where + { /isls get { 90 } { 0 } ifelse } + { 0 } + ifelse +def + + +% Increasing this number makes the screen finer (it isn't the actual +% frequency). +% +/screen_frequency 10 def + + +% If you change these numbers, change the bounding box comment above. +% This default size is approximately 134mm by 71mm. +/logo_width 380 def +/logo_height 200 def + +% Besides changing the size from the outside, you can also change the +% scale factor defined here. Of course then the bounding box won't be +% accurate. +/scalefactor 1 def + +% We need a string to hold the gray values. +/fountainstring 256 string def + +% Put values varying from 0 to 255 into the string; these will be values +% for the image operator. +0 1 255 + { + fountainstring exch dup + 255 div 180 mul cos neg 2 div + .5 add 255 mul cvi + put + } +bind for + + +% This procedure takes the bounding box of a rectangle, and images +% /fountainstring into it. +/fountain + { + /ury exch def + /urx exch def + /lly exch def + /llx exch def + gsave + llx lly translate + + % Scale to the size of the rectangle. + urx llx sub ury lly sub scale + + % The source image has one row of 256 8-bit values. + 1 256 8 + + % Map unit square to source. + [1 0 0 -256 0 256] + + % Image the string. + { fountainstring } image + grestore + } +bind def + + +% Draw a line across the bottom for visual anchoring. +% +0 0 moveto +logo_width 0 lineto stroke + + screen_frequency scalefactor div + screen_angle + { exch pop abs 1 exch sub } bind +setscreen + +scalefactor scalefactor scale + +/Palatino-Roman findfont 100 scalefont setfont + +% Determine the dimensions of our string. +/logo_words (RIDT 91) def + +0 0 moveto +logo_words true charpath flattenpath pathbbox +/word_height exch def +/word_width exch def +pop pop % llx and lly are zero. +newpath + +/x_offset logo_width word_width sub 2 div def +/y_offset 15 def + +% Draw the background pattern, which is dark at the top and light at the +% bottom. +% +0 0 logo_width logo_height fountain + +% Make the clipping path be `RIDT 91', twice. +x_offset y_offset moveto +logo_words true charpath +x_offset logo_height y_offset word_height add sub moveto +logo_words true charpath +clip +newpath + +% Paint the pattern again, this time with light at the top and dark at +% the bottom. +% +logo_width logo_height translate +180 rotate +0 0 logo_width logo_height fountain + +end +restore + +% showpage diff --git a/Master/xemtex/doc/ghostscript/examples/snowflak.ps b/Master/xemtex/doc/ghostscript/examples/snowflak.ps new file mode 100644 index 00000000000..8ebdf0adc8a --- /dev/null +++ b/Master/xemtex/doc/ghostscript/examples/snowflak.ps @@ -0,0 +1,93 @@ +%! +%% Elizabeth D. Zwicky +%% zwicky@erg.sri.com +%% multiflake + +/snowflaksave save def % prevent left over effects +/newflake +{/seed usertime def +seed srand +/strokecolor [rand 99 mod 100 div + rand 99 mod 100 div + 100 rand 22 mod sub 100 div] def +/fillcolor [rand 99 mod 100 div + 100 rand 22 mod sub 100 div + rand 99 mod 100 div] def +/eofillcolor [rand 99 mod 100 div + rand 22 mod 100 div + 100 rand 22 mod sub 100 div] def + +/colorfill {fillcolor aload pop setrgbcolor fill } def +/colorstroke {strokecolor aload pop setrgbcolor stroke } def +/eocolorfill {eofillcolor aload pop setrgbcolor eofill } def +/arm {0 0 moveto + 5 {3 {x y x y x y curveto} repeat} repeat + seed srand + 0 0 moveto + 5 {3 {x neg y x neg y x neg y curveto} repeat} repeat + seed srand +} def + + newpath + +0 0 moveto boxsize 0 rlineto 0 boxsize rlineto boxsize neg 0 rlineto +0 0 lineto + +rand 99 mod 100 div +100 rand 22 mod sub 100 div +100 rand 22 mod sub 100 div + sethsbcolor fill +seed srand +boxsize 2 div boxsize 2 div translate + +%% If the device you are using can handle complex fills, replace the +%% next three lines with: +%% +6 {arm 60 rotate} repeat +gsave colorfill grestore gsave eocolorfill grestore colorstroke +%% +%% This will be not only faster, but prettier. On a LaserWriter or a +%% Tektronix Phaser II PS it gives a limitcheck. + +%% 6 {arm 60 rotate colorfill} repeat +%% 6 {arm 60 rotate eocolorfill} repeat +%% 6 {arm 60 rotate} repeat colorstroke +} def + +1 setlinewidth +clippath pathbbox /ury exch def /urx exch def /lly exch def /llx exch def +/minsize 250 def +/pagewidth urx llx sub def +/pageheight ury lly sub def +/inwidth pagewidth minsize div def +/inheight pageheight minsize div def + +/boxsize + inwidth inheight gt + {pagewidth inwidth truncate div} + {pageheight inheight truncate div} + ifelse +def + +/inwidth pagewidth boxsize div cvi def +/inheight pageheight boxsize div cvi def + +/x {rand 70 mod abs} def +/y {rand 120 mod abs} def + +llx lly translate + +inheight { + inwidth { + gsave + newflake + grestore + boxsize 0 translate + } repeat + boxsize inwidth mul neg boxsize translate +} repeat + + +showpage +clear cleardictstack +snowflaksave restore diff --git a/Master/xemtex/doc/ghostscript/examples/tiger.ps b/Master/xemtex/doc/ghostscript/examples/tiger.ps new file mode 100644 index 00000000000..ea887726051 --- /dev/null +++ b/Master/xemtex/doc/ghostscript/examples/tiger.ps @@ -0,0 +1,2737 @@ +%!PS-Adobe-2.0 EPSF-1.2 +%%Creator: Adobe Illustrator(TM) 1.2d4 +%%For: OpenWindows Version 2 +%%Title: tiger.eps +%%CreationDate: 4/12/90 3:20 AM +%%DocumentProcSets: Adobe_Illustrator_1.2d1 0 0 +%%DocumentSuppliedProcSets: Adobe_Illustrator_1.2d1 0 0 +%%BoundingBox: 17 171 567 739 +%%EndComments +/tigersave save def % prevent residual side effects + +%%BeginProcSet:Adobe_Illustrator_1.2d1 0 0 + +/Adobe_Illustrator_1.2d1 dup 100 dict def load begin +% definition operators +/bdef {bind def} bind def +/ldef {load def} bdef +/xdef {exch def} bdef +% graphic state operators +/_K { 3 index add neg dup 0 lt {pop 0} if 3 1 roll } bdef +/_k /setcmybcolor where { + /setcmybcolor get +} { + { 1 sub 4 1 roll _K _K _K setrgbcolor pop } bind +} ifelse def +/g {/_b xdef /p {_b setgray} def} bdef +/G {/_B xdef /P {_B setgray} def} bdef +/k {/_b xdef /_y xdef /_m xdef /_c xdef /p {_c _m _y _b _k} def} bdef +/K {/_B xdef /_Y xdef /_M xdef /_C xdef /P {_C _M _Y _B _k} def} bdef +/d /setdash ldef +/_i currentflat def +/i {dup 0 eq {pop _i} if setflat} bdef +/j /setlinejoin ldef +/J /setlinecap ldef +/M /setmiterlimit ldef +/w /setlinewidth ldef +% path construction operators +/_R {.25 sub round .25 add} bdef +/_r {transform _R exch _R exch itransform} bdef +/c {_r curveto} bdef +/C /c ldef +/v {currentpoint 6 2 roll _r curveto} bdef +/V /v ldef +/y {_r 2 copy curveto} bdef +/Y /y ldef +/l {_r lineto} bdef +/L /l ldef +/m {_r moveto} bdef +% path painting operators +/n /newpath ldef +/N /n ldef +/F {p fill} bdef +/f {closepath F} bdef +/S {P stroke} bdef +/s {closepath S} bdef +/B {gsave F grestore S} bdef +/b {closepath B} bdef +end +%%EndProcSet +%%EndProlog + +%%Page: 1 1 + +Adobe_Illustrator_1.2d1 begin + +.8 setgray +clippath fill +-110 -300 translate +1.1 dup scale + +0 g +0 G +0 i +0 J +0 j +0.172 w +10 M +[]0 d +0 0 0 0 k + +177.696 715.715 m +177.797 713.821 176.973 713.84 v +176.149 713.859 159.695 761.934 139.167 759.691 C +156.95 767.044 177.696 715.715 V +b +181.226 718.738 m +180.677 716.922 179.908 717.221 v +179.14 717.519 180.023 768.325 159.957 773.199 C +179.18 774.063 181.226 718.738 V +b +208.716 676.41 m +210.352 675.45 209.882 674.773 v +209.411 674.096 160.237 686.898 150.782 668.541 C +154.461 687.428 208.716 676.41 V +b +205.907 666.199 m +207.763 665.803 207.529 665.012 v +207.296 664.221 156.593 660.879 153.403 640.478 C +150.945 659.563 205.907 666.199 V +b +201.696 671.724 m +203.474 671.061 203.128 670.313 v +202.782 669.565 152.134 673.654 146.002 653.936 C +146.354 673.175 201.696 671.724 V +b +190.991 689.928 m +192.299 688.554 191.66 688.033 v +191.021 687.512 147.278 713.366 133.131 698.324 C +141.872 715.467 190.991 689.928 V +b +183.446 685.737 m +184.902 684.52 184.326 683.929 v +183.75 683.339 137.362 704.078 125.008 687.531 C +131.753 705.553 183.446 685.737 V +b +180.846 681.665 m +182.454 680.657 181.964 679.994 v +181.474 679.331 132.692 693.554 122.709 675.478 C +126.934 694.251 180.846 681.665 V +b +191.58 681.051 m +192.702 679.52 192.001 679.085 v +191.3 678.65 151.231 709.898 135.273 696.793 C +146.138 712.674 191.58 681.051 V +b +171.8 710 m +172.4 708.2 171.6 708 v +170.8 707.8 142.2 749.8 122.999 742.2 C +138.2 754 171.8 710 V +b +172.495 703.021 m +173.47 701.392 172.731 701.025 v +171.993 700.657 135.008 735.501 117.899 723.939 C +130.196 738.739 172.495 703.021 V +b +172.38 698.651 m +173.502 697.12 172.801 696.685 v +172.1 696.251 132.031 727.498 116.073 714.393 C +126.938 730.274 172.38 698.651 V +b +0 J 1 w +170.17 696.935 m +170.673 690.887 171.661 684.318 173.4 681.199 C +169.8 668.799 178.6 655.599 V +178.2 648.399 179.8 645.199 V +183.8 636.799 188.6 635.999 v +192.484 635.352 201.207 632.283 211.068 630.879 c +228.2 616.799 225 603.999 V +224.6 587.599 221 585.999 V +232.6 597.199 223 580.399 V +218.6 561.599 l +244.2 583.199 228.6 564.799 V +218.6 538.799 l +238.2 557.199 231 548.799 V +227.8 539.999 l +271 567.199 240.2 537.599 V +248.2 541.199 252.6 538.399 V +259.4 539.599 258.6 537.999 V +237.8 527.599 234.2 509.199 V +242.6 519.199 239.4 508.399 V +239.8 496.799 l +243.8 518.399 243.4 480.799 V +262.6 498.799 251 477.999 V +251 461.199 l +266.2 477.599 259.8 464.799 V +269.8 473.599 265.8 458.399 V +265 447.999 269.4 459.199 V +285.4 489.799 279.4 463.599 V +278.6 444.399 283.4 459.199 V +283.8 448.799 293 441.599 V +291.8 492.399 304.6 456.399 V +308.6 439.999 l +311.4 449.199 311 454.399 V +325.8 470.799 319 446.399 V +334.2 469.199 331 455.999 V +323.4 439.999 325 435.199 V +341.8 469.999 343 471.599 V +341 429.198 351.8 465.199 V +357.4 453.199 354.6 448.799 V +362.6 456.799 361.8 459.999 V +366.4 468.199 369.2 454.599 V +371 445.199 372.6 448.399 V +376.6 424.398 377.8 447.199 V +379.4 460.799 372.2 472.399 V +373 475.599 370.2 479.599 v +383.8 457.999 376.6 486.799 V +387.801 478.799 389.001 478.799 V +375.4 501.999 384.2 497.199 V +379 507.599 397.001 495.599 V +381 511.599 398.601 501.999 V +406.601 495.599 399.001 505.599 V +384.6 521.599 406.601 503.599 V +418.201 487.199 419.001 484.399 V +409.001 513.599 404.601 516.399 V +413.001 552.799 454.201 537.199 V +461.001 519.999 465.401 538.399 V +478.201 544.799 489.401 517.199 V +493.401 530.799 492.601 533.599 V +499.401 532.399 498.601 533.599 V +511.801 529.199 513.001 529.999 V +519.801 523.199 520.201 526.799 V +529.401 523.999 527.401 527.599 V +536.201 511.999 536.601 508.399 V +539.001 522.399 l +541.001 519.599 l +542.601 527.199 541.801 528.399 v +541.001 529.599 561.801 521.599 566.601 500.799 C +568.601 492.399 l +574.601 507.199 573.001 511.199 V +578.201 510.399 578.601 505.999 V +582.601 529.199 577.801 535.199 V +582.201 535.999 583.401 532.399 V +583.401 539.599 l +590.601 538.799 590.601 541.199 V +595.001 545.199 597.001 540.399 V +584.601 575.599 603.001 556.399 V +610.201 545.599 606.601 564.399 v +603.001 583.199 599.001 584.799 603.801 585.199 C +604.601 588.799 602.601 590.399 v +600.601 591.999 603.801 590.399 y +608.601 586.399 603.401 608.399 V +609.801 606.799 597.801 635.999 V +600.601 638.399 596.601 646.799 V +604.601 642.399 607.401 643.999 V +607.001 645.599 603.801 649.599 V +582.201 704.4 602.601 682.399 V +614.451 668.849 608.051 691.649 V +598.94 715.659 599.717 719.955 V +170.17 696.935 l +b +0.2 0.55 0.85 0 k +599.717 719.755 m +600.345 719.574 602.551 718.45 603.801 716.8 C +610.601 706 605.401 724.4 V +596.201 753.2 605.001 742 V +611.001 734.8 607.801 748.4 v +603.936 764.827 601.401 771.2 y +613.001 766.4 586.201 806 V +595.001 802.4 l +575.401 842 553.801 847.2 V +545.801 853.2 l +584.201 891.2 571.401 928 V +564.601 933.2 555.001 924 V +548.601 919.2 542.601 920.8 V +511.801 919.6 509.801 919.6 v +507.801 919.6 473.001 956.8 407.401 939.2 C +402.201 937.2 397.801 938.4 V +379.4 954.4 330.6 931.6 v +320.6 929.6 319 929.6 v +317.4 929.6 314.6 929.6 306.6 923.2 c +298.6 916.8 298.2 916 296.2 914.4 C +279.8 903.2 275 902.4 V +263.4 896 259 886 V +255.4 884.8 l +253.8 877.6 253.4 876.4 V +248.6 872.8 247.8 867.2 V +239 861.2 239.4 856.8 V +237.8 851.6 237 846.8 V +229.8 842 230.6 839.2 V +223 825.2 224.2 818.4 V +217.8 818.8 215 816.4 V +214.2 811.6 212.6 811.2 V +209.8 810 212.2 806 V +210.6 803.2 210.2 801.6 V +211 798.8 206.6 793.2 V +200.2 774.4 202.2 769.2 V +202.6 764.4 199.8 762.8 V +196.2 763.2 204.6 751.2 V +205.4 750 202.2 747.6 V +185 744 182.6 727.6 V +169 712.8 169 707.6 v +169 705.295 169.271 702.148 169.97 697.535 C +169.4 689.199 197 688.399 v +224.6 687.599 599.717 719.755 Y +b +184.4 697.4 m +159.4 736.8 173.8 680.399 Y +182.6 645.999 312.2 683.599 y +481.001 714 492.201 718 v +503.401 722 598.601 715.6 y +593.001 732.4 L +528.201 778.8 509.001 755.6 495.401 759.6 c +481.801 763.6 484.201 754 481.001 753.2 c +477.801 752.4 438.601 777.2 432.201 776.4 c +425.801 775.6 400.459 799.351 415.401 767.6 c +431.401 733.6 357 728.4 340.2 739.6 c +323.4 750.8 347.4 721.2 Y +365.8 701.2 331.4 718 y +297 730.8 273 705.2 269.8 704.4 c +266.6 703.6 261.8 700.4 261 706.8 c +260.2 713.2 252.69 729.901 221 703.6 c +201 686.999 187.2 709 Y +184.4 697.4 L +f +0.09 0.5 0.772 0 k +433.51 774.654 m +427.11 773.854 401.743 797.593 416.71 765.854 c +433.31 730.654 358.31 726.654 341.51 737.854 c +324.709 749.054 348.71 719.454 Y +367.11 699.454 332.709 716.254 y +298.309 729.054 274.309 703.454 271.109 702.654 c +267.909 701.854 263.109 698.654 262.309 705.054 c +261.509 711.454 254.13 727.988 222.309 701.854 c +201.073 684.508 187.582 705.963 Y +184.382 695.854 L +159.382 735.654 174.454 677.345 Y +183.255 642.944 313.509 681.854 y +482.31 712.254 493.51 716.254 v +504.71 720.254 599.038 713.927 y +593.51 731.236 L +528.71 777.636 510.31 753.854 496.71 757.854 c +483.11 761.854 485.51 752.254 482.31 751.454 c +479.11 750.654 439.91 775.454 433.51 774.654 c +f +0.081 0.45 0.695 0 k +434.819 772.909 m +428.419 772.109 403.685 796.138 418.019 764.109 c +434.219 727.908 359.619 724.908 342.819 736.108 c +326.019 747.308 350.019 717.708 Y +368.419 697.708 334.019 714.508 y +299.619 727.308 275.618 701.708 272.418 700.908 c +269.218 700.108 264.418 696.908 263.618 703.308 c +262.818 709.708 255.57 726.075 223.618 700.108 c +201.145 682.017 187.964 702.926 Y +184.364 694.308 L +160.564 733.308 175.109 674.29 Y +183.909 639.89 314.819 680.108 y +483.619 710.508 494.819 714.508 v +506.019 718.508 599.474 712.254 y +594.02 730.072 L +529.219 776.472 511.619 752.109 498.019 756.109 c +484.419 760.109 486.819 750.509 483.619 749.708 c +480.419 748.908 441.219 773.709 434.819 772.909 c +f +0.072 0.4 0.618 0 k +436.128 771.163 m +429.728 770.363 404.999 794.395 419.328 762.363 c +436.128 724.807 360.394 723.518 344.128 734.363 c +327.328 745.563 351.328 715.963 Y +369.728 695.963 335.328 712.763 y +300.928 725.563 276.928 699.963 273.728 699.163 c +270.528 698.363 265.728 695.163 264.928 701.563 c +264.128 707.963 257.011 724.161 224.927 698.363 c +201.218 679.526 188.345 699.89 Y +184.345 692.763 L +162.545 729.563 175.764 671.235 Y +184.564 636.835 316.128 678.363 y +484.928 708.763 496.129 712.763 v +507.329 716.763 599.911 710.581 y +594.529 728.908 L +529.729 775.309 512.929 750.363 499.329 754.363 c +485.728 758.363 488.128 748.763 484.928 747.963 c +481.728 747.163 442.528 771.963 436.128 771.163 c +f +0.063 0.35 0.54 0 k +437.438 769.417 m +431.037 768.617 406.814 792.871 420.637 760.617 c +437.438 721.417 362.237 721.417 345.437 732.617 c +328.637 743.817 352.637 714.217 Y +371.037 694.217 336.637 711.017 y +302.237 723.817 278.237 698.217 275.037 697.417 c +271.837 696.617 267.037 693.417 266.237 699.817 c +265.437 706.217 258.452 722.248 226.237 696.617 c +201.291 677.035 188.727 696.854 Y +184.327 691.217 L +164.527 726.018 176.418 668.181 Y +185.218 633.78 317.437 676.617 y +486.238 707.017 497.438 711.017 v +508.638 715.017 600.347 708.908 y +595.038 727.745 L +530.238 774.145 514.238 748.617 500.638 752.617 c +487.038 756.617 489.438 747.017 486.238 746.217 c +483.038 745.417 443.838 770.217 437.438 769.417 c +f +0.054 0.3 0.463 0 k +438.747 767.672 m +432.347 766.872 406.383 790.323 421.947 758.872 c +441.147 720.072 363.546 719.672 346.746 730.872 c +329.946 742.072 353.946 712.472 Y +372.346 692.472 337.946 709.272 y +303.546 722.072 279.546 696.472 276.346 695.672 c +273.146 694.872 268.346 691.672 267.546 698.072 c +266.746 704.472 259.892 720.335 227.546 694.872 c +201.364 674.544 189.109 693.817 Y +184.309 689.672 L +166.309 722.872 177.073 665.126 Y +185.873 630.726 318.746 674.872 y +487.547 705.272 498.747 709.272 v +509.947 713.272 600.783 707.236 y +595.547 726.581 L +530.747 772.981 515.547 746.872 501.947 750.872 c +488.347 754.872 490.747 745.272 487.547 744.472 c +484.347 743.672 445.147 768.472 438.747 767.672 c +f +0.045 0.25 0.386 0 k +440.056 765.927 m +433.655 765.127 407.313 788.387 423.255 757.127 c +443.656 717.126 364.855 717.926 348.055 729.126 c +331.255 740.326 355.255 710.726 Y +373.655 690.726 339.255 707.526 y +304.855 720.326 280.855 694.726 277.655 693.926 c +274.455 693.126 269.655 689.926 268.855 696.326 c +268.055 702.726 261.332 718.422 228.855 693.126 c +201.436 672.053 189.491 690.781 Y +184.291 688.126 L +168.291 718.326 177.727 662.071 Y +186.527 627.671 320.055 673.126 y +488.856 703.526 500.056 707.526 v +511.256 711.526 601.22 705.563 y +596.056 725.417 L +531.256 771.817 516.856 745.126 503.256 749.126 c +489.656 753.127 492.056 743.526 488.856 742.726 c +485.656 741.926 446.456 766.727 440.056 765.927 c +f +0.036 0.2 0.309 0 k +441.365 764.181 m +434.965 763.381 407.523 786.056 424.565 755.381 c +446.565 715.781 366.164 716.181 349.364 727.381 c +332.564 738.581 356.564 708.981 Y +374.964 688.981 340.564 705.781 y +306.164 718.581 282.164 692.981 278.964 692.181 c +275.764 691.381 270.964 688.181 270.164 694.581 c +269.364 700.981 262.773 716.508 230.164 691.381 c +201.509 669.562 189.873 687.744 Y +184.273 686.581 L +169.872 714.981 178.382 659.017 Y +187.182 624.616 321.364 671.381 y +490.165 701.781 501.365 705.781 v +512.565 709.781 601.656 703.89 y +596.565 724.254 L +531.765 770.654 518.165 743.381 504.565 747.381 c +490.965 751.381 493.365 741.781 490.165 740.981 c +486.965 740.181 447.765 764.981 441.365 764.181 c +f +0.027 0.15 0.231 0 k +442.674 762.435 m +436.274 761.635 408.832 784.311 425.874 753.635 c +447.874 714.035 367.474 714.435 350.674 725.635 c +333.874 736.835 357.874 707.235 Y +376.274 687.235 341.874 704.035 y +307.473 716.835 283.473 691.235 280.273 690.435 c +277.073 689.635 272.273 686.435 271.473 692.835 c +270.673 699.235 264.214 714.595 231.473 689.635 c +201.582 667.071 190.255 684.707 Y +184.255 685.035 L +170.654 711.436 179.037 655.962 Y +187.837 621.562 322.673 669.635 y +491.474 700.035 502.674 704.035 v +513.874 708.035 602.093 702.217 y +597.075 723.09 L +532.274 769.49 519.474 741.635 505.874 745.635 c +492.274 749.635 494.674 740.035 491.474 739.235 c +488.274 738.435 449.074 763.235 442.674 762.435 c +f +0.018 0.1 0.154 0 k +443.983 760.69 m +437.583 759.89 410.529 782.777 427.183 751.89 c +449.183 711.09 368.783 712.69 351.983 723.89 c +335.183 735.09 359.183 705.49 Y +377.583 685.49 343.183 702.29 y +308.783 715.09 284.783 689.49 281.583 688.69 c +278.382 687.89 273.582 684.69 272.782 691.09 c +271.982 697.49 265.654 712.682 232.782 687.89 c +201.655 664.58 190.637 681.671 Y +184.236 683.49 L +171.236 707.49 179.691 652.907 Y +188.491 618.507 323.983 667.89 y +492.783 698.29 503.983 702.29 v +515.183 706.29 602.529 700.544 y +597.583 721.926 L +532.783 768.327 520.783 739.89 507.183 743.89 c +493.583 747.89 495.983 738.29 492.783 737.49 c +489.583 736.69 450.383 761.49 443.983 760.69 c +f +0.009 0.05 0.077 0 k +445.292 758.945 m +438.892 758.145 412.917 781.589 428.492 750.145 c +449.692 707.344 370.092 710.944 353.292 722.144 c +336.492 733.344 360.492 703.744 Y +378.892 683.744 344.492 700.544 y +310.092 713.344 286.092 687.744 282.892 686.944 c +279.692 686.144 274.892 682.944 274.092 689.344 c +273.292 695.744 267.095 710.768 234.092 686.144 c +201.727 662.089 191.018 678.635 Y +184.218 681.944 L +171.418 705.144 180.346 649.853 Y +189.146 615.453 325.292 666.144 y +494.093 696.544 505.293 700.544 v +516.493 704.544 602.965 698.872 y +598.093 720.763 L +533.292 767.163 522.093 738.144 508.493 742.144 c +494.893 746.145 497.293 736.544 494.093 735.744 c +490.892 734.944 451.692 759.745 445.292 758.945 c +f +1 g +184.2 680.399 m +171.4 702.4 181 646.799 Y +189.8 612.399 326.6 664.399 y +495.401 694.8 506.601 698.8 v +517.801 702.8 603.401 697.2 y +598.601 719.6 L +533.801 766 523.401 736.4 509.801 740.4 c +496.201 744.4 498.601 734.8 495.401 734 c +492.201 733.2 453.001 758 446.601 757.2 c +440.201 756.4 414.981 780.207 429.801 748.4 c +452.028 700.693 369.041 710.773 354.6 720.4 c +337.8 731.6 361.8 702 Y +380.2 681.999 345.8 698.8 y +311.4 711.6 287.4 685.999 284.2 685.199 c +281 684.399 276.2 681.199 275.4 687.599 c +274.6 694 268.535 708.856 235.4 684.399 c +201.8 659.599 191.4 675.599 Y +184.2 680.399 L +f +0 g +225.8 650.399 m +218.6 638.799 239.4 625.599 V +240.8 624.199 222.8 628.399 V +216.6 630.399 215 640.799 V +210.2 645.199 205.4 650.799 v +200.6 656.399 225.8 650.399 y +f +0.8 g +365.8 698 m +383.498 671.179 382.9 666.399 v +381.6 655.999 381.4 646.399 384.6 642.399 c +387.801 638.399 396.601 605.199 y +396.201 603.999 408.601 641.999 V +420.201 657.999 400.201 676.399 V +365 705.2 365.8 698 v +f +0 g +1 J 0.1 w +245.8 623.599 m +257 616.399 242.6 585.199 V +249 587.599 l +248.2 576.399 245 573.999 V +252.2 577.199 l +257 569.199 253 564.399 V +269.8 556.399 269 549.999 V +275.4 557.999 271.4 564.399 v +267.4 570.799 260.2 566.799 261 585.199 C +252.2 581.999 l +257.8 590.799 257.8 597.199 V +249.8 594.799 l +265.269 621.377 254.6 622.799 v +248.6 623.599 245.8 623.599 Y +f +0.8 g +278.2 606.799 m +281 611.199 278.2 610.399 v +275.4 609.599 244.2 594.799 238.2 585.199 C +272.6 609.599 278.2 606.799 V +f +288.6 598.799 m +291.4 603.199 288.6 602.399 v +285.8 601.599 254.6 586.799 248.6 577.199 C +283 601.599 288.6 598.799 V +f +301.8 613.999 m +304.6 618.399 301.8 617.599 v +299 616.799 267.8 601.999 261.8 592.399 C +296.2 616.799 301.8 613.999 V +f +278.6 570.399 m +278.6 576.399 275.8 575.599 v +273 574.799 237 557.199 231 547.599 C +273 573.199 278.6 570.399 V +f +279.8 581.199 m +281 585.999 278.2 585.199 V +276.2 585.199 249.8 573.599 243.8 563.999 C +273.4 585.599 279.8 581.199 V +f +265.4 533.599 m +255.4 525.999 l +265.8 533.599 269.4 532.399 V +262.6 521.199 261.8 515.999 V +272.2 528.799 277.8 528.399 V +285.4 527.999 285.4 517.199 V +291 527.599 294.2 527.199 V +295.4 520.799 294.2 513.999 V +298.2 521.599 302.2 519.999 V +308.6 521.999 307.8 510.399 V +307.8 499.999 307 497.199 V +312.6 523.599 315 523.999 V +323 525.199 327.8 516.399 V +323.8 523.999 328.6 521.999 V +339.4 520.399 342.6 513.599 V +335.8 525.599 341.4 522.399 V +348.2 522.399 349.4 515.999 V +357.8 494.799 359.8 493.199 V +352.2 514.799 353.8 514.799 V +351.8 526.799 357 511.999 V +353.8 525.999 359.4 525.199 v +365 524.399 369.4 514.399 377.8 516.799 C +387.401 511.199 389.401 580.399 V +265.4 533.599 L +f +0 g +0 J 1 w +270.2 626.399 m +285 632.399 325 626.399 V +332.2 625.999 339 634.799 v +345.8 643.599 372.6 650.799 379 648.799 C +388.601 642.399 l +389.401 641.199 l +401.801 630.799 402.201 623.199 v +402.601 615.599 387.801 567.599 378.2 551.599 c +368.6 535.599 359 523.199 339.8 525.599 C +319 529.599 293.4 525.599 v +264.2 527.199 261.4 535.199 v +258.6 543.199 272.6 558.399 y +277 566.799 275.8 581.199 v +274.6 595.599 275 623.599 270.2 626.399 c +f +0.1 0.6 0.45 0 k +292.2 624.399 m +300.6 605.999 271 540.799 y +269 539.199 283.66 533.154 293.8 535.599 c +304.746 538.237 345 533.999 Y +368.6 549.599 381.4 593.999 y +391.801 617.999 374.2 621.199 v +356.6 624.399 292.2 624.399 y +f +0.1 0.6 0.45 0.2 k +290.169 593.503 m +293.495 606.293 295.079 618.094 292.2 624.399 c +354.6 617.999 365.8 638.799 v +370.041 646.674 384.801 615.999 384.4 606.399 c +321.4 591.999 306.6 603.199 V +290.169 593.503 L +f +0.1 0.6 0.45 0.25 k +294.6 577.199 m +296.6 569.999 294.2 565.999 V +292.6 565.199 291.4 564.799 V +292.6 561.199 298.6 559.599 V +300.6 555.199 303 554.799 v +305.4 554.399 310.2 548.799 314.2 549.999 c +318.2 551.199 329.4 555.199 y +335 558.399 343.8 554.799 V +346.175 555.601 346.6 559.599 v +347.1 564.299 350.2 567.999 352.2 569.999 c +354.2 571.999 363.8 584.799 362.6 585.199 c +361.4 585.599 294.6 577.199 Y +f +0 0.55 0.5 0 k +290.2 625.599 m +287.4 603.199 290.6 594.799 v +293.8 586.399 293 584.399 292.2 580.399 c +291.4 576.399 295.8 566.399 301.4 560.399 C +313.4 558.799 l +328.6 562.399 337.8 559.599 V +346.794 558.256 350.2 573.199 V +355 579.599 362.2 582.399 v +369.4 585.199 376.6 626.799 372.6 634.799 c +368.6 642.799 354.2 647.199 338.2 631.599 c +322.2 615.999 320.2 632.799 290.2 625.599 C +b +0 0 0.2 0 k +0.5 w +291.8 550.799 m +291 552.799 286.6 553.199 V +264.2 556.799 255.8 569.199 V +249 574.799 253.4 563.199 V +263.8 542.799 270.6 539.999 V +287 535.999 291.8 550.799 V +b +0 0.55 0.5 0.2 k +1 w +371.742 614.771 m +372.401 622.677 374.354 631.291 372.6 634.799 c +366.154 647.693 349.181 642.305 338.2 631.599 c +322.2 615.999 320.2 632.799 290.2 625.599 C +288.455 611.636 289.295 601.624 v +326.6 613.199 327.4 607.599 V +329 610.799 338.2 610.799 v +347.4 610.799 370.142 611.971 371.742 614.771 C +f +0 g +0 0.55 0.5 0.35 K +2 w +328.6 624.799 m +333.4 619.999 329.8 610.399 V +315.4 594.399 317.4 580.399 v +S +0 0 0.2 0 k +0 G +0.5 w +280.6 539.999 m +276.2 552.799 285 545.999 V +289.8 543.999 288.6 542.399 v +287.4 540.799 281.8 536.799 280.6 539.999 C +b +285.64 538.799 m +282.12 549.039 289.16 543.599 V +293.581 541.151 292.04 540.719 v +287.48 539.439 292.04 536.879 285.64 538.799 C +b +290.44 538.799 m +286.92 549.039 293.96 543.599 V +298.335 541.289 296.84 540.719 v +293.48 539.439 296.84 536.879 290.44 538.799 C +b +297.04 538.599 m +293.52 548.839 300.56 543.399 V +304.943 541.067 303.441 540.519 v +300.48 539.439 303.441 536.679 297.04 538.599 C +b +303.52 538.679 m +300 548.919 307.041 543.479 V +310.881 541.879 309.921 540.599 v +308.961 539.319 309.921 536.759 303.52 538.679 C +b +310.2 537.999 m +305.4 550.399 314.6 543.999 V +319.4 541.999 318.2 540.399 v +317 538.799 318.2 535.599 310.2 537.999 C +b +0 g +0.1 0.6 0.45 0.25 K +2 w +281.8 555.199 m +295 557.999 301 554.799 V +307 553.599 308.2 553.999 v +309.4 554.399 312.6 554.799 y +S +315.8 546.399 m +327.8 559.999 339.8 555.599 v +346.816 553.026 345.8 556.399 346.6 559.199 c +347.4 561.999 347.6 566.199 352.6 569.199 c +S +0 0 0.2 0 k +0 G +0.5 w +333 562.399 m +329 573.199 326.2 560.399 v +323.4 547.599 320.2 543.999 318.6 541.199 C +318.6 535.999 327 536.399 V +337.8 536.799 338.2 539.599 v +338.6 542.399 337 553.999 333 562.399 C +b +0 g +0.1 0.6 0.45 0.25 K +2 w +347 555.199 m +350.6 557.599 353 556.399 v +S +353.5 571.599 m +356.4 576.499 361.2 577.299 v +S +0.7 g +0 G +1 w +274.2 534.799 m +292.2 531.599 296.6 533.199 V +305.4 533.199 297 531.199 V +284.2 531.199 276.2 532.399 V +264.6 537.999 274.2 534.799 V +f +0 0 0.2 0 k +0.5 w +288.2 627.999 m +305.8 627.999 307.8 627.199 V +315 596.399 311.4 588.799 V +310.2 585.999 307.4 591.599 V +289 624.399 285.8 626.399 v +282.6 628.399 287 627.999 288.2 627.999 C +b +211.1 630.699 m +220 628.999 232.6 626.399 V +237.4 603.999 240.6 599.199 v +243.8 594.399 240.2 594.399 236.6 597.199 c +233 599.999 218.2 613.999 216.2 618.399 c +214.2 622.799 211.1 630.699 y +b +232.961 626.182 m +238.761 624.634 239.77 622.419 v +240.778 620.205 238.568 616.908 y +237.568 613.603 236.366 615.765 v +235.164 617.928 232.292 625.588 232.961 626.182 c +b +0 g +233 626.399 m +236.6 621.199 240.2 621.199 v +243.8 621.199 244.182 621.612 247 620.999 c +251.6 619.999 251.2 621.999 257.8 620.799 c +260.44 620.319 263 621.199 265.8 619.999 c +268.6 618.799 271.8 619.599 273 621.599 c +274.2 623.599 279 627.799 Y +266.2 625.999 263.4 625.199 V +241 623.999 233 626.399 V +f +0 0 0.2 0 k +277.6 626.199 m +271.15 622.699 270.75 620.299 v +270.35 617.899 276 614.199 y +278.75 609.599 279.35 611.999 v +279.95 614.399 278.4 625.799 277.6 626.199 c +b +240.115 620.735 m +247.122 609.547 247.339 620.758 V +247.896 622.016 246.136 622.038 v +240.061 622.114 241.582 626.216 240.115 620.735 C +b +247.293 620.486 m +255.214 609.299 254.578 620.579 V +254.585 620.911 252.832 621.064 v +248.085 621.478 248.43 625.996 247.293 620.486 C +b +254.506 620.478 m +262.466 609.85 261.797 619.516 V +261.916 620.749 260.262 621.05 v +256.37 621.756 256.159 625.005 254.506 620.478 C +b +261.382 620.398 m +269.282 608.837 269.63 618.618 V +271.274 619.996 269.528 620.218 v +263.71 620.958 264.508 625.412 261.382 620.398 C +b +0 0 0.2 0.1 k +225.208 616.868 m +217.55 618.399 l +214.95 623.399 212.85 629.549 y +219.2 628.549 231.7 625.749 V +232.576 622.431 234.048 616.636 v +225.208 616.868 l +f +290.276 621.53 m +288.61 624.036 287.293 625.794 286.643 626.2 c +283.63 628.083 287.773 627.706 288.902 627.706 C +305.473 627.706 307.356 626.953 V +307.88 624.711 308.564 621.32 V +298.476 623.33 290.276 621.53 V +f +0.2 0.55 0.85 0 k +1 w +343.88 759.679 m +371.601 755.719 397.121 791.359 398.881 801.04 c +400.641 810.72 390.521 822.6 Y +391.841 825.68 387.001 839.76 381.721 849 c +376.441 858.24 360.54 857.266 343 858.24 c +327.16 859.12 308.68 835.8 307.36 834.04 c +306.04 832.28 312.2 793.999 313.52 788.279 c +314.84 782.559 312.2 756.159 y +346.44 765.259 316.16 763.639 343.88 759.679 c +f +0.08 0.44 0.68 0 k +308.088 833.392 m +306.792 831.664 312.84 794.079 314.136 788.463 c +315.432 782.847 312.84 756.927 y +345.512 765.807 316.728 764.271 343.944 760.383 c +371.161 756.495 396.217 791.487 397.945 800.992 c +399.673 810.496 389.737 822.16 Y +391.033 825.184 386.281 839.008 381.097 848.08 c +375.913 857.152 360.302 856.195 343.08 857.152 c +327.528 858.016 309.384 835.12 308.088 833.392 c +f +0.06 0.33 0.51 0 k +308.816 832.744 m +307.544 831.048 313.48 794.159 314.752 788.647 c +316.024 783.135 313.48 757.695 y +344.884 766.855 317.296 764.903 344.008 761.087 c +370.721 757.271 395.313 791.615 397.009 800.944 c +398.705 810.272 388.953 821.72 Y +390.225 824.688 385.561 838.256 380.473 847.16 c +375.385 856.064 360.063 855.125 343.16 856.064 c +327.896 856.912 310.088 834.44 308.816 832.744 c +f +0.04 0.22 0.34 0 k +309.544 832.096 m +308.296 830.432 314.12 794.239 315.368 788.831 c +316.616 783.423 314.12 758.463 y +343.556 767.503 317.864 765.535 344.072 761.791 c +370.281 758.047 394.409 791.743 396.073 800.895 c +397.737 810.048 388.169 821.28 Y +389.417 824.192 384.841 837.504 379.849 846.24 c +374.857 854.976 359.824 854.055 343.24 854.976 c +328.264 855.808 310.792 833.76 309.544 832.096 c +f +0.02 0.11 0.17 0 k +310.272 831.448 m +309.048 829.816 314.76 794.319 315.984 789.015 c +317.208 783.711 314.76 759.231 y +342.628 768.151 318.432 766.167 344.136 762.495 c +369.841 758.823 393.505 791.871 395.137 800.848 c +396.769 809.824 387.385 820.84 Y +388.609 823.696 384.121 836.752 379.225 845.32 c +374.329 853.888 359.585 852.985 343.32 853.888 c +328.632 854.704 311.496 833.08 310.272 831.448 c +f +1 g +344.2 763.2 m +369.4 759.6 392.601 792 394.201 800.8 c +395.801 809.6 386.601 820.4 Y +387.801 823.2 383.4 836 378.6 844.4 c +373.8 852.8 359.346 851.914 343.4 852.8 c +329 853.6 312.2 832.4 311 830.8 c +309.8 829.2 315.4 794.4 316.6 789.2 c +317.8 784 315.4 760 y +340.9 768.6 319 766.8 344.2 763.2 c +f +0.8 g +390.601 797.2 m +362.8 789.6 351.2 791.2 V +335.4 797.8 326.6 776 V +323 768.8 321 766.8 v +319 764.8 390.601 797.2 Y +f +0 g +394.401 799.4 m +365.4 787.2 355.4 787.6 v +339 792.2 330.6 777.6 V +322.2 768.4 319 766.8 V +318.6 765.2 325 769.2 V +335.4 764 l +350.2 754.4 359.8 770.4 V +363.8 781.6 363.8 783.6 v +363.8 785.6 385 791.2 386.601 791.6 c +388.201 792 394.801 796.2 394.401 799.4 C +f +0.4 0.2 0.8 0 k +347 763.486 m +340.128 763.486 331.755 767.351 331.755 773.6 c +331.755 779.848 340.128 786.113 347 786.113 c +353.874 786.113 359.446 781.048 359.446 774.8 c +359.446 768.551 353.874 763.486 347 763.486 c +f +0.4 0.2 0.8 0.2 k +343.377 780.17 m +338.531 779.448 333.442 777.945 333.514 778.161 c +335.054 782.78 341.415 786.113 347 786.113 c +351.296 786.113 355.084 784.135 357.32 781.125 c +352.004 781.455 343.377 780.17 v +f +1 g +355.4 780.4 m +351 783.6 351 781.4 V +354.6 777 355.4 780.4 V +f +0 g +345.4 772.274 m +342.901 772.274 340.875 774.3 340.875 776.8 c +340.875 779.299 342.901 781.325 345.4 781.325 c +347.9 781.325 349.926 779.299 349.926 776.8 c +349.926 774.3 347.9 772.274 345.4 772.274 c +f +0.2 0.55 0.85 0 k +241.4 785.6 m +238.2 806.8 240.6 811.2 V +251.4 821.2 251 824.8 V +250.6 842.8 249.4 843.6 v +248.2 844.4 240.6 850.4 234.6 844 C +224.2 826 225 819.6 V +225 817.6 l +217.4 818 215.8 816 V +214.6 810.8 213.4 810.4 V +210.6 808 212.6 805.2 V +210.6 802.8 211 798.8 V +218.6 794.8 L +220.6 780.4 231.4 775.2 v +236.236 772.871 239.4 779.6 241.4 785.6 c +f +1 g +240.4 787.44 m +237.52 806.52 239.68 810.48 V +249.4 819.48 249.04 822.72 V +248.68 838.92 247.6 839.64 v +246.52 840.36 239.68 845.76 234.28 840 C +224.92 823.8 225.64 818.04 V +225.64 816.24 l +218.8 816.6 217.36 814.8 V +216.28 810.12 215.2 809.76 V +212.68 807.6 214.48 805.08 V +212.68 802.92 213.04 799.32 V +219.88 795.72 L +221.68 782.76 231.4 778.08 v +235.752 775.985 238.6 782.04 240.4 787.44 c +f +0.075 0.412 0.637 0 k +248.95 842.61 m +247.86 843.47 240.37 849.24 234.52 843 C +224.38 825.45 225.16 819.21 V +225.16 817.26 l +217.75 817.65 216.19 815.7 V +215.02 810.63 213.85 810.24 V +211.12 807.9 213.07 805.17 V +211.12 802.83 211.51 798.93 V +218.92 795.03 L +220.87 780.99 231.4 775.92 v +236.114 773.65 239.2 780.21 241.15 786.06 c +238.03 806.73 240.37 811.02 V +250.9 820.77 250.51 824.28 V +250.12 841.83 248.95 842.61 V +f +0.05 0.275 0.425 0 k +248.5 841.62 m +247.52 842.54 240.14 848.08 234.44 842 C +224.56 824.9 225.32 818.82 V +225.32 816.92 l +218.1 817.3 216.58 815.4 V +215.44 810.46 214.3 810.08 V +211.64 807.8 213.54 805.14 V +211.64 802.86 212.02 799.06 V +219.24 795.26 L +221.14 781.58 231.4 776.64 v +235.994 774.428 239 780.82 240.9 786.52 c +237.86 806.66 240.14 810.84 V +250.4 820.34 250.02 823.76 V +249.64 840.86 248.5 841.62 V +f +0.025 0.137 0.212 0 k +248.05 840.63 m +247.18 841.61 239.91 846.92 234.36 841 C +224.74 824.35 225.48 818.43 V +225.48 816.58 l +218.45 816.95 216.97 815.1 V +215.86 810.29 214.75 809.92 V +212.16 807.7 214.01 805.11 V +212.16 802.89 212.53 799.19 V +219.56 795.49 L +221.41 782.17 231.4 777.36 v +235.873 775.206 238.8 781.43 240.65 786.98 c +237.69 806.59 239.91 810.66 V +249.9 819.91 249.53 823.24 V +249.16 839.89 248.05 840.63 V +f +1 g +240.4 787.54 m +237.52 806.52 239.68 810.48 V +249.4 819.48 249.04 822.72 V +248.68 838.92 247.6 839.64 V +246.84 840.68 239.68 845.76 234.28 840 C +224.92 823.8 225.64 818.04 V +225.64 816.24 l +218.8 816.6 217.36 814.8 V +216.28 810.12 215.2 809.76 V +212.68 807.6 214.48 805.08 V +212.68 802.92 213.04 799.32 V +219.88 795.72 L +221.68 782.76 231.4 778.08 v +235.752 775.985 238.6 782.14 240.4 787.54 c +f +0.8 g +237.3 793.8 m +215.7 804 214.8 804.8 V +223.9 796.6 224.7 796.6 v +225.5 796.6 237.3 793.8 Y +f +0 g +220.2 800 m +238.6 796.4 238.6 792 v +238.6 789.088 238.357 775.669 233 777.2 c +224.6 779.6 228.2 794 220.2 800 c +f +0.4 0.2 0.8 0 k +228.6 796.2 m +237.578 794.726 238.6 792 v +239.2 790.4 239.863 782.092 234.4 781 c +229.848 780.089 227.618 790.31 228.6 796.2 c +f +0 g +314.595 753.651 m +314.098 755.393 315.409 755.262 317.2 755.8 c +319.2 756.4 331.4 760.2 332.2 762.8 c +333 765.4 346.2 761 Y +348 760.2 352.4 757.6 Y +357.2 756.4 363.8 756 Y +366.2 755 369.6 752.2 Y +384.2 742 396.601 749.2 Y +416.601 755.8 410.601 773 Y +407.601 782 410.801 785.4 Y +411.001 789.2 418.201 782.8 Y +420.801 778.6 421.601 773.6 Y +429.601 762.4 426.201 780.2 Y +426.401 781.2 423.601 784.8 423.601 786 c +423.601 787.2 421.801 790.6 Y +418.801 794 421.201 801 Y +423.001 814.8 420.801 813 Y +419.601 814.8 410.401 804.8 Y +408.201 801.4 402.201 799.8 Y +399.401 798 396.001 799.4 Y +393.401 799.8 387.801 792.8 Y +390.601 793 393.001 788.6 395.401 788.4 c +397.801 788.2 399.601 790.8 401.201 791.4 c +402.801 792 405.601 786.2 Y +406.001 783.6 400.401 778.8 Y +400.001 774.2 398.401 775.8 Y +395.401 776.4 394.201 772.6 393.201 768 c +392.201 763.4 388.001 763 y +386.401 755.6 385.2 758.6 Y +385 764.2 379 758.4 Y +377.8 756.4 373.2 758.6 Y +366.4 760.6 368.8 762.6 Y +370.6 764.8 381.8 762.6 Y +384 764.2 376 768.2 Y +375.4 770 376.4 774.4 Y +377.6 777.6 384.4 783.2 Y +393.801 784.4 391.001 786 Y +384.801 791.2 379 783.6 Y +376.8 777.4 359.4 762.4 Y +354.6 759 357.2 765.8 353.2 762.4 c +349.2 759 328.6 768 y +317.038 769.193 314.306 753.451 310.777 756.571 c +316.195 748.051 314.595 753.651 v +f +509.401 920 m +483.801 912 481.001 893.2 V +478.601 870.4 499.001 852.8 V +499.401 846.4 501.401 843.2 v +499.801 838.4 518.601 846 V +545.801 854.4 l +552.201 856.8 557.401 865.6 v +562.601 874.4 577.801 893.2 574.201 918.4 C +575.401 929.6 569.401 930 V +561.001 931.6 553.801 924 V +547.001 920.8 544.601 921.2 V +509.401 920 L +f +564.022 920.99 m +566.122 929.92 561.282 925.08 V +554.242 919.36 546.761 919.36 V +532.241 917.16 527.841 903.96 V +523.881 877.12 531.801 871.4 V +536.641 863.92 543.681 870.52 v +550.722 877.12 566.222 907.35 564.022 920.99 C +f +0.2 g +563.648 920.632 m +565.738 929.376 560.986 924.624 V +554.074 919.008 546.729 919.008 V +532.473 916.848 528.153 903.888 V +524.265 877.536 532.041 871.92 V +536.793 864.576 543.705 871.056 v +550.618 877.536 565.808 907.24 563.648 920.632 C +f +0.4 g +563.274 920.274 m +565.354 928.832 560.69 924.168 V +553.906 918.656 546.697 918.656 V +532.705 916.536 528.465 903.816 V +524.649 877.952 532.281 872.44 V +536.945 865.232 543.729 871.592 v +550.514 877.952 565.394 907.13 563.274 920.274 C +f +0.6 g +562.9 919.916 m +564.97 928.288 560.394 923.712 V +553.738 918.304 546.665 918.304 V +532.937 916.224 528.777 903.744 V +525.033 878.368 532.521 872.96 V +537.097 865.888 543.753 872.128 v +550.41 878.368 564.98 907.02 562.9 919.916 C +f +0.8 g +562.526 919.558 m +564.586 927.744 560.098 923.256 V +553.569 917.952 546.633 917.952 V +533.169 915.912 529.089 903.672 V +525.417 878.784 532.761 873.48 V +537.249 866.544 543.777 872.664 v +550.305 878.784 564.566 906.91 562.526 919.558 C +f +1 g +562.151 919.2 m +564.201 927.2 559.801 922.8 V +553.401 917.6 546.601 917.6 V +533.401 915.6 529.401 903.6 V +525.801 879.2 533.001 874 V +537.401 867.2 543.801 873.2 v +550.201 879.2 564.151 906.8 562.151 919.2 C +f +0.1 0.55 0.85 0.3 k +350.6 716 m +330.2 735.2 322.2 736 V +287.8 740 273 722 V +290.6 742.4 318.2 736.8 V +296.6 741.2 284.2 738 V +267.4 738 257.8 724 V +255 719.2 l +259 734 277.4 740 V +300.2 744.8 311 740 V +289.4 746.8 279.4 744.8 V +249 747.2 236.2 720.8 V +240.2 735.2 255 742.4 V +268.6 751.2 289 748.4 V +303.4 745.2 308.6 742.8 v +313.8 740.4 312.6 743.2 304.2 748 C +298.6 758 284.6 757.6 V +241.8 754 231.4 742 V +245 753.2 255.4 756 V +277.8 764 286.2 763.2 V +311 762.2 318.6 766.2 V +307.4 761.2 310.6 758 v +313.8 754.8 320.6 747.2 320.6 746 c +320.6 744.8 344.8 722.7 348.4 718.3 C +350.6 716 l +f +0.8 g +1 J 0.1 w +489 522 m +473.5 558.5 461 568 V +487 552 490.5 534 V +490.5 524 489 522 V +f +536 514.5 m +509.5 569.5 491 593.5 V +534.5 556 539.5 529.5 V +540 524 l +537 526.5 l +536.5 517.5 536 514.5 V +f +592.5 563 m +530 622.5 528.5 625 V +589 559 592 551.5 V +590 560.5 592.5 563 V +f +404 519.5 m +423.5 571.5 442.5 549 V +457.5 539 457 536 V +453 542.5 435 542 V +416 545 404 519.5 V +f +594.5 647 m +549.5 675.5 542 677 v +530.193 679.361 591.5 648 596.5 637.5 C +598.5 640 594.5 647 V +f +0 g +0 J 1 w +443.801 540.399 m +464.201 542.399 471.001 549.199 V +475.401 545.599 l +493.001 583.999 l +496.601 578.799 l +511.001 593.599 510.201 601.599 v +509.401 609.599 523.001 595.599 y +522.201 607.199 529.401 600.399 V +527.001 615.999 535.401 607.999 V +524.864 638.156 547.401 612.399 v +553.001 605.999 548.601 612.799 y +522.601 660.799 544.201 646.399 v +546.201 669.199 545.001 673.599 v +543.801 677.999 541.801 700.4 537.001 705.6 c +532.201 710.8 537.401 712.4 543.001 707.2 C +531.801 731.2 545.001 719.2 V +541.401 734.4 537.001 737.2 V +531.401 754.4 546.601 743.6 V +542.201 756 539.001 759.2 V +527.401 786.8 534.601 782 V +539.001 778.4 l +532.201 792.4 538.601 788 v +545.001 783.6 545.001 784 y +523.801 817.2 544.201 799.6 V +536.042 813.518 532.601 820.4 V +513.801 840.8 528.201 834.4 V +533.001 832.8 l +524.201 842.8 516.201 844.4 v +508.201 846 518.601 852.4 525.001 850.4 c +531.401 848.4 547.001 840.8 y +559.801 822 563.801 821.6 V +543.801 829.2 549.801 821.2 V +564.201 807.2 557.001 807.6 V +551.001 800.4 555.801 791.6 V +537.342 809.991 552.201 784.4 v +559.001 768 l +534.601 792.8 545.801 770.8 V +563.001 747.2 565.001 746.8 v +567.001 746.4 571.401 737.6 y +567.001 739.6 l +572.201 730.8 l +561.001 742.8 567.001 729.6 V +572.601 715.2 l +552.201 737.2 565.801 707.6 V +549.401 712.8 558.201 695.6 V +556.601 679.599 557.001 674.399 v +557.401 669.199 558.601 640.799 554.201 632.799 c +549.801 624.799 560.201 605.599 562.201 601.599 c +564.201 597.599 567.801 586.799 559.001 595.999 c +550.201 605.199 554.601 599.599 556.601 590.799 c +558.601 581.999 564.601 566.399 563.801 560.799 C +562.601 559.599 559.401 563.199 V +544.601 585.999 546.201 571.599 V +545.001 563.599 541.801 554.799 V +538.601 543.999 538.601 552.799 V +535.401 569.599 532.601 561.999 v +529.801 554.399 526.201 548.399 523.401 545.999 c +520.601 543.599 515.401 566.399 514.201 555.999 C +502.201 568.399 497.401 551.999 V +485.801 535.599 l +485.401 547.999 484.201 541.999 V +454.201 535.999 443.801 540.399 V +f +409.401 897.2 m +397.801 905.2 393.801 904.8 v +389.801 904.4 421.401 913.6 462.601 886 C +467.401 883.2 471.001 883.6 V +474.201 881.2 471.401 877.6 V +462.601 868 473.801 856.8 V +492.201 850 486.601 858.8 V +497.401 854.8 499.801 850.8 v +502.201 846.8 501.001 850.8 y +494.601 858 488.601 863.2 V +483.401 865.2 480.601 873.6 v +477.801 882 475.401 892 479.801 895.2 C +475.801 890.8 476.601 894.8 v +477.401 898.8 481.001 902.4 482.601 902.8 c +484.201 903.2 500.601 919 507.401 919.4 C +498.201 918 495.201 919 v +492.201 920 465.601 931.4 459.601 932.6 C +442.801 939.2 454.801 937.2 V +490.601 933.4 508.801 920.2 V +501.601 928.6 483.201 935.6 V +461.001 948.2 425.801 943.2 V +408.001 940 400.201 938.2 V +397.601 938.8 397.001 939.2 v +396.401 939.6 384.6 948.6 357 941.6 C +340 937 331.4 932.2 V +316.2 931 312.6 927.8 V +294 913.2 292 912.4 v +290 911.6 278.6 904 277.8 903.6 C +302.4 910.2 304.8 912.6 v +307.2 915 324.6 917.6 327 916.2 c +329.4 914.8 337.8 915.4 328.2 914.8 C +403.801 900 404.601 898 v +405.401 896 409.401 897.2 y +f +0.2 0.55 0.85 0 k +480.801 906.4 m +470.601 913.8 468.601 913.8 v +466.601 913.8 454.201 924 450.001 923.6 c +445.801 923.2 433.601 933.2 406.201 925 C +405.601 927 409.201 927.8 V +415.601 930 416.001 930.6 V +436.201 934.8 443.401 931.2 V +452.601 928.6 458.801 922.4 V +470.001 919.2 473.201 920.2 V +482.001 918 482.401 916.2 V +488.201 913.2 486.401 910.6 V +486.801 909 480.801 906.4 V +f +468.33 908.509 m +469.137 907.877 470.156 907.779 470.761 906.97 c +470.995 906.656 470.706 906.33 470.391 906.233 c +469.348 905.916 468.292 906.486 467.15 905.898 c +466.748 905.691 466.106 905.873 465.553 906.022 c +463.921 906.463 462.092 906.488 460.401 905.8 C +458.416 906.929 456.056 906.345 453.975 907.346 c +453.917 907.373 453.695 907.027 453.621 907.054 c +450.575 908.199 446.832 907.916 444.401 910.2 C +441.973 910.612 439.616 911.074 437.188 911.754 c +435.37 912.263 433.961 913.252 432.341 914.084 c +430.964 914.792 429.507 915.314 427.973 915.686 c +426.11 916.138 424.279 916.026 422.386 916.546 c +422.293 916.571 422.101 916.227 422.019 916.254 c +421.695 916.362 421.405 916.945 421.234 916.892 c +419.553 916.37 418.065 917.342 416.401 917 C +415.223 918.224 413.495 917.979 411.949 918.421 c +408.985 919.269 405.831 917.999 402.801 919 C +406.914 920.842 411.601 919.61 415.663 921.679 c +417.991 922.865 420.653 921.763 423.223 922.523 c +423.71 922.667 424.401 922.869 424.801 922.2 C +424.935 922.335 425.117 922.574 425.175 922.546 c +427.625 921.389 429.94 920.115 432.422 919.049 c +432.763 918.903 433.295 919.135 433.547 918.933 c +435.067 917.717 437.01 917.82 438.401 916.6 C +440.099 917.102 441.892 916.722 443.621 917.346 c +443.698 917.373 443.932 917.032 443.965 917.054 c +445.095 917.802 446.25 917.531 447.142 917.227 c +447.48 917.112 448.143 916.865 448.448 916.791 c +449.574 916.515 450.43 916.035 451.609 915.852 c +451.723 915.834 451.908 916.174 451.98 916.146 c +453.103 915.708 454.145 915.764 454.801 914.6 C +454.936 914.735 455.101 914.973 455.183 914.946 c +456.21 914.608 456.859 913.853 457.96 913.612 c +458.445 913.506 459.057 912.88 459.633 912.704 c +462.025 911.973 463.868 910.444 466.062 909.549 c +466.821 909.239 467.697 909.005 468.33 908.509 c +f +391.696 922.739 m +389.178 924.464 386.81 925.57 384.368 927.356 c +384.187 927.489 383.827 927.319 383.625 927.441 c +382.618 928.05 381.73 928.631 380.748 929.327 c +380.209 929.709 379.388 929.698 378.88 929.956 c +376.336 931.248 373.707 931.806 371.2 933 C +371.882 933.638 373.004 933.394 373.6 934.2 C +373.795 933.92 374.033 933.636 374.386 933.827 c +376.064 934.731 377.914 934.884 379.59 934.794 c +381.294 934.702 383.014 934.397 384.789 934.125 c +385.096 934.078 385.295 933.555 385.618 933.458 c +387.846 932.795 390.235 933.32 392.354 932.482 c +393.945 931.853 395.515 931.03 396.754 929.755 c +397.006 929.495 396.681 929.194 396.401 929 C +396.789 929.109 397.062 928.903 397.173 928.59 c +397.257 928.351 397.257 928.049 397.173 927.81 c +397.061 927.498 396.782 927.397 396.408 927.346 c +395.001 927.156 396.773 928.536 396.073 928.088 c +394.8 927.274 395.546 925.868 394.801 924.6 C +394.521 924.794 394.291 925.012 394.401 925.4 C +394.635 924.878 394.033 924.588 393.865 924.272 c +393.48 923.547 392.581 922.132 391.696 922.739 c +f +359.198 915.391 m +356.044 916.185 352.994 916.07 349.978 917.346 c +349.911 917.374 349.688 917.027 349.624 917.054 c +348.258 917.648 347.34 918.614 346.264 919.66 c +345.351 920.548 343.693 920.161 342.419 920.648 c +342.095 920.772 341.892 921.284 341.591 921.323 c +340.372 921.48 339.445 922.429 338.4 923 C +340.736 923.795 343.147 923.764 345.609 924.148 c +345.722 924.166 345.867 923.845 346 923.845 c +346.136 923.845 346.266 924.066 346.4 924.2 C +346.595 923.92 346.897 923.594 347.154 923.848 c +347.702 924.388 348.258 924.198 348.798 924.158 c +348.942 924.148 349.067 923.845 349.2 923.845 c +349.336 923.845 349.467 924.156 349.6 924.156 c +349.736 924.155 349.867 923.845 350 923.845 c +350.136 923.845 350.266 924.066 350.4 924.2 C +351.092 923.418 351.977 923.972 352.799 923.793 c +353.837 923.566 354.104 922.418 355.178 922.12 c +359.893 920.816 364.03 918.671 368.393 916.584 c +368.7 916.437 368.91 916.189 368.8 915.8 C +369.067 915.8 369.38 915.888 369.57 915.756 c +370.628 915.024 371.669 914.476 372.366 913.378 c +372.582 913.039 372.253 912.632 372.02 912.684 c +367.591 913.679 363.585 914.287 359.198 915.391 c +f +345.338 871.179 m +343.746 872.398 343.162 874.429 342.034 876.221 c +341.82 876.561 342.094 876.875 342.411 876.964 c +342.971 877.123 343.514 876.645 343.923 876.443 c +345.668 875.581 347.203 874.339 349.2 874.2 C +351.19 871.966 355.45 871.581 355.457 868.2 c +355.458 867.341 354.03 868.259 353.6 867.4 C +351.149 868.403 348.76 868.3 346.38 869.767 c +345.763 870.148 346.093 870.601 345.338 871.179 c +f +317.8 923.756 m +317.935 923.755 324.966 923.522 324.949 923.408 c +324.904 923.099 317.174 922.05 316.81 922.22 c +316.646 922.296 309.134 919.866 309 920 C +309.268 920.135 317.534 923.756 317.8 923.756 c +f +0 g +333.2 914 m +318.4 912.2 314 911 v +309.6 909.8 291 902.2 288 900.2 C +274.6 894.8 257.6 874.8 V +265.2 878.2 267.4 881 V +281 893.6 280.8 891 V +293 899.6 292.4 897.4 V +316.8 908.6 314.8 905.4 V +336.4 910 335.4 908 V +354.2 903.6 351.4 903.4 V +345.6 902.2 352 898.6 V +348.6 894.2 343.2 898.2 v +337.8 902.2 340.8 900 335.8 899 C +333.2 898.2 328.6 902.2 V +323 906.8 314.2 903.2 V +283.6 890.6 281.6 890 V +278 887.2 275.6 883.6 V +269.8 879.2 266.8 877.8 V +254 866.2 252.8 864.8 V +249.4 859.6 248.6 859.2 V +255 863 257 865 V +271 875 276.4 875.8 V +280.8 878.8 281.6 880.2 V +296 889.4 300.2 889.4 V +309.4 884.2 311.8 891.2 V +317.6 893 323.2 891.8 V +326.4 894.4 325.6 896.6 V +327.2 898.4 328.2 894.6 V +331.6 891 336.4 893 V +340.4 893.2 338.4 890.8 V +334 887 322.2 886.8 V +309.8 886.2 293.4 878.6 V +263.6 868.2 254.4 857.8 V +248 849 242.6 847.8 V +236.8 847 230.8 839.6 V +240.6 845.4 249.6 845.4 V +253.6 847.8 249.8 844.2 V +246.2 836.6 247.8 831.2 V +247.2 826 246.4 824.4 V +238.6 811.6 238.6 809.2 v +238.6 806.8 239.8 797 240.2 796.4 c +240.6 795.8 239.2 798 243 795.6 c +246.8 793.2 249.6 791.6 250.4 788.8 c +251.2 786 248.4 794.2 248.2 796 c +248 797.8 243.8 805 244.6 807.4 C +245.6 806.4 246.4 805 V +245.8 805.6 246.4 809.2 V +247.2 814.4 248.6 817.6 v +250 820.8 252 824.6 252.4 825.4 c +252.8 826.2 252.8 832 254.2 829.4 C +257.6 826.8 l +254.8 829.4 257 831.6 V +256 837.2 257.8 839.8 V +264.8 848.2 266.4 849.2 v +268 850.2 266.6 849.8 y +272.6 854 266.8 852.4 V +262.8 850.8 259.8 850.8 V +252.2 848.8 256.2 853 v +260.2 857.2 270.2 862.6 274 862.4 C +274.8 860.8 l +286 863.2 l +284.8 862.4 l +284.6 862.6 288.8 863 v +293 863.4 298.8 862 300.2 863.8 c +301.6 865.6 305 866.6 304.6 865.2 c +304.2 863.8 304 861.8 y +309 867.6 308.4 865.4 v +307.8 863.2 299.6 858 298.2 851.8 C +308.6 860 l +312.2 863 l +315.8 860.8 316 862.4 v +316.2 864 320.8 869.8 322 869.6 c +323.2 869.4 325.2 872.2 325 869.6 c +324.8 867 332.4 861.6 y +335.6 863.4 337 862 v +338.4 860.6 342.6 881.8 y +367.6 892.4 l +411.201 895.8 l +394.201 902.6 l +333.2 914 l +f +0.2 0.55 0.85 0.5 K +1 J 2 w +351.4 715 m +336.4 731.8 328 734.4 V +314.6 741.2 290 733.4 v +S +324.8 735.8 m +299.6 743.8 284.2 739.6 V +265.8 737.6 257.4 723.8 v +S +321.2 737 m +304.2 744.2 289.4 746.4 V +272.8 749 256.2 741.8 V +244 735.8 238.6 725.6 v +S +322.2 736.6 m +306.8 747.6 305.8 749 V +298.8 760 285.8 760.4 V +264.4 759.6 247.2 751.6 v +S +0 G +0 J 1 w +320.895 745.593 m +322.437 744.13 349.4 715.2 Y +384.6 678.599 356.6 712.8 Y +349 717.6 339.8 736.4 Y +338.6 739.2 353.8 729.2 Y +357.8 728.4 371.4 709.2 Y +364.6 711.6 369.4 704.4 Y +372.2 702.4 392.601 686.799 Y +396.201 682.799 400.201 681.199 Y +414.201 686.399 407.801 673.199 Y +410.201 666.399 415.801 677.999 Y +427.001 694.8 410.601 692.399 Y +380.6 689.599 373.8 705.6 Y +371.4 708 380.2 705.6 Y +388.601 703.6 373 718 Y +375.4 718 384.6 711.2 Y +395.001 702 397.001 704 Y +415.001 712.8 425.401 705.2 Y +427.401 703.6 421.801 696.8 423.401 691.599 c +425.001 686.399 429.801 673.999 Y +427.401 672.399 427.801 661.599 Y +444.601 638.399 435.001 640.399 Y +419.401 640.799 434.201 633.199 Y +437.401 631.199 446.201 623.999 Y +443.401 625.199 441.801 619.999 Y +446.601 615.999 443.801 611.199 Y +437.801 609.999 436.601 605.999 Y +443.401 597.999 433.401 597.599 Y +437.001 593.199 432.201 581.199 Y +427.401 581.199 421.001 575.599 Y +423.401 570.799 413.001 565.199 Y +404.601 563.599 407.401 556.799 Y +399.401 550.799 397.001 534.799 Y +396.201 524.399 393.801 521.199 399.001 523.199 c +404.201 525.199 403.401 537.599 Y +398.601 553.199 441.401 569.199 Y +445.401 570.799 446.201 575.999 Y +448.201 575.599 457.001 567.999 Y +464.601 556.799 465.001 565.999 Y +466.201 569.599 464.601 575.599 Y +470.601 597.199 456.601 603.599 Y +446.601 637.199 460.601 628.799 Y +463.401 623.199 474.201 617.999 y +477.801 620.399 L +476.201 625.199 484.601 631.199 Y +487.401 624.799 493.401 632.799 Y +497.001 657.199 509.401 642.799 Y +513.401 641.599 514.601 648.399 Y +518.201 658.799 514.601 672.399 Y +518.201 672.799 527.801 666.799 Y +530.601 670.399 521.401 687.199 525.401 684.799 c +529.401 682.399 533.801 680.799 Y +534.601 682.799 524.601 695.199 Y +520.201 698 515.001 718.4 Y +522.201 714.8 512.201 730 Y +512.201 733.2 518.201 744.4 Y +517.401 751.2 518.201 750.8 Y +521.001 749.6 529.001 748 522.201 754.4 c +515.401 760.8 523.001 765.6 Y +527.401 768.4 513.801 768 Y +508.601 772.4 509.001 776.4 Y +517.001 774.4 502.601 788.8 500.201 792.4 c +497.801 796 507.401 801.2 Y +520.601 804.8 509.001 808 Y +489.401 807.6 500.201 818.4 Y +506.201 818 504.601 820.4 Y +499.401 821.6 489.801 828 Y +485.801 831.6 489.401 830.8 Y +506.201 829.6 477.401 840.8 Y +485.401 840.8 467.401 851.2 Y +465.401 852.8 462.201 860.4 Y +456.201 865.6 451.401 872.4 Y +451.001 876.8 446.201 881.6 Y +434.601 895.2 429.001 894.8 Y +414.201 898.4 409.001 897.6 Y +356.2 893.2 l +329.8 880.4 337.6 859.4 Y +344 851 353.2 854.8 Y +357.8 861 369.4 858.8 Y +389.801 855.6 387.201 859.2 Y +384.801 863.8 368.6 870 368.4 870.6 c +368.2 871.2 359.4 874.6 Y +356.4 875.8 352 885 Y +348.8 888.4 364.6 882.6 Y +363.4 881.6 370.8 877.6 Y +388.201 878.6 398.801 867.8 Y +409.601 851.2 409.801 859.4 Y +412.601 868.8 400.801 890 Y +401.201 892 409.401 885.4 Y +410.801 887.4 411.601 881.6 Y +411.801 879.2 415.601 871.2 Y +418.401 858.2 422.001 865.6 Y +426.601 856.2 L +428.001 853.6 422.001 846 Y +421.801 843.2 422.601 843.4 417.001 835.8 c +411.401 828.2 414.801 823.8 Y +413.401 817.2 422.201 817.6 Y +424.801 815.4 428.201 815.4 Y +430.001 813.4 432.401 814 Y +434.001 817.8 440.201 815.8 Y +441.601 818.2 449.801 818.6 Y +450.801 821.2 451.201 822.8 454.601 823.4 c +458.001 824 433.401 867 Y +439.801 867.8 431.601 880.2 Y +429.401 886.8 440.801 872.2 443.001 870.8 c +445.201 869.4 446.201 867.2 444.601 867.4 c +443.001 867.6 441.201 865.4 442.601 865.2 c +444.001 865 457.001 850 460.401 839.8 c +463.801 829.6 469.801 825.6 476.001 819.6 c +482.201 813.6 481.401 789.4 Y +481.001 780.6 487.001 770 Y +489.001 766.2 484.801 748 Y +482.801 745.8 484.201 745 Y +485.201 743.8 492.001 730.6 Y +490.201 730.8 493.801 727.2 Y +499.001 721.2 492.601 724.2 Y +486.601 725.8 493.601 716 Y +494.801 714.2 485.801 718.8 Y +476.601 719.4 488.201 712.2 Y +496.801 705 485.401 709.4 Y +480.801 711.2 484.001 704.4 Y +487.201 702.8 504.401 695.8 Y +504.801 691.999 501.801 686.999 Y +502.201 682.999 500.001 679.599 Y +498.801 671.399 498.201 670.599 Y +494.001 670.399 486.601 656.599 Y +484.801 653.999 474.601 641.999 Y +472.601 634.999 454.601 642.199 Y +448.001 638.799 450.001 642.199 Y +449.601 644.399 454.401 650.399 Y +461.401 652.999 458.801 663.799 Y +462.801 665.199 451.601 667.999 451.801 669.199 c +452.001 670.399 457.801 671.799 Y +465.801 673.799 461.401 676.199 Y +460.801 680.199 463.801 685.799 Y +475.401 686.599 463.801 702.8 Y +453.001 710.4 452.001 716.2 Y +464.601 724.4 456.401 736.8 456.601 740.4 c +456.801 744 458.001 765.6 Y +456.001 771.8 453.001 785.4 Y +455.201 790.6 462.601 803.2 Y +465.401 807.4 474.201 812.2 472.001 815.2 c +469.801 818.2 462.001 816.4 Y +454.201 817.8 454.801 812.6 Y +453.201 811.6 452.401 806.6 Y +451.68 798.667 442.801 792.4 Y +431.601 786.2 440.801 782.2 Y +446.801 775.6 437.001 775.4 Y +426.001 777.2 434.201 767 Y +445.001 754.2 442.001 751.4 Y +431.801 750.4 444.401 741.2 y +443.601 743.2 443.801 741.4 v +444.001 739.6 447.001 735.4 447.801 733.4 c +448.601 731.4 444.601 731.2 Y +445.201 721.6 429.801 725.8 y +429.801 725.8 428.201 725.6 v +426.601 725.4 415.401 726.2 409.601 728.4 c +403.801 730.6 397.001 730.6 y +393.001 728.8 385.4 729 v +377.8 729.2 369.8 726.4 Y +365.4 726.8 374 731.2 374.2 731 c +374.4 730.8 380 736.4 372 735.8 c +350.203 734.165 339.4 744.4 Y +337.4 745.8 334.8 748.6 Y +324.8 750.6 336.2 736.2 Y +337.4 734.8 336 733.8 Y +335.2 735.4 327.4 740.8 Y +324.589 741.773 323.226 743.107 320.895 745.593 C +f +0.2 0.55 0.85 0.5 k +1 J 2 w +297 757.2 m +308.6 751.6 311.2 748.8 v +313.8 746 327.8 734.6 y +322.4 736.6 319.8 738.4 v +317.2 740.2 306.4 748.4 y +302.6 754.4 297 757.2 v +f +0.4 0.2 0.8 0 k +0 J 1 w +238.991 788.397 m +239.328 788.545 238.804 791.257 238.6 791.8 c +237.578 794.526 228.6 796 y +228.373 794.635 228.318 793.039 228.424 791.401 c +233.292 785.882 238.991 788.397 v +f +0.4 0.2 0.8 0.2 k +238.991 788.597 m +238.542 788.439 238.976 791.331 238.8 791.8 c +237.778 794.526 228.6 796.1 y +228.373 794.735 228.318 793.139 228.424 791.501 c +232.692 786.382 238.991 788.597 v +f +0 g +234.6 788.454 m +233.975 788.454 233.469 789.594 233.469 791 c +233.469 792.405 233.975 793.545 234.6 793.545 c +235.225 793.545 235.732 792.405 235.732 791 c +235.732 789.594 235.225 788.454 234.6 788.454 c +f +234.6 791 m +F +189 690.399 m +183.4 680.399 208.2 686.399 V +222.2 687.599 224.6 689.999 V +225.8 689.199 234.166 686.266 237 685.599 c +243.8 683.999 252.2 694 y +256.8 704.5 259.6 704.5 v +262.4 704.5 259.2 702.9 y +252.6 692.799 253 691.199 V +247.8 671.199 231.8 670.399 V +215.65 669.449 217 663.599 V +225.8 665.999 228.2 663.599 V +239 663.999 231 657.599 V +224.2 645.999 l +224.34 642.081 214.2 645.599 v +204.4 648.999 194.1 661.899 y +178.15 676.449 189 690.399 V +f +0.1 0.4 0.4 0 k +187.8 686.399 m +185.8 676.799 222.6 687.199 V +227 687.199 229.4 686.399 v +231.8 685.599 243.8 682.799 245.8 683.999 C +238.6 670.399 227 671.999 V +213.8 670.399 214.2 665.599 V +218.2 658.399 223 655.999 V +225.8 653.599 225.4 650.399 v +225 647.199 222.2 645.599 220.2 644.799 c +218.2 643.999 215 647.199 213.4 647.199 c +211.8 647.199 203.4 653.599 199 658.399 c +194.6 663.199 186.2 675.199 186.6 677.999 c +187 680.799 187.8 686.399 Y +f +0.1 0.4 0.4 0.2 k +191 668.949 m +193.6 664.999 196.8 660.799 199 658.399 c +203.4 653.599 211.8 647.199 213.4 647.199 c +215 647.199 218.2 643.999 220.2 644.799 c +222.2 645.599 225 647.199 225.4 650.399 c +225.8 653.599 223 655.999 Y +219.934 657.532 217.194 661.024 215.615 663.347 C +215.8 660.799 210.6 661.599 v +205.4 662.399 200.2 665.199 198.6 668.399 c +197 671.599 194.6 673.999 196.2 670.399 c +197.8 666.799 200.2 663.199 201.8 662.799 c +203.4 662.399 203 661.199 200.6 661.599 c +198.2 661.999 195.4 662.399 191 667.599 c +F +0.1 0.55 0.85 0.3 k +188.4 689.999 m +190.2 703.6 191.4 707.6 V +190.6 714.4 193 718.6 v +195.4 722.8 197.4 729 200.4 734.4 c +203.4 739.8 203.6 743.8 207.6 745.4 c +211.6 747 217.6 755.6 220.4 756.6 c +223.2 757.6 223 756.8 y +229.8 771.6 243.4 767.6 V +227.2 770.4 243 779.8 V +238.2 778.7 241.5 785.7 v +243.701 790.368 243.2 783.6 232.2 771.8 C +227.2 763.2 222 760.2 v +216.8 757.2 204.8 750.2 203.6 746.4 c +202.4 742.6 199.2 736.8 197.2 735.2 c +195.2 733.6 192.4 729.4 192 726 C +190.8 722 189.4 720.8 v +188 719.6 187.8 716.4 187.8 714.4 c +187.8 712.4 185.8 709.6 186 707.2 C +186.8 688.199 186.4 686.199 V +188.4 689.999 L +f +1 g +179.8 685.399 m +177.8 686.799 173.4 680.799 V +180.7 647.799 180.7 646.399 V +181.8 648.499 180.5 655.699 v +179.2 662.899 178.3 675.599 y +179.8 685.399 l +f +0.1 0.55 0.85 0.3 k +201.4 746 m +183.8 742.8 184.2 713.6 V +183.4 688.799 l +182.2 714.4 181 716 v +179.8 717.6 183.8 728.8 180.6 722.8 C +166.6 708.8 174.6 687.599 V +176.1 684.299 173.1 688.899 V +168.5 701.5 169.6 707.9 V +169.8 710.1 171.7 712.9 V +180.3 724.6 183 726.9 V +184.8 741.3 200.2 746.5 V +205.9 748.8 201.4 746 V +f +0 g +340.8 812.2 m +341.46 812.554 341.451 813.524 342.031 813.697 c +343.18 814.041 343.344 815.108 343.862 815.892 c +344.735 817.211 344.928 818.744 345.51 820.235 c +345.782 820.935 345.809 821.89 345.496 822.55 c +344.322 825.031 343.62 827.48 342.178 829.906 c +341.91 830.356 341.648 831.15 341.447 831.748 c +340.984 833.132 339.727 834.123 338.867 835.443 c +338.579 835.884 339.104 836.809 338.388 836.893 c +337.491 836.998 336.042 837.578 335.809 836.552 c +335.221 833.965 336.232 831.442 337.2 829 C +336.418 828.308 336.752 827.387 336.904 826.62 c +337.614 823.014 336.416 819.662 335.655 816.188 c +335.632 816.084 335.974 815.886 335.946 815.824 c +334.724 813.138 333.272 810.693 331.453 808.312 c +330.695 807.32 329.823 806.404 329.326 805.341 c +328.958 804.554 328.55 803.588 328.8 802.6 C +325.365 799.82 323.115 795.975 320.504 792.129 c +320.042 791.449 320.333 790.24 320.884 789.971 c +321.697 789.573 322.653 790.597 323.123 791.443 c +323.512 792.141 323.865 792.791 324.356 793.434 c +324.489 793.609 324.31 794.028 324.445 794.149 c +327.078 796.496 328.747 799.432 331.2 801.8 C +333.15 802.129 334.687 803.127 336.435 804.14 c +336.743 804.319 337.267 804.07 337.557 804.265 c +339.31 805.442 339.308 807.478 339.414 809.388 c +339.464 810.272 339.66 811.589 340.8 812.2 c +f +331.959 816.666 m +332.083 816.743 331.928 817.166 332.037 817.382 c +332.199 817.706 332.602 817.894 332.764 818.218 c +332.873 818.434 332.71 818.814 332.846 818.956 c +335.179 821.403 335.436 824.427 334.4 827.4 C +335.424 828.02 335.485 829.282 335.06 830.129 c +334.207 831.829 334.014 833.755 333.039 835.298 c +332.237 836.567 330.659 837.811 329.288 836.508 c +328.867 836.108 328.546 835.321 328.824 834.609 c +328.888 834.446 329.173 834.3 329.146 834.218 c +329.039 833.894 328.493 833.67 328.487 833.398 c +328.457 831.902 327.503 830.391 328.133 829.062 c +328.905 827.433 329.724 825.576 330.4 823.8 C +329.166 821.684 330.199 819.235 328.446 817.358 c +328.31 817.212 328.319 816.826 328.441 816.624 c +328.733 816.138 329.139 815.732 329.625 815.44 c +329.827 815.319 330.175 815.317 330.375 815.441 c +330.953 815.803 331.351 816.29 331.959 816.666 c +f +394.771 826.977 m +396.16 825.185 396.45 822.39 394.401 821 C +394.951 817.691 398.302 819.67 400.401 820.2 C +400.292 820.588 400.519 820.932 400.802 820.937 c +401.859 820.952 402.539 821.984 403.601 821.8 C +404.035 823.357 405.673 824.059 406.317 825.439 c +408.043 829.134 407.452 833.407 404.868 836.653 c +404.666 836.907 404.883 837.424 404.759 837.786 c +404.003 839.997 401.935 840.312 400.001 841 C +398.824 844.875 398.163 848.906 396.401 852.6 C +394.787 852.85 394.089 854.589 392.752 855.309 c +391.419 856.028 390.851 854.449 390.892 853.403 c +390.899 853.198 391.351 852.974 391.181 852.609 c +391.105 852.445 390.845 852.334 390.845 852.2 c +390.846 852.065 391.067 851.934 391.201 851.8 C +390.283 850.98 388.86 850.503 388.565 849.358 c +387.611 845.648 390.184 842.523 391.852 839.322 c +392.443 838.187 391.707 836.916 390.947 835.708 c +390.509 835.013 390.617 833.886 390.893 833.03 c +391.645 830.699 393.236 828.96 394.771 826.977 c +f +357.611 808.591 m +356.124 806.74 352.712 804.171 355.629 802.243 c +355.823 802.114 356.193 802.11 356.366 802.244 c +358.387 803.809 360.39 804.712 362.826 805.294 c +362.95 805.323 363.224 804.856 363.593 805.017 c +365.206 805.72 367.216 805.662 368.4 807 C +372.167 806.776 375.732 807.892 379.123 809.2 c +380.284 809.648 381.554 810.207 382.755 810.709 c +384.131 811.285 385.335 812.213 386.447 813.354 c +386.58 813.49 386.934 813.4 387.201 813.4 C +387.161 814.263 388.123 814.39 388.37 815.012 c +388.462 815.244 388.312 815.64 388.445 815.742 c +390.583 817.372 391.503 819.39 390.334 821.767 c +390.049 822.345 389.8 822.963 389.234 823.439 c +388.149 824.35 387.047 823.496 386 823.8 C +385.841 823.172 385.112 823.344 384.726 823.146 c +383.867 822.707 382.534 823.292 381.675 822.854 c +380.313 822.159 379.072 821.99 377.65 821.613 c +377.338 821.531 376.56 821.627 376.4 821 C +376.266 821.134 376.118 821.368 376.012 821.346 c +374.104 820.95 372.844 820.736 371.543 819.044 c +371.44 818.911 370.998 819.09 370.839 818.955 c +369.882 818.147 369.477 816.913 368.376 816.241 c +368.175 816.118 367.823 816.286 367.629 816.157 c +366.983 815.726 366.616 815.085 365.974 814.638 c +365.645 814.409 365.245 814.734 365.277 814.99 c +365.522 816.937 366.175 818.724 365.6 820.6 C +367.677 823.12 370.194 825.069 372 827.8 C +372.015 829.966 372.707 832.112 372.594 834.189 c +372.584 834.382 372.296 835.115 372.17 835.462 c +371.858 836.316 372.764 837.382 371.92 838.106 c +370.516 839.309 369.224 838.433 368.4 837 C +366.562 836.61 364.496 835.917 362.918 837.151 c +361.911 837.938 361.333 838.844 360.534 839.9 c +359.549 841.202 359.884 842.638 359.954 844.202 c +359.96 844.33 359.645 844.466 359.645 844.6 c +359.646 844.735 359.866 844.866 360 845 C +359.294 845.626 359.019 846.684 358 847 C +358.305 848.092 357.629 848.976 356.758 849.278 c +354.763 849.969 353.086 848.057 351.194 847.984 c +350.68 847.965 350.213 849.003 349.564 849.328 c +349.132 849.544 348.428 849.577 348.066 849.311 c +347.378 848.807 346.789 848.693 346.031 848.488 c +344.414 848.052 343.136 846.958 341.656 846.103 c +340.171 845.246 339.216 843.809 338.136 842.489 c +337.195 841.337 337.059 838.923 338.479 838.423 c +340.322 837.773 341.626 840.476 343.592 840.15 c +343.904 840.099 344.11 839.788 344 839.4 C +344.389 839.291 344.607 839.52 344.8 839.8 C +345.658 838.781 346.822 838.444 347.76 837.571 c +348.73 836.667 350.476 837.085 351.491 836.088 c +353.02 834.586 352.461 831.905 354.4 830.6 C +353.814 829.287 353.207 828.01 352.872 826.583 c +352.59 825.377 353.584 824.18 354.795 824.271 c +356.053 824.365 356.315 825.124 356.8 826.2 C +357.067 825.933 357.536 825.636 357.495 825.42 c +357.038 823.033 356.011 821.04 355.553 818.609 c +355.494 818.292 355.189 818.09 354.8 818.2 C +354.332 814.051 350.28 811.657 347.735 808.492 c +347.332 807.99 347.328 806.741 347.737 806.338 c +349.14 804.951 351.1 806.497 352.8 807 C +353.013 808.206 353.872 809.148 355.204 809.092 c +355.46 809.082 355.695 809.624 356.019 809.754 c +356.367 809.892 356.869 809.668 357.155 809.866 c +358.884 811.061 360.292 812.167 362.03 813.356 c +362.222 813.487 362.566 813.328 362.782 813.436 c +363.107 813.598 363.294 813.985 363.617 814.17 c +363.965 814.37 364.207 814.08 364.4 813.8 C +363.754 813.451 363.75 812.494 363.168 812.292 c +362.393 812.024 361.832 811.511 361.158 811.064 c +360.866 810.871 360.207 811.119 360.103 810.94 c +359.505 809.912 358.321 809.474 357.611 808.591 c +f +302.2 858 m +292.962 860.872 281.8 835.2 V +279.4 830 277 828 v +274.6 826 263.4 822.4 261.4 818.4 C +251 802.4 L +265.8 818.4 269 820.8 V +277 829.2 273.8 822.4 V +259.8 811.6 261 802.4 V +255.4 788 254.6 786 V +270.6 818 273 819.2 v +275.4 820.4 276.6 820.4 275.4 816.8 c +274.2 813.2 273.8 796.8 271 794.8 C +279 815.2 278.2 818.4 V +281.4 822 283.8 816.8 V +282.6 800.8 l +287 788.8 l +284.6 800 286.2 815.6 V +284.2 826 288.2 820.4 v +292.2 814.8 301.8 808.8 301.8 804 C +296.6 821.6 287.4 826.4 V +283.4 820.4 l +282.2 822.4 l +278.6 823.2 283 830 v +287.4 836.8 287 837.6 y +293.4 830.4 295 830.4 V +308.2 838 309.4 813.6 V +316.2 828 307 834.8 V +292.2 836.8 293.4 842 V +300.6 854.4 L +304.2 859.6 302.6 856.8 y +F +282.2 841.6 m +269.4 841.6 266.2 836.4 V +259 826.8 l +276.2 836.8 280.2 838 v +284.2 839.2 282.2 841.6 Y +f +242.2 835.2 m +240.2 834 239.8 831.2 v +239.4 828.4 237 828 237.8 825.2 c +238.6 822.4 240.6 820 240.6 824 c +240.6 828 242.2 830 243 831.2 c +243.8 832.4 245.4 836.8 242.2 835.2 c +f +233.4 774 m +225 778 221.8 781.6 v +218.6 785.2 219.052 780.034 214.2 780.4 c +208.353 780.841 209.4 796.8 y +205.4 789.2 l +204.2 774.8 212.2 777.2 v +216.107 778.372 217.4 776.8 215.8 776 c +214.2 775.2 221.4 774.8 218.6 773.2 c +215.8 771.6 230.2 776.8 227.8 766.4 C +233.4 774 L +f +220.8 759.6 m +205.4 755.2 201.8 764.8 V +197 762.4 199.2 759.4 v +201.4 756.4 202.6 756 y +208 754.8 207.4 754 v +206.8 753.2 204.4 749.8 y +214.6 755.8 220.8 759.6 v +f +1 g +449.201 681.399 m +448.774 679.265 447.103 678.464 445.201 677.799 C +443.284 678.757 440.686 681.863 438.801 679.799 C +438.327 680.279 437.548 680.339 437.204 681.001 c +436.739 681.899 437.011 682.945 436.669 683.743 c +436.124 685.015 435.415 686.381 435.601 687.799 C +437.407 688.511 438.002 690.417 437.528 692.18 c +437.459 692.437 437.03 692.634 437.23 692.983 c +437.416 693.306 437.734 693.533 438.001 693.8 C +437.866 693.665 437.721 693.432 437.61 693.452 c +437 693.558 437.124 694.195 437.254 694.582 c +437.839 696.328 439.853 696.592 441.201 695.4 C +441.457 695.965 441.966 695.771 442.401 695.8 C +442.351 696.379 442.759 696.906 442.957 697.326 c +443.475 698.424 445.104 697.318 445.901 697.93 c +446.977 698.755 448.04 699.454 449.118 698.851 c +450.927 697.838 452.636 696.626 453.835 694.885 c +454.41 694.051 454.65 692.77 454.592 691.812 c +454.554 691.165 453.173 691.517 452.83 690.588 c +452.185 688.84 454.016 688.321 454.772 686.983 c +454.97 686.634 454.706 686.33 454.391 686.232 c +453.98 686.104 453.196 686.293 453.334 685.84 c +454.306 682.647 451.55 681.969 449.201 681.399 C +f +439.6 661.799 m +439.593 663.537 437.992 665.293 439.201 666.999 C +439.336 666.865 439.467 666.644 439.601 666.644 c +439.736 666.644 439.867 666.865 440.001 666.999 C +441.496 664.783 445.148 663.855 445.006 661.009 c +444.984 660.562 443.897 659.644 444.801 658.999 C +442.988 657.651 442.933 655.281 442.001 653.399 C +440.763 653.685 439.551 654.048 438.401 654.599 C +438.753 656.085 438.636 657.769 439.456 659.089 c +439.89 659.787 439.603 660.866 439.6 661.799 c +f +0.8 g +273.4 670.799 m +256.542 660.663 270.6 675.999 v +279.4 685.599 289.4 691.199 y +299.8 695.6 303.4 696.8 v +307 698 322.2 703.2 325.4 703.6 c +328.6 704 338.2 708 345 704 c +351.8 700 359.8 695.6 y +343.4 704 339.8 701.6 v +336.2 699.2 329 699.6 323 696.4 C +308.2 691.999 305 689.999 v +301.8 687.999 291.4 676.399 289.8 677.199 c +288.2 677.999 290.2 678.399 291.4 681.199 c +292.6 683.999 290.6 685.599 282.6 679.199 c +274.6 672.799 273.4 670.799 Y +f +0 g +280.805 676.766 m +282.215 689.806 290.693 688.141 V +298.919 692.311 301.641 694.279 V +309.78 695.981 311.09 696.598 v +329.569 705.298 344.288 700.779 344.835 701.899 c +345.381 703.018 365.006 695.901 368.615 691.815 c +369.006 691.372 358.384 697.412 348.686 699.303 c +340.413 700.917 318.811 699.056 307.905 693.52 c +304.932 692.011 295.987 686.227 293.456 686.338 c +290.925 686.45 280.805 676.766 Y +f +0.8 g +277 651.199 m +261.8 653.599 278.6 655.199 V +296.6 657.199 300.6 662.399 V +314.2 671.599 317 671.999 v +319.8 672.399 349.8 679.599 350.2 681.999 c +350.6 684.399 356.2 684.399 357.8 683.599 c +359.4 682.799 358.6 681.599 355.8 680.799 c +353 679.999 321.8 663.599 315.4 662.399 c +309 661.199 297.4 653.599 292.6 652.399 c +287.8 651.199 277 651.199 Y +f +0 g +296.52 658.597 m +287.938 659.426 296.539 660.245 V +305.355 663.669 307.403 666.332 V +314.367 671.043 315.8 671.247 v +317.234 671.452 331.194 675.139 331.399 676.367 c +331.604 677.596 365.67 690.177 370.09 686.987 c +373.001 684.886 363.1 686.563 353.466 682.153 c +352.111 681.533 318.258 666.946 314.981 666.332 c +311.704 665.717 305.765 661.826 303.307 661.212 c +300.85 660.597 296.52 658.597 Y +f +288.6 656.399 m +293.8 656.799 292.6 655.199 v +291.4 653.599 289 654.399 y +288.6 656.399 l +f +281.4 654.799 m +286.6 655.199 285.4 653.599 v +284.2 651.999 281.8 652.799 y +281.4 654.799 l +f +271 653.199 m +276.2 653.599 275 651.999 v +273.8 650.399 271.4 651.199 y +271 653.199 l +f +263.4 652.399 m +268.6 652.799 267.4 651.199 v +266.2 649.599 263.8 650.399 y +263.4 652.399 l +f +301.8 691.999 m +306.2 691.999 305 690.399 v +303.8 688.799 300.6 689.199 y +301.8 691.999 l +f +291.8 686.399 m +298.306 688.54 295.8 685.199 v +294.6 683.599 292.2 684.399 y +291.8 686.399 l +f +280.6 681.599 m +285.8 681.999 284.6 680.399 v +283.4 678.799 281 679.599 y +280.6 681.599 l +f +273 675.599 m +278.2 675.999 277 674.399 v +275.8 672.799 273.4 673.599 y +273 675.599 l +f +266.2 670.799 m +271.4 671.199 270.2 669.599 v +269 667.999 266.6 668.799 y +266.2 670.799 l +f +305.282 664.402 m +312.203 664.934 310.606 662.805 v +309.009 660.675 305.814 661.74 y +305.282 664.402 l +f +315.682 669.202 m +322.603 669.734 321.006 667.605 v +319.409 665.475 316.214 666.54 y +315.682 669.202 l +f +326.482 673.602 m +333.403 674.134 331.806 672.005 v +330.209 669.875 327.014 670.94 y +326.482 673.602 l +f +336.882 678.402 m +343.803 678.934 342.206 676.805 v +340.609 674.675 337.414 675.74 y +336.882 678.402 l +f +309.282 696.402 m +316.203 696.934 314.606 694.805 v +313.009 692.675 309.014 692.94 y +309.282 696.402 l +f +319.282 699.602 m +326.203 700.134 324.606 698.005 v +323.009 695.875 318.614 696.14 y +319.282 699.602 l +f +296.6 659.599 m +301.8 659.999 300.6 658.399 v +299.4 656.799 297 657.599 y +296.6 659.599 l +f +0.1 0.55 0.85 0.3 k +223.4 758.8 m +219 750 218.6 746.8 V +219.4 755.6 220.6 757.6 v +221.8 759.6 223.4 758.8 y +f +205 744.8 m +201.8 730.4 202.2 727.6 V +201 739.2 201.4 740.4 v +201.8 741.6 205 744.8 y +f +0.8 g +225.8 819.4 m +225.6 816.2 l +223.4 816 l +237.6 803.4 238.2 795.8 V +239 804 225.8 819.4 V +f +0 g +229.784 818.135 m +229.353 818.551 229.572 819.296 229.164 819.556 c +228.355 820.072 230.462 820.129 230.234 820.845 c +229.851 822.051 230.038 822.072 229.916 823.348 c +229.859 823.946 230.447 825.486 230.832 825.926 c +232.278 827.578 230.954 830.51 232.594 832.061 c +232.898 832.35 233.274 832.902 233.559 833.32 c +234.218 834.283 235.402 834.771 236.352 835.599 c +236.67 835.875 236.469 836.702 237.038 836.61 c +237.752 836.495 238.993 836.625 238.948 835.784 c +238.835 833.664 237.506 831.944 236.226 830.276 C +236.677 829.572 236.219 828.937 235.935 828.38 c +234.6 825.76 234.789 822.919 234.615 820.079 c +234.61 819.994 234.303 819.916 234.311 819.863 c +234.664 817.528 235.248 815.329 236.127 813.1 c +236.493 812.17 236.964 811.275 237.114 810.348 c +237.225 809.662 237.328 808.829 236.92 808.124 C +238.955 805.234 237.646 802.583 238.815 799.052 c +239.022 798.427 240.714 796.513 240.251 796.674 c +237.738 797.545 237.626 797.943 237.449 798.696 c +237.303 799.319 236.973 800.696 236.736 801.298 c +236.672 801.462 236.501 803.346 236.423 803.468 c +234.91 805.85 236.268 805.674 234.898 808.032 C +233.47 808.712 232.504 809.816 231.381 810.978 c +231.183 811.182 232.326 811.906 232.145 812.119 c +231.053 813.408 229.9 814.175 230.236 815.668 c +230.391 816.358 230.528 817.415 229.784 818.135 c +f +226.2 816.4 m +226.6 809.6 229 808 v +231.4 806.4 230.2 807.2 227 808.4 c +223.8 809.6 225 810.4 y +222.2 810 224.6 808 v +227 806 230.6 803.6 229 803.6 c +227.4 803.6 219.8 807.6 219.8 810.4 c +219.8 813.2 218.8 817.3 y +219.9 818.1 224.7 818 V +226.1 817.3 226.2 816.4 V +f +1 g +1 J 0.1 w +225.4 797.8 m +216.88 800.591 198.4 797.2 V +207.431 799.278 226.2 797 v +236.5 795.75 225.4 797.8 Y +b +227.498 797.871 m +219.252 801.389 200.547 799.608 V +209.725 800.897 228.226 797.005 v +238.38 794.869 227.498 797.871 Y +b +229.286 797.778 m +221.324 801.899 202.539 801.514 V +211.787 802.118 229.948 796.86 v +239.914 793.975 229.286 797.778 Y +b +230.556 797.555 m +223.732 801.862 206.858 802.96 V +215.197 802.79 231.078 796.681 v +239.794 793.328 230.556 797.555 Y +b +345.84 787.039 m +344.91 786.395 345.124 787.576 v +345.339 788.757 373.547 801.927 377.161 801.677 C +346.913 788.471 345.84 787.039 V +b +342.446 786.4 m +341.57 785.685 341.691 786.879 v +341.812 788.073 368.899 803.418 372.521 803.452 C +343.404 787.911 342.446 786.4 V +b +339.16 785.025 m +338.332 784.253 338.374 785.453 v +338.416 786.652 358.233 802.149 368.045 804.023 C +350.015 795.896 339.16 785.025 V +b +336.284 783.162 m +335.539 782.468 335.577 783.547 v +335.615 784.627 353.449 798.574 362.28 800.26 C +346.054 792.946 336.284 783.162 V +b +0.8 g +0 J 1 w +304.6 635.199 m +289.4 637.599 306.2 639.199 V +324.2 641.199 328.2 646.399 V +341.8 655.599 344.6 655.999 v +347.4 656.399 363.8 659.999 364.2 662.399 c +364.6 664.799 370.6 667.199 372.2 666.399 c +373.8 665.599 373.8 656.399 371 655.599 c +368.2 654.799 349.4 647.599 343 646.399 c +336.6 645.199 325 637.599 320.2 636.399 c +315.4 635.199 304.6 635.199 Y +f +0 g +377.6 672.599 m +374.6 670.999 373.4 668.399 V +367 657.799 352.8 654.599 V +329.8 645.599 322 643.599 V +308.6 638.599 301.2 639.399 V +294.2 639.199 300.4 637.599 V +320.6 639.599 324 641.399 V +339.6 646.599 342.6 649.199 v +345.6 651.799 363.8 656.799 366 658.799 c +368.2 660.799 378 669.199 377.6 672.599 C +f +318.882 641.089 m +324.111 641.315 322.958 639.766 v +321.805 638.216 319.357 639.09 y +318.882 641.089 l +f +311.68 639.737 m +316.908 639.963 315.756 638.414 v +314.603 636.864 312.155 637.737 y +311.68 639.737 l +f +301.251 638.489 m +306.48 638.716 305.327 637.166 v +304.174 635.617 301.726 636.49 y +301.251 638.489 l +f +293.617 637.945 m +298.846 638.171 297.693 636.622 v +296.54 635.072 294.092 635.946 y +293.617 637.945 l +f +335.415 648.487 m +342.375 648.788 340.84 646.726 v +339.306 644.664 336.047 645.826 y +335.415 648.487 l +f +345.73 652.912 m +351.689 656.213 351.155 651.151 v +350.885 648.595 346.362 650.251 y +345.73 652.912 l +f +354.862 655.726 m +362.021 659.427 360.287 653.965 v +359.509 651.515 355.493 653.065 y +354.862 655.726 l +f +364.376 660.551 m +368.735 665.452 369.801 658.79 v +370.207 656.252 365.008 657.89 y +364.376 660.551 l +f +326.834 644.003 m +332.062 644.23 330.91 642.68 v +329.757 641.131 327.308 642.004 y +326.834 644.003 l +f +1 g +1 J 0.1 w +362.434 765.397 m +361.708 764.732 361.707 765.803 v +361.707 766.873 379.191 780.137 388.034 781.521 C +371.935 774.792 362.434 765.397 V +b +0 g +0 J 1 w +365.4 701.6 m +387.401 679.199 396.601 675.599 V +405.801 664.399 401.801 638.399 V +398.601 630.799 395.401 651.599 V +398.601 676.799 387.401 660.799 V +379 670.699 385.4 670.399 V +388.601 668.399 389.001 669.999 v +389.401 671.599 381.4 685.199 364.2 699.6 c +347 714 365.4 701.6 Y +f +1 g +1 J 0.1 w +307 662.799 m +306.8 664.599 308.6 663.799 v +310.4 662.999 404.601 656.799 436.201 632.799 C +391.001 655.999 307 662.799 V +b +317.4 667.199 m +317.2 668.999 319 668.199 v +320.8 667.399 457.401 668.399 481.001 635.999 C +459.001 661.199 317.4 667.199 V +b +329 671.199 m +328.8 672.999 330.6 672.199 v +332.4 671.399 505.801 684.399 529.401 651.999 C +519.801 677.599 329 671.199 V +b +339 675.999 m +338.8 677.799 340.6 676.999 v +342.4 676.199 464.601 714.8 488.201 682.399 C +474.801 707 339 675.999 V +b +281 653.199 m +280.8 654.999 282.6 654.199 v +284.4 653.399 302.2 651.199 304.2 612.399 C +297 654.399 281 653.199 V +b +272.2 651.599 m +272 653.399 273.8 652.599 v +275.6 651.799 289.8 656.399 287 617.599 C +288.2 652.799 272.2 651.599 V +b +264.2 651.199 m +264 652.999 265.8 652.199 v +267.6 651.399 283 650.799 270.6 628.399 C +280.2 652.399 264.2 651.199 V +b +311.526 695.535 m +311.082 693.536 312.631 694.753 v +328.699 707.378 361.141 766.28 416.826 771.914 C +378.518 784.024 311.526 695.535 V +b +322.726 697.335 m +321.363 698.528 323.231 699.153 v +325.099 699.778 437.541 772.28 476.826 764.314 C +449.719 771.824 322.726 697.335 V +b +301.885 691.233 m +301.376 689.634 303.087 690.61 v +312.062 695.73 315.677 752.941 359.254 754.196 C +326.843 768.91 301.885 691.233 V +b +281.962 680.207 m +280.885 678.921 282.838 679.175 v +293.084 680.507 314.489 721.778 358.928 716.699 C +326.962 731.045 281.962 680.207 V +b +293.2 686.333 m +292.389 684.864 294.258 685.489 v +304.057 688.763 317.141 733.375 361.729 736.922 C +327.603 744.865 293.2 686.333 V +b +274.922 675.088 m +274.049 674.046 275.631 674.252 v +283.93 675.331 301.268 708.76 337.264 704.646 C +311.371 716.266 274.922 675.088 V +b +267.323 669.179 m +266.318 668.134 267.909 668.252 v +272.077 668.561 302.715 701.64 321.183 686.138 C +309.168 704.861 267.323 669.179 V +b +336.855 701.102 m +335.654 702.457 337.586 702.842 v +339.518 703.226 460.221 760.939 498.184 748.073 C +472.243 758.947 336.855 701.102 V +b +303.4 636.799 m +303.2 638.599 305 637.799 v +306.8 636.999 322.2 636.399 309.8 613.999 C +319.4 637.999 303.4 636.799 V +b +313.8 638.399 m +313.6 640.199 315.4 639.399 v +317.2 638.599 335 636.399 337 597.599 C +329.8 639.599 313.8 638.399 V +b +320.6 639.999 m +320.4 641.799 322.2 640.999 v +324 640.199 348.6 636.799 372.2 604.399 C +336.6 641.199 320.6 639.999 V +b +328.225 642.028 m +327.788 643.786 329.678 643.232 v +331.568 642.678 352.002 644.577 390.099 610.401 C +343.924 645.344 328.225 642.028 V +b +338.625 646.428 m +338.188 648.186 340.078 647.632 v +341.968 647.078 376.802 642.577 428.499 607.601 C +354.324 649.744 338.625 646.428 V +b +298.2 657.999 m +298 659.799 299.8 658.999 v +301.6 658.199 355 655.599 385.4 628.799 C +350.499 653.574 298.2 657.999 V +b +288.2 653.999 m +288 655.799 289.8 654.999 v +291.6 654.199 316.2 650.799 339.8 618.399 C +304.2 655.199 288.2 653.999 V +b +349.503 651.038 m +348.938 652.759 350.864 652.345 v +352.79 651.932 387.86 649.996 441.981 618.902 C +364.317 653.296 349.503 651.038 V +b +357.903 653.438 m +357.338 655.159 359.264 654.745 v +361.19 654.332 396.26 652.396 450.381 621.302 C +373.317 656.096 357.903 653.438 V +b +367.503 658.438 m +366.938 660.159 368.864 659.745 v +370.79 659.332 413.86 654.996 503.582 620.702 C +382.917 661.096 367.503 658.438 V +b +0 g +0 J 1 w +256.2 651.599 m +261.4 651.999 260.2 650.399 v +259 648.799 256.6 649.599 y +256.2 651.599 l +f +287 637.599 m +292.2 637.999 291 636.399 v +289.8 634.799 287.4 635.599 y +287 637.599 l +f +278.2 637.999 m +283.4 638.399 282.2 636.799 v +281 635.199 278.6 635.999 y +278.2 637.999 l +f +182.831 649.818 m +187.876 648.495 186.218 647.376 v +184.561 646.256 182.554 647.798 y +182.831 649.818 l +f +184.831 659.418 m +189.876 658.095 188.218 656.976 v +186.561 655.856 184.554 657.398 y +184.831 659.418 l +f +177.631 663.818 m +182.676 662.495 181.018 661.376 v +179.361 660.256 177.354 661.798 y +177.631 663.818 l +f +0.8 g +1 J 0.1 w +257.4 588.799 m +255.8 588.799 251.8 586.799 V +249.8 586.799 238.6 583.199 233 573.199 C +245.4 582.799 257.4 588.799 V +f +345.116 496.153 m +345.257 495.895 345.312 495.475 345.604 495.458 c +346.262 495.418 347.495 495.117 347.37 495.753 c +346.522 500.059 345.648 504.996 341.515 506.803 c +340.876 507.082 339.434 506.669 339.36 505.785 c +339.233 504.261 339.116 502.912 339.425 501.446 c +339.725 500.025 341.883 500.015 342.8 501.399 C +343.736 499.727 344.168 497.884 345.116 496.153 c +f +334.038 491.419 m +334.786 490.006 334.659 488.147 336.074 487.584 c +336.814 487.29 338.664 488.265 338.246 489.339 c +337.444 491.4 337.056 493.639 335.667 495.45 c +335.467 495.712 335.707 496.245 335.547 496.573 c +334.953 497.793 333.808 498.528 332.4 498.199 C +331.285 495.996 332.433 493.867 333.955 492.158 c +334.091 492.006 333.925 491.63 334.038 491.419 c +f +294.436 496.609 m +294.328 496.986 294.29 497.449 294.455 497.77 c +294.986 498.803 295.779 499.925 295.442 500.947 c +295.094 502.003 293.978 501.821 293.328 501.252 c +292.193 500.258 292.144 498.432 291.453 497.073 c +291.257 496.687 291.308 496.114 290.867 495.723 c +290.393 495.302 289.953 493.778 290.049 493.207 c +290.102 492.894 289.919 482.986 290.141 483.249 c +290.76 483.982 293.81 493.716 293.879 494.608 c +293.936 495.339 294.668 495.804 294.436 496.609 c +f +268.798 503.401 m +271.432 505.9 274.222 508.861 273.78 512.573 c +273.664 513.549 271.889 513.022 271.702 512.176 c +270.9 508.551 268.861 505.89 266.293 503.498 c +264.097 501.451 262.235 495.107 262 494.599 C +265.697 499.855 267.954 502.601 268.798 503.401 c +f +255.224 509.365 m +255.747 509.735 255.445 510.226 255.662 510.558 c +256.615 512.016 257.916 513.262 257.934 515 c +257.937 515.277 257.559 515.586 257.224 515.362 c +256.947 515.178 256.605 515.048 256.497 514.918 c +254.467 512.469 253.067 509.798 251.624 506.986 c +251.441 506.629 250.297 502.138 250.61 502.027 c +250.849 501.942 252.569 506.123 252.779 506.237 c +254.042 506.923 254.054 508.538 255.224 509.365 c +f +271.957 489.821 m +272.401 490.69 273.977 491.892 273.864 492.781 c +273.746 493.709 274.214 495.152 273.302 494.464 c +272.045 493.516 268.596 492.167 268.326 486.359 c +268.3 485.788 271.274 488.481 271.957 489.821 c +f +286.4 506.999 m +286.8 507.667 287.508 507.194 287.967 507.457 c +288.615 507.829 289.226 508.387 289.518 509.036 c +290.488 511.185 292.257 513.005 292.4 515.399 C +290.909 516.804 290.23 514.764 289.6 513.799 C +288.277 515.446 287.278 513.572 285.978 513.053 c +285.908 513.025 285.695 513.372 285.62 513.345 c +284.443 512.905 283.763 511.824 282.765 511.043 c +282.594 510.909 282.189 511.089 282.042 510.953 c +281.39 510.35 280.417 510.025 280.137 509.343 c +279.027 506.636 275.887 504.541 274 496.999 C +274.381 496.09 278.512 503.641 278.999 504.339 c +279.835 505.535 279.953 502.678 281.229 503.344 c +281.28 503.371 281.466 503.133 281.6 502.999 C +281.794 503.279 282.012 503.508 282.4 503.399 C +282.4 503.799 282.266 504.355 282.467 504.514 c +283.704 505.491 283.62 506.559 284.4 507.799 C +284.858 507.01 285.919 507.729 286.4 506.999 C +f +346.2 452.599 m +353.6 472.999 349.2 484.199 V +360.6 462.599 356 451.399 V +355.6 461.799 351.6 466.799 V +347.6 453.999 346.2 452.599 V +f +331.4 455.199 m +336.8 463.999 328.8 482.399 V +328 461.999 321.2 450.999 V +335.4 471.199 331.4 455.199 V +f +321.4 457.199 m +321.2 477.199 321.6 480.199 V +317.8 463.599 307.6 453.999 V +322 465.999 321.4 457.199 V +f +311.8 489.199 m +317.8 475.599 307.8 457.199 V +314.2 469.399 309.4 476.399 V +312 479.799 311.8 489.199 V +f +292.6 457.599 m +291.6 473.199 293.4 475.399 V +293.6 481.799 293.2 482.799 V +297.2 488.999 297.4 481.599 V +298.8 473.799 301.6 469.199 V +305.2 463.799 305 457.399 V +295 487.599 292.6 457.599 V +f +289 485.199 m +282.4 474.399 280.6 455.399 V +279.2 461.599 283 475.999 V +287.2 491.399 289 485.199 V +f +267.2 465.399 m +272.2 470.799 273.6 475.799 V +277.2 491.599 270.8 482.999 V +271 474.999 262.8 467.599 V +267.6 469.999 267.2 465.399 V +f +261.4 470.399 m +264.8 487.799 265.6 488.599 V +267.4 491.999 264.6 488.799 V +255.8 469.599 251.8 462.999 V +259.8 472.199 261.4 470.399 V +f +255.6 486.999 m +267.2 509.399 245.4 483.599 V +256.4 493.399 255.6 486.999 V +f +240.2 501.599 m +245 520.399 247.6 520.199 V +255.8 529.199 249.2 518.599 V +243.2 508.999 243.8 499.199 V +243.2 508.799 240.2 501.599 V +f +570.5 513 m +558.5 523 556 526.5 V +569.5 508 569.5 501 V +572 508.5 570.5 513 V +f +576 535 m +555 550 551.5 557.5 V +578 528 578 523.5 V +578.5 532.5 576 535 V +f +593 689 m +581 697 579.5 695 V +590 688.5 592.5 680 V +591 689 593 689 V +f +601.5 608.5 m +584 620.5 l +603 603.5 603.5 599.5 V +601.5 608.5 L +f +0 g +1 w +210.75 631 m +232.75 626.25 l +S +261 469 m +260.5 472.5 251.5 462 v +S +266.5 464 m +268.5 470.5 262 466 v +S +320.5 455.5 m +322 466.5 310.5 453.5 v +S + +showpage + +%%Trailer +end +tigersave restore +%%EOF diff --git a/Master/xemtex/doc/ghostscript/examples/vasarely.ps b/Master/xemtex/doc/ghostscript/examples/vasarely.ps new file mode 100644 index 00000000000..82b9e616562 --- /dev/null +++ b/Master/xemtex/doc/ghostscript/examples/vasarely.ps @@ -0,0 +1,588 @@ +%! +% vasarely +% Elizabeth D. Zwicky +% zwicky@sgi.com +/vasarelysave save def % prevent residual side effects +% +% Inspired by Vasarely's experiments with tilting circles and squares +% (for instance "Tlinko" and "Betelgeuse" + +%% circles +/part { circle } def /nnrand false def +%% squares +% /part { ngon } def /nn 4 def /nnrand false def +%% random polygons +% /part { ngon } def /nnrand true def +%% random stars (not my favorite on this program) +% /part { nstar } def /nnrand true def + +%% tilt the base shape a random amount? +/twist false def +% /twist true def + + +/rainbow false def +%% To make rainbows +% /rainbow true def +%% Set this to 1 to go through a full range of colors +/rainrange .25 def + +% number of different designs per page +/inheight 2 def +/inwidth 2 def +% number of repeats in a design +/xtimes 10 def +/ytimes 16 def + +%% This sets the relationship between the two hues: comptwo is maximum contrast +/colorway {comptwo} def +%% monochrome comptwo harmtwo harmfour freecolor compthree closeharm +%% origcolor + +%% This sets the brightness and saturation of the colors; vivid makes +%% them both bright +/colorfam {vivid} def +%% vivid jewel intense medium pastel free orig contrast +%% medjewel medvivid vivpastel medpastel + + +%% Only experts below this point! + +usertime srand +/seed rand def + +/starcompensate false def +/constroke 1 def + + + +/circle { + /radius radius 1.33 mul def + currentpoint /herey exch def /herex exch def + herex herey radius 0 360 arc +} def + +/ngon{ % polygon of n sides, n determined by nn + nside 2 div radius rmoveto + nn cvi { + nside neg 0 rlineto + 360 360 nn div sub neg rotate + } repeat + closepath +} def + +/nstar{ % star of n points, n determined by nstarslider + /radius radius 1.33 mul def + currentpoint /herey exch def /herex exch def + 0 radius rmoveto + 90 nstarangle 2 div add neg rotate + nn cvi {nstarside 0 rlineto + 180 180 nstarangle 2 mul sub sub neg rotate + nstarside 0 rlineto + 180 180 360 nn div sub nstarangle 2 mul sub sub rotate + } repeat + 90 nstarangle 2 div add rotate + closepath +} def + +/nstarangle {180 360 nn div sub 3 div} def +/nstarside { + 2 + radius + 1 + 180 nn div + sin + div + div + mul + nstarangle sin + mul + 180 + nstarangle 2 mul + sub + sin + div +} def + +/nside { + 2 + radius + 360 nn div 2 div tan + mul + mul +} def + + +/tan { /alpha exch def + alpha sin + 1 alpha sin dup mul sub sqrt + div +} def + + +/pastel { + /backbright high def + /backsat medlow def + /fillbright high def + /fillsat medlow def + /eobright high def + /eosat medlow def + constroke 0 eq { + /strokebright high def + /strokesat medlow def + } + { + /strokebright low def + /strokesat high def + } ifelse +} def + +/jewel { + /fillbright med def + /fillsat high def + /backbright med def + /backsat high def + /eobright med def + /eosat high def + constroke 0 eq { + /strokebright medlow def + /strokesat high def + } + { + /strokebright high def + /strokesat medlow def + } ifelse +} def + +/vivid { + /fillsat 1 def + /fillbright high def + /eosat 1 def + /eobright high def + /backsat 1 def + /backbright high def + constroke 0 eq { + /strokesat 1 def + /strokebright high def + } + { + /strokesat high def + /strokebright medlow def + } ifelse +} def + +/free { + /fillsat anyrand def + /fillbright anyrand def + /eosat anyrand def + /eobright anyrand def + /backsat anyrand def + /backbright anyrand def + /strokesat anyrand def + /strokebright anyrand def +} def + +/contrast { + /sat medhigh def + /bright rand 2 mod 0 eq {medhigh} {medlow} ifelse def + /backsat sat def + /backbright bright def + /eosat sat def + /eobright 1 bright sub def + /fillsat sat def + /fillbright bright def + /strokebright rand 2 mod def + /strokesat rand 2 mod def + +} def +/medium { + /backsat med def + /backbright med def + /eosat med def + /eobright med def + /fillsat med def + /fillbright med def + /strokebright med def + /strokesat med def + +} def +/intense { + /backsat high def + /backbright med def + /eosat high def + /eobright high def + /fillsat high def + /fillbright med def + /strokebright high def + /strokesat high def + +} def +/orig { + /backsat rand 99 mod 55 add 100 div def + /backbright rand 99 mod 35 add 100 div def + /eosat rand 77 mod 22 add 100 div def + /eobright 90 rand 75 mod sub 15 add 100 div def + /fillsat 100 rand 90 mod sub 100 div def + /fillbright 100 rand 45 mod sub 20 add 100 div def + /strokebright 100 rand 55 mod sub 100 div def + /strokesat 100 rand 85 mod sub 100 div def + +} def + +/medjewel { + /alt rand 2 mod def + /backsat alt 0 eq {high} { med} ifelse def + /fillsat alt 0 eq {med} {high} ifelse def + /eosat alt 0 eq {high} {med} ifelse def + /backbright med def + /fillbright med def + /eobright med def + constroke 0 eq { + /strokebright medlow def + /strokesat high def + } + { + /strokebright high def + /strokesat medlow def + } ifelse +} def + +/medvivid { + /alt rand 2 mod def + /backsat alt 0 eq {1} { med} ifelse def + /fillsat alt 0 eq {med} {1} ifelse def + /eosat alt 0 eq {1} {med} ifelse def + /backbright alt 0 eq {high} {med} ifelse def + /eobright alt 0 eq {high} {med} ifelse def + /fillbright alt 0 eq {med} {high} ifelse def + constroke 0 eq { + /strokesat 1 def + /strokebright high def + } + { + /strokesat high def + /strokebright medlow def + } ifelse +} def +/vivpastel { + /backlight rand 2 mod def + /backsat backlight 0 eq {medlow} {1} ifelse def + /eosat backlight 0 eq {medlow} {1} ifelse def + /fillsat backlight 0 eq {1} {medlow} ifelse def + /fillbright high def + /backbright high def + /eobright high def + constroke 0 eq { + /strokesat 1 def + /strokebright high def + } + { + /strokesat high def + /strokebright medlow def + } ifelse +} def + +/medpastel { + /alt rand 2 mod def + /backsat alt 0 eq {medlow} {med} ifelse def + /eosat alt 0 eq {medlow} {med} ifelse def + /fillsat alt 0 eq {med} {medlow} ifelse def + /fillbright alt 0 eq { high } {med} ifelse def + /backbright alt 0 eq {med} { high } ifelse def + /eobright alt 0 eq {med} { high } ifelse def + constroke 0 eq { + /strokebright high def + /strokesat medlow def + } + { + /strokebright low def + /strokesat high def + } ifelse +} def + +/maxcon { + rand 2 mod 1 eq { + /backsat 0 def + /backbright 0 def + /eosat 0 def + /eobright 0 def + /fillsat 0 def + /fillbright 1 def + /strokebright 1 def + /strokesat 0 def + } + { + /backsat 0 def + /backbright 1 def + /eosat 0 def + /eobright 1 def + /fillsat 0 def + /fillbright 0 def + /strokebright 0 def + /strokesat 0 def + } + ifelse +} def + +/monochrome { + /fillhue hue closevary def + /strokehue hue closevary def + /eohue hue closevary def + /backhue hue def +} def + +/blackandwhite { + /fillhue 1 def + /eohue 0 def + /backhue 0 def + /strokehue 1 def +} def + + +/freecolor { + /fillhue anyrand def + /strokehue anyrand def + /eohue anyrand def + /backhue anyrand def +} def + +/purple { + /fillhue rand 15 mod 80 add 100 div def + /backhue rand 15 mod 80 add 100 div def + /strokehue rand 15 mod 80 add 100 div def + /eohue rand 15 mod 80 add 100 div def + /backhue rand 15 mod 80 add 100 div def +} def + +/comptwo { + /fillhue hue closevary def + /strokehue hue .5 add dup 1 gt {1 sub} if def + /backhue strokehue def + /eohue strokehue closevary def +} def + +/compthree { + /backhue hue def + /strokehue hue 1 3 div add dup 1 gt {1 sub} if closevary def + /fillhue strokehue closevary def + /eohue hue 1 3 div sub dup 1 lt { 1 add} if closevary def +} def + +/origcolor { + /backhue hue def + /strokehue + hue 1000 mul cvi 3 mod dup 1 eq + {hue closevary} + {2 eq + {rand 999 mod 1000 div} + {hue .5 add dup 1 gt {1 sub} if } + ifelse + } + ifelse def + /fillhue hue 1000 mul cvi 3 mod dup 1 eq + {hue closevary} + {2 eq + {rand 999 mod 1000 div} + {hue .5 add dup 1 gt {1 sub} if } + ifelse + } + ifelse + def + /eohue hue 1000 mul cvi 2 mod 1 eq + {hue closevary} + {rand 999 mod 1000 div} + ifelse def +} def + +/harmtwo { + /fillhue hue closevary def + /backhue hue def + /strokehue hue .2 add dup 1 gt {1 sub} if closevary def + /eohue strokehue closevary def +} def + +/harmfour { + /fillhue hue closevary def + /backhue hue .1 add dup 1 gt {1 sub} if def + /strokehue hue .2 add dup 1 gt {1 sub} if closevary def + /eohue hue .1 sub dup 1 lt {1 add} if closevary def +} def + +/closeharm { + /fillhue hue def + /backhue hue .05 add dup 1 gt {1 sub} if closevary def + /strokehue hue .1 add dup 1 gt {1 sub} if closevary def + /eohue hue .05 sub dup 0 lt {1 add} if closevary def +} def + + +/high {100 rand 25 mod sub 100 div } def +/med { rand 33 mod 33 add 100 div } def +/medhigh {100 rand 50 mod sub 100 div } def +/medlow {rand 50 mod 100 div } def +/low { rand 25 mod 100 div} def +/anyrand { rand 100 mod 100 div } def +/closevary {rand 70 mod rand 100 mod sub 1000 div add} def + +%rainbow +% {/colorfill {fillhue 1 1 sethsbcolor fill} def} + /colorfill {fillhue fillsat fillbright sethsbcolor fill } def +%ifelse +/colorstroke {strokehue strokesat strokebright sethsbcolor stroke } def +/eocolorfill {eohue eosat eobright sethsbcolor eofill } def +/backfill{ backhue backsat backbright sethsbcolor fill } def + +/xstep { xrange xtimes 1 sub div x 1 sub mul } def +/ystep { yrange ytimes 1 sub div y 1 sub mul} def + +/functionarray [ + {sin abs} + {sin } + {cos } + {cos abs} + {sin dup mul } + {cos dup mul } + {sin abs sqrt } + {cos abs sqrt } +] def + +/range { /top exch def /bottom exch def /number exch def +% number is between -1 and 1 + /rangesize top bottom sub def + number 1 add 2 div + % number is now between 0 and 1 + rangesize mul + bottom add + } def + +/drawone { + /radius + width height lt {width 3 div} {height 3 div} ifelse + def + seed srand + 0 0 moveto + /origmatrix [ 0 0 0 0 0 0 ] currentmatrix def + [ % xstep function ystep function2 add .4 1.3 range + 1 + ystep function xstep function add -.25 .25 range + ystep function3 xstep function2 add -.5 .5 range +% xstep function4 ystep function mul .4 1.3 range + 1 + 0 + 0 + ] + concat + twist {twistdeg rotate} if + part colorfill + origmatrix setmatrix + rainbow + {/fillhue fillhue rainrange xtimes ytimes mul div add dup 1 gt {1 sub} if def} + if + +} def + +/notdrawone { + seed srand + twist {/twistdeg rand 360 mod def} if + nnrand {/nn rand 6 mod 3 add def} if + /x1 rand width 3 div cvi mod width 8 div add def + /y1 rand height 3 div cvi mod height 8 div add def + rand 3 mod dup 1 eq + {pop /x2 rand width 2 div cvi mod def + /y2 rand height 2 div cvi mod def} + { 2 eq + {/x2 y1 def /y2 x1 def} + {/x2 y1 width mul height div def /y2 x1 height mul width div def} + ifelse + } + ifelse + /radius width height gt {width} {height} ifelse 2.5 div def + /stripe rand width 10 div cvi mod 2 add def + starcompensate { /stripe stripe 2 mul def /radius radius 10 nn div mul def } if + /i 1 def + /repeats radius stripe div cvi 1 add def + /nnincr 1 def + repeats { + colorvary {colorfam colorway} if + /i i 1 add def + /radius radius stripe sub def + + } repeat +} def + + +/page { + clippath pathbbox /ury exch def /urx exch def /lly exch def /llx exch +def +/pagewidth urx llx sub def +/pageheight ury lly sub def +0 0 moveto + llx lly translate + /outerwidth + pagewidth inwidth div + def + /outerheight + pageheight inheight div + def + /width + outerwidth xtimes div + def + /height + outerheight ytimes div + def + + + + /size + width height gt {width} {height} ifelse + def + inwidth { + inheight { + + /seed rand def + /hue rand 999 mod 1000 div def + colorway colorfam + /x 1 def /y 1 def + nnrand {/nn rand 6 mod 3 add def} if + /twistdeg rand 360 mod def + + /function functionarray rand functionarray length mod get def + /function2 functionarray rand functionarray length mod get def + /function3 functionarray rand functionarray length mod get def + /function4 functionarray rand functionarray length mod get def + +/xrange [ 90 180 270 360 180 360 ] rand 6 mod get def +/yrange [ 90 180 270 360 180 360 ] rand 6 mod get def + initclip + newpath + 0 0 moveto + outerwidth 0 rlineto + 0 outerheight rlineto + outerwidth neg 0 rlineto + backfill + + xtimes { + ytimes{ + /y y 1 add def + width 2 div height 2 div translate + drawone + width 2 div neg height 2 div neg translate + 0 height translate + } repeat + + /y 1 def + /x x 1 add def + width height ytimes mul neg translate + + } repeat + + width xtimes mul neg outerheight translate + } repeat + outerwidth outerheight inheight mul neg translate + } repeat + + } def + +page showpage +clear cleardictstack +vasarelysave restore diff --git a/Master/xemtex/doc/ghostscript/examples/waterfal.ps b/Master/xemtex/doc/ghostscript/examples/waterfal.ps new file mode 100644 index 00000000000..0236f8f06a2 --- /dev/null +++ b/Master/xemtex/doc/ghostscript/examples/waterfal.ps @@ -0,0 +1,80 @@ +%! +/waterfalsave save def % prevent residual side effects +% Copyright (C) 1992, 1993, 1996 Aladdin Enterprises. All rights reserved. +% +% This program is free software; you can redistribute it and/or modify it +% under the terms of the GNU General Public License as published by the +% Free Software Foundation; either version 2 of the License, or (at your +% option) any later version. +% +% This program is distributed in the hope that it will be useful, but +% WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +% Public License for more details. +% +% You should have received a copy of the GNU General Public License along +% with this program; if not, write to the Free Software Foundation, Inc., +% 59 Temple Place, Suite 330, Boston, MA, 02111-1307. + +% $Id: waterfal.ps,v 1.3.2.1.2.1 2003/04/12 14:02:38 giles Exp $ +% waterfal.ps +% This file produces a 'waterfall' printout of fonts at various sizes. + + +% Specify any desired set of up to 3 fonts here. +/Fonts [/Courier /Helvetica] def + +% Specify any desired set of point sizes here. +% The sum of the sizes should not exceed (roughly) 100. +% For sizes larger than about 16, some characters may fall off the page. +/Sizes [6 7 8 9 10 11 12 14 16] def + +/eol + { currentfont /FontBBox get aload pop + exch pop sub exch pop 0 exch + % Many Ghostscript fonts have incorrect FontBBoxes.... + pop -1000 + 1.15 mul currentfont /FontMatrix get dtransform + translate + 0 0 moveto + } def + +(landscap.ps) runlibfile +clippath pathbbox newpath +/ury exch def /urx exch def /lly exch def /llx exch def +llx 18 add ury 18 sub translate +% Read the current Y resolution without using Ghostscript-specific operators. +gsave initmatrix 0 72 dtransform abs exch abs exch .max grestore +round cvi /dpi exch def +QUIET not + { (Creating waterfall printout at ) print dpi =only ( DPI.\n) print flush + } +if + +newpath 0 setgray +/Courier findfont 20 scalefont setfont + +Fonts + { save exch + QUIET not { dup ==only flush } if + findfont /basefont exch def + basefont 20 scalefont setfont eol + basefont /FontName get =string cvs show + ( ) show dpi =string cvs show ( DPI) show + Sizes + { QUIET not { ( ) print dup =only flush } if + dup /size exch def basefont exch scalefont setfont eol + size =string cvs show ( ) show + (qwertyuiop-asdfghjkl_zxcvbnm ) show + (QWERTYUIOP+ASDFGHJKL/ZXCVBNM ) show + (1470258369 .,:;?!) show + } forall + QUIET not { () = flush } if + matrix currentmatrix aload pop + 7 -1 roll restore + 6 array astore setmatrix + } forall + +showpage +clear cleardictstack +waterfalsave restore diff --git a/Master/xemtex/doc/ghostscript/gs-vms.hlp b/Master/xemtex/doc/ghostscript/gs-vms.hlp new file mode 100644 index 00000000000..9156b6af303 --- /dev/null +++ b/Master/xemtex/doc/ghostscript/gs-vms.hlp @@ -0,0 +1,293 @@ +1 gs + gs - GNU Ghostscript interpreter/previewer +! $Id: gs-vms.hlp,v 1.12.2.10.2.5 2003/05/17 14:39:00 giles Exp $ +! Ghostscript version 7.07, 17 May 2003 + Usage: + $ gs [options] [file ...] + + Ghostscript is an implementation of Adobe Systems' PostScript (tm) + and Portable Document Format (PDF) languages. Gs reads files in sequence + and executes them as Ghostscript programs. After doing this, it reads + further input from the standard input stream (normally the keyboard). + Each line is interpreted separately. To exit from the interpreter, + enter the `quit' command. The interpreter also exits gracefully if it + encounters end-of-file. Typing the interrupt character (e.g. Control-C) + is also safe. + +2 Description + The interpreter recognizes several switches described below, which + may appear anywhere in the command line and apply to all files + thereafter. + + You can get a help message by invoking Ghostscript with the -h + or -? option. This message also lists the available devices. + + Ghostscript may be built with multiple output devices. Ghostscript + normally opens the first one and directs output to it. To use + device xyz as the initial output device, include the switch + "-sDEVICE=xyz" + in the command line. Note that this switch must precede the first + .ps file, and only its first invocation has any effect. For example, + for printer output in a normal configuration that includes an Epson + printer driver, you might use the command + gs "-sDEVICE=epson" myfile.ps + instead of just + gs myfile.ps + Alternatively, you can type + (epson) selectdevice + (myfile.ps) run + All output then goes to the printer instead of the display until + further notice. You can switch devices at any time by using the + selectdevice procedure, e.g., + (vga) selectdevice + or + (epson) selectdevice + As yet a third alternative, you can define a logical name GS_DEVICE + as the desired default device name. The order of precedence for these + alternatives, highest to lowest, is: + selectdevice + (command line) + GS_DEVICE + (first device in build list) + + To select the density on a printer, use + gs "-sDEVICE=" -rx + For example, on a 9-pin Epson-compatible printer, you can get the + lowest-density (fastest) mode with + gs "-sDEVICE=epson" -r60x72 + and the highest-density mode with + gs "-sDEVICE=epson" -r240x72. + + If you select a printer as the output device, Ghostscript also + allows you to control where the device sends its output. Normally, + output goes directly to a scratch file on Unix and VMS systems. To + send the output to a series of files foo1.xyz, foo2.xyz, ..., use + the switch + "-sOutputFile=foo%d.xyz" + The %d is a printf format specification; you can use other formats + like %02d. Each file will receive one page of output. Alternatively, + to send the output to a single file foo.xyz, with all the pages con- + catenated, use the switch + "-sOutputFile=foo.xyz" + + To find out what devices are available, type + devicenames == + after starting up Ghostscript. Alternatively, you can use the -h or -? + switch in the command line; the help message also lists the available + devices. + + To select a different paper size, use the command line switch + "-sPAPERSIZE=a_known_paper_size" + e.g., + "-sPAPERSIZE=a4" + or + "-sPAPERSIZE=legal" + + As of this printing, the known paper sizes, defined in gs_statd.ps, are: + + PAPERSIZE X" Y" X cm Y cm + ____________________________________________________ + 11x17 11" 17" 27.94 43.18 + a0 33.0556" 46.7778" 83.9611 118.816 + a10 1.02778" 1.45833" 2.61056 3.70417 + a1 23.3889" 33.0556" 59.4078 83.9611 + a2 16.5278" 23.3889" 41.9806 59.4078 + a3 11.6944" 16.5278" 29.7039 41.9806 + a4 8.26389" 11.6944" 20.9903 29.7039 + a5 5.84722" 8.26389" 14.8519 20.9903 + a6 4.125" 5.84722" 10.4775 14.8519 + a7 2.91667" 4.125" 7.40833 10.4775 + a8 2.05556" 2.91667" 5.22111 7.40833 + a9 1.45833" 2.05556" 3.70417 5.22111 + archA 9" 12" 22.86 30.48 + archB 12" 18" 30.48 45.72 + archC 18" 24" 45.72 60.96 + archD 24" 36" 60.96 91.44 + archE 36" 48" 91.44 121.92 + b0 39.3889" 55.6667" 100.048 141.393 + b1 27.8333" 39.3889" 70.6967 100.048 + b2 19.6944" 27.8333" 50.0239 70.6967 + b3 13.9167" 19.6944" 35.3483 50.0239 + b4 9.84722" 13.9167" 25.0119 35.3483 + b5 6.95833" 9.84722" 17.6742 25.0119 + flsa 8.5" 13" 21.59 33.02 + flse 8.5" 13" 21.59 33.02 + halfletter 5.5" 8.5" 13.97 21.59 + ledger 17" 11" 43.18 27.94 + legal 8.5" 14" 21.59 35.56 + letter 8.5" 11" 21.59 27.94 + note 7.5" 10" 19.05 25.4 + + Note that the B paper sizes are ISO sizes: for information about using + JIS B sizes, see `Use.htm'. + +2 Initialization_files + When looking for the initialization files (gs_*.ps), the files related + to fonts, or the file for the `run' operator, Ghostscript first tries + opening the file with the name as given (i.e., using the current + working directory if none is specified). If this fails, and the file + name doesn't specify an explicit directory or drive, Ghostscript will + try directories in the following order: + + 1. The directory/ies specified by the -I switch(es) in the command + line (see below), if any; + 2. The directory/ies specified by the GS_LIB logical, if any; + 3. The directory/ies specified by the GS_LIB_DEFAULT macro in the + Ghostscript makefile. + + Each of these (GS_LIB_DEFAULT, GS_LIB, and -I parameter) may be either + a single directory, or a list of directories separated by a `:'. + +2 X_resources + Ghostscript looks for the following resources under the program name + `Ghostscript': + + borderWidth + The border width in pixels (default = 1). + + borderColor + The name of the border color (default = black). + + geometry + The window size and placement, WxH+X+Y (default is NULL). + + xResolution + The number of x pixels per inch (default is computed from + WidthOfScreen and WidthMMOfScreen). + + yResolution + The number of y pixels per inch (default is computed from + HeightOfScreen and HeightMMOfScreen). + + useBackingPixmap + Determines whether backing store is to be used for saving display + window (default = true). + + See the file `Use.htm' for a more complete list of resources. + + To set these resources, put them in a file (such as + SYS$Login:ghostscript.dat) in the following form: + + Ghostscript*geometry: 612x792-0+0 + Ghostscript*xResolution: 72 + Ghostscript*yResolution: 72 + +2 Options + Note that VMS will convert all command line arguments to lower case + if they are not within quotes. Therefore, if a certain command does + not work, try again but with quotes around it. + + -- filename arg1 ... + Takes the next argument as a file name as usual, but takes all + remaining arguments (even if they have the syntactic form of switches) + and defines the name ARGUMENTS in userdict (not systemdict) as an + array of those strings, before running the file. When Ghostscript + finishes executing the file, it exits. + + -Dname=token + -dname=token + Define a name in systemdict with the given definition. The token must + be exactly one token (as defined by the `token' operator) and must not + contain any whitespace. + + -Dname + -dname + Define a name in systemdict with value=null. + + -Sname=string + -sname=string + Define a name in systemdict with a given string as value. This is + different from -d. For example, -dname=35 is equivalent to the + program fragment + /name 35 def + whereas -sname=35 is equivalent to + /name (35) def + + -q + Quiet startup - suppress normal startup messages, and also do the + equivalent of -dQUIET. + + -gnumber1Xnumber2 + Equivalent to -dDEVICEWIDTH=number1 and -dDEVICEHEIGHT=number2. This is + for the benefit of devices (such as X11 windows) that require (or allow) + width and height to be specified. + + -rnumber + -rnumber1Xnumber2 + Equivalent to -dDEVICEXRESOLUTION=number1 and -dDEVICEYRESOLUTION=number2 + This is for the benefit of devices (such as printers) that support + multiple X and Y resolutions. (If only one number is given, it is used + for both X and Y resolutions.) + + -Idirectories + Adds the designated list of directories at the head of the search path + for library files. + + Note that gs_init.ps makes systemdict read-only, so the values of names + defined with -D/d/S/s cannot be changed (although, of course, they can + be superseded by definitions in userdict or other dictionaries.) + +2 Special_names + + -dDISKFONTS + Causes individual character outlines to be loaded from the disk the + first time they are encountered. (Normally Ghostscript loads all the + character outlines when it loads a font.) This may allow loading more + fonts into RAM, at the expense of slower rendering. + + -dNOCACHE + Disables character caching. Only useful for debugging. + + -dNOBIND + Disables the `bind' operator. Only useful for debugging. + + -dNODISPLAY + Suppresses the normal initialization of the output device. This may be + useful when debugging. + + -dNOPAUSE + Disables the prompt and pause at the end of each page. This may be + desirable for applications where another program is `driving' + Ghostscript. + + -dNOPLATFONTS + Disables the use of fonts supplied by the underlying platform (e.g. + X Windows). This may be needed if the platform fonts look undesirably + different from the scalable fonts. + + -dSAFER + Disables the deletefile and renamefile operators, and the ability to + open files in any mode other than read-only. This may be desirable + for spoolers or other sensitive environments. + + -dWRITESYSTEMDICT + Leaves systemdict writable. This is necessary when running special + utility programs such as font2c and pcharstr, which must bypass normal + PostScript access protection. + + -sDEVICE=device + Selects an alternate initial output device, as described above. + + -sOutputFile=filename + Selects an alternate output file for the initial output device, as + described above. + +2 Files +!!! Change + GS_Root:[Ghostscript.gs4_0] + Startup-files, utilities, and basic font definitions. + + GS_Root:[Ghostscript.Fonts4_0] + Additional font definitions. + + GS_Root:[Ghostscript.gs4_0.Examples] + Demo Ghostscript files. + + GS_Root:[Ghostscript.gs4_0.Doc] + Assorted document files. +!!! Change +2 See_also + The various Ghostscript document files (above). + +2 Bugs + See the network news group comp.lang.postscript. diff --git a/Master/xemtex/doc/ghostscript/gs.css b/Master/xemtex/doc/ghostscript/gs.css new file mode 100644 index 00000000000..d59976ed00e --- /dev/null +++ b/Master/xemtex/doc/ghostscript/gs.css @@ -0,0 +1,73 @@ +/* This is the default Ghostscript stylesheet */ + +body +{ + color: black; + background-color: white; +} + +h1,h2,h3,h4,h5,h6 +{ + font-family: sans-serif; +} + +/* This needs a patched html file else you have it all over the place */ +/* we only want this for the "visual header" at the page top */ +h1 +{ + text-align: center; + background-color: #CCCC00; +} + +/* Number the h2/h3 -- doesn't work on v4/5 browsers */ +h2 +{ + counter-increment: h2-count; + counter-reset: h3-count; +} + +h2:before +{ + content: counter(h2-count) " "; +} + +h3 +{ + counter-increment: h3-count; +} + +h3:before +{ + content: counter(h2-count) "." counter(h3-count) " "; + +} + +tt +{ + color: rgb(40%,24%,24%); +} + +a > tt, a > b > tt +{ + color: blue; +} + +a +{ + color: blue; +} + +a.offsite +{ + font-style: oblique; +} + +a:visited +{ + color: rgb(60%,0%,30%); +} + +a:hover, a:active, a:focus +{ + background: #FFFFAA; +} diff --git a/Master/xemtex/doc/ghostscript/gsdoc.el b/Master/xemtex/doc/ghostscript/gsdoc.el new file mode 100644 index 00000000000..76be2c15fe4 --- /dev/null +++ b/Master/xemtex/doc/ghostscript/gsdoc.el @@ -0,0 +1,701 @@ +;; gsdoc.el +;; +;; GNU emacs (19.34) functions to help working with the HTML form of +;; Ghostscript documentation. +;; +;; Pete Kaiser 8 September 1998 V1.2 +;; 2 December 1999 V1.3 Correct improper "--" to "==" +;; in HTML marker comments +;;============================================================ +;; One global key setting, which runs the function to bind some keys +;; locally -- presumably in a buffer containing HTML code. Plus that +;; function itself. + +(global-set-key [?\C-\S-k] 'gskeys) + +(defun gskeys () + +"Set the keys in this buffer to use with Ghostscript HTML docs." + +(interactive) +(local-set-key [?\C-\S-b] 'gs-bold) +(local-set-key [?\C-\S-c] 'gs-code) +(local-set-key [?\C-\S-e] 'gs-emphatic) +(local-set-key [?\C-\S-g] 'gs-get-anchor) +(local-set-key [?\C-\S-h] 'gs-href) +(local-set-key [?\C-\S-i] 'gs-italic) +(local-set-key [?\C-\S-m] 'gs-mailto) +(local-set-key [?\C-\S-n] 'gs-name) +(local-set-key [?\C-\S-p] 'gs-put-anchor) +(local-set-key [?\C-\S-q] 'gs-quote) +(local-set-key [?\C-\S-r] 'gs-row-of-table) +(local-set-key [?\C-\S-s] 'gs-selfref) +(local-set-key [?\C-\S-t] 'gs-table) +(local-set-key [?\C-\S-u] 'gs-tag) +(local-set-key [?\C-\S-x] 'gs-example) +) + +;;============================================================ +;; Each of these next few functions just wraps a region in a +;; ..., or two nested tags. Where there are two, the first one +;; is inner. See the inner function ~gsregion. + +(defun gs-bold () "Make text strong (bold)." +(interactive) +(~gsregion "b")) + +(defun gs-code () "Make text strong code (bold TT)." +(interactive) +(~gsregion "tt") +(~gsregion "b")) + +(defun gs-emphatic () "Make text emphatic (bold italic)." +(interactive) +(~gsregion "em") +(~gsregion "b")) + +(defun gs-italic () "Make text italic." +(interactive) +(~gsregion "em")) + +;;============================================================ + +(defun gs-quote () + +"Indent a region with BLOCKQUOTE and separate it with empty lines from +surrounding text." + +(interactive) + +(save-restriction (narrow-to-region (region-beginning) (region-end)) + (goto-char (point-min)) (insert "\n\n") + (push-mark (1+ (point-min)) t) + (goto-char (point-max)) + (~gsregion "blockquote") + (insert "\n\n") + ) +) + +;;============================================================ + +(defun gs-example () + +"Make an indented literatim example BLOCKQUOTE PRE and separate it with +empty lines from surrounding text." + +(interactive) + +(save-restriction (narrow-to-region (region-beginning) (region-end)) + (goto-char (point-min)) (insert "\n") + (push-mark (point-min) t) + (goto-char (point-max)) + (~gsregion "pre") + (~gsregion "blockquote") + (insert "\n") + ) +) + +;;============================================================ + +(defun gs-get-anchor () + +"Beginning at the head of this line, pick up the next anchor name for later +use along with its HTML file name. This is useful when picking up an +anchor name from a file in one buffer and using it in another buffer +containing a different file." + +(interactive) + +;; From the beginning of this line find and pick up the next non-empty +;; anchor, which might, of course not be right here -- though that's how it +;; ought to be used, to pick up an anchor for immediate use. The regular +;; expression picks up only the name itself. + +(beginning-of-line) +(re-search-forward "]+\\)\"?>" nil t) +(setq gs-anchor (buffer-substring (match-beginning 1) (match-end 1))) + +;; Get the name of this buffer, treating it as the filename. + +(setq gs-anchor-file (buffer-name)) +) + +;;============================================================ + +(defun gs-href () + +"Wrap a region in an empty link and leave point in the middle of the +emptiness to write the link. Maybe some day read the URL and put it +there." + +(interactive) + +(save-restriction + (narrow-to-region (region-beginning) (region-end)) + (goto-char (point-min)) (insert "") + (setq HREF (- (point) 2)) + (goto-char (point-max)) (insert "") + (goto-char HREF) + ) +) + +;;============================================================ + +(defun gs-mailto () + +"Turn an address into a proper \"mailto:\" visually bracketed with <>." + +(interactive) + +(save-restriction + (narrow-to-region (region-beginning) (region-end)) + (setq gs-address (buffer-substring (point-min) (point-max))) + (goto-char (point-min)) (insert "<" gs-address ">") + ) +) + +;;============================================================ + +(defun gs-tag (Tag) + +"Bracket a region with some arbitrary tag read from the minibuffer, leaving +point right after the opening word of the opening tag, and the end of the +region at the end of the closing tag. Leaving point there makes it +possible, for instance, to enter additional matter in a tag. Get to +the end of a region with ^x-^x." + +(interactive "*sTag: ") + + (~gsregion Tag) + (exchange-point-and-mark) (forward-word 1) +) + +;;============================================================ + +(defun gs-toc () + +"[Re]build the table of contents by picking up all the lines and +converting them to properly indented

      entries, placing the TOC within +the standard TOC markers. Note that several of the original Ghostscript +HTML files have hand-modified TOCs, so it's wise to check before running +this function. It can be run from anywhere within the HTML file. + +This function relies on the specific format of the structure comments for +the table of contents, which are set by the g~marker function used in +defvars run when this package is loaded." + +(interactive) + +(setq g~html-buffer (buffer-name)) + +(save-restriction (save-excursion + (widen) + +;; Since we're building the TOC, delete any current TOC. Locate the place +;; for the TOC using the standard markers, deleting everything between the +;; TOC-beginning and TOC-end markers. The new TOC is built entirely in the +;; work buffer before being copied into the HTML buffer at that point. + + (goto-char (point-min)) + (search-forward g~toc-begin nil t) + (next-line 1) (beginning-of-line) (setq g~toc-insert (point)) + (search-forward g~toc-end nil t) + (beginning-of-line) (delete-region g~toc-insert (point)) + +;; Empty the work buffer by copying nothing into it. + + (copy-to-buffer gs-work-buffer 1 1) + +;; Now collect all the following header lines into a buffer to work on +;; them. The later append-to-buffer needs point to be in the middle of the +;; empty list, so go there before entering the work buffer. + + (save-excursion (while (re-search-forward "^]*>" nil t) + (beginning-of-line) (setq BOH (point)) + (re-search-forward "\n" nil t) + (append-to-buffer gs-work-buffer BOH (point)) + )) + (goto-char g~toc-insert) + +;; All the useful header lines should be in the work buffer now. + + (save-excursion + (set-buffer gs-work-buffer) + +;; Formatting as list entries: insert
        when the level deepens and
      +;; when it rises. + + (goto-char (point-min)) + (while (search-forward "" nil t) (replace-match "")) + (goto-char (point-min)) + (while (re-search-forward "" nil t) (replace-match "")) + (goto-char (point-min)) + (while (re-search-forward " to
    • , inserting
        ...
      as needed. Pick up the +;; upmost level from the first header, usually

      , and save a copy to +;; use to insert any terminating

    . + + (goto-char (point-min)) + (re-search-forward "^]*>" nil t) + (setq First (string-to-number + (buffer-substring (match-beginning 1) (match-end 1)))) + (setq Previous First) + (replace-match "
  • " t t) + +;; Got the first one, now handle the rest. + + (while (re-search-forward "^]*>" nil t) + (setq This (string-to-number + (buffer-substring (match-beginning 1) (match-end 1)))) + (setq Hold This) + (replace-match "
  • " t t) (beginning-of-line) + +;; No point being too fancy with conditionals: the "while" statements here +;; make at most one logically unnecessary test. + + (while (> This Previous) (insert "
      \n") (setq This (1- This))) + (while (< This Previous) (insert "
    \n") (setq This (1+ This))) + (setq Previous Hold) + ) + +;; Done with the loop. Clean up by inserting at the end any needed +;; to get back to the top level. + + (goto-char (point-max)) + (while (> Previous First) (insert "\n") (setq Previous (1- Previous))) + +;; Finally add the trailing whitespace and leading whitespace and header line. + + (insert "\n\n") + (goto-char (point-min)) + (insert "\n

    Table of contents

    \n\n
      \n") + +;; The TOC is now entirely built in the work buffer. Move it to where it's +;; supposed to be in the original buffer. + + (append-to-buffer g~html-buffer (point-min) (point-max)) + ) + )) +) + +;;============================================================ + +(defun gs-name () + +"Insert a name anchor at point and leave point ready to enter the anchor's +name. Anchors are always empty (that is, )." + +(interactive) + +(insert "") +(backward-char 6) +) + +;;============================================================ + +(defun gs-put-anchor () + +"Insert around the current region the last anchor picked up with +gs-get-anchor. This includes the HTML file name if the href is put in a +file other than the anchor." + +(interactive) + +(save-restriction + (narrow-to-region (region-beginning) (region-end)) + (goto-char (point-min)) + (insert (concat + "")) + (goto-char (point-max)) (insert "")) +) + +;;============================================================ + +(defun gs-row-of-table () + +"Set up a row of a table from the line containing point. + +Insert the right things at beginning and end, and in between convert tab +and \"|\" into column breaks with a nonbreaking space in between -- which +means that no entry can contain a tab or \"|\". Format the HTML nicely +for readability. + +Between each two substantive columns this function puts a column containing +a single nonbreaking space to provide a visual break. Generally in the +first row of a table those columns should be given enough NBSPs to make +the table look right on screen and when converted to text, but this has to +be done by hand." + +(interactive) + +(save-restriction + (end-of-line) (setq EOL (point)) + (beginning-of-line) (narrow-to-region (point) EOL) + (insert "\t") + (while (re-search-forward "[|\t]" nil t) + (replace-match "\n\t \n\t" t t)) + (goto-char (point-max)) + ) +(next-line 1) (beginning-of-line) +) + +;;============================================================ + +(defun gs-selfref () + +"Wrap an URL to make it its own link. This is useful for links that should +be visible when converted to text." + +(interactive) + +(save-restriction + (narrow-to-region (region-beginning) (region-end)) + (goto-char (point-min)) + (if (not (looking-at "http:\\|ftp:")) (insert "http://")) + (setq g~url (buffer-substring (point-min) (point-max))) + (goto-char (point-min)) + (insert "" g~url "") + ) +) + +;;============================================================ + +(defun gs-table () + +"Set up an indented table around this region, leaving plenty of white space +around the table within the HTML. The number of columns in the table is +hardcoded here as 3, so that number must be changed by hand if the table +has more than 3 columns. See gs-row-of-table for how rows are built: a +table with N visible columns generally has 2N-1 HTML columns, including the +columns that provide vertical white space." + +(interactive) + +(save-restriction + (narrow-to-region (region-beginning) (region-end)) + (indent-rigidly (region-beginning) (region-end) -80) + (goto-char (point-min)) + (insert (concat + "\n\n
      \n" + "\n" + "\t\t

      XXXXXXXXXX
      \n" + "
      \n" + "\t  \n" + "\t\n" + "

      \n" + )) + (goto-char (point-max)) + (insert "
      \n") + ) +) + +;;============================================================ + +(defun gs-text-chars () + +"Prepare text for inclusion in HTML by converting \"&\", \"<\", and \">\" into +their HTML special forms. The function acts from point to end-of-region or +end-of-buffer, whichever comes first. + +This function is NOT idempotent -- running it twice on the same text will +certainly do the wrong thing, unless at first the text contained none of +those characters." + +(interactive) +(setq BEGIN (point)) + +;; Replace significant characters: "&", "<", and ">". + +(while (search-forward "&" nil t) (replace-match "&" t t)) + +(goto-char BEGIN) +(while (search-forward "<" nil t) (replace-match "<" t t)) + +(goto-char BEGIN) +(while (search-forward ">" nil t) (replace-match ">" t t)) + +(goto-char BEGIN) +) + +;;============================================================ + +(defun gs-wrap-textfile () + +"Prepare a text file for inclusion between
       and 
      , then put a +header and footer around it. One would generally run this function on a +buffer containing only an original text file; it is how the original +history and news files were first prepared. At this point it's likely to +be most useful in preparing new sections for the news document." + +(interactive) + +(widen) + +;; First prepare the entire text by replacing special characters. + +(goto-char (point-min)) +(gs-text-chars) + +;; At the end of the file, end as-is text and add the standard footer. + +(goto-char (point-max)) +(backward-word 1) (next-line 1) (beginning-of-line) +(delete-region (point) (point-max)) +(insert "\n
  • \n") +(insert-file "Footer.htm") + +;; At the beginning of the file, begin as-is text and delete everything +;; up to the identity string (if any), saving the identity string. + +(goto-char (point-min)) +(insert "
    \n") (setq g~pre-point (point))
    +(setq g~ID " [No pre-existing ID] ")
    +(if (re-search-forward "^\\$Id:\\( [^ ]+ \\)\\$" nil t) (progn
    +    (setq g~ID (buffer-substring (match-beginning 1) (match-end 1)))
    +    (next-line 1) (beginning-of-line) (delete-region g~pre-point (point))
    +    ))
    +
    +;; Insert the standard header and fill in the identity string.
    +
    +(goto-char (point-min)) (insert-file "Header.htm")
    +(goto-char (point-min)) (search-forward "" nil t)
    +    (progn
    +      (setq Original (buffer-substring (match-beginning 1) (match-end 1)))
    +      (replace-match g~thisfile t t nil 1)
    +      )
    +    (progn
    +      (search-forward "" nil t) (end-of-line)
    +      (insert (concat "\n"))
    +      (setq Original "(UNSET by gs-structure)")
    +      )
    +    )
    +
    +(end-of-line)
    +(insert (concat "\n"))
    +
    +;; Place the visible header marker immediately after .
    +
    +(re-search-forward "]*>" nil t)
    +    (end-of-line) (forward-char 1)
    +    (insert (concat g~header-begin "\n\n"))
    +
    +;; Place the headline marker before the first  block.
    +
    +(search-forward ".  This isn't precise, and in fact
    +;; fails for several files, but once again only an approximation is needed
    +;; because it'll be edited by hand later.
    +
    +(search-forward "

    " nil t) (beginning-of-line) + (insert (concat g~hint-begin "\n\n")) + +(search-forward "


    " nil t) (beginning-of-line) + (insert (concat g~hint-end "\n\n")) + +;; The visible header ends with (and includes) the first
    , and the +;; contents begin immediately thereafter. + +(search-forward "
    \n" nil t) + (insert (concat "\n" g~header-end "\n\n")) + +(forward-word 1) (beginning-of-line) + (insert (concat g~contents-begin "\n\n")) + +;; The contents end before the final
    and the trailer begins +;; immediately thereafter. + +(goto-char (point-max)) (search-backward "
    " nil t) + (backward-word 1) (end-of-line) (forward-char 1) + (insert (concat + "\n" + g~contents-end "\n\n" + g~trailer-begin "\n\n")) + +;; The trailer ends with . + +(goto-char (point-max)) (search-backward "" nil t) + (insert (concat "\n" g~trailer-end "\n\n")) + +;; We may have introduced trailing whitespace and extra empty lines. +;; Remove them. + +(goto-char (point-min)) +(while (re-search-forward "[ \t\240\r]+$" nil t) (replace-match "" t t)) +(goto-char (point-min)) +(while (re-search-forward "\n\n\n+" nil t) (replace-match "\n\n" t t)) + +) + +;;============================================================ +;; When this file is loaded into emacs, define the structure markers for GS +;; HTML files. These markers have two purposes: first, to make the HTML +;; more readable, and second, to enable these functions to locate sections +;; unambiguously (see gs-toc, the table of contents builder). Note that +;; the markers do not include LF. + +(defun g~marker (basic) + +"Build a complete Ghostscript HTML file marker from its text-only part. +gs-toc relies entirely on this function, so if it's ever changed, gs-toc +and existing markers would also have to be changed to keep pace. + +Intended only for initialization, not interactive use. + +All the existing files are now marked up, and since any future ones are +(properly) likely to be created by plagiarism, it's difficult to imagine +why anyone would want to change this unless they want to go to the trouble +of coming up with a much more useful marking scheme." + +(interactive) + +(setq HEAD (concat "" + (- (length HEAD) 80) + )) +) + +;;============================================================ +;; Initialization code that must run after functions are defined. +;; +;; Look in a Ghostscript HTML file to see how these markers are used, +;; generally +;; +;; begin visible header +;; begin headline +;; end headline +;; begin table of contents +;; end table of contents +;; begin hint +;; end hint +;; end visible header +;; begin contents +;; end contents +;; begin visible trailer +;; end visible trailer +;; +;; although the TOC is in slightly different positions in a few files. + +(defvar g~header-begin (g~marker "1.0 begin visible header") + "Begin the HTML file's visible header material") + +(defvar g~header-end (g~marker "1.0 end visible header") + "End the HTML file's visible header") + +(defvar g~headline-begin (g~marker "1.1 begin headline") + "Begin the conspicuous headline") + +(defvar g~headline-end (g~marker "1.1 end headline") + "End the conspicuous headline") + +(defvar g~toc-begin (g~marker "1.2 begin table of contents") + "Begin the table of contents") + +(defvar g~toc-end (g~marker "1.2 end table of contents") + "End the table of contents") + +(defvar g~hint-begin (g~marker "1.3 begin hint") + "Begin the \"for other information\" section") + +(defvar g~hint-end (g~marker "1.3 end hint") + "End the \"for other information\" section") + +(defvar g~contents-begin (g~marker "2.0 begin contents") + "Begin the main contents") + +(defvar g~contents-end (g~marker "2.0 end contents") + "End the main contents") + +(defvar g~trailer-begin (g~marker "3.0 begin visible trailer") + "Begin the visible standard trailer material") + +(defvar g~trailer-end (g~marker "3.0 end visible trailer") + "End the visible standard trailer material") + +;;============================================================ +;; Some working variables + +(defvar gs-anchor "JUNK" "*Anchor name to insert") +(defvar gs-anchor-file "JUNKFILE" "*Anchor filename to insert") +(defvar gs-work-buffer "*GS work*" "*Ghostscript working buffer") diff --git a/Master/xemtex/doc/ghostscript/index.html b/Master/xemtex/doc/ghostscript/index.html new file mode 100644 index 00000000000..d931f27faad --- /dev/null +++ b/Master/xemtex/doc/ghostscript/index.html @@ -0,0 +1,14 @@ + + + +Ghostscript + + + + + +

    +Please see Readme.htm for an index of the +Ghostscript documentation. + + diff --git a/Master/xemtex/gsfonts/a010013l.afm b/Master/xemtex/gsfonts/a010013l.afm new file mode 100644 index 00000000000..602008ee2ff --- /dev/null +++ b/Master/xemtex/gsfonts/a010013l.afm @@ -0,0 +1,1341 @@ +StartFontMetrics 3.0 +Comment Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development +Comment Creation Date: 12/22/1999 +Comment See the file PUBLIC (Aladdin Free Public License) for license conditions. +FontName URWGothicL-Book +FullName URW Gothic L Book +FamilyName URW Gothic L +Weight Book +ItalicAngle 0.0 +IsFixedPitch false +UnderlinePosition -96 +UnderlineThickness 58 +Version 1.05 +Notice (URW)++,Copyright 1999 by (URW)++ Design & Development +EncodingScheme AdobeStandardEncoding +FontBBox -115 -240 1151 976 +CapHeight 739 +XHeight 547 +Descender -192 +Ascender 739 +StartCharMetrics 316 +C 32 ; WX 277 ; N space ; B 0 0 0 0 ; +C 33 ; WX 295 ; N exclam ; B 111 0 185 739 ; +C 34 ; WX 309 ; N quotedbl ; B 74 513 237 739 ; +C 35 ; WX 554 ; N numbersign ; B 5 0 549 739 ; +C 36 ; WX 554 ; N dollar ; B 71 -56 479 810 ; +C 37 ; WX 775 ; N percent ; B 13 -13 752 749 ; +C 38 ; WX 757 ; N ampersand ; B 57 -13 735 752 ; +C 39 ; WX 351 ; N quoteright ; B 91 547 253 739 ; +C 40 ; WX 369 ; N parenleft ; B 57 -125 335 739 ; +C 41 ; WX 369 ; N parenright ; B 34 -125 312 739 ; +C 42 ; WX 425 ; N asterisk ; B 64 468 360 752 ; +C 43 ; WX 606 ; N plus ; B 51 49 555 557 ; +C 44 ; WX 277 ; N comma ; B 91 -67 253 126 ; +C 45 ; WX 332 ; N hyphen ; B 31 233 302 296 ; +C 46 ; WX 277 ; N period ; B 101 0 175 126 ; +C 47 ; WX 437 ; N slash ; B 40 -128 397 739 ; +C 48 ; WX 554 ; N zero ; B 30 -13 525 752 ; +C 49 ; WX 554 ; N one ; B 155 0 354 739 ; +C 50 ; WX 554 ; N two ; B 33 0 506 752 ; +C 51 ; WX 554 ; N three ; B 33 -13 504 752 ; +C 52 ; WX 554 ; N four ; B 12 0 527 739 ; +C 53 ; WX 554 ; N five ; B 26 -13 528 739 ; +C 54 ; WX 554 ; N six ; B 25 -13 529 739 ; +C 55 ; WX 554 ; N seven ; B 64 0 490 739 ; +C 56 ; WX 554 ; N eight ; B 42 -13 512 752 ; +C 57 ; WX 554 ; N nine ; B 25 0 529 752 ; +C 58 ; WX 277 ; N colon ; B 101 0 175 507 ; +C 59 ; WX 277 ; N semicolon ; B 41 -67 203 507 ; +C 60 ; WX 606 ; N less ; B 49 37 558 565 ; +C 61 ; WX 606 ; N equal ; B 51 164 555 436 ; +C 62 ; WX 606 ; N greater ; B 48 37 557 565 ; +C 63 ; WX 591 ; N question ; B 65 0 525 752 ; +C 64 ; WX 867 ; N at ; B 71 -13 797 752 ; +C 65 ; WX 740 ; N A ; B 11 0 729 739 ; +C 66 ; WX 574 ; N B ; B 76 0 544 739 ; +C 67 ; WX 813 ; N C ; B 44 -13 770 752 ; +C 68 ; WX 744 ; N D ; B 76 0 700 739 ; +C 69 ; WX 536 ; N E ; B 76 0 480 739 ; +C 70 ; WX 485 ; N F ; B 76 0 451 739 ; +C 71 ; WX 872 ; N G ; B 44 -13 831 752 ; +C 72 ; WX 683 ; N H ; B 76 0 607 739 ; +C 73 ; WX 226 ; N I ; B 76 0 150 739 ; +C 74 ; WX 482 ; N J ; B 11 -14 406 739 ; +C 75 ; WX 591 ; N K ; B 76 0 585 739 ; +C 76 ; WX 462 ; N L ; B 76 0 456 739 ; +C 77 ; WX 919 ; N M ; B 76 0 843 739 ; +C 78 ; WX 740 ; N N ; B 76 0 664 739 ; +C 79 ; WX 869 ; N O ; B 44 -13 825 752 ; +C 80 ; WX 592 ; N P ; B 76 0 565 739 ; +C 81 ; WX 871 ; N Q ; B 44 -13 839 752 ; +C 82 ; WX 607 ; N R ; B 76 0 577 739 ; +C 83 ; WX 498 ; N S ; B 22 -13 476 752 ; +C 84 ; WX 426 ; N T ; B 7 0 419 739 ; +C 85 ; WX 655 ; N U ; B 76 -13 579 739 ; +C 86 ; WX 702 ; N V ; B 10 0 692 739 ; +C 87 ; WX 960 ; N W ; B 10 0 950 739 ; +C 88 ; WX 609 ; N X ; B 8 0 601 739 ; +C 89 ; WX 592 ; N Y ; B 2 0 590 739 ; +C 90 ; WX 480 ; N Z ; B 17 0 474 739 ; +C 91 ; WX 351 ; N bracketleft ; B 112 -125 313 739 ; +C 92 ; WX 605 ; N backslash ; B 84 0 464 739 ; +C 93 ; WX 351 ; N bracketright ; B 38 -125 239 739 ; +C 94 ; WX 606 ; N asciicircum ; B 18 180 588 739 ; +C 95 ; WX 500 ; N underscore ; B 0 -125 500 -67 ; +C 96 ; WX 351 ; N quoteleft ; B 98 547 260 739 ; +C 97 ; WX 683 ; N a ; B 42 -13 620 560 ; +C 98 ; WX 682 ; N b ; B 63 -13 640 739 ; +C 99 ; WX 647 ; N c ; B 42 -13 608 560 ; +C 100 ; WX 685 ; N d ; B 42 -13 622 739 ; +C 101 ; WX 650 ; N e ; B 42 -13 611 560 ; +C 102 ; WX 314 ; N f ; B 16 0 311 739 ; +C 103 ; WX 673 ; N g ; B 42 -215 610 560 ; +C 104 ; WX 610 ; N h ; B 63 0 547 739 ; +C 105 ; WX 200 ; N i ; B 63 0 137 739 ; +C 106 ; WX 203 ; N j ; B -45 -192 140 739 ; +C 107 ; WX 502 ; N k ; B 63 0 497 739 ; +C 108 ; WX 200 ; N l ; B 63 0 137 739 ; +C 109 ; WX 938 ; N m ; B 63 0 875 561 ; +C 110 ; WX 610 ; N n ; B 63 0 547 560 ; +C 111 ; WX 655 ; N o ; B 42 -13 613 560 ; +C 112 ; WX 682 ; N p ; B 63 -192 640 560 ; +C 113 ; WX 682 ; N q ; B 42 -192 619 560 ; +C 114 ; WX 301 ; N r ; B 63 0 292 560 ; +C 115 ; WX 388 ; N s ; B 18 -13 361 560 ; +C 116 ; WX 339 ; N t ; B 12 0 327 739 ; +C 117 ; WX 608 ; N u ; B 63 -13 545 547 ; +C 118 ; WX 554 ; N v ; B 8 0 546 547 ; +C 119 ; WX 831 ; N w ; B 7 0 824 547 ; +C 120 ; WX 480 ; N x ; B 8 0 472 547 ; +C 121 ; WX 536 ; N y ; B 9 -192 527 547 ; +C 122 ; WX 425 ; N z ; B 10 0 415 547 ; +C 123 ; WX 351 ; N braceleft ; B 37 -126 271 739 ; +C 124 ; WX 672 ; N bar ; B 304 0 368 739 ; +C 125 ; WX 351 ; N braceright ; B 38 -126 269 739 ; +C 126 ; WX 606 ; N asciitilde ; B 51 210 555 390 ; +C 161 ; WX 295 ; N exclamdown ; B 111 -192 185 547 ; +C 162 ; WX 554 ; N cent ; B 45 62 509 707 ; +C 163 ; WX 554 ; N sterling ; B 18 0 592 752 ; +C 164 ; WX 166 ; N fraction ; B -115 0 281 739 ; +C 165 ; WX 554 ; N yen ; B 0 0 589 739 ; +C 166 ; WX 554 ; N florin ; B 18 -153 546 818 ; +C 167 ; WX 615 ; N section ; B 87 -141 529 752 ; +C 168 ; WX 554 ; N currency ; B 26 50 528 553 ; +C 169 ; WX 198 ; N quotesingle ; B 74 513 124 739 ; +C 170 ; WX 502 ; N quotedblleft ; B 96 547 406 739 ; +C 171 ; WX 425 ; N guillemotleft ; B 40 99 385 499 ; +C 172 ; WX 251 ; N guilsinglleft ; B 40 99 211 499 ; +C 173 ; WX 251 ; N guilsinglright ; B 40 99 211 499 ; +C 174 ; WX 487 ; N fi ; B 13 0 424 739 ; +C 175 ; WX 485 ; N fl ; B 13 0 422 739 ; +C 177 ; WX 500 ; N endash ; B 0 233 500 296 ; +C 178 ; WX 553 ; N dagger ; B 59 -133 494 739 ; +C 179 ; WX 553 ; N daggerdbl ; B 59 -133 494 739 ; +C 180 ; WX 277 ; N periodcentered ; B 101 229 175 355 ; +C 182 ; WX 564 ; N paragraph ; B 37 -133 491 739 ; +C 183 ; WX 606 ; N bullet ; B 118 118 488 488 ; +C 184 ; WX 354 ; N quotesinglbase ; B 89 -67 251 126 ; +C 185 ; WX 502 ; N quotedblbase ; B 89 -67 398 126 ; +C 186 ; WX 484 ; N quotedblright ; B 87 547 393 739 ; +C 187 ; WX 425 ; N guillemotright ; B 40 99 385 499 ; +C 188 ; WX 1000 ; N ellipsis ; B 130 0 870 126 ; +C 189 ; WX 1174 ; N perthousand ; B 13 -13 1151 749 ; +C 191 ; WX 591 ; N questiondown ; B 66 -205 526 547 ; +C 193 ; WX 378 ; N grave ; B 74 610 304 776 ; +C 194 ; WX 375 ; N acute ; B 74 610 301 782 ; +C 195 ; WX 502 ; N circumflex ; B 74 623 428 749 ; +C 196 ; WX 439 ; N tilde ; B 75 633 365 728 ; +C 197 ; WX 485 ; N macron ; B 74 643 411 707 ; +C 198 ; WX 453 ; N breve ; B 74 623 378 743 ; +C 199 ; WX 222 ; N dotaccent ; B 74 623 148 749 ; +C 200 ; WX 369 ; N dieresis ; B 74 623 295 749 ; +C 202 ; WX 332 ; N ring ; B 74 610 258 794 ; +C 203 ; WX 324 ; N cedilla ; B 74 -213 250 0 ; +C 205 ; WX 552 ; N hungarumlaut ; B 74 610 479 780 ; +C 206 ; WX 302 ; N ogonek ; B 74 -191 228 0 ; +C 207 ; WX 502 ; N caron ; B 74 623 428 749 ; +C 208 ; WX 1000 ; N emdash ; B 0 233 1000 296 ; +C 225 ; WX 992 ; N AE ; B 11 0 936 739 ; +C 227 ; WX 369 ; N ordfeminine ; B 31 319 339 745 ; +C 232 ; WX 517 ; N Lslash ; B 26 0 502 739 ; +C 233 ; WX 868 ; N Oslash ; B 44 -83 824 821 ; +C 234 ; WX 1194 ; N OE ; B 44 -13 1138 752 ; +C 235 ; WX 369 ; N ordmasculine ; B 32 319 337 745 ; +C 241 ; WX 1157 ; N ae ; B 42 -13 1118 560 ; +C 245 ; WX 200 ; N dotlessi ; B 63 0 137 547 ; +C 248 ; WX 300 ; N lslash ; B 36 0 270 739 ; +C 249 ; WX 653 ; N oslash ; B 42 -39 611 594 ; +C 250 ; WX 1137 ; N oe ; B 42 -13 1098 560 ; +C 251 ; WX 554 ; N germandbls ; B 59 -13 524 752 ; +C -1 ; WX 655 ; N Udieresis ; B 76 -13 579 931 ; +C -1 ; WX 655 ; N Uacute ; B 76 -13 579 964 ; +C -1 ; WX 498 ; N Scedilla ; B 22 -213 476 752 ; +C -1 ; WX 426 ; N Tcaron ; B 7 0 419 931 ; +C -1 ; WX 498 ; N Scaron ; B 22 -13 476 931 ; +C -1 ; WX 607 ; N Rcaron ; B 76 0 577 931 ; +C -1 ; WX 607 ; N Racute ; B 76 0 577 964 ; +C -1 ; WX 498 ; N Sacute ; B 22 -13 476 964 ; +C -1 ; WX 869 ; N Otilde ; B 44 -13 825 910 ; +C -1 ; WX 608 ; N ucircumflex ; B 63 -13 545 749 ; +C -1 ; WX 869 ; N Ohungarumlaut ; B 44 -13 825 962 ; +C -1 ; WX 655 ; N Uhungarumlaut ; B 76 -13 579 962 ; +C -1 ; WX 592 ; N Yacute ; B 2 0 590 964 ; +C -1 ; WX 790 ; N Eth ; B 26 0 746 739 ; +C -1 ; WX 790 ; N Dcroat ; B 26 0 746 739 ; +C -1 ; WX 480 ; N Zacute ; B 17 0 474 964 ; +C -1 ; WX 655 ; N Uring ; B 76 -13 579 976 ; +C -1 ; WX 673 ; N gbreve ; B 42 -215 610 743 ; +C -1 ; WX 650 ; N eogonek ; B 42 -191 611 560 ; +C -1 ; WX 650 ; N edotaccent ; B 42 -13 611 749 ; +C -1 ; WX 650 ; N ecaron ; B 42 -13 611 749 ; +C -1 ; WX 655 ; N Ugrave ; B 76 -13 579 958 ; +C -1 ; WX 592 ; N Thorn ; B 76 0 565 739 ; +C -1 ; WX 650 ; N eacute ; B 42 -13 611 782 ; +C -1 ; WX 650 ; N edieresis ; B 42 -13 611 749 ; +C -1 ; WX 725 ; N dcaron ; B 42 -13 765 739 ; +C -1 ; WX 647 ; N ccedilla ; B 42 -224 608 560 ; +C -1 ; WX 647 ; N ccaron ; B 42 -13 608 749 ; +C -1 ; WX 647 ; N cacute ; B 42 -13 608 782 ; +C -1 ; WX 683 ; N aogonek ; B 42 -191 651 560 ; +C -1 ; WX 683 ; N aring ; B 42 -13 620 794 ; +C -1 ; WX 683 ; N atilde ; B 42 -13 620 728 ; +C -1 ; WX 683 ; N abreve ; B 42 -13 620 743 ; +C -1 ; WX 650 ; N egrave ; B 42 -13 611 776 ; +C -1 ; WX 683 ; N agrave ; B 42 -13 620 776 ; +C -1 ; WX 683 ; N aacute ; B 42 -13 620 782 ; +C -1 ; WX 683 ; N adieresis ; B 42 -13 620 749 ; +C -1 ; WX 655 ; N Uogonek ; B 76 -191 579 739 ; +C -1 ; WX 608 ; N ugrave ; B 63 -13 545 776 ; +C -1 ; WX 608 ; N uacute ; B 63 -13 545 782 ; +C -1 ; WX 608 ; N udieresis ; B 63 -13 545 749 ; +C -1 ; WX 339 ; N tcaron ; B 12 0 379 739 ; +C -1 ; WX 388 ; N scommaaccent ; B 18 -225 361 560 ; +C -1 ; WX 480 ; N Zcaron ; B 17 0 474 931 ; +C -1 ; WX 650 ; N ecircumflex ; B 42 -13 611 749 ; +C -1 ; WX 655 ; N Ucircumflex ; B 76 -13 579 931 ; +C -1 ; WX 683 ; N acircumflex ; B 42 -13 620 749 ; +C -1 ; WX 480 ; N Zdotaccent ; B 17 0 474 931 ; +C -1 ; WX 388 ; N scaron ; B 17 -13 371 749 ; +C -1 ; WX 740 ; N Amacron ; B 11 0 729 889 ; +C -1 ; WX 388 ; N sacute ; B 18 -13 361 782 ; +C -1 ; WX 426 ; N Tcommaaccent ; B 7 -225 419 739 ; +C -1 ; WX 592 ; N Ydieresis ; B 2 0 590 931 ; +C -1 ; WX 682 ; N thorn ; B 63 -192 640 739 ; +C -1 ; WX 536 ; N Emacron ; B 76 0 480 889 ; +C -1 ; WX 869 ; N Ograve ; B 44 -13 825 958 ; +C -1 ; WX 869 ; N Oacute ; B 44 -13 825 964 ; +C -1 ; WX 869 ; N Odieresis ; B 44 -13 825 931 ; +C -1 ; WX 740 ; N Ntilde ; B 76 0 664 910 ; +C -1 ; WX 740 ; N Ncaron ; B 76 0 664 931 ; +C -1 ; WX 740 ; N Nacute ; B 76 0 664 964 ; +C -1 ; WX 462 ; N Lcaron ; B 76 0 456 739 ; +C -1 ; WX 462 ; N Lacute ; B 76 0 456 964 ; +C -1 ; WX 226 ; N Idotaccent ; B 76 0 150 931 ; +C -1 ; WX 301 ; N racute ; B 63 0 324 782 ; +C -1 ; WX 226 ; N Icircumflex ; B -64 0 290 931 ; +C -1 ; WX 655 ; N ohungarumlaut ; B 42 -13 613 780 ; +C -1 ; WX 655 ; N otilde ; B 42 -13 613 728 ; +C -1 ; WX 554 ; N Euro ; B -32 -13 573 752 ; +C -1 ; WX 655 ; N ocircumflex ; B 42 -13 613 749 ; +C -1 ; WX 332 ; N onesuperior ; B 98 288 233 739 ; +C -1 ; WX 332 ; N twosuperior ; B 12 288 320 747 ; +C -1 ; WX 332 ; N threesuperior ; B 13 280 319 747 ; +C -1 ; WX 226 ; N Igrave ; B -2 0 228 958 ; +C -1 ; WX 226 ; N Iacute ; B -1 0 226 964 ; +C -1 ; WX 226 ; N Imacron ; B -56 0 281 889 ; +C -1 ; WX 226 ; N Iogonek ; B 27 -191 181 739 ; +C -1 ; WX 226 ; N Idieresis ; B 3 0 224 931 ; +C -1 ; WX 872 ; N Gbreve ; B 44 -13 831 925 ; +C -1 ; WX 655 ; N Umacron ; B 76 -13 579 889 ; +C -1 ; WX 591 ; N Kcommaaccent ; B 76 -225 585 739 ; +C -1 ; WX 655 ; N ograve ; B 42 -13 613 776 ; +C -1 ; WX 498 ; N Scommaaccent ; B 22 -225 476 752 ; +C -1 ; WX 536 ; N Eogonek ; B 76 -191 511 739 ; +C -1 ; WX 655 ; N oacute ; B 42 -13 613 782 ; +C -1 ; WX 536 ; N Edotaccent ; B 76 0 480 931 ; +C -1 ; WX 200 ; N iogonek ; B 14 -191 168 739 ; +C -1 ; WX 673 ; N gcommaaccent ; B 42 -215 610 790 ; +C -1 ; WX 655 ; N odieresis ; B 42 -13 613 749 ; +C -1 ; WX 610 ; N ntilde ; B 63 0 547 728 ; +C -1 ; WX 610 ; N ncaron ; B 63 0 547 749 ; +C -1 ; WX 536 ; N Ecaron ; B 76 0 480 931 ; +C -1 ; WX 536 ; N Ecircumflex ; B 76 0 480 931 ; +C -1 ; WX 388 ; N scedilla ; B 17 -213 361 560 ; +C -1 ; WX 301 ; N rcaron ; B 10 0 364 749 ; +C -1 ; WX 536 ; N Egrave ; B 76 0 480 958 ; +C -1 ; WX 536 ; N Eacute ; B 76 0 480 964 ; +C -1 ; WX 872 ; N Gcommaaccent ; B 44 -225 831 752 ; +C -1 ; WX 607 ; N Rcommaaccent ; B 76 -225 577 739 ; +C -1 ; WX 536 ; N Edieresis ; B 76 0 480 931 ; +C -1 ; WX 610 ; N nacute ; B 63 0 547 782 ; +C -1 ; WX 608 ; N uogonek ; B 63 -191 576 547 ; +C -1 ; WX 608 ; N umacron ; B 63 -13 545 707 ; +C -1 ; WX 744 ; N Dcaron ; B 76 0 700 931 ; +C -1 ; WX 245 ; N lcaron ; B 63 0 285 739 ; +C -1 ; WX 813 ; N Ccaron ; B 44 -13 770 931 ; +C -1 ; WX 813 ; N Cacute ; B 44 -13 770 964 ; +C -1 ; WX 813 ; N Ccedilla ; B 44 -240 770 752 ; +C -1 ; WX 400 ; N degree ; B 50 380 350 686 ; +C -1 ; WX 740 ; N Aogonek ; B 11 -191 760 739 ; +C -1 ; WX 606 ; N minus ; B 51 267 555 341 ; +C -1 ; WX 606 ; N multiply ; B 51 48 555 551 ; +C -1 ; WX 606 ; N divide ; B 51 112 555 496 ; +C -1 ; WX 740 ; N Aring ; B 11 0 729 976 ; +C -1 ; WX 1000 ; N trademark ; B 63 340 938 739 ; +C -1 ; WX 301 ; N rcommaaccent ; B 63 -225 292 560 ; +C -1 ; WX 200 ; N lacute ; B -14 0 213 964 ; +C -1 ; WX 655 ; N omacron ; B 42 -13 613 707 ; +C -1 ; WX 740 ; N Atilde ; B 11 0 729 910 ; +C -1 ; WX 200 ; N icircumflex ; B -77 0 277 749 ; +C -1 ; WX 200 ; N igrave ; B -15 0 215 776 ; +C -1 ; WX 610 ; N ncommaaccent ; B 63 -225 547 560 ; +C -1 ; WX 200 ; N lcommaaccent ; B 26 -225 148 739 ; +C -1 ; WX 606 ; N plusminus ; B 51 0 555 585 ; +C -1 ; WX 831 ; N onehalf ; B 96 0 814 739 ; +C -1 ; WX 831 ; N onequarter ; B 101 0 803 739 ; +C -1 ; WX 831 ; N threequarters ; B 13 0 803 747 ; +C -1 ; WX 200 ; N iacute ; B -13 0 214 782 ; +C -1 ; WX 740 ; N Abreve ; B 11 0 729 925 ; +C -1 ; WX 502 ; N kcommaaccent ; B 63 -225 497 739 ; +C -1 ; WX 869 ; N Omacron ; B 44 -13 825 889 ; +C -1 ; WX 200 ; N imacron ; B -69 0 268 707 ; +C -1 ; WX 650 ; N emacron ; B 42 -13 611 707 ; +C -1 ; WX 683 ; N amacron ; B 42 -13 620 707 ; +C -1 ; WX 339 ; N tcommaaccent ; B 12 -225 327 739 ; +C -1 ; WX 536 ; N ydieresis ; B 9 -192 527 749 ; +C -1 ; WX 425 ; N zdotaccent ; B 10 0 415 749 ; +C -1 ; WX 425 ; N zcaron ; B 10 0 415 749 ; +C -1 ; WX 425 ; N zacute ; B 10 0 415 782 ; +C -1 ; WX 536 ; N yacute ; B 9 -192 527 782 ; +C -1 ; WX 608 ; N uhungarumlaut ; B 63 -13 547 780 ; +C -1 ; WX 655 ; N eth ; B 42 -13 613 756 ; +C -1 ; WX 608 ; N uring ; B 63 -13 545 794 ; +C -1 ; WX 869 ; N Ocircumflex ; B 44 -13 825 931 ; +C -1 ; WX 351 ; N commaaccent ; B 101 -225 223 -53 ; +C -1 ; WX 747 ; N copyright ; B -9 -13 755 752 ; +C -1 ; WX 747 ; N registered ; B -9 -13 755 752 ; +C -1 ; WX 740 ; N Acircumflex ; B 11 0 729 931 ; +C -1 ; WX 200 ; N idieresis ; B -10 0 211 749 ; +C -1 ; WX 494 ; N lozenge ; B 18 0 466 740 ; +C -1 ; WX 612 ; N Delta ; B 6 0 608 688 ; +C -1 ; WX 549 ; N notequal ; B 25 42 529 558 ; +C -1 ; WX 549 ; N radical ; B 10 -35 515 913 ; +C -1 ; WX 740 ; N Agrave ; B 11 0 729 958 ; +C -1 ; WX 740 ; N Aacute ; B 11 0 729 964 ; +C -1 ; WX 549 ; N lessequal ; B 26 0 530 646 ; +C -1 ; WX 549 ; N greaterequal ; B 26 0 530 646 ; +C -1 ; WX 606 ; N logicalnot ; B 51 148 555 436 ; +C -1 ; WX 713 ; N summation ; B 14 -123 695 752 ; +C -1 ; WX 494 ; N partialdiff ; B 26 -10 462 753 ; +C -1 ; WX 740 ; N Ncommaaccent ; B 76 -225 664 739 ; +C -1 ; WX 685 ; N dcroat ; B 42 -13 685 739 ; +C -1 ; WX 672 ; N brokenbar ; B 304 0 368 739 ; +C -1 ; WX 462 ; N Lcommaaccent ; B 76 -225 456 739 ; +C -1 ; WX 740 ; N Adieresis ; B 11 0 729 931 ; +C -1 ; WX 608 ; N mu ; B 63 -192 545 547 ; +C -1 ; WX 277 ; N .notdef ; B 0 0 0 0 ; +EndCharMetrics +StartKernData +StartKernPairs 998 +KPX A C -36 +KPX A Ccedilla -37 +KPX A G -38 +KPX A O -38 +KPX A Odieresis -38 +KPX A Q -38 +KPX A T -50 +KPX A U -29 +KPX A Uacute -29 +KPX A Ucircumflex -29 +KPX A Udieresis -29 +KPX A Ugrave -29 +KPX A V -72 +KPX A W -47 +KPX A Y -77 +KPX A a -20 +KPX A b 5 +KPX A c -22 +KPX A ccedilla -22 +KPX A comma -5 +KPX A d -21 +KPX A e -21 +KPX A g -23 +KPX A guillemotleft -22 +KPX A guilsinglleft -22 +KPX A hyphen 13 +KPX A o -20 +KPX A period 13 +KPX A q -21 +KPX A quotedblright -90 +KPX A quoteright -92 +KPX A t -28 +KPX A u -15 +KPX A v -39 +KPX A w -33 +KPX A y -37 +KPX Aacute C -36 +KPX Aacute G -38 +KPX Aacute O -38 +KPX Aacute Q -38 +KPX Aacute T -50 +KPX Aacute U -29 +KPX Aacute V -72 +KPX Aacute W -47 +KPX Aacute Y -77 +KPX Aacute a -20 +KPX Aacute b 5 +KPX Aacute c -22 +KPX Aacute comma -5 +KPX Aacute d -21 +KPX Aacute e -21 +KPX Aacute g -23 +KPX Aacute guillemotleft -22 +KPX Aacute guilsinglleft -22 +KPX Aacute hyphen 13 +KPX Aacute o -20 +KPX Aacute period 13 +KPX Aacute q -21 +KPX Aacute quoteright -92 +KPX Aacute t -28 +KPX Aacute u -15 +KPX Aacute v -39 +KPX Aacute w -33 +KPX Aacute y -37 +KPX Acircumflex C -36 +KPX Acircumflex G -38 +KPX Acircumflex O -38 +KPX Acircumflex Q -38 +KPX Acircumflex T -50 +KPX Acircumflex U -29 +KPX Acircumflex V -72 +KPX Acircumflex W -47 +KPX Acircumflex Y -77 +KPX Acircumflex comma -5 +KPX Acircumflex period 13 +KPX Adieresis C -36 +KPX Adieresis G -38 +KPX Adieresis O -38 +KPX Adieresis Q -38 +KPX Adieresis T -50 +KPX Adieresis U -29 +KPX Adieresis V -72 +KPX Adieresis W -47 +KPX Adieresis Y -77 +KPX Adieresis a -20 +KPX Adieresis b 5 +KPX Adieresis c -22 +KPX Adieresis comma -5 +KPX Adieresis d -21 +KPX Adieresis g -23 +KPX Adieresis guillemotleft -22 +KPX Adieresis guilsinglleft -22 +KPX Adieresis hyphen 13 +KPX Adieresis o -20 +KPX Adieresis period 13 +KPX Adieresis q -21 +KPX Adieresis quotedblright -90 +KPX Adieresis quoteright -92 +KPX Adieresis t -28 +KPX Adieresis u -15 +KPX Adieresis v -39 +KPX Adieresis w -33 +KPX Adieresis y -37 +KPX Agrave C -36 +KPX Agrave G -38 +KPX Agrave O -38 +KPX Agrave Q -38 +KPX Agrave T -50 +KPX Agrave U -29 +KPX Agrave V -72 +KPX Agrave W -47 +KPX Agrave Y -77 +KPX Agrave comma -5 +KPX Agrave period 13 +KPX Aring C -36 +KPX Aring G -38 +KPX Aring O -38 +KPX Aring Q -38 +KPX Aring T -50 +KPX Aring U -29 +KPX Aring V -72 +KPX Aring W -47 +KPX Aring Y -77 +KPX Aring a -20 +KPX Aring b 5 +KPX Aring c -22 +KPX Aring comma -5 +KPX Aring d -21 +KPX Aring e -21 +KPX Aring g -23 +KPX Aring guillemotleft -22 +KPX Aring guilsinglleft -22 +KPX Aring hyphen 13 +KPX Aring o -20 +KPX Aring period 13 +KPX Aring q -21 +KPX Aring quotedblright -90 +KPX Aring quoteright -92 +KPX Aring t -28 +KPX Aring u -15 +KPX Aring v -39 +KPX Aring w -33 +KPX Aring y -37 +KPX Atilde C -36 +KPX Atilde G -38 +KPX Atilde O -38 +KPX Atilde Q -38 +KPX Atilde T -50 +KPX Atilde U -29 +KPX Atilde V -72 +KPX Atilde W -47 +KPX Atilde Y -77 +KPX Atilde comma -5 +KPX Atilde period 13 +KPX B A -8 +KPX B AE -21 +KPX B Aacute -8 +KPX B Acircumflex -8 +KPX B Adieresis -8 +KPX B Aring -8 +KPX B Atilde -8 +KPX B O 6 +KPX B OE 7 +KPX B Oacute 6 +KPX B Ocircumflex 6 +KPX B Odieresis 6 +KPX B Ograve 6 +KPX B Oslash 9 +KPX B V -24 +KPX B W -2 +KPX B Y -26 +KPX C A -22 +KPX C AE -45 +KPX C Aacute -22 +KPX C Adieresis -22 +KPX C Aring -22 +KPX C H 0 +KPX C K 0 +KPX C O -18 +KPX C Oacute -18 +KPX C Odieresis -18 +KPX Ccedilla A -22 +KPX D A -37 +KPX D Aacute -37 +KPX D Acircumflex -37 +KPX D Adieresis -37 +KPX D Agrave -37 +KPX D Aring -37 +KPX D Atilde -37 +KPX D J -5 +KPX D T -40 +KPX D V -36 +KPX D W -14 +KPX D X -29 +KPX D Y -44 +KPX F A -56 +KPX F Aacute -56 +KPX F Acircumflex -56 +KPX F Adieresis -56 +KPX F Agrave -56 +KPX F Aring -56 +KPX F Atilde -56 +KPX F J -55 +KPX F O 0 +KPX F Odieresis 0 +KPX F a -3 +KPX F aacute -3 +KPX F adieresis -3 +KPX F ae -3 +KPX F aring -3 +KPX F comma -98 +KPX F e -3 +KPX F eacute -3 +KPX F hyphen 23 +KPX F i -5 +KPX F j -7 +KPX F o -3 +KPX F oacute -3 +KPX F odieresis -3 +KPX F oe -3 +KPX F oslash -5 +KPX F period -80 +KPX F r -11 +KPX F u -11 +KPX G A -40 +KPX G AE -64 +KPX G Aacute -40 +KPX G Acircumflex -40 +KPX G Adieresis -40 +KPX G Agrave -40 +KPX G Aring -40 +KPX G Atilde -40 +KPX G T -45 +KPX G V -43 +KPX G W -22 +KPX G Y -48 +KPX J A -27 +KPX J AE -39 +KPX J Adieresis -27 +KPX J Aring -27 +KPX K C -36 +KPX K G -38 +KPX K O -38 +KPX K OE -37 +KPX K Oacute -38 +KPX K Odieresis -38 +KPX K S -16 +KPX K T 37 +KPX K a -44 +KPX K adieresis -44 +KPX K ae -44 +KPX K aring -44 +KPX K e -45 +KPX K hyphen -29 +KPX K o -44 +KPX K oacute -44 +KPX K odieresis -44 +KPX K u -38 +KPX K udieresis -38 +KPX K y -44 +KPX L A 34 +KPX L AE 34 +KPX L Aacute 34 +KPX L Adieresis 34 +KPX L Aring 34 +KPX L C -46 +KPX L Ccedilla -49 +KPX L G -48 +KPX L O -49 +KPX L Oacute -49 +KPX L Ocircumflex -49 +KPX L Odieresis -49 +KPX L Ograve -49 +KPX L Otilde -49 +KPX L S 7 +KPX L T -47 +KPX L U -25 +KPX L Udieresis -25 +KPX L V -100 +KPX L W -59 +KPX L Y -88 +KPX L hyphen -79 +KPX L quotedblright -114 +KPX L quoteright -116 +KPX L u -14 +KPX L udieresis -14 +KPX L y -59 +KPX N A 0 +KPX N AE -1 +KPX N Aacute 0 +KPX N Adieresis 0 +KPX N Aring 0 +KPX N C 10 +KPX N Ccedilla 11 +KPX N G 9 +KPX N O 9 +KPX N Oacute 9 +KPX N Odieresis 9 +KPX N a 8 +KPX N aacute 8 +KPX N adieresis 8 +KPX N ae 7 +KPX N aring 8 +KPX N comma -15 +KPX N e 7 +KPX N eacute 7 +KPX N o 8 +KPX N oacute 8 +KPX N odieresis 8 +KPX N oslash 9 +KPX N period 3 +KPX N u 13 +KPX N udieresis 13 +KPX O A -39 +KPX O AE -68 +KPX O Aacute -39 +KPX O Adieresis -39 +KPX O Aring -39 +KPX O T -42 +KPX O V -38 +KPX O W -16 +KPX O X -31 +KPX O Y -46 +KPX Oacute A -39 +KPX Oacute T -42 +KPX Oacute V -38 +KPX Oacute W -16 +KPX Oacute Y -46 +KPX Ocircumflex T -42 +KPX Ocircumflex V -38 +KPX Ocircumflex Y -46 +KPX Odieresis A -39 +KPX Odieresis T -42 +KPX Odieresis V -38 +KPX Odieresis W -16 +KPX Odieresis X -31 +KPX Odieresis Y -46 +KPX Ograve T -42 +KPX Ograve V -38 +KPX Ograve Y -46 +KPX Oslash A -36 +KPX Otilde T -42 +KPX Otilde V -38 +KPX Otilde Y -46 +KPX P A -61 +KPX P AE -108 +KPX P Aacute -61 +KPX P Adieresis -61 +KPX P Aring -61 +KPX P J -68 +KPX P a -16 +KPX P aacute -16 +KPX P adieresis -16 +KPX P ae -16 +KPX P aring -16 +KPX P comma -125 +KPX P e -15 +KPX P eacute -15 +KPX P hyphen -4 +KPX P o -15 +KPX P oacute -15 +KPX P odieresis -15 +KPX P oe -15 +KPX P oslash -19 +KPX P period -106 +KPX R C 2 +KPX R Ccedilla 3 +KPX R G 1 +KPX R O 2 +KPX R OE 2 +KPX R Oacute 2 +KPX R Odieresis 2 +KPX R T -4 +KPX R U 11 +KPX R Udieresis 11 +KPX R V -11 +KPX R W -3 +KPX R Y -14 +KPX R a -7 +KPX R aacute -7 +KPX R adieresis -7 +KPX R ae -7 +KPX R aring -7 +KPX R e -7 +KPX R eacute -7 +KPX R hyphen 3 +KPX R o -7 +KPX R oacute -7 +KPX R odieresis -7 +KPX R oe -7 +KPX R u 7 +KPX R uacute 7 +KPX R udieresis 7 +KPX R y 20 +KPX S A -5 +KPX S AE -16 +KPX S Aacute -5 +KPX S Adieresis -5 +KPX S Aring -5 +KPX S T 3 +KPX S V -9 +KPX S W 3 +KPX S Y -10 +KPX S t 17 +KPX T A -50 +KPX T AE -51 +KPX T Aacute -50 +KPX T Acircumflex -50 +KPX T Adieresis -50 +KPX T Agrave -50 +KPX T Aring -50 +KPX T Atilde -50 +KPX T C -40 +KPX T G -41 +KPX T J -49 +KPX T O -42 +KPX T OE -40 +KPX T Oacute -42 +KPX T Ocircumflex -42 +KPX T Odieresis -42 +KPX T Ograve -42 +KPX T Oslash -38 +KPX T Otilde -42 +KPX T S 0 +KPX T V 34 +KPX T W 35 +KPX T Y 38 +KPX T a -48 +KPX T ae -48 +KPX T c -49 +KPX T colon -53 +KPX T comma -65 +KPX T e -48 +KPX T g -48 +KPX T guillemotleft -42 +KPX T guilsinglleft -42 +KPX T hyphen -11 +KPX T i 8 +KPX T j 6 +KPX T o -48 +KPX T oslash -45 +KPX T period -47 +KPX T r -33 +KPX T s -32 +KPX T semicolon -62 +KPX T u -40 +KPX T v -50 +KPX T w -49 +KPX T y -50 +KPX U A -30 +KPX U AE -50 +KPX U Aacute -30 +KPX U Acircumflex -30 +KPX U Adieresis -30 +KPX U Aring -30 +KPX U Atilde -30 +KPX U comma -36 +KPX U m 13 +KPX U n 13 +KPX U p 13 +KPX U period -15 +KPX U r 13 +KPX Uacute A -30 +KPX Uacute comma -36 +KPX Uacute m 13 +KPX Uacute n 13 +KPX Uacute p 13 +KPX Uacute period -15 +KPX Uacute r 13 +KPX Ucircumflex A -30 +KPX Udieresis A -30 +KPX Udieresis b 13 +KPX Udieresis comma -36 +KPX Udieresis m 13 +KPX Udieresis n 13 +KPX Udieresis p 13 +KPX Udieresis period -15 +KPX Udieresis r 13 +KPX Ugrave A -30 +KPX V A -72 +KPX V AE -118 +KPX V Aacute -72 +KPX V Acircumflex -72 +KPX V Adieresis -72 +KPX V Agrave -72 +KPX V Aring -72 +KPX V Atilde -72 +KPX V C -37 +KPX V G -38 +KPX V O -39 +KPX V Oacute -39 +KPX V Ocircumflex -39 +KPX V Odieresis -39 +KPX V Ograve -39 +KPX V Oslash -35 +KPX V Otilde -39 +KPX V S -12 +KPX V T 35 +KPX V a -59 +KPX V ae -59 +KPX V colon -60 +KPX V comma -110 +KPX V e -59 +KPX V g -59 +KPX V guillemotleft -49 +KPX V guilsinglleft -49 +KPX V hyphen -25 +KPX V i 6 +KPX V o -59 +KPX V oslash -58 +KPX V period -92 +KPX V r -32 +KPX V semicolon -70 +KPX V u -34 +KPX V y -8 +KPX W A -48 +KPX W AE -73 +KPX W Aacute -48 +KPX W Acircumflex -48 +KPX W Adieresis -48 +KPX W Agrave -48 +KPX W Aring -48 +KPX W Atilde -48 +KPX W C -14 +KPX W G -15 +KPX W O -16 +KPX W Oacute -16 +KPX W Ocircumflex -16 +KPX W Odieresis -16 +KPX W Ograve -16 +KPX W Oslash -12 +KPX W Otilde -16 +KPX W S 0 +KPX W T 35 +KPX W a -30 +KPX W ae -30 +KPX W colon -38 +KPX W comma -71 +KPX W e -30 +KPX W g -30 +KPX W guillemotleft -21 +KPX W guilsinglleft -21 +KPX W hyphen 3 +KPX W i 6 +KPX W o -30 +KPX W oslash -28 +KPX W period -53 +KPX W r -15 +KPX W semicolon -47 +KPX W u -21 +KPX W y 4 +KPX X C -29 +KPX X O -31 +KPX X Odieresis -31 +KPX X Q -30 +KPX X a -36 +KPX X e -37 +KPX X hyphen -17 +KPX X o -36 +KPX X u -29 +KPX X y -37 +KPX Y A -78 +KPX Y AE -93 +KPX Y Aacute -78 +KPX Y Acircumflex -78 +KPX Y Adieresis -78 +KPX Y Agrave -78 +KPX Y Aring -78 +KPX Y Atilde -78 +KPX Y C -44 +KPX Y G -46 +KPX Y O -46 +KPX Y Oacute -46 +KPX Y Ocircumflex -46 +KPX Y Odieresis -46 +KPX Y Ograve -46 +KPX Y Oslash -42 +KPX Y Otilde -46 +KPX Y S -13 +KPX Y T 39 +KPX Y a -68 +KPX Y ae -68 +KPX Y colon -69 +KPX Y comma -107 +KPX Y e -68 +KPX Y g -68 +KPX Y guillemotleft -63 +KPX Y guilsinglleft -62 +KPX Y hyphen -45 +KPX Y i 10 +KPX Y o -68 +KPX Y oslash -66 +KPX Y p -38 +KPX Y period -89 +KPX Y semicolon -78 +KPX Y u -40 +KPX Y v -14 +KPX Z v -8 +KPX Z y -8 +KPX a j 14 +KPX a quoteright -7 +KPX a v 5 +KPX a w 6 +KPX a y 5 +KPX aacute v 5 +KPX aacute w 6 +KPX aacute y 5 +KPX adieresis v 5 +KPX adieresis w 6 +KPX adieresis y 5 +KPX ae v -23 +KPX ae w -20 +KPX ae y -22 +KPX agrave v 5 +KPX agrave w 6 +KPX agrave y 5 +KPX aring v 5 +KPX aring w 6 +KPX aring y 5 +KPX b v -25 +KPX b w -19 +KPX b y -23 +KPX c h -4 +KPX c k -4 +KPX comma one -64 +KPX comma quotedblright -17 +KPX comma quoteright -19 +KPX e quoteright -31 +KPX e t -23 +KPX e v -24 +KPX e w -20 +KPX e x -20 +KPX e y -23 +KPX eacute v -24 +KPX eacute w -20 +KPX eacute y -23 +KPX ecircumflex v -24 +KPX ecircumflex w -20 +KPX ecircumflex y -23 +KPX eight four 17 +KPX eight one -84 +KPX eight seven -43 +KPX f a -20 +KPX f aacute -20 +KPX f adieresis -20 +KPX f ae -21 +KPX f aring -20 +KPX f e -19 +KPX f eacute -19 +KPX f f 32 +KPX f i 9 +KPX f j 7 +KPX f l 9 +KPX f o -19 +KPX f oacute -19 +KPX f odieresis -19 +KPX f oe -19 +KPX f oslash -24 +KPX f quoteright -5 +KPX f s 13 +KPX f t 34 +KPX five four 24 +KPX five one -77 +KPX five seven -32 +KPX four four 24 +KPX four one -81 +KPX four seven -35 +KPX g a 7 +KPX g adieresis 7 +KPX g ae 7 +KPX g aring 7 +KPX g e 7 +KPX g eacute 7 +KPX g l 16 +KPX g oacute 7 +KPX g odieresis 7 +KPX g r 16 +KPX guillemotright A -22 +KPX guillemotright AE -60 +KPX guillemotright Aacute -22 +KPX guillemotright Adieresis -22 +KPX guillemotright Aring -22 +KPX guillemotright T -42 +KPX guillemotright V -48 +KPX guillemotright W -21 +KPX guillemotright Y -62 +KPX guilsinglright A -22 +KPX guilsinglright AE -60 +KPX guilsinglright Aacute -22 +KPX guilsinglright Adieresis -22 +KPX guilsinglright Aring -22 +KPX guilsinglright T -41 +KPX guilsinglright V -48 +KPX guilsinglright W -21 +KPX guilsinglright Y -61 +KPX h quoteright -30 +KPX h y -17 +KPX hyphen A 13 +KPX hyphen AE -21 +KPX hyphen Aacute 13 +KPX hyphen Adieresis 13 +KPX hyphen Aring 13 +KPX hyphen T -11 +KPX hyphen V -24 +KPX hyphen W 4 +KPX hyphen Y -43 +KPX i T 8 +KPX i j 13 +KPX k a -28 +KPX k aacute -28 +KPX k adieresis -28 +KPX k ae -28 +KPX k aring -28 +KPX k comma -21 +KPX k e -28 +KPX k eacute -28 +KPX k g -29 +KPX k hyphen -36 +KPX k o -28 +KPX k oacute -28 +KPX k odieresis -28 +KPX k period -7 +KPX k s -5 +KPX k u 1 +KPX k udieresis 1 +KPX l v 5 +KPX l y 5 +KPX m p 14 +KPX m v -17 +KPX m w -12 +KPX m y -15 +KPX n T -41 +KPX n p 13 +KPX n quoteright -30 +KPX n v -19 +KPX n w -14 +KPX n y -17 +KPX nine four -33 +KPX nine one -77 +KPX nine seven -31 +KPX o T -47 +KPX o quoteright -31 +KPX o t -22 +KPX o v -24 +KPX o w -18 +KPX o x -18 +KPX o y -21 +KPX oacute v -24 +KPX oacute w -18 +KPX oacute y -21 +KPX ocircumflex t -22 +KPX odieresis t -22 +KPX odieresis v -24 +KPX odieresis w -18 +KPX odieresis x -18 +KPX odieresis y -21 +KPX ograve v -24 +KPX ograve w -18 +KPX ograve y -21 +KPX one comma -77 +KPX one eight -46 +KPX one five -46 +KPX one four -62 +KPX one nine -52 +KPX one one -133 +KPX one period -58 +KPX one seven -88 +KPX one six -49 +KPX one three -55 +KPX one two -51 +KPX one zero -27 +KPX p t -23 +KPX p y -23 +KPX period one -100 +KPX period quotedblright -56 +KPX period quoteright -58 +KPX q c 7 +KPX q u 13 +KPX quotedblbase A 6 +KPX quotedblbase AE -8 +KPX quotedblbase T -52 +KPX quotedblbase V -96 +KPX quotedblbase W -57 +KPX quotedblbase Y -93 +KPX quotedblleft A -95 +KPX quotedblleft AE -172 +KPX quotedblleft Aacute -95 +KPX quotedblleft Adieresis -95 +KPX quotedblleft Aring -95 +KPX quotedblleft T -19 +KPX quotedblleft V 3 +KPX quotedblleft W 12 +KPX quotedblleft Y 0 +KPX quotedblright A -101 +KPX quotedblright AE -179 +KPX quotedblright Aacute -101 +KPX quotedblright Adieresis -101 +KPX quotedblright Aring -101 +KPX quotedblright T -5 +KPX quotedblright V 0 +KPX quotedblright W 7 +KPX quotedblright Y -4 +KPX quoteleft A -92 +KPX quoteleft AE -170 +KPX quoteleft Aacute -92 +KPX quoteleft Adieresis -92 +KPX quoteleft Aring -92 +KPX quoteleft T -17 +KPX quoteleft V 6 +KPX quoteleft W 14 +KPX quoteleft Y 2 +KPX quoteright A -105 +KPX quoteright AE -183 +KPX quoteright Aacute -105 +KPX quoteright Adieresis -105 +KPX quoteright Aring -105 +KPX quoteright comma -100 +KPX quoteright d -56 +KPX quoteright o -55 +KPX quoteright period -80 +KPX quoteright r -30 +KPX quoteright s -27 +KPX quoteright t -32 +KPX quoteright v -21 +KPX quoteright w -19 +KPX quoteright y -21 +KPX r a -28 +KPX r aacute -28 +KPX r acircumflex -28 +KPX r adieresis -28 +KPX r ae -28 +KPX r agrave -28 +KPX r aring -28 +KPX r c -30 +KPX r ccedilla -25 +KPX r colon -12 +KPX r comma -70 +KPX r d -29 +KPX r e -28 +KPX r eacute -28 +KPX r ecircumflex -28 +KPX r egrave -28 +KPX r f 29 +KPX r g -18 +KPX r h 6 +KPX r hyphen -19 +KPX r i 6 +KPX r j 4 +KPX r k 6 +KPX r l 6 +KPX r m 6 +KPX r n 6 +KPX r o -28 +KPX r oacute -28 +KPX r ocircumflex -28 +KPX r odieresis -28 +KPX r oe -27 +KPX r ograve -28 +KPX r oslash -33 +KPX r p 6 +KPX r period -53 +KPX r q -29 +KPX r quoteright -8 +KPX r r 6 +KPX r s 8 +KPX r semicolon -24 +KPX r t 31 +KPX r u 6 +KPX r v 32 +KPX r w 33 +KPX r x 31 +KPX r y 32 +KPX r z 27 +KPX s quoteright -16 +KPX s t 8 +KPX seven colon -75 +KPX seven comma -133 +KPX seven eight -41 +KPX seven five -47 +KPX seven four -81 +KPX seven one -65 +KPX seven period -115 +KPX seven seven -20 +KPX seven six -60 +KPX seven three -42 +KPX seven two -27 +KPX six four 24 +KPX six one -94 +KPX six seven -64 +KPX t S 14 +KPX t a -25 +KPX t aacute -25 +KPX t adieresis -25 +KPX t ae -25 +KPX t aring -25 +KPX t colon -13 +KPX t e -24 +KPX t eacute -24 +KPX t h 4 +KPX t o -24 +KPX t oacute -24 +KPX t odieresis -24 +KPX t quoteright -9 +KPX t semicolon -25 +KPX three four 12 +KPX three one -91 +KPX three seven -51 +KPX two four -19 +KPX two one -81 +KPX two seven -35 +KPX u quoteright -7 +KPX v a -25 +KPX v aacute -25 +KPX v acircumflex -25 +KPX v adieresis -25 +KPX v ae -25 +KPX v agrave -25 +KPX v aring -25 +KPX v atilde -25 +KPX v c -26 +KPX v colon -21 +KPX v comma -87 +KPX v e -25 +KPX v eacute -25 +KPX v ecircumflex -25 +KPX v egrave -25 +KPX v g -21 +KPX v hyphen 0 +KPX v l 6 +KPX v o -25 +KPX v oacute -25 +KPX v odieresis -25 +KPX v ograve -25 +KPX v oslash -24 +KPX v period -70 +KPX v s -2 +KPX v semicolon -31 +KPX w a -20 +KPX w aacute -20 +KPX w acircumflex -20 +KPX w adieresis -20 +KPX w ae -20 +KPX w agrave -20 +KPX w aring -20 +KPX w atilde -20 +KPX w c -21 +KPX w colon -19 +KPX w comma -79 +KPX w e -20 +KPX w eacute -20 +KPX w ecircumflex -20 +KPX w egrave -20 +KPX w g -18 +KPX w hyphen 6 +KPX w l 7 +KPX w o -20 +KPX w oacute -20 +KPX w odieresis -20 +KPX w ograve -20 +KPX w oslash -19 +KPX w period -62 +KPX w s 0 +KPX w semicolon -29 +KPX x a -19 +KPX x c -20 +KPX x e -19 +KPX x eacute -19 +KPX x o -19 +KPX x q -19 +KPX y a -26 +KPX y aacute -26 +KPX y acircumflex -26 +KPX y adieresis -26 +KPX y ae -26 +KPX y agrave -26 +KPX y aring -26 +KPX y atilde -26 +KPX y c -27 +KPX y colon -21 +KPX y comma -89 +KPX y e -26 +KPX y eacute -26 +KPX y ecircumflex -26 +KPX y egrave -26 +KPX y g -22 +KPX y hyphen 0 +KPX y l 6 +KPX y o -26 +KPX y oacute -26 +KPX y odieresis -26 +KPX y ograve -26 +KPX y oslash -25 +KPX y period -72 +KPX y s -3 +KPX y semicolon -31 +KPX zero four 22 +KPX zero one -66 +KPX zero seven -30 +EndKernPairs +EndKernData +EndFontMetrics diff --git a/Master/xemtex/gsfonts/a010013l.pfb b/Master/xemtex/gsfonts/a010013l.pfb new file mode 100644 index 00000000000..2ff1adcfe43 Binary files /dev/null and b/Master/xemtex/gsfonts/a010013l.pfb differ diff --git a/Master/xemtex/gsfonts/a010013l.pfm b/Master/xemtex/gsfonts/a010013l.pfm new file mode 100644 index 00000000000..b3fd5b93750 Binary files /dev/null and b/Master/xemtex/gsfonts/a010013l.pfm differ diff --git a/Master/xemtex/gsfonts/a010015l.afm b/Master/xemtex/gsfonts/a010015l.afm new file mode 100644 index 00000000000..8946a1879e5 --- /dev/null +++ b/Master/xemtex/gsfonts/a010015l.afm @@ -0,0 +1,1341 @@ +StartFontMetrics 3.0 +Comment Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development +Comment Creation Date: 12/22/1999 +Comment See the file PUBLIC (Aladdin Free Public License) for license conditions. +FontName URWGothicL-Demi +FullName URW Gothic L Demi +FamilyName URW Gothic L +Weight Demi +ItalicAngle 0.0 +IsFixedPitch false +UnderlinePosition -93 +UnderlineThickness 90 +Version 1.05 +Notice (URW)++,Copyright 1999 by (URW)++ Design & Development +EncodingScheme AdobeStandardEncoding +FontBBox -121 -251 1248 1000 +CapHeight 739 +XHeight 554 +Descender -185 +Ascender 739 +StartCharMetrics 316 +C 32 ; WX 280 ; N space ; B 0 0 0 0 ; +C 33 ; WX 280 ; N exclam ; B 72 0 205 739 ; +C 34 ; WX 360 ; N quotedbl ; B 74 513 283 739 ; +C 35 ; WX 560 ; N numbersign ; B 34 0 526 739 ; +C 36 ; WX 560 ; N dollar ; B 59 -86 494 856 ; +C 37 ; WX 860 ; N percent ; B 21 -13 835 752 ; +C 38 ; WX 680 ; N ampersand ; B 35 -13 664 752 ; +C 39 ; WX 280 ; N quoteright ; B 72 466 205 739 ; +C 40 ; WX 380 ; N parenleft ; B 74 -137 349 739 ; +C 41 ; WX 380 ; N parenright ; B 37 -137 312 739 ; +C 42 ; WX 440 ; N asterisk ; B 70 441 371 739 ; +C 43 ; WX 600 ; N plus ; B 51 117 555 625 ; +C 44 ; WX 280 ; N comma ; B 72 -140 205 128 ; +C 45 ; WX 420 ; N hyphen ; B 74 229 351 347 ; +C 46 ; WX 280 ; N period ; B 72 0 205 128 ; +C 47 ; WX 460 ; N slash ; B 26 -128 443 739 ; +C 48 ; WX 560 ; N zero ; B 30 -13 525 752 ; +C 49 ; WX 560 ; N one ; B 153 0 379 739 ; +C 50 ; WX 560 ; N two ; B 34 0 520 752 ; +C 51 ; WX 560 ; N three ; B 15 -13 518 752 ; +C 52 ; WX 560 ; N four ; B 0 0 530 739 ; +C 53 ; WX 560 ; N five ; B 12 -13 520 739 ; +C 54 ; WX 560 ; N six ; B 21 -13 533 739 ; +C 55 ; WX 560 ; N seven ; B 65 0 500 739 ; +C 56 ; WX 560 ; N eight ; B 31 -13 523 752 ; +C 57 ; WX 560 ; N nine ; B 22 0 532 752 ; +C 58 ; WX 280 ; N colon ; B 72 0 205 502 ; +C 59 ; WX 280 ; N semicolon ; B 72 -140 205 502 ; +C 60 ; WX 600 ; N less ; B 49 33 558 582 ; +C 61 ; WX 600 ; N equal ; B 51 210 555 523 ; +C 62 ; WX 600 ; N greater ; B 48 33 557 582 ; +C 63 ; WX 560 ; N question ; B 32 0 485 752 ; +C 64 ; WX 740 ; N at ; B 3 -13 745 766 ; +C 65 ; WX 740 ; N A ; B 7 0 733 739 ; +C 66 ; WX 580 ; N B ; B 68 0 548 739 ; +C 67 ; WX 780 ; N C ; B 30 -13 760 752 ; +C 68 ; WX 700 ; N D ; B 68 0 660 739 ; +C 69 ; WX 520 ; N E ; B 68 0 465 739 ; +C 70 ; WX 480 ; N F ; B 68 0 444 739 ; +C 71 ; WX 840 ; N G ; B 30 -13 818 752 ; +C 72 ; WX 680 ; N H ; B 68 0 606 739 ; +C 73 ; WX 280 ; N I ; B 68 0 205 739 ; +C 74 ; WX 480 ; N J ; B 9 -13 414 739 ; +C 75 ; WX 620 ; N K ; B 68 0 599 739 ; +C 76 ; WX 440 ; N L ; B 68 0 431 739 ; +C 77 ; WX 900 ; N M ; B 68 0 840 739 ; +C 78 ; WX 740 ; N N ; B 68 0 667 739 ; +C 79 ; WX 840 ; N O ; B 30 -13 800 752 ; +C 80 ; WX 560 ; N P ; B 68 0 540 739 ; +C 81 ; WX 840 ; N Q ; B 30 -15 828 752 ; +C 82 ; WX 580 ; N R ; B 68 0 568 739 ; +C 83 ; WX 520 ; N S ; B 14 -13 493 752 ; +C 84 ; WX 420 ; N T ; B 7 0 418 739 ; +C 85 ; WX 640 ; N U ; B 68 -13 567 739 ; +C 86 ; WX 700 ; N V ; B 8 0 694 739 ; +C 87 ; WX 900 ; N W ; B 7 0 898 739 ; +C 88 ; WX 680 ; N X ; B 5 0 676 739 ; +C 89 ; WX 620 ; N Y ; B 3 0 626 739 ; +C 90 ; WX 500 ; N Z ; B 18 0 480 739 ; +C 91 ; WX 320 ; N bracketleft ; B 74 -137 292 739 ; +C 92 ; WX 640 ; N backslash ; B 84 0 503 739 ; +C 93 ; WX 320 ; N bracketright ; B 37 -137 255 739 ; +C 94 ; WX 600 ; N asciicircum ; B 63 313 543 739 ; +C 95 ; WX 500 ; N underscore ; B 0 -138 500 -48 ; +C 96 ; WX 280 ; N quoteleft ; B 72 466 205 739 ; +C 97 ; WX 660 ; N a ; B 30 -13 615 567 ; +C 98 ; WX 660 ; N b ; B 54 -13 638 739 ; +C 99 ; WX 640 ; N c ; B 30 -13 601 567 ; +C 100 ; WX 660 ; N d ; B 30 -13 613 739 ; +C 101 ; WX 640 ; N e ; B 30 -13 608 567 ; +C 102 ; WX 280 ; N f ; B 10 0 274 739 ; +C 103 ; WX 660 ; N g ; B 30 -221 611 567 ; +C 104 ; WX 600 ; N h ; B 54 0 545 739 ; +C 105 ; WX 240 ; N i ; B 54 0 187 739 ; +C 106 ; WX 260 ; N j ; B 17 -185 205 739 ; +C 107 ; WX 580 ; N k ; B 54 0 555 739 ; +C 108 ; WX 240 ; N l ; B 54 0 187 739 ; +C 109 ; WX 940 ; N m ; B 54 0 885 567 ; +C 110 ; WX 600 ; N n ; B 54 0 546 567 ; +C 111 ; WX 640 ; N o ; B 30 -13 619 567 ; +C 112 ; WX 660 ; N p ; B 54 -185 634 567 ; +C 113 ; WX 660 ; N q ; B 30 -185 611 567 ; +C 114 ; WX 320 ; N r ; B 54 0 306 567 ; +C 115 ; WX 440 ; N s ; B 19 -13 420 567 ; +C 116 ; WX 300 ; N t ; B 9 0 287 739 ; +C 117 ; WX 600 ; N u ; B 54 -13 547 554 ; +C 118 ; WX 560 ; N v ; B 1 0 553 554 ; +C 119 ; WX 800 ; N w ; B 10 0 785 554 ; +C 120 ; WX 560 ; N x ; B 1 0 553 554 ; +C 121 ; WX 580 ; N y ; B 6 -185 568 554 ; +C 122 ; WX 460 ; N z ; B 20 0 442 554 ; +C 123 ; WX 340 ; N braceleft ; B 37 -129 302 740 ; +C 124 ; WX 600 ; N bar ; B 243 0 362 739 ; +C 125 ; WX 340 ; N braceright ; B 38 -129 303 740 ; +C 126 ; WX 600 ; N asciitilde ; B 51 214 555 421 ; +C 161 ; WX 280 ; N exclamdown ; B 72 -185 205 554 ; +C 162 ; WX 560 ; N cent ; B 39 39 511 715 ; +C 163 ; WX 560 ; N sterling ; B 0 0 563 752 ; +C 164 ; WX 160 ; N fraction ; B -121 0 280 739 ; +C 165 ; WX 560 ; N yen ; B -35 0 589 739 ; +C 166 ; WX 560 ; N florin ; B -17 -149 494 823 ; +C 167 ; WX 560 ; N section ; B 40 -157 529 752 ; +C 168 ; WX 560 ; N currency ; B 27 148 534 654 ; +C 169 ; WX 220 ; N quotesingle ; B 74 513 150 739 ; +C 170 ; WX 480 ; N quotedblleft ; B 70 466 410 739 ; +C 171 ; WX 460 ; N guillemotleft ; B 36 108 388 469 ; +C 172 ; WX 240 ; N guilsinglleft ; B 36 108 175 469 ; +C 173 ; WX 240 ; N guilsinglright ; B 73 108 212 469 ; +C 174 ; WX 520 ; N fi ; B 8 0 461 739 ; +C 175 ; WX 520 ; N fl ; B 8 0 461 739 ; +C 177 ; WX 500 ; N endash ; B 0 229 500 347 ; +C 178 ; WX 560 ; N dagger ; B 48 -128 505 739 ; +C 179 ; WX 560 ; N daggerdbl ; B 48 -128 505 739 ; +C 180 ; WX 280 ; N periodcentered ; B 72 300 205 433 ; +C 182 ; WX 600 ; N paragraph ; B 37 -128 527 739 ; +C 183 ; WX 600 ; N bullet ; B 134 147 471 484 ; +C 184 ; WX 280 ; N quotesinglbase ; B 70 -140 203 128 ; +C 185 ; WX 480 ; N quotedblbase ; B 70 -140 410 128 ; +C 186 ; WX 480 ; N quotedblright ; B 70 466 410 739 ; +C 187 ; WX 460 ; N guillemotright ; B 73 108 425 469 ; +C 188 ; WX 1000 ; N ellipsis ; B 100 0 899 128 ; +C 189 ; WX 1280 ; N perthousand ; B 21 -13 1248 752 ; +C 191 ; WX 560 ; N questiondown ; B 69 -198 522 554 ; +C 193 ; WX 420 ; N grave ; B 74 613 353 825 ; +C 194 ; WX 420 ; N acute ; B 74 613 352 825 ; +C 195 ; WX 540 ; N circumflex ; B 74 630 473 768 ; +C 196 ; WX 480 ; N tilde ; B 74 636 405 772 ; +C 197 ; WX 420 ; N macron ; B 74 648 351 748 ; +C 198 ; WX 480 ; N breve ; B 74 630 404 769 ; +C 199 ; WX 280 ; N dotaccent ; B 74 630 207 763 ; +C 200 ; WX 500 ; N dieresis ; B 74 630 417 763 ; +C 202 ; WX 360 ; N ring ; B 74 610 280 816 ; +C 203 ; WX 340 ; N cedilla ; B 74 -251 270 0 ; +C 205 ; WX 700 ; N hungarumlaut ; B 74 613 629 825 ; +C 206 ; WX 340 ; N ogonek ; B 74 -204 256 0 ; +C 207 ; WX 540 ; N caron ; B 74 630 473 768 ; +C 208 ; WX 1000 ; N emdash ; B 0 229 1000 347 ; +C 225 ; WX 900 ; N AE ; B 17 0 843 739 ; +C 227 ; WX 360 ; N ordfeminine ; B 28 310 342 750 ; +C 232 ; WX 480 ; N Lslash ; B 14 0 473 739 ; +C 233 ; WX 840 ; N Oslash ; B 30 -65 803 809 ; +C 234 ; WX 1060 ; N OE ; B 38 -13 1004 752 ; +C 235 ; WX 360 ; N ordmasculine ; B 31 311 338 750 ; +C 241 ; WX 1080 ; N ae ; B 30 -13 1051 567 ; +C 245 ; WX 240 ; N dotlessi ; B 54 0 187 554 ; +C 248 ; WX 320 ; N lslash ; B 17 0 312 739 ; +C 249 ; WX 660 ; N oslash ; B 30 -67 620 623 ; +C 250 ; WX 1080 ; N oe ; B 30 -13 1048 567 ; +C 251 ; WX 600 ; N germandbls ; B 51 -13 584 752 ; +C -1 ; WX 640 ; N Udieresis ; B 68 -13 567 938 ; +C -1 ; WX 640 ; N Uacute ; B 68 -13 567 1000 ; +C -1 ; WX 520 ; N Scedilla ; B 14 -251 493 752 ; +C -1 ; WX 420 ; N Tcaron ; B 7 0 418 943 ; +C -1 ; WX 520 ; N Scaron ; B 14 -13 493 943 ; +C -1 ; WX 580 ; N Rcaron ; B 68 0 568 943 ; +C -1 ; WX 580 ; N Racute ; B 68 0 568 1000 ; +C -1 ; WX 520 ; N Sacute ; B 14 -13 493 1000 ; +C -1 ; WX 840 ; N Otilde ; B 30 -13 800 947 ; +C -1 ; WX 600 ; N ucircumflex ; B 54 -13 547 768 ; +C -1 ; WX 840 ; N Ohungarumlaut ; B 30 -13 800 1000 ; +C -1 ; WX 640 ; N Uhungarumlaut ; B 44 -13 599 1000 ; +C -1 ; WX 620 ; N Yacute ; B 3 0 626 1000 ; +C -1 ; WX 742 ; N Eth ; B 14 0 702 739 ; +C -1 ; WX 742 ; N Dcroat ; B 14 0 702 739 ; +C -1 ; WX 500 ; N Zacute ; B 18 0 480 1000 ; +C -1 ; WX 640 ; N Uring ; B 68 -13 567 991 ; +C -1 ; WX 660 ; N gbreve ; B 30 -221 611 769 ; +C -1 ; WX 640 ; N eogonek ; B 30 -204 608 567 ; +C -1 ; WX 640 ; N edotaccent ; B 30 -13 608 763 ; +C -1 ; WX 640 ; N ecaron ; B 30 -13 608 768 ; +C -1 ; WX 640 ; N Ugrave ; B 68 -13 567 1000 ; +C -1 ; WX 560 ; N Thorn ; B 68 0 540 739 ; +C -1 ; WX 640 ; N eacute ; B 30 -13 608 825 ; +C -1 ; WX 640 ; N edieresis ; B 30 -13 608 763 ; +C -1 ; WX 754 ; N dcaron ; B 30 -13 794 739 ; +C -1 ; WX 640 ; N ccedilla ; B 30 -251 601 567 ; +C -1 ; WX 640 ; N ccaron ; B 30 -13 601 768 ; +C -1 ; WX 640 ; N cacute ; B 30 -13 601 825 ; +C -1 ; WX 660 ; N aogonek ; B 30 -204 641 567 ; +C -1 ; WX 660 ; N aring ; B 30 -13 615 816 ; +C -1 ; WX 660 ; N atilde ; B 30 -13 615 772 ; +C -1 ; WX 660 ; N abreve ; B 30 -13 615 769 ; +C -1 ; WX 640 ; N egrave ; B 30 -13 608 825 ; +C -1 ; WX 660 ; N agrave ; B 30 -13 615 825 ; +C -1 ; WX 660 ; N aacute ; B 30 -13 615 825 ; +C -1 ; WX 660 ; N adieresis ; B 30 -13 615 763 ; +C -1 ; WX 640 ; N Uogonek ; B 68 -204 567 739 ; +C -1 ; WX 600 ; N ugrave ; B 54 -13 547 825 ; +C -1 ; WX 600 ; N uacute ; B 54 -13 547 825 ; +C -1 ; WX 600 ; N udieresis ; B 54 -13 547 763 ; +C -1 ; WX 369 ; N tcaron ; B 9 0 409 739 ; +C -1 ; WX 440 ; N scommaaccent ; B 19 -245 420 567 ; +C -1 ; WX 500 ; N Zcaron ; B 18 0 480 943 ; +C -1 ; WX 640 ; N ecircumflex ; B 30 -13 608 768 ; +C -1 ; WX 640 ; N Ucircumflex ; B 68 -13 567 943 ; +C -1 ; WX 660 ; N acircumflex ; B 30 -13 615 768 ; +C -1 ; WX 500 ; N Zdotaccent ; B 18 0 480 938 ; +C -1 ; WX 440 ; N scaron ; B 19 -13 423 768 ; +C -1 ; WX 740 ; N Amacron ; B 7 0 733 923 ; +C -1 ; WX 440 ; N sacute ; B 19 -13 420 825 ; +C -1 ; WX 420 ; N Tcommaaccent ; B 7 -245 418 739 ; +C -1 ; WX 620 ; N Ydieresis ; B 3 0 626 938 ; +C -1 ; WX 660 ; N thorn ; B 54 -185 634 739 ; +C -1 ; WX 520 ; N Emacron ; B 68 0 465 923 ; +C -1 ; WX 840 ; N Ograve ; B 30 -13 800 1000 ; +C -1 ; WX 840 ; N Oacute ; B 30 -13 800 1000 ; +C -1 ; WX 840 ; N Odieresis ; B 30 -13 800 938 ; +C -1 ; WX 740 ; N Ntilde ; B 68 0 667 947 ; +C -1 ; WX 740 ; N Ncaron ; B 68 0 667 943 ; +C -1 ; WX 740 ; N Nacute ; B 68 0 667 1000 ; +C -1 ; WX 440 ; N Lcaron ; B 68 0 440 739 ; +C -1 ; WX 440 ; N Lacute ; B 68 0 431 1000 ; +C -1 ; WX 280 ; N Idotaccent ; B 68 0 207 938 ; +C -1 ; WX 320 ; N racute ; B 24 0 306 825 ; +C -1 ; WX 280 ; N Icircumflex ; B -56 0 343 943 ; +C -1 ; WX 640 ; N ohungarumlaut ; B 30 -13 619 825 ; +C -1 ; WX 640 ; N otilde ; B 30 -13 619 772 ; +C -1 ; WX 560 ; N Euro ; B -33 -11 595 750 ; +C -1 ; WX 640 ; N ocircumflex ; B 30 -13 619 768 ; +C -1 ; WX 336 ; N onesuperior ; B 94 296 241 739 ; +C -1 ; WX 336 ; N twosuperior ; B 10 296 326 747 ; +C -1 ; WX 336 ; N threesuperior ; B 4 288 331 746 ; +C -1 ; WX 280 ; N Igrave ; B 4 0 283 1000 ; +C -1 ; WX 280 ; N Iacute ; B 4 0 282 1000 ; +C -1 ; WX 280 ; N Imacron ; B 4 0 281 923 ; +C -1 ; WX 280 ; N Iogonek ; B 49 -204 231 739 ; +C -1 ; WX 280 ; N Idieresis ; B -36 0 307 938 ; +C -1 ; WX 840 ; N Gbreve ; B 30 -13 818 944 ; +C -1 ; WX 640 ; N Umacron ; B 68 -13 567 923 ; +C -1 ; WX 620 ; N Kcommaaccent ; B 68 -245 599 739 ; +C -1 ; WX 640 ; N ograve ; B 30 -13 619 825 ; +C -1 ; WX 520 ; N Scommaaccent ; B 14 -245 493 752 ; +C -1 ; WX 520 ; N Eogonek ; B 68 -204 491 739 ; +C -1 ; WX 640 ; N oacute ; B 30 -13 619 825 ; +C -1 ; WX 520 ; N Edotaccent ; B 68 0 465 938 ; +C -1 ; WX 240 ; N iogonek ; B 31 -204 213 739 ; +C -1 ; WX 660 ; N gcommaaccent ; B 30 -221 611 799 ; +C -1 ; WX 640 ; N odieresis ; B 30 -13 619 763 ; +C -1 ; WX 600 ; N ntilde ; B 54 0 546 772 ; +C -1 ; WX 600 ; N ncaron ; B 54 0 546 768 ; +C -1 ; WX 520 ; N Ecaron ; B 64 0 465 943 ; +C -1 ; WX 520 ; N Ecircumflex ; B 64 0 465 943 ; +C -1 ; WX 440 ; N scedilla ; B 19 -251 420 567 ; +C -1 ; WX 320 ; N rcaron ; B -36 0 363 768 ; +C -1 ; WX 520 ; N Egrave ; B 68 0 465 1000 ; +C -1 ; WX 520 ; N Eacute ; B 68 0 465 1000 ; +C -1 ; WX 840 ; N Gcommaaccent ; B 30 -245 818 752 ; +C -1 ; WX 580 ; N Rcommaaccent ; B 68 -245 568 739 ; +C -1 ; WX 520 ; N Edieresis ; B 68 0 465 938 ; +C -1 ; WX 600 ; N nacute ; B 54 0 546 825 ; +C -1 ; WX 600 ; N uogonek ; B 54 -204 573 554 ; +C -1 ; WX 600 ; N umacron ; B 54 -13 547 748 ; +C -1 ; WX 700 ; N Dcaron ; B 68 0 660 943 ; +C -1 ; WX 330 ; N lcaron ; B 54 0 370 739 ; +C -1 ; WX 780 ; N Ccaron ; B 30 -13 760 943 ; +C -1 ; WX 780 ; N Cacute ; B 30 -13 760 1000 ; +C -1 ; WX 780 ; N Ccedilla ; B 30 -251 760 752 ; +C -1 ; WX 400 ; N degree ; B 50 380 350 686 ; +C -1 ; WX 740 ; N Aogonek ; B 7 -204 759 739 ; +C -1 ; WX 600 ; N minus ; B 51 312 555 430 ; +C -1 ; WX 600 ; N multiply ; B 51 114 555 618 ; +C -1 ; WX 600 ; N divide ; B 51 73 555 669 ; +C -1 ; WX 740 ; N Aring ; B 7 0 733 991 ; +C -1 ; WX 1000 ; N trademark ; B 71 345 929 739 ; +C -1 ; WX 320 ; N rcommaaccent ; B 54 -245 306 567 ; +C -1 ; WX 240 ; N lacute ; B -16 0 262 1000 ; +C -1 ; WX 640 ; N omacron ; B 30 -13 619 748 ; +C -1 ; WX 740 ; N Atilde ; B 7 0 733 947 ; +C -1 ; WX 240 ; N icircumflex ; B -76 0 323 768 ; +C -1 ; WX 240 ; N igrave ; B -16 0 263 825 ; +C -1 ; WX 600 ; N ncommaaccent ; B 54 -245 546 567 ; +C -1 ; WX 240 ; N lcommaaccent ; B 16 -245 187 739 ; +C -1 ; WX 600 ; N plusminus ; B 51 0 555 653 ; +C -1 ; WX 840 ; N onehalf ; B 94 0 830 739 ; +C -1 ; WX 840 ; N onequarter ; B 94 0 836 739 ; +C -1 ; WX 840 ; N threequarters ; B 4 0 836 746 ; +C -1 ; WX 240 ; N iacute ; B -16 0 262 825 ; +C -1 ; WX 740 ; N Abreve ; B 7 0 733 944 ; +C -1 ; WX 580 ; N kcommaaccent ; B 54 -245 555 739 ; +C -1 ; WX 840 ; N Omacron ; B 30 -13 800 923 ; +C -1 ; WX 240 ; N imacron ; B -16 0 261 748 ; +C -1 ; WX 640 ; N emacron ; B 30 -13 608 748 ; +C -1 ; WX 660 ; N amacron ; B 30 -13 615 748 ; +C -1 ; WX 300 ; N tcommaaccent ; B 9 -245 287 739 ; +C -1 ; WX 580 ; N ydieresis ; B 6 -185 568 763 ; +C -1 ; WX 460 ; N zdotaccent ; B 20 0 442 763 ; +C -1 ; WX 460 ; N zcaron ; B 20 0 442 768 ; +C -1 ; WX 460 ; N zacute ; B 20 0 442 825 ; +C -1 ; WX 580 ; N yacute ; B 6 -185 568 825 ; +C -1 ; WX 600 ; N uhungarumlaut ; B 24 -13 579 825 ; +C -1 ; WX 640 ; N eth ; B 30 -13 619 756 ; +C -1 ; WX 600 ; N uring ; B 54 -13 547 816 ; +C -1 ; WX 840 ; N Ocircumflex ; B 30 -13 800 943 ; +C -1 ; WX 351 ; N commaaccent ; B 71 -245 233 -53 ; +C -1 ; WX 740 ; N copyright ; B -12 -13 759 752 ; +C -1 ; WX 740 ; N registered ; B -12 -13 759 752 ; +C -1 ; WX 740 ; N Acircumflex ; B 7 0 733 943 ; +C -1 ; WX 240 ; N idieresis ; B -56 0 287 763 ; +C -1 ; WX 494 ; N lozenge ; B 18 0 466 740 ; +C -1 ; WX 612 ; N Delta ; B 6 0 608 688 ; +C -1 ; WX 600 ; N notequal ; B 51 101 555 632 ; +C -1 ; WX 549 ; N radical ; B -25 -35 542 917 ; +C -1 ; WX 740 ; N Agrave ; B 7 0 733 1000 ; +C -1 ; WX 740 ; N Aacute ; B 7 0 733 1000 ; +C -1 ; WX 600 ; N lessequal ; B 45 0 549 711 ; +C -1 ; WX 600 ; N greaterequal ; B 51 0 555 711 ; +C -1 ; WX 600 ; N logicalnot ; B 51 182 555 473 ; +C -1 ; WX 713 ; N summation ; B 14 -123 695 752 ; +C -1 ; WX 494 ; N partialdiff ; B 26 -10 462 753 ; +C -1 ; WX 740 ; N Ncommaaccent ; B 68 -245 667 739 ; +C -1 ; WX 660 ; N dcroat ; B 30 -13 660 739 ; +C -1 ; WX 600 ; N brokenbar ; B 243 0 362 739 ; +C -1 ; WX 440 ; N Lcommaaccent ; B 68 -245 431 739 ; +C -1 ; WX 740 ; N Adieresis ; B 7 0 733 938 ; +C -1 ; WX 576 ; N mu ; B 54 -185 547 554 ; +C -1 ; WX 280 ; N .notdef ; B 0 0 0 0 ; +EndCharMetrics +StartKernData +StartKernPairs 998 +KPX A C -36 +KPX A Ccedilla -37 +KPX A G -36 +KPX A O -36 +KPX A Odieresis -36 +KPX A Q -37 +KPX A T -41 +KPX A U -31 +KPX A Uacute -31 +KPX A Ucircumflex -31 +KPX A Udieresis -31 +KPX A Ugrave -31 +KPX A V -74 +KPX A W -55 +KPX A Y -83 +KPX A a -20 +KPX A b 0 +KPX A c -23 +KPX A ccedilla -23 +KPX A comma 20 +KPX A d -20 +KPX A e -23 +KPX A g -20 +KPX A guillemotleft -16 +KPX A guilsinglleft -16 +KPX A hyphen -17 +KPX A o -23 +KPX A period 20 +KPX A q -22 +KPX A quotedblright -73 +KPX A quoteright -74 +KPX A t -10 +KPX A u -14 +KPX A v -42 +KPX A w -40 +KPX A y -43 +KPX Aacute C -36 +KPX Aacute G -36 +KPX Aacute O -36 +KPX Aacute Q -37 +KPX Aacute T -41 +KPX Aacute U -31 +KPX Aacute V -74 +KPX Aacute W -55 +KPX Aacute Y -83 +KPX Aacute a -20 +KPX Aacute b 0 +KPX Aacute c -23 +KPX Aacute comma 20 +KPX Aacute d -20 +KPX Aacute e -23 +KPX Aacute g -20 +KPX Aacute guillemotleft -16 +KPX Aacute guilsinglleft -16 +KPX Aacute hyphen -17 +KPX Aacute o -23 +KPX Aacute period 20 +KPX Aacute q -22 +KPX Aacute quoteright -74 +KPX Aacute t -10 +KPX Aacute u -14 +KPX Aacute v -42 +KPX Aacute w -40 +KPX Aacute y -43 +KPX Acircumflex C -36 +KPX Acircumflex G -36 +KPX Acircumflex O -36 +KPX Acircumflex Q -37 +KPX Acircumflex T -41 +KPX Acircumflex U -31 +KPX Acircumflex V -74 +KPX Acircumflex W -55 +KPX Acircumflex Y -83 +KPX Acircumflex comma 20 +KPX Acircumflex period 20 +KPX Adieresis C -36 +KPX Adieresis G -36 +KPX Adieresis O -36 +KPX Adieresis Q -37 +KPX Adieresis T -41 +KPX Adieresis U -31 +KPX Adieresis V -74 +KPX Adieresis W -55 +KPX Adieresis Y -83 +KPX Adieresis a -20 +KPX Adieresis b 0 +KPX Adieresis c -23 +KPX Adieresis comma 20 +KPX Adieresis d -20 +KPX Adieresis g -20 +KPX Adieresis guillemotleft -16 +KPX Adieresis guilsinglleft -16 +KPX Adieresis hyphen -17 +KPX Adieresis o -23 +KPX Adieresis period 20 +KPX Adieresis q -22 +KPX Adieresis quotedblright -73 +KPX Adieresis quoteright -74 +KPX Adieresis t -10 +KPX Adieresis u -14 +KPX Adieresis v -42 +KPX Adieresis w -40 +KPX Adieresis y -43 +KPX Agrave C -36 +KPX Agrave G -36 +KPX Agrave O -36 +KPX Agrave Q -37 +KPX Agrave T -41 +KPX Agrave U -31 +KPX Agrave V -74 +KPX Agrave W -55 +KPX Agrave Y -83 +KPX Agrave comma 20 +KPX Agrave period 20 +KPX Aring C -36 +KPX Aring G -36 +KPX Aring O -36 +KPX Aring Q -37 +KPX Aring T -41 +KPX Aring U -31 +KPX Aring V -74 +KPX Aring W -55 +KPX Aring Y -83 +KPX Aring a -20 +KPX Aring b 0 +KPX Aring c -23 +KPX Aring comma 20 +KPX Aring d -20 +KPX Aring e -23 +KPX Aring g -20 +KPX Aring guillemotleft -16 +KPX Aring guilsinglleft -16 +KPX Aring hyphen -17 +KPX Aring o -23 +KPX Aring period 20 +KPX Aring q -22 +KPX Aring quotedblright -73 +KPX Aring quoteright -74 +KPX Aring t -10 +KPX Aring u -14 +KPX Aring v -42 +KPX Aring w -40 +KPX Aring y -43 +KPX Atilde C -36 +KPX Atilde G -36 +KPX Atilde O -36 +KPX Atilde Q -37 +KPX Atilde T -41 +KPX Atilde U -31 +KPX Atilde V -74 +KPX Atilde W -55 +KPX Atilde Y -83 +KPX Atilde comma 20 +KPX Atilde period 20 +KPX B A -18 +KPX B AE -36 +KPX B Aacute -18 +KPX B Acircumflex -18 +KPX B Adieresis -18 +KPX B Aring -18 +KPX B Atilde -18 +KPX B O 2 +KPX B OE 0 +KPX B Oacute 2 +KPX B Ocircumflex 2 +KPX B Odieresis 2 +KPX B Ograve 2 +KPX B Oslash 4 +KPX B V -33 +KPX B W -16 +KPX B Y -39 +KPX C A -17 +KPX C AE -41 +KPX C Aacute -17 +KPX C Adieresis -17 +KPX C Aring -17 +KPX C H 6 +KPX C K 6 +KPX C O -6 +KPX C Oacute -6 +KPX C Odieresis -6 +KPX Ccedilla A -17 +KPX D A -38 +KPX D Aacute -38 +KPX D Acircumflex -38 +KPX D Adieresis -38 +KPX D Agrave -38 +KPX D Aring -38 +KPX D Atilde -38 +KPX D J -14 +KPX D T -24 +KPX D V -39 +KPX D W -21 +KPX D X -33 +KPX D Y -50 +KPX F A -53 +KPX F Aacute -53 +KPX F Acircumflex -53 +KPX F Adieresis -53 +KPX F Agrave -53 +KPX F Aring -53 +KPX F Atilde -53 +KPX F J -55 +KPX F O -3 +KPX F Odieresis -3 +KPX F a -9 +KPX F aacute -9 +KPX F adieresis -9 +KPX F ae -8 +KPX F aring -9 +KPX F comma -60 +KPX F e -9 +KPX F eacute -9 +KPX F hyphen 5 +KPX F i -9 +KPX F j -22 +KPX F o -9 +KPX F oacute -9 +KPX F odieresis -9 +KPX F oe -9 +KPX F oslash -9 +KPX F period -60 +KPX F r -9 +KPX F u -12 +KPX G A -35 +KPX G AE -60 +KPX G Aacute -35 +KPX G Acircumflex -35 +KPX G Adieresis -35 +KPX G Agrave -35 +KPX G Aring -35 +KPX G Atilde -35 +KPX G T -24 +KPX G V -38 +KPX G W -20 +KPX G Y -49 +KPX J A -27 +KPX J AE -41 +KPX J Adieresis -27 +KPX J Aring -27 +KPX K C -46 +KPX K G -46 +KPX K O -46 +KPX K OE -48 +KPX K Oacute -46 +KPX K Odieresis -46 +KPX K S -27 +KPX K T 21 +KPX K a -51 +KPX K adieresis -51 +KPX K ae -52 +KPX K aring -51 +KPX K e -54 +KPX K hyphen -68 +KPX K o -55 +KPX K oacute -55 +KPX K odieresis -55 +KPX K u -46 +KPX K udieresis -44 +KPX K y -59 +KPX L A 26 +KPX L AE 20 +KPX L Aacute 26 +KPX L Adieresis 26 +KPX L Aring 26 +KPX L C -22 +KPX L Ccedilla -25 +KPX L G -22 +KPX L O -21 +KPX L Oacute -21 +KPX L Ocircumflex -21 +KPX L Odieresis -21 +KPX L Ograve -21 +KPX L Otilde -21 +KPX L S 17 +KPX L T -41 +KPX L U -12 +KPX L Udieresis -12 +KPX L V -73 +KPX L W -54 +KPX L Y -82 +KPX L hyphen -26 +KPX L quotedblright -71 +KPX L quoteright -72 +KPX L u -5 +KPX L udieresis -5 +KPX L y -48 +KPX N A -6 +KPX N AE -11 +KPX N Aacute -6 +KPX N Adieresis -6 +KPX N Aring -6 +KPX N C 7 +KPX N Ccedilla 7 +KPX N G 7 +KPX N O 7 +KPX N Oacute 7 +KPX N Odieresis 7 +KPX N a 5 +KPX N aacute 5 +KPX N adieresis 5 +KPX N ae 4 +KPX N aring 5 +KPX N comma 8 +KPX N e 3 +KPX N eacute 3 +KPX N o 3 +KPX N oacute 3 +KPX N odieresis 3 +KPX N oslash 5 +KPX N period 8 +KPX N u 9 +KPX N udieresis 9 +KPX O A -40 +KPX O AE -70 +KPX O Aacute -40 +KPX O Adieresis -40 +KPX O Aring -40 +KPX O T -29 +KPX O V -42 +KPX O W -24 +KPX O X -36 +KPX O Y -53 +KPX Oacute A -40 +KPX Oacute T -29 +KPX Oacute V -42 +KPX Oacute W -24 +KPX Oacute Y -53 +KPX Ocircumflex T -29 +KPX Ocircumflex V -42 +KPX Ocircumflex Y -53 +KPX Odieresis A -40 +KPX Odieresis T -29 +KPX Odieresis V -42 +KPX Odieresis W -24 +KPX Odieresis X -36 +KPX Odieresis Y -53 +KPX Ograve T -29 +KPX Ograve V -42 +KPX Ograve Y -53 +KPX Oslash A -37 +KPX Otilde T -29 +KPX Otilde V -42 +KPX Otilde Y -53 +KPX P A -60 +KPX P AE -108 +KPX P Aacute -60 +KPX P Adieresis -60 +KPX P Aring -60 +KPX P J -68 +KPX P a -18 +KPX P aacute -18 +KPX P adieresis -18 +KPX P ae -19 +KPX P aring -18 +KPX P comma -95 +KPX P e -20 +KPX P eacute -20 +KPX P hyphen -20 +KPX P o -20 +KPX P oacute -20 +KPX P odieresis -20 +KPX P oe -20 +KPX P oslash -20 +KPX P period -95 +KPX R C 5 +KPX R Ccedilla 5 +KPX R G 5 +KPX R O 5 +KPX R OE 2 +KPX R Oacute 5 +KPX R Odieresis 5 +KPX R T 12 +KPX R U 10 +KPX R Udieresis 10 +KPX R V -12 +KPX R W -5 +KPX R Y -17 +KPX R a -3 +KPX R aacute -3 +KPX R adieresis -3 +KPX R ae -4 +KPX R aring -3 +KPX R e -5 +KPX R eacute -5 +KPX R hyphen -15 +KPX R o -6 +KPX R oacute -6 +KPX R odieresis -6 +KPX R oe -5 +KPX R u 8 +KPX R uacute 8 +KPX R udieresis 8 +KPX R y 15 +KPX S A -14 +KPX S AE -30 +KPX S Aacute -14 +KPX S Adieresis -14 +KPX S Aring -14 +KPX S T 2 +KPX S V -22 +KPX S W -10 +KPX S Y -27 +KPX S t 12 +KPX T A -39 +KPX T AE -44 +KPX T Aacute -39 +KPX T Acircumflex -39 +KPX T Adieresis -39 +KPX T Agrave -39 +KPX T Aring -39 +KPX T Atilde -39 +KPX T C -22 +KPX T G -22 +KPX T J -39 +KPX T O -22 +KPX T OE -24 +KPX T Oacute -22 +KPX T Ocircumflex -22 +KPX T Odieresis -22 +KPX T Ograve -22 +KPX T Oslash -19 +KPX T Otilde -22 +KPX T S 7 +KPX T V 29 +KPX T W 30 +KPX T Y 31 +KPX T a -33 +KPX T ae -34 +KPX T c -35 +KPX T colon -33 +KPX T comma -25 +KPX T e -35 +KPX T g -32 +KPX T guillemotleft -25 +KPX T guilsinglleft -25 +KPX T hyphen -26 +KPX T i 2 +KPX T j -6 +KPX T o -36 +KPX T oslash -32 +KPX T period -25 +KPX T r -21 +KPX T s -25 +KPX T semicolon -33 +KPX T u -26 +KPX T v -40 +KPX T w -45 +KPX T y -43 +KPX U A -34 +KPX U AE -55 +KPX U Aacute -34 +KPX U Acircumflex -34 +KPX U Adieresis -34 +KPX U Aring -34 +KPX U Atilde -34 +KPX U comma -11 +KPX U m 8 +KPX U n 8 +KPX U p 8 +KPX U period -8 +KPX U r 8 +KPX Uacute A -34 +KPX Uacute comma -11 +KPX Uacute m 8 +KPX Uacute n 8 +KPX Uacute p 8 +KPX Uacute period -8 +KPX Uacute r 8 +KPX Ucircumflex A -34 +KPX Udieresis A -34 +KPX Udieresis b 8 +KPX Udieresis comma -11 +KPX Udieresis m 8 +KPX Udieresis n 8 +KPX Udieresis p 8 +KPX Udieresis period -8 +KPX Udieresis r 8 +KPX Ugrave A -34 +KPX V A -72 +KPX V AE -119 +KPX V Aacute -72 +KPX V Acircumflex -72 +KPX V Adieresis -72 +KPX V Agrave -72 +KPX V Aring -72 +KPX V Atilde -72 +KPX V C -36 +KPX V G -36 +KPX V O -36 +KPX V Oacute -36 +KPX V Ocircumflex -36 +KPX V Odieresis -36 +KPX V Ograve -36 +KPX V Oslash -34 +KPX V Otilde -36 +KPX V S -19 +KPX V T 28 +KPX V a -55 +KPX V ae -56 +KPX V colon -51 +KPX V comma -80 +KPX V e -58 +KPX V g -54 +KPX V guillemotleft -47 +KPX V guilsinglleft -47 +KPX V hyphen -48 +KPX V i 0 +KPX V o -58 +KPX V oslash -55 +KPX V period -80 +KPX V r -35 +KPX V semicolon -51 +KPX V u -39 +KPX V y -14 +KPX W A -52 +KPX W AE -83 +KPX W Aacute -52 +KPX W Acircumflex -52 +KPX W Adieresis -52 +KPX W Agrave -52 +KPX W Aring -52 +KPX W Atilde -52 +KPX W C -16 +KPX W G -17 +KPX W O -16 +KPX W Oacute -16 +KPX W Ocircumflex -16 +KPX W Odieresis -16 +KPX W Ograve -16 +KPX W Oslash -14 +KPX W Otilde -16 +KPX W S -5 +KPX W T 30 +KPX W a -31 +KPX W ae -32 +KPX W colon -34 +KPX W comma -48 +KPX W e -34 +KPX W g -30 +KPX W guillemotleft -23 +KPX W guilsinglleft -23 +KPX W hyphen -24 +KPX W i 2 +KPX W o -34 +KPX W oslash -31 +KPX W period -48 +KPX W r -18 +KPX W semicolon -34 +KPX W u -24 +KPX W y -3 +KPX X C -32 +KPX X O -32 +KPX X Odieresis -32 +KPX X Q -32 +KPX X a -39 +KPX X e -41 +KPX X hyphen -53 +KPX X o -42 +KPX X u -32 +KPX X y -42 +KPX Y A -78 +KPX Y AE -93 +KPX Y Aacute -78 +KPX Y Acircumflex -78 +KPX Y Adieresis -78 +KPX Y Agrave -78 +KPX Y Aring -78 +KPX Y Atilde -78 +KPX Y C -44 +KPX Y G -44 +KPX Y O -44 +KPX Y Oacute -44 +KPX Y Ocircumflex -44 +KPX Y Odieresis -44 +KPX Y Ograve -44 +KPX Y Oslash -41 +KPX Y Otilde -44 +KPX Y S -20 +KPX Y T 34 +KPX Y a -64 +KPX Y ae -66 +KPX Y colon -61 +KPX Y comma -75 +KPX Y e -67 +KPX Y g -63 +KPX Y guillemotleft -62 +KPX Y guilsinglleft -62 +KPX Y hyphen -66 +KPX Y i 6 +KPX Y o -67 +KPX Y oslash -64 +KPX Y p -41 +KPX Y period -75 +KPX Y semicolon -61 +KPX Y u -46 +KPX Y v -18 +KPX Z v -11 +KPX Z y -13 +KPX a j 9 +KPX a quoteright 11 +KPX a v 0 +KPX a w -4 +KPX a y -3 +KPX aacute v 0 +KPX aacute w -4 +KPX aacute y -3 +KPX adieresis v 0 +KPX adieresis w -4 +KPX adieresis y -3 +KPX ae v -25 +KPX ae w -24 +KPX ae y -29 +KPX agrave v 0 +KPX agrave w -4 +KPX agrave y -3 +KPX aring v 0 +KPX aring w -4 +KPX aring y -3 +KPX b v -19 +KPX b w -17 +KPX b y -22 +KPX c h -7 +KPX c k -7 +KPX comma one -80 +KPX comma quotedblright -27 +KPX comma quoteright -28 +KPX e quoteright -20 +KPX e t -2 +KPX e v -27 +KPX e w -25 +KPX e x -26 +KPX e y -31 +KPX eacute v -27 +KPX eacute w -25 +KPX eacute y -31 +KPX ecircumflex v -27 +KPX ecircumflex w -25 +KPX ecircumflex y -31 +KPX eight four 16 +KPX eight one -75 +KPX eight seven -43 +KPX f a -6 +KPX f aacute -6 +KPX f adieresis -6 +KPX f ae -8 +KPX f aring -6 +KPX f e -9 +KPX f eacute -9 +KPX f f 13 +KPX f i 7 +KPX f j -3 +KPX f l 7 +KPX f o -9 +KPX f oacute -9 +KPX f odieresis -9 +KPX f oe -8 +KPX f oslash -6 +KPX f quoteright 16 +KPX f s 1 +KPX f t 14 +KPX five four 14 +KPX five one -84 +KPX five seven -53 +KPX four four 19 +KPX four one -76 +KPX four seven -44 +KPX g a 9 +KPX g adieresis 9 +KPX g ae 8 +KPX g aring 9 +KPX g e 7 +KPX g eacute 7 +KPX g l 16 +KPX g oacute 7 +KPX g odieresis 7 +KPX g r 16 +KPX guillemotright A -16 +KPX guillemotright AE -54 +KPX guillemotright Aacute -16 +KPX guillemotright Adieresis -16 +KPX guillemotright Aring -16 +KPX guillemotright T -27 +KPX guillemotright V -48 +KPX guillemotright W -26 +KPX guillemotright Y -66 +KPX guilsinglright A -12 +KPX guilsinglright AE -50 +KPX guilsinglright Aacute -12 +KPX guilsinglright Adieresis -12 +KPX guilsinglright Aring -12 +KPX guilsinglright T -24 +KPX guilsinglright V -45 +KPX guilsinglright W -22 +KPX guilsinglright Y -62 +KPX h quoteright -9 +KPX h y -21 +KPX hyphen A -15 +KPX hyphen AE -53 +KPX hyphen Aacute -15 +KPX hyphen Adieresis -15 +KPX hyphen Aring -15 +KPX hyphen T -26 +KPX hyphen V -47 +KPX hyphen W -24 +KPX hyphen Y -68 +KPX i T 0 +KPX i j 5 +KPX k a -45 +KPX k aacute -45 +KPX k adieresis -45 +KPX k ae -47 +KPX k aring -45 +KPX k comma -7 +KPX k e -48 +KPX k eacute -48 +KPX k g -45 +KPX k hyphen -71 +KPX k o -48 +KPX k oacute -48 +KPX k odieresis -48 +KPX k period -7 +KPX k s -32 +KPX k u -37 +KPX k udieresis -30 +KPX l v -2 +KPX l y -5 +KPX m p 11 +KPX m v -19 +KPX m w -18 +KPX m y -21 +KPX n T -29 +KPX n p 12 +KPX n quoteright -8 +KPX n v -18 +KPX n w -17 +KPX n y -20 +KPX nine four -30 +KPX nine one -69 +KPX nine seven -25 +KPX o T -33 +KPX o quoteright -16 +KPX o t 1 +KPX o v -22 +KPX o w -21 +KPX o x -22 +KPX o y -26 +KPX oacute v -22 +KPX oacute w -21 +KPX oacute y -26 +KPX ocircumflex t 1 +KPX odieresis t 1 +KPX odieresis v -22 +KPX odieresis w -21 +KPX odieresis x -22 +KPX odieresis y -26 +KPX ograve v -22 +KPX ograve w -21 +KPX ograve y -26 +KPX one comma -45 +KPX one eight -43 +KPX one five -39 +KPX one four -52 +KPX one nine -47 +KPX one one -120 +KPX one period -45 +KPX one seven -88 +KPX one six -49 +KPX one three -51 +KPX one two -45 +KPX one zero -28 +KPX p t 2 +KPX p y -25 +KPX period one -80 +KPX period quotedblright -27 +KPX period quoteright -28 +KPX q c 7 +KPX q u 14 +KPX quotedblbase A 20 +KPX quotedblbase AE 3 +KPX quotedblbase T -27 +KPX quotedblbase V -80 +KPX quotedblbase W -50 +KPX quotedblbase Y -78 +KPX quotedblleft A -73 +KPX quotedblleft AE -145 +KPX quotedblleft Aacute -73 +KPX quotedblleft Adieresis -73 +KPX quotedblleft Aring -73 +KPX quotedblleft T 9 +KPX quotedblleft V 9 +KPX quotedblleft W 17 +KPX quotedblleft Y 0 +KPX quotedblright A -76 +KPX quotedblright AE -149 +KPX quotedblright Aacute -76 +KPX quotedblright Adieresis -76 +KPX quotedblright Aring -76 +KPX quotedblright T 10 +KPX quotedblright V 7 +KPX quotedblright W 15 +KPX quotedblright Y -1 +KPX quoteleft A -76 +KPX quoteleft AE -148 +KPX quoteleft Aacute -76 +KPX quoteleft Adieresis -76 +KPX quoteleft Aring -76 +KPX quoteleft T 7 +KPX quoteleft V 6 +KPX quoteleft W 15 +KPX quoteleft Y -1 +KPX quoteright A -79 +KPX quoteright AE -151 +KPX quoteright Aacute -79 +KPX quoteright Adieresis -79 +KPX quoteright Aring -79 +KPX quoteright comma -38 +KPX quoteright d -24 +KPX quoteright o -31 +KPX quoteright period -38 +KPX quoteright r -1 +KPX quoteright s -9 +KPX quoteright t 12 +KPX quoteright v 6 +KPX quoteright w 4 +KPX quoteright y 4 +KPX r a -18 +KPX r aacute -18 +KPX r acircumflex -18 +KPX r adieresis -18 +KPX r ae -20 +KPX r agrave -18 +KPX r aring -18 +KPX r c -20 +KPX r ccedilla -17 +KPX r colon -12 +KPX r comma -30 +KPX r d -17 +KPX r e -21 +KPX r eacute -21 +KPX r ecircumflex -21 +KPX r egrave -21 +KPX r f 13 +KPX r g -14 +KPX r h 0 +KPX r hyphen -30 +KPX r i 0 +KPX r j -16 +KPX r k 0 +KPX r l 0 +KPX r m 0 +KPX r n 0 +KPX r o -22 +KPX r oacute -22 +KPX r ocircumflex -22 +KPX r odieresis -22 +KPX r oe -20 +KPX r ograve -22 +KPX r oslash -21 +KPX r p 0 +KPX r period -30 +KPX r q -16 +KPX r quoteright 19 +KPX r r 0 +KPX r s -3 +KPX r semicolon -12 +KPX r t 14 +KPX r u -5 +KPX r v 17 +KPX r w 12 +KPX r x 3 +KPX r y 14 +KPX r z -5 +KPX s quoteright -4 +KPX s t 8 +KPX seven colon -58 +KPX seven comma -96 +KPX seven eight -39 +KPX seven five -36 +KPX seven four -65 +KPX seven one -71 +KPX seven period -96 +KPX seven seven -27 +KPX seven six -56 +KPX seven three -35 +KPX seven two -22 +KPX six four 20 +KPX six one -83 +KPX six seven -54 +KPX t S 8 +KPX t a -8 +KPX t aacute -8 +KPX t adieresis -8 +KPX t ae -9 +KPX t aring -8 +KPX t colon -6 +KPX t e -10 +KPX t eacute -10 +KPX t h 10 +KPX t o -10 +KPX t oacute -10 +KPX t odieresis -10 +KPX t quoteright 20 +KPX t semicolon -6 +KPX three four 13 +KPX three one -79 +KPX three seven -51 +KPX two four 13 +KPX two one -71 +KPX two seven -28 +KPX u quoteright 8 +KPX v a -27 +KPX v aacute -27 +KPX v acircumflex -27 +KPX v adieresis -27 +KPX v ae -28 +KPX v agrave -27 +KPX v aring -27 +KPX v atilde -27 +KPX v c -30 +KPX v colon -20 +KPX v comma -60 +KPX v e -30 +KPX v eacute -30 +KPX v ecircumflex -30 +KPX v egrave -30 +KPX v g -26 +KPX v hyphen -22 +KPX v l -5 +KPX v o -30 +KPX v oacute -30 +KPX v odieresis -30 +KPX v ograve -30 +KPX v oslash -27 +KPX v period -60 +KPX v s -19 +KPX v semicolon -20 +KPX w a -25 +KPX w aacute -25 +KPX w acircumflex -25 +KPX w adieresis -25 +KPX w ae -27 +KPX w agrave -25 +KPX w aring -25 +KPX w atilde -25 +KPX w c -28 +KPX w colon -23 +KPX w comma -54 +KPX w e -28 +KPX w eacute -28 +KPX w ecircumflex -28 +KPX w egrave -28 +KPX w g -24 +KPX w hyphen -21 +KPX w l -9 +KPX w o -28 +KPX w oacute -28 +KPX w odieresis -28 +KPX w ograve -28 +KPX w oslash -26 +KPX w period -54 +KPX w s -18 +KPX w semicolon -23 +KPX x a -27 +KPX x c -30 +KPX x e -30 +KPX x eacute -30 +KPX x o -30 +KPX x q -28 +KPX y a -35 +KPX y aacute -35 +KPX y acircumflex -35 +KPX y adieresis -35 +KPX y ae -36 +KPX y agrave -35 +KPX y aring -35 +KPX y atilde -35 +KPX y c -37 +KPX y colon -23 +KPX y comma -70 +KPX y e -38 +KPX y eacute -38 +KPX y ecircumflex -38 +KPX y egrave -38 +KPX y g -34 +KPX y hyphen -29 +KPX y l -7 +KPX y o -38 +KPX y oacute -38 +KPX y odieresis -38 +KPX y ograve -38 +KPX y oslash -34 +KPX y period -69 +KPX y s -26 +KPX y semicolon -23 +KPX zero four 17 +KPX zero one -61 +KPX zero seven -27 +EndKernPairs +EndKernData +EndFontMetrics diff --git a/Master/xemtex/gsfonts/a010015l.pfb b/Master/xemtex/gsfonts/a010015l.pfb new file mode 100644 index 00000000000..b301fcdcb96 Binary files /dev/null and b/Master/xemtex/gsfonts/a010015l.pfb differ diff --git a/Master/xemtex/gsfonts/a010015l.pfm b/Master/xemtex/gsfonts/a010015l.pfm new file mode 100644 index 00000000000..0a3f4e7c275 Binary files /dev/null and b/Master/xemtex/gsfonts/a010015l.pfm differ diff --git a/Master/xemtex/gsfonts/a010033l.afm b/Master/xemtex/gsfonts/a010033l.afm new file mode 100644 index 00000000000..d628de345ab --- /dev/null +++ b/Master/xemtex/gsfonts/a010033l.afm @@ -0,0 +1,1341 @@ +StartFontMetrics 3.0 +Comment Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development +Comment Creation Date: 12/22/1999 +Comment See the file PUBLIC (Aladdin Free Public License) for license conditions. +FontName URWGothicL-BookObli +FullName URW Gothic L Book Oblique +FamilyName URW Gothic L +Weight Book +ItalicAngle -10.0 +IsFixedPitch false +UnderlinePosition -96 +UnderlineThickness 58 +Version 1.05 +Notice (URW)++,Copyright 1999 by (URW)++ Design & Development +EncodingScheme AdobeStandardEncoding +FontBBox -115 -232 1275 972 +CapHeight 739 +XHeight 547 +Descender -192 +Ascender 739 +StartCharMetrics 316 +C 32 ; WX 277 ; N space ; B 0 0 0 0 ; +C 33 ; WX 295 ; N exclam ; B 111 0 322 739 ; +C 34 ; WX 309 ; N quotedbl ; B 169 513 374 739 ; +C 35 ; WX 554 ; N numbersign ; B 51 0 640 739 ; +C 36 ; WX 554 ; N dollar ; B 112 -56 575 810 ; +C 37 ; WX 775 ; N percent ; B 117 -13 785 749 ; +C 38 ; WX 757 ; N ampersand ; B 93 -13 774 752 ; +C 39 ; WX 351 ; N quoteright ; B 192 547 390 739 ; +C 40 ; WX 369 ; N parenleft ; B 106 -125 472 739 ; +C 41 ; WX 369 ; N parenright ; B 10 -125 377 739 ; +C 42 ; WX 425 ; N asterisk ; B 172 449 477 752 ; +C 43 ; WX 606 ; N plus ; B 100 55 618 550 ; +C 44 ; WX 277 ; N comma ; B 79 -67 276 126 ; +C 45 ; WX 332 ; N hyphen ; B 80 233 364 296 ; +C 46 ; WX 277 ; N period ; B 101 0 198 126 ; +C 47 ; WX 437 ; N slash ; B 16 -128 534 739 ; +C 48 ; WX 554 ; N zero ; B 71 -13 621 752 ; +C 49 ; WX 554 ; N one ; B 280 0 491 739 ; +C 50 ; WX 554 ; N two ; B 33 0 607 752 ; +C 51 ; WX 554 ; N three ; B 71 -13 564 752 ; +C 52 ; WX 554 ; N four ; B 37 0 597 739 ; +C 53 ; WX 554 ; N five ; B 64 -13 604 739 ; +C 54 ; WX 554 ; N six ; B 66 -13 579 739 ; +C 55 ; WX 554 ; N seven ; B 108 0 627 739 ; +C 56 ; WX 554 ; N eight ; B 78 -13 580 752 ; +C 57 ; WX 554 ; N nine ; B 112 0 625 752 ; +C 58 ; WX 277 ; N colon ; B 101 0 270 507 ; +C 59 ; WX 277 ; N semicolon ; B 29 -67 298 507 ; +C 60 ; WX 606 ; N less ; B 99 37 663 565 ; +C 61 ; WX 606 ; N equal ; B 82 164 636 436 ; +C 62 ; WX 606 ; N greater ; B 55 37 619 565 ; +C 63 ; WX 591 ; N question ; B 159 0 627 752 ; +C 64 ; WX 867 ; N at ; B 133 -13 883 752 ; +C 65 ; WX 740 ; N A ; B 11 0 729 739 ; +C 66 ; WX 574 ; N B ; B 76 0 607 739 ; +C 67 ; WX 813 ; N C ; B 106 -13 869 752 ; +C 68 ; WX 744 ; N D ; B 76 0 774 739 ; +C 69 ; WX 536 ; N E ; B 76 0 617 739 ; +C 70 ; WX 485 ; N F ; B 76 0 588 739 ; +C 71 ; WX 872 ; N G ; B 107 -13 894 752 ; +C 72 ; WX 683 ; N H ; B 76 0 744 739 ; +C 73 ; WX 226 ; N I ; B 76 0 287 739 ; +C 74 ; WX 482 ; N J ; B 41 -14 543 739 ; +C 75 ; WX 591 ; N K ; B 76 0 722 739 ; +C 76 ; WX 462 ; N L ; B 76 0 468 739 ; +C 77 ; WX 919 ; N M ; B 76 0 980 739 ; +C 78 ; WX 740 ; N N ; B 76 0 801 739 ; +C 79 ; WX 869 ; N O ; B 106 -13 900 752 ; +C 80 ; WX 592 ; N P ; B 76 0 665 739 ; +C 81 ; WX 871 ; N Q ; B 105 -13 913 752 ; +C 82 ; WX 607 ; N R ; B 76 0 673 739 ; +C 83 ; WX 498 ; N S ; B 56 -13 564 752 ; +C 84 ; WX 426 ; N T ; B 132 0 556 739 ; +C 85 ; WX 655 ; N U ; B 119 -13 716 739 ; +C 86 ; WX 702 ; N V ; B 147 0 829 739 ; +C 87 ; WX 960 ; N W ; B 147 0 1087 739 ; +C 88 ; WX 609 ; N X ; B 8 0 723 739 ; +C 89 ; WX 592 ; N Y ; B 139 0 727 739 ; +C 90 ; WX 480 ; N Z ; B 17 0 600 739 ; +C 91 ; WX 351 ; N bracketleft ; B 132 -125 450 739 ; +C 92 ; WX 605 ; N backslash ; B 221 0 464 739 ; +C 93 ; WX 351 ; N bracketright ; B 14 -125 332 739 ; +C 94 ; WX 606 ; N asciicircum ; B 51 180 621 739 ; +C 95 ; WX 500 ; N underscore ; B -23 -125 488 -67 ; +C 96 ; WX 351 ; N quoteleft ; B 235 547 361 739 ; +C 97 ; WX 683 ; N a ; B 88 -13 721 560 ; +C 98 ; WX 682 ; N b ; B 63 -13 696 739 ; +C 99 ; WX 647 ; N c ; B 88 -13 679 560 ; +C 100 ; WX 685 ; N d ; B 88 -13 759 739 ; +C 101 ; WX 650 ; N e ; B 88 -13 665 560 ; +C 102 ; WX 314 ; N f ; B 101 0 447 739 ; +C 103 ; WX 673 ; N g ; B 60 -215 711 560 ; +C 104 ; WX 610 ; N h ; B 63 0 609 739 ; +C 105 ; WX 200 ; N i ; B 63 0 274 739 ; +C 106 ; WX 203 ; N j ; B -81 -192 277 739 ; +C 107 ; WX 502 ; N k ; B 63 0 584 739 ; +C 108 ; WX 200 ; N l ; B 63 0 274 739 ; +C 109 ; WX 938 ; N m ; B 63 0 941 560 ; +C 110 ; WX 610 ; N n ; B 63 0 609 560 ; +C 111 ; WX 655 ; N o ; B 87 -13 669 560 ; +C 112 ; WX 682 ; N p ; B 27 -192 695 560 ; +C 113 ; WX 682 ; N q ; B 87 -192 720 560 ; +C 114 ; WX 301 ; N r ; B 63 0 396 560 ; +C 115 ; WX 388 ; N s ; B 43 -13 425 560 ; +C 116 ; WX 339 ; N t ; B 101 0 428 739 ; +C 117 ; WX 608 ; N u ; B 99 -13 646 547 ; +C 118 ; WX 554 ; N v ; B 109 0 647 547 ; +C 119 ; WX 831 ; N w ; B 108 0 925 547 ; +C 120 ; WX 480 ; N x ; B 8 0 573 547 ; +C 121 ; WX 536 ; N y ; B 97 -192 628 547 ; +C 122 ; WX 425 ; N z ; B 10 0 497 547 ; +C 123 ; WX 351 ; N braceleft ; B 94 -126 408 739 ; +C 124 ; WX 672 ; N bar ; B 304 0 505 739 ; +C 125 ; WX 351 ; N braceright ; B 14 -127 326 739 ; +C 126 ; WX 606 ; N asciitilde ; B 99 210 619 390 ; +C 161 ; WX 295 ; N exclamdown ; B 75 -192 286 547 ; +C 162 ; WX 554 ; N cent ; B 113 62 595 707 ; +C 163 ; WX 554 ; N sterling ; B 58 0 655 752 ; +C 164 ; WX 166 ; N fraction ; B -115 0 418 739 ; +C 165 ; WX 554 ; N yen ; B 97 0 726 739 ; +C 166 ; WX 554 ; N florin ; B -21 -153 685 818 ; +C 167 ; WX 615 ; N section ; B 114 -141 596 752 ; +C 168 ; WX 554 ; N currency ; B 51 50 615 554 ; +C 169 ; WX 198 ; N quotesingle ; B 169 513 261 739 ; +C 170 ; WX 502 ; N quotedblleft ; B 233 547 507 739 ; +C 171 ; WX 425 ; N guillemotleft ; B 96 99 472 499 ; +C 172 ; WX 251 ; N guilsinglleft ; B 96 99 298 499 ; +C 173 ; WX 251 ; N guilsinglright ; B 65 99 267 499 ; +C 174 ; WX 487 ; N fi ; B 98 0 561 739 ; +C 175 ; WX 485 ; N fl ; B 98 0 559 739 ; +C 177 ; WX 500 ; N endash ; B 49 233 562 296 ; +C 178 ; WX 553 ; N dagger ; B 146 -133 594 739 ; +C 179 ; WX 553 ; N daggerdbl ; B 121 -133 598 739 ; +C 180 ; WX 277 ; N periodcentered ; B 145 229 242 355 ; +C 182 ; WX 564 ; N paragraph ; B 135 -133 628 739 ; +C 183 ; WX 606 ; N bullet ; B 171 113 547 489 ; +C 184 ; WX 354 ; N quotesinglbase ; B 77 -67 274 126 ; +C 185 ; WX 502 ; N quotedblbase ; B 77 -66 421 126 ; +C 186 ; WX 484 ; N quotedblright ; B 188 547 530 739 ; +C 187 ; WX 425 ; N guillemotright ; B 65 99 441 499 ; +C 188 ; WX 1000 ; N ellipsis ; B 130 0 893 126 ; +C 189 ; WX 1174 ; N perthousand ; B 117 -13 1184 749 ; +C 191 ; WX 591 ; N questiondown ; B 64 -205 532 547 ; +C 193 ; WX 378 ; N grave ; B 207 610 428 778 ; +C 194 ; WX 375 ; N acute ; B 198 610 436 782 ; +C 195 ; WX 502 ; N circumflex ; B 188 623 542 749 ; +C 196 ; WX 439 ; N tilde ; B 200 633 486 734 ; +C 197 ; WX 485 ; N macron ; B 188 651 537 713 ; +C 198 ; WX 453 ; N breve ; B 207 626 511 743 ; +C 199 ; WX 222 ; N dotaccent ; B 188 623 285 749 ; +C 200 ; WX 369 ; N dieresis ; B 188 623 432 749 ; +C 202 ; WX 332 ; N ring ; B 203 606 390 790 ; +C 203 ; WX 324 ; N cedilla ; B 46 -227 228 0 ; +C 205 ; WX 552 ; N hungarumlaut ; B 197 608 615 780 ; +C 206 ; WX 302 ; N ogonek ; B 53 -195 203 0 ; +C 207 ; WX 502 ; N caron ; B 211 623 565 749 ; +C 208 ; WX 1000 ; N emdash ; B 49 233 1062 296 ; +C 225 ; WX 992 ; N AE ; B 11 0 1073 739 ; +C 227 ; WX 369 ; N ordfeminine ; B 91 319 477 745 ; +C 232 ; WX 517 ; N Lslash ; B 70 0 514 739 ; +C 233 ; WX 868 ; N Oslash ; B 72 -83 925 821 ; +C 234 ; WX 1194 ; N OE ; B 106 -13 1275 752 ; +C 235 ; WX 369 ; N ordmasculine ; B 92 319 450 745 ; +C 241 ; WX 1157 ; N ae ; B 88 -13 1172 560 ; +C 245 ; WX 200 ; N dotlessi ; B 63 0 238 547 ; +C 248 ; WX 300 ; N lslash ; B 94 0 370 739 ; +C 249 ; WX 653 ; N oslash ; B 76 -38 687 593 ; +C 250 ; WX 1137 ; N oe ; B 88 -13 1153 560 ; +C 251 ; WX 554 ; N germandbls ; B 59 -13 576 752 ; +C -1 ; WX 655 ; N Udieresis ; B 119 -13 716 931 ; +C -1 ; WX 655 ; N Uacute ; B 119 -13 716 964 ; +C -1 ; WX 498 ; N Scedilla ; B 56 -227 564 752 ; +C -1 ; WX 426 ; N Tcaron ; B 132 0 560 931 ; +C -1 ; WX 498 ; N Scaron ; B 56 -13 599 931 ; +C -1 ; WX 607 ; N Rcaron ; B 76 0 673 931 ; +C -1 ; WX 607 ; N Racute ; B 76 0 673 964 ; +C -1 ; WX 498 ; N Sacute ; B 56 -13 564 964 ; +C -1 ; WX 869 ; N Otilde ; B 106 -13 900 916 ; +C -1 ; WX 608 ; N ucircumflex ; B 99 -13 646 749 ; +C -1 ; WX 869 ; N Ohungarumlaut ; B 106 -13 900 962 ; +C -1 ; WX 655 ; N Uhungarumlaut ; B 119 -13 716 962 ; +C -1 ; WX 592 ; N Yacute ; B 139 0 727 964 ; +C -1 ; WX 790 ; N Eth ; B 93 0 820 739 ; +C -1 ; WX 790 ; N Dcroat ; B 93 0 820 739 ; +C -1 ; WX 480 ; N Zacute ; B 17 0 600 964 ; +C -1 ; WX 655 ; N Uring ; B 119 -13 716 972 ; +C -1 ; WX 673 ; N gbreve ; B 60 -215 711 743 ; +C -1 ; WX 650 ; N eogonek ; B 88 -195 665 560 ; +C -1 ; WX 650 ; N edotaccent ; B 88 -13 665 749 ; +C -1 ; WX 650 ; N ecaron ; B 88 -13 665 749 ; +C -1 ; WX 655 ; N Ugrave ; B 119 -13 716 960 ; +C -1 ; WX 592 ; N Thorn ; B 76 0 637 739 ; +C -1 ; WX 650 ; N eacute ; B 88 -13 665 782 ; +C -1 ; WX 650 ; N edieresis ; B 88 -13 665 749 ; +C -1 ; WX 714 ; N dcaron ; B 88 -13 894 739 ; +C -1 ; WX 647 ; N ccedilla ; B 88 -227 679 560 ; +C -1 ; WX 647 ; N ccaron ; B 88 -13 679 749 ; +C -1 ; WX 647 ; N cacute ; B 88 -13 679 782 ; +C -1 ; WX 683 ; N aogonek ; B 88 -195 721 560 ; +C -1 ; WX 683 ; N aring ; B 88 -13 721 790 ; +C -1 ; WX 683 ; N atilde ; B 88 -13 721 734 ; +C -1 ; WX 683 ; N abreve ; B 88 -13 721 743 ; +C -1 ; WX 650 ; N egrave ; B 88 -13 665 778 ; +C -1 ; WX 683 ; N agrave ; B 88 -13 721 778 ; +C -1 ; WX 683 ; N aacute ; B 88 -13 721 782 ; +C -1 ; WX 683 ; N adieresis ; B 88 -13 721 749 ; +C -1 ; WX 655 ; N Uogonek ; B 119 -195 716 739 ; +C -1 ; WX 608 ; N ugrave ; B 99 -13 646 778 ; +C -1 ; WX 608 ; N uacute ; B 99 -13 646 782 ; +C -1 ; WX 608 ; N udieresis ; B 99 -13 646 749 ; +C -1 ; WX 339 ; N tcaron ; B 101 0 501 739 ; +C -1 ; WX 388 ; N scommaaccent ; B 43 -232 425 560 ; +C -1 ; WX 480 ; N Zcaron ; B 17 0 600 931 ; +C -1 ; WX 650 ; N ecircumflex ; B 88 -13 665 749 ; +C -1 ; WX 655 ; N Ucircumflex ; B 119 -13 716 931 ; +C -1 ; WX 683 ; N acircumflex ; B 88 -13 721 749 ; +C -1 ; WX 480 ; N Zdotaccent ; B 17 0 600 931 ; +C -1 ; WX 388 ; N scaron ; B 43 -13 508 749 ; +C -1 ; WX 740 ; N Amacron ; B 11 0 729 895 ; +C -1 ; WX 388 ; N sacute ; B 43 -13 443 782 ; +C -1 ; WX 426 ; N Tcommaaccent ; B 104 -232 556 739 ; +C -1 ; WX 592 ; N Ydieresis ; B 139 0 727 931 ; +C -1 ; WX 682 ; N thorn ; B 27 -192 695 739 ; +C -1 ; WX 536 ; N Emacron ; B 76 0 617 895 ; +C -1 ; WX 869 ; N Ograve ; B 106 -13 900 960 ; +C -1 ; WX 869 ; N Oacute ; B 106 -13 900 964 ; +C -1 ; WX 869 ; N Odieresis ; B 106 -13 900 931 ; +C -1 ; WX 740 ; N Ntilde ; B 76 0 801 916 ; +C -1 ; WX 740 ; N Ncaron ; B 76 0 801 931 ; +C -1 ; WX 740 ; N Nacute ; B 76 0 801 964 ; +C -1 ; WX 462 ; N Lcaron ; B 76 0 522 739 ; +C -1 ; WX 462 ; N Lacute ; B 76 0 480 964 ; +C -1 ; WX 226 ; N Idotaccent ; B 76 0 323 931 ; +C -1 ; WX 301 ; N racute ; B 63 0 399 782 ; +C -1 ; WX 226 ; N Icircumflex ; B 76 0 439 931 ; +C -1 ; WX 655 ; N ohungarumlaut ; B 87 -13 669 780 ; +C -1 ; WX 655 ; N otilde ; B 87 -13 669 734 ; +C -1 ; WX 554 ; N Euro ; B -32 -13 638 752 ; +C -1 ; WX 655 ; N ocircumflex ; B 87 -13 669 749 ; +C -1 ; WX 332 ; N onesuperior ; B 227 297 370 739 ; +C -1 ; WX 332 ; N twosuperior ; B 67 297 435 747 ; +C -1 ; WX 332 ; N threesuperior ; B 91 289 411 747 ; +C -1 ; WX 226 ; N Igrave ; B 76 0 388 960 ; +C -1 ; WX 226 ; N Iacute ; B 76 0 362 964 ; +C -1 ; WX 226 ; N Imacron ; B 76 0 437 895 ; +C -1 ; WX 226 ; N Iogonek ; B 4 -195 287 739 ; +C -1 ; WX 226 ; N Idieresis ; B 76 0 396 931 ; +C -1 ; WX 872 ; N Gbreve ; B 107 -13 894 925 ; +C -1 ; WX 655 ; N Umacron ; B 119 -13 716 895 ; +C -1 ; WX 591 ; N Kcommaaccent ; B 76 -232 722 739 ; +C -1 ; WX 655 ; N ograve ; B 87 -13 669 778 ; +C -1 ; WX 498 ; N Scommaaccent ; B 56 -232 564 752 ; +C -1 ; WX 536 ; N Eogonek ; B 76 -195 617 739 ; +C -1 ; WX 655 ; N oacute ; B 87 -13 669 782 ; +C -1 ; WX 536 ; N Edotaccent ; B 76 0 617 931 ; +C -1 ; WX 200 ; N iogonek ; B -9 -195 274 739 ; +C -1 ; WX 673 ; N gcommaaccent ; B 60 -215 711 792 ; +C -1 ; WX 655 ; N odieresis ; B 87 -13 669 749 ; +C -1 ; WX 610 ; N ntilde ; B 63 0 609 734 ; +C -1 ; WX 610 ; N ncaron ; B 63 0 619 749 ; +C -1 ; WX 536 ; N Ecaron ; B 76 0 622 931 ; +C -1 ; WX 536 ; N Ecircumflex ; B 76 0 617 931 ; +C -1 ; WX 388 ; N scedilla ; B 43 -227 425 560 ; +C -1 ; WX 301 ; N rcaron ; B 63 0 465 749 ; +C -1 ; WX 536 ; N Egrave ; B 76 0 617 960 ; +C -1 ; WX 536 ; N Eacute ; B 76 0 617 964 ; +C -1 ; WX 872 ; N Gcommaaccent ; B 107 -232 894 752 ; +C -1 ; WX 607 ; N Rcommaaccent ; B 76 -232 673 739 ; +C -1 ; WX 536 ; N Edieresis ; B 76 0 617 931 ; +C -1 ; WX 610 ; N nacute ; B 63 0 609 782 ; +C -1 ; WX 608 ; N uogonek ; B 99 -195 646 547 ; +C -1 ; WX 608 ; N umacron ; B 99 -13 646 713 ; +C -1 ; WX 744 ; N Dcaron ; B 76 0 774 931 ; +C -1 ; WX 231 ; N lcaron ; B 63 0 412 739 ; +C -1 ; WX 813 ; N Ccaron ; B 106 -13 869 931 ; +C -1 ; WX 813 ; N Cacute ; B 106 -13 869 964 ; +C -1 ; WX 813 ; N Ccedilla ; B 106 -227 869 752 ; +C -1 ; WX 400 ; N degree ; B 157 381 462 681 ; +C -1 ; WX 740 ; N Aogonek ; B 11 -195 733 739 ; +C -1 ; WX 606 ; N minus ; B 100 267 618 341 ; +C -1 ; WX 606 ; N multiply ; B 70 29 648 570 ; +C -1 ; WX 606 ; N divide ; B 100 112 618 496 ; +C -1 ; WX 740 ; N Aring ; B 11 0 729 972 ; +C -1 ; WX 1000 ; N trademark ; B 189 338 1075 739 ; +C -1 ; WX 301 ; N rcommaaccent ; B 0 -232 396 560 ; +C -1 ; WX 200 ; N lacute ; B 63 0 349 964 ; +C -1 ; WX 655 ; N omacron ; B 87 -13 669 713 ; +C -1 ; WX 740 ; N Atilde ; B 11 0 729 916 ; +C -1 ; WX 200 ; N icircumflex ; B 37 0 391 749 ; +C -1 ; WX 200 ; N igrave ; B 63 0 339 778 ; +C -1 ; WX 610 ; N ncommaaccent ; B 63 -232 609 560 ; +C -1 ; WX 200 ; N lcommaaccent ; B -9 -232 274 739 ; +C -1 ; WX 606 ; N plusminus ; B 51 0 628 610 ; +C -1 ; WX 831 ; N onehalf ; B 207 0 874 739 ; +C -1 ; WX 831 ; N onequarter ; B 217 0 841 739 ; +C -1 ; WX 831 ; N threequarters ; B 91 0 841 747 ; +C -1 ; WX 200 ; N iacute ; B 63 0 349 782 ; +C -1 ; WX 740 ; N Abreve ; B 11 0 729 925 ; +C -1 ; WX 502 ; N kcommaaccent ; B 63 -232 584 739 ; +C -1 ; WX 869 ; N Omacron ; B 106 -13 900 895 ; +C -1 ; WX 200 ; N imacron ; B 46 0 395 713 ; +C -1 ; WX 650 ; N emacron ; B 88 -13 665 713 ; +C -1 ; WX 683 ; N amacron ; B 88 -13 721 713 ; +C -1 ; WX 339 ; N tcommaaccent ; B 40 -232 428 739 ; +C -1 ; WX 536 ; N ydieresis ; B 97 -192 628 749 ; +C -1 ; WX 425 ; N zdotaccent ; B 10 0 497 749 ; +C -1 ; WX 425 ; N zcaron ; B 10 0 527 749 ; +C -1 ; WX 425 ; N zacute ; B 10 0 497 782 ; +C -1 ; WX 536 ; N yacute ; B 97 -192 628 782 ; +C -1 ; WX 608 ; N uhungarumlaut ; B 99 -13 646 780 ; +C -1 ; WX 655 ; N eth ; B 87 -13 673 756 ; +C -1 ; WX 608 ; N uring ; B 99 -13 646 790 ; +C -1 ; WX 869 ; N Ocircumflex ; B 106 -13 900 931 ; +C -1 ; WX 351 ; N commaaccent ; B 66 -232 224 -53 ; +C -1 ; WX 747 ; N copyright ; B 53 -13 830 752 ; +C -1 ; WX 747 ; N registered ; B 53 -13 830 752 ; +C -1 ; WX 740 ; N Acircumflex ; B 11 0 729 931 ; +C -1 ; WX 200 ; N idieresis ; B 63 0 348 749 ; +C -1 ; WX 494 ; N lozenge ; B 88 0 535 740 ; +C -1 ; WX 612 ; N Delta ; B 6 0 608 688 ; +C -1 ; WX 606 ; N notequal ; B 82 42 636 558 ; +C -1 ; WX 549 ; N radical ; B 93 -35 683 913 ; +C -1 ; WX 740 ; N Agrave ; B 11 0 729 960 ; +C -1 ; WX 740 ; N Aacute ; B 11 0 729 964 ; +C -1 ; WX 549 ; N lessequal ; B 26 0 650 646 ; +C -1 ; WX 549 ; N greaterequal ; B 26 0 606 646 ; +C -1 ; WX 606 ; N logicalnot ; B 118 148 636 436 ; +C -1 ; WX 713 ; N summation ; B -9 -123 761 752 ; +C -1 ; WX 494 ; N partialdiff ; B 56 -10 545 753 ; +C -1 ; WX 740 ; N Ncommaaccent ; B 76 -232 801 739 ; +C -1 ; WX 685 ; N dcroat ; B 88 -13 808 739 ; +C -1 ; WX 672 ; N brokenbar ; B 304 0 505 739 ; +C -1 ; WX 462 ; N Lcommaaccent ; B 76 -232 468 739 ; +C -1 ; WX 740 ; N Adieresis ; B 11 0 729 931 ; +C -1 ; WX 608 ; N mu ; B 27 -192 646 547 ; +C -1 ; WX 277 ; N .notdef ; B 0 0 0 0 ; +EndCharMetrics +StartKernData +StartKernPairs 998 +KPX A C -38 +KPX A Ccedilla -38 +KPX A G -39 +KPX A O -39 +KPX A Odieresis -39 +KPX A Q -39 +KPX A T -56 +KPX A U -32 +KPX A Uacute -32 +KPX A Ucircumflex -32 +KPX A Udieresis -32 +KPX A Ugrave -32 +KPX A V -75 +KPX A W -50 +KPX A Y -80 +KPX A a -22 +KPX A b 0 +KPX A c -22 +KPX A ccedilla -23 +KPX A comma -8 +KPX A d -22 +KPX A e -22 +KPX A g -23 +KPX A guillemotleft -24 +KPX A guilsinglleft -24 +KPX A hyphen 8 +KPX A o -21 +KPX A period 10 +KPX A q -21 +KPX A quotedblright -93 +KPX A quoteright -95 +KPX A t -31 +KPX A u -15 +KPX A v -42 +KPX A w -36 +KPX A y -39 +KPX Aacute C -38 +KPX Aacute G -39 +KPX Aacute O -39 +KPX Aacute Q -39 +KPX Aacute T -56 +KPX Aacute U -32 +KPX Aacute V -75 +KPX Aacute W -50 +KPX Aacute Y -80 +KPX Aacute a -22 +KPX Aacute b 0 +KPX Aacute c -22 +KPX Aacute comma -8 +KPX Aacute d -22 +KPX Aacute e -22 +KPX Aacute g -23 +KPX Aacute guillemotleft -24 +KPX Aacute guilsinglleft -24 +KPX Aacute hyphen 8 +KPX Aacute o -21 +KPX Aacute period 10 +KPX Aacute q -21 +KPX Aacute quoteright -95 +KPX Aacute t -31 +KPX Aacute u -15 +KPX Aacute v -42 +KPX Aacute w -36 +KPX Aacute y -39 +KPX Acircumflex C -38 +KPX Acircumflex G -39 +KPX Acircumflex O -39 +KPX Acircumflex Q -39 +KPX Acircumflex T -56 +KPX Acircumflex U -32 +KPX Acircumflex V -75 +KPX Acircumflex W -50 +KPX Acircumflex Y -80 +KPX Acircumflex comma -8 +KPX Acircumflex period 10 +KPX Adieresis C -38 +KPX Adieresis G -39 +KPX Adieresis O -39 +KPX Adieresis Q -39 +KPX Adieresis T -56 +KPX Adieresis U -32 +KPX Adieresis V -75 +KPX Adieresis W -50 +KPX Adieresis Y -80 +KPX Adieresis a -22 +KPX Adieresis b 0 +KPX Adieresis c -22 +KPX Adieresis comma -8 +KPX Adieresis d -22 +KPX Adieresis g -23 +KPX Adieresis guillemotleft -24 +KPX Adieresis guilsinglleft -24 +KPX Adieresis hyphen 8 +KPX Adieresis o -21 +KPX Adieresis period 10 +KPX Adieresis q -21 +KPX Adieresis quotedblright -93 +KPX Adieresis quoteright -95 +KPX Adieresis t -31 +KPX Adieresis u -15 +KPX Adieresis v -42 +KPX Adieresis w -36 +KPX Adieresis y -39 +KPX Agrave C -38 +KPX Agrave G -39 +KPX Agrave O -39 +KPX Agrave Q -39 +KPX Agrave T -56 +KPX Agrave U -32 +KPX Agrave V -75 +KPX Agrave W -50 +KPX Agrave Y -80 +KPX Agrave comma -8 +KPX Agrave period 10 +KPX Aring C -38 +KPX Aring G -39 +KPX Aring O -39 +KPX Aring Q -39 +KPX Aring T -56 +KPX Aring U -32 +KPX Aring V -75 +KPX Aring W -50 +KPX Aring Y -80 +KPX Aring a -22 +KPX Aring b 0 +KPX Aring c -22 +KPX Aring comma -8 +KPX Aring d -22 +KPX Aring e -22 +KPX Aring g -23 +KPX Aring guillemotleft -24 +KPX Aring guilsinglleft -24 +KPX Aring hyphen 8 +KPX Aring o -21 +KPX Aring period 10 +KPX Aring q -21 +KPX Aring quotedblright -93 +KPX Aring quoteright -95 +KPX Aring t -31 +KPX Aring u -15 +KPX Aring v -42 +KPX Aring w -36 +KPX Aring y -39 +KPX Atilde C -38 +KPX Atilde G -39 +KPX Atilde O -39 +KPX Atilde Q -39 +KPX Atilde T -56 +KPX Atilde U -32 +KPX Atilde V -75 +KPX Atilde W -50 +KPX Atilde Y -80 +KPX Atilde comma -8 +KPX Atilde period 10 +KPX B A -14 +KPX B AE -26 +KPX B Aacute -14 +KPX B Acircumflex -14 +KPX B Adieresis -14 +KPX B Aring -14 +KPX B Atilde -14 +KPX B O 3 +KPX B OE 5 +KPX B Oacute 3 +KPX B Ocircumflex 3 +KPX B Odieresis 3 +KPX B Ograve 3 +KPX B Oslash 7 +KPX B V -24 +KPX B W -2 +KPX B Y -31 +KPX C A -27 +KPX C AE -49 +KPX C Aacute -27 +KPX C Adieresis -27 +KPX C Aring -27 +KPX C H -4 +KPX C K -4 +KPX C O -20 +KPX C Oacute -20 +KPX C Odieresis -20 +KPX Ccedilla A -30 +KPX D A -42 +KPX D Aacute -42 +KPX D Acircumflex -42 +KPX D Adieresis -42 +KPX D Agrave -42 +KPX D Aring -42 +KPX D Atilde -42 +KPX D J -11 +KPX D T -44 +KPX D V -38 +KPX D W -15 +KPX D X -33 +KPX D Y -46 +KPX F A -61 +KPX F Aacute -61 +KPX F Acircumflex -61 +KPX F Adieresis -61 +KPX F Agrave -61 +KPX F Aring -61 +KPX F Atilde -61 +KPX F J -60 +KPX F O -6 +KPX F Odieresis -6 +KPX F a -8 +KPX F aacute -8 +KPX F adieresis -8 +KPX F ae -8 +KPX F aring -8 +KPX F comma -101 +KPX F e -8 +KPX F eacute -8 +KPX F hyphen 16 +KPX F i -10 +KPX F j -11 +KPX F o -8 +KPX F oacute -8 +KPX F odieresis -8 +KPX F oe -8 +KPX F oslash -11 +KPX F period -83 +KPX F r -15 +KPX F u -15 +KPX G A -46 +KPX G AE -69 +KPX G Aacute -46 +KPX G Acircumflex -46 +KPX G Adieresis -46 +KPX G Agrave -46 +KPX G Aring -46 +KPX G Atilde -46 +KPX G T -49 +KPX G V -45 +KPX G W -22 +KPX G Y -53 +KPX J A -32 +KPX J AE -44 +KPX J Adieresis -32 +KPX J Aring -32 +KPX K C -40 +KPX K G -41 +KPX K O -41 +KPX K OE -40 +KPX K Oacute -41 +KPX K Odieresis -41 +KPX K S -21 +KPX K T 32 +KPX K a -49 +KPX K adieresis -49 +KPX K ae -49 +KPX K aring -49 +KPX K e -50 +KPX K hyphen -35 +KPX K o -49 +KPX K oacute -49 +KPX K odieresis -49 +KPX K u -41 +KPX K udieresis -41 +KPX K y -50 +KPX L A 28 +KPX L AE 27 +KPX L Aacute 28 +KPX L Adieresis 28 +KPX L Aring 28 +KPX L C -53 +KPX L Ccedilla -56 +KPX L G -56 +KPX L O -56 +KPX L Oacute -56 +KPX L Ocircumflex -56 +KPX L Odieresis -56 +KPX L Ograve -56 +KPX L Otilde -56 +KPX L S 0 +KPX L T -52 +KPX L U -33 +KPX L Udieresis -33 +KPX L V -108 +KPX L W -66 +KPX L Y -93 +KPX L hyphen -85 +KPX L quotedblright -117 +KPX L quoteright -119 +KPX L u -20 +KPX L udieresis -20 +KPX L y -66 +KPX N A -7 +KPX N AE -7 +KPX N Aacute -7 +KPX N Adieresis -7 +KPX N Aring -7 +KPX N C 2 +KPX N Ccedilla 3 +KPX N G 1 +KPX N O 0 +KPX N Oacute 0 +KPX N Odieresis 0 +KPX N a 0 +KPX N aacute 0 +KPX N adieresis 0 +KPX N ae 0 +KPX N aring 0 +KPX N comma -17 +KPX N e 0 +KPX N eacute 0 +KPX N o 0 +KPX N oacute 0 +KPX N odieresis 0 +KPX N oslash 1 +KPX N period 0 +KPX N u 8 +KPX N udieresis 8 +KPX O A -43 +KPX O AE -73 +KPX O Aacute -43 +KPX O Adieresis -43 +KPX O Aring -43 +KPX O T -44 +KPX O V -39 +KPX O W -16 +KPX O X -34 +KPX O Y -47 +KPX Oacute A -43 +KPX Oacute T -44 +KPX Oacute V -39 +KPX Oacute W -16 +KPX Oacute Y -47 +KPX Ocircumflex T -44 +KPX Ocircumflex V -39 +KPX Ocircumflex Y -47 +KPX Odieresis A -43 +KPX Odieresis T -44 +KPX Odieresis V -39 +KPX Odieresis W -16 +KPX Odieresis X -34 +KPX Odieresis Y -47 +KPX Ograve T -44 +KPX Ograve V -39 +KPX Ograve Y -47 +KPX Oslash A -42 +KPX Otilde T -44 +KPX Otilde V -39 +KPX Otilde Y -47 +KPX P A -65 +KPX P AE -112 +KPX P Aacute -65 +KPX P Adieresis -65 +KPX P Aring -65 +KPX P J -73 +KPX P a -22 +KPX P aacute -22 +KPX P adieresis -22 +KPX P ae -22 +KPX P aring -22 +KPX P comma -129 +KPX P e -21 +KPX P eacute -21 +KPX P hyphen -11 +KPX P o -22 +KPX P oacute -22 +KPX P odieresis -22 +KPX P oe -21 +KPX P oslash -27 +KPX P period -112 +KPX R C -3 +KPX R Ccedilla -2 +KPX R G -4 +KPX R O -4 +KPX R OE -3 +KPX R Oacute -4 +KPX R Odieresis -4 +KPX R T -13 +KPX R U 1 +KPX R Udieresis 1 +KPX R V -20 +KPX R W -5 +KPX R Y -23 +KPX R a -11 +KPX R aacute -11 +KPX R adieresis -11 +KPX R ae -11 +KPX R aring -11 +KPX R e -11 +KPX R eacute -11 +KPX R hyphen -3 +KPX R o -11 +KPX R oacute -11 +KPX R odieresis -11 +KPX R oe -11 +KPX R u 0 +KPX R uacute 0 +KPX R udieresis 0 +KPX R y 14 +KPX S A -11 +KPX S AE -23 +KPX S Aacute -11 +KPX S Adieresis -11 +KPX S Aring -11 +KPX S T -4 +KPX S V -16 +KPX S W 2 +KPX S Y -18 +KPX S t 13 +KPX T A -57 +KPX T AE -57 +KPX T Aacute -57 +KPX T Acircumflex -57 +KPX T Adieresis -57 +KPX T Agrave -57 +KPX T Aring -57 +KPX T Atilde -57 +KPX T C -43 +KPX T G -44 +KPX T J -54 +KPX T O -44 +KPX T OE -43 +KPX T Oacute -44 +KPX T Ocircumflex -44 +KPX T Odieresis -44 +KPX T Ograve -44 +KPX T Oslash -39 +KPX T Otilde -44 +KPX T S -5 +KPX T V 28 +KPX T W 28 +KPX T Y 32 +KPX T a -50 +KPX T ae -50 +KPX T c -51 +KPX T colon -58 +KPX T comma -67 +KPX T e -50 +KPX T g -49 +KPX T guillemotleft -44 +KPX T guilsinglleft -44 +KPX T hyphen -16 +KPX T i 3 +KPX T j 1 +KPX T o -50 +KPX T oslash -49 +KPX T period -50 +KPX T r -35 +KPX T s -33 +KPX T semicolon -68 +KPX T u -42 +KPX T v -55 +KPX T w -54 +KPX T y -55 +KPX U A -34 +KPX U AE -55 +KPX U Aacute -34 +KPX U Acircumflex -34 +KPX U Adieresis -34 +KPX U Aring -34 +KPX U Atilde -34 +KPX U comma -39 +KPX U m 6 +KPX U n 6 +KPX U p 6 +KPX U period -20 +KPX U r 5 +KPX Uacute A -34 +KPX Uacute comma -39 +KPX Uacute m 6 +KPX Uacute n 6 +KPX Uacute p 6 +KPX Uacute period -20 +KPX Uacute r 5 +KPX Ucircumflex A -34 +KPX Udieresis A -34 +KPX Udieresis b 5 +KPX Udieresis comma -39 +KPX Udieresis m 6 +KPX Udieresis n 6 +KPX Udieresis p 6 +KPX Udieresis period -20 +KPX Udieresis r 5 +KPX Ugrave A -34 +KPX V A -75 +KPX V AE -121 +KPX V Aacute -75 +KPX V Acircumflex -75 +KPX V Adieresis -75 +KPX V Agrave -75 +KPX V Aring -75 +KPX V Atilde -75 +KPX V C -41 +KPX V G -43 +KPX V O -43 +KPX V Oacute -43 +KPX V Ocircumflex -43 +KPX V Odieresis -43 +KPX V Ograve -43 +KPX V Oslash -38 +KPX V Otilde -43 +KPX V S -18 +KPX V T 30 +KPX V a -62 +KPX V ae -62 +KPX V colon -66 +KPX V comma -112 +KPX V e -62 +KPX V g -60 +KPX V guillemotleft -52 +KPX V guilsinglleft -52 +KPX V hyphen -30 +KPX V i 1 +KPX V o -62 +KPX V oslash -62 +KPX V period -95 +KPX V r -36 +KPX V semicolon -77 +KPX V u -38 +KPX V y -13 +KPX W A -51 +KPX W AE -79 +KPX W Aacute -51 +KPX W Acircumflex -51 +KPX W Adieresis -51 +KPX W Agrave -51 +KPX W Aring -51 +KPX W Atilde -51 +KPX W C -18 +KPX W G -20 +KPX W O -20 +KPX W Oacute -20 +KPX W Ocircumflex -20 +KPX W Odieresis -20 +KPX W Ograve -20 +KPX W Oslash -15 +KPX W Otilde -20 +KPX W S -4 +KPX W T 30 +KPX W a -33 +KPX W ae -33 +KPX W colon -44 +KPX W comma -73 +KPX W e -33 +KPX W g -31 +KPX W guillemotleft -24 +KPX W guilsinglleft -24 +KPX W hyphen -1 +KPX W i 1 +KPX W o -33 +KPX W oslash -33 +KPX W period -55 +KPX W r -18 +KPX W semicolon -54 +KPX W u -23 +KPX W y -1 +KPX X C -32 +KPX X O -34 +KPX X Odieresis -34 +KPX X Q -33 +KPX X a -39 +KPX X e -40 +KPX X hyphen -22 +KPX X o -39 +KPX X u -31 +KPX X y -43 +KPX Y A -81 +KPX Y AE -99 +KPX Y Aacute -81 +KPX Y Acircumflex -81 +KPX Y Adieresis -81 +KPX Y Agrave -81 +KPX Y Aring -81 +KPX Y Atilde -81 +KPX Y C -48 +KPX Y G -50 +KPX Y O -50 +KPX Y Oacute -50 +KPX Y Ocircumflex -50 +KPX Y Odieresis -50 +KPX Y Ograve -50 +KPX Y Oslash -45 +KPX Y Otilde -50 +KPX Y S -19 +KPX Y T 34 +KPX Y a -70 +KPX Y ae -70 +KPX Y colon -75 +KPX Y comma -109 +KPX Y e -70 +KPX Y g -69 +KPX Y guillemotleft -65 +KPX Y guilsinglleft -65 +KPX Y hyphen -50 +KPX Y i 5 +KPX Y o -70 +KPX Y oslash -70 +KPX Y p -42 +KPX Y period -92 +KPX Y semicolon -85 +KPX Y u -44 +KPX Y v -19 +KPX Z v -13 +KPX Z y -14 +KPX a j 11 +KPX a quoteright -9 +KPX a v 0 +KPX a w 0 +KPX a y 0 +KPX aacute v 0 +KPX aacute w 0 +KPX aacute y 0 +KPX adieresis v 0 +KPX adieresis w 0 +KPX adieresis y 0 +KPX ae v -26 +KPX ae w -20 +KPX ae y -24 +KPX agrave v 0 +KPX agrave w 0 +KPX agrave y 0 +KPX aring v 0 +KPX aring w 0 +KPX aring y 0 +KPX b v -25 +KPX b w -19 +KPX b y -23 +KPX c h -8 +KPX c k -8 +KPX comma one -67 +KPX comma quotedblright -19 +KPX comma quoteright -21 +KPX e quoteright -31 +KPX e t -24 +KPX e v -26 +KPX e w -21 +KPX e x -22 +KPX e y -25 +KPX eacute v -26 +KPX eacute w -21 +KPX eacute y -25 +KPX ecircumflex v -26 +KPX ecircumflex w -21 +KPX ecircumflex y -25 +KPX eight four 11 +KPX eight one -87 +KPX eight seven -50 +KPX f a -25 +KPX f aacute -25 +KPX f adieresis -25 +KPX f ae -24 +KPX f aring -25 +KPX f e -24 +KPX f eacute -24 +KPX f f 28 +KPX f i 4 +KPX f j 2 +KPX f l 4 +KPX f o -25 +KPX f oacute -25 +KPX f odieresis -25 +KPX f oe -25 +KPX f oslash -28 +KPX f quoteright -13 +KPX f s 9 +KPX f t 30 +KPX five four 19 +KPX five one -82 +KPX five seven -36 +KPX four four 20 +KPX four one -83 +KPX four seven -40 +KPX g a -1 +KPX g adieresis -1 +KPX g ae -1 +KPX g aring -1 +KPX g e -1 +KPX g eacute -1 +KPX g l 11 +KPX g oacute -1 +KPX g odieresis -1 +KPX g r 11 +KPX guillemotright A -24 +KPX guillemotright AE -62 +KPX guillemotright Aacute -24 +KPX guillemotright Adieresis -24 +KPX guillemotright Aring -24 +KPX guillemotright T -44 +KPX guillemotright V -49 +KPX guillemotright W -22 +KPX guillemotright Y -63 +KPX guilsinglright A -24 +KPX guilsinglright AE -62 +KPX guilsinglright Aacute -24 +KPX guilsinglright Adieresis -24 +KPX guilsinglright Aring -24 +KPX guilsinglright T -44 +KPX guilsinglright V -49 +KPX guilsinglright W -22 +KPX guilsinglright Y -63 +KPX h quoteright -31 +KPX h y -19 +KPX hyphen A 14 +KPX hyphen AE -21 +KPX hyphen Aacute 14 +KPX hyphen Adieresis 14 +KPX hyphen Aring 14 +KPX hyphen T -11 +KPX hyphen V -24 +KPX hyphen W 5 +KPX hyphen Y -43 +KPX i T 3 +KPX i j 11 +KPX k a -30 +KPX k aacute -30 +KPX k adieresis -30 +KPX k ae -30 +KPX k aring -30 +KPX k comma -26 +KPX k e -30 +KPX k eacute -30 +KPX k g -29 +KPX k hyphen -41 +KPX k o -30 +KPX k oacute -30 +KPX k odieresis -30 +KPX k period -13 +KPX k s -10 +KPX k u -2 +KPX k udieresis -2 +KPX l v 0 +KPX l y 0 +KPX m p 7 +KPX m v -19 +KPX m w -13 +KPX m y -17 +KPX n T -44 +KPX n p 6 +KPX n quoteright -31 +KPX n v -21 +KPX n w -15 +KPX n y -19 +KPX nine four -37 +KPX nine one -84 +KPX nine seven -38 +KPX o T -49 +KPX o quoteright -31 +KPX o t -21 +KPX o v -24 +KPX o w -18 +KPX o x -20 +KPX o y -22 +KPX oacute v -24 +KPX oacute w -18 +KPX oacute y -22 +KPX ocircumflex t -21 +KPX odieresis t -21 +KPX odieresis v -24 +KPX odieresis w -18 +KPX odieresis x -20 +KPX odieresis y -22 +KPX ograve v -24 +KPX ograve w -18 +KPX ograve y -22 +KPX one comma -79 +KPX one eight -52 +KPX one five -50 +KPX one four -66 +KPX one nine -60 +KPX one one -138 +KPX one period -62 +KPX one seven -93 +KPX one six -59 +KPX one three -60 +KPX one two -59 +KPX one zero -35 +KPX p t -23 +KPX p y -24 +KPX period one -103 +KPX period quotedblright -58 +KPX period quoteright -60 +KPX q c 0 +KPX q u 8 +KPX quotedblbase A 4 +KPX quotedblbase AE -10 +KPX quotedblbase T -54 +KPX quotedblbase V -97 +KPX quotedblbase W -59 +KPX quotedblbase Y -95 +KPX quotedblleft A -97 +KPX quotedblleft AE -175 +KPX quotedblleft Aacute -97 +KPX quotedblleft Adieresis -97 +KPX quotedblleft Aring -97 +KPX quotedblleft T -26 +KPX quotedblleft V 2 +KPX quotedblleft W 10 +KPX quotedblleft Y -1 +KPX quotedblright A -105 +KPX quotedblright AE -182 +KPX quotedblright Aacute -105 +KPX quotedblright Adieresis -105 +KPX quotedblright Aring -105 +KPX quotedblright T -10 +KPX quotedblright V -4 +KPX quotedblright W 4 +KPX quotedblright Y -7 +KPX quoteleft A -95 +KPX quoteleft AE -172 +KPX quoteleft Aacute -95 +KPX quoteleft Adieresis -95 +KPX quoteleft Aring -95 +KPX quoteleft T -24 +KPX quoteleft V 4 +KPX quoteleft W 12 +KPX quoteleft Y 1 +KPX quoteright A -108 +KPX quoteright AE -186 +KPX quoteright Aacute -108 +KPX quoteright Adieresis -108 +KPX quoteright Aring -108 +KPX quoteright comma -104 +KPX quoteright d -60 +KPX quoteright o -59 +KPX quoteright period -83 +KPX quoteright r -33 +KPX quoteright s -30 +KPX quoteright t -37 +KPX quoteright v -24 +KPX quoteright w -22 +KPX quoteright y -24 +KPX r a -32 +KPX r aacute -32 +KPX r acircumflex -32 +KPX r adieresis -32 +KPX r ae -31 +KPX r agrave -32 +KPX r aring -32 +KPX r c -33 +KPX r ccedilla -27 +KPX r colon -17 +KPX r comma -71 +KPX r d -33 +KPX r e -31 +KPX r eacute -31 +KPX r ecircumflex -31 +KPX r egrave -31 +KPX r f 26 +KPX r g -20 +KPX r h 2 +KPX r hyphen -23 +KPX r i 1 +KPX r j 0 +KPX r k 2 +KPX r l 2 +KPX r m 2 +KPX r n 2 +KPX r o -32 +KPX r oacute -32 +KPX r ocircumflex -32 +KPX r odieresis -32 +KPX r oe -32 +KPX r ograve -32 +KPX r oslash -36 +KPX r p 2 +KPX r period -55 +KPX r q -32 +KPX r quoteright -11 +KPX r r 2 +KPX r s 4 +KPX r semicolon -30 +KPX r t 28 +KPX r u 2 +KPX r v 27 +KPX r w 28 +KPX r x 26 +KPX r y 27 +KPX r z 23 +KPX s quoteright -16 +KPX s t 2 +KPX seven colon -81 +KPX seven comma -136 +KPX seven eight -47 +KPX seven five -51 +KPX seven four -84 +KPX seven one -70 +KPX seven period -118 +KPX seven seven -25 +KPX seven six -64 +KPX seven three -46 +KPX seven two -32 +KPX six four 19 +KPX six one -96 +KPX six seven -69 +KPX t S 8 +KPX t a -29 +KPX t aacute -29 +KPX t adieresis -29 +KPX t ae -28 +KPX t aring -29 +KPX t colon -19 +KPX t e -28 +KPX t eacute -28 +KPX t h 0 +KPX t o -29 +KPX t oacute -29 +KPX t odieresis -29 +KPX t quoteright -12 +KPX t semicolon -32 +KPX three four 7 +KPX three one -93 +KPX three seven -58 +KPX two four -25 +KPX two one -88 +KPX two seven -43 +KPX u quoteright -9 +KPX v a -28 +KPX v aacute -28 +KPX v acircumflex -28 +KPX v adieresis -28 +KPX v ae -27 +KPX v agrave -28 +KPX v aring -28 +KPX v atilde -28 +KPX v c -28 +KPX v colon -27 +KPX v comma -89 +KPX v e -28 +KPX v eacute -28 +KPX v ecircumflex -28 +KPX v egrave -28 +KPX v g -24 +KPX v hyphen -3 +KPX v l 2 +KPX v o -27 +KPX v oacute -27 +KPX v odieresis -27 +KPX v ograve -27 +KPX v oslash -28 +KPX v period -72 +KPX v s -7 +KPX v semicolon -38 +KPX w a -23 +KPX w aacute -23 +KPX w acircumflex -23 +KPX w adieresis -23 +KPX w ae -23 +KPX w agrave -23 +KPX w aring -23 +KPX w atilde -23 +KPX w c -24 +KPX w colon -25 +KPX w comma -81 +KPX w e -23 +KPX w eacute -23 +KPX w ecircumflex -23 +KPX w egrave -23 +KPX w g -21 +KPX w hyphen 1 +KPX w l 2 +KPX w o -23 +KPX w oacute -23 +KPX w odieresis -23 +KPX w ograve -23 +KPX w oslash -23 +KPX w period -64 +KPX w s -5 +KPX w semicolon -37 +KPX x a -21 +KPX x c -22 +KPX x e -21 +KPX x eacute -21 +KPX x o -21 +KPX x q -21 +KPX y a -30 +KPX y aacute -30 +KPX y acircumflex -30 +KPX y adieresis -30 +KPX y ae -29 +KPX y agrave -30 +KPX y aring -30 +KPX y atilde -30 +KPX y c -30 +KPX y colon -27 +KPX y comma -91 +KPX y e -30 +KPX y eacute -30 +KPX y ecircumflex -30 +KPX y egrave -30 +KPX y g -25 +KPX y hyphen -6 +KPX y l 1 +KPX y o -29 +KPX y oacute -29 +KPX y odieresis -29 +KPX y ograve -29 +KPX y oslash -30 +KPX y period -75 +KPX y s -7 +KPX y semicolon -38 +KPX zero four 16 +KPX zero one -70 +KPX zero seven -37 +EndKernPairs +EndKernData +EndFontMetrics diff --git a/Master/xemtex/gsfonts/a010033l.pfb b/Master/xemtex/gsfonts/a010033l.pfb new file mode 100644 index 00000000000..3407908ae6d Binary files /dev/null and b/Master/xemtex/gsfonts/a010033l.pfb differ diff --git a/Master/xemtex/gsfonts/a010033l.pfm b/Master/xemtex/gsfonts/a010033l.pfm new file mode 100644 index 00000000000..1ed050efbb3 Binary files /dev/null and b/Master/xemtex/gsfonts/a010033l.pfm differ diff --git a/Master/xemtex/gsfonts/a010035l.afm b/Master/xemtex/gsfonts/a010035l.afm new file mode 100644 index 00000000000..3ebc227db86 --- /dev/null +++ b/Master/xemtex/gsfonts/a010035l.afm @@ -0,0 +1,1341 @@ +StartFontMetrics 3.0 +Comment Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development +Comment Creation Date: 12/22/1999 +Comment See the file PUBLIC (Aladdin Free Public License) for license conditions. +FontName URWGothicL-DemiObli +FullName URW Gothic L Demi Oblique +FamilyName URW Gothic L +Weight Demi +ItalicAngle -10.0 +IsFixedPitch false +UnderlinePosition -93 +UnderlineThickness 90 +Version 1.05 +Notice (URW)++,Copyright 1999 by (URW)++ Design & Development +EncodingScheme AdobeStandardEncoding +FontBBox -121 -251 1281 1013 +CapHeight 739 +XHeight 554 +Descender -185 +Ascender 739 +StartCharMetrics 316 +C 32 ; WX 280 ; N space ; B 0 0 0 0 ; +C 33 ; WX 280 ; N exclam ; B 72 0 342 739 ; +C 34 ; WX 360 ; N quotedbl ; B 169 513 420 739 ; +C 35 ; WX 560 ; N numbersign ; B 77 0 623 739 ; +C 36 ; WX 560 ; N dollar ; B 100 -86 575 856 ; +C 37 ; WX 860 ; N percent ; B 124 -13 868 752 ; +C 38 ; WX 680 ; N ampersand ; B 71 -13 741 752 ; +C 39 ; WX 280 ; N quoteright ; B 159 464 342 739 ; +C 40 ; WX 380 ; N parenleft ; B 122 -137 486 739 ; +C 41 ; WX 380 ; N parenright ; B 13 -137 377 739 ; +C 42 ; WX 440 ; N asterisk ; B 176 425 490 739 ; +C 43 ; WX 600 ; N plus ; B 100 129 625 609 ; +C 44 ; WX 280 ; N comma ; B 47 -140 230 128 ; +C 45 ; WX 420 ; N hyphen ; B 122 229 421 347 ; +C 46 ; WX 280 ; N period ; B 72 0 230 128 ; +C 47 ; WX 460 ; N slash ; B 2 -128 580 739 ; +C 48 ; WX 560 ; N zero ; B 68 -13 623 752 ; +C 49 ; WX 560 ; N one ; B 246 0 516 739 ; +C 50 ; WX 560 ; N two ; B 42 0 619 752 ; +C 51 ; WX 560 ; N three ; B 53 -13 571 752 ; +C 52 ; WX 560 ; N four ; B 20 0 589 739 ; +C 53 ; WX 560 ; N five ; B 50 -13 586 739 ; +C 54 ; WX 560 ; N six ; B 62 -13 584 739 ; +C 55 ; WX 560 ; N seven ; B 85 0 637 739 ; +C 56 ; WX 560 ; N eight ; B 69 -13 582 752 ; +C 57 ; WX 560 ; N nine ; B 108 0 628 752 ; +C 58 ; WX 280 ; N colon ; B 72 0 298 502 ; +C 59 ; WX 280 ; N semicolon ; B 47 -140 298 502 ; +C 60 ; WX 600 ; N less ; B 98 33 668 582 ; +C 61 ; WX 600 ; N equal ; B 81 210 643 524 ; +C 62 ; WX 600 ; N greater ; B 56 33 625 582 ; +C 63 ; WX 560 ; N question ; B 129 0 586 752 ; +C 64 ; WX 740 ; N at ; B 64 -13 831 766 ; +C 65 ; WX 740 ; N A ; B 7 0 733 739 ; +C 66 ; WX 580 ; N B ; B 68 0 607 739 ; +C 67 ; WX 780 ; N C ; B 92 -13 858 752 ; +C 68 ; WX 700 ; N D ; B 68 0 734 739 ; +C 69 ; WX 520 ; N E ; B 68 0 602 739 ; +C 70 ; WX 480 ; N F ; B 68 0 581 739 ; +C 71 ; WX 840 ; N G ; B 91 -13 888 752 ; +C 72 ; WX 680 ; N H ; B 68 0 743 739 ; +C 73 ; WX 280 ; N I ; B 68 0 342 739 ; +C 74 ; WX 480 ; N J ; B 38 -13 551 739 ; +C 75 ; WX 620 ; N K ; B 68 0 736 739 ; +C 76 ; WX 440 ; N L ; B 68 0 456 739 ; +C 77 ; WX 900 ; N M ; B 68 0 977 739 ; +C 78 ; WX 740 ; N N ; B 68 0 804 739 ; +C 79 ; WX 840 ; N O ; B 91 -13 875 752 ; +C 80 ; WX 560 ; N P ; B 68 0 639 739 ; +C 81 ; WX 840 ; N Q ; B 91 -15 889 752 ; +C 82 ; WX 580 ; N R ; B 68 0 657 739 ; +C 83 ; WX 520 ; N S ; B 49 -13 579 752 ; +C 84 ; WX 420 ; N T ; B 119 0 555 739 ; +C 85 ; WX 640 ; N U ; B 109 -13 704 739 ; +C 86 ; WX 700 ; N V ; B 145 0 831 739 ; +C 87 ; WX 900 ; N W ; B 144 0 1035 739 ; +C 88 ; WX 680 ; N X ; B 5 0 813 739 ; +C 89 ; WX 620 ; N Y ; B 140 0 763 739 ; +C 90 ; WX 500 ; N Z ; B 18 0 598 739 ; +C 91 ; WX 320 ; N bracketleft ; B 100 -137 429 739 ; +C 92 ; WX 640 ; N backslash ; B 221 0 503 739 ; +C 93 ; WX 320 ; N bracketright ; B 13 -137 346 739 ; +C 94 ; WX 600 ; N asciicircum ; B 130 324 610 750 ; +C 95 ; WX 500 ; N underscore ; B -26 -138 491 -48 ; +C 96 ; WX 280 ; N quoteleft ; B 161 466 343 739 ; +C 97 ; WX 660 ; N a ; B 75 -13 718 567 ; +C 98 ; WX 660 ; N b ; B 54 -13 695 739 ; +C 99 ; WX 640 ; N c ; B 77 -13 670 567 ; +C 100 ; WX 660 ; N d ; B 76 -13 750 739 ; +C 101 ; WX 640 ; N e ; B 76 -13 665 567 ; +C 102 ; WX 280 ; N f ; B 57 0 413 739 ; +C 103 ; WX 660 ; N g ; B 30 -221 714 567 ; +C 104 ; WX 600 ; N h ; B 54 0 613 739 ; +C 105 ; WX 240 ; N i ; B 54 0 324 739 ; +C 106 ; WX 260 ; N j ; B -17 -185 342 739 ; +C 107 ; WX 580 ; N k ; B 54 0 625 739 ; +C 108 ; WX 240 ; N l ; B 54 0 324 739 ; +C 109 ; WX 940 ; N m ; B 54 0 952 567 ; +C 110 ; WX 600 ; N n ; B 54 0 613 567 ; +C 111 ; WX 640 ; N o ; B 76 -13 675 567 ; +C 112 ; WX 660 ; N p ; B 20 -185 691 567 ; +C 113 ; WX 660 ; N q ; B 77 -185 714 567 ; +C 114 ; WX 320 ; N r ; B 54 0 412 569 ; +C 115 ; WX 440 ; N s ; B 49 -13 482 567 ; +C 116 ; WX 300 ; N t ; B 74 0 390 739 ; +C 117 ; WX 600 ; N u ; B 88 -13 650 554 ; +C 118 ; WX 560 ; N v ; B 104 0 656 554 ; +C 119 ; WX 800 ; N w ; B 113 0 888 554 ; +C 120 ; WX 560 ; N x ; B 1 0 629 554 ; +C 121 ; WX 580 ; N y ; B 73 -185 671 554 ; +C 122 ; WX 460 ; N z ; B 20 0 528 554 ; +C 123 ; WX 340 ; N braceleft ; B 94 -129 439 740 ; +C 124 ; WX 600 ; N bar ; B 243 0 499 739 ; +C 125 ; WX 340 ; N braceright ; B 14 -129 360 740 ; +C 126 ; WX 600 ; N asciitilde ; B 105 214 619 421 ; +C 161 ; WX 280 ; N exclamdown ; B 38 -185 308 554 ; +C 162 ; WX 560 ; N cent ; B 106 39 593 715 ; +C 163 ; WX 560 ; N sterling ; B 40 0 616 752 ; +C 164 ; WX 160 ; N fraction ; B -121 0 417 739 ; +C 165 ; WX 560 ; N yen ; B 51 0 726 739 ; +C 166 ; WX 560 ; N florin ; B -44 -149 646 820 ; +C 167 ; WX 560 ; N section ; B 68 -157 608 752 ; +C 168 ; WX 560 ; N currency ; B 69 148 640 654 ; +C 169 ; WX 220 ; N quotesingle ; B 169 513 287 739 ; +C 170 ; WX 480 ; N quotedblleft ; B 159 466 548 739 ; +C 171 ; WX 460 ; N guillemotleft ; B 85 108 480 469 ; +C 172 ; WX 240 ; N guilsinglleft ; B 85 108 267 469 ; +C 173 ; WX 240 ; N guilsinglright ; B 98 108 280 469 ; +C 174 ; WX 520 ; N fi ; B 55 0 598 739 ; +C 175 ; WX 520 ; N fl ; B 55 0 598 739 ; +C 177 ; WX 500 ; N endash ; B 48 229 570 347 ; +C 178 ; WX 560 ; N dagger ; B 129 -128 607 739 ; +C 179 ; WX 560 ; N daggerdbl ; B 96 -128 615 739 ; +C 180 ; WX 280 ; N periodcentered ; B 119 300 276 432 ; +C 182 ; WX 600 ; N paragraph ; B 133 -128 664 739 ; +C 183 ; WX 600 ; N bullet ; B 190 144 533 487 ; +C 184 ; WX 280 ; N quotesinglbase ; B 46 -140 228 128 ; +C 185 ; WX 480 ; N quotedblbase ; B 45 -147 435 128 ; +C 186 ; WX 480 ; N quotedblright ; B 157 464 547 739 ; +C 187 ; WX 460 ; N guillemotright ; B 98 108 493 469 ; +C 188 ; WX 1000 ; N ellipsis ; B 100 0 924 128 ; +C 189 ; WX 1280 ; N perthousand ; B 124 -13 1281 752 ; +C 191 ; WX 560 ; N questiondown ; B 71 -198 528 554 ; +C 193 ; WX 420 ; N grave ; B 211 617 484 832 ; +C 194 ; WX 420 ; N acute ; B 205 617 488 832 ; +C 195 ; WX 540 ; N circumflex ; B 189 630 588 768 ; +C 196 ; WX 480 ; N tilde ; B 206 631 528 769 ; +C 197 ; WX 420 ; N macron ; B 189 650 486 749 ; +C 198 ; WX 480 ; N breve ; B 214 630 544 766 ; +C 199 ; WX 280 ; N dotaccent ; B 189 630 347 762 ; +C 200 ; WX 500 ; N dieresis ; B 189 630 557 762 ; +C 202 ; WX 360 ; N ring ; B 206 617 416 823 ; +C 203 ; WX 340 ; N cedilla ; B 42 -251 244 0 ; +C 205 ; WX 700 ; N hungarumlaut ; B 204 617 768 838 ; +C 206 ; WX 340 ; N ogonek ; B 52 -204 235 0 ; +C 207 ; WX 540 ; N caron ; B 214 630 613 768 ; +C 208 ; WX 1000 ; N emdash ; B 48 229 1070 347 ; +C 225 ; WX 900 ; N AE ; B 17 0 980 739 ; +C 227 ; WX 360 ; N ordfeminine ; B 90 312 480 752 ; +C 232 ; WX 480 ; N Lslash ; B 49 0 498 739 ; +C 233 ; WX 840 ; N Oslash ; B 91 -80 887 826 ; +C 234 ; WX 1060 ; N OE ; B 100 -13 1141 752 ; +C 235 ; WX 360 ; N ordmasculine ; B 90 313 451 752 ; +C 241 ; WX 1080 ; N ae ; B 76 -13 1108 567 ; +C 245 ; WX 240 ; N dotlessi ; B 54 0 290 554 ; +C 248 ; WX 320 ; N lslash ; B 59 0 420 739 ; +C 249 ; WX 660 ; N oslash ; B 76 -64 680 620 ; +C 250 ; WX 1080 ; N oe ; B 76 -13 1105 567 ; +C 251 ; WX 600 ; N germandbls ; B 51 -13 628 752 ; +C -1 ; WX 640 ; N Udieresis ; B 109 -13 704 937 ; +C -1 ; WX 640 ; N Uacute ; B 109 -13 704 1007 ; +C -1 ; WX 520 ; N Scedilla ; B 49 -251 579 752 ; +C -1 ; WX 420 ; N Tcaron ; B 119 0 573 943 ; +C -1 ; WX 520 ; N Scaron ; B 49 -13 638 943 ; +C -1 ; WX 580 ; N Rcaron ; B 68 0 657 943 ; +C -1 ; WX 580 ; N Racute ; B 68 0 657 1007 ; +C -1 ; WX 520 ; N Sacute ; B 49 -13 579 1007 ; +C -1 ; WX 840 ; N Otilde ; B 91 -13 875 943 ; +C -1 ; WX 600 ; N ucircumflex ; B 88 -13 650 768 ; +C -1 ; WX 840 ; N Ohungarumlaut ; B 91 -13 875 1013 ; +C -1 ; WX 640 ; N Uhungarumlaut ; B 109 -13 818 1013 ; +C -1 ; WX 620 ; N Yacute ; B 140 0 763 1007 ; +C -1 ; WX 742 ; N Eth ; B 73 0 776 739 ; +C -1 ; WX 742 ; N Dcroat ; B 73 0 776 739 ; +C -1 ; WX 500 ; N Zacute ; B 18 0 598 1007 ; +C -1 ; WX 640 ; N Uring ; B 109 -13 704 998 ; +C -1 ; WX 660 ; N gbreve ; B 30 -221 714 766 ; +C -1 ; WX 640 ; N eogonek ; B 76 -204 665 567 ; +C -1 ; WX 640 ; N edotaccent ; B 76 -13 665 762 ; +C -1 ; WX 640 ; N ecaron ; B 76 -13 665 768 ; +C -1 ; WX 640 ; N Ugrave ; B 109 -13 704 1007 ; +C -1 ; WX 560 ; N Thorn ; B 68 0 613 739 ; +C -1 ; WX 640 ; N eacute ; B 76 -13 665 832 ; +C -1 ; WX 640 ; N edieresis ; B 76 -13 665 762 ; +C -1 ; WX 752 ; N dcaron ; B 76 -13 932 739 ; +C -1 ; WX 640 ; N ccedilla ; B 77 -251 670 567 ; +C -1 ; WX 640 ; N ccaron ; B 77 -13 670 768 ; +C -1 ; WX 640 ; N cacute ; B 77 -13 670 832 ; +C -1 ; WX 660 ; N aogonek ; B 75 -204 718 567 ; +C -1 ; WX 660 ; N aring ; B 75 -13 718 823 ; +C -1 ; WX 660 ; N atilde ; B 75 -13 718 769 ; +C -1 ; WX 660 ; N abreve ; B 75 -13 718 766 ; +C -1 ; WX 640 ; N egrave ; B 76 -13 665 832 ; +C -1 ; WX 660 ; N agrave ; B 75 -13 718 832 ; +C -1 ; WX 660 ; N aacute ; B 75 -13 718 832 ; +C -1 ; WX 660 ; N adieresis ; B 75 -13 718 762 ; +C -1 ; WX 640 ; N Uogonek ; B 109 -204 704 739 ; +C -1 ; WX 600 ; N ugrave ; B 88 -13 650 832 ; +C -1 ; WX 600 ; N uacute ; B 88 -13 650 832 ; +C -1 ; WX 600 ; N udieresis ; B 88 -13 650 762 ; +C -1 ; WX 364 ; N tcaron ; B 74 0 544 739 ; +C -1 ; WX 440 ; N scommaaccent ; B 49 -245 482 567 ; +C -1 ; WX 500 ; N Zcaron ; B 18 0 618 943 ; +C -1 ; WX 640 ; N ecircumflex ; B 76 -13 665 768 ; +C -1 ; WX 640 ; N Ucircumflex ; B 109 -13 704 943 ; +C -1 ; WX 660 ; N acircumflex ; B 75 -13 718 768 ; +C -1 ; WX 500 ; N Zdotaccent ; B 18 0 598 937 ; +C -1 ; WX 440 ; N scaron ; B 49 -13 563 768 ; +C -1 ; WX 740 ; N Amacron ; B 7 0 733 924 ; +C -1 ; WX 440 ; N sacute ; B 49 -13 498 832 ; +C -1 ; WX 420 ; N Tcommaaccent ; B 83 -245 555 739 ; +C -1 ; WX 620 ; N Ydieresis ; B 140 0 763 937 ; +C -1 ; WX 660 ; N thorn ; B 20 -185 691 739 ; +C -1 ; WX 520 ; N Emacron ; B 68 0 602 924 ; +C -1 ; WX 840 ; N Ograve ; B 91 -13 875 1007 ; +C -1 ; WX 840 ; N Oacute ; B 91 -13 875 1007 ; +C -1 ; WX 840 ; N Odieresis ; B 91 -13 875 937 ; +C -1 ; WX 740 ; N Ntilde ; B 68 0 804 943 ; +C -1 ; WX 740 ; N Ncaron ; B 68 0 804 943 ; +C -1 ; WX 740 ; N Nacute ; B 68 0 804 1007 ; +C -1 ; WX 440 ; N Lcaron ; B 68 0 531 739 ; +C -1 ; WX 440 ; N Lacute ; B 68 0 498 1007 ; +C -1 ; WX 280 ; N Idotaccent ; B 68 0 377 937 ; +C -1 ; WX 320 ; N racute ; B 54 0 438 832 ; +C -1 ; WX 280 ; N Icircumflex ; B 68 0 492 943 ; +C -1 ; WX 640 ; N ohungarumlaut ; B 76 -13 738 838 ; +C -1 ; WX 640 ; N otilde ; B 76 -13 675 769 ; +C -1 ; WX 560 ; N Euro ; B -33 -11 673 751 ; +C -1 ; WX 640 ; N ocircumflex ; B 76 -13 675 768 ; +C -1 ; WX 336 ; N onesuperior ; B 209 296 378 739 ; +C -1 ; WX 336 ; N twosuperior ; B 70 296 440 746 ; +C -1 ; WX 336 ; N threesuperior ; B 82 288 415 746 ; +C -1 ; WX 280 ; N Igrave ; B 68 0 448 1007 ; +C -1 ; WX 280 ; N Iacute ; B 68 0 418 1007 ; +C -1 ; WX 280 ; N Imacron ; B 68 0 436 924 ; +C -1 ; WX 280 ; N Iogonek ; B 27 -204 342 739 ; +C -1 ; WX 280 ; N Idieresis ; B 68 0 481 937 ; +C -1 ; WX 840 ; N Gbreve ; B 91 -13 888 941 ; +C -1 ; WX 640 ; N Umacron ; B 109 -13 704 924 ; +C -1 ; WX 620 ; N Kcommaaccent ; B 68 -245 736 739 ; +C -1 ; WX 640 ; N ograve ; B 76 -13 675 832 ; +C -1 ; WX 520 ; N Scommaaccent ; B 49 -245 579 752 ; +C -1 ; WX 520 ; N Eogonek ; B 68 -204 602 739 ; +C -1 ; WX 640 ; N oacute ; B 76 -13 675 832 ; +C -1 ; WX 520 ; N Edotaccent ; B 68 0 602 937 ; +C -1 ; WX 240 ; N iogonek ; B 9 -204 324 739 ; +C -1 ; WX 660 ; N gcommaaccent ; B 30 -221 714 799 ; +C -1 ; WX 640 ; N odieresis ; B 76 -13 675 762 ; +C -1 ; WX 600 ; N ntilde ; B 54 0 613 769 ; +C -1 ; WX 600 ; N ncaron ; B 54 0 643 768 ; +C -1 ; WX 520 ; N Ecaron ; B 68 0 633 943 ; +C -1 ; WX 520 ; N Ecircumflex ; B 68 0 612 943 ; +C -1 ; WX 440 ; N scedilla ; B 49 -251 482 567 ; +C -1 ; WX 320 ; N rcaron ; B 54 0 503 768 ; +C -1 ; WX 520 ; N Egrave ; B 68 0 602 1007 ; +C -1 ; WX 520 ; N Eacute ; B 68 0 602 1007 ; +C -1 ; WX 840 ; N Gcommaaccent ; B 91 -245 888 752 ; +C -1 ; WX 580 ; N Rcommaaccent ; B 68 -245 657 739 ; +C -1 ; WX 520 ; N Edieresis ; B 68 0 602 937 ; +C -1 ; WX 600 ; N nacute ; B 54 0 613 832 ; +C -1 ; WX 600 ; N uogonek ; B 88 -204 650 554 ; +C -1 ; WX 600 ; N umacron ; B 88 -13 650 749 ; +C -1 ; WX 700 ; N Dcaron ; B 68 0 734 943 ; +C -1 ; WX 326 ; N lcaron ; B 54 0 506 739 ; +C -1 ; WX 780 ; N Ccaron ; B 92 -13 858 943 ; +C -1 ; WX 780 ; N Cacute ; B 92 -13 858 1007 ; +C -1 ; WX 780 ; N Ccedilla ; B 92 -251 858 752 ; +C -1 ; WX 400 ; N degree ; B 157 386 462 686 ; +C -1 ; WX 740 ; N Aogonek ; B 7 -204 738 739 ; +C -1 ; WX 600 ; N minus ; B 99 312 625 430 ; +C -1 ; WX 600 ; N multiply ; B 78 112 645 622 ; +C -1 ; WX 600 ; N divide ; B 100 73 625 669 ; +C -1 ; WX 740 ; N Aring ; B 7 0 733 998 ; +C -1 ; WX 1000 ; N trademark ; B 194 345 1066 739 ; +C -1 ; WX 320 ; N rcommaaccent ; B 33 -245 412 569 ; +C -1 ; WX 240 ; N lacute ; B 54 0 398 1007 ; +C -1 ; WX 640 ; N omacron ; B 76 -13 675 749 ; +C -1 ; WX 740 ; N Atilde ; B 7 0 733 943 ; +C -1 ; WX 240 ; N icircumflex ; B 39 0 438 768 ; +C -1 ; WX 240 ; N igrave ; B 54 0 394 832 ; +C -1 ; WX 600 ; N ncommaaccent ; B 54 -245 613 567 ; +C -1 ; WX 240 ; N lcommaaccent ; B -7 -245 324 739 ; +C -1 ; WX 600 ; N plusminus ; B 51 0 635 627 ; +C -1 ; WX 840 ; N onehalf ; B 205 0 889 739 ; +C -1 ; WX 840 ; N onequarter ; B 209 0 867 739 ; +C -1 ; WX 840 ; N threequarters ; B 82 0 867 746 ; +C -1 ; WX 240 ; N iacute ; B 54 0 398 832 ; +C -1 ; WX 740 ; N Abreve ; B 7 0 733 941 ; +C -1 ; WX 580 ; N kcommaaccent ; B 54 -245 625 739 ; +C -1 ; WX 840 ; N Omacron ; B 91 -13 875 924 ; +C -1 ; WX 240 ; N imacron ; B 54 0 396 749 ; +C -1 ; WX 640 ; N emacron ; B 76 -13 665 749 ; +C -1 ; WX 660 ; N amacron ; B 75 -13 718 749 ; +C -1 ; WX 300 ; N tcommaaccent ; B 23 -245 390 739 ; +C -1 ; WX 580 ; N ydieresis ; B 73 -185 671 762 ; +C -1 ; WX 460 ; N zdotaccent ; B 20 0 528 762 ; +C -1 ; WX 460 ; N zcaron ; B 20 0 573 768 ; +C -1 ; WX 460 ; N zacute ; B 20 0 528 832 ; +C -1 ; WX 580 ; N yacute ; B 73 -185 671 832 ; +C -1 ; WX 600 ; N uhungarumlaut ; B 88 -13 718 838 ; +C -1 ; WX 640 ; N eth ; B 76 -13 680 757 ; +C -1 ; WX 600 ; N uring ; B 88 -13 650 823 ; +C -1 ; WX 840 ; N Ocircumflex ; B 91 -13 875 943 ; +C -1 ; WX 280 ; N commaaccent ; B 13 -245 211 -53 ; +C -1 ; WX 740 ; N copyright ; B 50 -13 834 752 ; +C -1 ; WX 740 ; N registered ; B 50 -13 834 752 ; +C -1 ; WX 740 ; N Acircumflex ; B 7 0 733 943 ; +C -1 ; WX 240 ; N idieresis ; B 54 0 427 762 ; +C -1 ; WX 494 ; N lozenge ; B 88 0 535 740 ; +C -1 ; WX 612 ; N Delta ; B 6 0 608 688 ; +C -1 ; WX 600 ; N notequal ; B 90 101 652 632 ; +C -1 ; WX 549 ; N radical ; B 60 -35 709 917 ; +C -1 ; WX 740 ; N Agrave ; B 7 0 733 1007 ; +C -1 ; WX 740 ; N Aacute ; B 7 0 733 1007 ; +C -1 ; WX 600 ; N lessequal ; B 45 0 681 711 ; +C -1 ; WX 600 ; N greaterequal ; B 51 0 643 711 ; +C -1 ; WX 600 ; N logicalnot ; B 117 182 643 471 ; +C -1 ; WX 713 ; N summation ; B -9 -123 761 752 ; +C -1 ; WX 494 ; N partialdiff ; B 56 -10 545 753 ; +C -1 ; WX 740 ; N Ncommaaccent ; B 68 -245 804 739 ; +C -1 ; WX 660 ; N dcroat ; B 77 -13 801 739 ; +C -1 ; WX 600 ; N brokenbar ; B 243 0 499 739 ; +C -1 ; WX 440 ; N Lcommaaccent ; B 68 -245 456 739 ; +C -1 ; WX 740 ; N Adieresis ; B 7 0 733 937 ; +C -1 ; WX 576 ; N mu ; B 20 -185 650 554 ; +C -1 ; WX 280 ; N .notdef ; B 0 0 0 0 ; +EndCharMetrics +StartKernData +StartKernPairs 998 +KPX A C -39 +KPX A Ccedilla -38 +KPX A G -38 +KPX A O -38 +KPX A Odieresis -38 +KPX A Q -38 +KPX A T -47 +KPX A U -34 +KPX A Uacute -34 +KPX A Ucircumflex -34 +KPX A Udieresis -34 +KPX A Ugrave -34 +KPX A V -78 +KPX A W -58 +KPX A Y -86 +KPX A a -22 +KPX A b -8 +KPX A c -25 +KPX A ccedilla -25 +KPX A comma 14 +KPX A d -22 +KPX A e -25 +KPX A g -23 +KPX A guillemotleft -22 +KPX A guilsinglleft -22 +KPX A hyphen -24 +KPX A o -25 +KPX A period 16 +KPX A q -23 +KPX A quotedblright -78 +KPX A quoteright -79 +KPX A t -13 +KPX A u -16 +KPX A v -45 +KPX A w -43 +KPX A y -47 +KPX Aacute C -39 +KPX Aacute G -38 +KPX Aacute O -38 +KPX Aacute Q -38 +KPX Aacute T -47 +KPX Aacute U -34 +KPX Aacute V -78 +KPX Aacute W -58 +KPX Aacute Y -86 +KPX Aacute a -22 +KPX Aacute b -8 +KPX Aacute c -25 +KPX Aacute comma 14 +KPX Aacute d -22 +KPX Aacute e -25 +KPX Aacute g -23 +KPX Aacute guillemotleft -22 +KPX Aacute guilsinglleft -22 +KPX Aacute hyphen -24 +KPX Aacute o -25 +KPX Aacute period 16 +KPX Aacute q -23 +KPX Aacute quoteright -79 +KPX Aacute t -13 +KPX Aacute u -16 +KPX Aacute v -45 +KPX Aacute w -43 +KPX Aacute y -47 +KPX Acircumflex C -39 +KPX Acircumflex G -38 +KPX Acircumflex O -38 +KPX Acircumflex Q -38 +KPX Acircumflex T -47 +KPX Acircumflex U -34 +KPX Acircumflex V -78 +KPX Acircumflex W -58 +KPX Acircumflex Y -86 +KPX Acircumflex comma 14 +KPX Acircumflex period 16 +KPX Adieresis C -39 +KPX Adieresis G -38 +KPX Adieresis O -38 +KPX Adieresis Q -38 +KPX Adieresis T -47 +KPX Adieresis U -34 +KPX Adieresis V -78 +KPX Adieresis W -58 +KPX Adieresis Y -86 +KPX Adieresis a -22 +KPX Adieresis b -8 +KPX Adieresis c -25 +KPX Adieresis comma 14 +KPX Adieresis d -22 +KPX Adieresis g -23 +KPX Adieresis guillemotleft -22 +KPX Adieresis guilsinglleft -22 +KPX Adieresis hyphen -24 +KPX Adieresis o -25 +KPX Adieresis period 16 +KPX Adieresis q -23 +KPX Adieresis quotedblright -78 +KPX Adieresis quoteright -79 +KPX Adieresis t -13 +KPX Adieresis u -16 +KPX Adieresis v -45 +KPX Adieresis w -43 +KPX Adieresis y -47 +KPX Agrave C -39 +KPX Agrave G -38 +KPX Agrave O -38 +KPX Agrave Q -38 +KPX Agrave T -47 +KPX Agrave U -34 +KPX Agrave V -78 +KPX Agrave W -58 +KPX Agrave Y -86 +KPX Agrave comma 14 +KPX Agrave period 16 +KPX Aring C -39 +KPX Aring G -38 +KPX Aring O -38 +KPX Aring Q -38 +KPX Aring T -47 +KPX Aring U -34 +KPX Aring V -78 +KPX Aring W -58 +KPX Aring Y -86 +KPX Aring a -22 +KPX Aring b -8 +KPX Aring c -25 +KPX Aring comma 14 +KPX Aring d -22 +KPX Aring e -25 +KPX Aring g -23 +KPX Aring guillemotleft -22 +KPX Aring guilsinglleft -22 +KPX Aring hyphen -24 +KPX Aring o -25 +KPX Aring period 16 +KPX Aring q -23 +KPX Aring quotedblright -78 +KPX Aring quoteright -79 +KPX Aring t -13 +KPX Aring u -16 +KPX Aring v -45 +KPX Aring w -43 +KPX Aring y -47 +KPX Atilde C -39 +KPX Atilde G -38 +KPX Atilde O -38 +KPX Atilde Q -38 +KPX Atilde T -47 +KPX Atilde U -34 +KPX Atilde V -78 +KPX Atilde W -58 +KPX Atilde Y -86 +KPX Atilde comma 14 +KPX Atilde period 16 +KPX B A -24 +KPX B AE -42 +KPX B Aacute -24 +KPX B Acircumflex -24 +KPX B Adieresis -24 +KPX B Aring -24 +KPX B Atilde -24 +KPX B O 0 +KPX B OE -3 +KPX B Oacute 0 +KPX B Ocircumflex 0 +KPX B Odieresis 0 +KPX B Ograve 0 +KPX B Oslash 0 +KPX B V -34 +KPX B W -16 +KPX B Y -45 +KPX C A -21 +KPX C AE -45 +KPX C Aacute -21 +KPX C Adieresis -21 +KPX C Aring -21 +KPX C H 2 +KPX C K 2 +KPX C O -9 +KPX C Oacute -9 +KPX C Odieresis -9 +KPX Ccedilla A -24 +KPX D A -44 +KPX D Aacute -44 +KPX D Acircumflex -44 +KPX D Adieresis -44 +KPX D Agrave -44 +KPX D Aring -44 +KPX D Atilde -44 +KPX D J -22 +KPX D T -29 +KPX D V -41 +KPX D W -22 +KPX D X -38 +KPX D Y -53 +KPX F A -57 +KPX F Aacute -57 +KPX F Acircumflex -57 +KPX F Adieresis -57 +KPX F Agrave -57 +KPX F Aring -57 +KPX F Atilde -57 +KPX F J -61 +KPX F O -10 +KPX F Odieresis -10 +KPX F a -14 +KPX F aacute -14 +KPX F adieresis -14 +KPX F ae -14 +KPX F aring -14 +KPX F comma -64 +KPX F e -14 +KPX F eacute -14 +KPX F hyphen -3 +KPX F i -17 +KPX F j -27 +KPX F o -14 +KPX F oacute -14 +KPX F odieresis -14 +KPX F oe -14 +KPX F oslash -16 +KPX F period -63 +KPX F r -17 +KPX F u -21 +KPX G A -38 +KPX G AE -65 +KPX G Aacute -38 +KPX G Acircumflex -38 +KPX G Adieresis -38 +KPX G Agrave -38 +KPX G Aring -38 +KPX G Atilde -38 +KPX G T -25 +KPX G V -38 +KPX G W -20 +KPX G Y -50 +KPX J A -31 +KPX J AE -45 +KPX J Adieresis -31 +KPX J Aring -31 +KPX K C -50 +KPX K G -50 +KPX K O -49 +KPX K OE -52 +KPX K Oacute -49 +KPX K Odieresis -49 +KPX K S -34 +KPX K T 16 +KPX K a -57 +KPX K adieresis -57 +KPX K ae -59 +KPX K aring -57 +KPX K e -60 +KPX K hyphen -75 +KPX K o -60 +KPX K oacute -60 +KPX K odieresis -60 +KPX K u -50 +KPX K udieresis -48 +KPX K y -65 +KPX L A 19 +KPX L AE 14 +KPX L Aacute 19 +KPX L Adieresis 19 +KPX L Aring 19 +KPX L C -29 +KPX L Ccedilla -32 +KPX L G -29 +KPX L O -29 +KPX L Oacute -29 +KPX L Ocircumflex -29 +KPX L Odieresis -29 +KPX L Ograve -29 +KPX L Otilde -29 +KPX L S 10 +KPX L T -46 +KPX L U -20 +KPX L Udieresis -20 +KPX L V -76 +KPX L W -56 +KPX L Y -84 +KPX L hyphen -32 +KPX L quotedblright -76 +KPX L quoteright -77 +KPX L u -11 +KPX L udieresis -11 +KPX L y -50 +KPX N A -13 +KPX N AE -18 +KPX N Aacute -13 +KPX N Adieresis -13 +KPX N Aring -13 +KPX N C -2 +KPX N Ccedilla -1 +KPX N G -1 +KPX N O -1 +KPX N Oacute -1 +KPX N Odieresis -1 +KPX N a -3 +KPX N aacute -3 +KPX N adieresis -3 +KPX N ae -4 +KPX N aring -3 +KPX N comma 3 +KPX N e -5 +KPX N eacute -5 +KPX N o -5 +KPX N oacute -5 +KPX N odieresis -5 +KPX N oslash -4 +KPX N period 4 +KPX N u 3 +KPX N udieresis 3 +KPX O A -44 +KPX O AE -75 +KPX O Aacute -44 +KPX O Adieresis -44 +KPX O Aring -44 +KPX O T -30 +KPX O V -42 +KPX O W -23 +KPX O X -39 +KPX O Y -54 +KPX Oacute A -44 +KPX Oacute T -30 +KPX Oacute V -42 +KPX Oacute W -23 +KPX Oacute Y -54 +KPX Ocircumflex T -30 +KPX Ocircumflex V -42 +KPX Ocircumflex Y -54 +KPX Odieresis A -44 +KPX Odieresis T -30 +KPX Odieresis V -42 +KPX Odieresis W -23 +KPX Odieresis X -39 +KPX Odieresis Y -54 +KPX Ograve T -30 +KPX Ograve V -42 +KPX Ograve Y -54 +KPX Oslash A -41 +KPX Otilde T -30 +KPX Otilde V -42 +KPX Otilde Y -54 +KPX P A -64 +KPX P AE -112 +KPX P Aacute -64 +KPX P Adieresis -64 +KPX P Aring -64 +KPX P J -71 +KPX P a -24 +KPX P aacute -24 +KPX P adieresis -24 +KPX P ae -25 +KPX P aring -24 +KPX P comma -98 +KPX P e -25 +KPX P eacute -25 +KPX P hyphen -28 +KPX P o -26 +KPX P oacute -26 +KPX P odieresis -26 +KPX P oe -24 +KPX P oslash -27 +KPX P period -98 +KPX R C -1 +KPX R Ccedilla 0 +KPX R G -1 +KPX R O 0 +KPX R OE -4 +KPX R Oacute 0 +KPX R Odieresis 0 +KPX R T 4 +KPX R U 2 +KPX R Udieresis 2 +KPX R V -21 +KPX R W -9 +KPX R Y -26 +KPX R a -7 +KPX R aacute -7 +KPX R adieresis -7 +KPX R ae -8 +KPX R aring -7 +KPX R e -9 +KPX R eacute -9 +KPX R hyphen -22 +KPX R o -10 +KPX R oacute -10 +KPX R odieresis -10 +KPX R oe -9 +KPX R u 1 +KPX R uacute 1 +KPX R udieresis 1 +KPX R y 7 +KPX S A -19 +KPX S AE -35 +KPX S Aacute -19 +KPX S Adieresis -19 +KPX S Aring -19 +KPX S T -3 +KPX S V -28 +KPX S W -10 +KPX S Y -33 +KPX S t 10 +KPX T A -47 +KPX T AE -52 +KPX T Aacute -47 +KPX T Acircumflex -47 +KPX T Adieresis -47 +KPX T Agrave -47 +KPX T Aring -47 +KPX T Atilde -47 +KPX T C -27 +KPX T G -27 +KPX T J -46 +KPX T O -27 +KPX T OE -30 +KPX T Oacute -27 +KPX T Ocircumflex -27 +KPX T Odieresis -27 +KPX T Ograve -27 +KPX T Oslash -25 +KPX T Otilde -27 +KPX T S 1 +KPX T V 22 +KPX T W 23 +KPX T Y 24 +KPX T a -38 +KPX T ae -39 +KPX T c -41 +KPX T colon -37 +KPX T comma -30 +KPX T e -40 +KPX T g -36 +KPX T guillemotleft -33 +KPX T guilsinglleft -33 +KPX T hyphen -33 +KPX T i -2 +KPX T j -11 +KPX T o -40 +KPX T oslash -39 +KPX T period -29 +KPX T r -25 +KPX T s -30 +KPX T semicolon -37 +KPX T u -30 +KPX T v -48 +KPX T w -51 +KPX T y -50 +KPX U A -37 +KPX U AE -59 +KPX U Aacute -37 +KPX U Acircumflex -37 +KPX U Adieresis -37 +KPX U Aring -37 +KPX U Atilde -37 +KPX U comma -15 +KPX U m 2 +KPX U n 2 +KPX U p 1 +KPX U period -12 +KPX U r 2 +KPX Uacute A -37 +KPX Uacute comma -15 +KPX Uacute m 2 +KPX Uacute n 2 +KPX Uacute p 1 +KPX Uacute period -12 +KPX Uacute r 2 +KPX Ucircumflex A -37 +KPX Udieresis A -37 +KPX Udieresis b 1 +KPX Udieresis comma -15 +KPX Udieresis m 2 +KPX Udieresis n 2 +KPX Udieresis p 1 +KPX Udieresis period -12 +KPX Udieresis r 2 +KPX Ugrave A -37 +KPX V A -76 +KPX V AE -123 +KPX V Aacute -76 +KPX V Acircumflex -76 +KPX V Adieresis -76 +KPX V Agrave -76 +KPX V Aring -76 +KPX V Atilde -76 +KPX V C -41 +KPX V G -41 +KPX V O -41 +KPX V Oacute -41 +KPX V Ocircumflex -41 +KPX V Odieresis -41 +KPX V Ograve -41 +KPX V Oslash -39 +KPX V Otilde -41 +KPX V S -25 +KPX V T 23 +KPX V a -59 +KPX V ae -61 +KPX V colon -57 +KPX V comma -83 +KPX V e -62 +KPX V g -58 +KPX V guillemotleft -54 +KPX V guilsinglleft -54 +KPX V hyphen -54 +KPX V i -4 +KPX V o -62 +KPX V oslash -61 +KPX V period -83 +KPX V r -41 +KPX V semicolon -57 +KPX V u -44 +KPX V y -20 +KPX W A -55 +KPX W AE -90 +KPX W Aacute -55 +KPX W Acircumflex -55 +KPX W Adieresis -55 +KPX W Agrave -55 +KPX W Aring -55 +KPX W Atilde -55 +KPX W C -22 +KPX W G -22 +KPX W O -21 +KPX W Oacute -21 +KPX W Ocircumflex -21 +KPX W Odieresis -21 +KPX W Ograve -21 +KPX W Oslash -19 +KPX W Otilde -21 +KPX W S -10 +KPX W T 25 +KPX W a -36 +KPX W ae -37 +KPX W colon -38 +KPX W comma -52 +KPX W e -38 +KPX W g -34 +KPX W guillemotleft -31 +KPX W guilsinglleft -31 +KPX W hyphen -31 +KPX W i -2 +KPX W o -38 +KPX W oslash -37 +KPX W period -51 +KPX W r -22 +KPX W semicolon -39 +KPX W u -28 +KPX W y -9 +KPX X C -36 +KPX X O -35 +KPX X Odieresis -35 +KPX X Q -35 +KPX X a -43 +KPX X e -46 +KPX X hyphen -61 +KPX X o -46 +KPX X u -36 +KPX X y -49 +KPX Y A -81 +KPX Y AE -100 +KPX Y Aacute -81 +KPX Y Acircumflex -81 +KPX Y Adieresis -81 +KPX Y Agrave -81 +KPX Y Aring -81 +KPX Y Atilde -81 +KPX Y C -49 +KPX Y G -48 +KPX Y O -48 +KPX Y Oacute -48 +KPX Y Ocircumflex -48 +KPX Y Odieresis -48 +KPX Y Ograve -48 +KPX Y Oslash -46 +KPX Y Otilde -48 +KPX Y S -27 +KPX Y T 29 +KPX Y a -68 +KPX Y ae -69 +KPX Y colon -67 +KPX Y comma -78 +KPX Y e -70 +KPX Y g -66 +KPX Y guillemotleft -69 +KPX Y guilsinglleft -69 +KPX Y hyphen -73 +KPX Y i 1 +KPX Y o -71 +KPX Y oslash -69 +KPX Y p -47 +KPX Y period -77 +KPX Y semicolon -67 +KPX Y u -52 +KPX Y v -25 +KPX Z v -17 +KPX Z y -20 +KPX a j 8 +KPX a quoteright 7 +KPX a v -4 +KPX a w -5 +KPX a y -7 +KPX aacute v -4 +KPX aacute w -5 +KPX aacute y -7 +KPX adieresis v -4 +KPX adieresis w -5 +KPX adieresis y -7 +KPX ae v -25 +KPX ae w -24 +KPX ae y -30 +KPX agrave v -4 +KPX agrave w -5 +KPX agrave y -7 +KPX aring v -4 +KPX aring w -5 +KPX aring y -7 +KPX b v -18 +KPX b w -17 +KPX b y -23 +KPX c h -11 +KPX c k -11 +KPX comma one -83 +KPX comma quotedblright -32 +KPX comma quoteright -33 +KPX e quoteright -17 +KPX e t -2 +KPX e v -25 +KPX e w -24 +KPX e x -27 +KPX e y -30 +KPX eacute v -25 +KPX eacute w -24 +KPX eacute y -30 +KPX ecircumflex v -25 +KPX ecircumflex w -24 +KPX ecircumflex y -30 +KPX eight four 10 +KPX eight one -78 +KPX eight seven -52 +KPX f a -10 +KPX f aacute -10 +KPX f adieresis -10 +KPX f ae -11 +KPX f aring -10 +KPX f e -12 +KPX f eacute -12 +KPX f f 11 +KPX f i 3 +KPX f j -6 +KPX f l 3 +KPX f o -13 +KPX f oacute -13 +KPX f odieresis -13 +KPX f oe -12 +KPX f oslash -11 +KPX f quoteright 10 +KPX f s -2 +KPX f t 11 +KPX five four 10 +KPX five one -86 +KPX five seven -58 +KPX four four 15 +KPX four one -78 +KPX four seven -51 +KPX g a 2 +KPX g adieresis 2 +KPX g ae 1 +KPX g aring 2 +KPX g e 0 +KPX g eacute 0 +KPX g l 14 +KPX g oacute 0 +KPX g odieresis 0 +KPX g r 14 +KPX guillemotright A -16 +KPX guillemotright AE -54 +KPX guillemotright Aacute -16 +KPX guillemotright Adieresis -16 +KPX guillemotright Aring -16 +KPX guillemotright T -26 +KPX guillemotright V -47 +KPX guillemotright W -24 +KPX guillemotright Y -66 +KPX guilsinglright A -13 +KPX guilsinglright AE -51 +KPX guilsinglright Aacute -13 +KPX guilsinglright Adieresis -13 +KPX guilsinglright Aring -13 +KPX guilsinglright T -22 +KPX guilsinglright V -44 +KPX guilsinglright W -21 +KPX guilsinglright Y -62 +KPX h quoteright -11 +KPX h y -23 +KPX hyphen A -14 +KPX hyphen AE -53 +KPX hyphen Aacute -14 +KPX hyphen Adieresis -14 +KPX hyphen Aring -14 +KPX hyphen T -24 +KPX hyphen V -46 +KPX hyphen W -23 +KPX hyphen Y -68 +KPX i T -3 +KPX i j 3 +KPX k a -48 +KPX k aacute -48 +KPX k adieresis -48 +KPX k ae -50 +KPX k aring -48 +KPX k comma -15 +KPX k e -51 +KPX k eacute -51 +KPX k g -47 +KPX k hyphen -78 +KPX k o -51 +KPX k oacute -51 +KPX k odieresis -51 +KPX k period -14 +KPX k s -38 +KPX k u -40 +KPX k udieresis -34 +KPX l v -8 +KPX l y -10 +KPX m p 5 +KPX m v -20 +KPX m w -19 +KPX m y -24 +KPX n T -31 +KPX n p 5 +KPX n quoteright -10 +KPX n v -20 +KPX n w -18 +KPX n y -23 +KPX nine four -33 +KPX nine one -76 +KPX nine seven -32 +KPX o T -33 +KPX o quoteright -16 +KPX o t 1 +KPX o v -22 +KPX o w -20 +KPX o x -24 +KPX o y -27 +KPX oacute v -22 +KPX oacute w -20 +KPX oacute y -27 +KPX ocircumflex t 1 +KPX odieresis t 1 +KPX odieresis v -22 +KPX odieresis w -20 +KPX odieresis x -24 +KPX odieresis y -27 +KPX ograve v -22 +KPX ograve w -20 +KPX ograve y -27 +KPX one comma -50 +KPX one eight -50 +KPX one five -45 +KPX one four -60 +KPX one nine -55 +KPX one one -126 +KPX one period -49 +KPX one seven -93 +KPX one six -60 +KPX one three -58 +KPX one two -54 +KPX one zero -36 +KPX p t 1 +KPX p y -26 +KPX period one -83 +KPX period quotedblright -32 +KPX period quoteright -33 +KPX q c 0 +KPX q u 9 +KPX quotedblbase A 17 +KPX quotedblbase AE 0 +KPX quotedblbase T -28 +KPX quotedblbase V -82 +KPX quotedblbase W -52 +KPX quotedblbase Y -80 +KPX quotedblleft A -76 +KPX quotedblleft AE -148 +KPX quotedblleft Aacute -76 +KPX quotedblleft Adieresis -76 +KPX quotedblleft Aring -76 +KPX quotedblleft T 1 +KPX quotedblleft V 7 +KPX quotedblleft W 15 +KPX quotedblleft Y -1 +KPX quotedblright A -78 +KPX quotedblright AE -150 +KPX quotedblright Aacute -78 +KPX quotedblright Adieresis -78 +KPX quotedblright Aring -78 +KPX quotedblright T 0 +KPX quotedblright V 5 +KPX quotedblright W 14 +KPX quotedblright Y -3 +KPX quoteleft A -78 +KPX quoteleft AE -150 +KPX quoteleft Aacute -78 +KPX quoteleft Adieresis -78 +KPX quoteleft Aring -78 +KPX quoteleft T 0 +KPX quoteleft V 4 +KPX quoteleft W 13 +KPX quoteleft Y -4 +KPX quoteright A -81 +KPX quoteright AE -153 +KPX quoteright Aacute -81 +KPX quoteright Adieresis -81 +KPX quoteright Aring -81 +KPX quoteright comma -39 +KPX quoteright d -27 +KPX quoteright o -34 +KPX quoteright period -39 +KPX quoteright r -4 +KPX quoteright s -12 +KPX quoteright t 7 +KPX quoteright v 3 +KPX quoteright w 1 +KPX quoteright y 0 +KPX r a -23 +KPX r aacute -23 +KPX r acircumflex -23 +KPX r adieresis -23 +KPX r ae -24 +KPX r agrave -23 +KPX r aring -23 +KPX r c -25 +KPX r ccedilla -21 +KPX r colon -16 +KPX r comma -33 +KPX r d -21 +KPX r e -25 +KPX r eacute -25 +KPX r ecircumflex -25 +KPX r egrave -25 +KPX r f 11 +KPX r g -18 +KPX r h -10 +KPX r hyphen -37 +KPX r i -9 +KPX r j -19 +KPX r k -10 +KPX r l -10 +KPX r m -10 +KPX r n -10 +KPX r o -25 +KPX r oacute -25 +KPX r ocircumflex -25 +KPX r odieresis -25 +KPX r oe -24 +KPX r ograve -25 +KPX r oslash -26 +KPX r p -11 +KPX r period -33 +KPX r q -20 +KPX r quoteright 10 +KPX r r -10 +KPX r s -8 +KPX r semicolon -16 +KPX r t 11 +KPX r u -12 +KPX r v 12 +KPX r w 8 +KPX r x -1 +KPX r y 10 +KPX r z -9 +KPX s quoteright -3 +KPX s t 6 +KPX seven colon -63 +KPX seven comma -98 +KPX seven eight -46 +KPX seven five -41 +KPX seven four -67 +KPX seven one -77 +KPX seven period -97 +KPX seven seven -33 +KPX seven six -60 +KPX seven three -42 +KPX seven two -28 +KPX six four 16 +KPX six one -85 +KPX six seven -60 +KPX t S 3 +KPX t a -11 +KPX t aacute -11 +KPX t adieresis -11 +KPX t ae -12 +KPX t aring -11 +KPX t colon -14 +KPX t e -13 +KPX t eacute -13 +KPX t h 2 +KPX t o -13 +KPX t oacute -13 +KPX t odieresis -13 +KPX t quoteright 12 +KPX t semicolon -15 +KPX three four 9 +KPX three one -81 +KPX three seven -57 +KPX two four 8 +KPX two one -74 +KPX two seven -36 +KPX u quoteright 4 +KPX v a -31 +KPX v aacute -31 +KPX v acircumflex -31 +KPX v adieresis -31 +KPX v ae -32 +KPX v agrave -31 +KPX v aring -31 +KPX v atilde -31 +KPX v c -34 +KPX v colon -24 +KPX v comma -63 +KPX v e -33 +KPX v eacute -33 +KPX v ecircumflex -33 +KPX v egrave -33 +KPX v g -29 +KPX v hyphen -29 +KPX v l -8 +KPX v o -33 +KPX v oacute -33 +KPX v odieresis -33 +KPX v ograve -33 +KPX v oslash -33 +KPX v period -63 +KPX v s -23 +KPX v semicolon -24 +KPX w a -29 +KPX w aacute -29 +KPX w acircumflex -29 +KPX w adieresis -29 +KPX w ae -30 +KPX w agrave -29 +KPX w aring -29 +KPX w atilde -29 +KPX w c -32 +KPX w colon -27 +KPX w comma -58 +KPX w e -31 +KPX w eacute -31 +KPX w ecircumflex -31 +KPX w egrave -31 +KPX w g -28 +KPX w hyphen -27 +KPX w l -12 +KPX w o -32 +KPX w oacute -32 +KPX w odieresis -32 +KPX w ograve -32 +KPX w oslash -31 +KPX w period -57 +KPX w s -21 +KPX w semicolon -27 +KPX x a -30 +KPX x c -33 +KPX x e -32 +KPX x eacute -32 +KPX x o -32 +KPX x q -30 +KPX y a -38 +KPX y aacute -38 +KPX y acircumflex -38 +KPX y adieresis -38 +KPX y ae -39 +KPX y agrave -38 +KPX y aring -38 +KPX y atilde -38 +KPX y c -41 +KPX y colon -27 +KPX y comma -72 +KPX y e -40 +KPX y eacute -40 +KPX y ecircumflex -40 +KPX y egrave -40 +KPX y g -37 +KPX y hyphen -34 +KPX y l -10 +KPX y o -41 +KPX y oacute -41 +KPX y odieresis -41 +KPX y ograve -41 +KPX y oslash -39 +KPX y period -70 +KPX y s -30 +KPX y semicolon -27 +KPX zero four 12 +KPX zero one -63 +KPX zero seven -34 +EndKernPairs +EndKernData +EndFontMetrics diff --git a/Master/xemtex/gsfonts/a010035l.pfb b/Master/xemtex/gsfonts/a010035l.pfb new file mode 100644 index 00000000000..d66ef9bd423 Binary files /dev/null and b/Master/xemtex/gsfonts/a010035l.pfb differ diff --git a/Master/xemtex/gsfonts/a010035l.pfm b/Master/xemtex/gsfonts/a010035l.pfm new file mode 100644 index 00000000000..41b98b964bb Binary files /dev/null and b/Master/xemtex/gsfonts/a010035l.pfm differ diff --git a/Master/xemtex/gsfonts/b018012l.afm b/Master/xemtex/gsfonts/b018012l.afm new file mode 100644 index 00000000000..5901621ba90 --- /dev/null +++ b/Master/xemtex/gsfonts/b018012l.afm @@ -0,0 +1,1341 @@ +StartFontMetrics 3.0 +Comment Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development +Comment Creation Date: 12/22/1999 +Comment See the file PUBLIC (Aladdin Free Public License) for license conditions. +FontName URWBookmanL-Ligh +FullName URW Bookman L Light +FamilyName URW Bookman L +Weight Regular +ItalicAngle 0.0 +IsFixedPitch false +UnderlinePosition -125 +UnderlineThickness 60 +Version 1.05 +Notice (URW)++,Copyright 1999 by (URW)++ Design & Development +EncodingScheme AdobeStandardEncoding +FontBBox -188 -268 1266 930 +CapHeight 681 +XHeight 485 +Descender -228 +Ascender 717 +StartCharMetrics 316 +C 32 ; WX 320 ; N space ; B 0 0 0 0 ; +C 33 ; WX 300 ; N exclam ; B 75 -13 219 694 ; +C 34 ; WX 380 ; N quotedbl ; B 56 445 323 694 ; +C 35 ; WX 620 ; N numbersign ; B 65 0 556 666 ; +C 36 ; WX 620 ; N dollar ; B 34 -110 593 791 ; +C 37 ; WX 900 ; N percent ; B 22 -8 873 689 ; +C 38 ; WX 800 ; N ampersand ; B 45 -13 787 694 ; +C 39 ; WX 220 ; N quoteright ; B 46 476 178 694 ; +C 40 ; WX 300 ; N parenleft ; B 76 -151 278 717 ; +C 41 ; WX 300 ; N parenright ; B 17 -151 219 717 ; +C 42 ; WX 440 ; N asterisk ; B 54 323 391 694 ; +C 43 ; WX 600 ; N plus ; B 51 111 555 595 ; +C 44 ; WX 320 ; N comma ; B 90 -112 223 117 ; +C 45 ; WX 400 ; N hyphen ; B 50 232 350 289 ; +C 46 ; WX 320 ; N period ; B 92 -13 220 115 ; +C 47 ; WX 600 ; N slash ; B 74 -141 532 717 ; +C 48 ; WX 620 ; N zero ; B 40 -13 586 694 ; +C 49 ; WX 620 ; N one ; B 160 0 501 681 ; +C 50 ; WX 620 ; N two ; B 42 0 576 694 ; +C 51 ; WX 620 ; N three ; B 40 -13 576 694 ; +C 52 ; WX 620 ; N four ; B 25 0 600 681 ; +C 53 ; WX 620 ; N five ; B 60 -13 584 717 ; +C 54 ; WX 620 ; N six ; B 45 -13 590 694 ; +C 55 ; WX 620 ; N seven ; B 60 0 586 681 ; +C 56 ; WX 620 ; N eight ; B 44 -13 583 694 ; +C 57 ; WX 620 ; N nine ; B 37 -13 576 694 ; +C 58 ; WX 320 ; N colon ; B 92 -13 220 494 ; +C 59 ; WX 320 ; N semicolon ; B 90 -112 223 494 ; +C 60 ; WX 600 ; N less ; B 49 49 558 599 ; +C 61 ; WX 600 ; N equal ; B 51 217 555 489 ; +C 62 ; WX 600 ; N greater ; B 48 49 557 599 ; +C 63 ; WX 540 ; N question ; B 27 -13 514 694 ; +C 64 ; WX 820 ; N at ; B 55 -13 755 700 ; +C 65 ; WX 680 ; N A ; B -37 0 714 681 ; +C 66 ; WX 740 ; N B ; B 31 0 702 681 ; +C 67 ; WX 740 ; N C ; B 44 -13 702 694 ; +C 68 ; WX 800 ; N D ; B 31 0 752 681 ; +C 69 ; WX 720 ; N E ; B 31 0 705 681 ; +C 70 ; WX 640 ; N F ; B 31 0 654 681 ; +C 71 ; WX 800 ; N G ; B 44 -13 778 694 ; +C 72 ; WX 800 ; N H ; B 31 0 769 681 ; +C 73 ; WX 340 ; N I ; B 31 0 301 681 ; +C 74 ; WX 600 ; N J ; B -23 -13 567 681 ; +C 75 ; WX 720 ; N K ; B 31 0 750 681 ; +C 76 ; WX 600 ; N L ; B 31 0 629 681 ; +C 77 ; WX 920 ; N M ; B 26 0 894 681 ; +C 78 ; WX 740 ; N N ; B 26 0 722 681 ; +C 79 ; WX 800 ; N O ; B 44 -13 758 694 ; +C 80 ; WX 620 ; N P ; B 31 0 613 681 ; +C 81 ; WX 820 ; N Q ; B 44 -190 769 694 ; +C 82 ; WX 720 ; N R ; B 31 0 757 681 ; +C 83 ; WX 660 ; N S ; B 28 -13 634 694 ; +C 84 ; WX 620 ; N T ; B -37 0 656 681 ; +C 85 ; WX 780 ; N U ; B 25 -13 754 681 ; +C 86 ; WX 700 ; N V ; B -30 0 725 681 ; +C 87 ; WX 960 ; N W ; B -30 0 984 681 ; +C 88 ; WX 720 ; N X ; B -30 0 755 681 ; +C 89 ; WX 640 ; N Y ; B -30 0 666 681 ; +C 90 ; WX 640 ; N Z ; B 10 0 656 681 ; +C 91 ; WX 300 ; N bracketleft ; B 92 -141 258 717 ; +C 92 ; WX 600 ; N backslash ; B 74 0 532 717 ; +C 93 ; WX 300 ; N bracketright ; B 41 -141 207 717 ; +C 94 ; WX 600 ; N asciicircum ; B 52 318 554 722 ; +C 95 ; WX 500 ; N underscore ; B 0 -155 500 -95 ; +C 96 ; WX 220 ; N quoteleft ; B 46 475 178 694 ; +C 97 ; WX 580 ; N a ; B 35 -9 587 494 ; +C 98 ; WX 620 ; N b ; B -2 -9 582 717 ; +C 99 ; WX 520 ; N c ; B 37 -9 498 494 ; +C 100 ; WX 620 ; N d ; B 37 -9 591 717 ; +C 101 ; WX 520 ; N e ; B 37 -9 491 494 ; +C 102 ; WX 320 ; N f ; B 20 0 414 734 ; +C 103 ; WX 540 ; N g ; B 17 -241 542 563 ; +C 104 ; WX 660 ; N h ; B 20 0 643 717 ; +C 105 ; WX 300 ; N i ; B 20 0 288 654 ; +C 106 ; WX 300 ; N j ; B -109 -241 214 654 ; +C 107 ; WX 620 ; N k ; B 20 0 628 717 ; +C 108 ; WX 300 ; N l ; B 20 0 286 717 ; +C 109 ; WX 940 ; N m ; B 17 0 928 494 ; +C 110 ; WX 660 ; N n ; B 20 0 649 494 ; +C 111 ; WX 560 ; N o ; B 37 -9 526 494 ; +C 112 ; WX 620 ; N p ; B 20 -228 583 494 ; +C 113 ; WX 580 ; N q ; B 37 -228 589 494 ; +C 114 ; WX 440 ; N r ; B 20 0 447 494 ; +C 115 ; WX 520 ; N s ; B 40 -9 487 494 ; +C 116 ; WX 380 ; N t ; B 20 -9 388 667 ; +C 117 ; WX 680 ; N u ; B 20 -9 653 485 ; +C 118 ; WX 520 ; N v ; B -23 0 534 485 ; +C 119 ; WX 780 ; N w ; B -19 0 804 485 ; +C 120 ; WX 560 ; N x ; B -16 0 576 485 ; +C 121 ; WX 540 ; N y ; B -23 -241 549 485 ; +C 122 ; WX 480 ; N z ; B 7 0 476 485 ; +C 123 ; WX 280 ; N braceleft ; B 35 -122 248 738 ; +C 124 ; WX 600 ; N bar ; B 264 0 342 722 ; +C 125 ; WX 280 ; N braceright ; B 35 -122 248 738 ; +C 126 ; WX 600 ; N asciitilde ; B 52 152 556 332 ; +C 161 ; WX 300 ; N exclamdown ; B 75 -213 219 494 ; +C 162 ; WX 620 ; N cent ; B 116 21 511 652 ; +C 163 ; WX 620 ; N sterling ; B 8 -13 631 694 ; +C 164 ; WX 140 ; N fraction ; B -188 0 335 681 ; +C 165 ; WX 620 ; N yen ; B -22 0 647 681 ; +C 166 ; WX 620 ; N florin ; B -29 -155 633 749 ; +C 167 ; WX 520 ; N section ; B 33 -183 486 694 ; +C 168 ; WX 620 ; N currency ; B 58 105 563 606 ; +C 169 ; WX 220 ; N quotesingle ; B 67 445 153 694 ; +C 170 ; WX 400 ; N quotedblleft ; B 46 475 348 694 ; +C 171 ; WX 360 ; N guillemotleft ; B 51 89 312 437 ; +C 172 ; WX 240 ; N guilsinglleft ; B 51 89 189 437 ; +C 173 ; WX 240 ; N guilsinglright ; B 51 89 189 437 ; +C 174 ; WX 620 ; N fi ; B 20 0 608 734 ; +C 175 ; WX 620 ; N fl ; B 20 0 606 734 ; +C 177 ; WX 500 ; N endash ; B -15 232 515 289 ; +C 178 ; WX 540 ; N dagger ; B 79 -161 455 694 ; +C 179 ; WX 540 ; N daggerdbl ; B 79 -161 455 694 ; +C 180 ; WX 320 ; N periodcentered ; B 92 196 222 326 ; +C 182 ; WX 600 ; N paragraph ; B 14 0 577 681 ; +C 183 ; WX 460 ; N bullet ; B 60 213 404 557 ; +C 184 ; WX 220 ; N quotesinglbase ; B 46 -106 178 112 ; +C 185 ; WX 400 ; N quotedblbase ; B 46 -107 348 112 ; +C 186 ; WX 400 ; N quotedblright ; B 46 475 348 694 ; +C 187 ; WX 360 ; N guillemotright ; B 51 89 312 437 ; +C 188 ; WX 1000 ; N ellipsis ; B 101 -13 898 115 ; +C 189 ; WX 1280 ; N perthousand ; B 22 -8 1266 689 ; +C 191 ; WX 540 ; N questiondown ; B 23 -213 510 494 ; +C 193 ; WX 340 ; N grave ; B 68 564 274 680 ; +C 194 ; WX 340 ; N acute ; B 68 564 274 680 ; +C 195 ; WX 420 ; N circumflex ; B 68 563 352 681 ; +C 196 ; WX 440 ; N tilde ; B 68 573 375 659 ; +C 197 ; WX 440 ; N macron ; B 68 587 364 637 ; +C 198 ; WX 460 ; N breve ; B 68 563 396 682 ; +C 199 ; WX 260 ; N dotaccent ; B 68 563 186 681 ; +C 200 ; WX 420 ; N dieresis ; B 68 563 349 681 ; +C 202 ; WX 320 ; N ring ; B 68 547 252 732 ; +C 203 ; WX 320 ; N cedilla ; B 68 -200 257 0 ; +C 205 ; WX 380 ; N hungarumlaut ; B 68 539 311 700 ; +C 206 ; WX 320 ; N ogonek ; B 68 -152 245 0 ; +C 207 ; WX 420 ; N caron ; B 68 562 352 680 ; +C 208 ; WX 1000 ; N emdash ; B -15 232 1015 289 ; +C 225 ; WX 1260 ; N AE ; B -36 0 1250 681 ; +C 227 ; WX 420 ; N ordfeminine ; B 49 288 393 685 ; +C 232 ; WX 600 ; N Lslash ; B 31 0 629 681 ; +C 233 ; WX 800 ; N Oslash ; B 44 -53 758 734 ; +C 234 ; WX 1240 ; N OE ; B 44 -13 1214 694 ; +C 235 ; WX 420 ; N ordmasculine ; B 56 288 361 685 ; +C 241 ; WX 860 ; N ae ; B 35 -9 832 494 ; +C 245 ; WX 300 ; N dotlessi ; B 20 0 288 485 ; +C 248 ; WX 320 ; N lslash ; B 20 0 291 717 ; +C 249 ; WX 560 ; N oslash ; B 37 -42 526 543 ; +C 250 ; WX 900 ; N oe ; B 37 -9 876 494 ; +C 251 ; WX 660 ; N germandbls ; B -109 -110 614 694 ; +C -1 ; WX 780 ; N Udieresis ; B 25 -13 754 871 ; +C -1 ; WX 780 ; N Uacute ; B 25 -13 754 869 ; +C -1 ; WX 660 ; N Scedilla ; B 28 -200 634 694 ; +C -1 ; WX 620 ; N Tcaron ; B -37 0 656 869 ; +C -1 ; WX 660 ; N Scaron ; B 28 -13 634 869 ; +C -1 ; WX 720 ; N Rcaron ; B 31 0 757 869 ; +C -1 ; WX 720 ; N Racute ; B 31 0 757 869 ; +C -1 ; WX 660 ; N Sacute ; B 28 -13 634 869 ; +C -1 ; WX 800 ; N Otilde ; B 44 -13 758 852 ; +C -1 ; WX 680 ; N ucircumflex ; B 20 -9 653 681 ; +C -1 ; WX 800 ; N Ohungarumlaut ; B 44 -13 758 889 ; +C -1 ; WX 780 ; N Uhungarumlaut ; B 25 -13 754 889 ; +C -1 ; WX 640 ; N Yacute ; B -30 0 666 869 ; +C -1 ; WX 800 ; N Eth ; B 31 0 752 681 ; +C -1 ; WX 800 ; N Dcroat ; B 31 0 752 681 ; +C -1 ; WX 640 ; N Zacute ; B 10 0 656 869 ; +C -1 ; WX 780 ; N Uring ; B 25 -13 754 921 ; +C -1 ; WX 540 ; N gbreve ; B 17 -241 542 682 ; +C -1 ; WX 520 ; N eogonek ; B 37 -152 491 494 ; +C -1 ; WX 520 ; N edotaccent ; B 37 -9 491 681 ; +C -1 ; WX 520 ; N ecaron ; B 37 -9 491 680 ; +C -1 ; WX 780 ; N Ugrave ; B 25 -13 754 869 ; +C -1 ; WX 620 ; N Thorn ; B 31 0 613 681 ; +C -1 ; WX 520 ; N eacute ; B 37 -9 491 680 ; +C -1 ; WX 520 ; N edieresis ; B 37 -9 491 681 ; +C -1 ; WX 620 ; N dcaron ; B 37 -9 667 718 ; +C -1 ; WX 520 ; N ccedilla ; B 37 -200 498 494 ; +C -1 ; WX 520 ; N ccaron ; B 37 -9 498 680 ; +C -1 ; WX 520 ; N cacute ; B 37 -9 498 680 ; +C -1 ; WX 580 ; N aogonek ; B 35 -152 640 494 ; +C -1 ; WX 580 ; N aring ; B 35 -9 587 732 ; +C -1 ; WX 580 ; N atilde ; B 35 -9 587 659 ; +C -1 ; WX 580 ; N abreve ; B 35 -9 587 682 ; +C -1 ; WX 520 ; N egrave ; B 37 -9 491 680 ; +C -1 ; WX 580 ; N agrave ; B 35 -9 587 680 ; +C -1 ; WX 580 ; N aacute ; B 35 -9 587 680 ; +C -1 ; WX 580 ; N adieresis ; B 35 -9 587 681 ; +C -1 ; WX 780 ; N Uogonek ; B 25 -152 754 681 ; +C -1 ; WX 680 ; N ugrave ; B 20 -9 653 680 ; +C -1 ; WX 680 ; N uacute ; B 20 -9 653 680 ; +C -1 ; WX 680 ; N udieresis ; B 20 -9 653 681 ; +C -1 ; WX 380 ; N tcaron ; B 20 -9 388 718 ; +C -1 ; WX 520 ; N scommaaccent ; B 40 -268 487 494 ; +C -1 ; WX 640 ; N Zcaron ; B 10 0 656 869 ; +C -1 ; WX 520 ; N ecircumflex ; B 37 -9 491 681 ; +C -1 ; WX 780 ; N Ucircumflex ; B 25 -13 754 871 ; +C -1 ; WX 580 ; N acircumflex ; B 35 -9 587 681 ; +C -1 ; WX 640 ; N Zdotaccent ; B 10 0 656 870 ; +C -1 ; WX 520 ; N scaron ; B 40 -9 487 680 ; +C -1 ; WX 680 ; N Amacron ; B -37 0 714 826 ; +C -1 ; WX 520 ; N sacute ; B 40 -9 487 680 ; +C -1 ; WX 620 ; N Tcommaaccent ; B -37 -268 656 681 ; +C -1 ; WX 640 ; N Ydieresis ; B -30 0 666 871 ; +C -1 ; WX 620 ; N thorn ; B 20 -228 583 717 ; +C -1 ; WX 720 ; N Emacron ; B 31 0 705 826 ; +C -1 ; WX 800 ; N Ograve ; B 44 -13 758 869 ; +C -1 ; WX 800 ; N Oacute ; B 44 -13 758 869 ; +C -1 ; WX 800 ; N Odieresis ; B 44 -13 758 871 ; +C -1 ; WX 740 ; N Ntilde ; B 26 0 722 852 ; +C -1 ; WX 740 ; N Ncaron ; B 26 0 722 869 ; +C -1 ; WX 740 ; N Nacute ; B 26 0 722 869 ; +C -1 ; WX 600 ; N Lcaron ; B 31 0 629 694 ; +C -1 ; WX 600 ; N Lacute ; B 31 0 629 869 ; +C -1 ; WX 340 ; N Idotaccent ; B 31 0 301 870 ; +C -1 ; WX 440 ; N racute ; B 20 0 447 680 ; +C -1 ; WX 340 ; N Icircumflex ; B 28 0 312 871 ; +C -1 ; WX 560 ; N ohungarumlaut ; B 37 -9 526 700 ; +C -1 ; WX 560 ; N otilde ; B 37 -9 526 659 ; +C -1 ; WX 620 ; N Euro ; B 17 -13 582 694 ; +C -1 ; WX 560 ; N ocircumflex ; B 37 -9 526 681 ; +C -1 ; WX 372 ; N onesuperior ; B 80 273 302 681 ; +C -1 ; WX 372 ; N twosuperior ; B 20 273 367 689 ; +C -1 ; WX 372 ; N threesuperior ; B 12 265 360 689 ; +C -1 ; WX 340 ; N Igrave ; B 31 0 301 869 ; +C -1 ; WX 340 ; N Iacute ; B 31 0 301 869 ; +C -1 ; WX 340 ; N Imacron ; B 18 0 314 826 ; +C -1 ; WX 340 ; N Iogonek ; B 31 -152 391 681 ; +C -1 ; WX 340 ; N Idieresis ; B 28 0 309 871 ; +C -1 ; WX 800 ; N Gbreve ; B 44 -13 778 871 ; +C -1 ; WX 780 ; N Umacron ; B 25 -13 754 826 ; +C -1 ; WX 720 ; N Kcommaaccent ; B 31 -268 750 681 ; +C -1 ; WX 560 ; N ograve ; B 37 -9 526 680 ; +C -1 ; WX 660 ; N Scommaaccent ; B 28 -268 634 694 ; +C -1 ; WX 720 ; N Eogonek ; B 31 -152 705 681 ; +C -1 ; WX 560 ; N oacute ; B 37 -9 526 680 ; +C -1 ; WX 720 ; N Edotaccent ; B 31 0 705 870 ; +C -1 ; WX 300 ; N iogonek ; B 20 -152 378 654 ; +C -1 ; WX 540 ; N gcommaaccent ; B 17 -241 542 754 ; +C -1 ; WX 560 ; N odieresis ; B 37 -9 526 681 ; +C -1 ; WX 660 ; N ntilde ; B 20 0 649 659 ; +C -1 ; WX 660 ; N ncaron ; B 20 0 649 680 ; +C -1 ; WX 720 ; N Ecaron ; B 31 0 705 869 ; +C -1 ; WX 720 ; N Ecircumflex ; B 31 0 705 871 ; +C -1 ; WX 520 ; N scedilla ; B 40 -200 487 494 ; +C -1 ; WX 440 ; N rcaron ; B 20 0 447 680 ; +C -1 ; WX 720 ; N Egrave ; B 31 0 705 869 ; +C -1 ; WX 720 ; N Eacute ; B 31 0 705 869 ; +C -1 ; WX 800 ; N Gcommaaccent ; B 44 -268 778 694 ; +C -1 ; WX 720 ; N Rcommaaccent ; B 31 -268 757 681 ; +C -1 ; WX 720 ; N Edieresis ; B 31 0 705 871 ; +C -1 ; WX 660 ; N nacute ; B 20 0 649 680 ; +C -1 ; WX 680 ; N uogonek ; B 20 -152 743 485 ; +C -1 ; WX 680 ; N umacron ; B 20 -9 653 637 ; +C -1 ; WX 800 ; N Dcaron ; B 31 0 752 869 ; +C -1 ; WX 336 ; N lcaron ; B 20 0 356 718 ; +C -1 ; WX 740 ; N Ccaron ; B 44 -13 702 869 ; +C -1 ; WX 740 ; N Cacute ; B 44 -13 702 869 ; +C -1 ; WX 740 ; N Ccedilla ; B 44 -200 702 694 ; +C -1 ; WX 400 ; N degree ; B 50 380 350 686 ; +C -1 ; WX 680 ; N Aogonek ; B -37 -152 804 681 ; +C -1 ; WX 600 ; N minus ; B 51 314 555 392 ; +C -1 ; WX 600 ; N multiply ; B 51 100 555 604 ; +C -1 ; WX 600 ; N divide ; B 51 91 555 615 ; +C -1 ; WX 680 ; N Aring ; B -37 0 714 922 ; +C -1 ; WX 980 ; N trademark ; B 34 273 930 681 ; +C -1 ; WX 440 ; N rcommaaccent ; B 20 -268 447 494 ; +C -1 ; WX 300 ; N lacute ; B 20 0 286 869 ; +C -1 ; WX 560 ; N omacron ; B 37 -9 526 637 ; +C -1 ; WX 680 ; N Atilde ; B -37 0 714 852 ; +C -1 ; WX 300 ; N icircumflex ; B 8 0 292 681 ; +C -1 ; WX 300 ; N igrave ; B 20 0 288 680 ; +C -1 ; WX 660 ; N ncommaaccent ; B 20 -268 649 494 ; +C -1 ; WX 300 ; N lcommaaccent ; B 20 -268 286 717 ; +C -1 ; WX 600 ; N plusminus ; B 51 0 555 595 ; +C -1 ; WX 930 ; N onehalf ; B 80 0 885 681 ; +C -1 ; WX 930 ; N onequarter ; B 80 0 869 681 ; +C -1 ; WX 930 ; N threequarters ; B 52 0 889 689 ; +C -1 ; WX 300 ; N iacute ; B 20 0 288 680 ; +C -1 ; WX 680 ; N Abreve ; B -37 0 714 871 ; +C -1 ; WX 620 ; N kcommaaccent ; B 20 -268 628 717 ; +C -1 ; WX 800 ; N Omacron ; B 44 -13 758 826 ; +C -1 ; WX 300 ; N imacron ; B -2 0 294 637 ; +C -1 ; WX 520 ; N emacron ; B 37 -9 491 637 ; +C -1 ; WX 580 ; N amacron ; B 35 -9 587 637 ; +C -1 ; WX 380 ; N tcommaaccent ; B 20 -268 388 667 ; +C -1 ; WX 540 ; N ydieresis ; B -23 -241 549 681 ; +C -1 ; WX 480 ; N zdotaccent ; B 7 0 476 681 ; +C -1 ; WX 480 ; N zcaron ; B 7 0 476 680 ; +C -1 ; WX 480 ; N zacute ; B 7 0 476 680 ; +C -1 ; WX 540 ; N yacute ; B -23 -241 549 680 ; +C -1 ; WX 680 ; N uhungarumlaut ; B 20 -9 653 700 ; +C -1 ; WX 560 ; N eth ; B 37 -9 526 759 ; +C -1 ; WX 680 ; N uring ; B 20 -9 653 732 ; +C -1 ; WX 800 ; N Ocircumflex ; B 44 -13 758 871 ; +C -1 ; WX 268 ; N commaaccent ; B 68 -268 200 -50 ; +C -1 ; WX 740 ; N copyright ; B 24 0 724 700 ; +C -1 ; WX 740 ; N registered ; B 23 0 723 700 ; +C -1 ; WX 680 ; N Acircumflex ; B -37 0 714 871 ; +C -1 ; WX 300 ; N idieresis ; B 8 0 289 681 ; +C -1 ; WX 494 ; N lozenge ; B 18 0 466 740 ; +C -1 ; WX 612 ; N Delta ; B 6 0 608 688 ; +C -1 ; WX 600 ; N notequal ; B 51 101 555 610 ; +C -1 ; WX 549 ; N radical ; B -9 -83 532 930 ; +C -1 ; WX 680 ; N Agrave ; B -37 0 714 869 ; +C -1 ; WX 680 ; N Aacute ; B -37 0 714 869 ; +C -1 ; WX 600 ; N lessequal ; B 45 0 549 649 ; +C -1 ; WX 600 ; N greaterequal ; B 51 0 555 649 ; +C -1 ; WX 600 ; N logicalnot ; B 51 80 555 370 ; +C -1 ; WX 713 ; N summation ; B 14 -123 695 752 ; +C -1 ; WX 494 ; N partialdiff ; B 26 -10 462 753 ; +C -1 ; WX 740 ; N Ncommaaccent ; B 26 -268 722 681 ; +C -1 ; WX 620 ; N dcroat ; B 37 -9 591 717 ; +C -1 ; WX 600 ; N brokenbar ; B 264 0 342 722 ; +C -1 ; WX 600 ; N Lcommaaccent ; B 31 -268 629 681 ; +C -1 ; WX 680 ; N Adieresis ; B -37 0 714 871 ; +C -1 ; WX 680 ; N mu ; B 20 -219 653 485 ; +C -1 ; WX 320 ; N .notdef ; B 0 0 0 0 ; +EndCharMetrics +StartKernData +StartKernPairs 998 +KPX A C -34 +KPX A Ccedilla -33 +KPX A G -34 +KPX A O -35 +KPX A Odieresis -35 +KPX A Q -36 +KPX A T -18 +KPX A U -34 +KPX A Uacute -34 +KPX A Ucircumflex -34 +KPX A Udieresis -34 +KPX A Ugrave -34 +KPX A V -71 +KPX A W -58 +KPX A Y -14 +KPX A a 21 +KPX A b 13 +KPX A c -9 +KPX A ccedilla -9 +KPX A comma 17 +KPX A d -5 +KPX A e -13 +KPX A g 24 +KPX A guillemotleft -24 +KPX A guilsinglleft -24 +KPX A hyphen -2 +KPX A o -8 +KPX A period 15 +KPX A q -9 +KPX A quotedblright -61 +KPX A quoteright -61 +KPX A t -7 +KPX A u -15 +KPX A v -36 +KPX A w -34 +KPX A y -40 +KPX Aacute C -34 +KPX Aacute G -34 +KPX Aacute O -35 +KPX Aacute Q -36 +KPX Aacute T -18 +KPX Aacute U -34 +KPX Aacute V -71 +KPX Aacute W -58 +KPX Aacute Y -14 +KPX Aacute a 21 +KPX Aacute b 13 +KPX Aacute c -9 +KPX Aacute comma 17 +KPX Aacute d -5 +KPX Aacute e -13 +KPX Aacute g 24 +KPX Aacute guillemotleft -24 +KPX Aacute guilsinglleft -24 +KPX Aacute hyphen -2 +KPX Aacute o -8 +KPX Aacute period 15 +KPX Aacute q -9 +KPX Aacute quoteright -61 +KPX Aacute t -7 +KPX Aacute u -15 +KPX Aacute v -36 +KPX Aacute w -34 +KPX Aacute y -40 +KPX Acircumflex C -34 +KPX Acircumflex G -34 +KPX Acircumflex O -35 +KPX Acircumflex Q -36 +KPX Acircumflex T -18 +KPX Acircumflex U -34 +KPX Acircumflex V -71 +KPX Acircumflex W -58 +KPX Acircumflex Y -14 +KPX Acircumflex comma 17 +KPX Acircumflex period 15 +KPX Adieresis C -34 +KPX Adieresis G -34 +KPX Adieresis O -35 +KPX Adieresis Q -36 +KPX Adieresis T -18 +KPX Adieresis U -34 +KPX Adieresis V -71 +KPX Adieresis W -58 +KPX Adieresis Y -14 +KPX Adieresis a 21 +KPX Adieresis b 13 +KPX Adieresis c -9 +KPX Adieresis comma 17 +KPX Adieresis d -5 +KPX Adieresis g 24 +KPX Adieresis guillemotleft -24 +KPX Adieresis guilsinglleft -24 +KPX Adieresis hyphen -2 +KPX Adieresis o -8 +KPX Adieresis period 15 +KPX Adieresis q -9 +KPX Adieresis quotedblright -61 +KPX Adieresis quoteright -61 +KPX Adieresis t -7 +KPX Adieresis u -15 +KPX Adieresis v -36 +KPX Adieresis w -34 +KPX Adieresis y -40 +KPX Agrave C -34 +KPX Agrave G -34 +KPX Agrave O -35 +KPX Agrave Q -36 +KPX Agrave T -18 +KPX Agrave U -34 +KPX Agrave V -71 +KPX Agrave W -58 +KPX Agrave Y -14 +KPX Agrave comma 17 +KPX Agrave period 15 +KPX Aring C -34 +KPX Aring G -34 +KPX Aring O -35 +KPX Aring Q -36 +KPX Aring T -18 +KPX Aring U -34 +KPX Aring V -71 +KPX Aring W -58 +KPX Aring Y -14 +KPX Aring a 21 +KPX Aring b 13 +KPX Aring c -9 +KPX Aring comma 17 +KPX Aring d -5 +KPX Aring e -13 +KPX Aring g 24 +KPX Aring guillemotleft -24 +KPX Aring guilsinglleft -24 +KPX Aring hyphen -2 +KPX Aring o -8 +KPX Aring period 15 +KPX Aring q -9 +KPX Aring quotedblright -61 +KPX Aring quoteright -61 +KPX Aring t -7 +KPX Aring u -15 +KPX Aring v -36 +KPX Aring w -34 +KPX Aring y -40 +KPX Atilde C -34 +KPX Atilde G -34 +KPX Atilde O -35 +KPX Atilde Q -36 +KPX Atilde T -18 +KPX Atilde U -34 +KPX Atilde V -71 +KPX Atilde W -58 +KPX Atilde Y -14 +KPX Atilde comma 17 +KPX Atilde period 15 +KPX B A 0 +KPX B AE 0 +KPX B Aacute 0 +KPX B Acircumflex 0 +KPX B Adieresis 0 +KPX B Aring 0 +KPX B Atilde 0 +KPX B O -1 +KPX B OE -1 +KPX B Oacute -1 +KPX B Ocircumflex -1 +KPX B Odieresis -1 +KPX B Ograve -1 +KPX B Oslash 0 +KPX B V -12 +KPX B W -12 +KPX B Y -12 +KPX C A -10 +KPX C AE -10 +KPX C Aacute -10 +KPX C Adieresis -10 +KPX C Aring -10 +KPX C H -14 +KPX C K -14 +KPX C O -10 +KPX C Oacute -10 +KPX C Odieresis -10 +KPX Ccedilla A -7 +KPX D A -35 +KPX D Aacute -35 +KPX D Acircumflex -35 +KPX D Adieresis -35 +KPX D Agrave -35 +KPX D Aring -35 +KPX D Atilde -35 +KPX D J 20 +KPX D T 16 +KPX D V -40 +KPX D W -32 +KPX D X -38 +KPX D Y -40 +KPX F A -61 +KPX F Aacute -61 +KPX F Acircumflex -61 +KPX F Adieresis -61 +KPX F Agrave -61 +KPX F Aring -61 +KPX F Atilde -61 +KPX F J -39 +KPX F O 7 +KPX F Odieresis 7 +KPX F a -28 +KPX F aacute -28 +KPX F adieresis -28 +KPX F ae -30 +KPX F aring -28 +KPX F comma -101 +KPX F e -38 +KPX F eacute -38 +KPX F hyphen -33 +KPX F i 17 +KPX F j 23 +KPX F o -38 +KPX F oacute -38 +KPX F odieresis -38 +KPX F oe -40 +KPX F oslash -39 +KPX F period -102 +KPX F r 18 +KPX F u 18 +KPX G A 8 +KPX G AE 8 +KPX G Aacute 8 +KPX G Acircumflex 8 +KPX G Adieresis 8 +KPX G Agrave 8 +KPX G Aring 8 +KPX G Atilde 8 +KPX G T -2 +KPX G V -24 +KPX G W -24 +KPX G Y -24 +KPX J A -36 +KPX J AE -37 +KPX J Adieresis -36 +KPX J Aring -36 +KPX K C -37 +KPX K G -37 +KPX K O -39 +KPX K OE -38 +KPX K Oacute -39 +KPX K Odieresis -39 +KPX K S 16 +KPX K T 30 +KPX K a 19 +KPX K adieresis 19 +KPX K ae 20 +KPX K aring 19 +KPX K e -15 +KPX K hyphen -32 +KPX K o -10 +KPX K oacute -10 +KPX K odieresis -10 +KPX K u -17 +KPX K udieresis -17 +KPX K y -53 +KPX L A 42 +KPX L AE 41 +KPX L Aacute 42 +KPX L Adieresis 42 +KPX L Aring 42 +KPX L C 26 +KPX L Ccedilla 27 +KPX L G 26 +KPX L O 25 +KPX L Oacute 25 +KPX L Ocircumflex 25 +KPX L Odieresis 25 +KPX L Ograve 25 +KPX L Otilde 25 +KPX L S 42 +KPX L T -54 +KPX L U 0 +KPX L Udieresis 0 +KPX L V -52 +KPX L W -36 +KPX L Y -50 +KPX L hyphen 56 +KPX L quotedblright -69 +KPX L quoteright -69 +KPX L u -1 +KPX L udieresis -1 +KPX L y -11 +KPX N A 7 +KPX N AE 6 +KPX N Aacute 7 +KPX N Adieresis 7 +KPX N Aring 7 +KPX N C -12 +KPX N Ccedilla -11 +KPX N G -11 +KPX N O -12 +KPX N Oacute -12 +KPX N Odieresis -12 +KPX N a -17 +KPX N aacute -17 +KPX N adieresis -17 +KPX N ae -16 +KPX N aring -17 +KPX N comma -16 +KPX N e -15 +KPX N eacute -15 +KPX N o -14 +KPX N oacute -14 +KPX N odieresis -14 +KPX N oslash -13 +KPX N period -17 +KPX N u -24 +KPX N udieresis -24 +KPX O A -35 +KPX O AE -35 +KPX O Aacute -35 +KPX O Adieresis -35 +KPX O Aring -35 +KPX O T 19 +KPX O V -36 +KPX O W -29 +KPX O X -38 +KPX O Y -36 +KPX Oacute A -35 +KPX Oacute T 19 +KPX Oacute V -36 +KPX Oacute W -29 +KPX Oacute Y -36 +KPX Ocircumflex T 19 +KPX Ocircumflex V -36 +KPX Ocircumflex Y -36 +KPX Odieresis A -35 +KPX Odieresis T 19 +KPX Odieresis V -36 +KPX Odieresis W -29 +KPX Odieresis X -38 +KPX Odieresis Y -36 +KPX Ograve T 19 +KPX Ograve V -36 +KPX Ograve Y -36 +KPX Oslash A -34 +KPX Otilde T 19 +KPX Otilde V -36 +KPX Otilde Y -36 +KPX P A -51 +KPX P AE -87 +KPX P Aacute -51 +KPX P Adieresis -51 +KPX P Aring -51 +KPX P J -24 +KPX P a -3 +KPX P aacute -3 +KPX P adieresis -3 +KPX P ae -5 +KPX P aring -3 +KPX P comma -94 +KPX P e -10 +KPX P eacute -10 +KPX P hyphen -9 +KPX P o -10 +KPX P oacute -10 +KPX P odieresis -10 +KPX P oe -12 +KPX P oslash -10 +KPX P period -95 +KPX R C -8 +KPX R Ccedilla -7 +KPX R G -7 +KPX R O -9 +KPX R OE -8 +KPX R Oacute -9 +KPX R Odieresis -9 +KPX R T 34 +KPX R U -16 +KPX R Udieresis -16 +KPX R V 0 +KPX R W 0 +KPX R Y 0 +KPX R a 23 +KPX R aacute 23 +KPX R adieresis 23 +KPX R ae 24 +KPX R aring 23 +KPX R e -12 +KPX R eacute -12 +KPX R hyphen -23 +KPX R o -7 +KPX R oacute -7 +KPX R odieresis -7 +KPX R oe -7 +KPX R u 2 +KPX R uacute 2 +KPX R udieresis 2 +KPX R y 24 +KPX S A 3 +KPX S AE 2 +KPX S Aacute 3 +KPX S Adieresis 3 +KPX S Aring 3 +KPX S T 22 +KPX S V -3 +KPX S W -3 +KPX S Y -3 +KPX S t -11 +KPX T A -16 +KPX T AE -16 +KPX T Aacute -16 +KPX T Acircumflex -16 +KPX T Adieresis -16 +KPX T Agrave -16 +KPX T Aring -16 +KPX T Atilde -16 +KPX T C 18 +KPX T G 19 +KPX T J -50 +KPX T O 17 +KPX T OE 18 +KPX T Oacute 17 +KPX T Ocircumflex 17 +KPX T Odieresis 17 +KPX T Ograve 17 +KPX T Oslash 17 +KPX T Otilde 17 +KPX T S 30 +KPX T V 54 +KPX T W 54 +KPX T Y 54 +KPX T a -72 +KPX T ae -71 +KPX T c -86 +KPX T colon -82 +KPX T comma -80 +KPX T e -87 +KPX T g -43 +KPX T guillemotleft -91 +KPX T guilsinglleft -91 +KPX T hyphen -69 +KPX T i 0 +KPX T j 0 +KPX T o -86 +KPX T oslash -58 +KPX T period -81 +KPX T r -49 +KPX T s -72 +KPX T semicolon -80 +KPX T u -100 +KPX T v -78 +KPX T w -80 +KPX T y -78 +KPX U A -31 +KPX U AE -32 +KPX U Aacute -31 +KPX U Acircumflex -31 +KPX U Adieresis -31 +KPX U Aring -31 +KPX U Atilde -31 +KPX U comma -35 +KPX U m -27 +KPX U n -28 +KPX U p -28 +KPX U period -36 +KPX U r -28 +KPX Uacute A -31 +KPX Uacute comma -35 +KPX Uacute m -27 +KPX Uacute n -28 +KPX Uacute p -28 +KPX Uacute period -36 +KPX Uacute r -28 +KPX Ucircumflex A -31 +KPX Udieresis A -31 +KPX Udieresis b 27 +KPX Udieresis comma -35 +KPX Udieresis m -27 +KPX Udieresis n -28 +KPX Udieresis p -28 +KPX Udieresis period -36 +KPX Udieresis r -28 +KPX Ugrave A -31 +KPX V A -80 +KPX V AE -95 +KPX V Aacute -80 +KPX V Acircumflex -80 +KPX V Adieresis -80 +KPX V Agrave -80 +KPX V Aring -80 +KPX V Atilde -80 +KPX V C -42 +KPX V G -39 +KPX V O -43 +KPX V Oacute -43 +KPX V Ocircumflex -43 +KPX V Odieresis -43 +KPX V Ograve -43 +KPX V Oslash -42 +KPX V Otilde -43 +KPX V S -7 +KPX V T 51 +KPX V a -70 +KPX V ae -73 +KPX V colon -72 +KPX V comma -102 +KPX V e -73 +KPX V g -76 +KPX V guillemotleft -70 +KPX V guilsinglleft -70 +KPX V hyphen -49 +KPX V i -18 +KPX V o -72 +KPX V oslash -71 +KPX V period -103 +KPX V r -36 +KPX V semicolon -72 +KPX V u -36 +KPX V y -12 +KPX W A -68 +KPX W AE -74 +KPX W Aacute -68 +KPX W Acircumflex -68 +KPX W Adieresis -68 +KPX W Agrave -68 +KPX W Aring -68 +KPX W Atilde -68 +KPX W C -37 +KPX W G -37 +KPX W O -38 +KPX W Oacute -38 +KPX W Ocircumflex -38 +KPX W Odieresis -38 +KPX W Ograve -38 +KPX W Oslash -35 +KPX W Otilde -38 +KPX W S -7 +KPX W T 50 +KPX W a -60 +KPX W ae -61 +KPX W colon -63 +KPX W comma -84 +KPX W e -59 +KPX W g -61 +KPX W guillemotleft -56 +KPX W guilsinglleft -55 +KPX W hyphen -35 +KPX W i -22 +KPX W o -57 +KPX W oslash -56 +KPX W period -85 +KPX W r -27 +KPX W semicolon -63 +KPX W u -27 +KPX W y -4 +KPX X C -35 +KPX X O -37 +KPX X Odieresis -37 +KPX X Q -38 +KPX X a 22 +KPX X e -13 +KPX X hyphen -47 +KPX X o -8 +KPX X u -15 +KPX X y -50 +KPX Y A -28 +KPX Y AE -28 +KPX Y Aacute -28 +KPX Y Acircumflex -28 +KPX Y Adieresis -28 +KPX Y Agrave -28 +KPX Y Aring -28 +KPX Y Atilde -28 +KPX Y C -41 +KPX Y G -38 +KPX Y O -42 +KPX Y Oacute -42 +KPX Y Ocircumflex -42 +KPX Y Odieresis -42 +KPX Y Ograve -42 +KPX Y Oslash -42 +KPX Y Otilde -42 +KPX Y S -6 +KPX Y T 51 +KPX Y a -84 +KPX Y ae -83 +KPX Y colon -86 +KPX Y comma -92 +KPX Y e -86 +KPX Y g -82 +KPX Y guillemotleft -93 +KPX Y guilsinglleft -93 +KPX Y hyphen -79 +KPX Y i -11 +KPX Y o -85 +KPX Y oslash -84 +KPX Y p -51 +KPX Y period -94 +KPX Y semicolon -86 +KPX Y u -51 +KPX Y v -26 +KPX Z v -12 +KPX Z y -16 +KPX a j -15 +KPX a quoteright -38 +KPX a v -29 +KPX a w -31 +KPX a y -37 +KPX aacute v -29 +KPX aacute w -31 +KPX aacute y -37 +KPX adieresis v -29 +KPX adieresis w -31 +KPX adieresis y -37 +KPX ae v -6 +KPX ae w -8 +KPX ae y -13 +KPX agrave v -29 +KPX agrave w -31 +KPX agrave y -37 +KPX aring v -29 +KPX aring w -31 +KPX aring y -37 +KPX b v -18 +KPX b w -20 +KPX b y -24 +KPX c h -17 +KPX c k -17 +KPX comma one -85 +KPX comma quotedblright -52 +KPX comma quoteright -52 +KPX e quoteright -6 +KPX e t -25 +KPX e v -6 +KPX e w -8 +KPX e x -6 +KPX e y -12 +KPX eacute v -6 +KPX eacute w -8 +KPX eacute y -12 +KPX ecircumflex v -6 +KPX ecircumflex w -8 +KPX ecircumflex y -12 +KPX eight four 10 +KPX eight one -84 +KPX eight seven -20 +KPX f a -14 +KPX f aacute -14 +KPX f adieresis 11 +KPX f ae -13 +KPX f aring -6 +KPX f e -24 +KPX f eacute -24 +KPX f f 14 +KPX f i 17 +KPX f j 22 +KPX f l 72 +KPX f o -23 +KPX f oacute -23 +KPX f odieresis 5 +KPX f oe -24 +KPX f oslash -22 +KPX f quoteright 60 +KPX f s -14 +KPX f t 15 +KPX five four 11 +KPX five one -92 +KPX five seven -47 +KPX four four 19 +KPX four one -74 +KPX four seven -54 +KPX g a -22 +KPX g adieresis -22 +KPX g ae -21 +KPX g aring -22 +KPX g e -15 +KPX g eacute -15 +KPX g l 11 +KPX g oacute -16 +KPX g odieresis -16 +KPX g r 9 +KPX guillemotright A -26 +KPX guillemotright AE -93 +KPX guillemotright Aacute -26 +KPX guillemotright Adieresis -26 +KPX guillemotright Aring -26 +KPX guillemotright T -90 +KPX guillemotright V -61 +KPX guillemotright W -46 +KPX guillemotright Y -76 +KPX guilsinglright A -27 +KPX guilsinglright AE -94 +KPX guilsinglright Aacute -27 +KPX guilsinglright Adieresis -27 +KPX guilsinglright Aring -27 +KPX guilsinglright T -91 +KPX guilsinglright V -63 +KPX guilsinglright W -47 +KPX guilsinglright Y -78 +KPX h quoteright -31 +KPX h y -23 +KPX hyphen A -6 +KPX hyphen AE -75 +KPX hyphen Aacute -6 +KPX hyphen Adieresis -6 +KPX hyphen Aring -6 +KPX hyphen T -70 +KPX hyphen V -43 +KPX hyphen W -27 +KPX hyphen Y -64 +KPX i T 5 +KPX i j -22 +KPX k a 5 +KPX k aacute 5 +KPX k adieresis 5 +KPX k ae 6 +KPX k aring 5 +KPX k comma -2 +KPX k e -28 +KPX k eacute -28 +KPX k g 7 +KPX k hyphen -64 +KPX k o -24 +KPX k oacute -24 +KPX k odieresis -24 +KPX k period -4 +KPX k s 5 +KPX k u 12 +KPX k udieresis 12 +KPX l v -2 +KPX l y -2 +KPX m p -24 +KPX m v -15 +KPX m w -17 +KPX m y -19 +KPX n T -44 +KPX n p -23 +KPX n quoteright -29 +KPX n v -16 +KPX n w -18 +KPX n y -22 +KPX nine four 2 +KPX nine one -86 +KPX nine seven -18 +KPX o T -85 +KPX o quoteright -16 +KPX o t -22 +KPX o v -16 +KPX o w -18 +KPX o x -20 +KPX o y -23 +KPX oacute v -16 +KPX oacute w -18 +KPX oacute y -23 +KPX ocircumflex t -22 +KPX odieresis t -22 +KPX odieresis v -16 +KPX odieresis w -18 +KPX odieresis x -20 +KPX odieresis y -23 +KPX ograve v -16 +KPX ograve w -18 +KPX ograve y -23 +KPX one comma -62 +KPX one eight -74 +KPX one five -75 +KPX one four -91 +KPX one nine -70 +KPX one one -96 +KPX one period -64 +KPX one seven -105 +KPX one six -71 +KPX one three -69 +KPX one two -37 +KPX one zero -70 +KPX p t -23 +KPX p y -21 +KPX period one -88 +KPX period quotedblright -51 +KPX period quoteright -51 +KPX q c -11 +KPX q u -13 +KPX quotedblbase A 36 +KPX quotedblbase AE 34 +KPX quotedblbase T -61 +KPX quotedblbase V -78 +KPX quotedblbase W -58 +KPX quotedblbase Y -57 +KPX quotedblleft A -65 +KPX quotedblleft AE -201 +KPX quotedblleft Aacute -65 +KPX quotedblleft Adieresis -65 +KPX quotedblleft Aring -65 +KPX quotedblleft T 36 +KPX quotedblleft V 23 +KPX quotedblleft W 29 +KPX quotedblleft Y 22 +KPX quotedblright A -66 +KPX quotedblright AE -206 +KPX quotedblright Aacute -66 +KPX quotedblright Adieresis -66 +KPX quotedblright Aring -66 +KPX quotedblright T 36 +KPX quotedblright V 29 +KPX quotedblright W 30 +KPX quotedblright Y 29 +KPX quoteleft A -60 +KPX quoteleft AE -196 +KPX quoteleft Aacute -60 +KPX quoteleft Adieresis -60 +KPX quoteleft Aring -60 +KPX quoteleft T 41 +KPX quoteleft V 28 +KPX quoteleft W 34 +KPX quoteleft Y 27 +KPX quoteright A -61 +KPX quoteright AE -201 +KPX quoteright Aacute -61 +KPX quoteright Adieresis -61 +KPX quoteright Aring -61 +KPX quoteright comma -43 +KPX quoteright d -14 +KPX quoteright o -13 +KPX quoteright period -43 +KPX quoteright r -3 +KPX quoteright s -8 +KPX quoteright t -1 +KPX quoteright v 19 +KPX quoteright w 17 +KPX quoteright y 19 +KPX r a 2 +KPX r aacute 2 +KPX r acircumflex 2 +KPX r adieresis 2 +KPX r ae 0 +KPX r agrave 2 +KPX r aring 2 +KPX r c -6 +KPX r ccedilla -6 +KPX r colon -3 +KPX r comma -80 +KPX r d -6 +KPX r e -6 +KPX r eacute -6 +KPX r ecircumflex -6 +KPX r egrave -6 +KPX r f 26 +KPX r g -6 +KPX r h -14 +KPX r hyphen -76 +KPX r i 28 +KPX r j 29 +KPX r k -14 +KPX r l -14 +KPX r m 30 +KPX r n 28 +KPX r o -6 +KPX r oacute -6 +KPX r ocircumflex -6 +KPX r odieresis -6 +KPX r oe -7 +KPX r ograve -6 +KPX r oslash -6 +KPX r p 28 +KPX r period -82 +KPX r q -8 +KPX r quoteright 4 +KPX r r 28 +KPX r s 2 +KPX r semicolon -3 +KPX r t 28 +KPX r u 28 +KPX r v 49 +KPX r w 47 +KPX r x 32 +KPX r y 48 +KPX r z 11 +KPX s quoteright -19 +KPX s t -22 +KPX seven colon -77 +KPX seven comma -110 +KPX seven eight -31 +KPX seven five -24 +KPX seven four -90 +KPX seven one -55 +KPX seven period -111 +KPX seven seven -14 +KPX seven six -45 +KPX seven three -28 +KPX seven two -18 +KPX six four 14 +KPX six one -77 +KPX six seven -20 +KPX t S 4 +KPX t a 15 +KPX t aacute 15 +KPX t adieresis 15 +KPX t ae 15 +KPX t aring 15 +KPX t colon -4 +KPX t e -12 +KPX t eacute -12 +KPX t h 18 +KPX t o -8 +KPX t oacute -8 +KPX t odieresis -8 +KPX t quoteright -14 +KPX t semicolon -3 +KPX three four 6 +KPX three one -90 +KPX three seven -26 +KPX two four 2 +KPX two one -78 +KPX two seven -30 +KPX u quoteright -30 +KPX v a -10 +KPX v aacute -10 +KPX v acircumflex -10 +KPX v adieresis -10 +KPX v ae -12 +KPX v agrave -10 +KPX v aring -10 +KPX v atilde -10 +KPX v c -21 +KPX v colon -1 +KPX v comma -82 +KPX v e -22 +KPX v eacute -22 +KPX v ecircumflex -22 +KPX v egrave -22 +KPX v g -18 +KPX v hyphen -24 +KPX v l -10 +KPX v o -21 +KPX v oacute -21 +KPX v odieresis -21 +KPX v ograve -21 +KPX v oslash -22 +KPX v period -82 +KPX v s -9 +KPX v semicolon -1 +KPX w a -5 +KPX w aacute -5 +KPX w acircumflex -5 +KPX w adieresis -5 +KPX w ae -8 +KPX w agrave -5 +KPX w aring -5 +KPX w atilde -5 +KPX w c -17 +KPX w colon 3 +KPX w comma -72 +KPX w e -17 +KPX w eacute -17 +KPX w ecircumflex -17 +KPX w egrave -17 +KPX w g -14 +KPX w hyphen -17 +KPX w l -5 +KPX w o -16 +KPX w oacute -16 +KPX w odieresis -16 +KPX w ograve -16 +KPX w oslash -17 +KPX w period -72 +KPX w s -4 +KPX w semicolon 3 +KPX x a 8 +KPX x c -22 +KPX x e -26 +KPX x eacute -26 +KPX x o -21 +KPX x q -22 +KPX y a -20 +KPX y aacute -20 +KPX y acircumflex -20 +KPX y adieresis -20 +KPX y ae -22 +KPX y agrave -20 +KPX y aring -20 +KPX y atilde -20 +KPX y c -30 +KPX y colon -5 +KPX y comma -88 +KPX y e -31 +KPX y eacute -31 +KPX y ecircumflex -31 +KPX y egrave -31 +KPX y g -27 +KPX y hyphen -29 +KPX y l -13 +KPX y o -29 +KPX y oacute -29 +KPX y odieresis -29 +KPX y ograve -29 +KPX y oslash -31 +KPX y period -88 +KPX y s -17 +KPX y semicolon -5 +KPX zero four 8 +KPX zero one -82 +KPX zero seven -18 +EndKernPairs +EndKernData +EndFontMetrics diff --git a/Master/xemtex/gsfonts/b018012l.pfb b/Master/xemtex/gsfonts/b018012l.pfb new file mode 100644 index 00000000000..47219db0b10 Binary files /dev/null and b/Master/xemtex/gsfonts/b018012l.pfb differ diff --git a/Master/xemtex/gsfonts/b018012l.pfm b/Master/xemtex/gsfonts/b018012l.pfm new file mode 100644 index 00000000000..55ef814b600 Binary files /dev/null and b/Master/xemtex/gsfonts/b018012l.pfm differ diff --git a/Master/xemtex/gsfonts/b018015l.afm b/Master/xemtex/gsfonts/b018015l.afm new file mode 100644 index 00000000000..4f02cad8149 --- /dev/null +++ b/Master/xemtex/gsfonts/b018015l.afm @@ -0,0 +1,1341 @@ +StartFontMetrics 3.0 +Comment Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development +Comment Creation Date: 12/22/1999 +Comment See the file PUBLIC (Aladdin Free Public License) for license conditions. +FontName URWBookmanL-DemiBold +FullName URW Bookman L Demi Bold +FamilyName URW Bookman L +Weight Bold +ItalicAngle 0.0 +IsFixedPitch false +UnderlinePosition -125 +UnderlineThickness 60 +Version 1.05 +Notice (URW)++,Copyright 1999 by (URW)++ Design & Development +EncodingScheme AdobeStandardEncoding +FontBBox -194 -306 1346 927 +CapHeight 681 +XHeight 502 +Descender -213 +Ascender 724 +StartCharMetrics 316 +C 32 ; WX 340 ; N space ; B 0 0 0 0 ; +C 33 ; WX 360 ; N exclam ; B 82 -13 282 694 ; +C 34 ; WX 420 ; N quotedbl ; B 11 383 369 694 ; +C 35 ; WX 660 ; N numbersign ; B 84 0 576 681 ; +C 36 ; WX 660 ; N dollar ; B 48 -120 620 805 ; +C 37 ; WX 940 ; N percent ; B 12 -8 924 689 ; +C 38 ; WX 800 ; N ampersand ; B 21 -13 772 694 ; +C 39 ; WX 320 ; N quoteright ; B 82 438 242 694 ; +C 40 ; WX 320 ; N parenleft ; B 48 -155 289 737 ; +C 41 ; WX 320 ; N parenright ; B 20 -155 262 737 ; +C 42 ; WX 460 ; N asterisk ; B 62 317 405 694 ; +C 43 ; WX 600 ; N plus ; B 51 108 555 597 ; +C 44 ; WX 340 ; N comma ; B 78 -120 257 167 ; +C 45 ; WX 360 ; N hyphen ; B 20 210 340 318 ; +C 46 ; WX 340 ; N period ; B 76 -13 257 168 ; +C 47 ; WX 600 ; N slash ; B 50 -138 555 720 ; +C 48 ; WX 660 ; N zero ; B 30 -13 639 694 ; +C 49 ; WX 660 ; N one ; B 137 0 568 681 ; +C 50 ; WX 660 ; N two ; B 41 0 628 694 ; +C 51 ; WX 660 ; N three ; B 37 -13 631 694 ; +C 52 ; WX 660 ; N four ; B 19 0 649 681 ; +C 53 ; WX 660 ; N five ; B 44 -13 623 724 ; +C 54 ; WX 660 ; N six ; B 34 -13 634 694 ; +C 55 ; WX 660 ; N seven ; B 36 0 632 681 ; +C 56 ; WX 660 ; N eight ; B 36 -13 633 694 ; +C 57 ; WX 660 ; N nine ; B 33 -13 636 694 ; +C 58 ; WX 340 ; N colon ; B 76 -13 257 516 ; +C 59 ; WX 340 ; N semicolon ; B 75 -120 259 516 ; +C 60 ; WX 600 ; N less ; B 49 56 558 643 ; +C 61 ; WX 600 ; N equal ; B 51 199 555 506 ; +C 62 ; WX 600 ; N greater ; B 48 56 557 643 ; +C 63 ; WX 660 ; N question ; B 61 -13 608 694 ; +C 64 ; WX 820 ; N at ; B 60 -13 758 700 ; +C 65 ; WX 720 ; N A ; B -34 0 763 681 ; +C 66 ; WX 720 ; N B ; B 20 0 693 681 ; +C 67 ; WX 740 ; N C ; B 35 -13 724 694 ; +C 68 ; WX 780 ; N D ; B 20 0 748 681 ; +C 69 ; WX 720 ; N E ; B 20 0 724 681 ; +C 70 ; WX 680 ; N F ; B 20 0 686 681 ; +C 71 ; WX 780 ; N G ; B 35 -13 773 694 ; +C 72 ; WX 820 ; N H ; B 20 0 800 681 ; +C 73 ; WX 400 ; N I ; B 20 0 379 681 ; +C 74 ; WX 640 ; N J ; B -12 -13 622 681 ; +C 75 ; WX 800 ; N K ; B 20 0 796 681 ; +C 76 ; WX 640 ; N L ; B 20 0 668 681 ; +C 77 ; WX 940 ; N M ; B 20 0 924 681 ; +C 78 ; WX 740 ; N N ; B 20 0 724 681 ; +C 79 ; WX 800 ; N O ; B 35 -13 769 694 ; +C 80 ; WX 660 ; N P ; B 20 0 658 681 ; +C 81 ; WX 800 ; N Q ; B 35 -226 775 694 ; +C 82 ; WX 780 ; N R ; B 20 0 783 681 ; +C 83 ; WX 660 ; N S ; B 21 -13 639 694 ; +C 84 ; WX 700 ; N T ; B -4 0 703 681 ; +C 85 ; WX 740 ; N U ; B 15 -13 724 681 ; +C 86 ; WX 720 ; N V ; B -20 0 730 681 ; +C 87 ; WX 940 ; N W ; B -20 0 963 681 ; +C 88 ; WX 780 ; N X ; B 1 0 770 681 ; +C 89 ; WX 700 ; N Y ; B -20 0 718 681 ; +C 90 ; WX 640 ; N Z ; B 6 0 635 681 ; +C 91 ; WX 300 ; N bracketleft ; B 75 -138 285 720 ; +C 92 ; WX 600 ; N backslash ; B 50 0 555 725 ; +C 93 ; WX 300 ; N bracketright ; B 21 -138 231 720 ; +C 94 ; WX 600 ; N asciicircum ; B 52 318 554 722 ; +C 95 ; WX 500 ; N underscore ; B 0 -155 500 -95 ; +C 96 ; WX 320 ; N quoteleft ; B 82 438 242 694 ; +C 97 ; WX 580 ; N a ; B 28 -9 588 511 ; +C 98 ; WX 600 ; N b ; B -20 -9 568 724 ; +C 99 ; WX 580 ; N c ; B 31 -9 550 511 ; +C 100 ; WX 640 ; N d ; B 31 -9 622 724 ; +C 101 ; WX 580 ; N e ; B 31 -9 548 511 ; +C 102 ; WX 380 ; N f ; B 22 0 461 736 ; +C 103 ; WX 580 ; N g ; B 9 -248 583 593 ; +C 104 ; WX 680 ; N h ; B 22 0 654 724 ; +C 105 ; WX 360 ; N i ; B 22 0 335 730 ; +C 106 ; WX 340 ; N j ; B -94 -226 278 731 ; +C 107 ; WX 660 ; N k ; B 22 0 643 724 ; +C 108 ; WX 340 ; N l ; B 9 0 322 724 ; +C 109 ; WX 1000 ; N m ; B 22 0 980 511 ; +C 110 ; WX 680 ; N n ; B 22 0 652 511 ; +C 111 ; WX 620 ; N o ; B 31 -9 585 511 ; +C 112 ; WX 640 ; N p ; B 22 -213 611 511 ; +C 113 ; WX 620 ; N q ; B 31 -213 633 511 ; +C 114 ; WX 460 ; N r ; B 22 0 462 511 ; +C 115 ; WX 520 ; N s ; B 22 -9 492 511 ; +C 116 ; WX 460 ; N t ; B 22 -9 445 661 ; +C 117 ; WX 660 ; N u ; B 22 -13 653 502 ; +C 118 ; WX 600 ; N v ; B -6 0 593 502 ; +C 119 ; WX 800 ; N w ; B -6 0 810 502 ; +C 120 ; WX 600 ; N x ; B 8 0 591 502 ; +C 121 ; WX 620 ; N y ; B 6 -221 613 502 ; +C 122 ; WX 560 ; N z ; B 22 0 547 502 ; +C 123 ; WX 320 ; N braceleft ; B 34 -140 280 720 ; +C 124 ; WX 600 ; N bar ; B 243 0 362 722 ; +C 125 ; WX 320 ; N braceright ; B 35 -140 280 720 ; +C 126 ; WX 600 ; N asciitilde ; B 51 251 555 443 ; +C 161 ; WX 360 ; N exclamdown ; B 84 -196 284 512 ; +C 162 ; WX 660 ; N cent ; B 133 16 535 674 ; +C 163 ; WX 660 ; N sterling ; B 10 -13 659 694 ; +C 164 ; WX 120 ; N fraction ; B -194 0 312 681 ; +C 165 ; WX 660 ; N yen ; B -28 0 696 681 ; +C 166 ; WX 660 ; N florin ; B -46 -203 674 749 ; +C 167 ; WX 600 ; N section ; B 36 -158 560 694 ; +C 168 ; WX 660 ; N currency ; B 77 88 584 593 ; +C 169 ; WX 240 ; N quotesingle ; B 42 383 178 694 ; +C 170 ; WX 540 ; N quotedblleft ; B 82 438 449 694 ; +C 171 ; WX 400 ; N guillemotleft ; B 34 71 360 430 ; +C 172 ; WX 220 ; N guilsinglleft ; B 34 74 188 430 ; +C 173 ; WX 220 ; N guilsinglright ; B 34 74 188 430 ; +C 174 ; WX 740 ; N fi ; B 22 0 710 736 ; +C 175 ; WX 740 ; N fl ; B 22 0 710 736 ; +C 177 ; WX 500 ; N endash ; B -25 212 525 320 ; +C 178 ; WX 440 ; N dagger ; B 33 -160 398 694 ; +C 179 ; WX 380 ; N daggerdbl ; B 8 -161 380 694 ; +C 180 ; WX 340 ; N periodcentered ; B 76 175 257 356 ; +C 182 ; WX 800 ; N paragraph ; B 14 -98 757 681 ; +C 183 ; WX 460 ; N bullet ; B 60 213 404 557 ; +C 184 ; WX 320 ; N quotesinglbase ; B 82 -108 242 148 ; +C 185 ; WX 540 ; N quotedblbase ; B 82 -108 450 148 ; +C 186 ; WX 540 ; N quotedblright ; B 82 438 449 694 ; +C 187 ; WX 400 ; N guillemotright ; B 34 71 360 430 ; +C 188 ; WX 1000 ; N ellipsis ; B 76 -13 923 169 ; +C 189 ; WX 1360 ; N perthousand ; B 12 -8 1346 689 ; +C 191 ; WX 660 ; N questiondown ; B 62 -196 609 513 ; +C 193 ; WX 400 ; N grave ; B 68 554 327 738 ; +C 194 ; WX 400 ; N acute ; B 68 554 327 738 ; +C 195 ; WX 500 ; N circumflex ; B 68 555 430 731 ; +C 196 ; WX 480 ; N tilde ; B 69 564 421 699 ; +C 197 ; WX 460 ; N macron ; B 68 582 383 667 ; +C 198 ; WX 500 ; N breve ; B 68 556 429 725 ; +C 199 ; WX 320 ; N dotaccent ; B 68 551 259 742 ; +C 200 ; WX 500 ; N dieresis ; B 68 559 441 698 ; +C 202 ; WX 340 ; N ring ; B 68 551 275 755 ; +C 203 ; WX 360 ; N cedilla ; B 68 -213 284 0 ; +C 205 ; WX 440 ; N hungarumlaut ; B 68 553 365 741 ; +C 206 ; WX 320 ; N ogonek ; B 68 -170 246 0 ; +C 207 ; WX 500 ; N caron ; B 68 555 430 731 ; +C 208 ; WX 1000 ; N emdash ; B -25 212 1025 320 ; +C 225 ; WX 1140 ; N AE ; B -34 0 1149 681 ; +C 227 ; WX 400 ; N ordfeminine ; B 27 286 396 694 ; +C 232 ; WX 640 ; N Lslash ; B 20 0 668 681 ; +C 233 ; WX 800 ; N Oslash ; B 35 -110 771 779 ; +C 234 ; WX 1220 ; N OE ; B 35 -13 1219 694 ; +C 235 ; WX 400 ; N ordmasculine ; B 17 286 383 694 ; +C 241 ; WX 880 ; N ae ; B 28 -9 852 511 ; +C 245 ; WX 360 ; N dotlessi ; B 22 0 335 502 ; +C 248 ; WX 340 ; N lslash ; B 9 0 322 724 ; +C 249 ; WX 620 ; N oslash ; B 31 -40 586 546 ; +C 250 ; WX 940 ; N oe ; B 31 -9 908 511 ; +C 251 ; WX 660 ; N germandbls ; B -61 -92 644 688 ; +C -1 ; WX 740 ; N Udieresis ; B 15 -13 724 877 ; +C -1 ; WX 740 ; N Uacute ; B 15 -13 724 910 ; +C -1 ; WX 660 ; N Scedilla ; B 21 -213 639 694 ; +C -1 ; WX 700 ; N Tcaron ; B -4 0 703 904 ; +C -1 ; WX 660 ; N Scaron ; B 21 -13 639 904 ; +C -1 ; WX 780 ; N Rcaron ; B 20 0 783 904 ; +C -1 ; WX 780 ; N Racute ; B 20 0 783 910 ; +C -1 ; WX 660 ; N Sacute ; B 21 -13 639 910 ; +C -1 ; WX 800 ; N Otilde ; B 35 -13 769 884 ; +C -1 ; WX 660 ; N ucircumflex ; B 22 -13 653 731 ; +C -1 ; WX 800 ; N Ohungarumlaut ; B 35 -13 769 913 ; +C -1 ; WX 740 ; N Uhungarumlaut ; B 15 -13 724 913 ; +C -1 ; WX 700 ; N Yacute ; B -20 0 718 910 ; +C -1 ; WX 780 ; N Eth ; B 20 0 748 681 ; +C -1 ; WX 780 ; N Dcroat ; B 20 0 748 681 ; +C -1 ; WX 640 ; N Zacute ; B 6 0 635 910 ; +C -1 ; WX 740 ; N Uring ; B 15 -13 724 927 ; +C -1 ; WX 580 ; N gbreve ; B 9 -248 583 725 ; +C -1 ; WX 580 ; N eogonek ; B 31 -170 548 511 ; +C -1 ; WX 580 ; N edotaccent ; B 31 -9 548 742 ; +C -1 ; WX 580 ; N ecaron ; B 31 -9 548 731 ; +C -1 ; WX 740 ; N Ugrave ; B 15 -13 724 910 ; +C -1 ; WX 660 ; N Thorn ; B 20 0 658 681 ; +C -1 ; WX 580 ; N eacute ; B 31 -9 548 738 ; +C -1 ; WX 580 ; N edieresis ; B 31 -9 548 698 ; +C -1 ; WX 720 ; N dcaron ; B 31 -9 720 724 ; +C -1 ; WX 580 ; N ccedilla ; B 31 -213 550 511 ; +C -1 ; WX 580 ; N ccaron ; B 31 -9 550 731 ; +C -1 ; WX 580 ; N cacute ; B 31 -9 550 738 ; +C -1 ; WX 580 ; N aogonek ; B 28 -170 600 511 ; +C -1 ; WX 580 ; N aring ; B 28 -9 588 755 ; +C -1 ; WX 580 ; N atilde ; B 28 -9 588 699 ; +C -1 ; WX 580 ; N abreve ; B 28 -9 588 725 ; +C -1 ; WX 580 ; N egrave ; B 31 -9 548 738 ; +C -1 ; WX 580 ; N agrave ; B 28 -9 588 738 ; +C -1 ; WX 580 ; N aacute ; B 28 -9 588 738 ; +C -1 ; WX 580 ; N adieresis ; B 28 -9 588 698 ; +C -1 ; WX 740 ; N Uogonek ; B 15 -170 724 681 ; +C -1 ; WX 660 ; N ugrave ; B 22 -13 653 738 ; +C -1 ; WX 660 ; N uacute ; B 22 -13 653 738 ; +C -1 ; WX 660 ; N udieresis ; B 22 -13 653 698 ; +C -1 ; WX 470 ; N tcaron ; B 22 -9 470 724 ; +C -1 ; WX 520 ; N scommaaccent ; B 22 -306 492 511 ; +C -1 ; WX 640 ; N Zcaron ; B 6 0 635 904 ; +C -1 ; WX 580 ; N ecircumflex ; B 31 -9 548 731 ; +C -1 ; WX 740 ; N Ucircumflex ; B 15 -13 724 904 ; +C -1 ; WX 580 ; N acircumflex ; B 28 -9 588 731 ; +C -1 ; WX 640 ; N Zdotaccent ; B 6 0 635 914 ; +C -1 ; WX 520 ; N scaron ; B 22 -9 492 731 ; +C -1 ; WX 720 ; N Amacron ; B -34 0 763 839 ; +C -1 ; WX 520 ; N sacute ; B 22 -9 492 738 ; +C -1 ; WX 700 ; N Tcommaaccent ; B -4 -306 703 681 ; +C -1 ; WX 700 ; N Ydieresis ; B -20 0 718 877 ; +C -1 ; WX 640 ; N thorn ; B 22 -213 611 724 ; +C -1 ; WX 720 ; N Emacron ; B 20 0 724 839 ; +C -1 ; WX 800 ; N Ograve ; B 35 -13 769 910 ; +C -1 ; WX 800 ; N Oacute ; B 35 -13 769 910 ; +C -1 ; WX 800 ; N Odieresis ; B 35 -13 769 877 ; +C -1 ; WX 740 ; N Ntilde ; B 20 0 724 884 ; +C -1 ; WX 740 ; N Ncaron ; B 20 0 724 904 ; +C -1 ; WX 740 ; N Nacute ; B 20 0 724 910 ; +C -1 ; WX 640 ; N Lcaron ; B 20 0 668 694 ; +C -1 ; WX 640 ; N Lacute ; B 20 0 668 910 ; +C -1 ; WX 400 ; N Idotaccent ; B 20 0 379 914 ; +C -1 ; WX 460 ; N racute ; B 22 0 462 738 ; +C -1 ; WX 400 ; N Icircumflex ; B 18 0 380 904 ; +C -1 ; WX 620 ; N ohungarumlaut ; B 31 -9 585 741 ; +C -1 ; WX 620 ; N otilde ; B 31 -9 585 699 ; +C -1 ; WX 660 ; N Euro ; B 9 -13 636 694 ; +C -1 ; WX 620 ; N ocircumflex ; B 31 -9 585 731 ; +C -1 ; WX 396 ; N onesuperior ; B 65 273 345 681 ; +C -1 ; WX 396 ; N twosuperior ; B 14 273 396 689 ; +C -1 ; WX 396 ; N threesuperior ; B 5 265 391 689 ; +C -1 ; WX 400 ; N Igrave ; B 20 0 379 910 ; +C -1 ; WX 400 ; N Iacute ; B 20 0 379 910 ; +C -1 ; WX 400 ; N Imacron ; B 20 0 379 839 ; +C -1 ; WX 400 ; N Iogonek ; B 20 -170 445 681 ; +C -1 ; WX 400 ; N Idieresis ; B 18 0 391 877 ; +C -1 ; WX 780 ; N Gbreve ; B 35 -13 773 898 ; +C -1 ; WX 740 ; N Umacron ; B 15 -13 724 839 ; +C -1 ; WX 800 ; N Kcommaaccent ; B 20 -306 796 681 ; +C -1 ; WX 620 ; N ograve ; B 31 -9 585 738 ; +C -1 ; WX 660 ; N Scommaaccent ; B 21 -306 639 694 ; +C -1 ; WX 720 ; N Eogonek ; B 20 -170 724 681 ; +C -1 ; WX 620 ; N oacute ; B 31 -9 585 738 ; +C -1 ; WX 720 ; N Edotaccent ; B 20 0 724 914 ; +C -1 ; WX 360 ; N iogonek ; B 22 -170 401 730 ; +C -1 ; WX 580 ; N gcommaaccent ; B 9 -248 583 824 ; +C -1 ; WX 620 ; N odieresis ; B 31 -9 585 698 ; +C -1 ; WX 680 ; N ntilde ; B 22 0 652 699 ; +C -1 ; WX 680 ; N ncaron ; B 22 0 652 731 ; +C -1 ; WX 720 ; N Ecaron ; B 20 0 724 904 ; +C -1 ; WX 720 ; N Ecircumflex ; B 20 0 724 904 ; +C -1 ; WX 520 ; N scedilla ; B 22 -213 492 511 ; +C -1 ; WX 460 ; N rcaron ; B 22 0 462 731 ; +C -1 ; WX 720 ; N Egrave ; B 20 0 724 910 ; +C -1 ; WX 720 ; N Eacute ; B 20 0 724 910 ; +C -1 ; WX 780 ; N Gcommaaccent ; B 35 -306 773 694 ; +C -1 ; WX 780 ; N Rcommaaccent ; B 20 -306 783 681 ; +C -1 ; WX 720 ; N Edieresis ; B 20 0 724 877 ; +C -1 ; WX 680 ; N nacute ; B 22 0 652 738 ; +C -1 ; WX 660 ; N uogonek ; B 22 -170 719 502 ; +C -1 ; WX 660 ; N umacron ; B 22 -13 653 667 ; +C -1 ; WX 780 ; N Dcaron ; B 20 0 748 904 ; +C -1 ; WX 430 ; N lcaron ; B 9 0 430 724 ; +C -1 ; WX 740 ; N Ccaron ; B 35 -13 724 904 ; +C -1 ; WX 740 ; N Cacute ; B 35 -13 724 910 ; +C -1 ; WX 740 ; N Ccedilla ; B 35 -213 724 694 ; +C -1 ; WX 400 ; N degree ; B 50 380 350 686 ; +C -1 ; WX 720 ; N Aogonek ; B -34 -170 829 681 ; +C -1 ; WX 600 ; N minus ; B 51 294 555 411 ; +C -1 ; WX 600 ; N multiply ; B 48 100 552 604 ; +C -1 ; WX 600 ; N divide ; B 51 72 555 633 ; +C -1 ; WX 720 ; N Aring ; B -34 0 763 924 ; +C -1 ; WX 980 ; N trademark ; B 42 273 982 681 ; +C -1 ; WX 460 ; N rcommaaccent ; B 22 -306 462 511 ; +C -1 ; WX 340 ; N lacute ; B 9 0 322 910 ; +C -1 ; WX 620 ; N omacron ; B 31 -9 585 667 ; +C -1 ; WX 720 ; N Atilde ; B -34 0 763 884 ; +C -1 ; WX 360 ; N icircumflex ; B -2 0 360 731 ; +C -1 ; WX 360 ; N igrave ; B 22 0 335 738 ; +C -1 ; WX 680 ; N ncommaaccent ; B 22 -306 652 511 ; +C -1 ; WX 340 ; N lcommaaccent ; B 9 -306 322 724 ; +C -1 ; WX 600 ; N plusminus ; B 51 0 555 629 ; +C -1 ; WX 990 ; N onehalf ; B 65 0 980 681 ; +C -1 ; WX 990 ; N onequarter ; B 65 0 967 681 ; +C -1 ; WX 990 ; N threequarters ; B 15 0 967 689 ; +C -1 ; WX 360 ; N iacute ; B 22 0 335 738 ; +C -1 ; WX 720 ; N Abreve ; B -34 0 763 898 ; +C -1 ; WX 660 ; N kcommaaccent ; B 22 -306 643 724 ; +C -1 ; WX 800 ; N Omacron ; B 35 -13 769 839 ; +C -1 ; WX 360 ; N imacron ; B 18 0 335 667 ; +C -1 ; WX 580 ; N emacron ; B 31 -9 548 667 ; +C -1 ; WX 580 ; N amacron ; B 28 -9 588 667 ; +C -1 ; WX 460 ; N tcommaaccent ; B 22 -306 445 661 ; +C -1 ; WX 620 ; N ydieresis ; B 6 -221 613 698 ; +C -1 ; WX 560 ; N zdotaccent ; B 22 0 547 742 ; +C -1 ; WX 560 ; N zcaron ; B 22 0 547 731 ; +C -1 ; WX 560 ; N zacute ; B 22 0 547 738 ; +C -1 ; WX 620 ; N yacute ; B 6 -221 613 738 ; +C -1 ; WX 660 ; N uhungarumlaut ; B 22 -13 653 741 ; +C -1 ; WX 620 ; N eth ; B 31 -9 585 779 ; +C -1 ; WX 660 ; N uring ; B 22 -13 653 755 ; +C -1 ; WX 800 ; N Ocircumflex ; B 35 -13 769 904 ; +C -1 ; WX 296 ; N commaaccent ; B 68 -306 228 -50 ; +C -1 ; WX 740 ; N copyright ; B 23 0 723 700 ; +C -1 ; WX 740 ; N registered ; B 23 0 723 700 ; +C -1 ; WX 720 ; N Acircumflex ; B -34 0 763 904 ; +C -1 ; WX 360 ; N idieresis ; B -2 0 371 698 ; +C -1 ; WX 494 ; N lozenge ; B 18 0 466 740 ; +C -1 ; WX 612 ; N Delta ; B 6 0 608 688 ; +C -1 ; WX 600 ; N notequal ; B 51 63 555 646 ; +C -1 ; WX 549 ; N radical ; B -34 -35 548 918 ; +C -1 ; WX 720 ; N Agrave ; B -34 0 763 910 ; +C -1 ; WX 720 ; N Aacute ; B -34 0 763 910 ; +C -1 ; WX 600 ; N lessequal ; B 45 0 549 722 ; +C -1 ; WX 600 ; N greaterequal ; B 51 0 555 722 ; +C -1 ; WX 600 ; N logicalnot ; B 51 80 555 369 ; +C -1 ; WX 713 ; N summation ; B 14 -123 695 752 ; +C -1 ; WX 494 ; N partialdiff ; B 9 -10 478 755 ; +C -1 ; WX 740 ; N Ncommaaccent ; B 20 -306 724 681 ; +C -1 ; WX 640 ; N dcroat ; B 31 -9 622 724 ; +C -1 ; WX 600 ; N brokenbar ; B 243 0 362 722 ; +C -1 ; WX 640 ; N Lcommaaccent ; B 20 -306 668 681 ; +C -1 ; WX 720 ; N Adieresis ; B -34 0 763 877 ; +C -1 ; WX 660 ; N mu ; B 22 -219 653 502 ; +C -1 ; WX 340 ; N .notdef ; B 0 0 0 0 ; +EndCharMetrics +StartKernData +StartKernPairs 998 +KPX A C -14 +KPX A Ccedilla -13 +KPX A G -9 +KPX A O -12 +KPX A Odieresis -12 +KPX A Q 9 +KPX A T -26 +KPX A U -10 +KPX A Uacute -10 +KPX A Ucircumflex -10 +KPX A Udieresis -10 +KPX A Ugrave -10 +KPX A V -59 +KPX A W -40 +KPX A Y -25 +KPX A a 37 +KPX A b 27 +KPX A c 11 +KPX A ccedilla 13 +KPX A comma 33 +KPX A d 16 +KPX A e 9 +KPX A g 40 +KPX A guillemotleft -9 +KPX A guilsinglleft -9 +KPX A hyphen 12 +KPX A o 11 +KPX A period 34 +KPX A q 13 +KPX A quotedblright -74 +KPX A quoteright -74 +KPX A t 2 +KPX A u 2 +KPX A v -26 +KPX A w -19 +KPX A y -36 +KPX Aacute C -14 +KPX Aacute G -9 +KPX Aacute O -12 +KPX Aacute Q 9 +KPX Aacute T -26 +KPX Aacute U -10 +KPX Aacute V -59 +KPX Aacute W -40 +KPX Aacute Y -25 +KPX Aacute a 37 +KPX Aacute b 27 +KPX Aacute c 11 +KPX Aacute comma 33 +KPX Aacute d 16 +KPX Aacute e 9 +KPX Aacute g 40 +KPX Aacute guillemotleft -9 +KPX Aacute guilsinglleft -9 +KPX Aacute hyphen 12 +KPX Aacute o 11 +KPX Aacute period 34 +KPX Aacute q 13 +KPX Aacute quoteright -75 +KPX Aacute t 2 +KPX Aacute u 2 +KPX Aacute v -26 +KPX Aacute w -19 +KPX Aacute y -36 +KPX Acircumflex C -14 +KPX Acircumflex G -9 +KPX Acircumflex O -12 +KPX Acircumflex Q 9 +KPX Acircumflex T -26 +KPX Acircumflex U -10 +KPX Acircumflex V -59 +KPX Acircumflex W -40 +KPX Acircumflex Y -25 +KPX Acircumflex comma 33 +KPX Acircumflex period 34 +KPX Adieresis C -14 +KPX Adieresis G -9 +KPX Adieresis O -12 +KPX Adieresis Q 9 +KPX Adieresis T -26 +KPX Adieresis U -10 +KPX Adieresis V -59 +KPX Adieresis W -40 +KPX Adieresis Y -25 +KPX Adieresis a 37 +KPX Adieresis b 27 +KPX Adieresis c 11 +KPX Adieresis comma 33 +KPX Adieresis d 16 +KPX Adieresis g 40 +KPX Adieresis guillemotleft -9 +KPX Adieresis guilsinglleft -9 +KPX Adieresis hyphen 12 +KPX Adieresis o 11 +KPX Adieresis period 34 +KPX Adieresis q 13 +KPX Adieresis quotedblright -75 +KPX Adieresis quoteright -75 +KPX Adieresis t 2 +KPX Adieresis u 2 +KPX Adieresis v -26 +KPX Adieresis w -19 +KPX Adieresis y -36 +KPX Agrave C -14 +KPX Agrave G -9 +KPX Agrave O -12 +KPX Agrave Q 9 +KPX Agrave T -26 +KPX Agrave U -10 +KPX Agrave V -59 +KPX Agrave W -40 +KPX Agrave Y -25 +KPX Agrave comma 33 +KPX Agrave period 34 +KPX Aring C -14 +KPX Aring G -9 +KPX Aring O -12 +KPX Aring Q 9 +KPX Aring T -26 +KPX Aring U -10 +KPX Aring V -59 +KPX Aring W -40 +KPX Aring Y -25 +KPX Aring a 37 +KPX Aring b 27 +KPX Aring c 11 +KPX Aring comma 33 +KPX Aring d 16 +KPX Aring e 9 +KPX Aring g 40 +KPX Aring guillemotleft -9 +KPX Aring guilsinglleft -9 +KPX Aring hyphen 12 +KPX Aring o 11 +KPX Aring period 34 +KPX Aring q 13 +KPX Aring quotedblright -75 +KPX Aring quoteright -75 +KPX Aring t 2 +KPX Aring u 2 +KPX Aring v -26 +KPX Aring w -19 +KPX Aring y -36 +KPX Atilde C -14 +KPX Atilde G -9 +KPX Atilde O -12 +KPX Atilde Q 9 +KPX Atilde T -26 +KPX Atilde U -10 +KPX Atilde V -59 +KPX Atilde W -40 +KPX Atilde Y -25 +KPX Atilde comma 33 +KPX Atilde period 34 +KPX B A 17 +KPX B AE 17 +KPX B Aacute 17 +KPX B Acircumflex 17 +KPX B Adieresis 17 +KPX B Aring 17 +KPX B Atilde 17 +KPX B O 2 +KPX B OE 1 +KPX B Oacute 2 +KPX B Ocircumflex 2 +KPX B Odieresis 2 +KPX B Ograve 2 +KPX B Oslash 2 +KPX B V 3 +KPX B W 3 +KPX B Y 3 +KPX C A 5 +KPX C AE 5 +KPX C Aacute 5 +KPX C Adieresis 5 +KPX C Aring 5 +KPX C H -2 +KPX C K -2 +KPX C O -4 +KPX C Oacute -4 +KPX C Odieresis -4 +KPX Ccedilla A 6 +KPX D A -15 +KPX D Aacute -15 +KPX D Acircumflex -15 +KPX D Adieresis -15 +KPX D Agrave -15 +KPX D Aring -15 +KPX D Atilde -15 +KPX D J 14 +KPX D T 8 +KPX D V -23 +KPX D W -18 +KPX D X -30 +KPX D Y -23 +KPX F A -62 +KPX F Aacute -62 +KPX F Acircumflex -62 +KPX F Adieresis -62 +KPX F Agrave -62 +KPX F Aring -62 +KPX F Atilde -62 +KPX F J -46 +KPX F O 4 +KPX F Odieresis 4 +KPX F a -15 +KPX F aacute -15 +KPX F adieresis -15 +KPX F ae -20 +KPX F aring -15 +KPX F comma -92 +KPX F e -31 +KPX F eacute -31 +KPX F hyphen -22 +KPX F i 20 +KPX F j 15 +KPX F o -30 +KPX F oacute -30 +KPX F odieresis -30 +KPX F oe -33 +KPX F oslash -31 +KPX F period -91 +KPX F r 20 +KPX F u 20 +KPX G A 6 +KPX G AE 6 +KPX G Aacute 6 +KPX G Acircumflex 6 +KPX G Adieresis 6 +KPX G Agrave 6 +KPX G Aring 6 +KPX G Atilde 6 +KPX G T -14 +KPX G V -23 +KPX G W -16 +KPX G Y -23 +KPX J A -18 +KPX J AE -18 +KPX J Adieresis -18 +KPX J Aring -18 +KPX K C -37 +KPX K G -32 +KPX K O -36 +KPX K OE -40 +KPX K Oacute -36 +KPX K Odieresis -36 +KPX K S -6 +KPX K T -9 +KPX K a 14 +KPX K adieresis 14 +KPX K ae 12 +KPX K aring 14 +KPX K e -13 +KPX K hyphen -34 +KPX K o -11 +KPX K oacute -11 +KPX K odieresis -11 +KPX K u -20 +KPX K udieresis -20 +KPX K y -69 +KPX L A 30 +KPX L AE 30 +KPX L Aacute 30 +KPX L Adieresis 30 +KPX L Aring 30 +KPX L C 23 +KPX L Ccedilla 23 +KPX L G 23 +KPX L O 23 +KPX L Oacute 23 +KPX L Ocircumflex 23 +KPX L Odieresis 23 +KPX L Ograve 23 +KPX L Otilde 23 +KPX L S 35 +KPX L T -54 +KPX L U -5 +KPX L Udieresis -5 +KPX L V -52 +KPX L W -28 +KPX L Y -56 +KPX L hyphen 58 +KPX L quotedblright -80 +KPX L quoteright -80 +KPX L u 0 +KPX L udieresis -1 +KPX L y -22 +KPX N A -2 +KPX N AE -2 +KPX N Aacute -2 +KPX N Adieresis -2 +KPX N Aring -2 +KPX N C -11 +KPX N Ccedilla -11 +KPX N G -11 +KPX N O -13 +KPX N Oacute -13 +KPX N Odieresis -13 +KPX N a -12 +KPX N aacute -12 +KPX N adieresis -12 +KPX N ae -14 +KPX N aring -12 +KPX N comma -17 +KPX N e -17 +KPX N eacute -17 +KPX N o -17 +KPX N oacute -17 +KPX N odieresis -17 +KPX N oslash -15 +KPX N period -16 +KPX N u -22 +KPX N udieresis -23 +KPX O A -20 +KPX O AE -20 +KPX O Aacute -20 +KPX O Adieresis -20 +KPX O Aring -20 +KPX O T 10 +KPX O V -22 +KPX O W -19 +KPX O X -32 +KPX O Y -22 +KPX Oacute A -20 +KPX Oacute T 10 +KPX Oacute V -22 +KPX Oacute W -19 +KPX Oacute Y -22 +KPX Ocircumflex T 10 +KPX Ocircumflex V -22 +KPX Ocircumflex Y -22 +KPX Odieresis A -20 +KPX Odieresis T 10 +KPX Odieresis V -22 +KPX Odieresis W -19 +KPX Odieresis X -32 +KPX Odieresis Y -22 +KPX Ograve T 10 +KPX Ograve V -22 +KPX Ograve Y -22 +KPX Oslash A -18 +KPX Otilde T 10 +KPX Otilde V -22 +KPX Otilde Y -22 +KPX P A -51 +KPX P AE -92 +KPX P Aacute -51 +KPX P Adieresis -51 +KPX P Aring -51 +KPX P J -29 +KPX P a 1 +KPX P aacute 1 +KPX P adieresis 1 +KPX P ae -4 +KPX P aring 1 +KPX P comma -87 +KPX P e -8 +KPX P eacute -8 +KPX P hyphen 1 +KPX P o -7 +KPX P oacute -7 +KPX P odieresis -7 +KPX P oe -9 +KPX P oslash -7 +KPX P period -87 +KPX R C -19 +KPX R Ccedilla -19 +KPX R G -18 +KPX R O -20 +KPX R OE -21 +KPX R Oacute -20 +KPX R Odieresis -20 +KPX R T -2 +KPX R U -24 +KPX R Udieresis -24 +KPX R V -8 +KPX R W -8 +KPX R Y -8 +KPX R a 17 +KPX R aacute 17 +KPX R adieresis 17 +KPX R ae 15 +KPX R aring 17 +KPX R e -10 +KPX R eacute -10 +KPX R hyphen -21 +KPX R o -8 +KPX R oacute -8 +KPX R odieresis -8 +KPX R oe -5 +KPX R u -16 +KPX R uacute -16 +KPX R udieresis -16 +KPX R y -7 +KPX S A 12 +KPX S AE 12 +KPX S Aacute 12 +KPX S Adieresis 12 +KPX S Aring 12 +KPX S T 2 +KPX S V -8 +KPX S W -8 +KPX S Y -8 +KPX S t -2 +KPX T A -33 +KPX T AE -33 +KPX T Aacute -33 +KPX T Acircumflex -33 +KPX T Adieresis -33 +KPX T Agrave -33 +KPX T Aring -33 +KPX T Atilde -33 +KPX T C 7 +KPX T G 7 +KPX T J -58 +KPX T O 5 +KPX T OE 6 +KPX T Oacute 5 +KPX T Ocircumflex 5 +KPX T Odieresis 5 +KPX T Ograve 5 +KPX T Oslash 5 +KPX T Otilde 5 +KPX T S 14 +KPX T V 20 +KPX T W 20 +KPX T Y 20 +KPX T a -14 +KPX T ae -20 +KPX T c -33 +KPX T colon -9 +KPX T comma -77 +KPX T e -34 +KPX T g -23 +KPX T guillemotleft -95 +KPX T guilsinglleft -94 +KPX T hyphen -70 +KPX T i 23 +KPX T j 14 +KPX T o -33 +KPX T oslash -32 +KPX T period -77 +KPX T r 23 +KPX T s -11 +KPX T semicolon -8 +KPX T u 23 +KPX T v 37 +KPX T w 37 +KPX T y 31 +KPX U A -16 +KPX U AE -16 +KPX U Aacute -16 +KPX U Acircumflex -16 +KPX U Adieresis -16 +KPX U Aring -16 +KPX U Atilde -16 +KPX U comma -33 +KPX U m -21 +KPX U n -20 +KPX U p -26 +KPX U period -32 +KPX U r -20 +KPX Uacute A -16 +KPX Uacute comma -33 +KPX Uacute m -21 +KPX Uacute n -20 +KPX Uacute p -26 +KPX Uacute period -32 +KPX Uacute r -20 +KPX Ucircumflex A -16 +KPX Udieresis A -16 +KPX Udieresis b 34 +KPX Udieresis comma -33 +KPX Udieresis m -21 +KPX Udieresis n -20 +KPX Udieresis p -26 +KPX Udieresis period -32 +KPX Udieresis r -20 +KPX Ugrave A -16 +KPX V A -71 +KPX V AE -80 +KPX V Aacute -71 +KPX V Acircumflex -71 +KPX V Adieresis -71 +KPX V Agrave -71 +KPX V Aring -71 +KPX V Atilde -71 +KPX V C -26 +KPX V G -28 +KPX V O -33 +KPX V Oacute -33 +KPX V Ocircumflex -33 +KPX V Odieresis -33 +KPX V Ograve -33 +KPX V Oslash -32 +KPX V Otilde -33 +KPX V S -2 +KPX V T 17 +KPX V a -57 +KPX V ae -60 +KPX V colon -65 +KPX V comma -90 +KPX V e -63 +KPX V g -58 +KPX V guillemotleft -63 +KPX V guilsinglleft -60 +KPX V hyphen -33 +KPX V i 0 +KPX V o -62 +KPX V oslash -60 +KPX V period -89 +KPX V r -34 +KPX V semicolon -65 +KPX V u -34 +KPX V y -20 +KPX W A -63 +KPX W AE -66 +KPX W Aacute -63 +KPX W Acircumflex -63 +KPX W Adieresis -63 +KPX W Agrave -63 +KPX W Aring -63 +KPX W Atilde -63 +KPX W C -19 +KPX W G -21 +KPX W O -27 +KPX W Oacute -27 +KPX W Ocircumflex -27 +KPX W Odieresis -27 +KPX W Ograve -27 +KPX W Oslash -26 +KPX W Otilde -27 +KPX W S 3 +KPX W T 24 +KPX W a -48 +KPX W ae -51 +KPX W colon -60 +KPX W comma -77 +KPX W e -54 +KPX W g -49 +KPX W guillemotleft -54 +KPX W guilsinglleft -51 +KPX W hyphen -24 +KPX W i 7 +KPX W o -53 +KPX W oslash -51 +KPX W period -76 +KPX W r -31 +KPX W semicolon -61 +KPX W u -31 +KPX W y -17 +KPX X C -40 +KPX X O -39 +KPX X Odieresis -39 +KPX X Q -17 +KPX X a 11 +KPX X e -16 +KPX X hyphen -50 +KPX X o -14 +KPX X u -23 +KPX X y -54 +KPX Y A -37 +KPX Y AE -37 +KPX Y Aacute -37 +KPX Y Acircumflex -37 +KPX Y Adieresis -37 +KPX Y Agrave -37 +KPX Y Aring -37 +KPX Y Atilde -37 +KPX Y C -22 +KPX Y G -24 +KPX Y O -29 +KPX Y Oacute -29 +KPX Y Ocircumflex -29 +KPX Y Odieresis -29 +KPX Y Ograve -29 +KPX Y Oslash -28 +KPX Y Otilde -29 +KPX Y S 1 +KPX Y T 21 +KPX Y a -71 +KPX Y ae -72 +KPX Y colon -82 +KPX Y comma -80 +KPX Y e -78 +KPX Y g -67 +KPX Y guillemotleft -88 +KPX Y guilsinglleft -87 +KPX Y hyphen -67 +KPX Y i 4 +KPX Y o -77 +KPX Y oslash -75 +KPX Y p -52 +KPX Y period -79 +KPX Y semicolon -83 +KPX Y u -52 +KPX Y v -30 +KPX Z v -23 +KPX Z y -27 +KPX a j -21 +KPX a quoteright -51 +KPX a v -16 +KPX a w -16 +KPX a y -23 +KPX aacute v -16 +KPX aacute w -16 +KPX aacute y -23 +KPX adieresis v -16 +KPX adieresis w -16 +KPX adieresis y -23 +KPX ae v 0 +KPX ae w 0 +KPX ae y -10 +KPX agrave v -16 +KPX agrave w -16 +KPX agrave y -23 +KPX aring v -16 +KPX aring w -16 +KPX aring y -23 +KPX b v -4 +KPX b w -4 +KPX b y -13 +KPX c h -11 +KPX c k -11 +KPX comma one -63 +KPX comma quotedblright -63 +KPX comma quoteright -63 +KPX e quoteright -37 +KPX e t -17 +KPX e v -3 +KPX e w -3 +KPX e x -7 +KPX e y -13 +KPX eacute v -3 +KPX eacute w -3 +KPX eacute y -13 +KPX ecircumflex v -3 +KPX ecircumflex w -3 +KPX ecircumflex y -13 +KPX eight four 9 +KPX eight one -66 +KPX eight seven -20 +KPX f a -3 +KPX f aacute -3 +KPX f adieresis 30 +KPX f ae -4 +KPX f aring -3 +KPX f e -17 +KPX f eacute -17 +KPX f f 14 +KPX f i 36 +KPX f j 28 +KPX f l 68 +KPX f o -16 +KPX f oacute -16 +KPX f odieresis 12 +KPX f oe -16 +KPX f oslash -14 +KPX f quoteright 30 +KPX f s -3 +KPX f t 8 +KPX five four 5 +KPX five one -74 +KPX five seven -33 +KPX four four 15 +KPX four one -70 +KPX four seven -39 +KPX g a -16 +KPX g adieresis -16 +KPX g ae -19 +KPX g aring -16 +KPX g e -18 +KPX g eacute -18 +KPX g l 15 +KPX g oacute -17 +KPX g odieresis -17 +KPX g r 9 +KPX guillemotright A -22 +KPX guillemotright AE -24 +KPX guillemotright Aacute -22 +KPX guillemotright Adieresis -22 +KPX guillemotright Aring -22 +KPX guillemotright T -95 +KPX guillemotright V -65 +KPX guillemotright W -41 +KPX guillemotright Y -82 +KPX guilsinglright A -18 +KPX guilsinglright AE -25 +KPX guilsinglright Aacute -18 +KPX guilsinglright Adieresis -18 +KPX guilsinglright Aring -18 +KPX guilsinglright T -91 +KPX guilsinglright V -58 +KPX guilsinglright W -35 +KPX guilsinglright Y -77 +KPX h quoteright -54 +KPX h y -29 +KPX hyphen A 0 +KPX hyphen AE -34 +KPX hyphen Aacute 0 +KPX hyphen Adieresis 0 +KPX hyphen Aring 0 +KPX hyphen T -68 +KPX hyphen V -32 +KPX hyphen W -9 +KPX hyphen Y -58 +KPX i T -15 +KPX i j -25 +KPX k a 7 +KPX k aacute 7 +KPX k adieresis 7 +KPX k ae 6 +KPX k aring 7 +KPX k comma -8 +KPX k e -20 +KPX k eacute -20 +KPX k g 11 +KPX k hyphen -46 +KPX k o -18 +KPX k oacute -18 +KPX k odieresis -18 +KPX k period -8 +KPX k s 4 +KPX k u -11 +KPX k udieresis -11 +KPX l v -10 +KPX l y -16 +KPX m p -18 +KPX m v -16 +KPX m w -16 +KPX m y -23 +KPX n T -35 +KPX n p -21 +KPX n quoteright -51 +KPX n v -19 +KPX n w -19 +KPX n y -26 +KPX nine four 8 +KPX nine one -63 +KPX nine seven -2 +KPX o T -36 +KPX o quoteright -41 +KPX o t -17 +KPX o v -7 +KPX o w -7 +KPX o x -15 +KPX o y -18 +KPX oacute v -7 +KPX oacute w -7 +KPX oacute y -18 +KPX ocircumflex t -17 +KPX odieresis t -17 +KPX odieresis v -7 +KPX odieresis w -7 +KPX odieresis x -15 +KPX odieresis y -18 +KPX ograve v -7 +KPX ograve w -7 +KPX ograve y -18 +KPX one comma -40 +KPX one eight -46 +KPX one five -42 +KPX one four -79 +KPX one nine -49 +KPX one one -81 +KPX one period -39 +KPX one seven -86 +KPX one six -61 +KPX one three -42 +KPX one two -35 +KPX one zero -60 +KPX p t -12 +KPX p y -13 +KPX period one -64 +KPX period quotedblright -62 +KPX period quoteright -62 +KPX q c -3 +KPX q u -9 +KPX quotedblbase A 22 +KPX quotedblbase AE 17 +KPX quotedblbase T -81 +KPX quotedblbase V -95 +KPX quotedblbase W -68 +KPX quotedblbase Y -79 +KPX quotedblleft A -90 +KPX quotedblleft AE -174 +KPX quotedblleft Aacute -91 +KPX quotedblleft Adieresis -91 +KPX quotedblleft Aring -91 +KPX quotedblleft T -2 +KPX quotedblleft V 0 +KPX quotedblleft W 9 +KPX quotedblleft Y -1 +KPX quotedblright A -92 +KPX quotedblright AE -178 +KPX quotedblright Aacute -93 +KPX quotedblright Adieresis -93 +KPX quotedblright Aring -93 +KPX quotedblright T -3 +KPX quotedblright V 4 +KPX quotedblright W 12 +KPX quotedblright Y 2 +KPX quoteleft A -84 +KPX quoteleft AE -168 +KPX quoteleft Aacute -85 +KPX quoteleft Adieresis -85 +KPX quoteleft Aring -85 +KPX quoteleft T 4 +KPX quoteleft V 7 +KPX quoteleft W 15 +KPX quoteleft Y 4 +KPX quoteright A -85 +KPX quoteright AE -172 +KPX quoteright Aacute -86 +KPX quoteright Adieresis -86 +KPX quoteright Aring -86 +KPX quoteright comma -57 +KPX quoteright d -36 +KPX quoteright o -35 +KPX quoteright period -56 +KPX quoteright r -15 +KPX quoteright s -19 +KPX quoteright t -14 +KPX quoteright v 3 +KPX quoteright w 4 +KPX quoteright y -4 +KPX r a 8 +KPX r aacute 8 +KPX r acircumflex 8 +KPX r adieresis 8 +KPX r ae 3 +KPX r agrave 8 +KPX r aring 8 +KPX r c 2 +KPX r ccedilla 1 +KPX r colon -4 +KPX r comma -61 +KPX r d 0 +KPX r e 1 +KPX r eacute 1 +KPX r ecircumflex 1 +KPX r egrave 1 +KPX r f 22 +KPX r g 1 +KPX r h -16 +KPX r hyphen 1 +KPX r i 22 +KPX r j 13 +KPX r k -13 +KPX r l -8 +KPX r m 22 +KPX r n 22 +KPX r o 2 +KPX r oacute 2 +KPX r ocircumflex 2 +KPX r odieresis 2 +KPX r oe 0 +KPX r ograve 2 +KPX r oslash 2 +KPX r p 22 +KPX r period -60 +KPX r q 2 +KPX r quoteright 2 +KPX r r 22 +KPX r s 13 +KPX r semicolon -3 +KPX r t 22 +KPX r u 22 +KPX r v 36 +KPX r w 36 +KPX r x 19 +KPX r y 30 +KPX r z 3 +KPX s quoteright -29 +KPX s t -10 +KPX seven colon -70 +KPX seven comma -106 +KPX seven eight -25 +KPX seven five -20 +KPX seven four -89 +KPX seven one -50 +KPX seven period -105 +KPX seven seven -7 +KPX seven six -32 +KPX seven three -18 +KPX seven two -11 +KPX six four 10 +KPX six one -63 +KPX six seven -19 +KPX t S -7 +KPX t a 10 +KPX t aacute 10 +KPX t adieresis 10 +KPX t ae 9 +KPX t aring 10 +KPX t colon -13 +KPX t e -12 +KPX t eacute -12 +KPX t h 12 +KPX t o -10 +KPX t oacute -10 +KPX t odieresis -10 +KPX t quoteright -48 +KPX t semicolon -14 +KPX three four 8 +KPX three one -66 +KPX three seven -16 +KPX two four 3 +KPX two one -68 +KPX two seven -18 +KPX u quoteright -30 +KPX v a 1 +KPX v aacute 1 +KPX v acircumflex 1 +KPX v adieresis 1 +KPX v ae -3 +KPX v agrave 1 +KPX v aring 1 +KPX v atilde 1 +KPX v c -11 +KPX v colon -8 +KPX v comma -81 +KPX v e -12 +KPX v eacute -12 +KPX v ecircumflex -12 +KPX v egrave -12 +KPX v g -8 +KPX v hyphen -16 +KPX v l -13 +KPX v o -11 +KPX v oacute -11 +KPX v odieresis -11 +KPX v ograve -11 +KPX v oslash -11 +KPX v period -80 +KPX v s 4 +KPX v semicolon -8 +KPX w a 9 +KPX w aacute 9 +KPX w acircumflex 9 +KPX w adieresis 9 +KPX w ae 4 +KPX w agrave 9 +KPX w aring 9 +KPX w atilde 9 +KPX w c -2 +KPX w colon 0 +KPX w comma -58 +KPX w e -3 +KPX w eacute -3 +KPX w ecircumflex -3 +KPX w egrave -3 +KPX w g 0 +KPX w hyphen -1 +KPX w l -4 +KPX w o -3 +KPX w oacute -3 +KPX w odieresis -3 +KPX w ograve -3 +KPX w oslash -3 +KPX w period -57 +KPX w s 12 +KPX w semicolon 0 +KPX x a 11 +KPX x c -14 +KPX x e -16 +KPX x eacute -16 +KPX x o -14 +KPX x q -12 +KPX y a 0 +KPX y aacute 0 +KPX y acircumflex 0 +KPX y adieresis 0 +KPX y ae -6 +KPX y agrave 0 +KPX y aring 0 +KPX y atilde 0 +KPX y c -15 +KPX y colon -8 +KPX y comma -86 +KPX y e -16 +KPX y eacute -16 +KPX y ecircumflex -16 +KPX y egrave -16 +KPX y g -10 +KPX y hyphen -23 +KPX y l -13 +KPX y o -15 +KPX y oacute -15 +KPX y odieresis -15 +KPX y ograve -15 +KPX y oslash -15 +KPX y period -86 +KPX y s 2 +KPX y semicolon -8 +KPX zero four 9 +KPX zero one -62 +KPX zero seven -3 +EndKernPairs +EndKernData +EndFontMetrics diff --git a/Master/xemtex/gsfonts/b018015l.pfb b/Master/xemtex/gsfonts/b018015l.pfb new file mode 100644 index 00000000000..c2c98b8075f Binary files /dev/null and b/Master/xemtex/gsfonts/b018015l.pfb differ diff --git a/Master/xemtex/gsfonts/b018015l.pfm b/Master/xemtex/gsfonts/b018015l.pfm new file mode 100644 index 00000000000..71fed23315e Binary files /dev/null and b/Master/xemtex/gsfonts/b018015l.pfm differ diff --git a/Master/xemtex/gsfonts/b018032l.afm b/Master/xemtex/gsfonts/b018032l.afm new file mode 100644 index 00000000000..92e9eec0cd5 --- /dev/null +++ b/Master/xemtex/gsfonts/b018032l.afm @@ -0,0 +1,1341 @@ +StartFontMetrics 3.0 +Comment Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development +Comment Creation Date: 12/22/1999 +Comment See the file PUBLIC (Aladdin Free Public License) for license conditions. +FontName URWBookmanL-LighItal +FullName URW Bookman L Light Italic +FamilyName URW Bookman L +Weight Regular +ItalicAngle -10.0 +IsFixedPitch false +UnderlinePosition -125 +UnderlineThickness 60 +Version 1.05 +Notice (URW)++,Copyright 1999 by (URW)++ Design & Development +EncodingScheme AdobeStandardEncoding +FontBBox -228 -281 1269 930 +CapHeight 681 +XHeight 486 +Descender -212 +Ascender 715 +StartCharMetrics 316 +C 32 ; WX 300 ; N space ; B 0 0 0 0 ; +C 33 ; WX 320 ; N exclam ; B 103 -13 342 694 ; +C 34 ; WX 360 ; N quotedbl ; B 107 462 402 694 ; +C 35 ; WX 620 ; N numbersign ; B 107 0 598 666 ; +C 36 ; WX 620 ; N dollar ; B 78 -85 619 762 ; +C 37 ; WX 800 ; N percent ; B 56 -8 811 689 ; +C 38 ; WX 820 ; N ampersand ; B 65 -13 848 694 ; +C 39 ; WX 280 ; N quoteright ; B 148 466 288 694 ; +C 40 ; WX 280 ; N parenleft ; B 96 -120 383 715 ; +C 41 ; WX 280 ; N parenright ; B -8 -120 279 715 ; +C 42 ; WX 440 ; N asterisk ; B 139 324 505 698 ; +C 43 ; WX 600 ; N plus ; B 91 106 595 594 ; +C 44 ; WX 300 ; N comma ; B 88 -115 227 112 ; +C 45 ; WX 320 ; N hyphen ; B 78 232 336 285 ; +C 46 ; WX 300 ; N period ; B 96 -13 231 122 ; +C 47 ; WX 600 ; N slash ; B 104 -121 562 715 ; +C 48 ; WX 620 ; N zero ; B 86 -13 646 695 ; +C 49 ; WX 620 ; N one ; B 154 0 500 681 ; +C 50 ; WX 620 ; N two ; B 66 0 636 694 ; +C 51 ; WX 620 ; N three ; B 55 -13 622 694 ; +C 52 ; WX 620 ; N four ; B 69 0 634 681 ; +C 53 ; WX 620 ; N five ; B 70 -13 614 681 ; +C 54 ; WX 620 ; N six ; B 89 -13 657 694 ; +C 55 ; WX 620 ; N seven ; B 143 0 672 681 ; +C 56 ; WX 620 ; N eight ; B 61 -13 655 694 ; +C 57 ; WX 620 ; N nine ; B 77 -13 649 694 ; +C 58 ; WX 300 ; N colon ; B 96 -13 292 499 ; +C 59 ; WX 300 ; N semicolon ; B 88 -115 292 499 ; +C 60 ; WX 600 ; N less ; B 79 49 588 599 ; +C 61 ; WX 600 ; N equal ; B 91 212 595 488 ; +C 62 ; WX 600 ; N greater ; B 93 49 602 599 ; +C 63 ; WX 540 ; N question ; B 114 -13 604 694 ; +C 64 ; WX 780 ; N at ; B 102 -13 802 700 ; +C 65 ; WX 700 ; N A ; B -25 0 720 681 ; +C 66 ; WX 720 ; N B ; B 21 0 746 681 ; +C 67 ; WX 720 ; N C ; B 88 -13 746 694 ; +C 68 ; WX 740 ; N D ; B 21 0 782 681 ; +C 69 ; WX 680 ; N E ; B 21 0 736 681 ; +C 70 ; WX 620 ; N F ; B 21 0 743 681 ; +C 71 ; WX 760 ; N G ; B 88 -13 813 694 ; +C 72 ; WX 800 ; N H ; B 21 0 888 681 ; +C 73 ; WX 320 ; N I ; B 21 0 412 681 ; +C 74 ; WX 560 ; N J ; B -2 -13 666 681 ; +C 75 ; WX 720 ; N K ; B 21 0 804 681 ; +C 76 ; WX 580 ; N L ; B 21 0 656 681 ; +C 77 ; WX 860 ; N M ; B 18 0 956 681 ; +C 78 ; WX 720 ; N N ; B 18 0 823 681 ; +C 79 ; WX 760 ; N O ; B 88 -13 799 694 ; +C 80 ; WX 600 ; N P ; B 21 0 681 681 ; +C 81 ; WX 780 ; N Q ; B 61 -191 812 694 ; +C 82 ; WX 700 ; N R ; B 21 0 736 681 ; +C 83 ; WX 640 ; N S ; B 61 -13 668 694 ; +C 84 ; WX 600 ; N T ; B 50 0 725 681 ; +C 85 ; WX 720 ; N U ; B 118 -13 842 681 ; +C 86 ; WX 680 ; N V ; B 87 0 815 681 ; +C 87 ; WX 960 ; N W ; B 87 0 1095 681 ; +C 88 ; WX 700 ; N X ; B -25 0 815 681 ; +C 89 ; WX 660 ; N Y ; B 87 0 809 681 ; +C 90 ; WX 580 ; N Z ; B 8 0 695 681 ; +C 91 ; WX 260 ; N bracketleft ; B 56 -121 351 715 ; +C 92 ; WX 600 ; N backslash ; B 84 0 542 717 ; +C 93 ; WX 260 ; N bracketright ; B 15 -120 309 715 ; +C 94 ; WX 600 ; N asciicircum ; B 97 318 599 722 ; +C 95 ; WX 500 ; N underscore ; B 0 -155 500 -95 ; +C 96 ; WX 280 ; N quoteleft ; B 191 466 330 694 ; +C 97 ; WX 620 ; N a ; B 71 -9 686 495 ; +C 98 ; WX 600 ; N b ; B 88 -9 621 715 ; +C 99 ; WX 480 ; N c ; B 65 -9 522 495 ; +C 100 ; WX 640 ; N d ; B 65 -9 695 715 ; +C 101 ; WX 540 ; N e ; B 65 -9 575 495 ; +C 102 ; WX 340 ; N f ; B -160 -206 557 728 ; +C 103 ; WX 560 ; N g ; B 4 -221 581 495 ; +C 104 ; WX 620 ; N h ; B 88 -9 689 715 ; +C 105 ; WX 280 ; N i ; B 88 -9 351 666 ; +C 106 ; WX 280 ; N j ; B -200 -221 308 665 ; +C 107 ; WX 600 ; N k ; B 88 -9 657 715 ; +C 108 ; WX 280 ; N l ; B 100 -9 342 715 ; +C 109 ; WX 880 ; N m ; B 88 -9 952 495 ; +C 110 ; WX 620 ; N n ; B 88 -9 673 495 ; +C 111 ; WX 540 ; N o ; B 65 -9 572 495 ; +C 112 ; WX 600 ; N p ; B -24 -212 620 495 ; +C 113 ; WX 560 ; N q ; B 65 -212 584 495 ; +C 114 ; WX 400 ; N r ; B 88 0 481 495 ; +C 115 ; WX 540 ; N s ; B 65 -9 547 495 ; +C 116 ; WX 340 ; N t ; B 88 -9 411 665 ; +C 117 ; WX 620 ; N u ; B 88 -9 686 486 ; +C 118 ; WX 540 ; N v ; B 88 -9 562 499 ; +C 119 ; WX 880 ; N w ; B 88 -9 893 499 ; +C 120 ; WX 540 ; N x ; B 9 -13 626 499 ; +C 121 ; WX 600 ; N y ; B 60 -221 609 486 ; +C 122 ; WX 520 ; N z ; B 38 -9 561 495 ; +C 123 ; WX 360 ; N braceleft ; B 125 -155 439 750 ; +C 124 ; WX 600 ; N bar ; B 294 0 372 722 ; +C 125 ; WX 380 ; N braceright ; B 15 -155 330 750 ; +C 126 ; WX 600 ; N asciitilde ; B 91 152 595 332 ; +C 161 ; WX 320 ; N exclamdown ; B 73 -212 301 494 ; +C 162 ; WX 620 ; N cent ; B 148 -29 596 715 ; +C 163 ; WX 620 ; N sterling ; B 4 -13 702 694 ; +C 164 ; WX 20 ; N fraction ; B -228 0 323 681 ; +C 165 ; WX 620 ; N yen ; B 71 0 735 681 ; +C 166 ; WX 620 ; N florin ; B -26 -206 692 728 ; +C 167 ; WX 620 ; N section ; B 38 -181 638 694 ; +C 168 ; WX 620 ; N currency ; B 100 101 605 602 ; +C 169 ; WX 200 ; N quotesingle ; B 99 462 247 694 ; +C 170 ; WX 440 ; N quotedblleft ; B 191 466 493 694 ; +C 171 ; WX 300 ; N guillemotleft ; B 70 99 313 406 ; +C 172 ; WX 180 ; N guilsinglleft ; B 75 99 208 400 ; +C 173 ; WX 180 ; N guilsinglright ; B 70 97 203 403 ; +C 174 ; WX 640 ; N fi ; B -159 -205 709 728 ; +C 175 ; WX 660 ; N fl ; B -159 -205 713 728 ; +C 177 ; WX 500 ; N endash ; B 33 232 561 285 ; +C 178 ; WX 620 ; N dagger ; B 192 -166 570 694 ; +C 179 ; WX 620 ; N daggerdbl ; B 144 -135 566 694 ; +C 180 ; WX 300 ; N periodcentered ; B 137 229 272 364 ; +C 182 ; WX 620 ; N paragraph ; B 112 0 718 675 ; +C 183 ; WX 460 ; N bullet ; B 100 213 444 557 ; +C 184 ; WX 320 ; N quotesinglbase ; B 87 -115 226 112 ; +C 185 ; WX 480 ; N quotedblbase ; B 87 -116 390 112 ; +C 186 ; WX 440 ; N quotedblright ; B 148 466 451 694 ; +C 187 ; WX 300 ; N guillemotright ; B 60 97 303 403 ; +C 188 ; WX 1000 ; N ellipsis ; B 99 -13 900 122 ; +C 189 ; WX 1180 ; N perthousand ; B 56 -8 1199 689 ; +C 191 ; WX 540 ; N questiondown ; B 18 -212 508 496 ; +C 193 ; WX 340 ; N grave ; B 182 538 377 689 ; +C 194 ; WX 320 ; N acute ; B 178 538 373 689 ; +C 195 ; WX 440 ; N circumflex ; B 176 541 479 666 ; +C 196 ; WX 440 ; N tilde ; B 180 569 488 652 ; +C 197 ; WX 440 ; N macron ; B 178 581 484 638 ; +C 198 ; WX 440 ; N breve ; B 191 553 500 661 ; +C 199 ; WX 260 ; N dotaccent ; B 169 552 290 673 ; +C 200 ; WX 420 ; N dieresis ; B 185 552 467 672 ; +C 202 ; WX 300 ; N ring ; B 178 534 334 691 ; +C 203 ; WX 320 ; N cedilla ; B 45 -182 240 0 ; +C 205 ; WX 340 ; N hungarumlaut ; B 167 537 402 718 ; +C 206 ; WX 260 ; N ogonek ; B 51 -169 184 0 ; +C 207 ; WX 440 ; N caron ; B 178 541 481 666 ; +C 208 ; WX 1000 ; N emdash ; B 33 232 1061 285 ; +C 225 ; WX 1220 ; N AE ; B -45 0 1269 681 ; +C 227 ; WX 440 ; N ordfeminine ; B 94 304 513 694 ; +C 232 ; WX 580 ; N Lslash ; B 21 0 656 681 ; +C 233 ; WX 760 ; N Oslash ; B 88 -95 799 778 ; +C 234 ; WX 1180 ; N OE ; B 88 -13 1237 694 ; +C 235 ; WX 400 ; N ordmasculine ; B 94 304 455 694 ; +C 241 ; WX 880 ; N ae ; B 71 -9 918 495 ; +C 245 ; WX 280 ; N dotlessi ; B 88 -9 351 486 ; +C 248 ; WX 340 ; N lslash ; B 50 -9 398 715 ; +C 249 ; WX 540 ; N oslash ; B 65 -49 571 533 ; +C 250 ; WX 900 ; N oe ; B 65 -9 948 495 ; +C 251 ; WX 620 ; N germandbls ; B -121 -110 653 700 ; +C -1 ; WX 720 ; N Udieresis ; B 118 -13 842 859 ; +C -1 ; WX 720 ; N Uacute ; B 118 -13 842 876 ; +C -1 ; WX 640 ; N Scedilla ; B 61 -182 668 694 ; +C -1 ; WX 600 ; N Tcaron ; B 50 0 725 853 ; +C -1 ; WX 640 ; N Scaron ; B 61 -13 668 853 ; +C -1 ; WX 700 ; N Rcaron ; B 21 0 736 853 ; +C -1 ; WX 700 ; N Racute ; B 21 0 736 876 ; +C -1 ; WX 640 ; N Sacute ; B 61 -13 668 876 ; +C -1 ; WX 760 ; N Otilde ; B 88 -13 799 839 ; +C -1 ; WX 620 ; N ucircumflex ; B 88 -9 686 666 ; +C -1 ; WX 760 ; N Ohungarumlaut ; B 88 -13 799 905 ; +C -1 ; WX 720 ; N Uhungarumlaut ; B 118 -13 842 905 ; +C -1 ; WX 660 ; N Yacute ; B 87 0 809 876 ; +C -1 ; WX 740 ; N Eth ; B 21 0 782 681 ; +C -1 ; WX 740 ; N Dcroat ; B 21 0 782 681 ; +C -1 ; WX 580 ; N Zacute ; B 8 0 695 876 ; +C -1 ; WX 720 ; N Uring ; B 118 -13 842 878 ; +C -1 ; WX 560 ; N gbreve ; B 4 -221 581 661 ; +C -1 ; WX 540 ; N eogonek ; B 65 -169 575 495 ; +C -1 ; WX 540 ; N edotaccent ; B 65 -9 575 673 ; +C -1 ; WX 540 ; N ecaron ; B 65 -9 575 666 ; +C -1 ; WX 720 ; N Ugrave ; B 118 -13 842 876 ; +C -1 ; WX 600 ; N Thorn ; B 21 0 656 681 ; +C -1 ; WX 540 ; N eacute ; B 65 -9 575 689 ; +C -1 ; WX 540 ; N edieresis ; B 65 -9 575 672 ; +C -1 ; WX 730 ; N dcaron ; B 65 -9 790 723 ; +C -1 ; WX 480 ; N ccedilla ; B 65 -182 522 495 ; +C -1 ; WX 480 ; N ccaron ; B 65 -9 541 666 ; +C -1 ; WX 480 ; N cacute ; B 65 -9 533 689 ; +C -1 ; WX 620 ; N aogonek ; B 71 -169 686 495 ; +C -1 ; WX 620 ; N aring ; B 71 -9 686 691 ; +C -1 ; WX 620 ; N atilde ; B 71 -9 686 652 ; +C -1 ; WX 620 ; N abreve ; B 71 -9 686 661 ; +C -1 ; WX 540 ; N egrave ; B 65 -9 575 689 ; +C -1 ; WX 620 ; N agrave ; B 71 -9 686 689 ; +C -1 ; WX 620 ; N aacute ; B 71 -9 686 689 ; +C -1 ; WX 620 ; N adieresis ; B 71 -9 686 672 ; +C -1 ; WX 720 ; N Uogonek ; B 118 -169 842 681 ; +C -1 ; WX 620 ; N ugrave ; B 88 -9 686 689 ; +C -1 ; WX 620 ; N uacute ; B 88 -9 686 689 ; +C -1 ; WX 620 ; N udieresis ; B 88 -9 686 672 ; +C -1 ; WX 340 ; N tcaron ; B 88 -9 460 723 ; +C -1 ; WX 540 ; N scommaaccent ; B 65 -279 547 495 ; +C -1 ; WX 580 ; N Zcaron ; B 8 0 695 853 ; +C -1 ; WX 540 ; N ecircumflex ; B 65 -9 575 666 ; +C -1 ; WX 720 ; N Ucircumflex ; B 118 -13 842 853 ; +C -1 ; WX 620 ; N acircumflex ; B 71 -9 686 666 ; +C -1 ; WX 580 ; N Zdotaccent ; B 8 0 695 859 ; +C -1 ; WX 540 ; N scaron ; B 65 -9 547 666 ; +C -1 ; WX 700 ; N Amacron ; B -25 0 720 825 ; +C -1 ; WX 540 ; N sacute ; B 65 -9 547 689 ; +C -1 ; WX 600 ; N Tcommaaccent ; B 50 -281 725 681 ; +C -1 ; WX 660 ; N Ydieresis ; B 87 0 809 859 ; +C -1 ; WX 600 ; N thorn ; B -24 -212 620 715 ; +C -1 ; WX 680 ; N Emacron ; B 21 0 736 825 ; +C -1 ; WX 760 ; N Ograve ; B 88 -13 799 876 ; +C -1 ; WX 760 ; N Oacute ; B 88 -13 799 876 ; +C -1 ; WX 760 ; N Odieresis ; B 88 -13 799 859 ; +C -1 ; WX 720 ; N Ntilde ; B 18 0 823 839 ; +C -1 ; WX 720 ; N Ncaron ; B 18 0 823 853 ; +C -1 ; WX 720 ; N Nacute ; B 18 0 823 876 ; +C -1 ; WX 580 ; N Lcaron ; B 21 0 680 694 ; +C -1 ; WX 580 ; N Lacute ; B 21 0 656 876 ; +C -1 ; WX 320 ; N Idotaccent ; B 21 0 412 859 ; +C -1 ; WX 400 ; N racute ; B 88 0 481 689 ; +C -1 ; WX 320 ; N Icircumflex ; B 21 0 419 853 ; +C -1 ; WX 540 ; N ohungarumlaut ; B 65 -9 572 718 ; +C -1 ; WX 540 ; N otilde ; B 65 -9 572 652 ; +C -1 ; WX 620 ; N Euro ; B 61 -13 685 694 ; +C -1 ; WX 540 ; N ocircumflex ; B 65 -9 572 666 ; +C -1 ; WX 372 ; N onesuperior ; B 114 273 339 681 ; +C -1 ; WX 372 ; N twosuperior ; B 68 273 439 689 ; +C -1 ; WX 372 ; N threesuperior ; B 70 265 439 689 ; +C -1 ; WX 320 ; N Igrave ; B 21 0 412 876 ; +C -1 ; WX 320 ; N Iacute ; B 21 0 412 876 ; +C -1 ; WX 320 ; N Imacron ; B 21 0 454 825 ; +C -1 ; WX 320 ; N Iogonek ; B 21 -169 412 681 ; +C -1 ; WX 320 ; N Idieresis ; B 21 0 417 859 ; +C -1 ; WX 760 ; N Gbreve ; B 88 -13 813 848 ; +C -1 ; WX 720 ; N Umacron ; B 118 -13 842 825 ; +C -1 ; WX 720 ; N Kcommaaccent ; B 21 -281 804 681 ; +C -1 ; WX 540 ; N ograve ; B 65 -9 572 689 ; +C -1 ; WX 640 ; N Scommaaccent ; B 61 -281 668 694 ; +C -1 ; WX 680 ; N Eogonek ; B 21 -169 736 681 ; +C -1 ; WX 540 ; N oacute ; B 65 -9 572 689 ; +C -1 ; WX 680 ; N Edotaccent ; B 21 0 736 859 ; +C -1 ; WX 280 ; N iogonek ; B 88 -169 351 666 ; +C -1 ; WX 560 ; N gcommaaccent ; B 4 -221 581 768 ; +C -1 ; WX 540 ; N odieresis ; B 65 -9 572 672 ; +C -1 ; WX 620 ; N ntilde ; B 88 -9 673 652 ; +C -1 ; WX 620 ; N ncaron ; B 88 -9 673 666 ; +C -1 ; WX 680 ; N Ecaron ; B 21 0 736 853 ; +C -1 ; WX 680 ; N Ecircumflex ; B 21 0 736 853 ; +C -1 ; WX 540 ; N scedilla ; B 65 -182 547 495 ; +C -1 ; WX 400 ; N rcaron ; B 88 0 481 666 ; +C -1 ; WX 680 ; N Egrave ; B 21 0 736 876 ; +C -1 ; WX 680 ; N Eacute ; B 21 0 736 876 ; +C -1 ; WX 760 ; N Gcommaaccent ; B 88 -281 813 694 ; +C -1 ; WX 700 ; N Rcommaaccent ; B 21 -281 736 681 ; +C -1 ; WX 680 ; N Edieresis ; B 21 0 736 859 ; +C -1 ; WX 620 ; N nacute ; B 88 -9 673 689 ; +C -1 ; WX 620 ; N uogonek ; B 88 -169 686 486 ; +C -1 ; WX 620 ; N umacron ; B 88 -9 686 638 ; +C -1 ; WX 740 ; N Dcaron ; B 21 0 782 853 ; +C -1 ; WX 380 ; N lcaron ; B 100 -9 440 723 ; +C -1 ; WX 720 ; N Ccaron ; B 88 -13 746 853 ; +C -1 ; WX 720 ; N Cacute ; B 88 -13 746 876 ; +C -1 ; WX 720 ; N Ccedilla ; B 88 -182 746 694 ; +C -1 ; WX 400 ; N degree ; B 120 380 420 686 ; +C -1 ; WX 700 ; N Aogonek ; B -25 -169 720 681 ; +C -1 ; WX 600 ; N minus ; B 91 310 595 390 ; +C -1 ; WX 600 ; N multiply ; B 91 100 595 604 ; +C -1 ; WX 600 ; N divide ; B 91 88 595 612 ; +C -1 ; WX 700 ; N Aring ; B -25 0 720 878 ; +C -1 ; WX 980 ; N trademark ; B 69 273 965 681 ; +C -1 ; WX 400 ; N rcommaaccent ; B 50 -279 481 495 ; +C -1 ; WX 280 ; N lacute ; B 100 -9 353 876 ; +C -1 ; WX 540 ; N omacron ; B 65 -9 572 638 ; +C -1 ; WX 700 ; N Atilde ; B -25 0 720 839 ; +C -1 ; WX 280 ; N icircumflex ; B 76 -9 379 666 ; +C -1 ; WX 280 ; N igrave ; B 88 -9 351 689 ; +C -1 ; WX 620 ; N ncommaaccent ; B 88 -279 673 495 ; +C -1 ; WX 280 ; N lcommaaccent ; B 40 -279 342 715 ; +C -1 ; WX 600 ; N plusminus ; B 91 0 595 594 ; +C -1 ; WX 930 ; N onehalf ; B 91 0 925 681 ; +C -1 ; WX 930 ; N onequarter ; B 91 0 913 681 ; +C -1 ; WX 930 ; N threequarters ; B 99 0 913 689 ; +C -1 ; WX 280 ; N iacute ; B 88 -9 351 689 ; +C -1 ; WX 700 ; N Abreve ; B -25 0 720 848 ; +C -1 ; WX 600 ; N kcommaaccent ; B 88 -279 657 715 ; +C -1 ; WX 760 ; N Omacron ; B 88 -13 799 825 ; +C -1 ; WX 280 ; N imacron ; B 88 -9 404 638 ; +C -1 ; WX 540 ; N emacron ; B 65 -9 575 638 ; +C -1 ; WX 620 ; N amacron ; B 71 -9 686 638 ; +C -1 ; WX 340 ; N tcommaaccent ; B 70 -279 411 665 ; +C -1 ; WX 600 ; N ydieresis ; B 60 -221 609 672 ; +C -1 ; WX 520 ; N zdotaccent ; B 38 -9 561 673 ; +C -1 ; WX 520 ; N zcaron ; B 38 -9 561 666 ; +C -1 ; WX 520 ; N zacute ; B 38 -9 561 689 ; +C -1 ; WX 600 ; N yacute ; B 60 -221 609 689 ; +C -1 ; WX 620 ; N uhungarumlaut ; B 88 -9 686 718 ; +C -1 ; WX 540 ; N eth ; B 65 -9 642 717 ; +C -1 ; WX 620 ; N uring ; B 88 -9 686 691 ; +C -1 ; WX 760 ; N Ocircumflex ; B 88 -13 799 853 ; +C -1 ; WX 260 ; N commaaccent ; B 30 -279 170 -51 ; +C -1 ; WX 740 ; N copyright ; B 84 0 784 700 ; +C -1 ; WX 740 ; N registered ; B 84 0 784 700 ; +C -1 ; WX 700 ; N Acircumflex ; B -25 0 720 853 ; +C -1 ; WX 280 ; N idieresis ; B 88 -9 377 672 ; +C -1 ; WX 494 ; N lozenge ; B 92 0 540 740 ; +C -1 ; WX 612 ; N Delta ; B 6 0 608 688 ; +C -1 ; WX 600 ; N notequal ; B 91 101 595 610 ; +C -1 ; WX 549 ; N radical ; B 50 -83 591 930 ; +C -1 ; WX 700 ; N Agrave ; B -25 0 720 876 ; +C -1 ; WX 700 ; N Aacute ; B -25 0 720 876 ; +C -1 ; WX 600 ; N lessequal ; B 85 0 589 649 ; +C -1 ; WX 600 ; N greaterequal ; B 91 0 595 649 ; +C -1 ; WX 600 ; N logicalnot ; B 91 80 595 369 ; +C -1 ; WX 713 ; N summation ; B 14 -123 695 752 ; +C -1 ; WX 494 ; N partialdiff ; B 26 -10 462 753 ; +C -1 ; WX 720 ; N Ncommaaccent ; B 18 -281 823 681 ; +C -1 ; WX 640 ; N dcroat ; B 65 -9 724 715 ; +C -1 ; WX 600 ; N brokenbar ; B 294 0 372 722 ; +C -1 ; WX 580 ; N Lcommaaccent ; B 21 -281 656 681 ; +C -1 ; WX 700 ; N Adieresis ; B -25 0 720 859 ; +C -1 ; WX 620 ; N mu ; B 53 -219 686 486 ; +C -1 ; WX 300 ; N .notdef ; B 0 0 0 0 ; +EndCharMetrics +StartKernData +StartKernPairs 998 +KPX A C -52 +KPX A Ccedilla -51 +KPX A G -50 +KPX A O -52 +KPX A Odieresis -52 +KPX A Q -49 +KPX A T -37 +KPX A U -50 +KPX A Uacute -50 +KPX A Ucircumflex -50 +KPX A Udieresis -50 +KPX A Ugrave -50 +KPX A V -90 +KPX A W -82 +KPX A Y -47 +KPX A a -32 +KPX A b -15 +KPX A c -36 +KPX A ccedilla -36 +KPX A comma -11 +KPX A d -28 +KPX A e -37 +KPX A g -30 +KPX A guillemotleft -29 +KPX A guilsinglleft -31 +KPX A hyphen -19 +KPX A o -35 +KPX A period -7 +KPX A q -28 +KPX A quotedblright -83 +KPX A quoteright -83 +KPX A t -26 +KPX A u -31 +KPX A v -32 +KPX A w -32 +KPX A y -35 +KPX Aacute C -53 +KPX Aacute G -52 +KPX Aacute O -54 +KPX Aacute Q -51 +KPX Aacute T -37 +KPX Aacute U -50 +KPX Aacute V -90 +KPX Aacute W -82 +KPX Aacute Y -47 +KPX Aacute a -32 +KPX Aacute b -15 +KPX Aacute c -36 +KPX Aacute comma -11 +KPX Aacute d -28 +KPX Aacute e -37 +KPX Aacute g -30 +KPX Aacute guillemotleft -29 +KPX Aacute guilsinglleft -31 +KPX Aacute hyphen -19 +KPX Aacute o -35 +KPX Aacute period -7 +KPX Aacute q -28 +KPX Aacute quoteright -84 +KPX Aacute t -26 +KPX Aacute u -31 +KPX Aacute v -32 +KPX Aacute w -32 +KPX Aacute y -35 +KPX Acircumflex C -53 +KPX Acircumflex G -52 +KPX Acircumflex O -54 +KPX Acircumflex Q -51 +KPX Acircumflex T -37 +KPX Acircumflex U -50 +KPX Acircumflex V -90 +KPX Acircumflex W -82 +KPX Acircumflex Y -47 +KPX Acircumflex comma -11 +KPX Acircumflex period -7 +KPX Adieresis C -53 +KPX Adieresis G -52 +KPX Adieresis O -54 +KPX Adieresis Q -51 +KPX Adieresis T -37 +KPX Adieresis U -50 +KPX Adieresis V -90 +KPX Adieresis W -82 +KPX Adieresis Y -47 +KPX Adieresis a -32 +KPX Adieresis b -15 +KPX Adieresis c -36 +KPX Adieresis comma -11 +KPX Adieresis d -28 +KPX Adieresis g -30 +KPX Adieresis guillemotleft -29 +KPX Adieresis guilsinglleft -31 +KPX Adieresis hyphen -19 +KPX Adieresis o -35 +KPX Adieresis period -7 +KPX Adieresis q -28 +KPX Adieresis quotedblright -84 +KPX Adieresis quoteright -84 +KPX Adieresis t -26 +KPX Adieresis u -31 +KPX Adieresis v -32 +KPX Adieresis w -32 +KPX Adieresis y -35 +KPX Agrave C -53 +KPX Agrave G -52 +KPX Agrave O -54 +KPX Agrave Q -51 +KPX Agrave T -37 +KPX Agrave U -50 +KPX Agrave V -90 +KPX Agrave W -82 +KPX Agrave Y -47 +KPX Agrave comma -11 +KPX Agrave period -7 +KPX Aring C -53 +KPX Aring G -52 +KPX Aring O -54 +KPX Aring Q -51 +KPX Aring T -37 +KPX Aring U -50 +KPX Aring V -90 +KPX Aring W -82 +KPX Aring Y -47 +KPX Aring a -32 +KPX Aring b -15 +KPX Aring c -36 +KPX Aring comma -11 +KPX Aring d -28 +KPX Aring e -37 +KPX Aring g -30 +KPX Aring guillemotleft -29 +KPX Aring guilsinglleft -31 +KPX Aring hyphen -19 +KPX Aring o -35 +KPX Aring period -7 +KPX Aring q -28 +KPX Aring quotedblright -84 +KPX Aring quoteright -84 +KPX Aring t -26 +KPX Aring u -31 +KPX Aring v -32 +KPX Aring w -32 +KPX Aring y -35 +KPX Atilde C -53 +KPX Atilde G -52 +KPX Atilde O -54 +KPX Atilde Q -51 +KPX Atilde T -37 +KPX Atilde U -50 +KPX Atilde V -90 +KPX Atilde W -82 +KPX Atilde Y -47 +KPX Atilde comma -11 +KPX Atilde period -7 +KPX B A -20 +KPX B AE -10 +KPX B Aacute -20 +KPX B Acircumflex -20 +KPX B Adieresis -20 +KPX B Aring -20 +KPX B Atilde -20 +KPX B O -9 +KPX B OE -10 +KPX B Oacute -9 +KPX B Ocircumflex -9 +KPX B Odieresis -9 +KPX B Ograve -9 +KPX B Oslash -8 +KPX B V -28 +KPX B W -28 +KPX B Y -28 +KPX C A -25 +KPX C AE -14 +KPX C Aacute -25 +KPX C Adieresis -25 +KPX C Aring -25 +KPX C H -17 +KPX C K -17 +KPX C O -12 +KPX C Oacute -12 +KPX C Odieresis -12 +KPX Ccedilla A -22 +KPX D A -42 +KPX D Aacute -42 +KPX D Acircumflex -42 +KPX D Adieresis -42 +KPX D Agrave -42 +KPX D Aring -42 +KPX D Atilde -42 +KPX D J 21 +KPX D T 16 +KPX D V -41 +KPX D W -33 +KPX D X -42 +KPX D Y -45 +KPX F A -69 +KPX F Aacute -69 +KPX F Acircumflex -69 +KPX F Adieresis -69 +KPX F Agrave -69 +KPX F Aring -69 +KPX F Atilde -69 +KPX F J -36 +KPX F O 12 +KPX F Odieresis 12 +KPX F a -37 +KPX F aacute -37 +KPX F adieresis -37 +KPX F ae -33 +KPX F aring -37 +KPX F comma -110 +KPX F e -43 +KPX F eacute -43 +KPX F hyphen -30 +KPX F i 21 +KPX F j 30 +KPX F o -30 +KPX F oacute -30 +KPX F odieresis -30 +KPX F oe -27 +KPX F oslash -30 +KPX F period -107 +KPX F r 26 +KPX F u 26 +KPX G A -4 +KPX G AE 5 +KPX G Aacute -4 +KPX G Acircumflex -4 +KPX G Adieresis -4 +KPX G Agrave -4 +KPX G Aring -4 +KPX G Atilde -4 +KPX G T -13 +KPX G V -40 +KPX G W -40 +KPX G Y -40 +KPX J A -50 +KPX J AE -39 +KPX J Adieresis -50 +KPX J Aring -50 +KPX K C -52 +KPX K G -50 +KPX K O -52 +KPX K OE -52 +KPX K Oacute -52 +KPX K Odieresis -52 +KPX K S 2 +KPX K T 5 +KPX K a -25 +KPX K adieresis -25 +KPX K ae -7 +KPX K aring -25 +KPX K e -29 +KPX K hyphen -49 +KPX K o -29 +KPX K oacute -29 +KPX K odieresis -29 +KPX K u -23 +KPX K udieresis -23 +KPX K y -28 +KPX L A 32 +KPX L AE 42 +KPX L Aacute 32 +KPX L Adieresis 32 +KPX L Aring 32 +KPX L C 15 +KPX L Ccedilla 15 +KPX L G 15 +KPX L O 15 +KPX L Oacute 15 +KPX L Ocircumflex 15 +KPX L Odieresis 15 +KPX L Ograve 15 +KPX L Otilde 15 +KPX L S 30 +KPX L T -50 +KPX L U 1 +KPX L Udieresis 1 +KPX L V -61 +KPX L W -52 +KPX L Y -59 +KPX L hyphen 52 +KPX L quotedblright -83 +KPX L quoteright -83 +KPX L u 0 +KPX L udieresis -4 +KPX L y -1 +KPX N A -16 +KPX N AE -5 +KPX N Aacute -16 +KPX N Adieresis -16 +KPX N Aring -16 +KPX N C -21 +KPX N Ccedilla -20 +KPX N G -19 +KPX N O -21 +KPX N Oacute -21 +KPX N Odieresis -21 +KPX N a -27 +KPX N aacute -28 +KPX N adieresis -28 +KPX N ae -41 +KPX N aring -28 +KPX N comma -32 +KPX N e -29 +KPX N eacute -31 +KPX N o -24 +KPX N oacute -26 +KPX N odieresis -26 +KPX N oslash -24 +KPX N period -29 +KPX N u -33 +KPX N udieresis -35 +KPX O A -49 +KPX O AE -38 +KPX O Aacute -49 +KPX O Adieresis -49 +KPX O Aring -49 +KPX O T 14 +KPX O V -44 +KPX O W -36 +KPX O X -46 +KPX O Y -49 +KPX Oacute A -49 +KPX Oacute T 14 +KPX Oacute V -44 +KPX Oacute W -36 +KPX Oacute Y -49 +KPX Ocircumflex T 14 +KPX Ocircumflex V -44 +KPX Ocircumflex Y -49 +KPX Odieresis A -49 +KPX Odieresis T 14 +KPX Odieresis V -44 +KPX Odieresis W -36 +KPX Odieresis X -46 +KPX Odieresis Y -49 +KPX Ograve T 14 +KPX Ograve V -44 +KPX Ograve Y -49 +KPX Oslash A -49 +KPX Otilde T 14 +KPX Otilde V -44 +KPX Otilde Y -49 +KPX P A -68 +KPX P AE -97 +KPX P Aacute -68 +KPX P Adieresis -68 +KPX P Aring -68 +KPX P J -28 +KPX P a -25 +KPX P aacute -25 +KPX P adieresis -25 +KPX P ae -30 +KPX P aring -25 +KPX P comma -103 +KPX P e -28 +KPX P eacute -28 +KPX P hyphen -14 +KPX P o -20 +KPX P oacute -20 +KPX P odieresis -20 +KPX P oe -17 +KPX P oslash -20 +KPX P period -101 +KPX R C -20 +KPX R Ccedilla -20 +KPX R G -19 +KPX R O -21 +KPX R OE -21 +KPX R Oacute -21 +KPX R Odieresis -21 +KPX R T 14 +KPX R U -21 +KPX R Udieresis -21 +KPX R V -25 +KPX R W -25 +KPX R Y -25 +KPX R a -24 +KPX R aacute -24 +KPX R adieresis -24 +KPX R ae -6 +KPX R aring -24 +KPX R e -28 +KPX R eacute -29 +KPX R hyphen -35 +KPX R o -23 +KPX R oacute -24 +KPX R odieresis -24 +KPX R oe -22 +KPX R u -15 +KPX R uacute -15 +KPX R udieresis -15 +KPX R y -11 +KPX S A -13 +KPX S AE -2 +KPX S Aacute -13 +KPX S Adieresis -13 +KPX S Aring -13 +KPX S T 13 +KPX S V -17 +KPX S W -17 +KPX S Y -17 +KPX S t -8 +KPX T A -36 +KPX T AE -26 +KPX T Aacute -36 +KPX T Acircumflex -36 +KPX T Adieresis -36 +KPX T Agrave -36 +KPX T Aring -36 +KPX T Atilde -36 +KPX T C 14 +KPX T G 15 +KPX T J -51 +KPX T O 13 +KPX T OE 11 +KPX T Oacute 13 +KPX T Ocircumflex 13 +KPX T Odieresis 13 +KPX T Ograve 13 +KPX T Oslash 14 +KPX T Otilde 13 +KPX T S 18 +KPX T V 33 +KPX T W 33 +KPX T Y 33 +KPX T a -53 +KPX T ae -52 +KPX T c -54 +KPX T colon -7 +KPX T comma -95 +KPX T e -69 +KPX T g -33 +KPX T guillemotleft -86 +KPX T guilsinglleft -89 +KPX T hyphen -75 +KPX T i -21 +KPX T j 8 +KPX T o -48 +KPX T oslash -48 +KPX T period -92 +KPX T r -15 +KPX T s -37 +KPX T semicolon -7 +KPX T u -102 +KPX T v -15 +KPX T w -15 +KPX T y 12 +KPX U A -42 +KPX U AE -31 +KPX U Aacute -42 +KPX U Acircumflex -42 +KPX U Adieresis -42 +KPX U Aring -42 +KPX U Atilde -42 +KPX U comma -39 +KPX U m -26 +KPX U n -26 +KPX U p -31 +KPX U period -36 +KPX U r -26 +KPX Uacute A -42 +KPX Uacute comma -39 +KPX Uacute m -26 +KPX Uacute n -26 +KPX Uacute p -31 +KPX Uacute period -36 +KPX Uacute r -26 +KPX Ucircumflex A -42 +KPX Udieresis A -42 +KPX Udieresis b 22 +KPX Udieresis comma -39 +KPX Udieresis m -26 +KPX Udieresis n -26 +KPX Udieresis p -31 +KPX Udieresis period -36 +KPX Udieresis r -26 +KPX Ugrave A -42 +KPX V A -99 +KPX V AE -106 +KPX V Aacute -99 +KPX V Acircumflex -99 +KPX V Adieresis -99 +KPX V Agrave -99 +KPX V Aring -99 +KPX V Atilde -99 +KPX V C -54 +KPX V G -51 +KPX V O -56 +KPX V Oacute -56 +KPX V Ocircumflex -56 +KPX V Odieresis -56 +KPX V Ograve -56 +KPX V Oslash -55 +KPX V Otilde -56 +KPX V S -22 +KPX V T 30 +KPX V a -84 +KPX V ae -99 +KPX V colon -85 +KPX V comma -116 +KPX V e -87 +KPX V g -77 +KPX V guillemotleft -70 +KPX V guilsinglleft -73 +KPX V hyphen -58 +KPX V i -25 +KPX V o -81 +KPX V oslash -81 +KPX V period -114 +KPX V r -50 +KPX V semicolon -85 +KPX V u -50 +KPX V y -45 +KPX W A -89 +KPX W AE -86 +KPX W Aacute -89 +KPX W Acircumflex -89 +KPX W Adieresis -89 +KPX W Agrave -89 +KPX W Aring -89 +KPX W Atilde -89 +KPX W C -49 +KPX W G -47 +KPX W O -49 +KPX W Oacute -49 +KPX W Ocircumflex -49 +KPX W Odieresis -49 +KPX W Ograve -49 +KPX W Oslash -48 +KPX W Otilde -49 +KPX W S -22 +KPX W T 30 +KPX W a -71 +KPX W ae -86 +KPX W colon -78 +KPX W comma -99 +KPX W e -73 +KPX W g -64 +KPX W guillemotleft -57 +KPX W guilsinglleft -59 +KPX W hyphen -45 +KPX W i -25 +KPX W o -68 +KPX W oslash -68 +KPX W period -96 +KPX W r -43 +KPX W semicolon -78 +KPX W u -43 +KPX W y -39 +KPX X C -52 +KPX X O -53 +KPX X Odieresis -53 +KPX X Q -50 +KPX X a -28 +KPX X e -33 +KPX X hyphen -57 +KPX X o -32 +KPX X u -27 +KPX X y -31 +KPX Y A -57 +KPX Y AE -46 +KPX Y Aacute -57 +KPX Y Acircumflex -57 +KPX Y Adieresis -57 +KPX Y Agrave -57 +KPX Y Aring -57 +KPX Y Atilde -57 +KPX Y C -47 +KPX Y G -44 +KPX Y O -49 +KPX Y Oacute -49 +KPX Y Ocircumflex -49 +KPX Y Odieresis -49 +KPX Y Ograve -49 +KPX Y Oslash -48 +KPX Y Otilde -49 +KPX Y S -15 +KPX Y T 37 +KPX Y a -103 +KPX Y ae -116 +KPX Y colon -102 +KPX Y comma -116 +KPX Y e -105 +KPX Y g -95 +KPX Y guillemotleft -101 +KPX Y guilsinglleft -103 +KPX Y hyphen -94 +KPX Y i -18 +KPX Y o -100 +KPX Y oslash -99 +KPX Y p -73 +KPX Y period -113 +KPX Y semicolon -102 +KPX Y u -68 +KPX Y v -68 +KPX Z v -6 +KPX Z y -4 +KPX a j -2 +KPX a quoteright -32 +KPX a v -7 +KPX a w -6 +KPX a y -7 +KPX aacute v -7 +KPX aacute w -6 +KPX aacute y -7 +KPX adieresis v -7 +KPX adieresis w -6 +KPX adieresis y -7 +KPX ae v -11 +KPX ae w -14 +KPX ae y -15 +KPX agrave v -7 +KPX agrave w -6 +KPX agrave y -7 +KPX aring v -7 +KPX aring w -6 +KPX aring y -7 +KPX b v -22 +KPX b w -22 +KPX b y -21 +KPX c h -26 +KPX c k -27 +KPX comma one -90 +KPX comma quotedblright -51 +KPX comma quoteright -51 +KPX e quoteright -7 +KPX e t -22 +KPX e v -12 +KPX e w -14 +KPX e x -1 +KPX e y -16 +KPX eacute v -12 +KPX eacute w -14 +KPX eacute y -16 +KPX ecircumflex v -12 +KPX ecircumflex w -14 +KPX ecircumflex y -16 +KPX eight four -12 +KPX eight one -97 +KPX eight seven -30 +KPX f a -38 +KPX f aacute -39 +KPX f adieresis -21 +KPX f ae -52 +KPX f aring -39 +KPX f e -40 +KPX f eacute -42 +KPX f f 17 +KPX f i 10 +KPX f j 31 +KPX f l 69 +KPX f o -35 +KPX f oacute -37 +KPX f odieresis -9 +KPX f oe -35 +KPX f oslash -35 +KPX f quoteright 44 +KPX f s -48 +KPX f t 7 +KPX five four -17 +KPX five one -117 +KPX five seven -68 +KPX four four -3 +KPX four one -86 +KPX four seven -67 +KPX g a -16 +KPX g adieresis -18 +KPX g ae -31 +KPX g aring -18 +KPX g e -18 +KPX g eacute -19 +KPX g l -23 +KPX g oacute -15 +KPX g odieresis -15 +KPX g r -21 +KPX guillemotright A -35 +KPX guillemotright AE -82 +KPX guillemotright Aacute -35 +KPX guillemotright Adieresis -35 +KPX guillemotright Aring -35 +KPX guillemotright T -91 +KPX guillemotright V -66 +KPX guillemotright W -56 +KPX guillemotright Y -93 +KPX guilsinglright A -25 +KPX guilsinglright AE -72 +KPX guilsinglright Aacute -25 +KPX guilsinglright Adieresis -25 +KPX guilsinglright Aring -25 +KPX guilsinglright T -81 +KPX guilsinglright V -56 +KPX guilsinglright W -46 +KPX guilsinglright Y -83 +KPX h quoteright -41 +KPX h y -7 +KPX hyphen A -16 +KPX hyphen AE -64 +KPX hyphen Aacute -16 +KPX hyphen Adieresis -16 +KPX hyphen Aring -16 +KPX hyphen T -70 +KPX hyphen V -44 +KPX hyphen W -34 +KPX hyphen Y -77 +KPX i T -6 +KPX i j 0 +KPX k a -17 +KPX k aacute -17 +KPX k adieresis -17 +KPX k ae -3 +KPX k aring -17 +KPX k comma -9 +KPX k e -19 +KPX k eacute -19 +KPX k g -14 +KPX k hyphen -74 +KPX k o -19 +KPX k oacute -19 +KPX k odieresis -19 +KPX k period -7 +KPX k s -3 +KPX k u 1 +KPX k udieresis 1 +KPX l v -9 +KPX l y -8 +KPX m p -1 +KPX m v -6 +KPX m w -5 +KPX m y -7 +KPX n T -35 +KPX n p -11 +KPX n quoteright -37 +KPX n v -14 +KPX n w -13 +KPX n y -14 +KPX nine four -20 +KPX nine one -100 +KPX nine seven -33 +KPX o T -65 +KPX o quoteright -19 +KPX o t -16 +KPX o v -18 +KPX o w -17 +KPX o x -17 +KPX o y -16 +KPX oacute v -18 +KPX oacute w -17 +KPX oacute y -16 +KPX ocircumflex t -17 +KPX odieresis t -17 +KPX odieresis v -18 +KPX odieresis w -17 +KPX odieresis x -17 +KPX odieresis y -16 +KPX ograve v -18 +KPX ograve w -17 +KPX ograve y -16 +KPX one comma -85 +KPX one eight -87 +KPX one five -88 +KPX one four -113 +KPX one nine -86 +KPX one one -113 +KPX one period -83 +KPX one seven -120 +KPX one six -89 +KPX one three -81 +KPX one two -69 +KPX one zero -85 +KPX p t -21 +KPX p y -21 +KPX period one -92 +KPX period quotedblright -49 +KPX period quoteright -49 +KPX q c -12 +KPX q u -18 +KPX quotedblbase A -10 +KPX quotedblbase AE 0 +KPX quotedblbase T -93 +KPX quotedblbase V -108 +KPX quotedblbase W -94 +KPX quotedblbase Y -103 +KPX quotedblleft A -83 +KPX quotedblleft AE -204 +KPX quotedblleft Aacute -84 +KPX quotedblleft Adieresis -84 +KPX quotedblleft Aring -84 +KPX quotedblleft T 24 +KPX quotedblleft V 11 +KPX quotedblleft W 14 +KPX quotedblleft Y 6 +KPX quotedblright A -107 +KPX quotedblright AE -231 +KPX quotedblright Aacute -108 +KPX quotedblright Adieresis -108 +KPX quotedblright Aring -108 +KPX quotedblright T 0 +KPX quotedblright V -10 +KPX quotedblright W -7 +KPX quotedblright Y -13 +KPX quoteleft A -85 +KPX quoteleft AE -206 +KPX quoteleft Aacute -86 +KPX quoteleft Adieresis -86 +KPX quoteleft Aring -86 +KPX quoteleft T 23 +KPX quoteleft V 9 +KPX quoteleft W 13 +KPX quoteleft Y 5 +KPX quoteright A -109 +KPX quoteright AE -232 +KPX quoteright Aacute -110 +KPX quoteright Adieresis -110 +KPX quoteright Aring -110 +KPX quoteright comma -85 +KPX quoteright d -62 +KPX quoteright o -56 +KPX quoteright period -82 +KPX quoteright r -44 +KPX quoteright s -55 +KPX quoteright t -42 +KPX quoteright v -43 +KPX quoteright w -44 +KPX quoteright y -40 +KPX r a -27 +KPX r aacute -27 +KPX r acircumflex -27 +KPX r adieresis -27 +KPX r ae -28 +KPX r agrave -27 +KPX r aring -27 +KPX r c -25 +KPX r ccedilla -25 +KPX r colon -18 +KPX r comma -99 +KPX r d -24 +KPX r e -33 +KPX r eacute -33 +KPX r ecircumflex -33 +KPX r egrave -33 +KPX r f -6 +KPX r g -16 +KPX r h -26 +KPX r hyphen -71 +KPX r i 13 +KPX r j 11 +KPX r k -26 +KPX r l -22 +KPX r m 13 +KPX r n 13 +KPX r o -21 +KPX r oacute -21 +KPX r ocircumflex -21 +KPX r odieresis -21 +KPX r oe -19 +KPX r ograve -21 +KPX r oslash -22 +KPX r p 7 +KPX r period -97 +KPX r q -21 +KPX r quoteright -1 +KPX r r 13 +KPX r s -19 +KPX r semicolon -18 +KPX r t 13 +KPX r u 13 +KPX r v 13 +KPX r w 13 +KPX r x -6 +KPX r y 15 +KPX r z -1 +KPX s quoteright -31 +KPX s t -34 +KPX seven colon -103 +KPX seven comma -129 +KPX seven eight -63 +KPX seven five -48 +KPX seven four -117 +KPX seven one -83 +KPX seven period -126 +KPX seven seven -42 +KPX seven six -76 +KPX seven three -50 +KPX seven two -56 +KPX six four -10 +KPX six one -94 +KPX six seven -36 +KPX t S 1 +KPX t a -14 +KPX t aacute -14 +KPX t adieresis -14 +KPX t ae -2 +KPX t aring -14 +KPX t colon -8 +KPX t e -17 +KPX t eacute -17 +KPX t h -12 +KPX t o -16 +KPX t oacute -16 +KPX t odieresis -16 +KPX t quoteright -18 +KPX t semicolon -10 +KPX three four -20 +KPX three one -108 +KPX three seven -46 +KPX two four -22 +KPX two one -91 +KPX two seven -39 +KPX u quoteright -30 +KPX v a -11 +KPX v aacute -11 +KPX v acircumflex -11 +KPX v adieresis -11 +KPX v ae -30 +KPX v agrave -11 +KPX v aring -11 +KPX v atilde -11 +KPX v c -9 +KPX v colon -37 +KPX v comma -42 +KPX v e -13 +KPX v eacute -13 +KPX v ecircumflex -13 +KPX v egrave -13 +KPX v g -6 +KPX v hyphen 17 +KPX v l -20 +KPX v o -8 +KPX v oacute -8 +KPX v odieresis -8 +KPX v ograve -8 +KPX v oslash -7 +KPX v period -39 +KPX v s -25 +KPX v semicolon -39 +KPX w a -17 +KPX w aacute -17 +KPX w acircumflex -17 +KPX w adieresis -17 +KPX w ae -36 +KPX w agrave -17 +KPX w aring -17 +KPX w atilde -17 +KPX w c -15 +KPX w colon -42 +KPX w comma -48 +KPX w e -18 +KPX w eacute -18 +KPX w ecircumflex -18 +KPX w egrave -18 +KPX w g -11 +KPX w hyphen 11 +KPX w l -25 +KPX w o -14 +KPX w oacute -14 +KPX w odieresis -14 +KPX w ograve -14 +KPX w oslash -13 +KPX w period -45 +KPX w s -30 +KPX w semicolon -45 +KPX x a -12 +KPX x c -15 +KPX x e -15 +KPX x eacute -15 +KPX x o -14 +KPX x q -10 +KPX y a -22 +KPX y aacute -22 +KPX y acircumflex -22 +KPX y adieresis -22 +KPX y ae -37 +KPX y agrave -22 +KPX y aring -22 +KPX y atilde -22 +KPX y c -20 +KPX y colon -42 +KPX y comma -32 +KPX y e -23 +KPX y eacute -23 +KPX y ecircumflex -23 +KPX y egrave -23 +KPX y g -15 +KPX y hyphen -3 +KPX y l -28 +KPX y o -19 +KPX y oacute -19 +KPX y odieresis -19 +KPX y ograve -19 +KPX y oslash -18 +KPX y period -29 +KPX y s -32 +KPX y semicolon -45 +KPX zero four -14 +KPX zero one -99 +KPX zero seven -38 +EndKernPairs +EndKernData +EndFontMetrics diff --git a/Master/xemtex/gsfonts/b018032l.pfb b/Master/xemtex/gsfonts/b018032l.pfb new file mode 100644 index 00000000000..49605979b2e Binary files /dev/null and b/Master/xemtex/gsfonts/b018032l.pfb differ diff --git a/Master/xemtex/gsfonts/b018032l.pfm b/Master/xemtex/gsfonts/b018032l.pfm new file mode 100644 index 00000000000..92d1cdf3749 Binary files /dev/null and b/Master/xemtex/gsfonts/b018032l.pfm differ diff --git a/Master/xemtex/gsfonts/b018035l.afm b/Master/xemtex/gsfonts/b018035l.afm new file mode 100644 index 00000000000..c6e0cc1ed14 --- /dev/null +++ b/Master/xemtex/gsfonts/b018035l.afm @@ -0,0 +1,1341 @@ +StartFontMetrics 3.0 +Comment Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development +Comment Creation Date: 12/22/1999 +Comment See the file PUBLIC (Aladdin Free Public License) for license conditions. +FontName URWBookmanL-DemiBoldItal +FullName URW Bookman L Demi Bold Italic +FamilyName URW Bookman L +Weight Bold +ItalicAngle -10.0 +IsFixedPitch false +UnderlinePosition -125 +UnderlineThickness 60 +Version 1.05 +Notice (URW)++,Copyright 1999 by (URW)++ Design & Development +EncodingScheme AdobeStandardEncoding +FontBBox -231 -332 1333 927 +CapHeight 681 +XHeight 511 +Descender -213 +Ascender 732 +StartCharMetrics 316 +C 32 ; WX 340 ; N space ; B 0 0 0 0 ; +C 33 ; WX 320 ; N exclam ; B 86 -13 366 694 ; +C 34 ; WX 380 ; N quotedbl ; B 140 352 507 681 ; +C 35 ; WX 680 ; N numbersign ; B 157 0 649 681 ; +C 36 ; WX 680 ; N dollar ; B 45 -164 697 791 ; +C 37 ; WX 880 ; N percent ; B 106 -8 899 689 ; +C 38 ; WX 980 ; N ampersand ; B 48 -13 1016 694 ; +C 39 ; WX 320 ; N quoteright ; B 171 416 349 694 ; +C 40 ; WX 260 ; N parenleft ; B 31 -145 388 710 ; +C 41 ; WX 260 ; N parenright ; B -35 -148 322 710 ; +C 42 ; WX 460 ; N asterisk ; B 126 345 508 699 ; +C 43 ; WX 600 ; N plus ; B 91 107 595 593 ; +C 44 ; WX 340 ; N comma ; B 100 -130 298 179 ; +C 45 ; WX 280 ; N hyphen ; B 59 224 319 314 ; +C 46 ; WX 340 ; N period ; B 106 -13 296 172 ; +C 47 ; WX 360 ; N slash ; B 9 -145 502 710 ; +C 48 ; WX 680 ; N zero ; B 87 -13 703 694 ; +C 49 ; WX 680 ; N one ; B 123 0 565 681 ; +C 50 ; WX 680 ; N two ; B 67 0 674 694 ; +C 51 ; WX 680 ; N three ; B 72 -13 683 694 ; +C 52 ; WX 680 ; N four ; B 63 0 708 681 ; +C 53 ; WX 680 ; N five ; B 78 -13 669 681 ; +C 54 ; WX 680 ; N six ; B 88 -13 704 694 ; +C 55 ; WX 680 ; N seven ; B 123 0 739 681 ; +C 56 ; WX 680 ; N eight ; B 68 -13 686 694 ; +C 57 ; WX 680 ; N nine ; B 71 -13 712 694 ; +C 58 ; WX 340 ; N colon ; B 106 -13 356 520 ; +C 59 ; WX 340 ; N semicolon ; B 100 -130 352 520 ; +C 60 ; WX 620 ; N less ; B 79 56 588 643 ; +C 61 ; WX 600 ; N equal ; B 91 198 595 502 ; +C 62 ; WX 620 ; N greater ; B 89 56 598 643 ; +C 63 ; WX 620 ; N question ; B 145 -13 668 694 ; +C 64 ; WX 780 ; N at ; B 80 -13 790 700 ; +C 65 ; WX 720 ; N A ; B -27 0 769 681 ; +C 66 ; WX 720 ; N B ; B 14 0 762 681 ; +C 67 ; WX 700 ; N C ; B 78 -13 754 694 ; +C 68 ; WX 760 ; N D ; B 14 0 805 681 ; +C 69 ; WX 720 ; N E ; B 14 0 777 681 ; +C 70 ; WX 660 ; N F ; B 14 0 763 681 ; +C 71 ; WX 760 ; N G ; B 77 -13 828 694 ; +C 72 ; WX 800 ; N H ; B 14 0 910 681 ; +C 73 ; WX 380 ; N I ; B 14 0 485 681 ; +C 74 ; WX 620 ; N J ; B 8 -13 721 681 ; +C 75 ; WX 780 ; N K ; B 14 0 879 681 ; +C 76 ; WX 640 ; N L ; B 14 0 725 681 ; +C 77 ; WX 860 ; N M ; B 14 0 970 681 ; +C 78 ; WX 740 ; N N ; B 14 0 845 681 ; +C 79 ; WX 760 ; N O ; B 78 -13 806 694 ; +C 80 ; WX 640 ; N P ; B -6 0 724 681 ; +C 81 ; WX 760 ; N Q ; B 37 -218 805 694 ; +C 82 ; WX 740 ; N R ; B 14 0 765 681 ; +C 83 ; WX 700 ; N S ; B 59 -13 731 694 ; +C 84 ; WX 700 ; N T ; B 70 0 802 681 ; +C 85 ; WX 740 ; N U ; B 112 -13 855 681 ; +C 86 ; WX 660 ; N V ; B 72 0 819 681 ; +C 87 ; WX 1000 ; N W ; B 72 0 1090 681 ; +C 88 ; WX 740 ; N X ; B -7 0 835 681 ; +C 89 ; WX 660 ; N Y ; B 72 0 817 681 ; +C 90 ; WX 680 ; N Z ; B 23 0 740 681 ; +C 91 ; WX 260 ; N bracketleft ; B 9 -145 374 710 ; +C 92 ; WX 580 ; N backslash ; B 73 0 575 741 ; +C 93 ; WX 260 ; N bracketright ; B -18 -145 347 710 ; +C 94 ; WX 620 ; N asciicircum ; B 92 318 594 722 ; +C 95 ; WX 500 ; N underscore ; B 0 -155 500 -95 ; +C 96 ; WX 320 ; N quoteleft ; B 155 416 333 694 ; +C 97 ; WX 680 ; N a ; B 84 -9 735 520 ; +C 98 ; WX 600 ; N b ; B 57 -9 633 732 ; +C 99 ; WX 560 ; N c ; B 58 -9 597 520 ; +C 100 ; WX 680 ; N d ; B 60 -9 714 732 ; +C 101 ; WX 560 ; N e ; B 59 -9 596 520 ; +C 102 ; WX 420 ; N f ; B -192 -208 641 745 ; +C 103 ; WX 620 ; N g ; B 21 -208 669 520 ; +C 104 ; WX 700 ; N h ; B 93 -9 736 732 ; +C 105 ; WX 380 ; N i ; B 83 -9 420 762 ; +C 106 ; WX 320 ; N j ; B -160 -208 392 762 ; +C 107 ; WX 700 ; N k ; B 97 -9 732 732 ; +C 108 ; WX 380 ; N l ; B 109 -9 410 732 ; +C 109 ; WX 960 ; N m ; B 83 -9 996 520 ; +C 110 ; WX 680 ; N n ; B 83 -9 715 520 ; +C 111 ; WX 600 ; N o ; B 59 -9 627 520 ; +C 112 ; WX 660 ; N p ; B -24 -213 682 520 ; +C 113 ; WX 620 ; N q ; B 60 -213 640 520 ; +C 114 ; WX 500 ; N r ; B 84 0 582 520 ; +C 115 ; WX 540 ; N s ; B 32 -9 573 520 ; +C 116 ; WX 440 ; N t ; B 106 -9 488 659 ; +C 117 ; WX 680 ; N u ; B 83 -9 720 511 ; +C 118 ; WX 540 ; N v ; B 56 -9 572 520 ; +C 119 ; WX 860 ; N w ; B 56 -9 891 520 ; +C 120 ; WX 620 ; N x ; B 10 -9 654 520 ; +C 121 ; WX 600 ; N y ; B 25 -204 642 511 ; +C 122 ; WX 560 ; N z ; B 36 -9 586 520 ; +C 123 ; WX 300 ; N braceleft ; B 53 -145 409 710 ; +C 124 ; WX 620 ; N bar ; B 303 0 422 722 ; +C 125 ; WX 300 ; N braceright ; B -4 -145 352 710 ; +C 126 ; WX 620 ; N asciitilde ; B 101 251 605 443 ; +C 161 ; WX 320 ; N exclamdown ; B 64 -187 344 520 ; +C 162 ; WX 680 ; N cent ; B 161 25 616 718 ; +C 163 ; WX 680 ; N sterling ; B 0 -13 787 694 ; +C 164 ; WX 120 ; N fraction ; B -144 0 382 681 ; +C 165 ; WX 680 ; N yen ; B 92 0 782 681 ; +C 166 ; WX 680 ; N florin ; B -28 -208 743 745 ; +C 167 ; WX 620 ; N section ; B 46 -147 638 694 ; +C 168 ; WX 680 ; N currency ; B 148 109 637 595 ; +C 169 ; WX 180 ; N quotesingle ; B 126 352 295 681 ; +C 170 ; WX 520 ; N quotedblleft ; B 156 416 545 694 ; +C 171 ; WX 380 ; N guillemotleft ; B 62 57 406 477 ; +C 172 ; WX 220 ; N guilsinglleft ; B 62 57 249 477 ; +C 173 ; WX 220 ; N guilsinglright ; B 62 57 249 477 ; +C 174 ; WX 820 ; N fi ; B -191 -208 850 745 ; +C 175 ; WX 820 ; N fl ; B -191 -208 850 745 ; +C 177 ; WX 500 ; N endash ; B 40 224 573 314 ; +C 178 ; WX 420 ; N dagger ; B 89 -134 466 694 ; +C 179 ; WX 420 ; N daggerdbl ; B 79 -147 486 694 ; +C 180 ; WX 340 ; N periodcentered ; B 126 173 316 358 ; +C 182 ; WX 680 ; N paragraph ; B 70 -201 726 681 ; +C 183 ; WX 360 ; N bullet ; B 60 213 404 557 ; +C 184 ; WX 300 ; N quotesinglbase ; B 106 -117 284 161 ; +C 185 ; WX 520 ; N quotedblbase ; B 106 -117 495 161 ; +C 186 ; WX 520 ; N quotedblright ; B 171 416 560 694 ; +C 187 ; WX 380 ; N guillemotright ; B 62 57 406 477 ; +C 188 ; WX 1000 ; N ellipsis ; B 86 -13 942 172 ; +C 189 ; WX 1360 ; N perthousand ; B 106 -8 1333 689 ; +C 191 ; WX 620 ; N questiondown ; B 83 -183 606 524 ; +C 193 ; WX 380 ; N grave ; B 193 561 424 748 ; +C 194 ; WX 340 ; N acute ; B 176 561 407 748 ; +C 195 ; WX 480 ; N circumflex ; B 183 564 523 734 ; +C 196 ; WX 480 ; N tilde ; B 178 580 533 703 ; +C 197 ; WX 480 ; N macron ; B 177 603 531 691 ; +C 198 ; WX 460 ; N breve ; B 177 570 516 710 ; +C 199 ; WX 380 ; N dotaccent ; B 180 566 345 732 ; +C 200 ; WX 520 ; N dieresis ; B 180 569 569 729 ; +C 202 ; WX 360 ; N ring ; B 185 553 406 769 ; +C 203 ; WX 360 ; N cedilla ; B 68 -215 289 0 ; +C 205 ; WX 560 ; N hungarumlaut ; B 181 560 616 751 ; +C 206 ; WX 320 ; N ogonek ; B 68 -179 253 0 ; +C 207 ; WX 480 ; N caron ; B 183 564 523 734 ; +C 208 ; WX 1000 ; N emdash ; B 40 224 1073 314 ; +C 225 ; WX 1140 ; N AE ; B -27 0 1207 681 ; +C 227 ; WX 440 ; N ordfeminine ; B 55 300 495 698 ; +C 232 ; WX 640 ; N Lslash ; B 14 0 724 681 ; +C 233 ; WX 760 ; N Oslash ; B 21 -29 847 725 ; +C 234 ; WX 1180 ; N OE ; B 94 -13 1245 694 ; +C 235 ; WX 440 ; N ordmasculine ; B 47 300 467 698 ; +C 241 ; WX 880 ; N ae ; B 39 -9 913 520 ; +C 245 ; WX 380 ; N dotlessi ; B 83 -9 420 511 ; +C 248 ; WX 380 ; N lslash ; B 63 -9 412 732 ; +C 249 ; WX 600 ; N oslash ; B 17 -54 661 576 ; +C 250 ; WX 920 ; N oe ; B 48 -9 961 520 ; +C 251 ; WX 660 ; N germandbls ; B -231 -208 702 741 ; +C -1 ; WX 740 ; N Udieresis ; B 112 -13 855 895 ; +C -1 ; WX 740 ; N Uacute ; B 112 -13 855 914 ; +C -1 ; WX 700 ; N Scedilla ; B 59 -215 731 694 ; +C -1 ; WX 700 ; N Tcaron ; B 70 0 802 900 ; +C -1 ; WX 700 ; N Scaron ; B 59 -13 731 900 ; +C -1 ; WX 740 ; N Rcaron ; B 14 0 765 900 ; +C -1 ; WX 740 ; N Racute ; B 14 0 765 914 ; +C -1 ; WX 700 ; N Sacute ; B 59 -13 731 914 ; +C -1 ; WX 760 ; N Otilde ; B 78 -13 806 863 ; +C -1 ; WX 680 ; N ucircumflex ; B 83 -9 720 734 ; +C -1 ; WX 760 ; N Ohungarumlaut ; B 78 -13 806 917 ; +C -1 ; WX 740 ; N Uhungarumlaut ; B 112 -13 855 917 ; +C -1 ; WX 660 ; N Yacute ; B 72 0 817 914 ; +C -1 ; WX 760 ; N Eth ; B 14 0 805 681 ; +C -1 ; WX 760 ; N Dcroat ; B 14 0 805 681 ; +C -1 ; WX 680 ; N Zacute ; B 23 0 740 914 ; +C -1 ; WX 740 ; N Uring ; B 112 -13 855 927 ; +C -1 ; WX 620 ; N gbreve ; B 21 -208 669 710 ; +C -1 ; WX 560 ; N eogonek ; B 59 -179 596 520 ; +C -1 ; WX 560 ; N edotaccent ; B 59 -9 596 732 ; +C -1 ; WX 560 ; N ecaron ; B 59 -9 596 734 ; +C -1 ; WX 740 ; N Ugrave ; B 112 -13 855 914 ; +C -1 ; WX 640 ; N Thorn ; B -6 0 701 681 ; +C -1 ; WX 560 ; N eacute ; B 59 -9 596 748 ; +C -1 ; WX 560 ; N edieresis ; B 59 -9 596 729 ; +C -1 ; WX 810 ; N dcaron ; B 60 -9 870 740 ; +C -1 ; WX 560 ; N ccedilla ; B 58 -215 597 520 ; +C -1 ; WX 560 ; N ccaron ; B 58 -9 597 734 ; +C -1 ; WX 560 ; N cacute ; B 58 -9 597 748 ; +C -1 ; WX 680 ; N aogonek ; B 84 -179 735 520 ; +C -1 ; WX 680 ; N aring ; B 84 -9 735 769 ; +C -1 ; WX 680 ; N atilde ; B 84 -9 735 703 ; +C -1 ; WX 680 ; N abreve ; B 84 -9 735 710 ; +C -1 ; WX 560 ; N egrave ; B 59 -9 596 748 ; +C -1 ; WX 680 ; N agrave ; B 84 -9 735 748 ; +C -1 ; WX 680 ; N aacute ; B 84 -9 735 748 ; +C -1 ; WX 680 ; N adieresis ; B 84 -9 735 729 ; +C -1 ; WX 740 ; N Uogonek ; B 112 -179 855 681 ; +C -1 ; WX 680 ; N ugrave ; B 83 -9 720 748 ; +C -1 ; WX 680 ; N uacute ; B 83 -9 720 748 ; +C -1 ; WX 680 ; N udieresis ; B 83 -9 720 729 ; +C -1 ; WX 520 ; N tcaron ; B 106 -9 580 740 ; +C -1 ; WX 540 ; N scommaaccent ; B 32 -328 573 520 ; +C -1 ; WX 680 ; N Zcaron ; B 23 0 740 900 ; +C -1 ; WX 560 ; N ecircumflex ; B 59 -9 596 734 ; +C -1 ; WX 740 ; N Ucircumflex ; B 112 -13 855 900 ; +C -1 ; WX 680 ; N acircumflex ; B 84 -9 735 734 ; +C -1 ; WX 680 ; N Zdotaccent ; B 23 0 740 898 ; +C -1 ; WX 540 ; N scaron ; B 32 -9 573 734 ; +C -1 ; WX 720 ; N Amacron ; B -27 0 769 844 ; +C -1 ; WX 540 ; N sacute ; B 32 -9 573 748 ; +C -1 ; WX 700 ; N Tcommaaccent ; B 70 -332 802 681 ; +C -1 ; WX 660 ; N Ydieresis ; B 72 0 817 895 ; +C -1 ; WX 660 ; N thorn ; B -24 -213 682 732 ; +C -1 ; WX 720 ; N Emacron ; B 14 0 777 844 ; +C -1 ; WX 760 ; N Ograve ; B 78 -13 806 914 ; +C -1 ; WX 760 ; N Oacute ; B 78 -13 806 914 ; +C -1 ; WX 760 ; N Odieresis ; B 78 -13 806 895 ; +C -1 ; WX 740 ; N Ntilde ; B 14 0 845 863 ; +C -1 ; WX 740 ; N Ncaron ; B 14 0 845 900 ; +C -1 ; WX 740 ; N Nacute ; B 14 0 845 914 ; +C -1 ; WX 640 ; N Lcaron ; B 14 0 780 694 ; +C -1 ; WX 640 ; N Lacute ; B 14 0 725 914 ; +C -1 ; WX 380 ; N Idotaccent ; B 14 0 485 898 ; +C -1 ; WX 500 ; N racute ; B 84 0 582 748 ; +C -1 ; WX 380 ; N Icircumflex ; B 14 0 493 900 ; +C -1 ; WX 600 ; N ohungarumlaut ; B 59 -9 636 751 ; +C -1 ; WX 600 ; N otilde ; B 59 -9 627 703 ; +C -1 ; WX 680 ; N Euro ; B 57 -13 736 694 ; +C -1 ; WX 600 ; N ocircumflex ; B 59 -9 627 734 ; +C -1 ; WX 408 ; N onesuperior ; B 118 273 406 681 ; +C -1 ; WX 408 ; N twosuperior ; B 91 273 485 689 ; +C -1 ; WX 408 ; N threesuperior ; B 86 265 483 689 ; +C -1 ; WX 380 ; N Igrave ; B 14 0 485 914 ; +C -1 ; WX 380 ; N Iacute ; B 14 0 485 914 ; +C -1 ; WX 380 ; N Imacron ; B 14 0 511 844 ; +C -1 ; WX 380 ; N Iogonek ; B 14 -179 485 681 ; +C -1 ; WX 380 ; N Idieresis ; B 14 0 499 895 ; +C -1 ; WX 760 ; N Gbreve ; B 77 -13 828 878 ; +C -1 ; WX 740 ; N Umacron ; B 112 -13 855 844 ; +C -1 ; WX 780 ; N Kcommaaccent ; B 14 -332 879 681 ; +C -1 ; WX 600 ; N ograve ; B 59 -9 627 748 ; +C -1 ; WX 700 ; N Scommaaccent ; B 59 -332 731 694 ; +C -1 ; WX 720 ; N Eogonek ; B 14 -179 777 681 ; +C -1 ; WX 600 ; N oacute ; B 59 -9 627 748 ; +C -1 ; WX 720 ; N Edotaccent ; B 14 0 777 898 ; +C -1 ; WX 380 ; N iogonek ; B 83 -179 420 762 ; +C -1 ; WX 620 ; N gcommaaccent ; B 21 -208 669 843 ; +C -1 ; WX 600 ; N odieresis ; B 59 -9 627 729 ; +C -1 ; WX 680 ; N ntilde ; B 83 -9 715 703 ; +C -1 ; WX 680 ; N ncaron ; B 83 -9 715 734 ; +C -1 ; WX 720 ; N Ecaron ; B 14 0 777 900 ; +C -1 ; WX 720 ; N Ecircumflex ; B 14 0 777 900 ; +C -1 ; WX 540 ; N scedilla ; B 32 -215 573 520 ; +C -1 ; WX 500 ; N rcaron ; B 84 0 582 734 ; +C -1 ; WX 720 ; N Egrave ; B 14 0 777 914 ; +C -1 ; WX 720 ; N Eacute ; B 14 0 777 914 ; +C -1 ; WX 760 ; N Gcommaaccent ; B 77 -332 828 694 ; +C -1 ; WX 740 ; N Rcommaaccent ; B 14 -332 765 681 ; +C -1 ; WX 720 ; N Edieresis ; B 14 0 777 895 ; +C -1 ; WX 680 ; N nacute ; B 83 -9 715 748 ; +C -1 ; WX 680 ; N uogonek ; B 83 -179 720 511 ; +C -1 ; WX 680 ; N umacron ; B 83 -9 720 691 ; +C -1 ; WX 760 ; N Dcaron ; B 14 0 805 900 ; +C -1 ; WX 509 ; N lcaron ; B 109 -9 569 740 ; +C -1 ; WX 700 ; N Ccaron ; B 78 -13 754 900 ; +C -1 ; WX 700 ; N Cacute ; B 78 -13 754 914 ; +C -1 ; WX 700 ; N Ccedilla ; B 78 -215 754 694 ; +C -1 ; WX 400 ; N degree ; B 130 380 430 686 ; +C -1 ; WX 720 ; N Aogonek ; B -27 -179 797 681 ; +C -1 ; WX 600 ; N minus ; B 91 293 595 407 ; +C -1 ; WX 600 ; N multiply ; B 91 100 595 604 ; +C -1 ; WX 600 ; N divide ; B 91 69 595 631 ; +C -1 ; WX 720 ; N Aring ; B -27 0 769 927 ; +C -1 ; WX 940 ; N trademark ; B 42 273 982 681 ; +C -1 ; WX 500 ; N rcommaaccent ; B 66 -328 582 520 ; +C -1 ; WX 380 ; N lacute ; B 109 -9 427 914 ; +C -1 ; WX 600 ; N omacron ; B 59 -9 627 691 ; +C -1 ; WX 720 ; N Atilde ; B -27 0 769 863 ; +C -1 ; WX 380 ; N icircumflex ; B 83 -9 433 734 ; +C -1 ; WX 380 ; N igrave ; B 83 -9 424 748 ; +C -1 ; WX 680 ; N ncommaaccent ; B 83 -328 715 520 ; +C -1 ; WX 380 ; N lcommaaccent ; B 86 -328 410 732 ; +C -1 ; WX 600 ; N plusminus ; B 91 0 595 628 ; +C -1 ; WX 1020 ; N onehalf ; B 118 0 1036 681 ; +C -1 ; WX 1020 ; N onequarter ; B 118 0 1054 681 ; +C -1 ; WX 1020 ; N threequarters ; B 86 0 1054 689 ; +C -1 ; WX 380 ; N iacute ; B 83 -9 420 748 ; +C -1 ; WX 720 ; N Abreve ; B -27 0 769 878 ; +C -1 ; WX 700 ; N kcommaaccent ; B 97 -328 732 732 ; +C -1 ; WX 760 ; N Omacron ; B 78 -13 806 844 ; +C -1 ; WX 380 ; N imacron ; B 83 -9 481 691 ; +C -1 ; WX 560 ; N emacron ; B 59 -9 596 691 ; +C -1 ; WX 680 ; N amacron ; B 84 -9 735 691 ; +C -1 ; WX 440 ; N tcommaaccent ; B 106 -328 488 659 ; +C -1 ; WX 600 ; N ydieresis ; B 25 -204 642 729 ; +C -1 ; WX 560 ; N zdotaccent ; B 36 -9 586 732 ; +C -1 ; WX 560 ; N zcaron ; B 36 -9 586 734 ; +C -1 ; WX 560 ; N zacute ; B 36 -9 586 748 ; +C -1 ; WX 600 ; N yacute ; B 25 -204 642 748 ; +C -1 ; WX 680 ; N uhungarumlaut ; B 83 -9 720 751 ; +C -1 ; WX 600 ; N eth ; B 59 -9 662 735 ; +C -1 ; WX 680 ; N uring ; B 83 -9 720 769 ; +C -1 ; WX 760 ; N Ocircumflex ; B 78 -13 806 900 ; +C -1 ; WX 360 ; N commaaccent ; B 76 -328 254 -50 ; +C -1 ; WX 780 ; N copyright ; B 83 0 783 700 ; +C -1 ; WX 780 ; N registered ; B 83 0 783 700 ; +C -1 ; WX 720 ; N Acircumflex ; B -27 0 769 900 ; +C -1 ; WX 380 ; N idieresis ; B 83 -9 479 729 ; +C -1 ; WX 494 ; N lozenge ; B 83 0 531 740 ; +C -1 ; WX 612 ; N Delta ; B 6 0 608 688 ; +C -1 ; WX 600 ; N notequal ; B 91 63 595 646 ; +C -1 ; WX 549 ; N radical ; B -4 -35 578 918 ; +C -1 ; WX 720 ; N Agrave ; B -27 0 769 914 ; +C -1 ; WX 720 ; N Aacute ; B -27 0 769 914 ; +C -1 ; WX 600 ; N lessequal ; B 85 0 589 722 ; +C -1 ; WX 600 ; N greaterequal ; B 91 0 595 722 ; +C -1 ; WX 620 ; N logicalnot ; B 81 80 585 367 ; +C -1 ; WX 713 ; N summation ; B 14 -123 695 752 ; +C -1 ; WX 494 ; N partialdiff ; B 9 -10 478 755 ; +C -1 ; WX 740 ; N Ncommaaccent ; B 14 -332 845 681 ; +C -1 ; WX 680 ; N dcroat ; B 60 -9 742 732 ; +C -1 ; WX 620 ; N brokenbar ; B 303 0 422 722 ; +C -1 ; WX 640 ; N Lcommaaccent ; B 14 -332 725 681 ; +C -1 ; WX 720 ; N Adieresis ; B -27 0 769 895 ; +C -1 ; WX 680 ; N mu ; B 54 -195 720 511 ; +C -1 ; WX 340 ; N .notdef ; B 0 0 0 0 ; +EndCharMetrics +StartKernData +StartKernPairs 998 +KPX A C -34 +KPX A Ccedilla -35 +KPX A G -30 +KPX A O -35 +KPX A Odieresis -35 +KPX A Q 6 +KPX A T -39 +KPX A U -28 +KPX A Uacute -28 +KPX A Ucircumflex -28 +KPX A Udieresis -28 +KPX A Ugrave -28 +KPX A V -67 +KPX A W -52 +KPX A Y -36 +KPX A a -16 +KPX A b 6 +KPX A c -6 +KPX A ccedilla -8 +KPX A comma 11 +KPX A d -4 +KPX A e -6 +KPX A g -17 +KPX A guillemotleft -21 +KPX A guilsinglleft -21 +KPX A hyphen -4 +KPX A o -4 +KPX A period 8 +KPX A q -5 +KPX A quotedblright -82 +KPX A quoteright -82 +KPX A t -18 +KPX A u -16 +KPX A v -3 +KPX A w -3 +KPX A y -8 +KPX Aacute C -34 +KPX Aacute G -30 +KPX Aacute O -36 +KPX Aacute Q 6 +KPX Aacute T -39 +KPX Aacute U -28 +KPX Aacute V -67 +KPX Aacute W -52 +KPX Aacute Y -36 +KPX Aacute a -16 +KPX Aacute b 6 +KPX Aacute c -6 +KPX Aacute comma 11 +KPX Aacute d -4 +KPX Aacute e -6 +KPX Aacute g -17 +KPX Aacute guillemotleft -21 +KPX Aacute guilsinglleft -21 +KPX Aacute hyphen -4 +KPX Aacute o -4 +KPX Aacute period 8 +KPX Aacute q -5 +KPX Aacute quoteright -83 +KPX Aacute t -18 +KPX Aacute u -16 +KPX Aacute v -3 +KPX Aacute w -3 +KPX Aacute y -8 +KPX Acircumflex C -34 +KPX Acircumflex G -30 +KPX Acircumflex O -36 +KPX Acircumflex Q 6 +KPX Acircumflex T -39 +KPX Acircumflex U -28 +KPX Acircumflex V -67 +KPX Acircumflex W -52 +KPX Acircumflex Y -36 +KPX Acircumflex comma 11 +KPX Acircumflex period 8 +KPX Adieresis C -34 +KPX Adieresis G -30 +KPX Adieresis O -36 +KPX Adieresis Q 6 +KPX Adieresis T -39 +KPX Adieresis U -28 +KPX Adieresis V -67 +KPX Adieresis W -52 +KPX Adieresis Y -36 +KPX Adieresis a -16 +KPX Adieresis b 6 +KPX Adieresis c -6 +KPX Adieresis comma 11 +KPX Adieresis d -4 +KPX Adieresis g -17 +KPX Adieresis guillemotleft -21 +KPX Adieresis guilsinglleft -21 +KPX Adieresis hyphen -4 +KPX Adieresis o -4 +KPX Adieresis period 8 +KPX Adieresis q -5 +KPX Adieresis quotedblright -83 +KPX Adieresis quoteright -83 +KPX Adieresis t -18 +KPX Adieresis u -16 +KPX Adieresis v -3 +KPX Adieresis w -3 +KPX Adieresis y -8 +KPX Agrave C -34 +KPX Agrave G -30 +KPX Agrave O -36 +KPX Agrave Q 6 +KPX Agrave T -39 +KPX Agrave U -28 +KPX Agrave V -67 +KPX Agrave W -52 +KPX Agrave Y -36 +KPX Agrave comma 11 +KPX Agrave period 8 +KPX Aring C -34 +KPX Aring G -30 +KPX Aring O -36 +KPX Aring Q 6 +KPX Aring T -39 +KPX Aring U -28 +KPX Aring V -67 +KPX Aring W -52 +KPX Aring Y -36 +KPX Aring a -16 +KPX Aring b 6 +KPX Aring c -6 +KPX Aring comma 11 +KPX Aring d -4 +KPX Aring e -6 +KPX Aring g -17 +KPX Aring guillemotleft -21 +KPX Aring guilsinglleft -21 +KPX Aring hyphen -4 +KPX Aring o -4 +KPX Aring period 8 +KPX Aring q -5 +KPX Aring quotedblright -83 +KPX Aring quoteright -83 +KPX Aring t -18 +KPX Aring u -16 +KPX Aring v -3 +KPX Aring w -3 +KPX Aring y -8 +KPX Atilde C -34 +KPX Atilde G -30 +KPX Atilde O -36 +KPX Atilde Q 6 +KPX Atilde T -39 +KPX Atilde U -28 +KPX Atilde V -67 +KPX Atilde W -52 +KPX Atilde Y -36 +KPX Atilde comma 11 +KPX Atilde period 8 +KPX B A 2 +KPX B AE 2 +KPX B Aacute 2 +KPX B Acircumflex 2 +KPX B Adieresis 2 +KPX B Aring 2 +KPX B Atilde 2 +KPX B O -2 +KPX B OE -10 +KPX B Oacute -2 +KPX B Ocircumflex -2 +KPX B Odieresis -2 +KPX B Ograve -2 +KPX B Oslash -2 +KPX B V -5 +KPX B W -5 +KPX B Y -5 +KPX C A 2 +KPX C AE 1 +KPX C Aacute 2 +KPX C Adieresis 2 +KPX C Aring 2 +KPX C H -6 +KPX C K -6 +KPX C O -3 +KPX C Oacute -3 +KPX C Odieresis -3 +KPX Ccedilla A -2 +KPX D A -25 +KPX D Aacute -25 +KPX D Acircumflex -25 +KPX D Adieresis -25 +KPX D Agrave -25 +KPX D Aring -25 +KPX D Atilde -25 +KPX D J 11 +KPX D T -1 +KPX D V -28 +KPX D W -21 +KPX D X -34 +KPX D Y -28 +KPX F A -65 +KPX F Aacute -65 +KPX F Acircumflex -65 +KPX F Adieresis -65 +KPX F Agrave -65 +KPX F Aring -65 +KPX F Atilde -65 +KPX F J -43 +KPX F O 15 +KPX F Odieresis 15 +KPX F a -23 +KPX F aacute -23 +KPX F adieresis -23 +KPX F ae 10 +KPX F aring -23 +KPX F comma -110 +KPX F e -18 +KPX F eacute -18 +KPX F hyphen -12 +KPX F i 22 +KPX F j 15 +KPX F o -11 +KPX F oacute -11 +KPX F odieresis -11 +KPX F oe -6 +KPX F oslash -10 +KPX F period -113 +KPX F r 21 +KPX F u 22 +KPX G A -5 +KPX G AE -5 +KPX G Aacute -5 +KPX G Acircumflex -5 +KPX G Adieresis -5 +KPX G Agrave -5 +KPX G Aring -5 +KPX G Atilde -5 +KPX G T -20 +KPX G V -30 +KPX G W -19 +KPX G Y -30 +KPX J A -40 +KPX J AE -40 +KPX J Adieresis -40 +KPX J Aring -40 +KPX K C -35 +KPX K G -34 +KPX K O -35 +KPX K OE -43 +KPX K Oacute -35 +KPX K Odieresis -35 +KPX K S -11 +KPX K T -6 +KPX K a -24 +KPX K adieresis -24 +KPX K ae 12 +KPX K aring -24 +KPX K e -14 +KPX K hyphen -39 +KPX K o -12 +KPX K oacute -12 +KPX K odieresis -12 +KPX K u -24 +KPX K udieresis -24 +KPX K y -16 +KPX L A 27 +KPX L AE 26 +KPX L Aacute 27 +KPX L Adieresis 27 +KPX L Aring 27 +KPX L C 18 +KPX L Ccedilla 17 +KPX L G 19 +KPX L O 17 +KPX L Oacute 17 +KPX L Ocircumflex 17 +KPX L Odieresis 17 +KPX L Ograve 17 +KPX L Otilde 17 +KPX L S 28 +KPX L T -59 +KPX L U -6 +KPX L Udieresis -6 +KPX L V -47 +KPX L W -32 +KPX L Y -51 +KPX L hyphen 55 +KPX L quotedblright -73 +KPX L quoteright -73 +KPX L u 1 +KPX L udieresis -2 +KPX L y 8 +KPX N A -22 +KPX N AE -22 +KPX N Aacute -22 +KPX N Adieresis -22 +KPX N Aring -22 +KPX N C -20 +KPX N Ccedilla -19 +KPX N G -19 +KPX N O -20 +KPX N Oacute -20 +KPX N Odieresis -20 +KPX N a -35 +KPX N aacute -37 +KPX N adieresis -37 +KPX N ae -21 +KPX N aring -37 +KPX N comma -37 +KPX N e -27 +KPX N eacute -29 +KPX N o -24 +KPX N oacute -26 +KPX N odieresis -26 +KPX N oslash -21 +KPX N period -40 +KPX N u -33 +KPX N udieresis -35 +KPX O A -27 +KPX O AE -27 +KPX O Aacute -27 +KPX O Adieresis -27 +KPX O Aring -27 +KPX O T -2 +KPX O V -33 +KPX O W -22 +KPX O X -35 +KPX O Y -33 +KPX Oacute A -27 +KPX Oacute T -2 +KPX Oacute V -33 +KPX Oacute W -22 +KPX Oacute Y -33 +KPX Ocircumflex T -2 +KPX Ocircumflex V -33 +KPX Ocircumflex Y -33 +KPX Odieresis A -27 +KPX Odieresis T -2 +KPX Odieresis V -33 +KPX Odieresis W -22 +KPX Odieresis X -35 +KPX Odieresis Y -33 +KPX Ograve T -2 +KPX Ograve V -33 +KPX Ograve Y -33 +KPX Oslash A -20 +KPX Otilde T -2 +KPX Otilde V -33 +KPX Otilde Y -33 +KPX P A -66 +KPX P AE -112 +KPX P Aacute -66 +KPX P Adieresis -66 +KPX P Aring -66 +KPX P J -43 +KPX P a -30 +KPX P aacute -30 +KPX P adieresis -30 +KPX P ae -3 +KPX P aring -30 +KPX P comma -108 +KPX P e -22 +KPX P eacute -22 +KPX P hyphen -8 +KPX P o -19 +KPX P oacute -19 +KPX P odieresis -19 +KPX P oe -13 +KPX P oslash -16 +KPX P period -111 +KPX R C -21 +KPX R Ccedilla -20 +KPX R G -20 +KPX R O -21 +KPX R OE -28 +KPX R Oacute -21 +KPX R Odieresis -21 +KPX R T -11 +KPX R U -26 +KPX R Udieresis -26 +KPX R V -17 +KPX R W -17 +KPX R Y -17 +KPX R a -28 +KPX R aacute -28 +KPX R adieresis -28 +KPX R ae 8 +KPX R aring -28 +KPX R e -18 +KPX R eacute -18 +KPX R hyphen -27 +KPX R o -16 +KPX R oacute -16 +KPX R odieresis -16 +KPX R oe -10 +KPX R u -23 +KPX R uacute -24 +KPX R udieresis -24 +KPX R y -16 +KPX S A 5 +KPX S AE 5 +KPX S Aacute 5 +KPX S Adieresis 5 +KPX S Aring 5 +KPX S T -10 +KPX S V -11 +KPX S W -11 +KPX S Y -11 +KPX S t -9 +KPX T A -51 +KPX T AE -52 +KPX T Aacute -51 +KPX T Acircumflex -51 +KPX T Adieresis -51 +KPX T Agrave -51 +KPX T Aring -51 +KPX T Atilde -51 +KPX T C 8 +KPX T G 8 +KPX T J -59 +KPX T O 10 +KPX T OE 2 +KPX T Oacute 10 +KPX T Ocircumflex 10 +KPX T Odieresis 10 +KPX T Ograve 10 +KPX T Oslash 7 +KPX T Otilde 10 +KPX T S 5 +KPX T V 16 +KPX T W 16 +KPX T Y 16 +KPX T a -35 +KPX T ae 1 +KPX T c -33 +KPX T colon -22 +KPX T comma -97 +KPX T e -34 +KPX T g -27 +KPX T guillemotleft -29 +KPX T guilsinglleft -29 +KPX T hyphen -84 +KPX T i 19 +KPX T j 12 +KPX T o -24 +KPX T oslash -22 +KPX T period -100 +KPX T r 18 +KPX T s -9 +KPX T semicolon -20 +KPX T u 19 +KPX T v 33 +KPX T w 33 +KPX T y 27 +KPX U A -35 +KPX U AE -35 +KPX U Aacute -35 +KPX U Acircumflex -35 +KPX U Adieresis -35 +KPX U Aring -35 +KPX U Atilde -35 +KPX U comma -49 +KPX U m -32 +KPX U n -32 +KPX U p -37 +KPX U period -52 +KPX U r -33 +KPX Uacute A -35 +KPX Uacute comma -49 +KPX Uacute m -32 +KPX Uacute n -32 +KPX Uacute p -37 +KPX Uacute period -52 +KPX Uacute r -33 +KPX Ucircumflex A -35 +KPX Udieresis A -35 +KPX Udieresis b 23 +KPX Udieresis comma -49 +KPX Udieresis m -32 +KPX Udieresis n -32 +KPX Udieresis p -37 +KPX Udieresis period -52 +KPX Udieresis r -33 +KPX Ugrave A -35 +KPX V A -70 +KPX V AE -86 +KPX V Aacute -70 +KPX V Acircumflex -70 +KPX V Adieresis -70 +KPX V Agrave -70 +KPX V Aring -70 +KPX V Atilde -70 +KPX V C -18 +KPX V G -20 +KPX V O -19 +KPX V Oacute -19 +KPX V Ocircumflex -19 +KPX V Odieresis -19 +KPX V Ograve -19 +KPX V Oslash -25 +KPX V Otilde -19 +KPX V S 4 +KPX V T 24 +KPX V a -66 +KPX V ae -49 +KPX V colon -76 +KPX V comma -94 +KPX V e -58 +KPX V g -63 +KPX V guillemotleft -52 +KPX V guilsinglleft -52 +KPX V hyphen -29 +KPX V i 3 +KPX V o -54 +KPX V oslash -51 +KPX V period -97 +KPX V r -31 +KPX V semicolon -74 +KPX V u -31 +KPX V y -23 +KPX W A -95 +KPX W AE -103 +KPX W Aacute -95 +KPX W Acircumflex -95 +KPX W Adieresis -95 +KPX W Agrave -95 +KPX W Aring -95 +KPX W Atilde -95 +KPX W C -52 +KPX W G -55 +KPX W O -53 +KPX W Oacute -53 +KPX W Ocircumflex -53 +KPX W Odieresis -53 +KPX W Ograve -53 +KPX W Oslash -58 +KPX W Otilde -53 +KPX W S -30 +KPX W T -10 +KPX W a -88 +KPX W ae -73 +KPX W colon -100 +KPX W comma -112 +KPX W e -80 +KPX W g -85 +KPX W guillemotleft -74 +KPX W guilsinglleft -74 +KPX W hyphen -52 +KPX W i -31 +KPX W o -77 +KPX W oslash -74 +KPX W period -115 +KPX W r -60 +KPX W semicolon -97 +KPX W u -60 +KPX W y -52 +KPX X C -42 +KPX X O -41 +KPX X Odieresis -41 +KPX X Q -5 +KPX X a -27 +KPX X e -18 +KPX X hyphen -55 +KPX X o -15 +KPX X u -28 +KPX X y -20 +KPX Y A -48 +KPX Y AE -48 +KPX Y Aacute -48 +KPX Y Acircumflex -48 +KPX Y Adieresis -48 +KPX Y Agrave -48 +KPX Y Aring -48 +KPX Y Atilde -48 +KPX Y C -19 +KPX Y G -21 +KPX Y O -20 +KPX Y Oacute -20 +KPX Y Ocircumflex -20 +KPX Y Odieresis -20 +KPX Y Ograve -20 +KPX Y Oslash -26 +KPX Y Otilde -20 +KPX Y S 3 +KPX Y T 23 +KPX Y a -84 +KPX Y ae -67 +KPX Y colon -90 +KPX Y comma -90 +KPX Y e -76 +KPX Y g -81 +KPX Y guillemotleft -78 +KPX Y guilsinglleft -78 +KPX Y hyphen -69 +KPX Y i 2 +KPX Y o -72 +KPX Y oslash -68 +KPX Y p -49 +KPX Y period -93 +KPX Y semicolon -88 +KPX Y u -46 +KPX Y v -32 +KPX Z v -6 +KPX Z y -10 +KPX a j -16 +KPX a quoteright -43 +KPX a v -2 +KPX a w -2 +KPX a y -7 +KPX aacute v -2 +KPX aacute w -2 +KPX aacute y -7 +KPX adieresis v -2 +KPX adieresis w -2 +KPX adieresis y -7 +KPX ae v 4 +KPX ae w 4 +KPX ae y -1 +KPX agrave v -2 +KPX agrave w -2 +KPX agrave y -7 +KPX aring v -2 +KPX aring w -2 +KPX aring y -7 +KPX b v -1 +KPX b w -1 +KPX b y -6 +KPX c h -26 +KPX c k -28 +KPX comma one -61 +KPX comma quotedblright -49 +KPX comma quoteright -49 +KPX e quoteright -18 +KPX e t -20 +KPX e v 6 +KPX e w 6 +KPX e x 5 +KPX e y 0 +KPX eacute v 6 +KPX eacute w 6 +KPX eacute y 0 +KPX ecircumflex v 6 +KPX ecircumflex w 6 +KPX ecircumflex y 0 +KPX eight four -19 +KPX eight one -84 +KPX eight seven -47 +KPX f a -48 +KPX f aacute -49 +KPX f adieresis -12 +KPX f ae -19 +KPX f aring -47 +KPX f e -40 +KPX f eacute -42 +KPX f f 6 +KPX f i 34 +KPX f j 26 +KPX f l 59 +KPX f o -36 +KPX f oacute -38 +KPX f odieresis 12 +KPX f oe -31 +KPX f oslash -33 +KPX f quoteright 31 +KPX f s -28 +KPX f t -17 +KPX five four -21 +KPX five one -94 +KPX five seven -69 +KPX four four -4 +KPX four one -82 +KPX four seven -66 +KPX g a -8 +KPX g adieresis -9 +KPX g ae 5 +KPX g aring -9 +KPX g e 0 +KPX g eacute -1 +KPX g l -14 +KPX g oacute 1 +KPX g odieresis 1 +KPX g r -4 +KPX guillemotright A -27 +KPX guillemotright AE -28 +KPX guillemotright Aacute -27 +KPX guillemotright Adieresis -27 +KPX guillemotright Aring -27 +KPX guillemotright T -52 +KPX guillemotright V -58 +KPX guillemotright W -41 +KPX guillemotright Y -75 +KPX guilsinglright A -26 +KPX guilsinglright AE -26 +KPX guilsinglright Aacute -26 +KPX guilsinglright Adieresis -26 +KPX guilsinglright Aring -26 +KPX guilsinglright T -50 +KPX guilsinglright V -57 +KPX guilsinglright W -40 +KPX guilsinglright Y -73 +KPX h quoteright -65 +KPX h y -16 +KPX hyphen A -12 +KPX hyphen AE -55 +KPX hyphen Aacute -12 +KPX hyphen Adieresis -12 +KPX hyphen Aring -12 +KPX hyphen T -77 +KPX hyphen V -33 +KPX hyphen W -15 +KPX hyphen Y -61 +KPX i T -41 +KPX i j -21 +KPX k a -28 +KPX k aacute -28 +KPX k adieresis -28 +KPX k ae 8 +KPX k aring -28 +KPX k comma -9 +KPX k e -18 +KPX k eacute -18 +KPX k g -29 +KPX k hyphen -35 +KPX k o -16 +KPX k oacute -16 +KPX k odieresis -16 +KPX k period -12 +KPX k s 11 +KPX k u -13 +KPX k udieresis -13 +KPX l v -15 +KPX l y -20 +KPX m p -19 +KPX m v -12 +KPX m w -12 +KPX m y -17 +KPX n T -47 +KPX n p -22 +KPX n quoteright -55 +KPX n v -13 +KPX n w -13 +KPX n y -18 +KPX nine four -16 +KPX nine one -80 +KPX nine seven -31 +KPX o T -39 +KPX o quoteright -34 +KPX o t -23 +KPX o v -4 +KPX o w -4 +KPX o x -16 +KPX o y -9 +KPX oacute v -4 +KPX oacute w -4 +KPX oacute y -9 +KPX ocircumflex t -24 +KPX odieresis t -24 +KPX odieresis v -4 +KPX odieresis w -4 +KPX odieresis x -16 +KPX odieresis y -9 +KPX ograve v -4 +KPX ograve w -4 +KPX ograve y -9 +KPX one comma -77 +KPX one eight -87 +KPX one five -87 +KPX one four -117 +KPX one nine -78 +KPX one one -108 +KPX one period -80 +KPX one seven -127 +KPX one six -93 +KPX one three -85 +KPX one two -75 +KPX one zero -93 +KPX p t -24 +KPX p y -10 +KPX period one -64 +KPX period quotedblright -50 +KPX period quoteright -50 +KPX q c -12 +KPX q u -18 +KPX quotedblbase A 29 +KPX quotedblbase AE 18 +KPX quotedblbase T -64 +KPX quotedblbase V -74 +KPX quotedblbase W -52 +KPX quotedblbase Y -57 +KPX quotedblleft A -89 +KPX quotedblleft AE -176 +KPX quotedblleft Aacute -90 +KPX quotedblleft Adieresis -90 +KPX quotedblleft Aring -90 +KPX quotedblleft T -3 +KPX quotedblleft V 6 +KPX quotedblleft W 12 +KPX quotedblleft Y 1 +KPX quotedblright A -91 +KPX quotedblright AE -183 +KPX quotedblright Aacute -92 +KPX quotedblright Adieresis -92 +KPX quotedblright Aring -92 +KPX quotedblright T -7 +KPX quotedblright V 5 +KPX quotedblright W 12 +KPX quotedblright Y 1 +KPX quoteleft A -95 +KPX quoteleft AE -182 +KPX quoteleft Aacute -96 +KPX quoteleft Adieresis -96 +KPX quoteleft Aring -96 +KPX quoteleft T -9 +KPX quoteleft V 0 +KPX quoteleft W 6 +KPX quoteleft Y -4 +KPX quoteright A -97 +KPX quoteright AE -189 +KPX quoteright Aacute -98 +KPX quoteright Adieresis -98 +KPX quoteright Aring -98 +KPX quoteright comma -76 +KPX quoteright d -46 +KPX quoteright o -43 +KPX quoteright period -79 +KPX quoteright r -26 +KPX quoteright s -33 +KPX quoteright t -31 +KPX quoteright v -12 +KPX quoteright w -12 +KPX quoteright y -15 +KPX r a -20 +KPX r aacute -20 +KPX r acircumflex -20 +KPX r adieresis -20 +KPX r ae 5 +KPX r agrave -20 +KPX r aring -20 +KPX r c -12 +KPX r ccedilla -9 +KPX r colon -27 +KPX r comma -115 +KPX r d -9 +KPX r e -13 +KPX r eacute -13 +KPX r ecircumflex -13 +KPX r egrave -13 +KPX r f -2 +KPX r g -15 +KPX r h -28 +KPX r hyphen -22 +KPX r i 13 +KPX r j 5 +KPX r k -30 +KPX r l -27 +KPX r m 12 +KPX r n 12 +KPX r o -9 +KPX r oacute -9 +KPX r ocircumflex -9 +KPX r odieresis -9 +KPX r oe -3 +KPX r ograve -9 +KPX r oslash -7 +KPX r p 8 +KPX r period -118 +KPX r q -10 +KPX r quoteright 2 +KPX r r 12 +KPX r s -1 +KPX r semicolon -25 +KPX r t 4 +KPX r u 12 +KPX r v 26 +KPX r w 27 +KPX r x 1 +KPX r y 20 +KPX r z 10 +KPX s quoteright -25 +KPX s t -19 +KPX seven colon -92 +KPX seven comma -102 +KPX seven eight -49 +KPX seven five -56 +KPX seven four -94 +KPX seven one -72 +KPX seven period -105 +KPX seven seven -36 +KPX seven six -55 +KPX seven three -45 +KPX seven two -39 +KPX six four -15 +KPX six one -80 +KPX six seven -46 +KPX t S -9 +KPX t a -28 +KPX t aacute -28 +KPX t adieresis -28 +KPX t ae 6 +KPX t aring -28 +KPX t colon -27 +KPX t e -18 +KPX t eacute -18 +KPX t h -26 +KPX t o -15 +KPX t oacute -15 +KPX t odieresis -15 +KPX t quoteright -30 +KPX t semicolon -24 +KPX three four -24 +KPX three one -87 +KPX three seven -47 +KPX two four -29 +KPX two one -87 +KPX two seven -50 +KPX u quoteright -43 +KPX v a -15 +KPX v aacute -15 +KPX v acircumflex -15 +KPX v adieresis -15 +KPX v ae -5 +KPX v agrave -15 +KPX v aring -15 +KPX v atilde -15 +KPX v c -6 +KPX v colon -36 +KPX v comma -40 +KPX v e -7 +KPX v eacute -7 +KPX v ecircumflex -7 +KPX v egrave -7 +KPX v g -14 +KPX v hyphen 24 +KPX v l -23 +KPX v o -4 +KPX v oacute -4 +KPX v odieresis -4 +KPX v ograve -4 +KPX v oslash -2 +KPX v period -43 +KPX v s -5 +KPX v semicolon -34 +KPX w a -14 +KPX w aacute -14 +KPX w acircumflex -14 +KPX w adieresis -14 +KPX w ae -4 +KPX w agrave -14 +KPX w aring -14 +KPX w atilde -14 +KPX w c -4 +KPX w colon -36 +KPX w comma -37 +KPX w e -5 +KPX w eacute -5 +KPX w ecircumflex -5 +KPX w egrave -5 +KPX w g -13 +KPX w hyphen 25 +KPX w l -22 +KPX w o -3 +KPX w oacute -3 +KPX w odieresis -3 +KPX w ograve -3 +KPX w oslash -1 +KPX w period -40 +KPX w s -4 +KPX w semicolon -33 +KPX x a -32 +KPX x c -22 +KPX x e -22 +KPX x eacute -22 +KPX x o -20 +KPX x q -21 +KPX y a -9 +KPX y aacute -9 +KPX y acircumflex -9 +KPX y adieresis -9 +KPX y ae 4 +KPX y agrave -9 +KPX y aring -9 +KPX y atilde -9 +KPX y c 0 +KPX y colon -27 +KPX y comma -16 +KPX y e 0 +KPX y eacute 0 +KPX y ecircumflex 0 +KPX y egrave 0 +KPX y g -7 +KPX y hyphen 18 +KPX y l -16 +KPX y o 2 +KPX y oacute 2 +KPX y odieresis 2 +KPX y ograve 2 +KPX y oslash 5 +KPX y period -19 +KPX y s 3 +KPX y semicolon -24 +KPX zero four -17 +KPX zero one -82 +KPX zero seven -36 +EndKernPairs +EndKernData +EndFontMetrics diff --git a/Master/xemtex/gsfonts/b018035l.pfb b/Master/xemtex/gsfonts/b018035l.pfb new file mode 100644 index 00000000000..749b71ea362 Binary files /dev/null and b/Master/xemtex/gsfonts/b018035l.pfb differ diff --git a/Master/xemtex/gsfonts/b018035l.pfm b/Master/xemtex/gsfonts/b018035l.pfm new file mode 100644 index 00000000000..899dff37611 Binary files /dev/null and b/Master/xemtex/gsfonts/b018035l.pfm differ diff --git a/Master/xemtex/gsfonts/c059013l.afm b/Master/xemtex/gsfonts/c059013l.afm new file mode 100644 index 00000000000..c3bf69d3ed9 --- /dev/null +++ b/Master/xemtex/gsfonts/c059013l.afm @@ -0,0 +1,1341 @@ +StartFontMetrics 3.0 +Comment Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development +Comment Creation Date: 12/22/1999 +Comment See the file PUBLIC (Aladdin Free Public License) for license conditions. +FontName CenturySchL-Roma +FullName Century Schoolbook L Roman +FamilyName Century Schoolbook L +Weight Roman +ItalicAngle 0.0 +IsFixedPitch false +UnderlinePosition -104 +UnderlineThickness 61 +Version 1.05 +Notice (URW)++,Copyright 1999 by (URW)++ Design & Development +EncodingScheme AdobeStandardEncoding +FontBBox -217 -302 1000 981 +CapHeight 722 +XHeight 466 +Descender -202 +Ascender 737 +StartCharMetrics 316 +C 32 ; WX 278 ; N space ; B 0 0 0 0 ; +C 33 ; WX 296 ; N exclam ; B 87 -14 212 736 ; +C 34 ; WX 389 ; N quotedbl ; B 61 498 328 736 ; +C 35 ; WX 556 ; N numbersign ; B 33 0 524 686 ; +C 36 ; WX 556 ; N dollar ; B 45 -130 510 801 ; +C 37 ; WX 833 ; N percent ; B 45 0 792 722 ; +C 38 ; WX 815 ; N ampersand ; B 51 -15 775 737 ; +C 39 ; WX 204 ; N quoteright ; B 24 450 178 741 ; +C 40 ; WX 333 ; N parenleft ; B 36 -123 279 736 ; +C 41 ; WX 333 ; N parenright ; B 54 -123 297 736 ; +C 42 ; WX 500 ; N asterisk ; B 56 300 443 736 ; +C 43 ; WX 606 ; N plus ; B 51 0 555 505 ; +C 44 ; WX 278 ; N comma ; B 64 -183 218 108 ; +C 45 ; WX 333 ; N hyphen ; B 42 195 291 278 ; +C 46 ; WX 278 ; N period ; B 74 -14 199 111 ; +C 47 ; WX 278 ; N slash ; B -23 -14 302 736 ; +C 48 ; WX 556 ; N zero ; B 42 -15 514 704 ; +C 49 ; WX 556 ; N one ; B 100 0 496 704 ; +C 50 ; WX 556 ; N two ; B 35 0 505 704 ; +C 51 ; WX 556 ; N three ; B 42 -15 498 704 ; +C 52 ; WX 556 ; N four ; B 28 0 527 704 ; +C 53 ; WX 556 ; N five ; B 45 -15 502 704 ; +C 54 ; WX 556 ; N six ; B 42 -15 516 704 ; +C 55 ; WX 556 ; N seven ; B 59 -14 508 704 ; +C 56 ; WX 556 ; N eight ; B 41 -15 513 704 ; +C 57 ; WX 556 ; N nine ; B 39 -15 513 704 ; +C 58 ; WX 278 ; N colon ; B 86 -14 211 473 ; +C 59 ; WX 278 ; N semicolon ; B 72 -183 226 472 ; +C 60 ; WX 606 ; N less ; B 49 -17 558 523 ; +C 61 ; WX 606 ; N equal ; B 51 112 555 394 ; +C 62 ; WX 606 ; N greater ; B 48 -17 557 523 ; +C 63 ; WX 444 ; N question ; B 25 -15 411 736 ; +C 64 ; WX 737 ; N at ; B 43 -14 705 736 ; +C 65 ; WX 722 ; N A ; B -8 0 731 736 ; +C 66 ; WX 722 ; N B ; B 30 0 670 722 ; +C 67 ; WX 722 ; N C ; B 45 -15 668 737 ; +C 68 ; WX 778 ; N D ; B 29 0 732 722 ; +C 69 ; WX 722 ; N E ; B 29 0 663 722 ; +C 70 ; WX 667 ; N F ; B 29 0 638 722 ; +C 71 ; WX 778 ; N G ; B 42 -15 772 737 ; +C 72 ; WX 833 ; N H ; B 29 0 804 722 ; +C 73 ; WX 407 ; N I ; B 38 0 369 722 ; +C 74 ; WX 556 ; N J ; B 5 -15 537 722 ; +C 75 ; WX 778 ; N K ; B 30 0 803 722 ; +C 76 ; WX 667 ; N L ; B 35 0 646 722 ; +C 77 ; WX 944 ; N M ; B 22 0 913 722 ; +C 78 ; WX 815 ; N N ; B 19 -14 794 722 ; +C 79 ; WX 778 ; N O ; B 45 -15 733 737 ; +C 80 ; WX 667 ; N P ; B 28 0 649 722 ; +C 81 ; WX 778 ; N Q ; B 45 -189 749 737 ; +C 82 ; WX 722 ; N R ; B 26 -15 713 722 ; +C 83 ; WX 630 ; N S ; B 51 -15 590 737 ; +C 84 ; WX 667 ; N T ; B 19 0 648 722 ; +C 85 ; WX 815 ; N U ; B 17 -15 799 722 ; +C 86 ; WX 722 ; N V ; B -8 -15 731 722 ; +C 87 ; WX 981 ; N W ; B 6 -15 976 722 ; +C 88 ; WX 704 ; N X ; B -6 0 716 722 ; +C 89 ; WX 704 ; N Y ; B -13 0 713 722 ; +C 90 ; WX 611 ; N Z ; B 24 0 575 722 ; +C 91 ; WX 333 ; N bracketleft ; B 66 -108 297 722 ; +C 92 ; WX 606 ; N backslash ; B 74 0 532 737 ; +C 93 ; WX 333 ; N bracketright ; B 36 -108 266 722 ; +C 94 ; WX 606 ; N asciicircum ; B 52 318 554 722 ; +C 95 ; WX 500 ; N underscore ; B 0 -134 500 -73 ; +C 96 ; WX 204 ; N quoteleft ; B 26 444 181 736 ; +C 97 ; WX 556 ; N a ; B 44 -15 543 481 ; +C 98 ; WX 556 ; N b ; B 8 -15 520 737 ; +C 99 ; WX 444 ; N c ; B 34 -15 426 481 ; +C 100 ; WX 574 ; N d ; B 43 -15 554 737 ; +C 101 ; WX 500 ; N e ; B 35 -15 466 481 ; +C 102 ; WX 333 ; N f ; B 19 0 433 737 ; +C 103 ; WX 537 ; N g ; B 23 -203 542 495 ; +C 104 ; WX 611 ; N h ; B 15 0 593 737 ; +C 105 ; WX 315 ; N i ; B 18 0 289 715 ; +C 106 ; WX 296 ; N j ; B -82 -202 218 715 ; +C 107 ; WX 593 ; N k ; B 14 0 587 737 ; +C 108 ; WX 315 ; N l ; B 19 0 287 737 ; +C 109 ; WX 889 ; N m ; B 23 0 868 481 ; +C 110 ; WX 611 ; N n ; B 27 0 593 481 ; +C 111 ; WX 500 ; N o ; B 34 -15 466 481 ; +C 112 ; WX 574 ; N p ; B 28 -202 535 481 ; +C 113 ; WX 556 ; N q ; B 36 -202 548 481 ; +C 114 ; WX 444 ; N r ; B 21 0 435 481 ; +C 115 ; WX 463 ; N s ; B 51 -15 421 481 ; +C 116 ; WX 389 ; N t ; B 18 -15 374 664 ; +C 117 ; WX 611 ; N u ; B 21 -15 594 466 ; +C 118 ; WX 537 ; N v ; B 8 -15 528 466 ; +C 119 ; WX 778 ; N w ; B 15 -15 763 466 ; +C 120 ; WX 537 ; N x ; B 9 0 529 466 ; +C 121 ; WX 537 ; N y ; B 3 -206 531 466 ; +C 122 ; WX 481 ; N z ; B 39 0 435 466 ; +C 123 ; WX 333 ; N braceleft ; B 66 -108 297 722 ; +C 124 ; WX 606 ; N bar ; B 264 0 342 722 ; +C 125 ; WX 333 ; N braceright ; B 36 -108 267 722 ; +C 126 ; WX 606 ; N asciitilde ; B 51 165 555 327 ; +C 161 ; WX 296 ; N exclamdown ; B 86 -202 211 549 ; +C 162 ; WX 556 ; N cent ; B 71 -141 479 585 ; +C 163 ; WX 556 ; N sterling ; B 17 -15 537 704 ; +C 164 ; WX 167 ; N fraction ; B -217 0 339 708 ; +C 165 ; WX 556 ; N yen ; B -1 0 557 722 ; +C 166 ; WX 556 ; N florin ; B 3 -205 541 737 ; +C 167 ; WX 500 ; N section ; B 58 -148 448 736 ; +C 168 ; WX 556 ; N currency ; B 26 93 530 597 ; +C 169 ; WX 204 ; N quotesingle ; B 59 498 145 736 ; +C 170 ; WX 389 ; N quotedblleft ; B 26 444 365 736 ; +C 171 ; WX 426 ; N guillemotleft ; B 38 85 388 402 ; +C 172 ; WX 259 ; N guilsinglleft ; B 38 85 221 402 ; +C 173 ; WX 259 ; N guilsinglright ; B 39 85 221 402 ; +C 174 ; WX 611 ; N fi ; B 16 0 588 736 ; +C 175 ; WX 611 ; N fl ; B 16 0 590 737 ; +C 177 ; WX 556 ; N endash ; B 0 206 556 267 ; +C 178 ; WX 500 ; N dagger ; B 44 -144 460 737 ; +C 179 ; WX 500 ; N daggerdbl ; B 47 -144 462 737 ; +C 180 ; WX 278 ; N periodcentered ; B 76 184 201 309 ; +C 182 ; WX 606 ; N paragraph ; B 49 -144 557 722 ; +C 183 ; WX 606 ; N bullet ; B 134 217 471 554 ; +C 184 ; WX 204 ; N quotesinglbase ; B 24 -183 178 108 ; +C 185 ; WX 389 ; N quotedblbase ; B 24 -183 362 108 ; +C 186 ; WX 389 ; N quotedblright ; B 24 444 362 736 ; +C 187 ; WX 426 ; N guillemotright ; B 39 85 388 402 ; +C 188 ; WX 1000 ; N ellipsis ; B 104 -14 895 111 ; +C 189 ; WX 1000 ; N perthousand ; B 2 -2 991 700 ; +C 191 ; WX 444 ; N questiondown ; B 30 -202 416 549 ; +C 193 ; WX 333 ; N grave ; B 17 535 242 706 ; +C 194 ; WX 333 ; N acute ; B 91 535 316 706 ; +C 195 ; WX 333 ; N circumflex ; B 10 535 323 701 ; +C 196 ; WX 333 ; N tilde ; B 1 553 332 659 ; +C 197 ; WX 333 ; N macron ; B 10 568 323 622 ; +C 198 ; WX 333 ; N breve ; B 25 535 308 692 ; +C 199 ; WX 333 ; N dotaccent ; B 117 544 217 644 ; +C 200 ; WX 333 ; N dieresis ; B 17 544 316 644 ; +C 202 ; WX 333 ; N ring ; B 67 530 266 729 ; +C 203 ; WX 333 ; N cedilla ; B 29 -215 237 0 ; +C 205 ; WX 333 ; N hungarumlaut ; B 45 535 288 701 ; +C 206 ; WX 333 ; N ogonek ; B 68 -152 246 0 ; +C 207 ; WX 333 ; N caron ; B 10 535 323 701 ; +C 208 ; WX 1000 ; N emdash ; B 0 206 1000 267 ; +C 225 ; WX 1000 ; N AE ; B 0 0 963 722 ; +C 227 ; WX 334 ; N ordfeminine ; B 5 329 329 730 ; +C 232 ; WX 667 ; N Lslash ; B 34 0 645 722 ; +C 233 ; WX 778 ; N Oslash ; B 30 -76 733 762 ; +C 234 ; WX 1000 ; N OE ; B 19 0 981 722 ; +C 235 ; WX 300 ; N ordmasculine ; B 10 329 291 730 ; +C 241 ; WX 796 ; N ae ; B 36 -15 759 481 ; +C 245 ; WX 315 ; N dotlessi ; B 18 0 289 466 ; +C 248 ; WX 315 ; N lslash ; B 19 0 287 737 ; +C 249 ; WX 500 ; N oslash ; B 34 -91 466 555 ; +C 250 ; WX 833 ; N oe ; B 34 -15 800 481 ; +C 251 ; WX 574 ; N germandbls ; B 29 -15 535 737 ; +C -1 ; WX 815 ; N Udieresis ; B 17 -15 799 902 ; +C -1 ; WX 815 ; N Uacute ; B 17 -15 799 958 ; +C -1 ; WX 630 ; N Scedilla ; B 51 -215 590 737 ; +C -1 ; WX 667 ; N Tcaron ; B 19 0 648 953 ; +C -1 ; WX 630 ; N Scaron ; B 51 -15 590 953 ; +C -1 ; WX 722 ; N Rcaron ; B 26 -15 713 953 ; +C -1 ; WX 722 ; N Racute ; B 26 -15 713 958 ; +C -1 ; WX 630 ; N Sacute ; B 51 -15 590 958 ; +C -1 ; WX 778 ; N Otilde ; B 45 -15 733 915 ; +C -1 ; WX 611 ; N ucircumflex ; B 21 -15 594 701 ; +C -1 ; WX 778 ; N Ohungarumlaut ; B 45 -15 733 953 ; +C -1 ; WX 815 ; N Uhungarumlaut ; B 17 -15 799 953 ; +C -1 ; WX 704 ; N Yacute ; B -13 0 713 958 ; +C -1 ; WX 778 ; N Eth ; B 29 0 732 722 ; +C -1 ; WX 778 ; N Dcroat ; B 29 0 732 722 ; +C -1 ; WX 611 ; N Zacute ; B 24 0 575 958 ; +C -1 ; WX 815 ; N Uring ; B 17 -15 799 981 ; +C -1 ; WX 537 ; N gbreve ; B 23 -203 542 692 ; +C -1 ; WX 500 ; N eogonek ; B 35 -152 466 481 ; +C -1 ; WX 500 ; N edotaccent ; B 35 -15 466 644 ; +C -1 ; WX 500 ; N ecaron ; B 35 -15 466 701 ; +C -1 ; WX 815 ; N Ugrave ; B 17 -15 799 958 ; +C -1 ; WX 667 ; N Thorn ; B 28 0 649 722 ; +C -1 ; WX 500 ; N eacute ; B 35 -15 466 706 ; +C -1 ; WX 500 ; N edieresis ; B 35 -15 466 644 ; +C -1 ; WX 606 ; N dcaron ; B 43 -15 627 740 ; +C -1 ; WX 444 ; N ccedilla ; B 34 -215 426 481 ; +C -1 ; WX 444 ; N ccaron ; B 34 -15 426 701 ; +C -1 ; WX 444 ; N cacute ; B 34 -15 426 706 ; +C -1 ; WX 556 ; N aogonek ; B 44 -152 564 481 ; +C -1 ; WX 556 ; N aring ; B 44 -15 543 729 ; +C -1 ; WX 556 ; N atilde ; B 44 -15 543 659 ; +C -1 ; WX 556 ; N abreve ; B 44 -15 543 692 ; +C -1 ; WX 500 ; N egrave ; B 35 -15 466 706 ; +C -1 ; WX 556 ; N agrave ; B 44 -15 543 706 ; +C -1 ; WX 556 ; N aacute ; B 44 -15 543 706 ; +C -1 ; WX 556 ; N adieresis ; B 44 -15 543 644 ; +C -1 ; WX 815 ; N Uogonek ; B 17 -152 799 722 ; +C -1 ; WX 611 ; N ugrave ; B 21 -15 594 706 ; +C -1 ; WX 611 ; N uacute ; B 21 -15 594 706 ; +C -1 ; WX 611 ; N udieresis ; B 21 -15 594 644 ; +C -1 ; WX 389 ; N tcaron ; B 18 -15 389 740 ; +C -1 ; WX 463 ; N scommaaccent ; B 51 -302 421 481 ; +C -1 ; WX 611 ; N Zcaron ; B 24 0 575 953 ; +C -1 ; WX 500 ; N ecircumflex ; B 35 -15 466 701 ; +C -1 ; WX 815 ; N Ucircumflex ; B 17 -15 799 953 ; +C -1 ; WX 556 ; N acircumflex ; B 44 -15 543 701 ; +C -1 ; WX 611 ; N Zdotaccent ; B 24 0 575 896 ; +C -1 ; WX 463 ; N scaron ; B 51 -15 421 701 ; +C -1 ; WX 722 ; N Amacron ; B -8 0 731 874 ; +C -1 ; WX 463 ; N sacute ; B 51 -15 421 706 ; +C -1 ; WX 667 ; N Tcommaaccent ; B 19 -302 648 722 ; +C -1 ; WX 704 ; N Ydieresis ; B -13 0 713 902 ; +C -1 ; WX 574 ; N thorn ; B 28 -202 535 737 ; +C -1 ; WX 722 ; N Emacron ; B 29 0 663 874 ; +C -1 ; WX 778 ; N Ograve ; B 45 -15 733 958 ; +C -1 ; WX 778 ; N Oacute ; B 45 -15 733 958 ; +C -1 ; WX 778 ; N Odieresis ; B 45 -15 733 902 ; +C -1 ; WX 815 ; N Ntilde ; B 19 -14 794 915 ; +C -1 ; WX 815 ; N Ncaron ; B 19 -14 794 953 ; +C -1 ; WX 815 ; N Nacute ; B 19 -14 794 958 ; +C -1 ; WX 667 ; N Lcaron ; B 35 0 646 740 ; +C -1 ; WX 667 ; N Lacute ; B 35 0 646 958 ; +C -1 ; WX 407 ; N Idotaccent ; B 38 0 369 896 ; +C -1 ; WX 444 ; N racute ; B 21 0 435 706 ; +C -1 ; WX 407 ; N Icircumflex ; B 38 0 369 953 ; +C -1 ; WX 500 ; N ohungarumlaut ; B 34 -15 466 701 ; +C -1 ; WX 500 ; N otilde ; B 34 -15 466 659 ; +C -1 ; WX 556 ; N Euro ; B 0 -15 545 713 ; +C -1 ; WX 500 ; N ocircumflex ; B 34 -15 466 701 ; +C -1 ; WX 333 ; N onesuperior ; B 39 289 294 712 ; +C -1 ; WX 333 ; N twosuperior ; B 13 289 319 712 ; +C -1 ; WX 333 ; N threesuperior ; B 18 280 314 712 ; +C -1 ; WX 407 ; N Igrave ; B 38 0 369 958 ; +C -1 ; WX 407 ; N Iacute ; B 38 0 369 958 ; +C -1 ; WX 407 ; N Imacron ; B 38 0 369 874 ; +C -1 ; WX 407 ; N Iogonek ; B 38 -152 407 722 ; +C -1 ; WX 407 ; N Idieresis ; B 38 0 369 902 ; +C -1 ; WX 778 ; N Gbreve ; B 42 -15 772 944 ; +C -1 ; WX 815 ; N Umacron ; B 17 -15 799 874 ; +C -1 ; WX 778 ; N Kcommaaccent ; B 30 -302 803 722 ; +C -1 ; WX 500 ; N ograve ; B 34 -15 466 706 ; +C -1 ; WX 630 ; N Scommaaccent ; B 51 -302 590 737 ; +C -1 ; WX 722 ; N Eogonek ; B 29 -152 680 722 ; +C -1 ; WX 500 ; N oacute ; B 34 -15 466 706 ; +C -1 ; WX 722 ; N Edotaccent ; B 29 0 663 896 ; +C -1 ; WX 315 ; N iogonek ; B 18 -152 327 715 ; +C -1 ; WX 537 ; N gcommaaccent ; B 23 -203 542 780 ; +C -1 ; WX 500 ; N odieresis ; B 34 -15 466 644 ; +C -1 ; WX 611 ; N ntilde ; B 27 0 593 659 ; +C -1 ; WX 611 ; N ncaron ; B 27 0 593 701 ; +C -1 ; WX 722 ; N Ecaron ; B 29 0 663 953 ; +C -1 ; WX 722 ; N Ecircumflex ; B 29 0 663 953 ; +C -1 ; WX 463 ; N scedilla ; B 51 -215 421 481 ; +C -1 ; WX 444 ; N rcaron ; B 21 0 435 701 ; +C -1 ; WX 722 ; N Egrave ; B 29 0 663 958 ; +C -1 ; WX 722 ; N Eacute ; B 29 0 663 958 ; +C -1 ; WX 778 ; N Gcommaaccent ; B 42 -302 772 737 ; +C -1 ; WX 722 ; N Rcommaaccent ; B 26 -302 713 722 ; +C -1 ; WX 722 ; N Edieresis ; B 29 0 663 902 ; +C -1 ; WX 611 ; N nacute ; B 27 0 593 706 ; +C -1 ; WX 611 ; N uogonek ; B 21 -152 632 466 ; +C -1 ; WX 611 ; N umacron ; B 21 -15 594 622 ; +C -1 ; WX 778 ; N Dcaron ; B 29 0 732 953 ; +C -1 ; WX 339 ; N lcaron ; B 19 0 359 740 ; +C -1 ; WX 722 ; N Ccaron ; B 45 -15 668 953 ; +C -1 ; WX 722 ; N Cacute ; B 45 -15 668 958 ; +C -1 ; WX 722 ; N Ccedilla ; B 45 -216 668 737 ; +C -1 ; WX 400 ; N degree ; B 50 380 350 686 ; +C -1 ; WX 722 ; N Aogonek ; B -8 -152 769 736 ; +C -1 ; WX 606 ; N minus ; B 51 213 555 293 ; +C -1 ; WX 606 ; N multiply ; B 51 1 555 505 ; +C -1 ; WX 606 ; N divide ; B 51 -9 555 515 ; +C -1 ; WX 722 ; N Aring ; B -8 0 731 979 ; +C -1 ; WX 1000 ; N trademark ; B 45 294 955 722 ; +C -1 ; WX 444 ; N rcommaaccent ; B 21 -302 435 481 ; +C -1 ; WX 315 ; N lacute ; B 19 0 307 958 ; +C -1 ; WX 500 ; N omacron ; B 34 -15 466 622 ; +C -1 ; WX 722 ; N Atilde ; B -8 0 731 915 ; +C -1 ; WX 315 ; N icircumflex ; B 1 0 314 701 ; +C -1 ; WX 315 ; N igrave ; B 8 0 289 706 ; +C -1 ; WX 611 ; N ncommaaccent ; B 27 -302 593 481 ; +C -1 ; WX 315 ; N lcommaaccent ; B 19 -302 287 737 ; +C -1 ; WX 606 ; N plusminus ; B 51 0 555 581 ; +C -1 ; WX 834 ; N onehalf ; B 39 0 821 712 ; +C -1 ; WX 834 ; N onequarter ; B 39 0 795 712 ; +C -1 ; WX 834 ; N threequarters ; B 28 0 795 712 ; +C -1 ; WX 315 ; N iacute ; B 18 0 307 706 ; +C -1 ; WX 722 ; N Abreve ; B -8 0 731 944 ; +C -1 ; WX 593 ; N kcommaaccent ; B 14 -302 587 737 ; +C -1 ; WX 778 ; N Omacron ; B 45 -15 733 874 ; +C -1 ; WX 315 ; N imacron ; B 1 0 314 622 ; +C -1 ; WX 500 ; N emacron ; B 35 -15 466 622 ; +C -1 ; WX 556 ; N amacron ; B 44 -15 543 622 ; +C -1 ; WX 389 ; N tcommaaccent ; B 18 -302 374 664 ; +C -1 ; WX 537 ; N ydieresis ; B 3 -206 531 644 ; +C -1 ; WX 481 ; N zdotaccent ; B 39 0 435 644 ; +C -1 ; WX 481 ; N zcaron ; B 39 0 435 701 ; +C -1 ; WX 481 ; N zacute ; B 39 0 436 706 ; +C -1 ; WX 537 ; N yacute ; B 3 -206 531 706 ; +C -1 ; WX 611 ; N uhungarumlaut ; B 21 -15 594 701 ; +C -1 ; WX 500 ; N eth ; B 34 -15 466 731 ; +C -1 ; WX 611 ; N uring ; B 21 -15 594 729 ; +C -1 ; WX 778 ; N Ocircumflex ; B 45 -15 733 953 ; +C -1 ; WX 333 ; N commaaccent ; B 96 -302 235 -40 ; +C -1 ; WX 737 ; N copyright ; B -8 -15 744 737 ; +C -1 ; WX 737 ; N registered ; B -8 -15 744 737 ; +C -1 ; WX 722 ; N Acircumflex ; B -8 0 731 953 ; +C -1 ; WX 315 ; N idieresis ; B 8 0 307 644 ; +C -1 ; WX 494 ; N lozenge ; B 18 0 466 740 ; +C -1 ; WX 612 ; N Delta ; B 6 0 608 688 ; +C -1 ; WX 606 ; N notequal ; B 51 -43 555 549 ; +C -1 ; WX 549 ; N radical ; B -10 -35 531 916 ; +C -1 ; WX 722 ; N Agrave ; B -8 0 731 958 ; +C -1 ; WX 722 ; N Aacute ; B -8 0 731 958 ; +C -1 ; WX 606 ; N lessequal ; B 49 0 558 643 ; +C -1 ; WX 606 ; N greaterequal ; B 48 0 557 643 ; +C -1 ; WX 606 ; N logicalnot ; B 51 0 555 293 ; +C -1 ; WX 713 ; N summation ; B 14 -123 695 752 ; +C -1 ; WX 494 ; N partialdiff ; B 26 -10 462 753 ; +C -1 ; WX 815 ; N Ncommaaccent ; B 19 -302 794 722 ; +C -1 ; WX 574 ; N dcroat ; B 43 -15 554 737 ; +C -1 ; WX 606 ; N brokenbar ; B 264 0 342 722 ; +C -1 ; WX 667 ; N Lcommaaccent ; B 35 -302 646 722 ; +C -1 ; WX 722 ; N Adieresis ; B -8 0 731 902 ; +C -1 ; WX 611 ; N mu ; B 21 -219 594 466 ; +C -1 ; WX 278 ; N .notdef ; B 0 0 0 0 ; +EndCharMetrics +StartKernData +StartKernPairs 998 +KPX A C -38 +KPX A Ccedilla -43 +KPX A G -37 +KPX A O -41 +KPX A Odieresis -41 +KPX A Q -39 +KPX A T -31 +KPX A U -41 +KPX A Uacute -41 +KPX A Ucircumflex -41 +KPX A Udieresis -41 +KPX A Ugrave -41 +KPX A V -101 +KPX A W -90 +KPX A Y -45 +KPX A a 15 +KPX A b 8 +KPX A c -2 +KPX A ccedilla -9 +KPX A comma 13 +KPX A d -6 +KPX A e -5 +KPX A g 18 +KPX A guillemotleft -36 +KPX A guilsinglleft -36 +KPX A hyphen -6 +KPX A o -9 +KPX A period 12 +KPX A q 0 +KPX A quotedblright -67 +KPX A quoteright -66 +KPX A t -12 +KPX A u -15 +KPX A v -66 +KPX A w -61 +KPX A y -70 +KPX Aacute C -38 +KPX Aacute G -37 +KPX Aacute O -41 +KPX Aacute Q -39 +KPX Aacute T -31 +KPX Aacute U -41 +KPX Aacute V -101 +KPX Aacute W -90 +KPX Aacute Y -45 +KPX Aacute a 15 +KPX Aacute b 8 +KPX Aacute c -2 +KPX Aacute comma 13 +KPX Aacute d -6 +KPX Aacute e -5 +KPX Aacute g 18 +KPX Aacute guillemotleft -36 +KPX Aacute guilsinglleft -36 +KPX Aacute hyphen -6 +KPX Aacute o -9 +KPX Aacute period 12 +KPX Aacute q 0 +KPX Aacute quoteright -66 +KPX Aacute t -12 +KPX Aacute u -15 +KPX Aacute v -66 +KPX Aacute w -61 +KPX Aacute y -70 +KPX Acircumflex C -38 +KPX Acircumflex G -37 +KPX Acircumflex O -41 +KPX Acircumflex Q -39 +KPX Acircumflex T -31 +KPX Acircumflex U -41 +KPX Acircumflex V -101 +KPX Acircumflex W -90 +KPX Acircumflex Y -45 +KPX Acircumflex comma 13 +KPX Acircumflex period 12 +KPX Adieresis C -38 +KPX Adieresis G -37 +KPX Adieresis O -41 +KPX Adieresis Q -39 +KPX Adieresis T -31 +KPX Adieresis U -41 +KPX Adieresis V -101 +KPX Adieresis W -90 +KPX Adieresis Y -45 +KPX Adieresis a 15 +KPX Adieresis b 8 +KPX Adieresis c -2 +KPX Adieresis comma 13 +KPX Adieresis d -6 +KPX Adieresis g 18 +KPX Adieresis guillemotleft -36 +KPX Adieresis guilsinglleft -36 +KPX Adieresis hyphen -6 +KPX Adieresis o -9 +KPX Adieresis period 12 +KPX Adieresis q 0 +KPX Adieresis quotedblright -67 +KPX Adieresis quoteright -66 +KPX Adieresis t -12 +KPX Adieresis u -15 +KPX Adieresis v -66 +KPX Adieresis w -61 +KPX Adieresis y -70 +KPX Agrave C -38 +KPX Agrave G -37 +KPX Agrave O -41 +KPX Agrave Q -39 +KPX Agrave T -31 +KPX Agrave U -41 +KPX Agrave V -101 +KPX Agrave W -90 +KPX Agrave Y -45 +KPX Agrave comma 13 +KPX Agrave period 12 +KPX Aring C -38 +KPX Aring G -37 +KPX Aring O -41 +KPX Aring Q -39 +KPX Aring T -31 +KPX Aring U -41 +KPX Aring V -101 +KPX Aring W -90 +KPX Aring Y -45 +KPX Aring a 15 +KPX Aring b 8 +KPX Aring c -2 +KPX Aring comma 13 +KPX Aring d -6 +KPX Aring e -5 +KPX Aring g 18 +KPX Aring guillemotleft -36 +KPX Aring guilsinglleft -36 +KPX Aring hyphen -6 +KPX Aring o -9 +KPX Aring period 12 +KPX Aring q 0 +KPX Aring quotedblright -67 +KPX Aring quoteright -66 +KPX Aring t -12 +KPX Aring u -15 +KPX Aring v -66 +KPX Aring w -61 +KPX Aring y -70 +KPX Atilde C -38 +KPX Atilde G -37 +KPX Atilde O -41 +KPX Atilde Q -39 +KPX Atilde T -31 +KPX Atilde U -41 +KPX Atilde V -101 +KPX Atilde W -90 +KPX Atilde Y -45 +KPX Atilde comma 13 +KPX Atilde period 12 +KPX B A -9 +KPX B AE -13 +KPX B Aacute -9 +KPX B Acircumflex -9 +KPX B Adieresis -9 +KPX B Aring -9 +KPX B Atilde -9 +KPX B O -11 +KPX B OE 0 +KPX B Oacute -11 +KPX B Ocircumflex -11 +KPX B Odieresis -11 +KPX B Ograve -11 +KPX B Oslash -9 +KPX B V -26 +KPX B W -33 +KPX B Y -19 +KPX C A -24 +KPX C AE -28 +KPX C Aacute -24 +KPX C Adieresis -24 +KPX C Aring -24 +KPX C H -9 +KPX C K -9 +KPX C O -6 +KPX C Oacute -6 +KPX C Odieresis -6 +KPX Ccedilla A -28 +KPX D A -38 +KPX D Aacute -38 +KPX D Acircumflex -38 +KPX D Adieresis -38 +KPX D Agrave -38 +KPX D Aring -38 +KPX D Atilde -38 +KPX D J 6 +KPX D T 10 +KPX D V -41 +KPX D W -47 +KPX D X -37 +KPX D Y -34 +KPX F A -77 +KPX F Aacute -77 +KPX F Acircumflex -77 +KPX F Adieresis -77 +KPX F Agrave -77 +KPX F Aring -77 +KPX F Atilde -77 +KPX F J -57 +KPX F O 2 +KPX F Odieresis 2 +KPX F a -36 +KPX F aacute -36 +KPX F adieresis -36 +KPX F ae -33 +KPX F aring -36 +KPX F comma -93 +KPX F e -42 +KPX F eacute -42 +KPX F hyphen -40 +KPX F i 11 +KPX F j 14 +KPX F o -41 +KPX F oacute -41 +KPX F odieresis -29 +KPX F oe -40 +KPX F oslash -45 +KPX F period -94 +KPX F r 10 +KPX F u 14 +KPX G A -6 +KPX G AE -10 +KPX G Aacute -6 +KPX G Acircumflex -6 +KPX G Adieresis -6 +KPX G Agrave -6 +KPX G Aring -6 +KPX G Atilde -6 +KPX G T -12 +KPX G V -13 +KPX G W -20 +KPX G Y -10 +KPX J A -42 +KPX J AE -46 +KPX J Adieresis -42 +KPX J Aring -42 +KPX K C -30 +KPX K G -29 +KPX K O -33 +KPX K OE -23 +KPX K Oacute -33 +KPX K Odieresis -33 +KPX K S 30 +KPX K T 21 +KPX K a 23 +KPX K adieresis 23 +KPX K ae 28 +KPX K aring 23 +KPX K e 2 +KPX K hyphen -30 +KPX K o -1 +KPX K oacute -1 +KPX K odieresis -1 +KPX K u -7 +KPX K udieresis -7 +KPX K y -67 +KPX L A 29 +KPX L AE 25 +KPX L Aacute 29 +KPX L Adieresis 29 +KPX L Aring 29 +KPX L C 7 +KPX L Ccedilla 6 +KPX L G 9 +KPX L O 6 +KPX L Oacute 6 +KPX L Ocircumflex 6 +KPX L Odieresis 6 +KPX L Ograve 6 +KPX L Otilde 6 +KPX L S 8 +KPX L T -51 +KPX L U -27 +KPX L Udieresis -27 +KPX L V -80 +KPX L W -69 +KPX L Y -69 +KPX L hyphen 49 +KPX L quotedblright -47 +KPX L quoteright -46 +KPX L u -8 +KPX L udieresis -8 +KPX L y -37 +KPX N A -19 +KPX N AE -23 +KPX N Aacute -19 +KPX N Adieresis -19 +KPX N Aring -19 +KPX N C -26 +KPX N Ccedilla -26 +KPX N G -24 +KPX N O -26 +KPX N Oacute -26 +KPX N Odieresis -26 +KPX N a -37 +KPX N aacute -37 +KPX N adieresis -37 +KPX N ae -32 +KPX N aring -37 +KPX N comma -24 +KPX N e -29 +KPX N eacute -29 +KPX N o -29 +KPX N oacute -29 +KPX N odieresis -29 +KPX N oslash -28 +KPX N period -25 +KPX N u -39 +KPX N udieresis -39 +KPX O A -41 +KPX O AE -45 +KPX O Aacute -41 +KPX O Adieresis -41 +KPX O Aring -41 +KPX O T 10 +KPX O V -38 +KPX O W -45 +KPX O X -34 +KPX O Y -31 +KPX Oacute A -41 +KPX Oacute T 10 +KPX Oacute V -38 +KPX Oacute W -45 +KPX Oacute Y -31 +KPX Ocircumflex T 10 +KPX Ocircumflex V -38 +KPX Ocircumflex Y -31 +KPX Odieresis A -41 +KPX Odieresis T 10 +KPX Odieresis V -38 +KPX Odieresis W -45 +KPX Odieresis X -34 +KPX Odieresis Y -31 +KPX Ograve T 10 +KPX Ograve V -38 +KPX Ograve Y -31 +KPX Oslash A -44 +KPX Otilde T 10 +KPX Otilde V -38 +KPX Otilde Y -31 +KPX P A -76 +KPX P AE -84 +KPX P Aacute -76 +KPX P Adieresis -76 +KPX P Aring -76 +KPX P J -56 +KPX P a -23 +KPX P aacute -23 +KPX P adieresis -23 +KPX P ae -20 +KPX P aring -23 +KPX P comma -100 +KPX P e -26 +KPX P eacute -26 +KPX P hyphen -35 +KPX P o -26 +KPX P oacute -26 +KPX P odieresis -25 +KPX P oe -25 +KPX P oslash -29 +KPX P period -101 +KPX R C -3 +KPX R Ccedilla -5 +KPX R G 0 +KPX R O -5 +KPX R OE 6 +KPX R Oacute -5 +KPX R Odieresis -5 +KPX R T -10 +KPX R U -22 +KPX R Udieresis -22 +KPX R V -21 +KPX R W -28 +KPX R Y -14 +KPX R a 11 +KPX R aacute 11 +KPX R adieresis 11 +KPX R ae 15 +KPX R aring 11 +KPX R e 15 +KPX R eacute 15 +KPX R hyphen 30 +KPX R o 13 +KPX R oacute 13 +KPX R odieresis 13 +KPX R oe 14 +KPX R u -15 +KPX R uacute -15 +KPX R udieresis -15 +KPX R y -19 +KPX S A -1 +KPX S AE -5 +KPX S Aacute -1 +KPX S Adieresis -1 +KPX S Aring -1 +KPX S T -1 +KPX S V 8 +KPX S W 1 +KPX S Y 10 +KPX S t -5 +KPX T A -32 +KPX T AE -36 +KPX T Aacute -32 +KPX T Acircumflex -32 +KPX T Adieresis -32 +KPX T Agrave -32 +KPX T Aring -32 +KPX T Atilde -32 +KPX T C 10 +KPX T G 12 +KPX T J -58 +KPX T O 10 +KPX T OE 23 +KPX T Oacute 10 +KPX T Ocircumflex 10 +KPX T Odieresis 10 +KPX T Ograve 10 +KPX T Oslash 10 +KPX T Otilde 10 +KPX T S 0 +KPX T V 33 +KPX T W 26 +KPX T Y 35 +KPX T a -19 +KPX T ae -15 +KPX T c -23 +KPX T colon -9 +KPX T comma -71 +KPX T e -24 +KPX T g -23 +KPX T guillemotleft -104 +KPX T guilsinglleft -104 +KPX T hyphen -74 +KPX T i 21 +KPX T j 23 +KPX T o -23 +KPX T oslash -27 +KPX T period -73 +KPX T r 19 +KPX T s -10 +KPX T semicolon -9 +KPX T u 19 +KPX T v 26 +KPX T w 22 +KPX T y 23 +KPX U A -54 +KPX U AE -58 +KPX U Aacute -54 +KPX U Acircumflex -54 +KPX U Adieresis -54 +KPX U Aring -54 +KPX U Atilde -54 +KPX U comma -43 +KPX U m -38 +KPX U n -40 +KPX U p -40 +KPX U period -44 +KPX U r -37 +KPX Uacute A -54 +KPX Uacute comma -43 +KPX Uacute m -38 +KPX Uacute n -40 +KPX Uacute p -40 +KPX Uacute period -44 +KPX Uacute r -37 +KPX Ucircumflex A -54 +KPX Udieresis A -54 +KPX Udieresis b 27 +KPX Udieresis comma -43 +KPX Udieresis m -38 +KPX Udieresis n -40 +KPX Udieresis p -40 +KPX Udieresis period -44 +KPX Udieresis r -37 +KPX Ugrave A -54 +KPX V A -100 +KPX V AE -70 +KPX V Aacute -100 +KPX V Acircumflex -100 +KPX V Adieresis -100 +KPX V Agrave -100 +KPX V Aring -100 +KPX V Atilde -100 +KPX V C -40 +KPX V G -39 +KPX V O -36 +KPX V Oacute -36 +KPX V Ocircumflex -36 +KPX V Odieresis -36 +KPX V Ograve -36 +KPX V Oslash -39 +KPX V Otilde -36 +KPX V S -7 +KPX V T 33 +KPX V a -87 +KPX V ae -84 +KPX V colon -81 +KPX V comma -101 +KPX V e -82 +KPX V g -86 +KPX V guillemotleft -85 +KPX V guilsinglleft -85 +KPX V hyphen -57 +KPX V i -7 +KPX V o -82 +KPX V oslash -82 +KPX V period -102 +KPX V r -49 +KPX V semicolon -81 +KPX V u -47 +KPX V y -43 +KPX W A -84 +KPX W AE -77 +KPX W Aacute -84 +KPX W Acircumflex -84 +KPX W Adieresis -84 +KPX W Agrave -84 +KPX W Aring -84 +KPX W Atilde -84 +KPX W C -47 +KPX W G -45 +KPX W O -43 +KPX W Oacute -43 +KPX W Ocircumflex -43 +KPX W Odieresis -43 +KPX W Ograve -43 +KPX W Oslash -43 +KPX W Otilde -43 +KPX W S -14 +KPX W T 26 +KPX W a -75 +KPX W ae -70 +KPX W colon -75 +KPX W comma -79 +KPX W e -66 +KPX W g -70 +KPX W guillemotleft -70 +KPX W guilsinglleft -70 +KPX W hyphen -41 +KPX W i -14 +KPX W o -67 +KPX W oslash -66 +KPX W period -81 +KPX W r -43 +KPX W semicolon -75 +KPX W u -42 +KPX W y -38 +KPX X C -36 +KPX X O -39 +KPX X Odieresis -39 +KPX X Q -37 +KPX X a 17 +KPX X e -3 +KPX X hyphen -37 +KPX X o -7 +KPX X u -14 +KPX X y -74 +KPX Y A -36 +KPX Y AE -40 +KPX Y Aacute -36 +KPX Y Acircumflex -36 +KPX Y Adieresis -36 +KPX Y Agrave -36 +KPX Y Aring -36 +KPX Y Atilde -36 +KPX Y C -36 +KPX Y G -34 +KPX Y O -32 +KPX Y Oacute -32 +KPX Y Ocircumflex -32 +KPX Y Odieresis -32 +KPX Y Ograve -32 +KPX Y Oslash -35 +KPX Y Otilde -32 +KPX Y S -3 +KPX Y T 33 +KPX Y a -74 +KPX Y ae -69 +KPX Y colon -83 +KPX Y comma -76 +KPX Y e -88 +KPX Y g -71 +KPX Y guillemotleft -104 +KPX Y guilsinglleft -104 +KPX Y hyphen -78 +KPX Y i -7 +KPX Y o -89 +KPX Y oslash -88 +KPX Y p -71 +KPX Y period -77 +KPX Y semicolon -80 +KPX Y u -64 +KPX Y v -58 +KPX Z v -38 +KPX Z y -42 +KPX a j -28 +KPX a quoteright -11 +KPX a v -33 +KPX a w -37 +KPX a y -39 +KPX aacute v -33 +KPX aacute w -37 +KPX aacute y -39 +KPX adieresis v -33 +KPX adieresis w -37 +KPX adieresis y -39 +KPX ae v -21 +KPX ae w -25 +KPX ae y -29 +KPX agrave v -33 +KPX agrave w -37 +KPX agrave y -39 +KPX aring v -33 +KPX aring w -37 +KPX aring y -39 +KPX b v -17 +KPX b w -21 +KPX b y -25 +KPX c h -14 +KPX c k -14 +KPX comma one -35 +KPX comma quotedblright -13 +KPX comma quoteright -12 +KPX e quoteright 10 +KPX e t -20 +KPX e v -19 +KPX e w -22 +KPX e x -18 +KPX e y -25 +KPX eacute v -19 +KPX eacute w -22 +KPX eacute y -25 +KPX ecircumflex v -19 +KPX ecircumflex w -22 +KPX ecircumflex y -25 +KPX eight four 9 +KPX eight one -44 +KPX eight seven -24 +KPX f a -15 +KPX f aacute -15 +KPX f adieresis 19 +KPX f ae -11 +KPX f aring -3 +KPX f e -23 +KPX f eacute -23 +KPX f f 21 +KPX f i 32 +KPX f j 32 +KPX f l 73 +KPX f o -21 +KPX f oacute -21 +KPX f odieresis 31 +KPX f oe -21 +KPX f oslash -25 +KPX f quoteright 72 +KPX f s -10 +KPX f t 13 +KPX five four 4 +KPX five one -63 +KPX five seven -36 +KPX four four 16 +KPX four one -33 +KPX four seven -45 +KPX g a -5 +KPX g adieresis -5 +KPX g ae -2 +KPX g aring -5 +KPX g e -6 +KPX g eacute -6 +KPX g l -10 +KPX g oacute -6 +KPX g odieresis -6 +KPX g r 25 +KPX guillemotright A -36 +KPX guillemotright AE -39 +KPX guillemotright Aacute -36 +KPX guillemotright Adieresis -36 +KPX guillemotright Aring -36 +KPX guillemotright T -104 +KPX guillemotright V -85 +KPX guillemotright W -73 +KPX guillemotright Y -112 +KPX guilsinglright A -36 +KPX guilsinglright AE -39 +KPX guilsinglright Aacute -36 +KPX guilsinglright Adieresis -36 +KPX guilsinglright Aring -36 +KPX guilsinglright T -104 +KPX guilsinglright V -85 +KPX guilsinglright W -73 +KPX guilsinglright Y -112 +KPX h quoteright -11 +KPX h y -43 +KPX hyphen A -5 +KPX hyphen AE -9 +KPX hyphen Aacute -5 +KPX hyphen Adieresis -5 +KPX hyphen Aring -5 +KPX hyphen T -74 +KPX hyphen V -56 +KPX hyphen W -44 +KPX hyphen Y -87 +KPX i T -24 +KPX i j -26 +KPX k a 1 +KPX k aacute 1 +KPX k adieresis 1 +KPX k ae 5 +KPX k aring 1 +KPX k comma 1 +KPX k e -23 +KPX k eacute -23 +KPX k g 4 +KPX k hyphen -63 +KPX k o -26 +KPX k oacute -26 +KPX k odieresis -26 +KPX k period -1 +KPX k s 5 +KPX k u -2 +KPX k udieresis -2 +KPX l v -25 +KPX l y -28 +KPX m p -30 +KPX m v -37 +KPX m w -40 +KPX m y -44 +KPX n T -36 +KPX n p -28 +KPX n quoteright -11 +KPX n v -36 +KPX n w -40 +KPX n y -43 +KPX nine four 0 +KPX nine one -49 +KPX nine seven -9 +KPX o T -22 +KPX o quoteright 8 +KPX o t -21 +KPX o v -22 +KPX o w -26 +KPX o x -22 +KPX o y -30 +KPX oacute v -22 +KPX oacute w -26 +KPX oacute y -30 +KPX ocircumflex t -21 +KPX odieresis t -21 +KPX odieresis v -22 +KPX odieresis w -26 +KPX odieresis x -22 +KPX odieresis y -30 +KPX ograve v -22 +KPX ograve w -26 +KPX ograve y -30 +KPX one comma -20 +KPX one eight -31 +KPX one five -29 +KPX one four -56 +KPX one nine -23 +KPX one one -35 +KPX one period -22 +KPX one seven -83 +KPX one six -50 +KPX one three -27 +KPX one two -2 +KPX one zero -50 +KPX p t -21 +KPX p y -33 +KPX period one -44 +KPX period quotedblright -20 +KPX period quoteright -19 +KPX q c -14 +KPX q u -11 +KPX quotedblbase A 36 +KPX quotedblbase AE 38 +KPX quotedblbase T -49 +KPX quotedblbase V -81 +KPX quotedblbase W -65 +KPX quotedblbase Y -63 +KPX quotedblleft A -65 +KPX quotedblleft AE -78 +KPX quotedblleft Aacute -65 +KPX quotedblleft Adieresis -65 +KPX quotedblleft Aring -65 +KPX quotedblleft T 47 +KPX quotedblleft V 36 +KPX quotedblleft W 29 +KPX quotedblleft Y 38 +KPX quotedblright A -68 +KPX quotedblright AE -81 +KPX quotedblright Aacute -68 +KPX quotedblright Adieresis -68 +KPX quotedblright Aring -68 +KPX quotedblright T 45 +KPX quotedblright V 33 +KPX quotedblright W 26 +KPX quotedblright Y 36 +KPX quoteleft A -65 +KPX quoteleft AE -78 +KPX quoteleft Aacute -65 +KPX quoteleft Adieresis -65 +KPX quoteleft Aring -65 +KPX quoteleft T 48 +KPX quoteleft V 36 +KPX quoteleft W 30 +KPX quoteleft Y 39 +KPX quoteright A -68 +KPX quoteright AE -81 +KPX quoteright Aacute -68 +KPX quoteright Adieresis -68 +KPX quoteright Aring -68 +KPX quoteright comma -30 +KPX quoteright d -9 +KPX quoteright o -7 +KPX quoteright period -31 +KPX quoteright r 0 +KPX quoteright s -4 +KPX quoteright t 4 +KPX quoteright v 8 +KPX quoteright w 4 +KPX quoteright y 5 +KPX r a -7 +KPX r aacute -7 +KPX r acircumflex -7 +KPX r adieresis -7 +KPX r ae -3 +KPX r agrave -7 +KPX r aring -7 +KPX r c -2 +KPX r ccedilla 0 +KPX r colon -8 +KPX r comma -72 +KPX r d -5 +KPX r e -2 +KPX r eacute -2 +KPX r ecircumflex -2 +KPX r egrave -2 +KPX r f 19 +KPX r g -5 +KPX r h -23 +KPX r hyphen -35 +KPX r i 20 +KPX r j 23 +KPX r k -23 +KPX r l -25 +KPX r m 18 +KPX r n 16 +KPX r o -1 +KPX r oacute -1 +KPX r ocircumflex -1 +KPX r odieresis -1 +KPX r oe -1 +KPX r ograve -1 +KPX r oslash -3 +KPX r p 15 +KPX r period -74 +KPX r q -6 +KPX r quoteright 30 +KPX r r 19 +KPX r s -1 +KPX r semicolon -8 +KPX r t 19 +KPX r u 18 +KPX r v 23 +KPX r w 19 +KPX r x 20 +KPX r y 18 +KPX r z -2 +KPX s quoteright 7 +KPX s t -11 +KPX seven colon -76 +KPX seven comma -68 +KPX seven eight -39 +KPX seven five -38 +KPX seven four -77 +KPX seven one -39 +KPX seven period -70 +KPX seven seven -21 +KPX seven six -39 +KPX seven three -31 +KPX seven two -31 +KPX six four 11 +KPX six one -36 +KPX six seven -20 +KPX t S 8 +KPX t a 3 +KPX t aacute 3 +KPX t adieresis 3 +KPX t ae 6 +KPX t aring 3 +KPX t colon -19 +KPX t e 7 +KPX t eacute 7 +KPX t h -4 +KPX t o 7 +KPX t oacute 7 +KPX t odieresis 7 +KPX t quoteright 3 +KPX t semicolon -17 +KPX three four 2 +KPX three one -47 +KPX three seven -26 +KPX two four 5 +KPX two one -37 +KPX two seven -13 +KPX u quoteright -6 +KPX v a -19 +KPX v aacute -19 +KPX v acircumflex -19 +KPX v adieresis -19 +KPX v ae -15 +KPX v agrave -19 +KPX v aring -19 +KPX v atilde -19 +KPX v c -24 +KPX v colon -9 +KPX v comma -78 +KPX v e -25 +KPX v eacute -25 +KPX v ecircumflex -25 +KPX v egrave -25 +KPX v g -23 +KPX v hyphen -29 +KPX v l -25 +KPX v o -23 +KPX v oacute -23 +KPX v odieresis -23 +KPX v ograve -23 +KPX v oslash -28 +KPX v period -79 +KPX v s -11 +KPX v semicolon -10 +KPX w a -22 +KPX w aacute -22 +KPX w acircumflex -22 +KPX w adieresis -22 +KPX w ae -18 +KPX w agrave -22 +KPX w aring -22 +KPX w atilde -22 +KPX w c -27 +KPX w colon -12 +KPX w comma -73 +KPX w e -28 +KPX w eacute -28 +KPX w ecircumflex -28 +KPX w egrave -28 +KPX w g -26 +KPX w hyphen -26 +KPX w l -28 +KPX w o -26 +KPX w oacute -26 +KPX w odieresis -26 +KPX w ograve -26 +KPX w oslash -31 +KPX w period -74 +KPX w s -14 +KPX w semicolon -13 +KPX x a -3 +KPX x c -24 +KPX x e -27 +KPX x eacute -27 +KPX x o -31 +KPX x q -20 +KPX y a -21 +KPX y aacute -21 +KPX y acircumflex -21 +KPX y adieresis -21 +KPX y ae -17 +KPX y agrave -21 +KPX y aring -21 +KPX y atilde -21 +KPX y c -25 +KPX y colon -10 +KPX y comma -76 +KPX y e -26 +KPX y eacute -26 +KPX y ecircumflex -26 +KPX y egrave -26 +KPX y g -25 +KPX y hyphen -28 +KPX y l -24 +KPX y o -25 +KPX y oacute -25 +KPX y odieresis -25 +KPX y ograve -25 +KPX y oslash -29 +KPX y period -78 +KPX y s -12 +KPX y semicolon -11 +KPX zero four 4 +KPX zero one -52 +KPX zero seven -11 +EndKernPairs +EndKernData +EndFontMetrics diff --git a/Master/xemtex/gsfonts/c059013l.pfb b/Master/xemtex/gsfonts/c059013l.pfb new file mode 100644 index 00000000000..9cb80166eae Binary files /dev/null and b/Master/xemtex/gsfonts/c059013l.pfb differ diff --git a/Master/xemtex/gsfonts/c059013l.pfm b/Master/xemtex/gsfonts/c059013l.pfm new file mode 100644 index 00000000000..6062d2bc2cd Binary files /dev/null and b/Master/xemtex/gsfonts/c059013l.pfm differ diff --git a/Master/xemtex/gsfonts/c059016l.afm b/Master/xemtex/gsfonts/c059016l.afm new file mode 100644 index 00000000000..a3bb7f0c110 --- /dev/null +++ b/Master/xemtex/gsfonts/c059016l.afm @@ -0,0 +1,1341 @@ +StartFontMetrics 3.0 +Comment Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development +Comment Creation Date: 12/22/1999 +Comment See the file PUBLIC (Aladdin Free Public License) for license conditions. +FontName CenturySchL-Bold +FullName Century Schoolbook L Bold +FamilyName Century Schoolbook L +Weight Bold +ItalicAngle 0.0 +IsFixedPitch false +UnderlinePosition -103 +UnderlineThickness 90 +Version 1.05 +Notice (URW)++,Copyright 1999 by (URW)++ Design & Development +EncodingScheme AdobeStandardEncoding +FontBBox -166 -372 1000 1005 +CapHeight 722 +XHeight 473 +Descender -202 +Ascender 737 +StartCharMetrics 316 +C 32 ; WX 287 ; N space ; B 0 0 0 0 ; +C 33 ; WX 296 ; N exclam ; B 57 -15 244 737 ; +C 34 ; WX 333 ; N quotedbl ; B -12 416 346 737 ; +C 35 ; WX 574 ; N numbersign ; B 41 0 533 700 ; +C 36 ; WX 574 ; N dollar ; B 25 -137 549 801 ; +C 37 ; WX 833 ; N percent ; B 17 0 821 722 ; +C 38 ; WX 852 ; N ampersand ; B 39 -16 822 737 ; +C 39 ; WX 241 ; N quoteright ; B 22 379 219 737 ; +C 40 ; WX 389 ; N parenleft ; B 72 -118 338 737 ; +C 41 ; WX 389 ; N parenright ; B 50 -118 316 737 ; +C 42 ; WX 500 ; N asterisk ; B 56 297 447 737 ; +C 43 ; WX 606 ; N plus ; B 51 0 555 505 ; +C 44 ; WX 278 ; N comma ; B 39 -186 236 173 ; +C 45 ; WX 333 ; N hyphen ; B 42 180 291 310 ; +C 46 ; WX 278 ; N period ; B 45 -15 233 173 ; +C 47 ; WX 278 ; N slash ; B -23 -15 302 737 ; +C 48 ; WX 574 ; N zero ; B 27 -14 546 708 ; +C 49 ; WX 574 ; N one ; B 83 0 491 708 ; +C 50 ; WX 574 ; N two ; B 19 -4 531 708 ; +C 51 ; WX 574 ; N three ; B 24 -14 530 708 ; +C 52 ; WX 574 ; N four ; B 19 0 546 708 ; +C 53 ; WX 574 ; N five ; B 31 -14 535 708 ; +C 54 ; WX 574 ; N six ; B 29 -14 549 708 ; +C 55 ; WX 574 ; N seven ; B 45 -14 546 708 ; +C 56 ; WX 574 ; N eight ; B 27 -14 546 708 ; +C 57 ; WX 574 ; N nine ; B 25 -14 545 708 ; +C 58 ; WX 278 ; N colon ; B 57 -15 244 481 ; +C 59 ; WX 278 ; N semicolon ; B 47 -185 244 481 ; +C 60 ; WX 606 ; N less ; B 49 -25 558 529 ; +C 61 ; WX 606 ; N equal ; B 51 92 555 413 ; +C 62 ; WX 606 ; N greater ; B 48 -25 557 529 ; +C 63 ; WX 500 ; N question ; B 23 -15 476 737 ; +C 64 ; WX 747 ; N at ; B 24 -15 722 737 ; +C 65 ; WX 759 ; N A ; B -18 0 778 737 ; +C 66 ; WX 778 ; N B ; B 17 0 736 722 ; +C 67 ; WX 778 ; N C ; B 40 -15 723 737 ; +C 68 ; WX 833 ; N D ; B 19 0 793 722 ; +C 69 ; WX 759 ; N E ; B 16 0 707 722 ; +C 70 ; WX 722 ; N F ; B 22 0 690 722 ; +C 71 ; WX 833 ; N G ; B 39 -15 817 737 ; +C 72 ; WX 870 ; N H ; B 20 0 850 722 ; +C 73 ; WX 444 ; N I ; B 28 0 417 722 ; +C 74 ; WX 648 ; N J ; B 4 -15 639 722 ; +C 75 ; WX 815 ; N K ; B 15 0 818 722 ; +C 76 ; WX 722 ; N L ; B 19 0 701 722 ; +C 77 ; WX 981 ; N M ; B 9 0 965 722 ; +C 78 ; WX 833 ; N N ; B 16 -7 833 722 ; +C 79 ; WX 833 ; N O ; B 39 -15 794 737 ; +C 80 ; WX 759 ; N P ; B 24 0 735 722 ; +C 81 ; WX 833 ; N Q ; B 38 -188 808 737 ; +C 82 ; WX 815 ; N R ; B 20 -15 817 722 ; +C 83 ; WX 667 ; N S ; B 51 -15 633 737 ; +C 84 ; WX 722 ; N T ; B 15 0 707 722 ; +C 85 ; WX 833 ; N U ; B 15 -15 824 722 ; +C 86 ; WX 759 ; N V ; B -18 -15 778 722 ; +C 87 ; WX 981 ; N W ; B 6 -15 973 722 ; +C 88 ; WX 722 ; N X ; B -12 0 735 722 ; +C 89 ; WX 722 ; N Y ; B -12 0 735 722 ; +C 90 ; WX 667 ; N Z ; B 24 0 634 722 ; +C 91 ; WX 389 ; N bracketleft ; B 84 -108 339 722 ; +C 92 ; WX 606 ; N backslash ; B 50 0 555 737 ; +C 93 ; WX 389 ; N bracketright ; B 31 -108 286 722 ; +C 94 ; WX 606 ; N asciicircum ; B 52 318 554 722 ; +C 95 ; WX 500 ; N underscore ; B 0 -148 500 -58 ; +C 96 ; WX 241 ; N quoteleft ; B 22 388 219 747 ; +C 97 ; WX 611 ; N a ; B 36 -15 597 488 ; +C 98 ; WX 648 ; N b ; B 0 -15 612 737 ; +C 99 ; WX 556 ; N c ; B 31 -15 527 488 ; +C 100 ; WX 667 ; N d ; B 37 -15 654 737 ; +C 101 ; WX 574 ; N e ; B 32 -15 540 488 ; +C 102 ; WX 389 ; N f ; B 14 0 464 733 ; +C 103 ; WX 611 ; N g ; B 30 -202 623 538 ; +C 104 ; WX 685 ; N h ; B 16 0 666 737 ; +C 105 ; WX 370 ; N i ; B 28 0 341 737 ; +C 106 ; WX 352 ; N j ; B -82 -202 272 737 ; +C 107 ; WX 667 ; N k ; B 12 0 660 737 ; +C 108 ; WX 352 ; N l ; B 16 0 331 737 ; +C 109 ; WX 963 ; N m ; B 20 0 942 488 ; +C 110 ; WX 685 ; N n ; B 20 0 668 488 ; +C 111 ; WX 611 ; N o ; B 31 -15 579 488 ; +C 112 ; WX 667 ; N p ; B 18 -202 632 488 ; +C 113 ; WX 648 ; N q ; B 34 -202 640 488 ; +C 114 ; WX 519 ; N r ; B 18 0 517 488 ; +C 115 ; WX 500 ; N s ; B 38 -15 466 488 ; +C 116 ; WX 426 ; N t ; B 23 -15 405 671 ; +C 117 ; WX 685 ; N u ; B 13 -15 667 473 ; +C 118 ; WX 611 ; N v ; B 12 -14 598 473 ; +C 119 ; WX 889 ; N w ; B 19 -14 876 473 ; +C 120 ; WX 611 ; N x ; B 13 0 598 473 ; +C 121 ; WX 611 ; N y ; B 10 -206 598 473 ; +C 122 ; WX 537 ; N z ; B 35 0 495 473 ; +C 123 ; WX 389 ; N braceleft ; B 84 -108 343 722 ; +C 124 ; WX 606 ; N bar ; B 243 0 362 722 ; +C 125 ; WX 389 ; N braceright ; B 31 -108 290 722 ; +C 126 ; WX 606 ; N asciitilde ; B 51 160 555 335 ; +C 161 ; WX 296 ; N exclamdown ; B 53 -203 241 549 ; +C 162 ; WX 574 ; N cent ; B 36 -107 534 567 ; +C 163 ; WX 574 ; N sterling ; B 19 -14 561 708 ; +C 164 ; WX 167 ; N fraction ; B -166 0 333 705 ; +C 165 ; WX 574 ; N yen ; B 3 0 571 722 ; +C 166 ; WX 574 ; N florin ; B 14 -195 549 746 ; +C 167 ; WX 500 ; N section ; B 63 -87 438 737 ; +C 168 ; WX 574 ; N currency ; B 33 97 540 604 ; +C 169 ; WX 241 ; N quotesingle ; B 52 416 188 737 ; +C 170 ; WX 481 ; N quotedblleft ; B 22 388 457 747 ; +C 171 ; WX 500 ; N guillemotleft ; B 49 100 442 419 ; +C 172 ; WX 333 ; N guilsinglleft ; B 72 100 266 419 ; +C 173 ; WX 333 ; N guilsinglright ; B 74 100 269 419 ; +C 174 ; WX 685 ; N fi ; B 15 0 667 733 ; +C 175 ; WX 685 ; N fl ; B 15 0 666 737 ; +C 177 ; WX 500 ; N endash ; B 0 191 500 296 ; +C 178 ; WX 500 ; N dagger ; B 44 -87 451 737 ; +C 179 ; WX 500 ; N daggerdbl ; B 47 -87 458 737 ; +C 180 ; WX 278 ; N periodcentered ; B 46 160 234 348 ; +C 182 ; WX 747 ; N paragraph ; B 35 -144 713 722 ; +C 183 ; WX 606 ; N bullet ; B 131 180 475 524 ; +C 184 ; WX 241 ; N quotesinglbase ; B 22 -186 219 173 ; +C 185 ; WX 481 ; N quotedblbase ; B 23 -186 458 173 ; +C 186 ; WX 481 ; N quotedblright ; B 23 379 458 737 ; +C 187 ; WX 500 ; N guillemotright ; B 56 100 451 419 ; +C 188 ; WX 1000 ; N ellipsis ; B 73 -15 927 173 ; +C 189 ; WX 1000 ; N perthousand ; B 8 -1 994 701 ; +C 191 ; WX 500 ; N questiondown ; B 23 -203 476 549 ; +C 193 ; WX 333 ; N grave ; B 2 545 249 734 ; +C 194 ; WX 333 ; N acute ; B 84 545 331 734 ; +C 195 ; WX 333 ; N circumflex ; B -8 544 343 722 ; +C 196 ; WX 333 ; N tilde ; B -23 566 358 705 ; +C 197 ; WX 333 ; N macron ; B -5 583 339 663 ; +C 198 ; WX 333 ; N breve ; B 9 545 324 712 ; +C 199 ; WX 333 ; N dotaccent ; B 96 552 237 693 ; +C 200 ; WX 333 ; N dieresis ; B -11 552 345 693 ; +C 202 ; WX 333 ; N ring ; B 59 545 274 760 ; +C 203 ; WX 333 ; N cedilla ; B 17 -222 251 0 ; +C 205 ; WX 333 ; N hungarumlaut ; B 68 545 365 733 ; +C 206 ; WX 333 ; N ogonek ; B 68 -170 246 0 ; +C 207 ; WX 333 ; N caron ; B -8 544 343 722 ; +C 208 ; WX 1000 ; N emdash ; B 0 191 1000 296 ; +C 225 ; WX 981 ; N AE ; B -29 0 963 722 ; +C 227 ; WX 367 ; N ordfeminine ; B 1 293 365 737 ; +C 232 ; WX 722 ; N Lslash ; B 19 0 701 722 ; +C 233 ; WX 833 ; N Oslash ; B 39 -40 793 762 ; +C 234 ; WX 1000 ; N OE ; B 5 0 987 722 ; +C 235 ; WX 367 ; N ordmasculine ; B 1 293 357 737 ; +C 241 ; WX 870 ; N ae ; B 29 -15 837 488 ; +C 245 ; WX 370 ; N dotlessi ; B 28 0 341 473 ; +C 248 ; WX 352 ; N lslash ; B 16 0 331 737 ; +C 249 ; WX 611 ; N oslash ; B 31 -90 579 563 ; +C 250 ; WX 907 ; N oe ; B 35 -15 872 488 ; +C 251 ; WX 611 ; N germandbls ; B 6 -15 575 737 ; +C -1 ; WX 833 ; N Udieresis ; B 15 -15 824 938 ; +C -1 ; WX 833 ; N Uacute ; B 15 -15 824 979 ; +C -1 ; WX 667 ; N Scedilla ; B 51 -222 633 737 ; +C -1 ; WX 722 ; N Tcaron ; B 15 0 707 967 ; +C -1 ; WX 667 ; N Scaron ; B 51 -15 633 968 ; +C -1 ; WX 815 ; N Rcaron ; B 20 -15 817 967 ; +C -1 ; WX 815 ; N Racute ; B 20 -15 817 979 ; +C -1 ; WX 667 ; N Sacute ; B 51 -15 633 979 ; +C -1 ; WX 833 ; N Otilde ; B 39 -15 794 936 ; +C -1 ; WX 685 ; N ucircumflex ; B 13 -15 667 722 ; +C -1 ; WX 833 ; N Ohungarumlaut ; B 39 -15 794 978 ; +C -1 ; WX 833 ; N Uhungarumlaut ; B 15 -15 824 978 ; +C -1 ; WX 722 ; N Yacute ; B -12 0 735 979 ; +C -1 ; WX 833 ; N Eth ; B 19 0 793 722 ; +C -1 ; WX 833 ; N Dcroat ; B 19 0 793 722 ; +C -1 ; WX 667 ; N Zacute ; B 24 0 634 979 ; +C -1 ; WX 833 ; N Uring ; B 15 -15 824 1005 ; +C -1 ; WX 611 ; N gbreve ; B 30 -202 623 712 ; +C -1 ; WX 574 ; N eogonek ; B 32 -170 540 488 ; +C -1 ; WX 574 ; N edotaccent ; B 32 -15 540 693 ; +C -1 ; WX 574 ; N ecaron ; B 32 -15 540 722 ; +C -1 ; WX 833 ; N Ugrave ; B 15 -15 824 979 ; +C -1 ; WX 759 ; N Thorn ; B 24 0 735 722 ; +C -1 ; WX 574 ; N eacute ; B 32 -15 540 734 ; +C -1 ; WX 574 ; N edieresis ; B 32 -15 540 693 ; +C -1 ; WX 747 ; N dcaron ; B 37 -15 767 737 ; +C -1 ; WX 556 ; N ccedilla ; B 31 -222 527 488 ; +C -1 ; WX 556 ; N ccaron ; B 31 -15 527 722 ; +C -1 ; WX 556 ; N cacute ; B 31 -15 527 734 ; +C -1 ; WX 611 ; N aogonek ; B 36 -170 631 488 ; +C -1 ; WX 611 ; N aring ; B 36 -15 597 760 ; +C -1 ; WX 611 ; N atilde ; B 36 -15 597 705 ; +C -1 ; WX 611 ; N abreve ; B 36 -15 597 712 ; +C -1 ; WX 574 ; N egrave ; B 32 -15 540 734 ; +C -1 ; WX 611 ; N agrave ; B 36 -15 597 734 ; +C -1 ; WX 611 ; N aacute ; B 36 -15 597 734 ; +C -1 ; WX 611 ; N adieresis ; B 36 -15 597 693 ; +C -1 ; WX 833 ; N Uogonek ; B 15 -170 824 722 ; +C -1 ; WX 685 ; N ugrave ; B 13 -15 667 734 ; +C -1 ; WX 685 ; N uacute ; B 13 -15 667 734 ; +C -1 ; WX 685 ; N udieresis ; B 13 -15 667 693 ; +C -1 ; WX 446 ; N tcaron ; B 23 -15 466 737 ; +C -1 ; WX 500 ; N scommaaccent ; B 38 -372 466 488 ; +C -1 ; WX 667 ; N Zcaron ; B 24 0 634 968 ; +C -1 ; WX 574 ; N ecircumflex ; B 32 -15 540 722 ; +C -1 ; WX 833 ; N Ucircumflex ; B 15 -15 824 968 ; +C -1 ; WX 611 ; N acircumflex ; B 36 -15 597 722 ; +C -1 ; WX 667 ; N Zdotaccent ; B 24 0 634 938 ; +C -1 ; WX 500 ; N scaron ; B 38 -15 466 722 ; +C -1 ; WX 759 ; N Amacron ; B -18 0 778 908 ; +C -1 ; WX 500 ; N sacute ; B 38 -15 466 734 ; +C -1 ; WX 722 ; N Tcommaaccent ; B 15 -372 707 722 ; +C -1 ; WX 722 ; N Ydieresis ; B -12 0 735 938 ; +C -1 ; WX 667 ; N thorn ; B 18 -202 632 736 ; +C -1 ; WX 759 ; N Emacron ; B 16 0 707 908 ; +C -1 ; WX 833 ; N Ograve ; B 39 -15 794 979 ; +C -1 ; WX 833 ; N Oacute ; B 39 -15 794 979 ; +C -1 ; WX 833 ; N Odieresis ; B 39 -15 794 938 ; +C -1 ; WX 833 ; N Ntilde ; B 16 -7 833 936 ; +C -1 ; WX 833 ; N Ncaron ; B 16 -7 833 967 ; +C -1 ; WX 833 ; N Nacute ; B 16 -7 833 979 ; +C -1 ; WX 722 ; N Lcaron ; B 19 0 701 737 ; +C -1 ; WX 722 ; N Lacute ; B 19 0 701 979 ; +C -1 ; WX 444 ; N Idotaccent ; B 28 0 417 938 ; +C -1 ; WX 519 ; N racute ; B 18 0 517 734 ; +C -1 ; WX 444 ; N Icircumflex ; B 28 0 417 968 ; +C -1 ; WX 611 ; N ohungarumlaut ; B 31 -15 579 733 ; +C -1 ; WX 611 ; N otilde ; B 31 -15 579 705 ; +C -1 ; WX 574 ; N Euro ; B 3 -15 563 717 ; +C -1 ; WX 611 ; N ocircumflex ; B 31 -15 579 722 ; +C -1 ; WX 344 ; N onesuperior ; B 39 284 304 708 ; +C -1 ; WX 344 ; N twosuperior ; B 5 281 338 708 ; +C -1 ; WX 344 ; N threesuperior ; B 8 275 336 708 ; +C -1 ; WX 444 ; N Igrave ; B 28 0 417 979 ; +C -1 ; WX 444 ; N Iacute ; B 28 0 417 979 ; +C -1 ; WX 444 ; N Imacron ; B 28 0 417 908 ; +C -1 ; WX 444 ; N Iogonek ; B 28 -170 485 722 ; +C -1 ; WX 444 ; N Idieresis ; B 28 0 417 938 ; +C -1 ; WX 833 ; N Gbreve ; B 39 -15 817 957 ; +C -1 ; WX 833 ; N Umacron ; B 15 -15 824 908 ; +C -1 ; WX 815 ; N Kcommaaccent ; B 15 -372 818 722 ; +C -1 ; WX 611 ; N ograve ; B 31 -15 579 734 ; +C -1 ; WX 667 ; N Scommaaccent ; B 51 -372 633 737 ; +C -1 ; WX 759 ; N Eogonek ; B 16 -170 763 722 ; +C -1 ; WX 611 ; N oacute ; B 31 -15 579 734 ; +C -1 ; WX 759 ; N Edotaccent ; B 16 0 707 938 ; +C -1 ; WX 370 ; N iogonek ; B 28 -170 409 737 ; +C -1 ; WX 611 ; N gcommaaccent ; B 30 -202 623 837 ; +C -1 ; WX 611 ; N odieresis ; B 31 -15 579 693 ; +C -1 ; WX 685 ; N ntilde ; B 20 0 668 705 ; +C -1 ; WX 685 ; N ncaron ; B 20 0 668 722 ; +C -1 ; WX 759 ; N Ecaron ; B 16 0 707 967 ; +C -1 ; WX 759 ; N Ecircumflex ; B 16 0 707 968 ; +C -1 ; WX 500 ; N scedilla ; B 38 -222 466 488 ; +C -1 ; WX 519 ; N rcaron ; B 18 0 517 722 ; +C -1 ; WX 759 ; N Egrave ; B 16 0 707 979 ; +C -1 ; WX 759 ; N Eacute ; B 16 0 707 979 ; +C -1 ; WX 833 ; N Gcommaaccent ; B 39 -372 817 737 ; +C -1 ; WX 815 ; N Rcommaaccent ; B 20 -372 817 722 ; +C -1 ; WX 759 ; N Edieresis ; B 16 0 707 938 ; +C -1 ; WX 685 ; N nacute ; B 20 0 668 734 ; +C -1 ; WX 685 ; N uogonek ; B 13 -170 735 473 ; +C -1 ; WX 685 ; N umacron ; B 13 -15 667 663 ; +C -1 ; WX 833 ; N Dcaron ; B 19 0 793 967 ; +C -1 ; WX 436 ; N lcaron ; B 16 0 456 737 ; +C -1 ; WX 778 ; N Ccaron ; B 40 -15 723 967 ; +C -1 ; WX 778 ; N Cacute ; B 40 -15 723 979 ; +C -1 ; WX 778 ; N Ccedilla ; B 40 -224 723 737 ; +C -1 ; WX 400 ; N degree ; B 50 380 350 686 ; +C -1 ; WX 759 ; N Aogonek ; B -18 -170 846 737 ; +C -1 ; WX 606 ; N minus ; B 51 195 555 310 ; +C -1 ; WX 606 ; N multiply ; B 51 1 555 505 ; +C -1 ; WX 606 ; N divide ; B 51 -31 555 536 ; +C -1 ; WX 759 ; N Aring ; B -18 0 778 990 ; +C -1 ; WX 1000 ; N trademark ; B 30 302 970 722 ; +C -1 ; WX 519 ; N rcommaaccent ; B 18 -372 517 488 ; +C -1 ; WX 352 ; N lacute ; B 16 0 341 979 ; +C -1 ; WX 611 ; N omacron ; B 31 -15 579 663 ; +C -1 ; WX 759 ; N Atilde ; B -18 0 778 936 ; +C -1 ; WX 370 ; N icircumflex ; B 11 0 362 722 ; +C -1 ; WX 370 ; N igrave ; B 21 0 341 734 ; +C -1 ; WX 685 ; N ncommaaccent ; B 20 -372 668 488 ; +C -1 ; WX 352 ; N lcommaaccent ; B 16 -372 331 737 ; +C -1 ; WX 606 ; N plusminus ; B 51 0 555 610 ; +C -1 ; WX 861 ; N onehalf ; B 39 -2 832 722 ; +C -1 ; WX 861 ; N onequarter ; B 39 0 822 722 ; +C -1 ; WX 861 ; N threequarters ; B 8 0 822 722 ; +C -1 ; WX 370 ; N iacute ; B 28 0 350 734 ; +C -1 ; WX 759 ; N Abreve ; B -18 0 778 957 ; +C -1 ; WX 667 ; N kcommaaccent ; B 12 -372 660 737 ; +C -1 ; WX 833 ; N Omacron ; B 39 -15 794 908 ; +C -1 ; WX 370 ; N imacron ; B 14 0 358 663 ; +C -1 ; WX 574 ; N emacron ; B 32 -15 540 663 ; +C -1 ; WX 611 ; N amacron ; B 36 -15 597 663 ; +C -1 ; WX 426 ; N tcommaaccent ; B 23 -372 405 671 ; +C -1 ; WX 611 ; N ydieresis ; B 10 -206 598 693 ; +C -1 ; WX 537 ; N zdotaccent ; B 35 0 495 693 ; +C -1 ; WX 537 ; N zcaron ; B 35 0 495 722 ; +C -1 ; WX 537 ; N zacute ; B 35 0 495 734 ; +C -1 ; WX 611 ; N yacute ; B 10 -206 598 734 ; +C -1 ; WX 685 ; N uhungarumlaut ; B 13 -15 667 733 ; +C -1 ; WX 611 ; N eth ; B 31 -15 579 793 ; +C -1 ; WX 685 ; N uring ; B 13 -15 667 760 ; +C -1 ; WX 833 ; N Ocircumflex ; B 39 -15 794 968 ; +C -1 ; WX 333 ; N commaaccent ; B 78 -372 255 -50 ; +C -1 ; WX 747 ; N copyright ; B 5 -15 741 721 ; +C -1 ; WX 747 ; N registered ; B 5 -15 741 721 ; +C -1 ; WX 759 ; N Acircumflex ; B -18 0 778 968 ; +C -1 ; WX 370 ; N idieresis ; B 8 0 364 693 ; +C -1 ; WX 494 ; N lozenge ; B 18 0 466 740 ; +C -1 ; WX 612 ; N Delta ; B 6 0 608 688 ; +C -1 ; WX 606 ; N notequal ; B 51 -51 555 557 ; +C -1 ; WX 549 ; N radical ; B -34 -35 548 918 ; +C -1 ; WX 759 ; N Agrave ; B -18 0 778 979 ; +C -1 ; WX 759 ; N Aacute ; B -18 0 778 979 ; +C -1 ; WX 606 ; N lessequal ; B 49 0 558 698 ; +C -1 ; WX 606 ; N greaterequal ; B 48 0 557 698 ; +C -1 ; WX 606 ; N logicalnot ; B 51 0 555 310 ; +C -1 ; WX 713 ; N summation ; B 14 -123 695 752 ; +C -1 ; WX 494 ; N partialdiff ; B 13 -11 476 753 ; +C -1 ; WX 833 ; N Ncommaaccent ; B 16 -372 833 722 ; +C -1 ; WX 667 ; N dcroat ; B 37 -15 654 737 ; +C -1 ; WX 606 ; N brokenbar ; B 243 0 362 722 ; +C -1 ; WX 722 ; N Lcommaaccent ; B 19 -372 701 722 ; +C -1 ; WX 759 ; N Adieresis ; B -18 0 778 938 ; +C -1 ; WX 685 ; N mu ; B 13 -219 667 473 ; +C -1 ; WX 287 ; N .notdef ; B 0 0 0 0 ; +EndCharMetrics +StartKernData +StartKernPairs 998 +KPX A C -34 +KPX A Ccedilla -37 +KPX A G -31 +KPX A O -35 +KPX A Odieresis -35 +KPX A Q -34 +KPX A T -31 +KPX A U -40 +KPX A Uacute -40 +KPX A Ucircumflex -40 +KPX A Udieresis -40 +KPX A Ugrave -40 +KPX A V -87 +KPX A W -82 +KPX A Y -31 +KPX A a 22 +KPX A b 9 +KPX A c -3 +KPX A ccedilla -6 +KPX A comma 35 +KPX A d -1 +KPX A e -5 +KPX A g 21 +KPX A guillemotleft -39 +KPX A guilsinglleft -51 +KPX A hyphen -2 +KPX A o -6 +KPX A period 31 +KPX A q 3 +KPX A quotedblright -53 +KPX A quoteright -53 +KPX A t -8 +KPX A u -11 +KPX A v -54 +KPX A w -54 +KPX A y -60 +KPX Aacute C -34 +KPX Aacute G -31 +KPX Aacute O -35 +KPX Aacute Q -34 +KPX Aacute T -31 +KPX Aacute U -40 +KPX Aacute V -87 +KPX Aacute W -82 +KPX Aacute Y -31 +KPX Aacute a 22 +KPX Aacute b 9 +KPX Aacute c -3 +KPX Aacute comma 35 +KPX Aacute d -1 +KPX Aacute e -5 +KPX Aacute g 21 +KPX Aacute guillemotleft -39 +KPX Aacute guilsinglleft -51 +KPX Aacute hyphen -2 +KPX Aacute o -6 +KPX Aacute period 31 +KPX Aacute q 3 +KPX Aacute quoteright -53 +KPX Aacute t -8 +KPX Aacute u -11 +KPX Aacute v -54 +KPX Aacute w -54 +KPX Aacute y -60 +KPX Acircumflex C -34 +KPX Acircumflex G -31 +KPX Acircumflex O -35 +KPX Acircumflex Q -34 +KPX Acircumflex T -31 +KPX Acircumflex U -40 +KPX Acircumflex V -87 +KPX Acircumflex W -82 +KPX Acircumflex Y -31 +KPX Acircumflex comma 35 +KPX Acircumflex period 31 +KPX Adieresis C -34 +KPX Adieresis G -31 +KPX Adieresis O -35 +KPX Adieresis Q -34 +KPX Adieresis T -31 +KPX Adieresis U -40 +KPX Adieresis V -87 +KPX Adieresis W -82 +KPX Adieresis Y -31 +KPX Adieresis a 22 +KPX Adieresis b 9 +KPX Adieresis c -3 +KPX Adieresis comma 35 +KPX Adieresis d -1 +KPX Adieresis g 21 +KPX Adieresis guillemotleft -39 +KPX Adieresis guilsinglleft -51 +KPX Adieresis hyphen -2 +KPX Adieresis o -6 +KPX Adieresis period 31 +KPX Adieresis q 3 +KPX Adieresis quotedblright -53 +KPX Adieresis quoteright -53 +KPX Adieresis t -8 +KPX Adieresis u -11 +KPX Adieresis v -54 +KPX Adieresis w -54 +KPX Adieresis y -60 +KPX Agrave C -34 +KPX Agrave G -31 +KPX Agrave O -35 +KPX Agrave Q -34 +KPX Agrave T -31 +KPX Agrave U -40 +KPX Agrave V -87 +KPX Agrave W -82 +KPX Agrave Y -31 +KPX Agrave comma 35 +KPX Agrave period 31 +KPX Aring C -34 +KPX Aring G -31 +KPX Aring O -35 +KPX Aring Q -34 +KPX Aring T -31 +KPX Aring U -40 +KPX Aring V -87 +KPX Aring W -82 +KPX Aring Y -31 +KPX Aring a 22 +KPX Aring b 9 +KPX Aring c -3 +KPX Aring comma 35 +KPX Aring d -1 +KPX Aring e -5 +KPX Aring g 21 +KPX Aring guillemotleft -39 +KPX Aring guilsinglleft -51 +KPX Aring hyphen -2 +KPX Aring o -6 +KPX Aring period 31 +KPX Aring q 3 +KPX Aring quotedblright -53 +KPX Aring quoteright -53 +KPX Aring t -8 +KPX Aring u -11 +KPX Aring v -54 +KPX Aring w -54 +KPX Aring y -60 +KPX Atilde C -34 +KPX Atilde G -31 +KPX Atilde O -35 +KPX Atilde Q -34 +KPX Atilde T -31 +KPX Atilde U -40 +KPX Atilde V -87 +KPX Atilde W -82 +KPX Atilde Y -31 +KPX Atilde comma 35 +KPX Atilde period 31 +KPX B A 1 +KPX B AE 3 +KPX B Aacute 1 +KPX B Acircumflex 1 +KPX B Adieresis 1 +KPX B Aring 1 +KPX B Atilde 1 +KPX B O -7 +KPX B OE 7 +KPX B Oacute -7 +KPX B Ocircumflex -7 +KPX B Odieresis -7 +KPX B Ograve -7 +KPX B Oslash -6 +KPX B V -14 +KPX B W -30 +KPX B Y -13 +KPX C A -27 +KPX C AE -26 +KPX C Aacute -27 +KPX C Adieresis -27 +KPX C Aring -27 +KPX C H -9 +KPX C K -7 +KPX C O -10 +KPX C Oacute -10 +KPX C Odieresis -10 +KPX Ccedilla A -28 +KPX D A -32 +KPX D Aacute -32 +KPX D Acircumflex -32 +KPX D Adieresis -32 +KPX D Agrave -32 +KPX D Aring -32 +KPX D Atilde -32 +KPX D J 7 +KPX D T 8 +KPX D V -33 +KPX D W -42 +KPX D X -30 +KPX D Y -32 +KPX F A -79 +KPX F Aacute -79 +KPX F Acircumflex -79 +KPX F Adieresis -79 +KPX F Agrave -79 +KPX F Aring -79 +KPX F Atilde -79 +KPX F J -55 +KPX F O -2 +KPX F Odieresis -2 +KPX F a -32 +KPX F aacute -32 +KPX F adieresis -32 +KPX F ae -30 +KPX F aring -32 +KPX F comma -80 +KPX F e -45 +KPX F eacute -45 +KPX F hyphen -40 +KPX F i 5 +KPX F j 11 +KPX F o -46 +KPX F oacute -46 +KPX F odieresis -46 +KPX F oe -48 +KPX F oslash -51 +KPX F period -82 +KPX F r 10 +KPX F u 12 +KPX G A -4 +KPX G AE 0 +KPX G Aacute -4 +KPX G Acircumflex -4 +KPX G Adieresis -4 +KPX G Agrave -4 +KPX G Aring -4 +KPX G Atilde -4 +KPX G T -21 +KPX G V -7 +KPX G W -20 +KPX G Y -10 +KPX J A -44 +KPX J AE -43 +KPX J Adieresis -44 +KPX J Aring -44 +KPX K C -45 +KPX K G -44 +KPX K O -45 +KPX K OE -31 +KPX K Oacute -45 +KPX K Odieresis -45 +KPX K S 12 +KPX K T 13 +KPX K a 12 +KPX K adieresis 12 +KPX K ae 15 +KPX K aring 12 +KPX K e -18 +KPX K hyphen -25 +KPX K o -20 +KPX K oacute -20 +KPX K odieresis -20 +KPX K u -23 +KPX K udieresis -23 +KPX K y -84 +KPX L A 32 +KPX L AE 37 +KPX L Aacute 32 +KPX L Adieresis 32 +KPX L Aring 32 +KPX L C 5 +KPX L Ccedilla 4 +KPX L G 5 +KPX L O 5 +KPX L Oacute 5 +KPX L Ocircumflex 5 +KPX L Odieresis 5 +KPX L Ograve 5 +KPX L Otilde 5 +KPX L S 3 +KPX L T -56 +KPX L U -31 +KPX L Udieresis -31 +KPX L V -74 +KPX L W -68 +KPX L Y -56 +KPX L hyphen 44 +KPX L quotedblright -22 +KPX L quoteright -21 +KPX L u -4 +KPX L udieresis -4 +KPX L y -34 +KPX N A -7 +KPX N AE -1 +KPX N Aacute -7 +KPX N Adieresis -7 +KPX N Aring -7 +KPX N C -14 +KPX N Ccedilla -15 +KPX N G -13 +KPX N O -15 +KPX N Oacute -15 +KPX N Odieresis -15 +KPX N a -19 +KPX N aacute -19 +KPX N adieresis -19 +KPX N ae -15 +KPX N aring -19 +KPX N comma 2 +KPX N e -18 +KPX N eacute -18 +KPX N o -18 +KPX N oacute -18 +KPX N odieresis -18 +KPX N oslash -18 +KPX N period 0 +KPX N u -26 +KPX N udieresis -26 +KPX O A -36 +KPX O AE -35 +KPX O Aacute -36 +KPX O Adieresis -36 +KPX O Aring -36 +KPX O T 7 +KPX O V -35 +KPX O W -45 +KPX O X -32 +KPX O Y -33 +KPX Oacute A -36 +KPX Oacute T 7 +KPX Oacute V -35 +KPX Oacute W -45 +KPX Oacute Y -33 +KPX Ocircumflex T 7 +KPX Ocircumflex V -35 +KPX Ocircumflex Y -33 +KPX Odieresis A -36 +KPX Odieresis T 7 +KPX Odieresis V -35 +KPX Odieresis W -45 +KPX Odieresis X -32 +KPX Odieresis Y -33 +KPX Ograve T 7 +KPX Ograve V -35 +KPX Ograve Y -33 +KPX Oslash A -37 +KPX Otilde T 7 +KPX Otilde V -35 +KPX Otilde Y -33 +KPX P A -81 +KPX P AE -69 +KPX P Aacute -81 +KPX P Adieresis -81 +KPX P Aring -81 +KPX P J -50 +KPX P a -22 +KPX P aacute -22 +KPX P adieresis -22 +KPX P ae -20 +KPX P aring -22 +KPX P comma -90 +KPX P e -32 +KPX P eacute -32 +KPX P hyphen -35 +KPX P o -32 +KPX P oacute -32 +KPX P odieresis -32 +KPX P oe -34 +KPX P oslash -37 +KPX P period -92 +KPX R C -1 +KPX R Ccedilla -3 +KPX R G 0 +KPX R O -1 +KPX R OE 14 +KPX R Oacute -1 +KPX R Odieresis -1 +KPX R T -16 +KPX R U -22 +KPX R Udieresis -22 +KPX R V -18 +KPX R W -34 +KPX R Y -16 +KPX R a 16 +KPX R aacute 16 +KPX R adieresis 16 +KPX R ae 20 +KPX R aring 16 +KPX R e 15 +KPX R eacute 15 +KPX R hyphen 31 +KPX R o 16 +KPX R oacute 16 +KPX R odieresis 16 +KPX R oe 13 +KPX R u -9 +KPX R uacute -9 +KPX R udieresis -9 +KPX R y -25 +KPX S A 0 +KPX S AE 0 +KPX S Aacute 0 +KPX S Adieresis 0 +KPX S Aring 0 +KPX S T -2 +KPX S V 10 +KPX S W -2 +KPX S Y 7 +KPX S t -5 +KPX T A -31 +KPX T AE -26 +KPX T Aacute -31 +KPX T Acircumflex -31 +KPX T Adieresis -31 +KPX T Agrave -31 +KPX T Aring -31 +KPX T Atilde -31 +KPX T C 8 +KPX T G 8 +KPX T J -52 +KPX T O 7 +KPX T OE 23 +KPX T Oacute 7 +KPX T Ocircumflex 7 +KPX T Odieresis 7 +KPX T Ograve 7 +KPX T Oslash 8 +KPX T Otilde 7 +KPX T S 4 +KPX T V 34 +KPX T W 22 +KPX T Y 31 +KPX T a -20 +KPX T ae -17 +KPX T c -38 +KPX T colon -4 +KPX T comma -60 +KPX T e -36 +KPX T g -32 +KPX T guillemotleft -109 +KPX T guilsinglleft -121 +KPX T hyphen -74 +KPX T i 13 +KPX T j 20 +KPX T o -37 +KPX T oslash -43 +KPX T period -64 +KPX T r 18 +KPX T s -14 +KPX T semicolon -4 +KPX T u 21 +KPX T v 21 +KPX T w 18 +KPX T y 20 +KPX U A -45 +KPX U AE -43 +KPX U Aacute -45 +KPX U Acircumflex -45 +KPX U Adieresis -45 +KPX U Aring -45 +KPX U Atilde -45 +KPX U comma -23 +KPX U m -34 +KPX U n -34 +KPX U p -33 +KPX U period -25 +KPX U r -33 +KPX Uacute A -45 +KPX Uacute comma -23 +KPX Uacute m -34 +KPX Uacute n -34 +KPX Uacute p -33 +KPX Uacute period -25 +KPX Uacute r -33 +KPX Ucircumflex A -45 +KPX Udieresis A -45 +KPX Udieresis b 30 +KPX Udieresis comma -23 +KPX Udieresis m -34 +KPX Udieresis n -34 +KPX Udieresis p -33 +KPX Udieresis period -25 +KPX Udieresis r -33 +KPX Ugrave A -45 +KPX V A -101 +KPX V AE -41 +KPX V Aacute -101 +KPX V Acircumflex -101 +KPX V Adieresis -101 +KPX V Agrave -101 +KPX V Aring -101 +KPX V Atilde -101 +KPX V C -34 +KPX V G -35 +KPX V O -34 +KPX V Oacute -34 +KPX V Ocircumflex -34 +KPX V Odieresis -34 +KPX V Ograve -34 +KPX V Oslash -39 +KPX V Otilde -34 +KPX V S -1 +KPX V T 34 +KPX V a -85 +KPX V ae -82 +KPX V colon -74 +KPX V comma -90 +KPX V e -85 +KPX V g -85 +KPX V guillemotleft -92 +KPX V guilsinglleft -103 +KPX V hyphen -60 +KPX V i -2 +KPX V o -85 +KPX V oslash -85 +KPX V period -93 +KPX V r -48 +KPX V semicolon -73 +KPX V u -45 +KPX V y -46 +KPX W A -85 +KPX W AE -55 +KPX W Aacute -85 +KPX W Acircumflex -85 +KPX W Adieresis -85 +KPX W Agrave -85 +KPX W Aring -85 +KPX W Atilde -85 +KPX W C -47 +KPX W G -46 +KPX W O -48 +KPX W Oacute -48 +KPX W Ocircumflex -48 +KPX W Odieresis -48 +KPX W Ograve -48 +KPX W Oslash -46 +KPX W Otilde -48 +KPX W S -19 +KPX W T 21 +KPX W a -70 +KPX W ae -66 +KPX W colon -62 +KPX W comma -67 +KPX W e -68 +KPX W g -69 +KPX W guillemotleft -76 +KPX W guilsinglleft -87 +KPX W hyphen -44 +KPX W i -17 +KPX W o -68 +KPX W oslash -68 +KPX W period -70 +KPX W r -42 +KPX W semicolon -59 +KPX W u -40 +KPX W y -40 +KPX X C -37 +KPX X O -38 +KPX X Odieresis -38 +KPX X Q -37 +KPX X a 19 +KPX X e -8 +KPX X hyphen -26 +KPX X o -9 +KPX X u -14 +KPX X y -80 +KPX Y A -31 +KPX Y AE -26 +KPX Y Aacute -31 +KPX Y Acircumflex -31 +KPX Y Adieresis -31 +KPX Y Agrave -31 +KPX Y Aring -31 +KPX Y Atilde -31 +KPX Y C -33 +KPX Y G -34 +KPX Y O -33 +KPX Y Oacute -33 +KPX Y Ocircumflex -33 +KPX Y Odieresis -33 +KPX Y Ograve -33 +KPX Y Oslash -37 +KPX Y Otilde -33 +KPX Y S 0 +KPX Y T 32 +KPX Y a -68 +KPX Y ae -65 +KPX Y colon -71 +KPX Y comma -61 +KPX Y e -85 +KPX Y g -68 +KPX Y guillemotleft -104 +KPX Y guilsinglleft -116 +KPX Y hyphen -73 +KPX Y i -4 +KPX Y o -85 +KPX Y oslash -85 +KPX Y p -62 +KPX Y period -65 +KPX Y semicolon -65 +KPX Y u -59 +KPX Y v -62 +KPX Z v -33 +KPX Z y -38 +KPX a j -28 +KPX a quoteright -3 +KPX a v -29 +KPX a w -32 +KPX a y -32 +KPX aacute v -29 +KPX aacute w -32 +KPX aacute y -32 +KPX adieresis v -29 +KPX adieresis w -32 +KPX adieresis y -32 +KPX ae v -15 +KPX ae w -18 +KPX ae y -20 +KPX agrave v -29 +KPX agrave w -32 +KPX agrave y -32 +KPX aring v -29 +KPX aring w -32 +KPX aring y -32 +KPX b v -17 +KPX b w -20 +KPX b y -22 +KPX c h -15 +KPX c k -13 +KPX comma one -28 +KPX comma quotedblright 5 +KPX comma quoteright 5 +KPX e quoteright 15 +KPX e t -15 +KPX e v -15 +KPX e w -19 +KPX e x -16 +KPX e y -20 +KPX eacute v -15 +KPX eacute w -19 +KPX eacute y -20 +KPX ecircumflex v -15 +KPX ecircumflex w -19 +KPX ecircumflex y -20 +KPX eight four 15 +KPX eight one -30 +KPX eight seven -12 +KPX f a -5 +KPX f aacute -5 +KPX f adieresis 12 +KPX f ae -3 +KPX f aring -5 +KPX f e -15 +KPX f eacute -15 +KPX f f 21 +KPX f i 21 +KPX f j 20 +KPX f l 55 +KPX f o -15 +KPX f oacute -15 +KPX f odieresis 4 +KPX f oe -16 +KPX f oslash -20 +KPX f quoteright 61 +KPX f s 0 +KPX f t 16 +KPX five four 10 +KPX five one -45 +KPX five seven -27 +KPX four four 15 +KPX four one -26 +KPX four seven -26 +KPX g a -6 +KPX g adieresis -6 +KPX g ae -4 +KPX g aring -6 +KPX g e -18 +KPX g eacute -18 +KPX g l -4 +KPX g oacute -20 +KPX g odieresis -20 +KPX g r 28 +KPX guillemotright A -45 +KPX guillemotright AE -34 +KPX guillemotright Aacute -45 +KPX guillemotright Adieresis -45 +KPX guillemotright Aring -45 +KPX guillemotright T -109 +KPX guillemotright V -81 +KPX guillemotright W -72 +KPX guillemotright Y -102 +KPX guilsinglright A -52 +KPX guilsinglright AE -41 +KPX guilsinglright Aacute -52 +KPX guilsinglright Adieresis -52 +KPX guilsinglright Aring -52 +KPX guilsinglright T -117 +KPX guilsinglright V -89 +KPX guilsinglright W -80 +KPX guilsinglright Y -110 +KPX h quoteright -6 +KPX h y -36 +KPX hyphen A -7 +KPX hyphen AE 3 +KPX hyphen Aacute -7 +KPX hyphen Adieresis -7 +KPX hyphen Aring -7 +KPX hyphen T -74 +KPX hyphen V -50 +KPX hyphen W -40 +KPX hyphen Y -72 +KPX i T -25 +KPX i j -29 +KPX k a 3 +KPX k aacute 3 +KPX k adieresis 3 +KPX k ae 7 +KPX k aring 3 +KPX k comma 11 +KPX k e -27 +KPX k eacute -27 +KPX k g 3 +KPX k hyphen -46 +KPX k o -29 +KPX k oacute -29 +KPX k odieresis -29 +KPX k period 7 +KPX k s 7 +KPX k u 3 +KPX k udieresis 3 +KPX l v -22 +KPX l y -23 +KPX m p -27 +KPX m v -33 +KPX m w -36 +KPX m y -37 +KPX n T -41 +KPX n p -25 +KPX n quoteright -5 +KPX n v -31 +KPX n w -35 +KPX n y -35 +KPX nine four 9 +KPX nine one -39 +KPX nine seven 1 +KPX o T -38 +KPX o quoteright 8 +KPX o t -17 +KPX o v -24 +KPX o w -28 +KPX o x -25 +KPX o y -29 +KPX oacute v -24 +KPX oacute w -28 +KPX oacute y -29 +KPX ocircumflex t -17 +KPX odieresis t -17 +KPX odieresis v -24 +KPX odieresis w -28 +KPX odieresis x -25 +KPX odieresis y -29 +KPX ograve v -24 +KPX ograve w -28 +KPX ograve y -29 +KPX one comma -23 +KPX one eight -38 +KPX one five -35 +KPX one four -69 +KPX one nine -34 +KPX one one -48 +KPX one period -26 +KPX one seven -73 +KPX one six -51 +KPX one three -35 +KPX one two -12 +KPX one zero -49 +KPX p t -15 +KPX p y -26 +KPX period one -31 +KPX period quotedblright 6 +KPX period quoteright 6 +KPX q c -13 +KPX q u -11 +KPX quotedblbase A 44 +KPX quotedblbase AE 52 +KPX quotedblbase T -52 +KPX quotedblbase V -71 +KPX quotedblbase W -57 +KPX quotedblbase Y -52 +KPX quotedblleft A -64 +KPX quotedblleft AE -48 +KPX quotedblleft Aacute -64 +KPX quotedblleft Adieresis -64 +KPX quotedblleft Aring -64 +KPX quotedblleft T 35 +KPX quotedblleft V 35 +KPX quotedblleft W 23 +KPX quotedblleft Y 32 +KPX quotedblright A -67 +KPX quotedblright AE -52 +KPX quotedblright Aacute -67 +KPX quotedblright Adieresis -67 +KPX quotedblright Aring -67 +KPX quotedblright T 30 +KPX quotedblright V 33 +KPX quotedblright W 20 +KPX quotedblright Y 31 +KPX quoteleft A -63 +KPX quoteleft AE -47 +KPX quoteleft Aacute -63 +KPX quoteleft Adieresis -63 +KPX quoteleft Aring -63 +KPX quoteleft T 36 +KPX quoteleft V 36 +KPX quoteleft W 24 +KPX quoteleft Y 33 +KPX quoteright A -67 +KPX quoteright AE -51 +KPX quoteright Aacute -67 +KPX quoteright Adieresis -67 +KPX quoteright Aring -67 +KPX quoteright comma -7 +KPX quoteright d -5 +KPX quoteright o -6 +KPX quoteright period -9 +KPX quoteright r 6 +KPX quoteright s 6 +KPX quoteright t 6 +KPX quoteright v 11 +KPX quoteright w 8 +KPX quoteright y 9 +KPX r a -1 +KPX r aacute -1 +KPX r acircumflex -1 +KPX r adieresis -1 +KPX r ae 2 +KPX r agrave -1 +KPX r aring -1 +KPX r c 0 +KPX r ccedilla 1 +KPX r colon 5 +KPX r comma -68 +KPX r d -1 +KPX r e 0 +KPX r eacute 0 +KPX r ecircumflex 0 +KPX r egrave 0 +KPX r f 23 +KPX r g 1 +KPX r h -19 +KPX r hyphen 5 +KPX r i 15 +KPX r j 21 +KPX r k -17 +KPX r l -19 +KPX r m 19 +KPX r n 19 +KPX r o 1 +KPX r oacute 1 +KPX r ocircumflex 1 +KPX r odieresis 1 +KPX r oe 0 +KPX r ograve 1 +KPX r oslash -1 +KPX r p 20 +KPX r period -72 +KPX r q -2 +KPX r quoteright 45 +KPX r r 20 +KPX r s 7 +KPX r semicolon 8 +KPX r t 18 +KPX r u 21 +KPX r v 23 +KPX r w 20 +KPX r x 23 +KPX r y 21 +KPX r z 2 +KPX s quoteright 20 +KPX s t -9 +KPX seven colon -45 +KPX seven comma -42 +KPX seven eight -21 +KPX seven five -24 +KPX seven four -62 +KPX seven one -20 +KPX seven period -45 +KPX seven seven -11 +KPX seven six -25 +KPX seven three -19 +KPX seven two -20 +KPX six four 17 +KPX six one -25 +KPX six seven -10 +KPX t S 8 +KPX t a 1 +KPX t aacute 1 +KPX t adieresis 1 +KPX t ae 4 +KPX t aring 1 +KPX t colon -6 +KPX t e 3 +KPX t eacute 3 +KPX t h -7 +KPX t o 3 +KPX t oacute 3 +KPX t odieresis 3 +KPX t quoteright 1 +KPX t semicolon -3 +KPX three four 7 +KPX three one -37 +KPX three seven -18 +KPX two four 8 +KPX two one -30 +KPX two seven -8 +KPX u quoteright 1 +KPX v a -11 +KPX v aacute -11 +KPX v acircumflex -11 +KPX v adieresis -11 +KPX v ae -9 +KPX v agrave -11 +KPX v aring -11 +KPX v atilde -11 +KPX v c -24 +KPX v colon 0 +KPX v comma -59 +KPX v e -22 +KPX v eacute -22 +KPX v ecircumflex -22 +KPX v egrave -22 +KPX v g -18 +KPX v hyphen -26 +KPX v l -24 +KPX v o -23 +KPX v oacute -23 +KPX v odieresis -23 +KPX v ograve -23 +KPX v oslash -28 +KPX v period -61 +KPX v s -6 +KPX v semicolon 0 +KPX w a -11 +KPX w aacute -11 +KPX w acircumflex -11 +KPX w adieresis -11 +KPX w ae -9 +KPX w agrave -11 +KPX w aring -11 +KPX w atilde -11 +KPX w c -24 +KPX w colon 0 +KPX w comma -60 +KPX w e -22 +KPX w eacute -22 +KPX w ecircumflex -22 +KPX w egrave -22 +KPX w g -18 +KPX w hyphen -26 +KPX w l -24 +KPX w o -23 +KPX w oacute -23 +KPX w odieresis -23 +KPX w ograve -23 +KPX w oslash -28 +KPX w period -62 +KPX w s -6 +KPX w semicolon 0 +KPX x a 0 +KPX x c -29 +KPX x e -27 +KPX x eacute -27 +KPX x o -28 +KPX x q -20 +KPX y a -14 +KPX y aacute -14 +KPX y acircumflex -14 +KPX y adieresis -14 +KPX y ae -12 +KPX y agrave -14 +KPX y aring -14 +KPX y atilde -14 +KPX y c -29 +KPX y colon -2 +KPX y comma -63 +KPX y e -27 +KPX y eacute -27 +KPX y ecircumflex -27 +KPX y egrave -27 +KPX y g -23 +KPX y hyphen -28 +KPX y l -24 +KPX y o -28 +KPX y oacute -28 +KPX y odieresis -28 +KPX y ograve -28 +KPX y oslash -33 +KPX y period -64 +KPX y s -9 +KPX y semicolon -1 +KPX zero four 12 +KPX zero one -38 +KPX zero seven 0 +EndKernPairs +EndKernData +EndFontMetrics diff --git a/Master/xemtex/gsfonts/c059016l.pfb b/Master/xemtex/gsfonts/c059016l.pfb new file mode 100644 index 00000000000..0b38fd95e76 Binary files /dev/null and b/Master/xemtex/gsfonts/c059016l.pfb differ diff --git a/Master/xemtex/gsfonts/c059016l.pfm b/Master/xemtex/gsfonts/c059016l.pfm new file mode 100644 index 00000000000..924583708f2 Binary files /dev/null and b/Master/xemtex/gsfonts/c059016l.pfm differ diff --git a/Master/xemtex/gsfonts/c059033l.afm b/Master/xemtex/gsfonts/c059033l.afm new file mode 100644 index 00000000000..b8b8411a278 --- /dev/null +++ b/Master/xemtex/gsfonts/c059033l.afm @@ -0,0 +1,1341 @@ +StartFontMetrics 3.0 +Comment Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development +Comment Creation Date: 12/22/1999 +Comment See the file PUBLIC (Aladdin Free Public License) for license conditions. +FontName CenturySchL-Ital +FullName Century Schoolbook L Italic +FamilyName Century Schoolbook L +Weight Regular +ItalicAngle -15.0 +IsFixedPitch false +UnderlinePosition -102 +UnderlineThickness 42 +Version 1.05 +Notice (URW)++,Copyright 1999 by (URW)++ Design & Development +EncodingScheme AdobeStandardEncoding +FontBBox -166 -329 1018 966 +CapHeight 722 +XHeight 455 +Descender -202 +Ascender 737 +StartCharMetrics 316 +C 32 ; WX 278 ; N space ; B 0 0 0 0 ; +C 33 ; WX 333 ; N exclam ; B 30 -15 316 737 ; +C 34 ; WX 400 ; N quotedbl ; B 100 510 395 732 ; +C 35 ; WX 556 ; N numbersign ; B 33 0 524 686 ; +C 36 ; WX 556 ; N dollar ; B 3 -135 536 792 ; +C 37 ; WX 833 ; N percent ; B 46 0 792 722 ; +C 38 ; WX 852 ; N ampersand ; B 24 -15 773 737 ; +C 39 ; WX 204 ; N quoteright ; B 39 433 230 709 ; +C 40 ; WX 333 ; N parenleft ; B 40 -123 399 736 ; +C 41 ; WX 333 ; N parenright ; B -93 -123 265 736 ; +C 42 ; WX 500 ; N asterisk ; B 34 286 452 705 ; +C 43 ; WX 606 ; N plus ; B 37 2 540 505 ; +C 44 ; WX 278 ; N comma ; B -39 -167 151 109 ; +C 45 ; WX 333 ; N hyphen ; B 32 195 259 278 ; +C 46 ; WX 278 ; N period ; B 17 -15 141 109 ; +C 47 ; WX 606 ; N slash ; B 140 -108 466 722 ; +C 48 ; WX 556 ; N zero ; B 29 -15 527 704 ; +C 49 ; WX 556 ; N one ; B 50 0 459 708 ; +C 50 ; WX 556 ; N two ; B -35 0 508 704 ; +C 51 ; WX 556 ; N three ; B -2 -15 506 704 ; +C 52 ; WX 556 ; N four ; B -8 0 512 708 ; +C 53 ; WX 556 ; N five ; B 4 -15 540 704 ; +C 54 ; WX 556 ; N six ; B 36 -15 547 704 ; +C 55 ; WX 556 ; N seven ; B 69 -15 561 704 ; +C 56 ; WX 556 ; N eight ; B 8 -15 527 704 ; +C 57 ; WX 556 ; N nine ; B 7 -15 519 704 ; +C 58 ; WX 278 ; N colon ; B 42 -15 254 463 ; +C 59 ; WX 278 ; N semicolon ; B -14 -167 261 463 ; +C 60 ; WX 606 ; N less ; B 34 -17 543 523 ; +C 61 ; WX 606 ; N equal ; B 36 112 540 394 ; +C 62 ; WX 606 ; N greater ; B 53 -17 562 523 ; +C 63 ; WX 444 ; N question ; B 102 -15 417 737 ; +C 64 ; WX 747 ; N at ; B 28 -14 728 736 ; +C 65 ; WX 704 ; N A ; B -82 0 668 737 ; +C 66 ; WX 722 ; N B ; B -31 0 668 722 ; +C 67 ; WX 722 ; N C ; B 40 -15 713 737 ; +C 68 ; WX 778 ; N D ; B -38 0 735 722 ; +C 69 ; WX 722 ; N E ; B -37 0 701 722 ; +C 70 ; WX 667 ; N F ; B -34 0 698 722 ; +C 71 ; WX 778 ; N G ; B 39 -15 763 737 ; +C 72 ; WX 833 ; N H ; B -38 0 867 722 ; +C 73 ; WX 407 ; N I ; B -33 0 431 722 ; +C 74 ; WX 611 ; N J ; B -13 -15 646 722 ; +C 75 ; WX 741 ; N K ; B -40 0 814 722 ; +C 76 ; WX 667 ; N L ; B -37 0 630 722 ; +C 77 ; WX 944 ; N M ; B -26 0 973 722 ; +C 78 ; WX 815 ; N N ; B -48 -14 859 722 ; +C 79 ; WX 778 ; N O ; B 40 -15 735 737 ; +C 80 ; WX 667 ; N P ; B -33 0 663 722 ; +C 81 ; WX 778 ; N Q ; B 40 -188 735 737 ; +C 82 ; WX 741 ; N R ; B -41 -15 691 722 ; +C 83 ; WX 667 ; N S ; B 0 -15 632 737 ; +C 84 ; WX 685 ; N T ; B 40 0 726 722 ; +C 85 ; WX 815 ; N U ; B 93 -15 860 722 ; +C 86 ; WX 704 ; N V ; B 36 -15 772 722 ; +C 87 ; WX 926 ; N W ; B 53 -15 973 722 ; +C 88 ; WX 704 ; N X ; B -73 0 770 722 ; +C 89 ; WX 685 ; N Y ; B 32 0 758 722 ; +C 90 ; WX 667 ; N Z ; B -25 0 667 722 ; +C 91 ; WX 333 ; N bracketleft ; B -33 -108 410 722 ; +C 92 ; WX 606 ; N backslash ; B 89 0 522 708 ; +C 93 ; WX 333 ; N bracketright ; B -83 -108 359 722 ; +C 94 ; WX 606 ; N asciicircum ; B 52 318 554 722 ; +C 95 ; WX 500 ; N underscore ; B 0 -123 500 -81 ; +C 96 ; WX 204 ; N quoteleft ; B 61 461 252 737 ; +C 97 ; WX 574 ; N a ; B 1 -15 523 470 ; +C 98 ; WX 556 ; N b ; B 32 -15 488 737 ; +C 99 ; WX 444 ; N c ; B 5 -15 401 470 ; +C 100 ; WX 611 ; N d ; B 3 -15 586 737 ; +C 101 ; WX 444 ; N e ; B -6 -15 391 470 ; +C 102 ; WX 333 ; N f ; B -68 -202 470 736 ; +C 103 ; WX 537 ; N g ; B -79 -202 523 505 ; +C 104 ; WX 611 ; N h ; B 0 -15 555 737 ; +C 105 ; WX 333 ; N i ; B 27 -14 282 714 ; +C 106 ; WX 315 ; N j ; B -166 -202 317 714 ; +C 107 ; WX 556 ; N k ; B -5 -15 492 737 ; +C 108 ; WX 333 ; N l ; B 16 -15 294 737 ; +C 109 ; WX 889 ; N m ; B 15 -15 837 470 ; +C 110 ; WX 611 ; N n ; B 14 -15 562 470 ; +C 111 ; WX 500 ; N o ; B 5 -15 450 470 ; +C 112 ; WX 574 ; N p ; B -101 -202 506 470 ; +C 113 ; WX 556 ; N q ; B 0 -202 499 470 ; +C 114 ; WX 444 ; N r ; B 9 0 433 470 ; +C 115 ; WX 444 ; N s ; B -1 -15 392 470 ; +C 116 ; WX 352 ; N t ; B 25 -15 329 621 ; +C 117 ; WX 611 ; N u ; B 41 -15 556 470 ; +C 118 ; WX 519 ; N v ; B 34 -16 445 470 ; +C 119 ; WX 778 ; N w ; B 32 -15 708 470 ; +C 120 ; WX 500 ; N x ; B -33 -15 471 470 ; +C 121 ; WX 500 ; N y ; B -79 -202 454 470 ; +C 122 ; WX 463 ; N z ; B -33 -15 417 470 ; +C 123 ; WX 333 ; N braceleft ; B 52 -108 381 722 ; +C 124 ; WX 606 ; N bar ; B 269 0 337 722 ; +C 125 ; WX 333 ; N braceright ; B -98 -108 231 722 ; +C 126 ; WX 606 ; N asciitilde ; B 41 165 545 327 ; +C 161 ; WX 333 ; N exclamdown ; B -7 -203 280 549 ; +C 162 ; WX 556 ; N cent ; B 61 -135 486 581 ; +C 163 ; WX 556 ; N sterling ; B -8 -15 545 704 ; +C 164 ; WX 167 ; N fraction ; B -104 0 333 708 ; +C 165 ; WX 556 ; N yen ; B 40 0 623 704 ; +C 166 ; WX 556 ; N florin ; B -57 -202 563 736 ; +C 167 ; WX 500 ; N section ; B -11 -150 480 737 ; +C 168 ; WX 556 ; N currency ; B 25 93 530 598 ; +C 169 ; WX 278 ; N quotesingle ; B 114 510 262 732 ; +C 170 ; WX 389 ; N quotedblleft ; B 63 461 432 737 ; +C 171 ; WX 426 ; N guillemotleft ; B -15 85 402 402 ; +C 172 ; WX 333 ; N guilsinglleft ; B 42 85 261 402 ; +C 173 ; WX 333 ; N guilsinglright ; B 40 85 259 402 ; +C 174 ; WX 611 ; N fi ; B -60 -202 564 736 ; +C 175 ; WX 611 ; N fl ; B -60 -202 594 736 ; +C 177 ; WX 500 ; N endash ; B -18 206 518 267 ; +C 178 ; WX 500 ; N dagger ; B 64 -144 518 737 ; +C 179 ; WX 500 ; N daggerdbl ; B -30 -144 528 737 ; +C 180 ; WX 278 ; N periodcentered ; B 77 183 201 307 ; +C 182 ; WX 650 ; N paragraph ; B 88 -144 645 722 ; +C 183 ; WX 606 ; N bullet ; B 114 217 451 554 ; +C 184 ; WX 204 ; N quotesinglbase ; B -79 -167 112 109 ; +C 185 ; WX 389 ; N quotedblbase ; B -79 -167 289 109 ; +C 186 ; WX 389 ; N quotedblright ; B 38 461 407 737 ; +C 187 ; WX 426 ; N guillemotright ; B -17 85 400 402 ; +C 188 ; WX 1000 ; N ellipsis ; B 55 -15 845 109 ; +C 189 ; WX 1000 ; N perthousand ; B -6 -2 1003 700 ; +C 191 ; WX 444 ; N questiondown ; B 7 -203 323 549 ; +C 193 ; WX 333 ; N grave ; B 73 519 263 691 ; +C 194 ; WX 333 ; N acute ; B 132 519 355 689 ; +C 195 ; WX 333 ; N circumflex ; B 37 519 331 688 ; +C 196 ; WX 333 ; N tilde ; B 52 544 380 650 ; +C 197 ; WX 333 ; N macron ; B 51 559 363 610 ; +C 198 ; WX 333 ; N breve ; B 69 518 370 677 ; +C 199 ; WX 333 ; N dotaccent ; B 118 546 216 644 ; +C 200 ; WX 333 ; N dieresis ; B 59 546 359 644 ; +C 202 ; WX 333 ; N ring ; B 230 513 429 712 ; +C 203 ; WX 333 ; N cedilla ; B 3 -216 215 0 ; +C 205 ; WX 333 ; N hungarumlaut ; B 134 519 520 688 ; +C 206 ; WX 333 ; N ogonek ; B 68 -155 245 0 ; +C 207 ; WX 333 ; N caron ; B 73 520 378 683 ; +C 208 ; WX 1000 ; N emdash ; B -18 206 1018 267 ; +C 225 ; WX 870 ; N AE ; B -92 0 870 722 ; +C 227 ; WX 422 ; N ordfeminine ; B 83 330 422 731 ; +C 232 ; WX 667 ; N Lslash ; B -37 0 630 722 ; +C 233 ; WX 778 ; N Oslash ; B 1 -87 735 750 ; +C 234 ; WX 981 ; N OE ; B 36 0 963 722 ; +C 235 ; WX 372 ; N ordmasculine ; B 83 329 372 731 ; +C 241 ; WX 722 ; N ae ; B -18 -15 667 470 ; +C 245 ; WX 333 ; N dotlessi ; B 27 -14 282 470 ; +C 248 ; WX 333 ; N lslash ; B 16 -10 342 742 ; +C 249 ; WX 500 ; N oslash ; B -5 -120 440 548 ; +C 250 ; WX 778 ; N oe ; B 0 -15 720 470 ; +C 251 ; WX 556 ; N germandbls ; B -76 -202 525 736 ; +C -1 ; WX 815 ; N Udieresis ; B 93 -15 860 910 ; +C -1 ; WX 815 ; N Uacute ; B 93 -15 860 947 ; +C -1 ; WX 667 ; N Scedilla ; B 0 -216 632 737 ; +C -1 ; WX 685 ; N Tcaron ; B 40 0 726 940 ; +C -1 ; WX 667 ; N Scaron ; B 0 -15 632 940 ; +C -1 ; WX 741 ; N Rcaron ; B -41 -15 691 940 ; +C -1 ; WX 741 ; N Racute ; B -41 -15 691 947 ; +C -1 ; WX 667 ; N Sacute ; B 0 -15 632 947 ; +C -1 ; WX 778 ; N Otilde ; B 40 -15 735 917 ; +C -1 ; WX 611 ; N ucircumflex ; B 41 -15 556 688 ; +C -1 ; WX 778 ; N Ohungarumlaut ; B 40 -15 758 947 ; +C -1 ; WX 815 ; N Uhungarumlaut ; B 93 -15 860 947 ; +C -1 ; WX 685 ; N Yacute ; B 32 0 758 947 ; +C -1 ; WX 778 ; N Eth ; B -38 0 735 722 ; +C -1 ; WX 778 ; N Dcroat ; B -38 0 735 722 ; +C -1 ; WX 667 ; N Zacute ; B -25 0 667 947 ; +C -1 ; WX 815 ; N Uring ; B 93 -15 860 966 ; +C -1 ; WX 537 ; N gbreve ; B -79 -202 523 677 ; +C -1 ; WX 444 ; N eogonek ; B -6 -155 391 470 ; +C -1 ; WX 444 ; N edotaccent ; B -6 -15 391 644 ; +C -1 ; WX 444 ; N ecaron ; B -6 -15 434 683 ; +C -1 ; WX 815 ; N Ugrave ; B 93 -15 860 946 ; +C -1 ; WX 667 ; N Thorn ; B -33 0 624 722 ; +C -1 ; WX 444 ; N eacute ; B -6 -15 411 689 ; +C -1 ; WX 444 ; N edieresis ; B -6 -15 405 644 ; +C -1 ; WX 651 ; N dcaron ; B 3 -15 711 737 ; +C -1 ; WX 444 ; N ccedilla ; B 5 -216 401 470 ; +C -1 ; WX 444 ; N ccaron ; B 5 -15 474 683 ; +C -1 ; WX 444 ; N cacute ; B 5 -15 444 689 ; +C -1 ; WX 574 ; N aogonek ; B 1 -155 523 470 ; +C -1 ; WX 574 ; N aring ; B 1 -15 523 712 ; +C -1 ; WX 574 ; N atilde ; B 1 -15 523 650 ; +C -1 ; WX 574 ; N abreve ; B 1 -15 523 677 ; +C -1 ; WX 444 ; N egrave ; B -6 -15 391 691 ; +C -1 ; WX 574 ; N agrave ; B 1 -15 523 691 ; +C -1 ; WX 574 ; N aacute ; B 1 -15 523 689 ; +C -1 ; WX 574 ; N adieresis ; B 1 -15 523 644 ; +C -1 ; WX 815 ; N Uogonek ; B 93 -155 860 722 ; +C -1 ; WX 611 ; N ugrave ; B 41 -15 556 691 ; +C -1 ; WX 611 ; N uacute ; B 41 -15 556 689 ; +C -1 ; WX 611 ; N udieresis ; B 41 -15 556 644 ; +C -1 ; WX 368 ; N tcaron ; B 25 -15 428 709 ; +C -1 ; WX 444 ; N scommaaccent ; B -1 -288 392 470 ; +C -1 ; WX 667 ; N Zcaron ; B -25 0 667 940 ; +C -1 ; WX 444 ; N ecircumflex ; B -6 -15 391 688 ; +C -1 ; WX 815 ; N Ucircumflex ; B 93 -15 860 940 ; +C -1 ; WX 574 ; N acircumflex ; B 1 -15 523 688 ; +C -1 ; WX 667 ; N Zdotaccent ; B -25 0 667 910 ; +C -1 ; WX 444 ; N scaron ; B -1 -15 434 683 ; +C -1 ; WX 704 ; N Amacron ; B -82 0 668 877 ; +C -1 ; WX 444 ; N sacute ; B -1 -15 424 689 ; +C -1 ; WX 685 ; N Tcommaaccent ; B 40 -288 726 722 ; +C -1 ; WX 685 ; N Ydieresis ; B 32 0 758 910 ; +C -1 ; WX 574 ; N thorn ; B -101 -202 506 737 ; +C -1 ; WX 722 ; N Emacron ; B -37 0 701 877 ; +C -1 ; WX 778 ; N Ograve ; B 40 -15 735 946 ; +C -1 ; WX 778 ; N Oacute ; B 40 -15 735 947 ; +C -1 ; WX 778 ; N Odieresis ; B 40 -15 735 910 ; +C -1 ; WX 815 ; N Ntilde ; B -48 -14 859 917 ; +C -1 ; WX 815 ; N Ncaron ; B -48 -14 859 940 ; +C -1 ; WX 815 ; N Nacute ; B -48 -14 859 947 ; +C -1 ; WX 667 ; N Lcaron ; B -37 0 707 737 ; +C -1 ; WX 667 ; N Lacute ; B -37 0 630 947 ; +C -1 ; WX 407 ; N Idotaccent ; B -33 0 431 910 ; +C -1 ; WX 444 ; N racute ; B 9 0 450 689 ; +C -1 ; WX 407 ; N Icircumflex ; B -33 0 431 940 ; +C -1 ; WX 500 ; N ohungarumlaut ; B 5 -15 560 688 ; +C -1 ; WX 500 ; N otilde ; B 5 -15 454 650 ; +C -1 ; WX 556 ; N Euro ; B -29 -15 629 713 ; +C -1 ; WX 500 ; N ocircumflex ; B 5 -15 450 688 ; +C -1 ; WX 333 ; N onesuperior ; B 43 288 309 712 ; +C -1 ; WX 333 ; N twosuperior ; B 0 288 353 710 ; +C -1 ; WX 333 ; N threesuperior ; B 1 279 331 710 ; +C -1 ; WX 407 ; N Igrave ; B -33 0 431 946 ; +C -1 ; WX 407 ; N Iacute ; B -33 0 431 947 ; +C -1 ; WX 407 ; N Imacron ; B -33 0 465 877 ; +C -1 ; WX 407 ; N Iogonek ; B -33 -155 431 722 ; +C -1 ; WX 407 ; N Idieresis ; B -33 0 446 910 ; +C -1 ; WX 778 ; N Gbreve ; B 39 -15 763 935 ; +C -1 ; WX 815 ; N Umacron ; B 93 -15 860 877 ; +C -1 ; WX 741 ; N Kcommaaccent ; B -40 -288 814 722 ; +C -1 ; WX 500 ; N ograve ; B 5 -15 450 691 ; +C -1 ; WX 667 ; N Scommaaccent ; B 0 -329 632 737 ; +C -1 ; WX 722 ; N Eogonek ; B -37 -155 701 722 ; +C -1 ; WX 500 ; N oacute ; B 5 -15 450 689 ; +C -1 ; WX 722 ; N Edotaccent ; B -37 0 701 910 ; +C -1 ; WX 333 ; N iogonek ; B 27 -155 282 714 ; +C -1 ; WX 537 ; N gcommaaccent ; B -79 -202 523 759 ; +C -1 ; WX 500 ; N odieresis ; B 5 -15 450 644 ; +C -1 ; WX 611 ; N ntilde ; B 14 -15 562 650 ; +C -1 ; WX 611 ; N ncaron ; B 14 -15 562 683 ; +C -1 ; WX 722 ; N Ecaron ; B -37 0 701 940 ; +C -1 ; WX 722 ; N Ecircumflex ; B -37 0 701 940 ; +C -1 ; WX 444 ; N scedilla ; B -1 -216 392 470 ; +C -1 ; WX 444 ; N rcaron ; B 9 0 434 683 ; +C -1 ; WX 722 ; N Egrave ; B -37 0 701 946 ; +C -1 ; WX 722 ; N Eacute ; B -37 0 701 947 ; +C -1 ; WX 778 ; N Gcommaaccent ; B 39 -288 763 737 ; +C -1 ; WX 741 ; N Rcommaaccent ; B -41 -288 691 722 ; +C -1 ; WX 722 ; N Edieresis ; B -37 0 701 910 ; +C -1 ; WX 611 ; N nacute ; B 14 -15 562 689 ; +C -1 ; WX 611 ; N uogonek ; B 41 -155 556 470 ; +C -1 ; WX 611 ; N umacron ; B 41 -15 556 610 ; +C -1 ; WX 778 ; N Dcaron ; B -38 0 735 940 ; +C -1 ; WX 359 ; N lcaron ; B 16 -15 419 737 ; +C -1 ; WX 722 ; N Ccaron ; B 40 -15 713 940 ; +C -1 ; WX 722 ; N Cacute ; B 40 -15 713 947 ; +C -1 ; WX 722 ; N Ccedilla ; B 40 -216 713 737 ; +C -1 ; WX 400 ; N degree ; B 70 380 370 686 ; +C -1 ; WX 704 ; N Aogonek ; B -82 -155 753 737 ; +C -1 ; WX 606 ; N minus ; B 41 213 545 293 ; +C -1 ; WX 606 ; N multiply ; B 37 1 540 504 ; +C -1 ; WX 606 ; N divide ; B 37 -9 540 515 ; +C -1 ; WX 704 ; N Aring ; B -82 0 668 966 ; +C -1 ; WX 950 ; N trademark ; B 48 288 971 722 ; +C -1 ; WX 444 ; N rcommaaccent ; B 9 -288 433 470 ; +C -1 ; WX 333 ; N lacute ; B 16 -15 371 944 ; +C -1 ; WX 500 ; N omacron ; B 5 -15 450 610 ; +C -1 ; WX 704 ; N Atilde ; B -82 0 668 917 ; +C -1 ; WX 333 ; N icircumflex ; B -3 -14 291 688 ; +C -1 ; WX 333 ; N igrave ; B 27 -14 282 691 ; +C -1 ; WX 611 ; N ncommaaccent ; B 14 -288 562 470 ; +C -1 ; WX 333 ; N lcommaaccent ; B -34 -288 294 737 ; +C -1 ; WX 606 ; N plusminus ; B 37 0 540 581 ; +C -1 ; WX 834 ; N onehalf ; B 33 0 844 712 ; +C -1 ; WX 834 ; N onequarter ; B 33 0 833 712 ; +C -1 ; WX 834 ; N threequarters ; B 1 0 833 710 ; +C -1 ; WX 333 ; N iacute ; B 27 -14 355 689 ; +C -1 ; WX 704 ; N Abreve ; B -82 0 668 935 ; +C -1 ; WX 556 ; N kcommaaccent ; B -5 -288 492 737 ; +C -1 ; WX 778 ; N Omacron ; B 40 -15 735 877 ; +C -1 ; WX 333 ; N imacron ; B 27 -14 363 610 ; +C -1 ; WX 444 ; N emacron ; B -6 -15 419 610 ; +C -1 ; WX 574 ; N amacron ; B 1 -15 523 610 ; +C -1 ; WX 352 ; N tcommaaccent ; B -5 -288 329 621 ; +C -1 ; WX 500 ; N ydieresis ; B -79 -202 454 644 ; +C -1 ; WX 463 ; N zdotaccent ; B -33 -15 417 644 ; +C -1 ; WX 463 ; N zcaron ; B -33 -15 443 683 ; +C -1 ; WX 463 ; N zacute ; B -33 -15 420 689 ; +C -1 ; WX 500 ; N yacute ; B -79 -202 454 689 ; +C -1 ; WX 611 ; N uhungarumlaut ; B 41 -15 611 688 ; +C -1 ; WX 500 ; N eth ; B 5 -15 450 716 ; +C -1 ; WX 611 ; N uring ; B 41 -15 556 712 ; +C -1 ; WX 778 ; N Ocircumflex ; B 40 -15 735 940 ; +C -1 ; WX 333 ; N commaaccent ; B 46 -288 218 -40 ; +C -1 ; WX 747 ; N copyright ; B 24 -15 724 685 ; +C -1 ; WX 747 ; N registered ; B 23 -15 723 685 ; +C -1 ; WX 704 ; N Acircumflex ; B -82 0 668 940 ; +C -1 ; WX 333 ; N idieresis ; B 27 -14 349 644 ; +C -1 ; WX 494 ; N lozenge ; B 18 0 466 740 ; +C -1 ; WX 612 ; N Delta ; B 6 0 608 688 ; +C -1 ; WX 606 ; N notequal ; B 36 -43 540 549 ; +C -1 ; WX 549 ; N radical ; B -10 -35 531 916 ; +C -1 ; WX 704 ; N Agrave ; B -82 0 668 946 ; +C -1 ; WX 704 ; N Aacute ; B -82 0 668 947 ; +C -1 ; WX 606 ; N lessequal ; B 34 0 543 643 ; +C -1 ; WX 606 ; N greaterequal ; B 53 0 562 643 ; +C -1 ; WX 606 ; N logicalnot ; B 41 0 545 293 ; +C -1 ; WX 713 ; N summation ; B 14 -123 695 752 ; +C -1 ; WX 494 ; N partialdiff ; B 26 -10 462 753 ; +C -1 ; WX 815 ; N Ncommaaccent ; B -48 -288 859 722 ; +C -1 ; WX 611 ; N dcroat ; B 3 -15 635 737 ; +C -1 ; WX 606 ; N brokenbar ; B 269 0 337 722 ; +C -1 ; WX 667 ; N Lcommaaccent ; B -37 -288 630 722 ; +C -1 ; WX 704 ; N Adieresis ; B -82 0 668 910 ; +C -1 ; WX 611 ; N mu ; B -70 -219 556 470 ; +C -1 ; WX 278 ; N .notdef ; B 0 0 0 0 ; +EndCharMetrics +StartKernData +StartKernPairs 998 +KPX A C -37 +KPX A Ccedilla -41 +KPX A G -32 +KPX A O -34 +KPX A Odieresis -34 +KPX A Q -32 +KPX A T -18 +KPX A U -43 +KPX A Uacute -43 +KPX A Ucircumflex -43 +KPX A Udieresis -43 +KPX A Ugrave -43 +KPX A V -91 +KPX A W -85 +KPX A Y -21 +KPX A a 3 +KPX A b -11 +KPX A c -3 +KPX A ccedilla -7 +KPX A comma 16 +KPX A d 1 +KPX A e 3 +KPX A g 17 +KPX A guillemotleft -19 +KPX A guilsinglleft -47 +KPX A hyphen -16 +KPX A o -4 +KPX A period 17 +KPX A q 3 +KPX A quotedblright -59 +KPX A quoteright -58 +KPX A t 3 +KPX A u -8 +KPX A v -13 +KPX A w -1 +KPX A y -51 +KPX Aacute C -37 +KPX Aacute G -32 +KPX Aacute O -34 +KPX Aacute Q -32 +KPX Aacute T -18 +KPX Aacute U -43 +KPX Aacute V -91 +KPX Aacute W -85 +KPX Aacute Y -21 +KPX Aacute a 3 +KPX Aacute b -11 +KPX Aacute c -3 +KPX Aacute comma 16 +KPX Aacute d 1 +KPX Aacute e 3 +KPX Aacute g 17 +KPX Aacute guillemotleft -19 +KPX Aacute guilsinglleft -47 +KPX Aacute hyphen -16 +KPX Aacute o -4 +KPX Aacute period 17 +KPX Aacute q 3 +KPX Aacute quoteright -58 +KPX Aacute t 3 +KPX Aacute u -8 +KPX Aacute v -13 +KPX Aacute w -1 +KPX Aacute y -51 +KPX Acircumflex C -37 +KPX Acircumflex G -32 +KPX Acircumflex O -34 +KPX Acircumflex Q -32 +KPX Acircumflex T -18 +KPX Acircumflex U -43 +KPX Acircumflex V -91 +KPX Acircumflex W -85 +KPX Acircumflex Y -21 +KPX Acircumflex comma 16 +KPX Acircumflex period 17 +KPX Adieresis C -37 +KPX Adieresis G -32 +KPX Adieresis O -34 +KPX Adieresis Q -32 +KPX Adieresis T -18 +KPX Adieresis U -43 +KPX Adieresis V -91 +KPX Adieresis W -85 +KPX Adieresis Y -21 +KPX Adieresis a 3 +KPX Adieresis b -11 +KPX Adieresis c -3 +KPX Adieresis comma 16 +KPX Adieresis d 1 +KPX Adieresis g 17 +KPX Adieresis guillemotleft -19 +KPX Adieresis guilsinglleft -47 +KPX Adieresis hyphen -16 +KPX Adieresis o -4 +KPX Adieresis period 17 +KPX Adieresis q 3 +KPX Adieresis quotedblright -59 +KPX Adieresis quoteright -58 +KPX Adieresis t 3 +KPX Adieresis u -8 +KPX Adieresis v -13 +KPX Adieresis w -1 +KPX Adieresis y -51 +KPX Agrave C -37 +KPX Agrave G -32 +KPX Agrave O -34 +KPX Agrave Q -32 +KPX Agrave T -18 +KPX Agrave U -43 +KPX Agrave V -91 +KPX Agrave W -85 +KPX Agrave Y -21 +KPX Agrave comma 16 +KPX Agrave period 17 +KPX Aring C -37 +KPX Aring G -32 +KPX Aring O -34 +KPX Aring Q -32 +KPX Aring T -18 +KPX Aring U -43 +KPX Aring V -91 +KPX Aring W -85 +KPX Aring Y -21 +KPX Aring a 3 +KPX Aring b -11 +KPX Aring c -3 +KPX Aring comma 16 +KPX Aring d 1 +KPX Aring e 3 +KPX Aring g 17 +KPX Aring guillemotleft -19 +KPX Aring guilsinglleft -47 +KPX Aring hyphen -16 +KPX Aring o -4 +KPX Aring period 17 +KPX Aring q 3 +KPX Aring quotedblright -59 +KPX Aring quoteright -58 +KPX Aring t 3 +KPX Aring u -8 +KPX Aring v -13 +KPX Aring w -1 +KPX Aring y -51 +KPX Atilde C -37 +KPX Atilde G -32 +KPX Atilde O -34 +KPX Atilde Q -32 +KPX Atilde T -18 +KPX Atilde U -43 +KPX Atilde V -91 +KPX Atilde W -85 +KPX Atilde Y -21 +KPX Atilde comma 16 +KPX Atilde period 17 +KPX B A -3 +KPX B AE 1 +KPX B Aacute -3 +KPX B Acircumflex -3 +KPX B Adieresis -3 +KPX B Aring -3 +KPX B Atilde -3 +KPX B O -12 +KPX B OE -13 +KPX B Oacute -12 +KPX B Ocircumflex -12 +KPX B Odieresis -12 +KPX B Ograve -12 +KPX B Oslash -13 +KPX B V -26 +KPX B W -37 +KPX B Y -21 +KPX C A -18 +KPX C AE -13 +KPX C Aacute -18 +KPX C Adieresis -18 +KPX C Aring -18 +KPX C H -21 +KPX C K -20 +KPX C O -12 +KPX C Oacute -12 +KPX C Odieresis -12 +KPX Ccedilla A -23 +KPX D A -42 +KPX D Aacute -42 +KPX D Acircumflex -42 +KPX D Adieresis -42 +KPX D Agrave -42 +KPX D Aring -42 +KPX D Atilde -42 +KPX D J -7 +KPX D T 0 +KPX D V -41 +KPX D W -48 +KPX D X -47 +KPX D Y -36 +KPX F A -73 +KPX F Aacute -73 +KPX F Acircumflex -73 +KPX F Adieresis -73 +KPX F Agrave -73 +KPX F Aring -73 +KPX F Atilde -73 +KPX F J -72 +KPX F O -1 +KPX F Odieresis -1 +KPX F a -49 +KPX F aacute -49 +KPX F adieresis -48 +KPX F ae -35 +KPX F aring -49 +KPX F comma -92 +KPX F e -52 +KPX F eacute -52 +KPX F hyphen -50 +KPX F i 0 +KPX F j -18 +KPX F o -54 +KPX F oacute -54 +KPX F odieresis -33 +KPX F oe -51 +KPX F oslash -55 +KPX F period -93 +KPX F r -1 +KPX F u 3 +KPX G A -7 +KPX G AE -2 +KPX G Aacute -7 +KPX G Acircumflex -7 +KPX G Adieresis -7 +KPX G Agrave -7 +KPX G Aring -7 +KPX G Atilde -7 +KPX G T -22 +KPX G V 1 +KPX G W -7 +KPX G Y 2 +KPX J A -47 +KPX J AE -42 +KPX J Adieresis -47 +KPX J Aring -47 +KPX K C -34 +KPX K G -36 +KPX K O -36 +KPX K OE -39 +KPX K Oacute -36 +KPX K Odieresis -36 +KPX K S 17 +KPX K T 20 +KPX K a 0 +KPX K adieresis 0 +KPX K ae 18 +KPX K aring 0 +KPX K e 0 +KPX K hyphen -51 +KPX K o -8 +KPX K oacute -8 +KPX K odieresis -8 +KPX K u -12 +KPX K udieresis -12 +KPX K y -83 +KPX L A 31 +KPX L AE 36 +KPX L Aacute 31 +KPX L Adieresis 31 +KPX L Aring 31 +KPX L C 2 +KPX L Ccedilla 2 +KPX L G 3 +KPX L O 2 +KPX L Oacute 2 +KPX L Ocircumflex 2 +KPX L Odieresis 2 +KPX L Ograve 2 +KPX L Otilde 2 +KPX L S 0 +KPX L T -49 +KPX L U -26 +KPX L Udieresis -26 +KPX L V -72 +KPX L W -67 +KPX L Y -52 +KPX L hyphen 38 +KPX L quotedblright -48 +KPX L quoteright -41 +KPX L u -7 +KPX L udieresis -7 +KPX L y -1 +KPX N A -32 +KPX N AE -27 +KPX N Aacute -32 +KPX N Adieresis -32 +KPX N Aring -32 +KPX N C -28 +KPX N Ccedilla -27 +KPX N G -29 +KPX N O -28 +KPX N Oacute -28 +KPX N Odieresis -28 +KPX N a -34 +KPX N aacute -34 +KPX N adieresis -34 +KPX N ae -39 +KPX N aring -34 +KPX N comma -36 +KPX N e -32 +KPX N eacute -32 +KPX N o -37 +KPX N oacute -37 +KPX N odieresis -37 +KPX N oslash -33 +KPX N period -38 +KPX N u -42 +KPX N udieresis -42 +KPX O A -42 +KPX O AE -37 +KPX O Aacute -42 +KPX O Adieresis -42 +KPX O Aring -42 +KPX O T 0 +KPX O V -35 +KPX O W -47 +KPX O X -47 +KPX O Y -30 +KPX Oacute A -42 +KPX Oacute T 0 +KPX Oacute V -35 +KPX Oacute W -47 +KPX Oacute Y -30 +KPX Ocircumflex T 0 +KPX Ocircumflex V -35 +KPX Ocircumflex Y -30 +KPX Odieresis A -42 +KPX Odieresis T 0 +KPX Odieresis V -35 +KPX Odieresis W -47 +KPX Odieresis X -47 +KPX Odieresis Y -30 +KPX Ograve T 0 +KPX Ograve V -35 +KPX Ograve Y -30 +KPX Oslash A -41 +KPX Otilde T 0 +KPX Otilde V -35 +KPX Otilde Y -30 +KPX P A -80 +KPX P AE -69 +KPX P Aacute -80 +KPX P Adieresis -80 +KPX P Aring -80 +KPX P J -78 +KPX P a -32 +KPX P aacute -32 +KPX P adieresis -32 +KPX P ae -23 +KPX P aring -32 +KPX P comma -111 +KPX P e -33 +KPX P eacute -33 +KPX P hyphen -55 +KPX P o -36 +KPX P oacute -36 +KPX P odieresis -36 +KPX P oe -32 +KPX P oslash -35 +KPX P period -112 +KPX R C -15 +KPX R Ccedilla -14 +KPX R G -14 +KPX R O -14 +KPX R OE -14 +KPX R Oacute -14 +KPX R Odieresis -14 +KPX R T -14 +KPX R U -33 +KPX R Udieresis -33 +KPX R V -22 +KPX R W -33 +KPX R Y -17 +KPX R a -1 +KPX R aacute -1 +KPX R adieresis -1 +KPX R ae 5 +KPX R aring -1 +KPX R e 1 +KPX R eacute 1 +KPX R hyphen 0 +KPX R o -4 +KPX R oacute -4 +KPX R odieresis -4 +KPX R oe -2 +KPX R u -22 +KPX R uacute -22 +KPX R udieresis -22 +KPX R y -45 +KPX S A -5 +KPX S AE 0 +KPX S Aacute -5 +KPX S Adieresis -5 +KPX S Aring -5 +KPX S T -21 +KPX S V 3 +KPX S W -5 +KPX S Y 4 +KPX S t -19 +KPX T A -46 +KPX T AE -41 +KPX T Aacute -46 +KPX T Acircumflex -46 +KPX T Adieresis -46 +KPX T Agrave -46 +KPX T Aring -46 +KPX T Atilde -46 +KPX T C 8 +KPX T G 6 +KPX T J -80 +KPX T O 7 +KPX T OE 8 +KPX T Oacute 7 +KPX T Ocircumflex 7 +KPX T Odieresis 7 +KPX T Ograve 7 +KPX T Oslash 6 +KPX T Otilde 7 +KPX T S -10 +KPX T V 41 +KPX T W 34 +KPX T Y 43 +KPX T a -28 +KPX T ae -14 +KPX T c -35 +KPX T colon -26 +KPX T comma -92 +KPX T e -33 +KPX T g -35 +KPX T guillemotleft -102 +KPX T guilsinglleft -130 +KPX T hyphen -99 +KPX T i 15 +KPX T j -3 +KPX T o -35 +KPX T oslash -37 +KPX T period -93 +KPX T r 13 +KPX T s -21 +KPX T semicolon -30 +KPX T u 13 +KPX T v 17 +KPX T w 16 +KPX T y 2 +KPX U A -50 +KPX U AE -45 +KPX U Aacute -50 +KPX U Acircumflex -50 +KPX U Adieresis -50 +KPX U Aring -50 +KPX U Atilde -50 +KPX U comma -47 +KPX U m -44 +KPX U n -44 +KPX U p -47 +KPX U period -48 +KPX U r -43 +KPX Uacute A -50 +KPX Uacute comma -47 +KPX Uacute m -44 +KPX Uacute n -44 +KPX Uacute p -47 +KPX Uacute period -48 +KPX Uacute r -43 +KPX Ucircumflex A -50 +KPX Udieresis A -50 +KPX Udieresis b 8 +KPX Udieresis comma -47 +KPX Udieresis m -44 +KPX Udieresis n -44 +KPX Udieresis p -47 +KPX Udieresis period -48 +KPX Udieresis r -43 +KPX Ugrave A -50 +KPX V A -95 +KPX V AE -42 +KPX V Aacute -95 +KPX V Acircumflex -95 +KPX V Adieresis -95 +KPX V Agrave -95 +KPX V Aring -95 +KPX V Atilde -95 +KPX V C -41 +KPX V G -45 +KPX V O -43 +KPX V Oacute -43 +KPX V Ocircumflex -43 +KPX V Odieresis -43 +KPX V Ograve -43 +KPX V Oslash -46 +KPX V Otilde -43 +KPX V S -15 +KPX V T 17 +KPX V a -79 +KPX V ae -84 +KPX V colon -99 +KPX V comma -101 +KPX V e -78 +KPX V g -88 +KPX V guillemotleft -70 +KPX V guilsinglleft -98 +KPX V hyphen -68 +KPX V i -13 +KPX V o -83 +KPX V oslash -79 +KPX V period -102 +KPX V r -56 +KPX V semicolon -103 +KPX V u -55 +KPX V y -68 +KPX W A -71 +KPX W AE -53 +KPX W Aacute -71 +KPX W Acircumflex -71 +KPX W Adieresis -71 +KPX W Agrave -71 +KPX W Aring -71 +KPX W Atilde -71 +KPX W C -44 +KPX W G -44 +KPX W O -44 +KPX W Oacute -44 +KPX W Ocircumflex -44 +KPX W Odieresis -44 +KPX W Ograve -44 +KPX W Oslash -43 +KPX W Otilde -44 +KPX W S -26 +KPX W T 6 +KPX W a -58 +KPX W ae -64 +KPX W colon -92 +KPX W comma -71 +KPX W e -57 +KPX W g -66 +KPX W guillemotleft -49 +KPX W guilsinglleft -77 +KPX W hyphen -46 +KPX W i -24 +KPX W o -61 +KPX W oslash -57 +KPX W period -72 +KPX W r -49 +KPX W semicolon -93 +KPX W u -48 +KPX W y -56 +KPX X C -37 +KPX X O -39 +KPX X Odieresis -39 +KPX X Q -41 +KPX X a -5 +KPX X e -5 +KPX X hyphen -50 +KPX X o -13 +KPX X u -17 +KPX X y -88 +KPX Y A -43 +KPX Y AE -38 +KPX Y Aacute -43 +KPX Y Acircumflex -43 +KPX Y Adieresis -43 +KPX Y Agrave -43 +KPX Y Aring -43 +KPX Y Atilde -43 +KPX Y C -33 +KPX Y G -37 +KPX Y O -35 +KPX Y Oacute -35 +KPX Y Ocircumflex -35 +KPX Y Odieresis -35 +KPX Y Ograve -35 +KPX Y Oslash -38 +KPX Y Otilde -35 +KPX Y S -8 +KPX Y T 21 +KPX Y a -92 +KPX Y ae -83 +KPX Y colon -103 +KPX Y comma -89 +KPX Y e -91 +KPX Y g -87 +KPX Y guillemotleft -95 +KPX Y guilsinglleft -123 +KPX Y hyphen -95 +KPX Y i -10 +KPX Y o -95 +KPX Y oslash -91 +KPX Y p -80 +KPX Y period -90 +KPX Y semicolon -102 +KPX Y u -72 +KPX Y v -69 +KPX Z v -15 +KPX Z y -8 +KPX a j -45 +KPX a quoteright -7 +KPX a v -21 +KPX a w -18 +KPX a y -37 +KPX aacute v -21 +KPX aacute w -18 +KPX aacute y -37 +KPX adieresis v -21 +KPX adieresis w -18 +KPX adieresis y -37 +KPX ae v -21 +KPX ae w -22 +KPX ae y -6 +KPX agrave v -21 +KPX agrave w -18 +KPX agrave y -37 +KPX aring v -21 +KPX aring w -18 +KPX aring y -37 +KPX b v -27 +KPX b w -26 +KPX b y -4 +KPX c h -23 +KPX c k -21 +KPX comma one -48 +KPX comma quotedblright 4 +KPX comma quoteright 4 +KPX e quoteright 20 +KPX e t -13 +KPX e v -22 +KPX e w -22 +KPX e x -1 +KPX e y -4 +KPX eacute v -22 +KPX eacute w -23 +KPX eacute y -4 +KPX ecircumflex v -22 +KPX ecircumflex w -22 +KPX ecircumflex y -4 +KPX eight four 7 +KPX eight one -60 +KPX eight seven -11 +KPX f a -14 +KPX f aacute -14 +KPX f adieresis 3 +KPX f ae -7 +KPX f aring -14 +KPX f e -15 +KPX f eacute -15 +KPX f f 14 +KPX f i 16 +KPX f j -2 +KPX f l 42 +KPX f o -18 +KPX f oacute -18 +KPX f odieresis 18 +KPX f oe -15 +KPX f oslash -18 +KPX f quoteright 57 +KPX f s -12 +KPX f t 18 +KPX five four 4 +KPX five one -77 +KPX five seven -42 +KPX four four 17 +KPX four one -41 +KPX four seven -30 +KPX g a -32 +KPX g adieresis -32 +KPX g ae -22 +KPX g aring -32 +KPX g e -29 +KPX g eacute -29 +KPX g l -37 +KPX g oacute -32 +KPX g odieresis -32 +KPX g r 0 +KPX guillemotright A -14 +KPX guillemotright AE -1 +KPX guillemotright Aacute -14 +KPX guillemotright Adieresis -14 +KPX guillemotright Aring -14 +KPX guillemotright T -81 +KPX guillemotright V -61 +KPX guillemotright W -53 +KPX guillemotright Y -80 +KPX guilsinglright A -38 +KPX guilsinglright AE -25 +KPX guilsinglright Aacute -38 +KPX guilsinglright Adieresis -38 +KPX guilsinglright Aring -38 +KPX guilsinglright T -105 +KPX guilsinglright V -86 +KPX guilsinglright W -77 +KPX guilsinglright Y -104 +KPX h quoteright -22 +KPX h y -43 +KPX hyphen A -11 +KPX hyphen AE 2 +KPX hyphen Aacute -11 +KPX hyphen Adieresis -11 +KPX hyphen Aring -11 +KPX hyphen T -78 +KPX hyphen V -60 +KPX hyphen W -51 +KPX hyphen Y -81 +KPX i T -38 +KPX i j -44 +KPX k a -5 +KPX k aacute -5 +KPX k adieresis -5 +KPX k ae 0 +KPX k aring -5 +KPX k comma 0 +KPX k e -2 +KPX k eacute -2 +KPX k g -7 +KPX k hyphen -9 +KPX k o -8 +KPX k oacute -8 +KPX k odieresis -8 +KPX k period -1 +KPX k s -6 +KPX k u -27 +KPX k udieresis -27 +KPX l v -28 +KPX l y -52 +KPX m p -27 +KPX m v -22 +KPX m w -18 +KPX m y -42 +KPX n T -61 +KPX n p -26 +KPX n quoteright -19 +KPX n v -21 +KPX n w -17 +KPX n y -40 +KPX nine four -2 +KPX nine one -69 +KPX nine seven -12 +KPX o T -48 +KPX o quoteright 15 +KPX o t -15 +KPX o v -19 +KPX o w -17 +KPX o x -9 +KPX o y 3 +KPX oacute v -19 +KPX oacute w -17 +KPX oacute y 3 +KPX ocircumflex t -15 +KPX odieresis t -15 +KPX odieresis v -19 +KPX odieresis w -17 +KPX odieresis x -9 +KPX odieresis y 3 +KPX ograve v -19 +KPX ograve w -17 +KPX ograve y 3 +KPX one comma -30 +KPX one eight -41 +KPX one five -39 +KPX one four -60 +KPX one nine -33 +KPX one one -50 +KPX one period -31 +KPX one seven -67 +KPX one six -49 +KPX one three -36 +KPX one two -8 +KPX one zero -42 +KPX p t -21 +KPX p y -4 +KPX period one -54 +KPX period quotedblright -1 +KPX period quoteright -1 +KPX q c -26 +KPX q u -23 +KPX quotedblbase A 37 +KPX quotedblbase AE 50 +KPX quotedblbase T -50 +KPX quotedblbase V -76 +KPX quotedblbase W -64 +KPX quotedblbase Y -53 +KPX quotedblleft A -63 +KPX quotedblleft AE -51 +KPX quotedblleft Aacute -63 +KPX quotedblleft Adieresis -63 +KPX quotedblleft Aring -63 +KPX quotedblleft T 33 +KPX quotedblleft V 43 +KPX quotedblleft W 35 +KPX quotedblleft Y 44 +KPX quotedblright A -69 +KPX quotedblright AE -57 +KPX quotedblright Aacute -69 +KPX quotedblright Adieresis -69 +KPX quotedblright Aring -69 +KPX quotedblright T 29 +KPX quotedblright V 33 +KPX quotedblright W 25 +KPX quotedblright Y 35 +KPX quoteleft A -61 +KPX quoteleft AE -49 +KPX quoteleft Aacute -61 +KPX quoteleft Adieresis -61 +KPX quoteleft Aring -61 +KPX quoteleft T 35 +KPX quoteleft V 45 +KPX quoteleft W 38 +KPX quoteleft Y 47 +KPX quoteright A -62 +KPX quoteright AE -50 +KPX quoteright Aacute -62 +KPX quoteright Adieresis -62 +KPX quoteright Aring -62 +KPX quoteright comma -42 +KPX quoteright d -18 +KPX quoteright o -13 +KPX quoteright period -43 +KPX quoteright r -5 +KPX quoteright s -11 +KPX quoteright t -1 +KPX quoteright v -1 +KPX quoteright w -2 +KPX quoteright y 14 +KPX r a -10 +KPX r aacute -10 +KPX r acircumflex -10 +KPX r adieresis -10 +KPX r ae -11 +KPX r agrave -10 +KPX r aring -10 +KPX r c -11 +KPX r ccedilla -9 +KPX r colon -36 +KPX r comma -108 +KPX r d -15 +KPX r e -8 +KPX r eacute -8 +KPX r ecircumflex -8 +KPX r egrave -8 +KPX r f 5 +KPX r g -15 +KPX r h -33 +KPX r hyphen -75 +KPX r i 4 +KPX r j -14 +KPX r k -30 +KPX r l -28 +KPX r m -3 +KPX r n -3 +KPX r o -10 +KPX r oacute -10 +KPX r ocircumflex -10 +KPX r odieresis -10 +KPX r oe -6 +KPX r ograve -10 +KPX r oslash -8 +KPX r p -3 +KPX r period -109 +KPX r q -15 +KPX r quoteright 36 +KPX r r 1 +KPX r s -14 +KPX r semicolon -39 +KPX r t 9 +KPX r u -1 +KPX r v 2 +KPX r w 1 +KPX r x 2 +KPX r y 10 +KPX r z 2 +KPX s quoteright 19 +KPX s t -14 +KPX seven colon -95 +KPX seven comma -78 +KPX seven eight -47 +KPX seven five -49 +KPX seven four -82 +KPX seven one -67 +KPX seven period -79 +KPX seven seven -28 +KPX seven six -49 +KPX seven three -38 +KPX seven two -31 +KPX six four 11 +KPX six one -55 +KPX six seven -12 +KPX t S -11 +KPX t a -6 +KPX t aacute -6 +KPX t adieresis -6 +KPX t ae -1 +KPX t aring -6 +KPX t colon -40 +KPX t e -3 +KPX t eacute -3 +KPX t h -24 +KPX t o -9 +KPX t oacute -9 +KPX t odieresis -9 +KPX t quoteright 4 +KPX t semicolon -37 +KPX three four -3 +KPX three one -73 +KPX three seven -20 +KPX two four 2 +KPX two one -56 +KPX two seven -18 +KPX u quoteright -12 +KPX v a -20 +KPX v aacute -20 +KPX v acircumflex -20 +KPX v adieresis -20 +KPX v ae -28 +KPX v agrave -20 +KPX v aring -20 +KPX v atilde -20 +KPX v c -23 +KPX v colon -67 +KPX v comma -43 +KPX v e -19 +KPX v eacute -19 +KPX v ecircumflex -19 +KPX v egrave -19 +KPX v g -31 +KPX v hyphen -9 +KPX v l -33 +KPX v o -23 +KPX v oacute -23 +KPX v odieresis -23 +KPX v ograve -23 +KPX v oslash -19 +KPX v period -44 +KPX v s -31 +KPX v semicolon -65 +KPX w a -18 +KPX w aacute -18 +KPX w acircumflex -18 +KPX w adieresis -18 +KPX w ae -26 +KPX w agrave -18 +KPX w aring -18 +KPX w atilde -18 +KPX w c -21 +KPX w colon -65 +KPX w comma -40 +KPX w e -17 +KPX w eacute -17 +KPX w ecircumflex -17 +KPX w egrave -17 +KPX w g -29 +KPX w hyphen -8 +KPX w l -31 +KPX w o -21 +KPX w oacute -21 +KPX w odieresis -21 +KPX w ograve -21 +KPX w oslash -17 +KPX w period -41 +KPX w s -29 +KPX w semicolon -63 +KPX x a 3 +KPX x c 0 +KPX x e 5 +KPX x eacute 5 +KPX x o 0 +KPX x q 3 +KPX y a -21 +KPX y aacute -21 +KPX y acircumflex -21 +KPX y adieresis -21 +KPX y ae -28 +KPX y agrave -21 +KPX y aring -21 +KPX y atilde -21 +KPX y c -24 +KPX y colon -53 +KPX y comma -48 +KPX y e -20 +KPX y eacute -20 +KPX y ecircumflex -20 +KPX y egrave -20 +KPX y g -31 +KPX y hyphen -15 +KPX y l -33 +KPX y o -24 +KPX y oacute -24 +KPX y odieresis -24 +KPX y ograve -24 +KPX y oslash -20 +KPX y period -49 +KPX y s -31 +KPX y semicolon -57 +KPX zero four 6 +KPX zero one -62 +KPX zero seven -8 +EndKernPairs +EndKernData +EndFontMetrics diff --git a/Master/xemtex/gsfonts/c059033l.pfb b/Master/xemtex/gsfonts/c059033l.pfb new file mode 100644 index 00000000000..0073b95a016 Binary files /dev/null and b/Master/xemtex/gsfonts/c059033l.pfb differ diff --git a/Master/xemtex/gsfonts/c059033l.pfm b/Master/xemtex/gsfonts/c059033l.pfm new file mode 100644 index 00000000000..5860e2e7b13 Binary files /dev/null and b/Master/xemtex/gsfonts/c059033l.pfm differ diff --git a/Master/xemtex/gsfonts/c059036l.afm b/Master/xemtex/gsfonts/c059036l.afm new file mode 100644 index 00000000000..9e83da145d5 --- /dev/null +++ b/Master/xemtex/gsfonts/c059036l.afm @@ -0,0 +1,1341 @@ +StartFontMetrics 3.0 +Comment Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development +Comment Creation Date: 12/22/1999 +Comment See the file PUBLIC (Aladdin Free Public License) for license conditions. +FontName CenturySchL-BoldItal +FullName Century Schoolbook L Bold Italic +FamilyName Century Schoolbook L +Weight Bold +ItalicAngle -15.0 +IsFixedPitch false +UnderlinePosition -102 +UnderlineThickness 54 +Version 1.05 +Notice (URW)++,Copyright 1999 by (URW)++ Design & Development +EncodingScheme AdobeStandardEncoding +FontBBox -170 -371 1151 998 +CapHeight 722 +XHeight 464 +Descender -202 +Ascender 736 +StartCharMetrics 316 +C 32 ; WX 287 ; N space ; B 0 0 0 0 ; +C 33 ; WX 333 ; N exclam ; B 3 -15 336 737 ; +C 34 ; WX 400 ; N quotedbl ; B 100 397 507 734 ; +C 35 ; WX 574 ; N numbersign ; B 41 0 533 700 ; +C 36 ; WX 574 ; N dollar ; B 3 -145 559 794 ; +C 37 ; WX 889 ; N percent ; B 51 0 836 722 ; +C 38 ; WX 889 ; N ampersand ; B 31 -15 823 737 ; +C 39 ; WX 259 ; N quoteright ; B 70 377 301 722 ; +C 40 ; WX 407 ; N parenleft ; B 71 -118 452 737 ; +C 41 ; WX 407 ; N parenright ; B -70 -118 308 737 ; +C 42 ; WX 500 ; N asterisk ; B 32 297 472 737 ; +C 43 ; WX 606 ; N plus ; B 41 0 545 505 ; +C 44 ; WX 287 ; N comma ; B -48 -187 180 159 ; +C 45 ; WX 333 ; N hyphen ; B 10 180 272 310 ; +C 46 ; WX 287 ; N period ; B 12 -15 186 159 ; +C 47 ; WX 278 ; N slash ; B -25 -15 311 737 ; +C 48 ; WX 574 ; N zero ; B 21 -15 553 705 ; +C 49 ; WX 574 ; N one ; B 25 0 489 707 ; +C 50 ; WX 574 ; N two ; B -45 0 538 705 ; +C 51 ; WX 574 ; N three ; B -5 -15 538 705 ; +C 52 ; WX 574 ; N four ; B -13 0 544 707 ; +C 53 ; WX 574 ; N five ; B 0 -15 573 705 ; +C 54 ; WX 574 ; N six ; B 30 -15 573 705 ; +C 55 ; WX 574 ; N seven ; B 64 -15 593 705 ; +C 56 ; WX 574 ; N eight ; B 0 -15 551 705 ; +C 57 ; WX 574 ; N nine ; B 1 -15 544 705 ; +C 58 ; WX 287 ; N colon ; B -2 -15 257 481 ; +C 59 ; WX 287 ; N semicolon ; B -39 -187 257 481 ; +C 60 ; WX 606 ; N less ; B 14 -25 523 529 ; +C 61 ; WX 606 ; N equal ; B 41 92 545 413 ; +C 62 ; WX 606 ; N greater ; B 38 -25 547 529 ; +C 63 ; WX 481 ; N question ; B 79 -15 452 737 ; +C 64 ; WX 747 ; N at ; B 22 -15 722 737 ; +C 65 ; WX 741 ; N A ; B -75 0 716 736 ; +C 66 ; WX 759 ; N B ; B -50 0 720 722 ; +C 67 ; WX 759 ; N C ; B 35 -15 759 737 ; +C 68 ; WX 833 ; N D ; B -49 0 796 722 ; +C 69 ; WX 741 ; N E ; B -41 0 728 722 ; +C 70 ; WX 704 ; N F ; B -41 0 726 722 ; +C 71 ; WX 815 ; N G ; B 34 -15 802 737 ; +C 72 ; WX 870 ; N H ; B -41 0 912 722 ; +C 73 ; WX 444 ; N I ; B -41 0 486 722 ; +C 74 ; WX 667 ; N J ; B -9 -15 718 722 ; +C 75 ; WX 778 ; N K ; B -41 0 832 722 ; +C 76 ; WX 704 ; N L ; B -41 0 670 722 ; +C 77 ; WX 944 ; N M ; B -24 0 988 722 ; +C 78 ; WX 852 ; N N ; B -57 -14 912 722 ; +C 79 ; WX 833 ; N O ; B 36 -15 797 737 ; +C 80 ; WX 741 ; N P ; B -38 0 731 722 ; +C 81 ; WX 833 ; N Q ; B 35 -186 796 737 ; +C 82 ; WX 796 ; N R ; B -41 -15 751 722 ; +C 83 ; WX 685 ; N S ; B 1 -15 666 737 ; +C 84 ; WX 722 ; N T ; B 44 0 762 722 ; +C 85 ; WX 833 ; N U ; B 88 -15 895 722 ; +C 86 ; WX 741 ; N V ; B 32 -14 802 722 ; +C 87 ; WX 944 ; N W ; B 40 -14 994 722 ; +C 88 ; WX 741 ; N X ; B -72 0 811 722 ; +C 89 ; WX 704 ; N Y ; B 15 0 777 722 ; +C 90 ; WX 704 ; N Z ; B -29 0 715 722 ; +C 91 ; WX 407 ; N bracketleft ; B -31 -108 432 722 ; +C 92 ; WX 606 ; N backslash ; B 81 0 545 722 ; +C 93 ; WX 407 ; N bracketright ; B -49 -108 414 722 ; +C 94 ; WX 606 ; N asciicircum ; B 52 318 554 722 ; +C 95 ; WX 500 ; N underscore ; B 0 -129 500 -75 ; +C 96 ; WX 259 ; N quoteleft ; B 39 391 270 737 ; +C 97 ; WX 667 ; N a ; B 15 -15 646 479 ; +C 98 ; WX 611 ; N b ; B 28 -15 557 736 ; +C 99 ; WX 537 ; N c ; B 3 -14 487 478 ; +C 100 ; WX 667 ; N d ; B 0 -15 663 736 ; +C 101 ; WX 519 ; N e ; B -2 -14 478 479 ; +C 102 ; WX 389 ; N f ; B -48 -205 550 737 ; +C 103 ; WX 611 ; N g ; B -66 -202 602 533 ; +C 104 ; WX 685 ; N h ; B 0 -15 637 736 ; +C 105 ; WX 389 ; N i ; B 28 -15 343 737 ; +C 106 ; WX 370 ; N j ; B -170 -202 381 737 ; +C 107 ; WX 648 ; N k ; B -5 -15 584 736 ; +C 108 ; WX 389 ; N l ; B 26 -15 370 736 ; +C 109 ; WX 944 ; N m ; B 9 -14 920 479 ; +C 110 ; WX 685 ; N n ; B 3 -15 642 479 ; +C 111 ; WX 574 ; N o ; B 10 -14 540 479 ; +C 112 ; WX 648 ; N p ; B -118 -202 590 479 ; +C 113 ; WX 630 ; N q ; B 0 -202 587 478 ; +C 114 ; WX 519 ; N r ; B 3 0 524 479 ; +C 115 ; WX 481 ; N s ; B 2 -15 437 479 ; +C 116 ; WX 407 ; N t ; B 24 -14 404 650 ; +C 117 ; WX 685 ; N u ; B 38 -14 639 478 ; +C 118 ; WX 556 ; N v ; B 32 -15 500 479 ; +C 119 ; WX 833 ; N w ; B 22 -15 788 479 ; +C 120 ; WX 574 ; N x ; B -49 -15 571 479 ; +C 121 ; WX 519 ; N y ; B -66 -202 492 479 ; +C 122 ; WX 519 ; N z ; B -19 -15 471 479 ; +C 123 ; WX 407 ; N braceleft ; B 52 -108 402 722 ; +C 124 ; WX 606 ; N bar ; B 262 0 343 722 ; +C 125 ; WX 407 ; N braceright ; B -30 -108 322 722 ; +C 126 ; WX 606 ; N asciitilde ; B 51 160 555 335 ; +C 161 ; WX 333 ; N exclamdown ; B -39 -203 289 549 ; +C 162 ; WX 574 ; N cent ; B 30 -137 514 586 ; +C 163 ; WX 574 ; N sterling ; B -18 -15 566 705 ; +C 164 ; WX 167 ; N fraction ; B -166 0 333 722 ; +C 165 ; WX 574 ; N yen ; B 23 0 635 706 ; +C 166 ; WX 574 ; N florin ; B -27 -204 588 737 ; +C 167 ; WX 500 ; N section ; B -40 -144 505 737 ; +C 168 ; WX 574 ; N currency ; B 40 97 546 603 ; +C 169 ; WX 287 ; N quotesingle ; B 100 397 269 734 ; +C 170 ; WX 481 ; N quotedblleft ; B 52 391 522 737 ; +C 171 ; WX 481 ; N guillemotleft ; B -35 78 427 419 ; +C 172 ; WX 278 ; N guilsinglleft ; B -35 78 224 419 ; +C 173 ; WX 278 ; N guilsinglright ; B -6 78 253 419 ; +C 174 ; WX 685 ; N fi ; B -70 -205 646 737 ; +C 175 ; WX 685 ; N fl ; B -70 -205 681 736 ; +C 177 ; WX 500 ; N endash ; B -18 193 518 298 ; +C 178 ; WX 500 ; N dagger ; B 50 -144 510 737 ; +C 179 ; WX 500 ; N daggerdbl ; B -48 -147 514 737 ; +C 180 ; WX 287 ; N periodcentered ; B 41 171 215 345 ; +C 182 ; WX 650 ; N paragraph ; B 67 -144 661 722 ; +C 183 ; WX 606 ; N bullet ; B 109 180 446 517 ; +C 184 ; WX 259 ; N quotesinglbase ; B -43 -187 188 159 ; +C 185 ; WX 481 ; N quotedblbase ; B -70 -187 402 159 ; +C 186 ; WX 481 ; N quotedblright ; B 61 391 533 737 ; +C 187 ; WX 481 ; N guillemotright ; B -6 78 456 419 ; +C 188 ; WX 1000 ; N ellipsis ; B 20 -15 860 159 ; +C 189 ; WX 1167 ; N perthousand ; B 26 0 1151 722 ; +C 191 ; WX 481 ; N questiondown ; B 1 -203 368 549 ; +C 193 ; WX 333 ; N grave ; B 74 535 294 719 ; +C 194 ; WX 333 ; N acute ; B 123 535 371 719 ; +C 195 ; WX 333 ; N circumflex ; B 23 535 365 709 ; +C 196 ; WX 333 ; N tilde ; B 34 557 404 683 ; +C 197 ; WX 333 ; N macron ; B 32 566 387 642 ; +C 198 ; WX 333 ; N breve ; B 67 537 390 701 ; +C 199 ; WX 333 ; N dotaccent ; B 145 542 288 685 ; +C 200 ; WX 333 ; N dieresis ; B 34 542 392 685 ; +C 202 ; WX 333 ; N ring ; B 217 530 432 745 ; +C 203 ; WX 333 ; N cedilla ; B -87 -220 157 0 ; +C 205 ; WX 333 ; N hungarumlaut ; B 23 542 472 709 ; +C 206 ; WX 333 ; N ogonek ; B 68 -173 245 0 ; +C 207 ; WX 333 ; N caron ; B 60 535 403 711 ; +C 208 ; WX 1000 ; N emdash ; B -18 193 1018 298 ; +C 225 ; WX 889 ; N AE ; B -81 0 903 722 ; +C 227 ; WX 412 ; N ordfeminine ; B 29 293 449 737 ; +C 232 ; WX 704 ; N Lslash ; B -41 0 670 722 ; +C 233 ; WX 833 ; N Oslash ; B 17 -83 797 773 ; +C 234 ; WX 963 ; N OE ; B 19 0 980 722 ; +C 235 ; WX 356 ; N ordmasculine ; B 29 293 383 737 ; +C 241 ; WX 815 ; N ae ; B -19 -15 774 479 ; +C 245 ; WX 389 ; N dotlessi ; B 38 -15 353 478 ; +C 248 ; WX 389 ; N lslash ; B 26 -15 397 736 ; +C 249 ; WX 574 ; N oslash ; B 10 -126 540 578 ; +C 250 ; WX 852 ; N oe ; B -5 -15 810 479 ; +C 251 ; WX 574 ; N germandbls ; B -66 -205 523 737 ; +C -1 ; WX 833 ; N Udieresis ; B 88 -15 895 933 ; +C -1 ; WX 833 ; N Uacute ; B 88 -15 895 958 ; +C -1 ; WX 685 ; N Scedilla ; B 1 -222 666 737 ; +C -1 ; WX 722 ; N Tcaron ; B 44 0 762 950 ; +C -1 ; WX 685 ; N Scaron ; B 1 -15 666 950 ; +C -1 ; WX 796 ; N Rcaron ; B -41 -15 751 950 ; +C -1 ; WX 796 ; N Racute ; B -41 -15 751 958 ; +C -1 ; WX 685 ; N Sacute ; B 1 -15 666 958 ; +C -1 ; WX 833 ; N Otilde ; B 36 -15 797 922 ; +C -1 ; WX 685 ; N ucircumflex ; B 38 -14 639 709 ; +C -1 ; WX 833 ; N Ohungarumlaut ; B 36 -15 797 958 ; +C -1 ; WX 833 ; N Uhungarumlaut ; B 88 -15 895 958 ; +C -1 ; WX 704 ; N Yacute ; B 15 0 777 958 ; +C -1 ; WX 833 ; N Eth ; B -49 0 796 722 ; +C -1 ; WX 833 ; N Dcroat ; B -49 0 796 722 ; +C -1 ; WX 704 ; N Zacute ; B -29 0 715 958 ; +C -1 ; WX 833 ; N Uring ; B 88 -15 895 998 ; +C -1 ; WX 611 ; N gbreve ; B -66 -202 602 701 ; +C -1 ; WX 519 ; N eogonek ; B -2 -173 478 479 ; +C -1 ; WX 519 ; N edotaccent ; B -2 -14 478 685 ; +C -1 ; WX 519 ; N ecaron ; B -2 -14 496 711 ; +C -1 ; WX 833 ; N Ugrave ; B 88 -15 895 958 ; +C -1 ; WX 741 ; N Thorn ; B -38 0 690 722 ; +C -1 ; WX 519 ; N eacute ; B -2 -14 478 719 ; +C -1 ; WX 519 ; N edieresis ; B -2 -14 495 685 ; +C -1 ; WX 780 ; N dcaron ; B 0 -15 840 736 ; +C -1 ; WX 537 ; N ccedilla ; B 3 -220 487 479 ; +C -1 ; WX 537 ; N ccaron ; B 3 -14 515 711 ; +C -1 ; WX 537 ; N cacute ; B 3 -14 487 719 ; +C -1 ; WX 667 ; N aogonek ; B 15 -173 646 479 ; +C -1 ; WX 667 ; N aring ; B 15 -15 646 745 ; +C -1 ; WX 667 ; N atilde ; B 15 -15 646 683 ; +C -1 ; WX 667 ; N abreve ; B 15 -15 646 701 ; +C -1 ; WX 519 ; N egrave ; B -2 -14 478 719 ; +C -1 ; WX 667 ; N agrave ; B 15 -15 646 719 ; +C -1 ; WX 667 ; N aacute ; B 15 -15 646 719 ; +C -1 ; WX 667 ; N adieresis ; B 15 -15 646 685 ; +C -1 ; WX 833 ; N Uogonek ; B 88 -173 895 722 ; +C -1 ; WX 685 ; N ugrave ; B 38 -14 639 719 ; +C -1 ; WX 685 ; N uacute ; B 38 -14 639 719 ; +C -1 ; WX 685 ; N udieresis ; B 38 -14 639 685 ; +C -1 ; WX 483 ; N tcaron ; B 24 -14 543 722 ; +C -1 ; WX 481 ; N scommaaccent ; B 0 -371 437 479 ; +C -1 ; WX 704 ; N Zcaron ; B -29 0 715 950 ; +C -1 ; WX 519 ; N ecircumflex ; B -2 -14 478 709 ; +C -1 ; WX 833 ; N Ucircumflex ; B 88 -15 895 950 ; +C -1 ; WX 667 ; N acircumflex ; B 15 -15 646 709 ; +C -1 ; WX 704 ; N Zdotaccent ; B -29 0 715 933 ; +C -1 ; WX 481 ; N scaron ; B 2 -15 477 711 ; +C -1 ; WX 741 ; N Amacron ; B -75 0 716 894 ; +C -1 ; WX 481 ; N sacute ; B 2 -15 445 719 ; +C -1 ; WX 722 ; N Tcommaaccent ; B 44 -371 762 722 ; +C -1 ; WX 704 ; N Ydieresis ; B 15 0 777 933 ; +C -1 ; WX 648 ; N thorn ; B -118 -202 590 737 ; +C -1 ; WX 741 ; N Emacron ; B -41 0 728 894 ; +C -1 ; WX 833 ; N Ograve ; B 36 -15 797 958 ; +C -1 ; WX 833 ; N Oacute ; B 36 -15 797 958 ; +C -1 ; WX 833 ; N Odieresis ; B 36 -15 797 933 ; +C -1 ; WX 852 ; N Ntilde ; B -57 -14 912 922 ; +C -1 ; WX 852 ; N Ncaron ; B -57 -14 912 950 ; +C -1 ; WX 852 ; N Nacute ; B -57 -14 912 958 ; +C -1 ; WX 704 ; N Lcaron ; B -41 0 784 722 ; +C -1 ; WX 704 ; N Lacute ; B -41 0 670 958 ; +C -1 ; WX 444 ; N Idotaccent ; B -41 0 486 933 ; +C -1 ; WX 519 ; N racute ; B 3 0 524 719 ; +C -1 ; WX 444 ; N Icircumflex ; B -41 0 486 950 ; +C -1 ; WX 574 ; N ohungarumlaut ; B 10 -14 593 709 ; +C -1 ; WX 574 ; N otilde ; B 10 -14 540 683 ; +C -1 ; WX 574 ; N Euro ; B -37 -15 640 717 ; +C -1 ; WX 574 ; N ocircumflex ; B 10 -14 540 709 ; +C -1 ; WX 344 ; N onesuperior ; B 21 282 323 706 ; +C -1 ; WX 344 ; N twosuperior ; B -16 282 360 705 ; +C -1 ; WX 344 ; N threesuperior ; B -4 274 348 705 ; +C -1 ; WX 444 ; N Igrave ; B -41 0 486 958 ; +C -1 ; WX 444 ; N Iacute ; B -41 0 486 958 ; +C -1 ; WX 444 ; N Imacron ; B -41 0 504 894 ; +C -1 ; WX 444 ; N Iogonek ; B -41 -173 486 722 ; +C -1 ; WX 444 ; N Idieresis ; B -41 0 498 933 ; +C -1 ; WX 815 ; N Gbreve ; B 34 -15 802 941 ; +C -1 ; WX 833 ; N Umacron ; B 88 -15 895 894 ; +C -1 ; WX 778 ; N Kcommaaccent ; B -41 -371 832 722 ; +C -1 ; WX 574 ; N ograve ; B 10 -14 540 719 ; +C -1 ; WX 685 ; N Scommaaccent ; B 1 -371 666 737 ; +C -1 ; WX 741 ; N Eogonek ; B -41 -173 728 722 ; +C -1 ; WX 574 ; N oacute ; B 10 -14 540 719 ; +C -1 ; WX 741 ; N Edotaccent ; B -41 0 728 933 ; +C -1 ; WX 389 ; N iogonek ; B 28 -173 343 737 ; +C -1 ; WX 611 ; N gcommaaccent ; B -66 -202 602 842 ; +C -1 ; WX 574 ; N odieresis ; B 10 -14 540 685 ; +C -1 ; WX 685 ; N ntilde ; B 3 -15 642 683 ; +C -1 ; WX 685 ; N ncaron ; B 3 -15 642 711 ; +C -1 ; WX 741 ; N Ecaron ; B -41 0 728 950 ; +C -1 ; WX 741 ; N Ecircumflex ; B -41 0 728 950 ; +C -1 ; WX 481 ; N scedilla ; B 2 -220 437 479 ; +C -1 ; WX 519 ; N rcaron ; B 3 0 524 711 ; +C -1 ; WX 741 ; N Egrave ; B -41 0 728 958 ; +C -1 ; WX 741 ; N Eacute ; B -41 0 728 958 ; +C -1 ; WX 815 ; N Gcommaaccent ; B 34 -371 802 737 ; +C -1 ; WX 796 ; N Rcommaaccent ; B -41 -371 751 722 ; +C -1 ; WX 741 ; N Edieresis ; B -41 0 728 933 ; +C -1 ; WX 685 ; N nacute ; B 3 -15 642 719 ; +C -1 ; WX 685 ; N uogonek ; B 38 -173 639 478 ; +C -1 ; WX 685 ; N umacron ; B 38 -14 639 642 ; +C -1 ; WX 833 ; N Dcaron ; B -49 0 796 950 ; +C -1 ; WX 486 ; N lcaron ; B 26 -15 546 736 ; +C -1 ; WX 759 ; N Ccaron ; B 35 -15 759 950 ; +C -1 ; WX 759 ; N Cacute ; B 35 -15 759 958 ; +C -1 ; WX 759 ; N Ccedilla ; B 35 -222 759 737 ; +C -1 ; WX 400 ; N degree ; B 70 380 370 686 ; +C -1 ; WX 741 ; N Aogonek ; B -75 -173 775 736 ; +C -1 ; WX 606 ; N minus ; B 41 195 545 310 ; +C -1 ; WX 606 ; N multiply ; B 41 0 547 506 ; +C -1 ; WX 606 ; N divide ; B 41 -31 545 536 ; +C -1 ; WX 741 ; N Aring ; B -75 0 716 998 ; +C -1 ; WX 950 ; N trademark ; B 42 302 982 722 ; +C -1 ; WX 519 ; N rcommaaccent ; B -80 -371 524 479 ; +C -1 ; WX 389 ; N lacute ; B 26 -15 399 958 ; +C -1 ; WX 574 ; N omacron ; B 10 -14 540 642 ; +C -1 ; WX 741 ; N Atilde ; B -75 0 716 922 ; +C -1 ; WX 389 ; N icircumflex ; B 38 -15 383 709 ; +C -1 ; WX 389 ; N igrave ; B 38 -15 353 719 ; +C -1 ; WX 685 ; N ncommaaccent ; B 3 -371 642 479 ; +C -1 ; WX 389 ; N lcommaaccent ; B -71 -371 370 736 ; +C -1 ; WX 606 ; N plusminus ; B 41 0 545 610 ; +C -1 ; WX 861 ; N onehalf ; B 21 0 857 722 ; +C -1 ; WX 861 ; N onequarter ; B 21 0 826 722 ; +C -1 ; WX 861 ; N threequarters ; B -4 0 826 722 ; +C -1 ; WX 389 ; N iacute ; B 38 -15 399 719 ; +C -1 ; WX 741 ; N Abreve ; B -75 0 716 941 ; +C -1 ; WX 648 ; N kcommaaccent ; B -5 -371 584 736 ; +C -1 ; WX 833 ; N Omacron ; B 36 -15 797 894 ; +C -1 ; WX 389 ; N imacron ; B 38 -15 415 642 ; +C -1 ; WX 519 ; N emacron ; B -2 -14 480 642 ; +C -1 ; WX 667 ; N amacron ; B 15 -15 646 642 ; +C -1 ; WX 407 ; N tcommaaccent ; B -62 -371 404 650 ; +C -1 ; WX 519 ; N ydieresis ; B -66 -202 492 685 ; +C -1 ; WX 519 ; N zdotaccent ; B -19 -15 471 685 ; +C -1 ; WX 519 ; N zcaron ; B -19 -15 496 711 ; +C -1 ; WX 519 ; N zacute ; B -19 -15 471 719 ; +C -1 ; WX 519 ; N yacute ; B -66 -202 492 719 ; +C -1 ; WX 685 ; N uhungarumlaut ; B 38 -14 648 709 ; +C -1 ; WX 574 ; N eth ; B 10 -14 540 788 ; +C -1 ; WX 685 ; N uring ; B 38 -14 639 745 ; +C -1 ; WX 833 ; N Ocircumflex ; B 36 -15 797 950 ; +C -1 ; WX 333 ; N commaaccent ; B -99 -371 109 -60 ; +C -1 ; WX 747 ; N copyright ; B 23 -15 723 685 ; +C -1 ; WX 747 ; N registered ; B 23 -15 723 685 ; +C -1 ; WX 741 ; N Acircumflex ; B -75 0 716 950 ; +C -1 ; WX 389 ; N idieresis ; B 38 -15 410 685 ; +C -1 ; WX 494 ; N lozenge ; B 18 0 466 740 ; +C -1 ; WX 612 ; N Delta ; B 6 0 608 688 ; +C -1 ; WX 606 ; N notequal ; B 41 -51 545 557 ; +C -1 ; WX 549 ; N radical ; B -34 -35 548 918 ; +C -1 ; WX 741 ; N Agrave ; B -75 0 716 958 ; +C -1 ; WX 741 ; N Aacute ; B -75 0 716 958 ; +C -1 ; WX 606 ; N lessequal ; B 14 0 523 698 ; +C -1 ; WX 606 ; N greaterequal ; B 38 0 547 698 ; +C -1 ; WX 606 ; N logicalnot ; B 41 19 545 310 ; +C -1 ; WX 713 ; N summation ; B 14 -123 695 752 ; +C -1 ; WX 494 ; N partialdiff ; B 13 -11 476 753 ; +C -1 ; WX 852 ; N Ncommaaccent ; B -57 -371 912 722 ; +C -1 ; WX 667 ; N dcroat ; B 0 -15 695 736 ; +C -1 ; WX 606 ; N brokenbar ; B 262 0 343 722 ; +C -1 ; WX 704 ; N Lcommaaccent ; B -41 -371 670 722 ; +C -1 ; WX 741 ; N Adieresis ; B -75 0 716 933 ; +C -1 ; WX 685 ; N mu ; B -90 -219 639 478 ; +C -1 ; WX 287 ; N .notdef ; B 0 0 0 0 ; +EndCharMetrics +StartKernData +StartKernPairs 998 +KPX A C -35 +KPX A Ccedilla -37 +KPX A G -32 +KPX A O -35 +KPX A Odieresis -35 +KPX A Q -34 +KPX A T -12 +KPX A U -46 +KPX A Uacute -46 +KPX A Ucircumflex -46 +KPX A Udieresis -46 +KPX A Ugrave -46 +KPX A V -87 +KPX A W -71 +KPX A Y -13 +KPX A a -9 +KPX A b -10 +KPX A c 0 +KPX A ccedilla -2 +KPX A comma 37 +KPX A d -1 +KPX A e 3 +KPX A g 14 +KPX A guillemotleft -10 +KPX A guilsinglleft -10 +KPX A hyphen -5 +KPX A o -7 +KPX A period 32 +KPX A q 5 +KPX A quotedblright -61 +KPX A quoteright -66 +KPX A t 4 +KPX A u -4 +KPX A v -20 +KPX A w 3 +KPX A y -48 +KPX Aacute C -35 +KPX Aacute G -32 +KPX Aacute O -35 +KPX Aacute Q -34 +KPX Aacute T -12 +KPX Aacute U -46 +KPX Aacute V -87 +KPX Aacute W -71 +KPX Aacute Y -13 +KPX Aacute a -9 +KPX Aacute b -10 +KPX Aacute c 0 +KPX Aacute comma 37 +KPX Aacute d -1 +KPX Aacute e 3 +KPX Aacute g 14 +KPX Aacute guillemotleft -10 +KPX Aacute guilsinglleft -10 +KPX Aacute hyphen -5 +KPX Aacute o -7 +KPX Aacute period 32 +KPX Aacute q 5 +KPX Aacute quoteright -66 +KPX Aacute t 4 +KPX Aacute u -4 +KPX Aacute v -20 +KPX Aacute w 3 +KPX Aacute y -48 +KPX Acircumflex C -35 +KPX Acircumflex G -32 +KPX Acircumflex O -35 +KPX Acircumflex Q -34 +KPX Acircumflex T -12 +KPX Acircumflex U -46 +KPX Acircumflex V -87 +KPX Acircumflex W -71 +KPX Acircumflex Y -13 +KPX Acircumflex comma 37 +KPX Acircumflex period 32 +KPX Adieresis C -35 +KPX Adieresis G -32 +KPX Adieresis O -35 +KPX Adieresis Q -34 +KPX Adieresis T -12 +KPX Adieresis U -46 +KPX Adieresis V -87 +KPX Adieresis W -71 +KPX Adieresis Y -13 +KPX Adieresis a -9 +KPX Adieresis b -10 +KPX Adieresis c 0 +KPX Adieresis comma 37 +KPX Adieresis d -1 +KPX Adieresis g 14 +KPX Adieresis guillemotleft -10 +KPX Adieresis guilsinglleft -10 +KPX Adieresis hyphen -5 +KPX Adieresis o -7 +KPX Adieresis period 32 +KPX Adieresis q 5 +KPX Adieresis quotedblright -61 +KPX Adieresis quoteright -66 +KPX Adieresis t 4 +KPX Adieresis u -4 +KPX Adieresis v -20 +KPX Adieresis w 3 +KPX Adieresis y -48 +KPX Agrave C -35 +KPX Agrave G -32 +KPX Agrave O -35 +KPX Agrave Q -34 +KPX Agrave T -12 +KPX Agrave U -46 +KPX Agrave V -87 +KPX Agrave W -71 +KPX Agrave Y -13 +KPX Agrave comma 37 +KPX Agrave period 32 +KPX Aring C -35 +KPX Aring G -32 +KPX Aring O -35 +KPX Aring Q -34 +KPX Aring T -12 +KPX Aring U -46 +KPX Aring V -87 +KPX Aring W -71 +KPX Aring Y -13 +KPX Aring a -9 +KPX Aring b -10 +KPX Aring c 0 +KPX Aring comma 37 +KPX Aring d -1 +KPX Aring e 3 +KPX Aring g 14 +KPX Aring guillemotleft -10 +KPX Aring guilsinglleft -10 +KPX Aring hyphen -5 +KPX Aring o -7 +KPX Aring period 32 +KPX Aring q 5 +KPX Aring quotedblright -61 +KPX Aring quoteright -66 +KPX Aring t 4 +KPX Aring u -4 +KPX Aring v -20 +KPX Aring w 3 +KPX Aring y -48 +KPX Atilde C -35 +KPX Atilde G -32 +KPX Atilde O -35 +KPX Atilde Q -34 +KPX Atilde T -12 +KPX Atilde U -46 +KPX Atilde V -87 +KPX Atilde W -71 +KPX Atilde Y -13 +KPX Atilde comma 37 +KPX Atilde period 32 +KPX B A 1 +KPX B AE 4 +KPX B Aacute 1 +KPX B Acircumflex 1 +KPX B Adieresis 1 +KPX B Aring 1 +KPX B Atilde 1 +KPX B O -6 +KPX B OE 0 +KPX B Oacute -6 +KPX B Ocircumflex -6 +KPX B Odieresis -6 +KPX B Ograve -6 +KPX B Oslash -5 +KPX B V -19 +KPX B W -23 +KPX B Y -8 +KPX C A -17 +KPX C AE -14 +KPX C Aacute -17 +KPX C Adieresis -17 +KPX C Aring -17 +KPX C H -15 +KPX C K -15 +KPX C O -7 +KPX C Oacute -7 +KPX C Odieresis -7 +KPX Ccedilla A -21 +KPX D A -44 +KPX D Aacute -44 +KPX D Acircumflex -44 +KPX D Adieresis -44 +KPX D Agrave -44 +KPX D Aring -44 +KPX D Atilde -44 +KPX D J -1 +KPX D T -5 +KPX D V -39 +KPX D W -32 +KPX D X -43 +KPX D Y -27 +KPX F A -79 +KPX F Aacute -79 +KPX F Acircumflex -79 +KPX F Adieresis -79 +KPX F Agrave -79 +KPX F Aring -79 +KPX F Atilde -79 +KPX F J -61 +KPX F O -7 +KPX F Odieresis -7 +KPX F a -66 +KPX F aacute -66 +KPX F adieresis -66 +KPX F ae -41 +KPX F aring -66 +KPX F comma -67 +KPX F e -60 +KPX F eacute -61 +KPX F hyphen -38 +KPX F i 3 +KPX F j -21 +KPX F o -65 +KPX F oacute -66 +KPX F odieresis -52 +KPX F oe -56 +KPX F oslash -69 +KPX F period -80 +KPX F r -2 +KPX F u -7 +KPX G A -14 +KPX G AE -11 +KPX G Aacute -14 +KPX G Acircumflex -14 +KPX G Adieresis -14 +KPX G Agrave -14 +KPX G Aring -14 +KPX G Atilde -14 +KPX G T -27 +KPX G V -3 +KPX G W -7 +KPX G Y 5 +KPX J A -48 +KPX J AE -43 +KPX J Adieresis -48 +KPX J Aring -48 +KPX K C -33 +KPX K G -30 +KPX K O -33 +KPX K OE -22 +KPX K Oacute -33 +KPX K Odieresis -33 +KPX K S 22 +KPX K T 9 +KPX K a -7 +KPX K adieresis -7 +KPX K ae 25 +KPX K aring -7 +KPX K e 5 +KPX K hyphen -24 +KPX K o -5 +KPX K oacute -5 +KPX K odieresis -5 +KPX K u -2 +KPX K udieresis -2 +KPX K y -69 +KPX L A 27 +KPX L AE 30 +KPX L Aacute 27 +KPX L Adieresis 27 +KPX L Aring 27 +KPX L C 0 +KPX L Ccedilla 0 +KPX L G 1 +KPX L O 0 +KPX L Oacute 0 +KPX L Ocircumflex 0 +KPX L Odieresis 0 +KPX L Ograve 0 +KPX L Otilde 0 +KPX L S -3 +KPX L T -43 +KPX L U -27 +KPX L Udieresis -27 +KPX L V -67 +KPX L W -50 +KPX L Y -43 +KPX L hyphen 44 +KPX L quotedblright -36 +KPX L quoteright -39 +KPX L u 2 +KPX L udieresis 0 +KPX L y 11 +KPX N A -33 +KPX N AE -30 +KPX N Aacute -33 +KPX N Adieresis -33 +KPX N Aring -33 +KPX N C -20 +KPX N Ccedilla -20 +KPX N G -20 +KPX N O -21 +KPX N Oacute -21 +KPX N Odieresis -21 +KPX N a -38 +KPX N aacute -38 +KPX N adieresis -38 +KPX N ae -32 +KPX N aring -38 +KPX N comma -11 +KPX N e -30 +KPX N eacute -32 +KPX N o -36 +KPX N oacute -37 +KPX N odieresis -35 +KPX N oslash -40 +KPX N period -24 +KPX N u -38 +KPX N udieresis -39 +KPX O A -49 +KPX O AE -32 +KPX O Aacute -49 +KPX O Adieresis -49 +KPX O Aring -49 +KPX O T -4 +KPX O V -38 +KPX O W -35 +KPX O X -45 +KPX O Y -26 +KPX Oacute A -49 +KPX Oacute T -4 +KPX Oacute V -38 +KPX Oacute W -35 +KPX Oacute Y -26 +KPX Ocircumflex T -4 +KPX Ocircumflex V -38 +KPX Ocircumflex Y -26 +KPX Odieresis A -49 +KPX Odieresis T -4 +KPX Odieresis V -38 +KPX Odieresis W -35 +KPX Odieresis X -45 +KPX Odieresis Y -26 +KPX Ograve T -4 +KPX Ograve V -38 +KPX Ograve Y -26 +KPX Oslash A -49 +KPX Otilde T -4 +KPX Otilde V -38 +KPX Otilde Y -26 +KPX P A -89 +KPX P AE -65 +KPX P Aacute -89 +KPX P Adieresis -89 +KPX P Aring -89 +KPX P J -60 +KPX P a -50 +KPX P aacute -50 +KPX P adieresis -50 +KPX P ae -30 +KPX P aring -50 +KPX P comma -96 +KPX P e -48 +KPX P eacute -48 +KPX P hyphen -45 +KPX P o -51 +KPX P oacute -51 +KPX P odieresis -51 +KPX P oe -38 +KPX P oslash -56 +KPX P period -109 +KPX R C -8 +KPX R Ccedilla -8 +KPX R G -8 +KPX R O -9 +KPX R OE -2 +KPX R Oacute -9 +KPX R Odieresis -9 +KPX R T -19 +KPX R U -25 +KPX R Udieresis -25 +KPX R V -18 +KPX R W -22 +KPX R Y -7 +KPX R a -6 +KPX R aacute -6 +KPX R adieresis -6 +KPX R ae 7 +KPX R aring -6 +KPX R e 2 +KPX R eacute 2 +KPX R hyphen 19 +KPX R o -4 +KPX R oacute -4 +KPX R odieresis -4 +KPX R oe 2 +KPX R u -11 +KPX R uacute -12 +KPX R udieresis -12 +KPX R y -32 +KPX S A -2 +KPX S AE 0 +KPX S Aacute -2 +KPX S Adieresis -2 +KPX S Aring -2 +KPX S T -17 +KPX S V 7 +KPX S W 3 +KPX S Y 16 +KPX S t -6 +KPX T A -55 +KPX T AE -50 +KPX T Aacute -55 +KPX T Acircumflex -55 +KPX T Adieresis -55 +KPX T Agrave -55 +KPX T Aring -55 +KPX T Atilde -55 +KPX T C 6 +KPX T G 5 +KPX T J -58 +KPX T O 5 +KPX T OE 10 +KPX T Oacute 5 +KPX T Ocircumflex 5 +KPX T Odieresis 5 +KPX T Ograve 5 +KPX T Oslash 5 +KPX T Otilde 5 +KPX T S -9 +KPX T V 37 +KPX T W 33 +KPX T Y 45 +KPX T a -45 +KPX T ae -18 +KPX T c -56 +KPX T colon -9 +KPX T comma -73 +KPX T e -48 +KPX T g -40 +KPX T guillemotleft -90 +KPX T guilsinglleft -90 +KPX T hyphen -86 +KPX T i 13 +KPX T j -12 +KPX T o -51 +KPX T oslash -59 +KPX T period -86 +KPX T r 12 +KPX T s -21 +KPX T semicolon -12 +KPX T u 6 +KPX T v 11 +KPX T w 16 +KPX T y -3 +KPX U A -51 +KPX U AE -40 +KPX U Aacute -51 +KPX U Acircumflex -51 +KPX U Adieresis -51 +KPX U Aring -51 +KPX U Atilde -51 +KPX U comma -23 +KPX U m -39 +KPX U n -35 +KPX U p -37 +KPX U period -36 +KPX U r -36 +KPX Uacute A -51 +KPX Uacute comma -23 +KPX Uacute m -39 +KPX Uacute n -35 +KPX Uacute p -37 +KPX Uacute period -36 +KPX Uacute r -36 +KPX Ucircumflex A -51 +KPX Udieresis A -51 +KPX Udieresis b 18 +KPX Udieresis comma -23 +KPX Udieresis m -39 +KPX Udieresis n -35 +KPX Udieresis p -37 +KPX Udieresis period -36 +KPX Udieresis r -36 +KPX Ugrave A -51 +KPX V A -101 +KPX V AE -40 +KPX V Aacute -101 +KPX V Acircumflex -101 +KPX V Adieresis -101 +KPX V Agrave -101 +KPX V Aring -101 +KPX V Atilde -101 +KPX V C -45 +KPX V G -49 +KPX V O -50 +KPX V Oacute -50 +KPX V Ocircumflex -50 +KPX V Odieresis -50 +KPX V Ograve -50 +KPX V Oslash -48 +KPX V Otilde -50 +KPX V S -19 +KPX V T 12 +KPX V a -91 +KPX V ae -85 +KPX V colon -81 +KPX V comma -86 +KPX V e -84 +KPX V g -94 +KPX V guillemotleft -64 +KPX V guilsinglleft -64 +KPX V hyphen -60 +KPX V i -25 +KPX V o -90 +KPX V oslash -94 +KPX V period -99 +KPX V r -55 +KPX V semicolon -80 +KPX V u -61 +KPX V y -74 +KPX W A -74 +KPX W AE -45 +KPX W Aacute -74 +KPX W Acircumflex -74 +KPX W Adieresis -74 +KPX W Agrave -74 +KPX W Aring -74 +KPX W Atilde -74 +KPX W C -38 +KPX W G -38 +KPX W O -39 +KPX W Oacute -39 +KPX W Ocircumflex -39 +KPX W Odieresis -39 +KPX W Ograve -39 +KPX W Oslash -37 +KPX W Otilde -39 +KPX W S -24 +KPX W T 7 +KPX W a -64 +KPX W ae -58 +KPX W colon -53 +KPX W comma -48 +KPX W e -57 +KPX W g -66 +KPX W guillemotleft -37 +KPX W guilsinglleft -37 +KPX W hyphen -33 +KPX W i -30 +KPX W o -62 +KPX W oslash -66 +KPX W period -61 +KPX W r -45 +KPX W semicolon -52 +KPX W u -51 +KPX W y -58 +KPX X C -35 +KPX X O -37 +KPX X Odieresis -37 +KPX X Q -35 +KPX X a -14 +KPX X e -2 +KPX X hyphen -35 +KPX X o -12 +KPX X u -9 +KPX X y -75 +KPX Y A -49 +KPX Y AE -33 +KPX Y Aacute -49 +KPX Y Acircumflex -49 +KPX Y Adieresis -49 +KPX Y Agrave -49 +KPX Y Aring -49 +KPX Y Atilde -49 +KPX Y C -33 +KPX Y G -37 +KPX Y O -38 +KPX Y Oacute -38 +KPX Y Ocircumflex -38 +KPX Y Odieresis -38 +KPX Y Ograve -38 +KPX Y Oslash -36 +KPX Y Otilde -38 +KPX Y S -8 +KPX Y T 20 +KPX Y a -95 +KPX Y ae -83 +KPX Y colon -82 +KPX Y comma -67 +KPX Y e -88 +KPX Y g -92 +KPX Y guillemotleft -80 +KPX Y guilsinglleft -80 +KPX Y hyphen -78 +KPX Y i -18 +KPX Y o -93 +KPX Y oslash -97 +KPX Y p -70 +KPX Y period -80 +KPX Y semicolon -80 +KPX Y u -75 +KPX Y v -68 +KPX Z v -16 +KPX Z y 2 +KPX a j -36 +KPX a quoteright -15 +KPX a v -16 +KPX a w 0 +KPX a y -18 +KPX aacute v -16 +KPX aacute w 0 +KPX aacute y -18 +KPX adieresis v -16 +KPX adieresis w 0 +KPX adieresis y -18 +KPX ae v -23 +KPX ae w -13 +KPX ae y -4 +KPX agrave v -16 +KPX agrave w 0 +KPX agrave y -18 +KPX aring v -16 +KPX aring w 0 +KPX aring y -18 +KPX b v -28 +KPX b w -13 +KPX b y -3 +KPX c h -26 +KPX c k -23 +KPX comma one -25 +KPX comma quotedblright 7 +KPX comma quoteright 1 +KPX e quoteright 8 +KPX e t -15 +KPX e v -27 +KPX e w -12 +KPX e x 0 +KPX e y -2 +KPX eacute v -27 +KPX eacute w -13 +KPX eacute y -2 +KPX ecircumflex v -27 +KPX ecircumflex w -13 +KPX ecircumflex y -2 +KPX eight four 7 +KPX eight one -46 +KPX eight seven -19 +KPX f a -25 +KPX f aacute -25 +KPX f adieresis 0 +KPX f ae -6 +KPX f aring -25 +KPX f e -25 +KPX f eacute -25 +KPX f f 15 +KPX f i 21 +KPX f j -3 +KPX f l 50 +KPX f o -27 +KPX f oacute -27 +KPX f odieresis 16 +KPX f oe -14 +KPX f oslash -33 +KPX f quoteright 58 +KPX f s -6 +KPX f t 17 +KPX five four 8 +KPX five one -56 +KPX five seven -30 +KPX four four 22 +KPX four one -28 +KPX four seven -21 +KPX g a -37 +KPX g adieresis -37 +KPX g ae -26 +KPX g aring -37 +KPX g e -30 +KPX g eacute -30 +KPX g l -41 +KPX g oacute -34 +KPX g odieresis -34 +KPX g r 1 +KPX guillemotright A -23 +KPX guillemotright AE -1 +KPX guillemotright Aacute -23 +KPX guillemotright Adieresis -23 +KPX guillemotright Aring -23 +KPX guillemotright T -77 +KPX guillemotright V -64 +KPX guillemotright W -43 +KPX guillemotright Y -68 +KPX guilsinglright A -23 +KPX guilsinglright AE -1 +KPX guilsinglright Aacute -23 +KPX guilsinglright Adieresis -23 +KPX guilsinglright Aring -23 +KPX guilsinglright T -77 +KPX guilsinglright V -64 +KPX guilsinglright W -43 +KPX guilsinglright Y -68 +KPX h quoteright -33 +KPX h y -33 +KPX hyphen A -14 +KPX hyphen AE 8 +KPX hyphen Aacute -14 +KPX hyphen Adieresis -14 +KPX hyphen Aring -14 +KPX hyphen T -68 +KPX hyphen V -56 +KPX hyphen W -35 +KPX hyphen Y -63 +KPX i T -40 +KPX i j -46 +KPX k a -15 +KPX k aacute -15 +KPX k adieresis -15 +KPX k ae -4 +KPX k aring -15 +KPX k comma 20 +KPX k e -7 +KPX k eacute -9 +KPX k g -15 +KPX k hyphen 8 +KPX k o -13 +KPX k oacute -15 +KPX k odieresis -15 +KPX k period 8 +KPX k s -12 +KPX k u -16 +KPX k udieresis -18 +KPX l v -30 +KPX l y -34 +KPX m p -12 +KPX m v -19 +KPX m w -2 +KPX m y -21 +KPX n T -59 +KPX n p -21 +KPX n quoteright -30 +KPX n v -29 +KPX n w -13 +KPX n y -31 +KPX nine four 0 +KPX nine one -54 +KPX nine seven -12 +KPX o T -53 +KPX o quoteright 0 +KPX o t -5 +KPX o v -16 +KPX o w -1 +KPX o x 1 +KPX o y 7 +KPX oacute v -18 +KPX oacute w -2 +KPX oacute y 7 +KPX ocircumflex t -7 +KPX odieresis t -7 +KPX odieresis v -18 +KPX odieresis w -2 +KPX odieresis x 0 +KPX odieresis y 7 +KPX ograve v -18 +KPX ograve w -2 +KPX ograve y 7 +KPX one comma -12 +KPX one eight -36 +KPX one five -35 +KPX one four -54 +KPX one nine -30 +KPX one one -39 +KPX one period -23 +KPX one seven -61 +KPX one six -40 +KPX one three -34 +KPX one two -5 +KPX one zero -34 +KPX p t -15 +KPX p y -4 +KPX period one -27 +KPX period quotedblright 8 +KPX period quoteright 3 +KPX q c -19 +KPX q u -22 +KPX quotedblbase A 46 +KPX quotedblbase AE 61 +KPX quotedblbase T -29 +KPX quotedblbase V -66 +KPX quotedblbase W -41 +KPX quotedblbase Y -28 +KPX quotedblleft A -57 +KPX quotedblleft AE -27 +KPX quotedblleft Aacute -57 +KPX quotedblleft Adieresis -57 +KPX quotedblleft Aring -57 +KPX quotedblleft T 34 +KPX quotedblleft V 36 +KPX quotedblleft W 35 +KPX quotedblleft Y 45 +KPX quotedblright A -53 +KPX quotedblright AE -22 +KPX quotedblright Aacute -53 +KPX quotedblright Adieresis -53 +KPX quotedblright Aring -53 +KPX quotedblright T 41 +KPX quotedblright V 48 +KPX quotedblright W 46 +KPX quotedblright Y 56 +KPX quoteleft A -72 +KPX quoteleft AE -42 +KPX quoteleft Aacute -72 +KPX quoteleft Adieresis -72 +KPX quoteleft Aring -72 +KPX quoteleft T 20 +KPX quoteleft V 22 +KPX quoteleft W 21 +KPX quoteleft Y 31 +KPX quoteright A -54 +KPX quoteright AE -24 +KPX quoteright Aacute -54 +KPX quoteright Adieresis -54 +KPX quoteright Aring -54 +KPX quoteright comma -2 +KPX quoteright d -5 +KPX quoteright o -8 +KPX quoteright period -15 +KPX quoteright r 12 +KPX quoteright s 9 +KPX quoteright t 16 +KPX quoteright v 10 +KPX quoteright w 21 +KPX quoteright y 30 +KPX r a -10 +KPX r aacute -10 +KPX r acircumflex -10 +KPX r adieresis -10 +KPX r ae -9 +KPX r agrave -10 +KPX r aring -10 +KPX r c -8 +KPX r ccedilla -4 +KPX r colon -10 +KPX r comma -92 +KPX r d -4 +KPX r e -5 +KPX r eacute -5 +KPX r ecircumflex -5 +KPX r egrave -5 +KPX r f 6 +KPX r g -15 +KPX r h -28 +KPX r hyphen -2 +KPX r i 7 +KPX r j -15 +KPX r k -26 +KPX r l -26 +KPX r m 5 +KPX r n 7 +KPX r o -8 +KPX r oacute -8 +KPX r ocircumflex -8 +KPX r odieresis -8 +KPX r oe 2 +KPX r ograve -8 +KPX r oslash -10 +KPX r p 8 +KPX r period -105 +KPX r q -8 +KPX r quoteright 32 +KPX r r 8 +KPX r s -6 +KPX r semicolon -10 +KPX r t 10 +KPX r u 4 +KPX r v 5 +KPX r w 10 +KPX r x 4 +KPX r y 14 +KPX r z 7 +KPX s quoteright 5 +KPX s t -11 +KPX seven colon -43 +KPX seven comma -33 +KPX seven eight -24 +KPX seven five -27 +KPX seven four -59 +KPX seven one -49 +KPX seven period -46 +KPX seven seven -29 +KPX seven six -27 +KPX seven three -25 +KPX seven two -21 +KPX six four 14 +KPX six one -44 +KPX six seven -16 +KPX t S -9 +KPX t a -21 +KPX t aacute -21 +KPX t adieresis -21 +KPX t ae -10 +KPX t aring -21 +KPX t colon -17 +KPX t e -12 +KPX t eacute -12 +KPX t h -26 +KPX t o -19 +KPX t oacute -19 +KPX t odieresis -19 +KPX t quoteright -2 +KPX t semicolon -16 +KPX three four 0 +KPX three one -56 +KPX three seven -27 +KPX two four 4 +KPX two one -47 +KPX two seven -20 +KPX u quoteright -21 +KPX v a -20 +KPX v aacute -20 +KPX v acircumflex -20 +KPX v adieresis -20 +KPX v ae -18 +KPX v agrave -20 +KPX v aring -20 +KPX v atilde -20 +KPX v c -15 +KPX v colon -18 +KPX v comma -9 +KPX v e -12 +KPX v eacute -14 +KPX v ecircumflex -14 +KPX v egrave -14 +KPX v g -26 +KPX v hyphen 11 +KPX v l -25 +KPX v o -17 +KPX v oacute -19 +KPX v odieresis -19 +KPX v ograve -19 +KPX v oslash -21 +KPX v period -22 +KPX v s -18 +KPX v semicolon -16 +KPX w a -14 +KPX w aacute -14 +KPX w acircumflex -14 +KPX w adieresis -14 +KPX w ae -12 +KPX w agrave -14 +KPX w aring -14 +KPX w atilde -14 +KPX w c -9 +KPX w colon -13 +KPX w comma -4 +KPX w e -7 +KPX w eacute -9 +KPX w ecircumflex -9 +KPX w egrave -9 +KPX w g -21 +KPX w hyphen 16 +KPX w l -20 +KPX w o -12 +KPX w oacute -14 +KPX w odieresis -14 +KPX w ograve -14 +KPX w oslash -16 +KPX w period -17 +KPX w s -13 +KPX w semicolon -11 +KPX x a -11 +KPX x c -7 +KPX x e -4 +KPX x eacute -5 +KPX x o -9 +KPX x q -3 +KPX y a -15 +KPX y aacute -15 +KPX y acircumflex -15 +KPX y adieresis -15 +KPX y ae -12 +KPX y agrave -15 +KPX y aring -15 +KPX y atilde -15 +KPX y c -12 +KPX y colon -13 +KPX y comma -9 +KPX y e -9 +KPX y eacute -9 +KPX y ecircumflex -9 +KPX y egrave -9 +KPX y g -20 +KPX y hyphen 12 +KPX y l -20 +KPX y o -14 +KPX y oacute -14 +KPX y odieresis -14 +KPX y ograve -14 +KPX y oslash -16 +KPX y period -22 +KPX y s -13 +KPX y semicolon -11 +KPX zero four 10 +KPX zero one -46 +KPX zero seven -7 +EndKernPairs +EndKernData +EndFontMetrics diff --git a/Master/xemtex/gsfonts/c059036l.pfb b/Master/xemtex/gsfonts/c059036l.pfb new file mode 100644 index 00000000000..ccad07b80ab Binary files /dev/null and b/Master/xemtex/gsfonts/c059036l.pfb differ diff --git a/Master/xemtex/gsfonts/c059036l.pfm b/Master/xemtex/gsfonts/c059036l.pfm new file mode 100644 index 00000000000..6a38f686de9 Binary files /dev/null and b/Master/xemtex/gsfonts/c059036l.pfm differ diff --git a/Master/xemtex/gsfonts/d050000l.afm b/Master/xemtex/gsfonts/d050000l.afm new file mode 100644 index 00000000000..f948a0e7171 --- /dev/null +++ b/Master/xemtex/gsfonts/d050000l.afm @@ -0,0 +1,226 @@ +StartFontMetrics 3.0 +Comment Copyright URW Software, Copyright 1997 by URW +Comment Creation Date: 10/19/1999 +Comment See the file PUBLIC (Aladdin Free Public License) for license conditions. +FontName Dingbats +FullName Dingbats +FamilyName Dingbats +Weight Regular +ItalicAngle 0.0 +IsFixedPitch false +UnderlinePosition -72 +UnderlineThickness 36 +Version 001.005 +Notice URW Software, Copyright 1997 by URW +EncodingScheme FontSpecific +FontBBox -1 -143 981 819 +CapHeight 691 +XHeight 567 +Descender -143 +Ascender 691 +StartCharMetrics 203 +C 32 ; WX 278 ; N space ; B 0 0 0 0 ; +C 33 ; WX 974 ; N a1 ; B 35 71 939 617 ; +C 34 ; WX 961 ; N a2 ; B 35 81 927 611 ; +C 35 ; WX 974 ; N a202 ; B 35 69 939 615 ; +C 36 ; WX 980 ; N a3 ; B 35 0 945 691 ; +C 37 ; WX 719 ; N a4 ; B 34 138 685 566 ; +C 38 ; WX 789 ; N a5 ; B 35 -13 755 707 ; +C 39 ; WX 790 ; N a119 ; B 35 -14 755 706 ; +C 40 ; WX 791 ; N a118 ; B 35 -13 761 705 ; +C 41 ; WX 690 ; N a117 ; B 35 137 655 556 ; +C 42 ; WX 960 ; N a11 ; B 35 122 925 568 ; +C 43 ; WX 939 ; N a12 ; B 35 133 904 559 ; +C 44 ; WX 549 ; N a13 ; B 29 -10 516 706 ; +C 45 ; WX 855 ; N a14 ; B 33 59 820 632 ; +C 46 ; WX 911 ; N a15 ; B 35 51 876 641 ; +C 47 ; WX 933 ; N a16 ; B 35 141 899 550 ; +C 48 ; WX 911 ; N a105 ; B 35 49 876 636 ; +C 49 ; WX 945 ; N a17 ; B 35 139 909 550 ; +C 50 ; WX 974 ; N a18 ; B 35 103 938 588 ; +C 51 ; WX 755 ; N a19 ; B 34 -14 721 706 ; +C 52 ; WX 846 ; N a20 ; B 36 -14 811 706 ; +C 53 ; WX 762 ; N a21 ; B 35 0 727 692 ; +C 54 ; WX 761 ; N a22 ; B 35 0 727 692 ; +C 55 ; WX 571 ; N a23 ; B -1 -69 572 660 ; +C 56 ; WX 677 ; N a24 ; B 36 -14 642 705 ; +C 57 ; WX 763 ; N a25 ; B 35 0 728 694 ; +C 58 ; WX 760 ; N a26 ; B 35 0 726 691 ; +C 59 ; WX 759 ; N a27 ; B 35 0 725 690 ; +C 60 ; WX 754 ; N a28 ; B 35 0 720 685 ; +C 61 ; WX 494 ; N a6 ; B 35 0 460 691 ; +C 62 ; WX 552 ; N a7 ; B 35 0 517 691 ; +C 63 ; WX 537 ; N a8 ; B 35 0 503 691 ; +C 64 ; WX 577 ; N a9 ; B 35 96 542 595 ; +C 65 ; WX 692 ; N a10 ; B 35 -14 657 702 ; +C 66 ; WX 786 ; N a29 ; B 35 -13 751 705 ; +C 67 ; WX 788 ; N a30 ; B 35 -14 752 703 ; +C 68 ; WX 788 ; N a31 ; B 35 -14 753 705 ; +C 69 ; WX 790 ; N a32 ; B 35 -14 756 707 ; +C 70 ; WX 793 ; N a33 ; B 35 -13 759 705 ; +C 71 ; WX 794 ; N a34 ; B 35 -14 759 705 ; +C 72 ; WX 816 ; N a35 ; B 35 -13 782 707 ; +C 73 ; WX 823 ; N a36 ; B 35 2 787 719 ; +C 74 ; WX 789 ; N a37 ; B 35 -13 754 706 ; +C 75 ; WX 841 ; N a38 ; B 35 -14 807 706 ; +C 76 ; WX 823 ; N a39 ; B 35 -12 789 706 ; +C 77 ; WX 833 ; N a40 ; B 35 -14 798 706 ; +C 78 ; WX 816 ; N a41 ; B 35 -13 782 705 ; +C 79 ; WX 831 ; N a42 ; B 35 -13 796 707 ; +C 80 ; WX 923 ; N a43 ; B 35 -13 888 706 ; +C 81 ; WX 744 ; N a44 ; B 35 0 710 691 ; +C 82 ; WX 723 ; N a45 ; B 35 0 688 691 ; +C 83 ; WX 749 ; N a46 ; B 35 0 714 691 ; +C 84 ; WX 790 ; N a47 ; B 34 -15 756 706 ; +C 85 ; WX 792 ; N a48 ; B 35 -14 758 705 ; +C 86 ; WX 695 ; N a49 ; B 35 -16 661 706 ; +C 87 ; WX 776 ; N a50 ; B 35 -7 741 698 ; +C 88 ; WX 768 ; N a51 ; B 35 -7 734 699 ; +C 89 ; WX 792 ; N a52 ; B 35 -1 757 720 ; +C 90 ; WX 759 ; N a53 ; B 35 0 725 693 ; +C 91 ; WX 707 ; N a54 ; B 35 -11 672 704 ; +C 92 ; WX 708 ; N a55 ; B 35 -14 672 704 ; +C 93 ; WX 682 ; N a56 ; B 35 -3 647 694 ; +C 94 ; WX 701 ; N a57 ; B 35 -13 666 708 ; +C 95 ; WX 826 ; N a58 ; B 35 -18 791 716 ; +C 96 ; WX 815 ; N a59 ; B 35 -16 780 705 ; +C 97 ; WX 789 ; N a60 ; B 35 -14 754 704 ; +C 98 ; WX 789 ; N a61 ; B 35 -14 754 704 ; +C 99 ; WX 707 ; N a62 ; B 33 0 674 717 ; +C 100 ; WX 687 ; N a63 ; B 36 0 651 688 ; +C 101 ; WX 696 ; N a64 ; B 35 0 661 693 ; +C 102 ; WX 689 ; N a65 ; B 35 0 655 681 ; +C 103 ; WX 786 ; N a66 ; B 34 -14 751 703 ; +C 104 ; WX 787 ; N a67 ; B 35 -15 752 704 ; +C 105 ; WX 713 ; N a68 ; B 35 -13 678 709 ; +C 106 ; WX 791 ; N a69 ; B 35 -14 756 707 ; +C 107 ; WX 785 ; N a70 ; B 36 -14 751 701 ; +C 108 ; WX 791 ; N a71 ; B 35 -14 757 708 ; +C 109 ; WX 873 ; N a72 ; B 35 -13 838 705 ; +C 110 ; WX 761 ; N a73 ; B 35 0 726 691 ; +C 111 ; WX 762 ; N a74 ; B 35 0 727 691 ; +C 112 ; WX 762 ; N a203 ; B 35 0 727 691 ; +C 113 ; WX 759 ; N a75 ; B 35 0 725 691 ; +C 114 ; WX 759 ; N a204 ; B 35 0 725 691 ; +C 115 ; WX 892 ; N a76 ; B 35 0 858 706 ; +C 116 ; WX 892 ; N a77 ; B 35 -14 858 691 ; +C 117 ; WX 788 ; N a78 ; B 35 -14 754 705 ; +C 118 ; WX 784 ; N a79 ; B 35 -14 749 705 ; +C 119 ; WX 438 ; N a81 ; B 35 -14 403 705 ; +C 120 ; WX 138 ; N a82 ; B 35 0 104 691 ; +C 121 ; WX 277 ; N a83 ; B 35 0 242 691 ; +C 122 ; WX 415 ; N a84 ; B 35 0 380 691 ; +C 123 ; WX 392 ; N a97 ; B 35 263 357 705 ; +C 124 ; WX 392 ; N a98 ; B 34 262 357 705 ; +C 125 ; WX 668 ; N a99 ; B 35 263 633 707 ; +C 126 ; WX 668 ; N a100 ; B 36 261 634 705 ; +C 161 ; WX 732 ; N a101 ; B 35 -143 697 805 ; +C 162 ; WX 544 ; N a102 ; B 56 -14 488 705 ; +C 163 ; WX 544 ; N a103 ; B 34 -14 508 704 ; +C 164 ; WX 910 ; N a104 ; B 35 40 875 651 ; +C 165 ; WX 667 ; N a106 ; B 35 -13 633 706 ; +C 166 ; WX 760 ; N a107 ; B 35 -13 726 705 ; +C 167 ; WX 760 ; N a108 ; B 0 121 758 570 ; +C 168 ; WX 776 ; N a112 ; B 35 0 741 705 ; +C 169 ; WX 595 ; N a111 ; B 34 -14 560 705 ; +C 170 ; WX 694 ; N a110 ; B 35 -14 659 704 ; +C 171 ; WX 626 ; N a109 ; B 34 0 591 705 ; +C 172 ; WX 788 ; N a120 ; B 35 -13 754 706 ; +C 173 ; WX 788 ; N a121 ; B 35 -13 754 706 ; +C 174 ; WX 788 ; N a122 ; B 35 -13 754 706 ; +C 175 ; WX 788 ; N a123 ; B 35 -14 754 705 ; +C 176 ; WX 788 ; N a124 ; B 35 -13 754 706 ; +C 177 ; WX 788 ; N a125 ; B 35 -13 754 706 ; +C 178 ; WX 788 ; N a126 ; B 35 -13 754 706 ; +C 179 ; WX 788 ; N a127 ; B 35 -13 754 706 ; +C 180 ; WX 788 ; N a128 ; B 35 -13 754 706 ; +C 181 ; WX 788 ; N a129 ; B 35 -13 754 706 ; +C 182 ; WX 788 ; N a130 ; B 35 -13 754 706 ; +C 183 ; WX 788 ; N a131 ; B 35 -13 754 706 ; +C 184 ; WX 788 ; N a132 ; B 35 -13 754 706 ; +C 185 ; WX 788 ; N a133 ; B 35 -13 754 706 ; +C 186 ; WX 788 ; N a134 ; B 35 -13 754 706 ; +C 187 ; WX 788 ; N a135 ; B 35 -13 754 706 ; +C 188 ; WX 788 ; N a136 ; B 35 -13 754 706 ; +C 189 ; WX 788 ; N a137 ; B 35 -13 754 706 ; +C 190 ; WX 788 ; N a138 ; B 35 -13 754 706 ; +C 191 ; WX 788 ; N a139 ; B 35 -13 754 706 ; +C 192 ; WX 788 ; N a140 ; B 35 -13 754 706 ; +C 193 ; WX 788 ; N a141 ; B 35 -13 754 706 ; +C 194 ; WX 788 ; N a142 ; B 35 -13 754 706 ; +C 195 ; WX 788 ; N a143 ; B 35 -13 754 706 ; +C 196 ; WX 788 ; N a144 ; B 35 -13 754 706 ; +C 197 ; WX 788 ; N a145 ; B 35 -13 754 706 ; +C 198 ; WX 788 ; N a146 ; B 35 -13 754 706 ; +C 199 ; WX 788 ; N a147 ; B 35 -13 754 706 ; +C 200 ; WX 788 ; N a148 ; B 35 -13 754 706 ; +C 201 ; WX 788 ; N a149 ; B 35 -13 754 706 ; +C 202 ; WX 788 ; N a150 ; B 35 -13 755 706 ; +C 203 ; WX 788 ; N a151 ; B 34 -13 754 706 ; +C 204 ; WX 788 ; N a152 ; B 34 -13 754 706 ; +C 205 ; WX 788 ; N a153 ; B 35 -13 754 706 ; +C 206 ; WX 788 ; N a154 ; B 35 -13 754 706 ; +C 207 ; WX 788 ; N a155 ; B 35 -13 754 706 ; +C 208 ; WX 788 ; N a156 ; B 35 -13 754 706 ; +C 209 ; WX 788 ; N a157 ; B 35 -13 754 706 ; +C 210 ; WX 788 ; N a158 ; B 35 -13 754 706 ; +C 211 ; WX 788 ; N a159 ; B 35 -13 754 706 ; +C 212 ; WX 894 ; N a160 ; B 35 58 860 634 ; +C 213 ; WX 838 ; N a161 ; B 35 151 803 537 ; +C 214 ; WX 1016 ; N a163 ; B 34 151 981 537 ; +C 215 ; WX 458 ; N a164 ; B 35 -128 422 819 ; +C 216 ; WX 748 ; N a196 ; B 35 94 698 597 ; +C 217 ; WX 924 ; N a165 ; B 35 140 890 551 ; +C 218 ; WX 748 ; N a192 ; B 35 94 698 597 ; +C 219 ; WX 918 ; N a166 ; B 35 167 884 526 ; +C 220 ; WX 927 ; N a167 ; B 35 28 892 664 ; +C 221 ; WX 928 ; N a168 ; B 35 129 891 562 ; +C 222 ; WX 928 ; N a169 ; B 35 129 893 561 ; +C 223 ; WX 834 ; N a170 ; B 35 154 799 537 ; +C 224 ; WX 873 ; N a171 ; B 35 97 838 594 ; +C 225 ; WX 828 ; N a172 ; B 35 104 791 588 ; +C 226 ; WX 924 ; N a173 ; B 35 82 889 610 ; +C 227 ; WX 924 ; N a162 ; B 35 82 889 610 ; +C 228 ; WX 917 ; N a174 ; B 35 4 882 688 ; +C 229 ; WX 930 ; N a175 ; B 35 83 896 608 ; +C 230 ; WX 931 ; N a176 ; B 35 84 896 608 ; +C 231 ; WX 463 ; N a177 ; B 35 -100 429 790 ; +C 232 ; WX 883 ; N a178 ; B 35 70 848 621 ; +C 233 ; WX 836 ; N a179 ; B 35 43 802 648 ; +C 234 ; WX 836 ; N a193 ; B 35 43 802 648 ; +C 235 ; WX 867 ; N a180 ; B 35 101 832 589 ; +C 236 ; WX 867 ; N a199 ; B 35 101 832 591 ; +C 237 ; WX 696 ; N a181 ; B 35 44 661 651 ; +C 238 ; WX 696 ; N a200 ; B 35 44 661 646 ; +C 239 ; WX 874 ; N a182 ; B 35 75 840 613 ; +C 241 ; WX 874 ; N a201 ; B 35 75 840 613 ; +C 242 ; WX 760 ; N a183 ; B 35 1 725 690 ; +C 243 ; WX 946 ; N a184 ; B 35 159 911 532 ; +C 244 ; WX 771 ; N a197 ; B 34 36 736 655 ; +C 245 ; WX 865 ; N a185 ; B 35 209 830 483 ; +C 246 ; WX 771 ; N a194 ; B 34 36 736 655 ; +C 247 ; WX 888 ; N a198 ; B 34 -18 853 711 ; +C 248 ; WX 967 ; N a186 ; B 35 123 932 568 ; +C 249 ; WX 888 ; N a195 ; B 34 -20 853 710 ; +C 250 ; WX 831 ; N a187 ; B 35 113 796 578 ; +C 251 ; WX 873 ; N a188 ; B 36 116 838 576 ; +C 252 ; WX 927 ; N a189 ; B 35 149 891 542 ; +C 253 ; WX 970 ; N a190 ; B 35 75 931 615 ; +C 254 ; WX 918 ; N a191 ; B 34 99 884 592 ; +C -1 ; WX 334 ; N a95 ; B 35 0 299 691 ; +C -1 ; WX 234 ; N a88 ; B 35 -14 199 705 ; +C -1 ; WX 234 ; N a87 ; B 35 -14 199 705 ; +C -1 ; WX 410 ; N a86 ; B 35 0 375 691 ; +C -1 ; WX 410 ; N a206 ; B 35 0 375 691 ; +C -1 ; WX 509 ; N a85 ; B 35 0 475 691 ; +C -1 ; WX 334 ; N a96 ; B 35 0 299 691 ; +C -1 ; WX 276 ; N a91 ; B 35 0 242 691 ; +C -1 ; WX 317 ; N a94 ; B 35 0 283 691 ; +C -1 ; WX 317 ; N a93 ; B 35 0 283 691 ; +C -1 ; WX 390 ; N a90 ; B 35 -14 355 705 ; +C -1 ; WX 390 ; N a89 ; B 35 -14 356 705 ; +C -1 ; WX 276 ; N a92 ; B 35 0 242 691 ; +C -1 ; WX 509 ; N a205 ; B 35 0 475 691 ; +C -1 ; WX 278 ; N .notdef ; B 0 0 0 0 ; +EndCharMetrics +EndFontMetrics diff --git a/Master/xemtex/gsfonts/d050000l.pfb b/Master/xemtex/gsfonts/d050000l.pfb new file mode 100644 index 00000000000..f8cd40ee6b2 Binary files /dev/null and b/Master/xemtex/gsfonts/d050000l.pfb differ diff --git a/Master/xemtex/gsfonts/d050000l.pfm b/Master/xemtex/gsfonts/d050000l.pfm new file mode 100644 index 00000000000..272d9f71fc8 Binary files /dev/null and b/Master/xemtex/gsfonts/d050000l.pfm differ diff --git a/Master/xemtex/gsfonts/fonts.dir b/Master/xemtex/gsfonts/fonts.dir new file mode 100644 index 00000000000..129652884ae --- /dev/null +++ b/Master/xemtex/gsfonts/fonts.dir @@ -0,0 +1,44 @@ +43 +a010013l.pfb -URW-Gothic L-book-r-normal--0-0-0-0-p-0-iso8859-1 +a010015l.pfb -URW-Gothic L-demi bold-r-normal--0-0-0-0-p-0-iso8859-1 +a010033l.pfb -URW-Gothic L-book-o-normal--0-0-0-0-p-0-iso8859-1 +a010035l.pfb -URW-Gothic L-demi bold-o-normal--0-0-0-0-p-0-iso8859-1 +b018012l.pfb -URW-Bookman L-light-r-normal--0-0-0-0-p-0-iso8859-1 +b018015l.pfb -URW-Bookman L-demi bold-r-normal--0-0-0-0-p-0-iso8859-1 +b018032l.pfb -URW-Bookman L-light-i-normal--0-0-0-0-p-0-iso8859-1 +b018035l.pfb -URW-Bookman L-demi bold-i-normal--0-0-0-0-p-0-iso8859-1 +bchb.pfa -bitstream-Charter-bold-r-normal--0-0-0-0-p-0-iso8859-1 +bchbi.pfa -bitstream-Charter-bold-i-normal--0-0-0-0-p-0-iso8859-1 +bchr.pfa -bitstream-Charter-medium-r-normal--0-0-0-0-p-0-iso8859-1 +bchri.pfa -bitstream-Charter-medium-i-normal--0-0-0-0-p-0-iso8859-1 +c059013l.pfb -URW-Century Schoolbook L-medium-r-normal--0-0-0-0-p-0-iso8859-1 +c059016l.pfb -URW-Century Schoolbook L-bold-r-normal--0-0-0-0-p-0-iso8859-1 +c059033l.pfb -URW-Century Schoolbook L-medium-i-normal--0-0-0-0-p-0-iso8859-1 +c059036l.pfb -URW-Century Schoolbook L-bold-i-normal--0-0-0-0-p-0-iso8859-1 +d050000l.pfb -URW-Dingbats-medium-r-normal--0-0-0-0-p-0-urw-fontspecific +n019003l.pfb -URW-Nimbus Sans L-medium-r-normal--0-0-0-0-p-0-iso8859-1 +n019004l.pfb -URW-Nimbus Sans L-bold-r-normal--0-0-0-0-p-0-iso8859-1 +n019023l.pfb -URW-Nimbus Sans L-medium-o-normal--0-0-0-0-p-0-iso8859-1 +n019024l.pfb -URW-Nimbus Sans L-bold-o-normal--0-0-0-0-p-0-iso8859-1 +n019043l.pfb -URW-Nimbus Sans L-medium-r-condensed--0-0-0-0-p-0-iso8859-1 +n019044l.pfb -URW-Nimbus Sans L-bold-r-condensed--0-0-0-0-p-0-iso8859-1 +n019063l.pfb -URW-Nimbus Sans L-medium-o-condensed--0-0-0-0-p-0-iso8859-1 +n019064l.pfb -URW-Nimbus Sans L-bold-o-condensed--0-0-0-0-p-0-iso8859-1 +n021003l.pfb -URW-Nimbus Roman No9 L-medium-r-normal--0-0-0-0-p-0-iso8859-1 +n021004l.pfb -URW-Nimbus Roman No9 L-bold-r-normal--0-0-0-0-p-0-iso8859-1 +n021023l.pfb -URW-Nimbus Roman No9 L-medium-i-normal--0-0-0-0-p-0-iso8859-1 +n021024l.pfb -URW-Nimbus Roman No9 L-bold-i-normal--0-0-0-0-p-0-iso8859-1 +n022003l.pfb -URW-Nimbus Mono L-medium-r-normal--0-0-0-0-p-0-iso8859-1 +n022004l.pfb -URW-Nimbus Mono L-bold-r-normal--0-0-0-0-p-0-iso8859-1 +n022023l.pfb -URW-Nimbus Mono L-medium-o-normal--0-0-0-0-p-0-iso8859-1 +n022024l.pfb -URW-Nimbus Mono L-bold-o-normal--0-0-0-0-p-0-iso8859-1 +p052003l.pfb -URW-Palladio L-medium-r-normal--0-0-0-0-p-0-iso8859-1 +p052004l.pfb -URW-Palladio L-bold-r-normal--0-0-0-0-p-0-iso8859-1 +p052023l.pfb -URW-Palladio L-medium-i-normal--0-0-0-0-p-0-iso8859-1 +p052024l.pfb -URW-Palladio L-bold-i-normal--0-0-0-0-p-0-iso8859-1 +putb.pfa -adobe-utopia-bold-r-normal--0-0-0-0-p-0-iso8859-1 +putbi.pfa -adobe-utopia-bold-i-normal--0-0-0-0-p-0-iso8859-1 +putr.pfa -adobe-utopia-medium-r-normal--0-0-0-0-p-0-iso8859-1 +putri.pfa -adobe-utopia-medium-i-normal--0-0-0-0-p-0-iso8859-1 +s050000l.pfb -URW-Standard Symbols L-medium-r-normal--0-0-0-0-p-0-urw-fontspecific +z003034l.pfb -URW-Chancery L-medium-i-normal--0-0-0-0-p-0-iso8859-1 diff --git a/Master/xemtex/gsfonts/fonts.scale b/Master/xemtex/gsfonts/fonts.scale new file mode 100644 index 00000000000..bd924dde972 --- /dev/null +++ b/Master/xemtex/gsfonts/fonts.scale @@ -0,0 +1,44 @@ +0 +a010013l.pfb -URW-Gothic L-book-r-normal--0-0-0-0-p-0-iso8859-1 +a010015l.pfb -URW-Gothic L-demi bold-r-normal--0-0-0-0-p-0-iso8859-1 +a010033l.pfb -URW-Gothic L-book-o-normal--0-0-0-0-p-0-iso8859-1 +a010035l.pfb -URW-Gothic L-demi bold-o-normal--0-0-0-0-p-0-iso8859-1 +b018012l.pfb -URW-Bookman L-light-r-normal--0-0-0-0-p-0-iso8859-1 +b018015l.pfb -URW-Bookman L-demi bold-r-normal--0-0-0-0-p-0-iso8859-1 +b018032l.pfb -URW-Bookman L-light-i-normal--0-0-0-0-p-0-iso8859-1 +b018035l.pfb -URW-Bookman L-demi bold-i-normal--0-0-0-0-p-0-iso8859-1 +bchb.pfa -bitstream-Charter-bold-r-normal--0-0-0-0-p-0-iso8859-1 +bchbi.pfa -bitstream-Charter-bold-i-normal--0-0-0-0-p-0-iso8859-1 +bchr.pfa -bitstream-Charter-medium-r-normal--0-0-0-0-p-0-iso8859-1 +bchri.pfa -bitstream-Charter-medium-i-normal--0-0-0-0-p-0-iso8859-1 +c059013l.pfb -URW-Century Schoolbook L-medium-r-normal--0-0-0-0-p-0-iso8859-1 +c059016l.pfb -URW-Century Schoolbook L-bold-r-normal--0-0-0-0-p-0-iso8859-1 +c059033l.pfb -URW-Century Schoolbook L-medium-i-normal--0-0-0-0-p-0-iso8859-1 +c059036l.pfb -URW-Century Schoolbook L-bold-i-normal--0-0-0-0-p-0-iso8859-1 +d050000l.pfb -URW-Dingbats-medium-r-normal--0-0-0-0-p-0-urw-fontspecific +n019003l.pfb -URW-Nimbus Sans L-medium-r-normal--0-0-0-0-p-0-iso8859-1 +n019004l.pfb -URW-Nimbus Sans L-bold-r-normal--0-0-0-0-p-0-iso8859-1 +n019023l.pfb -URW-Nimbus Sans L-medium-o-normal--0-0-0-0-p-0-iso8859-1 +n019024l.pfb -URW-Nimbus Sans L-bold-o-normal--0-0-0-0-p-0-iso8859-1 +n019043l.pfb -URW-Nimbus Sans L-medium-r-condensed--0-0-0-0-p-0-iso8859-1 +n019044l.pfb -URW-Nimbus Sans L-bold-r-condensed--0-0-0-0-p-0-iso8859-1 +n019063l.pfb -URW-Nimbus Sans L-medium-o-condensed--0-0-0-0-p-0-iso8859-1 +n019064l.pfb -URW-Nimbus Sans L-bold-o-condensed--0-0-0-0-p-0-iso8859-1 +n021003l.pfb -URW-Nimbus Roman No9 L-medium-r-normal--0-0-0-0-p-0-iso8859-1 +n021004l.pfb -URW-Nimbus Roman No9 L-bold-r-normal--0-0-0-0-p-0-iso8859-1 +n021023l.pfb -URW-Nimbus Roman No9 L-medium-i-normal--0-0-0-0-p-0-iso8859-1 +n021024l.pfb -URW-Nimbus Roman No9 L-bold-i-normal--0-0-0-0-p-0-iso8859-1 +n022003l.pfb -URW-Nimbus Mono L-medium-r-normal--0-0-0-0-p-0-iso8859-1 +n022004l.pfb -URW-Nimbus Mono L-bold-r-normal--0-0-0-0-p-0-iso8859-1 +n022023l.pfb -URW-Nimbus Mono L-medium-o-normal--0-0-0-0-p-0-iso8859-1 +n022024l.pfb -URW-Nimbus Mono L-bold-o-normal--0-0-0-0-p-0-iso8859-1 +p052003l.pfb -URW-Palladio L-medium-r-normal--0-0-0-0-p-0-iso8859-1 +p052004l.pfb -URW-Palladio L-bold-r-normal--0-0-0-0-p-0-iso8859-1 +p052023l.pfb -URW-Palladio L-medium-i-normal--0-0-0-0-p-0-iso8859-1 +p052024l.pfb -URW-Palladio L-bold-i-normal--0-0-0-0-p-0-iso8859-1 +putb.pfa -adobe-utopia-bold-r-normal--0-0-0-0-p-0-iso8859-1 +putbi.pfa -adobe-utopia-bold-i-normal--0-0-0-0-p-0-iso8859-1 +putr.pfa -adobe-utopia-medium-r-normal--0-0-0-0-p-0-iso8859-1 +putri.pfa -adobe-utopia-medium-i-normal--0-0-0-0-p-0-iso8859-1 +s050000l.pfb -URW-Standard Symbols L-medium-r-normal--0-0-0-0-p-0-urw-fontspecific +z003034l.pfb -URW-Chancery L-medium-i-normal--0-0-0-0-p-0-iso8859-1 diff --git a/Master/xemtex/gsfonts/n019003l.afm b/Master/xemtex/gsfonts/n019003l.afm new file mode 100644 index 00000000000..dfa9bd80f16 --- /dev/null +++ b/Master/xemtex/gsfonts/n019003l.afm @@ -0,0 +1,1341 @@ +StartFontMetrics 3.0 +Comment Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development +Comment Creation Date: 12/22/1999 +Comment See the file PUBLIC (Aladdin Free Public License) for license conditions. +FontName NimbusSanL-Regu +FullName Nimbus Sans L Regular +FamilyName Nimbus Sans L +Weight Regular +ItalicAngle 0.0 +IsFixedPitch false +UnderlinePosition -151 +UnderlineThickness 50 +Version 1.05 +Notice (URW)++,Copyright 1999 by (URW)++ Design & Development +EncodingScheme AdobeStandardEncoding +FontBBox -174 -285 1001 953 +CapHeight 729 +XHeight 524 +Descender -218 +Ascender 729 +StartCharMetrics 316 +C 32 ; WX 278 ; N space ; B 191 0 191 0 ; +C 33 ; WX 278 ; N exclam ; B 124 0 208 729 ; +C 34 ; WX 355 ; N quotedbl ; B 52 464 305 709 ; +C 35 ; WX 556 ; N numbersign ; B 14 -20 542 697 ; +C 36 ; WX 556 ; N dollar ; B 26 -126 518 770 ; +C 37 ; WX 889 ; N percent ; B 29 -20 859 709 ; +C 38 ; WX 667 ; N ampersand ; B 52 -23 637 709 ; +C 39 ; WX 221 ; N quoteright ; B 64 497 157 729 ; +C 40 ; WX 333 ; N parenleft ; B 73 -212 291 729 ; +C 41 ; WX 333 ; N parenright ; B 38 -212 256 729 ; +C 42 ; WX 389 ; N asterisk ; B 40 441 343 729 ; +C 43 ; WX 584 ; N plus ; B 50 -10 534 474 ; +C 44 ; WX 278 ; N comma ; B 87 -147 192 104 ; +C 45 ; WX 333 ; N hyphen ; B 46 240 284 312 ; +C 46 ; WX 278 ; N period ; B 87 0 191 104 ; +C 47 ; WX 278 ; N slash ; B -8 -20 284 729 ; +C 48 ; WX 556 ; N zero ; B 43 -23 507 709 ; +C 49 ; WX 556 ; N one ; B 102 0 347 709 ; +C 50 ; WX 556 ; N two ; B 34 0 511 709 ; +C 51 ; WX 556 ; N three ; B 32 -23 506 709 ; +C 52 ; WX 556 ; N four ; B 28 0 520 709 ; +C 53 ; WX 556 ; N five ; B 35 -23 513 709 ; +C 54 ; WX 556 ; N six ; B 43 -23 513 709 ; +C 55 ; WX 556 ; N seven ; B 46 0 520 709 ; +C 56 ; WX 556 ; N eight ; B 37 -23 513 709 ; +C 57 ; WX 556 ; N nine ; B 38 -23 509 709 ; +C 58 ; WX 278 ; N colon ; B 110 0 214 524 ; +C 59 ; WX 278 ; N semicolon ; B 110 -147 215 524 ; +C 60 ; WX 584 ; N less ; B 45 -9 534 474 ; +C 61 ; WX 584 ; N equal ; B 50 111 534 353 ; +C 62 ; WX 584 ; N greater ; B 50 -9 539 474 ; +C 63 ; WX 556 ; N question ; B 77 0 509 741 ; +C 64 ; WX 1015 ; N at ; B 34 -142 951 741 ; +C 65 ; WX 667 ; N A ; B 17 0 653 729 ; +C 66 ; WX 667 ; N B ; B 79 0 623 729 ; +C 67 ; WX 722 ; N C ; B 48 -23 677 741 ; +C 68 ; WX 722 ; N D ; B 89 0 667 729 ; +C 69 ; WX 667 ; N E ; B 90 0 613 729 ; +C 70 ; WX 611 ; N F ; B 90 0 579 729 ; +C 71 ; WX 778 ; N G ; B 44 -23 709 741 ; +C 72 ; WX 722 ; N H ; B 83 0 644 729 ; +C 73 ; WX 278 ; N I ; B 100 0 194 729 ; +C 74 ; WX 500 ; N J ; B 17 -23 426 729 ; +C 75 ; WX 667 ; N K ; B 79 0 658 729 ; +C 76 ; WX 556 ; N L ; B 80 0 533 729 ; +C 77 ; WX 833 ; N M ; B 75 0 761 729 ; +C 78 ; WX 722 ; N N ; B 76 0 646 729 ; +C 79 ; WX 778 ; N O ; B 38 -23 742 741 ; +C 80 ; WX 667 ; N P ; B 91 0 617 729 ; +C 81 ; WX 778 ; N Q ; B 38 -59 742 741 ; +C 82 ; WX 722 ; N R ; B 93 0 679 729 ; +C 83 ; WX 667 ; N S ; B 48 -23 621 741 ; +C 84 ; WX 611 ; N T ; B 21 0 593 729 ; +C 85 ; WX 722 ; N U ; B 85 -23 645 729 ; +C 86 ; WX 667 ; N V ; B 30 0 645 729 ; +C 87 ; WX 944 ; N W ; B 22 0 929 729 ; +C 88 ; WX 667 ; N X ; B 22 0 649 729 ; +C 89 ; WX 667 ; N Y ; B 13 0 661 729 ; +C 90 ; WX 611 ; N Z ; B 28 0 583 729 ; +C 91 ; WX 278 ; N bracketleft ; B 64 -212 250 729 ; +C 92 ; WX 278 ; N backslash ; B -8 -20 284 729 ; +C 93 ; WX 278 ; N bracketright ; B 23 -212 209 729 ; +C 94 ; WX 469 ; N asciicircum ; B 44 329 425 709 ; +C 95 ; WX 556 ; N underscore ; B -22 -176 578 -126 ; +C 96 ; WX 222 ; N quoteleft ; B 65 477 158 709 ; +C 97 ; WX 556 ; N a ; B 42 -23 535 539 ; +C 98 ; WX 556 ; N b ; B 54 -23 523 729 ; +C 99 ; WX 500 ; N c ; B 31 -23 477 539 ; +C 100 ; WX 556 ; N d ; B 26 -23 495 729 ; +C 101 ; WX 556 ; N e ; B 40 -23 513 539 ; +C 102 ; WX 278 ; N f ; B 18 0 258 732 ; +C 103 ; WX 556 ; N g ; B 29 -218 489 539 ; +C 104 ; WX 556 ; N h ; B 70 0 486 729 ; +C 105 ; WX 222 ; N i ; B 66 0 150 729 ; +C 106 ; WX 222 ; N j ; B -18 -218 153 729 ; +C 107 ; WX 500 ; N k ; B 58 0 502 729 ; +C 108 ; WX 222 ; N l ; B 68 0 152 729 ; +C 109 ; WX 833 ; N m ; B 70 0 762 539 ; +C 110 ; WX 556 ; N n ; B 70 0 487 539 ; +C 111 ; WX 556 ; N o ; B 36 -23 510 539 ; +C 112 ; WX 556 ; N p ; B 54 -218 523 539 ; +C 113 ; WX 556 ; N q ; B 26 -218 495 539 ; +C 114 ; WX 333 ; N r ; B 69 0 321 539 ; +C 115 ; WX 500 ; N s ; B 34 -23 459 539 ; +C 116 ; WX 278 ; N t ; B 14 -23 254 668 ; +C 117 ; WX 556 ; N u ; B 65 -23 482 524 ; +C 118 ; WX 500 ; N v ; B 10 0 486 524 ; +C 119 ; WX 722 ; N w ; B 6 0 708 524 ; +C 120 ; WX 500 ; N x ; B 17 0 473 524 ; +C 121 ; WX 500 ; N y ; B 20 -218 478 524 ; +C 122 ; WX 500 ; N z ; B 31 0 457 524 ; +C 123 ; WX 334 ; N braceleft ; B 43 -212 276 729 ; +C 124 ; WX 260 ; N bar ; B 100 -212 160 729 ; +C 125 ; WX 334 ; N braceright ; B 29 -212 262 729 ; +C 126 ; WX 584 ; N asciitilde ; B 75 268 508 438 ; +C 161 ; WX 333 ; N exclamdown ; B 121 -205 205 524 ; +C 162 ; WX 556 ; N cent ; B 52 -120 510 628 ; +C 163 ; WX 556 ; N sterling ; B 26 -23 535 729 ; +C 164 ; WX 167 ; N fraction ; B -174 -20 336 709 ; +C 165 ; WX 556 ; N yen ; B 11 0 545 709 ; +C 166 ; WX 556 ; N florin ; B 11 -212 542 738 ; +C 167 ; WX 556 ; N section ; B 43 -213 506 729 ; +C 168 ; WX 556 ; N currency ; B 67 133 489 551 ; +C 169 ; WX 191 ; N quotesingle ; B 48 464 142 709 ; +C 170 ; WX 333 ; N quotedblleft ; B 48 477 299 709 ; +C 171 ; WX 556 ; N guillemotleft ; B 98 106 455 438 ; +C 172 ; WX 333 ; N guilsinglleft ; B 91 106 243 438 ; +C 173 ; WX 333 ; N guilsinglright ; B 85 106 239 438 ; +C 174 ; WX 500 ; N fi ; B 12 0 436 732 ; +C 175 ; WX 500 ; N fl ; B 17 0 430 732 ; +C 177 ; WX 556 ; N endash ; B -5 240 561 312 ; +C 178 ; WX 556 ; N dagger ; B 38 -177 513 709 ; +C 179 ; WX 556 ; N daggerdbl ; B 38 -177 513 709 ; +C 180 ; WX 278 ; N periodcentered ; B 87 302 211 427 ; +C 182 ; WX 537 ; N paragraph ; B 48 -177 522 729 ; +C 183 ; WX 350 ; N bullet ; B 50 220 300 470 ; +C 184 ; WX 222 ; N quotesinglbase ; B 64 -128 158 104 ; +C 185 ; WX 333 ; N quotedblbase ; B 47 -128 300 104 ; +C 186 ; WX 333 ; N quotedblright ; B 49 477 302 709 ; +C 187 ; WX 556 ; N guillemotright ; B 98 106 451 438 ; +C 188 ; WX 1000 ; N ellipsis ; B 115 0 885 104 ; +C 189 ; WX 1000 ; N perthousand ; B 9 -22 993 738 ; +C 191 ; WX 611 ; N questiondown ; B 95 -217 528 524 ; +C 193 ; WX 333 ; N grave ; B 22 592 231 740 ; +C 194 ; WX 333 ; N acute ; B 92 592 301 740 ; +C 195 ; WX 333 ; N circumflex ; B 20 591 307 741 ; +C 196 ; WX 333 ; N tilde ; B 5 613 319 717 ; +C 197 ; WX 333 ; N macron ; B 28 631 302 701 ; +C 198 ; WX 333 ; N breve ; B 15 597 316 732 ; +C 199 ; WX 333 ; N dotaccent ; B 115 612 219 716 ; +C 200 ; WX 333 ; N dieresis ; B 30 612 296 715 ; +C 202 ; WX 333 ; N ring ; B 79 579 255 754 ; +C 203 ; WX 333 ; N cedilla ; B 39 -214 287 0 ; +C 205 ; WX 333 ; N hungarumlaut ; B -35 590 348 740 ; +C 206 ; WX 333 ; N ogonek ; B 57 -205 265 0 ; +C 207 ; WX 333 ; N caron ; B 19 591 306 741 ; +C 208 ; WX 1000 ; N emdash ; B -9 240 1001 312 ; +C 225 ; WX 1000 ; N AE ; B 11 0 950 729 ; +C 227 ; WX 370 ; N ordfeminine ; B 37 303 333 742 ; +C 232 ; WX 556 ; N Lslash ; B 0 0 552 729 ; +C 233 ; WX 778 ; N Oslash ; B 30 -23 744 755 ; +C 234 ; WX 1000 ; N OE ; B 43 -20 959 741 ; +C 235 ; WX 365 ; N ordmasculine ; B 40 303 324 742 ; +C 241 ; WX 889 ; N ae ; B 34 -23 845 539 ; +C 245 ; WX 278 ; N dotlessi ; B 94 0 178 524 ; +C 248 ; WX 222 ; N lslash ; B 0 0 212 729 ; +C 249 ; WX 611 ; N oslash ; B 18 -30 529 539 ; +C 250 ; WX 944 ; N oe ; B 40 -23 899 539 ; +C 251 ; WX 611 ; N germandbls ; B 126 -20 566 729 ; +C -1 ; WX 722 ; N Udieresis ; B 85 -23 645 914 ; +C -1 ; WX 722 ; N Uacute ; B 85 -23 645 939 ; +C -1 ; WX 667 ; N Scedilla ; B 45 -214 621 741 ; +C -1 ; WX 611 ; N Tcaron ; B 21 0 593 940 ; +C -1 ; WX 667 ; N Scaron ; B 48 -23 621 940 ; +C -1 ; WX 722 ; N Rcaron ; B 93 0 679 940 ; +C -1 ; WX 722 ; N Racute ; B 93 0 679 939 ; +C -1 ; WX 667 ; N Sacute ; B 48 -23 621 939 ; +C -1 ; WX 778 ; N Otilde ; B 38 -23 742 916 ; +C -1 ; WX 556 ; N ucircumflex ; B 65 -23 482 741 ; +C -1 ; WX 778 ; N Ohungarumlaut ; B 38 -23 742 939 ; +C -1 ; WX 722 ; N Uhungarumlaut ; B 85 -23 645 939 ; +C -1 ; WX 666 ; N Yacute ; B 13 0 661 939 ; +C -1 ; WX 722 ; N Eth ; B 20 0 667 729 ; +C -1 ; WX 722 ; N Dcroat ; B 20 0 667 729 ; +C -1 ; WX 611 ; N Zacute ; B 28 0 583 939 ; +C -1 ; WX 722 ; N Uring ; B 85 -23 645 953 ; +C -1 ; WX 556 ; N gbreve ; B 29 -218 489 732 ; +C -1 ; WX 556 ; N eogonek ; B 40 -204 514 539 ; +C -1 ; WX 556 ; N edotaccent ; B 40 -23 513 716 ; +C -1 ; WX 556 ; N ecaron ; B 40 -23 513 741 ; +C -1 ; WX 722 ; N Ugrave ; B 85 -23 645 939 ; +C -1 ; WX 666 ; N Thorn ; B 91 0 616 729 ; +C -1 ; WX 556 ; N eacute ; B 40 -23 513 740 ; +C -1 ; WX 556 ; N edieresis ; B 40 -23 513 715 ; +C -1 ; WX 635 ; N dcaron ; B 26 -23 648 729 ; +C -1 ; WX 500 ; N ccedilla ; B 31 -214 477 539 ; +C -1 ; WX 500 ; N ccaron ; B 31 -23 477 741 ; +C -1 ; WX 500 ; N cacute ; B 31 -23 477 740 ; +C -1 ; WX 556 ; N aogonek ; B 43 -205 596 539 ; +C -1 ; WX 556 ; N aring ; B 42 -23 535 754 ; +C -1 ; WX 556 ; N atilde ; B 42 -23 535 717 ; +C -1 ; WX 556 ; N abreve ; B 42 -23 535 732 ; +C -1 ; WX 556 ; N egrave ; B 40 -23 513 740 ; +C -1 ; WX 556 ; N agrave ; B 42 -23 535 740 ; +C -1 ; WX 556 ; N aacute ; B 42 -23 535 740 ; +C -1 ; WX 556 ; N adieresis ; B 42 -23 535 715 ; +C -1 ; WX 722 ; N Uogonek ; B 85 -205 645 729 ; +C -1 ; WX 556 ; N ugrave ; B 65 -23 482 740 ; +C -1 ; WX 556 ; N uacute ; B 65 -23 482 740 ; +C -1 ; WX 556 ; N udieresis ; B 65 -23 482 715 ; +C -1 ; WX 308 ; N tcaron ; B 14 -23 321 800 ; +C -1 ; WX 500 ; N scommaaccent ; B 34 -285 459 539 ; +C -1 ; WX 611 ; N Zcaron ; B 28 0 583 940 ; +C -1 ; WX 556 ; N ecircumflex ; B 40 -23 513 741 ; +C -1 ; WX 722 ; N Ucircumflex ; B 85 -23 645 940 ; +C -1 ; WX 556 ; N acircumflex ; B 42 -23 535 741 ; +C -1 ; WX 611 ; N Zdotaccent ; B 28 0 583 915 ; +C -1 ; WX 500 ; N scaron ; B 34 -23 459 741 ; +C -1 ; WX 667 ; N Amacron ; B 17 0 653 900 ; +C -1 ; WX 500 ; N sacute ; B 34 -23 459 740 ; +C -1 ; WX 611 ; N Tcommaaccent ; B 21 -285 593 729 ; +C -1 ; WX 667 ; N Ydieresis ; B 13 0 661 914 ; +C -1 ; WX 555 ; N thorn ; B 54 -218 522 714 ; +C -1 ; WX 667 ; N Emacron ; B 90 0 613 900 ; +C -1 ; WX 778 ; N Ograve ; B 38 -23 742 939 ; +C -1 ; WX 778 ; N Oacute ; B 38 -23 742 939 ; +C -1 ; WX 778 ; N Odieresis ; B 38 -23 742 914 ; +C -1 ; WX 722 ; N Ntilde ; B 76 0 646 916 ; +C -1 ; WX 722 ; N Ncaron ; B 76 0 646 940 ; +C -1 ; WX 722 ; N Nacute ; B 76 0 646 939 ; +C -1 ; WX 556 ; N Lcaron ; B 80 0 533 729 ; +C -1 ; WX 556 ; N Lacute ; B 70 0 533 939 ; +C -1 ; WX 278 ; N Idotaccent ; B 92 0 196 915 ; +C -1 ; WX 333 ; N racute ; B 69 0 331 740 ; +C -1 ; WX 278 ; N Icircumflex ; B -1 0 286 940 ; +C -1 ; WX 556 ; N ohungarumlaut ; B 36 -23 526 740 ; +C -1 ; WX 556 ; N otilde ; B 36 -23 510 717 ; +C -1 ; WX 556 ; N Euro ; B 2 -23 543 709 ; +C -1 ; WX 556 ; N ocircumflex ; B 36 -23 510 741 ; +C -1 ; WX 351 ; N onesuperior ; B 61 284 222 709 ; +C -1 ; WX 351 ; N twosuperior ; B 19 284 326 709 ; +C -1 ; WX 351 ; N threesuperior ; B 16 270 322 709 ; +C -1 ; WX 278 ; N Igrave ; B 1 0 210 939 ; +C -1 ; WX 278 ; N Iacute ; B 71 0 280 939 ; +C -1 ; WX 278 ; N Imacron ; B 20 0 274 900 ; +C -1 ; WX 278 ; N Iogonek ; B 66 -204 234 729 ; +C -1 ; WX 278 ; N Idieresis ; B 9 0 275 907 ; +C -1 ; WX 778 ; N Gbreve ; B 44 -23 709 931 ; +C -1 ; WX 722 ; N Umacron ; B 85 -23 645 900 ; +C -1 ; WX 667 ; N Kcommaaccent ; B 79 -285 658 729 ; +C -1 ; WX 556 ; N ograve ; B 36 -23 510 740 ; +C -1 ; WX 667 ; N Scommaaccent ; B 48 -285 621 741 ; +C -1 ; WX 667 ; N Eogonek ; B 90 -205 652 729 ; +C -1 ; WX 556 ; N oacute ; B 36 -23 510 740 ; +C -1 ; WX 667 ; N Edotaccent ; B 90 0 613 915 ; +C -1 ; WX 222 ; N iogonek ; B 25 -204 190 729 ; +C -1 ; WX 556 ; N gcommaaccent ; B 29 -218 489 817 ; +C -1 ; WX 556 ; N odieresis ; B 36 -23 510 715 ; +C -1 ; WX 556 ; N ntilde ; B 70 0 487 717 ; +C -1 ; WX 556 ; N ncaron ; B 70 0 487 741 ; +C -1 ; WX 667 ; N Ecaron ; B 90 0 613 940 ; +C -1 ; WX 667 ; N Ecircumflex ; B 90 0 613 940 ; +C -1 ; WX 500 ; N scedilla ; B 34 -214 459 539 ; +C -1 ; WX 333 ; N rcaron ; B 48 0 335 741 ; +C -1 ; WX 667 ; N Egrave ; B 90 0 613 939 ; +C -1 ; WX 667 ; N Eacute ; B 90 0 613 939 ; +C -1 ; WX 778 ; N Gcommaaccent ; B 44 -285 709 741 ; +C -1 ; WX 722 ; N Rcommaaccent ; B 93 -285 679 729 ; +C -1 ; WX 667 ; N Edieresis ; B 90 0 613 914 ; +C -1 ; WX 556 ; N nacute ; B 70 0 487 740 ; +C -1 ; WX 556 ; N uogonek ; B 65 -204 521 524 ; +C -1 ; WX 556 ; N umacron ; B 65 -23 482 701 ; +C -1 ; WX 722 ; N Dcaron ; B 89 0 667 940 ; +C -1 ; WX 292 ; N lcaron ; B 68 0 305 729 ; +C -1 ; WX 722 ; N Ccaron ; B 48 -23 677 940 ; +C -1 ; WX 722 ; N Cacute ; B 48 -23 677 939 ; +C -1 ; WX 722 ; N Ccedilla ; B 48 -214 677 741 ; +C -1 ; WX 606 ; N degree ; B 151 383 454 686 ; +C -1 ; WX 667 ; N Aogonek ; B 17 -205 692 729 ; +C -1 ; WX 584 ; N minus ; B 40 197 544 267 ; +C -1 ; WX 584 ; N multiply ; B 95 34 488 427 ; +C -1 ; WX 584 ; N divide ; B 50 0 534 472 ; +C -1 ; WX 667 ; N Aring ; B 17 0 653 953 ; +C -1 ; WX 1000 ; N trademark ; B 63 292 938 729 ; +C -1 ; WX 333 ; N rcommaaccent ; B 65 -285 321 539 ; +C -1 ; WX 222 ; N lacute ; B 63 0 272 939 ; +C -1 ; WX 556 ; N omacron ; B 36 -23 510 701 ; +C -1 ; WX 667 ; N Atilde ; B 17 0 653 916 ; +C -1 ; WX 278 ; N icircumflex ; B -7 0 280 741 ; +C -1 ; WX 278 ; N igrave ; B -5 0 204 740 ; +C -1 ; WX 556 ; N ncommaaccent ; B 70 -285 487 539 ; +C -1 ; WX 222 ; N lcommaaccent ; B 63 -285 163 729 ; +C -1 ; WX 584 ; N plusminus ; B 50 -11 534 623 ; +C -1 ; WX 869 ; N onehalf ; B 61 -20 844 709 ; +C -1 ; WX 869 ; N onequarter ; B 61 -20 849 709 ; +C -1 ; WX 869 ; N threequarters ; B 16 -20 849 709 ; +C -1 ; WX 278 ; N iacute ; B 65 0 274 740 ; +C -1 ; WX 667 ; N Abreve ; B 17 0 653 931 ; +C -1 ; WX 500 ; N kcommaaccent ; B 58 -285 502 729 ; +C -1 ; WX 778 ; N Omacron ; B 38 -23 742 900 ; +C -1 ; WX 222 ; N imacron ; B -16 0 231 701 ; +C -1 ; WX 556 ; N emacron ; B 40 -23 513 701 ; +C -1 ; WX 556 ; N amacron ; B 42 -23 535 701 ; +C -1 ; WX 278 ; N tcommaaccent ; B 14 -285 254 668 ; +C -1 ; WX 500 ; N ydieresis ; B 20 -218 478 715 ; +C -1 ; WX 500 ; N zdotaccent ; B 31 0 457 716 ; +C -1 ; WX 500 ; N zcaron ; B 31 0 457 741 ; +C -1 ; WX 500 ; N zacute ; B 31 0 457 740 ; +C -1 ; WX 500 ; N yacute ; B 20 -218 478 740 ; +C -1 ; WX 556 ; N uhungarumlaut ; B 65 -23 530 740 ; +C -1 ; WX 556 ; N eth ; B 36 -23 510 743 ; +C -1 ; WX 556 ; N uring ; B 65 -23 482 754 ; +C -1 ; WX 778 ; N Ocircumflex ; B 38 -23 742 940 ; +C -1 ; WX 333 ; N commaaccent ; B 116 -285 216 -60 ; +C -1 ; WX 737 ; N copyright ; B -13 -22 751 742 ; +C -1 ; WX 737 ; N registered ; B -13 -22 751 742 ; +C -1 ; WX 667 ; N Acircumflex ; B 17 0 653 940 ; +C -1 ; WX 278 ; N idieresis ; B 3 0 269 708 ; +C -1 ; WX 489 ; N lozenge ; B 16 0 462 744 ; +C -1 ; WX 711 ; N Delta ; B 10 0 701 729 ; +C -1 ; WX 548 ; N notequal ; B 32 -25 516 486 ; +C -1 ; WX 542 ; N radical ; B 7 -36 512 913 ; +C -1 ; WX 667 ; N Agrave ; B 17 0 653 939 ; +C -1 ; WX 667 ; N Aacute ; B 17 0 653 939 ; +C -1 ; WX 584 ; N lessequal ; B 45 -11 534 639 ; +C -1 ; WX 584 ; N greaterequal ; B 45 -11 534 639 ; +C -1 ; WX 584 ; N logicalnot ; B 40 86 544 375 ; +C -1 ; WX 711 ; N summation ; B 17 -97 694 760 ; +C -1 ; WX 490 ; N partialdiff ; B 22 -15 458 750 ; +C -1 ; WX 722 ; N Ncommaaccent ; B 76 -285 646 729 ; +C -1 ; WX 556 ; N dcroat ; B 26 -23 557 729 ; +C -1 ; WX 260 ; N brokenbar ; B 100 -212 160 729 ; +C -1 ; WX 556 ; N Lcommaaccent ; B 80 -285 533 729 ; +C -1 ; WX 667 ; N Adieresis ; B 17 0 653 914 ; +C -1 ; WX 556 ; N mu ; B 65 -220 544 524 ; +C -1 ; WX 278 ; N .notdef ; B 191 0 191 0 ; +EndCharMetrics +StartKernData +StartKernPairs 998 +KPX A C -36 +KPX A Ccedilla -36 +KPX A G -35 +KPX A O -33 +KPX A Odieresis -33 +KPX A Q -32 +KPX A T -93 +KPX A U -37 +KPX A Uacute -37 +KPX A Ucircumflex -37 +KPX A Udieresis -37 +KPX A Ugrave -37 +KPX A V -75 +KPX A W -51 +KPX A Y -99 +KPX A a -4 +KPX A b 4 +KPX A c -11 +KPX A ccedilla -10 +KPX A comma 5 +KPX A d -8 +KPX A e -16 +KPX A g -10 +KPX A guillemotleft -44 +KPX A guilsinglleft -40 +KPX A hyphen -3 +KPX A o -13 +KPX A period 5 +KPX A q -8 +KPX A quotedblright -56 +KPX A quoteright -65 +KPX A t -16 +KPX A u -12 +KPX A v -31 +KPX A w -21 +KPX A y -34 +KPX Aacute C -36 +KPX Aacute G -35 +KPX Aacute O -33 +KPX Aacute Q -32 +KPX Aacute T -93 +KPX Aacute U -37 +KPX Aacute V -75 +KPX Aacute W -51 +KPX Aacute Y -99 +KPX Aacute a -4 +KPX Aacute b 4 +KPX Aacute c -11 +KPX Aacute comma 5 +KPX Aacute d -8 +KPX Aacute e -16 +KPX Aacute g -10 +KPX Aacute guillemotleft -44 +KPX Aacute guilsinglleft -40 +KPX Aacute hyphen -3 +KPX Aacute o -13 +KPX Aacute period 5 +KPX Aacute q -8 +KPX Aacute quoteright -65 +KPX Aacute t -16 +KPX Aacute u -12 +KPX Aacute v -31 +KPX Aacute w -21 +KPX Aacute y -34 +KPX Acircumflex C -36 +KPX Acircumflex G -35 +KPX Acircumflex O -33 +KPX Acircumflex Q -32 +KPX Acircumflex T -93 +KPX Acircumflex U -37 +KPX Acircumflex V -75 +KPX Acircumflex W -51 +KPX Acircumflex Y -99 +KPX Acircumflex comma 5 +KPX Acircumflex period 5 +KPX Adieresis C -36 +KPX Adieresis G -35 +KPX Adieresis O -33 +KPX Adieresis Q -32 +KPX Adieresis T -93 +KPX Adieresis U -37 +KPX Adieresis V -75 +KPX Adieresis W -51 +KPX Adieresis Y -99 +KPX Adieresis a -4 +KPX Adieresis b 4 +KPX Adieresis c -11 +KPX Adieresis comma 5 +KPX Adieresis d -8 +KPX Adieresis g -10 +KPX Adieresis guillemotleft -44 +KPX Adieresis guilsinglleft -40 +KPX Adieresis hyphen -3 +KPX Adieresis o -13 +KPX Adieresis period 5 +KPX Adieresis q -8 +KPX Adieresis quotedblright -56 +KPX Adieresis quoteright -65 +KPX Adieresis t -16 +KPX Adieresis u -12 +KPX Adieresis v -31 +KPX Adieresis w -21 +KPX Adieresis y -34 +KPX Agrave C -36 +KPX Agrave G -35 +KPX Agrave O -33 +KPX Agrave Q -32 +KPX Agrave T -93 +KPX Agrave U -37 +KPX Agrave V -75 +KPX Agrave W -51 +KPX Agrave Y -99 +KPX Agrave comma 5 +KPX Agrave period 5 +KPX Aring C -36 +KPX Aring G -35 +KPX Aring O -33 +KPX Aring Q -32 +KPX Aring T -93 +KPX Aring U -37 +KPX Aring V -75 +KPX Aring W -51 +KPX Aring Y -99 +KPX Aring a -4 +KPX Aring b 4 +KPX Aring c -11 +KPX Aring comma 5 +KPX Aring d -8 +KPX Aring e -16 +KPX Aring g -10 +KPX Aring guillemotleft -44 +KPX Aring guilsinglleft -40 +KPX Aring hyphen -3 +KPX Aring o -13 +KPX Aring period 5 +KPX Aring q -8 +KPX Aring quotedblright -56 +KPX Aring quoteright -65 +KPX Aring t -16 +KPX Aring u -12 +KPX Aring v -31 +KPX Aring w -21 +KPX Aring y -34 +KPX Atilde C -36 +KPX Atilde G -35 +KPX Atilde O -33 +KPX Atilde Q -32 +KPX Atilde T -93 +KPX Atilde U -37 +KPX Atilde V -75 +KPX Atilde W -51 +KPX Atilde Y -99 +KPX Atilde comma 5 +KPX Atilde period 5 +KPX B A -21 +KPX B AE -21 +KPX B Aacute -21 +KPX B Acircumflex -21 +KPX B Adieresis -21 +KPX B Aring -21 +KPX B Atilde -21 +KPX B O -7 +KPX B OE -5 +KPX B Oacute -7 +KPX B Ocircumflex -7 +KPX B Odieresis -7 +KPX B Ograve -7 +KPX B Oslash -1 +KPX B V -41 +KPX B W -25 +KPX B Y -44 +KPX C A -32 +KPX C AE -33 +KPX C Aacute -32 +KPX C Adieresis -32 +KPX C Aring -32 +KPX C H -12 +KPX C K -10 +KPX C O -8 +KPX C Oacute -8 +KPX C Odieresis -8 +KPX Ccedilla A -31 +KPX D A -42 +KPX D Aacute -42 +KPX D Acircumflex -42 +KPX D Adieresis -42 +KPX D Agrave -42 +KPX D Aring -42 +KPX D Atilde -42 +KPX D J -5 +KPX D T -45 +KPX D V -51 +KPX D W -29 +KPX D X -53 +KPX D Y -63 +KPX F A -69 +KPX F Aacute -69 +KPX F Acircumflex -69 +KPX F Adieresis -69 +KPX F Agrave -69 +KPX F Aring -69 +KPX F Atilde -69 +KPX F J -51 +KPX F O -22 +KPX F Odieresis -22 +KPX F a -33 +KPX F aacute -33 +KPX F adieresis -33 +KPX F ae -29 +KPX F aring -33 +KPX F comma -108 +KPX F e -24 +KPX F eacute -24 +KPX F hyphen -14 +KPX F i -10 +KPX F j -12 +KPX F o -21 +KPX F oacute -21 +KPX F odieresis -21 +KPX F oe -23 +KPX F oslash -21 +KPX F period -108 +KPX F r -35 +KPX F u -33 +KPX G A -6 +KPX G AE -3 +KPX G Aacute -6 +KPX G Acircumflex -6 +KPX G Adieresis -6 +KPX G Agrave -6 +KPX G Aring -6 +KPX G Atilde -6 +KPX G T -44 +KPX G V -50 +KPX G W -28 +KPX G Y -62 +KPX J A -32 +KPX J AE -31 +KPX J Adieresis -32 +KPX J Aring -32 +KPX K C -51 +KPX K G -51 +KPX K O -48 +KPX K OE -45 +KPX K Oacute -48 +KPX K Odieresis -48 +KPX K S -38 +KPX K T 20 +KPX K a -11 +KPX K adieresis -11 +KPX K ae -7 +KPX K aring -11 +KPX K e -32 +KPX K hyphen -47 +KPX K o -29 +KPX K oacute -29 +KPX K odieresis -29 +KPX K u -19 +KPX K udieresis -19 +KPX K y -62 +KPX L A 17 +KPX L AE 20 +KPX L Aacute 17 +KPX L Adieresis 17 +KPX L Aring 17 +KPX L C -41 +KPX L Ccedilla -37 +KPX L G -42 +KPX L O -41 +KPX L Oacute -41 +KPX L Ocircumflex -41 +KPX L Odieresis -41 +KPX L Ograve -41 +KPX L Otilde -41 +KPX L S -19 +KPX L T -105 +KPX L U -35 +KPX L Udieresis -35 +KPX L V -105 +KPX L W -68 +KPX L Y -121 +KPX L hyphen -125 +KPX L quotedblright -141 +KPX L quoteright -149 +KPX L u -7 +KPX L udieresis -7 +KPX L y -56 +KPX N A -9 +KPX N AE -6 +KPX N Aacute -9 +KPX N Adieresis -9 +KPX N Aring -9 +KPX N C -3 +KPX N Ccedilla -3 +KPX N G -2 +KPX N O 0 +KPX N Oacute 0 +KPX N Odieresis 0 +KPX N a -5 +KPX N aacute -5 +KPX N adieresis -5 +KPX N ae -2 +KPX N aring -5 +KPX N comma -7 +KPX N e 0 +KPX N eacute 0 +KPX N o 2 +KPX N oacute 2 +KPX N odieresis 2 +KPX N oslash 4 +KPX N period -7 +KPX N u 0 +KPX N udieresis 0 +KPX O A -35 +KPX O AE -39 +KPX O Aacute -35 +KPX O Adieresis -35 +KPX O Aring -35 +KPX O T -42 +KPX O V -45 +KPX O W -23 +KPX O X -46 +KPX O Y -59 +KPX Oacute A -35 +KPX Oacute T -42 +KPX Oacute V -45 +KPX Oacute W -23 +KPX Oacute Y -59 +KPX Ocircumflex T -42 +KPX Ocircumflex V -45 +KPX Ocircumflex Y -59 +KPX Odieresis A -35 +KPX Odieresis T -42 +KPX Odieresis V -45 +KPX Odieresis W -23 +KPX Odieresis X -46 +KPX Odieresis Y -59 +KPX Ograve T -42 +KPX Ograve V -45 +KPX Ograve Y -59 +KPX Oslash A -33 +KPX Otilde T -42 +KPX Otilde V -45 +KPX Otilde Y -59 +KPX P A -78 +KPX P AE -86 +KPX P Aacute -78 +KPX P Adieresis -78 +KPX P Aring -78 +KPX P J -78 +KPX P a -28 +KPX P aacute -28 +KPX P adieresis -28 +KPX P ae -24 +KPX P aring -28 +KPX P comma -135 +KPX P e -31 +KPX P eacute -31 +KPX P hyphen -40 +KPX P o -27 +KPX P oacute -27 +KPX P odieresis -27 +KPX P oe -28 +KPX P oslash -27 +KPX P period -135 +KPX R C -16 +KPX R Ccedilla -16 +KPX R G -15 +KPX R O -13 +KPX R OE -11 +KPX R Oacute -13 +KPX R Odieresis -13 +KPX R T -23 +KPX R U -17 +KPX R Udieresis -17 +KPX R V -39 +KPX R W -27 +KPX R Y -43 +KPX R a -15 +KPX R aacute -15 +KPX R adieresis -15 +KPX R ae -12 +KPX R aring -15 +KPX R e -12 +KPX R eacute -12 +KPX R hyphen -2 +KPX R o -9 +KPX R oacute -9 +KPX R odieresis -9 +KPX R oe -11 +KPX R u -9 +KPX R uacute -9 +KPX R udieresis -9 +KPX R y -8 +KPX S A -22 +KPX S AE -22 +KPX S Aacute -22 +KPX S Adieresis -22 +KPX S Aring -22 +KPX S T -28 +KPX S V -42 +KPX S W -28 +KPX S Y -48 +KPX S t -3 +KPX T A -95 +KPX T AE -97 +KPX T Aacute -95 +KPX T Acircumflex -95 +KPX T Adieresis -95 +KPX T Agrave -95 +KPX T Aring -95 +KPX T Atilde -95 +KPX T C -44 +KPX T G -45 +KPX T J -100 +KPX T O -42 +KPX T OE -35 +KPX T Oacute -42 +KPX T Ocircumflex -42 +KPX T Odieresis -42 +KPX T Ograve -42 +KPX T Oslash -41 +KPX T Otilde -42 +KPX T S -24 +KPX T V 12 +KPX T W 16 +KPX T Y 20 +KPX T a -100 +KPX T ae -97 +KPX T c -90 +KPX T colon -133 +KPX T comma -100 +KPX T e -95 +KPX T g -89 +KPX T guillemotleft -121 +KPX T guilsinglleft -117 +KPX T hyphen -77 +KPX T i -3 +KPX T j -5 +KPX T o -92 +KPX T oslash -87 +KPX T period -100 +KPX T r -92 +KPX T s -92 +KPX T semicolon -129 +KPX T u -91 +KPX T v -95 +KPX T w -93 +KPX T y -100 +KPX U A -36 +KPX U AE -39 +KPX U Aacute -36 +KPX U Acircumflex -36 +KPX U Adieresis -36 +KPX U Aring -36 +KPX U Atilde -36 +KPX U comma -27 +KPX U m -4 +KPX U n -4 +KPX U p 3 +KPX U period -25 +KPX U r -4 +KPX Uacute A -36 +KPX Uacute comma -27 +KPX Uacute m -4 +KPX Uacute n -4 +KPX Uacute p 3 +KPX Uacute period -25 +KPX Uacute r -4 +KPX Ucircumflex A -36 +KPX Udieresis A -36 +KPX Udieresis b 3 +KPX Udieresis comma -27 +KPX Udieresis m -4 +KPX Udieresis n -4 +KPX Udieresis p 3 +KPX Udieresis period -25 +KPX Udieresis r -4 +KPX Ugrave A -36 +KPX V A -71 +KPX V AE -78 +KPX V Aacute -71 +KPX V Acircumflex -71 +KPX V Adieresis -71 +KPX V Agrave -71 +KPX V Aring -71 +KPX V Atilde -71 +KPX V C -43 +KPX V G -42 +KPX V O -40 +KPX V Oacute -40 +KPX V Ocircumflex -40 +KPX V Odieresis -40 +KPX V Ograve -40 +KPX V Oslash -33 +KPX V Otilde -40 +KPX V S -35 +KPX V T 15 +KPX V a -59 +KPX V ae -55 +KPX V colon -66 +KPX V comma -89 +KPX V e -57 +KPX V g -50 +KPX V guillemotleft -83 +KPX V guilsinglleft -80 +KPX V hyphen -38 +KPX V i -5 +KPX V o -54 +KPX V oslash -50 +KPX V period -89 +KPX V r -42 +KPX V semicolon -66 +KPX V u -41 +KPX V y -20 +KPX W A -50 +KPX W AE -56 +KPX W Aacute -50 +KPX W Acircumflex -50 +KPX W Adieresis -50 +KPX W Agrave -50 +KPX W Aring -50 +KPX W Atilde -50 +KPX W C -23 +KPX W G -22 +KPX W O -20 +KPX W Oacute -20 +KPX W Ocircumflex -20 +KPX W Odieresis -20 +KPX W Ograve -20 +KPX W Oslash -13 +KPX W Otilde -20 +KPX W S -24 +KPX W T 19 +KPX W a -38 +KPX W ae -34 +KPX W colon -52 +KPX W comma -56 +KPX W e -32 +KPX W g -25 +KPX W guillemotleft -58 +KPX W guilsinglleft -54 +KPX W hyphen -13 +KPX W i -1 +KPX W o -29 +KPX W oslash -25 +KPX W period -56 +KPX W r -28 +KPX W semicolon -53 +KPX W u -28 +KPX W y -6 +KPX X C -48 +KPX X O -45 +KPX X Odieresis -45 +KPX X Q -44 +KPX X a -15 +KPX X e -36 +KPX X hyphen -51 +KPX X o -33 +KPX X u -24 +KPX X y -61 +KPX Y A -96 +KPX Y AE -103 +KPX Y Aacute -96 +KPX Y Acircumflex -96 +KPX Y Adieresis -96 +KPX Y Agrave -96 +KPX Y Aring -96 +KPX Y Atilde -96 +KPX Y C -58 +KPX Y G -58 +KPX Y O -56 +KPX Y Oacute -56 +KPX Y Ocircumflex -56 +KPX Y Odieresis -56 +KPX Y Ograve -56 +KPX Y Oslash -54 +KPX Y Otilde -56 +KPX Y S -41 +KPX Y T 23 +KPX Y a -88 +KPX Y ae -84 +KPX Y colon -87 +KPX Y comma -111 +KPX Y e -89 +KPX Y g -83 +KPX Y guillemotleft -123 +KPX Y guilsinglleft -119 +KPX Y hyphen -84 +KPX Y i 3 +KPX Y o -86 +KPX Y oslash -82 +KPX Y p -54 +KPX Y period -111 +KPX Y semicolon -88 +KPX Y u -63 +KPX Y v -36 +KPX Z v -33 +KPX Z y -38 +KPX a j -4 +KPX a quoteright -23 +KPX a v -21 +KPX a w -13 +KPX a y -26 +KPX aacute v -21 +KPX aacute w -13 +KPX aacute y -26 +KPX adieresis v -21 +KPX adieresis w -13 +KPX adieresis y -26 +KPX ae v -16 +KPX ae w -10 +KPX ae y -20 +KPX agrave v -21 +KPX agrave w -13 +KPX agrave y -26 +KPX aring v -21 +KPX aring w -13 +KPX aring y -26 +KPX b v -11 +KPX b w -3 +KPX b y -15 +KPX c h 1 +KPX c k 7 +KPX comma one -100 +KPX comma quotedblright -41 +KPX comma quoteright -50 +KPX e quoteright -18 +KPX e t -10 +KPX e v -15 +KPX e w -9 +KPX e x -27 +KPX e y -19 +KPX eacute v -15 +KPX eacute w -9 +KPX eacute y -19 +KPX ecircumflex v -15 +KPX ecircumflex w -9 +KPX ecircumflex y -19 +KPX eight four 1 +KPX eight one -48 +KPX eight seven -33 +KPX f a -9 +KPX f aacute -9 +KPX f adieresis -9 +KPX f ae -5 +KPX f aring -9 +KPX f e -15 +KPX f eacute -15 +KPX f f 22 +KPX f i -2 +KPX f j -4 +KPX f l -3 +KPX f o -10 +KPX f oacute -10 +KPX f odieresis -10 +KPX f oe -12 +KPX f oslash -9 +KPX f quoteright 0 +KPX f s 0 +KPX f t 24 +KPX five four 1 +KPX five one -76 +KPX five seven -26 +KPX four four 5 +KPX four one -84 +KPX four seven -56 +KPX g a -5 +KPX g adieresis -5 +KPX g ae -1 +KPX g aring -5 +KPX g e 0 +KPX g eacute 0 +KPX g l 0 +KPX g oacute 3 +KPX g odieresis 3 +KPX g r 0 +KPX guillemotright A -50 +KPX guillemotright AE -54 +KPX guillemotright Aacute -50 +KPX guillemotright Adieresis -50 +KPX guillemotright Aring -50 +KPX guillemotright T -126 +KPX guillemotright V -93 +KPX guillemotright W -66 +KPX guillemotright Y -133 +KPX guilsinglright A -44 +KPX guilsinglright AE -48 +KPX guilsinglright Aacute -44 +KPX guilsinglright Adieresis -44 +KPX guilsinglright Aring -44 +KPX guilsinglright T -121 +KPX guilsinglright V -88 +KPX guilsinglright W -60 +KPX guilsinglright Y -128 +KPX h quoteright -15 +KPX h y -18 +KPX hyphen A -7 +KPX hyphen AE -11 +KPX hyphen Aacute -7 +KPX hyphen Adieresis -7 +KPX hyphen Aring -7 +KPX hyphen T -80 +KPX hyphen V -46 +KPX hyphen W -19 +KPX hyphen Y -92 +KPX i T -7 +KPX i j -3 +KPX k a -2 +KPX k aacute -2 +KPX k adieresis -2 +KPX k ae 2 +KPX k aring -2 +KPX k comma 0 +KPX k e -21 +KPX k eacute -21 +KPX k g -16 +KPX k hyphen -41 +KPX k o -19 +KPX k oacute -19 +KPX k odieresis -19 +KPX k period 0 +KPX k s -3 +KPX k u -11 +KPX k udieresis -6 +KPX l v 0 +KPX l y -5 +KPX m p 5 +KPX m v -13 +KPX m w -7 +KPX m y -18 +KPX n T -96 +KPX n p 5 +KPX n quoteright -14 +KPX n v -13 +KPX n w -7 +KPX n y -18 +KPX nine four -3 +KPX nine one -43 +KPX nine seven -37 +KPX o T -99 +KPX o quoteright -21 +KPX o t -10 +KPX o v -18 +KPX o w -10 +KPX o x -27 +KPX o y -22 +KPX oacute v -18 +KPX oacute w -10 +KPX oacute y -22 +KPX ocircumflex t -10 +KPX odieresis t -10 +KPX odieresis v -18 +KPX odieresis w -10 +KPX odieresis x -27 +KPX odieresis y -22 +KPX ograve v -18 +KPX ograve w -10 +KPX ograve y -22 +KPX one comma -74 +KPX one eight -65 +KPX one five -67 +KPX one four -81 +KPX one nine -65 +KPX one one -118 +KPX one period -74 +KPX one seven -90 +KPX one six -62 +KPX one three -67 +KPX one two -69 +KPX one zero -62 +KPX p t -4 +KPX p y -16 +KPX period one -101 +KPX period quotedblright -41 +KPX period quoteright -51 +KPX q c 8 +KPX q u 4 +KPX quotedblbase A 30 +KPX quotedblbase AE 30 +KPX quotedblbase T -75 +KPX quotedblbase V -69 +KPX quotedblbase W -34 +KPX quotedblbase Y -91 +KPX quotedblleft A -52 +KPX quotedblleft AE -64 +KPX quotedblleft Aacute -52 +KPX quotedblleft Adieresis -52 +KPX quotedblleft Aring -52 +KPX quotedblleft T 9 +KPX quotedblleft V 15 +KPX quotedblleft W 27 +KPX quotedblleft Y 5 +KPX quotedblright A -53 +KPX quotedblright AE -66 +KPX quotedblright Aacute -53 +KPX quotedblright Adieresis -53 +KPX quotedblright Aring -53 +KPX quotedblright T 11 +KPX quotedblright V 15 +KPX quotedblright W 26 +KPX quotedblright Y 7 +KPX quoteleft A -67 +KPX quoteleft AE -79 +KPX quoteleft Aacute -67 +KPX quoteleft Adieresis -67 +KPX quoteleft Aring -67 +KPX quoteleft T -5 +KPX quoteleft V 0 +KPX quoteleft W 12 +KPX quoteleft Y -9 +KPX quoteright A -72 +KPX quoteright AE -85 +KPX quoteright Aacute -72 +KPX quoteright Adieresis -72 +KPX quoteright Aring -72 +KPX quoteright comma -60 +KPX quoteright d -20 +KPX quoteright o -26 +KPX quoteright period -60 +KPX quoteright r -18 +KPX quoteright s -18 +KPX quoteright t -7 +KPX quoteright v -2 +KPX quoteright w 2 +KPX quoteright y -6 +KPX r a -5 +KPX r aacute -5 +KPX r acircumflex -5 +KPX r adieresis -5 +KPX r ae -1 +KPX r agrave -5 +KPX r aring -5 +KPX r c -6 +KPX r ccedilla -9 +KPX r colon -22 +KPX r comma -69 +KPX r d -1 +KPX r e -11 +KPX r eacute -11 +KPX r ecircumflex -11 +KPX r egrave -11 +KPX r f 26 +KPX r g -4 +KPX r h 0 +KPX r hyphen -47 +KPX r i 1 +KPX r j 0 +KPX r k 6 +KPX r l 1 +KPX r m 0 +KPX r n 0 +KPX r o -6 +KPX r oacute -6 +KPX r ocircumflex -6 +KPX r odieresis -6 +KPX r oe -8 +KPX r ograve -6 +KPX r oslash -6 +KPX r p 8 +KPX r period -69 +KPX r q -3 +KPX r quoteright 1 +KPX r r 0 +KPX r s 4 +KPX r semicolon -22 +KPX r t 28 +KPX r u 2 +KPX r v 29 +KPX r w 31 +KPX r x 20 +KPX r y 24 +KPX r z 9 +KPX s quoteright -22 +KPX s t -3 +KPX seven colon -77 +KPX seven comma -119 +KPX seven eight -28 +KPX seven five -30 +KPX seven four -93 +KPX seven one -53 +KPX seven period -119 +KPX seven seven -4 +KPX seven six -40 +KPX seven three -23 +KPX seven two -28 +KPX six four 1 +KPX six one -43 +KPX six seven -30 +KPX t S -8 +KPX t a -1 +KPX t aacute -1 +KPX t adieresis -1 +KPX t ae 2 +KPX t aring -1 +KPX t colon -28 +KPX t e -14 +KPX t eacute -14 +KPX t h -3 +KPX t o -12 +KPX t oacute -12 +KPX t odieresis -12 +KPX t quoteright -1 +KPX t semicolon -28 +KPX three four -2 +KPX three one -49 +KPX three seven -33 +KPX two four -37 +KPX two one -36 +KPX two seven -25 +KPX u quoteright -8 +KPX v a -18 +KPX v aacute -18 +KPX v acircumflex -18 +KPX v adieresis -18 +KPX v ae -14 +KPX v agrave -18 +KPX v aring -18 +KPX v atilde -18 +KPX v c -16 +KPX v colon -23 +KPX v comma -69 +KPX v e -21 +KPX v eacute -21 +KPX v ecircumflex -21 +KPX v egrave -21 +KPX v g -14 +KPX v hyphen -12 +KPX v l 0 +KPX v o -17 +KPX v oacute -17 +KPX v odieresis -17 +KPX v ograve -17 +KPX v oslash -17 +KPX v period -69 +KPX v s -9 +KPX v semicolon -23 +KPX w a -15 +KPX w aacute -15 +KPX w acircumflex -15 +KPX w adieresis -15 +KPX w ae -11 +KPX w agrave -15 +KPX w aring -15 +KPX w atilde -15 +KPX w c -7 +KPX w colon -23 +KPX w comma -50 +KPX w e -12 +KPX w eacute -12 +KPX w ecircumflex -12 +KPX w egrave -12 +KPX w g -6 +KPX w hyphen -1 +KPX w l 0 +KPX w o -9 +KPX w oacute -9 +KPX w odieresis -9 +KPX w ograve -9 +KPX w oslash -6 +KPX w period -50 +KPX w s -5 +KPX w semicolon -23 +KPX x a -17 +KPX x c -23 +KPX x e -28 +KPX x eacute -28 +KPX x o -25 +KPX x q -20 +KPX y a -22 +KPX y aacute -22 +KPX y acircumflex -22 +KPX y adieresis -22 +KPX y ae -18 +KPX y agrave -22 +KPX y aring -22 +KPX y atilde -22 +KPX y c -19 +KPX y colon -27 +KPX y comma -70 +KPX y e -24 +KPX y eacute -24 +KPX y ecircumflex -24 +KPX y egrave -24 +KPX y g -17 +KPX y hyphen -14 +KPX y l -4 +KPX y o -20 +KPX y oacute -20 +KPX y odieresis -20 +KPX y ograve -20 +KPX y oslash -19 +KPX y period -70 +KPX y s -12 +KPX y semicolon -27 +KPX zero four -2 +KPX zero one -46 +KPX zero seven -39 +EndKernPairs +EndKernData +EndFontMetrics diff --git a/Master/xemtex/gsfonts/n019003l.pfb b/Master/xemtex/gsfonts/n019003l.pfb new file mode 100644 index 00000000000..ba9ea607e65 Binary files /dev/null and b/Master/xemtex/gsfonts/n019003l.pfb differ diff --git a/Master/xemtex/gsfonts/n019003l.pfm b/Master/xemtex/gsfonts/n019003l.pfm new file mode 100644 index 00000000000..299aa873a6d Binary files /dev/null and b/Master/xemtex/gsfonts/n019003l.pfm differ diff --git a/Master/xemtex/gsfonts/n019004l.afm b/Master/xemtex/gsfonts/n019004l.afm new file mode 100644 index 00000000000..06adbcbfa1c --- /dev/null +++ b/Master/xemtex/gsfonts/n019004l.afm @@ -0,0 +1,1341 @@ +StartFontMetrics 3.0 +Comment Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development +Comment Creation Date: 12/22/1999 +Comment See the file PUBLIC (Aladdin Free Public License) for license conditions. +FontName NimbusSanL-Bold +FullName Nimbus Sans L Bold +FamilyName Nimbus Sans L +Weight Bold +ItalicAngle 0.0 +IsFixedPitch false +UnderlinePosition -155 +UnderlineThickness 69 +Version 1.05 +Notice (URW)++,Copyright 1999 by (URW)++ Design & Development +EncodingScheme AdobeStandardEncoding +FontBBox -173 -307 1003 949 +CapHeight 729 +XHeight 540 +Descender -217 +Ascender 729 +StartCharMetrics 316 +C 32 ; WX 278 ; N space ; B 214 0 214 0 ; +C 33 ; WX 333 ; N exclam ; B 112 0 262 726 ; +C 34 ; WX 474 ; N quotedbl ; B 50 470 424 729 ; +C 35 ; WX 556 ; N numbersign ; B 3 -32 553 697 ; +C 36 ; WX 556 ; N dollar ; B 22 -126 527 763 ; +C 37 ; WX 889 ; N percent ; B 22 -20 863 709 ; +C 38 ; WX 722 ; N ampersand ; B 55 -23 694 723 ; +C 39 ; WX 278 ; N quoteright ; B 66 469 201 729 ; +C 40 ; WX 333 ; N parenleft ; B 40 -200 303 729 ; +C 41 ; WX 333 ; N parenright ; B 22 -200 285 729 ; +C 42 ; WX 389 ; N asterisk ; B 23 407 357 729 ; +C 43 ; WX 584 ; N plus ; B 50 -10 533 473 ; +C 44 ; WX 278 ; N comma ; B 64 -174 214 146 ; +C 45 ; WX 333 ; N hyphen ; B 26 207 298 342 ; +C 46 ; WX 278 ; N period ; B 64 0 214 146 ; +C 47 ; WX 278 ; N slash ; B 2 -14 275 714 ; +C 48 ; WX 556 ; N zero ; B 29 -23 517 724 ; +C 49 ; WX 556 ; N one ; B 68 0 378 709 ; +C 50 ; WX 556 ; N two ; B 30 0 515 724 ; +C 51 ; WX 556 ; N three ; B 29 -23 516 724 ; +C 52 ; WX 556 ; N four ; B 24 0 522 709 ; +C 53 ; WX 556 ; N five ; B 27 -23 517 709 ; +C 54 ; WX 556 ; N six ; B 32 -23 519 724 ; +C 55 ; WX 556 ; N seven ; B 29 0 528 709 ; +C 56 ; WX 556 ; N eight ; B 22 -23 525 724 ; +C 57 ; WX 556 ; N nine ; B 28 -24 516 724 ; +C 58 ; WX 333 ; N colon ; B 113 0 263 520 ; +C 59 ; WX 333 ; N semicolon ; B 113 -174 263 520 ; +C 60 ; WX 584 ; N less ; B 40 -10 529 474 ; +C 61 ; WX 584 ; N equal ; B 50 52 534 411 ; +C 62 ; WX 584 ; N greater ; B 40 -10 529 474 ; +C 63 ; WX 611 ; N question ; B 64 0 556 744 ; +C 64 ; WX 975 ; N at ; B 27 -138 947 745 ; +C 65 ; WX 722 ; N A ; B 26 0 703 729 ; +C 66 ; WX 722 ; N B ; B 82 0 666 729 ; +C 67 ; WX 722 ; N C ; B 44 -23 685 741 ; +C 68 ; WX 722 ; N D ; B 77 0 681 729 ; +C 69 ; WX 667 ; N E ; B 79 0 624 729 ; +C 70 ; WX 611 ; N F ; B 74 0 586 729 ; +C 71 ; WX 778 ; N G ; B 42 -23 711 741 ; +C 72 ; WX 722 ; N H ; B 68 0 657 729 ; +C 73 ; WX 278 ; N I ; B 63 0 213 729 ; +C 74 ; WX 556 ; N J ; B 24 -23 486 729 ; +C 75 ; WX 722 ; N K ; B 74 0 717 729 ; +C 76 ; WX 611 ; N L ; B 80 0 579 729 ; +C 77 ; WX 833 ; N M ; B 66 0 776 729 ; +C 78 ; WX 722 ; N N ; B 68 0 661 729 ; +C 79 ; WX 778 ; N O ; B 40 -23 742 741 ; +C 80 ; WX 667 ; N P ; B 76 0 633 729 ; +C 81 ; WX 778 ; N Q ; B 43 -54 745 741 ; +C 82 ; WX 722 ; N R ; B 80 0 677 729 ; +C 83 ; WX 667 ; N S ; B 32 -23 633 741 ; +C 84 ; WX 611 ; N T ; B 14 0 598 729 ; +C 85 ; WX 722 ; N U ; B 76 -23 654 729 ; +C 86 ; WX 667 ; N V ; B 24 0 647 729 ; +C 87 ; WX 944 ; N W ; B 13 0 932 729 ; +C 88 ; WX 667 ; N X ; B 22 0 653 729 ; +C 89 ; WX 667 ; N Y ; B 27 0 650 729 ; +C 90 ; WX 611 ; N Z ; B 30 0 578 729 ; +C 91 ; WX 333 ; N bracketleft ; B 66 -200 308 729 ; +C 92 ; WX 278 ; N backslash ; B -12 -14 289 714 ; +C 93 ; WX 333 ; N bracketright ; B 18 -200 260 729 ; +C 94 ; WX 584 ; N asciicircum ; B 61 270 522 695 ; +C 95 ; WX 556 ; N underscore ; B -22 -189 578 -120 ; +C 96 ; WX 278 ; N quoteleft ; B 67 469 202 729 ; +C 97 ; WX 556 ; N a ; B 28 -23 524 549 ; +C 98 ; WX 611 ; N b ; B 59 -23 575 729 ; +C 99 ; WX 556 ; N c ; B 34 -23 522 549 ; +C 100 ; WX 611 ; N d ; B 29 -23 545 729 ; +C 101 ; WX 556 ; N e ; B 22 -23 525 549 ; +C 102 ; WX 333 ; N f ; B 14 0 313 729 ; +C 103 ; WX 611 ; N g ; B 34 -218 541 549 ; +C 104 ; WX 611 ; N h ; B 67 0 541 729 ; +C 105 ; WX 278 ; N i ; B 67 0 207 729 ; +C 106 ; WX 278 ; N j ; B 4 -218 210 729 ; +C 107 ; WX 556 ; N k ; B 59 0 548 729 ; +C 108 ; WX 278 ; N l ; B 67 0 207 729 ; +C 109 ; WX 889 ; N m ; B 60 0 824 549 ; +C 110 ; WX 611 ; N n ; B 63 0 546 549 ; +C 111 ; WX 611 ; N o ; B 35 -23 569 549 ; +C 112 ; WX 611 ; N p ; B 58 -218 574 549 ; +C 113 ; WX 611 ; N q ; B 28 -218 544 549 ; +C 114 ; WX 389 ; N r ; B 63 0 370 549 ; +C 115 ; WX 556 ; N s ; B 29 -23 520 549 ; +C 116 ; WX 333 ; N t ; B 14 -23 301 674 ; +C 117 ; WX 611 ; N u ; B 58 -23 541 540 ; +C 118 ; WX 556 ; N v ; B 14 0 536 540 ; +C 119 ; WX 778 ; N w ; B 5 0 766 540 ; +C 120 ; WX 556 ; N x ; B 16 0 535 540 ; +C 121 ; WX 556 ; N y ; B 9 -219 538 540 ; +C 122 ; WX 500 ; N z ; B 21 0 468 540 ; +C 123 ; WX 389 ; N braceleft ; B 37 -200 317 729 ; +C 124 ; WX 280 ; N bar ; B 100 -200 180 729 ; +C 125 ; WX 389 ; N braceright ; B 72 -200 352 729 ; +C 126 ; WX 584 ; N asciitilde ; B 60 142 519 314 ; +C 161 ; WX 333 ; N exclamdown ; B 66 -186 216 540 ; +C 162 ; WX 556 ; N cent ; B 36 -124 522 634 ; +C 163 ; WX 556 ; N sterling ; B 31 -23 537 715 ; +C 164 ; WX 167 ; N fraction ; B -173 -20 337 715 ; +C 165 ; WX 556 ; N yen ; B 5 0 552 704 ; +C 166 ; WX 556 ; N florin ; B 21 -220 535 744 ; +C 167 ; WX 556 ; N section ; B 33 -201 518 723 ; +C 168 ; WX 556 ; N currency ; B 26 100 530 604 ; +C 169 ; WX 238 ; N quotesingle ; B 50 470 188 729 ; +C 170 ; WX 500 ; N quotedblleft ; B 71 469 433 729 ; +C 171 ; WX 556 ; N guillemotleft ; B 88 72 468 481 ; +C 172 ; WX 333 ; N guilsinglleft ; B 83 72 250 481 ; +C 173 ; WX 333 ; N guilsinglright ; B 80 72 247 481 ; +C 174 ; WX 611 ; N fi ; B 9 0 548 729 ; +C 175 ; WX 611 ; N fl ; B 12 0 546 729 ; +C 177 ; WX 556 ; N endash ; B -9 207 557 311 ; +C 178 ; WX 556 ; N dagger ; B 31 -194 523 709 ; +C 179 ; WX 556 ; N daggerdbl ; B 28 -194 520 709 ; +C 180 ; WX 278 ; N periodcentered ; B 64 169 188 292 ; +C 182 ; WX 556 ; N paragraph ; B 19 -191 529 729 ; +C 183 ; WX 350 ; N bullet ; B 50 175 300 425 ; +C 184 ; WX 278 ; N quotesinglbase ; B 66 -135 201 125 ; +C 185 ; WX 500 ; N quotedblbase ; B 72 -135 432 125 ; +C 186 ; WX 500 ; N quotedblright ; B 73 469 440 729 ; +C 187 ; WX 556 ; N guillemotright ; B 88 72 462 481 ; +C 188 ; WX 1000 ; N ellipsis ; B 92 0 908 146 ; +C 189 ; WX 1000 ; N perthousand ; B 11 -22 990 739 ; +C 191 ; WX 611 ; N questiondown ; B 51 -204 544 540 ; +C 193 ; WX 333 ; N grave ; B 17 607 213 757 ; +C 194 ; WX 333 ; N acute ; B 121 607 317 757 ; +C 195 ; WX 333 ; N circumflex ; B 8 607 326 757 ; +C 196 ; WX 333 ; N tilde ; B -9 621 345 749 ; +C 197 ; WX 333 ; N macron ; B 16 640 315 719 ; +C 198 ; WX 333 ; N breve ; B 35 605 299 748 ; +C 199 ; WX 333 ; N dotaccent ; B 112 621 222 743 ; +C 200 ; WX 333 ; N dieresis ; B 18 621 314 743 ; +C 202 ; WX 333 ; N ring ; B 77 590 257 770 ; +C 203 ; WX 333 ; N cedilla ; B 27 -220 294 0 ; +C 205 ; WX 333 ; N hungarumlaut ; B -44 610 340 757 ; +C 206 ; WX 333 ; N ogonek ; B 45 -234 268 0 ; +C 207 ; WX 333 ; N caron ; B 9 607 327 757 ; +C 208 ; WX 1000 ; N emdash ; B -7 207 1003 311 ; +C 225 ; WX 1000 ; N AE ; B 1 0 966 729 ; +C 227 ; WX 370 ; N ordfeminine ; B 31 262 329 729 ; +C 232 ; WX 611 ; N Lslash ; B 0 0 597 729 ; +C 233 ; WX 778 ; N Oslash ; B 31 -39 755 749 ; +C 234 ; WX 1000 ; N OE ; B 28 -23 970 741 ; +C 235 ; WX 365 ; N ordmasculine ; B 23 262 343 729 ; +C 241 ; WX 889 ; N ae ; B 27 -24 857 549 ; +C 245 ; WX 278 ; N dotlessi ; B 67 0 207 540 ; +C 248 ; WX 278 ; N lslash ; B 0 0 252 729 ; +C 249 ; WX 611 ; N oslash ; B 11 -38 598 557 ; +C 250 ; WX 944 ; N oe ; B 23 -23 920 549 ; +C 251 ; WX 611 ; N germandbls ; B 67 -17 575 729 ; +C -1 ; WX 722 ; N Udieresis ; B 76 -23 654 922 ; +C -1 ; WX 722 ; N Uacute ; B 76 -23 654 936 ; +C -1 ; WX 667 ; N Scedilla ; B 32 -220 633 741 ; +C -1 ; WX 611 ; N Tcaron ; B 14 0 598 936 ; +C -1 ; WX 667 ; N Scaron ; B 32 -23 633 936 ; +C -1 ; WX 722 ; N Rcaron ; B 80 0 677 936 ; +C -1 ; WX 722 ; N Racute ; B 80 0 677 936 ; +C -1 ; WX 667 ; N Sacute ; B 32 -23 633 936 ; +C -1 ; WX 778 ; N Otilde ; B 40 -23 742 928 ; +C -1 ; WX 611 ; N ucircumflex ; B 58 -23 541 757 ; +C -1 ; WX 778 ; N Ohungarumlaut ; B 40 -23 742 936 ; +C -1 ; WX 722 ; N Uhungarumlaut ; B 76 -23 654 936 ; +C -1 ; WX 667 ; N Yacute ; B 27 0 650 936 ; +C -1 ; WX 722 ; N Eth ; B 0 0 681 729 ; +C -1 ; WX 722 ; N Dcroat ; B 0 0 681 729 ; +C -1 ; WX 611 ; N Zacute ; B 30 0 578 936 ; +C -1 ; WX 722 ; N Uring ; B 76 -23 654 949 ; +C -1 ; WX 611 ; N gbreve ; B 34 -218 541 748 ; +C -1 ; WX 556 ; N eogonek ; B 21 -234 525 549 ; +C -1 ; WX 556 ; N edotaccent ; B 22 -23 525 743 ; +C -1 ; WX 556 ; N ecaron ; B 22 -23 525 757 ; +C -1 ; WX 722 ; N Ugrave ; B 76 -23 654 936 ; +C -1 ; WX 667 ; N Thorn ; B 76 0 633 729 ; +C -1 ; WX 556 ; N eacute ; B 22 -23 525 757 ; +C -1 ; WX 556 ; N edieresis ; B 22 -23 525 743 ; +C -1 ; WX 707 ; N dcaron ; B 29 -23 720 729 ; +C -1 ; WX 556 ; N ccedilla ; B 34 -220 522 549 ; +C -1 ; WX 556 ; N ccaron ; B 34 -23 522 757 ; +C -1 ; WX 556 ; N cacute ; B 34 -23 522 757 ; +C -1 ; WX 556 ; N aogonek ; B 28 -233 548 549 ; +C -1 ; WX 556 ; N aring ; B 28 -23 524 770 ; +C -1 ; WX 556 ; N atilde ; B 28 -23 524 749 ; +C -1 ; WX 556 ; N abreve ; B 28 -23 524 748 ; +C -1 ; WX 556 ; N egrave ; B 22 -23 525 757 ; +C -1 ; WX 556 ; N agrave ; B 28 -23 524 757 ; +C -1 ; WX 556 ; N aacute ; B 28 -23 524 757 ; +C -1 ; WX 556 ; N adieresis ; B 28 -23 524 743 ; +C -1 ; WX 722 ; N Uogonek ; B 76 -234 654 729 ; +C -1 ; WX 611 ; N ugrave ; B 58 -23 541 757 ; +C -1 ; WX 611 ; N uacute ; B 58 -23 541 757 ; +C -1 ; WX 611 ; N udieresis ; B 58 -23 541 743 ; +C -1 ; WX 385 ; N tcaron ; B 14 -23 398 829 ; +C -1 ; WX 556 ; N scommaaccent ; B 29 -307 520 549 ; +C -1 ; WX 611 ; N Zcaron ; B 30 0 578 936 ; +C -1 ; WX 556 ; N ecircumflex ; B 22 -23 525 757 ; +C -1 ; WX 722 ; N Ucircumflex ; B 76 -23 654 936 ; +C -1 ; WX 556 ; N acircumflex ; B 28 -23 524 757 ; +C -1 ; WX 611 ; N Zdotaccent ; B 30 0 578 922 ; +C -1 ; WX 556 ; N scaron ; B 29 -23 520 757 ; +C -1 ; WX 722 ; N Amacron ; B 26 0 703 898 ; +C -1 ; WX 556 ; N sacute ; B 29 -23 520 757 ; +C -1 ; WX 611 ; N Tcommaaccent ; B 14 -307 598 729 ; +C -1 ; WX 667 ; N Ydieresis ; B 27 0 650 922 ; +C -1 ; WX 611 ; N thorn ; B 58 -218 574 729 ; +C -1 ; WX 667 ; N Emacron ; B 79 0 624 898 ; +C -1 ; WX 778 ; N Ograve ; B 40 -23 742 936 ; +C -1 ; WX 778 ; N Oacute ; B 40 -23 742 936 ; +C -1 ; WX 778 ; N Odieresis ; B 40 -23 742 922 ; +C -1 ; WX 722 ; N Ntilde ; B 68 0 661 928 ; +C -1 ; WX 722 ; N Ncaron ; B 68 0 661 936 ; +C -1 ; WX 722 ; N Nacute ; B 68 0 661 936 ; +C -1 ; WX 611 ; N Lcaron ; B 80 0 579 729 ; +C -1 ; WX 611 ; N Lacute ; B 80 0 579 936 ; +C -1 ; WX 278 ; N Idotaccent ; B 63 0 213 922 ; +C -1 ; WX 389 ; N racute ; B 63 0 370 757 ; +C -1 ; WX 278 ; N Icircumflex ; B -19 0 299 936 ; +C -1 ; WX 611 ; N ohungarumlaut ; B 35 -23 569 757 ; +C -1 ; WX 611 ; N otilde ; B 35 -23 569 749 ; +C -1 ; WX 556 ; N Euro ; B 6 -23 546 724 ; +C -1 ; WX 611 ; N ocircumflex ; B 35 -23 569 757 ; +C -1 ; WX 351 ; N onesuperior ; B 40 284 242 709 ; +C -1 ; WX 351 ; N twosuperior ; B 16 284 328 718 ; +C -1 ; WX 351 ; N threesuperior ; B 15 271 329 718 ; +C -1 ; WX 278 ; N Igrave ; B -10 0 213 936 ; +C -1 ; WX 278 ; N Iacute ; B 63 0 290 936 ; +C -1 ; WX 278 ; N Imacron ; B 2 0 274 898 ; +C -1 ; WX 278 ; N Iogonek ; B 34 -233 237 729 ; +C -1 ; WX 278 ; N Idieresis ; B -9 0 287 922 ; +C -1 ; WX 778 ; N Gbreve ; B 42 -23 711 927 ; +C -1 ; WX 722 ; N Umacron ; B 76 -23 654 898 ; +C -1 ; WX 722 ; N Kcommaaccent ; B 74 -307 717 729 ; +C -1 ; WX 611 ; N ograve ; B 35 -23 569 757 ; +C -1 ; WX 667 ; N Scommaaccent ; B 32 -307 633 741 ; +C -1 ; WX 667 ; N Eogonek ; B 79 -233 648 729 ; +C -1 ; WX 611 ; N oacute ; B 35 -23 569 757 ; +C -1 ; WX 667 ; N Edotaccent ; B 79 0 624 922 ; +C -1 ; WX 278 ; N iogonek ; B 34 -233 231 729 ; +C -1 ; WX 611 ; N gcommaaccent ; B 34 -218 541 853 ; +C -1 ; WX 611 ; N odieresis ; B 35 -23 569 743 ; +C -1 ; WX 611 ; N ntilde ; B 63 0 546 749 ; +C -1 ; WX 611 ; N ncaron ; B 63 0 546 757 ; +C -1 ; WX 667 ; N Ecaron ; B 79 0 624 936 ; +C -1 ; WX 667 ; N Ecircumflex ; B 79 0 624 936 ; +C -1 ; WX 556 ; N scedilla ; B 29 -220 520 549 ; +C -1 ; WX 389 ; N rcaron ; B 54 0 372 757 ; +C -1 ; WX 667 ; N Egrave ; B 79 0 624 936 ; +C -1 ; WX 667 ; N Eacute ; B 79 0 624 936 ; +C -1 ; WX 778 ; N Gcommaaccent ; B 42 -307 711 741 ; +C -1 ; WX 722 ; N Rcommaaccent ; B 80 -307 677 729 ; +C -1 ; WX 667 ; N Edieresis ; B 79 0 624 922 ; +C -1 ; WX 611 ; N nacute ; B 63 0 546 757 ; +C -1 ; WX 611 ; N uogonek ; B 58 -233 564 540 ; +C -1 ; WX 611 ; N umacron ; B 58 -23 541 719 ; +C -1 ; WX 722 ; N Dcaron ; B 77 0 681 936 ; +C -1 ; WX 369 ; N lcaron ; B 67 0 382 729 ; +C -1 ; WX 722 ; N Ccaron ; B 44 -23 685 936 ; +C -1 ; WX 722 ; N Cacute ; B 44 -23 685 936 ; +C -1 ; WX 722 ; N Ccedilla ; B 44 -220 685 741 ; +C -1 ; WX 606 ; N degree ; B 151 383 454 686 ; +C -1 ; WX 722 ; N Aogonek ; B 26 -233 723 729 ; +C -1 ; WX 584 ; N minus ; B 40 172 544 291 ; +C -1 ; WX 584 ; N multiply ; B 79 18 505 444 ; +C -1 ; WX 584 ; N divide ; B 50 -11 534 474 ; +C -1 ; WX 722 ; N Aring ; B 26 0 703 949 ; +C -1 ; WX 1000 ; N trademark ; B 71 273 929 729 ; +C -1 ; WX 389 ; N rcommaaccent ; B 63 -307 370 549 ; +C -1 ; WX 278 ; N lacute ; B 67 0 278 936 ; +C -1 ; WX 611 ; N omacron ; B 35 -23 569 719 ; +C -1 ; WX 722 ; N Atilde ; B 26 0 703 928 ; +C -1 ; WX 278 ; N icircumflex ; B -19 0 299 757 ; +C -1 ; WX 278 ; N igrave ; B -10 0 207 757 ; +C -1 ; WX 611 ; N ncommaaccent ; B 63 -307 546 549 ; +C -1 ; WX 278 ; N lcommaaccent ; B 67 -307 207 729 ; +C -1 ; WX 584 ; N plusminus ; B 56 -16 527 608 ; +C -1 ; WX 869 ; N onehalf ; B 40 -20 846 715 ; +C -1 ; WX 869 ; N onequarter ; B 40 -20 850 715 ; +C -1 ; WX 869 ; N threequarters ; B 15 -20 850 718 ; +C -1 ; WX 278 ; N iacute ; B 67 0 290 757 ; +C -1 ; WX 722 ; N Abreve ; B 26 0 703 927 ; +C -1 ; WX 556 ; N kcommaaccent ; B 59 -307 548 729 ; +C -1 ; WX 778 ; N Omacron ; B 40 -23 742 898 ; +C -1 ; WX 278 ; N imacron ; B 7 0 266 719 ; +C -1 ; WX 556 ; N emacron ; B 22 -23 525 719 ; +C -1 ; WX 556 ; N amacron ; B 28 -23 524 719 ; +C -1 ; WX 333 ; N tcommaaccent ; B 14 -307 301 674 ; +C -1 ; WX 556 ; N ydieresis ; B 9 -219 538 743 ; +C -1 ; WX 500 ; N zdotaccent ; B 21 0 468 743 ; +C -1 ; WX 500 ; N zcaron ; B 21 0 468 757 ; +C -1 ; WX 500 ; N zacute ; B 21 0 468 757 ; +C -1 ; WX 556 ; N yacute ; B 9 -219 538 757 ; +C -1 ; WX 611 ; N uhungarumlaut ; B 58 -23 559 757 ; +C -1 ; WX 611 ; N eth ; B 35 -23 569 744 ; +C -1 ; WX 611 ; N uring ; B 58 -23 541 770 ; +C -1 ; WX 778 ; N Ocircumflex ; B 40 -23 742 936 ; +C -1 ; WX 333 ; N commaaccent ; B 112 -307 234 -60 ; +C -1 ; WX 737 ; N copyright ; B -14 -22 751 743 ; +C -1 ; WX 737 ; N registered ; B -14 -22 751 743 ; +C -1 ; WX 722 ; N Acircumflex ; B 26 0 703 936 ; +C -1 ; WX 278 ; N idieresis ; B -9 0 287 743 ; +C -1 ; WX 489 ; N lozenge ; B 16 0 462 744 ; +C -1 ; WX 729 ; N Delta ; B 8 0 721 729 ; +C -1 ; WX 548 ; N notequal ; B 50 -69 534 528 ; +C -1 ; WX 542 ; N radical ; B 7 -36 512 913 ; +C -1 ; WX 722 ; N Agrave ; B 26 0 703 936 ; +C -1 ; WX 722 ; N Aacute ; B 26 0 703 936 ; +C -1 ; WX 584 ; N lessequal ; B 45 -10 534 639 ; +C -1 ; WX 584 ; N greaterequal ; B 45 -10 534 639 ; +C -1 ; WX 584 ; N logicalnot ; B 40 86 544 375 ; +C -1 ; WX 711 ; N summation ; B 17 -96 694 760 ; +C -1 ; WX 490 ; N partialdiff ; B 22 -15 458 750 ; +C -1 ; WX 722 ; N Ncommaaccent ; B 68 -307 661 729 ; +C -1 ; WX 611 ; N dcroat ; B 29 -23 605 729 ; +C -1 ; WX 280 ; N brokenbar ; B 100 -200 180 729 ; +C -1 ; WX 611 ; N Lcommaaccent ; B 80 -307 579 729 ; +C -1 ; WX 722 ; N Adieresis ; B 26 0 703 922 ; +C -1 ; WX 611 ; N mu ; B 58 -220 573 540 ; +C -1 ; WX 278 ; N .notdef ; B 214 0 214 0 ; +EndCharMetrics +StartKernData +StartKernPairs 998 +KPX A C -33 +KPX A Ccedilla -33 +KPX A G -35 +KPX A O -34 +KPX A Odieresis -34 +KPX A Q -35 +KPX A T -81 +KPX A U -32 +KPX A Uacute -32 +KPX A Ucircumflex -32 +KPX A Udieresis -32 +KPX A Ugrave -32 +KPX A V -66 +KPX A W -51 +KPX A Y -90 +KPX A a -1 +KPX A b -1 +KPX A c -14 +KPX A ccedilla -14 +KPX A comma 19 +KPX A d -13 +KPX A e -9 +KPX A g -14 +KPX A guillemotleft -43 +KPX A guilsinglleft -40 +KPX A hyphen 7 +KPX A o -16 +KPX A period 19 +KPX A q -12 +KPX A quotedblright -65 +KPX A quoteright -61 +KPX A t -18 +KPX A u -12 +KPX A v -37 +KPX A w -23 +KPX A y -35 +KPX Aacute C -33 +KPX Aacute G -35 +KPX Aacute O -34 +KPX Aacute Q -35 +KPX Aacute T -81 +KPX Aacute U -32 +KPX Aacute V -66 +KPX Aacute W -51 +KPX Aacute Y -90 +KPX Aacute a -1 +KPX Aacute b -1 +KPX Aacute c -14 +KPX Aacute comma 19 +KPX Aacute d -13 +KPX Aacute e -9 +KPX Aacute g -14 +KPX Aacute guillemotleft -43 +KPX Aacute guilsinglleft -40 +KPX Aacute hyphen 7 +KPX Aacute o -16 +KPX Aacute period 19 +KPX Aacute q -12 +KPX Aacute quoteright -61 +KPX Aacute t -18 +KPX Aacute u -12 +KPX Aacute v -37 +KPX Aacute w -23 +KPX Aacute y -35 +KPX Acircumflex C -33 +KPX Acircumflex G -35 +KPX Acircumflex O -34 +KPX Acircumflex Q -35 +KPX Acircumflex T -81 +KPX Acircumflex U -32 +KPX Acircumflex V -66 +KPX Acircumflex W -51 +KPX Acircumflex Y -90 +KPX Acircumflex comma 19 +KPX Acircumflex period 19 +KPX Adieresis C -33 +KPX Adieresis G -35 +KPX Adieresis O -34 +KPX Adieresis Q -35 +KPX Adieresis T -81 +KPX Adieresis U -32 +KPX Adieresis V -66 +KPX Adieresis W -51 +KPX Adieresis Y -90 +KPX Adieresis a -1 +KPX Adieresis b -1 +KPX Adieresis c -14 +KPX Adieresis comma 19 +KPX Adieresis d -13 +KPX Adieresis g -14 +KPX Adieresis guillemotleft -43 +KPX Adieresis guilsinglleft -40 +KPX Adieresis hyphen 7 +KPX Adieresis o -16 +KPX Adieresis period 19 +KPX Adieresis q -12 +KPX Adieresis quotedblright -65 +KPX Adieresis quoteright -61 +KPX Adieresis t -18 +KPX Adieresis u -12 +KPX Adieresis v -37 +KPX Adieresis w -23 +KPX Adieresis y -35 +KPX Agrave C -33 +KPX Agrave G -35 +KPX Agrave O -34 +KPX Agrave Q -35 +KPX Agrave T -81 +KPX Agrave U -32 +KPX Agrave V -66 +KPX Agrave W -51 +KPX Agrave Y -90 +KPX Agrave comma 19 +KPX Agrave period 19 +KPX Aring C -33 +KPX Aring G -35 +KPX Aring O -34 +KPX Aring Q -35 +KPX Aring T -81 +KPX Aring U -32 +KPX Aring V -66 +KPX Aring W -51 +KPX Aring Y -90 +KPX Aring a -1 +KPX Aring b -1 +KPX Aring c -14 +KPX Aring comma 19 +KPX Aring d -13 +KPX Aring e -9 +KPX Aring g -14 +KPX Aring guillemotleft -43 +KPX Aring guilsinglleft -40 +KPX Aring hyphen 7 +KPX Aring o -16 +KPX Aring period 19 +KPX Aring q -12 +KPX Aring quotedblright -65 +KPX Aring quoteright -61 +KPX Aring t -18 +KPX Aring u -12 +KPX Aring v -37 +KPX Aring w -23 +KPX Aring y -35 +KPX Atilde C -33 +KPX Atilde G -35 +KPX Atilde O -34 +KPX Atilde Q -35 +KPX Atilde T -81 +KPX Atilde U -32 +KPX Atilde V -66 +KPX Atilde W -51 +KPX Atilde Y -90 +KPX Atilde comma 19 +KPX Atilde period 19 +KPX B A -32 +KPX B AE -20 +KPX B Aacute -32 +KPX B Acircumflex -32 +KPX B Adieresis -32 +KPX B Aring -32 +KPX B Atilde -32 +KPX B O -11 +KPX B OE -2 +KPX B Oacute -11 +KPX B Ocircumflex -11 +KPX B Odieresis -11 +KPX B Ograve -11 +KPX B Oslash -5 +KPX B V -39 +KPX B W -27 +KPX B Y -51 +KPX C A -29 +KPX C AE -17 +KPX C Aacute -29 +KPX C Adieresis -29 +KPX C Aring -29 +KPX C H 5 +KPX C K 2 +KPX C O -6 +KPX C Oacute -6 +KPX C Odieresis -6 +KPX Ccedilla A -28 +KPX D A -37 +KPX D Aacute -37 +KPX D Acircumflex -37 +KPX D Adieresis -37 +KPX D Agrave -37 +KPX D Aring -37 +KPX D Atilde -37 +KPX D J 2 +KPX D T -17 +KPX D V -35 +KPX D W -20 +KPX D X -35 +KPX D Y -56 +KPX F A -63 +KPX F Aacute -63 +KPX F Acircumflex -63 +KPX F Adieresis -63 +KPX F Agrave -63 +KPX F Aring -63 +KPX F Atilde -63 +KPX F J -25 +KPX F O -16 +KPX F Odieresis -16 +KPX F a -15 +KPX F aacute -15 +KPX F adieresis -15 +KPX F ae -17 +KPX F aring -15 +KPX F comma -76 +KPX F e -7 +KPX F eacute -7 +KPX F hyphen 11 +KPX F i -7 +KPX F j -9 +KPX F o -14 +KPX F oacute -14 +KPX F odieresis -14 +KPX F oe -8 +KPX F oslash -15 +KPX F period -75 +KPX F r -27 +KPX F u -24 +KPX G A -8 +KPX G AE 4 +KPX G Aacute -8 +KPX G Acircumflex -8 +KPX G Adieresis -8 +KPX G Agrave -8 +KPX G Aring -8 +KPX G Atilde -8 +KPX G T -17 +KPX G V -36 +KPX G W -20 +KPX G Y -56 +KPX J A -32 +KPX J AE -20 +KPX J Adieresis -32 +KPX J Aring -32 +KPX K C -53 +KPX K G -55 +KPX K O -54 +KPX K OE -44 +KPX K Oacute -54 +KPX K Odieresis -54 +KPX K S -30 +KPX K T 13 +KPX K a -3 +KPX K adieresis -3 +KPX K ae 0 +KPX K aring -3 +KPX K e -25 +KPX K hyphen -44 +KPX K o -33 +KPX K oacute -33 +KPX K odieresis -33 +KPX K u -23 +KPX K udieresis -23 +KPX K y -65 +KPX L A 9 +KPX L AE 21 +KPX L Aacute 9 +KPX L Adieresis 9 +KPX L Aring 9 +KPX L C -26 +KPX L Ccedilla -26 +KPX L G -30 +KPX L O -29 +KPX L Oacute -29 +KPX L Ocircumflex -29 +KPX L Odieresis -29 +KPX L Ograve -29 +KPX L Otilde -29 +KPX L S -2 +KPX L T -95 +KPX L U -24 +KPX L Udieresis -24 +KPX L V -90 +KPX L W -68 +KPX L Y -112 +KPX L hyphen -12 +KPX L quotedblright -141 +KPX L quoteright -138 +KPX L u -7 +KPX L udieresis -7 +KPX L y -55 +KPX N A -5 +KPX N AE 7 +KPX N Aacute -5 +KPX N Adieresis -5 +KPX N Aring -5 +KPX N C 9 +KPX N Ccedilla 9 +KPX N G 8 +KPX N O 8 +KPX N Oacute 8 +KPX N Odieresis 8 +KPX N a 13 +KPX N aacute 13 +KPX N adieresis 13 +KPX N ae 13 +KPX N aring 13 +KPX N comma 15 +KPX N e 18 +KPX N eacute 18 +KPX N o 11 +KPX N oacute 11 +KPX N odieresis 11 +KPX N oslash 11 +KPX N period 16 +KPX N u 12 +KPX N udieresis 12 +KPX O A -37 +KPX O AE -26 +KPX O Aacute -37 +KPX O Adieresis -37 +KPX O Aring -37 +KPX O T -20 +KPX O V -36 +KPX O W -21 +KPX O X -36 +KPX O Y -59 +KPX Oacute A -37 +KPX Oacute T -20 +KPX Oacute V -36 +KPX Oacute W -21 +KPX Oacute Y -59 +KPX Ocircumflex T -20 +KPX Ocircumflex V -36 +KPX Ocircumflex Y -59 +KPX Odieresis A -37 +KPX Odieresis T -20 +KPX Odieresis V -36 +KPX Odieresis W -21 +KPX Odieresis X -36 +KPX Odieresis Y -59 +KPX Ograve T -20 +KPX Ograve V -36 +KPX Ograve Y -59 +KPX Oslash A -32 +KPX Otilde T -20 +KPX Otilde V -36 +KPX Otilde Y -59 +KPX P A -65 +KPX P AE -54 +KPX P Aacute -65 +KPX P Adieresis -65 +KPX P Aring -65 +KPX P J -44 +KPX P a -7 +KPX P aacute -7 +KPX P adieresis -7 +KPX P ae -8 +KPX P aring -7 +KPX P comma -94 +KPX P e -8 +KPX P eacute -8 +KPX P hyphen 0 +KPX P o -14 +KPX P oacute -14 +KPX P odieresis -14 +KPX P oe -8 +KPX P oslash -17 +KPX P period -94 +KPX R C -5 +KPX R Ccedilla -5 +KPX R G -6 +KPX R O -6 +KPX R OE 3 +KPX R Oacute -6 +KPX R Odieresis -6 +KPX R T 0 +KPX R U -4 +KPX R Udieresis -4 +KPX R V -26 +KPX R W -17 +KPX R Y -37 +KPX R a 0 +KPX R aacute 0 +KPX R adieresis 0 +KPX R ae 0 +KPX R aring 0 +KPX R e 2 +KPX R eacute 2 +KPX R hyphen 15 +KPX R o -4 +KPX R oacute -4 +KPX R odieresis -4 +KPX R oe 1 +KPX R u 0 +KPX R uacute 0 +KPX R udieresis 0 +KPX R y 5 +KPX S A -20 +KPX S AE -8 +KPX S Aacute -20 +KPX S Adieresis -20 +KPX S Aring -20 +KPX S T -5 +KPX S V -31 +KPX S W -17 +KPX S Y -43 +KPX S t 1 +KPX T A -87 +KPX T AE -75 +KPX T Aacute -87 +KPX T Acircumflex -87 +KPX T Adieresis -87 +KPX T Agrave -87 +KPX T Aring -87 +KPX T Atilde -87 +KPX T C -20 +KPX T G -22 +KPX T J -87 +KPX T O -22 +KPX T OE -11 +KPX T Oacute -22 +KPX T Ocircumflex -22 +KPX T Odieresis -22 +KPX T Ograve -22 +KPX T Oslash -23 +KPX T Otilde -22 +KPX T S 3 +KPX T V 18 +KPX T W 24 +KPX T Y 16 +KPX T a -73 +KPX T ae -73 +KPX T c -74 +KPX T colon -97 +KPX T comma -67 +KPX T e -69 +KPX T g -75 +KPX T guillemotleft -101 +KPX T guilsinglleft -98 +KPX T hyphen -48 +KPX T i -1 +KPX T j -3 +KPX T o -76 +KPX T oslash -73 +KPX T period -67 +KPX T r -71 +KPX T s -74 +KPX T semicolon -98 +KPX T u -72 +KPX T v -82 +KPX T w -77 +KPX T y -80 +KPX U A -34 +KPX U AE -22 +KPX U Aacute -34 +KPX U Acircumflex -34 +KPX U Adieresis -34 +KPX U Aring -34 +KPX U Atilde -34 +KPX U comma -7 +KPX U m 6 +KPX U n 5 +KPX U p 7 +KPX U period -4 +KPX U r 5 +KPX Uacute A -34 +KPX Uacute comma -7 +KPX Uacute m 6 +KPX Uacute n 5 +KPX Uacute p 7 +KPX Uacute period -4 +KPX Uacute r 5 +KPX Ucircumflex A -34 +KPX Udieresis A -34 +KPX Udieresis b 6 +KPX Udieresis comma -7 +KPX Udieresis m 6 +KPX Udieresis n 5 +KPX Udieresis p 7 +KPX Udieresis period -4 +KPX Udieresis r 5 +KPX Ugrave A -34 +KPX V A -71 +KPX V AE -59 +KPX V Aacute -71 +KPX V Acircumflex -71 +KPX V Adieresis -71 +KPX V Agrave -71 +KPX V Aring -71 +KPX V Atilde -71 +KPX V C -36 +KPX V G -38 +KPX V O -37 +KPX V Oacute -37 +KPX V Ocircumflex -37 +KPX V Odieresis -37 +KPX V Ograve -37 +KPX V Oslash -31 +KPX V Otilde -37 +KPX V S -21 +KPX V T 21 +KPX V a -47 +KPX V ae -48 +KPX V colon -65 +KPX V comma -69 +KPX V e -43 +KPX V g -49 +KPX V guillemotleft -74 +KPX V guilsinglleft -72 +KPX V hyphen -21 +KPX V i -5 +KPX V o -50 +KPX V oslash -48 +KPX V period -69 +KPX V r -34 +KPX V semicolon -67 +KPX V u -34 +KPX V y -10 +KPX W A -54 +KPX W AE -43 +KPX W Aacute -54 +KPX W Acircumflex -54 +KPX W Adieresis -54 +KPX W Agrave -54 +KPX W Aring -54 +KPX W Atilde -54 +KPX W C -20 +KPX W G -22 +KPX W O -21 +KPX W Oacute -21 +KPX W Ocircumflex -21 +KPX W Odieresis -21 +KPX W Ograve -21 +KPX W Oslash -15 +KPX W Otilde -21 +KPX W S -12 +KPX W T 25 +KPX W a -29 +KPX W ae -29 +KPX W colon -53 +KPX W comma -45 +KPX W e -24 +KPX W g -30 +KPX W guillemotleft -55 +KPX W guilsinglleft -53 +KPX W hyphen -3 +KPX W i -1 +KPX W o -31 +KPX W oslash -29 +KPX W period -45 +KPX W r -24 +KPX W semicolon -54 +KPX W u -23 +KPX W y 0 +KPX X C -34 +KPX X O -35 +KPX X Odieresis -35 +KPX X Q -37 +KPX X a -5 +KPX X e -25 +KPX X hyphen -27 +KPX X o -32 +KPX X u -25 +KPX X y -40 +KPX Y A -86 +KPX Y AE -74 +KPX Y Aacute -86 +KPX Y Acircumflex -86 +KPX Y Adieresis -86 +KPX Y Agrave -86 +KPX Y Aring -86 +KPX Y Atilde -86 +KPX Y C -52 +KPX Y G -54 +KPX Y O -54 +KPX Y Oacute -54 +KPX Y Ocircumflex -54 +KPX Y Odieresis -54 +KPX Y Ograve -54 +KPX Y Oslash -47 +KPX Y Otilde -54 +KPX Y S -29 +KPX Y T 22 +KPX Y a -66 +KPX Y ae -67 +KPX Y colon -81 +KPX Y comma -78 +KPX Y e -63 +KPX Y g -68 +KPX Y guillemotleft -98 +KPX Y guilsinglleft -96 +KPX Y hyphen -50 +KPX Y i -3 +KPX Y o -70 +KPX Y oslash -67 +KPX Y p -45 +KPX Y period -78 +KPX Y semicolon -83 +KPX Y u -48 +KPX Y v -27 +KPX Z v -11 +KPX Z y -9 +KPX a j -1 +KPX a quoteright -11 +KPX a v -19 +KPX a w -5 +KPX a y -17 +KPX aacute v -19 +KPX aacute w -5 +KPX aacute y -17 +KPX adieresis v -19 +KPX adieresis w -5 +KPX adieresis y -17 +KPX ae v -21 +KPX ae w -7 +KPX ae y -19 +KPX agrave v -19 +KPX agrave w -5 +KPX agrave y -17 +KPX aring v -19 +KPX aring w -5 +KPX aring y -17 +KPX b v -20 +KPX b w -7 +KPX b y -20 +KPX c h 0 +KPX c k 3 +KPX comma one -73 +KPX comma quotedblright -33 +KPX comma quoteright -30 +KPX e quoteright -12 +KPX e t -4 +KPX e v -19 +KPX e w -6 +KPX e x -21 +KPX e y -17 +KPX eacute v -19 +KPX eacute w -6 +KPX eacute y -17 +KPX ecircumflex v -19 +KPX ecircumflex w -6 +KPX ecircumflex y -17 +KPX eight four 10 +KPX eight one -23 +KPX eight seven -6 +KPX f a 1 +KPX f aacute 1 +KPX f adieresis 1 +KPX f ae 0 +KPX f aring 1 +KPX f e -3 +KPX f eacute -3 +KPX f f 21 +KPX f i -3 +KPX f j -6 +KPX f l -3 +KPX f o -9 +KPX f oacute -9 +KPX f odieresis -9 +KPX f oe -3 +KPX f oslash -9 +KPX f quoteright 10 +KPX f s -1 +KPX f t 21 +KPX five four 6 +KPX five one -29 +KPX five seven -10 +KPX four four 9 +KPX four one -50 +KPX four seven -28 +KPX g a 3 +KPX g adieresis 3 +KPX g ae 3 +KPX g aring 3 +KPX g e 8 +KPX g eacute 8 +KPX g l 0 +KPX g oacute 1 +KPX g odieresis 1 +KPX g r 1 +KPX guillemotright A -51 +KPX guillemotright AE -39 +KPX guillemotright Aacute -51 +KPX guillemotright Adieresis -51 +KPX guillemotright Aring -51 +KPX guillemotright T -108 +KPX guillemotright V -78 +KPX guillemotright W -60 +KPX guillemotright Y -111 +KPX guilsinglright A -46 +KPX guilsinglright AE -35 +KPX guilsinglright Aacute -46 +KPX guilsinglright Adieresis -46 +KPX guilsinglright Aring -46 +KPX guilsinglright T -104 +KPX guilsinglright V -74 +KPX guilsinglright W -56 +KPX guilsinglright Y -107 +KPX h quoteright -14 +KPX h y -21 +KPX hyphen A -1 +KPX hyphen AE 10 +KPX hyphen Aacute -1 +KPX hyphen Adieresis -1 +KPX hyphen Aring -1 +KPX hyphen T -57 +KPX hyphen V -27 +KPX hyphen W -9 +KPX hyphen Y -64 +KPX i T -4 +KPX i j -2 +KPX k a -2 +KPX k aacute -2 +KPX k adieresis -2 +KPX k ae 1 +KPX k aring -2 +KPX k comma 7 +KPX k e -15 +KPX k eacute -15 +KPX k g -21 +KPX k hyphen -25 +KPX k o -22 +KPX k oacute -22 +KPX k odieresis -22 +KPX k period 6 +KPX k s -10 +KPX k u -1 +KPX k udieresis -1 +KPX l v -5 +KPX l y -2 +KPX m p 6 +KPX m v -19 +KPX m w -6 +KPX m y -18 +KPX n T -80 +KPX n p 5 +KPX n quoteright -12 +KPX n v -20 +KPX n w -7 +KPX n y -19 +KPX nine four 4 +KPX nine one -21 +KPX nine seven -17 +KPX o T -84 +KPX o quoteright -17 +KPX o t -8 +KPX o v -23 +KPX o w -10 +KPX o x -25 +KPX o y -22 +KPX oacute v -23 +KPX oacute w -10 +KPX oacute y -22 +KPX ocircumflex t -8 +KPX odieresis t -8 +KPX odieresis v -23 +KPX odieresis w -10 +KPX odieresis x -25 +KPX odieresis y -22 +KPX ograve v -23 +KPX ograve w -10 +KPX ograve y -22 +KPX one comma -42 +KPX one eight -37 +KPX one five -43 +KPX one four -56 +KPX one nine -39 +KPX one one -85 +KPX one period -42 +KPX one seven -65 +KPX one six -37 +KPX one three -44 +KPX one two -47 +KPX one zero -34 +KPX p t -5 +KPX p y -20 +KPX period one -73 +KPX period quotedblright -32 +KPX period quoteright -29 +KPX q c 4 +KPX q u 4 +KPX quotedblbase A 12 +KPX quotedblbase AE 24 +KPX quotedblbase T -75 +KPX quotedblbase V -73 +KPX quotedblbase W -51 +KPX quotedblbase Y -92 +KPX quotedblleft A -68 +KPX quotedblleft AE -57 +KPX quotedblleft Aacute -68 +KPX quotedblleft Adieresis -68 +KPX quotedblleft Aring -68 +KPX quotedblleft T -2 +KPX quotedblleft V 6 +KPX quotedblleft W 16 +KPX quotedblleft Y -9 +KPX quotedblright A -69 +KPX quotedblright AE -57 +KPX quotedblright Aacute -69 +KPX quotedblright Adieresis -69 +KPX quotedblright Aring -69 +KPX quotedblright T 1 +KPX quotedblright V 7 +KPX quotedblright W 17 +KPX quotedblright Y -7 +KPX quoteleft A -73 +KPX quoteleft AE -62 +KPX quoteleft Aacute -73 +KPX quoteleft Adieresis -73 +KPX quoteleft Aring -73 +KPX quoteleft T -7 +KPX quoteleft V 2 +KPX quoteleft W 11 +KPX quoteleft Y -13 +KPX quoteright A -77 +KPX quoteright AE -66 +KPX quoteright Aacute -77 +KPX quoteright Adieresis -77 +KPX quoteright Aring -77 +KPX quoteright comma -46 +KPX quoteright d -27 +KPX quoteright o -30 +KPX quoteright period -45 +KPX quoteright r -15 +KPX quoteright s -22 +KPX quoteright t -4 +KPX quoteright v -5 +KPX quoteright w 1 +KPX quoteright y -3 +KPX r a 6 +KPX r aacute 6 +KPX r acircumflex 6 +KPX r adieresis 6 +KPX r ae 4 +KPX r agrave 6 +KPX r aring 6 +KPX r c 0 +KPX r ccedilla 0 +KPX r colon -27 +KPX r comma -57 +KPX r d 0 +KPX r e 4 +KPX r eacute 4 +KPX r ecircumflex 4 +KPX r egrave 4 +KPX r f 22 +KPX r g -2 +KPX r h -4 +KPX r hyphen -35 +KPX r i -4 +KPX r j -6 +KPX r k 0 +KPX r l -4 +KPX r m -1 +KPX r n -2 +KPX r o -1 +KPX r oacute -1 +KPX r ocircumflex -1 +KPX r odieresis -1 +KPX r oe 5 +KPX r ograve -1 +KPX r oslash -4 +KPX r p 0 +KPX r period -57 +KPX r q 1 +KPX r quoteright 14 +KPX r r -2 +KPX r s 3 +KPX r semicolon -27 +KPX r t 22 +KPX r u 0 +KPX r v 21 +KPX r w 26 +KPX r x 17 +KPX r y 23 +KPX r z 9 +KPX s quoteright -12 +KPX s t -1 +KPX seven colon -63 +KPX seven comma -88 +KPX seven eight -3 +KPX seven five -21 +KPX seven four -62 +KPX seven one -14 +KPX seven period -87 +KPX seven seven 9 +KPX seven six -13 +KPX seven three 0 +KPX seven two -4 +KPX six four 7 +KPX six one -21 +KPX six seven -3 +KPX t S 0 +KPX t a 6 +KPX t aacute 6 +KPX t adieresis 6 +KPX t ae 7 +KPX t aring 6 +KPX t colon -25 +KPX t e -3 +KPX t eacute -3 +KPX t h 2 +KPX t o -10 +KPX t oacute -10 +KPX t odieresis -10 +KPX t quoteright 4 +KPX t semicolon -25 +KPX three four 6 +KPX three one -27 +KPX three seven -10 +KPX two four -9 +KPX two one -16 +KPX two seven -3 +KPX u quoteright -2 +KPX v a -15 +KPX v aacute -15 +KPX v acircumflex -15 +KPX v adieresis -15 +KPX v ae -16 +KPX v agrave -15 +KPX v aring -15 +KPX v atilde -15 +KPX v c -20 +KPX v colon -32 +KPX v comma -51 +KPX v e -15 +KPX v eacute -15 +KPX v ecircumflex -15 +KPX v egrave -15 +KPX v g -21 +KPX v hyphen 0 +KPX v l -5 +KPX v o -22 +KPX v oacute -22 +KPX v odieresis -22 +KPX v ograve -22 +KPX v oslash -20 +KPX v period -50 +KPX v s -17 +KPX v semicolon -34 +KPX w a -7 +KPX w aacute -7 +KPX w acircumflex -7 +KPX w adieresis -7 +KPX w ae -8 +KPX w agrave -7 +KPX w aring -7 +KPX w atilde -7 +KPX w c -8 +KPX w colon -27 +KPX w comma -33 +KPX w e -3 +KPX w eacute -3 +KPX w ecircumflex -3 +KPX w egrave -3 +KPX w g -9 +KPX w hyphen 11 +KPX w l -1 +KPX w o -10 +KPX w oacute -10 +KPX w odieresis -10 +KPX w ograve -10 +KPX w oslash -8 +KPX w period -32 +KPX w s -9 +KPX w semicolon -29 +KPX x a -9 +KPX x c -22 +KPX x e -17 +KPX x eacute -17 +KPX x o -24 +KPX x q -20 +KPX y a -14 +KPX y aacute -14 +KPX y acircumflex -14 +KPX y adieresis -14 +KPX y ae -15 +KPX y agrave -14 +KPX y aring -14 +KPX y atilde -14 +KPX y c -21 +KPX y colon -31 +KPX y comma -51 +KPX y e -16 +KPX y eacute -16 +KPX y ecircumflex -16 +KPX y egrave -16 +KPX y g -21 +KPX y hyphen 0 +KPX y l -4 +KPX y o -22 +KPX y oacute -22 +KPX y odieresis -22 +KPX y ograve -22 +KPX y oslash -20 +KPX y period -50 +KPX y s -16 +KPX y semicolon -33 +KPX zero four 5 +KPX zero one -19 +KPX zero seven -10 +EndKernPairs +EndKernData +EndFontMetrics diff --git a/Master/xemtex/gsfonts/n019004l.pfb b/Master/xemtex/gsfonts/n019004l.pfb new file mode 100644 index 00000000000..d86ba79ca94 Binary files /dev/null and b/Master/xemtex/gsfonts/n019004l.pfb differ diff --git a/Master/xemtex/gsfonts/n019004l.pfm b/Master/xemtex/gsfonts/n019004l.pfm new file mode 100644 index 00000000000..53d42aab610 Binary files /dev/null and b/Master/xemtex/gsfonts/n019004l.pfm differ diff --git a/Master/xemtex/gsfonts/n019023l.afm b/Master/xemtex/gsfonts/n019023l.afm new file mode 100644 index 00000000000..00eb42f6dcf --- /dev/null +++ b/Master/xemtex/gsfonts/n019023l.afm @@ -0,0 +1,1341 @@ +StartFontMetrics 3.0 +Comment Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development +Comment Creation Date: 12/22/1999 +Comment See the file PUBLIC (Aladdin Free Public License) for license conditions. +FontName NimbusSanL-ReguItal +FullName Nimbus Sans L Regular Italic +FamilyName Nimbus Sans L +Weight Regular +ItalicAngle -12.0 +IsFixedPitch false +UnderlinePosition -151 +UnderlineThickness 50 +Version 1.05 +Notice (URW)++,Copyright 1999 by (URW)++ Design & Development +EncodingScheme AdobeStandardEncoding +FontBBox -178 -284 1108 953 +CapHeight 729 +XHeight 524 +Descender -213 +Ascender 729 +StartCharMetrics 316 +C 32 ; WX 278 ; N space ; B 213 0 213 0 ; +C 33 ; WX 278 ; N exclam ; B 124 0 363 729 ; +C 34 ; WX 355 ; N quotedbl ; B 177 464 455 709 ; +C 35 ; WX 556 ; N numbersign ; B 54 -20 649 697 ; +C 36 ; WX 556 ; N dollar ; B 69 -126 613 770 ; +C 37 ; WX 889 ; N percent ; B 134 -20 895 709 ; +C 38 ; WX 667 ; N ampersand ; B 83 -23 644 709 ; +C 39 ; WX 222 ; N quoteright ; B 166 477 309 708 ; +C 40 ; WX 333 ; N parenleft ; B 113 -213 446 729 ; +C 41 ; WX 333 ; N parenright ; B -7 -213 325 729 ; +C 42 ; WX 389 ; N asterisk ; B 169 438 471 729 ; +C 43 ; WX 584 ; N plus ; B 92 -11 591 473 ; +C 44 ; WX 278 ; N comma ; B 55 -150 214 103 ; +C 45 ; WX 333 ; N hyphen ; B 97 240 351 312 ; +C 46 ; WX 278 ; N period ; B 87 0 213 103 ; +C 47 ; WX 278 ; N slash ; B -12 -20 434 729 ; +C 48 ; WX 556 ; N zero ; B 98 -23 598 709 ; +C 49 ; WX 556 ; N one ; B 208 0 498 709 ; +C 50 ; WX 556 ; N two ; B 34 0 620 709 ; +C 51 ; WX 556 ; N three ; B 71 -23 599 709 ; +C 52 ; WX 556 ; N four ; B 63 0 573 709 ; +C 53 ; WX 556 ; N five ; B 70 -23 629 709 ; +C 54 ; WX 556 ; N six ; B 93 -23 611 709 ; +C 55 ; WX 556 ; N seven ; B 137 0 671 709 ; +C 56 ; WX 556 ; N eight ; B 74 -23 604 709 ; +C 57 ; WX 556 ; N nine ; B 83 -23 599 709 ; +C 58 ; WX 278 ; N colon ; B 110 0 326 524 ; +C 59 ; WX 278 ; N semicolon ; B 78 -150 325 524 ; +C 60 ; WX 584 ; N less ; B 87 -9 635 474 ; +C 61 ; WX 584 ; N equal ; B 74 111 609 355 ; +C 62 ; WX 584 ; N greater ; B 48 -9 596 474 ; +C 63 ; WX 556 ; N question ; B 184 0 630 741 ; +C 64 ; WX 1015 ; N at ; B 80 -142 1036 741 ; +C 65 ; WX 667 ; N A ; B 17 0 653 729 ; +C 66 ; WX 667 ; N B ; B 79 0 711 729 ; +C 67 ; WX 722 ; N C ; B 112 -23 770 741 ; +C 68 ; WX 722 ; N D ; B 89 0 759 729 ; +C 69 ; WX 667 ; N E ; B 90 0 751 729 ; +C 70 ; WX 611 ; N F ; B 90 0 734 729 ; +C 71 ; WX 778 ; N G ; B 109 -23 809 741 ; +C 72 ; WX 722 ; N H ; B 83 0 799 729 ; +C 73 ; WX 278 ; N I ; B 100 0 349 729 ; +C 74 ; WX 500 ; N J ; B 47 -23 581 729 ; +C 75 ; WX 667 ; N K ; B 79 0 813 729 ; +C 76 ; WX 556 ; N L ; B 80 0 551 729 ; +C 77 ; WX 833 ; N M ; B 75 0 916 729 ; +C 78 ; WX 722 ; N N ; B 76 0 801 729 ; +C 79 ; WX 778 ; N O ; B 104 -23 828 741 ; +C 80 ; WX 667 ; N P ; B 91 0 733 729 ; +C 81 ; WX 778 ; N Q ; B 104 -59 828 741 ; +C 82 ; WX 722 ; N R ; B 93 0 770 729 ; +C 83 ; WX 667 ; N S ; B 89 -23 714 741 ; +C 84 ; WX 611 ; N T ; B 158 0 748 729 ; +C 85 ; WX 722 ; N U ; B 124 -23 800 729 ; +C 86 ; WX 667 ; N V ; B 185 0 800 729 ; +C 87 ; WX 944 ; N W ; B 177 0 1084 729 ; +C 88 ; WX 667 ; N X ; B 22 0 794 729 ; +C 89 ; WX 667 ; N Y ; B 168 0 816 729 ; +C 90 ; WX 611 ; N Z ; B 28 0 737 729 ; +C 91 ; WX 278 ; N bracketleft ; B 19 -213 405 729 ; +C 92 ; WX 278 ; N backslash ; B 147 -20 280 729 ; +C 93 ; WX 278 ; N bracketright ; B -23 -213 364 729 ; +C 94 ; WX 469 ; N asciicircum ; B 115 329 496 709 ; +C 95 ; WX 556 ; N underscore ; B -59 -176 551 -126 ; +C 96 ; WX 222 ; N quoteleft ; B 163 477 308 709 ; +C 97 ; WX 556 ; N a ; B 65 -23 568 539 ; +C 98 ; WX 556 ; N b ; B 54 -23 588 729 ; +C 99 ; WX 500 ; N c ; B 76 -23 554 539 ; +C 100 ; WX 556 ; N d ; B 73 -23 650 729 ; +C 101 ; WX 556 ; N e ; B 84 -23 580 539 ; +C 102 ; WX 278 ; N f ; B 89 0 413 732 ; +C 103 ; WX 556 ; N g ; B 32 -218 601 539 ; +C 104 ; WX 556 ; N h ; B 70 0 574 729 ; +C 105 ; WX 222 ; N i ; B 66 0 305 729 ; +C 106 ; WX 222 ; N j ; B -65 -218 308 729 ; +C 107 ; WX 500 ; N k ; B 58 0 584 729 ; +C 108 ; WX 222 ; N l ; B 68 0 307 729 ; +C 109 ; WX 833 ; N m ; B 71 0 852 539 ; +C 110 ; WX 556 ; N n ; B 70 0 574 539 ; +C 111 ; WX 556 ; N o ; B 80 -23 576 539 ; +C 112 ; WX 556 ; N p ; B 7 -213 586 539 ; +C 113 ; WX 556 ; N q ; B 71 -213 607 539 ; +C 114 ; WX 333 ; N r ; B 69 0 436 539 ; +C 115 ; WX 500 ; N s ; B 61 -23 520 539 ; +C 116 ; WX 278 ; N t ; B 97 -23 366 668 ; +C 117 ; WX 556 ; N u ; B 88 -23 594 524 ; +C 118 ; WX 500 ; N v ; B 122 0 598 524 ; +C 119 ; WX 722 ; N w ; B 118 0 820 524 ; +C 120 ; WX 500 ; N x ; B 17 0 583 524 ; +C 121 ; WX 500 ; N y ; B 8 -218 590 524 ; +C 122 ; WX 500 ; N z ; B 31 0 557 524 ; +C 123 ; WX 334 ; N braceleft ; B 91 -213 431 729 ; +C 124 ; WX 260 ; N bar ; B 54 -212 315 729 ; +C 125 ; WX 334 ; N braceright ; B -16 -213 324 729 ; +C 126 ; WX 584 ; N asciitilde ; B 137 268 594 438 ; +C 161 ; WX 333 ; N exclamdown ; B 76 -205 317 524 ; +C 162 ; WX 556 ; N cent ; B 96 -120 585 628 ; +C 163 ; WX 556 ; N sterling ; B 44 -23 628 729 ; +C 164 ; WX 167 ; N fraction ; B -178 -20 486 709 ; +C 165 ; WX 556 ; N yen ; B 100 0 696 709 ; +C 166 ; WX 556 ; N florin ; B -32 -212 696 738 ; +C 167 ; WX 556 ; N section ; B 63 -213 589 729 ; +C 168 ; WX 556 ; N currency ; B 110 133 593 556 ; +C 169 ; WX 191 ; N quotesingle ; B 173 464 292 709 ; +C 170 ; WX 333 ; N quotedblleft ; B 146 477 449 709 ; +C 171 ; WX 556 ; N guillemotleft ; B 147 106 548 438 ; +C 172 ; WX 333 ; N guilsinglleft ; B 140 106 336 438 ; +C 173 ; WX 333 ; N guilsinglright ; B 109 106 307 438 ; +C 174 ; WX 500 ; N fi ; B 83 0 591 732 ; +C 175 ; WX 500 ; N fl ; B 88 0 585 732 ; +C 177 ; WX 556 ; N endash ; B 46 240 628 312 ; +C 178 ; WX 556 ; N dagger ; B 127 -177 620 709 ; +C 179 ; WX 556 ; N daggerdbl ; B 51 -177 620 709 ; +C 180 ; WX 278 ; N periodcentered ; B 166 192 293 295 ; +C 182 ; WX 537 ; N paragraph ; B 145 -178 677 729 ; +C 183 ; WX 350 ; N bullet ; B 120 220 376 470 ; +C 184 ; WX 222 ; N quotesinglbase ; B 37 -128 180 103 ; +C 185 ; WX 333 ; N quotedblbase ; B 20 -128 322 103 ; +C 186 ; WX 333 ; N quotedblright ; B 150 477 452 708 ; +C 187 ; WX 556 ; N guillemotright ; B 121 106 518 438 ; +C 188 ; WX 1000 ; N ellipsis ; B 115 0 907 103 ; +C 189 ; WX 1000 ; N perthousand ; B 93 -20 1024 738 ; +C 191 ; WX 611 ; N questiondown ; B 86 -217 531 524 ; +C 193 ; WX 333 ; N grave ; B 179 592 357 740 ; +C 194 ; WX 333 ; N acute ; B 218 592 458 740 ; +C 195 ; WX 333 ; N circumflex ; B 146 591 433 741 ; +C 196 ; WX 333 ; N tilde ; B 130 611 471 719 ; +C 197 ; WX 333 ; N macron ; B 160 627 450 696 ; +C 198 ; WX 333 ; N breve ; B 165 594 471 729 ; +C 199 ; WX 333 ; N dotaccent ; B 244 612 370 715 ; +C 200 ; WX 333 ; N dieresis ; B 159 612 446 715 ; +C 202 ; WX 333 ; N ring ; B 216 579 396 754 ; +C 203 ; WX 333 ; N cedilla ; B 1 -214 264 0 ; +C 205 ; WX 333 ; N hungarumlaut ; B 91 590 505 740 ; +C 206 ; WX 333 ; N ogonek ; B 35 -205 246 0 ; +C 207 ; WX 333 ; N caron ; B 176 592 463 740 ; +C 208 ; WX 1000 ; N emdash ; B 42 240 1068 312 ; +C 225 ; WX 1000 ; N AE ; B 11 0 1087 729 ; +C 227 ; WX 370 ; N ordfeminine ; B 107 303 441 742 ; +C 232 ; WX 556 ; N Lslash ; B 75 0 570 729 ; +C 233 ; WX 778 ; N Oslash ; B 32 -24 867 741 ; +C 234 ; WX 1000 ; N OE ; B 101 -23 1108 741 ; +C 235 ; WX 365 ; N ordmasculine ; B 114 303 452 742 ; +C 241 ; WX 889 ; N ae ; B 59 -23 915 539 ; +C 245 ; WX 278 ; N dotlessi ; B 94 0 290 527 ; +C 248 ; WX 222 ; N lslash ; B 62 0 312 729 ; +C 249 ; WX 611 ; N oslash ; B 19 -30 639 541 ; +C 250 ; WX 944 ; N oe ; B 85 -23 966 539 ; +C 251 ; WX 611 ; N germandbls ; B 126 -23 655 729 ; +C -1 ; WX 722 ; N Udieresis ; B 124 -23 800 914 ; +C -1 ; WX 722 ; N Uacute ; B 124 -23 800 939 ; +C -1 ; WX 667 ; N Scedilla ; B 89 -214 714 741 ; +C -1 ; WX 611 ; N Tcaron ; B 158 0 748 939 ; +C -1 ; WX 667 ; N Scaron ; B 89 -23 714 939 ; +C -1 ; WX 722 ; N Rcaron ; B 93 0 770 939 ; +C -1 ; WX 722 ; N Racute ; B 93 0 770 939 ; +C -1 ; WX 667 ; N Sacute ; B 89 -23 714 939 ; +C -1 ; WX 778 ; N Otilde ; B 104 -23 828 918 ; +C -1 ; WX 556 ; N ucircumflex ; B 88 -23 594 741 ; +C -1 ; WX 778 ; N Ohungarumlaut ; B 104 -23 841 939 ; +C -1 ; WX 722 ; N Uhungarumlaut ; B 124 -23 806 939 ; +C -1 ; WX 667 ; N Yacute ; B 168 0 816 939 ; +C -1 ; WX 722 ; N Eth ; B 89 0 759 729 ; +C -1 ; WX 722 ; N Dcroat ; B 89 0 759 729 ; +C -1 ; WX 611 ; N Zacute ; B 28 0 737 939 ; +C -1 ; WX 722 ; N Uring ; B 124 -23 800 953 ; +C -1 ; WX 556 ; N gbreve ; B 32 -218 601 729 ; +C -1 ; WX 556 ; N eogonek ; B 84 -205 580 539 ; +C -1 ; WX 556 ; N edotaccent ; B 84 -23 580 715 ; +C -1 ; WX 556 ; N ecaron ; B 84 -23 580 740 ; +C -1 ; WX 722 ; N Ugrave ; B 124 -23 800 939 ; +C -1 ; WX 667 ; N Thorn ; B 91 0 708 729 ; +C -1 ; WX 556 ; N eacute ; B 84 -23 580 740 ; +C -1 ; WX 556 ; N edieresis ; B 84 -23 580 715 ; +C -1 ; WX 650 ; N dcaron ; B 73 -23 810 729 ; +C -1 ; WX 500 ; N ccedilla ; B 76 -214 554 539 ; +C -1 ; WX 500 ; N ccaron ; B 76 -23 563 740 ; +C -1 ; WX 500 ; N cacute ; B 76 -23 575 740 ; +C -1 ; WX 556 ; N aogonek ; B 65 -205 571 539 ; +C -1 ; WX 556 ; N aring ; B 65 -23 568 754 ; +C -1 ; WX 556 ; N atilde ; B 65 -23 583 719 ; +C -1 ; WX 556 ; N abreve ; B 65 -23 582 729 ; +C -1 ; WX 556 ; N egrave ; B 84 -23 580 740 ; +C -1 ; WX 556 ; N agrave ; B 65 -23 568 740 ; +C -1 ; WX 556 ; N aacute ; B 65 -23 570 740 ; +C -1 ; WX 556 ; N adieresis ; B 65 -23 568 715 ; +C -1 ; WX 722 ; N Uogonek ; B 124 -205 800 729 ; +C -1 ; WX 556 ; N ugrave ; B 88 -23 594 740 ; +C -1 ; WX 556 ; N uacute ; B 88 -23 594 740 ; +C -1 ; WX 556 ; N udieresis ; B 88 -23 594 715 ; +C -1 ; WX 319 ; N tcaron ; B 97 -23 492 801 ; +C -1 ; WX 500 ; N scommaaccent ; B 61 -284 520 539 ; +C -1 ; WX 611 ; N Zcaron ; B 28 0 737 939 ; +C -1 ; WX 556 ; N ecircumflex ; B 84 -23 580 741 ; +C -1 ; WX 722 ; N Ucircumflex ; B 124 -23 800 940 ; +C -1 ; WX 556 ; N acircumflex ; B 65 -23 568 741 ; +C -1 ; WX 611 ; N Zdotaccent ; B 28 0 737 914 ; +C -1 ; WX 500 ; N scaron ; B 61 -23 547 740 ; +C -1 ; WX 667 ; N Amacron ; B 17 0 663 895 ; +C -1 ; WX 500 ; N sacute ; B 61 -23 545 740 ; +C -1 ; WX 611 ; N Tcommaaccent ; B 158 -284 748 729 ; +C -1 ; WX 667 ; N Ydieresis ; B 168 0 816 914 ; +C -1 ; WX 556 ; N thorn ; B 7 -213 586 729 ; +C -1 ; WX 667 ; N Emacron ; B 90 0 751 895 ; +C -1 ; WX 778 ; N Ograve ; B 104 -23 828 939 ; +C -1 ; WX 778 ; N Oacute ; B 104 -23 828 939 ; +C -1 ; WX 778 ; N Odieresis ; B 104 -23 828 914 ; +C -1 ; WX 722 ; N Ntilde ; B 76 0 801 918 ; +C -1 ; WX 722 ; N Ncaron ; B 76 0 801 939 ; +C -1 ; WX 722 ; N Nacute ; B 76 0 801 939 ; +C -1 ; WX 556 ; N Lcaron ; B 80 0 551 729 ; +C -1 ; WX 556 ; N Lacute ; B 80 0 551 939 ; +C -1 ; WX 278 ; N Idotaccent ; B 100 0 389 914 ; +C -1 ; WX 333 ; N racute ; B 69 0 498 740 ; +C -1 ; WX 278 ; N Icircumflex ; B 100 0 454 940 ; +C -1 ; WX 556 ; N ohungarumlaut ; B 80 -23 683 740 ; +C -1 ; WX 556 ; N otilde ; B 80 -23 583 719 ; +C -1 ; WX 556 ; N Euro ; B 12 -22 636 709 ; +C -1 ; WX 556 ; N ocircumflex ; B 80 -23 576 741 ; +C -1 ; WX 390 ; N onesuperior ; B 205 284 393 709 ; +C -1 ; WX 390 ; N twosuperior ; B 100 284 468 709 ; +C -1 ; WX 390 ; N threesuperior ; B 123 270 455 709 ; +C -1 ; WX 278 ; N Igrave ; B 100 0 378 939 ; +C -1 ; WX 278 ; N Iacute ; B 100 0 479 939 ; +C -1 ; WX 278 ; N Imacron ; B 100 0 458 895 ; +C -1 ; WX 278 ; N Iogonek ; B 28 -205 349 729 ; +C -1 ; WX 278 ; N Idieresis ; B 100 0 467 907 ; +C -1 ; WX 778 ; N Gbreve ; B 109 -23 809 928 ; +C -1 ; WX 722 ; N Umacron ; B 124 -23 800 895 ; +C -1 ; WX 667 ; N Kcommaaccent ; B 79 -284 813 729 ; +C -1 ; WX 556 ; N ograve ; B 80 -23 576 740 ; +C -1 ; WX 667 ; N Scommaaccent ; B 89 -284 714 741 ; +C -1 ; WX 667 ; N Eogonek ; B 90 -205 751 729 ; +C -1 ; WX 556 ; N oacute ; B 80 -23 576 740 ; +C -1 ; WX 667 ; N Edotaccent ; B 90 0 751 914 ; +C -1 ; WX 222 ; N iogonek ; B 0 -205 305 729 ; +C -1 ; WX 527 ; N gcommaaccent ; B 3 -218 572 813 ; +C -1 ; WX 556 ; N odieresis ; B 80 -23 576 715 ; +C -1 ; WX 556 ; N ntilde ; B 70 0 589 719 ; +C -1 ; WX 556 ; N ncaron ; B 70 0 578 740 ; +C -1 ; WX 667 ; N Ecaron ; B 90 0 751 939 ; +C -1 ; WX 667 ; N Ecircumflex ; B 90 0 751 940 ; +C -1 ; WX 500 ; N scedilla ; B 61 -214 521 539 ; +C -1 ; WX 333 ; N rcaron ; B 69 0 486 740 ; +C -1 ; WX 667 ; N Egrave ; B 90 0 751 939 ; +C -1 ; WX 667 ; N Eacute ; B 90 0 751 939 ; +C -1 ; WX 778 ; N Gcommaaccent ; B 109 -284 809 741 ; +C -1 ; WX 722 ; N Rcommaaccent ; B 93 -284 770 729 ; +C -1 ; WX 667 ; N Edieresis ; B 90 0 751 914 ; +C -1 ; WX 556 ; N nacute ; B 70 0 580 740 ; +C -1 ; WX 556 ; N uogonek ; B 88 -205 594 524 ; +C -1 ; WX 556 ; N umacron ; B 88 -23 594 696 ; +C -1 ; WX 722 ; N Dcaron ; B 89 0 759 939 ; +C -1 ; WX 307 ; N lcaron ; B 68 0 467 729 ; +C -1 ; WX 722 ; N Ccaron ; B 112 -23 770 939 ; +C -1 ; WX 722 ; N Cacute ; B 112 -23 770 939 ; +C -1 ; WX 722 ; N Ccedilla ; B 112 -214 770 741 ; +C -1 ; WX 606 ; N degree ; B 291 383 594 686 ; +C -1 ; WX 667 ; N Aogonek ; B 17 -205 663 729 ; +C -1 ; WX 584 ; N minus ; B 81 197 601 269 ; +C -1 ; WX 584 ; N multiply ; B 113 34 568 427 ; +C -1 ; WX 584 ; N divide ; B 92 0 591 462 ; +C -1 ; WX 667 ; N Aring ; B 17 0 653 953 ; +C -1 ; WX 1000 ; N trademark ; B 208 292 1096 729 ; +C -1 ; WX 333 ; N rcommaaccent ; B 5 -284 436 539 ; +C -1 ; WX 222 ; N lacute ; B 68 0 463 939 ; +C -1 ; WX 556 ; N omacron ; B 80 -23 576 696 ; +C -1 ; WX 667 ; N Atilde ; B 17 0 680 918 ; +C -1 ; WX 278 ; N icircumflex ; B 94 0 406 741 ; +C -1 ; WX 278 ; N igrave ; B 94 0 330 740 ; +C -1 ; WX 556 ; N ncommaaccent ; B 70 -284 574 539 ; +C -1 ; WX 222 ; N lcommaaccent ; B -1 -284 307 729 ; +C -1 ; WX 584 ; N plusminus ; B 50 0 625 633 ; +C -1 ; WX 947 ; N onehalf ; B 202 -20 965 709 ; +C -1 ; WX 947 ; N onequarter ; B 205 -20 938 709 ; +C -1 ; WX 947 ; N threequarters ; B 123 -20 938 709 ; +C -1 ; WX 278 ; N iacute ; B 94 0 431 740 ; +C -1 ; WX 667 ; N Abreve ; B 17 0 683 928 ; +C -1 ; WX 500 ; N kcommaaccent ; B 58 -284 584 729 ; +C -1 ; WX 778 ; N Omacron ; B 104 -23 828 895 ; +C -1 ; WX 222 ; N imacron ; B 66 0 373 696 ; +C -1 ; WX 556 ; N emacron ; B 84 -23 580 696 ; +C -1 ; WX 556 ; N amacron ; B 65 -23 568 696 ; +C -1 ; WX 278 ; N tcommaaccent ; B 55 -284 366 668 ; +C -1 ; WX 500 ; N ydieresis ; B 8 -218 590 715 ; +C -1 ; WX 500 ; N zdotaccent ; B 31 0 557 715 ; +C -1 ; WX 500 ; N zcaron ; B 31 0 557 740 ; +C -1 ; WX 500 ; N zacute ; B 31 0 557 740 ; +C -1 ; WX 500 ; N yacute ; B 8 -218 590 740 ; +C -1 ; WX 556 ; N uhungarumlaut ; B 88 -23 683 740 ; +C -1 ; WX 556 ; N eth ; B 80 -23 576 743 ; +C -1 ; WX 556 ; N uring ; B 88 -23 594 754 ; +C -1 ; WX 778 ; N Ocircumflex ; B 104 -23 828 940 ; +C -1 ; WX 333 ; N commaaccent ; B 57 -284 205 -60 ; +C -1 ; WX 737 ; N copyright ; B 55 -22 836 742 ; +C -1 ; WX 737 ; N registered ; B 55 -22 836 742 ; +C -1 ; WX 667 ; N Acircumflex ; B 17 0 653 940 ; +C -1 ; WX 278 ; N idieresis ; B 94 0 419 708 ; +C -1 ; WX 489 ; N lozenge ; B 16 0 462 744 ; +C -1 ; WX 712 ; N Delta ; B 10 0 701 729 ; +C -1 ; WX 584 ; N notequal ; B 74 2 609 480 ; +C -1 ; WX 542 ; N radical ; B 102 -36 705 913 ; +C -1 ; WX 667 ; N Agrave ; B 17 0 653 939 ; +C -1 ; WX 667 ; N Aacute ; B 17 0 667 939 ; +C -1 ; WX 584 ; N lessequal ; B 45 0 659 584 ; +C -1 ; WX 584 ; N greaterequal ; B 56 0 626 584 ; +C -1 ; WX 584 ; N logicalnot ; B 99 86 619 377 ; +C -1 ; WX 711 ; N summation ; B -18 -97 760 762 ; +C -1 ; WX 490 ; N partialdiff ; B 22 -15 458 750 ; +C -1 ; WX 722 ; N Ncommaaccent ; B 76 -284 801 729 ; +C -1 ; WX 556 ; N dcroat ; B 73 -23 695 729 ; +C -1 ; WX 260 ; N brokenbar ; B 54 -212 315 729 ; +C -1 ; WX 556 ; N Lcommaaccent ; B 80 -284 551 729 ; +C -1 ; WX 667 ; N Adieresis ; B 17 0 662 914 ; +C -1 ; WX 556 ; N mu ; B 18 -220 593 524 ; +C -1 ; WX 278 ; N .notdef ; B 213 0 213 0 ; +EndCharMetrics +StartKernData +StartKernPairs 998 +KPX A C -41 +KPX A Ccedilla -41 +KPX A G -41 +KPX A O -37 +KPX A Odieresis -37 +KPX A Q -38 +KPX A T -103 +KPX A U -42 +KPX A Uacute -42 +KPX A Ucircumflex -42 +KPX A Udieresis -42 +KPX A Ugrave -42 +KPX A V -81 +KPX A W -57 +KPX A Y -104 +KPX A a -16 +KPX A b -5 +KPX A c -16 +KPX A ccedilla -16 +KPX A comma -4 +KPX A d -14 +KPX A e -22 +KPX A g -17 +KPX A guillemotleft -51 +KPX A guilsinglleft -47 +KPX A hyphen -8 +KPX A o -19 +KPX A period -2 +KPX A q -15 +KPX A quotedblright -60 +KPX A quoteright -68 +KPX A t -22 +KPX A u -18 +KPX A v -40 +KPX A w -29 +KPX A y -44 +KPX Aacute C -42 +KPX Aacute G -42 +KPX Aacute O -38 +KPX Aacute Q -39 +KPX Aacute T -103 +KPX Aacute U -43 +KPX Aacute V -81 +KPX Aacute W -57 +KPX Aacute Y -104 +KPX Aacute a -16 +KPX Aacute b -6 +KPX Aacute c -17 +KPX Aacute comma -4 +KPX Aacute d -15 +KPX Aacute e -23 +KPX Aacute g -17 +KPX Aacute guillemotleft -51 +KPX Aacute guilsinglleft -48 +KPX Aacute hyphen -9 +KPX Aacute o -20 +KPX Aacute period -3 +KPX Aacute q -16 +KPX Aacute quoteright -68 +KPX Aacute t -23 +KPX Aacute u -20 +KPX Aacute v -40 +KPX Aacute w -29 +KPX Aacute y -44 +KPX Acircumflex C -41 +KPX Acircumflex G -41 +KPX Acircumflex O -37 +KPX Acircumflex Q -38 +KPX Acircumflex T -103 +KPX Acircumflex U -42 +KPX Acircumflex V -81 +KPX Acircumflex W -57 +KPX Acircumflex Y -104 +KPX Acircumflex comma -4 +KPX Acircumflex period -2 +KPX Adieresis C -42 +KPX Adieresis G -41 +KPX Adieresis O -38 +KPX Adieresis Q -39 +KPX Adieresis T -103 +KPX Adieresis U -43 +KPX Adieresis V -81 +KPX Adieresis W -57 +KPX Adieresis Y -104 +KPX Adieresis a -16 +KPX Adieresis b -5 +KPX Adieresis c -17 +KPX Adieresis comma -4 +KPX Adieresis d -14 +KPX Adieresis g -17 +KPX Adieresis guillemotleft -51 +KPX Adieresis guilsinglleft -48 +KPX Adieresis hyphen -8 +KPX Adieresis o -19 +KPX Adieresis period -3 +KPX Adieresis q -15 +KPX Adieresis quotedblright -60 +KPX Adieresis quoteright -68 +KPX Adieresis t -22 +KPX Adieresis u -19 +KPX Adieresis v -40 +KPX Adieresis w -29 +KPX Adieresis y -44 +KPX Agrave C -41 +KPX Agrave G -41 +KPX Agrave O -37 +KPX Agrave Q -38 +KPX Agrave T -103 +KPX Agrave U -42 +KPX Agrave V -81 +KPX Agrave W -57 +KPX Agrave Y -104 +KPX Agrave comma -4 +KPX Agrave period -2 +KPX Aring C -41 +KPX Aring G -41 +KPX Aring O -37 +KPX Aring Q -38 +KPX Aring T -103 +KPX Aring U -42 +KPX Aring V -81 +KPX Aring W -57 +KPX Aring Y -104 +KPX Aring a -16 +KPX Aring b -5 +KPX Aring c -16 +KPX Aring comma -4 +KPX Aring d -14 +KPX Aring e -22 +KPX Aring g -17 +KPX Aring guillemotleft -51 +KPX Aring guilsinglleft -47 +KPX Aring hyphen -8 +KPX Aring o -19 +KPX Aring period -2 +KPX Aring q -15 +KPX Aring quotedblright -60 +KPX Aring quoteright -68 +KPX Aring t -22 +KPX Aring u -18 +KPX Aring v -40 +KPX Aring w -29 +KPX Aring y -44 +KPX Atilde C -43 +KPX Atilde G -42 +KPX Atilde O -39 +KPX Atilde Q -40 +KPX Atilde T -103 +KPX Atilde U -44 +KPX Atilde V -81 +KPX Atilde W -57 +KPX Atilde Y -104 +KPX Atilde comma -4 +KPX Atilde period -4 +KPX B A -28 +KPX B AE -29 +KPX B Aacute -28 +KPX B Acircumflex -28 +KPX B Adieresis -28 +KPX B Aring -28 +KPX B Atilde -28 +KPX B O -14 +KPX B OE -11 +KPX B Oacute -14 +KPX B Ocircumflex -14 +KPX B Odieresis -14 +KPX B Ograve -14 +KPX B Oslash -2 +KPX B V -49 +KPX B W -27 +KPX B Y -56 +KPX C A -43 +KPX C AE -44 +KPX C Aacute -43 +KPX C Adieresis -43 +KPX C Aring -43 +KPX C H -22 +KPX C K -20 +KPX C O -18 +KPX C Oacute -18 +KPX C Odieresis -18 +KPX Ccedilla A -44 +KPX D A -50 +KPX D Aacute -50 +KPX D Acircumflex -50 +KPX D Adieresis -50 +KPX D Agrave -50 +KPX D Aring -50 +KPX D Atilde -50 +KPX D J -13 +KPX D T -56 +KPX D V -54 +KPX D W -31 +KPX D X -58 +KPX D Y -74 +KPX F A -78 +KPX F Aacute -78 +KPX F Acircumflex -78 +KPX F Adieresis -78 +KPX F Agrave -78 +KPX F Aring -78 +KPX F Atilde -78 +KPX F J -59 +KPX F O -30 +KPX F Odieresis -30 +KPX F a -45 +KPX F aacute -45 +KPX F adieresis -45 +KPX F ae -41 +KPX F aring -45 +KPX F comma -113 +KPX F e -33 +KPX F eacute -33 +KPX F hyphen -20 +KPX F i -19 +KPX F j -19 +KPX F o -30 +KPX F oacute -30 +KPX F odieresis -30 +KPX F oe -33 +KPX F oslash -30 +KPX F period -113 +KPX F r -44 +KPX F u -42 +KPX G A -14 +KPX G AE -11 +KPX G Aacute -14 +KPX G Acircumflex -14 +KPX G Adieresis -14 +KPX G Agrave -14 +KPX G Aring -14 +KPX G Atilde -14 +KPX G T -53 +KPX G V -53 +KPX G W -31 +KPX G Y -72 +KPX J A -39 +KPX J AE -39 +KPX J Adieresis -39 +KPX J Aring -39 +KPX K C -56 +KPX K G -57 +KPX K O -53 +KPX K OE -49 +KPX K Oacute -53 +KPX K Odieresis -53 +KPX K S -48 +KPX K T 14 +KPX K a -23 +KPX K adieresis -23 +KPX K ae -20 +KPX K aring -23 +KPX K e -46 +KPX K hyphen -53 +KPX K o -42 +KPX K oacute -42 +KPX K odieresis -42 +KPX K u -32 +KPX K udieresis -32 +KPX K y -76 +KPX L A 8 +KPX L AE 11 +KPX L Aacute 8 +KPX L Adieresis 8 +KPX L Aring 8 +KPX L C -52 +KPX L Ccedilla -51 +KPX L G -53 +KPX L O -51 +KPX L Oacute -51 +KPX L Ocircumflex -51 +KPX L Odieresis -51 +KPX L Ograve -51 +KPX L Otilde -51 +KPX L S -28 +KPX L T -112 +KPX L U -46 +KPX L Udieresis -46 +KPX L V -115 +KPX L W -77 +KPX L Y -128 +KPX L hyphen -140 +KPX L quotedblright -145 +KPX L quoteright -153 +KPX L u -17 +KPX L udieresis -17 +KPX L y -68 +KPX N A -19 +KPX N AE -16 +KPX N Aacute -19 +KPX N Adieresis -19 +KPX N Aring -19 +KPX N C -15 +KPX N Ccedilla -14 +KPX N G -14 +KPX N O -11 +KPX N Oacute -11 +KPX N Odieresis -11 +KPX N a -17 +KPX N aacute -17 +KPX N adieresis -17 +KPX N ae -13 +KPX N aring -17 +KPX N comma -15 +KPX N e -11 +KPX N eacute -11 +KPX N o -8 +KPX N oacute -8 +KPX N odieresis -8 +KPX N oslash -4 +KPX N period -15 +KPX N u -8 +KPX N udieresis -9 +KPX O A -43 +KPX O AE -47 +KPX O Aacute -43 +KPX O Adieresis -43 +KPX O Aring -43 +KPX O T -54 +KPX O V -48 +KPX O W -25 +KPX O X -52 +KPX O Y -71 +KPX Oacute A -43 +KPX Oacute T -54 +KPX Oacute V -48 +KPX Oacute W -25 +KPX Oacute Y -71 +KPX Ocircumflex T -54 +KPX Ocircumflex V -48 +KPX Ocircumflex Y -71 +KPX Odieresis A -43 +KPX Odieresis T -54 +KPX Odieresis V -48 +KPX Odieresis W -25 +KPX Odieresis X -52 +KPX Odieresis Y -71 +KPX Ograve T -54 +KPX Ograve V -48 +KPX Ograve Y -71 +KPX Oslash A -47 +KPX Otilde T -54 +KPX Otilde V -48 +KPX Otilde Y -71 +KPX P A -86 +KPX P AE -93 +KPX P Aacute -86 +KPX P Adieresis -86 +KPX P Aring -86 +KPX P J -85 +KPX P a -39 +KPX P aacute -39 +KPX P adieresis -39 +KPX P ae -35 +KPX P aring -39 +KPX P comma -138 +KPX P e -38 +KPX P eacute -38 +KPX P hyphen -45 +KPX P o -34 +KPX P oacute -34 +KPX P odieresis -34 +KPX P oe -38 +KPX P oslash -35 +KPX P period -138 +KPX R C -21 +KPX R Ccedilla -21 +KPX R G -21 +KPX R O -17 +KPX R OE -14 +KPX R Oacute -17 +KPX R Odieresis -17 +KPX R T -33 +KPX R U -21 +KPX R Udieresis -21 +KPX R V -49 +KPX R W -27 +KPX R Y -54 +KPX R a -21 +KPX R aacute -21 +KPX R adieresis -21 +KPX R ae -17 +KPX R aring -21 +KPX R e -16 +KPX R eacute -16 +KPX R hyphen -4 +KPX R o -13 +KPX R oacute -13 +KPX R odieresis -13 +KPX R oe -16 +KPX R u -13 +KPX R uacute -14 +KPX R udieresis -14 +KPX R y -16 +KPX S A -31 +KPX S AE -31 +KPX S Aacute -31 +KPX S Adieresis -31 +KPX S Aring -31 +KPX S T -38 +KPX S V -52 +KPX S W -31 +KPX S Y -58 +KPX S t -11 +KPX T A -104 +KPX T AE -106 +KPX T Aacute -104 +KPX T Acircumflex -104 +KPX T Adieresis -104 +KPX T Agrave -104 +KPX T Aring -104 +KPX T Atilde -104 +KPX T C -53 +KPX T G -55 +KPX T J -108 +KPX T O -50 +KPX T OE -44 +KPX T Oacute -50 +KPX T Ocircumflex -50 +KPX T Odieresis -50 +KPX T Ograve -50 +KPX T Oslash -42 +KPX T Otilde -50 +KPX T S -32 +KPX T V 2 +KPX T W 7 +KPX T Y 10 +KPX T a -107 +KPX T ae -104 +KPX T c -96 +KPX T colon -152 +KPX T comma -105 +KPX T e -102 +KPX T g -94 +KPX T guillemotleft -126 +KPX T guilsinglleft -123 +KPX T hyphen -82 +KPX T i -12 +KPX T j -12 +KPX T o -99 +KPX T oslash -94 +KPX T period -105 +KPX T r -98 +KPX T s -98 +KPX T semicolon -140 +KPX T u -98 +KPX T v -106 +KPX T w -103 +KPX T y -110 +KPX U A -45 +KPX U AE -48 +KPX U Aacute -45 +KPX U Acircumflex -45 +KPX U Adieresis -45 +KPX U Aring -45 +KPX U Atilde -45 +KPX U comma -35 +KPX U m -17 +KPX U n -16 +KPX U p -8 +KPX U period -32 +KPX U r -16 +KPX Uacute A -45 +KPX Uacute comma -35 +KPX Uacute m -17 +KPX Uacute n -16 +KPX Uacute p -8 +KPX Uacute period -32 +KPX Uacute r -16 +KPX Ucircumflex A -45 +KPX Udieresis A -44 +KPX Udieresis b -8 +KPX Udieresis comma -35 +KPX Udieresis m -17 +KPX Udieresis n -16 +KPX Udieresis p -8 +KPX Udieresis period -32 +KPX Udieresis r -16 +KPX Ugrave A -45 +KPX V A -77 +KPX V AE -84 +KPX V Aacute -77 +KPX V Acircumflex -77 +KPX V Adieresis -77 +KPX V Agrave -77 +KPX V Aring -77 +KPX V Atilde -77 +KPX V C -50 +KPX V G -50 +KPX V O -46 +KPX V Oacute -46 +KPX V Ocircumflex -46 +KPX V Odieresis -46 +KPX V Ograve -46 +KPX V Oslash -34 +KPX V Otilde -46 +KPX V S -44 +KPX V T 7 +KPX V a -71 +KPX V ae -66 +KPX V colon -76 +KPX V comma -94 +KPX V e -64 +KPX V g -57 +KPX V guillemotleft -88 +KPX V guilsinglleft -84 +KPX V hyphen -44 +KPX V i -14 +KPX V o -61 +KPX V oslash -57 +KPX V period -94 +KPX V r -51 +KPX V semicolon -75 +KPX V u -52 +KPX V y -28 +KPX W A -56 +KPX W AE -62 +KPX W Aacute -56 +KPX W Acircumflex -56 +KPX W Adieresis -56 +KPX W Agrave -56 +KPX W Aring -56 +KPX W Atilde -56 +KPX W C -30 +KPX W G -30 +KPX W O -26 +KPX W Oacute -26 +KPX W Ocircumflex -26 +KPX W Odieresis -26 +KPX W Ograve -26 +KPX W Oslash -14 +KPX W Otilde -26 +KPX W S -31 +KPX W T 11 +KPX W a -46 +KPX W ae -42 +KPX W colon -62 +KPX W comma -62 +KPX W e -39 +KPX W g -32 +KPX W guillemotleft -63 +KPX W guilsinglleft -60 +KPX W hyphen -19 +KPX W i -10 +KPX W o -36 +KPX W oslash -32 +KPX W period -62 +KPX W r -36 +KPX W semicolon -62 +KPX W u -36 +KPX W y -15 +KPX X C -53 +KPX X O -50 +KPX X Odieresis -50 +KPX X Q -51 +KPX X a -27 +KPX X e -51 +KPX X hyphen -57 +KPX X o -46 +KPX X u -36 +KPX X y -67 +KPX Y A -102 +KPX Y AE -108 +KPX Y Aacute -102 +KPX Y Acircumflex -102 +KPX Y Adieresis -102 +KPX Y Agrave -102 +KPX Y Aring -102 +KPX Y Atilde -102 +KPX Y C -68 +KPX Y G -69 +KPX Y O -64 +KPX Y Oacute -64 +KPX Y Ocircumflex -64 +KPX Y Odieresis -64 +KPX Y Ograve -64 +KPX Y Oslash -55 +KPX Y Otilde -64 +KPX Y S -49 +KPX Y T 15 +KPX Y a -100 +KPX Y ae -95 +KPX Y colon -97 +KPX Y comma -117 +KPX Y e -97 +KPX Y g -89 +KPX Y guillemotleft -128 +KPX Y guilsinglleft -124 +KPX Y hyphen -89 +KPX Y i -6 +KPX Y o -93 +KPX Y oslash -89 +KPX Y p -63 +KPX Y period -117 +KPX Y semicolon -97 +KPX Y u -73 +KPX Y v -48 +KPX Z v -44 +KPX Z y -44 +KPX a j -10 +KPX a quoteright -23 +KPX a v -26 +KPX a w -16 +KPX a y -33 +KPX aacute v -26 +KPX aacute w -16 +KPX aacute y -33 +KPX adieresis v -26 +KPX adieresis w -16 +KPX adieresis y -33 +KPX ae v -26 +KPX ae w -15 +KPX ae y -32 +KPX agrave v -26 +KPX agrave w -16 +KPX agrave y -33 +KPX aring v -26 +KPX aring w -16 +KPX aring y -33 +KPX b v -21 +KPX b w -10 +KPX b y -28 +KPX c h -7 +KPX c k -1 +KPX comma one -105 +KPX comma quotedblright -47 +KPX comma quoteright -55 +KPX e quoteright -20 +KPX e t -16 +KPX e v -26 +KPX e w -16 +KPX e x -35 +KPX e y -33 +KPX eacute v -26 +KPX eacute w -16 +KPX eacute y -33 +KPX ecircumflex v -26 +KPX ecircumflex w -16 +KPX ecircumflex y -33 +KPX eight four -6 +KPX eight one -55 +KPX eight seven -43 +KPX f a -20 +KPX f aacute -20 +KPX f adieresis -20 +KPX f ae -15 +KPX f aring -20 +KPX f e -21 +KPX f eacute -21 +KPX f f 12 +KPX f i -10 +KPX f j -11 +KPX f l -12 +KPX f o -18 +KPX f oacute -18 +KPX f odieresis -18 +KPX f oe -20 +KPX f oslash -16 +KPX f quoteright -8 +KPX f s -8 +KPX f t 16 +KPX five four -7 +KPX five one -83 +KPX five seven -32 +KPX four four -3 +KPX four one -88 +KPX four seven -65 +KPX g a -17 +KPX g adieresis -17 +KPX g ae -13 +KPX g aring -17 +KPX g e -11 +KPX g eacute -11 +KPX g l -8 +KPX g oacute -8 +KPX g odieresis -8 +KPX g r -9 +KPX guillemotright A -58 +KPX guillemotright AE -62 +KPX guillemotright Aacute -58 +KPX guillemotright Adieresis -58 +KPX guillemotright Aring -58 +KPX guillemotright T -132 +KPX guillemotright V -96 +KPX guillemotright W -68 +KPX guillemotright Y -137 +KPX guilsinglright A -52 +KPX guilsinglright AE -56 +KPX guilsinglright Aacute -52 +KPX guilsinglright Adieresis -52 +KPX guilsinglright Aring -52 +KPX guilsinglright T -126 +KPX guilsinglright V -90 +KPX guilsinglright W -62 +KPX guilsinglright Y -131 +KPX h quoteright -19 +KPX h y -31 +KPX hyphen A -12 +KPX hyphen AE -17 +KPX hyphen Aacute -12 +KPX hyphen Adieresis -12 +KPX hyphen Aring -12 +KPX hyphen T -86 +KPX hyphen V -51 +KPX hyphen W -24 +KPX hyphen Y -97 +KPX i T -16 +KPX i j -10 +KPX k a -14 +KPX k aacute -14 +KPX k adieresis -14 +KPX k ae -12 +KPX k aring -14 +KPX k comma -13 +KPX k e -33 +KPX k eacute -33 +KPX k g -26 +KPX k hyphen -49 +KPX k o -30 +KPX k oacute -30 +KPX k odieresis -30 +KPX k period -13 +KPX k s -14 +KPX k u -22 +KPX k udieresis -16 +KPX l v -11 +KPX l y -15 +KPX m p -3 +KPX m v -24 +KPX m w -14 +KPX m y -30 +KPX n T -103 +KPX n p -3 +KPX n quoteright -19 +KPX n v -24 +KPX n w -14 +KPX n y -31 +KPX nine four -12 +KPX nine one -55 +KPX nine seven -50 +KPX o T -106 +KPX o quoteright -23 +KPX o t -17 +KPX o v -27 +KPX o w -16 +KPX o x -35 +KPX o y -34 +KPX oacute v -27 +KPX oacute w -16 +KPX oacute y -34 +KPX ocircumflex t -17 +KPX odieresis t -17 +KPX odieresis v -27 +KPX odieresis w -16 +KPX odieresis x -35 +KPX odieresis y -34 +KPX ograve v -27 +KPX ograve w -16 +KPX ograve y -34 +KPX one comma -82 +KPX one eight -73 +KPX one five -72 +KPX one four -88 +KPX one nine -71 +KPX one one -125 +KPX one period -82 +KPX one seven -98 +KPX one six -71 +KPX one three -75 +KPX one two -78 +KPX one zero -71 +KPX p t -10 +KPX p y -28 +KPX period one -106 +KPX period quotedblright -48 +KPX period quoteright -56 +KPX q c -2 +KPX q u -5 +KPX quotedblbase A 21 +KPX quotedblbase AE 21 +KPX quotedblbase T -80 +KPX quotedblbase V -74 +KPX quotedblbase W -39 +KPX quotedblbase Y -96 +KPX quotedblleft A -58 +KPX quotedblleft AE -70 +KPX quotedblleft Aacute -58 +KPX quotedblleft Adieresis -58 +KPX quotedblleft Aring -58 +KPX quotedblleft T 1 +KPX quotedblleft V 10 +KPX quotedblleft W 22 +KPX quotedblleft Y -1 +KPX quotedblright A -60 +KPX quotedblright AE -72 +KPX quotedblright Aacute -60 +KPX quotedblright Adieresis -60 +KPX quotedblright Aring -60 +KPX quotedblright T 2 +KPX quotedblright V 9 +KPX quotedblright W 21 +KPX quotedblright Y -2 +KPX quoteleft A -74 +KPX quoteleft AE -86 +KPX quoteleft Aacute -74 +KPX quoteleft Adieresis -74 +KPX quoteleft Aring -74 +KPX quoteleft T -14 +KPX quoteleft V -5 +KPX quoteleft W 6 +KPX quoteleft Y -17 +KPX quoteright A -76 +KPX quoteright AE -88 +KPX quoteright Aacute -76 +KPX quoteright Adieresis -76 +KPX quoteright Aring -76 +KPX quoteright comma -68 +KPX quoteright d -25 +KPX quoteright o -31 +KPX quoteright period -68 +KPX quoteright r -24 +KPX quoteright s -23 +KPX quoteright t -14 +KPX quoteright v -10 +KPX quoteright w -5 +KPX quoteright y -14 +KPX r a -16 +KPX r aacute -16 +KPX r acircumflex -16 +KPX r adieresis -16 +KPX r ae -11 +KPX r agrave -16 +KPX r aring -16 +KPX r c -11 +KPX r ccedilla -11 +KPX r colon -31 +KPX r comma -77 +KPX r d -8 +KPX r e -17 +KPX r eacute -17 +KPX r ecircumflex -17 +KPX r egrave -17 +KPX r f 17 +KPX r g -8 +KPX r h -8 +KPX r hyphen -54 +KPX r i -6 +KPX r j -6 +KPX r k -2 +KPX r l -7 +KPX r m -9 +KPX r n -8 +KPX r o -14 +KPX r oacute -14 +KPX r ocircumflex -14 +KPX r odieresis -14 +KPX r oe -16 +KPX r ograve -14 +KPX r oslash -14 +KPX r p 0 +KPX r period -77 +KPX r q -10 +KPX r quoteright -6 +KPX r r -8 +KPX r s -4 +KPX r semicolon -30 +KPX r t 21 +KPX r u -7 +KPX r v 18 +KPX r w 21 +KPX r x 9 +KPX r y 15 +KPX r z 0 +KPX s quoteright -24 +KPX s t -15 +KPX seven colon -84 +KPX seven comma -123 +KPX seven eight -34 +KPX seven five -37 +KPX seven four -95 +KPX seven one -58 +KPX seven period -123 +KPX seven seven -11 +KPX seven six -44 +KPX seven three -29 +KPX seven two -31 +KPX six four -7 +KPX six one -52 +KPX six seven -40 +KPX t S -17 +KPX t a -10 +KPX t aacute -10 +KPX t adieresis -10 +KPX t ae -7 +KPX t aring -10 +KPX t colon -37 +KPX t e -22 +KPX t eacute -22 +KPX t h -14 +KPX t o -19 +KPX t oacute -19 +KPX t odieresis -19 +KPX t quoteright -7 +KPX t semicolon -36 +KPX three four -9 +KPX three one -57 +KPX three seven -45 +KPX two four -43 +KPX two one -45 +KPX two seven -38 +KPX u quoteright -14 +KPX v a -30 +KPX v aacute -30 +KPX v acircumflex -30 +KPX v adieresis -30 +KPX v ae -25 +KPX v agrave -30 +KPX v aring -30 +KPX v atilde -30 +KPX v c -22 +KPX v colon -32 +KPX v comma -76 +KPX v e -29 +KPX v eacute -29 +KPX v ecircumflex -29 +KPX v egrave -29 +KPX v g -20 +KPX v hyphen -19 +KPX v l -8 +KPX v o -25 +KPX v oacute -25 +KPX v odieresis -25 +KPX v ograve -25 +KPX v oslash -25 +KPX v period -76 +KPX v s -17 +KPX v semicolon -31 +KPX w a -26 +KPX w aacute -26 +KPX w acircumflex -26 +KPX w adieresis -26 +KPX w ae -22 +KPX w agrave -26 +KPX w aring -26 +KPX w atilde -26 +KPX w c -14 +KPX w colon -32 +KPX w comma -57 +KPX w e -20 +KPX w eacute -20 +KPX w ecircumflex -20 +KPX w egrave -20 +KPX w g -13 +KPX w hyphen -8 +KPX w l -8 +KPX w o -17 +KPX w oacute -17 +KPX w odieresis -17 +KPX w ograve -17 +KPX w oslash -14 +KPX w period -57 +KPX w s -14 +KPX w semicolon -31 +KPX x a -30 +KPX x c -30 +KPX x e -36 +KPX x eacute -36 +KPX x o -33 +KPX x q -28 +KPX y a -36 +KPX y aacute -36 +KPX y acircumflex -36 +KPX y adieresis -36 +KPX y ae -31 +KPX y agrave -36 +KPX y aring -36 +KPX y atilde -36 +KPX y c -28 +KPX y colon -40 +KPX y comma -80 +KPX y e -35 +KPX y eacute -35 +KPX y ecircumflex -35 +KPX y egrave -35 +KPX y g -26 +KPX y hyphen -24 +KPX y l -14 +KPX y o -31 +KPX y oacute -31 +KPX y odieresis -31 +KPX y ograve -31 +KPX y oslash -30 +KPX y period -80 +KPX y s -23 +KPX y semicolon -40 +KPX zero four -11 +KPX zero one -56 +KPX zero seven -50 +EndKernPairs +EndKernData +EndFontMetrics diff --git a/Master/xemtex/gsfonts/n019023l.pfb b/Master/xemtex/gsfonts/n019023l.pfb new file mode 100644 index 00000000000..5839dab44f4 Binary files /dev/null and b/Master/xemtex/gsfonts/n019023l.pfb differ diff --git a/Master/xemtex/gsfonts/n019023l.pfm b/Master/xemtex/gsfonts/n019023l.pfm new file mode 100644 index 00000000000..9a37bd0c8dd Binary files /dev/null and b/Master/xemtex/gsfonts/n019023l.pfm differ diff --git a/Master/xemtex/gsfonts/n019024l.afm b/Master/xemtex/gsfonts/n019024l.afm new file mode 100644 index 00000000000..d44cf45651e --- /dev/null +++ b/Master/xemtex/gsfonts/n019024l.afm @@ -0,0 +1,1341 @@ +StartFontMetrics 3.0 +Comment Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development +Comment Creation Date: 12/22/1999 +Comment See the file PUBLIC (Aladdin Free Public License) for license conditions. +FontName NimbusSanL-BoldItal +FullName Nimbus Sans L Bold Italic +FamilyName Nimbus Sans L +Weight Bold +ItalicAngle -12.0 +IsFixedPitch false +UnderlinePosition -111 +UnderlineThickness 69 +Version 1.05 +Notice (URW)++,Copyright 1999 by (URW)++ Design & Development +EncodingScheme AdobeStandardEncoding +FontBBox -177 -309 1107 953 +CapHeight 729 +XHeight 540 +Descender -217 +Ascender 729 +StartCharMetrics 316 +C 32 ; WX 278 ; N space ; B 245 0 245 0 ; +C 33 ; WX 333 ; N exclam ; B 112 0 417 726 ; +C 34 ; WX 474 ; N quotedbl ; B 177 470 579 729 ; +C 35 ; WX 556 ; N numbersign ; B 33 -32 660 697 ; +C 36 ; WX 556 ; N dollar ; B 59 -126 628 763 ; +C 37 ; WX 889 ; N percent ; B 129 -20 903 709 ; +C 38 ; WX 722 ; N ampersand ; B 89 -23 720 723 ; +C 39 ; WX 278 ; N quoteright ; B 165 469 356 729 ; +C 40 ; WX 333 ; N parenleft ; B 84 -200 458 729 ; +C 41 ; WX 333 ; N parenright ; B -21 -200 356 729 ; +C 42 ; WX 389 ; N asterisk ; B 145 407 478 729 ; +C 43 ; WX 584 ; N plus ; B 87 -10 596 473 ; +C 44 ; WX 278 ; N comma ; B 27 -174 245 146 ; +C 45 ; WX 333 ; N hyphen ; B 70 207 371 342 ; +C 46 ; WX 278 ; N period ; B 64 0 245 146 ; +C 47 ; WX 278 ; N slash ; B -1 -14 427 714 ; +C 48 ; WX 556 ; N zero ; B 81 -23 614 724 ; +C 49 ; WX 556 ; N one ; B 172 0 529 709 ; +C 50 ; WX 556 ; N two ; B 30 0 628 724 ; +C 51 ; WX 556 ; N three ; B 67 -23 613 724 ; +C 52 ; WX 556 ; N four ; B 57 0 599 709 ; +C 53 ; WX 556 ; N five ; B 59 -23 641 709 ; +C 54 ; WX 556 ; N six ; B 85 -23 625 724 ; +C 55 ; WX 556 ; N seven ; B 131 0 679 709 ; +C 56 ; WX 556 ; N eight ; B 60 -23 620 724 ; +C 57 ; WX 556 ; N nine ; B 68 -23 611 724 ; +C 58 ; WX 333 ; N colon ; B 113 0 374 520 ; +C 59 ; WX 333 ; N semicolon ; B 76 -174 374 520 ; +C 60 ; WX 584 ; N less ; B 77 -10 630 474 ; +C 61 ; WX 584 ; N equal ; B 61 52 622 412 ; +C 62 ; WX 584 ; N greater ; B 38 -10 591 474 ; +C 63 ; WX 611 ; N question ; B 168 0 672 744 ; +C 64 ; WX 975 ; N at ; B 73 -137 1032 745 ; +C 65 ; WX 722 ; N A ; B 26 0 703 729 ; +C 66 ; WX 722 ; N B ; B 82 0 762 729 ; +C 67 ; WX 722 ; N C ; B 107 -23 793 741 ; +C 68 ; WX 722 ; N D ; B 77 0 776 729 ; +C 69 ; WX 667 ; N E ; B 79 0 762 729 ; +C 70 ; WX 611 ; N F ; B 74 0 741 729 ; +C 71 ; WX 778 ; N G ; B 107 -23 819 741 ; +C 72 ; WX 722 ; N H ; B 68 0 812 729 ; +C 73 ; WX 278 ; N I ; B 63 0 368 729 ; +C 74 ; WX 556 ; N J ; B 59 -23 641 729 ; +C 75 ; WX 722 ; N K ; B 74 0 843 729 ; +C 76 ; WX 611 ; N L ; B 80 0 606 729 ; +C 77 ; WX 833 ; N M ; B 66 0 931 729 ; +C 78 ; WX 722 ; N N ; B 68 0 816 729 ; +C 79 ; WX 778 ; N O ; B 106 -23 828 741 ; +C 80 ; WX 667 ; N P ; B 76 0 747 729 ; +C 81 ; WX 778 ; N Q ; B 109 -54 831 741 ; +C 82 ; WX 722 ; N R ; B 80 0 785 729 ; +C 83 ; WX 667 ; N S ; B 76 -23 725 741 ; +C 84 ; WX 611 ; N T ; B 142 0 753 729 ; +C 85 ; WX 722 ; N U ; B 119 -23 809 729 ; +C 86 ; WX 667 ; N V ; B 179 0 802 729 ; +C 87 ; WX 944 ; N W ; B 168 0 1087 729 ; +C 88 ; WX 667 ; N X ; B 22 0 802 729 ; +C 89 ; WX 667 ; N Y ; B 182 0 805 729 ; +C 90 ; WX 611 ; N Z ; B 30 0 733 729 ; +C 91 ; WX 333 ; N bracketleft ; B 23 -200 463 729 ; +C 92 ; WX 278 ; N backslash ; B 138 -23 285 709 ; +C 93 ; WX 333 ; N bracketright ; B -25 -200 415 729 ; +C 94 ; WX 584 ; N asciicircum ; B 119 270 580 695 ; +C 95 ; WX 556 ; N underscore ; B -65 -145 550 -76 ; +C 96 ; WX 278 ; N quoteleft ; B 167 469 357 729 ; +C 97 ; WX 556 ; N a ; B 50 -23 578 549 ; +C 98 ; WX 611 ; N b ; B 59 -23 640 729 ; +C 99 ; WX 556 ; N c ; B 77 -23 597 549 ; +C 100 ; WX 611 ; N d ; B 79 -23 700 729 ; +C 101 ; WX 556 ; N e ; B 64 -23 591 549 ; +C 102 ; WX 333 ; N f ; B 90 0 464 729 ; +C 103 ; WX 611 ; N g ; B 26 -218 656 549 ; +C 104 ; WX 611 ; N h ; B 67 0 629 729 ; +C 105 ; WX 278 ; N i ; B 67 0 362 729 ; +C 106 ; WX 278 ; N j ; B -43 -218 365 729 ; +C 107 ; WX 556 ; N k ; B 59 0 651 729 ; +C 108 ; WX 278 ; N l ; B 67 0 362 729 ; +C 109 ; WX 889 ; N m ; B 60 0 911 549 ; +C 110 ; WX 611 ; N n ; B 63 0 629 549 ; +C 111 ; WX 611 ; N o ; B 82 -23 634 549 ; +C 112 ; WX 611 ; N p ; B 11 -218 637 549 ; +C 113 ; WX 611 ; N q ; B 72 -218 659 549 ; +C 114 ; WX 389 ; N r ; B 63 0 487 549 ; +C 115 ; WX 556 ; N s ; B 60 -23 589 549 ; +C 116 ; WX 333 ; N t ; B 101 -23 414 674 ; +C 117 ; WX 611 ; N u ; B 88 -23 656 540 ; +C 118 ; WX 556 ; N v ; B 129 0 651 540 ; +C 119 ; WX 778 ; N w ; B 120 0 881 540 ; +C 120 ; WX 556 ; N x ; B 16 0 648 540 ; +C 121 ; WX 556 ; N y ; B 37 -219 653 540 ; +C 122 ; WX 500 ; N z ; B 21 0 575 540 ; +C 123 ; WX 389 ; N braceleft ; B 84 -200 472 729 ; +C 124 ; WX 280 ; N bar ; B 57 -200 335 729 ; +C 125 ; WX 389 ; N braceright ; B 29 -200 419 729 ; +C 126 ; WX 584 ; N asciitilde ; B 97 142 581 314 ; +C 161 ; WX 333 ; N exclamdown ; B 26 -186 331 540 ; +C 162 ; WX 556 ; N cent ; B 79 -124 598 634 ; +C 163 ; WX 556 ; N sterling ; B 49 -23 629 715 ; +C 164 ; WX 167 ; N fraction ; B -177 -20 489 715 ; +C 165 ; WX 556 ; N yen ; B 107 0 702 704 ; +C 166 ; WX 556 ; N florin ; B -21 -220 690 744 ; +C 167 ; WX 556 ; N section ; B 56 -201 596 723 ; +C 168 ; WX 556 ; N currency ; B 66 100 644 604 ; +C 169 ; WX 238 ; N quotesingle ; B 177 470 343 729 ; +C 170 ; WX 500 ; N quotedblleft ; B 171 469 588 729 ; +C 171 ; WX 556 ; N guillemotleft ; B 135 72 571 481 ; +C 172 ; WX 333 ; N guilsinglleft ; B 128 72 351 481 ; +C 173 ; WX 333 ; N guilsinglright ; B 96 72 319 481 ; +C 174 ; WX 611 ; N fi ; B 85 0 703 729 ; +C 175 ; WX 611 ; N fl ; B 88 0 701 729 ; +C 177 ; WX 556 ; N endash ; B 35 207 624 311 ; +C 178 ; WX 556 ; N dagger ; B 109 -194 626 709 ; +C 179 ; WX 556 ; N daggerdbl ; B 35 -194 623 709 ; +C 180 ; WX 278 ; N periodcentered ; B 143 182 270 282 ; +C 182 ; WX 556 ; N paragraph ; B 121 -191 684 729 ; +C 183 ; WX 350 ; N bullet ; B 111 175 367 425 ; +C 184 ; WX 278 ; N quotesinglbase ; B 37 -135 228 125 ; +C 185 ; WX 500 ; N quotedblbase ; B 37 -135 462 125 ; +C 186 ; WX 500 ; N quotedblright ; B 173 469 595 729 ; +C 187 ; WX 556 ; N guillemotright ; B 103 72 533 481 ; +C 188 ; WX 1000 ; N ellipsis ; B 92 0 939 146 ; +C 189 ; WX 1000 ; N perthousand ; B 72 -21 1021 739 ; +C 191 ; WX 611 ; N questiondown ; B 52 -204 556 540 ; +C 193 ; WX 333 ; N grave ; B 175 607 339 757 ; +C 194 ; WX 333 ; N acute ; B 247 607 475 757 ; +C 195 ; WX 333 ; N circumflex ; B 135 610 453 757 ; +C 196 ; WX 333 ; N tilde ; B 117 622 500 744 ; +C 197 ; WX 333 ; N macron ; B 150 642 467 722 ; +C 198 ; WX 333 ; N breve ; B 188 611 455 754 ; +C 199 ; WX 333 ; N dotaccent ; B 241 621 377 741 ; +C 200 ; WX 333 ; N dieresis ; B 147 621 469 741 ; +C 202 ; WX 333 ; N ring ; B 214 593 398 773 ; +C 203 ; WX 333 ; N cedilla ; B -13 -220 270 0 ; +C 205 ; WX 333 ; N hungarumlaut ; B 82 610 498 757 ; +C 206 ; WX 333 ; N ogonek ; B 23 -233 248 0 ; +C 207 ; WX 333 ; N caron ; B 167 610 485 757 ; +C 208 ; WX 1000 ; N emdash ; B 37 207 1070 311 ; +C 225 ; WX 1000 ; N AE ; B 1 0 1104 729 ; +C 227 ; WX 370 ; N ordfeminine ; B 96 262 451 729 ; +C 232 ; WX 611 ; N Lslash ; B 54 0 624 729 ; +C 233 ; WX 778 ; N Oslash ; B 34 -39 906 749 ; +C 234 ; WX 1000 ; N OE ; B 90 -23 1107 741 ; +C 235 ; WX 365 ; N ordmasculine ; B 92 262 471 729 ; +C 241 ; WX 889 ; N ae ; B 54 -23 927 549 ; +C 245 ; WX 278 ; N dotlessi ; B 67 0 322 540 ; +C 248 ; WX 278 ; N lslash ; B 50 0 372 729 ; +C 249 ; WX 611 ; N oslash ; B 12 -38 709 557 ; +C 250 ; WX 944 ; N oe ; B 71 -23 986 549 ; +C 251 ; WX 611 ; N germandbls ; B 67 -23 654 729 ; +C -1 ; WX 722 ; N Udieresis ; B 119 -23 809 920 ; +C -1 ; WX 722 ; N Uacute ; B 119 -23 809 936 ; +C -1 ; WX 667 ; N Scedilla ; B 76 -220 725 741 ; +C -1 ; WX 611 ; N Tcaron ; B 142 0 753 936 ; +C -1 ; WX 667 ; N Scaron ; B 76 -23 725 936 ; +C -1 ; WX 722 ; N Rcaron ; B 80 0 785 936 ; +C -1 ; WX 722 ; N Racute ; B 80 0 785 936 ; +C -1 ; WX 667 ; N Sacute ; B 76 -23 725 936 ; +C -1 ; WX 778 ; N Otilde ; B 106 -23 828 923 ; +C -1 ; WX 611 ; N ucircumflex ; B 88 -23 656 757 ; +C -1 ; WX 778 ; N Ohungarumlaut ; B 106 -23 841 936 ; +C -1 ; WX 722 ; N Uhungarumlaut ; B 119 -23 809 936 ; +C -1 ; WX 667 ; N Yacute ; B 182 0 805 936 ; +C -1 ; WX 722 ; N Eth ; B 73 0 776 729 ; +C -1 ; WX 722 ; N Dcroat ; B 73 0 776 729 ; +C -1 ; WX 611 ; N Zacute ; B 30 0 733 936 ; +C -1 ; WX 722 ; N Uring ; B 119 -23 809 953 ; +C -1 ; WX 611 ; N gbreve ; B 26 -218 656 754 ; +C -1 ; WX 556 ; N eogonek ; B 64 -233 591 549 ; +C -1 ; WX 556 ; N edotaccent ; B 64 -23 591 741 ; +C -1 ; WX 556 ; N ecaron ; B 64 -23 593 757 ; +C -1 ; WX 722 ; N Ugrave ; B 119 -23 809 936 ; +C -1 ; WX 667 ; N Thorn ; B 76 0 721 729 ; +C -1 ; WX 556 ; N eacute ; B 64 -23 591 757 ; +C -1 ; WX 556 ; N edieresis ; B 64 -23 591 741 ; +C -1 ; WX 722 ; N dcaron ; B 79 -23 882 729 ; +C -1 ; WX 556 ; N ccedilla ; B 77 -220 597 549 ; +C -1 ; WX 556 ; N ccaron ; B 77 -23 607 757 ; +C -1 ; WX 556 ; N cacute ; B 77 -23 597 757 ; +C -1 ; WX 556 ; N aogonek ; B 50 -233 578 549 ; +C -1 ; WX 556 ; N aring ; B 50 -23 578 773 ; +C -1 ; WX 556 ; N atilde ; B 50 -23 612 744 ; +C -1 ; WX 556 ; N abreve ; B 50 -23 578 754 ; +C -1 ; WX 556 ; N egrave ; B 64 -23 591 757 ; +C -1 ; WX 556 ; N agrave ; B 50 -23 578 757 ; +C -1 ; WX 556 ; N aacute ; B 50 -23 587 757 ; +C -1 ; WX 556 ; N adieresis ; B 50 -23 581 741 ; +C -1 ; WX 722 ; N Uogonek ; B 119 -233 809 729 ; +C -1 ; WX 611 ; N ugrave ; B 88 -23 656 757 ; +C -1 ; WX 611 ; N uacute ; B 88 -23 656 757 ; +C -1 ; WX 611 ; N udieresis ; B 88 -23 656 741 ; +C -1 ; WX 404 ; N tcaron ; B 101 -23 578 829 ; +C -1 ; WX 556 ; N scommaaccent ; B 60 -307 589 549 ; +C -1 ; WX 611 ; N Zcaron ; B 30 0 733 936 ; +C -1 ; WX 556 ; N ecircumflex ; B 64 -23 591 757 ; +C -1 ; WX 722 ; N Ucircumflex ; B 119 -23 809 936 ; +C -1 ; WX 556 ; N acircumflex ; B 50 -23 578 757 ; +C -1 ; WX 611 ; N Zdotaccent ; B 30 0 733 918 ; +C -1 ; WX 556 ; N scaron ; B 60 -23 597 757 ; +C -1 ; WX 722 ; N Amacron ; B 26 0 706 901 ; +C -1 ; WX 556 ; N sacute ; B 60 -23 589 757 ; +C -1 ; WX 611 ; N Tcommaaccent ; B 142 -307 753 729 ; +C -1 ; WX 667 ; N Ydieresis ; B 182 0 805 920 ; +C -1 ; WX 611 ; N thorn ; B 11 -218 637 729 ; +C -1 ; WX 667 ; N Emacron ; B 79 0 762 901 ; +C -1 ; WX 778 ; N Ograve ; B 106 -23 828 936 ; +C -1 ; WX 778 ; N Oacute ; B 106 -23 828 936 ; +C -1 ; WX 778 ; N Odieresis ; B 106 -23 828 920 ; +C -1 ; WX 722 ; N Ntilde ; B 68 0 816 923 ; +C -1 ; WX 722 ; N Ncaron ; B 68 0 816 936 ; +C -1 ; WX 722 ; N Nacute ; B 68 0 816 936 ; +C -1 ; WX 611 ; N Lcaron ; B 80 0 607 729 ; +C -1 ; WX 611 ; N Lacute ; B 80 0 606 936 ; +C -1 ; WX 278 ; N Idotaccent ; B 63 0 388 918 ; +C -1 ; WX 389 ; N racute ; B 63 0 500 757 ; +C -1 ; WX 278 ; N Icircumflex ; B 63 0 467 936 ; +C -1 ; WX 611 ; N ohungarumlaut ; B 82 -23 710 757 ; +C -1 ; WX 611 ; N otilde ; B 82 -23 639 744 ; +C -1 ; WX 556 ; N Euro ; B 21 -23 648 724 ; +C -1 ; WX 611 ; N ocircumflex ; B 82 -23 634 757 ; +C -1 ; WX 444 ; N onesuperior ; B 210 284 438 709 ; +C -1 ; WX 444 ; N twosuperior ; B 124 284 499 718 ; +C -1 ; WX 444 ; N threesuperior ; B 147 271 490 718 ; +C -1 ; WX 278 ; N Igrave ; B 63 0 368 936 ; +C -1 ; WX 278 ; N Iacute ; B 63 0 489 936 ; +C -1 ; WX 278 ; N Imacron ; B 63 0 466 901 ; +C -1 ; WX 278 ; N Iogonek ; B 7 -233 368 729 ; +C -1 ; WX 278 ; N Idieresis ; B 63 0 483 920 ; +C -1 ; WX 778 ; N Gbreve ; B 107 -23 819 934 ; +C -1 ; WX 722 ; N Umacron ; B 119 -23 809 901 ; +C -1 ; WX 722 ; N Kcommaaccent ; B 74 -307 843 729 ; +C -1 ; WX 611 ; N ograve ; B 82 -23 634 757 ; +C -1 ; WX 667 ; N Scommaaccent ; B 76 -307 725 741 ; +C -1 ; WX 667 ; N Eogonek ; B 79 -233 762 729 ; +C -1 ; WX 611 ; N oacute ; B 82 -23 634 757 ; +C -1 ; WX 667 ; N Edotaccent ; B 79 0 762 918 ; +C -1 ; WX 268 ; N iogonek ; B 0 -233 351 729 ; +C -1 ; WX 611 ; N gcommaaccent ; B 26 -218 656 854 ; +C -1 ; WX 611 ; N odieresis ; B 82 -23 634 741 ; +C -1 ; WX 611 ; N ntilde ; B 63 0 646 744 ; +C -1 ; WX 611 ; N ncaron ; B 63 0 629 757 ; +C -1 ; WX 667 ; N Ecaron ; B 79 0 762 936 ; +C -1 ; WX 667 ; N Ecircumflex ; B 79 0 762 936 ; +C -1 ; WX 556 ; N scedilla ; B 60 -220 589 549 ; +C -1 ; WX 389 ; N rcaron ; B 63 0 533 757 ; +C -1 ; WX 667 ; N Egrave ; B 79 0 762 936 ; +C -1 ; WX 667 ; N Eacute ; B 79 0 762 936 ; +C -1 ; WX 778 ; N Gcommaaccent ; B 107 -307 819 741 ; +C -1 ; WX 722 ; N Rcommaaccent ; B 80 -307 785 729 ; +C -1 ; WX 667 ; N Edieresis ; B 79 0 762 920 ; +C -1 ; WX 611 ; N nacute ; B 63 0 629 757 ; +C -1 ; WX 611 ; N uogonek ; B 88 -233 656 540 ; +C -1 ; WX 611 ; N umacron ; B 88 -23 656 722 ; +C -1 ; WX 722 ; N Dcaron ; B 77 0 776 936 ; +C -1 ; WX 384 ; N lcaron ; B 67 0 544 729 ; +C -1 ; WX 722 ; N Ccaron ; B 107 -23 793 936 ; +C -1 ; WX 722 ; N Cacute ; B 107 -23 793 936 ; +C -1 ; WX 722 ; N Ccedilla ; B 107 -220 793 741 ; +C -1 ; WX 606 ; N degree ; B 240 383 543 686 ; +C -1 ; WX 722 ; N Aogonek ; B 26 -233 703 729 ; +C -1 ; WX 584 ; N minus ; B 77 172 606 292 ; +C -1 ; WX 584 ; N multiply ; B 102 18 582 444 ; +C -1 ; WX 584 ; N divide ; B 77 0 606 462 ; +C -1 ; WX 722 ; N Aring ; B 26 0 703 953 ; +C -1 ; WX 1000 ; N trademark ; B 213 273 1087 729 ; +C -1 ; WX 389 ; N rcommaaccent ; B 8 -307 487 549 ; +C -1 ; WX 278 ; N lacute ; B 67 0 474 936 ; +C -1 ; WX 611 ; N omacron ; B 82 -23 634 722 ; +C -1 ; WX 722 ; N Atilde ; B 26 0 739 923 ; +C -1 ; WX 278 ; N icircumflex ; B 67 0 426 757 ; +C -1 ; WX 278 ; N igrave ; B 67 0 322 757 ; +C -1 ; WX 611 ; N ncommaaccent ; B 63 -307 629 549 ; +C -1 ; WX 278 ; N lcommaaccent ; B 11 -307 362 729 ; +C -1 ; WX 584 ; N plusminus ; B 50 0 630 633 ; +C -1 ; WX 1055 ; N onehalf ; B 210 -20 1050 715 ; +C -1 ; WX 1055 ; N onequarter ; B 210 -20 1032 715 ; +C -1 ; WX 1055 ; N threequarters ; B 147 -20 1032 718 ; +C -1 ; WX 278 ; N iacute ; B 67 0 448 757 ; +C -1 ; WX 722 ; N Abreve ; B 26 0 703 934 ; +C -1 ; WX 556 ; N kcommaaccent ; B 59 -307 651 729 ; +C -1 ; WX 778 ; N Omacron ; B 106 -23 828 901 ; +C -1 ; WX 278 ; N imacron ; B 67 0 424 722 ; +C -1 ; WX 556 ; N emacron ; B 64 -23 591 722 ; +C -1 ; WX 556 ; N amacron ; B 50 -23 579 722 ; +C -1 ; WX 333 ; N tcommaaccent ; B 62 -307 414 674 ; +C -1 ; WX 556 ; N ydieresis ; B 37 -219 653 741 ; +C -1 ; WX 500 ; N zdotaccent ; B 21 0 575 741 ; +C -1 ; WX 500 ; N zcaron ; B 21 0 575 757 ; +C -1 ; WX 500 ; N zacute ; B 21 0 575 757 ; +C -1 ; WX 556 ; N yacute ; B 37 -219 653 757 ; +C -1 ; WX 611 ; N uhungarumlaut ; B 88 -23 697 757 ; +C -1 ; WX 611 ; N eth ; B 83 -23 633 744 ; +C -1 ; WX 611 ; N uring ; B 88 -23 656 773 ; +C -1 ; WX 778 ; N Ocircumflex ; B 106 -23 828 936 ; +C -1 ; WX 333 ; N commaaccent ; B 43 -307 217 -60 ; +C -1 ; WX 737 ; N copyright ; B 54 -22 837 743 ; +C -1 ; WX 737 ; N registered ; B 55 -22 837 743 ; +C -1 ; WX 722 ; N Acircumflex ; B 26 0 703 936 ; +C -1 ; WX 278 ; N idieresis ; B 67 0 442 741 ; +C -1 ; WX 489 ; N lozenge ; B 95 0 541 744 ; +C -1 ; WX 729 ; N Delta ; B 8 0 721 729 ; +C -1 ; WX 584 ; N notequal ; B 61 -74 622 544 ; +C -1 ; WX 542 ; N radical ; B 102 -36 705 913 ; +C -1 ; WX 722 ; N Agrave ; B 26 0 703 936 ; +C -1 ; WX 722 ; N Aacute ; B 26 0 714 936 ; +C -1 ; WX 584 ; N lessequal ; B 35 0 657 624 ; +C -1 ; WX 584 ; N greaterequal ; B 44 0 627 624 ; +C -1 ; WX 584 ; N logicalnot ; B 103 86 632 376 ; +C -1 ; WX 711 ; N summation ; B -18 -97 760 760 ; +C -1 ; WX 490 ; N partialdiff ; B 22 -15 458 750 ; +C -1 ; WX 722 ; N Ncommaaccent ; B 68 -307 816 729 ; +C -1 ; WX 611 ; N dcroat ; B 79 -23 746 729 ; +C -1 ; WX 280 ; N brokenbar ; B 57 -200 335 729 ; +C -1 ; WX 611 ; N Lcommaaccent ; B 80 -309 606 729 ; +C -1 ; WX 722 ; N Adieresis ; B 26 0 708 920 ; +C -1 ; WX 611 ; N mu ; B 11 -220 655 540 ; +C -1 ; WX 278 ; N .notdef ; B 245 0 245 0 ; +EndCharMetrics +StartKernData +StartKernPairs 998 +KPX A C -36 +KPX A Ccedilla -36 +KPX A G -38 +KPX A O -37 +KPX A Odieresis -37 +KPX A Q -39 +KPX A T -91 +KPX A U -37 +KPX A Uacute -37 +KPX A Ucircumflex -37 +KPX A Udieresis -37 +KPX A Ugrave -37 +KPX A V -74 +KPX A W -57 +KPX A Y -96 +KPX A a -11 +KPX A b -10 +KPX A c -17 +KPX A ccedilla -17 +KPX A comma 9 +KPX A d -17 +KPX A e -10 +KPX A g -20 +KPX A guillemotleft -48 +KPX A guilsinglleft -44 +KPX A hyphen 2 +KPX A o -19 +KPX A period 13 +KPX A q -13 +KPX A quotedblright -71 +KPX A quoteright -67 +KPX A t -21 +KPX A u -17 +KPX A v -42 +KPX A w -28 +KPX A y -41 +KPX Aacute C -37 +KPX Aacute G -38 +KPX Aacute O -38 +KPX Aacute Q -40 +KPX Aacute T -91 +KPX Aacute U -38 +KPX Aacute V -74 +KPX Aacute W -57 +KPX Aacute Y -96 +KPX Aacute a -11 +KPX Aacute b -10 +KPX Aacute c -17 +KPX Aacute comma 9 +KPX Aacute d -17 +KPX Aacute e -11 +KPX Aacute g -20 +KPX Aacute guillemotleft -48 +KPX Aacute guilsinglleft -45 +KPX Aacute hyphen 2 +KPX Aacute o -20 +KPX Aacute period 12 +KPX Aacute q -14 +KPX Aacute quoteright -67 +KPX Aacute t -22 +KPX Aacute u -18 +KPX Aacute v -42 +KPX Aacute w -29 +KPX Aacute y -41 +KPX Acircumflex C -36 +KPX Acircumflex G -38 +KPX Acircumflex O -37 +KPX Acircumflex Q -39 +KPX Acircumflex T -91 +KPX Acircumflex U -37 +KPX Acircumflex V -74 +KPX Acircumflex W -57 +KPX Acircumflex Y -96 +KPX Acircumflex comma 9 +KPX Acircumflex period 13 +KPX Adieresis C -37 +KPX Adieresis G -38 +KPX Adieresis O -38 +KPX Adieresis Q -39 +KPX Adieresis T -91 +KPX Adieresis U -38 +KPX Adieresis V -74 +KPX Adieresis W -57 +KPX Adieresis Y -96 +KPX Adieresis a -11 +KPX Adieresis b -10 +KPX Adieresis c -17 +KPX Adieresis comma 9 +KPX Adieresis d -17 +KPX Adieresis g -20 +KPX Adieresis guillemotleft -48 +KPX Adieresis guilsinglleft -44 +KPX Adieresis hyphen 2 +KPX Adieresis o -20 +KPX Adieresis period 12 +KPX Adieresis q -13 +KPX Adieresis quotedblright -71 +KPX Adieresis quoteright -67 +KPX Adieresis t -22 +KPX Adieresis u -17 +KPX Adieresis v -42 +KPX Adieresis w -28 +KPX Adieresis y -41 +KPX Agrave C -36 +KPX Agrave G -38 +KPX Agrave O -37 +KPX Agrave Q -39 +KPX Agrave T -91 +KPX Agrave U -37 +KPX Agrave V -74 +KPX Agrave W -57 +KPX Agrave Y -96 +KPX Agrave comma 9 +KPX Agrave period 13 +KPX Aring C -36 +KPX Aring G -38 +KPX Aring O -37 +KPX Aring Q -39 +KPX Aring T -91 +KPX Aring U -37 +KPX Aring V -74 +KPX Aring W -57 +KPX Aring Y -96 +KPX Aring a -11 +KPX Aring b -10 +KPX Aring c -17 +KPX Aring comma 9 +KPX Aring d -17 +KPX Aring e -10 +KPX Aring g -20 +KPX Aring guillemotleft -48 +KPX Aring guilsinglleft -44 +KPX Aring hyphen 2 +KPX Aring o -19 +KPX Aring period 13 +KPX Aring q -13 +KPX Aring quotedblright -71 +KPX Aring quoteright -67 +KPX Aring t -21 +KPX Aring u -17 +KPX Aring v -42 +KPX Aring w -28 +KPX Aring y -41 +KPX Atilde C -38 +KPX Atilde G -40 +KPX Atilde O -39 +KPX Atilde Q -41 +KPX Atilde T -92 +KPX Atilde U -39 +KPX Atilde V -74 +KPX Atilde W -57 +KPX Atilde Y -96 +KPX Atilde comma 9 +KPX Atilde period 11 +KPX B A -41 +KPX B AE -30 +KPX B Aacute -41 +KPX B Acircumflex -41 +KPX B Adieresis -41 +KPX B Aring -41 +KPX B Atilde -41 +KPX B O -18 +KPX B OE -9 +KPX B Oacute -18 +KPX B Ocircumflex -18 +KPX B Odieresis -18 +KPX B Ograve -18 +KPX B Oslash -17 +KPX B V -46 +KPX B W -30 +KPX B Y -63 +KPX C A -34 +KPX C AE -23 +KPX C Aacute -34 +KPX C Adieresis -34 +KPX C Aring -34 +KPX C H -1 +KPX C K -4 +KPX C O -12 +KPX C Oacute -12 +KPX C Odieresis -12 +KPX Ccedilla A -34 +KPX D A -40 +KPX D Aacute -40 +KPX D Acircumflex -40 +KPX D Adieresis -40 +KPX D Agrave -40 +KPX D Aring -40 +KPX D Atilde -40 +KPX D J -4 +KPX D T -24 +KPX D V -37 +KPX D W -20 +KPX D X -40 +KPX D Y -62 +KPX F A -68 +KPX F Aacute -68 +KPX F Acircumflex -68 +KPX F Adieresis -68 +KPX F Agrave -68 +KPX F Aring -68 +KPX F Atilde -68 +KPX F J -33 +KPX F O -24 +KPX F Odieresis -24 +KPX F a -23 +KPX F aacute -23 +KPX F adieresis -23 +KPX F ae -26 +KPX F aring -23 +KPX F comma -84 +KPX F e -12 +KPX F eacute -12 +KPX F hyphen 4 +KPX F i -15 +KPX F j -17 +KPX F o -21 +KPX F oacute -21 +KPX F odieresis -21 +KPX F oe -16 +KPX F oslash -24 +KPX F period -82 +KPX F r -35 +KPX F u -32 +KPX G A -17 +KPX G AE -5 +KPX G Aacute -17 +KPX G Acircumflex -17 +KPX G Adieresis -17 +KPX G Agrave -17 +KPX G Aring -17 +KPX G Atilde -17 +KPX G T -28 +KPX G V -41 +KPX G W -25 +KPX G Y -65 +KPX J A -38 +KPX J AE -29 +KPX J Adieresis -38 +KPX J Aring -38 +KPX K C -59 +KPX K G -61 +KPX K O -60 +KPX K OE -51 +KPX K Oacute -60 +KPX K Odieresis -60 +KPX K S -45 +KPX K T 5 +KPX K a -17 +KPX K adieresis -17 +KPX K ae -17 +KPX K aring -17 +KPX K e -38 +KPX K hyphen -52 +KPX K o -45 +KPX K oacute -45 +KPX K odieresis -45 +KPX K u -35 +KPX K udieresis -35 +KPX K y -74 +KPX L A 0 +KPX L AE 12 +KPX L Aacute 0 +KPX L Adieresis 0 +KPX L Aring 0 +KPX L C -35 +KPX L Ccedilla -36 +KPX L G -40 +KPX L O -39 +KPX L Oacute -39 +KPX L Ocircumflex -39 +KPX L Odieresis -39 +KPX L Ograve -39 +KPX L Otilde -39 +KPX L S -14 +KPX L T -104 +KPX L U -35 +KPX L Udieresis -35 +KPX L V -102 +KPX L W -79 +KPX L Y -121 +KPX L hyphen -20 +KPX L quotedblright -147 +KPX L quoteright -143 +KPX L u -17 +KPX L udieresis -17 +KPX L y -64 +KPX N A -15 +KPX N AE -2 +KPX N Aacute -15 +KPX N Adieresis -15 +KPX N Aring -15 +KPX N C -1 +KPX N Ccedilla -1 +KPX N G -2 +KPX N O -2 +KPX N Oacute -2 +KPX N Odieresis -2 +KPX N a 5 +KPX N aacute 5 +KPX N adieresis 5 +KPX N ae 4 +KPX N aring 5 +KPX N comma 7 +KPX N e 10 +KPX N eacute 10 +KPX N o 1 +KPX N oacute 1 +KPX N odieresis 1 +KPX N oslash 2 +KPX N period 8 +KPX N u 4 +KPX N udieresis 4 +KPX O A -42 +KPX O AE -33 +KPX O Aacute -42 +KPX O Adieresis -42 +KPX O Aring -42 +KPX O T -32 +KPX O V -40 +KPX O W -24 +KPX O X -43 +KPX O Y -65 +KPX Oacute A -42 +KPX Oacute T -32 +KPX Oacute V -40 +KPX Oacute W -24 +KPX Oacute Y -65 +KPX Ocircumflex T -32 +KPX Ocircumflex V -40 +KPX Ocircumflex Y -65 +KPX Odieresis A -42 +KPX Odieresis T -32 +KPX Odieresis V -40 +KPX Odieresis W -24 +KPX Odieresis X -43 +KPX Odieresis Y -65 +KPX Ograve T -32 +KPX Ograve V -40 +KPX Ograve Y -65 +KPX Oslash A -34 +KPX Otilde T -32 +KPX Otilde V -40 +KPX Otilde Y -65 +KPX P A -71 +KPX P AE -62 +KPX P Aacute -71 +KPX P Adieresis -71 +KPX P Aring -71 +KPX P J -52 +KPX P a -14 +KPX P aacute -14 +KPX P adieresis -14 +KPX P ae -15 +KPX P aring -14 +KPX P comma -103 +KPX P e -13 +KPX P eacute -13 +KPX P hyphen -7 +KPX P o -22 +KPX P oacute -22 +KPX P odieresis -22 +KPX P oe -17 +KPX P oslash -26 +KPX P period -101 +KPX R C -12 +KPX R Ccedilla -12 +KPX R G -13 +KPX R O -13 +KPX R OE -3 +KPX R Oacute -13 +KPX R Odieresis -13 +KPX R T -12 +KPX R U -12 +KPX R Udieresis -12 +KPX R V -38 +KPX R W -22 +KPX R Y -50 +KPX R a -4 +KPX R aacute -4 +KPX R adieresis -4 +KPX R ae -5 +KPX R aring -4 +KPX R e 0 +KPX R eacute 0 +KPX R hyphen 10 +KPX R o -9 +KPX R oacute -9 +KPX R odieresis -9 +KPX R oe -4 +KPX R u -6 +KPX R uacute -6 +KPX R udieresis -6 +KPX R y -4 +KPX S A -26 +KPX S AE -14 +KPX S Aacute -26 +KPX S Adieresis -26 +KPX S Aring -26 +KPX S T -15 +KPX S V -36 +KPX S W -20 +KPX S Y -54 +KPX S t -4 +KPX T A -93 +KPX T AE -85 +KPX T Aacute -93 +KPX T Acircumflex -93 +KPX T Adieresis -93 +KPX T Agrave -93 +KPX T Aring -93 +KPX T Atilde -93 +KPX T C -29 +KPX T G -30 +KPX T J -95 +KPX T O -30 +KPX T OE -20 +KPX T Oacute -30 +KPX T Ocircumflex -30 +KPX T Odieresis -30 +KPX T Ograve -30 +KPX T Oslash -36 +KPX T Otilde -30 +KPX T S -7 +KPX T V 9 +KPX T W 15 +KPX T Y 7 +KPX T a -77 +KPX T ae -78 +KPX T c -79 +KPX T colon -104 +KPX T comma -75 +KPX T e -72 +KPX T g -79 +KPX T guillemotleft -107 +KPX T guilsinglleft -103 +KPX T hyphen -53 +KPX T i -9 +KPX T j -11 +KPX T o -81 +KPX T oslash -80 +KPX T period -73 +KPX T r -76 +KPX T s -81 +KPX T semicolon -105 +KPX T u -78 +KPX T v -91 +KPX T w -85 +KPX T y -89 +KPX U A -40 +KPX U AE -30 +KPX U Aacute -40 +KPX U Acircumflex -40 +KPX U Adieresis -40 +KPX U Aring -40 +KPX U Atilde -40 +KPX U comma -17 +KPX U m -3 +KPX U n -5 +KPX U p -3 +KPX U period -12 +KPX U r -5 +KPX Uacute A -40 +KPX Uacute comma -17 +KPX Uacute m -3 +KPX Uacute n -5 +KPX Uacute p -3 +KPX Uacute period -12 +KPX Uacute r -5 +KPX Ucircumflex A -40 +KPX Udieresis A -40 +KPX Udieresis b -4 +KPX Udieresis comma -17 +KPX Udieresis m -3 +KPX Udieresis n -5 +KPX Udieresis p -3 +KPX Udieresis period -12 +KPX Udieresis r -5 +KPX Ugrave A -40 +KPX V A -75 +KPX V AE -65 +KPX V Aacute -75 +KPX V Acircumflex -75 +KPX V Adieresis -75 +KPX V Agrave -75 +KPX V Aring -75 +KPX V Atilde -75 +KPX V C -43 +KPX V G -44 +KPX V O -44 +KPX V Oacute -44 +KPX V Ocircumflex -44 +KPX V Odieresis -44 +KPX V Ograve -44 +KPX V Oslash -42 +KPX V Otilde -44 +KPX V S -31 +KPX V T 12 +KPX V a -51 +KPX V ae -52 +KPX V colon -74 +KPX V comma -76 +KPX V e -46 +KPX V g -54 +KPX V guillemotleft -81 +KPX V guilsinglleft -77 +KPX V hyphen -26 +KPX V i -13 +KPX V o -56 +KPX V oslash -55 +KPX V period -74 +KPX V r -43 +KPX V semicolon -77 +KPX V u -42 +KPX V y -19 +KPX W A -59 +KPX W AE -50 +KPX W Aacute -59 +KPX W Acircumflex -59 +KPX W Adieresis -59 +KPX W Agrave -59 +KPX W Aring -59 +KPX W Atilde -59 +KPX W C -28 +KPX W G -29 +KPX W O -29 +KPX W Oacute -29 +KPX W Ocircumflex -29 +KPX W Odieresis -29 +KPX W Ograve -29 +KPX W Oslash -27 +KPX W Otilde -29 +KPX W S -22 +KPX W T 16 +KPX W a -34 +KPX W ae -34 +KPX W colon -61 +KPX W comma -53 +KPX W e -28 +KPX W g -36 +KPX W guillemotleft -63 +KPX W guilsinglleft -59 +KPX W hyphen -9 +KPX W i -9 +KPX W o -38 +KPX W oslash -37 +KPX W period -51 +KPX W r -33 +KPX W semicolon -63 +KPX W u -32 +KPX W y -9 +KPX X C -39 +KPX X O -40 +KPX X Odieresis -40 +KPX X Q -43 +KPX X a -17 +KPX X e -33 +KPX X hyphen -33 +KPX X o -43 +KPX X u -35 +KPX X y -48 +KPX Y A -91 +KPX Y AE -81 +KPX Y Aacute -91 +KPX Y Acircumflex -91 +KPX Y Adieresis -91 +KPX Y Agrave -91 +KPX Y Aring -91 +KPX Y Atilde -91 +KPX Y C -60 +KPX Y G -61 +KPX Y O -61 +KPX Y Oacute -61 +KPX Y Ocircumflex -61 +KPX Y Odieresis -61 +KPX Y Ograve -61 +KPX Y Oslash -58 +KPX Y Otilde -61 +KPX Y S -39 +KPX Y T 14 +KPX Y a -71 +KPX Y ae -71 +KPX Y colon -90 +KPX Y comma -85 +KPX Y e -66 +KPX Y g -73 +KPX Y guillemotleft -105 +KPX Y guilsinglleft -101 +KPX Y hyphen -55 +KPX Y i -11 +KPX Y o -76 +KPX Y oslash -74 +KPX Y p -53 +KPX Y period -84 +KPX Y semicolon -93 +KPX Y u -57 +KPX Y v -36 +KPX Z v -21 +KPX Z y -19 +KPX a j -7 +KPX a quoteright -14 +KPX a v -23 +KPX a w -10 +KPX a y -24 +KPX aacute v -23 +KPX aacute w -10 +KPX aacute y -24 +KPX adieresis v -23 +KPX adieresis w -10 +KPX adieresis y -24 +KPX ae v -21 +KPX ae w -7 +KPX ae y -23 +KPX agrave v -23 +KPX agrave w -10 +KPX agrave y -24 +KPX aring v -23 +KPX aring w -10 +KPX aring y -24 +KPX b v -23 +KPX b w -9 +KPX b y -25 +KPX c h -9 +KPX c k -5 +KPX comma one -79 +KPX comma quotedblright -39 +KPX comma quoteright -35 +KPX e quoteright -13 +KPX e t -9 +KPX e v -22 +KPX e w -9 +KPX e x -25 +KPX e y -25 +KPX eacute v -22 +KPX eacute w -9 +KPX eacute y -25 +KPX ecircumflex v -22 +KPX ecircumflex w -9 +KPX ecircumflex y -25 +KPX eight four 2 +KPX eight one -32 +KPX eight seven -15 +KPX f a -6 +KPX f aacute -6 +KPX f adieresis -6 +KPX f ae -6 +KPX f aring -6 +KPX f e -6 +KPX f eacute -6 +KPX f f 14 +KPX f i -13 +KPX f j -15 +KPX f l -13 +KPX f o -16 +KPX f oacute -16 +KPX f odieresis -16 +KPX f oe -11 +KPX f oslash -16 +KPX f quoteright 0 +KPX f s -10 +KPX f t 14 +KPX five four -3 +KPX five one -37 +KPX five seven -17 +KPX four four 0 +KPX four one -55 +KPX four seven -33 +KPX g a -3 +KPX g adieresis -3 +KPX g ae -4 +KPX g aring -3 +KPX g e 1 +KPX g eacute 1 +KPX g l -5 +KPX g oacute -8 +KPX g odieresis -8 +KPX g r -3 +KPX guillemotright A -56 +KPX guillemotright AE -46 +KPX guillemotright Aacute -56 +KPX guillemotright Adieresis -56 +KPX guillemotright Aring -56 +KPX guillemotright T -115 +KPX guillemotright V -84 +KPX guillemotright W -65 +KPX guillemotright Y -117 +KPX guilsinglright A -52 +KPX guilsinglright AE -42 +KPX guilsinglright Aacute -52 +KPX guilsinglright Adieresis -52 +KPX guilsinglright Aring -52 +KPX guilsinglright T -110 +KPX guilsinglright V -79 +KPX guilsinglright W -60 +KPX guilsinglright Y -113 +KPX h quoteright -15 +KPX h y -25 +KPX hyphen A -7 +KPX hyphen AE 2 +KPX hyphen Aacute -7 +KPX hyphen Adieresis -7 +KPX hyphen Aring -7 +KPX hyphen T -64 +KPX hyphen V -34 +KPX hyphen W -15 +KPX hyphen Y -71 +KPX i T -12 +KPX i j -7 +KPX k a -13 +KPX k aacute -13 +KPX k adieresis -13 +KPX k ae -15 +KPX k aring -13 +KPX k comma -3 +KPX k e -19 +KPX k eacute -19 +KPX k g -26 +KPX k hyphen -31 +KPX k o -28 +KPX k oacute -28 +KPX k odieresis -28 +KPX k period -3 +KPX k s -23 +KPX k u -8 +KPX k udieresis -8 +KPX l v -14 +KPX l y -11 +KPX m p -1 +KPX m v -23 +KPX m w -9 +KPX m y -23 +KPX n T -87 +KPX n p -2 +KPX n quoteright -15 +KPX n v -24 +KPX n w -11 +KPX n y -25 +KPX nine four -6 +KPX nine one -30 +KPX nine seven -23 +KPX o T -90 +KPX o quoteright -19 +KPX o t -13 +KPX o v -27 +KPX o w -13 +KPX o x -30 +KPX o y -29 +KPX oacute v -27 +KPX oacute w -13 +KPX oacute y -29 +KPX ocircumflex t -13 +KPX odieresis t -13 +KPX odieresis v -27 +KPX odieresis w -13 +KPX odieresis x -30 +KPX odieresis y -29 +KPX ograve v -27 +KPX ograve w -13 +KPX ograve y -29 +KPX one comma -51 +KPX one eight -47 +KPX one five -50 +KPX one four -70 +KPX one nine -47 +KPX one one -92 +KPX one period -49 +KPX one seven -72 +KPX one six -48 +KPX one three -53 +KPX one two -56 +KPX one zero -44 +KPX p t -10 +KPX p y -25 +KPX period one -80 +KPX period quotedblright -39 +KPX period quoteright -35 +KPX q c -3 +KPX q u -3 +KPX quotedblbase A 7 +KPX quotedblbase AE 19 +KPX quotedblbase T -79 +KPX quotedblbase V -77 +KPX quotedblbase W -54 +KPX quotedblbase Y -96 +KPX quotedblleft A -72 +KPX quotedblleft AE -64 +KPX quotedblleft Aacute -72 +KPX quotedblleft Adieresis -72 +KPX quotedblleft Aring -72 +KPX quotedblleft T -11 +KPX quotedblleft V 0 +KPX quotedblleft W 9 +KPX quotedblleft Y -15 +KPX quotedblright A -72 +KPX quotedblright AE -64 +KPX quotedblright Aacute -72 +KPX quotedblright Adieresis -72 +KPX quotedblright Aring -72 +KPX quotedblright T -7 +KPX quotedblright V 1 +KPX quotedblright W 11 +KPX quotedblright Y -14 +KPX quoteleft A -76 +KPX quoteleft AE -69 +KPX quoteleft Aacute -76 +KPX quoteleft Adieresis -76 +KPX quoteleft Aring -76 +KPX quoteleft T -15 +KPX quoteleft V -4 +KPX quoteleft W 5 +KPX quoteleft Y -20 +KPX quoteright A -80 +KPX quoteright AE -72 +KPX quoteright Aacute -80 +KPX quoteright Adieresis -80 +KPX quoteright Aring -80 +KPX quoteright comma -53 +KPX quoteright d -30 +KPX quoteright o -34 +KPX quoteright period -51 +KPX quoteright r -20 +KPX quoteright s -27 +KPX quoteright t -11 +KPX quoteright v -11 +KPX quoteright w -4 +KPX quoteright y -9 +KPX r a -1 +KPX r aacute -1 +KPX r acircumflex -1 +KPX r adieresis -1 +KPX r ae -2 +KPX r agrave -1 +KPX r aring -1 +KPX r c -6 +KPX r ccedilla -6 +KPX r colon -36 +KPX r comma -64 +KPX r d -5 +KPX r e 2 +KPX r eacute 2 +KPX r ecircumflex 2 +KPX r egrave 2 +KPX r f 15 +KPX r g -7 +KPX r h -12 +KPX r hyphen -40 +KPX r i -12 +KPX r j -13 +KPX r k -8 +KPX r l -12 +KPX r m -8 +KPX r n -10 +KPX r o -7 +KPX r oacute -7 +KPX r ocircumflex -7 +KPX r odieresis -7 +KPX r oe -2 +KPX r ograve -7 +KPX r oslash -12 +KPX r p -7 +KPX r period -63 +KPX r q -2 +KPX r quoteright 4 +KPX r r -10 +KPX r s -4 +KPX r semicolon -37 +KPX r t 15 +KPX r u -8 +KPX r v 12 +KPX r w 17 +KPX r x 7 +KPX r y 14 +KPX r z 2 +KPX s quoteright -12 +KPX s t -9 +KPX seven colon -71 +KPX seven comma -95 +KPX seven eight -10 +KPX seven five -28 +KPX seven four -70 +KPX seven one -21 +KPX seven period -94 +KPX seven seven 2 +KPX seven six -21 +KPX seven three -7 +KPX seven two -11 +KPX six four -1 +KPX six one -29 +KPX six seven -13 +KPX t S -9 +KPX t a -3 +KPX t aacute -3 +KPX t adieresis -3 +KPX t ae -5 +KPX t aring -3 +KPX t colon -41 +KPX t e -5 +KPX t eacute -5 +KPX t h -9 +KPX t o -15 +KPX t oacute -15 +KPX t odieresis -15 +KPX t quoteright -3 +KPX t semicolon -42 +KPX three four -2 +KPX three one -34 +KPX three seven -19 +KPX two four -16 +KPX two one -24 +KPX two seven -12 +KPX u quoteright -8 +KPX v a -21 +KPX v aacute -21 +KPX v acircumflex -21 +KPX v adieresis -21 +KPX v ae -21 +KPX v agrave -21 +KPX v aring -21 +KPX v atilde -21 +KPX v c -25 +KPX v colon -41 +KPX v comma -57 +KPX v e -18 +KPX v eacute -18 +KPX v ecircumflex -18 +KPX v egrave -18 +KPX v g -26 +KPX v hyphen -5 +KPX v l -12 +KPX v o -28 +KPX v oacute -28 +KPX v odieresis -28 +KPX v ograve -28 +KPX v oslash -28 +KPX v period -55 +KPX v s -25 +KPX v semicolon -43 +KPX w a -11 +KPX w aacute -11 +KPX w acircumflex -11 +KPX w adieresis -11 +KPX w ae -12 +KPX w agrave -11 +KPX w aring -11 +KPX w atilde -11 +KPX w c -12 +KPX w colon -36 +KPX w comma -38 +KPX w e -5 +KPX w eacute -5 +KPX w ecircumflex -5 +KPX w egrave -5 +KPX w g -13 +KPX w hyphen 7 +KPX w l -8 +KPX w o -15 +KPX w oacute -15 +KPX w odieresis -15 +KPX w ograve -15 +KPX w oslash -14 +KPX w period -36 +KPX w s -15 +KPX w semicolon -38 +KPX x a -22 +KPX x c -27 +KPX x e -20 +KPX x eacute -20 +KPX x o -30 +KPX x q -23 +KPX y a -20 +KPX y aacute -20 +KPX y acircumflex -20 +KPX y adieresis -20 +KPX y ae -20 +KPX y agrave -20 +KPX y aring -20 +KPX y atilde -20 +KPX y c -26 +KPX y colon -40 +KPX y comma -58 +KPX y e -19 +KPX y eacute -19 +KPX y ecircumflex -19 +KPX y egrave -19 +KPX y g -27 +KPX y hyphen -4 +KPX y l -11 +KPX y o -28 +KPX y oacute -28 +KPX y odieresis -28 +KPX y ograve -28 +KPX y oslash -27 +KPX y period -55 +KPX y s -24 +KPX y semicolon -43 +KPX zero four -3 +KPX zero one -29 +KPX zero seven -21 +EndKernPairs +EndKernData +EndFontMetrics diff --git a/Master/xemtex/gsfonts/n019024l.pfb b/Master/xemtex/gsfonts/n019024l.pfb new file mode 100644 index 00000000000..9274c31d942 Binary files /dev/null and b/Master/xemtex/gsfonts/n019024l.pfb differ diff --git a/Master/xemtex/gsfonts/n019024l.pfm b/Master/xemtex/gsfonts/n019024l.pfm new file mode 100644 index 00000000000..40aa6e1ea06 Binary files /dev/null and b/Master/xemtex/gsfonts/n019024l.pfm differ diff --git a/Master/xemtex/gsfonts/n019043l.afm b/Master/xemtex/gsfonts/n019043l.afm new file mode 100644 index 00000000000..3974ed1f8d0 --- /dev/null +++ b/Master/xemtex/gsfonts/n019043l.afm @@ -0,0 +1,1341 @@ +StartFontMetrics 3.0 +Comment Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development +Comment Creation Date: 12/22/1999 +Comment See the file PUBLIC (Aladdin Free Public License) for license conditions. +FontName NimbusSanL-ReguCond +FullName Nimbus Sans L Regular Condensed +FamilyName Nimbus Sans L +Weight Regular +ItalicAngle 0.0 +IsFixedPitch false +UnderlinePosition -100 +UnderlineThickness 50 +Version 1.05 +Notice (URW)++,Copyright 1999 by (URW)++ Design & Development +EncodingScheme AdobeStandardEncoding +FontBBox -136 -282 820 951 +CapHeight 718 +XHeight 523 +Descender -207 +Ascender 718 +StartCharMetrics 316 +C 32 ; WX 228 ; N space ; B 21 0 21 0 ; +C 33 ; WX 228 ; N exclam ; B 74 0 153 718 ; +C 34 ; WX 291 ; N quotedbl ; B 57 463 234 718 ; +C 35 ; WX 456 ; N numbersign ; B 23 0 434 688 ; +C 36 ; WX 456 ; N dollar ; B 26 -115 427 775 ; +C 37 ; WX 729 ; N percent ; B 32 -19 697 703 ; +C 38 ; WX 547 ; N ampersand ; B 36 -15 529 718 ; +C 39 ; WX 182 ; N quoteright ; B 43 462 129 718 ; +C 40 ; WX 273 ; N parenleft ; B 56 -207 245 733 ; +C 41 ; WX 273 ; N parenright ; B 28 -207 217 733 ; +C 42 ; WX 319 ; N asterisk ; B 32 431 286 718 ; +C 43 ; WX 479 ; N plus ; B 32 0 447 505 ; +C 44 ; WX 228 ; N comma ; B 71 -147 157 107 ; +C 45 ; WX 273 ; N hyphen ; B 36 232 237 322 ; +C 46 ; WX 228 ; N period ; B 71 0 157 107 ; +C 47 ; WX 228 ; N slash ; B -14 -19 242 737 ; +C 48 ; WX 456 ; N zero ; B 30 -19 426 703 ; +C 49 ; WX 456 ; N one ; B 83 0 294 703 ; +C 50 ; WX 456 ; N two ; B 21 0 416 703 ; +C 51 ; WX 456 ; N three ; B 28 -19 428 703 ; +C 52 ; WX 456 ; N four ; B 20 0 429 703 ; +C 53 ; WX 456 ; N five ; B 26 -19 421 688 ; +C 54 ; WX 456 ; N six ; B 31 -19 425 703 ; +C 55 ; WX 456 ; N seven ; B 30 0 429 688 ; +C 56 ; WX 456 ; N eight ; B 31 -19 424 703 ; +C 57 ; WX 456 ; N nine ; B 34 -19 421 703 ; +C 58 ; WX 228 ; N colon ; B 71 0 157 516 ; +C 59 ; WX 228 ; N semicolon ; B 71 -147 157 516 ; +C 60 ; WX 479 ; N less ; B 39 10 440 496 ; +C 61 ; WX 479 ; N equal ; B 32 115 447 390 ; +C 62 ; WX 479 ; N greater ; B 39 10 440 496 ; +C 63 ; WX 456 ; N question ; B 46 0 403 727 ; +C 64 ; WX 832 ; N at ; B 121 -19 712 737 ; +C 65 ; WX 547 ; N A ; B 11 0 536 718 ; +C 66 ; WX 547 ; N B ; B 61 0 514 718 ; +C 67 ; WX 592 ; N C ; B 36 -19 558 737 ; +C 68 ; WX 592 ; N D ; B 66 0 553 718 ; +C 69 ; WX 547 ; N E ; B 71 0 505 718 ; +C 70 ; WX 501 ; N F ; B 71 0 478 718 ; +C 71 ; WX 638 ; N G ; B 39 -19 577 737 ; +C 72 ; WX 592 ; N H ; B 63 0 530 718 ; +C 73 ; WX 228 ; N I ; B 75 0 154 718 ; +C 74 ; WX 410 ; N J ; B 14 -19 351 718 ; +C 75 ; WX 547 ; N K ; B 62 0 544 718 ; +C 76 ; WX 456 ; N L ; B 62 0 440 718 ; +C 77 ; WX 683 ; N M ; B 60 0 624 718 ; +C 78 ; WX 592 ; N N ; B 62 0 530 718 ; +C 79 ; WX 638 ; N O ; B 32 -19 606 737 ; +C 80 ; WX 547 ; N P ; B 71 0 510 718 ; +C 81 ; WX 638 ; N Q ; B 32 -56 606 737 ; +C 82 ; WX 592 ; N R ; B 72 0 561 718 ; +C 83 ; WX 547 ; N S ; B 40 -19 508 737 ; +C 84 ; WX 501 ; N T ; B 11 0 490 718 ; +C 85 ; WX 592 ; N U ; B 65 -19 528 718 ; +C 86 ; WX 547 ; N V ; B 16 0 531 718 ; +C 87 ; WX 774 ; N W ; B 13 0 761 718 ; +C 88 ; WX 547 ; N X ; B 16 0 531 718 ; +C 89 ; WX 547 ; N Y ; B 11 0 535 718 ; +C 90 ; WX 501 ; N Z ; B 19 0 482 718 ; +C 91 ; WX 228 ; N bracketleft ; B 52 -196 205 722 ; +C 92 ; WX 228 ; N backslash ; B -14 -19 242 737 ; +C 93 ; WX 228 ; N bracketright ; B 23 -196 176 722 ; +C 94 ; WX 385 ; N asciicircum ; B -11 264 396 688 ; +C 95 ; WX 456 ; N underscore ; B 0 -125 456 -75 ; +C 96 ; WX 182 ; N quoteleft ; B 53 469 139 725 ; +C 97 ; WX 456 ; N a ; B 30 -15 435 538 ; +C 98 ; WX 456 ; N b ; B 48 -15 424 718 ; +C 99 ; WX 410 ; N c ; B 25 -15 391 538 ; +C 100 ; WX 456 ; N d ; B 29 -15 409 718 ; +C 101 ; WX 456 ; N e ; B 33 -15 423 538 ; +C 102 ; WX 228 ; N f ; B 11 0 215 728 ; +C 103 ; WX 456 ; N g ; B 33 -220 409 538 ; +C 104 ; WX 456 ; N h ; B 53 0 403 718 ; +C 105 ; WX 182 ; N i ; B 55 0 127 718 ; +C 106 ; WX 182 ; N j ; B -13 -210 127 718 ; +C 107 ; WX 410 ; N k ; B 55 0 411 718 ; +C 108 ; WX 182 ; N l ; B 55 0 127 718 ; +C 109 ; WX 683 ; N m ; B 53 0 631 538 ; +C 110 ; WX 456 ; N n ; B 53 0 403 538 ; +C 111 ; WX 456 ; N o ; B 29 -14 427 538 ; +C 112 ; WX 456 ; N p ; B 48 -207 424 538 ; +C 113 ; WX 456 ; N q ; B 29 -207 405 538 ; +C 114 ; WX 273 ; N r ; B 63 0 272 538 ; +C 115 ; WX 410 ; N s ; B 26 -15 380 538 ; +C 116 ; WX 228 ; N t ; B 11 -7 211 669 ; +C 117 ; WX 456 ; N u ; B 56 -15 401 523 ; +C 118 ; WX 410 ; N v ; B 7 0 403 523 ; +C 119 ; WX 592 ; N w ; B 11 0 581 523 ; +C 120 ; WX 410 ; N x ; B 9 0 402 523 ; +C 121 ; WX 410 ; N y ; B 9 -214 401 523 ; +C 122 ; WX 410 ; N z ; B 25 0 385 523 ; +C 123 ; WX 274 ; N braceleft ; B 34 -196 239 722 ; +C 124 ; WX 213 ; N bar ; B 77 -19 137 737 ; +C 125 ; WX 274 ; N braceright ; B 34 -196 239 722 ; +C 126 ; WX 479 ; N asciitilde ; B 50 181 429 322 ; +C 161 ; WX 273 ; N exclamdown ; B 97 -195 176 523 ; +C 162 ; WX 456 ; N cent ; B 42 -115 421 623 ; +C 163 ; WX 456 ; N sterling ; B 27 -16 442 718 ; +C 164 ; WX 137 ; N fraction ; B -136 -19 273 703 ; +C 165 ; WX 456 ; N yen ; B 2 0 453 688 ; +C 166 ; WX 456 ; N florin ; B -9 -207 411 737 ; +C 167 ; WX 456 ; N section ; B 35 -191 420 737 ; +C 168 ; WX 456 ; N currency ; B 23 99 433 603 ; +C 169 ; WX 157 ; N quotesingle ; B 48 463 108 718 ; +C 170 ; WX 273 ; N quotedblleft ; B 31 469 252 725 ; +C 171 ; WX 456 ; N guillemotleft ; B 80 108 376 446 ; +C 172 ; WX 273 ; N guilsinglleft ; B 72 108 201 446 ; +C 173 ; WX 273 ; N guilsinglright ; B 72 108 201 446 ; +C 174 ; WX 410 ; N fi ; B 11 0 356 728 ; +C 175 ; WX 410 ; N fl ; B 11 0 354 728 ; +C 177 ; WX 456 ; N endash ; B 0 240 456 313 ; +C 178 ; WX 456 ; N dagger ; B 35 -159 421 718 ; +C 179 ; WX 456 ; N daggerdbl ; B 35 -159 421 718 ; +C 180 ; WX 228 ; N periodcentered ; B 63 190 166 315 ; +C 182 ; WX 440 ; N paragraph ; B 15 -173 408 718 ; +C 183 ; WX 287 ; N bullet ; B 15 202 273 517 ; +C 184 ; WX 182 ; N quotesinglbase ; B 43 -149 129 107 ; +C 185 ; WX 273 ; N quotedblbase ; B 21 -149 242 107 ; +C 186 ; WX 273 ; N quotedblright ; B 21 462 242 718 ; +C 187 ; WX 456 ; N guillemotright ; B 80 108 376 446 ; +C 188 ; WX 820 ; N ellipsis ; B 94 0 726 107 ; +C 189 ; WX 820 ; N perthousand ; B 6 -19 815 703 ; +C 191 ; WX 501 ; N questiondown ; B 75 -201 432 525 ; +C 193 ; WX 273 ; N grave ; B 11 593 173 734 ; +C 194 ; WX 273 ; N acute ; B 100 593 262 734 ; +C 195 ; WX 273 ; N circumflex ; B 17 593 256 734 ; +C 196 ; WX 273 ; N tilde ; B -3 606 276 722 ; +C 197 ; WX 273 ; N macron ; B 8 627 265 684 ; +C 198 ; WX 273 ; N breve ; B 11 595 263 731 ; +C 199 ; WX 273 ; N dotaccent ; B 99 604 174 706 ; +C 200 ; WX 273 ; N dieresis ; B 33 604 240 706 ; +C 202 ; WX 273 ; N ring ; B 61 572 212 756 ; +C 203 ; WX 273 ; N cedilla ; B 37 -225 212 0 ; +C 205 ; WX 273 ; N hungarumlaut ; B 25 593 335 734 ; +C 206 ; WX 273 ; N ogonek ; B 60 -225 235 0 ; +C 207 ; WX 273 ; N caron ; B 17 593 256 734 ; +C 208 ; WX 820 ; N emdash ; B 0 240 820 313 ; +C 225 ; WX 820 ; N AE ; B 7 0 780 718 ; +C 227 ; WX 303 ; N ordfeminine ; B 20 304 284 737 ; +C 232 ; WX 456 ; N Lslash ; B -16 0 440 718 ; +C 233 ; WX 638 ; N Oslash ; B 32 -19 607 737 ; +C 234 ; WX 820 ; N OE ; B 30 -19 791 737 ; +C 235 ; WX 299 ; N ordmasculine ; B 20 304 280 737 ; +C 241 ; WX 729 ; N ae ; B 30 -15 695 538 ; +C 245 ; WX 228 ; N dotlessi ; B 78 0 150 523 ; +C 248 ; WX 182 ; N lslash ; B -16 0 198 718 ; +C 249 ; WX 501 ; N oslash ; B 23 -22 440 545 ; +C 250 ; WX 774 ; N oe ; B 29 -15 740 538 ; +C 251 ; WX 501 ; N germandbls ; B 55 -15 468 728 ; +C -1 ; WX 592 ; N Udieresis ; B 65 -19 528 901 ; +C -1 ; WX 592 ; N Uacute ; B 65 -19 528 929 ; +C -1 ; WX 547 ; N Scedilla ; B 35 -225 508 737 ; +C -1 ; WX 501 ; N Tcaron ; B 11 0 490 929 ; +C -1 ; WX 547 ; N Scaron ; B 40 -19 508 929 ; +C -1 ; WX 592 ; N Rcaron ; B 72 0 561 929 ; +C -1 ; WX 592 ; N Racute ; B 72 0 561 903 ; +C -1 ; WX 547 ; N Sacute ; B 40 -19 508 903 ; +C -1 ; WX 638 ; N Otilde ; B 32 -19 606 917 ; +C -1 ; WX 456 ; N ucircumflex ; B 56 -15 401 734 ; +C -1 ; WX 638 ; N Ohungarumlaut ; B 32 -19 606 929 ; +C -1 ; WX 592 ; N Uhungarumlaut ; B 65 -19 528 929 ; +C -1 ; WX 547 ; N Yacute ; B 11 0 535 929 ; +C -1 ; WX 592 ; N Eth ; B 0 0 553 718 ; +C -1 ; WX 592 ; N Dcroat ; B 0 0 553 718 ; +C -1 ; WX 501 ; N Zacute ; B 19 0 482 903 ; +C -1 ; WX 592 ; N Uring ; B 65 -19 528 951 ; +C -1 ; WX 456 ; N gbreve ; B 33 -220 409 731 ; +C -1 ; WX 456 ; N eogonek ; B 33 -225 423 538 ; +C -1 ; WX 456 ; N edotaccent ; B 33 -15 423 706 ; +C -1 ; WX 456 ; N ecaron ; B 33 -15 423 734 ; +C -1 ; WX 592 ; N Ugrave ; B 65 -19 528 929 ; +C -1 ; WX 547 ; N Thorn ; B 71 0 510 718 ; +C -1 ; WX 456 ; N eacute ; B 33 -15 423 734 ; +C -1 ; WX 456 ; N edieresis ; B 33 -15 423 706 ; +C -1 ; WX 496 ; N dcaron ; B 29 -15 516 718 ; +C -1 ; WX 410 ; N ccedilla ; B 25 -225 391 538 ; +C -1 ; WX 410 ; N ccaron ; B 25 -15 391 734 ; +C -1 ; WX 410 ; N cacute ; B 25 -15 391 734 ; +C -1 ; WX 456 ; N aogonek ; B 30 -225 466 538 ; +C -1 ; WX 456 ; N aring ; B 30 -15 435 769 ; +C -1 ; WX 456 ; N atilde ; B 30 -15 435 722 ; +C -1 ; WX 456 ; N abreve ; B 30 -15 435 731 ; +C -1 ; WX 456 ; N egrave ; B 33 -15 423 734 ; +C -1 ; WX 456 ; N agrave ; B 30 -15 435 734 ; +C -1 ; WX 456 ; N aacute ; B 30 -15 435 734 ; +C -1 ; WX 456 ; N adieresis ; B 30 -15 435 706 ; +C -1 ; WX 592 ; N Uogonek ; B 65 -225 528 718 ; +C -1 ; WX 456 ; N ugrave ; B 56 -15 401 734 ; +C -1 ; WX 456 ; N uacute ; B 56 -15 401 734 ; +C -1 ; WX 456 ; N udieresis ; B 56 -15 401 706 ; +C -1 ; WX 248 ; N tcaron ; B 11 -7 268 718 ; +C -1 ; WX 410 ; N scommaaccent ; B 26 -282 380 538 ; +C -1 ; WX 501 ; N Zcaron ; B 19 0 482 929 ; +C -1 ; WX 456 ; N ecircumflex ; B 33 -15 423 734 ; +C -1 ; WX 592 ; N Ucircumflex ; B 65 -19 528 929 ; +C -1 ; WX 456 ; N acircumflex ; B 30 -15 435 734 ; +C -1 ; WX 501 ; N Zdotaccent ; B 19 0 482 901 ; +C -1 ; WX 410 ; N scaron ; B 26 -15 380 734 ; +C -1 ; WX 547 ; N Amacron ; B 11 0 536 879 ; +C -1 ; WX 410 ; N sacute ; B 26 -15 380 734 ; +C -1 ; WX 501 ; N Tcommaaccent ; B 11 -282 490 718 ; +C -1 ; WX 547 ; N Ydieresis ; B 11 0 535 901 ; +C -1 ; WX 456 ; N thorn ; B 48 -207 424 718 ; +C -1 ; WX 547 ; N Emacron ; B 71 0 505 879 ; +C -1 ; WX 638 ; N Ograve ; B 32 -19 606 929 ; +C -1 ; WX 638 ; N Oacute ; B 32 -19 606 929 ; +C -1 ; WX 638 ; N Odieresis ; B 32 -19 606 901 ; +C -1 ; WX 592 ; N Ntilde ; B 62 0 530 917 ; +C -1 ; WX 592 ; N Ncaron ; B 62 0 530 929 ; +C -1 ; WX 592 ; N Nacute ; B 62 0 530 903 ; +C -1 ; WX 456 ; N Lcaron ; B 62 0 440 718 ; +C -1 ; WX 456 ; N Lacute ; B 62 0 440 903 ; +C -1 ; WX 228 ; N Idotaccent ; B 75 0 154 901 ; +C -1 ; WX 273 ; N racute ; B 63 0 272 734 ; +C -1 ; WX 228 ; N Icircumflex ; B -5 0 234 929 ; +C -1 ; WX 456 ; N ohungarumlaut ; B 29 -14 427 734 ; +C -1 ; WX 456 ; N otilde ; B 29 -14 427 722 ; +C -1 ; WX 510 ; N Euro ; B 0 -12 495 730 ; +C -1 ; WX 456 ; N ocircumflex ; B 29 -14 427 734 ; +C -1 ; WX 273 ; N onesuperior ; B 35 281 182 703 ; +C -1 ; WX 273 ; N twosuperior ; B 3 280 265 714 ; +C -1 ; WX 273 ; N threesuperior ; B 4 270 266 714 ; +C -1 ; WX 228 ; N Igrave ; B -11 0 154 929 ; +C -1 ; WX 228 ; N Iacute ; B 75 0 240 903 ; +C -1 ; WX 228 ; N Imacron ; B -15 0 242 879 ; +C -1 ; WX 228 ; N Iogonek ; B 10 -225 185 718 ; +C -1 ; WX 228 ; N Idieresis ; B 11 0 218 901 ; +C -1 ; WX 638 ; N Gbreve ; B 39 -19 577 926 ; +C -1 ; WX 592 ; N Umacron ; B 65 -19 528 879 ; +C -1 ; WX 547 ; N Kcommaaccent ; B 62 -282 544 718 ; +C -1 ; WX 456 ; N ograve ; B 29 -14 427 734 ; +C -1 ; WX 547 ; N Scommaaccent ; B 40 -282 508 737 ; +C -1 ; WX 547 ; N Eogonek ; B 71 -225 536 718 ; +C -1 ; WX 456 ; N oacute ; B 29 -14 427 734 ; +C -1 ; WX 547 ; N Edotaccent ; B 71 0 505 901 ; +C -1 ; WX 182 ; N iogonek ; B -17 -225 158 718 ; +C -1 ; WX 456 ; N gcommaaccent ; B 33 -220 409 813 ; +C -1 ; WX 456 ; N odieresis ; B 29 -14 427 706 ; +C -1 ; WX 456 ; N ntilde ; B 53 0 403 722 ; +C -1 ; WX 456 ; N ncaron ; B 53 0 403 734 ; +C -1 ; WX 547 ; N Ecaron ; B 71 0 505 929 ; +C -1 ; WX 547 ; N Ecircumflex ; B 71 0 505 929 ; +C -1 ; WX 410 ; N scedilla ; B 26 -225 380 538 ; +C -1 ; WX 273 ; N rcaron ; B 44 0 283 734 ; +C -1 ; WX 547 ; N Egrave ; B 71 0 505 929 ; +C -1 ; WX 547 ; N Eacute ; B 71 0 505 929 ; +C -1 ; WX 638 ; N Gcommaaccent ; B 39 -282 577 737 ; +C -1 ; WX 592 ; N Rcommaaccent ; B 72 -282 561 718 ; +C -1 ; WX 547 ; N Edieresis ; B 71 0 505 901 ; +C -1 ; WX 456 ; N nacute ; B 53 0 403 734 ; +C -1 ; WX 456 ; N uogonek ; B 56 -225 432 523 ; +C -1 ; WX 456 ; N umacron ; B 56 -15 401 684 ; +C -1 ; WX 592 ; N Dcaron ; B 66 0 553 929 ; +C -1 ; WX 212 ; N lcaron ; B 55 0 232 718 ; +C -1 ; WX 592 ; N Ccaron ; B 36 -19 558 929 ; +C -1 ; WX 592 ; N Cacute ; B 36 -19 558 903 ; +C -1 ; WX 592 ; N Ccedilla ; B 36 -225 558 737 ; +C -1 ; WX 328 ; N degree ; B 44 411 284 703 ; +C -1 ; WX 547 ; N Aogonek ; B 11 -225 567 718 ; +C -1 ; WX 479 ; N minus ; B 32 216 447 289 ; +C -1 ; WX 479 ; N multiply ; B 32 0 447 506 ; +C -1 ; WX 479 ; N divide ; B 32 -19 447 524 ; +C -1 ; WX 547 ; N Aring ; B 11 0 536 944 ; +C -1 ; WX 820 ; N trademark ; B 38 306 740 718 ; +C -1 ; WX 273 ; N rcommaaccent ; B 57 -282 272 538 ; +C -1 ; WX 182 ; N lacute ; B 55 0 217 903 ; +C -1 ; WX 456 ; N omacron ; B 29 -14 427 684 ; +C -1 ; WX 547 ; N Atilde ; B 11 0 536 917 ; +C -1 ; WX 228 ; N icircumflex ; B -5 0 234 734 ; +C -1 ; WX 228 ; N igrave ; B -11 0 151 734 ; +C -1 ; WX 456 ; N ncommaaccent ; B 53 -282 403 538 ; +C -1 ; WX 182 ; N lcommaaccent ; B 50 -282 133 718 ; +C -1 ; WX 479 ; N plusminus ; B 32 0 447 561 ; +C -1 ; WX 684 ; N onehalf ; B 35 -19 634 703 ; +C -1 ; WX 684 ; N onequarter ; B 60 -19 620 703 ; +C -1 ; WX 684 ; N threequarters ; B 37 -19 664 714 ; +C -1 ; WX 228 ; N iacute ; B 78 0 240 734 ; +C -1 ; WX 547 ; N Abreve ; B 11 0 536 926 ; +C -1 ; WX 410 ; N kcommaaccent ; B 55 -282 411 718 ; +C -1 ; WX 638 ; N Omacron ; B 32 -19 606 879 ; +C -1 ; WX 228 ; N imacron ; B -15 0 242 684 ; +C -1 ; WX 456 ; N emacron ; B 33 -15 423 684 ; +C -1 ; WX 456 ; N amacron ; B 30 -15 435 684 ; +C -1 ; WX 228 ; N tcommaaccent ; B 11 -282 211 669 ; +C -1 ; WX 410 ; N ydieresis ; B 9 -214 401 706 ; +C -1 ; WX 410 ; N zdotaccent ; B 25 0 385 706 ; +C -1 ; WX 410 ; N zcaron ; B 25 0 385 734 ; +C -1 ; WX 410 ; N zacute ; B 25 0 385 734 ; +C -1 ; WX 410 ; N yacute ; B 9 -214 401 734 ; +C -1 ; WX 456 ; N uhungarumlaut ; B 56 -15 427 734 ; +C -1 ; WX 456 ; N eth ; B 29 -15 428 737 ; +C -1 ; WX 456 ; N uring ; B 56 -15 401 756 ; +C -1 ; WX 638 ; N Ocircumflex ; B 32 -19 606 929 ; +C -1 ; WX 273 ; N commaaccent ; B 95 -282 178 -60 ; +C -1 ; WX 604 ; N copyright ; B -11 -19 617 737 ; +C -1 ; WX 604 ; N registered ; B -11 -19 617 737 ; +C -1 ; WX 547 ; N Acircumflex ; B 11 0 536 929 ; +C -1 ; WX 228 ; N idieresis ; B 11 0 218 706 ; +C -1 ; WX 405 ; N lozenge ; B 15 0 382 740 ; +C -1 ; WX 502 ; N Delta ; B 5 0 499 688 ; +C -1 ; WX 479 ; N notequal ; B 32 10 447 495 ; +C -1 ; WX 450 ; N radical ; B -5 -74 433 927 ; +C -1 ; WX 547 ; N Agrave ; B 11 0 536 929 ; +C -1 ; WX 547 ; N Aacute ; B 11 0 536 929 ; +C -1 ; WX 479 ; N lessequal ; B 39 0 439 594 ; +C -1 ; WX 479 ; N greaterequal ; B 39 0 439 594 ; +C -1 ; WX 479 ; N logicalnot ; B 32 108 447 390 ; +C -1 ; WX 585 ; N summation ; B 12 -123 570 752 ; +C -1 ; WX 405 ; N partialdiff ; B 21 -10 379 753 ; +C -1 ; WX 592 ; N Ncommaaccent ; B 62 -282 530 718 ; +C -1 ; WX 456 ; N dcroat ; B 29 -15 456 718 ; +C -1 ; WX 213 ; N brokenbar ; B 77 -19 137 737 ; +C -1 ; WX 456 ; N Lcommaaccent ; B 62 -282 440 718 ; +C -1 ; WX 547 ; N Adieresis ; B 11 0 536 901 ; +C -1 ; WX 456 ; N mu ; B 56 -207 401 523 ; +C -1 ; WX 228 ; N .notdef ; B 21 0 21 0 ; +EndCharMetrics +StartKernData +StartKernPairs 998 +KPX A C -28 +KPX A Ccedilla -29 +KPX A G -30 +KPX A O -27 +KPX A Odieresis -27 +KPX A Q -28 +KPX A T -74 +KPX A U -29 +KPX A Uacute -29 +KPX A Ucircumflex -29 +KPX A Udieresis -29 +KPX A Ugrave -29 +KPX A V -56 +KPX A W -39 +KPX A Y -78 +KPX A a -3 +KPX A b 0 +KPX A c -10 +KPX A ccedilla -10 +KPX A comma 5 +KPX A d -11 +KPX A e -14 +KPX A g -14 +KPX A guillemotleft -40 +KPX A guilsinglleft -36 +KPX A hyphen -2 +KPX A o -13 +KPX A period 5 +KPX A q -11 +KPX A quotedblright -37 +KPX A quoteright -48 +KPX A t -15 +KPX A u -12 +KPX A v -27 +KPX A w -21 +KPX A y -27 +KPX Aacute C -28 +KPX Aacute G -30 +KPX Aacute O -27 +KPX Aacute Q -28 +KPX Aacute T -74 +KPX Aacute U -29 +KPX Aacute V -56 +KPX Aacute W -39 +KPX Aacute Y -78 +KPX Aacute a -3 +KPX Aacute b 0 +KPX Aacute c -10 +KPX Aacute comma 5 +KPX Aacute d -11 +KPX Aacute e -14 +KPX Aacute g -14 +KPX Aacute guillemotleft -40 +KPX Aacute guilsinglleft -36 +KPX Aacute hyphen -2 +KPX Aacute o -13 +KPX Aacute period 5 +KPX Aacute q -11 +KPX Aacute quoteright -48 +KPX Aacute t -15 +KPX Aacute u -12 +KPX Aacute v -27 +KPX Aacute w -21 +KPX Aacute y -27 +KPX Acircumflex C -28 +KPX Acircumflex G -30 +KPX Acircumflex O -27 +KPX Acircumflex Q -28 +KPX Acircumflex T -74 +KPX Acircumflex U -29 +KPX Acircumflex V -56 +KPX Acircumflex W -39 +KPX Acircumflex Y -78 +KPX Acircumflex comma 5 +KPX Acircumflex period 5 +KPX Adieresis C -28 +KPX Adieresis G -30 +KPX Adieresis O -27 +KPX Adieresis Q -28 +KPX Adieresis T -74 +KPX Adieresis U -29 +KPX Adieresis V -56 +KPX Adieresis W -39 +KPX Adieresis Y -78 +KPX Adieresis a -3 +KPX Adieresis b 0 +KPX Adieresis c -10 +KPX Adieresis comma 5 +KPX Adieresis d -11 +KPX Adieresis g -14 +KPX Adieresis guillemotleft -40 +KPX Adieresis guilsinglleft -36 +KPX Adieresis hyphen -2 +KPX Adieresis o -13 +KPX Adieresis period 5 +KPX Adieresis q -11 +KPX Adieresis quotedblright -37 +KPX Adieresis quoteright -48 +KPX Adieresis t -15 +KPX Adieresis u -12 +KPX Adieresis v -27 +KPX Adieresis w -21 +KPX Adieresis y -27 +KPX Agrave C -28 +KPX Agrave G -30 +KPX Agrave O -27 +KPX Agrave Q -28 +KPX Agrave T -74 +KPX Agrave U -29 +KPX Agrave V -56 +KPX Agrave W -39 +KPX Agrave Y -78 +KPX Agrave comma 5 +KPX Agrave period 5 +KPX Aring C -28 +KPX Aring G -30 +KPX Aring O -27 +KPX Aring Q -28 +KPX Aring T -74 +KPX Aring U -29 +KPX Aring V -56 +KPX Aring W -39 +KPX Aring Y -78 +KPX Aring a -3 +KPX Aring b 0 +KPX Aring c -10 +KPX Aring comma 5 +KPX Aring d -11 +KPX Aring e -14 +KPX Aring g -14 +KPX Aring guillemotleft -40 +KPX Aring guilsinglleft -36 +KPX Aring hyphen -2 +KPX Aring o -13 +KPX Aring period 5 +KPX Aring q -11 +KPX Aring quotedblright -37 +KPX Aring quoteright -48 +KPX Aring t -15 +KPX Aring u -12 +KPX Aring v -27 +KPX Aring w -21 +KPX Aring y -27 +KPX Atilde C -28 +KPX Atilde G -30 +KPX Atilde O -27 +KPX Atilde Q -28 +KPX Atilde T -74 +KPX Atilde U -29 +KPX Atilde V -56 +KPX Atilde W -39 +KPX Atilde Y -78 +KPX Atilde comma 5 +KPX Atilde period 5 +KPX B A -15 +KPX B AE -14 +KPX B Aacute -15 +KPX B Acircumflex -15 +KPX B Adieresis -15 +KPX B Aring -15 +KPX B Atilde -15 +KPX B O -3 +KPX B OE 0 +KPX B Oacute -3 +KPX B Ocircumflex -3 +KPX B Odieresis -3 +KPX B Ograve -3 +KPX B Oslash 0 +KPX B V -25 +KPX B W -14 +KPX B Y -31 +KPX C A -25 +KPX C AE -24 +KPX C Aacute -25 +KPX C Adieresis -25 +KPX C Aring -25 +KPX C H -6 +KPX C K -5 +KPX C O -4 +KPX C Oacute -4 +KPX C Odieresis -4 +KPX Ccedilla A -28 +KPX D A -33 +KPX D Aacute -33 +KPX D Acircumflex -33 +KPX D Adieresis -33 +KPX D Agrave -33 +KPX D Aring -33 +KPX D Atilde -33 +KPX D J -1 +KPX D T -30 +KPX D V -32 +KPX D W -18 +KPX D X -38 +KPX D Y -44 +KPX F A -55 +KPX F Aacute -55 +KPX F Acircumflex -55 +KPX F Adieresis -55 +KPX F Agrave -55 +KPX F Aring -55 +KPX F Atilde -55 +KPX F J -50 +KPX F O -15 +KPX F Odieresis -15 +KPX F a -26 +KPX F aacute -26 +KPX F adieresis -26 +KPX F ae -26 +KPX F aring -26 +KPX F comma -102 +KPX F e -19 +KPX F eacute -19 +KPX F hyphen -12 +KPX F i -8 +KPX F j -8 +KPX F o -17 +KPX F oacute -17 +KPX F odieresis -17 +KPX F oe -17 +KPX F oslash -17 +KPX F period -102 +KPX F r -32 +KPX F u -28 +KPX G A -4 +KPX G AE -2 +KPX G Aacute -4 +KPX G Acircumflex -4 +KPX G Adieresis -4 +KPX G Agrave -4 +KPX G Aring -4 +KPX G Atilde -4 +KPX G T -30 +KPX G V -36 +KPX G W -20 +KPX G Y -47 +KPX J A -22 +KPX J AE -21 +KPX J Adieresis -22 +KPX J Aring -22 +KPX K C -37 +KPX K G -40 +KPX K O -37 +KPX K OE -33 +KPX K Oacute -37 +KPX K Odieresis -37 +KPX K S -27 +KPX K T 22 +KPX K a -6 +KPX K adieresis -6 +KPX K ae -7 +KPX K aring -6 +KPX K e -26 +KPX K hyphen -38 +KPX K o -26 +KPX K oacute -26 +KPX K odieresis -26 +KPX K u -21 +KPX K udieresis -21 +KPX K y -52 +KPX L A 18 +KPX L AE 20 +KPX L Aacute 18 +KPX L Adieresis 18 +KPX L Aring 18 +KPX L C -28 +KPX L Ccedilla -32 +KPX L G -31 +KPX L O -29 +KPX L Oacute -29 +KPX L Ocircumflex -29 +KPX L Odieresis -29 +KPX L Ograve -29 +KPX L Otilde -29 +KPX L S -11 +KPX L T -81 +KPX L U -25 +KPX L Udieresis -25 +KPX L V -78 +KPX L W -50 +KPX L Y -92 +KPX L hyphen -110 +KPX L quotedblright -105 +KPX L quoteright -116 +KPX L u -9 +KPX L udieresis -9 +KPX L y -47 +KPX N A -4 +KPX N AE -2 +KPX N Aacute -4 +KPX N Adieresis -4 +KPX N Aring -4 +KPX N C 0 +KPX N Ccedilla 0 +KPX N G -1 +KPX N O 1 +KPX N Oacute 1 +KPX N Odieresis 1 +KPX N a -1 +KPX N aacute -1 +KPX N adieresis -1 +KPX N ae -1 +KPX N aring -1 +KPX N comma -4 +KPX N e 1 +KPX N eacute 1 +KPX N o 1 +KPX N oacute 1 +KPX N odieresis 1 +KPX N oslash 4 +KPX N period -4 +KPX N u 0 +KPX N udieresis 0 +KPX O A -29 +KPX O AE -29 +KPX O Aacute -29 +KPX O Adieresis -29 +KPX O Aring -29 +KPX O T -27 +KPX O V -30 +KPX O W -14 +KPX O X -35 +KPX O Y -42 +KPX Oacute A -29 +KPX Oacute T -27 +KPX Oacute V -30 +KPX Oacute W -14 +KPX Oacute Y -42 +KPX Ocircumflex T -27 +KPX Ocircumflex V -30 +KPX Ocircumflex Y -42 +KPX Odieresis A -29 +KPX Odieresis T -27 +KPX Odieresis V -30 +KPX Odieresis W -14 +KPX Odieresis X -35 +KPX Odieresis Y -42 +KPX Ograve T -27 +KPX Ograve V -30 +KPX Ograve Y -42 +KPX Oslash A -27 +KPX Otilde T -27 +KPX Otilde V -30 +KPX Otilde Y -42 +KPX P A -62 +KPX P AE -64 +KPX P Aacute -62 +KPX P Adieresis -62 +KPX P Aring -62 +KPX P J -70 +KPX P a -21 +KPX P aacute -21 +KPX P adieresis -21 +KPX P ae -21 +KPX P aring -21 +KPX P comma -123 +KPX P e -24 +KPX P eacute -24 +KPX P hyphen -28 +KPX P o -24 +KPX P oacute -24 +KPX P odieresis -24 +KPX P oe -22 +KPX P oslash -22 +KPX P period -123 +KPX R C -7 +KPX R Ccedilla -7 +KPX R G -9 +KPX R O -6 +KPX R OE -3 +KPX R Oacute -6 +KPX R Odieresis -6 +KPX R T -12 +KPX R U -8 +KPX R Udieresis -8 +KPX R V -22 +KPX R W -15 +KPX R Y -29 +KPX R a -6 +KPX R aacute -6 +KPX R adieresis -6 +KPX R ae -6 +KPX R aring -6 +KPX R e -5 +KPX R eacute -5 +KPX R hyphen 4 +KPX R o -5 +KPX R oacute -5 +KPX R odieresis -5 +KPX R oe -5 +KPX R u -4 +KPX R uacute -5 +KPX R udieresis -5 +KPX R y -1 +KPX S A -15 +KPX S AE -14 +KPX S Aacute -15 +KPX S Adieresis -15 +KPX S Aring -15 +KPX S T -14 +KPX S V -25 +KPX S W -17 +KPX S Y -31 +KPX S t -2 +KPX T A -78 +KPX T AE -76 +KPX T Aacute -78 +KPX T Acircumflex -78 +KPX T Adieresis -78 +KPX T Agrave -78 +KPX T Aring -78 +KPX T Atilde -78 +KPX T C -27 +KPX T G -31 +KPX T J -80 +KPX T O -26 +KPX T OE -22 +KPX T Oacute -26 +KPX T Ocircumflex -26 +KPX T Odieresis -26 +KPX T Ograve -26 +KPX T Oslash -27 +KPX T Otilde -26 +KPX T S -15 +KPX T V 17 +KPX T W 19 +KPX T Y 19 +KPX T a -79 +KPX T ae -79 +KPX T c -73 +KPX T colon -95 +KPX T comma -80 +KPX T e -77 +KPX T g -76 +KPX T guillemotleft -100 +KPX T guilsinglleft -96 +KPX T hyphen -60 +KPX T i -2 +KPX T j -2 +KPX T o -76 +KPX T oslash -72 +KPX T period -80 +KPX T r -77 +KPX T s -74 +KPX T semicolon -93 +KPX T u -75 +KPX T v -79 +KPX T w -80 +KPX T y -79 +KPX U A -32 +KPX U AE -32 +KPX U Aacute -32 +KPX U Acircumflex -32 +KPX U Adieresis -32 +KPX U Aring -32 +KPX U Atilde -32 +KPX U comma -24 +KPX U m -1 +KPX U n -1 +KPX U p 0 +KPX U period -22 +KPX U r -6 +KPX Uacute A -32 +KPX Uacute comma -24 +KPX Uacute m -1 +KPX Uacute n -1 +KPX Uacute p 0 +KPX Uacute period -22 +KPX Uacute r -6 +KPX Ucircumflex A -32 +KPX Udieresis A -32 +KPX Udieresis b 0 +KPX Udieresis comma -24 +KPX Udieresis m -1 +KPX Udieresis n -1 +KPX Udieresis p 0 +KPX Udieresis period -22 +KPX Udieresis r -6 +KPX Ugrave A -32 +KPX V A -58 +KPX V AE -60 +KPX V Aacute -58 +KPX V Acircumflex -58 +KPX V Adieresis -58 +KPX V Agrave -58 +KPX V Aring -58 +KPX V Atilde -58 +KPX V C -31 +KPX V G -34 +KPX V O -30 +KPX V Oacute -30 +KPX V Ocircumflex -30 +KPX V Odieresis -30 +KPX V Ograve -30 +KPX V Oslash -27 +KPX V Otilde -30 +KPX V S -26 +KPX V T 18 +KPX V a -47 +KPX V ae -47 +KPX V colon -41 +KPX V comma -73 +KPX V e -46 +KPX V g -44 +KPX V guillemotleft -68 +KPX V guilsinglleft -64 +KPX V hyphen -29 +KPX V i -5 +KPX V o -46 +KPX V oslash -41 +KPX V period -73 +KPX V r -37 +KPX V semicolon -41 +KPX V u -35 +KPX V y -12 +KPX W A -42 +KPX W AE -43 +KPX W Aacute -42 +KPX W Acircumflex -42 +KPX W Adieresis -42 +KPX W Agrave -42 +KPX W Aring -42 +KPX W Atilde -42 +KPX W C -15 +KPX W G -18 +KPX W O -14 +KPX W Oacute -14 +KPX W Ocircumflex -14 +KPX W Odieresis -14 +KPX W Ograve -14 +KPX W Oslash -12 +KPX W Otilde -14 +KPX W S -19 +KPX W T 20 +KPX W a -29 +KPX W ae -29 +KPX W colon -31 +KPX W comma -46 +KPX W e -26 +KPX W g -24 +KPX W guillemotleft -48 +KPX W guilsinglleft -44 +KPX W hyphen -9 +KPX W i -3 +KPX W o -26 +KPX W oslash -21 +KPX W period -46 +KPX W r -26 +KPX W semicolon -31 +KPX W u -24 +KPX W y -2 +KPX X C -33 +KPX X O -33 +KPX X Odieresis -33 +KPX X Q -33 +KPX X a -12 +KPX X e -31 +KPX X hyphen -40 +KPX X o -31 +KPX X u -27 +KPX X y -42 +KPX Y A -80 +KPX Y AE -82 +KPX Y Aacute -80 +KPX Y Acircumflex -80 +KPX Y Adieresis -80 +KPX Y Agrave -80 +KPX Y Aring -80 +KPX Y Atilde -80 +KPX Y C -43 +KPX Y G -47 +KPX Y O -43 +KPX Y Oacute -43 +KPX Y Ocircumflex -43 +KPX Y Odieresis -43 +KPX Y Ograve -43 +KPX Y Oslash -44 +KPX Y Otilde -43 +KPX Y S -33 +KPX Y T 20 +KPX Y a -73 +KPX Y ae -73 +KPX Y colon -60 +KPX Y comma -92 +KPX Y e -74 +KPX Y g -73 +KPX Y guillemotleft -103 +KPX Y guilsinglleft -99 +KPX Y hyphen -68 +KPX Y i -3 +KPX Y o -74 +KPX Y oslash -69 +KPX Y p -48 +KPX Y period -92 +KPX Y semicolon -60 +KPX Y u -54 +KPX Y v -31 +KPX Z v -24 +KPX Z y -25 +KPX a j -5 +KPX a quoteright -10 +KPX a v -19 +KPX a w -14 +KPX a y -20 +KPX aacute v -19 +KPX aacute w -14 +KPX aacute y -20 +KPX adieresis v -19 +KPX adieresis w -14 +KPX adieresis y -20 +KPX ae v -17 +KPX ae w -11 +KPX ae y -19 +KPX agrave v -19 +KPX agrave w -14 +KPX agrave y -20 +KPX aring v -19 +KPX aring w -14 +KPX aring y -20 +KPX b v -13 +KPX b w -8 +KPX b y -15 +KPX c h 2 +KPX c k 1 +KPX comma one -83 +KPX comma quotedblright -22 +KPX comma quoteright -33 +KPX e quoteright -5 +KPX e t -8 +KPX e v -16 +KPX e w -11 +KPX e x -19 +KPX e y -18 +KPX eacute v -16 +KPX eacute w -11 +KPX eacute y -18 +KPX ecircumflex v -16 +KPX ecircumflex w -11 +KPX ecircumflex y -18 +KPX eight four 6 +KPX eight one -36 +KPX eight seven -16 +KPX f a -9 +KPX f aacute -9 +KPX f adieresis -9 +KPX f ae -9 +KPX f aring -9 +KPX f e -12 +KPX f eacute -12 +KPX f f 17 +KPX f i -5 +KPX f j -5 +KPX f l -5 +KPX f o -12 +KPX f oacute -12 +KPX f odieresis -12 +KPX f oe -12 +KPX f oslash -8 +KPX f quoteright 12 +KPX f s -4 +KPX f t 17 +KPX five four 4 +KPX five one -56 +KPX five seven -16 +KPX four four 8 +KPX four one -65 +KPX four seven -39 +KPX g a 1 +KPX g adieresis 1 +KPX g ae 1 +KPX g aring 1 +KPX g e 4 +KPX g eacute 4 +KPX g l 4 +KPX g oacute 4 +KPX g odieresis 4 +KPX g r 0 +KPX guillemotright A -42 +KPX guillemotright AE -43 +KPX guillemotright Aacute -42 +KPX guillemotright Adieresis -42 +KPX guillemotright Aring -42 +KPX guillemotright T -101 +KPX guillemotright V -68 +KPX guillemotright W -48 +KPX guillemotright Y -102 +KPX guilsinglright A -38 +KPX guilsinglright AE -39 +KPX guilsinglright Aacute -38 +KPX guilsinglright Adieresis -38 +KPX guilsinglright Aring -38 +KPX guilsinglright T -96 +KPX guilsinglright V -64 +KPX guilsinglright W -43 +KPX guilsinglright Y -98 +KPX h quoteright -3 +KPX h y -14 +KPX hyphen A -3 +KPX hyphen AE -4 +KPX hyphen Aacute -3 +KPX hyphen Adieresis -3 +KPX hyphen Aring -3 +KPX hyphen T -61 +KPX hyphen V -29 +KPX hyphen W -9 +KPX hyphen Y -67 +KPX i T -2 +KPX i j 0 +KPX k a -5 +KPX k aacute -5 +KPX k adieresis -5 +KPX k ae -5 +KPX k aring -5 +KPX k comma 1 +KPX k e -19 +KPX k eacute -19 +KPX k g -18 +KPX k hyphen -31 +KPX k o -19 +KPX k oacute -19 +KPX k odieresis -19 +KPX k period 1 +KPX k s -9 +KPX k u -3 +KPX k udieresis -3 +KPX l v -3 +KPX l y -3 +KPX m p 4 +KPX m v -13 +KPX m w -7 +KPX m y -13 +KPX n T -75 +KPX n p 4 +KPX n quoteright -3 +KPX n v -14 +KPX n w -8 +KPX n y -14 +KPX nine four 1 +KPX nine one -31 +KPX nine seven -19 +KPX o T -77 +KPX o quoteright -8 +KPX o t -7 +KPX o v -15 +KPX o w -9 +KPX o x -18 +KPX o y -17 +KPX oacute v -15 +KPX oacute w -9 +KPX oacute y -17 +KPX ocircumflex t -7 +KPX odieresis t -7 +KPX odieresis v -15 +KPX odieresis w -9 +KPX odieresis x -18 +KPX odieresis y -17 +KPX ograve v -15 +KPX ograve w -9 +KPX ograve y -17 +KPX one comma -54 +KPX one eight -46 +KPX one five -49 +KPX one four -59 +KPX one nine -47 +KPX one one -90 +KPX one period -54 +KPX one seven -64 +KPX one six -44 +KPX one three -51 +KPX one two -50 +KPX one zero -43 +KPX p t -6 +KPX p y -15 +KPX period one -83 +KPX period quotedblright -22 +KPX period quoteright -33 +KPX q c 6 +KPX q u 1 +KPX quotedblbase A 24 +KPX quotedblbase AE 25 +KPX quotedblbase T -60 +KPX quotedblbase V -53 +KPX quotedblbase W -25 +KPX quotedblbase Y -71 +KPX quotedblleft A -41 +KPX quotedblleft AE -44 +KPX quotedblleft Aacute -41 +KPX quotedblleft Adieresis -41 +KPX quotedblleft Aring -41 +KPX quotedblleft T 16 +KPX quotedblleft V 24 +KPX quotedblleft W 31 +KPX quotedblleft Y 14 +KPX quotedblright A -49 +KPX quotedblright AE -52 +KPX quotedblright Aacute -49 +KPX quotedblright Adieresis -49 +KPX quotedblright Aring -49 +KPX quotedblright T 11 +KPX quotedblright V 16 +KPX quotedblright W 23 +KPX quotedblright Y 9 +KPX quoteleft A -52 +KPX quoteleft AE -55 +KPX quoteleft Aacute -52 +KPX quoteleft Adieresis -52 +KPX quoteleft Aring -52 +KPX quoteleft T 5 +KPX quoteleft V 13 +KPX quoteleft W 20 +KPX quoteleft Y 3 +KPX quoteright A -60 +KPX quoteright AE -63 +KPX quoteright Aacute -60 +KPX quoteright Adieresis -60 +KPX quoteright Aring -60 +KPX quoteright comma -48 +KPX quoteright d -16 +KPX quoteright o -24 +KPX quoteright period -48 +KPX quoteright r -15 +KPX quoteright s -13 +KPX quoteright t -3 +KPX quoteright v 0 +KPX quoteright w 1 +KPX quoteright y 0 +KPX r a -3 +KPX r aacute -3 +KPX r acircumflex -3 +KPX r adieresis -3 +KPX r ae -3 +KPX r agrave -3 +KPX r aring -3 +KPX r c -6 +KPX r ccedilla -3 +KPX r colon -5 +KPX r comma -48 +KPX r d -4 +KPX r e -10 +KPX r eacute -10 +KPX r ecircumflex -10 +KPX r egrave -10 +KPX r f 23 +KPX r g -4 +KPX r h 2 +KPX r hyphen -30 +KPX r i 1 +KPX r j 0 +KPX r k 1 +KPX r l 1 +KPX r m 2 +KPX r n 2 +KPX r o -11 +KPX r oacute -11 +KPX r ocircumflex -11 +KPX r odieresis -11 +KPX r oe -7 +KPX r ograve -11 +KPX r oslash -7 +KPX r p 4 +KPX r period -48 +KPX r q -4 +KPX r quoteright 14 +KPX r r -3 +KPX r s 2 +KPX r semicolon -5 +KPX r t 23 +KPX r u 0 +KPX r v 24 +KPX r w 22 +KPX r x 19 +KPX r y 23 +KPX r z 6 +KPX s quoteright -5 +KPX s t -5 +KPX seven colon -47 +KPX seven comma -95 +KPX seven eight -15 +KPX seven five -22 +KPX seven four -72 +KPX seven one -34 +KPX seven period -95 +KPX seven seven 3 +KPX seven six -24 +KPX seven three -14 +KPX seven two -14 +KPX six four 6 +KPX six one -31 +KPX six seven -13 +KPX t S -8 +KPX t a 1 +KPX t aacute 1 +KPX t adieresis 1 +KPX t ae 1 +KPX t aring 1 +KPX t colon -13 +KPX t e -10 +KPX t eacute -10 +KPX t h 1 +KPX t o -10 +KPX t oacute -10 +KPX t odieresis -10 +KPX t quoteright 10 +KPX t semicolon -13 +KPX three four 8 +KPX three one -34 +KPX three seven -15 +KPX two four -38 +KPX two one -29 +KPX two seven -14 +KPX u quoteright 5 +KPX v a -16 +KPX v aacute -16 +KPX v acircumflex -16 +KPX v adieresis -16 +KPX v ae -16 +KPX v agrave -16 +KPX v aring -16 +KPX v atilde -16 +KPX v c -12 +KPX v colon -8 +KPX v comma -50 +KPX v e -16 +KPX v eacute -16 +KPX v ecircumflex -16 +KPX v egrave -16 +KPX v g -15 +KPX v hyphen -3 +KPX v l -2 +KPX v o -16 +KPX v oacute -16 +KPX v odieresis -16 +KPX v ograve -16 +KPX v oslash -12 +KPX v period -50 +KPX v s -10 +KPX v semicolon -8 +KPX w a -13 +KPX w aacute -13 +KPX w acircumflex -13 +KPX w adieresis -13 +KPX w ae -13 +KPX w agrave -13 +KPX w aring -13 +KPX w atilde -13 +KPX w c -5 +KPX w colon -10 +KPX w comma -37 +KPX w e -9 +KPX w eacute -9 +KPX w ecircumflex -9 +KPX w egrave -9 +KPX w g -8 +KPX w hyphen 3 +KPX w l -4 +KPX w o -9 +KPX w oacute -9 +KPX w odieresis -9 +KPX w ograve -9 +KPX w oslash -5 +KPX w period -37 +KPX w s -7 +KPX w semicolon -10 +KPX x a -10 +KPX x c -13 +KPX x e -17 +KPX x eacute -17 +KPX x o -17 +KPX x q -14 +KPX y a -16 +KPX y aacute -16 +KPX y acircumflex -16 +KPX y adieresis -16 +KPX y ae -16 +KPX y agrave -16 +KPX y aring -16 +KPX y atilde -16 +KPX y c -13 +KPX y colon -9 +KPX y comma -49 +KPX y e -17 +KPX y eacute -17 +KPX y ecircumflex -17 +KPX y egrave -17 +KPX y g -15 +KPX y hyphen -2 +KPX y l -3 +KPX y o -16 +KPX y oacute -16 +KPX y odieresis -16 +KPX y ograve -16 +KPX y oslash -12 +KPX y period -49 +KPX y s -11 +KPX y semicolon -9 +KPX zero four 5 +KPX zero one -31 +KPX zero seven -21 +EndKernPairs +EndKernData +EndFontMetrics diff --git a/Master/xemtex/gsfonts/n019043l.pfb b/Master/xemtex/gsfonts/n019043l.pfb new file mode 100644 index 00000000000..86f564b66b7 Binary files /dev/null and b/Master/xemtex/gsfonts/n019043l.pfb differ diff --git a/Master/xemtex/gsfonts/n019043l.pfm b/Master/xemtex/gsfonts/n019043l.pfm new file mode 100644 index 00000000000..62582b5489e Binary files /dev/null and b/Master/xemtex/gsfonts/n019043l.pfm differ diff --git a/Master/xemtex/gsfonts/n019044l.afm b/Master/xemtex/gsfonts/n019044l.afm new file mode 100644 index 00000000000..80aef675ee9 --- /dev/null +++ b/Master/xemtex/gsfonts/n019044l.afm @@ -0,0 +1,1341 @@ +StartFontMetrics 3.0 +Comment Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development +Comment Creation Date: 12/22/1999 +Comment See the file PUBLIC (Aladdin Free Public License) for license conditions. +FontName NimbusSanL-BoldCond +FullName Nimbus Sans L Bold Condensed +FamilyName Nimbus Sans L +Weight Bold +ItalicAngle 0.0 +IsFixedPitch false +UnderlinePosition -100 +UnderlineThickness 50 +Version 1.05 +Notice (URW)++,Copyright 1999 by (URW)++ Design & Development +EncodingScheme AdobeStandardEncoding +FontBBox -139 -307 822 975 +CapHeight 718 +XHeight 532 +Descender -207 +Ascender 718 +StartCharMetrics 316 +C 32 ; WX 228 ; N space ; B 21 0 21 0 ; +C 33 ; WX 273 ; N exclam ; B 74 0 200 718 ; +C 34 ; WX 389 ; N quotedbl ; B 80 447 308 718 ; +C 35 ; WX 456 ; N numbersign ; B 15 0 441 698 ; +C 36 ; WX 456 ; N dollar ; B 24 -115 429 775 ; +C 37 ; WX 729 ; N percent ; B 23 -19 706 710 ; +C 38 ; WX 592 ; N ampersand ; B 44 -19 575 718 ; +C 39 ; WX 228 ; N quoteright ; B 57 445 171 718 ; +C 40 ; WX 273 ; N parenleft ; B 29 -207 257 734 ; +C 41 ; WX 273 ; N parenright ; B 16 -207 244 734 ; +C 42 ; WX 319 ; N asterisk ; B 22 387 297 718 ; +C 43 ; WX 479 ; N plus ; B 33 0 446 506 ; +C 44 ; WX 228 ; N comma ; B 52 -168 175 147 ; +C 45 ; WX 273 ; N hyphen ; B 22 215 251 345 ; +C 46 ; WX 228 ; N period ; B 52 0 175 147 ; +C 47 ; WX 228 ; N slash ; B -27 -19 255 737 ; +C 48 ; WX 456 ; N zero ; B 26 -19 430 710 ; +C 49 ; WX 456 ; N one ; B 57 0 310 710 ; +C 50 ; WX 456 ; N two ; B 21 0 419 710 ; +C 51 ; WX 456 ; N three ; B 22 -19 423 710 ; +C 52 ; WX 456 ; N four ; B 22 0 431 710 ; +C 53 ; WX 456 ; N five ; B 22 -19 423 698 ; +C 54 ; WX 456 ; N six ; B 25 -19 426 710 ; +C 55 ; WX 456 ; N seven ; B 20 0 433 698 ; +C 56 ; WX 456 ; N eight ; B 26 -19 430 710 ; +C 57 ; WX 456 ; N nine ; B 25 -19 428 710 ; +C 58 ; WX 273 ; N colon ; B 75 0 198 512 ; +C 59 ; WX 273 ; N semicolon ; B 75 -168 198 512 ; +C 60 ; WX 479 ; N less ; B 31 -15 448 521 ; +C 61 ; WX 479 ; N equal ; B 33 87 446 419 ; +C 62 ; WX 479 ; N greater ; B 31 -15 448 521 ; +C 63 ; WX 501 ; N question ; B 49 0 456 727 ; +C 64 ; WX 800 ; N at ; B 97 -19 702 737 ; +C 65 ; WX 592 ; N A ; B 16 0 576 718 ; +C 66 ; WX 592 ; N B ; B 62 0 549 718 ; +C 67 ; WX 592 ; N C ; B 36 -19 561 737 ; +C 68 ; WX 592 ; N D ; B 62 0 562 718 ; +C 69 ; WX 547 ; N E ; B 62 0 509 718 ; +C 70 ; WX 501 ; N F ; B 62 0 481 718 ; +C 71 ; WX 638 ; N G ; B 36 -19 585 737 ; +C 72 ; WX 592 ; N H ; B 58 0 534 718 ; +C 73 ; WX 228 ; N I ; B 52 0 175 718 ; +C 74 ; WX 456 ; N J ; B 18 -18 397 718 ; +C 75 ; WX 592 ; N K ; B 71 0 592 718 ; +C 76 ; WX 501 ; N L ; B 62 0 478 718 ; +C 77 ; WX 683 ; N M ; B 57 0 627 718 ; +C 78 ; WX 592 ; N N ; B 57 0 536 718 ; +C 79 ; WX 638 ; N O ; B 36 -19 602 737 ; +C 80 ; WX 547 ; N P ; B 62 0 514 718 ; +C 81 ; WX 638 ; N Q ; B 36 -52 604 737 ; +C 82 ; WX 592 ; N R ; B 62 0 555 718 ; +C 83 ; WX 547 ; N S ; B 32 -19 516 737 ; +C 84 ; WX 501 ; N T ; B 11 0 490 718 ; +C 85 ; WX 592 ; N U ; B 59 -19 534 718 ; +C 86 ; WX 547 ; N V ; B 16 0 531 718 ; +C 87 ; WX 774 ; N W ; B 13 0 762 718 ; +C 88 ; WX 547 ; N X ; B 11 0 535 718 ; +C 89 ; WX 547 ; N Y ; B 12 0 535 718 ; +C 90 ; WX 501 ; N Z ; B 20 0 481 718 ; +C 91 ; WX 273 ; N bracketleft ; B 52 -196 253 722 ; +C 92 ; WX 228 ; N backslash ; B -27 -19 255 737 ; +C 93 ; WX 273 ; N bracketright ; B 20 -196 221 722 ; +C 94 ; WX 479 ; N asciicircum ; B 51 323 428 698 ; +C 95 ; WX 456 ; N underscore ; B 0 -125 456 -75 ; +C 96 ; WX 228 ; N quoteleft ; B 57 454 171 727 ; +C 97 ; WX 456 ; N a ; B 24 -14 432 546 ; +C 98 ; WX 501 ; N b ; B 50 -14 474 718 ; +C 99 ; WX 456 ; N c ; B 28 -14 430 546 ; +C 100 ; WX 501 ; N d ; B 28 -14 452 718 ; +C 101 ; WX 456 ; N e ; B 19 -14 433 546 ; +C 102 ; WX 273 ; N f ; B 8 0 261 727 ; +C 103 ; WX 501 ; N g ; B 33 -217 453 546 ; +C 104 ; WX 501 ; N h ; B 53 0 448 718 ; +C 105 ; WX 228 ; N i ; B 57 0 171 725 ; +C 106 ; WX 228 ; N j ; B 2 -214 171 725 ; +C 107 ; WX 456 ; N k ; B 57 0 461 718 ; +C 108 ; WX 228 ; N l ; B 57 0 171 718 ; +C 109 ; WX 729 ; N m ; B 52 0 677 546 ; +C 110 ; WX 501 ; N n ; B 53 0 448 546 ; +C 111 ; WX 501 ; N o ; B 28 -14 474 546 ; +C 112 ; WX 501 ; N p ; B 51 -207 474 546 ; +C 113 ; WX 501 ; N q ; B 28 -207 453 546 ; +C 114 ; WX 319 ; N r ; B 52 0 306 546 ; +C 115 ; WX 456 ; N s ; B 25 -14 426 546 ; +C 116 ; WX 273 ; N t ; B 8 -6 253 676 ; +C 117 ; WX 501 ; N u ; B 54 -14 447 532 ; +C 118 ; WX 456 ; N v ; B 11 0 445 532 ; +C 119 ; WX 638 ; N w ; B 8 0 631 532 ; +C 120 ; WX 456 ; N x ; B 12 0 444 532 ; +C 121 ; WX 456 ; N y ; B 8 -214 442 532 ; +C 122 ; WX 410 ; N z ; B 16 0 394 532 ; +C 123 ; WX 319 ; N braceleft ; B 39 -196 299 722 ; +C 124 ; WX 230 ; N bar ; B 69 -19 161 737 ; +C 125 ; WX 319 ; N braceright ; B 20 -196 280 722 ; +C 126 ; WX 479 ; N asciitilde ; B 50 173 429 336 ; +C 161 ; WX 273 ; N exclamdown ; B 74 -186 200 532 ; +C 162 ; WX 456 ; N cent ; B 28 -118 430 628 ; +C 163 ; WX 456 ; N sterling ; B 23 -16 444 718 ; +C 164 ; WX 137 ; N fraction ; B -139 -19 276 710 ; +C 165 ; WX 456 ; N yen ; B -7 0 463 698 ; +C 166 ; WX 456 ; N florin ; B -8 -210 423 737 ; +C 167 ; WX 456 ; N section ; B 28 -184 428 727 ; +C 168 ; WX 456 ; N currency ; B -2 76 458 636 ; +C 169 ; WX 195 ; N quotesingle ; B 57 447 138 718 ; +C 170 ; WX 410 ; N quotedblleft ; B 52 454 358 727 ; +C 171 ; WX 456 ; N guillemotleft ; B 72 76 384 484 ; +C 172 ; WX 273 ; N guilsinglleft ; B 68 76 205 484 ; +C 173 ; WX 273 ; N guilsinglright ; B 68 76 205 484 ; +C 174 ; WX 501 ; N fi ; B 8 0 444 727 ; +C 175 ; WX 501 ; N fl ; B 8 0 444 727 ; +C 177 ; WX 456 ; N endash ; B 0 226 456 333 ; +C 178 ; WX 456 ; N dagger ; B 30 -171 426 718 ; +C 179 ; WX 456 ; N daggerdbl ; B 30 -171 426 718 ; +C 180 ; WX 228 ; N periodcentered ; B 48 172 180 334 ; +C 182 ; WX 456 ; N paragraph ; B -7 -191 442 700 ; +C 183 ; WX 287 ; N bullet ; B 8 194 279 524 ; +C 184 ; WX 228 ; N quotesinglbase ; B 57 -146 171 127 ; +C 185 ; WX 410 ; N quotedblbase ; B 52 -146 358 127 ; +C 186 ; WX 410 ; N quotedblright ; B 52 445 358 718 ; +C 187 ; WX 456 ; N guillemotright ; B 72 76 384 484 ; +C 188 ; WX 820 ; N ellipsis ; B 75 0 745 147 ; +C 189 ; WX 820 ; N perthousand ; B -2 -19 822 710 ; +C 191 ; WX 501 ; N questiondown ; B 45 -195 452 532 ; +C 193 ; WX 273 ; N grave ; B -19 604 184 750 ; +C 194 ; WX 273 ; N acute ; B 89 604 292 750 ; +C 195 ; WX 273 ; N circumflex ; B -8 604 281 750 ; +C 196 ; WX 273 ; N tilde ; B -14 610 287 737 ; +C 197 ; WX 273 ; N macron ; B -5 605 278 678 ; +C 198 ; WX 273 ; N breve ; B -2 604 275 750 ; +C 199 ; WX 273 ; N dotaccent ; B 85 614 189 729 ; +C 200 ; WX 273 ; N dieresis ; B 5 614 268 729 ; +C 202 ; WX 273 ; N ring ; B 48 568 225 776 ; +C 203 ; WX 273 ; N cedilla ; B 5 -228 201 0 ; +C 205 ; WX 273 ; N hungarumlaut ; B 7 604 399 750 ; +C 206 ; WX 273 ; N ogonek ; B 58 -228 249 0 ; +C 207 ; WX 273 ; N caron ; B -8 604 281 750 ; +C 208 ; WX 820 ; N emdash ; B 0 226 820 333 ; +C 225 ; WX 820 ; N AE ; B 4 0 782 718 ; +C 227 ; WX 303 ; N ordfeminine ; B 18 276 285 737 ; +C 232 ; WX 501 ; N Lslash ; B -16 0 478 718 ; +C 233 ; WX 638 ; N Oslash ; B 27 -27 610 745 ; +C 234 ; WX 820 ; N OE ; B 30 -19 788 737 ; +C 235 ; WX 299 ; N ordmasculine ; B 5 276 295 737 ; +C 241 ; WX 729 ; N ae ; B 24 -14 704 546 ; +C 245 ; WX 228 ; N dotlessi ; B 57 0 171 532 ; +C 248 ; WX 228 ; N lslash ; B -15 0 243 718 ; +C 249 ; WX 501 ; N oslash ; B 18 -29 483 560 ; +C 250 ; WX 774 ; N oe ; B 28 -14 748 546 ; +C 251 ; WX 501 ; N germandbls ; B 57 -14 475 731 ; +C -1 ; WX 592 ; N Udieresis ; B 59 -19 534 915 ; +C -1 ; WX 592 ; N Uacute ; B 59 -19 534 936 ; +C -1 ; WX 547 ; N Scedilla ; B 32 -228 516 737 ; +C -1 ; WX 501 ; N Tcaron ; B 11 0 490 936 ; +C -1 ; WX 547 ; N Scaron ; B 32 -19 516 936 ; +C -1 ; WX 592 ; N Rcaron ; B 62 0 555 936 ; +C -1 ; WX 592 ; N Racute ; B 62 0 555 936 ; +C -1 ; WX 547 ; N Sacute ; B 32 -19 516 936 ; +C -1 ; WX 638 ; N Otilde ; B 36 -19 602 923 ; +C -1 ; WX 501 ; N ucircumflex ; B 54 -14 447 750 ; +C -1 ; WX 638 ; N Ohungarumlaut ; B 36 -19 602 936 ; +C -1 ; WX 592 ; N Uhungarumlaut ; B 59 -19 559 936 ; +C -1 ; WX 547 ; N Yacute ; B 12 0 535 936 ; +C -1 ; WX 592 ; N Eth ; B -4 0 562 718 ; +C -1 ; WX 592 ; N Dcroat ; B -4 0 562 718 ; +C -1 ; WX 501 ; N Zacute ; B 20 0 481 936 ; +C -1 ; WX 592 ; N Uring ; B 59 -19 534 962 ; +C -1 ; WX 501 ; N gbreve ; B 33 -217 453 750 ; +C -1 ; WX 456 ; N eogonek ; B 19 -228 433 546 ; +C -1 ; WX 456 ; N edotaccent ; B 19 -14 433 729 ; +C -1 ; WX 456 ; N ecaron ; B 19 -14 433 750 ; +C -1 ; WX 592 ; N Ugrave ; B 59 -19 534 936 ; +C -1 ; WX 547 ; N Thorn ; B 62 0 514 718 ; +C -1 ; WX 456 ; N eacute ; B 19 -14 433 750 ; +C -1 ; WX 456 ; N edieresis ; B 19 -14 433 729 ; +C -1 ; WX 561 ; N dcaron ; B 28 -14 581 718 ; +C -1 ; WX 456 ; N ccedilla ; B 28 -228 430 546 ; +C -1 ; WX 456 ; N ccaron ; B 28 -14 430 750 ; +C -1 ; WX 456 ; N cacute ; B 28 -14 430 750 ; +C -1 ; WX 456 ; N aogonek ; B 24 -228 465 546 ; +C -1 ; WX 456 ; N aring ; B 24 -14 432 803 ; +C -1 ; WX 456 ; N atilde ; B 24 -14 432 737 ; +C -1 ; WX 456 ; N abreve ; B 24 -14 432 750 ; +C -1 ; WX 456 ; N egrave ; B 19 -14 433 750 ; +C -1 ; WX 456 ; N agrave ; B 24 -14 432 750 ; +C -1 ; WX 456 ; N aacute ; B 24 -14 432 750 ; +C -1 ; WX 456 ; N adieresis ; B 24 -14 432 729 ; +C -1 ; WX 592 ; N Uogonek ; B 59 -228 534 718 ; +C -1 ; WX 501 ; N ugrave ; B 54 -14 447 750 ; +C -1 ; WX 501 ; N uacute ; B 54 -14 447 750 ; +C -1 ; WX 501 ; N udieresis ; B 54 -14 447 729 ; +C -1 ; WX 338 ; N tcaron ; B 8 -6 358 718 ; +C -1 ; WX 456 ; N scommaaccent ; B 25 -307 426 546 ; +C -1 ; WX 501 ; N Zcaron ; B 20 0 481 936 ; +C -1 ; WX 456 ; N ecircumflex ; B 19 -14 433 750 ; +C -1 ; WX 592 ; N Ucircumflex ; B 59 -19 534 936 ; +C -1 ; WX 456 ; N acircumflex ; B 24 -14 432 750 ; +C -1 ; WX 501 ; N Zdotaccent ; B 20 0 481 915 ; +C -1 ; WX 456 ; N scaron ; B 25 -14 426 750 ; +C -1 ; WX 592 ; N Amacron ; B 16 0 576 864 ; +C -1 ; WX 456 ; N sacute ; B 25 -14 426 750 ; +C -1 ; WX 501 ; N Tcommaaccent ; B 11 -307 490 718 ; +C -1 ; WX 547 ; N Ydieresis ; B 12 0 535 915 ; +C -1 ; WX 501 ; N thorn ; B 51 -207 474 718 ; +C -1 ; WX 547 ; N Emacron ; B 62 0 509 864 ; +C -1 ; WX 638 ; N Ograve ; B 36 -19 602 936 ; +C -1 ; WX 638 ; N Oacute ; B 36 -19 602 936 ; +C -1 ; WX 638 ; N Odieresis ; B 36 -19 602 915 ; +C -1 ; WX 592 ; N Ntilde ; B 57 0 536 923 ; +C -1 ; WX 592 ; N Ncaron ; B 57 0 536 936 ; +C -1 ; WX 592 ; N Nacute ; B 57 0 536 936 ; +C -1 ; WX 501 ; N Lcaron ; B 62 0 478 718 ; +C -1 ; WX 501 ; N Lacute ; B 62 0 478 936 ; +C -1 ; WX 228 ; N Idotaccent ; B 52 0 175 915 ; +C -1 ; WX 319 ; N racute ; B 52 0 315 750 ; +C -1 ; WX 228 ; N Icircumflex ; B -30 0 259 936 ; +C -1 ; WX 501 ; N ohungarumlaut ; B 28 -14 513 750 ; +C -1 ; WX 501 ; N otilde ; B 28 -14 474 737 ; +C -1 ; WX 440 ; N Euro ; B 0 -12 433 678 ; +C -1 ; WX 501 ; N ocircumflex ; B 28 -14 474 750 ; +C -1 ; WX 273 ; N onesuperior ; B 21 283 194 710 ; +C -1 ; WX 273 ; N twosuperior ; B 7 283 266 722 ; +C -1 ; WX 273 ; N threesuperior ; B 7 271 267 722 ; +C -1 ; WX 228 ; N Igrave ; B -41 0 175 936 ; +C -1 ; WX 228 ; N Iacute ; B 52 0 270 936 ; +C -1 ; WX 228 ; N Imacron ; B -28 0 255 864 ; +C -1 ; WX 228 ; N Iogonek ; B 17 -228 208 718 ; +C -1 ; WX 228 ; N Idieresis ; B -17 0 246 915 ; +C -1 ; WX 638 ; N Gbreve ; B 36 -19 585 936 ; +C -1 ; WX 592 ; N Umacron ; B 59 -19 534 864 ; +C -1 ; WX 592 ; N Kcommaaccent ; B 71 -307 592 718 ; +C -1 ; WX 501 ; N ograve ; B 28 -14 474 750 ; +C -1 ; WX 547 ; N Scommaaccent ; B 32 -307 516 737 ; +C -1 ; WX 547 ; N Eogonek ; B 62 -228 542 718 ; +C -1 ; WX 501 ; N oacute ; B 28 -14 474 750 ; +C -1 ; WX 547 ; N Edotaccent ; B 62 0 509 915 ; +C -1 ; WX 228 ; N iogonek ; B 13 -228 204 725 ; +C -1 ; WX 501 ; N gcommaaccent ; B 33 -217 453 853 ; +C -1 ; WX 501 ; N odieresis ; B 28 -14 474 729 ; +C -1 ; WX 501 ; N ntilde ; B 53 0 448 737 ; +C -1 ; WX 501 ; N ncaron ; B 53 0 448 750 ; +C -1 ; WX 547 ; N Ecaron ; B 62 0 509 936 ; +C -1 ; WX 547 ; N Ecircumflex ; B 62 0 509 936 ; +C -1 ; WX 456 ; N scedilla ; B 25 -228 426 546 ; +C -1 ; WX 319 ; N rcaron ; B 30 0 319 750 ; +C -1 ; WX 547 ; N Egrave ; B 62 0 509 936 ; +C -1 ; WX 547 ; N Eacute ; B 62 0 509 936 ; +C -1 ; WX 638 ; N Gcommaaccent ; B 36 -307 585 737 ; +C -1 ; WX 592 ; N Rcommaaccent ; B 62 -307 555 718 ; +C -1 ; WX 547 ; N Edieresis ; B 62 0 509 915 ; +C -1 ; WX 501 ; N nacute ; B 53 0 448 750 ; +C -1 ; WX 501 ; N uogonek ; B 54 -228 480 532 ; +C -1 ; WX 501 ; N umacron ; B 54 -14 447 678 ; +C -1 ; WX 592 ; N Dcaron ; B 62 0 562 936 ; +C -1 ; WX 280 ; N lcaron ; B 57 0 300 718 ; +C -1 ; WX 592 ; N Ccaron ; B 36 -19 561 936 ; +C -1 ; WX 592 ; N Cacute ; B 36 -19 561 936 ; +C -1 ; WX 592 ; N Ccedilla ; B 36 -228 561 737 ; +C -1 ; WX 328 ; N degree ; B 47 426 281 712 ; +C -1 ; WX 592 ; N Aogonek ; B 16 -228 609 718 ; +C -1 ; WX 479 ; N minus ; B 33 197 446 309 ; +C -1 ; WX 479 ; N multiply ; B 33 1 447 505 ; +C -1 ; WX 479 ; N divide ; B 33 -42 446 548 ; +C -1 ; WX 592 ; N Aring ; B 16 0 576 975 ; +C -1 ; WX 820 ; N trademark ; B 36 306 784 718 ; +C -1 ; WX 319 ; N rcommaaccent ; B 52 -307 306 546 ; +C -1 ; WX 228 ; N lacute ; B 57 0 270 936 ; +C -1 ; WX 501 ; N omacron ; B 28 -14 474 678 ; +C -1 ; WX 592 ; N Atilde ; B 16 0 576 923 ; +C -1 ; WX 228 ; N icircumflex ; B -30 0 259 750 ; +C -1 ; WX 228 ; N igrave ; B -41 0 171 750 ; +C -1 ; WX 501 ; N ncommaaccent ; B 53 -307 448 546 ; +C -1 ; WX 228 ; N lcommaaccent ; B 57 -307 171 718 ; +C -1 ; WX 479 ; N plusminus ; B 33 0 446 578 ; +C -1 ; WX 684 ; N onehalf ; B 21 -19 651 710 ; +C -1 ; WX 684 ; N onequarter ; B 21 -19 628 710 ; +C -1 ; WX 684 ; N threequarters ; B 13 -19 655 722 ; +C -1 ; WX 228 ; N iacute ; B 57 0 270 750 ; +C -1 ; WX 592 ; N Abreve ; B 16 0 576 936 ; +C -1 ; WX 456 ; N kcommaaccent ; B 57 -307 461 718 ; +C -1 ; WX 638 ; N Omacron ; B 36 -19 602 864 ; +C -1 ; WX 228 ; N imacron ; B -28 0 255 678 ; +C -1 ; WX 456 ; N emacron ; B 19 -14 433 678 ; +C -1 ; WX 456 ; N amacron ; B 24 -14 432 678 ; +C -1 ; WX 273 ; N tcommaaccent ; B 8 -307 253 676 ; +C -1 ; WX 456 ; N ydieresis ; B 8 -214 442 729 ; +C -1 ; WX 410 ; N zdotaccent ; B 16 0 394 729 ; +C -1 ; WX 410 ; N zcaron ; B 16 0 394 750 ; +C -1 ; WX 410 ; N zacute ; B 16 0 394 750 ; +C -1 ; WX 456 ; N yacute ; B 8 -214 442 750 ; +C -1 ; WX 501 ; N uhungarumlaut ; B 54 -14 513 750 ; +C -1 ; WX 501 ; N eth ; B 28 -14 474 737 ; +C -1 ; WX 501 ; N uring ; B 54 -14 447 776 ; +C -1 ; WX 638 ; N Ocircumflex ; B 36 -19 602 936 ; +C -1 ; WX 273 ; N commaaccent ; B 83 -307 191 -60 ; +C -1 ; WX 604 ; N copyright ; B -9 -19 614 737 ; +C -1 ; WX 604 ; N registered ; B -9 -19 613 737 ; +C -1 ; WX 592 ; N Acircumflex ; B 16 0 576 936 ; +C -1 ; WX 228 ; N idieresis ; B -17 0 246 729 ; +C -1 ; WX 405 ; N lozenge ; B 15 0 382 740 ; +C -1 ; WX 502 ; N Delta ; B 5 0 499 688 ; +C -1 ; WX 479 ; N notequal ; B 33 -16 446 522 ; +C -1 ; WX 450 ; N radical ; B -27 -35 448 918 ; +C -1 ; WX 592 ; N Agrave ; B 16 0 576 936 ; +C -1 ; WX 592 ; N Aacute ; B 16 0 576 936 ; +C -1 ; WX 479 ; N lessequal ; B 31 0 448 672 ; +C -1 ; WX 479 ; N greaterequal ; B 31 0 448 672 ; +C -1 ; WX 479 ; N logicalnot ; B 33 108 446 419 ; +C -1 ; WX 585 ; N summation ; B 12 -123 570 752 ; +C -1 ; WX 405 ; N partialdiff ; B 12 -21 388 743 ; +C -1 ; WX 592 ; N Ncommaaccent ; B 57 -307 536 718 ; +C -1 ; WX 501 ; N dcroat ; B 28 -14 501 718 ; +C -1 ; WX 230 ; N brokenbar ; B 69 -19 161 737 ; +C -1 ; WX 501 ; N Lcommaaccent ; B 62 -307 478 718 ; +C -1 ; WX 592 ; N Adieresis ; B 16 0 576 915 ; +C -1 ; WX 501 ; N mu ; B 54 -207 447 532 ; +C -1 ; WX 228 ; N .notdef ; B 21 0 21 0 ; +EndCharMetrics +StartKernData +StartKernPairs 998 +KPX A C -26 +KPX A Ccedilla -26 +KPX A G -27 +KPX A O -27 +KPX A Odieresis -27 +KPX A Q -27 +KPX A T -62 +KPX A U -24 +KPX A Uacute -24 +KPX A Ucircumflex -24 +KPX A Udieresis -24 +KPX A Ugrave -24 +KPX A V -50 +KPX A W -41 +KPX A Y -69 +KPX A a -1 +KPX A b -1 +KPX A c -11 +KPX A ccedilla -11 +KPX A comma 17 +KPX A d -11 +KPX A e -7 +KPX A g -16 +KPX A guillemotleft -35 +KPX A guilsinglleft -33 +KPX A hyphen 7 +KPX A o -14 +KPX A period 17 +KPX A q -12 +KPX A quotedblright -47 +KPX A quoteright -50 +KPX A t -12 +KPX A u -12 +KPX A v -29 +KPX A w -19 +KPX A y -27 +KPX Aacute C -26 +KPX Aacute G -27 +KPX Aacute O -27 +KPX Aacute Q -27 +KPX Aacute T -62 +KPX Aacute U -24 +KPX Aacute V -50 +KPX Aacute W -41 +KPX Aacute Y -69 +KPX Aacute a -1 +KPX Aacute b -1 +KPX Aacute c -11 +KPX Aacute comma 17 +KPX Aacute d -11 +KPX Aacute e -7 +KPX Aacute g -16 +KPX Aacute guillemotleft -35 +KPX Aacute guilsinglleft -33 +KPX Aacute hyphen 7 +KPX Aacute o -14 +KPX Aacute period 17 +KPX Aacute q -12 +KPX Aacute quoteright -50 +KPX Aacute t -12 +KPX Aacute u -12 +KPX Aacute v -29 +KPX Aacute w -19 +KPX Aacute y -27 +KPX Acircumflex C -26 +KPX Acircumflex G -27 +KPX Acircumflex O -27 +KPX Acircumflex Q -27 +KPX Acircumflex T -62 +KPX Acircumflex U -24 +KPX Acircumflex V -50 +KPX Acircumflex W -41 +KPX Acircumflex Y -69 +KPX Acircumflex comma 17 +KPX Acircumflex period 17 +KPX Adieresis C -26 +KPX Adieresis G -27 +KPX Adieresis O -27 +KPX Adieresis Q -27 +KPX Adieresis T -62 +KPX Adieresis U -24 +KPX Adieresis V -50 +KPX Adieresis W -41 +KPX Adieresis Y -69 +KPX Adieresis a -1 +KPX Adieresis b -1 +KPX Adieresis c -11 +KPX Adieresis comma 17 +KPX Adieresis d -11 +KPX Adieresis g -16 +KPX Adieresis guillemotleft -35 +KPX Adieresis guilsinglleft -33 +KPX Adieresis hyphen 7 +KPX Adieresis o -14 +KPX Adieresis period 17 +KPX Adieresis q -12 +KPX Adieresis quotedblright -47 +KPX Adieresis quoteright -50 +KPX Adieresis t -12 +KPX Adieresis u -12 +KPX Adieresis v -29 +KPX Adieresis w -19 +KPX Adieresis y -27 +KPX Agrave C -26 +KPX Agrave G -27 +KPX Agrave O -27 +KPX Agrave Q -27 +KPX Agrave T -62 +KPX Agrave U -24 +KPX Agrave V -50 +KPX Agrave W -41 +KPX Agrave Y -69 +KPX Agrave comma 17 +KPX Agrave period 17 +KPX Aring C -26 +KPX Aring G -27 +KPX Aring O -27 +KPX Aring Q -27 +KPX Aring T -62 +KPX Aring U -24 +KPX Aring V -50 +KPX Aring W -41 +KPX Aring Y -69 +KPX Aring a -1 +KPX Aring b -1 +KPX Aring c -11 +KPX Aring comma 17 +KPX Aring d -11 +KPX Aring e -7 +KPX Aring g -16 +KPX Aring guillemotleft -35 +KPX Aring guilsinglleft -33 +KPX Aring hyphen 7 +KPX Aring o -14 +KPX Aring period 17 +KPX Aring q -12 +KPX Aring quotedblright -47 +KPX Aring quoteright -50 +KPX Aring t -12 +KPX Aring u -12 +KPX Aring v -29 +KPX Aring w -19 +KPX Aring y -27 +KPX Atilde C -26 +KPX Atilde G -27 +KPX Atilde O -27 +KPX Atilde Q -27 +KPX Atilde T -62 +KPX Atilde U -24 +KPX Atilde V -50 +KPX Atilde W -41 +KPX Atilde Y -69 +KPX Atilde comma 17 +KPX Atilde period 17 +KPX B A -17 +KPX B AE -11 +KPX B Aacute -17 +KPX B Acircumflex -17 +KPX B Adieresis -17 +KPX B Aring -17 +KPX B Atilde -17 +KPX B O -4 +KPX B OE 1 +KPX B Oacute -4 +KPX B Ocircumflex -4 +KPX B Odieresis -4 +KPX B Ograve -4 +KPX B Oslash -1 +KPX B V -22 +KPX B W -17 +KPX B Y -29 +KPX C A -19 +KPX C AE -14 +KPX C Aacute -19 +KPX C Adieresis -19 +KPX C Aring -19 +KPX C H 1 +KPX C K -5 +KPX C O -2 +KPX C Oacute -2 +KPX C Odieresis -2 +KPX Ccedilla A -21 +KPX D A -24 +KPX D Aacute -24 +KPX D Acircumflex -24 +KPX D Adieresis -24 +KPX D Agrave -24 +KPX D Aring -24 +KPX D Atilde -24 +KPX D J 8 +KPX D T -3 +KPX D V -20 +KPX D W -13 +KPX D X -22 +KPX D Y -31 +KPX F A -43 +KPX F Aacute -43 +KPX F Acircumflex -43 +KPX F Adieresis -43 +KPX F Agrave -43 +KPX F Aring -43 +KPX F Atilde -43 +KPX F J -14 +KPX F O -10 +KPX F Odieresis -10 +KPX F a -15 +KPX F aacute -15 +KPX F adieresis -15 +KPX F ae -16 +KPX F aring -15 +KPX F comma -71 +KPX F e -6 +KPX F eacute -6 +KPX F hyphen 8 +KPX F i -6 +KPX F j -6 +KPX F o -11 +KPX F oacute -11 +KPX F odieresis -11 +KPX F oe -11 +KPX F oslash -11 +KPX F period -71 +KPX F r -22 +KPX F u -23 +KPX G A 1 +KPX G AE 7 +KPX G Aacute 1 +KPX G Acircumflex 1 +KPX G Adieresis 1 +KPX G Agrave 1 +KPX G Aring 1 +KPX G Atilde 1 +KPX G T -6 +KPX G V -24 +KPX G W -15 +KPX G Y -35 +KPX J A -21 +KPX J AE -15 +KPX J Adieresis -21 +KPX J Aring -21 +KPX K C -35 +KPX K G -36 +KPX K O -36 +KPX K OE -30 +KPX K Oacute -36 +KPX K Odieresis -36 +KPX K S -18 +KPX K T 23 +KPX K a 0 +KPX K adieresis 0 +KPX K ae -1 +KPX K aring 0 +KPX K e -17 +KPX K hyphen -26 +KPX K o -25 +KPX K oacute -25 +KPX K odieresis -25 +KPX K u -19 +KPX K udieresis -19 +KPX K y -48 +KPX L A 16 +KPX L AE 22 +KPX L Aacute 16 +KPX L Adieresis 16 +KPX L Aring 16 +KPX L C -13 +KPX L Ccedilla -16 +KPX L G -15 +KPX L O -15 +KPX L Oacute -15 +KPX L Ocircumflex -15 +KPX L Odieresis -15 +KPX L Ograve -15 +KPX L Otilde -15 +KPX L S 3 +KPX L T -70 +KPX L U -12 +KPX L Udieresis -12 +KPX L V -64 +KPX L W -50 +KPX L Y -83 +KPX L hyphen -8 +KPX L quotedblright -115 +KPX L quoteright -118 +KPX L u -7 +KPX L udieresis -7 +KPX L y -41 +KPX N A 0 +KPX N AE 6 +KPX N Aacute 0 +KPX N Adieresis 0 +KPX N Aring 0 +KPX N C 7 +KPX N Ccedilla 7 +KPX N G 6 +KPX N O 6 +KPX N Oacute 6 +KPX N Odieresis 6 +KPX N a 7 +KPX N aacute 7 +KPX N adieresis 7 +KPX N ae 6 +KPX N aring 7 +KPX N comma 12 +KPX N e 12 +KPX N eacute 12 +KPX N o 6 +KPX N oacute 6 +KPX N odieresis 6 +KPX N oslash 7 +KPX N period 12 +KPX N u 5 +KPX N udieresis 5 +KPX O A -28 +KPX O AE -22 +KPX O Aacute -28 +KPX O Adieresis -28 +KPX O Aring -28 +KPX O T -9 +KPX O V -26 +KPX O W -17 +KPX O X -26 +KPX O Y -38 +KPX Oacute A -28 +KPX Oacute T -9 +KPX Oacute V -26 +KPX Oacute W -17 +KPX Oacute Y -38 +KPX Ocircumflex T -9 +KPX Ocircumflex V -26 +KPX Ocircumflex Y -38 +KPX Odieresis A -28 +KPX Odieresis T -9 +KPX Odieresis V -26 +KPX Odieresis W -17 +KPX Odieresis X -26 +KPX Odieresis Y -38 +KPX Ograve T -9 +KPX Ograve V -26 +KPX Ograve Y -38 +KPX Oslash A -24 +KPX Otilde T -9 +KPX Otilde V -26 +KPX Otilde Y -38 +KPX P A -51 +KPX P AE -47 +KPX P Aacute -51 +KPX P Adieresis -51 +KPX P Aring -51 +KPX P J -36 +KPX P a -12 +KPX P aacute -12 +KPX P adieresis -12 +KPX P ae -13 +KPX P aring -12 +KPX P comma -92 +KPX P e -10 +KPX P eacute -10 +KPX P hyphen -3 +KPX P o -16 +KPX P oacute -16 +KPX P odieresis -16 +KPX P oe -16 +KPX P oslash -16 +KPX P period -92 +KPX R C -2 +KPX R Ccedilla -2 +KPX R G -3 +KPX R O -3 +KPX R OE 1 +KPX R Oacute -3 +KPX R Odieresis -3 +KPX R T 3 +KPX R U -1 +KPX R Udieresis -1 +KPX R V -16 +KPX R W -12 +KPX R Y -24 +KPX R a 0 +KPX R aacute 0 +KPX R adieresis 0 +KPX R ae -1 +KPX R aring 0 +KPX R e 2 +KPX R eacute 2 +KPX R hyphen 14 +KPX R o -4 +KPX R oacute -4 +KPX R odieresis -4 +KPX R oe -4 +KPX R u -1 +KPX R uacute -2 +KPX R udieresis -2 +KPX R y 3 +KPX S A -10 +KPX S AE -5 +KPX S Aacute -10 +KPX S Adieresis -10 +KPX S Aring -10 +KPX S T 0 +KPX S V -20 +KPX S W -15 +KPX S Y -27 +KPX S t 2 +KPX T A -63 +KPX T AE -59 +KPX T Aacute -63 +KPX T Acircumflex -63 +KPX T Adieresis -63 +KPX T Agrave -63 +KPX T Aring -63 +KPX T Atilde -63 +KPX T C -8 +KPX T G -10 +KPX T J -67 +KPX T O -9 +KPX T OE -3 +KPX T Oacute -9 +KPX T Ocircumflex -9 +KPX T Odieresis -9 +KPX T Ograve -9 +KPX T Oslash -9 +KPX T Otilde -9 +KPX T S 6 +KPX T V 22 +KPX T W 23 +KPX T Y 23 +KPX T a -62 +KPX T ae -63 +KPX T c -62 +KPX T colon -73 +KPX T comma -55 +KPX T e -58 +KPX T g -65 +KPX T guillemotleft -84 +KPX T guilsinglleft -82 +KPX T hyphen -39 +KPX T i -2 +KPX T j -2 +KPX T o -65 +KPX T oslash -61 +KPX T period -55 +KPX T r -59 +KPX T s -63 +KPX T semicolon -73 +KPX T u -63 +KPX T v -68 +KPX T w -67 +KPX T y -67 +KPX U A -24 +KPX U AE -20 +KPX U Aacute -24 +KPX U Acircumflex -24 +KPX U Adieresis -24 +KPX U Aring -24 +KPX U Atilde -24 +KPX U comma -6 +KPX U m 4 +KPX U n 3 +KPX U p 4 +KPX U period -3 +KPX U r 4 +KPX Uacute A -24 +KPX Uacute comma -6 +KPX Uacute m 4 +KPX Uacute n 3 +KPX Uacute p 4 +KPX Uacute period -3 +KPX Uacute r 4 +KPX Ucircumflex A -24 +KPX Udieresis A -24 +KPX Udieresis b 4 +KPX Udieresis comma -6 +KPX Udieresis m 4 +KPX Udieresis n 3 +KPX Udieresis p 4 +KPX Udieresis period -3 +KPX Udieresis r 4 +KPX Ugrave A -24 +KPX V A -51 +KPX V AE -46 +KPX V Aacute -51 +KPX V Acircumflex -51 +KPX V Adieresis -51 +KPX V Agrave -51 +KPX V Aring -51 +KPX V Atilde -51 +KPX V C -25 +KPX V G -26 +KPX V O -26 +KPX V Oacute -26 +KPX V Ocircumflex -26 +KPX V Odieresis -26 +KPX V Ograve -26 +KPX V Oslash -22 +KPX V Otilde -26 +KPX V S -13 +KPX V T 22 +KPX V a -38 +KPX V ae -39 +KPX V colon -38 +KPX V comma -52 +KPX V e -34 +KPX V g -40 +KPX V guillemotleft -59 +KPX V guilsinglleft -57 +KPX V hyphen -14 +KPX V i -4 +KPX V o -40 +KPX V oslash -37 +KPX V period -52 +KPX V r -27 +KPX V semicolon -38 +KPX V u -31 +KPX V y -7 +KPX W A -40 +KPX W AE -36 +KPX W Aacute -40 +KPX W Acircumflex -40 +KPX W Adieresis -40 +KPX W Agrave -40 +KPX W Aring -40 +KPX W Atilde -40 +KPX W C -15 +KPX W G -16 +KPX W O -16 +KPX W Oacute -16 +KPX W Ocircumflex -16 +KPX W Odieresis -16 +KPX W Ograve -16 +KPX W Oslash -12 +KPX W Otilde -16 +KPX W S -8 +KPX W T 24 +KPX W a -26 +KPX W ae -27 +KPX W colon -31 +KPX W comma -36 +KPX W e -21 +KPX W g -27 +KPX W guillemotleft -47 +KPX W guilsinglleft -45 +KPX W hyphen -2 +KPX W i -2 +KPX W o -28 +KPX W oslash -25 +KPX W period -36 +KPX W r -21 +KPX W semicolon -31 +KPX W u -24 +KPX W y -1 +KPX X C -26 +KPX X O -27 +KPX X Odieresis -27 +KPX X Q -27 +KPX X a -5 +KPX X e -20 +KPX X hyphen -21 +KPX X o -27 +KPX X u -24 +KPX X y -35 +KPX Y A -67 +KPX Y AE -62 +KPX Y Aacute -67 +KPX Y Acircumflex -67 +KPX Y Adieresis -67 +KPX Y Agrave -67 +KPX Y Aring -67 +KPX Y Atilde -67 +KPX Y C -36 +KPX Y G -38 +KPX Y O -37 +KPX Y Oacute -37 +KPX Y Ocircumflex -37 +KPX Y Odieresis -37 +KPX Y Ograve -37 +KPX Y Oslash -37 +KPX Y Otilde -37 +KPX Y S -19 +KPX Y T 24 +KPX Y a -58 +KPX Y ae -59 +KPX Y colon -52 +KPX Y comma -65 +KPX Y e -54 +KPX Y g -61 +KPX Y guillemotleft -83 +KPX Y guilsinglleft -81 +KPX Y hyphen -42 +KPX Y i -2 +KPX Y o -61 +KPX Y oslash -57 +KPX Y p -39 +KPX Y period -65 +KPX Y semicolon -52 +KPX Y u -45 +KPX Y v -22 +KPX Z v -9 +KPX Z y -8 +KPX a j 0 +KPX a quoteright -7 +KPX a v -15 +KPX a w -6 +KPX a y -13 +KPX aacute v -15 +KPX aacute w -6 +KPX aacute y -13 +KPX adieresis v -15 +KPX adieresis w -6 +KPX adieresis y -13 +KPX ae v -16 +KPX ae w -6 +KPX ae y -15 +KPX agrave v -15 +KPX agrave w -6 +KPX agrave y -13 +KPX aring v -15 +KPX aring w -6 +KPX aring y -13 +KPX b v -15 +KPX b w -5 +KPX b y -14 +KPX c h 0 +KPX c k -2 +KPX comma one -59 +KPX comma quotedblright -18 +KPX comma quoteright -20 +KPX e quoteright -8 +KPX e t -2 +KPX e v -15 +KPX e w -6 +KPX e x -16 +KPX e y -14 +KPX eacute v -15 +KPX eacute w -6 +KPX eacute y -14 +KPX ecircumflex v -15 +KPX ecircumflex w -6 +KPX ecircumflex y -14 +KPX eight four 12 +KPX eight one -15 +KPX eight seven 0 +KPX f a -5 +KPX f aacute -5 +KPX f adieresis -5 +KPX f ae -6 +KPX f aring -5 +KPX f e -5 +KPX f eacute -5 +KPX f f 17 +KPX f i -3 +KPX f j -7 +KPX f l -3 +KPX f o -12 +KPX f oacute -12 +KPX f odieresis -12 +KPX f oe -12 +KPX f oslash -9 +KPX f quoteright 11 +KPX f s -5 +KPX f t 17 +KPX five four 8 +KPX five one -20 +KPX five seven -2 +KPX four four 12 +KPX four one -37 +KPX four seven -19 +KPX g a 5 +KPX g adieresis 5 +KPX g ae 5 +KPX g aring 5 +KPX g e 10 +KPX g eacute 10 +KPX g l 3 +KPX g oacute 4 +KPX g odieresis 4 +KPX g r 6 +KPX guillemotright A -36 +KPX guillemotright AE -30 +KPX guillemotright Aacute -36 +KPX guillemotright Adieresis -36 +KPX guillemotright Aring -36 +KPX guillemotright T -84 +KPX guillemotright V -59 +KPX guillemotright W -48 +KPX guillemotright Y -86 +KPX guilsinglright A -33 +KPX guilsinglright AE -28 +KPX guilsinglright Aacute -33 +KPX guilsinglright Adieresis -33 +KPX guilsinglright Aring -33 +KPX guilsinglright T -82 +KPX guilsinglright V -56 +KPX guilsinglright W -45 +KPX guilsinglright Y -84 +KPX h quoteright -7 +KPX h y -14 +KPX hyphen A 7 +KPX hyphen AE 12 +KPX hyphen Aacute 7 +KPX hyphen Adieresis 7 +KPX hyphen Aring 7 +KPX hyphen T -39 +KPX hyphen V -14 +KPX hyphen W -3 +KPX hyphen Y -45 +KPX i T -2 +KPX i j -1 +KPX k a 0 +KPX k aacute 0 +KPX k adieresis 0 +KPX k ae 0 +KPX k aring 0 +KPX k comma 15 +KPX k e -6 +KPX k eacute -6 +KPX k g -14 +KPX k hyphen -10 +KPX k o -13 +KPX k oacute -13 +KPX k odieresis -13 +KPX k period 15 +KPX k s -8 +KPX k u -4 +KPX k udieresis 0 +KPX l v -7 +KPX l y -5 +KPX m p 3 +KPX m v -16 +KPX m w -7 +KPX m y -14 +KPX n T -63 +KPX n p 3 +KPX n quoteright -7 +KPX n v -16 +KPX n w -7 +KPX n y -14 +KPX nine four 10 +KPX nine one -11 +KPX nine seven -4 +KPX o T -64 +KPX o quoteright -13 +KPX o t -5 +KPX o v -18 +KPX o w -8 +KPX o x -20 +KPX o y -17 +KPX oacute v -18 +KPX oacute w -8 +KPX oacute y -17 +KPX ocircumflex t -5 +KPX odieresis t -5 +KPX odieresis v -18 +KPX odieresis w -8 +KPX odieresis x -20 +KPX odieresis y -17 +KPX ograve v -18 +KPX ograve w -8 +KPX ograve y -17 +KPX one comma -32 +KPX one eight -32 +KPX one five -33 +KPX one four -46 +KPX one nine -32 +KPX one one -65 +KPX one period -32 +KPX one seven -47 +KPX one six -29 +KPX one three -36 +KPX one two -37 +KPX one zero -28 +KPX p t -1 +KPX p y -14 +KPX period one -59 +KPX period quotedblright -18 +KPX period quoteright -20 +KPX q c 6 +KPX q u 4 +KPX quotedblbase A 16 +KPX quotedblbase AE 22 +KPX quotedblbase T -56 +KPX quotedblbase V -53 +KPX quotedblbase W -38 +KPX quotedblbase Y -69 +KPX quotedblleft A -49 +KPX quotedblleft AE -45 +KPX quotedblleft Aacute -49 +KPX quotedblleft Adieresis -49 +KPX quotedblleft Aring -49 +KPX quotedblleft T 3 +KPX quotedblleft V 10 +KPX quotedblleft W 15 +KPX quotedblleft Y 2 +KPX quotedblright A -52 +KPX quotedblright AE -48 +KPX quotedblright Aacute -52 +KPX quotedblright Adieresis -52 +KPX quotedblright Aring -52 +KPX quotedblright T 4 +KPX quotedblright V 7 +KPX quotedblright W 12 +KPX quotedblright Y 0 +KPX quoteleft A -51 +KPX quoteleft AE -47 +KPX quoteleft Aacute -51 +KPX quoteleft Adieresis -51 +KPX quoteleft Aring -51 +KPX quoteleft T 1 +KPX quoteleft V 7 +KPX quoteleft W 12 +KPX quoteleft Y 0 +KPX quoteright A -55 +KPX quoteright AE -51 +KPX quoteright Aacute -55 +KPX quoteright Adieresis -55 +KPX quoteright Aring -55 +KPX quoteright comma -31 +KPX quoteright d -18 +KPX quoteright o -24 +KPX quoteright period -31 +KPX quoteright r -7 +KPX quoteright s -16 +KPX quoteright t 4 +KPX quoteright v 0 +KPX quoteright w 5 +KPX quoteright y 2 +KPX r a -1 +KPX r aacute -1 +KPX r acircumflex -1 +KPX r adieresis -1 +KPX r ae -2 +KPX r agrave -1 +KPX r aring -1 +KPX r c -4 +KPX r ccedilla -1 +KPX r colon -12 +KPX r comma -42 +KPX r d -3 +KPX r e 0 +KPX r eacute 0 +KPX r ecircumflex 0 +KPX r egrave 0 +KPX r f 17 +KPX r g -2 +KPX r h -5 +KPX r hyphen -24 +KPX r i -7 +KPX r j -7 +KPX r k -7 +KPX r l -7 +KPX r m -5 +KPX r n -5 +KPX r o -6 +KPX r oacute -6 +KPX r ocircumflex -6 +KPX r odieresis -6 +KPX r oe -6 +KPX r ograve -6 +KPX r oslash -6 +KPX r p -4 +KPX r period -42 +KPX r q -3 +KPX r quoteright 13 +KPX r r -5 +KPX r s -1 +KPX r semicolon -12 +KPX r t 17 +KPX r u -6 +KPX r v 15 +KPX r w 16 +KPX r x 10 +KPX r y 16 +KPX r z 5 +KPX s quoteright -11 +KPX s t -5 +KPX seven colon -40 +KPX seven comma -71 +KPX seven eight -2 +KPX seven five -9 +KPX seven four -53 +KPX seven one -4 +KPX seven period -71 +KPX seven seven 14 +KPX seven six -6 +KPX seven three 1 +KPX seven two 1 +KPX six four 10 +KPX six one -13 +KPX six seven 1 +KPX t S 1 +KPX t a 4 +KPX t aacute 4 +KPX t adieresis 4 +KPX t ae 4 +KPX t aring 4 +KPX t colon -5 +KPX t e -2 +KPX t eacute -2 +KPX t h 5 +KPX t o -8 +KPX t oacute -8 +KPX t odieresis -8 +KPX t quoteright 7 +KPX t semicolon -4 +KPX three four 8 +KPX three one -18 +KPX three seven -3 +KPX two four -11 +KPX two one -11 +KPX two seven 0 +KPX u quoteright 1 +KPX v a -17 +KPX v aacute -17 +KPX v acircumflex -17 +KPX v adieresis -17 +KPX v ae -18 +KPX v agrave -17 +KPX v aring -17 +KPX v atilde -17 +KPX v c -16 +KPX v colon -13 +KPX v comma -35 +KPX v e -12 +KPX v eacute -12 +KPX v ecircumflex -12 +KPX v egrave -12 +KPX v g -18 +KPX v hyphen 5 +KPX v l -7 +KPX v o -19 +KPX v oacute -19 +KPX v odieresis -19 +KPX v ograve -19 +KPX v oslash -16 +KPX v period -35 +KPX v s -17 +KPX v semicolon -13 +KPX w a -7 +KPX w aacute -7 +KPX w acircumflex -7 +KPX w adieresis -7 +KPX w ae -8 +KPX w agrave -7 +KPX w aring -7 +KPX w atilde -7 +KPX w c -7 +KPX w colon -10 +KPX w comma -20 +KPX w e -2 +KPX w eacute -2 +KPX w ecircumflex -2 +KPX w egrave -2 +KPX w g -8 +KPX w hyphen 14 +KPX w l -3 +KPX w o -9 +KPX w oacute -9 +KPX w odieresis -9 +KPX w ograve -9 +KPX w oslash -6 +KPX w period -20 +KPX w s -8 +KPX w semicolon -10 +KPX x a -10 +KPX x c -17 +KPX x e -13 +KPX x eacute -13 +KPX x o -20 +KPX x q -17 +KPX y a -18 +KPX y aacute -18 +KPX y acircumflex -18 +KPX y adieresis -18 +KPX y ae -19 +KPX y agrave -18 +KPX y aring -18 +KPX y atilde -18 +KPX y c -18 +KPX y colon -14 +KPX y comma -36 +KPX y e -14 +KPX y eacute -14 +KPX y ecircumflex -14 +KPX y egrave -14 +KPX y g -20 +KPX y hyphen 4 +KPX y l -8 +KPX y o -20 +KPX y oacute -20 +KPX y odieresis -20 +KPX y ograve -20 +KPX y oslash -17 +KPX y period -35 +KPX y s -19 +KPX y semicolon -14 +KPX zero four 11 +KPX zero one -10 +KPX zero seven -1 +EndKernPairs +EndKernData +EndFontMetrics diff --git a/Master/xemtex/gsfonts/n019044l.pfb b/Master/xemtex/gsfonts/n019044l.pfb new file mode 100644 index 00000000000..34ee042b4c7 Binary files /dev/null and b/Master/xemtex/gsfonts/n019044l.pfb differ diff --git a/Master/xemtex/gsfonts/n019044l.pfm b/Master/xemtex/gsfonts/n019044l.pfm new file mode 100644 index 00000000000..af20fad314e Binary files /dev/null and b/Master/xemtex/gsfonts/n019044l.pfm differ diff --git a/Master/xemtex/gsfonts/n019063l.afm b/Master/xemtex/gsfonts/n019063l.afm new file mode 100644 index 00000000000..d5265da173b --- /dev/null +++ b/Master/xemtex/gsfonts/n019063l.afm @@ -0,0 +1,1341 @@ +StartFontMetrics 3.0 +Comment Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development +Comment Creation Date: 12/22/1999 +Comment See the file PUBLIC (Aladdin Free Public License) for license conditions. +FontName NimbusSanL-ReguCondItal +FullName Nimbus Sans L Regular Condensed Italic +FamilyName Nimbus Sans L +Weight Regular +ItalicAngle -9.0 +IsFixedPitch false +UnderlinePosition -100 +UnderlineThickness 50 +Version 1.05 +Notice (URW)++,Copyright 1999 by (URW)++ Design & Development +EncodingScheme AdobeStandardEncoding +FontBBox -139 -286 915 951 +CapHeight 718 +XHeight 523 +Descender -207 +Ascender 718 +StartCharMetrics 316 +C 32 ; WX 228 ; N space ; B 21 0 21 0 ; +C 33 ; WX 228 ; N exclam ; B 74 0 278 718 ; +C 34 ; WX 291 ; N quotedbl ; B 138 463 359 718 ; +C 35 ; WX 456 ; N numbersign ; B 60 0 517 688 ; +C 36 ; WX 456 ; N dollar ; B 57 -115 506 775 ; +C 37 ; WX 729 ; N percent ; B 120 -19 729 703 ; +C 38 ; WX 547 ; N ampersand ; B 63 -15 530 718 ; +C 39 ; WX 182 ; N quoteright ; B 124 463 254 718 ; +C 40 ; WX 273 ; N parenleft ; B 89 -207 372 733 ; +C 41 ; WX 273 ; N parenright ; B -7 -207 276 733 ; +C 42 ; WX 319 ; N asterisk ; B 135 431 389 718 ; +C 43 ; WX 479 ; N plus ; B 70 0 497 505 ; +C 44 ; WX 228 ; N comma ; B 46 -147 175 106 ; +C 45 ; WX 273 ; N hyphen ; B 77 232 293 322 ; +C 46 ; WX 228 ; N period ; B 71 0 175 106 ; +C 47 ; WX 228 ; N slash ; B -17 -19 370 737 ; +C 48 ; WX 456 ; N zero ; B 77 -19 499 703 ; +C 49 ; WX 456 ; N one ; B 170 0 417 703 ; +C 50 ; WX 456 ; N two ; B 21 0 506 703 ; +C 51 ; WX 456 ; N three ; B 61 -19 500 703 ; +C 52 ; WX 456 ; N four ; B 50 0 472 703 ; +C 53 ; WX 456 ; N five ; B 55 -19 509 688 ; +C 54 ; WX 456 ; N six ; B 74 -19 504 703 ; +C 55 ; WX 456 ; N seven ; B 112 0 549 688 ; +C 56 ; WX 456 ; N eight ; B 60 -19 497 703 ; +C 57 ; WX 456 ; N nine ; B 67 -19 499 703 ; +C 58 ; WX 228 ; N colon ; B 71 0 247 516 ; +C 59 ; WX 228 ; N semicolon ; B 46 -147 247 516 ; +C 60 ; WX 479 ; N less ; B 77 10 526 496 ; +C 61 ; WX 479 ; N equal ; B 52 115 515 390 ; +C 62 ; WX 479 ; N greater ; B 41 10 490 496 ; +C 63 ; WX 456 ; N question ; B 132 0 500 727 ; +C 64 ; WX 832 ; N at ; B 176 -19 791 737 ; +C 65 ; WX 547 ; N A ; B 11 0 536 718 ; +C 66 ; WX 547 ; N B ; B 61 0 583 718 ; +C 67 ; WX 592 ; N C ; B 88 -19 640 737 ; +C 68 ; WX 592 ; N D ; B 66 0 626 718 ; +C 69 ; WX 547 ; N E ; B 71 0 625 718 ; +C 70 ; WX 501 ; N F ; B 71 0 603 718 ; +C 71 ; WX 638 ; N G ; B 91 -19 655 737 ; +C 72 ; WX 592 ; N H ; B 63 0 655 718 ; +C 73 ; WX 228 ; N I ; B 75 0 279 718 ; +C 74 ; WX 410 ; N J ; B 39 -19 476 718 ; +C 75 ; WX 547 ; N K ; B 62 0 662 718 ; +C 76 ; WX 456 ; N L ; B 62 0 455 718 ; +C 77 ; WX 683 ; N M ; B 60 0 749 718 ; +C 78 ; WX 592 ; N N ; B 62 0 655 718 ; +C 79 ; WX 638 ; N O ; B 86 -19 677 737 ; +C 80 ; WX 547 ; N P ; B 71 0 604 718 ; +C 81 ; WX 638 ; N Q ; B 86 -56 677 737 ; +C 82 ; WX 592 ; N R ; B 72 0 634 718 ; +C 83 ; WX 547 ; N S ; B 74 -19 584 737 ; +C 84 ; WX 501 ; N T ; B 122 0 615 718 ; +C 85 ; WX 592 ; N U ; B 101 -19 653 718 ; +C 86 ; WX 547 ; N V ; B 142 0 656 718 ; +C 87 ; WX 774 ; N W ; B 138 0 886 718 ; +C 88 ; WX 547 ; N X ; B 16 0 647 718 ; +C 89 ; WX 547 ; N Y ; B 137 0 661 718 ; +C 90 ; WX 501 ; N Z ; B 19 0 607 718 ; +C 91 ; WX 228 ; N bracketleft ; B 17 -196 331 722 ; +C 92 ; WX 228 ; N backslash ; B 115 -19 239 737 ; +C 93 ; WX 228 ; N bracketright ; B -11 -196 302 722 ; +C 94 ; WX 385 ; N asciicircum ; B 35 264 442 688 ; +C 95 ; WX 456 ; N underscore ; B -22 -125 443 -75 ; +C 96 ; WX 182 ; N quoteleft ; B 135 470 265 725 ; +C 97 ; WX 456 ; N a ; B 50 -15 458 538 ; +C 98 ; WX 456 ; N b ; B 48 -15 479 718 ; +C 99 ; WX 410 ; N c ; B 61 -15 454 538 ; +C 100 ; WX 456 ; N d ; B 69 -15 534 718 ; +C 101 ; WX 456 ; N e ; B 69 -15 474 538 ; +C 102 ; WX 228 ; N f ; B 71 0 341 728 ; +C 103 ; WX 456 ; N g ; B 34 -220 500 538 ; +C 104 ; WX 456 ; N h ; B 53 0 470 718 ; +C 105 ; WX 182 ; N i ; B 55 0 252 718 ; +C 106 ; WX 182 ; N j ; B -49 -210 252 718 ; +C 107 ; WX 410 ; N k ; B 55 0 492 718 ; +C 108 ; WX 182 ; N l ; B 55 0 252 718 ; +C 109 ; WX 683 ; N m ; B 53 0 699 538 ; +C 110 ; WX 456 ; N n ; B 53 0 470 538 ; +C 111 ; WX 456 ; N o ; B 68 -14 479 538 ; +C 112 ; WX 456 ; N p ; B 11 -207 479 538 ; +C 113 ; WX 456 ; N q ; B 69 -207 496 538 ; +C 114 ; WX 273 ; N r ; B 63 0 365 538 ; +C 115 ; WX 410 ; N s ; B 52 -15 434 538 ; +C 116 ; WX 228 ; N t ; B 84 -7 302 669 ; +C 117 ; WX 456 ; N u ; B 77 -15 492 523 ; +C 118 ; WX 410 ; N v ; B 98 0 495 523 ; +C 119 ; WX 592 ; N w ; B 103 0 673 523 ; +C 120 ; WX 410 ; N x ; B 9 0 487 523 ; +C 121 ; WX 410 ; N y ; B 12 -214 492 523 ; +C 122 ; WX 410 ; N z ; B 25 0 468 523 ; +C 123 ; WX 274 ; N braceleft ; B 75 -196 365 722 ; +C 124 ; WX 213 ; N bar ; B 74 -19 265 737 ; +C 125 ; WX 274 ; N braceright ; B 0 -196 291 722 ; +C 126 ; WX 479 ; N asciitilde ; B 91 181 476 322 ; +C 161 ; WX 273 ; N exclamdown ; B 63 -195 267 523 ; +C 162 ; WX 456 ; N cent ; B 78 -115 479 623 ; +C 163 ; WX 456 ; N sterling ; B 40 -16 520 718 ; +C 164 ; WX 137 ; N fraction ; B -139 -19 396 703 ; +C 165 ; WX 456 ; N yen ; B 67 0 573 688 ; +C 166 ; WX 456 ; N florin ; B -43 -207 537 737 ; +C 167 ; WX 456 ; N section ; B 63 -191 479 737 ; +C 168 ; WX 456 ; N currency ; B 49 99 530 603 ; +C 169 ; WX 157 ; N quotesingle ; B 129 463 233 718 ; +C 170 ; WX 273 ; N quotedblleft ; B 113 470 378 725 ; +C 171 ; WX 456 ; N guillemotleft ; B 120 108 454 446 ; +C 172 ; WX 273 ; N guilsinglleft ; B 112 108 279 446 ; +C 173 ; WX 273 ; N guilsinglright ; B 91 108 257 446 ; +C 174 ; WX 410 ; N fi ; B 71 0 481 728 ; +C 175 ; WX 410 ; N fl ; B 71 0 479 728 ; +C 177 ; WX 456 ; N endash ; B 42 240 510 313 ; +C 178 ; WX 456 ; N dagger ; B 110 -159 510 718 ; +C 179 ; WX 456 ; N daggerdbl ; B 43 -159 511 718 ; +C 180 ; WX 228 ; N periodcentered ; B 106 190 211 315 ; +C 182 ; WX 440 ; N paragraph ; B 103 -173 533 718 ; +C 183 ; WX 287 ; N bullet ; B 74 202 339 517 ; +C 184 ; WX 182 ; N quotesinglbase ; B 17 -149 147 106 ; +C 185 ; WX 273 ; N quotedblbase ; B -5 -149 260 106 ; +C 186 ; WX 273 ; N quotedblright ; B 102 463 367 718 ; +C 187 ; WX 456 ; N guillemotright ; B 98 108 433 446 ; +C 188 ; WX 820 ; N ellipsis ; B 94 0 744 106 ; +C 189 ; WX 820 ; N perthousand ; B 72 -19 844 703 ; +C 191 ; WX 501 ; N questiondown ; B 70 -201 438 525 ; +C 193 ; WX 273 ; N grave ; B 139 593 276 734 ; +C 194 ; WX 273 ; N acute ; B 203 593 390 734 ; +C 195 ; WX 273 ; N circumflex ; B 121 593 359 734 ; +C 196 ; WX 273 ; N tilde ; B 102 606 402 722 ; +C 197 ; WX 273 ; N macron ; B 117 627 384 684 ; +C 198 ; WX 273 ; N breve ; B 137 595 391 731 ; +C 199 ; WX 273 ; N dotaccent ; B 204 604 297 706 ; +C 200 ; WX 273 ; N dieresis ; B 138 604 363 706 ; +C 202 ; WX 273 ; N ring ; B 175 572 330 756 ; +C 203 ; WX 273 ; N cedilla ; B 2 -225 191 0 ; +C 205 ; WX 273 ; N hungarumlaut ; B 129 593 463 734 ; +C 206 ; WX 273 ; N ogonek ; B 35 -225 204 0 ; +C 207 ; WX 273 ; N caron ; B 145 593 384 734 ; +C 208 ; WX 820 ; N emdash ; B 42 240 875 313 ; +C 225 ; WX 820 ; N AE ; B 7 0 899 718 ; +C 227 ; WX 303 ; N ordfeminine ; B 82 304 368 737 ; +C 232 ; WX 456 ; N Lslash ; B 34 0 455 718 ; +C 233 ; WX 638 ; N Oslash ; B 35 -19 730 737 ; +C 234 ; WX 820 ; N OE ; B 80 -19 915 737 ; +C 235 ; WX 299 ; N ordmasculine ; B 82 304 384 737 ; +C 241 ; WX 729 ; N ae ; B 50 -15 746 538 ; +C 245 ; WX 228 ; N dotlessi ; B 78 0 241 523 ; +C 248 ; WX 182 ; N lslash ; B 34 0 284 718 ; +C 249 ; WX 501 ; N oslash ; B 24 -22 531 545 ; +C 250 ; WX 774 ; N oe ; B 68 -15 791 538 ; +C 251 ; WX 501 ; N germandbls ; B 55 -15 539 728 ; +C -1 ; WX 592 ; N Udieresis ; B 101 -19 653 901 ; +C -1 ; WX 592 ; N Uacute ; B 101 -19 653 929 ; +C -1 ; WX 547 ; N Scedilla ; B 74 -225 584 737 ; +C -1 ; WX 501 ; N Tcaron ; B 122 0 615 929 ; +C -1 ; WX 547 ; N Scaron ; B 74 -19 584 929 ; +C -1 ; WX 592 ; N Rcaron ; B 72 0 634 929 ; +C -1 ; WX 592 ; N Racute ; B 72 0 634 929 ; +C -1 ; WX 547 ; N Sacute ; B 74 -19 584 929 ; +C -1 ; WX 638 ; N Otilde ; B 86 -19 677 917 ; +C -1 ; WX 456 ; N ucircumflex ; B 77 -15 492 734 ; +C -1 ; WX 638 ; N Ohungarumlaut ; B 86 -19 679 929 ; +C -1 ; WX 592 ; N Uhungarumlaut ; B 101 -19 656 929 ; +C -1 ; WX 547 ; N Yacute ; B 137 0 661 929 ; +C -1 ; WX 592 ; N Eth ; B 57 0 626 718 ; +C -1 ; WX 592 ; N Dcroat ; B 57 0 626 718 ; +C -1 ; WX 501 ; N Zacute ; B 19 0 607 929 ; +C -1 ; WX 592 ; N Uring ; B 101 -19 653 951 ; +C -1 ; WX 456 ; N gbreve ; B 34 -220 500 731 ; +C -1 ; WX 456 ; N eogonek ; B 69 -225 474 538 ; +C -1 ; WX 456 ; N edotaccent ; B 69 -15 474 706 ; +C -1 ; WX 456 ; N ecaron ; B 69 -15 476 734 ; +C -1 ; WX 592 ; N Ugrave ; B 101 -19 653 929 ; +C -1 ; WX 547 ; N Thorn ; B 71 0 584 718 ; +C -1 ; WX 456 ; N eacute ; B 69 -15 482 734 ; +C -1 ; WX 456 ; N edieresis ; B 69 -15 474 706 ; +C -1 ; WX 503 ; N dcaron ; B 69 -15 643 718 ; +C -1 ; WX 410 ; N ccedilla ; B 61 -225 454 538 ; +C -1 ; WX 410 ; N ccaron ; B 61 -15 484 734 ; +C -1 ; WX 410 ; N cacute ; B 61 -15 480 734 ; +C -1 ; WX 456 ; N aogonek ; B 50 -225 458 538 ; +C -1 ; WX 456 ; N aring ; B 50 -15 458 769 ; +C -1 ; WX 456 ; N atilde ; B 50 -15 486 722 ; +C -1 ; WX 456 ; N abreve ; B 50 -15 482 731 ; +C -1 ; WX 456 ; N egrave ; B 69 -15 474 734 ; +C -1 ; WX 456 ; N agrave ; B 50 -15 458 734 ; +C -1 ; WX 456 ; N aacute ; B 50 -15 482 734 ; +C -1 ; WX 456 ; N adieresis ; B 50 -15 458 706 ; +C -1 ; WX 592 ; N Uogonek ; B 101 -225 653 718 ; +C -1 ; WX 456 ; N ugrave ; B 77 -15 492 734 ; +C -1 ; WX 456 ; N uacute ; B 77 -15 492 734 ; +C -1 ; WX 456 ; N udieresis ; B 77 -15 492 706 ; +C -1 ; WX 254 ; N tcaron ; B 84 -7 394 718 ; +C -1 ; WX 410 ; N scommaaccent ; B 52 -286 434 538 ; +C -1 ; WX 501 ; N Zcaron ; B 19 0 607 929 ; +C -1 ; WX 456 ; N ecircumflex ; B 69 -15 474 734 ; +C -1 ; WX 592 ; N Ucircumflex ; B 101 -19 653 929 ; +C -1 ; WX 456 ; N acircumflex ; B 50 -15 458 734 ; +C -1 ; WX 501 ; N Zdotaccent ; B 19 0 607 901 ; +C -1 ; WX 410 ; N scaron ; B 52 -15 453 734 ; +C -1 ; WX 547 ; N Amacron ; B 11 0 555 879 ; +C -1 ; WX 410 ; N sacute ; B 52 -15 459 734 ; +C -1 ; WX 501 ; N Tcommaaccent ; B 122 -286 615 718 ; +C -1 ; WX 547 ; N Ydieresis ; B 137 0 661 901 ; +C -1 ; WX 456 ; N thorn ; B 11 -207 479 718 ; +C -1 ; WX 547 ; N Emacron ; B 71 0 625 879 ; +C -1 ; WX 638 ; N Ograve ; B 86 -19 677 929 ; +C -1 ; WX 638 ; N Oacute ; B 86 -19 677 929 ; +C -1 ; WX 638 ; N Odieresis ; B 86 -19 677 901 ; +C -1 ; WX 592 ; N Ntilde ; B 62 0 655 917 ; +C -1 ; WX 592 ; N Ncaron ; B 62 0 655 929 ; +C -1 ; WX 592 ; N Nacute ; B 62 0 655 929 ; +C -1 ; WX 456 ; N Lcaron ; B 62 0 536 718 ; +C -1 ; WX 456 ; N Lacute ; B 62 0 455 929 ; +C -1 ; WX 228 ; N Idotaccent ; B 75 0 308 901 ; +C -1 ; WX 273 ; N racute ; B 63 0 390 734 ; +C -1 ; WX 228 ; N Icircumflex ; B 75 0 370 929 ; +C -1 ; WX 456 ; N ohungarumlaut ; B 68 -14 555 734 ; +C -1 ; WX 456 ; N otilde ; B 68 -14 494 722 ; +C -1 ; WX 481 ; N Euro ; B 0 -13 535 670 ; +C -1 ; WX 456 ; N ocircumflex ; B 68 -14 479 734 ; +C -1 ; WX 273 ; N onesuperior ; B 136 281 305 703 ; +C -1 ; WX 273 ; N twosuperior ; B 52 281 368 714 ; +C -1 ; WX 273 ; N threesuperior ; B 74 270 358 714 ; +C -1 ; WX 228 ; N Igrave ; B 75 0 288 929 ; +C -1 ; WX 228 ; N Iacute ; B 75 0 401 929 ; +C -1 ; WX 228 ; N Imacron ; B 75 0 395 879 ; +C -1 ; WX 228 ; N Iogonek ; B -15 -225 279 718 ; +C -1 ; WX 228 ; N Idieresis ; B 75 0 375 901 ; +C -1 ; WX 638 ; N Gbreve ; B 91 -19 655 926 ; +C -1 ; WX 592 ; N Umacron ; B 101 -19 653 879 ; +C -1 ; WX 547 ; N Kcommaaccent ; B 62 -286 662 718 ; +C -1 ; WX 456 ; N ograve ; B 68 -14 479 734 ; +C -1 ; WX 547 ; N Scommaaccent ; B 74 -286 584 737 ; +C -1 ; WX 547 ; N Eogonek ; B 71 -225 625 718 ; +C -1 ; WX 456 ; N oacute ; B 68 -14 482 734 ; +C -1 ; WX 547 ; N Edotaccent ; B 71 0 625 901 ; +C -1 ; WX 182 ; N iogonek ; B -42 -225 252 718 ; +C -1 ; WX 456 ; N gcommaaccent ; B 34 -220 500 818 ; +C -1 ; WX 456 ; N odieresis ; B 68 -14 479 706 ; +C -1 ; WX 456 ; N ntilde ; B 53 0 486 722 ; +C -1 ; WX 456 ; N ncaron ; B 53 0 476 734 ; +C -1 ; WX 547 ; N Ecaron ; B 71 0 625 929 ; +C -1 ; WX 547 ; N Ecircumflex ; B 71 0 625 929 ; +C -1 ; WX 410 ; N scedilla ; B 52 -225 434 538 ; +C -1 ; WX 273 ; N rcaron ; B 63 0 384 734 ; +C -1 ; WX 547 ; N Egrave ; B 71 0 625 929 ; +C -1 ; WX 547 ; N Eacute ; B 71 0 625 929 ; +C -1 ; WX 638 ; N Gcommaaccent ; B 91 -286 655 737 ; +C -1 ; WX 592 ; N Rcommaaccent ; B 72 -286 634 718 ; +C -1 ; WX 547 ; N Edieresis ; B 71 0 625 901 ; +C -1 ; WX 456 ; N nacute ; B 53 0 482 734 ; +C -1 ; WX 456 ; N uogonek ; B 77 -225 492 523 ; +C -1 ; WX 456 ; N umacron ; B 77 -15 492 684 ; +C -1 ; WX 592 ; N Dcaron ; B 66 0 626 929 ; +C -1 ; WX 217 ; N lcaron ; B 55 0 357 718 ; +C -1 ; WX 592 ; N Ccaron ; B 88 -19 640 929 ; +C -1 ; WX 592 ; N Cacute ; B 88 -19 640 929 ; +C -1 ; WX 592 ; N Ccedilla ; B 88 -225 640 737 ; +C -1 ; WX 328 ; N degree ; B 138 411 384 703 ; +C -1 ; WX 547 ; N Aogonek ; B 11 -225 536 718 ; +C -1 ; WX 479 ; N minus ; B 70 216 497 289 ; +C -1 ; WX 479 ; N multiply ; B 41 0 526 506 ; +C -1 ; WX 479 ; N divide ; B 70 -19 497 524 ; +C -1 ; WX 547 ; N Aring ; B 11 0 536 944 ; +C -1 ; WX 820 ; N trademark ; B 152 306 866 718 ; +C -1 ; WX 273 ; N rcommaaccent ; B 8 -286 365 538 ; +C -1 ; WX 182 ; N lacute ; B 55 0 378 929 ; +C -1 ; WX 456 ; N omacron ; B 68 -14 479 684 ; +C -1 ; WX 547 ; N Atilde ; B 11 0 573 917 ; +C -1 ; WX 228 ; N icircumflex ; B 78 0 336 734 ; +C -1 ; WX 228 ; N igrave ; B 78 0 254 734 ; +C -1 ; WX 456 ; N ncommaaccent ; B 53 -286 470 538 ; +C -1 ; WX 182 ; N lcommaaccent ; B 2 -286 252 718 ; +C -1 ; WX 479 ; N plusminus ; B 32 0 507 561 ; +C -1 ; WX 684 ; N onehalf ; B 93 -19 688 703 ; +C -1 ; WX 684 ; N onequarter ; B 123 -19 658 703 ; +C -1 ; WX 684 ; N threequarters ; B 106 -19 706 714 ; +C -1 ; WX 228 ; N iacute ; B 78 0 368 734 ; +C -1 ; WX 547 ; N Abreve ; B 11 0 562 926 ; +C -1 ; WX 410 ; N kcommaaccent ; B 55 -286 492 718 ; +C -1 ; WX 638 ; N Omacron ; B 86 -19 677 879 ; +C -1 ; WX 228 ; N imacron ; B 78 0 362 684 ; +C -1 ; WX 456 ; N emacron ; B 69 -15 476 684 ; +C -1 ; WX 456 ; N amacron ; B 50 -15 476 684 ; +C -1 ; WX 228 ; N tcommaaccent ; B 25 -286 302 669 ; +C -1 ; WX 410 ; N ydieresis ; B 12 -214 492 706 ; +C -1 ; WX 410 ; N zdotaccent ; B 25 0 468 706 ; +C -1 ; WX 410 ; N zcaron ; B 25 0 468 734 ; +C -1 ; WX 410 ; N zacute ; B 25 0 468 734 ; +C -1 ; WX 410 ; N yacute ; B 12 -214 492 734 ; +C -1 ; WX 456 ; N uhungarumlaut ; B 77 -15 555 734 ; +C -1 ; WX 456 ; N eth ; B 67 -15 506 737 ; +C -1 ; WX 456 ; N uring ; B 77 -15 492 756 ; +C -1 ; WX 638 ; N Ocircumflex ; B 86 -19 677 929 ; +C -1 ; WX 273 ; N commaaccent ; B 47 -286 163 -60 ; +C -1 ; WX 604 ; N copyright ; B 44 -19 687 737 ; +C -1 ; WX 604 ; N registered ; B 44 -19 687 737 ; +C -1 ; WX 547 ; N Acircumflex ; B 11 0 536 929 ; +C -1 ; WX 228 ; N idieresis ; B 78 0 341 706 ; +C -1 ; WX 405 ; N lozenge ; B 80 0 447 740 ; +C -1 ; WX 502 ; N Delta ; B 5 0 499 688 ; +C -1 ; WX 479 ; N notequal ; B 52 10 515 495 ; +C -1 ; WX 450 ; N radical ; B 74 -74 593 927 ; +C -1 ; WX 547 ; N Agrave ; B 11 0 536 929 ; +C -1 ; WX 547 ; N Aacute ; B 11 0 561 929 ; +C -1 ; WX 479 ; N lessequal ; B 39 0 543 594 ; +C -1 ; WX 479 ; N greaterequal ; B 39 0 507 594 ; +C -1 ; WX 479 ; N logicalnot ; B 87 108 515 390 ; +C -1 ; WX 585 ; N summation ; B 12 -123 570 752 ; +C -1 ; WX 405 ; N partialdiff ; B 21 -10 379 753 ; +C -1 ; WX 592 ; N Ncommaaccent ; B 62 -286 655 718 ; +C -1 ; WX 456 ; N dcroat ; B 69 -15 573 718 ; +C -1 ; WX 213 ; N brokenbar ; B 74 -19 265 737 ; +C -1 ; WX 456 ; N Lcommaaccent ; B 62 -286 455 718 ; +C -1 ; WX 547 ; N Adieresis ; B 11 0 536 901 ; +C -1 ; WX 456 ; N mu ; B 20 -207 492 523 ; +C -1 ; WX 228 ; N .notdef ; B 21 0 21 0 ; +EndCharMetrics +StartKernData +StartKernPairs 998 +KPX A C -29 +KPX A Ccedilla -29 +KPX A G -33 +KPX A O -30 +KPX A Odieresis -30 +KPX A Q -30 +KPX A T -81 +KPX A U -32 +KPX A Uacute -32 +KPX A Ucircumflex -32 +KPX A Udieresis -32 +KPX A Ugrave -32 +KPX A V -61 +KPX A W -43 +KPX A Y -82 +KPX A a -11 +KPX A b -6 +KPX A c -11 +KPX A ccedilla -11 +KPX A comma 0 +KPX A d -13 +KPX A e -15 +KPX A g -16 +KPX A guillemotleft -43 +KPX A guilsinglleft -39 +KPX A hyphen -6 +KPX A o -16 +KPX A period 1 +KPX A q -13 +KPX A quotedblright -40 +KPX A quoteright -51 +KPX A t -17 +KPX A u -15 +KPX A v -30 +KPX A w -25 +KPX A y -31 +KPX Aacute C -31 +KPX Aacute G -34 +KPX Aacute O -31 +KPX Aacute Q -31 +KPX Aacute T -81 +KPX Aacute U -33 +KPX Aacute V -61 +KPX Aacute W -43 +KPX Aacute Y -82 +KPX Aacute a -12 +KPX Aacute b -6 +KPX Aacute c -12 +KPX Aacute comma 0 +KPX Aacute d -14 +KPX Aacute e -16 +KPX Aacute g -16 +KPX Aacute guillemotleft -44 +KPX Aacute guilsinglleft -40 +KPX Aacute hyphen -6 +KPX Aacute o -17 +KPX Aacute period 0 +KPX Aacute q -14 +KPX Aacute quoteright -51 +KPX Aacute t -18 +KPX Aacute u -16 +KPX Aacute v -30 +KPX Aacute w -25 +KPX Aacute y -31 +KPX Acircumflex C -29 +KPX Acircumflex G -33 +KPX Acircumflex O -30 +KPX Acircumflex Q -30 +KPX Acircumflex T -81 +KPX Acircumflex U -32 +KPX Acircumflex V -61 +KPX Acircumflex W -43 +KPX Acircumflex Y -82 +KPX Acircumflex comma 0 +KPX Acircumflex period 1 +KPX Adieresis C -29 +KPX Adieresis G -33 +KPX Adieresis O -30 +KPX Adieresis Q -30 +KPX Adieresis T -81 +KPX Adieresis U -32 +KPX Adieresis V -61 +KPX Adieresis W -43 +KPX Adieresis Y -82 +KPX Adieresis a -11 +KPX Adieresis b -6 +KPX Adieresis c -11 +KPX Adieresis comma 0 +KPX Adieresis d -13 +KPX Adieresis g -16 +KPX Adieresis guillemotleft -43 +KPX Adieresis guilsinglleft -39 +KPX Adieresis hyphen -6 +KPX Adieresis o -16 +KPX Adieresis period 1 +KPX Adieresis q -13 +KPX Adieresis quotedblright -40 +KPX Adieresis quoteright -51 +KPX Adieresis t -17 +KPX Adieresis u -15 +KPX Adieresis v -30 +KPX Adieresis w -25 +KPX Adieresis y -31 +KPX Agrave C -29 +KPX Agrave G -33 +KPX Agrave O -30 +KPX Agrave Q -30 +KPX Agrave T -81 +KPX Agrave U -32 +KPX Agrave V -61 +KPX Agrave W -43 +KPX Agrave Y -82 +KPX Agrave comma 0 +KPX Agrave period 1 +KPX Aring C -29 +KPX Aring G -33 +KPX Aring O -30 +KPX Aring Q -30 +KPX Aring T -81 +KPX Aring U -32 +KPX Aring V -61 +KPX Aring W -43 +KPX Aring Y -82 +KPX Aring a -11 +KPX Aring b -6 +KPX Aring c -11 +KPX Aring comma 0 +KPX Aring d -13 +KPX Aring e -15 +KPX Aring g -16 +KPX Aring guillemotleft -43 +KPX Aring guilsinglleft -39 +KPX Aring hyphen -6 +KPX Aring o -16 +KPX Aring period 1 +KPX Aring q -13 +KPX Aring quotedblright -40 +KPX Aring quoteright -51 +KPX Aring t -17 +KPX Aring u -15 +KPX Aring v -30 +KPX Aring w -25 +KPX Aring y -31 +KPX Atilde C -31 +KPX Atilde G -35 +KPX Atilde O -31 +KPX Atilde Q -31 +KPX Atilde T -81 +KPX Atilde U -34 +KPX Atilde V -61 +KPX Atilde W -43 +KPX Atilde Y -82 +KPX Atilde comma 0 +KPX Atilde period 0 +KPX B A -22 +KPX B AE -21 +KPX B Aacute -22 +KPX B Acircumflex -22 +KPX B Adieresis -22 +KPX B Aring -22 +KPX B Atilde -22 +KPX B O -9 +KPX B OE -5 +KPX B Oacute -9 +KPX B Ocircumflex -9 +KPX B Odieresis -9 +KPX B Ograve -9 +KPX B Oslash -7 +KPX B V -34 +KPX B W -17 +KPX B Y -42 +KPX C A -32 +KPX C AE -31 +KPX C Aacute -32 +KPX C Adieresis -32 +KPX C Aring -32 +KPX C H -13 +KPX C K -13 +KPX C O -13 +KPX C Oacute -13 +KPX C Odieresis -13 +KPX Ccedilla A -37 +KPX D A -39 +KPX D Aacute -39 +KPX D Acircumflex -39 +KPX D Adieresis -39 +KPX D Agrave -39 +KPX D Aring -39 +KPX D Atilde -39 +KPX D J -9 +KPX D T -36 +KPX D V -37 +KPX D W -19 +KPX D X -42 +KPX D Y -55 +KPX F A -64 +KPX F Aacute -64 +KPX F Acircumflex -64 +KPX F Adieresis -64 +KPX F Agrave -64 +KPX F Aring -64 +KPX F Atilde -64 +KPX F J -59 +KPX F O -22 +KPX F Odieresis -22 +KPX F a -32 +KPX F aacute -32 +KPX F adieresis -32 +KPX F ae -32 +KPX F aring -32 +KPX F comma -107 +KPX F e -26 +KPX F eacute -26 +KPX F hyphen -18 +KPX F i -15 +KPX F j -15 +KPX F o -26 +KPX F oacute -26 +KPX F odieresis -26 +KPX F oe -24 +KPX F oslash -24 +KPX F period -107 +KPX F r -38 +KPX F u -34 +KPX G A -11 +KPX G AE -9 +KPX G Aacute -11 +KPX G Acircumflex -11 +KPX G Adieresis -11 +KPX G Agrave -11 +KPX G Aring -11 +KPX G Atilde -11 +KPX G T -38 +KPX G V -40 +KPX G W -23 +KPX G Y -58 +KPX J A -30 +KPX J AE -29 +KPX J Adieresis -30 +KPX J Aring -30 +KPX K C -41 +KPX K G -45 +KPX K O -42 +KPX K OE -37 +KPX K Oacute -42 +KPX K Odieresis -42 +KPX K S -38 +KPX K T 15 +KPX K a -15 +KPX K adieresis -15 +KPX K ae -15 +KPX K aring -15 +KPX K e -35 +KPX K hyphen -43 +KPX K o -36 +KPX K oacute -36 +KPX K odieresis -36 +KPX K u -29 +KPX K udieresis -29 +KPX K y -59 +KPX L A 10 +KPX L AE 12 +KPX L Aacute 10 +KPX L Adieresis 10 +KPX L Aring 10 +KPX L C -36 +KPX L Ccedilla -39 +KPX L G -40 +KPX L O -38 +KPX L Oacute -38 +KPX L Ocircumflex -38 +KPX L Odieresis -38 +KPX L Ograve -38 +KPX L Otilde -38 +KPX L S -20 +KPX L T -87 +KPX L U -34 +KPX L Udieresis -34 +KPX L V -87 +KPX L W -58 +KPX L Y -99 +KPX L hyphen -114 +KPX L quotedblright -108 +KPX L quoteright -120 +KPX L u -16 +KPX L udieresis -16 +KPX L y -53 +KPX N A -12 +KPX N AE -10 +KPX N Aacute -12 +KPX N Adieresis -12 +KPX N Aring -12 +KPX N C -6 +KPX N Ccedilla -5 +KPX N G -10 +KPX N O -6 +KPX N Oacute -6 +KPX N Odieresis -6 +KPX N a -8 +KPX N aacute -8 +KPX N adieresis -8 +KPX N ae -8 +KPX N aring -8 +KPX N comma -10 +KPX N e -5 +KPX N eacute -5 +KPX N o -6 +KPX N oacute -6 +KPX N odieresis -6 +KPX N oslash -1 +KPX N period -9 +KPX N u -4 +KPX N udieresis -5 +KPX O A -36 +KPX O AE -37 +KPX O Aacute -36 +KPX O Adieresis -36 +KPX O Aring -36 +KPX O T -34 +KPX O V -34 +KPX O W -16 +KPX O X -39 +KPX O Y -53 +KPX Oacute A -36 +KPX Oacute T -34 +KPX Oacute V -34 +KPX Oacute W -16 +KPX Oacute Y -53 +KPX Ocircumflex T -34 +KPX Ocircumflex V -34 +KPX Ocircumflex Y -53 +KPX Odieresis A -36 +KPX Odieresis T -34 +KPX Odieresis V -34 +KPX Odieresis W -16 +KPX Odieresis X -39 +KPX Odieresis Y -53 +KPX Ograve T -34 +KPX Ograve V -34 +KPX Ograve Y -53 +KPX Oslash A -33 +KPX Otilde T -34 +KPX Otilde V -34 +KPX Otilde Y -53 +KPX P A -71 +KPX P AE -72 +KPX P Aacute -71 +KPX P Adieresis -71 +KPX P Aring -71 +KPX P J -78 +KPX P a -27 +KPX P aacute -27 +KPX P adieresis -27 +KPX P ae -27 +KPX P aring -27 +KPX P comma -126 +KPX P e -31 +KPX P eacute -31 +KPX P hyphen -36 +KPX P o -31 +KPX P oacute -31 +KPX P odieresis -31 +KPX P oe -28 +KPX P oslash -29 +KPX P period -126 +KPX R C -11 +KPX R Ccedilla -10 +KPX R G -14 +KPX R O -11 +KPX R OE -7 +KPX R Oacute -11 +KPX R Odieresis -11 +KPX R T -19 +KPX R U -13 +KPX R Udieresis -13 +KPX R V -33 +KPX R W -17 +KPX R Y -39 +KPX R a -11 +KPX R aacute -11 +KPX R adieresis -11 +KPX R ae -11 +KPX R aring -11 +KPX R e -9 +KPX R eacute -9 +KPX R hyphen 0 +KPX R o -10 +KPX R oacute -10 +KPX R odieresis -10 +KPX R oe -9 +KPX R u -8 +KPX R uacute -8 +KPX R udieresis -8 +KPX R y -10 +KPX S A -22 +KPX S AE -21 +KPX S Aacute -22 +KPX S Adieresis -22 +KPX S Aring -22 +KPX S T -22 +KPX S V -36 +KPX S W -20 +KPX S Y -42 +KPX S t -10 +KPX T A -86 +KPX T AE -84 +KPX T Aacute -86 +KPX T Acircumflex -86 +KPX T Adieresis -86 +KPX T Agrave -86 +KPX T Aring -86 +KPX T Atilde -86 +KPX T C -34 +KPX T G -39 +KPX T J -88 +KPX T O -34 +KPX T OE -28 +KPX T Oacute -34 +KPX T Ocircumflex -34 +KPX T Odieresis -34 +KPX T Ograve -34 +KPX T Oslash -36 +KPX T Otilde -34 +KPX T S -23 +KPX T V 7 +KPX T W 10 +KPX T Y 9 +KPX T a -83 +KPX T ae -83 +KPX T c -76 +KPX T colon -106 +KPX T comma -84 +KPX T e -80 +KPX T g -78 +KPX T guillemotleft -104 +KPX T guilsinglleft -100 +KPX T hyphen -65 +KPX T i -9 +KPX T j -9 +KPX T o -81 +KPX T oslash -76 +KPX T period -84 +KPX T r -81 +KPX T s -78 +KPX T semicolon -102 +KPX T u -79 +KPX T v -87 +KPX T w -85 +KPX T y -88 +KPX U A -37 +KPX U AE -38 +KPX U Aacute -37 +KPX U Acircumflex -37 +KPX U Adieresis -37 +KPX U Aring -37 +KPX U Atilde -37 +KPX U comma -30 +KPX U m -9 +KPX U n -9 +KPX U p -7 +KPX U period -27 +KPX U r -14 +KPX Uacute A -37 +KPX Uacute comma -30 +KPX Uacute m -9 +KPX Uacute n -9 +KPX Uacute p -7 +KPX Uacute period -27 +KPX Uacute r -14 +KPX Ucircumflex A -37 +KPX Udieresis A -37 +KPX Udieresis b -7 +KPX Udieresis comma -30 +KPX Udieresis m -9 +KPX Udieresis n -9 +KPX Udieresis p -7 +KPX Udieresis period -27 +KPX Udieresis r -14 +KPX Ugrave A -37 +KPX V A -63 +KPX V AE -64 +KPX V Aacute -63 +KPX V Acircumflex -63 +KPX V Adieresis -63 +KPX V Agrave -63 +KPX V Aring -63 +KPX V Atilde -63 +KPX V C -36 +KPX V G -39 +KPX V O -36 +KPX V Oacute -36 +KPX V Ocircumflex -36 +KPX V Odieresis -36 +KPX V Ograve -36 +KPX V Oslash -33 +KPX V Otilde -36 +KPX V S -33 +KPX V T 12 +KPX V a -52 +KPX V ae -52 +KPX V colon -48 +KPX V comma -77 +KPX V e -50 +KPX V g -47 +KPX V guillemotleft -72 +KPX V guilsinglleft -68 +KPX V hyphen -33 +KPX V i -10 +KPX V o -51 +KPX V oslash -45 +KPX V period -77 +KPX V r -43 +KPX V semicolon -48 +KPX V u -40 +KPX V y -19 +KPX W A -46 +KPX W AE -47 +KPX W Aacute -46 +KPX W Acircumflex -46 +KPX W Adieresis -46 +KPX W Agrave -46 +KPX W Aring -46 +KPX W Atilde -46 +KPX W C -20 +KPX W G -23 +KPX W O -20 +KPX W Oacute -20 +KPX W Ocircumflex -20 +KPX W Odieresis -20 +KPX W Ograve -20 +KPX W Oslash -17 +KPX W Otilde -20 +KPX W S -25 +KPX W T 13 +KPX W a -32 +KPX W ae -32 +KPX W colon -38 +KPX W comma -50 +KPX W e -29 +KPX W g -27 +KPX W guillemotleft -52 +KPX W guilsinglleft -48 +KPX W hyphen -14 +KPX W i -9 +KPX W o -30 +KPX W oslash -25 +KPX W period -50 +KPX W r -30 +KPX W semicolon -38 +KPX W u -28 +KPX W y -10 +KPX X C -37 +KPX X O -37 +KPX X Odieresis -37 +KPX X Q -37 +KPX X a -20 +KPX X e -40 +KPX X hyphen -45 +KPX X o -41 +KPX X u -35 +KPX X y -50 +KPX Y A -84 +KPX Y AE -85 +KPX Y Aacute -84 +KPX Y Acircumflex -84 +KPX Y Adieresis -84 +KPX Y Agrave -84 +KPX Y Aring -84 +KPX Y Atilde -84 +KPX Y C -48 +KPX Y G -53 +KPX Y O -49 +KPX Y Oacute -49 +KPX Y Ocircumflex -49 +KPX Y Odieresis -49 +KPX Y Ograve -49 +KPX Y Oslash -50 +KPX Y Otilde -49 +KPX Y S -39 +KPX Y T 14 +KPX Y a -79 +KPX Y ae -79 +KPX Y colon -67 +KPX Y comma -95 +KPX Y e -77 +KPX Y g -75 +KPX Y guillemotleft -106 +KPX Y guilsinglleft -102 +KPX Y hyphen -72 +KPX Y i -8 +KPX Y o -78 +KPX Y oslash -72 +KPX Y p -53 +KPX Y period -95 +KPX Y semicolon -67 +KPX Y u -60 +KPX Y v -38 +KPX Z v -32 +KPX Z y -33 +KPX a j -9 +KPX a quoteright -13 +KPX a v -21 +KPX a w -16 +KPX a y -24 +KPX aacute v -22 +KPX aacute w -17 +KPX aacute y -24 +KPX adieresis v -21 +KPX adieresis w -16 +KPX adieresis y -24 +KPX ae v -18 +KPX ae w -13 +KPX ae y -23 +KPX agrave v -21 +KPX agrave w -16 +KPX agrave y -24 +KPX aring v -21 +KPX aring w -16 +KPX aring y -24 +KPX b v -15 +KPX b w -9 +KPX b y -19 +KPX c h -3 +KPX c k -4 +KPX comma one -88 +KPX comma quotedblright -27 +KPX comma quoteright -38 +KPX e quoteright -8 +KPX e t -12 +KPX e v -18 +KPX e w -12 +KPX e x -22 +KPX e y -22 +KPX eacute v -18 +KPX eacute w -13 +KPX eacute y -22 +KPX ecircumflex v -18 +KPX ecircumflex w -12 +KPX ecircumflex y -22 +KPX eight four -1 +KPX eight one -43 +KPX eight seven -24 +KPX f a -14 +KPX f aacute -14 +KPX f adieresis -14 +KPX f ae -14 +KPX f aring -14 +KPX f e -16 +KPX f eacute -16 +KPX f f 11 +KPX f i -10 +KPX f j -10 +KPX f l -10 +KPX f o -17 +KPX f oacute -17 +KPX f odieresis -17 +KPX f oe -16 +KPX f oslash -11 +KPX f quoteright 1 +KPX f s -10 +KPX f t 11 +KPX five four -3 +KPX five one -63 +KPX five seven -23 +KPX four four 1 +KPX four one -72 +KPX four seven -47 +KPX g a -5 +KPX g adieresis -5 +KPX g ae -5 +KPX g aring -5 +KPX g e -3 +KPX g eacute -3 +KPX g l 0 +KPX g oacute -3 +KPX g odieresis -3 +KPX g r -3 +KPX guillemotright A -47 +KPX guillemotright AE -47 +KPX guillemotright Aacute -47 +KPX guillemotright Adieresis -47 +KPX guillemotright Aring -47 +KPX guillemotright T -104 +KPX guillemotright V -72 +KPX guillemotright W -50 +KPX guillemotright Y -106 +KPX guilsinglright A -43 +KPX guilsinglright AE -44 +KPX guilsinglright Aacute -43 +KPX guilsinglright Adieresis -43 +KPX guilsinglright Aring -43 +KPX guilsinglright T -100 +KPX guilsinglright V -68 +KPX guilsinglright W -46 +KPX guilsinglright Y -103 +KPX h quoteright -6 +KPX h y -18 +KPX hyphen A -8 +KPX hyphen AE -8 +KPX hyphen Aacute -8 +KPX hyphen Adieresis -8 +KPX hyphen Aring -8 +KPX hyphen T -65 +KPX hyphen V -34 +KPX hyphen W -13 +KPX hyphen Y -72 +KPX i T -9 +KPX i j -3 +KPX k a -12 +KPX k aacute -12 +KPX k adieresis -12 +KPX k ae -13 +KPX k aring -12 +KPX k comma -5 +KPX k e -22 +KPX k eacute -22 +KPX k g -20 +KPX k hyphen -35 +KPX k o -23 +KPX k oacute -23 +KPX k odieresis -23 +KPX k period -4 +KPX k s -16 +KPX k u -8 +KPX k udieresis -8 +KPX l v -9 +KPX l y -10 +KPX m p 0 +KPX m v -15 +KPX m w -10 +KPX m y -18 +KPX n T -79 +KPX n p -1 +KPX n quoteright -6 +KPX n v -16 +KPX n w -11 +KPX n y -18 +KPX nine four -6 +KPX nine one -40 +KPX nine seven -27 +KPX o T -80 +KPX o quoteright -10 +KPX o t -10 +KPX o v -16 +KPX o w -10 +KPX o x -20 +KPX o y -20 +KPX oacute v -16 +KPX oacute w -10 +KPX oacute y -20 +KPX ocircumflex t -10 +KPX odieresis t -10 +KPX odieresis v -16 +KPX odieresis w -10 +KPX odieresis x -20 +KPX odieresis y -20 +KPX ograve v -16 +KPX ograve w -10 +KPX ograve y -20 +KPX one comma -59 +KPX one eight -53 +KPX one five -53 +KPX one four -65 +KPX one nine -53 +KPX one one -96 +KPX one period -59 +KPX one seven -71 +KPX one six -51 +KPX one three -57 +KPX one two -57 +KPX one zero -50 +KPX p t -9 +KPX p y -19 +KPX period one -88 +KPX period quotedblright -28 +KPX period quoteright -39 +KPX q c 0 +KPX q u -3 +KPX quotedblbase A 18 +KPX quotedblbase AE 19 +KPX quotedblbase T -64 +KPX quotedblbase V -57 +KPX quotedblbase W -30 +KPX quotedblbase Y -76 +KPX quotedblleft A -46 +KPX quotedblleft AE -49 +KPX quotedblleft Aacute -46 +KPX quotedblleft Adieresis -46 +KPX quotedblleft Aring -46 +KPX quotedblleft T 9 +KPX quotedblleft V 19 +KPX quotedblleft W 26 +KPX quotedblleft Y 7 +KPX quotedblright A -54 +KPX quotedblright AE -56 +KPX quotedblright Aacute -54 +KPX quotedblright Adieresis -54 +KPX quotedblright Aring -54 +KPX quotedblright T 3 +KPX quotedblright V 11 +KPX quotedblright W 19 +KPX quotedblright Y 0 +KPX quoteleft A -57 +KPX quoteleft AE -60 +KPX quoteleft Aacute -57 +KPX quoteleft Adieresis -57 +KPX quoteleft Aring -57 +KPX quoteleft T -2 +KPX quoteleft V 7 +KPX quoteleft W 15 +KPX quoteleft Y -4 +KPX quoteright A -65 +KPX quoteright AE -67 +KPX quoteright Aacute -65 +KPX quoteright Adieresis -65 +KPX quoteright Aring -65 +KPX quoteright comma -52 +KPX quoteright d -20 +KPX quoteright o -29 +KPX quoteright period -52 +KPX quoteright r -19 +KPX quoteright s -17 +KPX quoteright t -9 +KPX quoteright v -3 +KPX quoteright w -3 +KPX quoteright y -4 +KPX r a -9 +KPX r aacute -9 +KPX r acircumflex -9 +KPX r adieresis -9 +KPX r ae -9 +KPX r agrave -9 +KPX r aring -9 +KPX r c -11 +KPX r ccedilla -8 +KPX r colon -12 +KPX r comma -52 +KPX r d -9 +KPX r e -16 +KPX r eacute -16 +KPX r ecircumflex -16 +KPX r egrave -16 +KPX r f 17 +KPX r g -8 +KPX r h -4 +KPX r hyphen -34 +KPX r i -5 +KPX r j -5 +KPX r k -5 +KPX r l -5 +KPX r m -4 +KPX r n -4 +KPX r o -18 +KPX r oacute -18 +KPX r ocircumflex -18 +KPX r odieresis -18 +KPX r oe -15 +KPX r ograve -18 +KPX r oslash -15 +KPX r p -1 +KPX r period -52 +KPX r q -9 +KPX r quoteright 3 +KPX r r -9 +KPX r s -4 +KPX r semicolon -12 +KPX r t 17 +KPX r u -5 +KPX r v 17 +KPX r w 15 +KPX r x 12 +KPX r y 16 +KPX r z 0 +KPX s quoteright -6 +KPX s t -11 +KPX seven colon -55 +KPX seven comma -99 +KPX seven eight -24 +KPX seven five -30 +KPX seven four -76 +KPX seven one -42 +KPX seven period -99 +KPX seven seven -3 +KPX seven six -32 +KPX seven three -22 +KPX seven two -22 +KPX six four -1 +KPX six one -39 +KPX six seven -21 +KPX t S -14 +KPX t a -5 +KPX t aacute -5 +KPX t adieresis -5 +KPX t ae -5 +KPX t aring -5 +KPX t colon -19 +KPX t e -12 +KPX t eacute -12 +KPX t h -6 +KPX t o -13 +KPX t oacute -13 +KPX t odieresis -13 +KPX t quoteright 2 +KPX t semicolon -19 +KPX three four 0 +KPX three one -41 +KPX three seven -23 +KPX two four -46 +KPX two one -37 +KPX two seven -21 +KPX u quoteright 0 +KPX v a -20 +KPX v aacute -20 +KPX v acircumflex -20 +KPX v adieresis -20 +KPX v ae -20 +KPX v agrave -20 +KPX v aring -20 +KPX v atilde -20 +KPX v c -15 +KPX v colon -14 +KPX v comma -54 +KPX v e -19 +KPX v eacute -19 +KPX v ecircumflex -19 +KPX v egrave -19 +KPX v g -17 +KPX v hyphen -7 +KPX v l -7 +KPX v o -20 +KPX v oacute -20 +KPX v odieresis -20 +KPX v ograve -20 +KPX v oslash -16 +KPX v period -54 +KPX v s -15 +KPX v semicolon -14 +KPX w a -16 +KPX w aacute -16 +KPX w acircumflex -16 +KPX w adieresis -16 +KPX w ae -16 +KPX w agrave -16 +KPX w aring -16 +KPX w atilde -16 +KPX w c -8 +KPX w colon -16 +KPX w comma -40 +KPX w e -12 +KPX w eacute -12 +KPX w ecircumflex -12 +KPX w egrave -12 +KPX w g -11 +KPX w hyphen 0 +KPX w l -9 +KPX w o -13 +KPX w oacute -13 +KPX w odieresis -13 +KPX w ograve -13 +KPX w oslash -8 +KPX w period -40 +KPX w s -11 +KPX w semicolon -16 +KPX x a -17 +KPX x c -16 +KPX x e -20 +KPX x eacute -20 +KPX x o -21 +KPX x q -17 +KPX y a -21 +KPX y aacute -21 +KPX y acircumflex -21 +KPX y adieresis -21 +KPX y ae -21 +KPX y agrave -21 +KPX y aring -21 +KPX y atilde -21 +KPX y c -16 +KPX y colon -15 +KPX y comma -54 +KPX y e -20 +KPX y eacute -20 +KPX y ecircumflex -20 +KPX y egrave -20 +KPX y g -19 +KPX y hyphen -6 +KPX y l -8 +KPX y o -21 +KPX y oacute -21 +KPX y odieresis -21 +KPX y ograve -21 +KPX y oslash -16 +KPX y period -53 +KPX y s -16 +KPX y semicolon -15 +KPX zero four -2 +KPX zero one -40 +KPX zero seven -28 +EndKernPairs +EndKernData +EndFontMetrics diff --git a/Master/xemtex/gsfonts/n019063l.pfb b/Master/xemtex/gsfonts/n019063l.pfb new file mode 100644 index 00000000000..9bec5ab2ad9 Binary files /dev/null and b/Master/xemtex/gsfonts/n019063l.pfb differ diff --git a/Master/xemtex/gsfonts/n019063l.pfm b/Master/xemtex/gsfonts/n019063l.pfm new file mode 100644 index 00000000000..9134e134c97 Binary files /dev/null and b/Master/xemtex/gsfonts/n019063l.pfm differ diff --git a/Master/xemtex/gsfonts/n019064l.afm b/Master/xemtex/gsfonts/n019064l.afm new file mode 100644 index 00000000000..9e305ea3559 --- /dev/null +++ b/Master/xemtex/gsfonts/n019064l.afm @@ -0,0 +1,1341 @@ +StartFontMetrics 3.0 +Comment Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development +Comment Creation Date: 12/22/1999 +Comment See the file PUBLIC (Aladdin Free Public License) for license conditions. +FontName NimbusSanL-BoldCondItal +FullName Nimbus Sans L Bold Condensed Italic +FamilyName Nimbus Sans L +Weight Bold +ItalicAngle -9.0 +IsFixedPitch false +UnderlinePosition -100 +UnderlineThickness 50 +Version 1.05 +Notice (URW)++,Copyright 1999 by (URW)++ Design & Development +EncodingScheme AdobeStandardEncoding +FontBBox -143 -298 913 989 +CapHeight 718 +XHeight 532 +Descender -207 +Ascender 718 +StartCharMetrics 316 +C 32 ; WX 228 ; N space ; B 21 0 21 0 ; +C 33 ; WX 273 ; N exclam ; B 77 0 325 718 ; +C 34 ; WX 389 ; N quotedbl ; B 158 447 433 718 ; +C 35 ; WX 456 ; N numbersign ; B 49 0 528 698 ; +C 36 ; WX 456 ; N dollar ; B 55 -115 510 775 ; +C 37 ; WX 729 ; N percent ; B 112 -19 739 710 ; +C 38 ; WX 592 ; N ampersand ; B 73 -19 600 718 ; +C 39 ; WX 228 ; N quoteright ; B 137 445 297 718 ; +C 40 ; WX 273 ; N parenleft ; B 62 -207 385 734 ; +C 41 ; WX 273 ; N parenright ; B -21 -207 302 734 ; +C 42 ; WX 319 ; N asterisk ; B 120 387 394 718 ; +C 43 ; WX 479 ; N plus ; B 67 0 500 506 ; +C 44 ; WX 228 ; N comma ; B 23 -168 201 146 ; +C 45 ; WX 273 ; N hyphen ; B 60 215 311 345 ; +C 46 ; WX 228 ; N period ; B 52 0 201 146 ; +C 47 ; WX 228 ; N slash ; B -30 -19 383 737 ; +C 48 ; WX 456 ; N zero ; B 71 -19 506 710 ; +C 49 ; WX 456 ; N one ; B 142 0 434 710 ; +C 50 ; WX 456 ; N two ; B 21 0 508 710 ; +C 51 ; WX 456 ; N three ; B 54 -19 499 710 ; +C 52 ; WX 456 ; N four ; B 50 0 490 710 ; +C 53 ; WX 456 ; N five ; B 53 -19 522 698 ; +C 54 ; WX 456 ; N six ; B 70 -19 507 710 ; +C 55 ; WX 456 ; N seven ; B 102 0 555 698 ; +C 56 ; WX 456 ; N eight ; B 57 -19 505 710 ; +C 57 ; WX 456 ; N nine ; B 64 -19 504 710 ; +C 58 ; WX 273 ; N colon ; B 75 0 288 512 ; +C 59 ; WX 273 ; N semicolon ; B 46 -168 288 512 ; +C 60 ; WX 479 ; N less ; B 67 -15 537 521 ; +C 61 ; WX 479 ; N equal ; B 48 87 519 419 ; +C 62 ; WX 479 ; N greater ; B 30 -15 500 521 ; +C 63 ; WX 501 ; N question ; B 135 0 550 727 ; +C 64 ; WX 800 ; N at ; B 152 -19 782 737 ; +C 65 ; WX 592 ; N A ; B 16 0 576 718 ; +C 66 ; WX 592 ; N B ; B 62 0 626 718 ; +C 67 ; WX 592 ; N C ; B 88 -19 647 737 ; +C 68 ; WX 592 ; N D ; B 62 0 637 718 ; +C 69 ; WX 547 ; N E ; B 62 0 620 718 ; +C 70 ; WX 501 ; N F ; B 62 0 606 718 ; +C 71 ; WX 638 ; N G ; B 89 -19 670 737 ; +C 72 ; WX 592 ; N H ; B 58 0 659 718 ; +C 73 ; WX 228 ; N I ; B 52 0 301 718 ; +C 74 ; WX 456 ; N J ; B 49 -18 522 718 ; +C 75 ; WX 592 ; N K ; B 71 0 703 718 ; +C 76 ; WX 501 ; N L ; B 62 0 501 718 ; +C 77 ; WX 683 ; N M ; B 57 0 752 718 ; +C 78 ; WX 592 ; N N ; B 57 0 661 718 ; +C 79 ; WX 638 ; N O ; B 88 -19 675 737 ; +C 80 ; WX 547 ; N P ; B 62 0 605 718 ; +C 81 ; WX 638 ; N Q ; B 88 -52 675 737 ; +C 82 ; WX 592 ; N R ; B 62 0 638 718 ; +C 83 ; WX 547 ; N S ; B 66 -19 588 737 ; +C 84 ; WX 501 ; N T ; B 114 0 615 718 ; +C 85 ; WX 592 ; N U ; B 96 -19 659 718 ; +C 86 ; WX 547 ; N V ; B 141 0 656 718 ; +C 87 ; WX 774 ; N W ; B 138 0 887 718 ; +C 88 ; WX 547 ; N X ; B 11 0 648 718 ; +C 89 ; WX 547 ; N Y ; B 137 0 661 718 ; +C 90 ; WX 501 ; N Z ; B 20 0 604 718 ; +C 91 ; WX 273 ; N bracketleft ; B 17 -196 379 722 ; +C 92 ; WX 228 ; N backslash ; B 101 -19 252 737 ; +C 93 ; WX 273 ; N bracketright ; B -14 -196 347 722 ; +C 94 ; WX 479 ; N asciicircum ; B 107 323 484 698 ; +C 95 ; WX 456 ; N underscore ; B -22 -125 443 -75 ; +C 96 ; WX 228 ; N quoteleft ; B 136 454 296 727 ; +C 97 ; WX 456 ; N a ; B 45 -14 478 546 ; +C 98 ; WX 501 ; N b ; B 50 -14 529 718 ; +C 99 ; WX 456 ; N c ; B 65 -14 491 546 ; +C 100 ; WX 501 ; N d ; B 67 -14 577 718 ; +C 101 ; WX 456 ; N e ; B 58 -14 486 546 ; +C 102 ; WX 273 ; N f ; B 71 0 385 727 ; +C 103 ; WX 501 ; N g ; B 31 -217 546 546 ; +C 104 ; WX 501 ; N h ; B 53 0 516 718 ; +C 105 ; WX 228 ; N i ; B 57 0 298 725 ; +C 106 ; WX 228 ; N j ; B -35 -214 298 725 ; +C 107 ; WX 456 ; N k ; B 57 0 549 718 ; +C 108 ; WX 228 ; N l ; B 57 0 297 718 ; +C 109 ; WX 729 ; N m ; B 52 0 746 546 ; +C 110 ; WX 501 ; N n ; B 53 0 516 546 ; +C 111 ; WX 501 ; N o ; B 67 -14 527 546 ; +C 112 ; WX 501 ; N p ; B 15 -207 529 546 ; +C 113 ; WX 501 ; N q ; B 66 -207 545 546 ; +C 114 ; WX 319 ; N r ; B 52 0 401 546 ; +C 115 ; WX 456 ; N s ; B 52 -14 479 546 ; +C 116 ; WX 273 ; N t ; B 82 -6 346 676 ; +C 117 ; WX 501 ; N u ; B 80 -14 540 532 ; +C 118 ; WX 456 ; N v ; B 103 0 538 532 ; +C 119 ; WX 638 ; N w ; B 101 0 723 532 ; +C 120 ; WX 456 ; N x ; B 12 0 531 532 ; +C 121 ; WX 456 ; N y ; B 34 -214 535 532 ; +C 122 ; WX 410 ; N z ; B 16 0 478 532 ; +C 123 ; WX 319 ; N braceleft ; B 77 -196 425 722 ; +C 124 ; WX 230 ; N bar ; B 66 -19 289 737 ; +C 125 ; WX 319 ; N braceright ; B -14 -196 333 722 ; +C 126 ; WX 479 ; N asciitilde ; B 94 173 473 336 ; +C 161 ; WX 273 ; N exclamdown ; B 41 -186 290 532 ; +C 162 ; WX 456 ; N cent ; B 65 -118 491 628 ; +C 163 ; WX 456 ; N sterling ; B 41 -16 520 718 ; +C 164 ; WX 137 ; N fraction ; B -143 -19 399 710 ; +C 165 ; WX 456 ; N yen ; B 49 0 585 698 ; +C 166 ; WX 456 ; N florin ; B -41 -210 548 737 ; +C 167 ; WX 456 ; N section ; B 50 -184 491 727 ; +C 168 ; WX 456 ; N currency ; B 22 76 558 636 ; +C 169 ; WX 195 ; N quotesingle ; B 135 447 263 718 ; +C 170 ; WX 410 ; N quotedblleft ; B 132 454 482 727 ; +C 171 ; WX 456 ; N guillemotleft ; B 111 76 468 484 ; +C 172 ; WX 273 ; N guilsinglleft ; B 106 76 289 484 ; +C 173 ; WX 273 ; N guilsinglright ; B 81 76 264 484 ; +C 174 ; WX 501 ; N fi ; B 71 0 571 727 ; +C 175 ; WX 501 ; N fl ; B 71 0 570 727 ; +C 177 ; WX 456 ; N endash ; B 40 227 514 333 ; +C 178 ; WX 456 ; N dagger ; B 97 -171 513 718 ; +C 179 ; WX 456 ; N daggerdbl ; B 38 -171 515 718 ; +C 180 ; WX 228 ; N periodcentered ; B 90 172 226 334 ; +C 182 ; WX 456 ; N paragraph ; B 80 -191 564 700 ; +C 183 ; WX 287 ; N bullet ; B 68 194 345 524 ; +C 184 ; WX 228 ; N quotesinglbase ; B 34 -146 194 127 ; +C 185 ; WX 410 ; N quotedblbase ; B 29 -146 380 127 ; +C 186 ; WX 410 ; N quotedblright ; B 132 445 483 718 ; +C 187 ; WX 456 ; N guillemotright ; B 85 76 443 484 ; +C 188 ; WX 820 ; N ellipsis ; B 75 0 770 146 ; +C 189 ; WX 820 ; N perthousand ; B 62 -19 851 710 ; +C 191 ; WX 501 ; N questiondown ; B 44 -195 459 532 ; +C 193 ; WX 273 ; N grave ; B 112 604 290 750 ; +C 194 ; WX 273 ; N acute ; B 194 604 423 750 ; +C 195 ; WX 273 ; N circumflex ; B 97 604 387 750 ; +C 196 ; WX 273 ; N tilde ; B 92 610 415 737 ; +C 197 ; WX 273 ; N macron ; B 100 604 396 678 ; +C 198 ; WX 273 ; N breve ; B 128 604 405 750 ; +C 199 ; WX 273 ; N dotaccent ; B 192 614 316 729 ; +C 200 ; WX 273 ; N dieresis ; B 112 614 395 729 ; +C 202 ; WX 273 ; N ring ; B 164 568 344 776 ; +C 203 ; WX 273 ; N cedilla ; B -30 -228 180 0 ; +C 205 ; WX 273 ; N hungarumlaut ; B 113 604 529 750 ; +C 206 ; WX 273 ; N ogonek ; B 33 -228 216 0 ; +C 207 ; WX 273 ; N caron ; B 123 604 412 750 ; +C 208 ; WX 820 ; N emdash ; B 40 227 878 333 ; +C 225 ; WX 820 ; N AE ; B 4 0 902 718 ; +C 227 ; WX 303 ; N ordfeminine ; B 75 276 381 737 ; +C 232 ; WX 501 ; N Lslash ; B 28 0 501 718 ; +C 233 ; WX 638 ; N Oslash ; B 29 -27 733 745 ; +C 234 ; WX 820 ; N OE ; B 81 -19 913 737 ; +C 235 ; WX 299 ; N ordmasculine ; B 75 276 398 737 ; +C 241 ; WX 729 ; N ae ; B 46 -14 757 546 ; +C 245 ; WX 228 ; N dotlessi ; B 57 0 264 532 ; +C 248 ; WX 228 ; N lslash ; B 33 0 334 718 ; +C 249 ; WX 501 ; N oslash ; B 18 -29 575 560 ; +C 250 ; WX 774 ; N oe ; B 67 -14 801 546 ; +C 251 ; WX 501 ; N germandbls ; B 57 -14 539 731 ; +C -1 ; WX 592 ; N Udieresis ; B 96 -19 659 915 ; +C -1 ; WX 592 ; N Uacute ; B 96 -19 659 936 ; +C -1 ; WX 547 ; N Scedilla ; B 66 -228 588 737 ; +C -1 ; WX 501 ; N Tcaron ; B 114 0 615 936 ; +C -1 ; WX 547 ; N Scaron ; B 66 -19 588 936 ; +C -1 ; WX 592 ; N Rcaron ; B 62 0 638 936 ; +C -1 ; WX 592 ; N Racute ; B 62 0 638 936 ; +C -1 ; WX 547 ; N Sacute ; B 66 -19 592 936 ; +C -1 ; WX 638 ; N Otilde ; B 88 -19 675 923 ; +C -1 ; WX 501 ; N ucircumflex ; B 80 -14 540 750 ; +C -1 ; WX 638 ; N Ohungarumlaut ; B 88 -19 744 936 ; +C -1 ; WX 592 ; N Uhungarumlaut ; B 96 -19 721 936 ; +C -1 ; WX 547 ; N Yacute ; B 137 0 661 936 ; +C -1 ; WX 592 ; N Eth ; B 51 0 637 718 ; +C -1 ; WX 592 ; N Dcroat ; B 51 0 637 718 ; +C -1 ; WX 501 ; N Zacute ; B 20 0 604 936 ; +C -1 ; WX 592 ; N Uring ; B 96 -19 659 962 ; +C -1 ; WX 501 ; N gbreve ; B 31 -217 546 750 ; +C -1 ; WX 456 ; N eogonek ; B 58 -228 486 546 ; +C -1 ; WX 456 ; N edotaccent ; B 58 -14 486 729 ; +C -1 ; WX 456 ; N ecaron ; B 58 -14 504 750 ; +C -1 ; WX 592 ; N Ugrave ; B 96 -19 659 936 ; +C -1 ; WX 547 ; N Thorn ; B 62 0 588 718 ; +C -1 ; WX 456 ; N eacute ; B 58 -14 515 750 ; +C -1 ; WX 456 ; N edieresis ; B 58 -14 488 729 ; +C -1 ; WX 561 ; N dcaron ; B 67 -14 701 718 ; +C -1 ; WX 456 ; N ccedilla ; B 65 -228 491 546 ; +C -1 ; WX 456 ; N ccaron ; B 65 -14 504 750 ; +C -1 ; WX 456 ; N cacute ; B 65 -14 515 750 ; +C -1 ; WX 456 ; N aogonek ; B 45 -228 478 546 ; +C -1 ; WX 456 ; N aring ; B 45 -14 478 803 ; +C -1 ; WX 456 ; N atilde ; B 45 -14 507 737 ; +C -1 ; WX 456 ; N abreve ; B 45 -14 496 750 ; +C -1 ; WX 456 ; N egrave ; B 58 -14 486 750 ; +C -1 ; WX 456 ; N agrave ; B 45 -14 478 750 ; +C -1 ; WX 456 ; N aacute ; B 45 -14 514 750 ; +C -1 ; WX 456 ; N adieresis ; B 45 -14 487 729 ; +C -1 ; WX 592 ; N Uogonek ; B 96 -228 659 718 ; +C -1 ; WX 501 ; N ugrave ; B 80 -14 540 750 ; +C -1 ; WX 501 ; N uacute ; B 80 -14 540 750 ; +C -1 ; WX 501 ; N udieresis ; B 80 -14 540 729 ; +C -1 ; WX 312 ; N tcaron ; B 82 -6 452 718 ; +C -1 ; WX 456 ; N scommaaccent ; B 52 -298 479 546 ; +C -1 ; WX 501 ; N Zcaron ; B 20 0 604 936 ; +C -1 ; WX 456 ; N ecircumflex ; B 58 -14 486 750 ; +C -1 ; WX 592 ; N Ucircumflex ; B 96 -19 659 936 ; +C -1 ; WX 456 ; N acircumflex ; B 45 -14 478 750 ; +C -1 ; WX 501 ; N Zdotaccent ; B 20 0 604 915 ; +C -1 ; WX 456 ; N scaron ; B 52 -14 503 750 ; +C -1 ; WX 592 ; N Amacron ; B 16 0 588 864 ; +C -1 ; WX 456 ; N sacute ; B 52 -14 515 750 ; +C -1 ; WX 501 ; N Tcommaaccent ; B 114 -298 615 718 ; +C -1 ; WX 547 ; N Ydieresis ; B 137 0 661 915 ; +C -1 ; WX 501 ; N thorn ; B 15 -207 529 718 ; +C -1 ; WX 547 ; N Emacron ; B 62 0 620 864 ; +C -1 ; WX 638 ; N Ograve ; B 88 -19 675 936 ; +C -1 ; WX 638 ; N Oacute ; B 88 -19 675 936 ; +C -1 ; WX 638 ; N Odieresis ; B 88 -19 675 915 ; +C -1 ; WX 592 ; N Ntilde ; B 57 0 661 923 ; +C -1 ; WX 592 ; N Ncaron ; B 57 0 661 936 ; +C -1 ; WX 592 ; N Nacute ; B 57 0 661 936 ; +C -1 ; WX 501 ; N Lcaron ; B 62 0 573 718 ; +C -1 ; WX 501 ; N Lacute ; B 62 0 501 936 ; +C -1 ; WX 228 ; N Idotaccent ; B 52 0 326 915 ; +C -1 ; WX 319 ; N racute ; B 52 0 446 750 ; +C -1 ; WX 228 ; N Icircumflex ; B 52 0 397 936 ; +C -1 ; WX 501 ; N ohungarumlaut ; B 67 -14 643 750 ; +C -1 ; WX 501 ; N otilde ; B 67 -14 529 737 ; +C -1 ; WX 467 ; N Euro ; B 0 -15 507 670 ; +C -1 ; WX 501 ; N ocircumflex ; B 67 -14 527 750 ; +C -1 ; WX 273 ; N onesuperior ; B 121 283 318 710 ; +C -1 ; WX 273 ; N twosuperior ; B 57 283 368 722 ; +C -1 ; WX 273 ; N threesuperior ; B 75 271 361 722 ; +C -1 ; WX 228 ; N Igrave ; B 52 0 301 936 ; +C -1 ; WX 228 ; N Iacute ; B 52 0 433 936 ; +C -1 ; WX 228 ; N Imacron ; B 52 0 406 864 ; +C -1 ; WX 228 ; N Iogonek ; B -8 -228 301 718 ; +C -1 ; WX 228 ; N Idieresis ; B 52 0 405 915 ; +C -1 ; WX 638 ; N Gbreve ; B 89 -19 670 936 ; +C -1 ; WX 592 ; N Umacron ; B 96 -19 659 864 ; +C -1 ; WX 592 ; N Kcommaaccent ; B 71 -298 703 718 ; +C -1 ; WX 501 ; N ograve ; B 67 -14 527 750 ; +C -1 ; WX 547 ; N Scommaaccent ; B 66 -298 588 737 ; +C -1 ; WX 547 ; N Eogonek ; B 62 -228 620 718 ; +C -1 ; WX 501 ; N oacute ; B 67 -14 537 750 ; +C -1 ; WX 547 ; N Edotaccent ; B 62 0 620 915 ; +C -1 ; WX 228 ; N iogonek ; B -11 -228 298 725 ; +C -1 ; WX 501 ; N gcommaaccent ; B 31 -217 546 844 ; +C -1 ; WX 501 ; N odieresis ; B 67 -14 527 729 ; +C -1 ; WX 501 ; N ntilde ; B 53 0 529 737 ; +C -1 ; WX 501 ; N ncaron ; B 53 0 526 750 ; +C -1 ; WX 547 ; N Ecaron ; B 62 0 620 936 ; +C -1 ; WX 547 ; N Ecircumflex ; B 62 0 620 936 ; +C -1 ; WX 456 ; N scedilla ; B 52 -228 479 546 ; +C -1 ; WX 319 ; N rcaron ; B 52 0 435 750 ; +C -1 ; WX 547 ; N Egrave ; B 62 0 620 936 ; +C -1 ; WX 547 ; N Eacute ; B 62 0 620 936 ; +C -1 ; WX 638 ; N Gcommaaccent ; B 89 -298 670 737 ; +C -1 ; WX 592 ; N Rcommaaccent ; B 62 -298 638 718 ; +C -1 ; WX 547 ; N Edieresis ; B 62 0 620 915 ; +C -1 ; WX 501 ; N nacute ; B 53 0 537 750 ; +C -1 ; WX 501 ; N uogonek ; B 80 -228 540 532 ; +C -1 ; WX 501 ; N umacron ; B 80 -14 540 678 ; +C -1 ; WX 592 ; N Dcaron ; B 62 0 637 936 ; +C -1 ; WX 283 ; N lcaron ; B 57 0 422 718 ; +C -1 ; WX 592 ; N Ccaron ; B 88 -19 647 936 ; +C -1 ; WX 592 ; N Cacute ; B 88 -19 647 936 ; +C -1 ; WX 592 ; N Ccedilla ; B 88 -228 647 737 ; +C -1 ; WX 328 ; N degree ; B 143 426 383 712 ; +C -1 ; WX 592 ; N Aogonek ; B 16 -228 576 718 ; +C -1 ; WX 479 ; N minus ; B 67 197 500 309 ; +C -1 ; WX 479 ; N multiply ; B 47 1 520 505 ; +C -1 ; WX 479 ; N divide ; B 67 -42 500 548 ; +C -1 ; WX 592 ; N Aring ; B 16 0 576 989 ; +C -1 ; WX 820 ; N trademark ; B 146 306 909 718 ; +C -1 ; WX 319 ; N rcommaaccent ; B 5 -298 401 546 ; +C -1 ; WX 228 ; N lacute ; B 57 0 433 936 ; +C -1 ; WX 501 ; N omacron ; B 67 -14 527 678 ; +C -1 ; WX 592 ; N Atilde ; B 16 0 607 923 ; +C -1 ; WX 228 ; N icircumflex ; B 57 0 365 750 ; +C -1 ; WX 228 ; N igrave ; B 57 0 268 750 ; +C -1 ; WX 501 ; N ncommaaccent ; B 53 -298 516 546 ; +C -1 ; WX 228 ; N lcommaaccent ; B 12 -298 297 718 ; +C -1 ; WX 479 ; N plusminus ; B 33 0 512 578 ; +C -1 ; WX 684 ; N onehalf ; B 108 -19 704 710 ; +C -1 ; WX 684 ; N onequarter ; B 108 -19 661 710 ; +C -1 ; WX 684 ; N threequarters ; B 82 -19 688 722 ; +C -1 ; WX 228 ; N iacute ; B 57 0 401 750 ; +C -1 ; WX 592 ; N Abreve ; B 16 0 597 936 ; +C -1 ; WX 456 ; N kcommaaccent ; B 57 -298 549 718 ; +C -1 ; WX 638 ; N Omacron ; B 88 -19 675 864 ; +C -1 ; WX 228 ; N imacron ; B 57 0 374 678 ; +C -1 ; WX 456 ; N emacron ; B 58 -14 488 678 ; +C -1 ; WX 456 ; N amacron ; B 45 -14 488 678 ; +C -1 ; WX 273 ; N tcommaaccent ; B 35 -298 346 676 ; +C -1 ; WX 456 ; N ydieresis ; B 34 -214 535 729 ; +C -1 ; WX 410 ; N zdotaccent ; B 16 0 478 729 ; +C -1 ; WX 410 ; N zcaron ; B 16 0 480 750 ; +C -1 ; WX 410 ; N zacute ; B 16 0 492 750 ; +C -1 ; WX 456 ; N yacute ; B 34 -214 535 750 ; +C -1 ; WX 501 ; N uhungarumlaut ; B 80 -14 643 750 ; +C -1 ; WX 501 ; N eth ; B 67 -14 549 737 ; +C -1 ; WX 501 ; N uring ; B 80 -14 540 776 ; +C -1 ; WX 638 ; N Ocircumflex ; B 88 -19 675 936 ; +C -1 ; WX 273 ; N commaaccent ; B 35 -298 175 -60 ; +C -1 ; WX 604 ; N copyright ; B 46 -19 685 737 ; +C -1 ; WX 604 ; N registered ; B 45 -19 684 737 ; +C -1 ; WX 592 ; N Acircumflex ; B 16 0 579 936 ; +C -1 ; WX 228 ; N idieresis ; B 57 0 373 729 ; +C -1 ; WX 405 ; N lozenge ; B 80 0 447 740 ; +C -1 ; WX 502 ; N Delta ; B 5 0 499 688 ; +C -1 ; WX 479 ; N notequal ; B 48 -16 519 522 ; +C -1 ; WX 450 ; N radical ; B 54 -35 605 918 ; +C -1 ; WX 592 ; N Agrave ; B 16 0 576 936 ; +C -1 ; WX 592 ; N Aacute ; B 16 0 615 936 ; +C -1 ; WX 479 ; N lessequal ; B 34 0 565 672 ; +C -1 ; WX 479 ; N greaterequal ; B 34 0 527 671 ; +C -1 ; WX 479 ; N logicalnot ; B 86 108 519 419 ; +C -1 ; WX 585 ; N summation ; B 12 -123 570 752 ; +C -1 ; WX 405 ; N partialdiff ; B 39 -21 465 743 ; +C -1 ; WX 592 ; N Ncommaaccent ; B 57 -298 661 718 ; +C -1 ; WX 501 ; N dcroat ; B 67 -14 617 718 ; +C -1 ; WX 230 ; N brokenbar ; B 66 -19 289 737 ; +C -1 ; WX 501 ; N Lcommaaccent ; B 62 -298 501 718 ; +C -1 ; WX 592 ; N Adieresis ; B 16 0 587 915 ; +C -1 ; WX 501 ; N mu ; B 18 -207 540 532 ; +C -1 ; WX 228 ; N .notdef ; B 21 0 21 0 ; +EndCharMetrics +StartKernData +StartKernPairs 998 +KPX A C -30 +KPX A Ccedilla -30 +KPX A G -31 +KPX A O -31 +KPX A Odieresis -31 +KPX A Q -30 +KPX A T -72 +KPX A U -29 +KPX A Uacute -29 +KPX A Ucircumflex -29 +KPX A Udieresis -29 +KPX A Ugrave -29 +KPX A V -56 +KPX A W -46 +KPX A Y -75 +KPX A a -11 +KPX A b -11 +KPX A c -15 +KPX A ccedilla -14 +KPX A comma 9 +KPX A d -14 +KPX A e -11 +KPX A g -19 +KPX A guillemotleft -41 +KPX A guilsinglleft -39 +KPX A hyphen 1 +KPX A o -17 +KPX A period 11 +KPX A q -14 +KPX A quotedblright -54 +KPX A quoteright -56 +KPX A t -16 +KPX A u -16 +KPX A v -34 +KPX A w -24 +KPX A y -32 +KPX Aacute C -31 +KPX Aacute G -32 +KPX Aacute O -32 +KPX Aacute Q -32 +KPX Aacute T -72 +KPX Aacute U -30 +KPX Aacute V -56 +KPX Aacute W -46 +KPX Aacute Y -74 +KPX Aacute a -11 +KPX Aacute b -11 +KPX Aacute c -16 +KPX Aacute comma 9 +KPX Aacute d -16 +KPX Aacute e -12 +KPX Aacute g -19 +KPX Aacute guillemotleft -42 +KPX Aacute guilsinglleft -40 +KPX Aacute hyphen 1 +KPX Aacute o -18 +KPX Aacute period 9 +KPX Aacute q -15 +KPX Aacute quoteright -56 +KPX Aacute t -17 +KPX Aacute u -17 +KPX Aacute v -33 +KPX Aacute w -24 +KPX Aacute y -32 +KPX Acircumflex C -30 +KPX Acircumflex G -31 +KPX Acircumflex O -31 +KPX Acircumflex Q -30 +KPX Acircumflex T -72 +KPX Acircumflex U -29 +KPX Acircumflex V -56 +KPX Acircumflex W -46 +KPX Acircumflex Y -74 +KPX Acircumflex comma 10 +KPX Acircumflex period 11 +KPX Adieresis C -31 +KPX Adieresis G -32 +KPX Adieresis O -32 +KPX Adieresis Q -31 +KPX Adieresis T -72 +KPX Adieresis U -30 +KPX Adieresis V -56 +KPX Adieresis W -46 +KPX Adieresis Y -75 +KPX Adieresis a -11 +KPX Adieresis b -11 +KPX Adieresis c -15 +KPX Adieresis comma 9 +KPX Adieresis d -15 +KPX Adieresis g -19 +KPX Adieresis guillemotleft -42 +KPX Adieresis guilsinglleft -39 +KPX Adieresis hyphen 0 +KPX Adieresis o -18 +KPX Adieresis period 10 +KPX Adieresis q -15 +KPX Adieresis quotedblright -54 +KPX Adieresis quoteright -57 +KPX Adieresis t -16 +KPX Adieresis u -16 +KPX Adieresis v -34 +KPX Adieresis w -24 +KPX Adieresis y -32 +KPX Agrave C -30 +KPX Agrave G -31 +KPX Agrave O -31 +KPX Agrave Q -30 +KPX Agrave T -72 +KPX Agrave U -29 +KPX Agrave V -56 +KPX Agrave W -46 +KPX Agrave Y -75 +KPX Agrave comma 9 +KPX Agrave period 11 +KPX Aring C -30 +KPX Aring G -31 +KPX Aring O -31 +KPX Aring Q -30 +KPX Aring T -72 +KPX Aring U -29 +KPX Aring V -56 +KPX Aring W -46 +KPX Aring Y -75 +KPX Aring a -11 +KPX Aring b -11 +KPX Aring c -15 +KPX Aring comma 9 +KPX Aring d -14 +KPX Aring e -11 +KPX Aring g -19 +KPX Aring guillemotleft -41 +KPX Aring guilsinglleft -39 +KPX Aring hyphen 1 +KPX Aring o -17 +KPX Aring period 11 +KPX Aring q -14 +KPX Aring quotedblright -54 +KPX Aring quoteright -56 +KPX Aring t -16 +KPX Aring u -16 +KPX Aring v -34 +KPX Aring w -24 +KPX Aring y -32 +KPX Atilde C -32 +KPX Atilde G -33 +KPX Atilde O -33 +KPX Atilde Q -32 +KPX Atilde T -73 +KPX Atilde U -31 +KPX Atilde V -56 +KPX Atilde W -47 +KPX Atilde Y -75 +KPX Atilde comma 9 +KPX Atilde period 9 +KPX B A -27 +KPX B AE -21 +KPX B Aacute -27 +KPX B Acircumflex -27 +KPX B Adieresis -27 +KPX B Aring -27 +KPX B Atilde -27 +KPX B O -12 +KPX B OE -6 +KPX B Oacute -12 +KPX B Ocircumflex -12 +KPX B Odieresis -12 +KPX B Ograve -12 +KPX B Oslash -9 +KPX B V -31 +KPX B W -21 +KPX B Y -40 +KPX C A -29 +KPX C AE -23 +KPX C Aacute -29 +KPX C Adieresis -29 +KPX C Aring -29 +KPX C H -7 +KPX C K -13 +KPX C O -12 +KPX C Oacute -12 +KPX C Odieresis -12 +KPX Ccedilla A -31 +KPX D A -31 +KPX D Aacute -31 +KPX D Acircumflex -31 +KPX D Adieresis -31 +KPX D Agrave -31 +KPX D Aring -31 +KPX D Atilde -31 +KPX D J -1 +KPX D T -14 +KPX D V -25 +KPX D W -16 +KPX D X -28 +KPX D Y -43 +KPX F A -53 +KPX F Aacute -53 +KPX F Acircumflex -53 +KPX F Adieresis -53 +KPX F Agrave -53 +KPX F Aring -53 +KPX F Atilde -53 +KPX F J -24 +KPX F O -19 +KPX F Odieresis -19 +KPX F a -24 +KPX F aacute -24 +KPX F adieresis -24 +KPX F ae -24 +KPX F aring -24 +KPX F comma -78 +KPX F e -15 +KPX F eacute -15 +KPX F hyphen 0 +KPX F i -14 +KPX F j -13 +KPX F o -19 +KPX F oacute -19 +KPX F odieresis -19 +KPX F oe -19 +KPX F oslash -20 +KPX F period -77 +KPX F r -30 +KPX F u -31 +KPX G A -8 +KPX G AE -2 +KPX G Aacute -8 +KPX G Acircumflex -8 +KPX G Adieresis -8 +KPX G Agrave -8 +KPX G Aring -8 +KPX G Atilde -8 +KPX G T -18 +KPX G V -29 +KPX G W -20 +KPX G Y -47 +KPX J A -30 +KPX J AE -25 +KPX J Adieresis -30 +KPX J Aring -30 +KPX K C -42 +KPX K G -43 +KPX K O -43 +KPX K OE -37 +KPX K Oacute -43 +KPX K Odieresis -43 +KPX K S -30 +KPX K T 14 +KPX K a -10 +KPX K adieresis -10 +KPX K ae -11 +KPX K aring -10 +KPX K e -27 +KPX K hyphen -34 +KPX K o -35 +KPX K oacute -35 +KPX K odieresis -35 +KPX K u -30 +KPX K udieresis -30 +KPX K y -57 +KPX L A 6 +KPX L AE 12 +KPX L Aacute 6 +KPX L Adieresis 6 +KPX L Aring 6 +KPX L C -25 +KPX L Ccedilla -26 +KPX L G -27 +KPX L O -26 +KPX L Oacute -26 +KPX L Ocircumflex -26 +KPX L Odieresis -26 +KPX L Ograve -26 +KPX L Otilde -26 +KPX L S -8 +KPX L T -79 +KPX L U -23 +KPX L Udieresis -23 +KPX L V -75 +KPX L W -60 +KPX L Y -92 +KPX L hyphen -19 +KPX L quotedblright -123 +KPX L quoteright -125 +KPX L u -17 +KPX L udieresis -17 +KPX L y -50 +KPX N A -10 +KPX N AE -4 +KPX N Aacute -10 +KPX N Adieresis -10 +KPX N Aring -10 +KPX N C -3 +KPX N Ccedilla -2 +KPX N G -4 +KPX N O -4 +KPX N Oacute -4 +KPX N Odieresis -4 +KPX N a -1 +KPX N aacute -1 +KPX N adieresis -1 +KPX N ae -2 +KPX N aring -1 +KPX N comma 5 +KPX N e 2 +KPX N eacute 2 +KPX N o -3 +KPX N oacute -3 +KPX N odieresis -3 +KPX N oslash 0 +KPX N period 5 +KPX N u -1 +KPX N udieresis -2 +KPX O A -35 +KPX O AE -30 +KPX O Aacute -35 +KPX O Adieresis -35 +KPX O Aring -35 +KPX O T -21 +KPX O V -29 +KPX O W -20 +KPX O X -32 +KPX O Y -50 +KPX Oacute A -35 +KPX Oacute T -21 +KPX Oacute V -29 +KPX Oacute W -20 +KPX Oacute Y -50 +KPX Ocircumflex T -21 +KPX Ocircumflex V -29 +KPX Ocircumflex Y -50 +KPX Odieresis A -35 +KPX Odieresis T -21 +KPX Odieresis V -29 +KPX Odieresis W -20 +KPX Odieresis X -32 +KPX Odieresis Y -50 +KPX Ograve T -21 +KPX Ograve V -29 +KPX Ograve Y -50 +KPX Oslash A -32 +KPX Otilde T -21 +KPX Otilde V -29 +KPX Otilde Y -50 +KPX P A -61 +KPX P AE -56 +KPX P Aacute -61 +KPX P Adieresis -61 +KPX P Aring -61 +KPX P J -45 +KPX P a -22 +KPX P aacute -22 +KPX P adieresis -22 +KPX P ae -22 +KPX P aring -22 +KPX P comma -98 +KPX P e -20 +KPX P eacute -20 +KPX P hyphen -13 +KPX P o -24 +KPX P oacute -24 +KPX P odieresis -24 +KPX P oe -25 +KPX P oslash -25 +KPX P period -98 +KPX R C -10 +KPX R Ccedilla -9 +KPX R G -11 +KPX R O -11 +KPX R OE -5 +KPX R Oacute -11 +KPX R Odieresis -11 +KPX R T -9 +KPX R U -9 +KPX R Udieresis -9 +KPX R V -27 +KPX R W -18 +KPX R Y -36 +KPX R a -7 +KPX R aacute -7 +KPX R adieresis -7 +KPX R ae -7 +KPX R aring -7 +KPX R e -4 +KPX R eacute -4 +KPX R hyphen 7 +KPX R o -10 +KPX R oacute -10 +KPX R odieresis -10 +KPX R oe -10 +KPX R u -7 +KPX R uacute -8 +KPX R udieresis -8 +KPX R y -6 +KPX S A -20 +KPX S AE -14 +KPX S Aacute -20 +KPX S Adieresis -20 +KPX S Aring -20 +KPX S T -12 +KPX S V -29 +KPX S W -20 +KPX S Y -39 +KPX S t -5 +KPX T A -72 +KPX T AE -68 +KPX T Aacute -72 +KPX T Acircumflex -72 +KPX T Adieresis -72 +KPX T Agrave -72 +KPX T Aring -72 +KPX T Atilde -72 +KPX T C -18 +KPX T G -19 +KPX T J -77 +KPX T O -18 +KPX T OE -12 +KPX T Oacute -18 +KPX T Ocircumflex -18 +KPX T Odieresis -18 +KPX T Ograve -18 +KPX T Oslash -18 +KPX T Otilde -18 +KPX T S -3 +KPX T V 11 +KPX T W 13 +KPX T Y 13 +KPX T a -68 +KPX T ae -69 +KPX T c -68 +KPX T colon -79 +KPX T comma -61 +KPX T e -64 +KPX T g -69 +KPX T guillemotleft -92 +KPX T guilsinglleft -89 +KPX T hyphen -46 +KPX T i -9 +KPX T j -9 +KPX T o -70 +KPX T oslash -67 +KPX T period -61 +KPX T r -64 +KPX T s -69 +KPX T semicolon -79 +KPX T u -68 +KPX T v -77 +KPX T w -72 +KPX T y -76 +KPX U A -32 +KPX U AE -27 +KPX U Aacute -32 +KPX U Acircumflex -32 +KPX U Adieresis -32 +KPX U Aring -32 +KPX U Atilde -32 +KPX U comma -14 +KPX U m -5 +KPX U n -5 +KPX U p -5 +KPX U period -11 +KPX U r -5 +KPX Uacute A -32 +KPX Uacute comma -14 +KPX Uacute m -5 +KPX Uacute n -5 +KPX Uacute p -5 +KPX Uacute period -11 +KPX Uacute r -5 +KPX Ucircumflex A -32 +KPX Udieresis A -32 +KPX Udieresis b -5 +KPX Udieresis comma -14 +KPX Udieresis m -5 +KPX Udieresis n -5 +KPX Udieresis p -5 +KPX Udieresis period -11 +KPX Udieresis r -5 +KPX Ugrave A -32 +KPX V A -58 +KPX V AE -53 +KPX V Aacute -58 +KPX V Acircumflex -58 +KPX V Adieresis -58 +KPX V Agrave -58 +KPX V Aring -58 +KPX V Atilde -58 +KPX V C -33 +KPX V G -34 +KPX V O -34 +KPX V Oacute -34 +KPX V Ocircumflex -34 +KPX V Odieresis -34 +KPX V Ograve -34 +KPX V Oslash -29 +KPX V Otilde -34 +KPX V S -23 +KPX V T 13 +KPX V a -45 +KPX V ae -46 +KPX V colon -47 +KPX V comma -58 +KPX V e -41 +KPX V g -45 +KPX V guillemotleft -68 +KPX V guilsinglleft -65 +KPX V hyphen -22 +KPX V i -12 +KPX V o -47 +KPX V oslash -44 +KPX V period -58 +KPX V r -36 +KPX V semicolon -47 +KPX V u -40 +KPX V y -17 +KPX W A -47 +KPX W AE -42 +KPX W Aacute -47 +KPX W Acircumflex -47 +KPX W Adieresis -47 +KPX W Agrave -47 +KPX W Aring -47 +KPX W Atilde -47 +KPX W C -23 +KPX W G -24 +KPX W O -23 +KPX W Oacute -23 +KPX W Ocircumflex -23 +KPX W Odieresis -23 +KPX W Ograve -23 +KPX W Oslash -19 +KPX W Otilde -23 +KPX W S -18 +KPX W T 15 +KPX W a -32 +KPX W ae -33 +KPX W colon -40 +KPX W comma -42 +KPX W e -28 +KPX W g -32 +KPX W guillemotleft -55 +KPX W guilsinglleft -52 +KPX W hyphen -9 +KPX W i -10 +KPX W o -34 +KPX W oslash -31 +KPX W period -42 +KPX W r -27 +KPX W semicolon -41 +KPX W u -32 +KPX W y -11 +KPX X C -32 +KPX X O -33 +KPX X Odieresis -33 +KPX X Q -33 +KPX X a -15 +KPX X e -31 +KPX X hyphen -28 +KPX X o -37 +KPX X u -34 +KPX X y -44 +KPX Y A -73 +KPX Y AE -68 +KPX Y Aacute -73 +KPX Y Acircumflex -73 +KPX Y Adieresis -73 +KPX Y Agrave -73 +KPX Y Aring -73 +KPX Y Atilde -73 +KPX Y C -45 +KPX Y G -46 +KPX Y O -46 +KPX Y Oacute -46 +KPX Y Ocircumflex -46 +KPX Y Odieresis -46 +KPX Y Ograve -46 +KPX Y Oslash -45 +KPX Y Otilde -46 +KPX Y S -28 +KPX Y T 16 +KPX Y a -64 +KPX Y ae -65 +KPX Y colon -61 +KPX Y comma -71 +KPX Y e -60 +KPX Y g -64 +KPX Y guillemotleft -91 +KPX Y guilsinglleft -88 +KPX Y hyphen -49 +KPX Y i -9 +KPX Y o -66 +KPX Y oslash -63 +KPX Y p -48 +KPX Y period -71 +KPX Y semicolon -61 +KPX Y u -54 +KPX Y v -31 +KPX Z v -19 +KPX Z y -18 +KPX a j -2 +KPX a quoteright -11 +KPX a v -16 +KPX a w -7 +KPX a y -16 +KPX aacute v -17 +KPX aacute w -8 +KPX aacute y -17 +KPX adieresis v -16 +KPX adieresis w -7 +KPX adieresis y -16 +KPX ae v -17 +KPX ae w -7 +KPX ae y -18 +KPX agrave v -16 +KPX agrave w -7 +KPX agrave y -16 +KPX aring v -16 +KPX aring w -7 +KPX aring y -16 +KPX b v -15 +KPX b w -6 +KPX b y -17 +KPX c h -6 +KPX c k -8 +KPX comma one -65 +KPX comma quotedblright -27 +KPX comma quoteright -29 +KPX e quoteright -11 +KPX e t -4 +KPX e v -16 +KPX e w -6 +KPX e x -19 +KPX e y -17 +KPX eacute v -17 +KPX eacute w -7 +KPX eacute y -18 +KPX ecircumflex v -16 +KPX ecircumflex w -6 +KPX ecircumflex y -17 +KPX eight four 2 +KPX eight one -24 +KPX eight seven -10 +KPX f a -12 +KPX f aacute -12 +KPX f adieresis -12 +KPX f ae -13 +KPX f aring -12 +KPX f e -10 +KPX f eacute -10 +KPX f f 12 +KPX f i -11 +KPX f j -11 +KPX f l -11 +KPX f o -16 +KPX f oacute -16 +KPX f odieresis -16 +KPX f oe -16 +KPX f oslash -13 +KPX f quoteright 0 +KPX f s -13 +KPX f t 12 +KPX five four 0 +KPX five one -30 +KPX five seven -10 +KPX four four 3 +KPX four one -46 +KPX four seven -27 +KPX g a -2 +KPX g adieresis -2 +KPX g ae -3 +KPX g aring -2 +KPX g e 1 +KPX g eacute 1 +KPX g l 0 +KPX g oacute -4 +KPX g odieresis -4 +KPX g r 1 +KPX guillemotright A -42 +KPX guillemotright AE -36 +KPX guillemotright Aacute -42 +KPX guillemotright Adieresis -42 +KPX guillemotright Aring -42 +KPX guillemotright T -89 +KPX guillemotright V -63 +KPX guillemotright W -51 +KPX guillemotright Y -92 +KPX guilsinglright A -40 +KPX guilsinglright AE -35 +KPX guilsinglright Aacute -40 +KPX guilsinglright Adieresis -40 +KPX guilsinglright Aring -40 +KPX guilsinglright T -88 +KPX guilsinglright V -61 +KPX guilsinglright W -49 +KPX guilsinglright Y -90 +KPX h quoteright -13 +KPX h y -18 +KPX hyphen A 0 +KPX hyphen AE 6 +KPX hyphen Aacute 0 +KPX hyphen Adieresis 0 +KPX hyphen Aring 0 +KPX hyphen T -46 +KPX hyphen V -19 +KPX hyphen W -8 +KPX hyphen Y -52 +KPX i T -9 +KPX i j -3 +KPX k a -9 +KPX k aacute -9 +KPX k adieresis -9 +KPX k ae -9 +KPX k aring -9 +KPX k comma 7 +KPX k e -11 +KPX k eacute -11 +KPX k g -16 +KPX k hyphen -16 +KPX k o -18 +KPX k oacute -18 +KPX k odieresis -18 +KPX k period 7 +KPX k s -15 +KPX k u -12 +KPX k udieresis -6 +KPX l v -14 +KPX l y -13 +KPX m p -1 +KPX m v -17 +KPX m w -8 +KPX m y -17 +KPX n T -67 +KPX n p -2 +KPX n quoteright -12 +KPX n v -18 +KPX n w -9 +KPX n y -18 +KPX nine four 0 +KPX nine one -21 +KPX nine seven -14 +KPX o T -68 +KPX o quoteright -16 +KPX o t -7 +KPX o v -19 +KPX o w -9 +KPX o x -22 +KPX o y -21 +KPX oacute v -19 +KPX oacute w -9 +KPX oacute y -21 +KPX ocircumflex t -7 +KPX odieresis t -7 +KPX odieresis v -19 +KPX odieresis w -9 +KPX odieresis x -22 +KPX odieresis y -21 +KPX ograve v -19 +KPX ograve w -9 +KPX ograve y -21 +KPX one comma -39 +KPX one eight -41 +KPX one five -41 +KPX one four -57 +KPX one nine -42 +KPX one one -74 +KPX one period -39 +KPX one seven -55 +KPX one six -39 +KPX one three -46 +KPX one two -47 +KPX one zero -39 +KPX p t -4 +KPX p y -18 +KPX period one -65 +KPX period quotedblright -27 +KPX period quoteright -29 +KPX q c -1 +KPX q u -2 +KPX quotedblbase A 9 +KPX quotedblbase AE 15 +KPX quotedblbase T -61 +KPX quotedblbase V -58 +KPX quotedblbase W -43 +KPX quotedblbase Y -75 +KPX quotedblleft A -55 +KPX quotedblleft AE -51 +KPX quotedblleft Aacute -55 +KPX quotedblleft Adieresis -55 +KPX quotedblleft Aring -55 +KPX quotedblleft T -6 +KPX quotedblleft V 4 +KPX quotedblleft W 9 +KPX quotedblleft Y -6 +KPX quotedblright A -57 +KPX quotedblright AE -53 +KPX quotedblright Aacute -57 +KPX quotedblright Adieresis -57 +KPX quotedblright Aring -57 +KPX quotedblright T -4 +KPX quotedblright V 2 +KPX quotedblright W 7 +KPX quotedblright Y -8 +KPX quoteleft A -57 +KPX quoteleft AE -53 +KPX quoteleft Aacute -57 +KPX quoteleft Adieresis -57 +KPX quoteleft Aring -57 +KPX quoteleft T -8 +KPX quoteleft V 2 +KPX quoteleft W 7 +KPX quoteleft Y -8 +KPX quoteright A -59 +KPX quoteright AE -55 +KPX quoteright Aacute -59 +KPX quoteright Adieresis -59 +KPX quoteright Aring -59 +KPX quoteright comma -35 +KPX quoteright d -23 +KPX quoteright o -28 +KPX quoteright period -35 +KPX quoteright r -11 +KPX quoteright s -21 +KPX quoteright t 0 +KPX quoteright v -3 +KPX quoteright w 0 +KPX quoteright y -2 +KPX r a -9 +KPX r aacute -9 +KPX r acircumflex -9 +KPX r adieresis -9 +KPX r ae -9 +KPX r agrave -9 +KPX r aring -9 +KPX r c -11 +KPX r ccedilla -7 +KPX r colon -19 +KPX r comma -47 +KPX r d -9 +KPX r e -8 +KPX r eacute -8 +KPX r ecircumflex -8 +KPX r egrave -8 +KPX r f 12 +KPX r g -6 +KPX r h -10 +KPX r hyphen -30 +KPX r i -13 +KPX r j -12 +KPX r k -12 +KPX r l -12 +KPX r m -10 +KPX r n -11 +KPX r o -12 +KPX r oacute -12 +KPX r ocircumflex -12 +KPX r odieresis -12 +KPX r oe -12 +KPX r ograve -12 +KPX r oslash -13 +KPX r p -10 +KPX r period -47 +KPX r q -9 +KPX r quoteright 4 +KPX r r -10 +KPX r s -8 +KPX r semicolon -19 +KPX r t 12 +KPX r u -12 +KPX r v 8 +KPX r w 10 +KPX r x 4 +KPX r y 9 +KPX r z 0 +KPX s quoteright -12 +KPX s t -7 +KPX seven colon -48 +KPX seven comma -77 +KPX seven eight -11 +KPX seven five -20 +KPX seven four -59 +KPX seven one -14 +KPX seven period -77 +KPX seven seven 5 +KPX seven six -16 +KPX seven three -9 +KPX seven two -8 +KPX six four 0 +KPX six one -23 +KPX six seven -9 +KPX t S -5 +KPX t a -3 +KPX t aacute -3 +KPX t adieresis -3 +KPX t ae -3 +KPX t aring -3 +KPX t colon -19 +KPX t e -6 +KPX t eacute -6 +KPX t h -4 +KPX t o -12 +KPX t oacute -12 +KPX t odieresis -12 +KPX t quoteright -1 +KPX t semicolon -19 +KPX three four -1 +KPX three one -27 +KPX three seven -13 +KPX two four -21 +KPX two one -21 +KPX two seven -10 +KPX u quoteright -4 +KPX v a -21 +KPX v aacute -21 +KPX v acircumflex -21 +KPX v adieresis -21 +KPX v ae -22 +KPX v agrave -21 +KPX v aring -21 +KPX v atilde -21 +KPX v c -20 +KPX v colon -20 +KPX v comma -40 +KPX v e -17 +KPX v eacute -17 +KPX v ecircumflex -17 +KPX v egrave -17 +KPX v g -20 +KPX v hyphen 0 +KPX v l -12 +KPX v o -23 +KPX v oacute -23 +KPX v odieresis -23 +KPX v ograve -23 +KPX v oslash -20 +KPX v period -39 +KPX v s -21 +KPX v semicolon -20 +KPX w a -12 +KPX w aacute -12 +KPX w acircumflex -12 +KPX w adieresis -12 +KPX w ae -13 +KPX w agrave -12 +KPX w aring -12 +KPX w atilde -12 +KPX w c -11 +KPX w colon -18 +KPX w comma -25 +KPX w e -7 +KPX w eacute -7 +KPX w ecircumflex -7 +KPX w egrave -7 +KPX w g -11 +KPX w hyphen 9 +KPX w l -9 +KPX w o -13 +KPX w oacute -13 +KPX w odieresis -13 +KPX w ograve -13 +KPX w oslash -11 +KPX w period -25 +KPX w s -12 +KPX w semicolon -18 +KPX x a -19 +KPX x c -22 +KPX x e -18 +KPX x eacute -18 +KPX x o -24 +KPX x q -20 +KPX y a -23 +KPX y aacute -23 +KPX y acircumflex -23 +KPX y adieresis -23 +KPX y ae -23 +KPX y agrave -23 +KPX y aring -23 +KPX y atilde -23 +KPX y c -22 +KPX y colon -21 +KPX y comma -40 +KPX y e -19 +KPX y eacute -19 +KPX y ecircumflex -19 +KPX y egrave -19 +KPX y g -23 +KPX y hyphen 0 +KPX y l -14 +KPX y o -25 +KPX y oacute -25 +KPX y odieresis -25 +KPX y ograve -25 +KPX y oslash -21 +KPX y period -40 +KPX y s -23 +KPX y semicolon -22 +KPX zero four 2 +KPX zero one -20 +KPX zero seven -11 +EndKernPairs +EndKernData +EndFontMetrics diff --git a/Master/xemtex/gsfonts/n019064l.pfb b/Master/xemtex/gsfonts/n019064l.pfb new file mode 100644 index 00000000000..624082e85b3 Binary files /dev/null and b/Master/xemtex/gsfonts/n019064l.pfb differ diff --git a/Master/xemtex/gsfonts/n019064l.pfm b/Master/xemtex/gsfonts/n019064l.pfm new file mode 100644 index 00000000000..5c9d79a92cb Binary files /dev/null and b/Master/xemtex/gsfonts/n019064l.pfm differ diff --git a/Master/xemtex/gsfonts/n021003l.afm b/Master/xemtex/gsfonts/n021003l.afm new file mode 100644 index 00000000000..ebddf46dc7e --- /dev/null +++ b/Master/xemtex/gsfonts/n021003l.afm @@ -0,0 +1,1341 @@ +StartFontMetrics 3.0 +Comment Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development +Comment Creation Date: 12/22/1999 +Comment See the file PUBLIC (Aladdin Free Public License) for license conditions. +FontName NimbusRomNo9L-Regu +FullName Nimbus Roman No9 L Regular +FamilyName Nimbus Roman No9 L +Weight Regular +ItalicAngle 0.0 +IsFixedPitch false +UnderlinePosition -100 +UnderlineThickness 50 +Version 1.05 +Notice (URW)++,Copyright 1999 by (URW)++ Design & Development +EncodingScheme AdobeStandardEncoding +FontBBox -168 -281 1000 924 +CapHeight 662 +XHeight 450 +Descender -217 +Ascender 683 +StartCharMetrics 316 +C 32 ; WX 250 ; N space ; B 125 0 125 0 ; +C 33 ; WX 333 ; N exclam ; B 130 -9 237 676 ; +C 34 ; WX 408 ; N quotedbl ; B 77 431 331 676 ; +C 35 ; WX 500 ; N numbersign ; B 5 0 496 662 ; +C 36 ; WX 500 ; N dollar ; B 44 -87 457 727 ; +C 37 ; WX 833 ; N percent ; B 61 -13 772 676 ; +C 38 ; WX 778 ; N ampersand ; B 42 -13 750 676 ; +C 39 ; WX 333 ; N quoteright ; B 79 433 218 676 ; +C 40 ; WX 333 ; N parenleft ; B 48 -177 304 676 ; +C 41 ; WX 333 ; N parenright ; B 29 -177 285 676 ; +C 42 ; WX 500 ; N asterisk ; B 69 265 432 676 ; +C 43 ; WX 564 ; N plus ; B 30 0 534 506 ; +C 44 ; WX 250 ; N comma ; B 56 -141 195 102 ; +C 45 ; WX 333 ; N hyphen ; B 39 194 285 257 ; +C 46 ; WX 250 ; N period ; B 70 -11 181 100 ; +C 47 ; WX 278 ; N slash ; B -9 -14 287 676 ; +C 48 ; WX 500 ; N zero ; B 24 -14 476 676 ; +C 49 ; WX 500 ; N one ; B 111 0 394 676 ; +C 50 ; WX 500 ; N two ; B 30 0 475 676 ; +C 51 ; WX 500 ; N three ; B 43 -14 432 676 ; +C 52 ; WX 500 ; N four ; B 12 0 472 676 ; +C 53 ; WX 500 ; N five ; B 32 -14 438 688 ; +C 54 ; WX 500 ; N six ; B 34 -14 468 684 ; +C 55 ; WX 500 ; N seven ; B 20 -8 449 662 ; +C 56 ; WX 500 ; N eight ; B 56 -14 445 676 ; +C 57 ; WX 500 ; N nine ; B 30 -22 459 676 ; +C 58 ; WX 278 ; N colon ; B 81 -11 192 459 ; +C 59 ; WX 278 ; N semicolon ; B 80 -141 219 459 ; +C 60 ; WX 564 ; N less ; B 28 -10 536 516 ; +C 61 ; WX 564 ; N equal ; B 30 120 534 386 ; +C 62 ; WX 564 ; N greater ; B 28 -10 536 516 ; +C 63 ; WX 444 ; N question ; B 68 -8 414 676 ; +C 64 ; WX 921 ; N at ; B 116 -14 809 676 ; +C 65 ; WX 722 ; N A ; B 15 0 706 674 ; +C 66 ; WX 667 ; N B ; B 17 0 593 662 ; +C 67 ; WX 667 ; N C ; B 28 -14 633 676 ; +C 68 ; WX 722 ; N D ; B 16 0 685 662 ; +C 69 ; WX 611 ; N E ; B 12 0 597 662 ; +C 70 ; WX 556 ; N F ; B 12 0 546 662 ; +C 71 ; WX 722 ; N G ; B 32 -14 709 676 ; +C 72 ; WX 722 ; N H ; B 19 0 702 662 ; +C 73 ; WX 333 ; N I ; B 18 0 315 662 ; +C 74 ; WX 389 ; N J ; B 10 -14 370 662 ; +C 75 ; WX 722 ; N K ; B 34 0 723 662 ; +C 76 ; WX 611 ; N L ; B 12 0 598 662 ; +C 77 ; WX 889 ; N M ; B 12 0 863 662 ; +C 78 ; WX 722 ; N N ; B 12 -11 707 662 ; +C 79 ; WX 722 ; N O ; B 34 -14 688 676 ; +C 80 ; WX 556 ; N P ; B 16 0 542 662 ; +C 81 ; WX 722 ; N Q ; B 34 -178 701 676 ; +C 82 ; WX 667 ; N R ; B 17 0 659 662 ; +C 83 ; WX 556 ; N S ; B 42 -14 491 676 ; +C 84 ; WX 611 ; N T ; B 17 0 593 662 ; +C 85 ; WX 722 ; N U ; B 14 -14 705 662 ; +C 86 ; WX 722 ; N V ; B 16 -11 697 662 ; +C 87 ; WX 944 ; N W ; B 5 -11 932 662 ; +C 88 ; WX 722 ; N X ; B 10 0 704 662 ; +C 89 ; WX 722 ; N Y ; B 22 0 703 662 ; +C 90 ; WX 611 ; N Z ; B 9 0 597 662 ; +C 91 ; WX 333 ; N bracketleft ; B 88 -156 299 662 ; +C 92 ; WX 278 ; N backslash ; B -9 -14 287 676 ; +C 93 ; WX 333 ; N bracketright ; B 34 -156 245 662 ; +C 94 ; WX 469 ; N asciicircum ; B 24 297 446 662 ; +C 95 ; WX 500 ; N underscore ; B 0 -125 500 -75 ; +C 96 ; WX 333 ; N quoteleft ; B 115 433 254 676 ; +C 97 ; WX 444 ; N a ; B 37 -10 442 460 ; +C 98 ; WX 500 ; N b ; B 3 -10 468 683 ; +C 99 ; WX 444 ; N c ; B 25 -10 412 460 ; +C 100 ; WX 500 ; N d ; B 27 -10 491 683 ; +C 101 ; WX 444 ; N e ; B 25 -10 424 460 ; +C 102 ; WX 333 ; N f ; B 20 0 383 683 ; +C 103 ; WX 500 ; N g ; B 28 -218 470 460 ; +C 104 ; WX 500 ; N h ; B 9 0 487 683 ; +C 105 ; WX 278 ; N i ; B 16 0 253 683 ; +C 106 ; WX 278 ; N j ; B -70 -218 194 683 ; +C 107 ; WX 500 ; N k ; B 7 0 505 683 ; +C 108 ; WX 278 ; N l ; B 19 0 257 683 ; +C 109 ; WX 778 ; N m ; B 16 0 775 460 ; +C 110 ; WX 500 ; N n ; B 16 0 485 460 ; +C 111 ; WX 500 ; N o ; B 29 -10 470 460 ; +C 112 ; WX 500 ; N p ; B 5 -217 470 460 ; +C 113 ; WX 500 ; N q ; B 24 -217 488 461 ; +C 114 ; WX 333 ; N r ; B 5 0 335 460 ; +C 115 ; WX 389 ; N s ; B 51 -10 348 459 ; +C 116 ; WX 278 ; N t ; B 13 -10 279 579 ; +C 117 ; WX 500 ; N u ; B 9 -10 479 450 ; +C 118 ; WX 500 ; N v ; B 19 -14 477 450 ; +C 119 ; WX 722 ; N w ; B 21 -14 694 450 ; +C 120 ; WX 500 ; N x ; B 17 0 479 450 ; +C 121 ; WX 500 ; N y ; B 14 -218 475 450 ; +C 122 ; WX 444 ; N z ; B 27 0 418 450 ; +C 123 ; WX 480 ; N braceleft ; B 100 -181 350 680 ; +C 124 ; WX 200 ; N bar ; B 67 -14 133 676 ; +C 125 ; WX 480 ; N braceright ; B 130 -181 380 680 ; +C 126 ; WX 541 ; N asciitilde ; B 40 186 502 320 ; +C 161 ; WX 333 ; N exclamdown ; B 97 -218 204 469 ; +C 162 ; WX 500 ; N cent ; B 53 -138 448 579 ; +C 163 ; WX 500 ; N sterling ; B 12 -8 490 676 ; +C 164 ; WX 167 ; N fraction ; B -168 -14 331 676 ; +C 165 ; WX 500 ; N yen ; B -53 0 512 662 ; +C 166 ; WX 500 ; N florin ; B 7 -189 490 676 ; +C 167 ; WX 500 ; N section ; B 70 -148 426 676 ; +C 168 ; WX 500 ; N currency ; B -22 58 522 602 ; +C 169 ; WX 180 ; N quotesingle ; B 48 431 133 676 ; +C 170 ; WX 444 ; N quotedblleft ; B 43 433 414 676 ; +C 171 ; WX 500 ; N guillemotleft ; B 42 33 456 416 ; +C 172 ; WX 333 ; N guilsinglleft ; B 63 33 285 416 ; +C 173 ; WX 333 ; N guilsinglright ; B 48 33 270 416 ; +C 174 ; WX 556 ; N fi ; B 31 0 521 683 ; +C 175 ; WX 556 ; N fl ; B 32 0 521 683 ; +C 177 ; WX 500 ; N endash ; B 0 201 500 250 ; +C 178 ; WX 500 ; N dagger ; B 59 -149 443 676 ; +C 179 ; WX 500 ; N daggerdbl ; B 58 -153 442 676 ; +C 180 ; WX 250 ; N periodcentered ; B 70 199 181 310 ; +C 182 ; WX 453 ; N paragraph ; B -22 -154 450 662 ; +C 183 ; WX 350 ; N bullet ; B 40 196 310 466 ; +C 184 ; WX 333 ; N quotesinglbase ; B 79 -141 218 102 ; +C 185 ; WX 444 ; N quotedblbase ; B 45 -141 416 102 ; +C 186 ; WX 444 ; N quotedblright ; B 30 433 401 676 ; +C 187 ; WX 500 ; N guillemotright ; B 44 33 458 416 ; +C 188 ; WX 1000 ; N ellipsis ; B 111 -11 888 100 ; +C 189 ; WX 1000 ; N perthousand ; B 7 -19 994 706 ; +C 191 ; WX 444 ; N questiondown ; B 30 -218 376 468 ; +C 193 ; WX 333 ; N grave ; B 19 507 242 678 ; +C 194 ; WX 333 ; N acute ; B 93 507 317 678 ; +C 195 ; WX 333 ; N circumflex ; B 11 507 322 674 ; +C 196 ; WX 333 ; N tilde ; B 1 532 331 638 ; +C 197 ; WX 333 ; N macron ; B 11 547 322 601 ; +C 198 ; WX 333 ; N breve ; B 26 507 307 664 ; +C 199 ; WX 333 ; N dotaccent ; B 118 523 217 622 ; +C 200 ; WX 333 ; N dieresis ; B 18 523 316 622 ; +C 202 ; WX 333 ; N ring ; B 67 512 266 711 ; +C 203 ; WX 333 ; N cedilla ; B 52 -215 261 0 ; +C 205 ; WX 333 ; N hungarumlaut ; B -3 507 377 678 ; +C 206 ; WX 333 ; N ogonek ; B 64 -165 249 0 ; +C 207 ; WX 333 ; N caron ; B 11 507 322 674 ; +C 208 ; WX 1000 ; N emdash ; B 0 201 1000 250 ; +C 225 ; WX 889 ; N AE ; B 0 0 863 662 ; +C 227 ; WX 276 ; N ordfeminine ; B 4 394 270 676 ; +C 232 ; WX 611 ; N Lslash ; B 12 0 598 662 ; +C 233 ; WX 722 ; N Oslash ; B 34 -80 688 734 ; +C 234 ; WX 889 ; N OE ; B 30 -6 885 668 ; +C 235 ; WX 310 ; N ordmasculine ; B 6 394 304 676 ; +C 241 ; WX 667 ; N ae ; B 38 -10 632 460 ; +C 245 ; WX 278 ; N dotlessi ; B 16 0 253 460 ; +C 248 ; WX 278 ; N lslash ; B 19 0 259 683 ; +C 249 ; WX 500 ; N oslash ; B 29 -112 470 551 ; +C 250 ; WX 722 ; N oe ; B 30 -10 690 460 ; +C 251 ; WX 500 ; N germandbls ; B 12 -9 468 683 ; +C -1 ; WX 722 ; N Udieresis ; B 14 -14 705 834 ; +C -1 ; WX 722 ; N Uacute ; B 14 -14 705 890 ; +C -1 ; WX 556 ; N Scedilla ; B 42 -215 491 676 ; +C -1 ; WX 611 ; N Tcaron ; B 17 0 593 886 ; +C -1 ; WX 556 ; N Scaron ; B 42 -14 491 886 ; +C -1 ; WX 667 ; N Rcaron ; B 17 0 659 886 ; +C -1 ; WX 667 ; N Racute ; B 17 0 659 890 ; +C -1 ; WX 556 ; N Sacute ; B 42 -14 491 890 ; +C -1 ; WX 722 ; N Otilde ; B 34 -14 688 850 ; +C -1 ; WX 500 ; N ucircumflex ; B 9 -10 479 674 ; +C -1 ; WX 722 ; N Ohungarumlaut ; B 34 -14 688 890 ; +C -1 ; WX 722 ; N Uhungarumlaut ; B 14 -14 705 890 ; +C -1 ; WX 722 ; N Yacute ; B 22 0 703 890 ; +C -1 ; WX 722 ; N Eth ; B 16 0 685 662 ; +C -1 ; WX 722 ; N Dcroat ; B 16 0 685 662 ; +C -1 ; WX 611 ; N Zacute ; B 9 0 597 890 ; +C -1 ; WX 722 ; N Uring ; B 14 -14 705 923 ; +C -1 ; WX 500 ; N gbreve ; B 28 -218 470 664 ; +C -1 ; WX 444 ; N eogonek ; B 25 -165 424 460 ; +C -1 ; WX 444 ; N edotaccent ; B 25 -10 424 622 ; +C -1 ; WX 444 ; N ecaron ; B 25 -10 424 674 ; +C -1 ; WX 722 ; N Ugrave ; B 14 -14 705 890 ; +C -1 ; WX 556 ; N Thorn ; B 16 0 542 662 ; +C -1 ; WX 444 ; N eacute ; B 25 -10 424 678 ; +C -1 ; WX 444 ; N edieresis ; B 25 -10 424 622 ; +C -1 ; WX 600 ; N dcaron ; B 27 -10 599 683 ; +C -1 ; WX 444 ; N ccedilla ; B 25 -215 412 460 ; +C -1 ; WX 444 ; N ccaron ; B 25 -10 412 674 ; +C -1 ; WX 444 ; N cacute ; B 25 -10 412 678 ; +C -1 ; WX 444 ; N aogonek ; B 37 -165 444 460 ; +C -1 ; WX 444 ; N aring ; B 37 -10 442 721 ; +C -1 ; WX 444 ; N atilde ; B 37 -10 442 638 ; +C -1 ; WX 444 ; N abreve ; B 37 -10 442 664 ; +C -1 ; WX 444 ; N egrave ; B 25 -10 424 678 ; +C -1 ; WX 444 ; N agrave ; B 37 -10 442 678 ; +C -1 ; WX 444 ; N aacute ; B 37 -10 442 678 ; +C -1 ; WX 444 ; N adieresis ; B 37 -10 442 622 ; +C -1 ; WX 722 ; N Uogonek ; B 14 -165 705 662 ; +C -1 ; WX 500 ; N ugrave ; B 9 -10 479 678 ; +C -1 ; WX 500 ; N uacute ; B 9 -10 479 678 ; +C -1 ; WX 500 ; N udieresis ; B 9 -10 479 622 ; +C -1 ; WX 278 ; N tcaron ; B 13 -10 300 676 ; +C -1 ; WX 389 ; N scommaaccent ; B 51 -281 348 459 ; +C -1 ; WX 611 ; N Zcaron ; B 9 0 597 886 ; +C -1 ; WX 444 ; N ecircumflex ; B 25 -10 424 674 ; +C -1 ; WX 722 ; N Ucircumflex ; B 14 -14 705 886 ; +C -1 ; WX 444 ; N acircumflex ; B 37 -10 442 674 ; +C -1 ; WX 611 ; N Zdotaccent ; B 9 0 597 834 ; +C -1 ; WX 389 ; N scaron ; B 39 -10 350 674 ; +C -1 ; WX 722 ; N Amacron ; B 15 0 706 813 ; +C -1 ; WX 389 ; N sacute ; B 51 -10 365 678 ; +C -1 ; WX 611 ; N Tcommaaccent ; B 17 -281 593 662 ; +C -1 ; WX 722 ; N Ydieresis ; B 22 0 703 834 ; +C -1 ; WX 500 ; N thorn ; B 5 -217 470 683 ; +C -1 ; WX 611 ; N Emacron ; B 12 0 597 813 ; +C -1 ; WX 722 ; N Ograve ; B 34 -14 688 890 ; +C -1 ; WX 722 ; N Oacute ; B 34 -14 688 890 ; +C -1 ; WX 722 ; N Odieresis ; B 34 -14 688 834 ; +C -1 ; WX 722 ; N Ntilde ; B 12 -11 707 850 ; +C -1 ; WX 722 ; N Ncaron ; B 12 -11 707 886 ; +C -1 ; WX 722 ; N Nacute ; B 12 -11 707 890 ; +C -1 ; WX 611 ; N Lcaron ; B 12 0 598 676 ; +C -1 ; WX 611 ; N Lacute ; B 12 0 598 890 ; +C -1 ; WX 333 ; N Idotaccent ; B 18 0 315 834 ; +C -1 ; WX 333 ; N racute ; B 5 0 335 678 ; +C -1 ; WX 333 ; N Icircumflex ; B 11 0 322 886 ; +C -1 ; WX 500 ; N ohungarumlaut ; B 29 -10 470 678 ; +C -1 ; WX 500 ; N otilde ; B 29 -10 470 638 ; +C -1 ; WX 500 ; N Euro ; B -16 -14 477 674 ; +C -1 ; WX 500 ; N ocircumflex ; B 29 -10 470 674 ; +C -1 ; WX 300 ; N onesuperior ; B 57 270 248 676 ; +C -1 ; WX 300 ; N twosuperior ; B 1 270 296 676 ; +C -1 ; WX 300 ; N threesuperior ; B 14 262 291 676 ; +C -1 ; WX 333 ; N Igrave ; B 18 0 315 890 ; +C -1 ; WX 333 ; N Iacute ; B 18 0 317 890 ; +C -1 ; WX 333 ; N Imacron ; B 11 0 322 813 ; +C -1 ; WX 333 ; N Iogonek ; B 18 -165 397 662 ; +C -1 ; WX 333 ; N Idieresis ; B 18 0 316 834 ; +C -1 ; WX 722 ; N Gbreve ; B 32 -14 709 876 ; +C -1 ; WX 722 ; N Umacron ; B 14 -14 705 813 ; +C -1 ; WX 722 ; N Kcommaaccent ; B 34 -281 723 662 ; +C -1 ; WX 500 ; N ograve ; B 29 -10 470 678 ; +C -1 ; WX 556 ; N Scommaaccent ; B 42 -281 491 676 ; +C -1 ; WX 611 ; N Eogonek ; B 12 -165 611 662 ; +C -1 ; WX 500 ; N oacute ; B 29 -10 470 678 ; +C -1 ; WX 611 ; N Edotaccent ; B 12 0 597 834 ; +C -1 ; WX 278 ; N iogonek ; B 16 -165 278 683 ; +C -1 ; WX 500 ; N gcommaaccent ; B 28 -218 470 736 ; +C -1 ; WX 500 ; N odieresis ; B 29 -10 470 622 ; +C -1 ; WX 500 ; N ntilde ; B 16 0 485 638 ; +C -1 ; WX 500 ; N ncaron ; B 16 0 485 674 ; +C -1 ; WX 611 ; N Ecaron ; B 12 0 597 886 ; +C -1 ; WX 611 ; N Ecircumflex ; B 12 0 597 886 ; +C -1 ; WX 389 ; N scedilla ; B 51 -215 348 459 ; +C -1 ; WX 333 ; N rcaron ; B 5 0 335 674 ; +C -1 ; WX 611 ; N Egrave ; B 12 0 597 890 ; +C -1 ; WX 611 ; N Eacute ; B 12 0 597 890 ; +C -1 ; WX 722 ; N Gcommaaccent ; B 32 -281 709 676 ; +C -1 ; WX 667 ; N Rcommaaccent ; B 17 -281 659 662 ; +C -1 ; WX 611 ; N Edieresis ; B 12 0 597 834 ; +C -1 ; WX 500 ; N nacute ; B 16 0 485 678 ; +C -1 ; WX 500 ; N uogonek ; B 9 -165 500 450 ; +C -1 ; WX 500 ; N umacron ; B 9 -10 479 601 ; +C -1 ; WX 722 ; N Dcaron ; B 16 0 685 886 ; +C -1 ; WX 348 ; N lcaron ; B 19 0 348 683 ; +C -1 ; WX 667 ; N Ccaron ; B 28 -14 633 886 ; +C -1 ; WX 667 ; N Cacute ; B 28 -14 633 890 ; +C -1 ; WX 667 ; N Ccedilla ; B 28 -215 633 676 ; +C -1 ; WX 400 ; N degree ; B 57 390 343 676 ; +C -1 ; WX 722 ; N Aogonek ; B 15 -165 786 674 ; +C -1 ; WX 564 ; N minus ; B 30 220 534 286 ; +C -1 ; WX 564 ; N multiply ; B 38 8 527 497 ; +C -1 ; WX 564 ; N divide ; B 30 -10 534 516 ; +C -1 ; WX 722 ; N Aring ; B 15 0 706 915 ; +C -1 ; WX 980 ; N trademark ; B 30 256 957 662 ; +C -1 ; WX 333 ; N rcommaaccent ; B 5 -281 335 460 ; +C -1 ; WX 278 ; N lacute ; B 19 0 290 890 ; +C -1 ; WX 500 ; N omacron ; B 29 -10 470 601 ; +C -1 ; WX 722 ; N Atilde ; B 15 0 706 850 ; +C -1 ; WX 278 ; N icircumflex ; B -16 0 295 674 ; +C -1 ; WX 278 ; N igrave ; B -8 0 253 678 ; +C -1 ; WX 500 ; N ncommaaccent ; B 16 -281 485 460 ; +C -1 ; WX 278 ; N lcommaaccent ; B 19 -281 257 683 ; +C -1 ; WX 564 ; N plusminus ; B 30 0 534 568 ; +C -1 ; WX 750 ; N onehalf ; B 31 -14 746 676 ; +C -1 ; WX 750 ; N onequarter ; B 37 -14 718 676 ; +C -1 ; WX 750 ; N threequarters ; B 15 -14 718 676 ; +C -1 ; WX 278 ; N iacute ; B 16 0 290 678 ; +C -1 ; WX 722 ; N Abreve ; B 15 0 706 876 ; +C -1 ; WX 500 ; N kcommaaccent ; B 7 -281 505 683 ; +C -1 ; WX 722 ; N Omacron ; B 34 -14 688 813 ; +C -1 ; WX 278 ; N imacron ; B -16 0 292 601 ; +C -1 ; WX 444 ; N emacron ; B 25 -10 424 601 ; +C -1 ; WX 444 ; N amacron ; B 37 -10 442 601 ; +C -1 ; WX 278 ; N tcommaaccent ; B 13 -281 279 579 ; +C -1 ; WX 500 ; N ydieresis ; B 14 -218 475 622 ; +C -1 ; WX 444 ; N zdotaccent ; B 27 0 418 622 ; +C -1 ; WX 444 ; N zcaron ; B 27 0 418 674 ; +C -1 ; WX 444 ; N zacute ; B 27 0 418 678 ; +C -1 ; WX 500 ; N yacute ; B 14 -218 475 678 ; +C -1 ; WX 500 ; N uhungarumlaut ; B 9 -10 479 678 ; +C -1 ; WX 500 ; N eth ; B 29 -10 471 686 ; +C -1 ; WX 500 ; N uring ; B 9 -10 479 711 ; +C -1 ; WX 722 ; N Ocircumflex ; B 34 -14 688 886 ; +C -1 ; WX 333 ; N commaaccent ; B 97 -281 236 -38 ; +C -1 ; WX 760 ; N copyright ; B 38 -14 722 676 ; +C -1 ; WX 760 ; N registered ; B 38 -14 722 676 ; +C -1 ; WX 722 ; N Acircumflex ; B 15 0 706 886 ; +C -1 ; WX 278 ; N idieresis ; B 11 0 269 622 ; +C -1 ; WX 494 ; N lozenge ; B 18 0 466 740 ; +C -1 ; WX 612 ; N Delta ; B 6 0 608 688 ; +C -1 ; WX 564 ; N notequal ; B 30 -3 534 509 ; +C -1 ; WX 549 ; N radical ; B -2 -65 526 924 ; +C -1 ; WX 722 ; N Agrave ; B 15 0 706 890 ; +C -1 ; WX 722 ; N Aacute ; B 15 0 706 890 ; +C -1 ; WX 564 ; N lessequal ; B 28 0 536 628 ; +C -1 ; WX 564 ; N greaterequal ; B 28 0 536 628 ; +C -1 ; WX 564 ; N logicalnot ; B 30 108 534 386 ; +C -1 ; WX 713 ; N summation ; B 14 -123 695 752 ; +C -1 ; WX 494 ; N partialdiff ; B 26 -10 462 753 ; +C -1 ; WX 722 ; N Ncommaaccent ; B 12 -281 707 662 ; +C -1 ; WX 500 ; N dcroat ; B 27 -10 500 683 ; +C -1 ; WX 200 ; N brokenbar ; B 67 -14 133 676 ; +C -1 ; WX 611 ; N Lcommaaccent ; B 12 -281 598 662 ; +C -1 ; WX 722 ; N Adieresis ; B 15 0 706 834 ; +C -1 ; WX 500 ; N mu ; B 36 -218 512 450 ; +C -1 ; WX 250 ; N .notdef ; B 125 0 125 0 ; +EndCharMetrics +StartKernData +StartKernPairs 998 +KPX A C -51 +KPX A Ccedilla -57 +KPX A G -57 +KPX A O -60 +KPX A Odieresis -60 +KPX A Q -60 +KPX A T -54 +KPX A U -62 +KPX A Uacute -62 +KPX A Ucircumflex -62 +KPX A Udieresis -62 +KPX A Ugrave -62 +KPX A V -131 +KPX A W -113 +KPX A Y -81 +KPX A a -6 +KPX A b -20 +KPX A c -29 +KPX A ccedilla -29 +KPX A comma -3 +KPX A d -28 +KPX A e -27 +KPX A g -20 +KPX A guillemotleft -64 +KPX A guilsinglleft -74 +KPX A hyphen -23 +KPX A o -40 +KPX A period -10 +KPX A q -21 +KPX A quotedblright -91 +KPX A quoteright -116 +KPX A t -20 +KPX A u -28 +KPX A v -81 +KPX A w -73 +KPX A y -83 +KPX Aacute C -51 +KPX Aacute G -57 +KPX Aacute O -60 +KPX Aacute Q -60 +KPX Aacute T -54 +KPX Aacute U -62 +KPX Aacute V -131 +KPX Aacute W -113 +KPX Aacute Y -81 +KPX Aacute a -6 +KPX Aacute b -20 +KPX Aacute c -29 +KPX Aacute comma -3 +KPX Aacute d -28 +KPX Aacute e -27 +KPX Aacute g -20 +KPX Aacute guillemotleft -64 +KPX Aacute guilsinglleft -74 +KPX Aacute hyphen -23 +KPX Aacute o -40 +KPX Aacute period -10 +KPX Aacute q -21 +KPX Aacute quoteright -116 +KPX Aacute t -20 +KPX Aacute u -28 +KPX Aacute v -81 +KPX Aacute w -73 +KPX Aacute y -83 +KPX Acircumflex C -51 +KPX Acircumflex G -57 +KPX Acircumflex O -60 +KPX Acircumflex Q -60 +KPX Acircumflex T -54 +KPX Acircumflex U -62 +KPX Acircumflex V -131 +KPX Acircumflex W -113 +KPX Acircumflex Y -81 +KPX Acircumflex comma -3 +KPX Acircumflex period -10 +KPX Adieresis C -51 +KPX Adieresis G -57 +KPX Adieresis O -60 +KPX Adieresis Q -60 +KPX Adieresis T -54 +KPX Adieresis U -62 +KPX Adieresis V -131 +KPX Adieresis W -113 +KPX Adieresis Y -81 +KPX Adieresis a -6 +KPX Adieresis b -20 +KPX Adieresis c -29 +KPX Adieresis comma -3 +KPX Adieresis d -28 +KPX Adieresis g -20 +KPX Adieresis guillemotleft -64 +KPX Adieresis guilsinglleft -74 +KPX Adieresis hyphen -23 +KPX Adieresis o -40 +KPX Adieresis period -10 +KPX Adieresis q -21 +KPX Adieresis quotedblright -91 +KPX Adieresis quoteright -116 +KPX Adieresis t -20 +KPX Adieresis u -28 +KPX Adieresis v -81 +KPX Adieresis w -73 +KPX Adieresis y -83 +KPX Agrave C -51 +KPX Agrave G -57 +KPX Agrave O -60 +KPX Agrave Q -60 +KPX Agrave T -54 +KPX Agrave U -62 +KPX Agrave V -131 +KPX Agrave W -113 +KPX Agrave Y -81 +KPX Agrave comma -3 +KPX Agrave period -10 +KPX Aring C -51 +KPX Aring G -57 +KPX Aring O -60 +KPX Aring Q -60 +KPX Aring T -54 +KPX Aring U -62 +KPX Aring V -131 +KPX Aring W -113 +KPX Aring Y -81 +KPX Aring a -6 +KPX Aring b -20 +KPX Aring c -29 +KPX Aring comma -3 +KPX Aring d -28 +KPX Aring e -27 +KPX Aring g -20 +KPX Aring guillemotleft -64 +KPX Aring guilsinglleft -74 +KPX Aring hyphen -23 +KPX Aring o -40 +KPX Aring period -10 +KPX Aring q -21 +KPX Aring quotedblright -91 +KPX Aring quoteright -116 +KPX Aring t -20 +KPX Aring u -28 +KPX Aring v -81 +KPX Aring w -73 +KPX Aring y -83 +KPX Atilde C -51 +KPX Atilde G -57 +KPX Atilde O -60 +KPX Atilde Q -60 +KPX Atilde T -54 +KPX Atilde U -62 +KPX Atilde V -131 +KPX Atilde W -113 +KPX Atilde Y -81 +KPX Atilde comma -3 +KPX Atilde period -10 +KPX B A -51 +KPX B AE -44 +KPX B Aacute -51 +KPX B Acircumflex -51 +KPX B Adieresis -51 +KPX B Aring -51 +KPX B Atilde -51 +KPX B O -24 +KPX B OE -18 +KPX B Oacute -24 +KPX B Ocircumflex -24 +KPX B Odieresis -24 +KPX B Ograve -24 +KPX B Oslash -23 +KPX B V -65 +KPX B W -59 +KPX B Y -68 +KPX C A -23 +KPX C AE -15 +KPX C Aacute -23 +KPX C Adieresis -23 +KPX C Aring -23 +KPX C H -2 +KPX C K -10 +KPX C O -12 +KPX C Oacute -12 +KPX C Odieresis -12 +KPX Ccedilla A -27 +KPX D A -67 +KPX D Aacute -67 +KPX D Acircumflex -67 +KPX D Adieresis -67 +KPX D Agrave -67 +KPX D Aring -67 +KPX D Atilde -67 +KPX D J -41 +KPX D T -10 +KPX D V -71 +KPX D W -57 +KPX D X -64 +KPX D Y -74 +KPX F A -71 +KPX F Aacute -71 +KPX F Acircumflex -71 +KPX F Adieresis -71 +KPX F Agrave -71 +KPX F Aring -71 +KPX F Atilde -71 +KPX F J -13 +KPX F O -10 +KPX F Odieresis -10 +KPX F a -34 +KPX F aacute -34 +KPX F adieresis -10 +KPX F ae -36 +KPX F aring -34 +KPX F comma -51 +KPX F e -19 +KPX F eacute -19 +KPX F hyphen 3 +KPX F i -13 +KPX F j -20 +KPX F o -21 +KPX F oacute -21 +KPX F odieresis -21 +KPX F oe -21 +KPX F oslash -21 +KPX F period -58 +KPX F r -10 +KPX F u -11 +KPX G A -26 +KPX G AE -19 +KPX G Aacute -26 +KPX G Acircumflex -26 +KPX G Adieresis -26 +KPX G Agrave -26 +KPX G Aring -26 +KPX G Atilde -26 +KPX G T -21 +KPX G V -23 +KPX G W -18 +KPX G Y -26 +KPX J A -53 +KPX J AE -46 +KPX J Adieresis -53 +KPX J Aring -53 +KPX K C -43 +KPX K G -49 +KPX K O -51 +KPX K OE -44 +KPX K Oacute -51 +KPX K Odieresis -51 +KPX K S 1 +KPX K T 0 +KPX K a 2 +KPX K adieresis 2 +KPX K ae 0 +KPX K aring 2 +KPX K e -19 +KPX K hyphen -63 +KPX K o -31 +KPX K oacute -31 +KPX K odieresis -31 +KPX K u -19 +KPX K udieresis -19 +KPX K y -86 +KPX L A 0 +KPX L AE 6 +KPX L Aacute 0 +KPX L Adieresis 0 +KPX L Aring 0 +KPX L C 2 +KPX L Ccedilla 0 +KPX L G 0 +KPX L O -3 +KPX L Oacute -3 +KPX L Ocircumflex -3 +KPX L Odieresis -3 +KPX L Ograve -3 +KPX L Otilde -3 +KPX L S 5 +KPX L T -73 +KPX L U -26 +KPX L Udieresis -26 +KPX L V -115 +KPX L W -89 +KPX L Y -100 +KPX L hyphen 25 +KPX L quotedblright -100 +KPX L quoteright -125 +KPX L u -10 +KPX L udieresis -10 +KPX L y -56 +KPX N A -28 +KPX N AE -21 +KPX N Aacute -28 +KPX N Adieresis -28 +KPX N Aring -28 +KPX N C -16 +KPX N Ccedilla -16 +KPX N G -19 +KPX N O -20 +KPX N Oacute -20 +KPX N Odieresis -20 +KPX N a -27 +KPX N aacute -27 +KPX N adieresis -27 +KPX N ae -27 +KPX N aring -27 +KPX N comma -14 +KPX N e -17 +KPX N eacute -17 +KPX N o -21 +KPX N oacute -21 +KPX N odieresis -21 +KPX N oslash -20 +KPX N period -21 +KPX N u -25 +KPX N udieresis -25 +KPX O A -58 +KPX O AE -50 +KPX O Aacute -58 +KPX O Adieresis -58 +KPX O Aring -58 +KPX O T -9 +KPX O V -69 +KPX O W -54 +KPX O X -55 +KPX O Y -72 +KPX Oacute A -58 +KPX Oacute T -9 +KPX Oacute V -69 +KPX Oacute W -54 +KPX Oacute Y -72 +KPX Ocircumflex T -9 +KPX Ocircumflex V -69 +KPX Ocircumflex Y -72 +KPX Odieresis A -58 +KPX Odieresis T -9 +KPX Odieresis V -69 +KPX Odieresis W -54 +KPX Odieresis X -55 +KPX Odieresis Y -72 +KPX Ograve T -9 +KPX Ograve V -69 +KPX Ograve Y -72 +KPX Oslash A -58 +KPX Otilde T -9 +KPX Otilde V -69 +KPX Otilde Y -72 +KPX P A -90 +KPX P AE -91 +KPX P Aacute -90 +KPX P Adieresis -90 +KPX P Aring -90 +KPX P J -52 +KPX P a -17 +KPX P aacute -17 +KPX P adieresis -17 +KPX P ae -18 +KPX P aring -17 +KPX P comma -94 +KPX P e -23 +KPX P eacute -23 +KPX P hyphen -37 +KPX P o -25 +KPX P oacute -25 +KPX P odieresis -25 +KPX P oe -25 +KPX P oslash -25 +KPX P period -101 +KPX R C -41 +KPX R Ccedilla -41 +KPX R G -44 +KPX R O -45 +KPX R OE -39 +KPX R Oacute -45 +KPX R Odieresis -45 +KPX R T -34 +KPX R U -56 +KPX R Udieresis -55 +KPX R V -73 +KPX R W -67 +KPX R Y -76 +KPX R a -2 +KPX R aacute -2 +KPX R adieresis -2 +KPX R ae -5 +KPX R aring -2 +KPX R e -23 +KPX R eacute -23 +KPX R hyphen -52 +KPX R o -36 +KPX R oacute -36 +KPX R odieresis -36 +KPX R oe -31 +KPX R u -24 +KPX R uacute -24 +KPX R udieresis -24 +KPX R y -37 +KPX S A -37 +KPX S AE -30 +KPX S Aacute -37 +KPX S Adieresis -37 +KPX S Aring -37 +KPX S T -19 +KPX S V -27 +KPX S W -21 +KPX S Y -30 +KPX S t -20 +KPX T A -53 +KPX T AE -45 +KPX T Aacute -53 +KPX T Acircumflex -53 +KPX T Adieresis -53 +KPX T Agrave -53 +KPX T Aring -53 +KPX T Atilde -53 +KPX T C -8 +KPX T G -11 +KPX T J -18 +KPX T O -10 +KPX T OE -4 +KPX T Oacute -10 +KPX T Ocircumflex -10 +KPX T Odieresis -10 +KPX T Ograve -10 +KPX T Oslash -10 +KPX T Otilde -10 +KPX T S -10 +KPX T V 14 +KPX T W 20 +KPX T Y 11 +KPX T a -77 +KPX T ae -80 +KPX T c -87 +KPX T colon -87 +KPX T comma -74 +KPX T e -86 +KPX T g -91 +KPX T guillemotleft -114 +KPX T guilsinglleft -125 +KPX T hyphen -73 +KPX T i -18 +KPX T j -25 +KPX T o -90 +KPX T oslash -89 +KPX T period -82 +KPX T r -50 +KPX T s -73 +KPX T semicolon -87 +KPX T u -93 +KPX T v -105 +KPX T w -106 +KPX T y -102 +KPX U A -65 +KPX U AE -58 +KPX U Aacute -65 +KPX U Acircumflex -65 +KPX U Adieresis -65 +KPX U Aring -65 +KPX U Atilde -65 +KPX U comma -31 +KPX U m -33 +KPX U n -31 +KPX U p -28 +KPX U period -37 +KPX U r -27 +KPX Uacute A -65 +KPX Uacute comma -31 +KPX Uacute m -33 +KPX Uacute n -31 +KPX Uacute p -28 +KPX Uacute period -37 +KPX Uacute r -27 +KPX Ucircumflex A -65 +KPX Udieresis A -65 +KPX Udieresis b 21 +KPX Udieresis comma -31 +KPX Udieresis m -33 +KPX Udieresis n -31 +KPX Udieresis p -28 +KPX Udieresis period -37 +KPX Udieresis r -27 +KPX Ugrave A -65 +KPX V A -124 +KPX V AE -104 +KPX V Aacute -124 +KPX V Acircumflex -124 +KPX V Adieresis -124 +KPX V Agrave -124 +KPX V Aring -124 +KPX V Atilde -124 +KPX V C -63 +KPX V G -66 +KPX V O -67 +KPX V Oacute -67 +KPX V Ocircumflex -67 +KPX V Odieresis -67 +KPX V Ograve -67 +KPX V Oslash -65 +KPX V Otilde -67 +KPX V S -47 +KPX V T 10 +KPX V a -88 +KPX V ae -89 +KPX V colon -90 +KPX V comma -105 +KPX V e -85 +KPX V g -101 +KPX V guillemotleft -109 +KPX V guilsinglleft -119 +KPX V hyphen -69 +KPX V i -20 +KPX V o -89 +KPX V oslash -88 +KPX V period -112 +KPX V r -56 +KPX V semicolon -89 +KPX V u -51 +KPX V y -54 +KPX W A -113 +KPX W AE -98 +KPX W Aacute -113 +KPX W Acircumflex -113 +KPX W Adieresis -113 +KPX W Agrave -113 +KPX W Aring -113 +KPX W Atilde -113 +KPX W C -53 +KPX W G -56 +KPX W O -56 +KPX W Oacute -56 +KPX W Ocircumflex -56 +KPX W Odieresis -56 +KPX W Ograve -56 +KPX W Oslash -55 +KPX W Otilde -56 +KPX W S -41 +KPX W T 17 +KPX W a -80 +KPX W ae -81 +KPX W colon -81 +KPX W comma -89 +KPX W e -72 +KPX W g -91 +KPX W guillemotleft -97 +KPX W guilsinglleft -107 +KPX W hyphen -56 +KPX W i -13 +KPX W o -76 +KPX W oslash -75 +KPX W period -96 +KPX W r -47 +KPX W semicolon -81 +KPX W u -43 +KPX W y -45 +KPX X C -52 +KPX X O -61 +KPX X Odieresis -61 +KPX X Q -61 +KPX X a -7 +KPX X e -28 +KPX X hyphen -54 +KPX X o -41 +KPX X u -29 +KPX X y -96 +KPX Y A -74 +KPX Y AE -67 +KPX Y Aacute -74 +KPX Y Acircumflex -74 +KPX Y Adieresis -74 +KPX Y Agrave -74 +KPX Y Aring -74 +KPX Y Atilde -74 +KPX Y C -68 +KPX Y G -71 +KPX Y O -69 +KPX Y Oacute -69 +KPX Y Ocircumflex -69 +KPX Y Odieresis -69 +KPX Y Ograve -69 +KPX Y Oslash -69 +KPX Y Otilde -69 +KPX Y S -44 +KPX Y T 13 +KPX Y a -99 +KPX Y ae -102 +KPX Y colon -109 +KPX Y comma -96 +KPX Y e -103 +KPX Y g -113 +KPX Y guillemotleft -135 +KPX Y guilsinglleft -145 +KPX Y hyphen -98 +KPX Y i -17 +KPX Y o -107 +KPX Y oslash -106 +KPX Y p -88 +KPX Y period -103 +KPX Y semicolon -108 +KPX Y u -78 +KPX Y v -86 +KPX Z v -48 +KPX Z y -50 +KPX a j -26 +KPX a quoteright -40 +KPX a v -30 +KPX a w -31 +KPX a y -32 +KPX aacute v -30 +KPX aacute w -31 +KPX aacute y -32 +KPX adieresis v -30 +KPX adieresis w -31 +KPX adieresis y -32 +KPX ae v -27 +KPX ae w -28 +KPX ae y -30 +KPX agrave v -30 +KPX agrave w -31 +KPX agrave y -32 +KPX aring v -30 +KPX aring w -31 +KPX aring y -32 +KPX b v -29 +KPX b w -30 +KPX b y -32 +KPX c h -15 +KPX c k -19 +KPX comma one -52 +KPX comma quotedblright -29 +KPX comma quoteright -53 +KPX e quoteright -30 +KPX e t -10 +KPX e v -27 +KPX e w -28 +KPX e x -35 +KPX e y -30 +KPX eacute v -27 +KPX eacute w -28 +KPX eacute y -30 +KPX ecircumflex v -27 +KPX ecircumflex w -28 +KPX ecircumflex y -30 +KPX eight four 0 +KPX eight one -64 +KPX eight seven -15 +KPX f a -25 +KPX f aacute -25 +KPX f adieresis 12 +KPX f ae -25 +KPX f aring -6 +KPX f e -34 +KPX f eacute -34 +KPX f f 6 +KPX f i 15 +KPX f j 8 +KPX f l 44 +KPX f o -38 +KPX f oacute -38 +KPX f odieresis -1 +KPX f oe -36 +KPX f oslash -37 +KPX f quoteright 17 +KPX f s -21 +KPX f t 10 +KPX five four -8 +KPX five one -70 +KPX five seven -36 +KPX four four 14 +KPX four one -75 +KPX four seven -42 +KPX g a -17 +KPX g adieresis -17 +KPX g ae -18 +KPX g aring -17 +KPX g e -25 +KPX g eacute -25 +KPX g l -7 +KPX g oacute -26 +KPX g odieresis -26 +KPX g r 11 +KPX guillemotright A -62 +KPX guillemotright AE -61 +KPX guillemotright Aacute -62 +KPX guillemotright Adieresis -62 +KPX guillemotright Aring -62 +KPX guillemotright T -114 +KPX guillemotright V -117 +KPX guillemotright W -95 +KPX guillemotright Y -138 +KPX guilsinglright A -72 +KPX guilsinglright AE -71 +KPX guilsinglright Aacute -72 +KPX guilsinglright Adieresis -72 +KPX guilsinglright Aring -72 +KPX guilsinglright T -124 +KPX guilsinglright V -128 +KPX guilsinglright W -105 +KPX guilsinglright Y -149 +KPX h quoteright -38 +KPX h y -30 +KPX hyphen A -26 +KPX hyphen AE -25 +KPX hyphen Aacute -26 +KPX hyphen Adieresis -26 +KPX hyphen Aring -26 +KPX hyphen T -77 +KPX hyphen V -82 +KPX hyphen W -59 +KPX hyphen Y -108 +KPX i T -28 +KPX i j -36 +KPX k a 1 +KPX k aacute 1 +KPX k adieresis 1 +KPX k ae -1 +KPX k aring 1 +KPX k comma 4 +KPX k e -19 +KPX k eacute -19 +KPX k g -12 +KPX k hyphen -65 +KPX k o -32 +KPX k oacute -32 +KPX k odieresis -32 +KPX k period -2 +KPX k s 5 +KPX k u 14 +KPX k udieresis 14 +KPX l v -28 +KPX l y -25 +KPX m p -9 +KPX m v -30 +KPX m w -31 +KPX m y -31 +KPX n T -55 +KPX n p -13 +KPX n quoteright -39 +KPX n v -30 +KPX n w -31 +KPX n y -31 +KPX nine four -7 +KPX nine one -63 +KPX nine seven -6 +KPX o T -91 +KPX o quoteright -34 +KPX o t -9 +KPX o v -36 +KPX o w -36 +KPX o x -36 +KPX o y -41 +KPX oacute v -36 +KPX oacute w -36 +KPX oacute y -41 +KPX ocircumflex t -9 +KPX odieresis t -9 +KPX odieresis v -36 +KPX odieresis w -36 +KPX odieresis x -36 +KPX odieresis y -41 +KPX ograve v -36 +KPX ograve w -36 +KPX ograve y -41 +KPX one comma -48 +KPX one eight -68 +KPX one five -37 +KPX one four -72 +KPX one nine -61 +KPX one one -78 +KPX one period -55 +KPX one seven -78 +KPX one six -66 +KPX one three -41 +KPX one two -34 +KPX one zero -54 +KPX p t -6 +KPX p y -28 +KPX period one -61 +KPX period quotedblright -33 +KPX period quoteright -58 +KPX q c -7 +KPX q u -12 +KPX quotedblbase A 12 +KPX quotedblbase AE 19 +KPX quotedblbase T -60 +KPX quotedblbase V -104 +KPX quotedblbase W -76 +KPX quotedblbase Y -87 +KPX quotedblleft A -86 +KPX quotedblleft AE -91 +KPX quotedblleft Aacute -86 +KPX quotedblleft Adieresis -86 +KPX quotedblleft Aring -86 +KPX quotedblleft T 14 +KPX quotedblleft V 1 +KPX quotedblleft W 7 +KPX quotedblleft Y -1 +KPX quotedblright A -94 +KPX quotedblright AE -99 +KPX quotedblright Aacute -94 +KPX quotedblright Adieresis -94 +KPX quotedblright Aring -94 +KPX quotedblright T 11 +KPX quotedblright V 0 +KPX quotedblright W 6 +KPX quotedblright Y -2 +KPX quoteleft A -110 +KPX quoteleft AE -115 +KPX quoteleft Aacute -110 +KPX quoteleft Adieresis -110 +KPX quoteleft Aring -110 +KPX quoteleft T -9 +KPX quoteleft V -23 +KPX quoteleft W -17 +KPX quoteleft Y -26 +KPX quoteright A -130 +KPX quoteright AE -135 +KPX quoteright Aacute -130 +KPX quoteright Adieresis -130 +KPX quoteright Aring -130 +KPX quoteright comma -71 +KPX quoteright d -56 +KPX quoteright o -54 +KPX quoteright period -78 +KPX quoteright r -44 +KPX quoteright s -47 +KPX quoteright t -43 +KPX quoteright v -47 +KPX quoteright w -47 +KPX quoteright y -45 +KPX r a -1 +KPX r aacute -1 +KPX r acircumflex -1 +KPX r adieresis -1 +KPX r ae -3 +KPX r agrave -1 +KPX r aring -1 +KPX r c -8 +KPX r ccedilla -8 +KPX r colon -7 +KPX r comma -41 +KPX r d -10 +KPX r e -6 +KPX r eacute -6 +KPX r ecircumflex -6 +KPX r egrave -6 +KPX r f 19 +KPX r g -15 +KPX r h -6 +KPX r hyphen -46 +KPX r i 20 +KPX r j 14 +KPX r k -10 +KPX r l -18 +KPX r m 20 +KPX r n 22 +KPX r o -8 +KPX r oacute -8 +KPX r ocircumflex -8 +KPX r odieresis -8 +KPX r oe -7 +KPX r ograve -8 +KPX r oslash -7 +KPX r p 25 +KPX r period -48 +KPX r q -10 +KPX r quoteright -19 +KPX r r 26 +KPX r s 0 +KPX r semicolon -7 +KPX r t 23 +KPX r u 19 +KPX r v 20 +KPX r w 19 +KPX r x 17 +KPX r y 22 +KPX r z 2 +KPX s quoteright -38 +KPX s t -15 +KPX seven colon -68 +KPX seven comma -72 +KPX seven eight -40 +KPX seven five -59 +KPX seven four -63 +KPX seven one -56 +KPX seven period -79 +KPX seven seven -20 +KPX seven six -46 +KPX seven three -35 +KPX seven two -31 +KPX six four 12 +KPX six one -74 +KPX six seven -29 +KPX t S 2 +KPX t a 10 +KPX t aacute 10 +KPX t adieresis 10 +KPX t ae 9 +KPX t aring 10 +KPX t colon -8 +KPX t e 0 +KPX t eacute 0 +KPX t h 10 +KPX t o -8 +KPX t oacute -8 +KPX t odieresis -8 +KPX t quoteright -29 +KPX t semicolon -8 +KPX three four -6 +KPX three one -75 +KPX three seven -28 +KPX two four 0 +KPX two one -60 +KPX two seven -16 +KPX u quoteright -36 +KPX v a -24 +KPX v aacute -24 +KPX v acircumflex -24 +KPX v adieresis -24 +KPX v ae -24 +KPX v agrave -24 +KPX v aring -24 +KPX v atilde -24 +KPX v c -37 +KPX v colon -20 +KPX v comma -69 +KPX v e -36 +KPX v eacute -36 +KPX v ecircumflex -36 +KPX v egrave -36 +KPX v g -41 +KPX v hyphen -28 +KPX v l -31 +KPX v o -38 +KPX v oacute -38 +KPX v odieresis -38 +KPX v ograve -38 +KPX v oslash -38 +KPX v period -76 +KPX v s -21 +KPX v semicolon -20 +KPX w a -27 +KPX w aacute -27 +KPX w acircumflex -27 +KPX w adieresis -27 +KPX w ae -27 +KPX w agrave -27 +KPX w aring -27 +KPX w atilde -27 +KPX w c -33 +KPX w colon -23 +KPX w comma -64 +KPX w e -31 +KPX w eacute -31 +KPX w ecircumflex -31 +KPX w egrave -31 +KPX w g -43 +KPX w hyphen -24 +KPX w l -33 +KPX w o -35 +KPX w oacute -35 +KPX w odieresis -35 +KPX w ograve -35 +KPX w oslash -34 +KPX w period -71 +KPX w s -23 +KPX w semicolon -23 +KPX x a -11 +KPX x c -34 +KPX x e -32 +KPX x eacute -32 +KPX x o -45 +KPX x q -26 +KPX y a -32 +KPX y aacute -32 +KPX y acircumflex -32 +KPX y adieresis -32 +KPX y ae -31 +KPX y agrave -32 +KPX y aring -32 +KPX y atilde -32 +KPX y c -37 +KPX y colon -23 +KPX y comma -66 +KPX y e -35 +KPX y eacute -35 +KPX y ecircumflex -35 +KPX y egrave -35 +KPX y g -48 +KPX y hyphen -27 +KPX y l -32 +KPX y o -39 +KPX y oacute -39 +KPX y odieresis -39 +KPX y ograve -39 +KPX y oslash -38 +KPX y period -73 +KPX y s -26 +KPX y semicolon -23 +KPX zero four 12 +KPX zero one -55 +KPX zero seven -5 +EndKernPairs +EndKernData +EndFontMetrics diff --git a/Master/xemtex/gsfonts/n021003l.pfb b/Master/xemtex/gsfonts/n021003l.pfb new file mode 100644 index 00000000000..68f0d5e134c Binary files /dev/null and b/Master/xemtex/gsfonts/n021003l.pfb differ diff --git a/Master/xemtex/gsfonts/n021003l.pfm b/Master/xemtex/gsfonts/n021003l.pfm new file mode 100644 index 00000000000..c5f29ee5fb1 Binary files /dev/null and b/Master/xemtex/gsfonts/n021003l.pfm differ diff --git a/Master/xemtex/gsfonts/n021004l.afm b/Master/xemtex/gsfonts/n021004l.afm new file mode 100644 index 00000000000..9a1037594bb --- /dev/null +++ b/Master/xemtex/gsfonts/n021004l.afm @@ -0,0 +1,1341 @@ +StartFontMetrics 3.0 +Comment Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development +Comment Creation Date: 12/22/1999 +Comment See the file PUBLIC (Aladdin Free Public License) for license conditions. +FontName NimbusRomNo9L-Medi +FullName Nimbus Roman No9 L Medium +FamilyName Nimbus Roman No9 L +Weight Bold +ItalicAngle 0.0 +IsFixedPitch false +UnderlinePosition -100 +UnderlineThickness 50 +Version 1.05 +Notice (URW)++,Copyright 1999 by (URW)++ Design & Development +EncodingScheme AdobeStandardEncoding +FontBBox -168 -341 1000 960 +CapHeight 676 +XHeight 461 +Descender -205 +Ascender 676 +StartCharMetrics 316 +C 32 ; WX 250 ; N space ; B 125 0 125 0 ; +C 33 ; WX 333 ; N exclam ; B 81 -13 251 691 ; +C 34 ; WX 555 ; N quotedbl ; B 83 404 472 691 ; +C 35 ; WX 500 ; N numbersign ; B 4 0 496 700 ; +C 36 ; WX 500 ; N dollar ; B 29 -99 472 750 ; +C 37 ; WX 1000 ; N percent ; B 124 -14 877 692 ; +C 38 ; WX 833 ; N ampersand ; B 62 -16 787 691 ; +C 39 ; WX 333 ; N quoteright ; B 79 356 263 691 ; +C 40 ; WX 333 ; N parenleft ; B 46 -168 306 694 ; +C 41 ; WX 333 ; N parenright ; B 27 -168 287 694 ; +C 42 ; WX 500 ; N asterisk ; B 56 255 447 691 ; +C 43 ; WX 570 ; N plus ; B 33 0 537 506 ; +C 44 ; WX 250 ; N comma ; B 39 -180 223 155 ; +C 45 ; WX 333 ; N hyphen ; B 44 171 287 287 ; +C 46 ; WX 250 ; N period ; B 41 -13 210 156 ; +C 47 ; WX 278 ; N slash ; B -24 -19 302 691 ; +C 48 ; WX 500 ; N zero ; B 24 -13 476 688 ; +C 49 ; WX 500 ; N one ; B 65 0 442 688 ; +C 50 ; WX 500 ; N two ; B 17 0 478 688 ; +C 51 ; WX 500 ; N three ; B 16 -14 468 688 ; +C 52 ; WX 500 ; N four ; B 19 0 475 688 ; +C 53 ; WX 500 ; N five ; B 22 -8 470 676 ; +C 54 ; WX 500 ; N six ; B 28 -13 475 688 ; +C 55 ; WX 500 ; N seven ; B 17 0 477 676 ; +C 56 ; WX 500 ; N eight ; B 28 -13 472 688 ; +C 57 ; WX 500 ; N nine ; B 26 -13 473 688 ; +C 58 ; WX 333 ; N colon ; B 82 -13 251 472 ; +C 59 ; WX 333 ; N semicolon ; B 82 -180 266 472 ; +C 60 ; WX 570 ; N less ; B 31 -12 539 518 ; +C 61 ; WX 570 ; N equal ; B 33 107 537 399 ; +C 62 ; WX 570 ; N greater ; B 31 -12 539 518 ; +C 63 ; WX 500 ; N question ; B 57 -13 445 689 ; +C 64 ; WX 930 ; N at ; B 108 -19 822 691 ; +C 65 ; WX 722 ; N A ; B 9 0 689 690 ; +C 66 ; WX 667 ; N B ; B 16 0 619 676 ; +C 67 ; WX 722 ; N C ; B 49 -19 687 691 ; +C 68 ; WX 722 ; N D ; B 14 0 690 676 ; +C 69 ; WX 667 ; N E ; B 16 0 641 676 ; +C 70 ; WX 611 ; N F ; B 16 0 583 676 ; +C 71 ; WX 778 ; N G ; B 37 -19 755 691 ; +C 72 ; WX 778 ; N H ; B 21 0 759 676 ; +C 73 ; WX 389 ; N I ; B 20 0 370 676 ; +C 74 ; WX 500 ; N J ; B 3 -96 479 676 ; +C 75 ; WX 778 ; N K ; B 30 0 769 676 ; +C 76 ; WX 667 ; N L ; B 19 0 638 676 ; +C 77 ; WX 944 ; N M ; B 14 0 921 676 ; +C 78 ; WX 722 ; N N ; B 16 -18 701 676 ; +C 79 ; WX 778 ; N O ; B 35 -19 743 691 ; +C 80 ; WX 611 ; N P ; B 16 0 600 676 ; +C 81 ; WX 778 ; N Q ; B 35 -176 743 691 ; +C 82 ; WX 722 ; N R ; B 26 0 715 676 ; +C 83 ; WX 556 ; N S ; B 35 -19 513 692 ; +C 84 ; WX 667 ; N T ; B 31 0 636 676 ; +C 85 ; WX 722 ; N U ; B 16 -19 701 676 ; +C 86 ; WX 722 ; N V ; B 16 -18 701 676 ; +C 87 ; WX 1000 ; N W ; B 19 -15 981 676 ; +C 88 ; WX 722 ; N X ; B 16 0 699 676 ; +C 89 ; WX 722 ; N Y ; B 15 0 699 676 ; +C 90 ; WX 667 ; N Z ; B 28 0 634 676 ; +C 91 ; WX 333 ; N bracketleft ; B 67 -149 301 678 ; +C 92 ; WX 278 ; N backslash ; B -25 -19 303 691 ; +C 93 ; WX 333 ; N bracketright ; B 32 -149 266 678 ; +C 94 ; WX 581 ; N asciicircum ; B 73 311 509 676 ; +C 95 ; WX 500 ; N underscore ; B 0 -125 500 -75 ; +C 96 ; WX 333 ; N quoteleft ; B 70 356 254 691 ; +C 97 ; WX 500 ; N a ; B 25 -14 488 473 ; +C 98 ; WX 556 ; N b ; B 17 -14 521 676 ; +C 99 ; WX 444 ; N c ; B 25 -14 430 473 ; +C 100 ; WX 556 ; N d ; B 25 -14 534 676 ; +C 101 ; WX 444 ; N e ; B 25 -14 426 473 ; +C 102 ; WX 333 ; N f ; B 14 0 389 691 ; +C 103 ; WX 500 ; N g ; B 28 -206 483 473 ; +C 104 ; WX 556 ; N h ; B 16 0 534 676 ; +C 105 ; WX 278 ; N i ; B 16 0 255 691 ; +C 106 ; WX 333 ; N j ; B -57 -203 263 691 ; +C 107 ; WX 556 ; N k ; B 22 0 543 676 ; +C 108 ; WX 278 ; N l ; B 16 0 255 676 ; +C 109 ; WX 833 ; N m ; B 16 0 814 473 ; +C 110 ; WX 556 ; N n ; B 21 0 539 473 ; +C 111 ; WX 500 ; N o ; B 25 -14 476 473 ; +C 112 ; WX 556 ; N p ; B 19 -205 524 473 ; +C 113 ; WX 556 ; N q ; B 34 -205 536 473 ; +C 114 ; WX 444 ; N r ; B 29 0 434 473 ; +C 115 ; WX 389 ; N s ; B 25 -14 361 473 ; +C 116 ; WX 333 ; N t ; B 20 -12 332 630 ; +C 117 ; WX 556 ; N u ; B 16 -14 537 461 ; +C 118 ; WX 500 ; N v ; B 21 -14 485 461 ; +C 119 ; WX 722 ; N w ; B 23 -14 707 461 ; +C 120 ; WX 500 ; N x ; B 12 0 484 461 ; +C 121 ; WX 500 ; N y ; B 16 -205 480 461 ; +C 122 ; WX 444 ; N z ; B 21 0 420 461 ; +C 123 ; WX 394 ; N braceleft ; B 22 -175 340 698 ; +C 124 ; WX 220 ; N bar ; B 66 -19 154 691 ; +C 125 ; WX 394 ; N braceright ; B 54 -175 372 698 ; +C 126 ; WX 520 ; N asciitilde ; B 29 175 491 331 ; +C 161 ; WX 333 ; N exclamdown ; B 82 -203 252 501 ; +C 162 ; WX 500 ; N cent ; B 53 -140 458 588 ; +C 163 ; WX 500 ; N sterling ; B 21 -14 477 684 ; +C 164 ; WX 167 ; N fraction ; B -168 -12 329 688 ; +C 165 ; WX 500 ; N yen ; B -64 0 547 676 ; +C 166 ; WX 500 ; N florin ; B 0 -155 498 706 ; +C 167 ; WX 500 ; N section ; B 57 -132 443 691 ; +C 168 ; WX 500 ; N currency ; B -26 61 526 613 ; +C 169 ; WX 278 ; N quotesingle ; B 75 404 204 691 ; +C 170 ; WX 500 ; N quotedblleft ; B 32 356 486 691 ; +C 171 ; WX 500 ; N guillemotleft ; B 23 36 473 415 ; +C 172 ; WX 333 ; N guilsinglleft ; B 51 36 305 415 ; +C 173 ; WX 333 ; N guilsinglright ; B 28 36 282 415 ; +C 174 ; WX 556 ; N fi ; B 14 0 536 691 ; +C 175 ; WX 556 ; N fl ; B 14 0 536 691 ; +C 177 ; WX 500 ; N endash ; B 0 181 500 271 ; +C 178 ; WX 500 ; N dagger ; B 47 -134 453 691 ; +C 179 ; WX 500 ; N daggerdbl ; B 45 -132 456 691 ; +C 180 ; WX 250 ; N periodcentered ; B 41 248 210 417 ; +C 182 ; WX 540 ; N paragraph ; B 0 -186 519 676 ; +C 183 ; WX 350 ; N bullet ; B 35 198 315 478 ; +C 184 ; WX 333 ; N quotesinglbase ; B 79 -180 263 155 ; +C 185 ; WX 500 ; N quotedblbase ; B 14 -180 468 155 ; +C 186 ; WX 500 ; N quotedblright ; B 14 356 468 691 ; +C 187 ; WX 500 ; N guillemotright ; B 27 36 477 415 ; +C 188 ; WX 1000 ; N ellipsis ; B 82 -13 917 156 ; +C 189 ; WX 1000 ; N perthousand ; B 7 -29 995 706 ; +C 191 ; WX 500 ; N questiondown ; B 55 -201 443 501 ; +C 193 ; WX 333 ; N grave ; B 8 528 246 713 ; +C 194 ; WX 333 ; N acute ; B 86 528 324 713 ; +C 195 ; WX 333 ; N circumflex ; B -2 528 335 704 ; +C 196 ; WX 333 ; N tilde ; B -16 547 349 674 ; +C 197 ; WX 333 ; N macron ; B 1 565 331 637 ; +C 198 ; WX 333 ; N breve ; B 15 528 318 691 ; +C 199 ; WX 333 ; N dotaccent ; B 103 537 232 666 ; +C 200 ; WX 333 ; N dieresis ; B -2 537 337 666 ; +C 202 ; WX 333 ; N ring ; B 60 537 273 750 ; +C 203 ; WX 333 ; N cedilla ; B 68 -218 294 0 ; +C 205 ; WX 333 ; N hungarumlaut ; B -13 528 425 713 ; +C 206 ; WX 333 ; N ogonek ; B 90 -173 319 44 ; +C 207 ; WX 333 ; N caron ; B -2 528 335 704 ; +C 208 ; WX 1000 ; N emdash ; B 0 181 1000 271 ; +C 225 ; WX 1000 ; N AE ; B 4 0 951 676 ; +C 227 ; WX 300 ; N ordfeminine ; B -1 397 301 688 ; +C 232 ; WX 667 ; N Lslash ; B 19 0 638 676 ; +C 233 ; WX 778 ; N Oslash ; B 35 -74 743 737 ; +C 234 ; WX 1000 ; N OE ; B 22 -5 981 684 ; +C 235 ; WX 330 ; N ordmasculine ; B 18 397 312 688 ; +C 241 ; WX 722 ; N ae ; B 33 -14 693 473 ; +C 245 ; WX 278 ; N dotlessi ; B 16 0 255 461 ; +C 248 ; WX 278 ; N lslash ; B -22 0 303 676 ; +C 249 ; WX 500 ; N oslash ; B 25 -92 476 549 ; +C 250 ; WX 722 ; N oe ; B 22 -14 696 473 ; +C 251 ; WX 556 ; N germandbls ; B 19 -12 517 691 ; +C -1 ; WX 722 ; N Udieresis ; B 16 -19 701 876 ; +C -1 ; WX 722 ; N Uacute ; B 16 -19 701 923 ; +C -1 ; WX 556 ; N Scedilla ; B 35 -218 513 692 ; +C -1 ; WX 667 ; N Tcaron ; B 31 0 636 914 ; +C -1 ; WX 556 ; N Scaron ; B 35 -19 513 914 ; +C -1 ; WX 722 ; N Rcaron ; B 26 0 715 914 ; +C -1 ; WX 722 ; N Racute ; B 26 0 715 923 ; +C -1 ; WX 556 ; N Sacute ; B 35 -19 513 923 ; +C -1 ; WX 778 ; N Otilde ; B 35 -19 743 884 ; +C -1 ; WX 556 ; N ucircumflex ; B 16 -14 537 704 ; +C -1 ; WX 778 ; N Ohungarumlaut ; B 35 -19 743 923 ; +C -1 ; WX 722 ; N Uhungarumlaut ; B 16 -19 701 923 ; +C -1 ; WX 722 ; N Yacute ; B 15 0 699 923 ; +C -1 ; WX 722 ; N Eth ; B 6 0 690 676 ; +C -1 ; WX 722 ; N Dcroat ; B 6 0 690 676 ; +C -1 ; WX 667 ; N Zacute ; B 28 0 634 923 ; +C -1 ; WX 722 ; N Uring ; B 16 -19 701 960 ; +C -1 ; WX 500 ; N gbreve ; B 28 -206 483 691 ; +C -1 ; WX 444 ; N eogonek ; B 25 -173 444 473 ; +C -1 ; WX 444 ; N edotaccent ; B 25 -14 426 666 ; +C -1 ; WX 444 ; N ecaron ; B 25 -14 426 704 ; +C -1 ; WX 722 ; N Ugrave ; B 16 -19 701 923 ; +C -1 ; WX 611 ; N Thorn ; B 16 0 600 676 ; +C -1 ; WX 444 ; N eacute ; B 25 -14 426 713 ; +C -1 ; WX 444 ; N edieresis ; B 25 -14 426 666 ; +C -1 ; WX 665 ; N dcaron ; B 25 -14 665 691 ; +C -1 ; WX 444 ; N ccedilla ; B 25 -218 430 473 ; +C -1 ; WX 444 ; N ccaron ; B 25 -14 430 704 ; +C -1 ; WX 444 ; N cacute ; B 25 -14 430 713 ; +C -1 ; WX 500 ; N aogonek ; B 25 -173 500 473 ; +C -1 ; WX 500 ; N aring ; B 25 -14 488 750 ; +C -1 ; WX 500 ; N atilde ; B 25 -14 488 674 ; +C -1 ; WX 500 ; N abreve ; B 25 -14 488 691 ; +C -1 ; WX 444 ; N egrave ; B 25 -14 426 713 ; +C -1 ; WX 500 ; N agrave ; B 25 -14 488 713 ; +C -1 ; WX 500 ; N aacute ; B 25 -14 488 713 ; +C -1 ; WX 500 ; N adieresis ; B 25 -14 488 666 ; +C -1 ; WX 722 ; N Uogonek ; B 16 -173 701 676 ; +C -1 ; WX 556 ; N ugrave ; B 16 -14 537 713 ; +C -1 ; WX 556 ; N uacute ; B 16 -14 537 713 ; +C -1 ; WX 556 ; N udieresis ; B 16 -14 537 666 ; +C -1 ; WX 400 ; N tcaron ; B 20 -12 400 691 ; +C -1 ; WX 389 ; N scommaaccent ; B 25 -341 361 473 ; +C -1 ; WX 667 ; N Zcaron ; B 28 0 634 914 ; +C -1 ; WX 444 ; N ecircumflex ; B 25 -14 426 704 ; +C -1 ; WX 722 ; N Ucircumflex ; B 16 -19 701 914 ; +C -1 ; WX 500 ; N acircumflex ; B 25 -14 488 704 ; +C -1 ; WX 667 ; N Zdotaccent ; B 28 0 634 876 ; +C -1 ; WX 389 ; N scaron ; B 25 -14 363 704 ; +C -1 ; WX 722 ; N Amacron ; B 9 0 689 847 ; +C -1 ; WX 389 ; N sacute ; B 25 -14 361 713 ; +C -1 ; WX 667 ; N Tcommaaccent ; B 31 -341 636 676 ; +C -1 ; WX 722 ; N Ydieresis ; B 15 0 699 876 ; +C -1 ; WX 556 ; N thorn ; B 19 -205 524 676 ; +C -1 ; WX 667 ; N Emacron ; B 16 0 641 847 ; +C -1 ; WX 778 ; N Ograve ; B 35 -19 743 923 ; +C -1 ; WX 778 ; N Oacute ; B 35 -19 743 923 ; +C -1 ; WX 778 ; N Odieresis ; B 35 -19 743 876 ; +C -1 ; WX 722 ; N Ntilde ; B 16 -18 701 884 ; +C -1 ; WX 722 ; N Ncaron ; B 16 -18 701 914 ; +C -1 ; WX 722 ; N Nacute ; B 16 -18 701 923 ; +C -1 ; WX 667 ; N Lcaron ; B 19 0 638 691 ; +C -1 ; WX 667 ; N Lacute ; B 19 0 638 923 ; +C -1 ; WX 389 ; N Idotaccent ; B 20 0 370 876 ; +C -1 ; WX 444 ; N racute ; B 29 0 434 713 ; +C -1 ; WX 389 ; N Icircumflex ; B 20 0 370 914 ; +C -1 ; WX 500 ; N ohungarumlaut ; B 25 -14 509 713 ; +C -1 ; WX 500 ; N otilde ; B 25 -14 476 674 ; +C -1 ; WX 500 ; N Euro ; B -36 -24 478 671 ; +C -1 ; WX 500 ; N ocircumflex ; B 25 -14 476 704 ; +C -1 ; WX 300 ; N onesuperior ; B 28 275 273 688 ; +C -1 ; WX 300 ; N twosuperior ; B 0 275 300 688 ; +C -1 ; WX 300 ; N threesuperior ; B 3 268 297 688 ; +C -1 ; WX 389 ; N Igrave ; B 20 0 370 923 ; +C -1 ; WX 389 ; N Iacute ; B 20 0 370 923 ; +C -1 ; WX 389 ; N Imacron ; B 20 0 370 847 ; +C -1 ; WX 389 ; N Iogonek ; B 20 -173 505 676 ; +C -1 ; WX 389 ; N Idieresis ; B 20 0 370 876 ; +C -1 ; WX 778 ; N Gbreve ; B 37 -19 755 901 ; +C -1 ; WX 722 ; N Umacron ; B 16 -19 701 847 ; +C -1 ; WX 778 ; N Kcommaaccent ; B 30 -341 769 676 ; +C -1 ; WX 500 ; N ograve ; B 25 -14 476 713 ; +C -1 ; WX 556 ; N Scommaaccent ; B 35 -341 513 692 ; +C -1 ; WX 667 ; N Eogonek ; B 16 -173 737 676 ; +C -1 ; WX 500 ; N oacute ; B 25 -14 476 713 ; +C -1 ; WX 667 ; N Edotaccent ; B 16 0 641 876 ; +C -1 ; WX 278 ; N iogonek ; B 16 -173 388 691 ; +C -1 ; WX 500 ; N gcommaaccent ; B 28 -206 483 811 ; +C -1 ; WX 500 ; N odieresis ; B 25 -14 476 666 ; +C -1 ; WX 556 ; N ntilde ; B 21 0 539 674 ; +C -1 ; WX 556 ; N ncaron ; B 21 0 539 704 ; +C -1 ; WX 667 ; N Ecaron ; B 16 0 641 914 ; +C -1 ; WX 667 ; N Ecircumflex ; B 16 0 641 914 ; +C -1 ; WX 389 ; N scedilla ; B 25 -218 361 473 ; +C -1 ; WX 444 ; N rcaron ; B 29 0 434 704 ; +C -1 ; WX 667 ; N Egrave ; B 16 0 641 923 ; +C -1 ; WX 667 ; N Eacute ; B 16 0 641 923 ; +C -1 ; WX 778 ; N Gcommaaccent ; B 37 -341 755 691 ; +C -1 ; WX 722 ; N Rcommaaccent ; B 26 -341 715 676 ; +C -1 ; WX 667 ; N Edieresis ; B 16 0 641 876 ; +C -1 ; WX 556 ; N nacute ; B 21 0 539 713 ; +C -1 ; WX 556 ; N uogonek ; B 16 -173 556 461 ; +C -1 ; WX 556 ; N umacron ; B 16 -14 537 637 ; +C -1 ; WX 722 ; N Dcaron ; B 14 0 690 914 ; +C -1 ; WX 396 ; N lcaron ; B 16 0 396 691 ; +C -1 ; WX 722 ; N Ccaron ; B 49 -19 687 914 ; +C -1 ; WX 722 ; N Cacute ; B 49 -19 687 923 ; +C -1 ; WX 722 ; N Ccedilla ; B 49 -218 687 691 ; +C -1 ; WX 400 ; N degree ; B 57 402 343 688 ; +C -1 ; WX 722 ; N Aogonek ; B 9 -173 822 690 ; +C -1 ; WX 570 ; N minus ; B 33 209 537 297 ; +C -1 ; WX 570 ; N multiply ; B 48 16 522 490 ; +C -1 ; WX 570 ; N divide ; B 33 -31 537 537 ; +C -1 ; WX 722 ; N Aring ; B 9 0 689 948 ; +C -1 ; WX 1000 ; N trademark ; B 24 271 977 676 ; +C -1 ; WX 444 ; N rcommaaccent ; B 29 -341 434 473 ; +C -1 ; WX 278 ; N lacute ; B 16 0 297 923 ; +C -1 ; WX 500 ; N omacron ; B 25 -14 476 637 ; +C -1 ; WX 722 ; N Atilde ; B 9 0 689 884 ; +C -1 ; WX 278 ; N icircumflex ; B -36 0 301 704 ; +C -1 ; WX 278 ; N igrave ; B -26 0 255 713 ; +C -1 ; WX 556 ; N ncommaaccent ; B 21 -341 539 473 ; +C -1 ; WX 278 ; N lcommaaccent ; B 16 -341 255 676 ; +C -1 ; WX 570 ; N plusminus ; B 33 0 537 568 ; +C -1 ; WX 750 ; N onehalf ; B -7 -12 775 688 ; +C -1 ; WX 750 ; N onequarter ; B 28 -12 743 688 ; +C -1 ; WX 750 ; N threequarters ; B 23 -12 733 688 ; +C -1 ; WX 278 ; N iacute ; B 16 0 290 713 ; +C -1 ; WX 722 ; N Abreve ; B 9 0 689 901 ; +C -1 ; WX 556 ; N kcommaaccent ; B 22 -341 543 676 ; +C -1 ; WX 778 ; N Omacron ; B 35 -19 743 847 ; +C -1 ; WX 278 ; N imacron ; B -27 0 303 637 ; +C -1 ; WX 444 ; N emacron ; B 25 -14 426 637 ; +C -1 ; WX 500 ; N amacron ; B 25 -14 488 637 ; +C -1 ; WX 333 ; N tcommaaccent ; B 20 -341 332 630 ; +C -1 ; WX 500 ; N ydieresis ; B 16 -205 480 666 ; +C -1 ; WX 444 ; N zdotaccent ; B 21 0 420 666 ; +C -1 ; WX 444 ; N zcaron ; B 21 0 420 704 ; +C -1 ; WX 444 ; N zacute ; B 21 0 420 713 ; +C -1 ; WX 500 ; N yacute ; B 16 -205 480 713 ; +C -1 ; WX 556 ; N uhungarumlaut ; B 16 -14 537 713 ; +C -1 ; WX 500 ; N eth ; B 25 -14 476 691 ; +C -1 ; WX 556 ; N uring ; B 16 -14 537 750 ; +C -1 ; WX 778 ; N Ocircumflex ; B 35 -19 743 914 ; +C -1 ; WX 333 ; N commaaccent ; B 84 -341 249 -40 ; +C -1 ; WX 747 ; N copyright ; B 26 -19 721 691 ; +C -1 ; WX 747 ; N registered ; B 26 -19 721 691 ; +C -1 ; WX 722 ; N Acircumflex ; B 9 0 689 914 ; +C -1 ; WX 278 ; N idieresis ; B -36 0 303 666 ; +C -1 ; WX 494 ; N lozenge ; B 18 0 466 740 ; +C -1 ; WX 612 ; N Delta ; B 6 0 608 688 ; +C -1 ; WX 570 ; N notequal ; B 33 -13 537 519 ; +C -1 ; WX 549 ; N radical ; B -17 -35 535 916 ; +C -1 ; WX 722 ; N Agrave ; B 9 0 689 923 ; +C -1 ; WX 722 ; N Aacute ; B 9 0 689 923 ; +C -1 ; WX 570 ; N lessequal ; B 31 0 539 642 ; +C -1 ; WX 570 ; N greaterequal ; B 31 0 539 642 ; +C -1 ; WX 570 ; N logicalnot ; B 33 108 537 399 ; +C -1 ; WX 713 ; N summation ; B 14 -123 695 752 ; +C -1 ; WX 494 ; N partialdiff ; B 16 -20 472 743 ; +C -1 ; WX 722 ; N Ncommaaccent ; B 16 -341 701 676 ; +C -1 ; WX 556 ; N dcroat ; B 25 -14 534 676 ; +C -1 ; WX 220 ; N brokenbar ; B 66 -19 154 691 ; +C -1 ; WX 667 ; N Lcommaaccent ; B 19 -341 638 676 ; +C -1 ; WX 722 ; N Adieresis ; B 9 0 689 876 ; +C -1 ; WX 556 ; N mu ; B 33 -206 536 461 ; +C -1 ; WX 250 ; N .notdef ; B 125 0 125 0 ; +EndCharMetrics +StartKernData +StartKernPairs 998 +KPX A C -73 +KPX A Ccedilla -77 +KPX A G -68 +KPX A O -68 +KPX A Odieresis -68 +KPX A Q -68 +KPX A T -59 +KPX A U -66 +KPX A Uacute -66 +KPX A Ucircumflex -66 +KPX A Udieresis -66 +KPX A Ugrave -66 +KPX A V -130 +KPX A W -116 +KPX A Y -74 +KPX A a -5 +KPX A b -22 +KPX A c -35 +KPX A ccedilla -43 +KPX A comma 1 +KPX A d -28 +KPX A e -32 +KPX A g -7 +KPX A guillemotleft -53 +KPX A guilsinglleft -67 +KPX A hyphen -30 +KPX A o -37 +KPX A period 0 +KPX A q -38 +KPX A quotedblright -76 +KPX A quoteright -108 +KPX A t -27 +KPX A u -30 +KPX A v -84 +KPX A w -79 +KPX A y -83 +KPX Aacute C -73 +KPX Aacute G -68 +KPX Aacute O -68 +KPX Aacute Q -68 +KPX Aacute T -59 +KPX Aacute U -66 +KPX Aacute V -130 +KPX Aacute W -116 +KPX Aacute Y -74 +KPX Aacute a -5 +KPX Aacute b -22 +KPX Aacute c -35 +KPX Aacute comma 1 +KPX Aacute d -28 +KPX Aacute e -32 +KPX Aacute g -7 +KPX Aacute guillemotleft -53 +KPX Aacute guilsinglleft -67 +KPX Aacute hyphen -30 +KPX Aacute o -37 +KPX Aacute period 0 +KPX Aacute q -38 +KPX Aacute quoteright -108 +KPX Aacute t -27 +KPX Aacute u -30 +KPX Aacute v -84 +KPX Aacute w -79 +KPX Aacute y -83 +KPX Acircumflex C -73 +KPX Acircumflex G -68 +KPX Acircumflex O -68 +KPX Acircumflex Q -68 +KPX Acircumflex T -59 +KPX Acircumflex U -66 +KPX Acircumflex V -130 +KPX Acircumflex W -116 +KPX Acircumflex Y -74 +KPX Acircumflex comma 1 +KPX Acircumflex period 0 +KPX Adieresis C -73 +KPX Adieresis G -68 +KPX Adieresis O -68 +KPX Adieresis Q -68 +KPX Adieresis T -59 +KPX Adieresis U -66 +KPX Adieresis V -130 +KPX Adieresis W -116 +KPX Adieresis Y -74 +KPX Adieresis a -5 +KPX Adieresis b -22 +KPX Adieresis c -35 +KPX Adieresis comma 1 +KPX Adieresis d -28 +KPX Adieresis g -7 +KPX Adieresis guillemotleft -53 +KPX Adieresis guilsinglleft -67 +KPX Adieresis hyphen -30 +KPX Adieresis o -37 +KPX Adieresis period 0 +KPX Adieresis q -38 +KPX Adieresis quotedblright -76 +KPX Adieresis quoteright -108 +KPX Adieresis t -27 +KPX Adieresis u -30 +KPX Adieresis v -84 +KPX Adieresis w -79 +KPX Adieresis y -83 +KPX Agrave C -73 +KPX Agrave G -68 +KPX Agrave O -68 +KPX Agrave Q -68 +KPX Agrave T -59 +KPX Agrave U -66 +KPX Agrave V -130 +KPX Agrave W -116 +KPX Agrave Y -74 +KPX Agrave comma 1 +KPX Agrave period 0 +KPX Aring C -73 +KPX Aring G -68 +KPX Aring O -68 +KPX Aring Q -68 +KPX Aring T -59 +KPX Aring U -66 +KPX Aring V -130 +KPX Aring W -116 +KPX Aring Y -74 +KPX Aring a -5 +KPX Aring b -22 +KPX Aring c -35 +KPX Aring comma 1 +KPX Aring d -28 +KPX Aring e -32 +KPX Aring g -7 +KPX Aring guillemotleft -53 +KPX Aring guilsinglleft -67 +KPX Aring hyphen -30 +KPX Aring o -37 +KPX Aring period 0 +KPX Aring q -38 +KPX Aring quotedblright -76 +KPX Aring quoteright -108 +KPX Aring t -27 +KPX Aring u -30 +KPX Aring v -84 +KPX Aring w -79 +KPX Aring y -83 +KPX Atilde C -73 +KPX Atilde G -68 +KPX Atilde O -68 +KPX Atilde Q -68 +KPX Atilde T -59 +KPX Atilde U -66 +KPX Atilde V -130 +KPX Atilde W -116 +KPX Atilde Y -74 +KPX Atilde comma 1 +KPX Atilde period 0 +KPX B A -34 +KPX B AE -32 +KPX B Aacute -34 +KPX B Acircumflex -34 +KPX B Adieresis -34 +KPX B Aring -34 +KPX B Atilde -34 +KPX B O -12 +KPX B OE -4 +KPX B Oacute -12 +KPX B Ocircumflex -12 +KPX B Odieresis -12 +KPX B Ograve -12 +KPX B Oslash -11 +KPX B V -45 +KPX B W -46 +KPX B Y -44 +KPX C A -25 +KPX C AE -22 +KPX C Aacute -25 +KPX C Adieresis -25 +KPX C Aring -25 +KPX C H -2 +KPX C K -6 +KPX C O -14 +KPX C Oacute -14 +KPX C Odieresis -14 +KPX Ccedilla A -33 +KPX D A -55 +KPX D Aacute -55 +KPX D Acircumflex -55 +KPX D Adieresis -55 +KPX D Agrave -55 +KPX D Aring -55 +KPX D Atilde -55 +KPX D J -40 +KPX D T -7 +KPX D V -60 +KPX D W -50 +KPX D X -51 +KPX D Y -59 +KPX F A -79 +KPX F Aacute -79 +KPX F Acircumflex -79 +KPX F Adieresis -79 +KPX F Agrave -79 +KPX F Aring -79 +KPX F Atilde -79 +KPX F J -42 +KPX F O -7 +KPX F Odieresis -7 +KPX F a -50 +KPX F aacute -50 +KPX F adieresis -22 +KPX F ae -53 +KPX F aring -50 +KPX F comma -59 +KPX F e -51 +KPX F eacute -51 +KPX F hyphen -34 +KPX F i -1 +KPX F j -26 +KPX F o -54 +KPX F oacute -54 +KPX F odieresis -24 +KPX F oe -51 +KPX F oslash -53 +KPX F period -60 +KPX F r -7 +KPX F u -10 +KPX G A -27 +KPX G AE -24 +KPX G Aacute -27 +KPX G Acircumflex -27 +KPX G Adieresis -27 +KPX G Agrave -27 +KPX G Aring -27 +KPX G Atilde -27 +KPX G T -41 +KPX G V -33 +KPX G W -35 +KPX G Y -33 +KPX J A -30 +KPX J AE -27 +KPX J Adieresis -30 +KPX J Aring -30 +KPX K C -61 +KPX K G -56 +KPX K O -56 +KPX K OE -46 +KPX K Oacute -56 +KPX K Odieresis -56 +KPX K S 13 +KPX K T -2 +KPX K a 6 +KPX K adieresis 6 +KPX K ae 3 +KPX K aring 6 +KPX K e -20 +KPX K hyphen -47 +KPX K o -25 +KPX K oacute -25 +KPX K odieresis -25 +KPX K u -18 +KPX K udieresis -18 +KPX K y -83 +KPX L A -1 +KPX L AE 1 +KPX L Aacute -1 +KPX L Adieresis -1 +KPX L Aring -1 +KPX L C -11 +KPX L Ccedilla -14 +KPX L G -5 +KPX L O -5 +KPX L Oacute -5 +KPX L Ocircumflex -5 +KPX L Odieresis -5 +KPX L Ograve -5 +KPX L Otilde -5 +KPX L S 2 +KPX L T -74 +KPX L U -29 +KPX L Udieresis -29 +KPX L V -106 +KPX L W -87 +KPX L Y -89 +KPX L hyphen 24 +KPX L quotedblright -37 +KPX L quoteright -69 +KPX L u -11 +KPX L udieresis -12 +KPX L y -49 +KPX N A -19 +KPX N AE -16 +KPX N Aacute -19 +KPX N Adieresis -19 +KPX N Aring -19 +KPX N C -22 +KPX N Ccedilla -22 +KPX N G -16 +KPX N O -15 +KPX N Oacute -15 +KPX N Odieresis -15 +KPX N a -16 +KPX N aacute -16 +KPX N adieresis -16 +KPX N ae -18 +KPX N aring -16 +KPX N comma 1 +KPX N e -13 +KPX N eacute -13 +KPX N o -16 +KPX N oacute -16 +KPX N odieresis -16 +KPX N oslash -15 +KPX N period 0 +KPX N u -17 +KPX N udieresis -17 +KPX O A -55 +KPX O AE -54 +KPX O Aacute -55 +KPX O Adieresis -55 +KPX O Aring -55 +KPX O T -9 +KPX O V -60 +KPX O W -54 +KPX O X -51 +KPX O Y -59 +KPX Oacute A -55 +KPX Oacute T -9 +KPX Oacute V -60 +KPX Oacute W -54 +KPX Oacute Y -59 +KPX Ocircumflex T -9 +KPX Ocircumflex V -60 +KPX Ocircumflex Y -59 +KPX Odieresis A -55 +KPX Odieresis T -9 +KPX Odieresis V -60 +KPX Odieresis W -54 +KPX Odieresis X -51 +KPX Odieresis Y -59 +KPX Ograve T -9 +KPX Ograve V -60 +KPX Ograve Y -59 +KPX Oslash A -52 +KPX Otilde T -9 +KPX Otilde V -60 +KPX Otilde Y -59 +KPX P A -81 +KPX P AE -94 +KPX P Aacute -81 +KPX P Adieresis -81 +KPX P Aring -81 +KPX P J -68 +KPX P a -19 +KPX P aacute -19 +KPX P adieresis -19 +KPX P ae -22 +KPX P aring -19 +KPX P comma -85 +KPX P e -29 +KPX P eacute -29 +KPX P hyphen -39 +KPX P o -33 +KPX P oacute -33 +KPX P odieresis -22 +KPX P oe -30 +KPX P oslash -33 +KPX P period -86 +KPX R C -36 +KPX R Ccedilla -37 +KPX R G -30 +KPX R O -29 +KPX R OE -22 +KPX R Oacute -29 +KPX R Odieresis -29 +KPX R T -26 +KPX R U -37 +KPX R Udieresis -37 +KPX R V -53 +KPX R W -55 +KPX R Y -53 +KPX R a 7 +KPX R aacute 7 +KPX R adieresis 7 +KPX R ae 4 +KPX R aring 7 +KPX R e -19 +KPX R eacute -19 +KPX R hyphen -30 +KPX R o -24 +KPX R oacute -24 +KPX R odieresis -24 +KPX R oe -21 +KPX R u -17 +KPX R uacute -17 +KPX R udieresis -17 +KPX R y -27 +KPX S A -24 +KPX S AE -21 +KPX S Aacute -24 +KPX S Adieresis -24 +KPX S Aring -24 +KPX S T -16 +KPX S V -9 +KPX S W -10 +KPX S Y -8 +KPX S t -10 +KPX T A -46 +KPX T AE -44 +KPX T Aacute -46 +KPX T Acircumflex -46 +KPX T Adieresis -46 +KPX T Agrave -46 +KPX T Aring -46 +KPX T Atilde -46 +KPX T C -17 +KPX T G -11 +KPX T J -43 +KPX T O -9 +KPX T OE -3 +KPX T Oacute -9 +KPX T Ocircumflex -9 +KPX T Odieresis -9 +KPX T Ograve -9 +KPX T Oslash -11 +KPX T Otilde -9 +KPX T S -2 +KPX T V 11 +KPX T W 9 +KPX T Y 11 +KPX T a -65 +KPX T ae -69 +KPX T c -88 +KPX T colon -85 +KPX T comma -63 +KPX T e -85 +KPX T g -68 +KPX T guillemotleft -99 +KPX T guilsinglleft -113 +KPX T hyphen -73 +KPX T i -16 +KPX T j -40 +KPX T o -88 +KPX T oslash -87 +KPX T period -64 +KPX T r -61 +KPX T s -59 +KPX T semicolon -85 +KPX T u -89 +KPX T v -106 +KPX T w -107 +KPX T y -104 +KPX U A -54 +KPX U AE -52 +KPX U Aacute -54 +KPX U Acircumflex -54 +KPX U Adieresis -54 +KPX U Aring -54 +KPX U Atilde -54 +KPX U comma -17 +KPX U m -23 +KPX U n -25 +KPX U p -28 +KPX U period -18 +KPX U r -29 +KPX Uacute A -54 +KPX Uacute comma -17 +KPX Uacute m -23 +KPX Uacute n -25 +KPX Uacute p -28 +KPX Uacute period -18 +KPX Uacute r -29 +KPX Ucircumflex A -54 +KPX Udieresis A -54 +KPX Udieresis b 10 +KPX Udieresis comma -17 +KPX Udieresis m -23 +KPX Udieresis n -25 +KPX Udieresis p -28 +KPX Udieresis period -18 +KPX Udieresis r -29 +KPX Ugrave A -54 +KPX V A -113 +KPX V AE -113 +KPX V Aacute -113 +KPX V Acircumflex -113 +KPX V Adieresis -113 +KPX V Agrave -113 +KPX V Aring -113 +KPX V Atilde -113 +KPX V C -70 +KPX V G -64 +KPX V O -63 +KPX V Oacute -63 +KPX V Ocircumflex -63 +KPX V Odieresis -63 +KPX V Ograve -63 +KPX V Oslash -65 +KPX V Otilde -63 +KPX V S -25 +KPX V T 8 +KPX V a -87 +KPX V ae -90 +KPX V colon -94 +KPX V comma -94 +KPX V e -86 +KPX V g -86 +KPX V guillemotleft -98 +KPX V guilsinglleft -112 +KPX V hyphen -68 +KPX V i -13 +KPX V o -89 +KPX V oslash -87 +KPX V period -95 +KPX V r -60 +KPX V semicolon -94 +KPX V u -58 +KPX V y -56 +KPX W A -98 +KPX W AE -102 +KPX W Aacute -98 +KPX W Acircumflex -98 +KPX W Adieresis -98 +KPX W Agrave -98 +KPX W Aring -98 +KPX W Atilde -98 +KPX W C -58 +KPX W G -52 +KPX W O -51 +KPX W Oacute -51 +KPX W Ocircumflex -51 +KPX W Odieresis -51 +KPX W Ograve -51 +KPX W Oslash -50 +KPX W Otilde -51 +KPX W S -24 +KPX W T 9 +KPX W a -70 +KPX W ae -73 +KPX W colon -81 +KPX W comma -72 +KPX W e -67 +KPX W g -70 +KPX W guillemotleft -79 +KPX W guilsinglleft -93 +KPX W hyphen -49 +KPX W i -12 +KPX W o -70 +KPX W oslash -69 +KPX W period -73 +KPX W r -49 +KPX W semicolon -80 +KPX W u -45 +KPX W y -44 +KPX X C -63 +KPX X O -56 +KPX X Odieresis -56 +KPX X Q -57 +KPX X a 0 +KPX X e -27 +KPX X hyphen -43 +KPX X o -32 +KPX X u -25 +KPX X y -90 +KPX Y A -64 +KPX Y AE -62 +KPX Y Aacute -64 +KPX Y Acircumflex -64 +KPX Y Adieresis -64 +KPX Y Agrave -64 +KPX Y Aring -64 +KPX Y Atilde -64 +KPX Y C -71 +KPX Y G -65 +KPX Y O -64 +KPX Y Oacute -64 +KPX Y Ocircumflex -64 +KPX Y Odieresis -64 +KPX Y Ograve -64 +KPX Y Oslash -68 +KPX Y Otilde -64 +KPX Y S -26 +KPX Y T 7 +KPX Y a -83 +KPX Y ae -87 +KPX Y colon -103 +KPX Y comma -80 +KPX Y e -93 +KPX Y g -86 +KPX Y guillemotleft -111 +KPX Y guilsinglleft -125 +KPX Y hyphen -87 +KPX Y i -14 +KPX Y o -96 +KPX Y oslash -95 +KPX Y p -72 +KPX Y period -81 +KPX Y semicolon -103 +KPX Y u -76 +KPX Y v -78 +KPX Z v -45 +KPX Z y -44 +KPX a j -39 +KPX a quoteright -34 +KPX a v -39 +KPX a w -40 +KPX a y -44 +KPX aacute v -39 +KPX aacute w -40 +KPX aacute y -44 +KPX adieresis v -39 +KPX adieresis w -40 +KPX adieresis y -44 +KPX ae v -34 +KPX ae w -35 +KPX ae y -37 +KPX agrave v -39 +KPX agrave w -40 +KPX agrave y -44 +KPX aring v -39 +KPX aring w -40 +KPX aring y -44 +KPX b v -39 +KPX b w -40 +KPX b y -42 +KPX c h -17 +KPX c k -18 +KPX comma one -12 +KPX comma quotedblright 9 +KPX comma quoteright -23 +KPX e quoteright -19 +KPX e t -10 +KPX e v -29 +KPX e w -30 +KPX e x -19 +KPX e y -31 +KPX eacute v -29 +KPX eacute w -30 +KPX eacute y -31 +KPX ecircumflex v -29 +KPX ecircumflex w -30 +KPX ecircumflex y -31 +KPX eight four 11 +KPX eight one -19 +KPX eight seven 0 +KPX f a -17 +KPX f aacute -17 +KPX f adieresis 14 +KPX f ae -21 +KPX f aring -15 +KPX f e -29 +KPX f eacute -29 +KPX f f 12 +KPX f i 22 +KPX f j -1 +KPX f l 33 +KPX f o -32 +KPX f oacute -32 +KPX f odieresis 11 +KPX f oe -29 +KPX f oslash -31 +KPX f quoteright 18 +KPX f s -8 +KPX f t -3 +KPX five four 1 +KPX five one -28 +KPX five seven -9 +KPX four four 13 +KPX four one -35 +KPX four seven -16 +KPX g a -15 +KPX g adieresis -15 +KPX g ae -18 +KPX g aring -15 +KPX g e -20 +KPX g eacute -20 +KPX g l 0 +KPX g oacute -20 +KPX g odieresis -20 +KPX g r 1 +KPX guillemotright A -40 +KPX guillemotright AE -46 +KPX guillemotright Aacute -40 +KPX guillemotright Adieresis -40 +KPX guillemotright Aring -40 +KPX guillemotright T -100 +KPX guillemotright V -102 +KPX guillemotright W -84 +KPX guillemotright Y -106 +KPX guilsinglright A -54 +KPX guilsinglright AE -60 +KPX guilsinglright Aacute -54 +KPX guilsinglright Adieresis -54 +KPX guilsinglright Aring -54 +KPX guilsinglright T -114 +KPX guilsinglright V -116 +KPX guilsinglright W -98 +KPX guilsinglright Y -120 +KPX h quoteright -30 +KPX h y -34 +KPX hyphen A -18 +KPX hyphen AE -24 +KPX hyphen Aacute -18 +KPX hyphen Adieresis -18 +KPX hyphen Aring -18 +KPX hyphen T -74 +KPX hyphen V -72 +KPX hyphen W -54 +KPX hyphen Y -83 +KPX i T -18 +KPX i j -36 +KPX k a -3 +KPX k aacute -3 +KPX k adieresis -3 +KPX k ae -7 +KPX k aring -3 +KPX k comma 0 +KPX k e -33 +KPX k eacute -33 +KPX k g -4 +KPX k hyphen -47 +KPX k o -38 +KPX k oacute -38 +KPX k odieresis -38 +KPX k period 0 +KPX k s 5 +KPX k u -5 +KPX k udieresis -5 +KPX l v -22 +KPX l y -19 +KPX m p -16 +KPX m v -32 +KPX m w -33 +KPX m y -33 +KPX n T -56 +KPX n p -14 +KPX n quoteright -28 +KPX n v -31 +KPX n w -32 +KPX n y -32 +KPX nine four 2 +KPX nine one -26 +KPX nine seven 10 +KPX o T -88 +KPX o quoteright -27 +KPX o t -10 +KPX o v -42 +KPX o w -38 +KPX o x -29 +KPX o y -42 +KPX oacute v -42 +KPX oacute w -38 +KPX oacute y -42 +KPX ocircumflex t -10 +KPX odieresis t -10 +KPX odieresis v -42 +KPX odieresis w -38 +KPX odieresis x -29 +KPX odieresis y -42 +KPX ograve v -42 +KPX ograve w -38 +KPX ograve y -42 +KPX one comma -16 +KPX one eight -34 +KPX one five -16 +KPX one four -56 +KPX one nine -9 +KPX one one -27 +KPX one period -17 +KPX one seven -56 +KPX one six -47 +KPX one three -10 +KPX one two -2 +KPX one zero -35 +KPX p t -11 +KPX p y -34 +KPX period one -21 +KPX period quotedblright 5 +KPX period quoteright -27 +KPX q c -13 +KPX q u -15 +KPX quotedblbase A 19 +KPX quotedblbase AE 20 +KPX quotedblbase T -59 +KPX quotedblbase V -98 +KPX quotedblbase W -75 +KPX quotedblbase Y -73 +KPX quotedblleft A -59 +KPX quotedblleft AE -78 +KPX quotedblleft Aacute -59 +KPX quotedblleft Adieresis -59 +KPX quotedblleft Aring -59 +KPX quotedblleft T 9 +KPX quotedblleft V 15 +KPX quotedblleft W 13 +KPX quotedblleft Y 15 +KPX quotedblright A -72 +KPX quotedblright AE -91 +KPX quotedblright Aacute -72 +KPX quotedblright Adieresis -72 +KPX quotedblright Aring -72 +KPX quotedblright T 4 +KPX quotedblright V 5 +KPX quotedblright W 4 +KPX quotedblright Y 6 +KPX quoteleft A -92 +KPX quoteleft AE -111 +KPX quoteleft Aacute -92 +KPX quoteleft Adieresis -92 +KPX quoteleft Aring -92 +KPX quoteleft T -22 +KPX quoteleft V -17 +KPX quoteleft W -19 +KPX quoteleft Y -17 +KPX quoteright A -91 +KPX quoteright AE -110 +KPX quoteright Aacute -91 +KPX quoteright Adieresis -91 +KPX quoteright Aring -91 +KPX quoteright comma -34 +KPX quoteright d -31 +KPX quoteright o -34 +KPX quoteright period -35 +KPX quoteright r -26 +KPX quoteright s -17 +KPX quoteright t -19 +KPX quoteright v -25 +KPX quoteright w -23 +KPX quoteright y -22 +KPX r a -6 +KPX r aacute -6 +KPX r acircumflex -6 +KPX r adieresis -6 +KPX r ae -8 +KPX r agrave -6 +KPX r aring -6 +KPX r c -15 +KPX r ccedilla -10 +KPX r colon -16 +KPX r comma -67 +KPX r d -13 +KPX r e -11 +KPX r eacute -11 +KPX r ecircumflex -11 +KPX r egrave -11 +KPX r f 11 +KPX r g -5 +KPX r h -15 +KPX r hyphen -18 +KPX r i 6 +KPX r j -12 +KPX r k -15 +KPX r l -14 +KPX r m 6 +KPX r n 4 +KPX r o -14 +KPX r oacute -14 +KPX r ocircumflex -14 +KPX r odieresis -14 +KPX r oe -12 +KPX r ograve -14 +KPX r oslash -14 +KPX r p 4 +KPX r period -68 +KPX r q -15 +KPX r quoteright -8 +KPX r r 0 +KPX r s 0 +KPX r semicolon -16 +KPX r t 9 +KPX r u 9 +KPX r v 8 +KPX r w 7 +KPX r x 11 +KPX r y 9 +KPX r z -1 +KPX s quoteright -17 +KPX s t -7 +KPX seven colon -64 +KPX seven comma -57 +KPX seven eight -18 +KPX seven five -34 +KPX seven four -54 +KPX seven one -25 +KPX seven period -58 +KPX seven seven -6 +KPX seven six -37 +KPX seven three -20 +KPX seven two -21 +KPX six four 13 +KPX six one -43 +KPX six seven -7 +KPX t S 11 +KPX t a 11 +KPX t aacute 11 +KPX t adieresis 11 +KPX t ae 7 +KPX t aring 11 +KPX t colon -12 +KPX t e -1 +KPX t eacute -1 +KPX t h -4 +KPX t o -4 +KPX t oacute -4 +KPX t odieresis -4 +KPX t quoteright -31 +KPX t semicolon -12 +KPX three four 9 +KPX three one -33 +KPX three seven -15 +KPX two four 14 +KPX two one -29 +KPX two seven -7 +KPX u quoteright -25 +KPX v a -23 +KPX v aacute -23 +KPX v acircumflex -23 +KPX v adieresis -23 +KPX v ae -25 +KPX v agrave -23 +KPX v aring -23 +KPX v atilde -23 +KPX v c -40 +KPX v colon -23 +KPX v comma -56 +KPX v e -35 +KPX v eacute -35 +KPX v ecircumflex -35 +KPX v egrave -35 +KPX v g -22 +KPX v hyphen -27 +KPX v l -16 +KPX v o -40 +KPX v oacute -40 +KPX v odieresis -40 +KPX v ograve -40 +KPX v oslash -39 +KPX v period -57 +KPX v s -16 +KPX v semicolon -23 +KPX w a -23 +KPX w aacute -23 +KPX w acircumflex -23 +KPX w adieresis -23 +KPX w ae -25 +KPX w agrave -23 +KPX w aring -23 +KPX w atilde -23 +KPX w c -36 +KPX w colon -23 +KPX w comma -50 +KPX w e -33 +KPX w eacute -33 +KPX w ecircumflex -33 +KPX w egrave -33 +KPX w g -22 +KPX w hyphen -23 +KPX w l -16 +KPX w o -36 +KPX w oacute -36 +KPX w odieresis -36 +KPX w ograve -36 +KPX w oslash -35 +KPX w period -51 +KPX w s -16 +KPX w semicolon -23 +KPX x a -2 +KPX x c -30 +KPX x e -27 +KPX x eacute -27 +KPX x o -30 +KPX x q -32 +KPX y a -32 +KPX y aacute -32 +KPX y acircumflex -32 +KPX y adieresis -32 +KPX y ae -34 +KPX y agrave -32 +KPX y aring -32 +KPX y atilde -32 +KPX y c -42 +KPX y colon -28 +KPX y comma -56 +KPX y e -40 +KPX y eacute -40 +KPX y ecircumflex -40 +KPX y egrave -40 +KPX y g -31 +KPX y hyphen -29 +KPX y l -19 +KPX y o -42 +KPX y oacute -42 +KPX y odieresis -42 +KPX y ograve -42 +KPX y oslash -41 +KPX y period -57 +KPX y s -24 +KPX y semicolon -28 +KPX zero four 11 +KPX zero one -31 +KPX zero seven 7 +EndKernPairs +EndKernData +EndFontMetrics diff --git a/Master/xemtex/gsfonts/n021004l.pfb b/Master/xemtex/gsfonts/n021004l.pfb new file mode 100644 index 00000000000..0418d76e60f Binary files /dev/null and b/Master/xemtex/gsfonts/n021004l.pfb differ diff --git a/Master/xemtex/gsfonts/n021004l.pfm b/Master/xemtex/gsfonts/n021004l.pfm new file mode 100644 index 00000000000..e73d5ee536e Binary files /dev/null and b/Master/xemtex/gsfonts/n021004l.pfm differ diff --git a/Master/xemtex/gsfonts/n021023l.afm b/Master/xemtex/gsfonts/n021023l.afm new file mode 100644 index 00000000000..40ad38b8a22 --- /dev/null +++ b/Master/xemtex/gsfonts/n021023l.afm @@ -0,0 +1,1341 @@ +StartFontMetrics 3.0 +Comment Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development +Comment Creation Date: 12/22/1999 +Comment See the file PUBLIC (Aladdin Free Public License) for license conditions. +FontName NimbusRomNo9L-ReguItal +FullName Nimbus Roman No9 L Regular Italic +FamilyName Nimbus Roman No9 L +Weight Regular +ItalicAngle -15.0 +IsFixedPitch false +UnderlinePosition -100 +UnderlineThickness 50 +Version 1.05 +Notice (URW)++,Copyright 1999 by (URW)++ Design & Development +EncodingScheme AdobeStandardEncoding +FontBBox -169 -270 1010 924 +CapHeight 653 +XHeight 432 +Descender -205 +Ascender 683 +StartCharMetrics 316 +C 32 ; WX 250 ; N space ; B 125 0 125 0 ; +C 33 ; WX 333 ; N exclam ; B 39 -11 302 667 ; +C 34 ; WX 420 ; N quotedbl ; B 144 421 432 666 ; +C 35 ; WX 500 ; N numbersign ; B 2 0 540 676 ; +C 36 ; WX 500 ; N dollar ; B 31 -89 497 731 ; +C 37 ; WX 833 ; N percent ; B 79 -13 790 676 ; +C 38 ; WX 778 ; N ampersand ; B 76 -18 723 666 ; +C 39 ; WX 333 ; N quoteright ; B 151 436 290 666 ; +C 40 ; WX 333 ; N parenleft ; B 42 -181 315 669 ; +C 41 ; WX 333 ; N parenright ; B 16 -180 289 669 ; +C 42 ; WX 500 ; N asterisk ; B 128 255 492 666 ; +C 43 ; WX 675 ; N plus ; B 86 0 590 506 ; +C 44 ; WX 250 ; N comma ; B -4 -129 135 101 ; +C 45 ; WX 333 ; N hyphen ; B 49 192 282 255 ; +C 46 ; WX 250 ; N period ; B 27 -11 138 100 ; +C 47 ; WX 278 ; N slash ; B -65 -18 386 666 ; +C 48 ; WX 500 ; N zero ; B 32 -7 497 676 ; +C 49 ; WX 500 ; N one ; B 49 0 409 676 ; +C 50 ; WX 500 ; N two ; B 12 0 452 676 ; +C 51 ; WX 500 ; N three ; B 15 -7 466 676 ; +C 52 ; WX 500 ; N four ; B 1 0 479 676 ; +C 53 ; WX 500 ; N five ; B 15 -7 491 666 ; +C 54 ; WX 500 ; N six ; B 30 -7 521 686 ; +C 55 ; WX 500 ; N seven ; B 75 -8 537 666 ; +C 56 ; WX 500 ; N eight ; B 30 -7 493 676 ; +C 57 ; WX 500 ; N nine ; B 23 -17 492 676 ; +C 58 ; WX 333 ; N colon ; B 50 -11 261 441 ; +C 59 ; WX 333 ; N semicolon ; B 27 -129 261 441 ; +C 60 ; WX 675 ; N less ; B 84 -10 592 516 ; +C 61 ; WX 675 ; N equal ; B 86 120 590 386 ; +C 62 ; WX 675 ; N greater ; B 84 -10 592 516 ; +C 63 ; WX 500 ; N question ; B 132 -12 472 664 ; +C 64 ; WX 920 ; N at ; B 118 -18 806 666 ; +C 65 ; WX 611 ; N A ; B -51 0 564 668 ; +C 66 ; WX 611 ; N B ; B -8 0 588 653 ; +C 67 ; WX 667 ; N C ; B 66 -18 689 666 ; +C 68 ; WX 722 ; N D ; B -8 0 700 653 ; +C 69 ; WX 611 ; N E ; B -1 0 634 653 ; +C 70 ; WX 611 ; N F ; B 8 0 645 653 ; +C 71 ; WX 722 ; N G ; B 52 -18 722 666 ; +C 72 ; WX 722 ; N H ; B -8 0 767 653 ; +C 73 ; WX 333 ; N I ; B -8 0 384 653 ; +C 74 ; WX 444 ; N J ; B -6 -18 491 653 ; +C 75 ; WX 667 ; N K ; B 7 0 722 653 ; +C 76 ; WX 556 ; N L ; B -8 0 559 653 ; +C 77 ; WX 833 ; N M ; B -18 0 873 653 ; +C 78 ; WX 667 ; N N ; B -20 -15 727 653 ; +C 79 ; WX 722 ; N O ; B 60 -18 706 666 ; +C 80 ; WX 611 ; N P ; B 0 0 605 653 ; +C 81 ; WX 722 ; N Q ; B 59 -183 699 666 ; +C 82 ; WX 611 ; N R ; B -13 0 588 653 ; +C 83 ; WX 500 ; N S ; B 17 -18 508 667 ; +C 84 ; WX 556 ; N T ; B 59 0 633 653 ; +C 85 ; WX 722 ; N U ; B 102 -18 765 653 ; +C 86 ; WX 611 ; N V ; B 76 -18 688 653 ; +C 87 ; WX 833 ; N W ; B 71 -18 906 653 ; +C 88 ; WX 611 ; N X ; B -29 0 655 653 ; +C 89 ; WX 556 ; N Y ; B 78 0 633 653 ; +C 90 ; WX 556 ; N Z ; B -6 0 606 653 ; +C 91 ; WX 389 ; N bracketleft ; B 21 -153 391 663 ; +C 92 ; WX 278 ; N backslash ; B -41 -18 319 666 ; +C 93 ; WX 389 ; N bracketright ; B 12 -153 382 663 ; +C 94 ; WX 422 ; N asciicircum ; B 0 301 422 666 ; +C 95 ; WX 500 ; N underscore ; B 0 -125 500 -75 ; +C 96 ; WX 333 ; N quoteleft ; B 171 436 310 666 ; +C 97 ; WX 500 ; N a ; B 17 -11 476 441 ; +C 98 ; WX 500 ; N b ; B 23 -11 473 683 ; +C 99 ; WX 444 ; N c ; B 30 -11 425 441 ; +C 100 ; WX 500 ; N d ; B 15 -13 527 683 ; +C 101 ; WX 444 ; N e ; B 31 -11 412 441 ; +C 102 ; WX 278 ; N f ; B -147 -207 424 678 ; +C 103 ; WX 500 ; N g ; B 8 -206 472 441 ; +C 104 ; WX 500 ; N h ; B 19 -9 478 683 ; +C 105 ; WX 278 ; N i ; B 49 -11 264 654 ; +C 106 ; WX 278 ; N j ; B -124 -207 276 654 ; +C 107 ; WX 444 ; N k ; B 14 -11 461 683 ; +C 108 ; WX 278 ; N l ; B 40 -11 279 683 ; +C 109 ; WX 722 ; N m ; B 12 -9 704 441 ; +C 110 ; WX 500 ; N n ; B 14 -9 474 441 ; +C 111 ; WX 500 ; N o ; B 27 -11 468 441 ; +C 112 ; WX 500 ; N p ; B -75 -205 469 442 ; +C 113 ; WX 500 ; N q ; B 25 -209 483 441 ; +C 114 ; WX 389 ; N r ; B 45 0 412 441 ; +C 115 ; WX 389 ; N s ; B 16 -13 366 442 ; +C 116 ; WX 278 ; N t ; B 37 -11 296 546 ; +C 117 ; WX 500 ; N u ; B 42 -11 475 441 ; +C 118 ; WX 444 ; N v ; B 21 -18 426 441 ; +C 119 ; WX 667 ; N w ; B 16 -18 648 441 ; +C 120 ; WX 444 ; N x ; B -27 -11 447 441 ; +C 121 ; WX 444 ; N y ; B -24 -206 426 441 ; +C 122 ; WX 389 ; N z ; B -2 -81 380 428 ; +C 123 ; WX 400 ; N braceleft ; B 51 -177 407 687 ; +C 124 ; WX 275 ; N bar ; B 105 -18 171 666 ; +C 125 ; WX 400 ; N braceright ; B -7 -177 349 687 ; +C 126 ; WX 541 ; N asciitilde ; B 40 186 502 320 ; +C 161 ; WX 389 ; N exclamdown ; B 59 -205 321 474 ; +C 162 ; WX 500 ; N cent ; B 77 -143 472 560 ; +C 163 ; WX 500 ; N sterling ; B 10 -6 517 670 ; +C 164 ; WX 167 ; N fraction ; B -169 -10 337 676 ; +C 165 ; WX 500 ; N yen ; B 27 0 603 653 ; +C 166 ; WX 500 ; N florin ; B 25 -182 507 682 ; +C 167 ; WX 500 ; N section ; B 53 -162 461 666 ; +C 168 ; WX 500 ; N currency ; B -22 53 522 597 ; +C 169 ; WX 214 ; N quotesingle ; B 132 421 241 666 ; +C 170 ; WX 556 ; N quotedblleft ; B 166 436 514 666 ; +C 171 ; WX 500 ; N guillemotleft ; B 53 37 445 403 ; +C 172 ; WX 333 ; N guilsinglleft ; B 51 37 281 403 ; +C 173 ; WX 333 ; N guilsinglright ; B 52 37 282 403 ; +C 174 ; WX 500 ; N fi ; B -141 -207 481 681 ; +C 175 ; WX 500 ; N fl ; B -141 -204 518 682 ; +C 177 ; WX 500 ; N endash ; B -6 197 505 243 ; +C 178 ; WX 500 ; N dagger ; B 101 -159 488 666 ; +C 179 ; WX 500 ; N daggerdbl ; B 22 -143 491 666 ; +C 180 ; WX 250 ; N periodcentered ; B 70 199 181 310 ; +C 182 ; WX 523 ; N paragraph ; B 55 -123 616 653 ; +C 183 ; WX 350 ; N bullet ; B 40 191 310 461 ; +C 184 ; WX 333 ; N quotesinglbase ; B 44 -129 183 101 ; +C 185 ; WX 556 ; N quotedblbase ; B 57 -129 405 101 ; +C 186 ; WX 556 ; N quotedblright ; B 151 436 499 666 ; +C 187 ; WX 500 ; N guillemotright ; B 55 37 447 403 ; +C 188 ; WX 889 ; N ellipsis ; B 57 -11 762 100 ; +C 189 ; WX 1000 ; N perthousand ; B 25 -19 1010 706 ; +C 191 ; WX 500 ; N questiondown ; B 28 -205 367 473 ; +C 193 ; WX 333 ; N grave ; B 121 492 311 664 ; +C 194 ; WX 333 ; N acute ; B 180 494 403 664 ; +C 195 ; WX 333 ; N circumflex ; B 91 492 385 661 ; +C 196 ; WX 333 ; N tilde ; B 100 517 427 624 ; +C 197 ; WX 333 ; N macron ; B 99 532 411 583 ; +C 198 ; WX 333 ; N breve ; B 117 492 418 650 ; +C 199 ; WX 333 ; N dotaccent ; B 207 508 305 606 ; +C 200 ; WX 333 ; N dieresis ; B 107 508 405 606 ; +C 202 ; WX 333 ; N ring ; B 155 508 355 707 ; +C 203 ; WX 333 ; N cedilla ; B -30 -217 182 0 ; +C 205 ; WX 333 ; N hungarumlaut ; B 93 494 486 664 ; +C 206 ; WX 333 ; N ogonek ; B -20 -169 200 40 ; +C 207 ; WX 333 ; N caron ; B 121 492 426 661 ; +C 208 ; WX 889 ; N emdash ; B -6 197 894 243 ; +C 225 ; WX 889 ; N AE ; B -27 0 911 653 ; +C 227 ; WX 276 ; N ordfeminine ; B 42 406 352 676 ; +C 232 ; WX 556 ; N Lslash ; B -8 0 559 653 ; +C 233 ; WX 722 ; N Oslash ; B 60 -105 699 722 ; +C 234 ; WX 944 ; N OE ; B 49 -8 964 666 ; +C 235 ; WX 310 ; N ordmasculine ; B 67 406 362 676 ; +C 241 ; WX 667 ; N ae ; B 23 -11 640 441 ; +C 245 ; WX 278 ; N dotlessi ; B 49 -11 235 441 ; +C 248 ; WX 278 ; N lslash ; B 37 -11 307 683 ; +C 249 ; WX 500 ; N oslash ; B 28 -135 469 554 ; +C 250 ; WX 667 ; N oe ; B 20 -12 646 441 ; +C 251 ; WX 500 ; N germandbls ; B -168 -207 493 679 ; +C -1 ; WX 722 ; N Udieresis ; B 102 -18 765 818 ; +C -1 ; WX 722 ; N Uacute ; B 102 -18 765 876 ; +C -1 ; WX 500 ; N Scedilla ; B 17 -217 508 667 ; +C -1 ; WX 556 ; N Tcaron ; B 59 0 633 873 ; +C -1 ; WX 500 ; N Scaron ; B 17 -18 520 873 ; +C -1 ; WX 611 ; N Rcaron ; B -13 0 588 873 ; +C -1 ; WX 611 ; N Racute ; B -13 0 588 876 ; +C -1 ; WX 500 ; N Sacute ; B 17 -18 508 876 ; +C -1 ; WX 722 ; N Otilde ; B 60 -18 706 836 ; +C -1 ; WX 500 ; N ucircumflex ; B 42 -11 475 661 ; +C -1 ; WX 722 ; N Ohungarumlaut ; B 60 -18 706 876 ; +C -1 ; WX 722 ; N Uhungarumlaut ; B 102 -18 765 876 ; +C -1 ; WX 556 ; N Yacute ; B 78 0 633 876 ; +C -1 ; WX 722 ; N Eth ; B -8 0 700 653 ; +C -1 ; WX 722 ; N Dcroat ; B -8 0 700 653 ; +C -1 ; WX 556 ; N Zacute ; B -6 0 606 876 ; +C -1 ; WX 722 ; N Uring ; B 102 -18 765 919 ; +C -1 ; WX 500 ; N gbreve ; B 8 -206 502 650 ; +C -1 ; WX 444 ; N eogonek ; B 31 -169 444 441 ; +C -1 ; WX 444 ; N edotaccent ; B 31 -11 412 606 ; +C -1 ; WX 444 ; N ecaron ; B 31 -11 482 661 ; +C -1 ; WX 722 ; N Ugrave ; B 102 -18 765 876 ; +C -1 ; WX 611 ; N Thorn ; B 0 0 569 653 ; +C -1 ; WX 444 ; N eacute ; B 31 -11 459 664 ; +C -1 ; WX 444 ; N edieresis ; B 31 -11 451 606 ; +C -1 ; WX 521 ; N dcaron ; B 15 -13 641 683 ; +C -1 ; WX 444 ; N ccedilla ; B 26 -217 425 441 ; +C -1 ; WX 444 ; N ccaron ; B 30 -11 484 661 ; +C -1 ; WX 444 ; N cacute ; B 30 -11 458 664 ; +C -1 ; WX 500 ; N aogonek ; B 17 -169 500 441 ; +C -1 ; WX 500 ; N aring ; B 17 -11 476 707 ; +C -1 ; WX 500 ; N atilde ; B 17 -11 511 624 ; +C -1 ; WX 500 ; N abreve ; B 17 -11 502 650 ; +C -1 ; WX 444 ; N egrave ; B 31 -11 412 664 ; +C -1 ; WX 500 ; N agrave ; B 17 -11 476 664 ; +C -1 ; WX 500 ; N aacute ; B 17 -11 487 664 ; +C -1 ; WX 500 ; N adieresis ; B 17 -11 489 606 ; +C -1 ; WX 722 ; N Uogonek ; B 102 -169 765 653 ; +C -1 ; WX 500 ; N ugrave ; B 42 -11 475 664 ; +C -1 ; WX 500 ; N uacute ; B 42 -11 477 664 ; +C -1 ; WX 500 ; N udieresis ; B 42 -11 479 606 ; +C -1 ; WX 278 ; N tcaron ; B 37 -11 378 666 ; +C -1 ; WX 389 ; N scommaaccent ; B 16 -270 366 442 ; +C -1 ; WX 556 ; N Zcaron ; B -6 0 606 873 ; +C -1 ; WX 444 ; N ecircumflex ; B 31 -11 441 661 ; +C -1 ; WX 722 ; N Ucircumflex ; B 102 -18 765 873 ; +C -1 ; WX 500 ; N acircumflex ; B 17 -11 476 661 ; +C -1 ; WX 556 ; N Zdotaccent ; B -6 0 606 818 ; +C -1 ; WX 389 ; N scaron ; B 16 -13 454 661 ; +C -1 ; WX 611 ; N Amacron ; B -51 0 564 795 ; +C -1 ; WX 389 ; N sacute ; B 16 -13 431 664 ; +C -1 ; WX 556 ; N Tcommaaccent ; B 59 -270 633 653 ; +C -1 ; WX 556 ; N Ydieresis ; B 78 0 633 818 ; +C -1 ; WX 500 ; N thorn ; B -75 -205 469 683 ; +C -1 ; WX 611 ; N Emacron ; B -1 0 634 795 ; +C -1 ; WX 722 ; N Ograve ; B 60 -18 706 876 ; +C -1 ; WX 722 ; N Oacute ; B 60 -18 706 876 ; +C -1 ; WX 722 ; N Odieresis ; B 60 -18 706 818 ; +C -1 ; WX 667 ; N Ntilde ; B -20 -15 727 836 ; +C -1 ; WX 667 ; N Ncaron ; B -20 -15 727 873 ; +C -1 ; WX 667 ; N Nacute ; B -20 -15 727 876 ; +C -1 ; WX 556 ; N Lcaron ; B -8 0 596 666 ; +C -1 ; WX 556 ; N Lacute ; B -8 0 559 876 ; +C -1 ; WX 333 ; N Idotaccent ; B -8 0 384 818 ; +C -1 ; WX 389 ; N racute ; B 45 0 431 664 ; +C -1 ; WX 333 ; N Icircumflex ; B -8 0 425 873 ; +C -1 ; WX 500 ; N ohungarumlaut ; B 27 -11 570 664 ; +C -1 ; WX 500 ; N otilde ; B 27 -11 496 624 ; +C -1 ; WX 500 ; N Euro ; B 57 0 668 693 ; +C -1 ; WX 500 ; N ocircumflex ; B 27 -11 468 661 ; +C -1 ; WX 300 ; N onesuperior ; B 43 271 284 676 ; +C -1 ; WX 300 ; N twosuperior ; B 33 271 324 676 ; +C -1 ; WX 300 ; N threesuperior ; B 43 268 339 676 ; +C -1 ; WX 333 ; N Igrave ; B -8 0 384 876 ; +C -1 ; WX 333 ; N Iacute ; B -8 0 403 876 ; +C -1 ; WX 333 ; N Imacron ; B -8 0 441 795 ; +C -1 ; WX 333 ; N Iogonek ; B -8 -169 384 653 ; +C -1 ; WX 333 ; N Idieresis ; B -8 0 435 818 ; +C -1 ; WX 722 ; N Gbreve ; B 52 -18 722 862 ; +C -1 ; WX 722 ; N Umacron ; B 102 -18 765 795 ; +C -1 ; WX 667 ; N Kcommaaccent ; B 7 -270 722 653 ; +C -1 ; WX 500 ; N ograve ; B 27 -11 468 664 ; +C -1 ; WX 500 ; N Scommaaccent ; B 17 -270 508 667 ; +C -1 ; WX 611 ; N Eogonek ; B -1 -169 651 653 ; +C -1 ; WX 500 ; N oacute ; B 27 -11 487 664 ; +C -1 ; WX 611 ; N Edotaccent ; B -1 0 634 818 ; +C -1 ; WX 278 ; N iogonek ; B 49 -169 278 654 ; +C -1 ; WX 500 ; N gcommaaccent ; B 8 -206 472 706 ; +C -1 ; WX 500 ; N odieresis ; B 27 -11 489 606 ; +C -1 ; WX 500 ; N ntilde ; B 14 -9 476 624 ; +C -1 ; WX 500 ; N ncaron ; B 14 -9 510 661 ; +C -1 ; WX 611 ; N Ecaron ; B -1 0 634 873 ; +C -1 ; WX 611 ; N Ecircumflex ; B -1 0 634 873 ; +C -1 ; WX 389 ; N scedilla ; B -2 -217 366 442 ; +C -1 ; WX 389 ; N rcaron ; B 45 0 454 661 ; +C -1 ; WX 611 ; N Egrave ; B -1 0 634 876 ; +C -1 ; WX 611 ; N Eacute ; B -1 0 634 876 ; +C -1 ; WX 722 ; N Gcommaaccent ; B 52 -270 722 666 ; +C -1 ; WX 611 ; N Rcommaaccent ; B -13 -270 588 653 ; +C -1 ; WX 611 ; N Edieresis ; B -1 0 634 818 ; +C -1 ; WX 500 ; N nacute ; B 14 -9 487 664 ; +C -1 ; WX 500 ; N uogonek ; B 42 -169 500 441 ; +C -1 ; WX 500 ; N umacron ; B 42 -11 495 583 ; +C -1 ; WX 722 ; N Dcaron ; B -8 0 700 873 ; +C -1 ; WX 278 ; N lcaron ; B 40 -11 395 683 ; +C -1 ; WX 667 ; N Ccaron ; B 66 -18 689 873 ; +C -1 ; WX 667 ; N Cacute ; B 66 -18 689 876 ; +C -1 ; WX 667 ; N Ccedilla ; B 66 -217 689 666 ; +C -1 ; WX 400 ; N degree ; B 101 390 387 676 ; +C -1 ; WX 611 ; N Aogonek ; B -51 -169 707 668 ; +C -1 ; WX 675 ; N minus ; B 86 220 590 286 ; +C -1 ; WX 675 ; N multiply ; B 93 8 582 497 ; +C -1 ; WX 675 ; N divide ; B 86 -11 590 517 ; +C -1 ; WX 611 ; N Aring ; B -51 0 564 904 ; +C -1 ; WX 980 ; N trademark ; B 30 247 957 653 ; +C -1 ; WX 389 ; N rcommaaccent ; B 35 -270 412 441 ; +C -1 ; WX 278 ; N lacute ; B 40 -11 376 876 ; +C -1 ; WX 500 ; N omacron ; B 27 -11 495 583 ; +C -1 ; WX 611 ; N Atilde ; B -51 0 566 836 ; +C -1 ; WX 278 ; N icircumflex ; B 34 -11 328 661 ; +C -1 ; WX 278 ; N igrave ; B 49 -11 284 664 ; +C -1 ; WX 500 ; N ncommaaccent ; B 14 -270 474 441 ; +C -1 ; WX 278 ; N lcommaaccent ; B -21 -270 279 683 ; +C -1 ; WX 675 ; N plusminus ; B 86 0 590 568 ; +C -1 ; WX 750 ; N onehalf ; B 34 -10 749 676 ; +C -1 ; WX 750 ; N onequarter ; B 33 -10 736 676 ; +C -1 ; WX 750 ; N threequarters ; B 23 -10 736 676 ; +C -1 ; WX 278 ; N iacute ; B 49 -11 356 664 ; +C -1 ; WX 611 ; N Abreve ; B -51 0 564 862 ; +C -1 ; WX 444 ; N kcommaaccent ; B 14 -270 461 683 ; +C -1 ; WX 722 ; N Omacron ; B 60 -18 706 795 ; +C -1 ; WX 278 ; N imacron ; B 49 -11 384 583 ; +C -1 ; WX 444 ; N emacron ; B 31 -11 467 583 ; +C -1 ; WX 500 ; N amacron ; B 17 -11 495 583 ; +C -1 ; WX 278 ; N tcommaaccent ; B -21 -270 296 546 ; +C -1 ; WX 444 ; N ydieresis ; B -24 -206 441 606 ; +C -1 ; WX 389 ; N zdotaccent ; B -2 -81 380 606 ; +C -1 ; WX 389 ; N zcaron ; B -2 -81 434 661 ; +C -1 ; WX 389 ; N zacute ; B -2 -81 431 664 ; +C -1 ; WX 444 ; N yacute ; B -24 -206 459 664 ; +C -1 ; WX 500 ; N uhungarumlaut ; B 42 -11 570 664 ; +C -1 ; WX 500 ; N eth ; B 27 -11 482 683 ; +C -1 ; WX 500 ; N uring ; B 42 -11 475 707 ; +C -1 ; WX 722 ; N Ocircumflex ; B 60 -18 706 873 ; +C -1 ; WX 333 ; N commaaccent ; B 7 -270 146 -40 ; +C -1 ; WX 760 ; N copyright ; B 41 -18 719 666 ; +C -1 ; WX 760 ; N registered ; B 41 -18 719 666 ; +C -1 ; WX 611 ; N Acircumflex ; B -51 0 564 873 ; +C -1 ; WX 278 ; N idieresis ; B 49 -11 353 606 ; +C -1 ; WX 494 ; N lozenge ; B 18 0 466 740 ; +C -1 ; WX 612 ; N Delta ; B 6 0 608 688 ; +C -1 ; WX 564 ; N notequal ; B 30 -3 534 509 ; +C -1 ; WX 549 ; N radical ; B -2 -65 526 924 ; +C -1 ; WX 611 ; N Agrave ; B -51 0 564 876 ; +C -1 ; WX 611 ; N Aacute ; B -51 0 564 876 ; +C -1 ; WX 675 ; N lessequal ; B 84 0 592 628 ; +C -1 ; WX 675 ; N greaterequal ; B 84 0 592 628 ; +C -1 ; WX 675 ; N logicalnot ; B 86 108 590 386 ; +C -1 ; WX 713 ; N summation ; B 14 -123 695 752 ; +C -1 ; WX 494 ; N partialdiff ; B 26 -10 462 753 ; +C -1 ; WX 667 ; N Ncommaaccent ; B -20 -270 727 653 ; +C -1 ; WX 500 ; N dcroat ; B 15 -13 558 683 ; +C -1 ; WX 275 ; N brokenbar ; B 105 -18 171 666 ; +C -1 ; WX 556 ; N Lcommaaccent ; B -8 -270 559 653 ; +C -1 ; WX 611 ; N Adieresis ; B -51 0 564 818 ; +C -1 ; WX 500 ; N mu ; B -30 -209 497 428 ; +C -1 ; WX 250 ; N .notdef ; B 125 0 125 0 ; +EndCharMetrics +StartKernData +StartKernPairs 998 +KPX A C -50 +KPX A Ccedilla -50 +KPX A G -44 +KPX A O -45 +KPX A Odieresis -45 +KPX A Q -44 +KPX A T -14 +KPX A U -57 +KPX A Uacute -57 +KPX A Ucircumflex -57 +KPX A Udieresis -57 +KPX A Ugrave -57 +KPX A V -81 +KPX A W -75 +KPX A Y -21 +KPX A a -4 +KPX A b 0 +KPX A c -18 +KPX A ccedilla -28 +KPX A comma 8 +KPX A d -4 +KPX A e -17 +KPX A g -25 +KPX A guillemotleft -44 +KPX A guilsinglleft -43 +KPX A hyphen -13 +KPX A o -17 +KPX A period 8 +KPX A q -12 +KPX A quotedblright -92 +KPX A quoteright -92 +KPX A t -6 +KPX A u -9 +KPX A v -50 +KPX A w -44 +KPX A y -57 +KPX Aacute C -50 +KPX Aacute G -44 +KPX Aacute O -45 +KPX Aacute Q -44 +KPX Aacute T -14 +KPX Aacute U -57 +KPX Aacute V -81 +KPX Aacute W -75 +KPX Aacute Y -21 +KPX Aacute a -4 +KPX Aacute b 0 +KPX Aacute c -18 +KPX Aacute comma 8 +KPX Aacute d -4 +KPX Aacute e -17 +KPX Aacute g -25 +KPX Aacute guillemotleft -44 +KPX Aacute guilsinglleft -43 +KPX Aacute hyphen -13 +KPX Aacute o -17 +KPX Aacute period 8 +KPX Aacute q -12 +KPX Aacute quoteright -92 +KPX Aacute t -6 +KPX Aacute u -9 +KPX Aacute v -50 +KPX Aacute w -44 +KPX Aacute y -57 +KPX Acircumflex C -50 +KPX Acircumflex G -44 +KPX Acircumflex O -45 +KPX Acircumflex Q -44 +KPX Acircumflex T -14 +KPX Acircumflex U -57 +KPX Acircumflex V -81 +KPX Acircumflex W -75 +KPX Acircumflex Y -21 +KPX Acircumflex comma 8 +KPX Acircumflex period 8 +KPX Adieresis C -50 +KPX Adieresis G -44 +KPX Adieresis O -45 +KPX Adieresis Q -44 +KPX Adieresis T -14 +KPX Adieresis U -57 +KPX Adieresis V -81 +KPX Adieresis W -75 +KPX Adieresis Y -21 +KPX Adieresis a -4 +KPX Adieresis b 0 +KPX Adieresis c -18 +KPX Adieresis comma 8 +KPX Adieresis d -4 +KPX Adieresis g -25 +KPX Adieresis guillemotleft -44 +KPX Adieresis guilsinglleft -43 +KPX Adieresis hyphen -13 +KPX Adieresis o -17 +KPX Adieresis period 8 +KPX Adieresis q -12 +KPX Adieresis quotedblright -92 +KPX Adieresis quoteright -92 +KPX Adieresis t -6 +KPX Adieresis u -9 +KPX Adieresis v -50 +KPX Adieresis w -44 +KPX Adieresis y -57 +KPX Agrave C -50 +KPX Agrave G -44 +KPX Agrave O -45 +KPX Agrave Q -44 +KPX Agrave T -14 +KPX Agrave U -57 +KPX Agrave V -81 +KPX Agrave W -75 +KPX Agrave Y -21 +KPX Agrave comma 8 +KPX Agrave period 8 +KPX Aring C -50 +KPX Aring G -44 +KPX Aring O -45 +KPX Aring Q -44 +KPX Aring T -14 +KPX Aring U -57 +KPX Aring V -81 +KPX Aring W -75 +KPX Aring Y -21 +KPX Aring a -4 +KPX Aring b 0 +KPX Aring c -18 +KPX Aring comma 8 +KPX Aring d -4 +KPX Aring e -17 +KPX Aring g -25 +KPX Aring guillemotleft -44 +KPX Aring guilsinglleft -43 +KPX Aring hyphen -13 +KPX Aring o -17 +KPX Aring period 8 +KPX Aring q -12 +KPX Aring quotedblright -92 +KPX Aring quoteright -92 +KPX Aring t -6 +KPX Aring u -9 +KPX Aring v -50 +KPX Aring w -44 +KPX Aring y -57 +KPX Atilde C -50 +KPX Atilde G -44 +KPX Atilde O -45 +KPX Atilde Q -44 +KPX Atilde T -14 +KPX Atilde U -57 +KPX Atilde V -81 +KPX Atilde W -75 +KPX Atilde Y -21 +KPX Atilde comma 7 +KPX Atilde period 7 +KPX B A -23 +KPX B AE -35 +KPX B Aacute -23 +KPX B Acircumflex -23 +KPX B Adieresis -23 +KPX B Aring -23 +KPX B Atilde -23 +KPX B O -14 +KPX B OE -6 +KPX B Oacute -14 +KPX B Ocircumflex -14 +KPX B Odieresis -14 +KPX B Ograve -14 +KPX B Oslash -14 +KPX B V -32 +KPX B W -29 +KPX B Y -39 +KPX C A -14 +KPX C AE -30 +KPX C Aacute -14 +KPX C Adieresis -14 +KPX C Aring -14 +KPX C H -13 +KPX C K -21 +KPX C O -19 +KPX C Oacute -19 +KPX C Odieresis -19 +KPX Ccedilla A -18 +KPX D A -36 +KPX D Aacute -36 +KPX D Acircumflex -36 +KPX D Adieresis -36 +KPX D Agrave -36 +KPX D Aring -36 +KPX D Atilde -36 +KPX D J -32 +KPX D T -9 +KPX D V -42 +KPX D W -36 +KPX D X -40 +KPX D Y -50 +KPX F A -72 +KPX F Aacute -72 +KPX F Acircumflex -72 +KPX F Adieresis -72 +KPX F Agrave -72 +KPX F Aring -72 +KPX F Atilde -72 +KPX F J -60 +KPX F O -40 +KPX F Odieresis -40 +KPX F a -77 +KPX F aacute -78 +KPX F adieresis -52 +KPX F ae -82 +KPX F aring -70 +KPX F comma -95 +KPX F e -83 +KPX F eacute -83 +KPX F hyphen -45 +KPX F i -36 +KPX F j -41 +KPX F o -79 +KPX F oacute -79 +KPX F odieresis -52 +KPX F oe -75 +KPX F oslash -80 +KPX F period -99 +KPX F r -52 +KPX F u -50 +KPX G A -17 +KPX G AE -29 +KPX G Aacute -17 +KPX G Acircumflex -17 +KPX G Adieresis -17 +KPX G Agrave -17 +KPX G Aring -17 +KPX G Atilde -17 +KPX G T -13 +KPX G V -5 +KPX G W -2 +KPX G Y -12 +KPX J A -40 +KPX J AE -52 +KPX J Adieresis -40 +KPX J Aring -40 +KPX K C -55 +KPX K G -53 +KPX K O -46 +KPX K OE -45 +KPX K Oacute -46 +KPX K Odieresis -46 +KPX K S 6 +KPX K T 21 +KPX K a -5 +KPX K adieresis -5 +KPX K ae -5 +KPX K aring -5 +KPX K e -18 +KPX K hyphen -57 +KPX K o -18 +KPX K oacute -18 +KPX K odieresis -18 +KPX K u -10 +KPX K udieresis -10 +KPX K y -89 +KPX L A 44 +KPX L AE 32 +KPX L Aacute 44 +KPX L Adieresis 44 +KPX L Aring 44 +KPX L C 6 +KPX L Ccedilla 4 +KPX L G 11 +KPX L O 10 +KPX L Oacute 10 +KPX L Ocircumflex 10 +KPX L Odieresis 10 +KPX L Ograve 10 +KPX L Otilde 10 +KPX L S 20 +KPX L T -13 +KPX L U -8 +KPX L Udieresis -8 +KPX L V -55 +KPX L W -48 +KPX L Y -20 +KPX L hyphen 47 +KPX L quotedblright -92 +KPX L quoteright -92 +KPX L u 12 +KPX L udieresis 10 +KPX L y -26 +KPX N A -20 +KPX N AE -32 +KPX N Aacute -20 +KPX N Adieresis -20 +KPX N Aring -20 +KPX N C -21 +KPX N Ccedilla -20 +KPX N G -14 +KPX N O -20 +KPX N Oacute -20 +KPX N Odieresis -20 +KPX N a -22 +KPX N aacute -23 +KPX N adieresis -23 +KPX N ae -27 +KPX N aring -23 +KPX N comma -13 +KPX N e -28 +KPX N eacute -30 +KPX N o -25 +KPX N oacute -27 +KPX N odieresis -27 +KPX N oslash -27 +KPX N period -16 +KPX N u -24 +KPX N udieresis -25 +KPX O A -38 +KPX O AE -70 +KPX O Aacute -38 +KPX O Adieresis -38 +KPX O Aring -38 +KPX O T -3 +KPX O V -45 +KPX O W -39 +KPX O X -41 +KPX O Y -51 +KPX Oacute A -38 +KPX Oacute T -3 +KPX Oacute V -45 +KPX Oacute W -39 +KPX Oacute Y -51 +KPX Ocircumflex T -3 +KPX Ocircumflex V -45 +KPX Ocircumflex Y -51 +KPX Odieresis A -38 +KPX Odieresis T -3 +KPX Odieresis V -45 +KPX Odieresis W -39 +KPX Odieresis X -41 +KPX Odieresis Y -51 +KPX Ograve T -3 +KPX Ograve V -45 +KPX Ograve Y -51 +KPX Oslash A -38 +KPX Otilde T -3 +KPX Otilde V -45 +KPX Otilde Y -51 +KPX P A -79 +KPX P AE -116 +KPX P Aacute -79 +KPX P Adieresis -79 +KPX P Aring -79 +KPX P J -89 +KPX P a -74 +KPX P aacute -74 +KPX P adieresis -64 +KPX P ae -80 +KPX P aring -74 +KPX P comma -118 +KPX P e -79 +KPX P eacute -79 +KPX P hyphen -64 +KPX P o -73 +KPX P oacute -73 +KPX P odieresis -64 +KPX P oe -67 +KPX P oslash -74 +KPX P period -121 +KPX R C -26 +KPX R Ccedilla -25 +KPX R G -20 +KPX R O -26 +KPX R OE -18 +KPX R Oacute -26 +KPX R Odieresis -26 +KPX R T 0 +KPX R U -36 +KPX R Udieresis -36 +KPX R V -31 +KPX R W -28 +KPX R Y -19 +KPX R a -3 +KPX R aacute -3 +KPX R adieresis -3 +KPX R ae -3 +KPX R aring -3 +KPX R e -15 +KPX R eacute -15 +KPX R hyphen -29 +KPX R o -15 +KPX R oacute -15 +KPX R odieresis -15 +KPX R oe -15 +KPX R u -7 +KPX R uacute -7 +KPX R udieresis -7 +KPX R y 0 +KPX S A -2 +KPX S AE -14 +KPX S Aacute -2 +KPX S Adieresis -2 +KPX S Aring -2 +KPX S T 1 +KPX S V 5 +KPX S W 8 +KPX S Y -1 +KPX S t -13 +KPX T A -33 +KPX T AE -45 +KPX T Aacute -33 +KPX T Acircumflex -33 +KPX T Adieresis -33 +KPX T Agrave -33 +KPX T Aring -33 +KPX T Atilde -33 +KPX T C -15 +KPX T G -7 +KPX T J -39 +KPX T O -20 +KPX T OE -8 +KPX T Oacute -20 +KPX T Ocircumflex -20 +KPX T Odieresis -20 +KPX T Ograve -20 +KPX T Oslash -20 +KPX T Otilde -20 +KPX T S -2 +KPX T V 41 +KPX T W 43 +KPX T Y 33 +KPX T a -81 +KPX T ae -81 +KPX T c -86 +KPX T colon -84 +KPX T comma -70 +KPX T e -90 +KPX T g -102 +KPX T guillemotleft -102 +KPX T guilsinglleft -101 +KPX T hyphen -68 +KPX T i -16 +KPX T j -20 +KPX T o -87 +KPX T oslash -89 +KPX T period -71 +KPX T r -87 +KPX T s -74 +KPX T semicolon -92 +KPX T u -86 +KPX T v -72 +KPX T w -69 +KPX T y -70 +KPX U A -50 +KPX U AE -69 +KPX U Aacute -50 +KPX U Acircumflex -50 +KPX U Adieresis -50 +KPX U Aring -50 +KPX U Atilde -50 +KPX U comma -35 +KPX U m -28 +KPX U n -29 +KPX U p -32 +KPX U period -39 +KPX U r -41 +KPX Uacute A -50 +KPX Uacute comma -35 +KPX Uacute m -28 +KPX Uacute n -29 +KPX Uacute p -32 +KPX Uacute period -39 +KPX Uacute r -41 +KPX Ucircumflex A -50 +KPX Udieresis A -50 +KPX Udieresis b 1 +KPX Udieresis comma -35 +KPX Udieresis m -28 +KPX Udieresis n -29 +KPX Udieresis p -32 +KPX Udieresis period -39 +KPX Udieresis r -41 +KPX Ugrave A -50 +KPX V A -66 +KPX V AE -102 +KPX V Aacute -66 +KPX V Acircumflex -66 +KPX V Adieresis -66 +KPX V Agrave -66 +KPX V Aring -66 +KPX V Atilde -66 +KPX V C -48 +KPX V G -42 +KPX V O -48 +KPX V Oacute -48 +KPX V Ocircumflex -48 +KPX V Odieresis -48 +KPX V Ograve -48 +KPX V Oslash -48 +KPX V Otilde -48 +KPX V S -15 +KPX V T 32 +KPX V a -67 +KPX V ae -72 +KPX V colon -82 +KPX V comma -76 +KPX V e -74 +KPX V g -84 +KPX V guillemotleft -82 +KPX V guilsinglleft -81 +KPX V hyphen -45 +KPX V i -16 +KPX V o -70 +KPX V oslash -72 +KPX V period -80 +KPX V r -45 +KPX V semicolon -79 +KPX V u -40 +KPX V y -16 +KPX W A -57 +KPX W AE -85 +KPX W Aacute -57 +KPX W Acircumflex -57 +KPX W Adieresis -57 +KPX W Agrave -57 +KPX W Aring -57 +KPX W Atilde -57 +KPX W C -39 +KPX W G -33 +KPX W O -39 +KPX W Oacute -39 +KPX W Ocircumflex -39 +KPX W Odieresis -39 +KPX W Ograve -39 +KPX W Oslash -39 +KPX W Otilde -39 +KPX W S -17 +KPX W T 30 +KPX W a -53 +KPX W ae -58 +KPX W colon -77 +KPX W comma -58 +KPX W e -60 +KPX W g -75 +KPX W guillemotleft -68 +KPX W guilsinglleft -67 +KPX W hyphen -32 +KPX W i -18 +KPX W o -56 +KPX W oslash -58 +KPX W period -62 +KPX W r -40 +KPX W semicolon -74 +KPX W u -35 +KPX W y -11 +KPX X C -50 +KPX X O -44 +KPX X Odieresis -44 +KPX X Q -42 +KPX X a -3 +KPX X e -15 +KPX X hyphen -41 +KPX X o -15 +KPX X u -7 +KPX X y -67 +KPX Y A -27 +KPX Y AE -39 +KPX Y Aacute -27 +KPX Y Acircumflex -27 +KPX Y Adieresis -27 +KPX Y Agrave -27 +KPX Y Aring -27 +KPX Y Atilde -27 +KPX Y C -52 +KPX Y G -45 +KPX Y O -52 +KPX Y Oacute -52 +KPX Y Ocircumflex -52 +KPX Y Odieresis -52 +KPX Y Ograve -52 +KPX Y Oslash -52 +KPX Y Otilde -52 +KPX Y S -15 +KPX Y T 32 +KPX Y a -72 +KPX Y ae -75 +KPX Y colon -78 +KPX Y comma -64 +KPX Y e -78 +KPX Y g -94 +KPX Y guillemotleft -93 +KPX Y guilsinglleft -92 +KPX Y hyphen -60 +KPX Y i -16 +KPX Y o -75 +KPX Y oslash -77 +KPX Y p -52 +KPX Y period -65 +KPX Y semicolon -86 +KPX Y u -58 +KPX Y v -32 +KPX Z v -12 +KPX Z y -28 +KPX a j -22 +KPX a quoteright -28 +KPX a v 1 +KPX a w 4 +KPX a y 2 +KPX aacute v 1 +KPX aacute w 4 +KPX aacute y 2 +KPX adieresis v 1 +KPX adieresis w 4 +KPX adieresis y 2 +KPX ae v 2 +KPX ae w 5 +KPX ae y 6 +KPX agrave v 1 +KPX agrave w 4 +KPX agrave y 2 +KPX aring v 1 +KPX aring w 4 +KPX aring y 2 +KPX b v -10 +KPX b w -7 +KPX b y -3 +KPX c h -30 +KPX c k -29 +KPX comma one -40 +KPX comma quotedblright -39 +KPX comma quoteright -39 +KPX e quoteright -21 +KPX e t -16 +KPX e v 0 +KPX e w 2 +KPX e x -10 +KPX e y 4 +KPX eacute v 0 +KPX eacute w 2 +KPX eacute y 4 +KPX ecircumflex v 0 +KPX ecircumflex w 2 +KPX ecircumflex y 4 +KPX eight four 13 +KPX eight one -50 +KPX eight seven -1 +KPX f a -26 +KPX f aacute -27 +KPX f adieresis -2 +KPX f ae -30 +KPX f aring -17 +KPX f e -32 +KPX f eacute -34 +KPX f f 30 +KPX f i 17 +KPX f j 13 +KPX f l 42 +KPX f o -29 +KPX f oacute -30 +KPX f odieresis -2 +KPX f oe -24 +KPX f oslash -31 +KPX f quoteright 18 +KPX f s -20 +KPX f t 18 +KPX five four -5 +KPX five one -71 +KPX five seven -28 +KPX four four 12 +KPX four one -69 +KPX four seven -27 +KPX g a -41 +KPX g adieresis -42 +KPX g ae -46 +KPX g aring -42 +KPX g e -45 +KPX g eacute -45 +KPX g l -46 +KPX g oacute -41 +KPX g odieresis -41 +KPX g r -21 +KPX guillemotright A -25 +KPX guillemotright AE -51 +KPX guillemotright Aacute -25 +KPX guillemotright Adieresis -25 +KPX guillemotright Aring -25 +KPX guillemotright T -77 +KPX guillemotright V -76 +KPX guillemotright W -67 +KPX guillemotright Y -81 +KPX guilsinglright A -24 +KPX guilsinglright AE -50 +KPX guilsinglright Aacute -24 +KPX guilsinglright Adieresis -24 +KPX guilsinglright Aring -24 +KPX guilsinglright T -76 +KPX guilsinglright V -75 +KPX guilsinglright W -66 +KPX guilsinglright Y -80 +KPX h quoteright -31 +KPX h y -4 +KPX hyphen A 3 +KPX hyphen AE -23 +KPX hyphen Aacute 3 +KPX hyphen Adieresis 3 +KPX hyphen Aring 3 +KPX hyphen T -46 +KPX hyphen V -43 +KPX hyphen W -34 +KPX hyphen Y -53 +KPX i T -10 +KPX i j -31 +KPX k a 12 +KPX k aacute 12 +KPX k adieresis 12 +KPX k ae 9 +KPX k aring 12 +KPX k comma 27 +KPX k e 5 +KPX k eacute 5 +KPX k g -27 +KPX k hyphen -27 +KPX k o 6 +KPX k oacute 6 +KPX k odieresis 6 +KPX k period 26 +KPX k s 7 +KPX k u 8 +KPX k udieresis 8 +KPX l v -12 +KPX l y -11 +KPX m p -4 +KPX m v -6 +KPX m w -4 +KPX m y -3 +KPX n T -41 +KPX n p -7 +KPX n quoteright -34 +KPX n v -10 +KPX n w -7 +KPX n y -6 +KPX nine four 2 +KPX nine one -64 +KPX nine seven -5 +KPX o T -63 +KPX o quoteright -24 +KPX o t -15 +KPX o v -18 +KPX o w -15 +KPX o x -33 +KPX o y -10 +KPX oacute v -18 +KPX oacute w -15 +KPX oacute y -10 +KPX ocircumflex t -16 +KPX odieresis t -16 +KPX odieresis v -18 +KPX odieresis w -15 +KPX odieresis x -33 +KPX odieresis y -10 +KPX ograve v -18 +KPX ograve w -15 +KPX ograve y -10 +KPX one comma -52 +KPX one eight -57 +KPX one five -55 +KPX one four -69 +KPX one nine -61 +KPX one one -69 +KPX one period -56 +KPX one seven -60 +KPX one six -50 +KPX one three -55 +KPX one two -50 +KPX one zero -41 +KPX p t -14 +KPX p y -4 +KPX period one -39 +KPX period quotedblright -38 +KPX period quoteright -38 +KPX q c -13 +KPX q u -11 +KPX quotedblbase A 1 +KPX quotedblbase AE -13 +KPX quotedblbase T -64 +KPX quotedblbase V -96 +KPX quotedblbase W -84 +KPX quotedblbase Y -69 +KPX quotedblleft A -88 +KPX quotedblleft AE -141 +KPX quotedblleft Aacute -88 +KPX quotedblleft Adieresis -88 +KPX quotedblleft Aring -88 +KPX quotedblleft T -19 +KPX quotedblleft V -17 +KPX quotedblleft W -15 +KPX quotedblleft Y -25 +KPX quotedblright A -94 +KPX quotedblright AE -147 +KPX quotedblright Aacute -94 +KPX quotedblright Adieresis -94 +KPX quotedblright Aring -94 +KPX quotedblright T -21 +KPX quotedblright V -22 +KPX quotedblright W -19 +KPX quotedblright Y -30 +KPX quoteleft A -78 +KPX quoteleft AE -131 +KPX quoteleft Aacute -78 +KPX quoteleft Adieresis -78 +KPX quoteleft Aring -78 +KPX quoteleft T -9 +KPX quoteleft V -8 +KPX quoteleft W -5 +KPX quoteleft Y -15 +KPX quoteright A -87 +KPX quoteright AE -140 +KPX quoteright Aacute -87 +KPX quoteright Adieresis -87 +KPX quoteright Aring -87 +KPX quoteright comma -73 +KPX quoteright d -79 +KPX quoteright o -78 +KPX quoteright period -78 +KPX quoteright r -57 +KPX quoteright s -63 +KPX quoteright t -49 +KPX quoteright v -28 +KPX quoteright w -26 +KPX quoteright y -28 +KPX r a -29 +KPX r aacute -29 +KPX r acircumflex -29 +KPX r adieresis -29 +KPX r ae -36 +KPX r agrave -29 +KPX r aring -29 +KPX r c -26 +KPX r ccedilla -17 +KPX r colon -28 +KPX r comma -68 +KPX r d -31 +KPX r e -35 +KPX r eacute -35 +KPX r ecircumflex -35 +KPX r egrave -35 +KPX r f 23 +KPX r g -21 +KPX r h -17 +KPX r hyphen -52 +KPX r i 8 +KPX r j 4 +KPX r k -15 +KPX r l -21 +KPX r m 17 +KPX r n 16 +KPX r o -28 +KPX r oacute -28 +KPX r ocircumflex -28 +KPX r odieresis -28 +KPX r oe -23 +KPX r ograve -28 +KPX r oslash -29 +KPX r p 13 +KPX r period -72 +KPX r q -31 +KPX r quoteright -4 +KPX r r 4 +KPX r s -17 +KPX r semicolon -28 +KPX r t 12 +KPX r u 11 +KPX r v 30 +KPX r w 32 +KPX r x 7 +KPX r y 33 +KPX r z 0 +KPX s quoteright -20 +KPX s t -12 +KPX seven colon -88 +KPX seven comma -79 +KPX seven eight -32 +KPX seven five -53 +KPX seven four -65 +KPX seven one -47 +KPX seven period -83 +KPX seven seven -11 +KPX seven six -37 +KPX seven three -42 +KPX seven two -13 +KPX six four 17 +KPX six one -64 +KPX six seven -37 +KPX t S -9 +KPX t a -6 +KPX t aacute -6 +KPX t adieresis -6 +KPX t ae -10 +KPX t aring -6 +KPX t colon -29 +KPX t e -13 +KPX t eacute -13 +KPX t h -11 +KPX t o -11 +KPX t oacute -11 +KPX t odieresis -11 +KPX t quoteright -19 +KPX t semicolon -26 +KPX three four -9 +KPX three one -76 +KPX three seven -15 +KPX two four -12 +KPX two one -45 +KPX two seven -22 +KPX u quoteright -31 +KPX v a -24 +KPX v aacute -26 +KPX v acircumflex -26 +KPX v adieresis -26 +KPX v ae -29 +KPX v agrave -26 +KPX v aring -26 +KPX v atilde -26 +KPX v c -26 +KPX v colon -48 +KPX v comma -46 +KPX v e -30 +KPX v eacute -32 +KPX v ecircumflex -32 +KPX v egrave -32 +KPX v g -36 +KPX v hyphen 0 +KPX v l -29 +KPX v o -26 +KPX v oacute -28 +KPX v odieresis -28 +KPX v ograve -28 +KPX v oslash -29 +KPX v period -51 +KPX v s -30 +KPX v semicolon -48 +KPX w a -26 +KPX w aacute -28 +KPX w acircumflex -28 +KPX w adieresis -28 +KPX w ae -31 +KPX w agrave -28 +KPX w aring -28 +KPX w atilde -28 +KPX w c -28 +KPX w colon -49 +KPX w comma -47 +KPX w e -32 +KPX w eacute -34 +KPX w ecircumflex -34 +KPX w egrave -34 +KPX w g -38 +KPX w hyphen -4 +KPX w l -30 +KPX w o -28 +KPX w oacute -30 +KPX w odieresis -30 +KPX w ograve -30 +KPX w oslash -31 +KPX w period -51 +KPX w s -32 +KPX w semicolon -49 +KPX x a 6 +KPX x c 0 +KPX x e 0 +KPX x eacute 0 +KPX x o 1 +KPX x q 2 +KPX y a -12 +KPX y aacute -12 +KPX y acircumflex -12 +KPX y adieresis -12 +KPX y ae -17 +KPX y agrave -12 +KPX y aring -12 +KPX y atilde -12 +KPX y c -15 +KPX y colon -48 +KPX y comma -21 +KPX y e -19 +KPX y eacute -19 +KPX y ecircumflex -19 +KPX y egrave -19 +KPX y g -34 +KPX y hyphen 7 +KPX y l -18 +KPX y o -15 +KPX y oacute -15 +KPX y odieresis -15 +KPX y ograve -15 +KPX y oslash -16 +KPX y period -25 +KPX y s -19 +KPX y semicolon -45 +KPX zero four 14 +KPX zero one -50 +KPX zero seven -3 +EndKernPairs +EndKernData +EndFontMetrics diff --git a/Master/xemtex/gsfonts/n021023l.pfb b/Master/xemtex/gsfonts/n021023l.pfb new file mode 100644 index 00000000000..35a514c0ee0 Binary files /dev/null and b/Master/xemtex/gsfonts/n021023l.pfb differ diff --git a/Master/xemtex/gsfonts/n021023l.pfm b/Master/xemtex/gsfonts/n021023l.pfm new file mode 100644 index 00000000000..e357bd8a9d3 Binary files /dev/null and b/Master/xemtex/gsfonts/n021023l.pfm differ diff --git a/Master/xemtex/gsfonts/n021024l.afm b/Master/xemtex/gsfonts/n021024l.afm new file mode 100644 index 00000000000..6652f8eed88 --- /dev/null +++ b/Master/xemtex/gsfonts/n021024l.afm @@ -0,0 +1,1341 @@ +StartFontMetrics 3.0 +Comment Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development +Comment Creation Date: 12/22/1999 +Comment See the file PUBLIC (Aladdin Free Public License) for license conditions. +FontName NimbusRomNo9L-MediItal +FullName Nimbus Roman No9 L Medium Italic +FamilyName Nimbus Roman No9 L +Weight Bold +ItalicAngle -15.0 +IsFixedPitch false +UnderlinePosition -100 +UnderlineThickness 50 +Version 1.05 +Notice (URW)++,Copyright 1999 by (URW)++ Design & Development +EncodingScheme AdobeStandardEncoding +FontBBox -200 -324 996 964 +CapHeight 669 +XHeight 449 +Descender -205 +Ascender 699 +StartCharMetrics 316 +C 32 ; WX 250 ; N space ; B 125 0 125 0 ; +C 33 ; WX 389 ; N exclam ; B 67 -13 370 684 ; +C 34 ; WX 555 ; N quotedbl ; B 136 398 536 685 ; +C 35 ; WX 500 ; N numbersign ; B -33 0 533 700 ; +C 36 ; WX 500 ; N dollar ; B -20 -100 497 733 ; +C 37 ; WX 833 ; N percent ; B 39 -10 793 692 ; +C 38 ; WX 778 ; N ampersand ; B 5 -19 699 682 ; +C 39 ; WX 333 ; N quoteright ; B 98 369 302 685 ; +C 40 ; WX 333 ; N parenleft ; B 28 -179 344 685 ; +C 41 ; WX 333 ; N parenright ; B -44 -179 271 685 ; +C 42 ; WX 500 ; N asterisk ; B 65 252 456 685 ; +C 43 ; WX 570 ; N plus ; B 33 0 537 506 ; +C 44 ; WX 250 ; N comma ; B -60 -182 144 134 ; +C 45 ; WX 333 ; N hyphen ; B 2 166 271 282 ; +C 46 ; WX 250 ; N period ; B -9 -13 139 135 ; +C 47 ; WX 278 ; N slash ; B -64 -18 342 685 ; +C 48 ; WX 500 ; N zero ; B 17 -14 477 683 ; +C 49 ; WX 500 ; N one ; B 5 0 419 683 ; +C 50 ; WX 500 ; N two ; B -27 0 446 683 ; +C 51 ; WX 500 ; N three ; B -15 -13 450 683 ; +C 52 ; WX 500 ; N four ; B -15 0 503 683 ; +C 53 ; WX 500 ; N five ; B -11 -13 487 669 ; +C 54 ; WX 500 ; N six ; B 23 -15 509 679 ; +C 55 ; WX 500 ; N seven ; B 52 0 525 669 ; +C 56 ; WX 500 ; N eight ; B 3 -13 476 683 ; +C 57 ; WX 500 ; N nine ; B -12 -10 475 683 ; +C 58 ; WX 333 ; N colon ; B 23 -13 264 459 ; +C 59 ; WX 333 ; N semicolon ; B -25 -183 264 459 ; +C 60 ; WX 570 ; N less ; B 31 -12 539 518 ; +C 61 ; WX 570 ; N equal ; B 33 107 537 399 ; +C 62 ; WX 570 ; N greater ; B 31 -12 539 518 ; +C 63 ; WX 500 ; N question ; B 79 -13 470 684 ; +C 64 ; WX 832 ; N at ; B 63 -18 770 685 ; +C 65 ; WX 667 ; N A ; B -67 0 593 683 ; +C 66 ; WX 667 ; N B ; B -24 0 624 669 ; +C 67 ; WX 667 ; N C ; B 32 -18 677 685 ; +C 68 ; WX 722 ; N D ; B -46 0 685 669 ; +C 69 ; WX 667 ; N E ; B -27 0 653 669 ; +C 70 ; WX 667 ; N F ; B -13 0 660 669 ; +C 71 ; WX 722 ; N G ; B 21 -18 706 685 ; +C 72 ; WX 778 ; N H ; B -24 0 799 669 ; +C 73 ; WX 389 ; N I ; B -32 0 406 669 ; +C 74 ; WX 500 ; N J ; B -46 -99 524 669 ; +C 75 ; WX 667 ; N K ; B -21 0 702 669 ; +C 76 ; WX 611 ; N L ; B -22 0 590 669 ; +C 77 ; WX 889 ; N M ; B -29 -12 917 669 ; +C 78 ; WX 722 ; N N ; B -27 -15 748 669 ; +C 79 ; WX 722 ; N O ; B 27 -18 691 685 ; +C 80 ; WX 611 ; N P ; B -27 0 613 669 ; +C 81 ; WX 722 ; N Q ; B 27 -208 691 685 ; +C 82 ; WX 667 ; N R ; B -29 0 623 669 ; +C 83 ; WX 556 ; N S ; B 2 -18 526 685 ; +C 84 ; WX 611 ; N T ; B 50 0 650 669 ; +C 85 ; WX 722 ; N U ; B 67 -18 744 669 ; +C 86 ; WX 667 ; N V ; B 65 -18 715 669 ; +C 87 ; WX 889 ; N W ; B 65 -18 940 669 ; +C 88 ; WX 667 ; N X ; B -24 0 694 669 ; +C 89 ; WX 611 ; N Y ; B 73 0 659 669 ; +C 90 ; WX 611 ; N Z ; B -11 0 590 669 ; +C 91 ; WX 333 ; N bracketleft ; B -37 -159 362 674 ; +C 92 ; WX 278 ; N backslash ; B -1 -18 279 685 ; +C 93 ; WX 333 ; N bracketright ; B -56 -157 343 674 ; +C 94 ; WX 570 ; N asciicircum ; B 67 304 503 669 ; +C 95 ; WX 500 ; N underscore ; B 0 -125 500 -75 ; +C 96 ; WX 333 ; N quoteleft ; B 128 369 332 685 ; +C 97 ; WX 500 ; N a ; B -21 -14 455 462 ; +C 98 ; WX 500 ; N b ; B -14 -13 444 699 ; +C 99 ; WX 444 ; N c ; B -5 -13 392 462 ; +C 100 ; WX 500 ; N d ; B -21 -13 517 699 ; +C 101 ; WX 444 ; N e ; B 5 -13 398 462 ; +C 102 ; WX 333 ; N f ; B -169 -205 446 698 ; +C 103 ; WX 500 ; N g ; B -52 -203 478 462 ; +C 104 ; WX 556 ; N h ; B -13 -9 498 699 ; +C 105 ; WX 278 ; N i ; B 2 -9 263 685 ; +C 106 ; WX 278 ; N j ; B -189 -207 279 685 ; +C 107 ; WX 500 ; N k ; B -23 -8 483 699 ; +C 108 ; WX 278 ; N l ; B 2 -9 290 699 ; +C 109 ; WX 778 ; N m ; B -14 -9 722 462 ; +C 110 ; WX 556 ; N n ; B -6 -9 493 462 ; +C 111 ; WX 500 ; N o ; B -3 -13 441 462 ; +C 112 ; WX 500 ; N p ; B -120 -205 446 462 ; +C 113 ; WX 500 ; N q ; B 1 -205 471 462 ; +C 114 ; WX 389 ; N r ; B -21 0 389 462 ; +C 115 ; WX 389 ; N s ; B -19 -13 333 462 ; +C 116 ; WX 278 ; N t ; B -11 -9 281 594 ; +C 117 ; WX 556 ; N u ; B 15 -9 492 462 ; +C 118 ; WX 444 ; N v ; B 16 -13 401 462 ; +C 119 ; WX 667 ; N w ; B 16 -13 614 462 ; +C 120 ; WX 500 ; N x ; B -46 -13 469 462 ; +C 121 ; WX 444 ; N y ; B -94 -205 392 462 ; +C 122 ; WX 389 ; N z ; B -43 -78 368 449 ; +C 123 ; WX 348 ; N braceleft ; B 5 -187 436 686 ; +C 124 ; WX 220 ; N bar ; B 66 -18 154 685 ; +C 125 ; WX 348 ; N braceright ; B -129 -187 302 686 ; +C 126 ; WX 570 ; N asciitilde ; B 54 175 516 331 ; +C 161 ; WX 389 ; N exclamdown ; B 19 -205 320 494 ; +C 162 ; WX 500 ; N cent ; B 42 -143 439 576 ; +C 163 ; WX 500 ; N sterling ; B -32 -12 510 683 ; +C 164 ; WX 167 ; N fraction ; B -169 -14 324 683 ; +C 165 ; WX 500 ; N yen ; B 33 0 628 669 ; +C 166 ; WX 500 ; N florin ; B -87 -156 537 707 ; +C 167 ; WX 500 ; N section ; B 36 -143 459 685 ; +C 168 ; WX 500 ; N currency ; B -26 34 526 586 ; +C 169 ; WX 278 ; N quotesingle ; B 128 398 268 685 ; +C 170 ; WX 500 ; N quotedblleft ; B 53 369 513 685 ; +C 171 ; WX 500 ; N guillemotleft ; B 12 32 468 415 ; +C 172 ; WX 333 ; N guilsinglleft ; B 32 32 303 415 ; +C 173 ; WX 333 ; N guilsinglright ; B 10 32 281 415 ; +C 174 ; WX 556 ; N fi ; B -188 -205 514 703 ; +C 175 ; WX 556 ; N fl ; B -186 -205 553 704 ; +C 177 ; WX 500 ; N endash ; B -40 178 477 269 ; +C 178 ; WX 500 ; N dagger ; B 91 -145 494 685 ; +C 179 ; WX 500 ; N daggerdbl ; B 10 -139 493 685 ; +C 180 ; WX 250 ; N periodcentered ; B 51 257 199 405 ; +C 182 ; WX 500 ; N paragraph ; B -57 -193 562 669 ; +C 183 ; WX 350 ; N bullet ; B 0 175 350 525 ; +C 184 ; WX 333 ; N quotesinglbase ; B -5 -182 199 134 ; +C 185 ; WX 500 ; N quotedblbase ; B -57 -182 403 134 ; +C 186 ; WX 500 ; N quotedblright ; B 53 369 513 685 ; +C 187 ; WX 500 ; N guillemotright ; B 12 32 468 415 ; +C 188 ; WX 1000 ; N ellipsis ; B 40 -13 852 135 ; +C 189 ; WX 1000 ; N perthousand ; B 7 -29 996 706 ; +C 191 ; WX 500 ; N questiondown ; B 30 -205 421 492 ; +C 193 ; WX 333 ; N grave ; B 85 516 297 697 ; +C 194 ; WX 333 ; N acute ; B 139 516 379 697 ; +C 195 ; WX 333 ; N circumflex ; B 40 516 367 690 ; +C 196 ; WX 333 ; N tilde ; B 48 536 407 655 ; +C 197 ; WX 333 ; N macron ; B 51 553 393 623 ; +C 198 ; WX 333 ; N breve ; B 71 516 387 678 ; +C 199 ; WX 333 ; N dotaccent ; B 163 525 293 655 ; +C 200 ; WX 333 ; N dieresis ; B 55 525 397 655 ; +C 202 ; WX 333 ; N ring ; B 127 540 340 754 ; +C 203 ; WX 333 ; N cedilla ; B -80 -218 156 5 ; +C 205 ; WX 333 ; N hungarumlaut ; B 69 516 498 697 ; +C 206 ; WX 333 ; N ogonek ; B -40 -173 189 44 ; +C 207 ; WX 333 ; N caron ; B 79 516 411 690 ; +C 208 ; WX 1000 ; N emdash ; B -40 178 977 269 ; +C 225 ; WX 944 ; N AE ; B -64 0 918 669 ; +C 227 ; WX 266 ; N ordfeminine ; B 16 399 330 685 ; +C 232 ; WX 611 ; N Lslash ; B -22 0 590 669 ; +C 233 ; WX 722 ; N Oslash ; B 27 -125 691 764 ; +C 234 ; WX 944 ; N OE ; B 23 -9 946 677 ; +C 235 ; WX 300 ; N ordmasculine ; B 56 400 350 685 ; +C 241 ; WX 722 ; N ae ; B -5 -13 673 462 ; +C 245 ; WX 278 ; N dotlessi ; B 2 -9 238 462 ; +C 248 ; WX 278 ; N lslash ; B -13 -9 301 699 ; +C 249 ; WX 500 ; N oslash ; B -3 -119 441 560 ; +C 250 ; WX 722 ; N oe ; B 6 -13 674 462 ; +C 251 ; WX 500 ; N germandbls ; B -200 -200 473 705 ; +C -1 ; WX 722 ; N Udieresis ; B 67 -18 744 862 ; +C -1 ; WX 722 ; N Uacute ; B 67 -18 744 904 ; +C -1 ; WX 556 ; N Scedilla ; B 2 -218 526 685 ; +C -1 ; WX 611 ; N Tcaron ; B 50 0 650 900 ; +C -1 ; WX 556 ; N Scaron ; B 2 -18 526 897 ; +C -1 ; WX 667 ; N Rcaron ; B -29 0 623 900 ; +C -1 ; WX 667 ; N Racute ; B -29 0 623 907 ; +C -1 ; WX 556 ; N Sacute ; B 2 -18 526 907 ; +C -1 ; WX 722 ; N Otilde ; B 27 -18 691 862 ; +C -1 ; WX 556 ; N ucircumflex ; B 15 -9 492 690 ; +C -1 ; WX 722 ; N Ohungarumlaut ; B 27 -18 693 907 ; +C -1 ; WX 722 ; N Uhungarumlaut ; B 67 -18 744 907 ; +C -1 ; WX 611 ; N Yacute ; B 73 0 659 904 ; +C -1 ; WX 722 ; N Eth ; B -31 0 700 669 ; +C -1 ; WX 722 ; N Dcroat ; B -31 0 700 669 ; +C -1 ; WX 611 ; N Zacute ; B -11 0 590 907 ; +C -1 ; WX 722 ; N Uring ; B 67 -18 744 964 ; +C -1 ; WX 500 ; N gbreve ; B -52 -203 478 678 ; +C -1 ; WX 444 ; N eogonek ; B 5 -173 404 462 ; +C -1 ; WX 444 ; N edotaccent ; B 5 -13 398 655 ; +C -1 ; WX 444 ; N ecaron ; B 5 -13 467 690 ; +C -1 ; WX 722 ; N Ugrave ; B 67 -18 744 904 ; +C -1 ; WX 611 ; N Thorn ; B -27 0 574 669 ; +C -1 ; WX 444 ; N eacute ; B 5 -13 435 697 ; +C -1 ; WX 444 ; N edieresis ; B 5 -13 443 655 ; +C -1 ; WX 600 ; N dcaron ; B -21 -13 664 699 ; +C -1 ; WX 444 ; N ccedilla ; B -24 -218 392 462 ; +C -1 ; WX 444 ; N ccaron ; B -5 -13 468 690 ; +C -1 ; WX 444 ; N cacute ; B -5 -13 444 697 ; +C -1 ; WX 500 ; N aogonek ; B -21 -173 500 462 ; +C -1 ; WX 500 ; N aring ; B -21 -14 455 754 ; +C -1 ; WX 500 ; N atilde ; B -21 -14 491 655 ; +C -1 ; WX 500 ; N abreve ; B -21 -14 470 678 ; +C -1 ; WX 444 ; N egrave ; B 5 -13 398 697 ; +C -1 ; WX 500 ; N agrave ; B -21 -14 455 697 ; +C -1 ; WX 500 ; N aacute ; B -21 -14 463 697 ; +C -1 ; WX 500 ; N adieresis ; B -21 -14 471 655 ; +C -1 ; WX 722 ; N Uogonek ; B 67 -173 744 669 ; +C -1 ; WX 556 ; N ugrave ; B 15 -9 492 697 ; +C -1 ; WX 556 ; N uacute ; B 15 -9 492 697 ; +C -1 ; WX 556 ; N udieresis ; B 15 -9 494 655 ; +C -1 ; WX 345 ; N tcaron ; B -11 -9 409 685 ; +C -1 ; WX 389 ; N scommaaccent ; B -26 -324 333 462 ; +C -1 ; WX 611 ; N Zcaron ; B -11 0 590 897 ; +C -1 ; WX 444 ; N ecircumflex ; B 5 -13 423 690 ; +C -1 ; WX 722 ; N Ucircumflex ; B 67 -18 744 897 ; +C -1 ; WX 500 ; N acircumflex ; B -21 -14 455 690 ; +C -1 ; WX 611 ; N Zdotaccent ; B -11 0 590 865 ; +C -1 ; WX 389 ; N scaron ; B -19 -13 439 690 ; +C -1 ; WX 667 ; N Amacron ; B -67 0 593 833 ; +C -1 ; WX 389 ; N sacute ; B -19 -13 407 697 ; +C -1 ; WX 611 ; N Tcommaaccent ; B 50 -324 650 669 ; +C -1 ; WX 611 ; N Ydieresis ; B 73 0 659 862 ; +C -1 ; WX 500 ; N thorn ; B -120 -205 446 699 ; +C -1 ; WX 667 ; N Emacron ; B -27 0 653 833 ; +C -1 ; WX 722 ; N Ograve ; B 27 -18 691 904 ; +C -1 ; WX 722 ; N Oacute ; B 27 -18 691 904 ; +C -1 ; WX 722 ; N Odieresis ; B 27 -18 691 862 ; +C -1 ; WX 722 ; N Ntilde ; B -27 -15 748 862 ; +C -1 ; WX 722 ; N Ncaron ; B -27 -15 748 900 ; +C -1 ; WX 722 ; N Nacute ; B -27 -15 748 907 ; +C -1 ; WX 611 ; N Lcaron ; B -22 0 651 685 ; +C -1 ; WX 611 ; N Lacute ; B -22 0 590 907 ; +C -1 ; WX 389 ; N Idotaccent ; B -32 0 406 865 ; +C -1 ; WX 389 ; N racute ; B -21 0 407 697 ; +C -1 ; WX 389 ; N Icircumflex ; B -32 0 420 897 ; +C -1 ; WX 500 ; N ohungarumlaut ; B -3 -13 582 697 ; +C -1 ; WX 500 ; N otilde ; B -3 -13 491 655 ; +C -1 ; WX 500 ; N Euro ; B 53 -5 666 689 ; +C -1 ; WX 500 ; N ocircumflex ; B -3 -13 451 690 ; +C -1 ; WX 300 ; N onesuperior ; B 30 274 301 683 ; +C -1 ; WX 300 ; N twosuperior ; B 2 274 313 683 ; +C -1 ; WX 300 ; N threesuperior ; B 17 265 321 683 ; +C -1 ; WX 389 ; N Igrave ; B -32 0 406 904 ; +C -1 ; WX 389 ; N Iacute ; B -32 0 407 907 ; +C -1 ; WX 389 ; N Imacron ; B -32 0 461 833 ; +C -1 ; WX 389 ; N Iogonek ; B -32 -173 406 669 ; +C -1 ; WX 389 ; N Idieresis ; B -32 0 445 862 ; +C -1 ; WX 722 ; N Gbreve ; B 21 -18 706 888 ; +C -1 ; WX 722 ; N Umacron ; B 67 -18 744 833 ; +C -1 ; WX 667 ; N Kcommaaccent ; B -21 -324 702 669 ; +C -1 ; WX 500 ; N ograve ; B -3 -13 441 697 ; +C -1 ; WX 556 ; N Scommaaccent ; B 2 -324 526 685 ; +C -1 ; WX 667 ; N Eogonek ; B -27 -173 667 669 ; +C -1 ; WX 500 ; N oacute ; B -3 -13 463 697 ; +C -1 ; WX 667 ; N Edotaccent ; B -27 0 653 865 ; +C -1 ; WX 278 ; N iogonek ; B 2 -173 278 685 ; +C -1 ; WX 500 ; N gcommaaccent ; B -52 -203 478 765 ; +C -1 ; WX 500 ; N odieresis ; B -3 -13 466 655 ; +C -1 ; WX 556 ; N ntilde ; B -6 -9 504 655 ; +C -1 ; WX 556 ; N ncaron ; B -6 -9 523 690 ; +C -1 ; WX 667 ; N Ecaron ; B -27 0 653 900 ; +C -1 ; WX 667 ; N Ecircumflex ; B -27 0 653 897 ; +C -1 ; WX 389 ; N scedilla ; B -40 -218 333 462 ; +C -1 ; WX 389 ; N rcaron ; B -21 0 439 690 ; +C -1 ; WX 667 ; N Egrave ; B -27 0 653 904 ; +C -1 ; WX 667 ; N Eacute ; B -27 0 653 904 ; +C -1 ; WX 722 ; N Gcommaaccent ; B 21 -324 706 685 ; +C -1 ; WX 667 ; N Rcommaaccent ; B -29 -324 623 669 ; +C -1 ; WX 667 ; N Edieresis ; B -27 0 653 862 ; +C -1 ; WX 556 ; N nacute ; B -6 -9 493 697 ; +C -1 ; WX 556 ; N uogonek ; B 15 -173 556 462 ; +C -1 ; WX 556 ; N umacron ; B 15 -9 505 623 ; +C -1 ; WX 722 ; N Dcaron ; B -46 0 685 900 ; +C -1 ; WX 382 ; N lcaron ; B 2 -9 446 699 ; +C -1 ; WX 667 ; N Ccaron ; B 32 -18 677 900 ; +C -1 ; WX 667 ; N Cacute ; B 32 -18 677 907 ; +C -1 ; WX 667 ; N Ccedilla ; B 32 -218 677 685 ; +C -1 ; WX 400 ; N degree ; B 83 397 369 683 ; +C -1 ; WX 667 ; N Aogonek ; B -67 -173 729 683 ; +C -1 ; WX 606 ; N minus ; B 51 209 555 297 ; +C -1 ; WX 570 ; N multiply ; B 48 16 522 490 ; +C -1 ; WX 570 ; N divide ; B 33 -29 537 535 ; +C -1 ; WX 667 ; N Aring ; B -67 0 593 950 ; +C -1 ; WX 1000 ; N trademark ; B 32 263 968 669 ; +C -1 ; WX 389 ; N rcommaaccent ; B -80 -324 389 462 ; +C -1 ; WX 278 ; N lacute ; B 2 -9 392 907 ; +C -1 ; WX 500 ; N omacron ; B -3 -13 477 623 ; +C -1 ; WX 667 ; N Atilde ; B -67 0 593 862 ; +C -1 ; WX 278 ; N icircumflex ; B -2 -9 325 690 ; +C -1 ; WX 278 ; N igrave ; B 2 -9 260 697 ; +C -1 ; WX 556 ; N ncommaaccent ; B -6 -324 493 462 ; +C -1 ; WX 278 ; N lcommaaccent ; B -81 -324 290 699 ; +C -1 ; WX 570 ; N plusminus ; B 33 0 537 568 ; +C -1 ; WX 750 ; N onehalf ; B -9 -14 723 683 ; +C -1 ; WX 750 ; N onequarter ; B 7 -14 721 683 ; +C -1 ; WX 750 ; N threequarters ; B 7 -14 726 683 ; +C -1 ; WX 278 ; N iacute ; B 2 -9 352 697 ; +C -1 ; WX 667 ; N Abreve ; B -67 0 593 888 ; +C -1 ; WX 500 ; N kcommaaccent ; B -23 -324 483 699 ; +C -1 ; WX 722 ; N Omacron ; B 27 -18 691 833 ; +C -1 ; WX 278 ; N imacron ; B 2 -9 366 623 ; +C -1 ; WX 444 ; N emacron ; B 5 -13 449 623 ; +C -1 ; WX 500 ; N amacron ; B -21 -14 477 623 ; +C -1 ; WX 278 ; N tcommaaccent ; B -81 -324 281 594 ; +C -1 ; WX 444 ; N ydieresis ; B -94 -205 438 655 ; +C -1 ; WX 389 ; N zdotaccent ; B -43 -78 368 655 ; +C -1 ; WX 389 ; N zcaron ; B -43 -78 424 690 ; +C -1 ; WX 389 ; N zacute ; B -43 -78 407 697 ; +C -1 ; WX 444 ; N yacute ; B -94 -205 435 697 ; +C -1 ; WX 556 ; N uhungarumlaut ; B 15 -9 610 697 ; +C -1 ; WX 500 ; N eth ; B -3 -13 454 699 ; +C -1 ; WX 556 ; N uring ; B 15 -9 492 754 ; +C -1 ; WX 722 ; N Ocircumflex ; B 27 -18 691 897 ; +C -1 ; WX 333 ; N commaaccent ; B -54 -324 130 -40 ; +C -1 ; WX 747 ; N copyright ; B 30 -18 718 685 ; +C -1 ; WX 747 ; N registered ; B 30 -18 718 685 ; +C -1 ; WX 667 ; N Acircumflex ; B -67 0 593 897 ; +C -1 ; WX 278 ; N idieresis ; B 2 -9 360 655 ; +C -1 ; WX 494 ; N lozenge ; B 18 0 466 740 ; +C -1 ; WX 612 ; N Delta ; B 6 0 608 688 ; +C -1 ; WX 570 ; N notequal ; B 33 -13 537 519 ; +C -1 ; WX 549 ; N radical ; B -17 -35 535 916 ; +C -1 ; WX 667 ; N Agrave ; B -67 0 593 904 ; +C -1 ; WX 667 ; N Aacute ; B -67 0 593 904 ; +C -1 ; WX 570 ; N lessequal ; B 31 0 539 642 ; +C -1 ; WX 570 ; N greaterequal ; B 31 0 539 642 ; +C -1 ; WX 606 ; N logicalnot ; B 51 108 555 399 ; +C -1 ; WX 713 ; N summation ; B 14 -123 695 752 ; +C -1 ; WX 494 ; N partialdiff ; B 16 -20 472 743 ; +C -1 ; WX 722 ; N Ncommaaccent ; B -27 -324 748 669 ; +C -1 ; WX 500 ; N dcroat ; B -21 -13 540 699 ; +C -1 ; WX 220 ; N brokenbar ; B 66 -18 154 685 ; +C -1 ; WX 611 ; N Lcommaaccent ; B -22 -324 590 669 ; +C -1 ; WX 667 ; N Adieresis ; B -67 0 593 862 ; +C -1 ; WX 576 ; N mu ; B -60 -207 516 449 ; +C -1 ; WX 250 ; N .notdef ; B 125 0 125 0 ; +EndCharMetrics +StartKernData +StartKernPairs 998 +KPX A C -61 +KPX A Ccedilla -63 +KPX A G -59 +KPX A O -53 +KPX A Odieresis -53 +KPX A Q -54 +KPX A T -33 +KPX A U -61 +KPX A Uacute -61 +KPX A Ucircumflex -61 +KPX A Udieresis -61 +KPX A Ugrave -61 +KPX A V -110 +KPX A W -107 +KPX A Y -44 +KPX A a -5 +KPX A b -1 +KPX A c -20 +KPX A ccedilla -29 +KPX A comma 0 +KPX A d -5 +KPX A e -25 +KPX A g -20 +KPX A guillemotleft -58 +KPX A guilsinglleft -68 +KPX A hyphen -23 +KPX A o -23 +KPX A period 1 +KPX A q -18 +KPX A quotedblright -78 +KPX A quoteright -101 +KPX A t -4 +KPX A u -18 +KPX A v -51 +KPX A w -56 +KPX A y -67 +KPX Aacute C -61 +KPX Aacute G -59 +KPX Aacute O -53 +KPX Aacute Q -54 +KPX Aacute T -33 +KPX Aacute U -61 +KPX Aacute V -110 +KPX Aacute W -107 +KPX Aacute Y -44 +KPX Aacute a -5 +KPX Aacute b -1 +KPX Aacute c -20 +KPX Aacute comma 0 +KPX Aacute d -5 +KPX Aacute e -25 +KPX Aacute g -20 +KPX Aacute guillemotleft -58 +KPX Aacute guilsinglleft -68 +KPX Aacute hyphen -23 +KPX Aacute o -23 +KPX Aacute period 1 +KPX Aacute q -18 +KPX Aacute quoteright -101 +KPX Aacute t -4 +KPX Aacute u -18 +KPX Aacute v -51 +KPX Aacute w -56 +KPX Aacute y -67 +KPX Acircumflex C -61 +KPX Acircumflex G -59 +KPX Acircumflex O -53 +KPX Acircumflex Q -54 +KPX Acircumflex T -33 +KPX Acircumflex U -61 +KPX Acircumflex V -110 +KPX Acircumflex W -107 +KPX Acircumflex Y -44 +KPX Acircumflex comma 0 +KPX Acircumflex period 1 +KPX Adieresis C -61 +KPX Adieresis G -59 +KPX Adieresis O -53 +KPX Adieresis Q -54 +KPX Adieresis T -33 +KPX Adieresis U -61 +KPX Adieresis V -110 +KPX Adieresis W -107 +KPX Adieresis Y -44 +KPX Adieresis a -5 +KPX Adieresis b -1 +KPX Adieresis c -20 +KPX Adieresis comma 0 +KPX Adieresis d -5 +KPX Adieresis g -20 +KPX Adieresis guillemotleft -58 +KPX Adieresis guilsinglleft -68 +KPX Adieresis hyphen -23 +KPX Adieresis o -23 +KPX Adieresis period 1 +KPX Adieresis q -18 +KPX Adieresis quotedblright -78 +KPX Adieresis quoteright -101 +KPX Adieresis t -4 +KPX Adieresis u -18 +KPX Adieresis v -51 +KPX Adieresis w -56 +KPX Adieresis y -67 +KPX Agrave C -61 +KPX Agrave G -59 +KPX Agrave O -53 +KPX Agrave Q -54 +KPX Agrave T -33 +KPX Agrave U -61 +KPX Agrave V -110 +KPX Agrave W -107 +KPX Agrave Y -44 +KPX Agrave comma 0 +KPX Agrave period 1 +KPX Aring C -61 +KPX Aring G -59 +KPX Aring O -53 +KPX Aring Q -54 +KPX Aring T -33 +KPX Aring U -61 +KPX Aring V -110 +KPX Aring W -107 +KPX Aring Y -44 +KPX Aring a -5 +KPX Aring b -1 +KPX Aring c -20 +KPX Aring comma 0 +KPX Aring d -5 +KPX Aring e -25 +KPX Aring g -20 +KPX Aring guillemotleft -58 +KPX Aring guilsinglleft -68 +KPX Aring hyphen -23 +KPX Aring o -23 +KPX Aring period 1 +KPX Aring q -18 +KPX Aring quotedblright -78 +KPX Aring quoteright -101 +KPX Aring t -4 +KPX Aring u -18 +KPX Aring v -51 +KPX Aring w -56 +KPX Aring y -67 +KPX Atilde C -61 +KPX Atilde G -59 +KPX Atilde O -53 +KPX Atilde Q -54 +KPX Atilde T -33 +KPX Atilde U -61 +KPX Atilde V -110 +KPX Atilde W -107 +KPX Atilde Y -44 +KPX Atilde comma 0 +KPX Atilde period 1 +KPX B A -34 +KPX B AE -40 +KPX B Aacute -34 +KPX B Acircumflex -34 +KPX B Adieresis -34 +KPX B Aring -34 +KPX B Atilde -34 +KPX B O -22 +KPX B OE -20 +KPX B Oacute -22 +KPX B Ocircumflex -22 +KPX B Odieresis -22 +KPX B Ograve -22 +KPX B Oslash -23 +KPX B V -46 +KPX B W -46 +KPX B Y -50 +KPX C A -24 +KPX C AE -31 +KPX C Aacute -24 +KPX C Adieresis -24 +KPX C Aring -24 +KPX C H -26 +KPX C K -28 +KPX C O -25 +KPX C Oacute -25 +KPX C Odieresis -25 +KPX Ccedilla A -30 +KPX D A -54 +KPX D Aacute -54 +KPX D Acircumflex -54 +KPX D Adieresis -54 +KPX D Agrave -54 +KPX D Aring -54 +KPX D Atilde -54 +KPX D J -67 +KPX D T -27 +KPX D V -60 +KPX D W -58 +KPX D X -64 +KPX D Y -64 +KPX F A -101 +KPX F Aacute -101 +KPX F Acircumflex -101 +KPX F Adieresis -101 +KPX F Agrave -101 +KPX F Aring -101 +KPX F Atilde -101 +KPX F J -88 +KPX F O -48 +KPX F Odieresis -48 +KPX F a -75 +KPX F aacute -75 +KPX F adieresis -48 +KPX F ae -83 +KPX F aring -75 +KPX F comma -96 +KPX F e -86 +KPX F eacute -86 +KPX F hyphen -54 +KPX F i -29 +KPX F j -34 +KPX F o -81 +KPX F oacute -82 +KPX F odieresis -45 +KPX F oe -86 +KPX F oslash -79 +KPX F period -98 +KPX F r -38 +KPX F u -42 +KPX G A -14 +KPX G AE -20 +KPX G Aacute -14 +KPX G Acircumflex -14 +KPX G Adieresis -14 +KPX G Agrave -14 +KPX G Aring -14 +KPX G Atilde -14 +KPX G T -42 +KPX G V -27 +KPX G W -27 +KPX G Y -31 +KPX J A -39 +KPX J AE -42 +KPX J Adieresis -39 +KPX J Aring -39 +KPX K C -51 +KPX K G -46 +KPX K O -43 +KPX K OE -42 +KPX K Oacute -43 +KPX K Odieresis -43 +KPX K S -1 +KPX K T 0 +KPX K a 3 +KPX K adieresis 3 +KPX K ae -4 +KPX K aring 3 +KPX K e -16 +KPX K hyphen -30 +KPX K o -13 +KPX K oacute -13 +KPX K odieresis -13 +KPX K u -8 +KPX K udieresis -8 +KPX K y -68 +KPX L A 28 +KPX L AE 25 +KPX L Aacute 28 +KPX L Adieresis 28 +KPX L Aring 28 +KPX L C 0 +KPX L Ccedilla 0 +KPX L G 4 +KPX L O 4 +KPX L Oacute 4 +KPX L Ocircumflex 4 +KPX L Odieresis 4 +KPX L Ograve 4 +KPX L Otilde 4 +KPX L S 1 +KPX L T -30 +KPX L U -17 +KPX L Udieresis -17 +KPX L V -77 +KPX L W -74 +KPX L Y -41 +KPX L hyphen 41 +KPX L quotedblright -45 +KPX L quoteright -67 +KPX L u 5 +KPX L udieresis 5 +KPX L y -23 +KPX N A -39 +KPX N AE -42 +KPX N Aacute -39 +KPX N Adieresis -39 +KPX N Aring -39 +KPX N C -32 +KPX N Ccedilla -30 +KPX N G -26 +KPX N O -32 +KPX N Oacute -32 +KPX N Odieresis -32 +KPX N a -25 +KPX N aacute -27 +KPX N adieresis -27 +KPX N ae -34 +KPX N aring -27 +KPX N comma -24 +KPX N e -37 +KPX N eacute -38 +KPX N o -32 +KPX N oacute -34 +KPX N odieresis -34 +KPX N oslash -32 +KPX N period -26 +KPX N u -33 +KPX N udieresis -33 +KPX O A -57 +KPX O AE -67 +KPX O Aacute -57 +KPX O Adieresis -57 +KPX O Aring -57 +KPX O T -18 +KPX O V -52 +KPX O W -52 +KPX O X -63 +KPX O Y -56 +KPX Oacute A -57 +KPX Oacute T -18 +KPX Oacute V -52 +KPX Oacute W -52 +KPX Oacute Y -56 +KPX Ocircumflex T -18 +KPX Ocircumflex V -52 +KPX Ocircumflex Y -56 +KPX Odieresis A -57 +KPX Odieresis T -18 +KPX Odieresis V -52 +KPX Odieresis W -52 +KPX Odieresis X -63 +KPX Odieresis Y -56 +KPX Ograve T -18 +KPX Ograve V -52 +KPX Ograve Y -56 +KPX Oslash A -57 +KPX Otilde T -18 +KPX Otilde V -52 +KPX Otilde Y -56 +KPX P A -89 +KPX P AE -104 +KPX P Aacute -89 +KPX P Adieresis -89 +KPX P Aring -89 +KPX P J -105 +KPX P a -50 +KPX P aacute -50 +KPX P adieresis -38 +KPX P ae -58 +KPX P aring -50 +KPX P comma -107 +KPX P e -57 +KPX P eacute -57 +KPX P hyphen -54 +KPX P o -52 +KPX P oacute -52 +KPX P odieresis -35 +KPX P oe -57 +KPX P oslash -47 +KPX P period -109 +KPX R C -33 +KPX R Ccedilla -32 +KPX R G -28 +KPX R O -34 +KPX R OE -32 +KPX R Oacute -34 +KPX R Odieresis -34 +KPX R T -24 +KPX R U -44 +KPX R Udieresis -44 +KPX R V -46 +KPX R W -46 +KPX R Y -40 +KPX R a -1 +KPX R aacute -1 +KPX R adieresis -1 +KPX R ae -9 +KPX R aring -1 +KPX R e -21 +KPX R eacute -21 +KPX R hyphen -30 +KPX R o -18 +KPX R oacute -18 +KPX R odieresis -18 +KPX R oe -23 +KPX R u -13 +KPX R uacute -13 +KPX R udieresis -13 +KPX R y -12 +KPX S A -11 +KPX S AE -17 +KPX S Aacute -11 +KPX S Adieresis -11 +KPX S Aring -11 +KPX S T -34 +KPX S V -20 +KPX S W -20 +KPX S Y -24 +KPX S t -6 +KPX T A -52 +KPX T AE -54 +KPX T Aacute -52 +KPX T Acircumflex -52 +KPX T Adieresis -52 +KPX T Agrave -52 +KPX T Aring -52 +KPX T Atilde -52 +KPX T C -15 +KPX T G -9 +KPX T J -63 +KPX T O -22 +KPX T OE -18 +KPX T Oacute -22 +KPX T Ocircumflex -22 +KPX T Odieresis -22 +KPX T Ograve -22 +KPX T Oslash -22 +KPX T Otilde -22 +KPX T S -16 +KPX T V 15 +KPX T W 15 +KPX T Y 11 +KPX T a -83 +KPX T ae -91 +KPX T c -89 +KPX T colon -98 +KPX T comma -77 +KPX T e -94 +KPX T g -95 +KPX T guillemotleft -110 +KPX T guilsinglleft -120 +KPX T hyphen -74 +KPX T i -19 +KPX T j -27 +KPX T o -90 +KPX T oslash -90 +KPX T period -79 +KPX T r -76 +KPX T s -78 +KPX T semicolon -98 +KPX T u -91 +KPX T v -89 +KPX T w -89 +KPX T y -86 +KPX U A -65 +KPX U AE -71 +KPX U Aacute -65 +KPX U Acircumflex -65 +KPX U Adieresis -65 +KPX U Aring -65 +KPX U Atilde -65 +KPX U comma -40 +KPX U m -35 +KPX U n -39 +KPX U p -30 +KPX U period -41 +KPX U r -32 +KPX Uacute A -65 +KPX Uacute comma -40 +KPX Uacute m -35 +KPX Uacute n -39 +KPX Uacute p -30 +KPX Uacute period -41 +KPX Uacute r -32 +KPX Ucircumflex A -65 +KPX Udieresis A -65 +KPX Udieresis b 1 +KPX Udieresis comma -40 +KPX Udieresis m -35 +KPX Udieresis n -39 +KPX Udieresis p -30 +KPX Udieresis period -41 +KPX Udieresis r -32 +KPX Ugrave A -65 +KPX V A -100 +KPX V AE -111 +KPX V Aacute -100 +KPX V Acircumflex -100 +KPX V Adieresis -100 +KPX V Agrave -100 +KPX V Aring -100 +KPX V Atilde -100 +KPX V C -60 +KPX V G -53 +KPX V O -64 +KPX V Oacute -64 +KPX V Ocircumflex -64 +KPX V Odieresis -64 +KPX V Ograve -64 +KPX V Oslash -64 +KPX V Otilde -64 +KPX V S -25 +KPX V T 7 +KPX V a -76 +KPX V ae -84 +KPX V colon -96 +KPX V comma -96 +KPX V e -87 +KPX V g -83 +KPX V guillemotleft -99 +KPX V guilsinglleft -109 +KPX V hyphen -62 +KPX V i -12 +KPX V o -83 +KPX V oslash -81 +KPX V period -97 +KPX V r -44 +KPX V semicolon -96 +KPX V u -47 +KPX V y -34 +KPX W A -83 +KPX W AE -87 +KPX W Aacute -83 +KPX W Acircumflex -83 +KPX W Adieresis -83 +KPX W Agrave -83 +KPX W Aring -83 +KPX W Atilde -83 +KPX W C -46 +KPX W G -41 +KPX W O -47 +KPX W Oacute -47 +KPX W Ocircumflex -47 +KPX W Odieresis -47 +KPX W Ograve -47 +KPX W Oslash -48 +KPX W Otilde -47 +KPX W S -24 +KPX W T 8 +KPX W a -51 +KPX W ae -60 +KPX W colon -78 +KPX W comma -62 +KPX W e -62 +KPX W g -63 +KPX W guillemotleft -74 +KPX W guilsinglleft -84 +KPX W hyphen -37 +KPX W i -11 +KPX W o -58 +KPX W oslash -57 +KPX W period -64 +KPX W r -34 +KPX W semicolon -79 +KPX W u -38 +KPX W y -25 +KPX X C -58 +KPX X O -56 +KPX X Odieresis -56 +KPX X Q -58 +KPX X a -9 +KPX X e -29 +KPX X hyphen -46 +KPX X o -26 +KPX X u -21 +KPX X y -81 +KPX Y A -45 +KPX Y AE -47 +KPX Y Aacute -45 +KPX Y Acircumflex -45 +KPX Y Adieresis -45 +KPX Y Agrave -45 +KPX Y Aring -45 +KPX Y Atilde -45 +KPX Y C -59 +KPX Y G -54 +KPX Y O -61 +KPX Y Oacute -61 +KPX Y Ocircumflex -61 +KPX Y Odieresis -61 +KPX Y Ograve -61 +KPX Y Oslash -61 +KPX Y Otilde -61 +KPX Y S -25 +KPX Y T 7 +KPX Y a -69 +KPX Y ae -77 +KPX Y colon -91 +KPX Y comma -67 +KPX Y e -80 +KPX Y g -81 +KPX Y guillemotleft -97 +KPX Y guilsinglleft -107 +KPX Y hyphen -63 +KPX Y i -12 +KPX Y o -76 +KPX Y oslash -75 +KPX Y p -54 +KPX Y period -69 +KPX Y semicolon -91 +KPX Y u -59 +KPX Y v -54 +KPX Z v -29 +KPX Z y -39 +KPX a j -2 +KPX a quoteright -22 +KPX a v -5 +KPX a w -5 +KPX a y -3 +KPX aacute v -5 +KPX aacute w -5 +KPX aacute y -3 +KPX adieresis v -5 +KPX adieresis w -5 +KPX adieresis y -3 +KPX ae v -5 +KPX ae w -5 +KPX ae y -8 +KPX agrave v -5 +KPX agrave w -5 +KPX agrave y -3 +KPX aring v -5 +KPX aring w -5 +KPX aring y -3 +KPX b v -12 +KPX b w -12 +KPX b y -17 +KPX c h -20 +KPX c k -16 +KPX comma one -26 +KPX comma quotedblright -1 +KPX comma quoteright -23 +KPX e quoteright -12 +KPX e t -3 +KPX e v -3 +KPX e w -3 +KPX e x -15 +KPX e y -6 +KPX eacute v -3 +KPX eacute w -3 +KPX eacute y -6 +KPX ecircumflex v -3 +KPX ecircumflex w -3 +KPX ecircumflex y -6 +KPX eight four -4 +KPX eight one -52 +KPX eight seven -13 +KPX f a -23 +KPX f aacute -24 +KPX f adieresis 17 +KPX f ae -32 +KPX f aring -20 +KPX f e -35 +KPX f eacute -36 +KPX f f 2 +KPX f i 20 +KPX f j 12 +KPX f l 43 +KPX f o -30 +KPX f oacute -31 +KPX f odieresis 20 +KPX f oe -35 +KPX f oslash -29 +KPX f quoteright 12 +KPX f s -14 +KPX f t 9 +KPX five four -13 +KPX five one -56 +KPX five seven -37 +KPX four four 1 +KPX four one -50 +KPX four seven -21 +KPX g a -25 +KPX g adieresis -25 +KPX g ae -34 +KPX g aring -25 +KPX g e -32 +KPX g eacute -32 +KPX g l -21 +KPX g oacute -27 +KPX g odieresis -27 +KPX g r 3 +KPX guillemotright A -30 +KPX guillemotright AE -39 +KPX guillemotright Aacute -30 +KPX guillemotright Adieresis -30 +KPX guillemotright Aring -30 +KPX guillemotright T -76 +KPX guillemotright V -79 +KPX guillemotright W -75 +KPX guillemotright Y -83 +KPX guilsinglright A -40 +KPX guilsinglright AE -49 +KPX guilsinglright Aacute -40 +KPX guilsinglright Adieresis -40 +KPX guilsinglright Aring -40 +KPX guilsinglright T -86 +KPX guilsinglright V -89 +KPX guilsinglright W -85 +KPX guilsinglright Y -93 +KPX h quoteright -32 +KPX h y -20 +KPX hyphen A -13 +KPX hyphen AE -22 +KPX hyphen Aacute -13 +KPX hyphen Adieresis -13 +KPX hyphen Aring -13 +KPX hyphen T -59 +KPX hyphen V -62 +KPX hyphen W -59 +KPX hyphen Y -69 +KPX i T -20 +KPX i j -5 +KPX k a 10 +KPX k aacute 10 +KPX k adieresis 10 +KPX k ae 2 +KPX k aring 10 +KPX k comma 19 +KPX k e -2 +KPX k eacute -2 +KPX k g -14 +KPX k hyphen 1 +KPX k o 1 +KPX k oacute 1 +KPX k odieresis 1 +KPX k period 17 +KPX k s 1 +KPX k u 2 +KPX k udieresis 2 +KPX l v -12 +KPX l y -8 +KPX m p -1 +KPX m v -16 +KPX m w -16 +KPX m y -16 +KPX n T -59 +KPX n p -4 +KPX n quoteright -32 +KPX n v -20 +KPX n w -20 +KPX n y -20 +KPX nine four -18 +KPX nine one -67 +KPX nine seven -12 +KPX o T -75 +KPX o quoteright -22 +KPX o t -2 +KPX o v -21 +KPX o w -21 +KPX o x -26 +KPX o y -29 +KPX oacute v -21 +KPX oacute w -21 +KPX oacute y -29 +KPX ocircumflex t -4 +KPX odieresis t -4 +KPX odieresis v -21 +KPX odieresis w -21 +KPX odieresis x -26 +KPX odieresis y -29 +KPX ograve v -21 +KPX ograve w -21 +KPX ograve y -29 +KPX one comma -38 +KPX one eight -56 +KPX one five -45 +KPX one four -75 +KPX one nine -40 +KPX one one -48 +KPX one period -39 +KPX one seven -65 +KPX one six -62 +KPX one three -43 +KPX one two -32 +KPX one zero -48 +KPX p t -2 +KPX p y -13 +KPX period one -32 +KPX period quotedblright -5 +KPX period quoteright -27 +KPX q c -6 +KPX q u -5 +KPX quotedblbase A 24 +KPX quotedblbase AE 19 +KPX quotedblbase T -37 +KPX quotedblbase V -79 +KPX quotedblbase W -74 +KPX quotedblbase Y -48 +KPX quotedblleft A -76 +KPX quotedblleft AE -98 +KPX quotedblleft Aacute -76 +KPX quotedblleft Adieresis -76 +KPX quotedblleft Aring -76 +KPX quotedblleft T -11 +KPX quotedblleft V 3 +KPX quotedblleft W 3 +KPX quotedblleft Y 0 +KPX quotedblright A -72 +KPX quotedblright AE -94 +KPX quotedblright Aacute -72 +KPX quotedblright Adieresis -72 +KPX quotedblright Aring -72 +KPX quotedblright T -1 +KPX quotedblright V 6 +KPX quotedblright W 6 +KPX quotedblright Y 2 +KPX quoteleft A -83 +KPX quoteleft AE -105 +KPX quoteleft Aacute -83 +KPX quoteleft Adieresis -83 +KPX quoteleft Aring -83 +KPX quoteleft T -18 +KPX quoteleft V -3 +KPX quoteleft W -3 +KPX quoteleft Y -7 +KPX quoteright A -94 +KPX quoteright AE -116 +KPX quoteright Aacute -94 +KPX quoteright Adieresis -94 +KPX quoteright Aring -94 +KPX quoteright comma -57 +KPX quoteright d -50 +KPX quoteright o -50 +KPX quoteright period -59 +KPX quoteright r -26 +KPX quoteright s -26 +KPX quoteright t -19 +KPX quoteright v -23 +KPX quoteright w -23 +KPX quoteright y -18 +KPX r a -13 +KPX r aacute -13 +KPX r acircumflex -13 +KPX r adieresis -13 +KPX r ae -22 +KPX r agrave -13 +KPX r aring -13 +KPX r c -15 +KPX r ccedilla -8 +KPX r colon -30 +KPX r comma -67 +KPX r d -14 +KPX r e -20 +KPX r eacute -20 +KPX r ecircumflex -20 +KPX r egrave -20 +KPX r f 8 +KPX r g -4 +KPX r h -16 +KPX r hyphen -13 +KPX r i 17 +KPX r j 12 +KPX r k -11 +KPX r l -12 +KPX r m 10 +KPX r n 6 +KPX r o -15 +KPX r oacute -15 +KPX r ocircumflex -15 +KPX r odieresis -15 +KPX r oe -19 +KPX r ograve -15 +KPX r oslash -12 +KPX r p 16 +KPX r period -69 +KPX r q -19 +KPX r quoteright 0 +KPX r r 14 +KPX r s 1 +KPX r semicolon -30 +KPX r t 12 +KPX r u 11 +KPX r v 20 +KPX r w 20 +KPX r x 7 +KPX r y 20 +KPX r z 10 +KPX s quoteright -22 +KPX s t -6 +KPX seven colon -90 +KPX seven comma -80 +KPX seven eight -46 +KPX seven five -60 +KPX seven four -79 +KPX seven one -43 +KPX seven period -81 +KPX seven seven -27 +KPX seven six -60 +KPX seven three -42 +KPX seven two -30 +KPX six four 2 +KPX six one -52 +KPX six seven -32 +KPX t S -11 +KPX t a 10 +KPX t aacute 10 +KPX t adieresis 10 +KPX t ae 2 +KPX t aring 10 +KPX t colon -22 +KPX t e -2 +KPX t eacute -2 +KPX t h -5 +KPX t o 1 +KPX t oacute 1 +KPX t odieresis 1 +KPX t quoteright -19 +KPX t semicolon -23 +KPX three four -15 +KPX three one -67 +KPX three seven -27 +KPX two four -8 +KPX two one -48 +KPX two seven -27 +KPX u quoteright -33 +KPX v a -20 +KPX v aacute -20 +KPX v acircumflex -20 +KPX v adieresis -20 +KPX v ae -28 +KPX v agrave -20 +KPX v aring -20 +KPX v atilde -20 +KPX v c -24 +KPX v colon -51 +KPX v comma -51 +KPX v e -28 +KPX v eacute -28 +KPX v ecircumflex -28 +KPX v egrave -28 +KPX v g -20 +KPX v hyphen -1 +KPX v l -24 +KPX v o -24 +KPX v oacute -24 +KPX v odieresis -24 +KPX v ograve -24 +KPX v oslash -22 +KPX v period -51 +KPX v s -19 +KPX v semicolon -51 +KPX w a -24 +KPX w aacute -24 +KPX w acircumflex -24 +KPX w adieresis -24 +KPX w ae -32 +KPX w agrave -24 +KPX w aring -24 +KPX w atilde -24 +KPX w c -30 +KPX w colon -56 +KPX w comma -53 +KPX w e -34 +KPX w eacute -34 +KPX w ecircumflex -34 +KPX w egrave -34 +KPX w g -26 +KPX w hyphen -7 +KPX w l -28 +KPX w o -30 +KPX w oacute -30 +KPX w odieresis -30 +KPX w ograve -30 +KPX w oslash -28 +KPX w period -53 +KPX w s -24 +KPX w semicolon -56 +KPX x a -1 +KPX x c -10 +KPX x e -14 +KPX x eacute -14 +KPX x o -11 +KPX x q -12 +KPX y a -11 +KPX y aacute -12 +KPX y acircumflex -12 +KPX y adieresis -12 +KPX y ae -19 +KPX y agrave -12 +KPX y aring -12 +KPX y atilde -12 +KPX y c -17 +KPX y colon -43 +KPX y comma -25 +KPX y e -22 +KPX y eacute -23 +KPX y ecircumflex -23 +KPX y egrave -23 +KPX y g -23 +KPX y hyphen 2 +KPX y l -16 +KPX y o -17 +KPX y oacute -19 +KPX y odieresis -19 +KPX y ograve -19 +KPX y oslash -17 +KPX y period -26 +KPX y s -13 +KPX y semicolon -44 +KPX zero four -1 +KPX zero one -50 +KPX zero seven -12 +EndKernPairs +EndKernData +EndFontMetrics diff --git a/Master/xemtex/gsfonts/n021024l.pfb b/Master/xemtex/gsfonts/n021024l.pfb new file mode 100644 index 00000000000..cf7585990ac Binary files /dev/null and b/Master/xemtex/gsfonts/n021024l.pfb differ diff --git a/Master/xemtex/gsfonts/n021024l.pfm b/Master/xemtex/gsfonts/n021024l.pfm new file mode 100644 index 00000000000..ff4e7bf9650 Binary files /dev/null and b/Master/xemtex/gsfonts/n021024l.pfm differ diff --git a/Master/xemtex/gsfonts/n022003l.afm b/Master/xemtex/gsfonts/n022003l.afm new file mode 100644 index 00000000000..8cd66bd068a --- /dev/null +++ b/Master/xemtex/gsfonts/n022003l.afm @@ -0,0 +1,1341 @@ +StartFontMetrics 3.0 +Comment Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development +Comment Creation Date: 12/22/1999 +Comment See the file PUBLIC (Aladdin Free Public License) for license conditions. +FontName NimbusMonL-Regu +FullName Nimbus Mono L Regular +FamilyName Nimbus Mono L +Weight Regular +ItalicAngle 0.0 +IsFixedPitch false +UnderlinePosition -100 +UnderlineThickness 50 +Version 1.05 +Notice (URW)++,Copyright 1999 by (URW)++ Design & Development +EncodingScheme AdobeStandardEncoding +FontBBox -12 -237 650 811 +CapHeight 563 +XHeight 417 +Descender -186 +Ascender 604 +StartCharMetrics 316 +C 32 ; WX 600 ; N space ; B 295 0 295 0 ; +C 33 ; WX 600 ; N exclam ; B 240 -15 360 618 ; +C 34 ; WX 600 ; N quotedbl ; B 146 315 454 604 ; +C 35 ; WX 600 ; N numbersign ; B 92 -62 508 647 ; +C 36 ; WX 600 ; N dollar ; B 113 -92 487 655 ; +C 37 ; WX 600 ; N percent ; B 87 -12 513 611 ; +C 38 ; WX 600 ; N ampersand ; B 105 -16 478 519 ; +C 39 ; WX 600 ; N quoteright ; B 135 314 340 604 ; +C 40 ; WX 600 ; N parenleft ; B 294 -124 458 604 ; +C 41 ; WX 600 ; N parenright ; B 147 -124 311 604 ; +C 42 ; WX 600 ; N asterisk ; B 113 250 487 604 ; +C 43 ; WX 600 ; N plus ; B 72 32 528 530 ; +C 44 ; WX 600 ; N comma ; B 135 -145 340 145 ; +C 45 ; WX 600 ; N hyphen ; B 72 258 528 299 ; +C 46 ; WX 600 ; N period ; B 226 -15 374 116 ; +C 47 ; WX 600 ; N slash ; B 113 -81 487 668 ; +C 48 ; WX 600 ; N zero ; B 113 -15 487 618 ; +C 49 ; WX 600 ; N one ; B 113 0 487 612 ; +C 50 ; WX 600 ; N two ; B 84 0 478 618 ; +C 51 ; WX 600 ; N three ; B 96 -15 499 618 ; +C 52 ; WX 600 ; N four ; B 105 0 478 604 ; +C 53 ; WX 600 ; N five ; B 96 -15 499 604 ; +C 54 ; WX 600 ; N six ; B 136 -15 510 618 ; +C 55 ; WX 600 ; N seven ; B 105 -1 478 604 ; +C 56 ; WX 600 ; N eight ; B 113 -15 487 618 ; +C 57 ; WX 600 ; N nine ; B 136 -15 510 618 ; +C 58 ; WX 600 ; N colon ; B 226 -15 374 417 ; +C 59 ; WX 600 ; N semicolon ; B 139 -145 350 417 ; +C 60 ; WX 600 ; N less ; B 72 44 522 518 ; +C 61 ; WX 600 ; N equal ; B 51 190 549 375 ; +C 62 ; WX 600 ; N greater ; B 78 44 528 518 ; +C 63 ; WX 600 ; N question ; B 134 -15 487 577 ; +C 64 ; WX 600 ; N at ; B 105 -62 478 624 ; +C 65 ; WX 600 ; N A ; B 9 0 591 563 ; +C 66 ; WX 600 ; N B ; B 43 0 541 563 ; +C 67 ; WX 600 ; N C ; B 63 -16 534 576 ; +C 68 ; WX 600 ; N D ; B 43 0 520 563 ; +C 69 ; WX 600 ; N E ; B 43 0 520 563 ; +C 70 ; WX 600 ; N F ; B 43 0 520 563 ; +C 71 ; WX 600 ; N G ; B 63 -16 562 576 ; +C 72 ; WX 600 ; N H ; B 53 0 551 563 ; +C 73 ; WX 600 ; N I ; B 113 0 487 563 ; +C 74 ; WX 600 ; N J ; B 84 -16 583 563 ; +C 75 ; WX 600 ; N K ; B 43 0 572 563 ; +C 76 ; WX 600 ; N L ; B 63 0 541 563 ; +C 77 ; WX 600 ; N M ; B 11 0 593 563 ; +C 78 ; WX 600 ; N N ; B 22 0 562 563 ; +C 79 ; WX 600 ; N O ; B 51 -16 549 576 ; +C 80 ; WX 600 ; N P ; B 43 0 499 563 ; +C 81 ; WX 600 ; N Q ; B 51 -115 549 576 ; +C 82 ; WX 600 ; N R ; B 43 0 589 563 ; +C 83 ; WX 600 ; N S ; B 92 -16 508 576 ; +C 84 ; WX 600 ; N T ; B 72 0 528 563 ; +C 85 ; WX 600 ; N U ; B 40 -16 560 563 ; +C 86 ; WX 600 ; N V ; B 9 0 591 563 ; +C 87 ; WX 600 ; N W ; B 20 0 580 563 ; +C 88 ; WX 600 ; N X ; B 40 0 560 563 ; +C 89 ; WX 600 ; N Y ; B 51 0 549 563 ; +C 90 ; WX 600 ; N Z ; B 103 0 497 563 ; +C 91 ; WX 600 ; N bracketleft ; B 280 -124 445 604 ; +C 92 ; WX 600 ; N backslash ; B 113 -81 487 668 ; +C 93 ; WX 600 ; N bracketright ; B 155 -124 320 604 ; +C 94 ; WX 600 ; N asciicircum ; B 113 354 487 615 ; +C 95 ; WX 600 ; N underscore ; B -12 -125 612 -75 ; +C 96 ; WX 600 ; N quoteleft ; B 260 343 465 604 ; +C 97 ; WX 600 ; N a ; B 72 -16 541 431 ; +C 98 ; WX 600 ; N b ; B 22 -16 541 604 ; +C 99 ; WX 600 ; N c ; B 84 -16 535 431 ; +C 100 ; WX 600 ; N d ; B 63 -16 583 604 ; +C 101 ; WX 600 ; N e ; B 63 -16 520 431 ; +C 102 ; WX 600 ; N f ; B 105 0 541 604 ; +C 103 ; WX 600 ; N g ; B 63 -186 562 431 ; +C 104 ; WX 600 ; N h ; B 43 0 551 604 ; +C 105 ; WX 600 ; N i ; B 92 0 508 624 ; +C 106 ; WX 600 ; N j ; B 147 -186 458 624 ; +C 107 ; WX 600 ; N k ; B 63 0 541 604 ; +C 108 ; WX 600 ; N l ; B 92 0 508 604 ; +C 109 ; WX 600 ; N m ; B 11 0 593 431 ; +C 110 ; WX 600 ; N n ; B 53 0 541 431 ; +C 111 ; WX 600 ; N o ; B 72 -16 528 431 ; +C 112 ; WX 600 ; N p ; B 22 -186 541 431 ; +C 113 ; WX 600 ; N q ; B 63 -186 583 431 ; +C 114 ; WX 600 ; N r ; B 84 0 541 427 ; +C 115 ; WX 600 ; N s ; B 103 -16 497 431 ; +C 116 ; WX 600 ; N t ; B 43 -16 499 563 ; +C 117 ; WX 600 ; N u ; B 43 -16 541 417 ; +C 118 ; WX 600 ; N v ; B 30 0 570 417 ; +C 119 ; WX 600 ; N w ; B 30 0 570 417 ; +C 120 ; WX 600 ; N x ; B 51 0 549 417 ; +C 121 ; WX 600 ; N y ; B 51 -186 549 417 ; +C 122 ; WX 600 ; N z ; B 115 0 489 417 ; +C 123 ; WX 600 ; N braceleft ; B 197 -124 403 604 ; +C 124 ; WX 600 ; N bar ; B 280 -124 320 604 ; +C 125 ; WX 600 ; N braceright ; B 197 -124 403 604 ; +C 126 ; WX 600 ; N asciitilde ; B 92 212 508 348 ; +C 161 ; WX 600 ; N exclamdown ; B 240 -216 360 417 ; +C 162 ; WX 600 ; N cent ; B 113 -13 469 630 ; +C 163 ; WX 600 ; N sterling ; B 63 0 520 578 ; +C 164 ; WX 600 ; N fraction ; B 50 138 549 470 ; +C 165 ; WX 600 ; N yen ; B 51 0 549 563 ; +C 166 ; WX 600 ; N florin ; B 87 -93 518 618 ; +C 167 ; WX 600 ; N section ; B 66 -62 534 603 ; +C 168 ; WX 600 ; N currency ; B 103 95 497 489 ; +C 169 ; WX 600 ; N quotesingle ; B 236 315 364 604 ; +C 170 ; WX 600 ; N quotedblleft ; B 93 343 507 604 ; +C 171 ; WX 600 ; N guillemotleft ; B 63 0 541 417 ; +C 172 ; WX 600 ; N guilsinglleft ; B 63 0 312 417 ; +C 173 ; WX 600 ; N guilsinglright ; B 293 0 541 417 ; +C 174 ; WX 600 ; N fi ; B 10 0 585 624 ; +C 175 ; WX 600 ; N fl ; B 10 0 587 604 ; +C 177 ; WX 600 ; N endash ; B 72 261 528 302 ; +C 178 ; WX 600 ; N dagger ; B 124 -63 476 604 ; +C 179 ; WX 600 ; N daggerdbl ; B 124 -62 476 604 ; +C 180 ; WX 600 ; N periodcentered ; B 226 217 374 348 ; +C 182 ; WX 600 ; N paragraph ; B 79 -62 525 604 ; +C 183 ; WX 600 ; N bullet ; B 202 141 398 337 ; +C 184 ; WX 600 ; N quotesinglbase ; B 135 -145 340 145 ; +C 185 ; WX 600 ; N quotedblbase ; B 93 -116 507 145 ; +C 186 ; WX 600 ; N quotedblright ; B 93 343 507 604 ; +C 187 ; WX 600 ; N guillemotright ; B 63 0 541 417 ; +C 188 ; WX 600 ; N ellipsis ; B 51 -15 549 84 ; +C 189 ; WX 600 ; N perthousand ; B 34 -9 564 614 ; +C 191 ; WX 600 ; N questiondown ; B 113 -175 466 417 ; +C 193 ; WX 600 ; N grave ; B 155 490 320 639 ; +C 194 ; WX 600 ; N acute ; B 280 490 445 639 ; +C 195 ; WX 600 ; N circumflex ; B 155 490 445 639 ; +C 196 ; WX 600 ; N tilde ; B 145 516 455 605 ; +C 197 ; WX 600 ; N macron ; B 155 536 445 576 ; +C 198 ; WX 600 ; N breve ; B 155 490 445 620 ; +C 199 ; WX 600 ; N dotaccent ; B 250 511 350 611 ; +C 200 ; WX 600 ; N dieresis ; B 140 511 461 611 ; +C 202 ; WX 600 ; N ring ; B 207 480 393 661 ; +C 203 ; WX 600 ; N cedilla ; B 210 -173 377 0 ; +C 205 ; WX 600 ; N hungarumlaut ; B 155 490 445 633 ; +C 206 ; WX 600 ; N ogonek ; B 280 -155 433 0 ; +C 207 ; WX 600 ; N caron ; B 155 490 445 639 ; +C 208 ; WX 600 ; N emdash ; B 1 261 599 302 ; +C 225 ; WX 600 ; N AE ; B 10 0 590 563 ; +C 227 ; WX 600 ; N ordfeminine ; B 155 279 447 574 ; +C 232 ; WX 600 ; N Lslash ; B 43 0 541 563 ; +C 233 ; WX 600 ; N Oslash ; B 40 -43 560 605 ; +C 234 ; WX 600 ; N OE ; B 10 0 590 563 ; +C 235 ; WX 600 ; N ordmasculine ; B 154 284 448 577 ; +C 241 ; WX 600 ; N ae ; B 12 -16 578 431 ; +C 245 ; WX 600 ; N dotlessi ; B 92 0 508 417 ; +C 248 ; WX 600 ; N lslash ; B 92 0 508 604 ; +C 249 ; WX 600 ; N oslash ; B 53 -43 543 458 ; +C 250 ; WX 600 ; N oe ; B 12 -16 578 431 ; +C 251 ; WX 600 ; N germandbls ; B 43 -16 499 604 ; +C -1 ; WX 600 ; N Udieresis ; B 40 -16 560 761 ; +C -1 ; WX 600 ; N Uacute ; B 40 -16 560 789 ; +C -1 ; WX 600 ; N Scedilla ; B 92 -173 508 576 ; +C -1 ; WX 600 ; N Tcaron ; B 72 0 528 789 ; +C -1 ; WX 600 ; N Scaron ; B 92 -16 508 789 ; +C -1 ; WX 600 ; N Rcaron ; B 43 0 589 789 ; +C -1 ; WX 600 ; N Racute ; B 43 0 589 789 ; +C -1 ; WX 600 ; N Sacute ; B 92 -16 508 789 ; +C -1 ; WX 600 ; N Otilde ; B 51 -16 549 755 ; +C -1 ; WX 600 ; N ucircumflex ; B 43 -16 541 639 ; +C -1 ; WX 600 ; N Ohungarumlaut ; B 51 -16 549 783 ; +C -1 ; WX 600 ; N Uhungarumlaut ; B 40 -16 560 783 ; +C -1 ; WX 600 ; N Yacute ; B 51 0 549 789 ; +C -1 ; WX 600 ; N Eth ; B 0 0 520 563 ; +C -1 ; WX 600 ; N Dcroat ; B 0 0 520 563 ; +C -1 ; WX 600 ; N Zacute ; B 103 0 497 789 ; +C -1 ; WX 600 ; N Uring ; B 40 -16 560 811 ; +C -1 ; WX 600 ; N gbreve ; B 63 -186 562 620 ; +C -1 ; WX 600 ; N eogonek ; B 63 -155 520 431 ; +C -1 ; WX 600 ; N edotaccent ; B 63 -16 520 611 ; +C -1 ; WX 600 ; N ecaron ; B 63 -16 520 639 ; +C -1 ; WX 600 ; N Ugrave ; B 40 -16 560 789 ; +C -1 ; WX 600 ; N Thorn ; B 43 0 499 563 ; +C -1 ; WX 600 ; N eacute ; B 63 -16 520 639 ; +C -1 ; WX 600 ; N edieresis ; B 63 -16 520 611 ; +C -1 ; WX 600 ; N dcaron ; B 63 -16 650 616 ; +C -1 ; WX 600 ; N ccedilla ; B 84 -173 535 431 ; +C -1 ; WX 600 ; N ccaron ; B 84 -16 535 639 ; +C -1 ; WX 600 ; N cacute ; B 84 -16 535 639 ; +C -1 ; WX 600 ; N aogonek ; B 72 -155 556 431 ; +C -1 ; WX 600 ; N aring ; B 72 -16 541 661 ; +C -1 ; WX 600 ; N atilde ; B 72 -16 541 605 ; +C -1 ; WX 600 ; N abreve ; B 72 -16 541 620 ; +C -1 ; WX 600 ; N egrave ; B 63 -16 520 639 ; +C -1 ; WX 600 ; N agrave ; B 72 -16 541 639 ; +C -1 ; WX 600 ; N aacute ; B 72 -16 541 639 ; +C -1 ; WX 600 ; N adieresis ; B 72 -16 541 611 ; +C -1 ; WX 600 ; N Uogonek ; B 40 -155 560 563 ; +C -1 ; WX 600 ; N ugrave ; B 43 -16 541 639 ; +C -1 ; WX 600 ; N uacute ; B 43 -16 541 639 ; +C -1 ; WX 600 ; N udieresis ; B 43 -16 541 611 ; +C -1 ; WX 600 ; N tcaron ; B 43 -16 508 616 ; +C -1 ; WX 600 ; N scommaaccent ; B 103 -237 497 431 ; +C -1 ; WX 600 ; N Zcaron ; B 103 0 497 789 ; +C -1 ; WX 600 ; N ecircumflex ; B 63 -16 520 639 ; +C -1 ; WX 600 ; N Ucircumflex ; B 40 -16 560 789 ; +C -1 ; WX 600 ; N acircumflex ; B 72 -16 541 639 ; +C -1 ; WX 600 ; N Zdotaccent ; B 103 0 497 761 ; +C -1 ; WX 600 ; N scaron ; B 103 -16 497 639 ; +C -1 ; WX 600 ; N Amacron ; B 9 0 591 726 ; +C -1 ; WX 600 ; N sacute ; B 103 -16 497 639 ; +C -1 ; WX 600 ; N Tcommaaccent ; B 72 -237 528 563 ; +C -1 ; WX 600 ; N Ydieresis ; B 51 0 549 761 ; +C -1 ; WX 600 ; N thorn ; B 22 -186 541 590 ; +C -1 ; WX 600 ; N Emacron ; B 43 0 520 726 ; +C -1 ; WX 600 ; N Ograve ; B 51 -16 549 789 ; +C -1 ; WX 600 ; N Oacute ; B 51 -16 549 789 ; +C -1 ; WX 600 ; N Odieresis ; B 51 -16 549 761 ; +C -1 ; WX 600 ; N Ntilde ; B 22 0 562 755 ; +C -1 ; WX 600 ; N Ncaron ; B 22 0 562 789 ; +C -1 ; WX 600 ; N Nacute ; B 22 0 562 789 ; +C -1 ; WX 600 ; N Lcaron ; B 63 0 541 566 ; +C -1 ; WX 600 ; N Lacute ; B 63 0 541 789 ; +C -1 ; WX 600 ; N Idotaccent ; B 113 0 487 761 ; +C -1 ; WX 600 ; N racute ; B 84 0 541 639 ; +C -1 ; WX 600 ; N Icircumflex ; B 113 0 487 789 ; +C -1 ; WX 600 ; N ohungarumlaut ; B 72 -16 528 633 ; +C -1 ; WX 600 ; N otilde ; B 72 -16 528 605 ; +C -1 ; WX 600 ; N Euro ; B 11 -16 534 576 ; +C -1 ; WX 600 ; N ocircumflex ; B 72 -16 528 639 ; +C -1 ; WX 600 ; N onesuperior ; B 191 259 410 612 ; +C -1 ; WX 600 ; N twosuperior ; B 175 259 405 612 ; +C -1 ; WX 600 ; N threesuperior ; B 181 251 416 612 ; +C -1 ; WX 600 ; N Igrave ; B 113 0 487 789 ; +C -1 ; WX 600 ; N Iacute ; B 113 0 487 789 ; +C -1 ; WX 600 ; N Imacron ; B 113 0 487 726 ; +C -1 ; WX 600 ; N Iogonek ; B 113 -155 500 563 ; +C -1 ; WX 600 ; N Idieresis ; B 113 0 487 761 ; +C -1 ; WX 600 ; N Gbreve ; B 63 -16 562 770 ; +C -1 ; WX 600 ; N Umacron ; B 40 -16 560 726 ; +C -1 ; WX 600 ; N Kcommaaccent ; B 43 -237 572 563 ; +C -1 ; WX 600 ; N ograve ; B 72 -16 528 639 ; +C -1 ; WX 600 ; N Scommaaccent ; B 92 -237 508 576 ; +C -1 ; WX 600 ; N Eogonek ; B 43 -155 549 563 ; +C -1 ; WX 600 ; N oacute ; B 72 -16 528 639 ; +C -1 ; WX 600 ; N Edotaccent ; B 43 0 520 761 ; +C -1 ; WX 600 ; N iogonek ; B 92 -155 520 624 ; +C -1 ; WX 600 ; N gcommaaccent ; B 63 -186 562 666 ; +C -1 ; WX 600 ; N odieresis ; B 72 -16 528 611 ; +C -1 ; WX 600 ; N ntilde ; B 53 0 541 605 ; +C -1 ; WX 600 ; N ncaron ; B 53 0 541 639 ; +C -1 ; WX 600 ; N Ecaron ; B 43 0 520 789 ; +C -1 ; WX 600 ; N Ecircumflex ; B 43 0 520 789 ; +C -1 ; WX 600 ; N scedilla ; B 103 -173 497 431 ; +C -1 ; WX 600 ; N rcaron ; B 84 0 541 639 ; +C -1 ; WX 600 ; N Egrave ; B 43 0 520 789 ; +C -1 ; WX 600 ; N Eacute ; B 43 0 520 789 ; +C -1 ; WX 600 ; N Gcommaaccent ; B 63 -237 562 576 ; +C -1 ; WX 600 ; N Rcommaaccent ; B 43 -237 589 563 ; +C -1 ; WX 600 ; N Edieresis ; B 43 0 520 761 ; +C -1 ; WX 600 ; N nacute ; B 53 0 541 639 ; +C -1 ; WX 600 ; N uogonek ; B 43 -155 556 417 ; +C -1 ; WX 600 ; N umacron ; B 43 -16 541 576 ; +C -1 ; WX 600 ; N Dcaron ; B 43 0 520 789 ; +C -1 ; WX 600 ; N lcaron ; B 92 0 508 616 ; +C -1 ; WX 600 ; N Ccaron ; B 63 -16 534 789 ; +C -1 ; WX 600 ; N Cacute ; B 63 -16 534 789 ; +C -1 ; WX 600 ; N Ccedilla ; B 63 -173 534 576 ; +C -1 ; WX 600 ; N degree ; B 155 346 445 636 ; +C -1 ; WX 600 ; N Aogonek ; B 9 -155 600 563 ; +C -1 ; WX 600 ; N minus ; B 72 261 528 302 ; +C -1 ; WX 600 ; N multiply ; B 118 100 482 464 ; +C -1 ; WX 600 ; N divide ; B 72 25 528 540 ; +C -1 ; WX 600 ; N Aring ; B 9 0 591 811 ; +C -1 ; WX 600 ; N trademark ; B 4 243 598 563 ; +C -1 ; WX 600 ; N rcommaaccent ; B 84 -237 541 427 ; +C -1 ; WX 600 ; N lacute ; B 92 0 508 789 ; +C -1 ; WX 600 ; N omacron ; B 72 -16 528 576 ; +C -1 ; WX 600 ; N Atilde ; B 9 0 591 755 ; +C -1 ; WX 600 ; N icircumflex ; B 92 0 508 639 ; +C -1 ; WX 600 ; N igrave ; B 92 0 508 639 ; +C -1 ; WX 600 ; N ncommaaccent ; B 53 -237 541 431 ; +C -1 ; WX 600 ; N lcommaaccent ; B 92 -237 508 604 ; +C -1 ; WX 600 ; N plusminus ; B 72 0 528 529 ; +C -1 ; WX 600 ; N onehalf ; B 23 0 573 612 ; +C -1 ; WX 600 ; N onequarter ; B 16 0 580 612 ; +C -1 ; WX 600 ; N threequarters ; B 6 0 580 612 ; +C -1 ; WX 600 ; N iacute ; B 92 0 508 639 ; +C -1 ; WX 600 ; N Abreve ; B 9 0 591 770 ; +C -1 ; WX 600 ; N kcommaaccent ; B 63 -237 541 604 ; +C -1 ; WX 600 ; N Omacron ; B 51 -16 549 726 ; +C -1 ; WX 600 ; N imacron ; B 92 0 508 576 ; +C -1 ; WX 600 ; N emacron ; B 63 -16 520 576 ; +C -1 ; WX 600 ; N amacron ; B 72 -16 541 576 ; +C -1 ; WX 600 ; N tcommaaccent ; B 43 -237 499 563 ; +C -1 ; WX 600 ; N ydieresis ; B 51 -186 549 611 ; +C -1 ; WX 600 ; N zdotaccent ; B 115 0 489 611 ; +C -1 ; WX 600 ; N zcaron ; B 115 0 489 639 ; +C -1 ; WX 600 ; N zacute ; B 115 0 489 639 ; +C -1 ; WX 600 ; N yacute ; B 51 -186 549 639 ; +C -1 ; WX 600 ; N uhungarumlaut ; B 43 -16 541 633 ; +C -1 ; WX 600 ; N eth ; B 72 -17 528 620 ; +C -1 ; WX 600 ; N uring ; B 43 -16 541 661 ; +C -1 ; WX 600 ; N Ocircumflex ; B 51 -16 549 789 ; +C -1 ; WX 600 ; N commaaccent ; B 234 -237 367 -60 ; +C -1 ; WX 600 ; N copyright ; B 3 -15 596 578 ; +C -1 ; WX 600 ; N registered ; B 3 -15 596 578 ; +C -1 ; WX 600 ; N Acircumflex ; B 9 0 591 789 ; +C -1 ; WX 600 ; N idieresis ; B 92 0 508 611 ; +C -1 ; WX 600 ; N lozenge ; B 89 -11 511 575 ; +C -1 ; WX 600 ; N Delta ; B 43 0 557 563 ; +C -1 ; WX 600 ; N notequal ; B 51 94 549 464 ; +C -1 ; WX 600 ; N radical ; B 27 0 628 699 ; +C -1 ; WX 600 ; N Agrave ; B 9 0 591 789 ; +C -1 ; WX 600 ; N Aacute ; B 9 0 591 789 ; +C -1 ; WX 600 ; N lessequal ; B 53 0 525 535 ; +C -1 ; WX 600 ; N greaterequal ; B 59 0 531 535 ; +C -1 ; WX 600 ; N logicalnot ; B 72 168 528 438 ; +C -1 ; WX 600 ; N summation ; B 113 -127 507 563 ; +C -1 ; WX 600 ; N partialdiff ; B 71 -17 529 582 ; +C -1 ; WX 600 ; N Ncommaaccent ; B 22 -237 562 563 ; +C -1 ; WX 600 ; N dcroat ; B 63 -16 583 604 ; +C -1 ; WX 600 ; N brokenbar ; B 280 -124 320 604 ; +C -1 ; WX 600 ; N Lcommaaccent ; B 63 -237 541 563 ; +C -1 ; WX 600 ; N Adieresis ; B 9 0 591 761 ; +C -1 ; WX 600 ; N mu ; B 43 -200 541 417 ; +C -1 ; WX 600 ; N .notdef ; B 295 0 295 0 ; +EndCharMetrics +StartKernData +StartKernPairs 998 +KPX A C -33 +KPX A Ccedilla -30 +KPX A G -27 +KPX A O -27 +KPX A Odieresis -27 +KPX A Q -28 +KPX A T -27 +KPX A U -32 +KPX A Uacute -32 +KPX A Ucircumflex -32 +KPX A Udieresis -32 +KPX A Ugrave -32 +KPX A V -74 +KPX A W -12 +KPX A Y -28 +KPX A a 8 +KPX A b 46 +KPX A c -19 +KPX A ccedilla -15 +KPX A comma -39 +KPX A d -10 +KPX A e -14 +KPX A g -23 +KPX A guillemotleft -49 +KPX A guilsinglleft -49 +KPX A hyphen -30 +KPX A o -16 +KPX A period -67 +KPX A q -24 +KPX A quotedblright -78 +KPX A quoteright -98 +KPX A t -26 +KPX A u -15 +KPX A v -55 +KPX A w -19 +KPX A y -60 +KPX Aacute C -33 +KPX Aacute G -27 +KPX Aacute O -27 +KPX Aacute Q -28 +KPX Aacute T -27 +KPX Aacute U -32 +KPX Aacute V -74 +KPX Aacute W -12 +KPX Aacute Y -28 +KPX Aacute a 8 +KPX Aacute b 46 +KPX Aacute c -19 +KPX Aacute comma -39 +KPX Aacute d -10 +KPX Aacute e -14 +KPX Aacute g -23 +KPX Aacute guillemotleft -49 +KPX Aacute guilsinglleft -49 +KPX Aacute hyphen -30 +KPX Aacute o -16 +KPX Aacute period -67 +KPX Aacute q -24 +KPX Aacute quoteright -98 +KPX Aacute t -26 +KPX Aacute u -15 +KPX Aacute v -55 +KPX Aacute w -19 +KPX Aacute y -60 +KPX Acircumflex C -33 +KPX Acircumflex G -27 +KPX Acircumflex O -27 +KPX Acircumflex Q -28 +KPX Acircumflex T -27 +KPX Acircumflex U -32 +KPX Acircumflex V -74 +KPX Acircumflex W -12 +KPX Acircumflex Y -28 +KPX Acircumflex comma -39 +KPX Acircumflex period -67 +KPX Adieresis C -33 +KPX Adieresis G -27 +KPX Adieresis O -27 +KPX Adieresis Q -28 +KPX Adieresis T -27 +KPX Adieresis U -32 +KPX Adieresis V -74 +KPX Adieresis W -12 +KPX Adieresis Y -28 +KPX Adieresis a 8 +KPX Adieresis b 46 +KPX Adieresis c -19 +KPX Adieresis comma -39 +KPX Adieresis d -10 +KPX Adieresis g -23 +KPX Adieresis guillemotleft -49 +KPX Adieresis guilsinglleft -49 +KPX Adieresis hyphen -30 +KPX Adieresis o -16 +KPX Adieresis period -67 +KPX Adieresis q -24 +KPX Adieresis quotedblright -78 +KPX Adieresis quoteright -98 +KPX Adieresis t -26 +KPX Adieresis u -15 +KPX Adieresis v -55 +KPX Adieresis w -19 +KPX Adieresis y -60 +KPX Agrave C -33 +KPX Agrave G -27 +KPX Agrave O -27 +KPX Agrave Q -28 +KPX Agrave T -27 +KPX Agrave U -32 +KPX Agrave V -74 +KPX Agrave W -12 +KPX Agrave Y -28 +KPX Agrave comma -39 +KPX Agrave period -67 +KPX Aring C -33 +KPX Aring G -27 +KPX Aring O -27 +KPX Aring Q -28 +KPX Aring T -27 +KPX Aring U -32 +KPX Aring V -74 +KPX Aring W -12 +KPX Aring Y -28 +KPX Aring a 8 +KPX Aring b 46 +KPX Aring c -19 +KPX Aring comma -39 +KPX Aring d -10 +KPX Aring e -14 +KPX Aring g -23 +KPX Aring guillemotleft -49 +KPX Aring guilsinglleft -49 +KPX Aring hyphen -30 +KPX Aring o -16 +KPX Aring period -67 +KPX Aring q -24 +KPX Aring quotedblright -78 +KPX Aring quoteright -98 +KPX Aring t -26 +KPX Aring u -15 +KPX Aring v -55 +KPX Aring w -19 +KPX Aring y -60 +KPX Atilde C -33 +KPX Atilde G -27 +KPX Atilde O -27 +KPX Atilde Q -28 +KPX Atilde T -27 +KPX Atilde U -32 +KPX Atilde V -74 +KPX Atilde W -12 +KPX Atilde Y -28 +KPX Atilde comma -39 +KPX Atilde period -67 +KPX B A -9 +KPX B AE -9 +KPX B Aacute -9 +KPX B Acircumflex -9 +KPX B Adieresis -9 +KPX B Aring -9 +KPX B Atilde -9 +KPX B O -10 +KPX B OE 10 +KPX B Oacute -10 +KPX B Ocircumflex -10 +KPX B Odieresis -10 +KPX B Ograve -10 +KPX B Oslash -8 +KPX B V -29 +KPX B W -12 +KPX B Y -50 +KPX C A -9 +KPX C AE -9 +KPX C Aacute -9 +KPX C Adieresis -9 +KPX C Aring -9 +KPX C H -26 +KPX C K -11 +KPX C O -21 +KPX C Oacute -21 +KPX C Odieresis -21 +KPX Ccedilla A -5 +KPX D A -42 +KPX D Aacute -42 +KPX D Acircumflex -42 +KPX D Adieresis -42 +KPX D Agrave -42 +KPX D Aring -42 +KPX D Atilde -42 +KPX D J -31 +KPX D T -40 +KPX D V -42 +KPX D W -17 +KPX D X -55 +KPX D Y -63 +KPX F A -38 +KPX F Aacute -38 +KPX F Acircumflex -38 +KPX F Adieresis -38 +KPX F Agrave -38 +KPX F Aring -38 +KPX F Atilde -38 +KPX F J -95 +KPX F O -27 +KPX F Odieresis -27 +KPX F a -47 +KPX F aacute -47 +KPX F adieresis -43 +KPX F ae -20 +KPX F aring -47 +KPX F comma -168 +KPX F e -56 +KPX F eacute -56 +KPX F hyphen -67 +KPX F i -47 +KPX F j -54 +KPX F o -63 +KPX F oacute -63 +KPX F odieresis -48 +KPX F oe -21 +KPX F oslash -63 +KPX F period -193 +KPX F r -32 +KPX F u -1 +KPX G A 6 +KPX G AE 5 +KPX G Aacute 6 +KPX G Acircumflex 6 +KPX G Adieresis 6 +KPX G Agrave 6 +KPX G Aring 6 +KPX G Atilde 6 +KPX G T -25 +KPX G V 6 +KPX G W 1 +KPX G Y -14 +KPX J A -7 +KPX J AE -16 +KPX J Adieresis -7 +KPX J Aring -7 +KPX K C -42 +KPX K G -36 +KPX K O -37 +KPX K OE -19 +KPX K Oacute -37 +KPX K Odieresis -37 +KPX K S -9 +KPX K T -12 +KPX K a -1 +KPX K adieresis -1 +KPX K ae 26 +KPX K aring -1 +KPX K e -24 +KPX K hyphen -61 +KPX K o -25 +KPX K oacute -25 +KPX K odieresis -25 +KPX K u -25 +KPX K udieresis -25 +KPX K y -67 +KPX L A 17 +KPX L AE 16 +KPX L Aacute 17 +KPX L Adieresis 17 +KPX L Aring 17 +KPX L C -11 +KPX L Ccedilla -10 +KPX L G -10 +KPX L O -6 +KPX L Oacute -6 +KPX L Ocircumflex -6 +KPX L Odieresis -6 +KPX L Ograve -6 +KPX L Otilde -6 +KPX L S -24 +KPX L T -52 +KPX L U -29 +KPX L Udieresis -29 +KPX L V -66 +KPX L W -27 +KPX L Y -53 +KPX L hyphen 3 +KPX L quotedblright -66 +KPX L quoteright -73 +KPX L u -16 +KPX L udieresis -16 +KPX L y -45 +KPX N A -3 +KPX N AE -3 +KPX N Aacute -3 +KPX N Adieresis -3 +KPX N Aring -3 +KPX N C -12 +KPX N Ccedilla -12 +KPX N G -11 +KPX N O -9 +KPX N Oacute -9 +KPX N Odieresis -9 +KPX N a -19 +KPX N aacute -19 +KPX N adieresis -19 +KPX N ae 11 +KPX N aring -19 +KPX N comma -58 +KPX N e -6 +KPX N eacute -6 +KPX N o -10 +KPX N oacute -10 +KPX N odieresis -10 +KPX N oslash -7 +KPX N period -83 +KPX N u -9 +KPX N udieresis -9 +KPX O A -27 +KPX O AE -26 +KPX O Aacute -27 +KPX O Adieresis -27 +KPX O Aring -27 +KPX O T -30 +KPX O V -31 +KPX O W -5 +KPX O X -43 +KPX O Y -52 +KPX Oacute A -27 +KPX Oacute T -30 +KPX Oacute V -31 +KPX Oacute W -5 +KPX Oacute Y -52 +KPX Ocircumflex T -30 +KPX Ocircumflex V -31 +KPX Ocircumflex Y -52 +KPX Odieresis A -27 +KPX Odieresis T -30 +KPX Odieresis V -31 +KPX Odieresis W -5 +KPX Odieresis X -43 +KPX Odieresis Y -52 +KPX Ograve T -30 +KPX Ograve V -31 +KPX Ograve Y -52 +KPX Oslash A -26 +KPX Otilde T -30 +KPX Otilde V -31 +KPX Otilde Y -52 +KPX P A -79 +KPX P AE -76 +KPX P Aacute -79 +KPX P Adieresis -79 +KPX P Aring -79 +KPX P J -82 +KPX P a -52 +KPX P aacute -52 +KPX P adieresis -52 +KPX P ae -25 +KPX P aring -52 +KPX P comma -156 +KPX P e -42 +KPX P eacute -42 +KPX P hyphen -46 +KPX P o -48 +KPX P oacute -48 +KPX P odieresis -48 +KPX P oe -13 +KPX P oslash -48 +KPX P period -181 +KPX R C -27 +KPX R Ccedilla -28 +KPX R G -26 +KPX R O -25 +KPX R OE -4 +KPX R Oacute -25 +KPX R Odieresis -25 +KPX R T -28 +KPX R U -32 +KPX R Udieresis -32 +KPX R V -33 +KPX R W -13 +KPX R Y -29 +KPX R a 7 +KPX R aacute 7 +KPX R adieresis 7 +KPX R ae 35 +KPX R aring 7 +KPX R e -15 +KPX R eacute -15 +KPX R hyphen -48 +KPX R o -17 +KPX R oacute -17 +KPX R odieresis -17 +KPX R oe 22 +KPX R u -11 +KPX R uacute -11 +KPX R udieresis -11 +KPX R y -15 +KPX S A -22 +KPX S AE -22 +KPX S Aacute -22 +KPX S Adieresis -22 +KPX S Aring -22 +KPX S T -42 +KPX S V -10 +KPX S W -16 +KPX S Y -31 +KPX S t -18 +KPX T A -27 +KPX T AE -27 +KPX T Aacute -27 +KPX T Acircumflex -27 +KPX T Adieresis -27 +KPX T Agrave -27 +KPX T Aring -27 +KPX T Atilde -27 +KPX T C -29 +KPX T G -30 +KPX T J -79 +KPX T O -29 +KPX T OE -7 +KPX T Oacute -29 +KPX T Ocircumflex -29 +KPX T Odieresis -29 +KPX T Ograve -29 +KPX T Oslash -29 +KPX T Otilde -29 +KPX T S -43 +KPX T V 10 +KPX T W 5 +KPX T Y -10 +KPX T a -60 +KPX T ae -33 +KPX T c -88 +KPX T colon -136 +KPX T comma -108 +KPX T e -83 +KPX T g -92 +KPX T guillemotleft -122 +KPX T guilsinglleft -122 +KPX T hyphen -94 +KPX T i -58 +KPX T j -80 +KPX T o -85 +KPX T oslash -54 +KPX T period -136 +KPX T r -54 +KPX T s -63 +KPX T semicolon -111 +KPX T u -84 +KPX T v -93 +KPX T w -88 +KPX T y -103 +KPX U A -18 +KPX U AE -27 +KPX U Aacute -18 +KPX U Acircumflex -18 +KPX U Adieresis -18 +KPX U Aring -18 +KPX U Atilde -18 +KPX U comma -76 +KPX U m 6 +KPX U n -19 +KPX U p 0 +KPX U period -101 +KPX U r -41 +KPX Uacute A -18 +KPX Uacute comma -76 +KPX Uacute m 6 +KPX Uacute n -19 +KPX Uacute p 0 +KPX Uacute period -101 +KPX Uacute r -41 +KPX Ucircumflex A -18 +KPX Udieresis A -18 +KPX Udieresis b 25 +KPX Udieresis comma -76 +KPX Udieresis m 6 +KPX Udieresis n -19 +KPX Udieresis p 0 +KPX Udieresis period -101 +KPX Udieresis r -41 +KPX Ugrave A -18 +KPX V A -3 +KPX V AE -12 +KPX V Aacute -3 +KPX V Acircumflex -3 +KPX V Adieresis -3 +KPX V Agrave -3 +KPX V Aring -3 +KPX V Atilde -3 +KPX V C -29 +KPX V G -31 +KPX V O -31 +KPX V Oacute -31 +KPX V Ocircumflex -31 +KPX V Odieresis -31 +KPX V Ograve -31 +KPX V Oslash -31 +KPX V Otilde -31 +KPX V S -34 +KPX V T 10 +KPX V a -60 +KPX V ae -33 +KPX V colon -124 +KPX V comma -129 +KPX V e -52 +KPX V g -53 +KPX V guillemotleft -75 +KPX V guilsinglleft -75 +KPX V hyphen -43 +KPX V i -60 +KPX V o -56 +KPX V oslash -53 +KPX V period -154 +KPX V r -46 +KPX V semicolon -114 +KPX V u -15 +KPX V y -19 +KPX W A -8 +KPX W AE -14 +KPX W Aacute -8 +KPX W Acircumflex -8 +KPX W Adieresis -8 +KPX W Agrave -8 +KPX W Aring -8 +KPX W Atilde -8 +KPX W C -8 +KPX W G -7 +KPX W O -5 +KPX W Oacute -5 +KPX W Ocircumflex -5 +KPX W Odieresis -5 +KPX W Ograve -5 +KPX W Oslash -2 +KPX W Otilde -5 +KPX W S -24 +KPX W T 5 +KPX W a -20 +KPX W ae 10 +KPX W colon -88 +KPX W comma -66 +KPX W e -6 +KPX W g -7 +KPX W guillemotleft -31 +KPX W guilsinglleft -31 +KPX W hyphen -2 +KPX W i -43 +KPX W o -10 +KPX W oslash -7 +KPX W period -90 +KPX W r -29 +KPX W semicolon -69 +KPX W u 2 +KPX W y -2 +KPX X C -46 +KPX X O -43 +KPX X Odieresis -43 +KPX X Q -44 +KPX X a -7 +KPX X e -30 +KPX X hyphen -75 +KPX X o -31 +KPX X u -31 +KPX X y -53 +KPX Y A -24 +KPX Y AE -27 +KPX Y Aacute -24 +KPX Y Acircumflex -24 +KPX Y Adieresis -24 +KPX Y Agrave -24 +KPX Y Aring -24 +KPX Y Atilde -24 +KPX Y C -51 +KPX Y G -52 +KPX Y O -53 +KPX Y Oacute -53 +KPX Y Ocircumflex -53 +KPX Y Odieresis -53 +KPX Y Ograve -53 +KPX Y Oslash -53 +KPX Y Otilde -53 +KPX Y S -55 +KPX Y T -10 +KPX Y a -60 +KPX Y ae -32 +KPX Y colon -135 +KPX Y comma -107 +KPX Y e -78 +KPX Y g -81 +KPX Y guillemotleft -115 +KPX Y guilsinglleft -115 +KPX Y hyphen -91 +KPX Y i -57 +KPX Y o -83 +KPX Y oslash -54 +KPX Y p -35 +KPX Y period -135 +KPX Y semicolon -110 +KPX Y u -46 +KPX Y v -39 +KPX Z v -50 +KPX Z y -61 +KPX a j -87 +KPX a quoteright -56 +KPX a v -28 +KPX a w -21 +KPX a y -38 +KPX aacute v -28 +KPX aacute w -21 +KPX aacute y -38 +KPX adieresis v -28 +KPX adieresis w -21 +KPX adieresis y -38 +KPX ae v 21 +KPX ae w 21 +KPX ae y 10 +KPX agrave v -28 +KPX agrave w -21 +KPX agrave y -38 +KPX aring v -28 +KPX aring w -21 +KPX aring y -38 +KPX b v -12 +KPX b w 1 +KPX b y -22 +KPX c h -3 +KPX c k -9 +KPX comma one -144 +KPX comma quotedblright -119 +KPX comma quoteright -136 +KPX e quoteright -41 +KPX e t -29 +KPX e v -22 +KPX e w -19 +KPX e x -2 +KPX e y -33 +KPX eacute v -22 +KPX eacute w -19 +KPX eacute y -33 +KPX ecircumflex v -22 +KPX ecircumflex w -19 +KPX ecircumflex y -33 +KPX eight four -58 +KPX eight one -75 +KPX eight seven -68 +KPX f a -38 +KPX f aacute -38 +KPX f adieresis -22 +KPX f ae -11 +KPX f aring -38 +KPX f e -55 +KPX f eacute -55 +KPX f f -42 +KPX f i -36 +KPX f j -59 +KPX f l -25 +KPX f o -62 +KPX f oacute -62 +KPX f odieresis -27 +KPX f oe -20 +KPX f oslash -32 +KPX f quoteright -56 +KPX f s -41 +KPX f t -6 +KPX five four -52 +KPX five one -86 +KPX five seven -72 +KPX four four -62 +KPX four one -66 +KPX four seven -93 +KPX g a -10 +KPX g adieresis -10 +KPX g ae 16 +KPX g aring -10 +KPX g e -4 +KPX g eacute -4 +KPX g l -33 +KPX g oacute -8 +KPX g odieresis -8 +KPX g r 0 +KPX guillemotright A -43 +KPX guillemotright AE -39 +KPX guillemotright Aacute -43 +KPX guillemotright Adieresis -43 +KPX guillemotright Aring -43 +KPX guillemotright T -121 +KPX guillemotright V -71 +KPX guillemotright W -29 +KPX guillemotright Y -114 +KPX guilsinglright A -43 +KPX guilsinglright AE -39 +KPX guilsinglright Aacute -43 +KPX guilsinglright Adieresis -43 +KPX guilsinglright Aring -43 +KPX guilsinglright T -121 +KPX guilsinglright V -71 +KPX guilsinglright W -29 +KPX guilsinglright Y -114 +KPX h quoteright -49 +KPX h y -32 +KPX hyphen A -26 +KPX hyphen AE -20 +KPX hyphen Aacute -26 +KPX hyphen Adieresis -26 +KPX hyphen Aring -26 +KPX hyphen T -95 +KPX hyphen V -41 +KPX hyphen W -1 +KPX hyphen Y -92 +KPX i T -58 +KPX i j -142 +KPX k a -6 +KPX k aacute -6 +KPX k adieresis -6 +KPX k ae 21 +KPX k aring -6 +KPX k comma -53 +KPX k e -29 +KPX k eacute -29 +KPX k g -38 +KPX k hyphen -99 +KPX k o -30 +KPX k oacute -30 +KPX k odieresis -30 +KPX k period -81 +KPX k s -9 +KPX k u -3 +KPX k udieresis -3 +KPX l v -83 +KPX l y -93 +KPX m p 22 +KPX m v 14 +KPX m w 15 +KPX m y 3 +KPX n T -42 +KPX n p -5 +KPX n quoteright -47 +KPX n v -21 +KPX n w -12 +KPX n y -31 +KPX nine four -51 +KPX nine one -75 +KPX nine seven -66 +KPX o T -85 +KPX o quoteright -39 +KPX o t -22 +KPX o v -21 +KPX o w -6 +KPX o x -26 +KPX o y -31 +KPX oacute v -21 +KPX oacute w -6 +KPX oacute y -31 +KPX ocircumflex t -22 +KPX odieresis t -22 +KPX odieresis v -21 +KPX odieresis w -6 +KPX odieresis x -26 +KPX odieresis y -31 +KPX ograve v -21 +KPX ograve w -6 +KPX ograve y -31 +KPX one comma -91 +KPX one eight -86 +KPX one five -67 +KPX one four -119 +KPX one nine -75 +KPX one one -62 +KPX one period -119 +KPX one seven -141 +KPX one six -111 +KPX one three -61 +KPX one two -47 +KPX one zero -94 +KPX p t -15 +KPX p y -19 +KPX period one -119 +KPX period quotedblright -108 +KPX period quoteright -125 +KPX q c -2 +KPX q u 42 +KPX quotedblbase A -3 +KPX quotedblbase AE -3 +KPX quotedblbase T -78 +KPX quotedblbase V -83 +KPX quotedblbase W -23 +KPX quotedblbase Y -79 +KPX quotedblleft A -59 +KPX quotedblleft AE -52 +KPX quotedblleft Aacute -59 +KPX quotedblleft Adieresis -59 +KPX quotedblleft Aring -59 +KPX quotedblleft T -37 +KPX quotedblleft V -14 +KPX quotedblleft W -3 +KPX quotedblleft Y -35 +KPX quotedblright A -59 +KPX quotedblright AE -68 +KPX quotedblright Aacute -59 +KPX quotedblright Adieresis -59 +KPX quotedblright Aring -59 +KPX quotedblright T -45 +KPX quotedblright V -14 +KPX quotedblright W -20 +KPX quotedblright Y -35 +KPX quoteleft A -80 +KPX quoteleft AE -73 +KPX quoteleft Aacute -80 +KPX quoteleft Adieresis -80 +KPX quoteleft Aring -80 +KPX quoteleft T -59 +KPX quoteleft V -36 +KPX quoteleft W -24 +KPX quoteleft Y -56 +KPX quoteright A -140 +KPX quoteright AE -149 +KPX quoteright Aacute -140 +KPX quoteright Adieresis -140 +KPX quoteright Aring -140 +KPX quoteright comma -196 +KPX quoteright d -126 +KPX quoteright o -131 +KPX quoteright period -220 +KPX quoteright r -145 +KPX quoteright s -140 +KPX quoteright t -114 +KPX quoteright v -108 +KPX quoteright w -105 +KPX quoteright y -118 +KPX r a -20 +KPX r aacute -20 +KPX r acircumflex -20 +KPX r adieresis -20 +KPX r ae 7 +KPX r agrave -20 +KPX r aring -20 +KPX r c -24 +KPX r ccedilla -28 +KPX r colon -81 +KPX r comma -97 +KPX r d -14 +KPX r e -12 +KPX r eacute -12 +KPX r ecircumflex -12 +KPX r egrave -12 +KPX r f -18 +KPX r g -11 +KPX r h -19 +KPX r hyphen -120 +KPX r i -28 +KPX r j -35 +KPX r k -29 +KPX r l -47 +KPX r m 33 +KPX r n 6 +KPX r o -19 +KPX r oacute -19 +KPX r ocircumflex -19 +KPX r odieresis -19 +KPX r oe 18 +KPX r ograve -19 +KPX r oslash -19 +KPX r p 28 +KPX r period -125 +KPX r q -11 +KPX r quoteright -37 +KPX r r -13 +KPX r s -24 +KPX r semicolon -69 +KPX r t 17 +KPX r u 17 +KPX r v 24 +KPX r w 24 +KPX r x 2 +KPX r y 13 +KPX r z -19 +KPX s quoteright -48 +KPX s t -13 +KPX seven colon -148 +KPX seven comma -140 +KPX seven eight -79 +KPX seven five -84 +KPX seven four -111 +KPX seven one -67 +KPX seven period -165 +KPX seven seven -62 +KPX seven six -99 +KPX seven three -72 +KPX seven two -69 +KPX six four -46 +KPX six one -61 +KPX six seven -48 +KPX t S -35 +KPX t a -20 +KPX t aacute -20 +KPX t adieresis -20 +KPX t ae 8 +KPX t aring -20 +KPX t colon -102 +KPX t e -37 +KPX t eacute -37 +KPX t h -7 +KPX t o -39 +KPX t oacute -39 +KPX t odieresis -39 +KPX t quoteright -94 +KPX t semicolon -80 +KPX three four -52 +KPX three one -74 +KPX three seven -67 +KPX two four -92 +KPX two one -66 +KPX two seven -71 +KPX u quoteright -38 +KPX v a -6 +KPX v aacute -6 +KPX v acircumflex -6 +KPX v adieresis -6 +KPX v ae 20 +KPX v agrave -6 +KPX v aring -6 +KPX v atilde -6 +KPX v c -25 +KPX v colon -71 +KPX v comma -113 +KPX v e -13 +KPX v eacute -13 +KPX v ecircumflex -13 +KPX v egrave -13 +KPX v g -11 +KPX v hyphen -24 +KPX v l -82 +KPX v o -21 +KPX v oacute -21 +KPX v odieresis -21 +KPX v ograve -21 +KPX v oslash -21 +KPX v period -139 +KPX v s -19 +KPX v semicolon -62 +KPX w a -6 +KPX w aacute -6 +KPX w acircumflex -6 +KPX w adieresis -6 +KPX w ae 20 +KPX w agrave -6 +KPX w aring -6 +KPX w atilde -6 +KPX w c -10 +KPX w colon -71 +KPX w comma -70 +KPX w e -1 +KPX w eacute -1 +KPX w ecircumflex -1 +KPX w egrave -1 +KPX w g -3 +KPX w hyphen 1 +KPX w l -50 +KPX w o -6 +KPX w oacute -6 +KPX w odieresis -6 +KPX w ograve -6 +KPX w oslash -3 +KPX w period -95 +KPX w s -18 +KPX w semicolon -62 +KPX x a -2 +KPX x c -29 +KPX x e -25 +KPX x eacute -25 +KPX x o -26 +KPX x q -30 +KPX y a -17 +KPX y aacute -17 +KPX y acircumflex -17 +KPX y adieresis -17 +KPX y ae 10 +KPX y agrave -17 +KPX y aring -17 +KPX y atilde -17 +KPX y c -35 +KPX y colon -81 +KPX y comma -117 +KPX y e -24 +KPX y eacute -24 +KPX y ecircumflex -24 +KPX y egrave -24 +KPX y g -21 +KPX y hyphen -24 +KPX y l -93 +KPX y o -31 +KPX y oacute -31 +KPX y odieresis -31 +KPX y ograve -31 +KPX y oslash -31 +KPX y period -144 +KPX y s -30 +KPX y semicolon -72 +KPX zero four -58 +KPX zero one -81 +KPX zero seven -73 +EndKernPairs +EndKernData +EndFontMetrics diff --git a/Master/xemtex/gsfonts/n022003l.pfb b/Master/xemtex/gsfonts/n022003l.pfb new file mode 100644 index 00000000000..deedada4833 Binary files /dev/null and b/Master/xemtex/gsfonts/n022003l.pfb differ diff --git a/Master/xemtex/gsfonts/n022003l.pfm b/Master/xemtex/gsfonts/n022003l.pfm new file mode 100644 index 00000000000..966b64ac46a Binary files /dev/null and b/Master/xemtex/gsfonts/n022003l.pfm differ diff --git a/Master/xemtex/gsfonts/n022004l.afm b/Master/xemtex/gsfonts/n022004l.afm new file mode 100644 index 00000000000..0e875070fcc --- /dev/null +++ b/Master/xemtex/gsfonts/n022004l.afm @@ -0,0 +1,1341 @@ +StartFontMetrics 3.0 +Comment Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development +Comment Creation Date: 12/22/1999 +Comment See the file PUBLIC (Aladdin Free Public License) for license conditions. +FontName NimbusMonL-Bold +FullName Nimbus Mono L Bold +FamilyName Nimbus Mono L +Weight Bold +ItalicAngle 0.0 +IsFixedPitch false +UnderlinePosition -100 +UnderlineThickness 50 +Version 1.05 +Notice (URW)++,Copyright 1999 by (URW)++ Design & Development +EncodingScheme AdobeStandardEncoding +FontBBox -43 -278 681 871 +CapHeight 583 +XHeight 437 +Descender -205 +Ascender 624 +StartCharMetrics 316 +C 32 ; WX 600 ; N space ; B 375 0 375 0 ; +C 33 ; WX 600 ; N exclam ; B 220 -15 381 638 ; +C 34 ; WX 600 ; N quotedbl ; B 136 312 464 602 ; +C 35 ; WX 600 ; N numbersign ; B 62 -92 538 675 ; +C 36 ; WX 600 ; N dollar ; B 83 -123 517 684 ; +C 37 ; WX 600 ; N percent ; B 80 -15 521 617 ; +C 38 ; WX 600 ; N ampersand ; B 75 -14 508 550 ; +C 39 ; WX 600 ; N quoteright ; B 147 331 351 623 ; +C 40 ; WX 600 ; N parenleft ; B 264 -153 488 632 ; +C 41 ; WX 600 ; N parenright ; B 117 -153 341 632 ; +C 42 ; WX 600 ; N asterisk ; B 83 208 517 622 ; +C 43 ; WX 600 ; N plus ; B 42 0 558 560 ; +C 44 ; WX 600 ; N comma ; B 147 -158 351 134 ; +C 45 ; WX 600 ; N hyphen ; B 42 229 558 329 ; +C 46 ; WX 600 ; N period ; B 225 -15 375 117 ; +C 47 ; WX 600 ; N slash ; B 83 -113 517 695 ; +C 48 ; WX 600 ; N zero ; B 83 -15 517 638 ; +C 49 ; WX 600 ; N one ; B 83 0 517 638 ; +C 50 ; WX 600 ; N two ; B 54 0 508 638 ; +C 51 ; WX 600 ; N three ; B 66 -15 529 638 ; +C 52 ; WX 600 ; N four ; B 75 0 508 622 ; +C 53 ; WX 600 ; N five ; B 66 -15 529 622 ; +C 54 ; WX 600 ; N six ; B 105 -15 540 638 ; +C 55 ; WX 600 ; N seven ; B 75 -1 508 622 ; +C 56 ; WX 600 ; N eight ; B 83 -15 517 638 ; +C 57 ; WX 600 ; N nine ; B 106 -15 541 638 ; +C 58 ; WX 600 ; N colon ; B 225 -15 375 437 ; +C 59 ; WX 600 ; N semicolon ; B 147 -158 351 437 ; +C 60 ; WX 600 ; N less ; B 42 54 544 501 ; +C 61 ; WX 600 ; N equal ; B 42 138 558 422 ; +C 62 ; WX 600 ; N greater ; B 56 53 558 500 ; +C 63 ; WX 600 ; N question ; B 104 -15 517 598 ; +C 64 ; WX 600 ; N at ; B 76 -152 509 620 ; +C 65 ; WX 600 ; N A ; B -21 0 621 583 ; +C 66 ; WX 600 ; N B ; B 13 0 571 583 ; +C 67 ; WX 600 ; N C ; B 33 -14 564 597 ; +C 68 ; WX 600 ; N D ; B 13 0 550 583 ; +C 69 ; WX 600 ; N E ; B 13 0 550 583 ; +C 70 ; WX 600 ; N F ; B 13 0 550 583 ; +C 71 ; WX 600 ; N G ; B 33 -14 592 597 ; +C 72 ; WX 600 ; N H ; B 23 0 581 583 ; +C 73 ; WX 600 ; N I ; B 83 0 517 583 ; +C 74 ; WX 600 ; N J ; B 54 -14 613 583 ; +C 75 ; WX 600 ; N K ; B 13 0 602 583 ; +C 76 ; WX 600 ; N L ; B 33 0 571 583 ; +C 77 ; WX 600 ; N M ; B -19 0 623 584 ; +C 78 ; WX 600 ; N N ; B -8 0 592 583 ; +C 79 ; WX 600 ; N O ; B 21 -14 579 597 ; +C 80 ; WX 600 ; N P ; B 13 0 529 583 ; +C 81 ; WX 600 ; N Q ; B 21 -145 579 597 ; +C 82 ; WX 600 ; N R ; B 13 0 619 583 ; +C 83 ; WX 600 ; N S ; B 62 -14 538 597 ; +C 84 ; WX 600 ; N T ; B 42 0 558 583 ; +C 85 ; WX 600 ; N U ; B 10 -14 590 583 ; +C 86 ; WX 600 ; N V ; B -21 0 621 583 ; +C 87 ; WX 600 ; N W ; B -10 0 610 583 ; +C 88 ; WX 600 ; N X ; B 10 0 590 583 ; +C 89 ; WX 600 ; N Y ; B 21 0 579 583 ; +C 90 ; WX 600 ; N Z ; B 73 0 527 583 ; +C 91 ; WX 600 ; N bracketleft ; B 250 -148 475 627 ; +C 92 ; WX 600 ; N backslash ; B 83 -113 517 695 ; +C 93 ; WX 600 ; N bracketright ; B 125 -148 350 627 ; +C 94 ; WX 600 ; N asciicircum ; B 83 325 517 652 ; +C 95 ; WX 600 ; N underscore ; B -12 -125 612 -75 ; +C 96 ; WX 600 ; N quoteleft ; B 249 348 453 602 ; +C 97 ; WX 600 ; N a ; B 42 -16 571 450 ; +C 98 ; WX 600 ; N b ; B -8 -14 571 624 ; +C 99 ; WX 600 ; N c ; B 54 -16 565 450 ; +C 100 ; WX 600 ; N d ; B 33 -14 613 624 ; +C 101 ; WX 600 ; N e ; B 33 -16 550 450 ; +C 102 ; WX 600 ; N f ; B 75 0 571 623 ; +C 103 ; WX 600 ; N g ; B 33 -205 592 451 ; +C 104 ; WX 600 ; N h ; B 13 0 581 624 ; +C 105 ; WX 600 ; N i ; B 62 0 538 623 ; +C 106 ; WX 600 ; N j ; B 117 -205 488 623 ; +C 107 ; WX 600 ; N k ; B 33 0 571 624 ; +C 108 ; WX 600 ; N l ; B 62 0 538 624 ; +C 109 ; WX 600 ; N m ; B -19 0 623 450 ; +C 110 ; WX 600 ; N n ; B 23 0 571 450 ; +C 111 ; WX 600 ; N o ; B 42 -16 558 450 ; +C 112 ; WX 600 ; N p ; B -8 -205 571 450 ; +C 113 ; WX 600 ; N q ; B 33 -205 613 450 ; +C 114 ; WX 600 ; N r ; B 54 0 571 449 ; +C 115 ; WX 600 ; N s ; B 73 -16 527 450 ; +C 116 ; WX 600 ; N t ; B 13 -16 529 591 ; +C 117 ; WX 600 ; N u ; B 13 -13 571 437 ; +C 118 ; WX 600 ; N v ; B 0 0 600 437 ; +C 119 ; WX 600 ; N w ; B 0 0 600 437 ; +C 120 ; WX 600 ; N x ; B 21 0 579 437 ; +C 121 ; WX 600 ; N y ; B 21 -205 579 437 ; +C 122 ; WX 600 ; N z ; B 85 0 519 437 ; +C 123 ; WX 600 ; N braceleft ; B 167 -153 433 623 ; +C 124 ; WX 600 ; N bar ; B 250 -153 350 622 ; +C 125 ; WX 600 ; N braceright ; B 167 -153 433 623 ; +C 126 ; WX 600 ; N asciitilde ; B 62 179 538 385 ; +C 161 ; WX 600 ; N exclamdown ; B 220 -227 381 426 ; +C 162 ; WX 600 ; N cent ; B 83 -44 499 661 ; +C 163 ; WX 600 ; N sterling ; B 33 0 550 598 ; +C 164 ; WX 600 ; N fraction ; B 21 102 580 500 ; +C 165 ; WX 600 ; N yen ; B 21 0 579 580 ; +C 166 ; WX 600 ; N florin ; B 57 -123 548 638 ; +C 167 ; WX 600 ; N section ; B 36 -170 564 583 ; +C 168 ; WX 600 ; N currency ; B 73 64 527 519 ; +C 169 ; WX 600 ; N quotesingle ; B 236 312 364 602 ; +C 170 ; WX 600 ; N quotedblleft ; B 98 348 502 602 ; +C 171 ; WX 600 ; N guillemotleft ; B 33 20 571 415 ; +C 172 ; WX 600 ; N guilsinglleft ; B 33 20 342 415 ; +C 173 ; WX 600 ; N guilsinglright ; B 263 20 571 415 ; +C 174 ; WX 600 ; N fi ; B -14 0 619 624 ; +C 175 ; WX 600 ; N fl ; B -17 0 617 623 ; +C 177 ; WX 600 ; N endash ; B 42 229 558 329 ; +C 178 ; WX 600 ; N dagger ; B 94 -92 506 622 ; +C 179 ; WX 600 ; N daggerdbl ; B 94 -92 506 622 ; +C 180 ; WX 600 ; N periodcentered ; B 225 214 375 346 ; +C 182 ; WX 600 ; N paragraph ; B 49 -174 558 583 ; +C 183 ; WX 600 ; N bullet ; B 150 154 449 453 ; +C 184 ; WX 600 ; N quotesinglbase ; B 147 -158 351 134 ; +C 185 ; WX 600 ; N quotedblbase ; B 87 -120 491 134 ; +C 186 ; WX 600 ; N quotedblright ; B 87 348 491 602 ; +C 187 ; WX 600 ; N guillemotright ; B 33 20 571 415 ; +C 188 ; WX 600 ; N ellipsis ; B 25 -15 575 117 ; +C 189 ; WX 600 ; N perthousand ; B 0 0 600 618 ; +C 191 ; WX 600 ; N questiondown ; B 83 -227 496 386 ; +C 193 ; WX 600 ; N grave ; B 125 496 350 696 ; +C 194 ; WX 600 ; N acute ; B 250 496 475 696 ; +C 195 ; WX 600 ; N circumflex ; B 125 497 476 696 ; +C 196 ; WX 600 ; N tilde ; B 115 523 485 656 ; +C 197 ; WX 600 ; N macron ; B 125 546 475 626 ; +C 198 ; WX 600 ; N breve ; B 125 503 475 687 ; +C 199 ; WX 600 ; N dotaccent ; B 240 534 360 654 ; +C 200 ; WX 600 ; N dieresis ; B 136 534 464 654 ; +C 202 ; WX 600 ; N ring ; B 177 486 423 727 ; +C 203 ; WX 600 ; N cedilla ; B 180 -229 407 0 ; +C 205 ; WX 600 ; N hungarumlaut ; B 125 496 475 694 ; +C 206 ; WX 600 ; N ogonek ; B 250 -208 463 0 ; +C 207 ; WX 600 ; N caron ; B 125 497 476 696 ; +C 208 ; WX 600 ; N emdash ; B -29 229 629 329 ; +C 225 ; WX 600 ; N AE ; B -20 0 614 583 ; +C 227 ; WX 600 ; N ordfeminine ; B 118 182 489 595 ; +C 232 ; WX 600 ; N Lslash ; B 12 0 571 583 ; +C 233 ; WX 600 ; N Oslash ; B 9 -70 590 638 ; +C 234 ; WX 600 ; N OE ; B -20 0 612 583 ; +C 235 ; WX 600 ; N ordmasculine ; B 122 182 480 595 ; +C 241 ; WX 600 ; N ae ; B -13 -16 612 450 ; +C 245 ; WX 600 ; N dotlessi ; B 62 0 538 437 ; +C 248 ; WX 600 ; N lslash ; B 62 0 538 624 ; +C 249 ; WX 600 ; N oslash ; B 23 -70 573 494 ; +C 250 ; WX 600 ; N oe ; B -11 -16 613 450 ; +C 251 ; WX 600 ; N germandbls ; B 13 -16 529 623 ; +C -1 ; WX 600 ; N Udieresis ; B 10 -14 590 798 ; +C -1 ; WX 600 ; N Uacute ; B 10 -14 590 839 ; +C -1 ; WX 600 ; N Scedilla ; B 62 -229 538 597 ; +C -1 ; WX 600 ; N Tcaron ; B 42 0 558 839 ; +C -1 ; WX 600 ; N Scaron ; B 62 -14 538 839 ; +C -1 ; WX 600 ; N Rcaron ; B 13 0 619 839 ; +C -1 ; WX 600 ; N Racute ; B 13 0 619 839 ; +C -1 ; WX 600 ; N Sacute ; B 62 -14 538 839 ; +C -1 ; WX 600 ; N Otilde ; B 21 -14 579 799 ; +C -1 ; WX 600 ; N ucircumflex ; B 13 -13 571 696 ; +C -1 ; WX 600 ; N Ohungarumlaut ; B 21 -14 579 838 ; +C -1 ; WX 600 ; N Uhungarumlaut ; B 10 -14 590 838 ; +C -1 ; WX 600 ; N Yacute ; B 21 0 579 839 ; +C -1 ; WX 600 ; N Eth ; B 0 0 550 583 ; +C -1 ; WX 600 ; N Dcroat ; B 0 0 550 583 ; +C -1 ; WX 600 ; N Zacute ; B 73 0 527 839 ; +C -1 ; WX 600 ; N Uring ; B 10 -14 590 871 ; +C -1 ; WX 600 ; N gbreve ; B 33 -205 592 687 ; +C -1 ; WX 600 ; N eogonek ; B 33 -208 550 450 ; +C -1 ; WX 600 ; N edotaccent ; B 33 -16 550 654 ; +C -1 ; WX 600 ; N ecaron ; B 33 -16 550 696 ; +C -1 ; WX 600 ; N Ugrave ; B 10 -14 590 839 ; +C -1 ; WX 600 ; N Thorn ; B 14 0 523 583 ; +C -1 ; WX 600 ; N eacute ; B 33 -16 550 696 ; +C -1 ; WX 600 ; N edieresis ; B 33 -16 550 654 ; +C -1 ; WX 600 ; N dcaron ; B 33 -14 681 637 ; +C -1 ; WX 600 ; N ccedilla ; B 54 -229 565 450 ; +C -1 ; WX 600 ; N ccaron ; B 54 -16 565 696 ; +C -1 ; WX 600 ; N cacute ; B 54 -16 565 696 ; +C -1 ; WX 600 ; N aogonek ; B 42 -208 580 450 ; +C -1 ; WX 600 ; N aring ; B 42 -16 571 727 ; +C -1 ; WX 600 ; N atilde ; B 42 -16 571 656 ; +C -1 ; WX 600 ; N abreve ; B 42 -16 571 687 ; +C -1 ; WX 600 ; N egrave ; B 33 -16 550 696 ; +C -1 ; WX 600 ; N agrave ; B 42 -16 571 696 ; +C -1 ; WX 600 ; N aacute ; B 42 -16 571 696 ; +C -1 ; WX 600 ; N adieresis ; B 42 -16 571 654 ; +C -1 ; WX 600 ; N Uogonek ; B 10 -208 590 583 ; +C -1 ; WX 600 ; N ugrave ; B 13 -13 571 696 ; +C -1 ; WX 600 ; N uacute ; B 13 -13 571 696 ; +C -1 ; WX 600 ; N udieresis ; B 13 -13 571 654 ; +C -1 ; WX 600 ; N tcaron ; B 13 -16 530 637 ; +C -1 ; WX 600 ; N scommaaccent ; B 73 -278 527 450 ; +C -1 ; WX 600 ; N Zcaron ; B 73 0 527 839 ; +C -1 ; WX 600 ; N ecircumflex ; B 33 -16 550 696 ; +C -1 ; WX 600 ; N Ucircumflex ; B 10 -14 590 839 ; +C -1 ; WX 600 ; N acircumflex ; B 42 -16 571 696 ; +C -1 ; WX 600 ; N Zdotaccent ; B 73 0 527 798 ; +C -1 ; WX 600 ; N scaron ; B 73 -16 527 696 ; +C -1 ; WX 600 ; N Amacron ; B -21 0 621 769 ; +C -1 ; WX 600 ; N sacute ; B 73 -16 527 696 ; +C -1 ; WX 600 ; N Tcommaaccent ; B 42 -278 558 583 ; +C -1 ; WX 600 ; N Ydieresis ; B 21 0 579 798 ; +C -1 ; WX 600 ; N thorn ; B -8 -205 571 624 ; +C -1 ; WX 600 ; N Emacron ; B 13 0 550 769 ; +C -1 ; WX 600 ; N Ograve ; B 21 -14 579 839 ; +C -1 ; WX 600 ; N Oacute ; B 21 -14 579 839 ; +C -1 ; WX 600 ; N Odieresis ; B 21 -14 579 798 ; +C -1 ; WX 600 ; N Ntilde ; B -8 0 592 799 ; +C -1 ; WX 600 ; N Ncaron ; B -8 0 592 839 ; +C -1 ; WX 600 ; N Nacute ; B -8 0 592 839 ; +C -1 ; WX 600 ; N Lcaron ; B 33 0 571 598 ; +C -1 ; WX 600 ; N Lacute ; B 33 0 571 839 ; +C -1 ; WX 600 ; N Idotaccent ; B 83 0 517 798 ; +C -1 ; WX 600 ; N racute ; B 54 0 571 696 ; +C -1 ; WX 600 ; N Icircumflex ; B 83 0 517 839 ; +C -1 ; WX 600 ; N ohungarumlaut ; B 42 -16 558 694 ; +C -1 ; WX 600 ; N otilde ; B 42 -16 558 656 ; +C -1 ; WX 600 ; N Euro ; B 4 -14 538 597 ; +C -1 ; WX 600 ; N ocircumflex ; B 42 -16 558 696 ; +C -1 ; WX 600 ; N onesuperior ; B 166 247 434 638 ; +C -1 ; WX 600 ; N twosuperior ; B 149 247 429 637 ; +C -1 ; WX 600 ; N threesuperior ; B 157 238 442 637 ; +C -1 ; WX 600 ; N Igrave ; B 83 0 517 839 ; +C -1 ; WX 600 ; N Iacute ; B 83 0 517 839 ; +C -1 ; WX 600 ; N Imacron ; B 83 0 517 769 ; +C -1 ; WX 600 ; N Iogonek ; B 83 -208 517 583 ; +C -1 ; WX 600 ; N Idieresis ; B 83 0 517 798 ; +C -1 ; WX 600 ; N Gbreve ; B 33 -14 592 831 ; +C -1 ; WX 600 ; N Umacron ; B 10 -14 590 769 ; +C -1 ; WX 600 ; N Kcommaaccent ; B 13 -278 602 583 ; +C -1 ; WX 600 ; N ograve ; B 42 -16 558 696 ; +C -1 ; WX 600 ; N Scommaaccent ; B 62 -278 538 597 ; +C -1 ; WX 600 ; N Eogonek ; B 13 -208 587 583 ; +C -1 ; WX 600 ; N oacute ; B 42 -16 558 696 ; +C -1 ; WX 600 ; N Edotaccent ; B 13 0 550 798 ; +C -1 ; WX 600 ; N iogonek ; B 62 -208 540 623 ; +C -1 ; WX 600 ; N gcommaaccent ; B 33 -205 592 721 ; +C -1 ; WX 600 ; N odieresis ; B 42 -16 558 654 ; +C -1 ; WX 600 ; N ntilde ; B 23 0 571 656 ; +C -1 ; WX 600 ; N ncaron ; B 23 0 571 696 ; +C -1 ; WX 600 ; N Ecaron ; B 13 0 550 839 ; +C -1 ; WX 600 ; N Ecircumflex ; B 13 0 550 839 ; +C -1 ; WX 600 ; N scedilla ; B 73 -229 527 450 ; +C -1 ; WX 600 ; N rcaron ; B 54 0 571 696 ; +C -1 ; WX 600 ; N Egrave ; B 13 0 550 839 ; +C -1 ; WX 600 ; N Eacute ; B 13 0 550 839 ; +C -1 ; WX 600 ; N Gcommaaccent ; B 33 -278 592 597 ; +C -1 ; WX 600 ; N Rcommaaccent ; B 13 -278 619 583 ; +C -1 ; WX 600 ; N Edieresis ; B 13 0 550 798 ; +C -1 ; WX 600 ; N nacute ; B 23 0 571 696 ; +C -1 ; WX 600 ; N uogonek ; B 13 -208 571 437 ; +C -1 ; WX 600 ; N umacron ; B 13 -13 571 626 ; +C -1 ; WX 600 ; N Dcaron ; B 13 0 550 839 ; +C -1 ; WX 600 ; N lcaron ; B 62 0 538 637 ; +C -1 ; WX 600 ; N Ccaron ; B 33 -14 564 839 ; +C -1 ; WX 600 ; N Cacute ; B 33 -14 564 839 ; +C -1 ; WX 600 ; N Ccedilla ; B 33 -229 564 597 ; +C -1 ; WX 600 ; N degree ; B 125 243 475 596 ; +C -1 ; WX 600 ; N Aogonek ; B -21 -208 621 583 ; +C -1 ; WX 600 ; N minus ; B 42 230 558 330 ; +C -1 ; WX 600 ; N multiply ; B 100 80 500 480 ; +C -1 ; WX 600 ; N divide ; B 42 28 558 532 ; +C -1 ; WX 600 ; N Aring ; B -21 0 621 871 ; +C -1 ; WX 600 ; N trademark ; B -33 220 620 583 ; +C -1 ; WX 600 ; N rcommaaccent ; B 54 -278 571 449 ; +C -1 ; WX 600 ; N lacute ; B 62 0 538 840 ; +C -1 ; WX 600 ; N omacron ; B 42 -16 558 626 ; +C -1 ; WX 600 ; N Atilde ; B -21 0 621 799 ; +C -1 ; WX 600 ; N icircumflex ; B 62 0 538 696 ; +C -1 ; WX 600 ; N igrave ; B 62 0 538 696 ; +C -1 ; WX 600 ; N ncommaaccent ; B 23 -278 571 450 ; +C -1 ; WX 600 ; N lcommaaccent ; B 62 -278 538 624 ; +C -1 ; WX 600 ; N plusminus ; B 42 0 558 624 ; +C -1 ; WX 600 ; N onehalf ; B -34 0 629 638 ; +C -1 ; WX 600 ; N onequarter ; B -34 0 629 638 ; +C -1 ; WX 600 ; N threequarters ; B -43 0 630 637 ; +C -1 ; WX 600 ; N iacute ; B 62 0 538 696 ; +C -1 ; WX 600 ; N Abreve ; B -21 0 621 831 ; +C -1 ; WX 600 ; N kcommaaccent ; B 33 -278 571 624 ; +C -1 ; WX 600 ; N Omacron ; B 21 -14 579 769 ; +C -1 ; WX 600 ; N imacron ; B 62 0 538 626 ; +C -1 ; WX 600 ; N emacron ; B 33 -16 550 626 ; +C -1 ; WX 600 ; N amacron ; B 42 -16 571 626 ; +C -1 ; WX 600 ; N tcommaaccent ; B 13 -278 529 591 ; +C -1 ; WX 600 ; N ydieresis ; B 21 -205 579 654 ; +C -1 ; WX 600 ; N zdotaccent ; B 85 0 519 654 ; +C -1 ; WX 600 ; N zcaron ; B 85 0 519 696 ; +C -1 ; WX 600 ; N zacute ; B 85 0 519 696 ; +C -1 ; WX 600 ; N yacute ; B 21 -205 579 696 ; +C -1 ; WX 600 ; N uhungarumlaut ; B 13 -13 571 694 ; +C -1 ; WX 600 ; N eth ; B 42 -16 558 646 ; +C -1 ; WX 600 ; N uring ; B 13 -13 571 727 ; +C -1 ; WX 600 ; N Ocircumflex ; B 21 -14 579 839 ; +C -1 ; WX 600 ; N commaaccent ; B 183 -278 351 -59 ; +C -1 ; WX 600 ; N copyright ; B -7 -15 606 598 ; +C -1 ; WX 600 ; N registered ; B -7 -15 606 598 ; +C -1 ; WX 600 ; N Acircumflex ; B -21 0 621 839 ; +C -1 ; WX 600 ; N idieresis ; B 62 0 538 654 ; +C -1 ; WX 600 ; N lozenge ; B 72 -19 529 593 ; +C -1 ; WX 600 ; N Delta ; B 15 0 585 583 ; +C -1 ; WX 600 ; N notequal ; B 42 22 558 525 ; +C -1 ; WX 600 ; N radical ; B 12 -60 642 697 ; +C -1 ; WX 600 ; N Agrave ; B -21 0 621 839 ; +C -1 ; WX 600 ; N Aacute ; B -21 0 621 839 ; +C -1 ; WX 600 ; N lessequal ; B 3 0 549 591 ; +C -1 ; WX 600 ; N greaterequal ; B 35 0 582 591 ; +C -1 ; WX 600 ; N logicalnot ; B 42 115 465 445 ; +C -1 ; WX 600 ; N summation ; B 45 -97 538 671 ; +C -1 ; WX 600 ; N partialdiff ; B 102 -16 524 590 ; +C -1 ; WX 600 ; N Ncommaaccent ; B -8 -278 592 583 ; +C -1 ; WX 600 ; N dcroat ; B 33 -16 613 624 ; +C -1 ; WX 600 ; N brokenbar ; B 250 -153 350 622 ; +C -1 ; WX 600 ; N Lcommaaccent ; B 33 -278 571 583 ; +C -1 ; WX 600 ; N Adieresis ; B -21 0 621 798 ; +C -1 ; WX 600 ; N mu ; B 13 -153 571 437 ; +C -1 ; WX 600 ; N .notdef ; B 375 0 375 0 ; +EndCharMetrics +StartKernData +StartKernPairs 998 +KPX A C -14 +KPX A Ccedilla -22 +KPX A G -10 +KPX A O -15 +KPX A Odieresis -15 +KPX A Q -16 +KPX A T -27 +KPX A U -23 +KPX A Uacute -23 +KPX A Ucircumflex -23 +KPX A Udieresis -23 +KPX A Ugrave -23 +KPX A V -59 +KPX A W -13 +KPX A Y -27 +KPX A a 15 +KPX A b 45 +KPX A c -4 +KPX A ccedilla -8 +KPX A comma -47 +KPX A d 4 +KPX A e 2 +KPX A g 0 +KPX A guillemotleft -40 +KPX A guilsinglleft -40 +KPX A hyphen -19 +KPX A o -3 +KPX A period -62 +KPX A q -4 +KPX A quotedblright -84 +KPX A quoteright -113 +KPX A t -20 +KPX A u -12 +KPX A v -39 +KPX A w -13 +KPX A y -39 +KPX Aacute C -14 +KPX Aacute G -10 +KPX Aacute O -15 +KPX Aacute Q -16 +KPX Aacute T -27 +KPX Aacute U -23 +KPX Aacute V -59 +KPX Aacute W -13 +KPX Aacute Y -27 +KPX Aacute a 15 +KPX Aacute b 45 +KPX Aacute c -4 +KPX Aacute comma -47 +KPX Aacute d 4 +KPX Aacute e 2 +KPX Aacute g 0 +KPX Aacute guillemotleft -40 +KPX Aacute guilsinglleft -40 +KPX Aacute hyphen -19 +KPX Aacute o -3 +KPX Aacute period -62 +KPX Aacute q -4 +KPX Aacute quoteright -113 +KPX Aacute t -20 +KPX Aacute u -12 +KPX Aacute v -39 +KPX Aacute w -13 +KPX Aacute y -39 +KPX Acircumflex C -14 +KPX Acircumflex G -10 +KPX Acircumflex O -15 +KPX Acircumflex Q -16 +KPX Acircumflex T -27 +KPX Acircumflex U -23 +KPX Acircumflex V -59 +KPX Acircumflex W -13 +KPX Acircumflex Y -27 +KPX Acircumflex comma -47 +KPX Acircumflex period -62 +KPX Adieresis C -14 +KPX Adieresis G -10 +KPX Adieresis O -15 +KPX Adieresis Q -16 +KPX Adieresis T -27 +KPX Adieresis U -23 +KPX Adieresis V -59 +KPX Adieresis W -13 +KPX Adieresis Y -27 +KPX Adieresis a 15 +KPX Adieresis b 45 +KPX Adieresis c -4 +KPX Adieresis comma -47 +KPX Adieresis d 4 +KPX Adieresis g 0 +KPX Adieresis guillemotleft -40 +KPX Adieresis guilsinglleft -40 +KPX Adieresis hyphen -19 +KPX Adieresis o -3 +KPX Adieresis period -62 +KPX Adieresis q -4 +KPX Adieresis quotedblright -84 +KPX Adieresis quoteright -113 +KPX Adieresis t -20 +KPX Adieresis u -12 +KPX Adieresis v -39 +KPX Adieresis w -13 +KPX Adieresis y -39 +KPX Agrave C -14 +KPX Agrave G -10 +KPX Agrave O -15 +KPX Agrave Q -16 +KPX Agrave T -27 +KPX Agrave U -23 +KPX Agrave V -59 +KPX Agrave W -13 +KPX Agrave Y -27 +KPX Agrave comma -47 +KPX Agrave period -62 +KPX Aring C -14 +KPX Aring G -10 +KPX Aring O -15 +KPX Aring Q -16 +KPX Aring T -27 +KPX Aring U -23 +KPX Aring V -59 +KPX Aring W -13 +KPX Aring Y -27 +KPX Aring a 15 +KPX Aring b 45 +KPX Aring c -4 +KPX Aring comma -47 +KPX Aring d 4 +KPX Aring e 2 +KPX Aring g 0 +KPX Aring guillemotleft -40 +KPX Aring guilsinglleft -40 +KPX Aring hyphen -19 +KPX Aring o -3 +KPX Aring period -62 +KPX Aring q -4 +KPX Aring quotedblright -84 +KPX Aring quoteright -113 +KPX Aring t -20 +KPX Aring u -12 +KPX Aring v -39 +KPX Aring w -13 +KPX Aring y -39 +KPX Atilde C -14 +KPX Atilde G -10 +KPX Atilde O -15 +KPX Atilde Q -16 +KPX Atilde T -27 +KPX Atilde U -23 +KPX Atilde V -59 +KPX Atilde W -13 +KPX Atilde Y -27 +KPX Atilde comma -47 +KPX Atilde period -62 +KPX B A 4 +KPX B AE 3 +KPX B Aacute 4 +KPX B Acircumflex 4 +KPX B Adieresis 4 +KPX B Aring 4 +KPX B Atilde 4 +KPX B O -9 +KPX B OE 11 +KPX B Oacute -9 +KPX B Ocircumflex -9 +KPX B Odieresis -9 +KPX B Ograve -9 +KPX B Oslash -5 +KPX B V -18 +KPX B W -6 +KPX B Y -39 +KPX C A 8 +KPX C AE 7 +KPX C Aacute 8 +KPX C Adieresis 8 +KPX C Aring 8 +KPX C H -13 +KPX C K -8 +KPX C O -14 +KPX C Oacute -14 +KPX C Odieresis -14 +KPX Ccedilla A 3 +KPX D A -25 +KPX D Aacute -25 +KPX D Acircumflex -25 +KPX D Adieresis -25 +KPX D Agrave -25 +KPX D Aring -25 +KPX D Atilde -25 +KPX D J -32 +KPX D T -27 +KPX D V -30 +KPX D W -13 +KPX D X -37 +KPX D Y -51 +KPX F A -39 +KPX F Aacute -39 +KPX F Acircumflex -39 +KPX F Adieresis -39 +KPX F Agrave -39 +KPX F Aring -39 +KPX F Atilde -39 +KPX F J -78 +KPX F O -24 +KPX F Odieresis -24 +KPX F a -40 +KPX F aacute -40 +KPX F adieresis -40 +KPX F ae -18 +KPX F aring -40 +KPX F comma -168 +KPX F e -47 +KPX F eacute -47 +KPX F hyphen -55 +KPX F i -46 +KPX F j -54 +KPX F o -51 +KPX F oacute -51 +KPX F odieresis -51 +KPX F oe -16 +KPX F oslash -51 +KPX F period -187 +KPX F r -32 +KPX F u -1 +KPX G A 6 +KPX G AE 5 +KPX G Aacute 6 +KPX G Acircumflex 6 +KPX G Adieresis 6 +KPX G Agrave 6 +KPX G Aring 6 +KPX G Atilde 6 +KPX G T -25 +KPX G V 6 +KPX G W 6 +KPX G Y -14 +KPX J A -8 +KPX J AE -16 +KPX J Adieresis -8 +KPX J Aring -8 +KPX K C -24 +KPX K G -19 +KPX K O -25 +KPX K OE -4 +KPX K Oacute -25 +KPX K Odieresis -25 +KPX K S -9 +KPX K T -13 +KPX K a 6 +KPX K adieresis 6 +KPX K ae 31 +KPX K aring 6 +KPX K e -6 +KPX K hyphen -44 +KPX K o -12 +KPX K oacute -12 +KPX K odieresis -12 +KPX K u -22 +KPX K udieresis -22 +KPX K y -50 +KPX L A 16 +KPX L AE 16 +KPX L Aacute 16 +KPX L Adieresis 16 +KPX L Aring 16 +KPX L C -10 +KPX L Ccedilla -11 +KPX L G -10 +KPX L O -7 +KPX L Oacute -7 +KPX L Ocircumflex -7 +KPX L Odieresis -7 +KPX L Ograve -7 +KPX L Otilde -7 +KPX L S -24 +KPX L T -52 +KPX L U -29 +KPX L Udieresis -29 +KPX L V -57 +KPX L W -22 +KPX L Y -52 +KPX L hyphen 9 +KPX L quotedblright -72 +KPX L quoteright -99 +KPX L u -10 +KPX L udieresis -11 +KPX L y -33 +KPX N A -3 +KPX N AE -3 +KPX N Aacute -3 +KPX N Adieresis -3 +KPX N Aring -3 +KPX N C -7 +KPX N Ccedilla -6 +KPX N G -6 +KPX N O -5 +KPX N Oacute -5 +KPX N Odieresis -5 +KPX N a -11 +KPX N aacute -11 +KPX N adieresis -11 +KPX N ae 18 +KPX N aring -11 +KPX N comma -75 +KPX N e -3 +KPX N eacute -3 +KPX N o -8 +KPX N oacute -8 +KPX N odieresis -8 +KPX N oslash -3 +KPX N period -93 +KPX N u -8 +KPX N udieresis -8 +KPX O A -14 +KPX O AE -14 +KPX O Aacute -14 +KPX O Adieresis -14 +KPX O Aring -14 +KPX O T -15 +KPX O V -23 +KPX O W -2 +KPX O X -26 +KPX O Y -43 +KPX Oacute A -14 +KPX Oacute T -15 +KPX Oacute V -23 +KPX Oacute W -2 +KPX Oacute Y -43 +KPX Ocircumflex T -15 +KPX Ocircumflex V -23 +KPX Ocircumflex Y -43 +KPX Odieresis A -14 +KPX Odieresis T -15 +KPX Odieresis V -23 +KPX Odieresis W -2 +KPX Odieresis X -26 +KPX Odieresis Y -43 +KPX Ograve T -15 +KPX Ograve V -23 +KPX Ograve Y -43 +KPX Oslash A -10 +KPX Otilde T -15 +KPX Otilde V -23 +KPX Otilde Y -43 +KPX P A -61 +KPX P AE -59 +KPX P Aacute -61 +KPX P Adieresis -61 +KPX P Aring -61 +KPX P J -73 +KPX P a -49 +KPX P aacute -49 +KPX P adieresis -49 +KPX P ae -27 +KPX P aring -49 +KPX P comma -160 +KPX P e -38 +KPX P eacute -38 +KPX P hyphen -33 +KPX P o -42 +KPX P oacute -42 +KPX P odieresis -42 +KPX P oe -13 +KPX P oslash -42 +KPX P period -178 +KPX R C -14 +KPX R Ccedilla -17 +KPX R G -10 +KPX R O -14 +KPX R OE 5 +KPX R Oacute -14 +KPX R Odieresis -14 +KPX R T -28 +KPX R U -16 +KPX R Udieresis -17 +KPX R V -24 +KPX R W -8 +KPX R Y -28 +KPX R a 14 +KPX R aacute 14 +KPX R adieresis 14 +KPX R ae 40 +KPX R aring 14 +KPX R e 2 +KPX R eacute 2 +KPX R hyphen -25 +KPX R o -3 +KPX R oacute -3 +KPX R odieresis -3 +KPX R oe 29 +KPX R u -7 +KPX R uacute -8 +KPX R udieresis -8 +KPX R y -18 +KPX S A -10 +KPX S AE -10 +KPX S Aacute -10 +KPX S Adieresis -10 +KPX S Aring -10 +KPX S T -41 +KPX S V -10 +KPX S W -12 +KPX S Y -31 +KPX S t -17 +KPX T A -28 +KPX T AE -28 +KPX T Aacute -28 +KPX T Acircumflex -28 +KPX T Adieresis -28 +KPX T Agrave -28 +KPX T Aring -28 +KPX T Atilde -28 +KPX T C -19 +KPX T G -19 +KPX T J -65 +KPX T O -14 +KPX T OE 6 +KPX T Oacute -14 +KPX T Ocircumflex -14 +KPX T Odieresis -14 +KPX T Ograve -14 +KPX T Oslash -14 +KPX T Otilde -14 +KPX T S -41 +KPX T V 10 +KPX T W 4 +KPX T Y -10 +KPX T a -34 +KPX T ae -12 +KPX T c -37 +KPX T colon -112 +KPX T comma -130 +KPX T e -26 +KPX T g -24 +KPX T guillemotleft -73 +KPX T guilsinglleft -73 +KPX T hyphen -91 +KPX T i -42 +KPX T j -49 +KPX T o -31 +KPX T oslash -31 +KPX T period -148 +KPX T r -28 +KPX T s -39 +KPX T semicolon -100 +KPX T u 4 +KPX T v 10 +KPX T w 10 +KPX T y 0 +KPX U A -19 +KPX U AE -18 +KPX U Aacute -19 +KPX U Acircumflex -19 +KPX U Adieresis -19 +KPX U Aring -19 +KPX U Atilde -19 +KPX U comma -95 +KPX U m 16 +KPX U n -8 +KPX U p 0 +KPX U period -114 +KPX U r -34 +KPX Uacute A -19 +KPX Uacute comma -95 +KPX Uacute m 16 +KPX Uacute n -8 +KPX Uacute p 0 +KPX Uacute period -114 +KPX Uacute r -34 +KPX Ucircumflex A -19 +KPX Udieresis A -19 +KPX Udieresis b 27 +KPX Udieresis comma -95 +KPX Udieresis m 16 +KPX Udieresis n -8 +KPX Udieresis p 0 +KPX Udieresis period -114 +KPX Udieresis r -34 +KPX Ugrave A -19 +KPX V A -4 +KPX V AE -12 +KPX V Aacute -4 +KPX V Acircumflex -4 +KPX V Adieresis -4 +KPX V Agrave -4 +KPX V Aring -4 +KPX V Atilde -4 +KPX V C -24 +KPX V G -24 +KPX V O -23 +KPX V Oacute -23 +KPX V Ocircumflex -23 +KPX V Odieresis -23 +KPX V Ograve -23 +KPX V Oslash -23 +KPX V Otilde -23 +KPX V S -27 +KPX V T 10 +KPX V a -54 +KPX V ae -27 +KPX V colon -132 +KPX V comma -146 +KPX V e -47 +KPX V g -46 +KPX V guillemotleft -75 +KPX V guilsinglleft -75 +KPX V hyphen -39 +KPX V i -59 +KPX V o -52 +KPX V oslash -48 +KPX V period -164 +KPX V r -45 +KPX V semicolon -120 +KPX V u -15 +KPX V y -17 +KPX W A -9 +KPX W AE -9 +KPX W Aacute -9 +KPX W Acircumflex -9 +KPX W Adieresis -9 +KPX W Agrave -9 +KPX W Aring -9 +KPX W Atilde -9 +KPX W C -4 +KPX W G -3 +KPX W O -2 +KPX W Oacute -2 +KPX W Ocircumflex -2 +KPX W Odieresis -2 +KPX W Ograve -2 +KPX W Oslash 2 +KPX W Otilde -2 +KPX W S -17 +KPX W T 4 +KPX W a -11 +KPX W ae 17 +KPX W colon -99 +KPX W comma -83 +KPX W e -3 +KPX W g -3 +KPX W guillemotleft -31 +KPX W guilsinglleft -31 +KPX W hyphen 1 +KPX W i -38 +KPX W o -8 +KPX W oslash -4 +KPX W period -101 +KPX W r -25 +KPX W semicolon -82 +KPX W u 1 +KPX W y -2 +KPX X C -28 +KPX X O -26 +KPX X Odieresis -26 +KPX X Q -26 +KPX X a 0 +KPX X e -12 +KPX X hyphen -50 +KPX X o -18 +KPX X u -28 +KPX X y -43 +KPX Y A -25 +KPX Y AE -28 +KPX Y Aacute -25 +KPX Y Acircumflex -25 +KPX Y Adieresis -25 +KPX Y Agrave -25 +KPX Y Aring -25 +KPX Y Atilde -25 +KPX Y C -45 +KPX Y G -45 +KPX Y O -44 +KPX Y Oacute -44 +KPX Y Ocircumflex -44 +KPX Y Odieresis -44 +KPX Y Ograve -44 +KPX Y Oslash -43 +KPX Y Otilde -44 +KPX Y S -48 +KPX Y T -10 +KPX Y a -53 +KPX Y ae -28 +KPX Y colon -150 +KPX Y comma -118 +KPX Y e -59 +KPX Y g -59 +KPX Y guillemotleft -94 +KPX Y guilsinglleft -94 +KPX Y hyphen -81 +KPX Y i -58 +KPX Y o -64 +KPX Y oslash -51 +KPX Y p -30 +KPX Y period -136 +KPX Y semicolon -133 +KPX Y u -43 +KPX Y v -33 +KPX Z v -41 +KPX Z y -52 +KPX a j -81 +KPX a quoteright -78 +KPX a v -21 +KPX a w -12 +KPX a y -31 +KPX aacute v -21 +KPX aacute w -12 +KPX aacute y -31 +KPX adieresis v -21 +KPX adieresis w -12 +KPX adieresis y -31 +KPX ae v 28 +KPX ae w 32 +KPX ae y 18 +KPX agrave v -21 +KPX agrave w -12 +KPX agrave y -31 +KPX aring v -21 +KPX aring w -12 +KPX aring y -31 +KPX b v 0 +KPX b w 4 +KPX b y -10 +KPX c h 11 +KPX c k 6 +KPX comma one -128 +KPX comma quotedblright -137 +KPX comma quoteright -166 +KPX e quoteright -65 +KPX e t -16 +KPX e v -9 +KPX e w -3 +KPX e x 6 +KPX e y -20 +KPX eacute v -9 +KPX eacute w -3 +KPX eacute y -20 +KPX ecircumflex v -9 +KPX ecircumflex w -3 +KPX ecircumflex y -20 +KPX eight four -58 +KPX eight one -72 +KPX eight seven -65 +KPX f a -32 +KPX f aacute -32 +KPX f adieresis -32 +KPX f ae -7 +KPX f aring -32 +KPX f e -43 +KPX f eacute -43 +KPX f f -43 +KPX f i -37 +KPX f j -60 +KPX f l -25 +KPX f o -47 +KPX f oacute -47 +KPX f odieresis -42 +KPX f oe -15 +KPX f oslash -29 +KPX f quoteright -73 +KPX f s -42 +KPX f t -6 +KPX five four -52 +KPX five one -73 +KPX five seven -73 +KPX four four -62 +KPX four one -66 +KPX four seven -93 +KPX g a -4 +KPX g adieresis -4 +KPX g ae 23 +KPX g aring -4 +KPX g e 1 +KPX g eacute 1 +KPX g l -34 +KPX g oacute -3 +KPX g odieresis -3 +KPX g r 0 +KPX guillemotright A -37 +KPX guillemotright AE -34 +KPX guillemotright Aacute -37 +KPX guillemotright Adieresis -37 +KPX guillemotright Aring -37 +KPX guillemotright T -71 +KPX guillemotright V -72 +KPX guillemotright W -29 +KPX guillemotright Y -92 +KPX guilsinglright A -37 +KPX guilsinglright AE -34 +KPX guilsinglright Aacute -37 +KPX guilsinglright Adieresis -37 +KPX guilsinglright Aring -37 +KPX guilsinglright T -71 +KPX guilsinglright V -72 +KPX guilsinglright W -29 +KPX guilsinglright Y -92 +KPX h quoteright -69 +KPX h y -23 +KPX hyphen A -18 +KPX hyphen AE -14 +KPX hyphen Aacute -18 +KPX hyphen Adieresis -18 +KPX hyphen Aring -18 +KPX hyphen T -90 +KPX hyphen V -38 +KPX hyphen W 1 +KPX hyphen Y -81 +KPX i T -58 +KPX i j -143 +KPX k a 1 +KPX k aacute 1 +KPX k adieresis 1 +KPX k ae 26 +KPX k aring 1 +KPX k comma -63 +KPX k e -11 +KPX k eacute -11 +KPX k g -14 +KPX k hyphen -50 +KPX k o -17 +KPX k oacute -17 +KPX k odieresis -17 +KPX k period -75 +KPX k s -9 +KPX k u -3 +KPX k udieresis -3 +KPX l v -77 +KPX l y -77 +KPX m p 32 +KPX m v 18 +KPX m w 22 +KPX m y 8 +KPX n T -40 +KPX n p 4 +KPX n quoteright -68 +KPX n v -12 +KPX n w -5 +KPX n y -22 +KPX nine four -53 +KPX nine one -66 +KPX nine seven -57 +KPX o T -31 +KPX o quoteright -62 +KPX o t -13 +KPX o v -6 +KPX o w -3 +KPX o x -10 +KPX o y -17 +KPX oacute v -6 +KPX oacute w -3 +KPX oacute y -17 +KPX ocircumflex t -13 +KPX odieresis t -13 +KPX odieresis v -6 +KPX odieresis w -3 +KPX odieresis x -10 +KPX odieresis y -17 +KPX ograve v -6 +KPX ograve w -3 +KPX ograve y -17 +KPX one comma -99 +KPX one eight -74 +KPX one five -55 +KPX one four -87 +KPX one nine -73 +KPX one one -62 +KPX one period -114 +KPX one seven -141 +KPX one six -98 +KPX one three -53 +KPX one two -47 +KPX one zero -86 +KPX p t -3 +KPX p y -6 +KPX period one -113 +KPX period quotedblright -131 +KPX period quoteright -161 +KPX q c 2 +KPX q u 41 +KPX quotedblbase A -6 +KPX quotedblbase AE -7 +KPX quotedblbase T -90 +KPX quotedblbase V -104 +KPX quotedblbase W -43 +KPX quotedblbase Y -78 +KPX quotedblleft A -62 +KPX quotedblleft AE -60 +KPX quotedblleft Aacute -62 +KPX quotedblleft Adieresis -62 +KPX quotedblleft Aring -62 +KPX quotedblleft T -24 +KPX quotedblleft V -22 +KPX quotedblleft W -13 +KPX quotedblleft Y -49 +KPX quotedblright A -76 +KPX quotedblright AE -75 +KPX quotedblright Aacute -76 +KPX quotedblright Adieresis -76 +KPX quotedblright Aring -76 +KPX quotedblright T -39 +KPX quotedblright V -30 +KPX quotedblright W -26 +KPX quotedblright Y -51 +KPX quoteleft A -87 +KPX quoteleft AE -85 +KPX quoteleft Aacute -87 +KPX quoteleft Adieresis -87 +KPX quoteleft Aring -87 +KPX quoteleft T -49 +KPX quoteleft V -46 +KPX quoteleft W -38 +KPX quoteleft Y -73 +KPX quoteright A -154 +KPX quoteright AE -153 +KPX quoteright Aacute -154 +KPX quoteright Adieresis -154 +KPX quoteright Aring -154 +KPX quoteright comma -227 +KPX quoteright d -140 +KPX quoteright o -143 +KPX quoteright period -244 +KPX quoteright r -149 +KPX quoteright s -150 +KPX quoteright t -117 +KPX quoteright v -110 +KPX quoteright w -105 +KPX quoteright y -116 +KPX r a -17 +KPX r aacute -17 +KPX r acircumflex -17 +KPX r adieresis -17 +KPX r ae 4 +KPX r agrave -17 +KPX r aring -17 +KPX r c -18 +KPX r ccedilla -15 +KPX r colon -95 +KPX r comma -108 +KPX r d -8 +KPX r e -7 +KPX r eacute -7 +KPX r ecircumflex -7 +KPX r egrave -7 +KPX r f -16 +KPX r g -5 +KPX r h -20 +KPX r hyphen -41 +KPX r i -25 +KPX r j -33 +KPX r k -30 +KPX r l -47 +KPX r m 36 +KPX r n 10 +KPX r o -12 +KPX r oacute -12 +KPX r ocircumflex -12 +KPX r odieresis -12 +KPX r oe 18 +KPX r ograve -12 +KPX r oslash -12 +KPX r p 30 +KPX r period -122 +KPX r q -4 +KPX r quoteright -41 +KPX r r -11 +KPX r s -21 +KPX r semicolon -83 +KPX r t 20 +KPX r u 20 +KPX r v 26 +KPX r w 26 +KPX r x 7 +KPX r y 16 +KPX r z -21 +KPX s quoteright -60 +KPX s t -11 +KPX seven colon -156 +KPX seven comma -157 +KPX seven eight -74 +KPX seven five -82 +KPX seven four -101 +KPX seven one -67 +KPX seven period -176 +KPX seven seven -62 +KPX seven six -93 +KPX seven three -72 +KPX seven two -64 +KPX six four -49 +KPX six one -54 +KPX six seven -46 +KPX t S -35 +KPX t a -16 +KPX t aacute -16 +KPX t adieresis -16 +KPX t ae 9 +KPX t aring -16 +KPX t colon -117 +KPX t e -24 +KPX t eacute -24 +KPX t h -5 +KPX t o -30 +KPX t oacute -30 +KPX t odieresis -30 +KPX t quoteright -102 +KPX t semicolon -103 +KPX three four -52 +KPX three one -71 +KPX three seven -64 +KPX two four -67 +KPX two one -66 +KPX two seven -68 +KPX u quoteright -56 +KPX v a -3 +KPX v aacute -3 +KPX v acircumflex -3 +KPX v adieresis -3 +KPX v ae 18 +KPX v agrave -3 +KPX v aring -3 +KPX v atilde -3 +KPX v c -11 +KPX v colon -81 +KPX v comma -136 +KPX v e 0 +KPX v eacute 0 +KPX v ecircumflex 0 +KPX v egrave 0 +KPX v g 1 +KPX v hyphen -23 +KPX v l -77 +KPX v o -5 +KPX v oacute -5 +KPX v odieresis -5 +KPX v ograve -5 +KPX v oslash -5 +KPX v period -156 +KPX v s -11 +KPX v semicolon -69 +KPX w a -3 +KPX w aacute -3 +KPX w acircumflex -3 +KPX w adieresis -3 +KPX w ae 23 +KPX w agrave -3 +KPX w aring -3 +KPX w atilde -3 +KPX w c -6 +KPX w colon -81 +KPX w comma -90 +KPX w e 2 +KPX w eacute 2 +KPX w ecircumflex 2 +KPX w egrave 2 +KPX w g 3 +KPX w hyphen 3 +KPX w l -48 +KPX w o -2 +KPX w oacute -2 +KPX w odieresis -2 +KPX w ograve -2 +KPX w oslash 2 +KPX w period -109 +KPX w s -11 +KPX w semicolon -69 +KPX x a 5 +KPX x c -14 +KPX x e -5 +KPX x eacute -5 +KPX x o -10 +KPX x q -8 +KPX y a -13 +KPX y aacute -13 +KPX y acircumflex -13 +KPX y adieresis -13 +KPX y ae 8 +KPX y agrave -13 +KPX y aring -13 +KPX y atilde -13 +KPX y c -21 +KPX y colon -91 +KPX y comma -134 +KPX y e -11 +KPX y eacute -11 +KPX y ecircumflex -11 +KPX y egrave -11 +KPX y g -9 +KPX y hyphen -19 +KPX y l -78 +KPX y o -15 +KPX y oacute -15 +KPX y odieresis -15 +KPX y ograve -15 +KPX y oslash -15 +KPX y period -155 +KPX y s -21 +KPX y semicolon -79 +KPX zero four -59 +KPX zero one -76 +KPX zero seven -68 +EndKernPairs +EndKernData +EndFontMetrics diff --git a/Master/xemtex/gsfonts/n022004l.pfb b/Master/xemtex/gsfonts/n022004l.pfb new file mode 100644 index 00000000000..1b981043fc6 Binary files /dev/null and b/Master/xemtex/gsfonts/n022004l.pfb differ diff --git a/Master/xemtex/gsfonts/n022004l.pfm b/Master/xemtex/gsfonts/n022004l.pfm new file mode 100644 index 00000000000..fd2eb8f2fbe Binary files /dev/null and b/Master/xemtex/gsfonts/n022004l.pfm differ diff --git a/Master/xemtex/gsfonts/n022023l.afm b/Master/xemtex/gsfonts/n022023l.afm new file mode 100644 index 00000000000..6dccc7ed56a --- /dev/null +++ b/Master/xemtex/gsfonts/n022023l.afm @@ -0,0 +1,1341 @@ +StartFontMetrics 3.0 +Comment Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development +Comment Creation Date: 12/22/1999 +Comment See the file PUBLIC (Aladdin Free Public License) for license conditions. +FontName NimbusMonL-ReguObli +FullName Nimbus Mono L Regular Oblique +FamilyName Nimbus Mono L +Weight Regular +ItalicAngle -12.0 +IsFixedPitch false +UnderlinePosition -100 +UnderlineThickness 50 +Version 1.05 +Notice (URW)++,Copyright 1999 by (URW)++ Design & Development +EncodingScheme AdobeStandardEncoding +FontBBox -61 -237 774 811 +CapHeight 563 +XHeight 417 +Descender -186 +Ascender 604 +StartCharMetrics 316 +C 32 ; WX 600 ; N space ; B 319 0 319 0 ; +C 33 ; WX 600 ; N exclam ; B 246 -15 463 618 ; +C 34 ; WX 600 ; N quotedbl ; B 254 315 582 604 ; +C 35 ; WX 600 ; N numbersign ; B 137 -62 589 647 ; +C 36 ; WX 600 ; N dollar ; B 131 -92 582 655 ; +C 37 ; WX 600 ; N percent ; B 137 -12 591 611 ; +C 38 ; WX 600 ; N ampersand ; B 132 -16 527 519 ; +C 39 ; WX 600 ; N quoteright ; B 207 314 468 604 ; +C 40 ; WX 600 ; N parenleft ; B 335 -124 583 604 ; +C 41 ; WX 600 ; N parenright ; B 124 -124 372 604 ; +C 42 ; WX 600 ; N asterisk ; B 211 250 586 604 ; +C 43 ; WX 600 ; N plus ; B 131 32 588 530 ; +C 44 ; WX 600 ; N comma ; B 110 -145 371 145 ; +C 45 ; WX 600 ; N hyphen ; B 131 258 588 299 ; +C 46 ; WX 600 ; N period ; B 235 -15 386 116 ; +C 47 ; WX 600 ; N slash ; B 99 -81 625 668 ; +C 48 ; WX 600 ; N zero ; B 156 -15 571 618 ; +C 49 ; WX 600 ; N one ; B 117 0 492 612 ; +C 50 ; WX 600 ; N two ; B 84 0 572 618 ; +C 51 ; WX 600 ; N three ; B 110 -15 579 618 ; +C 52 ; WX 600 ; N four ; B 141 0 545 604 ; +C 53 ; WX 600 ; N five ; B 113 -15 584 604 ; +C 54 ; WX 600 ; N six ; B 184 -15 631 618 ; +C 55 ; WX 600 ; N seven ; B 215 -1 606 604 ; +C 56 ; WX 600 ; N eight ; B 143 -15 576 618 ; +C 57 ; WX 600 ; N nine ; B 142 -15 589 618 ; +C 58 ; WX 600 ; N colon ; B 235 -15 450 417 ; +C 59 ; WX 600 ; N semicolon ; B 114 -145 426 417 ; +C 60 ; WX 600 ; N less ; B 131 44 627 518 ; +C 61 ; WX 600 ; N equal ; B 95 190 625 375 ; +C 62 ; WX 600 ; N greater ; B 92 44 588 518 ; +C 63 ; WX 600 ; N question ; B 231 -15 581 577 ; +C 64 ; WX 600 ; N at ; B 139 -62 561 624 ; +C 65 ; WX 600 ; N A ; B 13 0 596 563 ; +C 66 ; WX 600 ; N B ; B 47 0 591 563 ; +C 67 ; WX 600 ; N C ; B 110 -16 635 576 ; +C 68 ; WX 600 ; N D ; B 47 0 592 563 ; +C 69 ; WX 600 ; N E ; B 47 0 619 563 ; +C 70 ; WX 600 ; N F ; B 47 0 640 563 ; +C 71 ; WX 600 ; N G ; B 108 -16 636 576 ; +C 72 ; WX 600 ; N H ; B 57 0 646 563 ; +C 73 ; WX 600 ; N I ; B 117 0 603 563 ; +C 74 ; WX 600 ; N J ; B 100 -16 699 563 ; +C 75 ; WX 600 ; N K ; B 47 0 662 563 ; +C 76 ; WX 600 ; N L ; B 67 0 585 563 ; +C 77 ; WX 600 ; N M ; B 15 0 700 563 ; +C 78 ; WX 600 ; N N ; B 46 0 678 563 ; +C 79 ; WX 600 ; N O ; B 102 -16 616 576 ; +C 80 ; WX 600 ; N P ; B 47 0 587 563 ; +C 81 ; WX 600 ; N Q ; B 102 -115 616 576 ; +C 82 ; WX 600 ; N R ; B 47 0 594 563 ; +C 83 ; WX 600 ; N S ; B 96 -17 602 577 ; +C 84 ; WX 600 ; N T ; B 152 0 648 563 ; +C 85 ; WX 600 ; N U ; B 136 -16 676 563 ; +C 86 ; WX 600 ; N V ; B 124 0 707 563 ; +C 87 ; WX 600 ; N W ; B 122 0 696 563 ; +C 88 ; WX 600 ; N X ; B 44 0 662 563 ; +C 89 ; WX 600 ; N Y ; B 153 0 665 563 ; +C 90 ; WX 600 ; N Z ; B 103 0 590 563 ; +C 91 ; WX 600 ; N bracketleft ; B 254 -124 570 604 ; +C 92 ; WX 600 ; N backslash ; B 250 -81 474 668 ; +C 93 ; WX 600 ; N bracketright ; B 132 -124 448 604 ; +C 94 ; WX 600 ; N asciicircum ; B 192 354 567 615 ; +C 95 ; WX 600 ; N underscore ; B -61 -125 564 -75 ; +C 96 ; WX 600 ; N quoteleft ; B 388 343 544 604 ; +C 97 ; WX 600 ; N a ; B 93 -16 546 431 ; +C 98 ; WX 600 ; N b ; B 26 -16 591 604 ; +C 99 ; WX 600 ; N c ; B 121 -17 596 432 ; +C 100 ; WX 600 ; N d ; B 102 -16 630 604 ; +C 101 ; WX 600 ; N e ; B 104 -16 570 431 ; +C 102 ; WX 600 ; N f ; B 109 0 663 604 ; +C 103 ; WX 600 ; N g ; B 105 -186 647 431 ; +C 104 ; WX 600 ; N h ; B 55 0 556 604 ; +C 105 ; WX 600 ; N i ; B 96 0 513 624 ; +C 106 ; WX 600 ; N j ; B 112 -186 547 624 ; +C 107 ; WX 600 ; N k ; B 67 0 578 604 ; +C 108 ; WX 600 ; N l ; B 96 0 513 604 ; +C 109 ; WX 600 ; N m ; B 15 0 603 431 ; +C 110 ; WX 600 ; N n ; B 57 0 546 431 ; +C 111 ; WX 600 ; N o ; B 111 -16 577 431 ; +C 112 ; WX 600 ; N p ; B -13 -186 593 431 ; +C 113 ; WX 600 ; N q ; B 105 -186 668 431 ; +C 114 ; WX 600 ; N r ; B 88 0 619 427 ; +C 115 ; WX 600 ; N s ; B 108 -17 558 431 ; +C 116 ; WX 600 ; N t ; B 127 -16 518 563 ; +C 117 ; WX 600 ; N u ; B 127 -16 569 417 ; +C 118 ; WX 600 ; N v ; B 114 0 655 417 ; +C 119 ; WX 600 ; N w ; B 114 0 655 417 ; +C 120 ; WX 600 ; N x ; B 55 0 611 417 ; +C 121 ; WX 600 ; N y ; B 22 -186 634 417 ; +C 122 ; WX 600 ; N z ; B 115 0 563 417 ; +C 123 ; WX 600 ; N braceleft ; B 248 -124 528 604 ; +C 124 ; WX 600 ; N bar ; B 257 -124 444 604 ; +C 125 ; WX 600 ; N braceright ; B 175 -124 455 604 ; +C 126 ; WX 600 ; N asciitilde ; B 145 212 575 348 ; +C 161 ; WX 600 ; N exclamdown ; B 222 -216 439 417 ; +C 162 ; WX 600 ; N cent ; B 175 -13 563 630 ; +C 163 ; WX 600 ; N sterling ; B 90 0 541 578 ; +C 164 ; WX 600 ; N fraction ; B 84 138 645 470 ; +C 165 ; WX 600 ; N yen ; B 161 0 665 563 ; +C 166 ; WX 600 ; N florin ; B 74 -93 643 618 ; +C 167 ; WX 600 ; N section ; B 91 -62 624 603 ; +C 168 ; WX 600 ; N currency ; B 127 95 597 489 ; +C 169 ; WX 600 ; N quotesingle ; B 344 315 492 604 ; +C 170 ; WX 600 ; N quotedblleft ; B 221 343 586 604 ; +C 171 ; WX 600 ; N guillemotleft ; B 108 0 626 417 ; +C 172 ; WX 600 ; N guilsinglleft ; B 108 0 397 417 ; +C 173 ; WX 600 ; N guilsinglright ; B 297 0 585 417 ; +C 174 ; WX 600 ; N fi ; B 14 0 615 624 ; +C 175 ; WX 600 ; N fl ; B 14 0 611 604 ; +C 177 ; WX 600 ; N endash ; B 131 261 588 302 ; +C 178 ; WX 600 ; N dagger ; B 208 -63 561 604 ; +C 179 ; WX 600 ; N daggerdbl ; B 154 -62 561 604 ; +C 180 ; WX 600 ; N periodcentered ; B 285 217 436 348 ; +C 182 ; WX 600 ; N paragraph ; B 152 -62 648 604 ; +C 183 ; WX 600 ; N bullet ; B 253 141 449 337 ; +C 184 ; WX 600 ; N quotesinglbase ; B 110 -145 371 145 ; +C 185 ; WX 600 ; N quotedblbase ; B 73 -116 538 145 ; +C 186 ; WX 600 ; N quotedblright ; B 170 343 635 604 ; +C 187 ; WX 600 ; N guillemotright ; B 67 0 585 417 ; +C 188 ; WX 600 ; N ellipsis ; B 57 -15 557 84 ; +C 189 ; WX 600 ; N perthousand ; B 91 -9 598 614 ; +C 191 ; WX 600 ; N questiondown ; B 105 -175 455 417 ; +C 193 ; WX 600 ; N grave ; B 286 490 429 639 ; +C 194 ; WX 600 ; N acute ; B 388 490 577 639 ; +C 195 ; WX 600 ; N circumflex ; B 263 490 554 639 ; +C 196 ; WX 600 ; N tilde ; B 258 516 579 605 ; +C 197 ; WX 600 ; N macron ; B 273 536 564 576 ; +C 198 ; WX 600 ; N breve ; B 280 489 574 621 ; +C 199 ; WX 600 ; N dotaccent ; B 368 511 470 611 ; +C 200 ; WX 600 ; N dieresis ; B 258 511 581 611 ; +C 202 ; WX 600 ; N ring ; B 326 480 516 661 ; +C 203 ; WX 600 ; N cedilla ; B 181 -173 356 0 ; +C 205 ; WX 600 ; N hungarumlaut ; B 263 490 576 633 ; +C 206 ; WX 600 ; N ogonek ; B 258 -155 408 0 ; +C 207 ; WX 600 ; N caron ; B 286 490 577 639 ; +C 208 ; WX 600 ; N emdash ; B 60 261 659 302 ; +C 225 ; WX 600 ; N AE ; B 14 0 690 563 ; +C 227 ; WX 600 ; N ordfeminine ; B 229 279 511 574 ; +C 232 ; WX 600 ; N Lslash ; B 66 0 586 563 ; +C 233 ; WX 600 ; N Oslash ; B 34 -43 685 605 ; +C 234 ; WX 600 ; N OE ; B 62 0 690 563 ; +C 235 ; WX 600 ; N ordmasculine ; B 243 284 543 577 ; +C 241 ; WX 600 ; N ae ; B 36 -16 630 431 ; +C 245 ; WX 600 ; N dotlessi ; B 96 0 513 417 ; +C 248 ; WX 600 ; N lslash ; B 96 0 524 604 ; +C 249 ; WX 600 ; N oslash ; B 47 -43 637 458 ; +C 250 ; WX 600 ; N oe ; B 50 -16 630 431 ; +C 251 ; WX 600 ; N germandbls ; B 47 -16 539 604 ; +C -1 ; WX 600 ; N Udieresis ; B 136 -16 676 762 ; +C -1 ; WX 600 ; N Uacute ; B 136 -16 676 789 ; +C -1 ; WX 600 ; N Scedilla ; B 96 -179 602 577 ; +C -1 ; WX 600 ; N Tcaron ; B 152 0 648 789 ; +C -1 ; WX 600 ; N Scaron ; B 96 -17 618 789 ; +C -1 ; WX 600 ; N Rcaron ; B 47 0 594 789 ; +C -1 ; WX 600 ; N Racute ; B 47 0 594 789 ; +C -1 ; WX 600 ; N Sacute ; B 96 -17 602 789 ; +C -1 ; WX 600 ; N Otilde ; B 103 -16 618 755 ; +C -1 ; WX 600 ; N ucircumflex ; B 127 -16 569 639 ; +C -1 ; WX 600 ; N Ohungarumlaut ; B 102 -16 672 787 ; +C -1 ; WX 600 ; N Uhungarumlaut ; B 136 -16 676 787 ; +C -1 ; WX 600 ; N Yacute ; B 153 0 665 789 ; +C -1 ; WX 600 ; N Eth ; B 47 0 592 563 ; +C -1 ; WX 600 ; N Dcroat ; B 47 0 592 563 ; +C -1 ; WX 600 ; N Zacute ; B 103 0 590 789 ; +C -1 ; WX 600 ; N Uring ; B 136 -16 676 807 ; +C -1 ; WX 600 ; N gbreve ; B 105 -186 647 621 ; +C -1 ; WX 600 ; N eogonek ; B 104 -155 570 431 ; +C -1 ; WX 600 ; N edotaccent ; B 104 -16 570 611 ; +C -1 ; WX 600 ; N ecaron ; B 104 -16 577 639 ; +C -1 ; WX 600 ; N Ugrave ; B 136 -16 676 789 ; +C -1 ; WX 600 ; N Thorn ; B 47 0 566 563 ; +C -1 ; WX 600 ; N eacute ; B 104 -16 570 639 ; +C -1 ; WX 600 ; N edieresis ; B 104 -16 586 611 ; +C -1 ; WX 600 ; N dcaron ; B 102 -16 774 618 ; +C -1 ; WX 600 ; N ccedilla ; B 122 -173 596 431 ; +C -1 ; WX 600 ; N ccaron ; B 121 -17 596 639 ; +C -1 ; WX 600 ; N cacute ; B 121 -17 596 639 ; +C -1 ; WX 600 ; N aogonek ; B 93 -155 546 431 ; +C -1 ; WX 600 ; N aring ; B 93 -16 546 661 ; +C -1 ; WX 600 ; N atilde ; B 93 -16 570 605 ; +C -1 ; WX 600 ; N abreve ; B 93 -16 574 621 ; +C -1 ; WX 600 ; N egrave ; B 104 -16 570 639 ; +C -1 ; WX 600 ; N agrave ; B 93 -16 546 639 ; +C -1 ; WX 600 ; N aacute ; B 93 -16 546 639 ; +C -1 ; WX 600 ; N adieresis ; B 93 -16 571 611 ; +C -1 ; WX 600 ; N Uogonek ; B 136 -155 676 563 ; +C -1 ; WX 600 ; N ugrave ; B 127 -16 569 639 ; +C -1 ; WX 600 ; N uacute ; B 127 -16 569 639 ; +C -1 ; WX 600 ; N udieresis ; B 127 -16 573 611 ; +C -1 ; WX 600 ; N tcaron ; B 127 -16 593 618 ; +C -1 ; WX 600 ; N scommaaccent ; B 108 -237 558 431 ; +C -1 ; WX 600 ; N Zcaron ; B 103 0 604 789 ; +C -1 ; WX 600 ; N ecircumflex ; B 104 -16 570 639 ; +C -1 ; WX 600 ; N Ucircumflex ; B 136 -16 676 789 ; +C -1 ; WX 600 ; N acircumflex ; B 93 -16 546 639 ; +C -1 ; WX 600 ; N Zdotaccent ; B 103 0 590 762 ; +C -1 ; WX 600 ; N scaron ; B 107 -17 584 639 ; +C -1 ; WX 600 ; N Amacron ; B 13 0 596 723 ; +C -1 ; WX 600 ; N sacute ; B 108 -17 577 639 ; +C -1 ; WX 600 ; N Tcommaaccent ; B 152 -237 648 563 ; +C -1 ; WX 600 ; N Ydieresis ; B 153 0 665 762 ; +C -1 ; WX 600 ; N thorn ; B -13 -186 593 590 ; +C -1 ; WX 600 ; N Emacron ; B 47 0 619 723 ; +C -1 ; WX 600 ; N Ograve ; B 102 -16 616 789 ; +C -1 ; WX 600 ; N Oacute ; B 102 -16 616 789 ; +C -1 ; WX 600 ; N Odieresis ; B 102 -16 616 762 ; +C -1 ; WX 600 ; N Ntilde ; B 46 0 678 755 ; +C -1 ; WX 600 ; N Ncaron ; B 46 0 678 789 ; +C -1 ; WX 600 ; N Nacute ; B 46 0 678 789 ; +C -1 ; WX 600 ; N Lcaron ; B 67 0 638 576 ; +C -1 ; WX 600 ; N Lacute ; B 67 0 585 789 ; +C -1 ; WX 600 ; N Idotaccent ; B 117 0 603 762 ; +C -1 ; WX 600 ; N racute ; B 88 0 619 639 ; +C -1 ; WX 600 ; N Icircumflex ; B 117 0 603 789 ; +C -1 ; WX 600 ; N ohungarumlaut ; B 111 -16 616 633 ; +C -1 ; WX 600 ; N otilde ; B 111 -16 586 605 ; +C -1 ; WX 600 ; N Euro ; B 60 -16 634 576 ; +C -1 ; WX 600 ; N ocircumflex ; B 111 -16 577 639 ; +C -1 ; WX 600 ; N onesuperior ; B 249 259 469 612 ; +C -1 ; WX 600 ; N twosuperior ; B 230 259 514 612 ; +C -1 ; WX 600 ; N threesuperior ; B 245 251 516 612 ; +C -1 ; WX 600 ; N Igrave ; B 117 0 603 789 ; +C -1 ; WX 600 ; N Iacute ; B 117 0 603 789 ; +C -1 ; WX 600 ; N Imacron ; B 117 0 603 723 ; +C -1 ; WX 600 ; N Iogonek ; B 117 -155 603 563 ; +C -1 ; WX 600 ; N Idieresis ; B 117 0 611 762 ; +C -1 ; WX 600 ; N Gbreve ; B 108 -16 656 777 ; +C -1 ; WX 600 ; N Umacron ; B 136 -16 676 723 ; +C -1 ; WX 600 ; N Kcommaaccent ; B 47 -237 662 563 ; +C -1 ; WX 600 ; N ograve ; B 111 -16 577 639 ; +C -1 ; WX 600 ; N Scommaaccent ; B 96 -237 602 577 ; +C -1 ; WX 600 ; N Eogonek ; B 47 -155 619 563 ; +C -1 ; WX 600 ; N oacute ; B 111 -16 577 639 ; +C -1 ; WX 600 ; N Edotaccent ; B 47 0 619 762 ; +C -1 ; WX 600 ; N iogonek ; B 96 -155 513 624 ; +C -1 ; WX 600 ; N gcommaaccent ; B 105 -186 647 668 ; +C -1 ; WX 600 ; N odieresis ; B 111 -16 581 611 ; +C -1 ; WX 600 ; N ntilde ; B 57 0 570 605 ; +C -1 ; WX 600 ; N ncaron ; B 57 0 577 639 ; +C -1 ; WX 600 ; N Ecaron ; B 47 0 619 789 ; +C -1 ; WX 600 ; N Ecircumflex ; B 47 0 619 789 ; +C -1 ; WX 600 ; N scedilla ; B 108 -173 558 431 ; +C -1 ; WX 600 ; N rcaron ; B 88 0 619 639 ; +C -1 ; WX 600 ; N Egrave ; B 47 0 619 789 ; +C -1 ; WX 600 ; N Eacute ; B 47 0 619 789 ; +C -1 ; WX 600 ; N Gcommaaccent ; B 108 -237 636 576 ; +C -1 ; WX 600 ; N Rcommaaccent ; B 47 -237 594 563 ; +C -1 ; WX 600 ; N Edieresis ; B 47 0 619 762 ; +C -1 ; WX 600 ; N nacute ; B 57 0 577 639 ; +C -1 ; WX 600 ; N uogonek ; B 127 -155 569 417 ; +C -1 ; WX 600 ; N umacron ; B 127 -16 569 576 ; +C -1 ; WX 600 ; N Dcaron ; B 47 0 592 789 ; +C -1 ; WX 600 ; N lcaron ; B 96 0 593 618 ; +C -1 ; WX 600 ; N Ccaron ; B 110 -16 635 789 ; +C -1 ; WX 600 ; N Cacute ; B 110 -16 635 789 ; +C -1 ; WX 600 ; N Ccedilla ; B 110 -173 635 576 ; +C -1 ; WX 600 ; N degree ; B 257 346 553 636 ; +C -1 ; WX 600 ; N Aogonek ; B 13 -155 596 563 ; +C -1 ; WX 600 ; N minus ; B 131 261 588 302 ; +C -1 ; WX 600 ; N multiply ; B 143 100 577 464 ; +C -1 ; WX 600 ; N divide ; B 131 25 588 540 ; +C -1 ; WX 600 ; N Aring ; B 13 0 596 811 ; +C -1 ; WX 600 ; N trademark ; B 90 243 710 563 ; +C -1 ; WX 600 ; N rcommaaccent ; B 88 -237 619 427 ; +C -1 ; WX 600 ; N lacute ; B 96 0 572 789 ; +C -1 ; WX 600 ; N omacron ; B 111 -16 577 576 ; +C -1 ; WX 600 ; N Atilde ; B 13 0 596 755 ; +C -1 ; WX 600 ; N icircumflex ; B 95 0 536 639 ; +C -1 ; WX 600 ; N igrave ; B 96 0 513 639 ; +C -1 ; WX 600 ; N ncommaaccent ; B 57 -237 546 431 ; +C -1 ; WX 600 ; N lcommaaccent ; B 96 -237 513 604 ; +C -1 ; WX 600 ; N plusminus ; B 76 0 597 529 ; +C -1 ; WX 600 ; N onehalf ; B 82 0 627 612 ; +C -1 ; WX 600 ; N onequarter ; B 74 0 619 612 ; +C -1 ; WX 600 ; N threequarters ; B 70 0 619 612 ; +C -1 ; WX 600 ; N iacute ; B 96 0 535 639 ; +C -1 ; WX 600 ; N Abreve ; B 13 0 596 777 ; +C -1 ; WX 600 ; N kcommaaccent ; B 67 -237 578 604 ; +C -1 ; WX 600 ; N Omacron ; B 102 -16 616 723 ; +C -1 ; WX 600 ; N imacron ; B 96 0 564 576 ; +C -1 ; WX 600 ; N emacron ; B 104 -16 570 576 ; +C -1 ; WX 600 ; N amacron ; B 93 -16 564 576 ; +C -1 ; WX 600 ; N tcommaaccent ; B 127 -237 518 563 ; +C -1 ; WX 600 ; N ydieresis ; B 22 -186 634 611 ; +C -1 ; WX 600 ; N zdotaccent ; B 115 0 563 611 ; +C -1 ; WX 600 ; N zcaron ; B 115 0 576 639 ; +C -1 ; WX 600 ; N zacute ; B 115 0 577 639 ; +C -1 ; WX 600 ; N yacute ; B 22 -186 634 639 ; +C -1 ; WX 600 ; N uhungarumlaut ; B 127 -16 576 633 ; +C -1 ; WX 600 ; N eth ; B 111 -17 582 620 ; +C -1 ; WX 600 ; N uring ; B 127 -16 569 661 ; +C -1 ; WX 600 ; N Ocircumflex ; B 102 -16 616 789 ; +C -1 ; WX 600 ; N commaaccent ; B 159 -237 322 -60 ; +C -1 ; WX 600 ; N copyright ; B 57 -15 663 578 ; +C -1 ; WX 600 ; N registered ; B 57 -15 663 578 ; +C -1 ; WX 600 ; N Acircumflex ; B 13 0 596 789 ; +C -1 ; WX 600 ; N idieresis ; B 96 0 568 611 ; +C -1 ; WX 600 ; N lozenge ; B 149 -11 571 575 ; +C -1 ; WX 600 ; N Delta ; B 43 0 557 563 ; +C -1 ; WX 600 ; N notequal ; B 96 94 625 464 ; +C -1 ; WX 600 ; N radical ; B 88 0 773 699 ; +C -1 ; WX 600 ; N Agrave ; B 13 0 596 789 ; +C -1 ; WX 600 ; N Aacute ; B 13 0 596 789 ; +C -1 ; WX 600 ; N lessequal ; B 56 0 635 535 ; +C -1 ; WX 600 ; N greaterequal ; B 71 0 600 535 ; +C -1 ; WX 600 ; N logicalnot ; B 160 168 621 438 ; +C -1 ; WX 600 ; N summation ; B 90 -127 616 563 ; +C -1 ; WX 600 ; N partialdiff ; B 111 -16 580 581 ; +C -1 ; WX 600 ; N Ncommaaccent ; B 46 -237 678 563 ; +C -1 ; WX 600 ; N dcroat ; B 102 -16 690 604 ; +C -1 ; WX 600 ; N brokenbar ; B 257 -124 444 604 ; +C -1 ; WX 600 ; N Lcommaaccent ; B 67 -237 585 563 ; +C -1 ; WX 600 ; N Adieresis ; B 13 0 596 762 ; +C -1 ; WX 600 ; N mu ; B 86 -200 569 417 ; +C -1 ; WX 600 ; N .notdef ; B 319 0 319 0 ; +EndCharMetrics +StartKernData +StartKernPairs 998 +KPX A C -41 +KPX A Ccedilla -39 +KPX A G -36 +KPX A O -35 +KPX A Odieresis -35 +KPX A Q -37 +KPX A T -34 +KPX A U -41 +KPX A Uacute -41 +KPX A Ucircumflex -41 +KPX A Udieresis -41 +KPX A Ugrave -41 +KPX A V -78 +KPX A W -20 +KPX A Y -35 +KPX A a 1 +KPX A b 40 +KPX A c -26 +KPX A ccedilla -23 +KPX A comma -47 +KPX A d -17 +KPX A e -21 +KPX A g -27 +KPX A guillemotleft -57 +KPX A guilsinglleft -57 +KPX A hyphen -35 +KPX A o -22 +KPX A period -70 +KPX A q -27 +KPX A quotedblright -82 +KPX A quoteright -102 +KPX A t -33 +KPX A u -23 +KPX A v -59 +KPX A w -27 +KPX A y -63 +KPX Aacute C -41 +KPX Aacute G -36 +KPX Aacute O -35 +KPX Aacute Q -37 +KPX Aacute T -34 +KPX Aacute U -41 +KPX Aacute V -78 +KPX Aacute W -20 +KPX Aacute Y -35 +KPX Aacute a 1 +KPX Aacute b 40 +KPX Aacute c -26 +KPX Aacute comma -47 +KPX Aacute d -17 +KPX Aacute e -21 +KPX Aacute g -27 +KPX Aacute guillemotleft -57 +KPX Aacute guilsinglleft -57 +KPX Aacute hyphen -35 +KPX Aacute o -22 +KPX Aacute period -70 +KPX Aacute q -27 +KPX Aacute quoteright -102 +KPX Aacute t -33 +KPX Aacute u -23 +KPX Aacute v -59 +KPX Aacute w -27 +KPX Aacute y -63 +KPX Acircumflex C -41 +KPX Acircumflex G -36 +KPX Acircumflex O -35 +KPX Acircumflex Q -37 +KPX Acircumflex T -34 +KPX Acircumflex U -41 +KPX Acircumflex V -78 +KPX Acircumflex W -20 +KPX Acircumflex Y -35 +KPX Acircumflex comma -47 +KPX Acircumflex period -70 +KPX Adieresis C -41 +KPX Adieresis G -36 +KPX Adieresis O -35 +KPX Adieresis Q -37 +KPX Adieresis T -34 +KPX Adieresis U -41 +KPX Adieresis V -78 +KPX Adieresis W -20 +KPX Adieresis Y -35 +KPX Adieresis a 1 +KPX Adieresis b 40 +KPX Adieresis c -26 +KPX Adieresis comma -47 +KPX Adieresis d -17 +KPX Adieresis g -27 +KPX Adieresis guillemotleft -57 +KPX Adieresis guilsinglleft -57 +KPX Adieresis hyphen -35 +KPX Adieresis o -22 +KPX Adieresis period -70 +KPX Adieresis q -27 +KPX Adieresis quotedblright -82 +KPX Adieresis quoteright -102 +KPX Adieresis t -33 +KPX Adieresis u -23 +KPX Adieresis v -59 +KPX Adieresis w -27 +KPX Adieresis y -63 +KPX Agrave C -41 +KPX Agrave G -36 +KPX Agrave O -35 +KPX Agrave Q -37 +KPX Agrave T -34 +KPX Agrave U -41 +KPX Agrave V -78 +KPX Agrave W -20 +KPX Agrave Y -35 +KPX Agrave comma -47 +KPX Agrave period -70 +KPX Aring C -41 +KPX Aring G -36 +KPX Aring O -35 +KPX Aring Q -37 +KPX Aring T -34 +KPX Aring U -41 +KPX Aring V -78 +KPX Aring W -20 +KPX Aring Y -35 +KPX Aring a 1 +KPX Aring b 40 +KPX Aring c -26 +KPX Aring comma -47 +KPX Aring d -17 +KPX Aring e -21 +KPX Aring g -27 +KPX Aring guillemotleft -57 +KPX Aring guilsinglleft -57 +KPX Aring hyphen -35 +KPX Aring o -22 +KPX Aring period -70 +KPX Aring q -27 +KPX Aring quotedblright -82 +KPX Aring quoteright -102 +KPX Aring t -33 +KPX Aring u -23 +KPX Aring v -59 +KPX Aring w -27 +KPX Aring y -63 +KPX Atilde C -41 +KPX Atilde G -36 +KPX Atilde O -35 +KPX Atilde Q -37 +KPX Atilde T -34 +KPX Atilde U -41 +KPX Atilde V -78 +KPX Atilde W -20 +KPX Atilde Y -35 +KPX Atilde comma -47 +KPX Atilde period -70 +KPX B A -15 +KPX B AE -16 +KPX B Aacute -15 +KPX B Acircumflex -15 +KPX B Adieresis -15 +KPX B Aring -15 +KPX B Atilde -15 +KPX B O -15 +KPX B OE 5 +KPX B Oacute -15 +KPX B Ocircumflex -15 +KPX B Odieresis -15 +KPX B Ograve -15 +KPX B Oslash -14 +KPX B V -37 +KPX B W -15 +KPX B Y -58 +KPX C A -14 +KPX C AE -14 +KPX C Aacute -14 +KPX C Adieresis -14 +KPX C Aring -14 +KPX C H -34 +KPX C K -19 +KPX C O -24 +KPX C Oacute -24 +KPX C Odieresis -24 +KPX Ccedilla A -8 +KPX D A -47 +KPX D Aacute -47 +KPX D Acircumflex -47 +KPX D Adieresis -47 +KPX D Agrave -47 +KPX D Aring -47 +KPX D Atilde -47 +KPX D J -38 +KPX D T -47 +KPX D V -50 +KPX D W -20 +KPX D X -60 +KPX D Y -71 +KPX F A -45 +KPX F Aacute -45 +KPX F Acircumflex -45 +KPX F Adieresis -45 +KPX F Agrave -45 +KPX F Aring -45 +KPX F Atilde -45 +KPX F J -100 +KPX F O -34 +KPX F Odieresis -34 +KPX F a -52 +KPX F aacute -52 +KPX F adieresis -49 +KPX F ae -25 +KPX F aring -52 +KPX F comma -172 +KPX F e -61 +KPX F eacute -61 +KPX F hyphen -72 +KPX F i -51 +KPX F j -59 +KPX F o -68 +KPX F oacute -68 +KPX F odieresis -54 +KPX F oe -26 +KPX F oslash -68 +KPX F period -196 +KPX F r -37 +KPX F u -6 +KPX G A 0 +KPX G AE 0 +KPX G Aacute 0 +KPX G Acircumflex 0 +KPX G Adieresis 0 +KPX G Agrave 0 +KPX G Aring 0 +KPX G Atilde 0 +KPX G T -31 +KPX G V -1 +KPX G W -4 +KPX G Y -22 +KPX J A -14 +KPX J AE -23 +KPX J Adieresis -14 +KPX J Aring -14 +KPX K C -50 +KPX K G -46 +KPX K O -45 +KPX K OE -28 +KPX K Oacute -45 +KPX K Odieresis -45 +KPX K S -16 +KPX K T -18 +KPX K a -8 +KPX K adieresis -8 +KPX K ae 19 +KPX K aring -8 +KPX K e -30 +KPX K hyphen -66 +KPX K o -32 +KPX K oacute -32 +KPX K odieresis -32 +KPX K u -33 +KPX K udieresis -33 +KPX K y -72 +KPX L A 9 +KPX L AE 9 +KPX L Aacute 9 +KPX L Adieresis 9 +KPX L Aring 9 +KPX L C -19 +KPX L Ccedilla -19 +KPX L G -18 +KPX L O -15 +KPX L Oacute -15 +KPX L Ocircumflex -15 +KPX L Odieresis -15 +KPX L Ograve -15 +KPX L Otilde -15 +KPX L S -31 +KPX L T -59 +KPX L U -36 +KPX L Udieresis -36 +KPX L V -71 +KPX L W -31 +KPX L Y -60 +KPX L hyphen -1 +KPX L quotedblright -76 +KPX L quoteright -84 +KPX L u -20 +KPX L udieresis -20 +KPX L y -50 +KPX N A -10 +KPX N AE -10 +KPX N Aacute -10 +KPX N Adieresis -10 +KPX N Aring -10 +KPX N C -18 +KPX N Ccedilla -18 +KPX N G -16 +KPX N O -14 +KPX N Oacute -14 +KPX N Odieresis -14 +KPX N a -23 +KPX N aacute -23 +KPX N adieresis -23 +KPX N ae 7 +KPX N aring -23 +KPX N comma -64 +KPX N e -10 +KPX N eacute -10 +KPX N o -14 +KPX N oacute -14 +KPX N odieresis -14 +KPX N oslash -11 +KPX N period -87 +KPX N u -14 +KPX N udieresis -14 +KPX O A -33 +KPX O AE -30 +KPX O Aacute -33 +KPX O Adieresis -33 +KPX O Aring -33 +KPX O T -37 +KPX O V -40 +KPX O W -8 +KPX O X -47 +KPX O Y -61 +KPX Oacute A -33 +KPX Oacute T -37 +KPX Oacute V -40 +KPX Oacute W -8 +KPX Oacute Y -61 +KPX Ocircumflex T -37 +KPX Ocircumflex V -40 +KPX Ocircumflex Y -61 +KPX Odieresis A -33 +KPX Odieresis T -37 +KPX Odieresis V -40 +KPX Odieresis W -8 +KPX Odieresis X -47 +KPX Odieresis Y -61 +KPX Ograve T -37 +KPX Ograve V -40 +KPX Ograve Y -61 +KPX Oslash A -31 +KPX Otilde T -36 +KPX Otilde V -39 +KPX Otilde Y -60 +KPX P A -87 +KPX P AE -81 +KPX P Aacute -87 +KPX P Adieresis -87 +KPX P Aring -87 +KPX P J -90 +KPX P a -57 +KPX P aacute -57 +KPX P adieresis -57 +KPX P ae -29 +KPX P aring -57 +KPX P comma -161 +KPX P e -47 +KPX P eacute -47 +KPX P hyphen -52 +KPX P o -53 +KPX P oacute -53 +KPX P odieresis -53 +KPX P oe -18 +KPX P oslash -53 +KPX P period -185 +KPX R C -32 +KPX R Ccedilla -33 +KPX R G -31 +KPX R O -29 +KPX R OE -8 +KPX R Oacute -29 +KPX R Odieresis -29 +KPX R T -35 +KPX R U -36 +KPX R Udieresis -36 +KPX R V -42 +KPX R W -21 +KPX R Y -36 +KPX R a 0 +KPX R aacute 0 +KPX R adieresis 0 +KPX R ae 27 +KPX R aring 0 +KPX R e -22 +KPX R eacute -22 +KPX R hyphen -53 +KPX R o -23 +KPX R oacute -23 +KPX R odieresis -23 +KPX R oe 15 +KPX R u -16 +KPX R uacute -16 +KPX R udieresis -16 +KPX R y -20 +KPX S A -28 +KPX S AE -28 +KPX S Aacute -28 +KPX S Adieresis -28 +KPX S Aring -28 +KPX S T -48 +KPX S V -18 +KPX S W -23 +KPX S Y -39 +KPX S t -25 +KPX T A -34 +KPX T AE -35 +KPX T Aacute -34 +KPX T Acircumflex -34 +KPX T Adieresis -34 +KPX T Agrave -34 +KPX T Aring -34 +KPX T Atilde -34 +KPX T C -36 +KPX T G -35 +KPX T J -88 +KPX T O -34 +KPX T OE -12 +KPX T Oacute -34 +KPX T Ocircumflex -34 +KPX T Odieresis -34 +KPX T Ograve -34 +KPX T Oslash -34 +KPX T Otilde -34 +KPX T S -50 +KPX T V 4 +KPX T W -1 +KPX T Y -17 +KPX T a -68 +KPX T ae -38 +KPX T c -83 +KPX T colon -145 +KPX T comma -116 +KPX T e -83 +KPX T g -76 +KPX T guillemotleft -129 +KPX T guilsinglleft -129 +KPX T hyphen -99 +KPX T i -51 +KPX T j -59 +KPX T o -87 +KPX T oslash -60 +KPX T period -145 +KPX T r -37 +KPX T s -70 +KPX T semicolon -119 +KPX T u -92 +KPX T v -98 +KPX T w -96 +KPX T y -108 +KPX U A -26 +KPX U AE -35 +KPX U Aacute -26 +KPX U Acircumflex -26 +KPX U Adieresis -26 +KPX U Aring -26 +KPX U Atilde -26 +KPX U comma -80 +KPX U m 3 +KPX U n -22 +KPX U p -5 +KPX U period -105 +KPX U r -47 +KPX Uacute A -26 +KPX Uacute comma -80 +KPX Uacute m 3 +KPX Uacute n -22 +KPX Uacute p -5 +KPX Uacute period -105 +KPX Uacute r -47 +KPX Ucircumflex A -26 +KPX Udieresis A -26 +KPX Udieresis b 17 +KPX Udieresis comma -80 +KPX Udieresis m 3 +KPX Udieresis n -22 +KPX Udieresis p -5 +KPX Udieresis period -105 +KPX Udieresis r -47 +KPX Ugrave A -26 +KPX V A -10 +KPX V AE -19 +KPX V Aacute -10 +KPX V Acircumflex -10 +KPX V Adieresis -10 +KPX V Agrave -10 +KPX V Aring -10 +KPX V Atilde -10 +KPX V C -39 +KPX V G -38 +KPX V O -37 +KPX V Oacute -37 +KPX V Ocircumflex -37 +KPX V Odieresis -37 +KPX V Ograve -37 +KPX V Oslash -38 +KPX V Otilde -38 +KPX V S -41 +KPX V T 4 +KPX V a -65 +KPX V ae -37 +KPX V colon -130 +KPX V comma -134 +KPX V e -56 +KPX V g -57 +KPX V guillemotleft -83 +KPX V guilsinglleft -83 +KPX V hyphen -49 +KPX V i -65 +KPX V o -60 +KPX V oslash -57 +KPX V period -158 +KPX V r -51 +KPX V semicolon -121 +KPX V u -20 +KPX V y -24 +KPX W A -16 +KPX W AE -21 +KPX W Aacute -16 +KPX W Acircumflex -16 +KPX W Adieresis -16 +KPX W Agrave -16 +KPX W Aring -16 +KPX W Atilde -16 +KPX W C -14 +KPX W G -12 +KPX W O -10 +KPX W Oacute -10 +KPX W Ocircumflex -10 +KPX W Odieresis -10 +KPX W Ograve -10 +KPX W Oslash -7 +KPX W Otilde -10 +KPX W S -29 +KPX W T -2 +KPX W a -24 +KPX W ae 6 +KPX W colon -93 +KPX W comma -71 +KPX W e -10 +KPX W g -11 +KPX W guillemotleft -38 +KPX W guilsinglleft -38 +KPX W hyphen -7 +KPX W i -48 +KPX W o -14 +KPX W oslash -11 +KPX W period -95 +KPX W r -34 +KPX W semicolon -74 +KPX W u -2 +KPX W y -6 +KPX X C -52 +KPX X O -48 +KPX X Odieresis -48 +KPX X Q -48 +KPX X a -14 +KPX X e -36 +KPX X hyphen -81 +KPX X o -38 +KPX X u -39 +KPX X y -57 +KPX Y A -31 +KPX Y AE -34 +KPX Y Aacute -31 +KPX Y Acircumflex -31 +KPX Y Adieresis -31 +KPX Y Agrave -31 +KPX Y Aring -31 +KPX Y Atilde -31 +KPX Y C -60 +KPX Y G -60 +KPX Y O -59 +KPX Y Oacute -59 +KPX Y Ocircumflex -59 +KPX Y Odieresis -59 +KPX Y Ograve -59 +KPX Y Oslash -59 +KPX Y Otilde -59 +KPX Y S -62 +KPX Y T -17 +KPX Y a -67 +KPX Y ae -40 +KPX Y colon -145 +KPX Y comma -116 +KPX Y e -81 +KPX Y g -84 +KPX Y guillemotleft -119 +KPX Y guilsinglleft -119 +KPX Y hyphen -96 +KPX Y i -63 +KPX Y o -86 +KPX Y oslash -59 +KPX Y p -39 +KPX Y period -144 +KPX Y semicolon -119 +KPX Y u -50 +KPX Y v -44 +KPX Z v -54 +KPX Z y -64 +KPX a j -93 +KPX a quoteright -60 +KPX a v -33 +KPX a w -23 +KPX a y -44 +KPX aacute v -33 +KPX aacute w -23 +KPX aacute y -44 +KPX adieresis v -33 +KPX adieresis w -23 +KPX adieresis y -44 +KPX ae v 16 +KPX ae w 16 +KPX ae y 5 +KPX agrave v -33 +KPX agrave w -23 +KPX agrave y -44 +KPX aring v -33 +KPX aring w -23 +KPX aring y -44 +KPX b v -17 +KPX b w 0 +KPX b y -28 +KPX c h -6 +KPX c k -12 +KPX comma one -148 +KPX comma quotedblright -123 +KPX comma quoteright -142 +KPX e quoteright -43 +KPX e t -34 +KPX e v -28 +KPX e w -20 +KPX e x -5 +KPX e y -39 +KPX eacute v -28 +KPX eacute w -20 +KPX eacute y -39 +KPX ecircumflex v -28 +KPX ecircumflex w -20 +KPX ecircumflex y -39 +KPX eight four -65 +KPX eight one -85 +KPX eight seven -77 +KPX f a -44 +KPX f aacute -44 +KPX f adieresis -26 +KPX f ae -17 +KPX f aring -44 +KPX f e -58 +KPX f eacute -58 +KPX f f -46 +KPX f i -40 +KPX f j -63 +KPX f l -31 +KPX f o -65 +KPX f oacute -65 +KPX f odieresis -31 +KPX f oe -23 +KPX f oslash -36 +KPX f quoteright -62 +KPX f s -46 +KPX f t -10 +KPX five four -56 +KPX five one -90 +KPX five seven -78 +KPX four four -68 +KPX four one -73 +KPX four seven -99 +KPX g a -14 +KPX g adieresis -14 +KPX g ae 13 +KPX g aring -14 +KPX g e -7 +KPX g eacute -7 +KPX g l -37 +KPX g oacute -12 +KPX g odieresis -12 +KPX g r -4 +KPX guillemotright A -50 +KPX guillemotright AE -46 +KPX guillemotright Aacute -50 +KPX guillemotright Adieresis -50 +KPX guillemotright Aring -50 +KPX guillemotright T -128 +KPX guillemotright V -80 +KPX guillemotright W -37 +KPX guillemotright Y -119 +KPX guilsinglright A -50 +KPX guilsinglright AE -46 +KPX guilsinglright Aacute -50 +KPX guilsinglright Adieresis -50 +KPX guilsinglright Aring -50 +KPX guilsinglright T -128 +KPX guilsinglright V -80 +KPX guilsinglright W -37 +KPX guilsinglright Y -119 +KPX h quoteright -52 +KPX h y -37 +KPX hyphen A -29 +KPX hyphen AE -23 +KPX hyphen Aacute -29 +KPX hyphen Adieresis -29 +KPX hyphen Aring -29 +KPX hyphen T -98 +KPX hyphen V -44 +KPX hyphen W -4 +KPX hyphen Y -95 +KPX i T -64 +KPX i j -146 +KPX k a -12 +KPX k aacute -12 +KPX k adieresis -12 +KPX k ae 15 +KPX k aring -12 +KPX k comma -60 +KPX k e -34 +KPX k eacute -34 +KPX k g -43 +KPX k hyphen -104 +KPX k o -35 +KPX k oacute -35 +KPX k odieresis -35 +KPX k period -89 +KPX k s -14 +KPX k u -7 +KPX k udieresis -7 +KPX l v -86 +KPX l y -96 +KPX m p 19 +KPX m v 7 +KPX m w 13 +KPX m y -3 +KPX n T -48 +KPX n p -8 +KPX n quoteright -50 +KPX n v -25 +KPX n w -14 +KPX n y -36 +KPX nine four -58 +KPX nine one -84 +KPX nine seven -75 +KPX o T -89 +KPX o quoteright -41 +KPX o t -24 +KPX o v -25 +KPX o w -7 +KPX o x -28 +KPX o y -36 +KPX oacute v -25 +KPX oacute w -7 +KPX oacute y -36 +KPX ocircumflex t -24 +KPX odieresis t -24 +KPX odieresis v -25 +KPX odieresis w -7 +KPX odieresis x -28 +KPX odieresis y -36 +KPX ograve v -25 +KPX ograve w -7 +KPX ograve y -36 +KPX one comma -99 +KPX one eight -94 +KPX one five -76 +KPX one four -127 +KPX one nine -81 +KPX one one -69 +KPX one period -128 +KPX one seven -147 +KPX one six -119 +KPX one three -69 +KPX one two -54 +KPX one zero -102 +KPX p t -20 +KPX p y -25 +KPX period one -125 +KPX period quotedblright -114 +KPX period quoteright -133 +KPX q c -4 +KPX q u 37 +KPX quotedblbase A -6 +KPX quotedblbase AE -6 +KPX quotedblbase T -82 +KPX quotedblbase V -85 +KPX quotedblbase W -24 +KPX quotedblbase Y -83 +KPX quotedblleft A -66 +KPX quotedblleft AE -57 +KPX quotedblleft Aacute -66 +KPX quotedblleft Adieresis -66 +KPX quotedblleft Aring -66 +KPX quotedblleft T -46 +KPX quotedblleft V -18 +KPX quotedblleft W -8 +KPX quotedblleft Y -46 +KPX quotedblright A -67 +KPX quotedblright AE -76 +KPX quotedblright Aacute -66 +KPX quotedblright Adieresis -66 +KPX quotedblright Aring -66 +KPX quotedblright T -53 +KPX quotedblright V -22 +KPX quotedblright W -26 +KPX quotedblright Y -43 +KPX quoteleft A -87 +KPX quoteleft AE -78 +KPX quoteleft Aacute -87 +KPX quoteleft Adieresis -87 +KPX quoteleft Aring -87 +KPX quoteleft T -67 +KPX quoteleft V -39 +KPX quoteleft W -29 +KPX quoteleft Y -67 +KPX quoteright A -145 +KPX quoteright AE -154 +KPX quoteright Aacute -145 +KPX quoteright Adieresis -145 +KPX quoteright Aring -145 +KPX quoteright comma -201 +KPX quoteright d -129 +KPX quoteright o -135 +KPX quoteright period -224 +KPX quoteright r -150 +KPX quoteright s -144 +KPX quoteright t -118 +KPX quoteright v -112 +KPX quoteright w -108 +KPX quoteright y -122 +KPX r a -26 +KPX r aacute -26 +KPX r acircumflex -26 +KPX r adieresis -26 +KPX r ae 1 +KPX r agrave -26 +KPX r aring -26 +KPX r c -26 +KPX r ccedilla -34 +KPX r colon -86 +KPX r comma -104 +KPX r d -18 +KPX r e -17 +KPX r eacute -17 +KPX r ecircumflex -17 +KPX r egrave -17 +KPX r f -24 +KPX r g -15 +KPX r h -24 +KPX r hyphen -125 +KPX r i -34 +KPX r j -42 +KPX r k -34 +KPX r l -51 +KPX r m 27 +KPX r n 0 +KPX r o -24 +KPX r oacute -24 +KPX r ocircumflex -24 +KPX r odieresis -24 +KPX r oe 13 +KPX r ograve -24 +KPX r oslash -24 +KPX r p 21 +KPX r period -133 +KPX r q -16 +KPX r quoteright -44 +KPX r r -20 +KPX r s -29 +KPX r semicolon -75 +KPX r t 11 +KPX r u 11 +KPX r v 17 +KPX r w 17 +KPX r x -4 +KPX r y 6 +KPX r z -23 +KPX s quoteright -51 +KPX s t -17 +KPX seven colon -154 +KPX seven comma -146 +KPX seven eight -86 +KPX seven five -91 +KPX seven four -116 +KPX seven one -74 +KPX seven period -169 +KPX seven seven -69 +KPX seven six -104 +KPX seven three -79 +KPX seven two -76 +KPX six four -52 +KPX six one -68 +KPX six seven -55 +KPX t S -40 +KPX t a -25 +KPX t aacute -25 +KPX t adieresis -25 +KPX t ae 2 +KPX t aring -25 +KPX t colon -107 +KPX t e -43 +KPX t eacute -43 +KPX t h -8 +KPX t o -45 +KPX t oacute -45 +KPX t odieresis -45 +KPX t quoteright -100 +KPX t semicolon -86 +KPX three four -58 +KPX three one -82 +KPX three seven -75 +KPX two four -97 +KPX two one -73 +KPX two seven -79 +KPX u quoteright -43 +KPX v a -9 +KPX v aacute -9 +KPX v acircumflex -9 +KPX v adieresis -9 +KPX v ae 17 +KPX v agrave -9 +KPX v aring -9 +KPX v atilde -9 +KPX v c -22 +KPX v colon -75 +KPX v comma -118 +KPX v e -17 +KPX v eacute -17 +KPX v ecircumflex -17 +KPX v egrave -17 +KPX v g -14 +KPX v hyphen -30 +KPX v l -87 +KPX v o -23 +KPX v oacute -23 +KPX v odieresis -23 +KPX v ograve -23 +KPX v oslash -23 +KPX v period -143 +KPX v s -22 +KPX v semicolon -66 +KPX w a -9 +KPX w aacute -9 +KPX w acircumflex -9 +KPX w adieresis -9 +KPX w ae 17 +KPX w agrave -9 +KPX w aring -9 +KPX w atilde -9 +KPX w c -12 +KPX w colon -75 +KPX w comma -75 +KPX w e -4 +KPX w eacute -4 +KPX w ecircumflex -4 +KPX w egrave -4 +KPX w g -6 +KPX w hyphen -4 +KPX w l -53 +KPX w o -9 +KPX w oacute -9 +KPX w odieresis -9 +KPX w ograve -9 +KPX w oslash -6 +KPX w period -99 +KPX w s -22 +KPX w semicolon -66 +KPX x a -8 +KPX x c -35 +KPX x e -30 +KPX x eacute -30 +KPX x o -31 +KPX x q -33 +KPX y a -20 +KPX y aacute -20 +KPX y acircumflex -20 +KPX y adieresis -20 +KPX y ae 6 +KPX y agrave -20 +KPX y aring -20 +KPX y atilde -20 +KPX y c -33 +KPX y colon -86 +KPX y comma -122 +KPX y e -28 +KPX y eacute -28 +KPX y ecircumflex -28 +KPX y egrave -28 +KPX y g -25 +KPX y hyphen -29 +KPX y l -98 +KPX y o -34 +KPX y oacute -34 +KPX y odieresis -34 +KPX y ograve -34 +KPX y oslash -34 +KPX y period -148 +KPX y s -33 +KPX y semicolon -77 +KPX zero four -64 +KPX zero one -91 +KPX zero seven -82 +EndKernPairs +EndKernData +EndFontMetrics diff --git a/Master/xemtex/gsfonts/n022023l.pfb b/Master/xemtex/gsfonts/n022023l.pfb new file mode 100644 index 00000000000..c167c4bcc00 Binary files /dev/null and b/Master/xemtex/gsfonts/n022023l.pfb differ diff --git a/Master/xemtex/gsfonts/n022023l.pfm b/Master/xemtex/gsfonts/n022023l.pfm new file mode 100644 index 00000000000..1ff2fc5fe21 Binary files /dev/null and b/Master/xemtex/gsfonts/n022023l.pfm differ diff --git a/Master/xemtex/gsfonts/n022024l.afm b/Master/xemtex/gsfonts/n022024l.afm new file mode 100644 index 00000000000..6957af0ad47 --- /dev/null +++ b/Master/xemtex/gsfonts/n022024l.afm @@ -0,0 +1,1341 @@ +StartFontMetrics 3.0 +Comment Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development +Comment Creation Date: 12/22/1999 +Comment See the file PUBLIC (Aladdin Free Public License) for license conditions. +FontName NimbusMonL-BoldObli +FullName Nimbus Mono L Bold Oblique +FamilyName Nimbus Mono L +Weight Bold +ItalicAngle -12.0 +IsFixedPitch false +UnderlinePosition -100 +UnderlineThickness 50 +Version 1.05 +Notice (URW)++,Copyright 1999 by (URW)++ Design & Development +EncodingScheme AdobeStandardEncoding +FontBBox -61 -278 840 871 +CapHeight 583 +XHeight 437 +Descender -205 +Ascender 624 +StartCharMetrics 316 +C 32 ; WX 600 ; N space ; B 386 0 386 0 ; +C 33 ; WX 600 ; N exclam ; B 234 -15 501 638 ; +C 34 ; WX 600 ; N quotedbl ; B 243 312 592 602 ; +C 35 ; WX 600 ; N numbersign ; B 101 -92 623 675 ; +C 36 ; WX 600 ; N dollar ; B 100 -123 610 684 ; +C 37 ; WX 600 ; N percent ; B 131 -15 599 617 ; +C 38 ; WX 600 ; N ampersand ; B 102 -14 557 550 ; +C 39 ; WX 600 ; N quoteright ; B 222 331 483 623 ; +C 40 ; WX 600 ; N parenleft ; B 304 -153 613 632 ; +C 41 ; WX 600 ; N parenright ; B 94 -153 403 632 ; +C 42 ; WX 600 ; N asterisk ; B 178 208 614 622 ; +C 43 ; WX 600 ; N plus ; B 101 0 619 560 ; +C 44 ; WX 600 ; N comma ; B 118 -158 379 134 ; +C 45 ; WX 600 ; N hyphen ; B 101 229 619 329 ; +C 46 ; WX 600 ; N period ; B 234 -15 387 117 ; +C 47 ; WX 600 ; N slash ; B 69 -113 656 695 ; +C 48 ; WX 600 ; N zero ; B 130 -15 602 638 ; +C 49 ; WX 600 ; N one ; B 93 0 529 638 ; +C 50 ; WX 600 ; N two ; B 54 0 602 638 ; +C 51 ; WX 600 ; N three ; B 80 -15 609 638 ; +C 52 ; WX 600 ; N four ; B 104 0 579 622 ; +C 53 ; WX 600 ; N five ; B 83 -15 610 622 ; +C 54 ; WX 600 ; N six ; B 154 -15 663 638 ; +C 55 ; WX 600 ; N seven ; B 184 -1 640 622 ; +C 56 ; WX 600 ; N eight ; B 114 -15 608 638 ; +C 57 ; WX 600 ; N nine ; B 115 -15 624 638 ; +C 58 ; WX 600 ; N colon ; B 234 -15 455 437 ; +C 59 ; WX 600 ; N semicolon ; B 118 -158 431 437 ; +C 60 ; WX 600 ; N less ; B 102 54 642 501 ; +C 61 ; WX 600 ; N equal ; B 81 138 638 422 ; +C 62 ; WX 600 ; N greater ; B 76 53 616 500 ; +C 63 ; WX 600 ; N question ; B 197 -15 608 598 ; +C 64 ; WX 600 ; N at ; B 98 -152 582 620 ; +C 65 ; WX 600 ; N A ; B -11 0 633 583 ; +C 66 ; WX 600 ; N B ; B 22 0 620 583 ; +C 67 ; WX 600 ; N C ; B 80 -14 663 597 ; +C 68 ; WX 600 ; N D ; B 23 0 622 583 ; +C 69 ; WX 600 ; N E ; B 23 0 652 583 ; +C 70 ; WX 600 ; N F ; B 23 0 674 583 ; +C 71 ; WX 600 ; N G ; B 79 -14 667 597 ; +C 72 ; WX 600 ; N H ; B 32 0 675 583 ; +C 73 ; WX 600 ; N I ; B 93 0 632 583 ; +C 74 ; WX 600 ; N J ; B 64 -14 727 583 ; +C 75 ; WX 600 ; N K ; B 22 0 687 583 ; +C 76 ; WX 600 ; N L ; B 42 0 616 583 ; +C 77 ; WX 600 ; N M ; B -10 0 728 583 ; +C 78 ; WX 600 ; N N ; B 21 0 706 583 ; +C 79 ; WX 600 ; N O ; B 75 -14 649 597 ; +C 80 ; WX 600 ; N P ; B 23 0 617 583 ; +C 81 ; WX 600 ; N Q ; B 75 -145 649 597 ; +C 82 ; WX 600 ; N R ; B 23 0 631 583 ; +C 83 ; WX 600 ; N S ; B 72 -14 634 597 ; +C 84 ; WX 600 ; N T ; B 121 0 682 583 ; +C 85 ; WX 600 ; N U ; B 110 -14 705 583 ; +C 86 ; WX 600 ; N V ; B 91 0 735 583 ; +C 87 ; WX 600 ; N W ; B 98 0 725 583 ; +C 88 ; WX 600 ; N X ; B 19 0 692 583 ; +C 89 ; WX 600 ; N Y ; B 128 0 694 583 ; +C 90 ; WX 600 ; N Z ; B 73 0 628 583 ; +C 91 ; WX 600 ; N bracketleft ; B 219 -148 598 627 ; +C 92 ; WX 600 ; N backslash ; B 219 -113 504 695 ; +C 93 ; WX 600 ; N bracketright ; B 104 -148 483 627 ; +C 94 ; WX 600 ; N asciicircum ; B 161 325 598 652 ; +C 95 ; WX 600 ; N underscore ; B -61 -125 564 -75 ; +C 96 ; WX 600 ; N quoteleft ; B 377 348 534 602 ; +C 97 ; WX 600 ; N a ; B 65 -16 583 450 ; +C 98 ; WX 600 ; N b ; B 2 -14 623 624 ; +C 99 ; WX 600 ; N c ; B 93 -16 626 450 ; +C 100 ; WX 600 ; N d ; B 74 -14 664 624 ; +C 101 ; WX 600 ; N e ; B 74 -16 600 450 ; +C 102 ; WX 600 ; N f ; B 84 0 691 623 ; +C 103 ; WX 600 ; N g ; B 73 -205 675 451 ; +C 104 ; WX 600 ; N h ; B 33 0 593 624 ; +C 105 ; WX 600 ; N i ; B 72 0 550 623 ; +C 106 ; WX 600 ; N j ; B 83 -205 581 623 ; +C 107 ; WX 600 ; N k ; B 42 0 606 624 ; +C 108 ; WX 600 ; N l ; B 72 0 550 624 ; +C 109 ; WX 600 ; N m ; B -9 0 635 450 ; +C 110 ; WX 600 ; N n ; B 33 0 583 450 ; +C 111 ; WX 600 ; N o ; B 84 -16 609 450 ; +C 112 ; WX 600 ; N p ; B -42 -205 623 450 ; +C 113 ; WX 600 ; N q ; B 75 -205 696 450 ; +C 114 ; WX 600 ; N r ; B 64 0 650 449 ; +C 115 ; WX 600 ; N s ; B 83 -16 592 450 ; +C 116 ; WX 600 ; N t ; B 94 -16 547 591 ; +C 117 ; WX 600 ; N u ; B 94 -13 603 437 ; +C 118 ; WX 600 ; N v ; B 81 0 683 437 ; +C 119 ; WX 600 ; N w ; B 82 0 684 437 ; +C 120 ; WX 600 ; N x ; B 30 0 641 437 ; +C 121 ; WX 600 ; N y ; B -13 -205 662 437 ; +C 122 ; WX 600 ; N z ; B 85 0 599 437 ; +C 123 ; WX 600 ; N braceleft ; B 217 -153 556 623 ; +C 124 ; WX 600 ; N bar ; B 227 -153 472 622 ; +C 125 ; WX 600 ; N braceright ; B 144 -153 483 623 ; +C 126 ; WX 600 ; N asciitilde ; B 114 179 606 385 ; +C 161 ; WX 600 ; N exclamdown ; B 186 -227 453 426 ; +C 162 ; WX 600 ; N cent ; B 144 -44 593 661 ; +C 163 ; WX 600 ; N sterling ; B 64 0 571 598 ; +C 164 ; WX 600 ; N fraction ; B 52 102 676 500 ; +C 165 ; WX 600 ; N yen ; B 133 0 693 580 ; +C 166 ; WX 600 ; N florin ; B 43 -123 672 638 ; +C 167 ; WX 600 ; N section ; B 45 -170 643 583 ; +C 168 ; WX 600 ; N currency ; B 96 64 626 519 ; +C 169 ; WX 600 ; N quotesingle ; B 343 312 492 602 ; +C 170 ; WX 600 ; N quotedblleft ; B 226 348 583 602 ; +C 171 ; WX 600 ; N guillemotleft ; B 80 20 654 415 ; +C 172 ; WX 600 ; N guilsinglleft ; B 80 20 425 415 ; +C 173 ; WX 600 ; N guilsinglright ; B 273 20 617 415 ; +C 174 ; WX 600 ; N fi ; B -4 0 633 624 ; +C 175 ; WX 600 ; N fl ; B -8 0 645 623 ; +C 177 ; WX 600 ; N endash ; B 101 229 619 329 ; +C 178 ; WX 600 ; N dagger ; B 175 -92 589 622 ; +C 179 ; WX 600 ; N daggerdbl ; B 123 -92 589 622 ; +C 180 ; WX 600 ; N periodcentered ; B 283 214 436 346 ; +C 182 ; WX 600 ; N paragraph ; B 108 -174 672 583 ; +C 183 ; WX 600 ; N bullet ; B 211 154 517 453 ; +C 184 ; WX 600 ; N quotesinglbase ; B 118 -158 379 134 ; +C 185 ; WX 600 ; N quotedblbase ; B 66 -120 519 134 ; +C 186 ; WX 600 ; N quotedblright ; B 166 348 619 602 ; +C 187 ; WX 600 ; N guillemotright ; B 43 20 617 415 ; +C 188 ; WX 600 ; N ellipsis ; B 34 -15 587 117 ; +C 189 ; WX 600 ; N perthousand ; B 104 0 627 618 ; +C 191 ; WX 600 ; N questiondown ; B 70 -227 481 386 ; +C 193 ; WX 600 ; N grave ; B 264 496 464 696 ; +C 194 ; WX 600 ; N acute ; B 362 496 616 696 ; +C 195 ; WX 600 ; N circumflex ; B 237 497 590 696 ; +C 196 ; WX 600 ; N tilde ; B 233 523 619 656 ; +C 197 ; WX 600 ; N macron ; B 249 546 600 626 ; +C 198 ; WX 600 ; N breve ; B 261 503 614 687 ; +C 199 ; WX 600 ; N dotaccent ; B 365 534 488 654 ; +C 200 ; WX 600 ; N dieresis ; B 261 534 592 654 ; +C 202 ; WX 600 ; N ring ; B 303 486 554 727 ; +C 203 ; WX 600 ; N cedilla ; B 143 -229 381 0 ; +C 205 ; WX 600 ; N hungarumlaut ; B 237 496 616 694 ; +C 206 ; WX 600 ; N ogonek ; B 222 -208 433 0 ; +C 207 ; WX 600 ; N caron ; B 264 497 617 696 ; +C 208 ; WX 600 ; N emdash ; B 30 229 690 329 ; +C 225 ; WX 600 ; N AE ; B -10 0 717 583 ; +C 227 ; WX 600 ; N ordfeminine ; B 170 182 559 595 ; +C 232 ; WX 600 ; N Lslash ; B 43 0 616 583 ; +C 233 ; WX 600 ; N Oslash ; B 4 -70 717 638 ; +C 234 ; WX 600 ; N OE ; B 34 0 717 583 ; +C 235 ; WX 600 ; N ordmasculine ; B 168 182 566 595 ; +C 241 ; WX 600 ; N ae ; B 14 -16 665 450 ; +C 245 ; WX 600 ; N dotlessi ; B 72 0 550 437 ; +C 248 ; WX 600 ; N lslash ; B 72 0 557 624 ; +C 249 ; WX 600 ; N oslash ; B 17 -70 669 494 ; +C 250 ; WX 600 ; N oe ; B 28 -16 666 450 ; +C 251 ; WX 600 ; N germandbls ; B 22 -16 569 623 ; +C -1 ; WX 600 ; N Udieresis ; B 110 -14 705 800 ; +C -1 ; WX 600 ; N Uacute ; B 110 -14 705 839 ; +C -1 ; WX 600 ; N Scedilla ; B 72 -229 634 597 ; +C -1 ; WX 600 ; N Tcaron ; B 121 0 682 839 ; +C -1 ; WX 600 ; N Scaron ; B 72 -14 657 839 ; +C -1 ; WX 600 ; N Rcaron ; B 23 0 631 839 ; +C -1 ; WX 600 ; N Racute ; B 23 0 631 839 ; +C -1 ; WX 600 ; N Sacute ; B 72 -14 634 839 ; +C -1 ; WX 600 ; N Otilde ; B 75 -14 656 799 ; +C -1 ; WX 600 ; N ucircumflex ; B 94 -13 603 696 ; +C -1 ; WX 600 ; N Ohungarumlaut ; B 75 -14 680 837 ; +C -1 ; WX 600 ; N Uhungarumlaut ; B 110 -14 705 837 ; +C -1 ; WX 600 ; N Yacute ; B 128 0 694 839 ; +C -1 ; WX 600 ; N Eth ; B 23 0 622 583 ; +C -1 ; WX 600 ; N Dcroat ; B 23 0 622 583 ; +C -1 ; WX 600 ; N Zacute ; B 73 0 628 839 ; +C -1 ; WX 600 ; N Uring ; B 110 -14 705 871 ; +C -1 ; WX 600 ; N gbreve ; B 73 -205 675 687 ; +C -1 ; WX 600 ; N eogonek ; B 74 -208 600 450 ; +C -1 ; WX 600 ; N edotaccent ; B 74 -16 600 654 ; +C -1 ; WX 600 ; N ecaron ; B 74 -16 617 696 ; +C -1 ; WX 600 ; N Ugrave ; B 110 -14 705 839 ; +C -1 ; WX 600 ; N Thorn ; B 23 0 588 583 ; +C -1 ; WX 600 ; N eacute ; B 74 -16 600 696 ; +C -1 ; WX 600 ; N edieresis ; B 74 -16 600 654 ; +C -1 ; WX 740 ; N dcaron ; B 74 -14 840 639 ; +C -1 ; WX 600 ; N ccedilla ; B 92 -229 626 450 ; +C -1 ; WX 600 ; N ccaron ; B 93 -16 627 696 ; +C -1 ; WX 600 ; N cacute ; B 93 -16 626 696 ; +C -1 ; WX 600 ; N aogonek ; B 65 -208 583 450 ; +C -1 ; WX 600 ; N aring ; B 65 -16 583 727 ; +C -1 ; WX 600 ; N atilde ; B 65 -16 612 656 ; +C -1 ; WX 600 ; N abreve ; B 65 -16 614 687 ; +C -1 ; WX 600 ; N egrave ; B 74 -16 600 696 ; +C -1 ; WX 600 ; N agrave ; B 65 -16 583 696 ; +C -1 ; WX 600 ; N aacute ; B 66 -16 584 696 ; +C -1 ; WX 600 ; N adieresis ; B 65 -16 583 654 ; +C -1 ; WX 600 ; N Uogonek ; B 110 -208 705 583 ; +C -1 ; WX 600 ; N ugrave ; B 94 -13 603 696 ; +C -1 ; WX 600 ; N uacute ; B 94 -13 603 696 ; +C -1 ; WX 600 ; N udieresis ; B 94 -13 603 654 ; +C -1 ; WX 600 ; N tcaron ; B 94 -16 700 639 ; +C -1 ; WX 600 ; N scommaaccent ; B 83 -278 592 450 ; +C -1 ; WX 600 ; N Zcaron ; B 73 0 644 839 ; +C -1 ; WX 600 ; N ecircumflex ; B 74 -16 600 696 ; +C -1 ; WX 600 ; N Ucircumflex ; B 110 -14 705 839 ; +C -1 ; WX 600 ; N acircumflex ; B 65 -16 583 696 ; +C -1 ; WX 600 ; N Zdotaccent ; B 73 0 628 793 ; +C -1 ; WX 600 ; N scaron ; B 83 -16 627 696 ; +C -1 ; WX 600 ; N Amacron ; B -11 0 633 776 ; +C -1 ; WX 600 ; N sacute ; B 83 -16 616 696 ; +C -1 ; WX 600 ; N Tcommaaccent ; B 121 -278 682 583 ; +C -1 ; WX 600 ; N Ydieresis ; B 128 0 694 800 ; +C -1 ; WX 600 ; N thorn ; B -42 -205 623 624 ; +C -1 ; WX 600 ; N Emacron ; B 23 0 652 776 ; +C -1 ; WX 600 ; N Ograve ; B 75 -14 649 839 ; +C -1 ; WX 600 ; N Oacute ; B 75 -14 649 839 ; +C -1 ; WX 600 ; N Odieresis ; B 75 -14 649 800 ; +C -1 ; WX 600 ; N Ntilde ; B 21 0 706 799 ; +C -1 ; WX 600 ; N Ncaron ; B 21 0 706 839 ; +C -1 ; WX 600 ; N Nacute ; B 21 0 706 839 ; +C -1 ; WX 600 ; N Lcaron ; B 42 0 680 598 ; +C -1 ; WX 600 ; N Lacute ; B 42 0 616 839 ; +C -1 ; WX 600 ; N Idotaccent ; B 93 0 632 793 ; +C -1 ; WX 600 ; N racute ; B 64 0 650 696 ; +C -1 ; WX 600 ; N Icircumflex ; B 93 0 632 839 ; +C -1 ; WX 600 ; N ohungarumlaut ; B 84 -16 616 694 ; +C -1 ; WX 600 ; N otilde ; B 84 -16 626 656 ; +C -1 ; WX 600 ; N Euro ; B 54 -14 639 597 ; +C -1 ; WX 600 ; N ocircumflex ; B 84 -16 609 696 ; +C -1 ; WX 600 ; N onesuperior ; B 224 247 494 638 ; +C -1 ; WX 600 ; N twosuperior ; B 202 247 538 637 ; +C -1 ; WX 600 ; N threesuperior ; B 218 238 543 637 ; +C -1 ; WX 600 ; N Igrave ; B 93 0 632 839 ; +C -1 ; WX 600 ; N Iacute ; B 93 0 632 839 ; +C -1 ; WX 600 ; N Imacron ; B 93 0 632 776 ; +C -1 ; WX 600 ; N Iogonek ; B 93 -208 632 583 ; +C -1 ; WX 600 ; N Idieresis ; B 93 0 632 800 ; +C -1 ; WX 600 ; N Gbreve ; B 79 -14 667 831 ; +C -1 ; WX 600 ; N Umacron ; B 110 -14 705 776 ; +C -1 ; WX 600 ; N Kcommaaccent ; B 22 -278 687 583 ; +C -1 ; WX 600 ; N ograve ; B 84 -16 609 696 ; +C -1 ; WX 600 ; N Scommaaccent ; B 72 -278 634 597 ; +C -1 ; WX 600 ; N Eogonek ; B 23 -208 652 583 ; +C -1 ; WX 600 ; N oacute ; B 84 -16 609 696 ; +C -1 ; WX 600 ; N Edotaccent ; B 23 0 652 793 ; +C -1 ; WX 600 ; N iogonek ; B 72 -208 550 623 ; +C -1 ; WX 600 ; N gcommaaccent ; B 73 -205 675 722 ; +C -1 ; WX 600 ; N odieresis ; B 84 -16 609 654 ; +C -1 ; WX 600 ; N ntilde ; B 33 0 613 656 ; +C -1 ; WX 600 ; N ncaron ; B 33 0 617 696 ; +C -1 ; WX 600 ; N Ecaron ; B 23 0 652 839 ; +C -1 ; WX 600 ; N Ecircumflex ; B 23 0 652 839 ; +C -1 ; WX 600 ; N scedilla ; B 83 -229 592 450 ; +C -1 ; WX 600 ; N rcaron ; B 64 0 650 696 ; +C -1 ; WX 600 ; N Egrave ; B 23 0 652 839 ; +C -1 ; WX 600 ; N Eacute ; B 23 0 652 839 ; +C -1 ; WX 600 ; N Gcommaaccent ; B 79 -278 667 597 ; +C -1 ; WX 600 ; N Rcommaaccent ; B 23 -278 631 583 ; +C -1 ; WX 600 ; N Edieresis ; B 23 0 652 800 ; +C -1 ; WX 600 ; N nacute ; B 33 0 616 696 ; +C -1 ; WX 600 ; N uogonek ; B 94 -208 603 437 ; +C -1 ; WX 600 ; N umacron ; B 94 -13 603 626 ; +C -1 ; WX 600 ; N Dcaron ; B 23 0 622 839 ; +C -1 ; WX 600 ; N lcaron ; B 72 0 700 639 ; +C -1 ; WX 600 ; N Ccaron ; B 80 -14 663 839 ; +C -1 ; WX 600 ; N Cacute ; B 80 -14 663 839 ; +C -1 ; WX 600 ; N Ccedilla ; B 80 -229 663 597 ; +C -1 ; WX 600 ; N degree ; B 210 243 568 596 ; +C -1 ; WX 600 ; N Aogonek ; B -11 -208 633 583 ; +C -1 ; WX 600 ; N minus ; B 101 230 619 330 ; +C -1 ; WX 600 ; N multiply ; B 126 80 592 480 ; +C -1 ; WX 600 ; N divide ; B 101 28 619 532 ; +C -1 ; WX 600 ; N Aring ; B -11 0 633 871 ; +C -1 ; WX 600 ; N trademark ; B 60 220 732 583 ; +C -1 ; WX 600 ; N rcommaaccent ; B 64 -278 650 449 ; +C -1 ; WX 600 ; N lacute ; B 72 0 600 839 ; +C -1 ; WX 600 ; N omacron ; B 84 -16 609 626 ; +C -1 ; WX 600 ; N Atilde ; B -11 0 633 799 ; +C -1 ; WX 600 ; N icircumflex ; B 72 0 573 696 ; +C -1 ; WX 600 ; N igrave ; B 72 0 550 696 ; +C -1 ; WX 600 ; N ncommaaccent ; B 33 -278 583 450 ; +C -1 ; WX 600 ; N lcommaaccent ; B 72 -278 550 624 ; +C -1 ; WX 600 ; N plusminus ; B 52 0 640 624 ; +C -1 ; WX 600 ; N onehalf ; B 25 0 685 638 ; +C -1 ; WX 600 ; N onequarter ; B 25 0 673 638 ; +C -1 ; WX 600 ; N threequarters ; B 18 0 673 637 ; +C -1 ; WX 600 ; N iacute ; B 71 0 574 696 ; +C -1 ; WX 600 ; N Abreve ; B -11 0 633 831 ; +C -1 ; WX 600 ; N kcommaaccent ; B 42 -278 606 624 ; +C -1 ; WX 600 ; N Omacron ; B 75 -14 649 776 ; +C -1 ; WX 600 ; N imacron ; B 72 0 600 626 ; +C -1 ; WX 600 ; N emacron ; B 74 -16 600 626 ; +C -1 ; WX 600 ; N amacron ; B 65 -16 600 626 ; +C -1 ; WX 600 ; N tcommaaccent ; B 94 -278 547 591 ; +C -1 ; WX 600 ; N ydieresis ; B -13 -205 662 654 ; +C -1 ; WX 600 ; N zdotaccent ; B 85 0 599 654 ; +C -1 ; WX 600 ; N zcaron ; B 85 0 619 696 ; +C -1 ; WX 600 ; N zacute ; B 85 0 616 696 ; +C -1 ; WX 600 ; N yacute ; B -13 -205 662 696 ; +C -1 ; WX 600 ; N uhungarumlaut ; B 94 -13 616 694 ; +C -1 ; WX 600 ; N eth ; B 83 -16 617 646 ; +C -1 ; WX 600 ; N uring ; B 94 -13 603 727 ; +C -1 ; WX 600 ; N Ocircumflex ; B 75 -14 649 839 ; +C -1 ; WX 600 ; N commaaccent ; B 147 -278 342 -59 ; +C -1 ; WX 600 ; N copyright ; B 48 -15 675 598 ; +C -1 ; WX 600 ; N registered ; B 48 -15 675 598 ; +C -1 ; WX 600 ; N Acircumflex ; B -11 0 633 839 ; +C -1 ; WX 600 ; N idieresis ; B 72 0 575 656 ; +C -1 ; WX 600 ; N lozenge ; B 133 -19 590 593 ; +C -1 ; WX 600 ; N Delta ; B 15 0 585 583 ; +C -1 ; WX 600 ; N notequal ; B 81 22 638 525 ; +C -1 ; WX 600 ; N radical ; B 74 -60 782 697 ; +C -1 ; WX 600 ; N Agrave ; B -11 0 633 839 ; +C -1 ; WX 600 ; N Aacute ; B -11 0 633 839 ; +C -1 ; WX 600 ; N lessequal ; B 50 0 666 591 ; +C -1 ; WX 600 ; N greaterequal ; B 52 0 660 591 ; +C -1 ; WX 600 ; N logicalnot ; B 125 115 560 445 ; +C -1 ; WX 600 ; N summation ; B 32 -97 668 671 ; +C -1 ; WX 600 ; N partialdiff ; B 138 -16 579 590 ; +C -1 ; WX 600 ; N Ncommaaccent ; B 21 -278 706 583 ; +C -1 ; WX 600 ; N dcroat ; B 74 -14 712 624 ; +C -1 ; WX 600 ; N brokenbar ; B 227 -153 472 622 ; +C -1 ; WX 600 ; N Lcommaaccent ; B 42 -278 616 583 ; +C -1 ; WX 600 ; N Adieresis ; B -11 0 633 800 ; +C -1 ; WX 600 ; N mu ; B 72 -153 603 440 ; +C -1 ; WX 600 ; N .notdef ; B 386 0 386 0 ; +EndCharMetrics +StartKernData +StartKernPairs 998 +KPX A C -24 +KPX A Ccedilla -30 +KPX A G -20 +KPX A O -26 +KPX A Odieresis -26 +KPX A Q -25 +KPX A T -35 +KPX A U -33 +KPX A Uacute -33 +KPX A Ucircumflex -33 +KPX A Udieresis -33 +KPX A Ugrave -33 +KPX A V -63 +KPX A W -21 +KPX A Y -34 +KPX A a 8 +KPX A b 39 +KPX A c -12 +KPX A ccedilla -15 +KPX A comma -52 +KPX A d -4 +KPX A e -5 +KPX A g -5 +KPX A guillemotleft -44 +KPX A guilsinglleft -44 +KPX A hyphen -23 +KPX A o -11 +KPX A period -67 +KPX A q -10 +KPX A quotedblright -89 +KPX A quoteright -116 +KPX A t -25 +KPX A u -18 +KPX A v -41 +KPX A w -15 +KPX A y -41 +KPX Aacute C -24 +KPX Aacute G -20 +KPX Aacute O -26 +KPX Aacute Q -25 +KPX Aacute T -35 +KPX Aacute U -33 +KPX Aacute V -63 +KPX Aacute W -21 +KPX Aacute Y -34 +KPX Aacute a 8 +KPX Aacute b 39 +KPX Aacute c -12 +KPX Aacute comma -52 +KPX Aacute d -4 +KPX Aacute e -5 +KPX Aacute g -5 +KPX Aacute guillemotleft -44 +KPX Aacute guilsinglleft -44 +KPX Aacute hyphen -23 +KPX Aacute o -11 +KPX Aacute period -67 +KPX Aacute q -10 +KPX Aacute quoteright -116 +KPX Aacute t -25 +KPX Aacute u -18 +KPX Aacute v -41 +KPX Aacute w -15 +KPX Aacute y -41 +KPX Acircumflex C -24 +KPX Acircumflex G -20 +KPX Acircumflex O -26 +KPX Acircumflex Q -25 +KPX Acircumflex T -35 +KPX Acircumflex U -33 +KPX Acircumflex V -63 +KPX Acircumflex W -21 +KPX Acircumflex Y -34 +KPX Acircumflex comma -52 +KPX Acircumflex period -67 +KPX Adieresis C -24 +KPX Adieresis G -20 +KPX Adieresis O -26 +KPX Adieresis Q -25 +KPX Adieresis T -35 +KPX Adieresis U -33 +KPX Adieresis V -63 +KPX Adieresis W -21 +KPX Adieresis Y -34 +KPX Adieresis a 8 +KPX Adieresis b 39 +KPX Adieresis c -12 +KPX Adieresis comma -52 +KPX Adieresis d -4 +KPX Adieresis g -5 +KPX Adieresis guillemotleft -44 +KPX Adieresis guilsinglleft -44 +KPX Adieresis hyphen -23 +KPX Adieresis o -11 +KPX Adieresis period -67 +KPX Adieresis q -10 +KPX Adieresis quotedblright -89 +KPX Adieresis quoteright -116 +KPX Adieresis t -25 +KPX Adieresis u -18 +KPX Adieresis v -41 +KPX Adieresis w -15 +KPX Adieresis y -41 +KPX Agrave C -24 +KPX Agrave G -20 +KPX Agrave O -26 +KPX Agrave Q -25 +KPX Agrave T -35 +KPX Agrave U -33 +KPX Agrave V -63 +KPX Agrave W -21 +KPX Agrave Y -34 +KPX Agrave comma -52 +KPX Agrave period -67 +KPX Aring C -24 +KPX Aring G -20 +KPX Aring O -26 +KPX Aring Q -25 +KPX Aring T -35 +KPX Aring U -33 +KPX Aring V -63 +KPX Aring W -21 +KPX Aring Y -34 +KPX Aring a 8 +KPX Aring b 39 +KPX Aring c -12 +KPX Aring comma -52 +KPX Aring d -4 +KPX Aring e -5 +KPX Aring g -5 +KPX Aring guillemotleft -44 +KPX Aring guilsinglleft -44 +KPX Aring hyphen -23 +KPX Aring o -11 +KPX Aring period -67 +KPX Aring q -10 +KPX Aring quotedblright -89 +KPX Aring quoteright -116 +KPX Aring t -25 +KPX Aring u -18 +KPX Aring v -41 +KPX Aring w -15 +KPX Aring y -41 +KPX Atilde C -24 +KPX Atilde G -20 +KPX Atilde O -26 +KPX Atilde Q -25 +KPX Atilde T -35 +KPX Atilde U -33 +KPX Atilde V -63 +KPX Atilde W -21 +KPX Atilde Y -34 +KPX Atilde comma -52 +KPX Atilde period -67 +KPX B A -2 +KPX B AE -3 +KPX B Aacute -2 +KPX B Acircumflex -2 +KPX B Adieresis -2 +KPX B Aring -2 +KPX B Atilde -2 +KPX B O -14 +KPX B OE 7 +KPX B Oacute -14 +KPX B Ocircumflex -14 +KPX B Odieresis -14 +KPX B Ograve -14 +KPX B Oslash -12 +KPX B V -29 +KPX B W -10 +KPX B Y -50 +KPX C A 2 +KPX C AE 2 +KPX C Aacute 2 +KPX C Adieresis 2 +KPX C Aring 2 +KPX C H -18 +KPX C K -13 +KPX C O -19 +KPX C Oacute -19 +KPX C Odieresis -19 +KPX Ccedilla A -5 +KPX D A -32 +KPX D Aacute -32 +KPX D Acircumflex -32 +KPX D Adieresis -32 +KPX D Agrave -32 +KPX D Aring -32 +KPX D Atilde -32 +KPX D J -38 +KPX D T -36 +KPX D V -40 +KPX D W -16 +KPX D X -40 +KPX D Y -61 +KPX F A -47 +KPX F Aacute -47 +KPX F Acircumflex -47 +KPX F Adieresis -47 +KPX F Agrave -47 +KPX F Aring -47 +KPX F Atilde -47 +KPX F J -83 +KPX F O -32 +KPX F Odieresis -32 +KPX F a -44 +KPX F aacute -45 +KPX F adieresis -44 +KPX F ae -22 +KPX F aring -44 +KPX F comma -172 +KPX F e -51 +KPX F eacute -51 +KPX F hyphen -61 +KPX F i -50 +KPX F j -58 +KPX F o -55 +KPX F oacute -55 +KPX F odieresis -55 +KPX F oe -20 +KPX F oslash -55 +KPX F period -191 +KPX F r -37 +KPX F u -6 +KPX G A 0 +KPX G AE 0 +KPX G Aacute 0 +KPX G Acircumflex 0 +KPX G Adieresis 0 +KPX G Agrave 0 +KPX G Aring 0 +KPX G Atilde 0 +KPX G T -30 +KPX G V 1 +KPX G W 5 +KPX G Y -20 +KPX J A -15 +KPX J AE -24 +KPX J Adieresis -15 +KPX J Aring -15 +KPX K C -32 +KPX K G -30 +KPX K O -31 +KPX K OE -9 +KPX K Oacute -31 +KPX K Odieresis -31 +KPX K S -17 +KPX K T -20 +KPX K a -1 +KPX K adieresis -1 +KPX K ae 23 +KPX K aring -1 +KPX K e -14 +KPX K hyphen -50 +KPX K o -20 +KPX K oacute -20 +KPX K odieresis -20 +KPX K u -30 +KPX K udieresis -30 +KPX K y -56 +KPX L A 9 +KPX L AE 9 +KPX L Aacute 9 +KPX L Adieresis 9 +KPX L Aring 9 +KPX L C -19 +KPX L Ccedilla -19 +KPX L G -19 +KPX L O -16 +KPX L Oacute -16 +KPX L Ocircumflex -16 +KPX L Odieresis -16 +KPX L Ograve -16 +KPX L Otilde -16 +KPX L S -32 +KPX L T -60 +KPX L U -31 +KPX L Udieresis -31 +KPX L V -61 +KPX L W -23 +KPX L Y -59 +KPX L hyphen 5 +KPX L quotedblright -82 +KPX L quoteright -107 +KPX L u -13 +KPX L udieresis -14 +KPX L y -36 +KPX N A -10 +KPX N AE -11 +KPX N Aacute -10 +KPX N Adieresis -10 +KPX N Aring -10 +KPX N C -13 +KPX N Ccedilla -10 +KPX N G -12 +KPX N O -10 +KPX N Oacute -10 +KPX N Odieresis -10 +KPX N a -14 +KPX N aacute -15 +KPX N adieresis -14 +KPX N ae 14 +KPX N aring -14 +KPX N comma -79 +KPX N e -7 +KPX N eacute -7 +KPX N o -12 +KPX N oacute -12 +KPX N odieresis -12 +KPX N oslash -6 +KPX N period -98 +KPX N u -12 +KPX N udieresis -12 +KPX O A -21 +KPX O AE -20 +KPX O Aacute -21 +KPX O Adieresis -21 +KPX O Aring -21 +KPX O T -23 +KPX O V -32 +KPX O W -4 +KPX O X -28 +KPX O Y -51 +KPX Oacute A -21 +KPX Oacute T -23 +KPX Oacute V -32 +KPX Oacute W -4 +KPX Oacute Y -51 +KPX Ocircumflex T -23 +KPX Ocircumflex V -32 +KPX Ocircumflex Y -51 +KPX Odieresis A -21 +KPX Odieresis T -23 +KPX Odieresis V -32 +KPX Odieresis W -4 +KPX Odieresis X -28 +KPX Odieresis Y -51 +KPX Ograve T -23 +KPX Ograve V -32 +KPX Ograve Y -51 +KPX Oslash A -13 +KPX Otilde T -23 +KPX Otilde V -32 +KPX Otilde Y -51 +KPX P A -65 +KPX P AE -63 +KPX P Aacute -65 +KPX P Adieresis -65 +KPX P Aring -65 +KPX P J -80 +KPX P a -54 +KPX P aacute -54 +KPX P adieresis -54 +KPX P ae -31 +KPX P aring -54 +KPX P comma -164 +KPX P e -43 +KPX P eacute -43 +KPX P hyphen -39 +KPX P o -47 +KPX P oacute -47 +KPX P odieresis -47 +KPX P oe -18 +KPX P oslash -46 +KPX P period -183 +KPX R C -19 +KPX R Ccedilla -18 +KPX R G -18 +KPX R O -18 +KPX R OE 3 +KPX R Oacute -18 +KPX R Odieresis -18 +KPX R T -36 +KPX R U -20 +KPX R Udieresis -21 +KPX R V -34 +KPX R W -10 +KPX R Y -35 +KPX R a 7 +KPX R aacute 6 +KPX R adieresis 7 +KPX R ae 32 +KPX R aring 7 +KPX R e -4 +KPX R eacute -4 +KPX R hyphen -30 +KPX R o -9 +KPX R oacute -9 +KPX R odieresis -9 +KPX R oe 24 +KPX R u -9 +KPX R uacute -9 +KPX R udieresis -9 +KPX R y -22 +KPX S A -16 +KPX S AE -16 +KPX S Aacute -16 +KPX S Adieresis -16 +KPX S Aring -16 +KPX S T -47 +KPX S V -16 +KPX S W -15 +KPX S Y -37 +KPX S t -20 +KPX T A -35 +KPX T AE -35 +KPX T Aacute -35 +KPX T Acircumflex -35 +KPX T Adieresis -35 +KPX T Agrave -35 +KPX T Aring -35 +KPX T Atilde -35 +KPX T C -27 +KPX T G -27 +KPX T J -72 +KPX T O -22 +KPX T OE 0 +KPX T Oacute -22 +KPX T Ocircumflex -22 +KPX T Odieresis -22 +KPX T Ograve -22 +KPX T Oslash -23 +KPX T Otilde -22 +KPX T S -49 +KPX T V 4 +KPX T W -2 +KPX T Y -17 +KPX T a -39 +KPX T ae -17 +KPX T c -42 +KPX T colon -119 +KPX T comma -136 +KPX T e -31 +KPX T g -28 +KPX T guillemotleft -81 +KPX T guilsinglleft -81 +KPX T hyphen -96 +KPX T i -46 +KPX T j -53 +KPX T o -36 +KPX T oslash -36 +KPX T period -154 +KPX T r -33 +KPX T s -43 +KPX T semicolon -106 +KPX T u -1 +KPX T v 6 +KPX T w 5 +KPX T y -4 +KPX U A -23 +KPX U AE -22 +KPX U Aacute -23 +KPX U Acircumflex -23 +KPX U Adieresis -23 +KPX U Aring -23 +KPX U Atilde -23 +KPX U comma -98 +KPX U m 14 +KPX U n -10 +KPX U p -3 +KPX U period -118 +KPX U r -36 +KPX Uacute A -23 +KPX Uacute comma -98 +KPX Uacute m 14 +KPX Uacute n -10 +KPX Uacute p -3 +KPX Uacute period -118 +KPX Uacute r -36 +KPX Ucircumflex A -23 +KPX Udieresis A -23 +KPX Udieresis b 20 +KPX Udieresis comma -98 +KPX Udieresis m 14 +KPX Udieresis n -10 +KPX Udieresis p -3 +KPX Udieresis period -118 +KPX Udieresis r -36 +KPX Ugrave A -23 +KPX V A -12 +KPX V AE -21 +KPX V Aacute -12 +KPX V Acircumflex -12 +KPX V Adieresis -12 +KPX V Agrave -12 +KPX V Aring -12 +KPX V Atilde -12 +KPX V C -34 +KPX V G -34 +KPX V O -32 +KPX V Oacute -32 +KPX V Ocircumflex -32 +KPX V Odieresis -32 +KPX V Ograve -32 +KPX V Oslash -32 +KPX V Otilde -32 +KPX V S -35 +KPX V T 3 +KPX V a -59 +KPX V ae -30 +KPX V colon -139 +KPX V comma -150 +KPX V e -51 +KPX V g -50 +KPX V guillemotleft -83 +KPX V guilsinglleft -83 +KPX V hyphen -45 +KPX V i -64 +KPX V o -56 +KPX V oslash -51 +KPX V period -169 +KPX V r -51 +KPX V semicolon -127 +KPX V u -21 +KPX V y -22 +KPX W A -15 +KPX W AE -14 +KPX W Aacute -15 +KPX W Acircumflex -15 +KPX W Adieresis -15 +KPX W Agrave -15 +KPX W Aring -15 +KPX W Atilde -15 +KPX W C -9 +KPX W G -8 +KPX W O -7 +KPX W Oacute -7 +KPX W Ocircumflex -7 +KPX W Odieresis -7 +KPX W Ograve -7 +KPX W Oslash -3 +KPX W Otilde -7 +KPX W S -21 +KPX W T -1 +KPX W a -14 +KPX W ae 15 +KPX W colon -103 +KPX W comma -86 +KPX W e -6 +KPX W g -5 +KPX W guillemotleft -38 +KPX W guilsinglleft -38 +KPX W hyphen -3 +KPX W i -40 +KPX W o -11 +KPX W oslash -6 +KPX W period -105 +KPX W r -28 +KPX W semicolon -86 +KPX W u -3 +KPX W y -6 +KPX X C -33 +KPX X O -31 +KPX X Odieresis -31 +KPX X Q -30 +KPX X a -7 +KPX X e -20 +KPX X hyphen -55 +KPX X o -26 +KPX X u -36 +KPX X y -49 +KPX Y A -32 +KPX Y AE -35 +KPX Y Aacute -32 +KPX Y Acircumflex -32 +KPX Y Adieresis -32 +KPX Y Agrave -32 +KPX Y Aring -32 +KPX Y Atilde -32 +KPX Y C -54 +KPX Y G -54 +KPX Y O -52 +KPX Y Oacute -52 +KPX Y Ocircumflex -52 +KPX Y Odieresis -52 +KPX Y Ograve -52 +KPX Y Oslash -50 +KPX Y Otilde -52 +KPX Y S -55 +KPX Y T -17 +KPX Y a -61 +KPX Y ae -36 +KPX Y colon -157 +KPX Y comma -123 +KPX Y e -63 +KPX Y g -62 +KPX Y guillemotleft -99 +KPX Y guilsinglleft -99 +KPX Y hyphen -87 +KPX Y i -63 +KPX Y o -68 +KPX Y oslash -56 +KPX Y p -34 +KPX Y period -141 +KPX Y semicolon -139 +KPX Y u -48 +KPX Y v -38 +KPX Z v -47 +KPX Z y -55 +KPX a j -85 +KPX a quoteright -79 +KPX a v -25 +KPX a w -13 +KPX a y -36 +KPX aacute v -25 +KPX aacute w -13 +KPX aacute y -36 +KPX adieresis v -25 +KPX adieresis w -13 +KPX adieresis y -36 +KPX ae v 24 +KPX ae w 31 +KPX ae y 13 +KPX agrave v -25 +KPX agrave w -13 +KPX agrave y -36 +KPX aring v -25 +KPX aring w -13 +KPX aring y -36 +KPX b v -4 +KPX b w 3 +KPX b y -15 +KPX c h 8 +KPX c k 3 +KPX comma one -133 +KPX comma quotedblright -142 +KPX comma quoteright -170 +KPX e quoteright -64 +KPX e t -16 +KPX e v -14 +KPX e w -4 +KPX e x 3 +KPX e y -25 +KPX eacute v -14 +KPX eacute w -4 +KPX eacute y -25 +KPX ecircumflex v -14 +KPX ecircumflex w -4 +KPX ecircumflex y -25 +KPX eight four -63 +KPX eight one -80 +KPX eight seven -75 +KPX f a -38 +KPX f aacute -38 +KPX f adieresis -38 +KPX f ae -13 +KPX f aring -38 +KPX f e -46 +KPX f eacute -46 +KPX f f -46 +KPX f i -40 +KPX f j -63 +KPX f l -30 +KPX f o -51 +KPX f oacute -51 +KPX f odieresis -48 +KPX f oe -17 +KPX f oslash -34 +KPX f quoteright -78 +KPX f s -46 +KPX f t -10 +KPX five four -58 +KPX five one -80 +KPX five seven -80 +KPX four four -68 +KPX four one -72 +KPX four seven -100 +KPX g a -7 +KPX g adieresis -7 +KPX g ae 21 +KPX g aring -7 +KPX g e -1 +KPX g eacute -1 +KPX g l -38 +KPX g oacute -6 +KPX g odieresis -6 +KPX g r -5 +KPX guillemotright A -42 +KPX guillemotright AE -39 +KPX guillemotright Aacute -42 +KPX guillemotright Adieresis -42 +KPX guillemotright Aring -42 +KPX guillemotright T -81 +KPX guillemotright V -80 +KPX guillemotright W -35 +KPX guillemotright Y -96 +KPX guilsinglright A -42 +KPX guilsinglright AE -39 +KPX guilsinglright Aacute -42 +KPX guilsinglright Adieresis -42 +KPX guilsinglright Aring -42 +KPX guilsinglright T -81 +KPX guilsinglright V -80 +KPX guilsinglright W -35 +KPX guilsinglright Y -96 +KPX h quoteright -71 +KPX h y -29 +KPX hyphen A -21 +KPX hyphen AE -17 +KPX hyphen Aacute -21 +KPX hyphen Adieresis -21 +KPX hyphen Aring -21 +KPX hyphen T -93 +KPX hyphen V -41 +KPX hyphen W -1 +KPX hyphen Y -84 +KPX i T -64 +KPX i j -145 +KPX k a -5 +KPX k aacute -5 +KPX k adieresis -5 +KPX k ae 20 +KPX k aring -5 +KPX k comma -67 +KPX k e -17 +KPX k eacute -17 +KPX k g -16 +KPX k hyphen -53 +KPX k o -22 +KPX k oacute -22 +KPX k odieresis -22 +KPX k period -80 +KPX k s -13 +KPX k u -7 +KPX k udieresis -7 +KPX l v -77 +KPX l y -78 +KPX m p 31 +KPX m v 13 +KPX m w 22 +KPX m y 2 +KPX n T -47 +KPX n p 2 +KPX n quoteright -69 +KPX n v -17 +KPX n w -6 +KPX n y -28 +KPX nine four -59 +KPX nine one -76 +KPX nine seven -68 +KPX o T -39 +KPX o quoteright -61 +KPX o t -16 +KPX o v -10 +KPX o w -3 +KPX o x -10 +KPX o y -21 +KPX oacute v -10 +KPX oacute w -3 +KPX oacute y -21 +KPX ocircumflex t -16 +KPX odieresis t -16 +KPX odieresis v -10 +KPX odieresis w -3 +KPX odieresis x -10 +KPX odieresis y -21 +KPX ograve v -10 +KPX ograve w -3 +KPX ograve y -21 +KPX one comma -104 +KPX one eight -83 +KPX one five -63 +KPX one four -95 +KPX one nine -80 +KPX one one -68 +KPX one period -119 +KPX one seven -146 +KPX one six -107 +KPX one three -62 +KPX one two -53 +KPX one zero -95 +KPX p t -7 +KPX p y -12 +KPX period one -118 +KPX period quotedblright -137 +KPX period quoteright -165 +KPX q c 0 +KPX q u 37 +KPX quotedblbase A -10 +KPX quotedblbase AE -11 +KPX quotedblbase T -92 +KPX quotedblbase V -108 +KPX quotedblbase W -46 +KPX quotedblbase Y -80 +KPX quotedblleft A -66 +KPX quotedblleft AE -64 +KPX quotedblleft Aacute -66 +KPX quotedblleft Adieresis -66 +KPX quotedblleft Aring -66 +KPX quotedblleft T -28 +KPX quotedblleft V -20 +KPX quotedblleft W -15 +KPX quotedblleft Y -50 +KPX quotedblright A -81 +KPX quotedblright AE -79 +KPX quotedblright Aacute -81 +KPX quotedblright Adieresis -81 +KPX quotedblright Aring -81 +KPX quotedblright T -45 +KPX quotedblright V -35 +KPX quotedblright W -30 +KPX quotedblright Y -57 +KPX quoteleft A -90 +KPX quoteleft AE -88 +KPX quoteleft Aacute -90 +KPX quoteleft Adieresis -90 +KPX quoteleft Aring -90 +KPX quoteleft T -52 +KPX quoteleft V -45 +KPX quoteleft W -40 +KPX quoteleft Y -74 +KPX quoteright A -160 +KPX quoteright AE -158 +KPX quoteright Aacute -160 +KPX quoteright Adieresis -160 +KPX quoteright Aring -160 +KPX quoteright comma -234 +KPX quoteright d -146 +KPX quoteright o -148 +KPX quoteright period -251 +KPX quoteright r -155 +KPX quoteright s -154 +KPX quoteright t -121 +KPX quoteright v -114 +KPX quoteright w -109 +KPX quoteright y -120 +KPX r a -22 +KPX r aacute -22 +KPX r acircumflex -22 +KPX r adieresis -22 +KPX r ae 0 +KPX r agrave -22 +KPX r aring -22 +KPX r c -23 +KPX r ccedilla -18 +KPX r colon -100 +KPX r comma -112 +KPX r d -13 +KPX r e -11 +KPX r eacute -11 +KPX r ecircumflex -11 +KPX r egrave -11 +KPX r f -20 +KPX r g -9 +KPX r h -23 +KPX r hyphen -48 +KPX r i -30 +KPX r j -38 +KPX r k -33 +KPX r l -50 +KPX r m 31 +KPX r n 5 +KPX r o -16 +KPX r oacute -16 +KPX r ocircumflex -16 +KPX r odieresis -16 +KPX r oe 15 +KPX r ograve -16 +KPX r oslash -16 +KPX r p 25 +KPX r period -126 +KPX r q -8 +KPX r quoteright -45 +KPX r r -17 +KPX r s -25 +KPX r semicolon -88 +KPX r t 15 +KPX r u 15 +KPX r v 22 +KPX r w 21 +KPX r x 2 +KPX r y 10 +KPX r z -24 +KPX s quoteright -62 +KPX s t -14 +KPX seven colon -162 +KPX seven comma -160 +KPX seven eight -79 +KPX seven five -87 +KPX seven four -105 +KPX seven one -72 +KPX seven period -179 +KPX seven seven -69 +KPX seven six -98 +KPX seven three -78 +KPX seven two -70 +KPX six four -54 +KPX six one -60 +KPX six seven -55 +KPX t S -40 +KPX t a -21 +KPX t aacute -21 +KPX t adieresis -21 +KPX t ae 4 +KPX t aring -21 +KPX t colon -121 +KPX t e -30 +KPX t eacute -30 +KPX t h -8 +KPX t o -36 +KPX t oacute -36 +KPX t odieresis -36 +KPX t quoteright -102 +KPX t semicolon -107 +KPX three four -58 +KPX three one -79 +KPX three seven -74 +KPX two four -75 +KPX two one -73 +KPX two seven -78 +KPX u quoteright -58 +KPX v a -7 +KPX v aacute -7 +KPX v acircumflex -7 +KPX v adieresis -7 +KPX v ae 15 +KPX v agrave -7 +KPX v aring -7 +KPX v atilde -7 +KPX v c -17 +KPX v colon -86 +KPX v comma -139 +KPX v e -6 +KPX v eacute -6 +KPX v ecircumflex -6 +KPX v egrave -6 +KPX v g -2 +KPX v hyphen -28 +KPX v l -79 +KPX v o -11 +KPX v oacute -11 +KPX v odieresis -11 +KPX v ograve -11 +KPX v oslash -10 +KPX v period -159 +KPX v s -15 +KPX v semicolon -74 +KPX w a -6 +KPX w aacute -7 +KPX w acircumflex -6 +KPX w adieresis -6 +KPX w ae 22 +KPX w agrave -6 +KPX w aring -6 +KPX w atilde -6 +KPX w c -8 +KPX w colon -86 +KPX w comma -93 +KPX w e 0 +KPX w eacute 0 +KPX w ecircumflex 0 +KPX w egrave 0 +KPX w g 2 +KPX w hyphen -1 +KPX w l -51 +KPX w o -4 +KPX w oacute -4 +KPX w odieresis -4 +KPX w ograve -4 +KPX w oslash 0 +KPX w period -112 +KPX w s -13 +KPX w semicolon -74 +KPX x a -1 +KPX x c -16 +KPX x e -7 +KPX x eacute -7 +KPX x o -12 +KPX x q -9 +KPX y a -17 +KPX y aacute -18 +KPX y acircumflex -17 +KPX y adieresis -17 +KPX y ae 4 +KPX y agrave -17 +KPX y aring -17 +KPX y atilde -17 +KPX y c -25 +KPX y colon -96 +KPX y comma -137 +KPX y e -14 +KPX y eacute -14 +KPX y ecircumflex -14 +KPX y egrave -14 +KPX y g -11 +KPX y hyphen -23 +KPX y l -79 +KPX y o -20 +KPX y oacute -20 +KPX y odieresis -20 +KPX y ograve -20 +KPX y oslash -19 +KPX y period -158 +KPX y s -24 +KPX y semicolon -84 +KPX zero four -65 +KPX zero one -81 +KPX zero seven -79 +EndKernPairs +EndKernData +EndFontMetrics diff --git a/Master/xemtex/gsfonts/n022024l.pfb b/Master/xemtex/gsfonts/n022024l.pfb new file mode 100644 index 00000000000..45318af7251 Binary files /dev/null and b/Master/xemtex/gsfonts/n022024l.pfb differ diff --git a/Master/xemtex/gsfonts/n022024l.pfm b/Master/xemtex/gsfonts/n022024l.pfm new file mode 100644 index 00000000000..0ab6fa91ceb Binary files /dev/null and b/Master/xemtex/gsfonts/n022024l.pfm differ diff --git a/Master/xemtex/gsfonts/p052003l.afm b/Master/xemtex/gsfonts/p052003l.afm new file mode 100644 index 00000000000..4958d750df7 --- /dev/null +++ b/Master/xemtex/gsfonts/p052003l.afm @@ -0,0 +1,1341 @@ +StartFontMetrics 3.0 +Comment Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development +Comment Creation Date: 12/22/1999 +Comment See the file PUBLIC (Aladdin Free Public License) for license conditions. +FontName URWPalladioL-Roma +FullName URW Palladio L Roman +FamilyName URW Palladio L +Weight Roman +ItalicAngle 0.0 +IsFixedPitch false +UnderlinePosition -100 +UnderlineThickness 50 +Version 1.05 +Notice (URW)++,Copyright 1999 by (URW)++ Design & Development +EncodingScheme AdobeStandardEncoding +FontBBox -166 -283 1021 943 +CapHeight 692 +XHeight 469 +Descender -281 +Ascender 726 +StartCharMetrics 316 +C 32 ; WX 250 ; N space ; B 125 0 125 0 ; +C 33 ; WX 278 ; N exclam ; B 81 -5 197 694 ; +C 34 ; WX 371 ; N quotedbl ; B 52 469 319 709 ; +C 35 ; WX 500 ; N numbersign ; B 4 0 495 684 ; +C 36 ; WX 500 ; N dollar ; B 30 -116 471 731 ; +C 37 ; WX 840 ; N percent ; B 39 -20 802 709 ; +C 38 ; WX 778 ; N ampersand ; B 43 -20 753 689 ; +C 39 ; WX 278 ; N quoteright ; B 45 446 233 709 ; +C 40 ; WX 333 ; N parenleft ; B 60 -215 301 726 ; +C 41 ; WX 333 ; N parenright ; B 32 -215 273 726 ; +C 42 ; WX 389 ; N asterisk ; B 32 342 359 689 ; +C 43 ; WX 606 ; N plus ; B 51 7 555 512 ; +C 44 ; WX 250 ; N comma ; B 16 -155 218 123 ; +C 45 ; WX 333 ; N hyphen ; B 17 215 312 287 ; +C 46 ; WX 250 ; N period ; B 67 -5 183 111 ; +C 47 ; WX 606 ; N slash ; B 87 -119 519 726 ; +C 48 ; WX 500 ; N zero ; B 29 -20 465 689 ; +C 49 ; WX 500 ; N one ; B 60 -3 418 694 ; +C 50 ; WX 500 ; N two ; B 16 -3 468 689 ; +C 51 ; WX 500 ; N three ; B 15 -20 462 689 ; +C 52 ; WX 500 ; N four ; B 2 -3 472 694 ; +C 53 ; WX 500 ; N five ; B 13 -20 459 689 ; +C 54 ; WX 500 ; N six ; B 32 -20 468 689 ; +C 55 ; WX 500 ; N seven ; B 44 -3 497 689 ; +C 56 ; WX 500 ; N eight ; B 30 -20 464 689 ; +C 57 ; WX 500 ; N nine ; B 20 -20 457 689 ; +C 58 ; WX 250 ; N colon ; B 66 -5 182 456 ; +C 59 ; WX 250 ; N semicolon ; B 16 -153 218 456 ; +C 60 ; WX 606 ; N less ; B 57 -2 558 524 ; +C 61 ; WX 606 ; N equal ; B 51 136 555 386 ; +C 62 ; WX 606 ; N greater ; B 48 -2 549 524 ; +C 63 ; WX 444 ; N question ; B 43 -5 395 694 ; +C 64 ; WX 747 ; N at ; B 24 -20 724 694 ; +C 65 ; WX 778 ; N A ; B 15 -3 756 700 ; +C 66 ; WX 611 ; N B ; B 26 -3 576 692 ; +C 67 ; WX 709 ; N C ; B 22 -20 670 709 ; +C 68 ; WX 774 ; N D ; B 22 -3 751 692 ; +C 69 ; WX 611 ; N E ; B 22 -3 572 692 ; +C 70 ; WX 556 ; N F ; B 22 -3 536 692 ; +C 71 ; WX 763 ; N G ; B 22 -20 728 709 ; +C 72 ; WX 832 ; N H ; B 22 -3 810 692 ; +C 73 ; WX 337 ; N I ; B 22 -3 315 692 ; +C 74 ; WX 333 ; N J ; B -15 -200 311 692 ; +C 75 ; WX 726 ; N K ; B 22 -3 719 692 ; +C 76 ; WX 611 ; N L ; B 22 -3 586 692 ; +C 77 ; WX 946 ; N M ; B 16 -13 926 692 ; +C 78 ; WX 831 ; N N ; B 17 -20 813 692 ; +C 79 ; WX 786 ; N O ; B 22 -20 764 709 ; +C 80 ; WX 604 ; N P ; B 22 -3 580 692 ; +C 81 ; WX 786 ; N Q ; B 22 -176 764 709 ; +C 82 ; WX 668 ; N R ; B 22 -3 669 692 ; +C 83 ; WX 525 ; N S ; B 24 -20 503 709 ; +C 84 ; WX 613 ; N T ; B 18 -3 595 692 ; +C 85 ; WX 778 ; N U ; B 12 -20 759 692 ; +C 86 ; WX 722 ; N V ; B 8 -9 706 692 ; +C 87 ; WX 1000 ; N W ; B 8 -9 984 700 ; +C 88 ; WX 667 ; N X ; B 14 -3 648 700 ; +C 89 ; WX 667 ; N Y ; B 9 -3 654 706 ; +C 90 ; WX 667 ; N Z ; B 15 -3 638 692 ; +C 91 ; WX 333 ; N bracketleft ; B 79 -184 288 726 ; +C 92 ; WX 606 ; N backslash ; B 81 0 512 726 ; +C 93 ; WX 333 ; N bracketright ; B 45 -184 254 726 ; +C 94 ; WX 606 ; N asciicircum ; B 51 283 554 689 ; +C 95 ; WX 500 ; N underscore ; B 0 -125 500 -75 ; +C 96 ; WX 278 ; N quoteleft ; B 45 446 233 709 ; +C 97 ; WX 500 ; N a ; B 32 -12 471 469 ; +C 98 ; WX 553 ; N b ; B -15 -12 508 726 ; +C 99 ; WX 444 ; N c ; B 26 -20 413 469 ; +C 100 ; WX 611 ; N d ; B 35 -12 579 726 ; +C 101 ; WX 479 ; N e ; B 26 -20 448 469 ; +C 102 ; WX 333 ; N f ; B 23 -3 341 728 ; +C 103 ; WX 556 ; N g ; B 32 -283 544 469 ; +C 104 ; WX 582 ; N h ; B 6 -3 572 726 ; +C 105 ; WX 291 ; N i ; B 21 -3 271 687 ; +C 106 ; WX 234 ; N j ; B -40 -283 167 688 ; +C 107 ; WX 556 ; N k ; B 21 -12 549 726 ; +C 108 ; WX 291 ; N l ; B 21 -3 271 726 ; +C 109 ; WX 883 ; N m ; B 16 -3 869 469 ; +C 110 ; WX 582 ; N n ; B 6 -3 572 469 ; +C 111 ; WX 546 ; N o ; B 32 -20 514 469 ; +C 112 ; WX 601 ; N p ; B 8 -281 554 469 ; +C 113 ; WX 560 ; N q ; B 35 -281 560 469 ; +C 114 ; WX 395 ; N r ; B 21 -3 374 469 ; +C 115 ; WX 424 ; N s ; B 30 -20 391 469 ; +C 116 ; WX 326 ; N t ; B 22 -12 319 621 ; +C 117 ; WX 603 ; N u ; B 18 -12 581 469 ; +C 118 ; WX 565 ; N v ; B 6 -7 539 459 ; +C 119 ; WX 834 ; N w ; B 6 -7 808 469 ; +C 120 ; WX 516 ; N x ; B 20 -3 496 469 ; +C 121 ; WX 556 ; N y ; B 12 -283 544 459 ; +C 122 ; WX 500 ; N z ; B 16 -3 466 462 ; +C 123 ; WX 333 ; N braceleft ; B 58 -175 289 726 ; +C 124 ; WX 606 ; N bar ; B 275 0 331 726 ; +C 125 ; WX 333 ; N braceright ; B 44 -175 275 726 ; +C 126 ; WX 606 ; N asciitilde ; B 51 182 555 341 ; +C 161 ; WX 278 ; N exclamdown ; B 81 -225 197 469 ; +C 162 ; WX 500 ; N cent ; B 61 -101 448 562 ; +C 163 ; WX 500 ; N sterling ; B 12 -13 478 694 ; +C 164 ; WX 167 ; N fraction ; B -166 0 337 689 ; +C 165 ; WX 500 ; N yen ; B 5 -3 496 701 ; +C 166 ; WX 500 ; N florin ; B 0 -262 473 706 ; +C 167 ; WX 500 ; N section ; B 26 -219 465 709 ; +C 168 ; WX 500 ; N currency ; B 30 96 470 531 ; +C 169 ; WX 208 ; N quotesingle ; B 61 469 147 709 ; +C 170 ; WX 500 ; N quotedblleft ; B 51 446 449 709 ; +C 171 ; WX 500 ; N guillemotleft ; B 50 71 450 428 ; +C 172 ; WX 331 ; N guilsinglleft ; B 66 71 265 428 ; +C 173 ; WX 331 ; N guilsinglright ; B 66 71 265 428 ; +C 174 ; WX 605 ; N fi ; B 23 -3 587 728 ; +C 175 ; WX 608 ; N fl ; B 23 -3 590 728 ; +C 177 ; WX 500 ; N endash ; B 0 219 500 277 ; +C 178 ; WX 500 ; N dagger ; B 34 -5 466 694 ; +C 179 ; WX 500 ; N daggerdbl ; B 34 -249 466 694 ; +C 180 ; WX 250 ; N periodcentered ; B 67 203 183 319 ; +C 182 ; WX 628 ; N paragraph ; B 39 -150 589 695 ; +C 183 ; WX 606 ; N bullet ; B 131 172 475 516 ; +C 184 ; WX 278 ; N quotesinglbase ; B 22 -153 210 110 ; +C 185 ; WX 500 ; N quotedblbase ; B 51 -153 449 110 ; +C 186 ; WX 500 ; N quotedblright ; B 51 446 449 709 ; +C 187 ; WX 500 ; N guillemotright ; B 50 71 450 428 ; +C 188 ; WX 1000 ; N ellipsis ; B 109 -5 891 111 ; +C 189 ; WX 1144 ; N perthousand ; B 123 -20 1021 709 ; +C 191 ; WX 444 ; N questiondown ; B 43 -231 395 469 ; +C 193 ; WX 333 ; N grave ; B 31 506 255 677 ; +C 194 ; WX 333 ; N acute ; B 78 506 302 677 ; +C 195 ; WX 333 ; N circumflex ; B 11 510 323 677 ; +C 196 ; WX 333 ; N tilde ; B 2 535 332 640 ; +C 197 ; WX 333 ; N macron ; B 11 538 323 591 ; +C 198 ; WX 333 ; N breve ; B 26 506 308 664 ; +C 199 ; WX 250 ; N dotaccent ; B 75 537 175 637 ; +C 200 ; WX 333 ; N dieresis ; B 17 537 316 637 ; +C 202 ; WX 333 ; N ring ; B 67 512 267 712 ; +C 203 ; WX 333 ; N cedilla ; B 96 -225 304 -10 ; +C 205 ; WX 380 ; N hungarumlaut ; B 3 506 377 687 ; +C 206 ; WX 313 ; N ogonek ; B 68 -145 245 0 ; +C 207 ; WX 333 ; N caron ; B 11 510 323 677 ; +C 208 ; WX 1000 ; N emdash ; B 0 219 1000 277 ; +C 225 ; WX 944 ; N AE ; B -10 -3 908 692 ; +C 227 ; WX 333 ; N ordfeminine ; B 24 422 310 709 ; +C 232 ; WX 611 ; N Lslash ; B 6 -3 586 692 ; +C 233 ; WX 833 ; N Oslash ; B 30 -20 797 709 ; +C 234 ; WX 998 ; N OE ; B 22 -20 962 709 ; +C 235 ; WX 333 ; N ordmasculine ; B 10 416 323 709 ; +C 241 ; WX 758 ; N ae ; B 30 -20 732 469 ; +C 245 ; WX 287 ; N dotlessi ; B 21 -3 271 469 ; +C 248 ; WX 291 ; N lslash ; B -14 -3 306 726 ; +C 249 ; WX 556 ; N oslash ; B 16 -23 530 474 ; +C 250 ; WX 827 ; N oe ; B 32 -20 800 469 ; +C 251 ; WX 556 ; N germandbls ; B 23 -9 519 731 ; +C -1 ; WX 778 ; N Udieresis ; B 12 -20 759 868 ; +C -1 ; WX 778 ; N Uacute ; B 12 -20 759 908 ; +C -1 ; WX 525 ; N Scedilla ; B 24 -225 503 709 ; +C -1 ; WX 613 ; N Tcaron ; B 18 -3 595 908 ; +C -1 ; WX 525 ; N Scaron ; B 24 -20 503 908 ; +C -1 ; WX 668 ; N Rcaron ; B 22 -3 669 908 ; +C -1 ; WX 668 ; N Racute ; B 22 -3 669 908 ; +C -1 ; WX 525 ; N Sacute ; B 24 -20 503 908 ; +C -1 ; WX 786 ; N Otilde ; B 22 -20 764 871 ; +C -1 ; WX 603 ; N ucircumflex ; B 18 -12 581 677 ; +C -1 ; WX 786 ; N Ohungarumlaut ; B 22 -20 764 918 ; +C -1 ; WX 778 ; N Uhungarumlaut ; B 12 -20 759 918 ; +C -1 ; WX 667 ; N Yacute ; B 9 -3 654 908 ; +C -1 ; WX 774 ; N Eth ; B 14 -3 751 692 ; +C -1 ; WX 774 ; N Dcroat ; B 14 -3 751 692 ; +C -1 ; WX 667 ; N Zacute ; B 15 -3 638 908 ; +C -1 ; WX 778 ; N Uring ; B 12 -20 759 943 ; +C -1 ; WX 556 ; N gbreve ; B 32 -283 544 664 ; +C -1 ; WX 479 ; N eogonek ; B 26 -145 461 469 ; +C -1 ; WX 479 ; N edotaccent ; B 26 -20 448 637 ; +C -1 ; WX 479 ; N ecaron ; B 26 -20 448 677 ; +C -1 ; WX 778 ; N Ugrave ; B 12 -20 759 908 ; +C -1 ; WX 604 ; N Thorn ; B 32 -3 574 692 ; +C -1 ; WX 479 ; N eacute ; B 26 -20 448 677 ; +C -1 ; WX 479 ; N edieresis ; B 26 -20 448 637 ; +C -1 ; WX 671 ; N dcaron ; B 35 -12 677 729 ; +C -1 ; WX 444 ; N ccedilla ; B 26 -225 413 469 ; +C -1 ; WX 444 ; N ccaron ; B 26 -20 418 677 ; +C -1 ; WX 444 ; N cacute ; B 26 -20 444 677 ; +C -1 ; WX 500 ; N aogonek ; B 32 -145 540 469 ; +C -1 ; WX 500 ; N aring ; B 32 -12 471 712 ; +C -1 ; WX 500 ; N atilde ; B 32 -12 471 640 ; +C -1 ; WX 500 ; N abreve ; B 32 -12 471 664 ; +C -1 ; WX 479 ; N egrave ; B 26 -20 448 677 ; +C -1 ; WX 500 ; N agrave ; B 32 -12 471 677 ; +C -1 ; WX 500 ; N aacute ; B 32 -12 471 677 ; +C -1 ; WX 500 ; N adieresis ; B 32 -12 471 637 ; +C -1 ; WX 778 ; N Uogonek ; B 12 -145 759 692 ; +C -1 ; WX 603 ; N ugrave ; B 18 -12 581 677 ; +C -1 ; WX 603 ; N uacute ; B 18 -12 581 677 ; +C -1 ; WX 603 ; N udieresis ; B 18 -12 581 637 ; +C -1 ; WX 375 ; N tcaron ; B 22 -12 381 696 ; +C -1 ; WX 424 ; N scommaaccent ; B 30 -274 391 469 ; +C -1 ; WX 667 ; N Zcaron ; B 15 -3 638 908 ; +C -1 ; WX 479 ; N ecircumflex ; B 26 -20 448 677 ; +C -1 ; WX 778 ; N Ucircumflex ; B 12 -20 759 908 ; +C -1 ; WX 500 ; N acircumflex ; B 32 -12 471 677 ; +C -1 ; WX 667 ; N Zdotaccent ; B 15 -3 638 868 ; +C -1 ; WX 424 ; N scaron ; B 30 -20 391 677 ; +C -1 ; WX 778 ; N Amacron ; B 15 -3 756 822 ; +C -1 ; WX 424 ; N sacute ; B 30 -20 391 677 ; +C -1 ; WX 613 ; N Tcommaaccent ; B 18 -274 595 692 ; +C -1 ; WX 667 ; N Ydieresis ; B 9 -3 654 868 ; +C -1 ; WX 601 ; N thorn ; B -2 -281 544 726 ; +C -1 ; WX 611 ; N Emacron ; B 22 -3 572 822 ; +C -1 ; WX 786 ; N Ograve ; B 22 -20 764 908 ; +C -1 ; WX 786 ; N Oacute ; B 22 -20 764 908 ; +C -1 ; WX 786 ; N Odieresis ; B 22 -20 764 868 ; +C -1 ; WX 831 ; N Ntilde ; B 17 -20 813 871 ; +C -1 ; WX 831 ; N Ncaron ; B 17 -20 813 908 ; +C -1 ; WX 831 ; N Nacute ; B 17 -20 813 908 ; +C -1 ; WX 611 ; N Lcaron ; B 22 -3 586 696 ; +C -1 ; WX 611 ; N Lacute ; B 22 -3 586 908 ; +C -1 ; WX 337 ; N Idotaccent ; B 22 -3 315 868 ; +C -1 ; WX 395 ; N racute ; B 21 -3 374 677 ; +C -1 ; WX 337 ; N Icircumflex ; B 13 -3 325 908 ; +C -1 ; WX 546 ; N ohungarumlaut ; B 32 -20 514 687 ; +C -1 ; WX 546 ; N otilde ; B 32 -20 514 640 ; +C -1 ; WX 500 ; N Euro ; B -38 -20 465 709 ; +C -1 ; WX 546 ; N ocircumflex ; B 32 -20 514 677 ; +C -1 ; WX 300 ; N onesuperior ; B 32 271 254 689 ; +C -1 ; WX 300 ; N twosuperior ; B 6 271 284 686 ; +C -1 ; WX 300 ; N threesuperior ; B 5 261 281 686 ; +C -1 ; WX 337 ; N Igrave ; B 22 -3 315 908 ; +C -1 ; WX 337 ; N Iacute ; B 22 -3 315 908 ; +C -1 ; WX 337 ; N Imacron ; B 13 -3 325 822 ; +C -1 ; WX 337 ; N Iogonek ; B 22 -145 337 692 ; +C -1 ; WX 337 ; N Idieresis ; B 19 -3 318 868 ; +C -1 ; WX 763 ; N Gbreve ; B 22 -20 728 895 ; +C -1 ; WX 778 ; N Umacron ; B 12 -20 759 822 ; +C -1 ; WX 726 ; N Kcommaaccent ; B 22 -274 719 692 ; +C -1 ; WX 546 ; N ograve ; B 32 -20 514 677 ; +C -1 ; WX 525 ; N Scommaaccent ; B 24 -274 503 709 ; +C -1 ; WX 611 ; N Eogonek ; B 22 -145 611 692 ; +C -1 ; WX 546 ; N oacute ; B 32 -20 514 677 ; +C -1 ; WX 611 ; N Edotaccent ; B 22 -3 572 868 ; +C -1 ; WX 291 ; N iogonek ; B 21 -145 331 687 ; +C -1 ; WX 556 ; N gcommaaccent ; B 32 -283 544 736 ; +C -1 ; WX 546 ; N odieresis ; B 32 -20 514 637 ; +C -1 ; WX 582 ; N ntilde ; B 6 -3 572 640 ; +C -1 ; WX 582 ; N ncaron ; B 6 -3 572 677 ; +C -1 ; WX 611 ; N Ecaron ; B 22 -3 572 908 ; +C -1 ; WX 611 ; N Ecircumflex ; B 22 -3 572 908 ; +C -1 ; WX 424 ; N scedilla ; B 30 -225 391 469 ; +C -1 ; WX 395 ; N rcaron ; B 21 -3 374 677 ; +C -1 ; WX 611 ; N Egrave ; B 22 -3 572 908 ; +C -1 ; WX 611 ; N Eacute ; B 22 -3 572 908 ; +C -1 ; WX 763 ; N Gcommaaccent ; B 22 -274 728 709 ; +C -1 ; WX 668 ; N Rcommaaccent ; B 22 -274 669 692 ; +C -1 ; WX 611 ; N Edieresis ; B 22 -3 572 868 ; +C -1 ; WX 582 ; N nacute ; B 6 -3 572 677 ; +C -1 ; WX 603 ; N uogonek ; B 18 -145 643 469 ; +C -1 ; WX 603 ; N umacron ; B 18 -12 581 591 ; +C -1 ; WX 774 ; N Dcaron ; B 22 -3 751 908 ; +C -1 ; WX 375 ; N lcaron ; B 21 -3 381 729 ; +C -1 ; WX 709 ; N Ccaron ; B 22 -20 670 908 ; +C -1 ; WX 709 ; N Cacute ; B 22 -20 670 908 ; +C -1 ; WX 709 ; N Ccedilla ; B 22 -225 670 709 ; +C -1 ; WX 400 ; N degree ; B 50 389 350 689 ; +C -1 ; WX 778 ; N Aogonek ; B 15 -145 778 700 ; +C -1 ; WX 606 ; N minus ; B 51 233 555 289 ; +C -1 ; WX 606 ; N multiply ; B 83 36 523 474 ; +C -1 ; WX 606 ; N divide ; B 51 10 555 512 ; +C -1 ; WX 778 ; N Aring ; B 15 -3 756 943 ; +C -1 ; WX 979 ; N trademark ; B 40 285 939 689 ; +C -1 ; WX 395 ; N rcommaaccent ; B 21 -274 374 469 ; +C -1 ; WX 291 ; N lacute ; B 21 -3 281 908 ; +C -1 ; WX 546 ; N omacron ; B 32 -20 514 591 ; +C -1 ; WX 778 ; N Atilde ; B 15 -3 756 871 ; +C -1 ; WX 287 ; N icircumflex ; B -12 -3 300 677 ; +C -1 ; WX 287 ; N igrave ; B 8 -3 271 677 ; +C -1 ; WX 582 ; N ncommaaccent ; B 6 -274 572 469 ; +C -1 ; WX 291 ; N lcommaaccent ; B 21 -274 271 726 ; +C -1 ; WX 606 ; N plusminus ; B 51 0 555 512 ; +C -1 ; WX 750 ; N onehalf ; B 15 -3 735 692 ; +C -1 ; WX 750 ; N onequarter ; B 30 -3 727 692 ; +C -1 ; WX 750 ; N threequarters ; B 15 -3 735 689 ; +C -1 ; WX 287 ; N iacute ; B 21 -3 279 677 ; +C -1 ; WX 778 ; N Abreve ; B 15 -3 756 895 ; +C -1 ; WX 556 ; N kcommaaccent ; B 21 -274 549 726 ; +C -1 ; WX 786 ; N Omacron ; B 22 -20 764 822 ; +C -1 ; WX 287 ; N imacron ; B -12 -3 300 591 ; +C -1 ; WX 479 ; N emacron ; B 26 -20 448 591 ; +C -1 ; WX 500 ; N amacron ; B 32 -12 471 591 ; +C -1 ; WX 326 ; N tcommaaccent ; B 22 -274 319 621 ; +C -1 ; WX 556 ; N ydieresis ; B 12 -283 544 637 ; +C -1 ; WX 500 ; N zdotaccent ; B 16 -3 466 637 ; +C -1 ; WX 500 ; N zcaron ; B 16 -3 466 677 ; +C -1 ; WX 500 ; N zacute ; B 16 -3 466 677 ; +C -1 ; WX 556 ; N yacute ; B 12 -283 544 677 ; +C -1 ; WX 603 ; N uhungarumlaut ; B 18 -12 581 687 ; +C -1 ; WX 546 ; N eth ; B 32 -20 504 728 ; +C -1 ; WX 603 ; N uring ; B 18 -12 581 712 ; +C -1 ; WX 786 ; N Ocircumflex ; B 22 -20 764 908 ; +C -1 ; WX 333 ; N commaaccent ; B 54 -274 223 -37 ; +C -1 ; WX 747 ; N copyright ; B 11 -18 736 706 ; +C -1 ; WX 747 ; N registered ; B 11 -18 736 706 ; +C -1 ; WX 778 ; N Acircumflex ; B 15 -3 756 908 ; +C -1 ; WX 287 ; N idieresis ; B -6 -3 293 657 ; +C -1 ; WX 494 ; N lozenge ; B 18 0 466 740 ; +C -1 ; WX 612 ; N Delta ; B 6 0 608 688 ; +C -1 ; WX 606 ; N notequal ; B 51 -25 555 549 ; +C -1 ; WX 549 ; N radical ; B 5 -48 520 918 ; +C -1 ; WX 778 ; N Agrave ; B 15 -3 756 908 ; +C -1 ; WX 778 ; N Aacute ; B 15 -3 756 908 ; +C -1 ; WX 606 ; N lessequal ; B 57 0 558 613 ; +C -1 ; WX 606 ; N greaterequal ; B 48 0 549 613 ; +C -1 ; WX 606 ; N logicalnot ; B 51 120 551 386 ; +C -1 ; WX 713 ; N summation ; B 14 -123 695 752 ; +C -1 ; WX 494 ; N partialdiff ; B 26 -10 462 753 ; +C -1 ; WX 831 ; N Ncommaaccent ; B 17 -274 813 692 ; +C -1 ; WX 611 ; N dcroat ; B 35 -12 579 726 ; +C -1 ; WX 606 ; N brokenbar ; B 275 0 331 726 ; +C -1 ; WX 611 ; N Lcommaaccent ; B 22 -274 586 692 ; +C -1 ; WX 778 ; N Adieresis ; B 15 -3 756 868 ; +C -1 ; WX 603 ; N mu ; B 18 -236 581 469 ; +C -1 ; WX 250 ; N .notdef ; B 125 0 125 0 ; +EndCharMetrics +StartKernData +StartKernPairs 998 +KPX A C -72 +KPX A Ccedilla -75 +KPX A G -70 +KPX A O -69 +KPX A Odieresis -69 +KPX A Q -67 +KPX A T -69 +KPX A U -74 +KPX A Uacute -74 +KPX A Ucircumflex -74 +KPX A Udieresis -74 +KPX A Ugrave -74 +KPX A V -140 +KPX A W -98 +KPX A Y -89 +KPX A a -11 +KPX A b -13 +KPX A c -33 +KPX A ccedilla -39 +KPX A comma -33 +KPX A d -34 +KPX A e -30 +KPX A g -26 +KPX A guillemotleft -84 +KPX A guilsinglleft -92 +KPX A hyphen -37 +KPX A o -36 +KPX A period -24 +KPX A q -34 +KPX A quotedblright -123 +KPX A quoteright -120 +KPX A t -38 +KPX A u -45 +KPX A v -87 +KPX A w -78 +KPX A y -88 +KPX Aacute C -72 +KPX Aacute G -70 +KPX Aacute O -69 +KPX Aacute Q -67 +KPX Aacute T -69 +KPX Aacute U -74 +KPX Aacute V -140 +KPX Aacute W -98 +KPX Aacute Y -89 +KPX Aacute a -11 +KPX Aacute b -13 +KPX Aacute c -33 +KPX Aacute comma -33 +KPX Aacute d -34 +KPX Aacute e -30 +KPX Aacute g -26 +KPX Aacute guillemotleft -84 +KPX Aacute guilsinglleft -92 +KPX Aacute hyphen -37 +KPX Aacute o -36 +KPX Aacute period -24 +KPX Aacute q -34 +KPX Aacute quoteright -120 +KPX Aacute t -38 +KPX Aacute u -45 +KPX Aacute v -87 +KPX Aacute w -78 +KPX Aacute y -88 +KPX Acircumflex C -72 +KPX Acircumflex G -70 +KPX Acircumflex O -69 +KPX Acircumflex Q -67 +KPX Acircumflex T -69 +KPX Acircumflex U -74 +KPX Acircumflex V -140 +KPX Acircumflex W -98 +KPX Acircumflex Y -89 +KPX Acircumflex comma -33 +KPX Acircumflex period -24 +KPX Adieresis C -72 +KPX Adieresis G -70 +KPX Adieresis O -69 +KPX Adieresis Q -67 +KPX Adieresis T -69 +KPX Adieresis U -74 +KPX Adieresis V -140 +KPX Adieresis W -98 +KPX Adieresis Y -89 +KPX Adieresis a -11 +KPX Adieresis b -13 +KPX Adieresis c -33 +KPX Adieresis comma -33 +KPX Adieresis d -34 +KPX Adieresis g -26 +KPX Adieresis guillemotleft -84 +KPX Adieresis guilsinglleft -92 +KPX Adieresis hyphen -37 +KPX Adieresis o -36 +KPX Adieresis period -24 +KPX Adieresis q -34 +KPX Adieresis quotedblright -123 +KPX Adieresis quoteright -120 +KPX Adieresis t -38 +KPX Adieresis u -45 +KPX Adieresis v -87 +KPX Adieresis w -78 +KPX Adieresis y -88 +KPX Agrave C -72 +KPX Agrave G -70 +KPX Agrave O -69 +KPX Agrave Q -67 +KPX Agrave T -69 +KPX Agrave U -74 +KPX Agrave V -140 +KPX Agrave W -98 +KPX Agrave Y -89 +KPX Agrave comma -33 +KPX Agrave period -24 +KPX Aring C -72 +KPX Aring G -70 +KPX Aring O -69 +KPX Aring Q -67 +KPX Aring T -69 +KPX Aring U -74 +KPX Aring V -140 +KPX Aring W -98 +KPX Aring Y -89 +KPX Aring a -11 +KPX Aring b -13 +KPX Aring c -33 +KPX Aring comma -33 +KPX Aring d -34 +KPX Aring e -30 +KPX Aring g -26 +KPX Aring guillemotleft -84 +KPX Aring guilsinglleft -92 +KPX Aring hyphen -37 +KPX Aring o -36 +KPX Aring period -24 +KPX Aring q -34 +KPX Aring quotedblright -123 +KPX Aring quoteright -120 +KPX Aring t -38 +KPX Aring u -45 +KPX Aring v -87 +KPX Aring w -78 +KPX Aring y -88 +KPX Atilde C -72 +KPX Atilde G -70 +KPX Atilde O -69 +KPX Atilde Q -67 +KPX Atilde T -69 +KPX Atilde U -74 +KPX Atilde V -140 +KPX Atilde W -98 +KPX Atilde Y -89 +KPX Atilde comma -33 +KPX Atilde period -24 +KPX B A -51 +KPX B AE -38 +KPX B Aacute -51 +KPX B Acircumflex -51 +KPX B Adieresis -51 +KPX B Aring -51 +KPX B Atilde -51 +KPX B O -8 +KPX B OE -8 +KPX B Oacute -8 +KPX B Ocircumflex -8 +KPX B Odieresis -8 +KPX B Ograve -8 +KPX B Oslash -15 +KPX B V -37 +KPX B W -37 +KPX B Y -33 +KPX C A -17 +KPX C AE -5 +KPX C Aacute -17 +KPX C Adieresis -17 +KPX C Aring -17 +KPX C H -11 +KPX C K -11 +KPX C O -39 +KPX C Oacute -39 +KPX C Odieresis -39 +KPX Ccedilla A -22 +KPX D A -82 +KPX D Aacute -82 +KPX D Acircumflex -82 +KPX D Adieresis -82 +KPX D Agrave -82 +KPX D Aring -82 +KPX D Atilde -82 +KPX D J -31 +KPX D T -18 +KPX D V -60 +KPX D W -46 +KPX D X -63 +KPX D Y -56 +KPX F A -95 +KPX F Aacute -95 +KPX F Acircumflex -95 +KPX F Adieresis -95 +KPX F Agrave -95 +KPX F Aring -95 +KPX F Atilde -95 +KPX F J 2 +KPX F O -18 +KPX F Odieresis -18 +KPX F a -40 +KPX F aacute -42 +KPX F adieresis -36 +KPX F ae -41 +KPX F aring -42 +KPX F comma -80 +KPX F e -23 +KPX F eacute -23 +KPX F hyphen 6 +KPX F i -22 +KPX F j -8 +KPX F o -26 +KPX F oacute -26 +KPX F odieresis -26 +KPX F oe -26 +KPX F oslash -29 +KPX F period -65 +KPX F r -22 +KPX F u -20 +KPX G A -23 +KPX G AE -10 +KPX G Aacute -23 +KPX G Acircumflex -23 +KPX G Adieresis -23 +KPX G Agrave -23 +KPX G Aring -23 +KPX G Atilde -23 +KPX G T -23 +KPX G V -17 +KPX G W -17 +KPX G Y -18 +KPX J A -47 +KPX J AE -35 +KPX J Adieresis -47 +KPX J Aring -47 +KPX K C -64 +KPX K G -63 +KPX K O -61 +KPX K OE -61 +KPX K Oacute -61 +KPX K Odieresis -61 +KPX K S 3 +KPX K T -4 +KPX K a -4 +KPX K adieresis -4 +KPX K ae 0 +KPX K aring -4 +KPX K e -23 +KPX K hyphen -77 +KPX K o -29 +KPX K oacute -29 +KPX K odieresis -29 +KPX K u -37 +KPX K udieresis -37 +KPX K y -89 +KPX L A -6 +KPX L AE 6 +KPX L Aacute -6 +KPX L Adieresis -6 +KPX L Aring -6 +KPX L C -19 +KPX L Ccedilla -21 +KPX L G -19 +KPX L O -18 +KPX L Oacute -18 +KPX L Ocircumflex -18 +KPX L Odieresis -18 +KPX L Ograve -18 +KPX L Otilde -18 +KPX L S -9 +KPX L T -78 +KPX L U -47 +KPX L Udieresis -47 +KPX L V -124 +KPX L W -83 +KPX L Y -98 +KPX L hyphen 2 +KPX L quotedblright -128 +KPX L quoteright -125 +KPX L u -35 +KPX L udieresis -35 +KPX L y -62 +KPX N A -41 +KPX N AE -29 +KPX N Aacute -41 +KPX N Adieresis -41 +KPX N Aring -41 +KPX N C -29 +KPX N Ccedilla -28 +KPX N G -29 +KPX N O -27 +KPX N Oacute -27 +KPX N Odieresis -27 +KPX N a -32 +KPX N aacute -33 +KPX N adieresis -33 +KPX N ae -33 +KPX N aring -33 +KPX N comma -45 +KPX N e -24 +KPX N eacute -24 +KPX N o -28 +KPX N oacute -28 +KPX N odieresis -28 +KPX N oslash -27 +KPX N period -32 +KPX N u -38 +KPX N udieresis -38 +KPX O A -76 +KPX O AE -63 +KPX O Aacute -76 +KPX O Adieresis -76 +KPX O Aring -76 +KPX O T -17 +KPX O V -56 +KPX O W -44 +KPX O X -59 +KPX O Y -52 +KPX Oacute A -76 +KPX Oacute T -17 +KPX Oacute V -56 +KPX Oacute W -44 +KPX Oacute Y -52 +KPX Ocircumflex T -17 +KPX Ocircumflex V -56 +KPX Ocircumflex Y -52 +KPX Odieresis A -76 +KPX Odieresis T -17 +KPX Odieresis V -56 +KPX Odieresis W -44 +KPX Odieresis X -59 +KPX Odieresis Y -52 +KPX Ograve T -17 +KPX Ograve V -56 +KPX Ograve Y -52 +KPX Oslash A -88 +KPX Otilde T -17 +KPX Otilde V -56 +KPX Otilde Y -52 +KPX P A -124 +KPX P AE -117 +KPX P Aacute -124 +KPX P Adieresis -124 +KPX P Aring -124 +KPX P J -27 +KPX P a -41 +KPX P aacute -41 +KPX P adieresis -33 +KPX P ae -42 +KPX P aring -41 +KPX P comma -142 +KPX P e -51 +KPX P eacute -51 +KPX P hyphen -50 +KPX P o -54 +KPX P oacute -54 +KPX P odieresis -45 +KPX P oe -51 +KPX P oslash -58 +KPX P period -128 +KPX R C -41 +KPX R Ccedilla -41 +KPX R G -41 +KPX R O -40 +KPX R OE -40 +KPX R Oacute -40 +KPX R Odieresis -40 +KPX R T -36 +KPX R U -55 +KPX R Udieresis -55 +KPX R V -53 +KPX R W -53 +KPX R Y -49 +KPX R a 0 +KPX R aacute 0 +KPX R adieresis 0 +KPX R ae 3 +KPX R aring 0 +KPX R e -19 +KPX R eacute -19 +KPX R hyphen -51 +KPX R o -25 +KPX R oacute -25 +KPX R odieresis -25 +KPX R oe -27 +KPX R u -33 +KPX R uacute -33 +KPX R udieresis -33 +KPX R y -36 +KPX S A -42 +KPX S AE -30 +KPX S Aacute -42 +KPX S Adieresis -42 +KPX S Aring -42 +KPX S T -19 +KPX S V -14 +KPX S W -14 +KPX S Y -14 +KPX S t -18 +KPX T A -65 +KPX T AE -53 +KPX T Aacute -65 +KPX T Acircumflex -65 +KPX T Adieresis -65 +KPX T Agrave -65 +KPX T Aring -65 +KPX T Atilde -65 +KPX T C -24 +KPX T G -24 +KPX T J 3 +KPX T O -22 +KPX T OE -23 +KPX T Oacute -22 +KPX T Ocircumflex -22 +KPX T Odieresis -22 +KPX T Ograve -22 +KPX T Oslash -33 +KPX T Otilde -22 +KPX T S -4 +KPX T V 9 +KPX T W 9 +KPX T Y 8 +KPX T a -80 +KPX T ae -77 +KPX T c -97 +KPX T colon -94 +KPX T comma -102 +KPX T e -94 +KPX T g -95 +KPX T guillemotleft -126 +KPX T guilsinglleft -134 +KPX T hyphen -77 +KPX T i -26 +KPX T j -11 +KPX T o -98 +KPX T oslash -63 +KPX T period -92 +KPX T r -63 +KPX T s -68 +KPX T semicolon -101 +KPX T u -110 +KPX T v -105 +KPX T w -105 +KPX T y -108 +KPX U A -80 +KPX U AE -68 +KPX U Aacute -80 +KPX U Acircumflex -80 +KPX U Adieresis -80 +KPX U Aring -80 +KPX U Atilde -80 +KPX U comma -66 +KPX U m -39 +KPX U n -33 +KPX U p -35 +KPX U period -49 +KPX U r -41 +KPX Uacute A -80 +KPX Uacute comma -66 +KPX Uacute m -39 +KPX Uacute n -33 +KPX Uacute p -35 +KPX Uacute period -49 +KPX Uacute r -41 +KPX Ucircumflex A -80 +KPX Udieresis A -80 +KPX Udieresis b 24 +KPX Udieresis comma -66 +KPX Udieresis m -39 +KPX Udieresis n -33 +KPX Udieresis p -35 +KPX Udieresis period -49 +KPX Udieresis r -41 +KPX Ugrave A -80 +KPX V A -142 +KPX V AE -129 +KPX V Aacute -142 +KPX V Acircumflex -142 +KPX V Adieresis -142 +KPX V Agrave -142 +KPX V Aring -142 +KPX V Atilde -142 +KPX V C -70 +KPX V G -70 +KPX V O -68 +KPX V Oacute -68 +KPX V Ocircumflex -68 +KPX V Odieresis -68 +KPX V Ograve -68 +KPX V Oslash -74 +KPX V Otilde -68 +KPX V S -35 +KPX V T 5 +KPX V a -94 +KPX V ae -95 +KPX V colon -93 +KPX V comma -136 +KPX V e -89 +KPX V g -101 +KPX V guillemotleft -115 +KPX V guilsinglleft -123 +KPX V hyphen -66 +KPX V i -26 +KPX V o -92 +KPX V oslash -92 +KPX V period -121 +KPX V r -65 +KPX V semicolon -108 +KPX V u -63 +KPX V y -56 +KPX W A -113 +KPX W AE -100 +KPX W Aacute -113 +KPX W Acircumflex -113 +KPX W Adieresis -113 +KPX W Agrave -113 +KPX W Aring -113 +KPX W Atilde -113 +KPX W C -55 +KPX W G -55 +KPX W O -54 +KPX W Oacute -54 +KPX W Ocircumflex -54 +KPX W Odieresis -54 +KPX W Ograve -54 +KPX W Oslash -58 +KPX W Otilde -54 +KPX W S -35 +KPX W T 5 +KPX W a -75 +KPX W ae -76 +KPX W colon -82 +KPX W comma -105 +KPX W e -66 +KPX W g -82 +KPX W guillemotleft -93 +KPX W guilsinglleft -101 +KPX W hyphen -44 +KPX W i -26 +KPX W o -70 +KPX W oslash -69 +KPX W period -90 +KPX W r -55 +KPX W semicolon -97 +KPX W u -52 +KPX W y -47 +KPX X C -59 +KPX X O -57 +KPX X Odieresis -57 +KPX X Q -56 +KPX X a -10 +KPX X e -29 +KPX X hyphen -53 +KPX X o -35 +KPX X u -43 +KPX X y -95 +KPX Y A -72 +KPX Y AE -60 +KPX Y Aacute -72 +KPX Y Acircumflex -72 +KPX Y Adieresis -72 +KPX Y Agrave -72 +KPX Y Aring -72 +KPX Y Atilde -72 +KPX Y C -70 +KPX Y G -70 +KPX Y O -68 +KPX Y Oacute -68 +KPX Y Ocircumflex -68 +KPX Y Odieresis -68 +KPX Y Ograve -68 +KPX Y Oslash -74 +KPX Y Otilde -68 +KPX Y S -37 +KPX Y T 6 +KPX Y a -87 +KPX Y ae -84 +KPX Y colon -101 +KPX Y comma -109 +KPX Y e -92 +KPX Y g -102 +KPX Y guillemotleft -127 +KPX Y guilsinglleft -135 +KPX Y hyphen -83 +KPX Y i -27 +KPX Y o -95 +KPX Y oslash -70 +KPX Y p -75 +KPX Y period -99 +KPX Y semicolon -108 +KPX Y u -79 +KPX Y v -69 +KPX Z v -59 +KPX Z y -60 +KPX a j -20 +KPX a quoteright -33 +KPX a v -36 +KPX a w -36 +KPX a y -39 +KPX aacute v -36 +KPX aacute w -36 +KPX aacute y -39 +KPX adieresis v -36 +KPX adieresis w -36 +KPX adieresis y -39 +KPX ae v -10 +KPX ae w -10 +KPX ae y -13 +KPX agrave v -36 +KPX agrave w -36 +KPX agrave y -39 +KPX aring v -36 +KPX aring w -36 +KPX aring y -39 +KPX b v -28 +KPX b w -28 +KPX b y -31 +KPX c h 10 +KPX c k 3 +KPX comma one -49 +KPX comma quotedblright -25 +KPX comma quoteright -22 +KPX e quoteright -6 +KPX e t -3 +KPX e v -12 +KPX e w -12 +KPX e x -8 +KPX e y -15 +KPX eacute v -12 +KPX eacute w -12 +KPX eacute y -15 +KPX ecircumflex v -12 +KPX ecircumflex w -12 +KPX ecircumflex y -15 +KPX eight four 2 +KPX eight one -42 +KPX eight seven -27 +KPX f a -11 +KPX f aacute -11 +KPX f adieresis -11 +KPX f ae -10 +KPX f aring -11 +KPX f e -15 +KPX f eacute -15 +KPX f f 5 +KPX f i 14 +KPX f j 28 +KPX f l 24 +KPX f o -18 +KPX f oacute -18 +KPX f odieresis -18 +KPX f oe -15 +KPX f oslash -8 +KPX f quoteright -4 +KPX f s 0 +KPX f t 12 +KPX five four -2 +KPX five one -44 +KPX five seven -32 +KPX four four 6 +KPX four one -40 +KPX four seven -21 +KPX g a -13 +KPX g adieresis -13 +KPX g ae -14 +KPX g aring -13 +KPX g e -19 +KPX g eacute -19 +KPX g l -5 +KPX g oacute -23 +KPX g odieresis -23 +KPX g r 14 +KPX guillemotright A -86 +KPX guillemotright AE -79 +KPX guillemotright Aacute -86 +KPX guillemotright Adieresis -86 +KPX guillemotright Aring -86 +KPX guillemotright T -126 +KPX guillemotright V -115 +KPX guillemotright W -81 +KPX guillemotright Y -139 +KPX guilsinglright A -94 +KPX guilsinglright AE -87 +KPX guilsinglright Aacute -94 +KPX guilsinglright Adieresis -94 +KPX guilsinglright Aring -94 +KPX guilsinglright T -134 +KPX guilsinglright V -123 +KPX guilsinglright W -89 +KPX guilsinglright Y -147 +KPX h quoteright -33 +KPX h y -37 +KPX hyphen A -41 +KPX hyphen AE -35 +KPX hyphen Aacute -41 +KPX hyphen Adieresis -41 +KPX hyphen Aring -41 +KPX hyphen T -79 +KPX hyphen V -67 +KPX hyphen W -34 +KPX hyphen Y -97 +KPX i T -30 +KPX i j -15 +KPX k a 4 +KPX k aacute 4 +KPX k adieresis 4 +KPX k ae 7 +KPX k aring 4 +KPX k comma -21 +KPX k e -12 +KPX k eacute -12 +KPX k g -12 +KPX k hyphen -67 +KPX k o -19 +KPX k oacute -19 +KPX k odieresis -19 +KPX k period -10 +KPX k s 12 +KPX k u 0 +KPX k udieresis 0 +KPX l v -22 +KPX l y -25 +KPX m p -20 +KPX m v -39 +KPX m w -39 +KPX m y -42 +KPX n T -58 +KPX n p -18 +KPX n quoteright -30 +KPX n v -34 +KPX n w -34 +KPX n y -37 +KPX nine four -25 +KPX nine one -42 +KPX nine seven -23 +KPX o T -99 +KPX o quoteright -18 +KPX o t -13 +KPX o v -27 +KPX o w -27 +KPX o x -31 +KPX o y -30 +KPX oacute v -27 +KPX oacute w -27 +KPX oacute y -30 +KPX ocircumflex t -13 +KPX odieresis t -13 +KPX odieresis v -27 +KPX odieresis w -27 +KPX odieresis x -31 +KPX odieresis y -30 +KPX ograve v -27 +KPX ograve w -27 +KPX ograve y -30 +KPX one comma -63 +KPX one eight -60 +KPX one five -44 +KPX one four -79 +KPX one nine -50 +KPX one one -67 +KPX one period -54 +KPX one seven -48 +KPX one six -70 +KPX one three -42 +KPX one two -27 +KPX one zero -61 +KPX p t -19 +KPX p y -40 +KPX period one -61 +KPX period quotedblright -46 +KPX period quoteright -43 +KPX q c -10 +KPX q u -10 +KPX quotedblbase A -17 +KPX quotedblbase AE -4 +KPX quotedblbase T -88 +KPX quotedblbase V -112 +KPX quotedblbase W -67 +KPX quotedblbase Y -108 +KPX quotedblleft A -131 +KPX quotedblleft AE -135 +KPX quotedblleft Aacute -131 +KPX quotedblleft Adieresis -131 +KPX quotedblleft Aring -131 +KPX quotedblleft T -14 +KPX quotedblleft V -9 +KPX quotedblleft W -8 +KPX quotedblleft Y -9 +KPX quotedblright A -130 +KPX quotedblright AE -134 +KPX quotedblright Aacute -130 +KPX quotedblright Adieresis -130 +KPX quotedblright Aring -130 +KPX quotedblright T -13 +KPX quotedblright V -8 +KPX quotedblright W -7 +KPX quotedblright Y -9 +KPX quoteleft A -128 +KPX quoteleft AE -132 +KPX quoteleft Aacute -128 +KPX quoteleft Adieresis -128 +KPX quoteleft Aring -128 +KPX quoteleft T -11 +KPX quoteleft V -6 +KPX quoteleft W -5 +KPX quoteleft Y -6 +KPX quoteright A -127 +KPX quoteright AE -131 +KPX quoteright Aacute -127 +KPX quoteright Adieresis -127 +KPX quoteright Aring -127 +KPX quoteright comma -78 +KPX quoteright d -61 +KPX quoteright o -43 +KPX quoteright period -63 +KPX quoteright r -31 +KPX quoteright s -25 +KPX quoteright t -32 +KPX quoteright v -21 +KPX quoteright w -20 +KPX quoteright y -23 +KPX r a -16 +KPX r aacute -16 +KPX r acircumflex -16 +KPX r adieresis -16 +KPX r ae -15 +KPX r agrave -16 +KPX r aring -16 +KPX r c -10 +KPX r ccedilla -8 +KPX r colon -18 +KPX r comma -71 +KPX r d -14 +KPX r e -5 +KPX r eacute -5 +KPX r ecircumflex -5 +KPX r egrave -5 +KPX r f 1 +KPX r g -12 +KPX r h -22 +KPX r hyphen -30 +KPX r i 9 +KPX r j 23 +KPX r k -30 +KPX r l -30 +KPX r m 11 +KPX r n 17 +KPX r o -9 +KPX r oacute -9 +KPX r ocircumflex -9 +KPX r odieresis -9 +KPX r oe -8 +KPX r ograve -9 +KPX r oslash -12 +KPX r p 15 +KPX r period -62 +KPX r q -17 +KPX r quoteright 9 +KPX r r 9 +KPX r s -1 +KPX r semicolon -32 +KPX r t 8 +KPX r u 11 +KPX r v 18 +KPX r w 18 +KPX r x 11 +KPX r y 15 +KPX r z -12 +KPX s quoteright -16 +KPX s t -15 +KPX seven colon -74 +KPX seven comma -135 +KPX seven eight -29 +KPX seven five -19 +KPX seven four -86 +KPX seven one -23 +KPX seven period -121 +KPX seven seven -1 +KPX seven six -66 +KPX seven three -23 +KPX seven two -16 +KPX six four 4 +KPX six one -75 +KPX six seven -42 +KPX t S 8 +KPX t a 3 +KPX t aacute 3 +KPX t adieresis 3 +KPX t ae 5 +KPX t aring 3 +KPX t colon -10 +KPX t e -9 +KPX t eacute -9 +KPX t h 13 +KPX t o -13 +KPX t oacute -13 +KPX t odieresis -13 +KPX t quoteright -3 +KPX t semicolon -24 +KPX three four 1 +KPX three one -52 +KPX three seven -33 +KPX two four -39 +KPX two one -42 +KPX two seven -23 +KPX u quoteright -22 +KPX v a -32 +KPX v aacute -32 +KPX v acircumflex -32 +KPX v adieresis -32 +KPX v ae -36 +KPX v agrave -32 +KPX v aring -32 +KPX v atilde -32 +KPX v c -52 +KPX v colon -20 +KPX v comma -111 +KPX v e -42 +KPX v eacute -42 +KPX v ecircumflex -42 +KPX v egrave -42 +KPX v g -41 +KPX v hyphen -35 +KPX v l -33 +KPX v o -40 +KPX v oacute -40 +KPX v odieresis -40 +KPX v ograve -40 +KPX v oslash -45 +KPX v period -97 +KPX v s -17 +KPX v semicolon -35 +KPX w a -32 +KPX w aacute -32 +KPX w acircumflex -32 +KPX w adieresis -32 +KPX w ae -36 +KPX w agrave -32 +KPX w aring -32 +KPX w atilde -32 +KPX w c -49 +KPX w colon -20 +KPX w comma -103 +KPX w e -42 +KPX w eacute -42 +KPX w ecircumflex -42 +KPX w egrave -42 +KPX w g -41 +KPX w hyphen -31 +KPX w l -33 +KPX w o -40 +KPX w oacute -40 +KPX w odieresis -40 +KPX w ograve -40 +KPX w oslash -45 +KPX w period -89 +KPX w s -17 +KPX w semicolon -35 +KPX x a -5 +KPX x c -27 +KPX x e -24 +KPX x eacute -24 +KPX x o -30 +KPX x q -28 +KPX y a -25 +KPX y aacute -25 +KPX y acircumflex -25 +KPX y adieresis -25 +KPX y ae -29 +KPX y agrave -25 +KPX y aring -25 +KPX y atilde -25 +KPX y c -45 +KPX y colon -13 +KPX y comma -104 +KPX y e -35 +KPX y eacute -35 +KPX y ecircumflex -35 +KPX y egrave -35 +KPX y g -34 +KPX y hyphen -28 +KPX y l -26 +KPX y o -33 +KPX y oacute -33 +KPX y odieresis -33 +KPX y ograve -33 +KPX y oslash -38 +KPX y period -90 +KPX y s -10 +KPX y semicolon -28 +KPX zero four -3 +KPX zero one -40 +KPX zero seven -18 +EndKernPairs +EndKernData +EndFontMetrics diff --git a/Master/xemtex/gsfonts/p052003l.pfb b/Master/xemtex/gsfonts/p052003l.pfb new file mode 100644 index 00000000000..7ce50ae34e8 Binary files /dev/null and b/Master/xemtex/gsfonts/p052003l.pfb differ diff --git a/Master/xemtex/gsfonts/p052003l.pfm b/Master/xemtex/gsfonts/p052003l.pfm new file mode 100644 index 00000000000..862ae96f8df Binary files /dev/null and b/Master/xemtex/gsfonts/p052003l.pfm differ diff --git a/Master/xemtex/gsfonts/p052004l.afm b/Master/xemtex/gsfonts/p052004l.afm new file mode 100644 index 00000000000..3ca1361ff5b --- /dev/null +++ b/Master/xemtex/gsfonts/p052004l.afm @@ -0,0 +1,1341 @@ +StartFontMetrics 3.0 +Comment Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development +Comment Creation Date: 12/22/1999 +Comment See the file PUBLIC (Aladdin Free Public License) for license conditions. +FontName URWPalladioL-Bold +FullName URW Palladio L Bold +FamilyName URW Palladio L +Weight Bold +ItalicAngle 0.0 +IsFixedPitch false +UnderlinePosition -100 +UnderlineThickness 50 +Version 1.05 +Notice (URW)++,Copyright 1999 by (URW)++ Design & Development +EncodingScheme AdobeStandardEncoding +FontBBox -152 -301 1000 935 +CapHeight 681 +XHeight 471 +Descender -258 +Ascender 720 +StartCharMetrics 316 +C 32 ; WX 250 ; N space ; B 125 0 125 0 ; +C 33 ; WX 278 ; N exclam ; B 63 -12 219 688 ; +C 34 ; WX 402 ; N quotedbl ; B 22 376 380 695 ; +C 35 ; WX 500 ; N numbersign ; B 4 0 496 673 ; +C 36 ; WX 500 ; N dollar ; B 28 -114 472 721 ; +C 37 ; WX 889 ; N percent ; B 61 -9 828 714 ; +C 38 ; WX 833 ; N ampersand ; B 52 -17 813 684 ; +C 39 ; WX 278 ; N quoteright ; B 29 405 249 695 ; +C 40 ; WX 333 ; N parenleft ; B 65 -104 305 723 ; +C 41 ; WX 333 ; N parenright ; B 28 -104 268 723 ; +C 42 ; WX 444 ; N asterisk ; B 44 332 399 695 ; +C 43 ; WX 606 ; N plus ; B 51 0 555 505 ; +C 44 ; WX 250 ; N comma ; B -6 -166 227 141 ; +C 45 ; WX 333 ; N hyphen ; B 16 195 317 305 ; +C 46 ; WX 250 ; N period ; B 47 -12 203 144 ; +C 47 ; WX 296 ; N slash ; B -9 -17 305 720 ; +C 48 ; WX 500 ; N zero ; B 33 -17 468 660 ; +C 49 ; WX 500 ; N one ; B 35 -3 455 670 ; +C 50 ; WX 500 ; N two ; B 25 -3 472 660 ; +C 51 ; WX 500 ; N three ; B 22 -17 458 660 ; +C 52 ; WX 500 ; N four ; B 12 -3 473 672 ; +C 53 ; WX 500 ; N five ; B 42 -17 472 656 ; +C 54 ; WX 500 ; N six ; B 37 -17 469 660 ; +C 55 ; WX 500 ; N seven ; B 46 -3 493 656 ; +C 56 ; WX 500 ; N eight ; B 34 -17 467 660 ; +C 57 ; WX 500 ; N nine ; B 31 -17 463 660 ; +C 58 ; WX 250 ; N colon ; B 47 -12 203 454 ; +C 59 ; WX 250 ; N semicolon ; B -6 -166 227 454 ; +C 60 ; WX 606 ; N less ; B 49 -19 558 523 ; +C 61 ; WX 606 ; N equal ; B 51 114 555 396 ; +C 62 ; WX 606 ; N greater ; B 49 -19 558 523 ; +C 63 ; WX 444 ; N question ; B 43 -12 411 687 ; +C 64 ; WX 747 ; N at ; B 42 -12 704 681 ; +C 65 ; WX 778 ; N A ; B 24 -3 757 686 ; +C 66 ; WX 667 ; N B ; B 39 -3 611 681 ; +C 67 ; WX 722 ; N C ; B 44 -17 695 695 ; +C 68 ; WX 833 ; N D ; B 35 -3 786 681 ; +C 69 ; WX 611 ; N E ; B 39 -4 577 682 ; +C 70 ; WX 556 ; N F ; B 28 -3 539 682 ; +C 71 ; WX 833 ; N G ; B 47 -17 776 695 ; +C 72 ; WX 833 ; N H ; B 36 -3 796 681 ; +C 73 ; WX 389 ; N I ; B 39 -3 350 681 ; +C 74 ; WX 389 ; N J ; B -11 -213 350 681 ; +C 75 ; WX 778 ; N K ; B 39 -3 763 681 ; +C 76 ; WX 611 ; N L ; B 39 -4 577 681 ; +C 77 ; WX 1000 ; N M ; B 32 -10 968 681 ; +C 78 ; WX 833 ; N N ; B 35 -16 798 681 ; +C 79 ; WX 833 ; N O ; B 47 -17 787 695 ; +C 80 ; WX 611 ; N P ; B 39 -3 594 681 ; +C 81 ; WX 833 ; N Q ; B 47 -184 787 695 ; +C 82 ; WX 722 ; N R ; B 39 -3 708 681 ; +C 83 ; WX 611 ; N S ; B 57 -17 559 695 ; +C 84 ; WX 667 ; N T ; B 17 -3 650 681 ; +C 85 ; WX 778 ; N U ; B 26 -17 760 681 ; +C 86 ; WX 778 ; N V ; B 20 -3 763 681 ; +C 87 ; WX 1000 ; N W ; B 17 -3 988 686 ; +C 88 ; WX 667 ; N X ; B 17 -3 650 695 ; +C 89 ; WX 667 ; N Y ; B 15 -3 660 695 ; +C 90 ; WX 667 ; N Z ; B 24 -3 627 681 ; +C 91 ; WX 333 ; N bracketleft ; B 73 -104 291 720 ; +C 92 ; WX 606 ; N backslash ; B 72 0 534 720 ; +C 93 ; WX 333 ; N bracketright ; B 42 -104 260 720 ; +C 94 ; WX 606 ; N asciicircum ; B 52 275 554 678 ; +C 95 ; WX 500 ; N underscore ; B 0 -125 500 -75 ; +C 96 ; WX 278 ; N quoteleft ; B 29 405 249 695 ; +C 97 ; WX 500 ; N a ; B 40 -17 478 471 ; +C 98 ; WX 611 ; N b ; B 10 -17 556 720 ; +C 99 ; WX 444 ; N c ; B 37 -17 414 471 ; +C 100 ; WX 611 ; N d ; B 42 -17 577 720 ; +C 101 ; WX 500 ; N e ; B 42 -17 461 471 ; +C 102 ; WX 389 ; N f ; B 34 -3 381 720 ; +C 103 ; WX 556 ; N g ; B 26 -266 535 471 ; +C 104 ; WX 611 ; N h ; B 24 -3 587 720 ; +C 105 ; WX 333 ; N i ; B 34 -3 298 706 ; +C 106 ; WX 333 ; N j ; B 3 -266 241 706 ; +C 107 ; WX 611 ; N k ; B 21 -3 597 720 ; +C 108 ; WX 333 ; N l ; B 24 -3 296 720 ; +C 109 ; WX 889 ; N m ; B 24 -3 864 471 ; +C 110 ; WX 611 ; N n ; B 24 -3 587 471 ; +C 111 ; WX 556 ; N o ; B 40 -17 517 471 ; +C 112 ; WX 611 ; N p ; B 29 -258 567 471 ; +C 113 ; WX 611 ; N q ; B 52 -258 589 471 ; +C 114 ; WX 389 ; N r ; B 30 -3 389 471 ; +C 115 ; WX 444 ; N s ; B 39 -17 405 471 ; +C 116 ; WX 333 ; N t ; B 22 -17 324 632 ; +C 117 ; WX 611 ; N u ; B 25 -17 583 471 ; +C 118 ; WX 556 ; N v ; B 11 -3 545 459 ; +C 119 ; WX 833 ; N w ; B 13 -3 820 471 ; +C 120 ; WX 500 ; N x ; B 20 -3 483 471 ; +C 121 ; WX 556 ; N y ; B 10 -266 546 459 ; +C 122 ; WX 500 ; N z ; B 16 -3 464 459 ; +C 123 ; WX 310 ; N braceleft ; B 5 -117 288 725 ; +C 124 ; WX 606 ; N bar ; B 260 0 346 720 ; +C 125 ; WX 310 ; N braceright ; B 22 -117 305 725 ; +C 126 ; WX 606 ; N asciitilde ; B 51 174 555 329 ; +C 161 ; WX 278 ; N exclamdown ; B 59 -227 215 471 ; +C 162 ; WX 500 ; N cent ; B 73 -106 450 554 ; +C 163 ; WX 500 ; N sterling ; B -2 -19 501 676 ; +C 164 ; WX 167 ; N fraction ; B -152 0 320 660 ; +C 165 ; WX 500 ; N yen ; B 17 -3 483 695 ; +C 166 ; WX 500 ; N florin ; B 11 -242 490 703 ; +C 167 ; WX 500 ; N section ; B 30 -217 471 695 ; +C 168 ; WX 500 ; N currency ; B 32 96 468 533 ; +C 169 ; WX 227 ; N quotesingle ; B 45 376 181 695 ; +C 170 ; WX 500 ; N quotedblleft ; B 34 405 466 695 ; +C 171 ; WX 500 ; N guillemotleft ; B 36 44 463 438 ; +C 172 ; WX 389 ; N guilsinglleft ; B 82 44 307 438 ; +C 173 ; WX 389 ; N guilsinglright ; B 82 44 307 438 ; +C 174 ; WX 611 ; N fi ; B 10 -3 595 720 ; +C 175 ; WX 611 ; N fl ; B 17 -3 593 720 ; +C 177 ; WX 500 ; N endash ; B 0 208 500 291 ; +C 178 ; WX 500 ; N dagger ; B 29 -6 472 682 ; +C 179 ; WX 500 ; N daggerdbl ; B 32 -245 468 682 ; +C 180 ; WX 250 ; N periodcentered ; B 47 179 203 335 ; +C 182 ; WX 641 ; N paragraph ; B 19 -161 599 683 ; +C 183 ; WX 606 ; N bullet ; B 131 172 475 516 ; +C 184 ; WX 333 ; N quotesinglbase ; B 56 -160 276 130 ; +C 185 ; WX 500 ; N quotedblbase ; B 34 -160 466 130 ; +C 186 ; WX 500 ; N quotedblright ; B 34 405 466 695 ; +C 187 ; WX 500 ; N guillemotright ; B 37 44 464 438 ; +C 188 ; WX 1000 ; N ellipsis ; B 89 -12 911 144 ; +C 189 ; WX 1000 ; N perthousand ; B 33 -9 982 724 ; +C 191 ; WX 444 ; N questiondown ; B 33 -231 401 471 ; +C 193 ; WX 333 ; N grave ; B 18 506 256 691 ; +C 194 ; WX 333 ; N acute ; B 78 506 316 691 ; +C 195 ; WX 333 ; N circumflex ; B -2 506 335 681 ; +C 196 ; WX 333 ; N tilde ; B -16 535 349 661 ; +C 197 ; WX 333 ; N macron ; B 1 538 332 609 ; +C 198 ; WX 333 ; N breve ; B 15 506 318 669 ; +C 199 ; WX 333 ; N dotaccent ; B 100 537 234 671 ; +C 200 ; WX 333 ; N dieresis ; B -8 537 341 671 ; +C 202 ; WX 333 ; N ring ; B 67 500 267 700 ; +C 203 ; WX 333 ; N cedilla ; B 73 -225 300 -7 ; +C 205 ; WX 333 ; N hungarumlaut ; B -56 506 390 691 ; +C 206 ; WX 333 ; N ogonek ; B 60 -229 274 0 ; +C 207 ; WX 333 ; N caron ; B -2 510 335 685 ; +C 208 ; WX 1000 ; N emdash ; B 0 208 1000 291 ; +C 225 ; WX 1000 ; N AE ; B 12 -4 954 682 ; +C 227 ; WX 438 ; N ordfeminine ; B 77 367 361 660 ; +C 232 ; WX 611 ; N Lslash ; B 16 -4 577 681 ; +C 233 ; WX 833 ; N Oslash ; B 32 -20 808 698 ; +C 234 ; WX 1000 ; N OE ; B 43 -17 985 695 ; +C 235 ; WX 488 ; N ordmasculine ; B 89 367 399 660 ; +C 241 ; WX 778 ; N ae ; B 46 -17 731 471 ; +C 245 ; WX 333 ; N dotlessi ; B 34 -3 298 471 ; +C 248 ; WX 333 ; N lslash ; B -4 -3 334 720 ; +C 249 ; WX 556 ; N oslash ; B 23 -18 534 471 ; +C 250 ; WX 833 ; N oe ; B 48 -17 799 471 ; +C 251 ; WX 611 ; N germandbls ; B 30 -17 565 720 ; +C -1 ; WX 778 ; N Udieresis ; B 26 -17 760 895 ; +C -1 ; WX 778 ; N Uacute ; B 26 -17 760 915 ; +C -1 ; WX 611 ; N Scedilla ; B 57 -225 559 695 ; +C -1 ; WX 667 ; N Tcaron ; B 17 -3 650 909 ; +C -1 ; WX 611 ; N Scaron ; B 57 -17 559 909 ; +C -1 ; WX 722 ; N Rcaron ; B 39 -3 708 909 ; +C -1 ; WX 722 ; N Racute ; B 39 -3 708 915 ; +C -1 ; WX 611 ; N Sacute ; B 57 -17 559 915 ; +C -1 ; WX 833 ; N Otilde ; B 47 -17 787 885 ; +C -1 ; WX 611 ; N ucircumflex ; B 25 -17 583 681 ; +C -1 ; WX 833 ; N Ohungarumlaut ; B 47 -17 787 915 ; +C -1 ; WX 778 ; N Uhungarumlaut ; B 26 -17 760 915 ; +C -1 ; WX 667 ; N Yacute ; B 15 -3 660 915 ; +C -1 ; WX 833 ; N Eth ; B 10 -3 786 681 ; +C -1 ; WX 833 ; N Dcroat ; B 10 -3 786 681 ; +C -1 ; WX 667 ; N Zacute ; B 24 -3 627 915 ; +C -1 ; WX 778 ; N Uring ; B 26 -17 760 924 ; +C -1 ; WX 556 ; N gbreve ; B 26 -266 535 669 ; +C -1 ; WX 500 ; N eogonek ; B 42 -229 480 471 ; +C -1 ; WX 500 ; N edotaccent ; B 42 -17 461 671 ; +C -1 ; WX 500 ; N ecaron ; B 42 -17 461 685 ; +C -1 ; WX 778 ; N Ugrave ; B 26 -17 760 915 ; +C -1 ; WX 611 ; N Thorn ; B 39 -3 574 681 ; +C -1 ; WX 500 ; N eacute ; B 42 -17 461 691 ; +C -1 ; WX 500 ; N edieresis ; B 42 -17 461 671 ; +C -1 ; WX 711 ; N dcaron ; B 42 -17 731 723 ; +C -1 ; WX 444 ; N ccedilla ; B 37 -225 414 471 ; +C -1 ; WX 444 ; N ccaron ; B 37 -17 431 685 ; +C -1 ; WX 444 ; N cacute ; B 37 -17 444 691 ; +C -1 ; WX 500 ; N aogonek ; B 40 -229 544 471 ; +C -1 ; WX 500 ; N aring ; B 40 -17 478 700 ; +C -1 ; WX 500 ; N atilde ; B 40 -17 478 661 ; +C -1 ; WX 500 ; N abreve ; B 40 -17 478 669 ; +C -1 ; WX 500 ; N egrave ; B 42 -17 461 691 ; +C -1 ; WX 500 ; N agrave ; B 40 -17 478 691 ; +C -1 ; WX 500 ; N aacute ; B 40 -17 478 691 ; +C -1 ; WX 500 ; N adieresis ; B 40 -17 478 671 ; +C -1 ; WX 778 ; N Uogonek ; B 26 -229 760 681 ; +C -1 ; WX 611 ; N ugrave ; B 25 -17 583 691 ; +C -1 ; WX 611 ; N uacute ; B 25 -17 583 691 ; +C -1 ; WX 611 ; N udieresis ; B 25 -17 583 671 ; +C -1 ; WX 402 ; N tcaron ; B 22 -17 422 695 ; +C -1 ; WX 444 ; N scommaaccent ; B 39 -301 405 471 ; +C -1 ; WX 667 ; N Zcaron ; B 24 -3 627 909 ; +C -1 ; WX 500 ; N ecircumflex ; B 42 -17 461 681 ; +C -1 ; WX 778 ; N Ucircumflex ; B 26 -17 760 905 ; +C -1 ; WX 500 ; N acircumflex ; B 40 -17 478 681 ; +C -1 ; WX 667 ; N Zdotaccent ; B 24 -3 627 895 ; +C -1 ; WX 444 ; N scaron ; B 39 -17 405 685 ; +C -1 ; WX 778 ; N Amacron ; B 24 -3 757 833 ; +C -1 ; WX 444 ; N sacute ; B 39 -17 412 691 ; +C -1 ; WX 667 ; N Tcommaaccent ; B 17 -301 650 681 ; +C -1 ; WX 667 ; N Ydieresis ; B 15 -3 660 895 ; +C -1 ; WX 611 ; N thorn ; B 17 -258 563 720 ; +C -1 ; WX 611 ; N Emacron ; B 39 -4 577 833 ; +C -1 ; WX 833 ; N Ograve ; B 47 -17 787 915 ; +C -1 ; WX 833 ; N Oacute ; B 47 -17 787 915 ; +C -1 ; WX 833 ; N Odieresis ; B 47 -17 787 895 ; +C -1 ; WX 833 ; N Ntilde ; B 35 -16 798 885 ; +C -1 ; WX 833 ; N Ncaron ; B 35 -16 798 909 ; +C -1 ; WX 833 ; N Nacute ; B 35 -16 798 915 ; +C -1 ; WX 611 ; N Lcaron ; B 39 -4 605 695 ; +C -1 ; WX 611 ; N Lacute ; B 39 -4 577 915 ; +C -1 ; WX 389 ; N Idotaccent ; B 39 -3 350 895 ; +C -1 ; WX 389 ; N racute ; B 30 -3 409 691 ; +C -1 ; WX 389 ; N Icircumflex ; B 26 -3 363 905 ; +C -1 ; WX 556 ; N ohungarumlaut ; B 40 -17 556 691 ; +C -1 ; WX 556 ; N otilde ; B 40 -17 517 661 ; +C -1 ; WX 500 ; N Euro ; B 1 -17 470 695 ; +C -1 ; WX 556 ; N ocircumflex ; B 40 -17 517 681 ; +C -1 ; WX 300 ; N onesuperior ; B 18 259 277 663 ; +C -1 ; WX 300 ; N twosuperior ; B 12 259 287 657 ; +C -1 ; WX 300 ; N threesuperior ; B 9 251 278 657 ; +C -1 ; WX 389 ; N Igrave ; B 39 -3 350 915 ; +C -1 ; WX 389 ; N Iacute ; B 39 -3 350 915 ; +C -1 ; WX 389 ; N Imacron ; B 29 -3 360 833 ; +C -1 ; WX 389 ; N Iogonek ; B 39 -229 409 681 ; +C -1 ; WX 389 ; N Idieresis ; B 20 -3 369 895 ; +C -1 ; WX 833 ; N Gbreve ; B 47 -17 776 893 ; +C -1 ; WX 778 ; N Umacron ; B 26 -17 760 833 ; +C -1 ; WX 778 ; N Kcommaaccent ; B 39 -301 763 681 ; +C -1 ; WX 556 ; N ograve ; B 40 -17 517 691 ; +C -1 ; WX 611 ; N Scommaaccent ; B 57 -301 559 695 ; +C -1 ; WX 611 ; N Eogonek ; B 39 -229 613 682 ; +C -1 ; WX 556 ; N oacute ; B 40 -17 517 691 ; +C -1 ; WX 611 ; N Edotaccent ; B 39 -4 577 895 ; +C -1 ; WX 333 ; N iogonek ; B 34 -229 363 706 ; +C -1 ; WX 556 ; N gcommaaccent ; B 26 -266 535 755 ; +C -1 ; WX 556 ; N odieresis ; B 40 -17 517 671 ; +C -1 ; WX 611 ; N ntilde ; B 24 -3 587 661 ; +C -1 ; WX 611 ; N ncaron ; B 24 -3 587 685 ; +C -1 ; WX 611 ; N Ecaron ; B 39 -4 577 909 ; +C -1 ; WX 611 ; N Ecircumflex ; B 39 -4 577 905 ; +C -1 ; WX 444 ; N scedilla ; B 39 -225 405 471 ; +C -1 ; WX 389 ; N rcaron ; B 26 -3 389 685 ; +C -1 ; WX 611 ; N Egrave ; B 39 -4 577 915 ; +C -1 ; WX 611 ; N Eacute ; B 39 -4 577 915 ; +C -1 ; WX 833 ; N Gcommaaccent ; B 47 -301 776 695 ; +C -1 ; WX 722 ; N Rcommaaccent ; B 39 -301 708 681 ; +C -1 ; WX 611 ; N Edieresis ; B 39 -4 577 895 ; +C -1 ; WX 611 ; N nacute ; B 24 -3 587 691 ; +C -1 ; WX 611 ; N uogonek ; B 25 -229 641 471 ; +C -1 ; WX 611 ; N umacron ; B 25 -17 583 609 ; +C -1 ; WX 833 ; N Dcaron ; B 35 -3 786 909 ; +C -1 ; WX 433 ; N lcaron ; B 24 -3 453 723 ; +C -1 ; WX 722 ; N Ccaron ; B 44 -17 695 909 ; +C -1 ; WX 722 ; N Cacute ; B 44 -17 695 915 ; +C -1 ; WX 722 ; N Ccedilla ; B 44 -225 695 695 ; +C -1 ; WX 400 ; N degree ; B 50 360 350 660 ; +C -1 ; WX 778 ; N Aogonek ; B 24 -229 818 686 ; +C -1 ; WX 606 ; N minus ; B 51 212 555 298 ; +C -1 ; WX 606 ; N multiply ; B 72 21 534 483 ; +C -1 ; WX 606 ; N divide ; B 51 0 555 510 ; +C -1 ; WX 778 ; N Aring ; B 24 -3 757 934 ; +C -1 ; WX 998 ; N trademark ; B 38 274 961 678 ; +C -1 ; WX 389 ; N rcommaaccent ; B 30 -301 389 471 ; +C -1 ; WX 333 ; N lacute ; B 24 -3 316 915 ; +C -1 ; WX 556 ; N omacron ; B 40 -17 517 609 ; +C -1 ; WX 778 ; N Atilde ; B 24 -3 757 885 ; +C -1 ; WX 333 ; N icircumflex ; B -2 -3 335 681 ; +C -1 ; WX 333 ; N igrave ; B 18 -3 298 691 ; +C -1 ; WX 611 ; N ncommaaccent ; B 24 -301 587 471 ; +C -1 ; WX 333 ; N lcommaaccent ; B 24 -301 296 720 ; +C -1 ; WX 606 ; N plusminus ; B 51 0 555 568 ; +C -1 ; WX 750 ; N onehalf ; B 9 -2 745 665 ; +C -1 ; WX 750 ; N onequarter ; B 19 -2 735 665 ; +C -1 ; WX 750 ; N threequarters ; B 15 -2 735 667 ; +C -1 ; WX 333 ; N iacute ; B 34 -3 316 691 ; +C -1 ; WX 778 ; N Abreve ; B 24 -3 757 893 ; +C -1 ; WX 611 ; N kcommaaccent ; B 21 -301 597 720 ; +C -1 ; WX 833 ; N Omacron ; B 47 -17 787 833 ; +C -1 ; WX 333 ; N imacron ; B 1 -3 332 609 ; +C -1 ; WX 500 ; N emacron ; B 42 -17 461 609 ; +C -1 ; WX 500 ; N amacron ; B 40 -17 478 609 ; +C -1 ; WX 333 ; N tcommaaccent ; B 22 -301 324 632 ; +C -1 ; WX 556 ; N ydieresis ; B 10 -266 546 671 ; +C -1 ; WX 500 ; N zdotaccent ; B 16 -3 464 671 ; +C -1 ; WX 500 ; N zcaron ; B 16 -3 464 685 ; +C -1 ; WX 500 ; N zacute ; B 16 -3 464 691 ; +C -1 ; WX 556 ; N yacute ; B 10 -266 546 691 ; +C -1 ; WX 611 ; N uhungarumlaut ; B 25 -17 583 691 ; +C -1 ; WX 556 ; N eth ; B 40 -17 517 720 ; +C -1 ; WX 611 ; N uring ; B 25 -17 583 700 ; +C -1 ; WX 833 ; N Ocircumflex ; B 47 -17 787 905 ; +C -1 ; WX 333 ; N commaaccent ; B 48 -301 246 -40 ; +C -1 ; WX 747 ; N copyright ; B 26 -17 720 695 ; +C -1 ; WX 747 ; N registered ; B 26 -17 720 695 ; +C -1 ; WX 778 ; N Acircumflex ; B 24 -3 757 905 ; +C -1 ; WX 333 ; N idieresis ; B -8 -3 341 691 ; +C -1 ; WX 494 ; N lozenge ; B 18 0 466 740 ; +C -1 ; WX 612 ; N Delta ; B 6 0 608 688 ; +C -1 ; WX 606 ; N notequal ; B 51 -32 555 556 ; +C -1 ; WX 549 ; N radical ; B -15 -96 536 935 ; +C -1 ; WX 778 ; N Agrave ; B 24 -3 757 915 ; +C -1 ; WX 778 ; N Aacute ; B 24 -3 757 915 ; +C -1 ; WX 606 ; N lessequal ; B 49 0 558 662 ; +C -1 ; WX 606 ; N greaterequal ; B 49 0 558 662 ; +C -1 ; WX 606 ; N logicalnot ; B 51 114 555 396 ; +C -1 ; WX 713 ; N summation ; B 14 -123 695 752 ; +C -1 ; WX 494 ; N partialdiff ; B 23 -13 466 750 ; +C -1 ; WX 833 ; N Ncommaaccent ; B 35 -301 798 681 ; +C -1 ; WX 611 ; N dcroat ; B 42 -17 591 720 ; +C -1 ; WX 606 ; N brokenbar ; B 260 0 346 720 ; +C -1 ; WX 611 ; N Lcommaaccent ; B 39 -301 577 681 ; +C -1 ; WX 778 ; N Adieresis ; B 24 -3 757 895 ; +C -1 ; WX 611 ; N mu ; B 25 -225 583 471 ; +C -1 ; WX 250 ; N .notdef ; B 125 0 125 0 ; +EndCharMetrics +StartKernData +StartKernPairs 998 +KPX A C -51 +KPX A Ccedilla -51 +KPX A G -54 +KPX A O -45 +KPX A Odieresis -45 +KPX A Q -41 +KPX A T -53 +KPX A U -46 +KPX A Uacute -46 +KPX A Ucircumflex -46 +KPX A Udieresis -46 +KPX A Ugrave -46 +KPX A V -124 +KPX A W -71 +KPX A Y -66 +KPX A a 7 +KPX A b -8 +KPX A c -13 +KPX A ccedilla -15 +KPX A comma 7 +KPX A d -14 +KPX A e -15 +KPX A g 0 +KPX A guillemotleft -49 +KPX A guilsinglleft -72 +KPX A hyphen -12 +KPX A o -16 +KPX A period 12 +KPX A q -18 +KPX A quotedblright -83 +KPX A quoteright -81 +KPX A t -14 +KPX A u -26 +KPX A v -68 +KPX A w -58 +KPX A y -72 +KPX Aacute C -51 +KPX Aacute G -54 +KPX Aacute O -45 +KPX Aacute Q -41 +KPX Aacute T -53 +KPX Aacute U -46 +KPX Aacute V -124 +KPX Aacute W -71 +KPX Aacute Y -66 +KPX Aacute a 7 +KPX Aacute b -8 +KPX Aacute c -13 +KPX Aacute comma 7 +KPX Aacute d -14 +KPX Aacute e -15 +KPX Aacute g 0 +KPX Aacute guillemotleft -49 +KPX Aacute guilsinglleft -72 +KPX Aacute hyphen -12 +KPX Aacute o -16 +KPX Aacute period 12 +KPX Aacute q -18 +KPX Aacute quoteright -81 +KPX Aacute t -14 +KPX Aacute u -26 +KPX Aacute v -68 +KPX Aacute w -58 +KPX Aacute y -72 +KPX Acircumflex C -51 +KPX Acircumflex G -54 +KPX Acircumflex O -45 +KPX Acircumflex Q -41 +KPX Acircumflex T -53 +KPX Acircumflex U -46 +KPX Acircumflex V -124 +KPX Acircumflex W -71 +KPX Acircumflex Y -66 +KPX Acircumflex comma 7 +KPX Acircumflex period 12 +KPX Adieresis C -51 +KPX Adieresis G -54 +KPX Adieresis O -45 +KPX Adieresis Q -41 +KPX Adieresis T -53 +KPX Adieresis U -46 +KPX Adieresis V -124 +KPX Adieresis W -71 +KPX Adieresis Y -66 +KPX Adieresis a 7 +KPX Adieresis b -8 +KPX Adieresis c -13 +KPX Adieresis comma 7 +KPX Adieresis d -14 +KPX Adieresis g 0 +KPX Adieresis guillemotleft -49 +KPX Adieresis guilsinglleft -72 +KPX Adieresis hyphen -12 +KPX Adieresis o -16 +KPX Adieresis period 12 +KPX Adieresis q -18 +KPX Adieresis quotedblright -83 +KPX Adieresis quoteright -81 +KPX Adieresis t -14 +KPX Adieresis u -26 +KPX Adieresis v -68 +KPX Adieresis w -58 +KPX Adieresis y -72 +KPX Agrave C -51 +KPX Agrave G -54 +KPX Agrave O -45 +KPX Agrave Q -41 +KPX Agrave T -53 +KPX Agrave U -46 +KPX Agrave V -124 +KPX Agrave W -71 +KPX Agrave Y -66 +KPX Agrave comma 7 +KPX Agrave period 12 +KPX Aring C -51 +KPX Aring G -54 +KPX Aring O -45 +KPX Aring Q -41 +KPX Aring T -53 +KPX Aring U -46 +KPX Aring V -124 +KPX Aring W -71 +KPX Aring Y -66 +KPX Aring a 7 +KPX Aring b -8 +KPX Aring c -13 +KPX Aring comma 7 +KPX Aring d -14 +KPX Aring e -15 +KPX Aring g 0 +KPX Aring guillemotleft -49 +KPX Aring guilsinglleft -72 +KPX Aring hyphen -12 +KPX Aring o -16 +KPX Aring period 12 +KPX Aring q -18 +KPX Aring quotedblright -83 +KPX Aring quoteright -81 +KPX Aring t -14 +KPX Aring u -26 +KPX Aring v -68 +KPX Aring w -58 +KPX Aring y -72 +KPX Atilde C -51 +KPX Atilde G -54 +KPX Atilde O -45 +KPX Atilde Q -41 +KPX Atilde T -53 +KPX Atilde U -46 +KPX Atilde V -124 +KPX Atilde W -71 +KPX Atilde Y -66 +KPX Atilde comma 7 +KPX Atilde period 12 +KPX B A -36 +KPX B AE -39 +KPX B Aacute -36 +KPX B Acircumflex -36 +KPX B Adieresis -36 +KPX B Aring -36 +KPX B Atilde -36 +KPX B O -7 +KPX B OE -4 +KPX B Oacute -7 +KPX B Ocircumflex -7 +KPX B Odieresis -7 +KPX B Ograve -7 +KPX B Oslash -3 +KPX B V -20 +KPX B W -18 +KPX B Y -9 +KPX C A 11 +KPX C AE 10 +KPX C Aacute 11 +KPX C Adieresis 11 +KPX C Aring 11 +KPX C H 13 +KPX C K 12 +KPX C O -13 +KPX C Oacute -13 +KPX C Odieresis -13 +KPX Ccedilla A 11 +KPX D A -67 +KPX D Aacute -67 +KPX D Acircumflex -67 +KPX D Adieresis -67 +KPX D Agrave -67 +KPX D Aring -67 +KPX D Atilde -67 +KPX D J -25 +KPX D T -3 +KPX D V -41 +KPX D W -34 +KPX D X -35 +KPX D Y -29 +KPX F A -67 +KPX F Aacute -67 +KPX F Acircumflex -67 +KPX F Adieresis -67 +KPX F Agrave -67 +KPX F Aring -67 +KPX F Atilde -67 +KPX F J 18 +KPX F O -9 +KPX F Odieresis -9 +KPX F a -35 +KPX F aacute -35 +KPX F adieresis -5 +KPX F ae -38 +KPX F aring -35 +KPX F comma -46 +KPX F e -18 +KPX F eacute -18 +KPX F hyphen 19 +KPX F i -10 +KPX F j -11 +KPX F o -17 +KPX F oacute -17 +KPX F odieresis -17 +KPX F oe -21 +KPX F oslash -17 +KPX F period -36 +KPX F r -13 +KPX F u -10 +KPX G A -14 +KPX G AE -17 +KPX G Aacute -14 +KPX G Acircumflex -14 +KPX G Adieresis -14 +KPX G Agrave -14 +KPX G Aring -14 +KPX G Atilde -14 +KPX G T -17 +KPX G V -18 +KPX G W -16 +KPX G Y -14 +KPX J A -29 +KPX J AE -24 +KPX J Adieresis -29 +KPX J Aring -29 +KPX K C -48 +KPX K G -51 +KPX K O -42 +KPX K OE -42 +KPX K Oacute -42 +KPX K Odieresis -42 +KPX K S 10 +KPX K T 18 +KPX K a 10 +KPX K adieresis 10 +KPX K ae 6 +KPX K aring 10 +KPX K e -12 +KPX K hyphen -43 +KPX K o -13 +KPX K oacute -13 +KPX K odieresis -13 +KPX K u -23 +KPX K udieresis -23 +KPX K y -72 +KPX L A 13 +KPX L AE 19 +KPX L Aacute 13 +KPX L Adieresis 13 +KPX L Aring 13 +KPX L C -11 +KPX L Ccedilla -11 +KPX L G -14 +KPX L O -9 +KPX L Oacute -9 +KPX L Ocircumflex -9 +KPX L Odieresis -9 +KPX L Ograve -9 +KPX L Otilde -9 +KPX L S -3 +KPX L T -63 +KPX L U -26 +KPX L Udieresis -26 +KPX L V -94 +KPX L W -64 +KPX L Y -77 +KPX L hyphen 19 +KPX L quotedblright -82 +KPX L quoteright -79 +KPX L u -22 +KPX L udieresis -22 +KPX L y -57 +KPX N A -24 +KPX N AE -18 +KPX N Aacute -24 +KPX N Adieresis -24 +KPX N Aring -24 +KPX N C -21 +KPX N Ccedilla -21 +KPX N G -23 +KPX N O -20 +KPX N Oacute -20 +KPX N Odieresis -20 +KPX N a -28 +KPX N aacute -28 +KPX N adieresis -15 +KPX N ae -31 +KPX N aring -28 +KPX N comma -11 +KPX N e -23 +KPX N eacute -23 +KPX N o -22 +KPX N oacute -22 +KPX N odieresis -22 +KPX N oslash -17 +KPX N period -3 +KPX N u -29 +KPX N udieresis -29 +KPX O A -51 +KPX O AE -54 +KPX O Aacute -51 +KPX O Adieresis -51 +KPX O Aring -51 +KPX O T -9 +KPX O V -49 +KPX O W -31 +KPX O X -42 +KPX O Y -37 +KPX Oacute A -51 +KPX Oacute T -9 +KPX Oacute V -49 +KPX Oacute W -31 +KPX Oacute Y -37 +KPX Ocircumflex T -9 +KPX Ocircumflex V -49 +KPX Ocircumflex Y -37 +KPX Odieresis A -51 +KPX Odieresis T -9 +KPX Odieresis V -49 +KPX Odieresis W -31 +KPX Odieresis X -42 +KPX Odieresis Y -37 +KPX Ograve T -9 +KPX Ograve V -49 +KPX Ograve Y -37 +KPX Oslash A -52 +KPX Otilde T -9 +KPX Otilde V -49 +KPX Otilde Y -37 +KPX P A -88 +KPX P AE -85 +KPX P Aacute -88 +KPX P Adieresis -88 +KPX P Aring -88 +KPX P J 0 +KPX P a -28 +KPX P aacute -28 +KPX P adieresis -7 +KPX P ae -29 +KPX P aring -28 +KPX P comma -96 +KPX P e -35 +KPX P eacute -35 +KPX P hyphen -27 +KPX P o -33 +KPX P oacute -33 +KPX P odieresis -21 +KPX P oe -37 +KPX P oslash -33 +KPX P period -86 +KPX R C -35 +KPX R Ccedilla -35 +KPX R G -37 +KPX R O -34 +KPX R OE -31 +KPX R Oacute -34 +KPX R Odieresis -34 +KPX R T -25 +KPX R U -41 +KPX R Udieresis -41 +KPX R V -40 +KPX R W -38 +KPX R Y -30 +KPX R a 11 +KPX R aacute 11 +KPX R adieresis 11 +KPX R ae 6 +KPX R aring 11 +KPX R e -12 +KPX R eacute -12 +KPX R hyphen -22 +KPX R o -12 +KPX R oacute -12 +KPX R odieresis -12 +KPX R oe -16 +KPX R u -22 +KPX R uacute -22 +KPX R udieresis -22 +KPX R y -27 +KPX S A -27 +KPX S AE -30 +KPX S Aacute -27 +KPX S Adieresis -27 +KPX S Aring -27 +KPX S T -9 +KPX S V -9 +KPX S W -8 +KPX S Y -7 +KPX S t -14 +KPX T A -54 +KPX T AE -48 +KPX T Aacute -54 +KPX T Acircumflex -54 +KPX T Adieresis -54 +KPX T Agrave -54 +KPX T Aring -54 +KPX T Atilde -54 +KPX T C -12 +KPX T G -13 +KPX T J 18 +KPX T O -12 +KPX T OE -6 +KPX T Oacute -12 +KPX T Ocircumflex -12 +KPX T Odieresis -12 +KPX T Ograve -12 +KPX T Oslash -12 +KPX T Otilde -12 +KPX T S -1 +KPX T V 28 +KPX T W 29 +KPX T Y 29 +KPX T a -71 +KPX T ae -75 +KPX T c -92 +KPX T colon -67 +KPX T comma -71 +KPX T e -90 +KPX T g -79 +KPX T guillemotleft -101 +KPX T guilsinglleft -124 +KPX T hyphen -60 +KPX T i -11 +KPX T j -12 +KPX T o -89 +KPX T oslash -59 +KPX T period -65 +KPX T r -61 +KPX T s -65 +KPX T semicolon -71 +KPX T u -100 +KPX T v -94 +KPX T w -95 +KPX T y -93 +KPX U A -51 +KPX U AE -54 +KPX U Aacute -51 +KPX U Acircumflex -51 +KPX U Adieresis -51 +KPX U Aring -51 +KPX U Atilde -51 +KPX U comma -24 +KPX U m -20 +KPX U n -20 +KPX U p -23 +KPX U period -13 +KPX U r -23 +KPX Uacute A -51 +KPX Uacute comma -24 +KPX Uacute m -20 +KPX Uacute n -20 +KPX Uacute p -23 +KPX Uacute period -13 +KPX Uacute r -23 +KPX Ucircumflex A -51 +KPX Udieresis A -51 +KPX Udieresis b 29 +KPX Udieresis comma -24 +KPX Udieresis m -20 +KPX Udieresis n -20 +KPX Udieresis p -23 +KPX Udieresis period -13 +KPX Udieresis r -23 +KPX Ugrave A -51 +KPX V A -115 +KPX V AE -119 +KPX V Aacute -115 +KPX V Acircumflex -115 +KPX V Adieresis -115 +KPX V Agrave -115 +KPX V Aring -115 +KPX V Atilde -115 +KPX V C -53 +KPX V G -55 +KPX V O -52 +KPX V Oacute -52 +KPX V Ocircumflex -52 +KPX V Odieresis -52 +KPX V Ograve -52 +KPX V Oslash -51 +KPX V Otilde -52 +KPX V S -26 +KPX V T 30 +KPX V a -87 +KPX V ae -87 +KPX V colon -63 +KPX V comma -101 +KPX V e -84 +KPX V g -78 +KPX V guillemotleft -89 +KPX V guilsinglleft -112 +KPX V hyphen -48 +KPX V i -8 +KPX V o -83 +KPX V oslash -79 +KPX V period -91 +KPX V r -52 +KPX V semicolon -77 +KPX V u -49 +KPX V y -36 +KPX W A -82 +KPX W AE -78 +KPX W Aacute -82 +KPX W Acircumflex -82 +KPX W Adieresis -82 +KPX W Agrave -82 +KPX W Aring -82 +KPX W Atilde -82 +KPX W C -36 +KPX W G -38 +KPX W O -36 +KPX W Oacute -36 +KPX W Ocircumflex -36 +KPX W Odieresis -36 +KPX W Ograve -36 +KPX W Oslash -31 +KPX W Otilde -36 +KPX W S -24 +KPX W T 32 +KPX W a -60 +KPX W ae -64 +KPX W colon -42 +KPX W comma -61 +KPX W e -53 +KPX W g -55 +KPX W guillemotleft -60 +KPX W guilsinglleft -83 +KPX W hyphen -19 +KPX W i -6 +KPX W o -52 +KPX W oslash -49 +KPX W period -51 +KPX W r -35 +KPX W semicolon -55 +KPX W u -33 +KPX W y -21 +KPX X C -38 +KPX X O -36 +KPX X Odieresis -36 +KPX X Q -36 +KPX X a 9 +KPX X e -13 +KPX X hyphen -20 +KPX X o -14 +KPX X u -24 +KPX X y -61 +KPX Y A -41 +KPX Y AE -35 +KPX Y Aacute -41 +KPX Y Acircumflex -41 +KPX Y Adieresis -41 +KPX Y Agrave -41 +KPX Y Aring -41 +KPX Y Atilde -41 +KPX Y C -46 +KPX Y G -47 +KPX Y O -45 +KPX Y Oacute -45 +KPX Y Ocircumflex -45 +KPX Y Odieresis -45 +KPX Y Ograve -45 +KPX Y Oslash -39 +KPX Y Otilde -45 +KPX Y S -24 +KPX Y T 34 +KPX Y a -57 +KPX Y ae -62 +KPX Y colon -54 +KPX Y comma -57 +KPX Y e -69 +KPX Y g -65 +KPX Y guillemotleft -82 +KPX Y guilsinglleft -105 +KPX Y hyphen -45 +KPX Y i -5 +KPX Y o -68 +KPX Y oslash -45 +KPX Y p -51 +KPX Y period -51 +KPX Y semicolon -58 +KPX Y u -49 +KPX Y v -35 +KPX Z v -46 +KPX Z y -49 +KPX a j -23 +KPX a quoteright 0 +KPX a v -18 +KPX a w -19 +KPX a y -22 +KPX aacute v -18 +KPX aacute w -19 +KPX aacute y -22 +KPX adieresis v -18 +KPX adieresis w -19 +KPX adieresis y -22 +KPX ae v -8 +KPX ae w -9 +KPX ae y -12 +KPX agrave v -18 +KPX agrave w -19 +KPX agrave y -22 +KPX aring v -18 +KPX aring w -19 +KPX aring y -22 +KPX b v -18 +KPX b w -19 +KPX b y -22 +KPX c h 9 +KPX c k 7 +KPX comma one -9 +KPX comma quotedblright 14 +KPX comma quoteright 17 +KPX e quoteright 17 +KPX e t 5 +KPX e v -4 +KPX e w -5 +KPX e x -1 +KPX e y -8 +KPX eacute v -4 +KPX eacute w -5 +KPX eacute y -8 +KPX ecircumflex v -4 +KPX ecircumflex w -5 +KPX ecircumflex y -8 +KPX eight four 24 +KPX eight one -4 +KPX eight seven -4 +KPX f a -13 +KPX f aacute -13 +KPX f adieresis -2 +KPX f ae -16 +KPX f aring -13 +KPX f e -14 +KPX f eacute -14 +KPX f f 10 +KPX f i 15 +KPX f j 15 +KPX f l 23 +KPX f o -12 +KPX f oacute -12 +KPX f odieresis -12 +KPX f oe -16 +KPX f oslash -1 +KPX f quoteright 19 +KPX f s 2 +KPX f t 16 +KPX five four 26 +KPX five one 0 +KPX five seven -3 +KPX four four 25 +KPX four one -4 +KPX four seven -12 +KPX g a -4 +KPX g adieresis -4 +KPX g ae -9 +KPX g aring -4 +KPX g e -14 +KPX g eacute -14 +KPX g l 10 +KPX g oacute -12 +KPX g odieresis -12 +KPX g r 13 +KPX guillemotright A -50 +KPX guillemotright AE -63 +KPX guillemotright Aacute -50 +KPX guillemotright Adieresis -50 +KPX guillemotright Aring -50 +KPX guillemotright T -101 +KPX guillemotright V -99 +KPX guillemotright W -54 +KPX guillemotright Y -106 +KPX guilsinglright A -73 +KPX guilsinglright AE -86 +KPX guilsinglright Aacute -73 +KPX guilsinglright Adieresis -73 +KPX guilsinglright Aring -73 +KPX guilsinglright T -124 +KPX guilsinglright V -122 +KPX guilsinglright W -77 +KPX guilsinglright Y -129 +KPX h quoteright -6 +KPX h y -27 +KPX hyphen A -13 +KPX hyphen AE -28 +KPX hyphen Aacute -13 +KPX hyphen Adieresis -13 +KPX hyphen Aring -13 +KPX hyphen T -60 +KPX hyphen V -57 +KPX hyphen W -12 +KPX hyphen Y -70 +KPX i T -15 +KPX i j -30 +KPX k a 7 +KPX k aacute 7 +KPX k adieresis 7 +KPX k ae 3 +KPX k aring 7 +KPX k comma 7 +KPX k e -15 +KPX k eacute -15 +KPX k g 0 +KPX k hyphen -37 +KPX k o -16 +KPX k oacute -16 +KPX k odieresis -16 +KPX k period 11 +KPX k s 13 +KPX k u 4 +KPX k udieresis 4 +KPX l v -20 +KPX l y -19 +KPX m p -23 +KPX m v -24 +KPX m w -25 +KPX m y -26 +KPX n T -58 +KPX n p -22 +KPX n quoteright -6 +KPX n v -24 +KPX n w -25 +KPX n y -27 +KPX nine four 7 +KPX nine one -1 +KPX nine seven 3 +KPX o T -89 +KPX o quoteright 6 +KPX o t -2 +KPX o v -18 +KPX o w -19 +KPX o x -16 +KPX o y -22 +KPX oacute v -18 +KPX oacute w -19 +KPX oacute y -22 +KPX ocircumflex t -2 +KPX odieresis t -2 +KPX odieresis v -18 +KPX odieresis w -19 +KPX odieresis x -16 +KPX odieresis y -22 +KPX ograve v -18 +KPX ograve w -19 +KPX ograve y -22 +KPX one comma -4 +KPX one eight -12 +KPX one five -8 +KPX one four -41 +KPX one nine -11 +KPX one one -13 +KPX one period -1 +KPX one seven -21 +KPX one six -25 +KPX one three 3 +KPX one two 11 +KPX one zero -21 +KPX p t 0 +KPX p y -17 +KPX period one -16 +KPX period quotedblright 0 +KPX period quoteright 1 +KPX q c -18 +KPX q u -13 +KPX quotedblbase A 14 +KPX quotedblbase AE 14 +KPX quotedblbase T -59 +KPX quotedblbase V -94 +KPX quotedblbase W -36 +KPX quotedblbase Y -72 +KPX quotedblleft A -87 +KPX quotedblleft AE -117 +KPX quotedblleft Aacute -87 +KPX quotedblleft Adieresis -87 +KPX quotedblleft Aring -87 +KPX quotedblleft T 20 +KPX quotedblleft V 19 +KPX quotedblleft W 20 +KPX quotedblleft Y 20 +KPX quotedblright A -87 +KPX quotedblright AE -117 +KPX quotedblright Aacute -87 +KPX quotedblright Adieresis -87 +KPX quotedblright Aring -87 +KPX quotedblright T 20 +KPX quotedblright V 19 +KPX quotedblright W 20 +KPX quotedblright Y 20 +KPX quoteleft A -84 +KPX quoteleft AE -114 +KPX quoteleft Aacute -84 +KPX quoteleft Adieresis -84 +KPX quoteleft Aring -84 +KPX quoteleft T 23 +KPX quoteleft V 21 +KPX quoteleft W 23 +KPX quoteleft Y 23 +KPX quoteright A -84 +KPX quoteright AE -114 +KPX quoteright Aacute -84 +KPX quoteright Adieresis -84 +KPX quoteright Aring -84 +KPX quoteright comma -33 +KPX quoteright d -31 +KPX quoteright o -21 +KPX quoteright period -21 +KPX quoteright r -9 +KPX quoteright s -6 +KPX quoteright t -6 +KPX quoteright v 1 +KPX quoteright w 1 +KPX quoteright y 3 +KPX r a -5 +KPX r aacute -5 +KPX r acircumflex -5 +KPX r adieresis -5 +KPX r ae -7 +KPX r agrave -5 +KPX r aring -5 +KPX r c 7 +KPX r ccedilla 7 +KPX r colon 17 +KPX r comma -25 +KPX r d 6 +KPX r e 8 +KPX r eacute 8 +KPX r ecircumflex 8 +KPX r egrave 8 +KPX r f 19 +KPX r g 12 +KPX r h -8 +KPX r hyphen 20 +KPX r i 21 +KPX r j 21 +KPX r k -10 +KPX r l -12 +KPX r m 26 +KPX r n 26 +KPX r o 9 +KPX r oacute 9 +KPX r ocircumflex 9 +KPX r odieresis 9 +KPX r oe 5 +KPX r ograve 9 +KPX r oslash 9 +KPX r p 24 +KPX r period -21 +KPX r q 0 +KPX r quoteright 45 +KPX r r 23 +KPX r s 17 +KPX r semicolon 6 +KPX r t 26 +KPX r u 26 +KPX r v 33 +KPX r w 32 +KPX r x 28 +KPX r y 34 +KPX r z 10 +KPX s quoteright 7 +KPX s t -10 +KPX seven colon -34 +KPX seven comma -80 +KPX seven eight -3 +KPX seven five -2 +KPX seven four -44 +KPX seven one 17 +KPX seven period -70 +KPX seven seven 20 +KPX seven six -31 +KPX seven three 2 +KPX seven two 7 +KPX six four 25 +KPX six one -21 +KPX six seven -9 +KPX t S 8 +KPX t a 12 +KPX t aacute 12 +KPX t adieresis 12 +KPX t ae 9 +KPX t aring 12 +KPX t colon 15 +KPX t e -4 +KPX t eacute -4 +KPX t h 18 +KPX t o -4 +KPX t oacute -4 +KPX t odieresis -4 +KPX t quoteright 22 +KPX t semicolon 4 +KPX three four 19 +KPX three one -14 +KPX three seven -13 +KPX two four 0 +KPX two one -5 +KPX two seven -5 +KPX u quoteright 1 +KPX v a -19 +KPX v aacute -19 +KPX v acircumflex -19 +KPX v adieresis -19 +KPX v ae -20 +KPX v agrave -19 +KPX v aring -19 +KPX v atilde -19 +KPX v c -39 +KPX v colon 10 +KPX v comma -70 +KPX v e -27 +KPX v eacute -27 +KPX v ecircumflex -27 +KPX v egrave -27 +KPX v g -10 +KPX v hyphen -13 +KPX v l -17 +KPX v o -22 +KPX v oacute -22 +KPX v odieresis -22 +KPX v ograve -22 +KPX v oslash -22 +KPX v period -59 +KPX v s -3 +KPX v semicolon -4 +KPX w a -20 +KPX w aacute -20 +KPX w acircumflex -20 +KPX w adieresis -20 +KPX w ae -21 +KPX w agrave -20 +KPX w aring -20 +KPX w atilde -20 +KPX w c -36 +KPX w colon 9 +KPX w comma -57 +KPX w e -28 +KPX w eacute -28 +KPX w ecircumflex -28 +KPX w egrave -28 +KPX w g -11 +KPX w hyphen -8 +KPX w l -18 +KPX w o -23 +KPX w oacute -23 +KPX w odieresis -23 +KPX w ograve -23 +KPX w oslash -23 +KPX w period -47 +KPX w s -4 +KPX w semicolon -5 +KPX x a 6 +KPX x c -15 +KPX x e -17 +KPX x eacute -17 +KPX x o -17 +KPX x q -19 +KPX y a -27 +KPX y aacute -27 +KPX y acircumflex -27 +KPX y adieresis -27 +KPX y ae -28 +KPX y agrave -27 +KPX y aring -27 +KPX y atilde -27 +KPX y c -37 +KPX y colon 7 +KPX y comma -67 +KPX y e -34 +KPX y eacute -34 +KPX y ecircumflex -34 +KPX y egrave -34 +KPX y g -15 +KPX y hyphen -11 +KPX y l -17 +KPX y o -28 +KPX y oacute -28 +KPX y odieresis -28 +KPX y ograve -28 +KPX y oslash -28 +KPX y period -57 +KPX y s -8 +KPX y semicolon -7 +KPX zero four 20 +KPX zero one 1 +KPX zero seven 6 +EndKernPairs +EndKernData +EndFontMetrics diff --git a/Master/xemtex/gsfonts/p052004l.pfb b/Master/xemtex/gsfonts/p052004l.pfb new file mode 100644 index 00000000000..fc19c9ecdd9 Binary files /dev/null and b/Master/xemtex/gsfonts/p052004l.pfb differ diff --git a/Master/xemtex/gsfonts/p052004l.pfm b/Master/xemtex/gsfonts/p052004l.pfm new file mode 100644 index 00000000000..429fdc48909 Binary files /dev/null and b/Master/xemtex/gsfonts/p052004l.pfm differ diff --git a/Master/xemtex/gsfonts/p052023l.afm b/Master/xemtex/gsfonts/p052023l.afm new file mode 100644 index 00000000000..504655b8632 --- /dev/null +++ b/Master/xemtex/gsfonts/p052023l.afm @@ -0,0 +1,1341 @@ +StartFontMetrics 3.0 +Comment Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development +Comment Creation Date: 12/22/1999 +Comment See the file PUBLIC (Aladdin Free Public License) for license conditions. +FontName URWPalladioL-Ital +FullName URW Palladio L Italic +FamilyName URW Palladio L +Weight Regular +ItalicAngle -9.0 +IsFixedPitch false +UnderlinePosition -100 +UnderlineThickness 50 +Version 1.05 +Notice (URW)++,Copyright 1999 by (URW)++ Design & Development +EncodingScheme AdobeStandardEncoding +FontBBox -170 -305 1010 941 +CapHeight 692 +XHeight 471 +Descender -276 +Ascender 733 +StartCharMetrics 316 +C 32 ; WX 250 ; N space ; B 125 0 125 0 ; +C 33 ; WX 333 ; N exclam ; B 76 -8 292 733 ; +C 34 ; WX 500 ; N quotedbl ; B 140 508 455 733 ; +C 35 ; WX 500 ; N numbersign ; B 4 0 495 692 ; +C 36 ; WX 500 ; N dollar ; B 15 -113 452 733 ; +C 37 ; WX 889 ; N percent ; B 74 -7 809 710 ; +C 38 ; WX 778 ; N ampersand ; B 47 -18 766 692 ; +C 39 ; WX 278 ; N quoteright ; B 78 488 258 733 ; +C 40 ; WX 333 ; N parenleft ; B 54 -106 331 733 ; +C 41 ; WX 333 ; N parenright ; B 2 -106 279 733 ; +C 42 ; WX 389 ; N asterisk ; B 76 368 400 706 ; +C 43 ; WX 606 ; N plus ; B 51 0 555 504 ; +C 44 ; WX 250 ; N comma ; B 8 -143 203 123 ; +C 45 ; WX 333 ; N hyphen ; B 19 223 304 281 ; +C 46 ; WX 250 ; N period ; B 53 -5 158 112 ; +C 47 ; WX 296 ; N slash ; B -40 -119 392 733 ; +C 48 ; WX 500 ; N zero ; B 36 -11 480 699 ; +C 49 ; WX 500 ; N one ; B 54 -3 398 699 ; +C 50 ; WX 500 ; N two ; B 12 -3 437 699 ; +C 51 ; WX 500 ; N three ; B 22 -11 447 699 ; +C 52 ; WX 500 ; N four ; B 15 -3 478 699 ; +C 53 ; WX 500 ; N five ; B 14 -11 491 693 ; +C 54 ; WX 500 ; N six ; B 49 -11 469 699 ; +C 55 ; WX 500 ; N seven ; B 53 -3 502 692 ; +C 56 ; WX 500 ; N eight ; B 36 -11 469 699 ; +C 57 ; WX 500 ; N nine ; B 32 -11 468 699 ; +C 58 ; WX 250 ; N colon ; B 44 -5 207 458 ; +C 59 ; WX 250 ; N semicolon ; B -9 -146 219 456 ; +C 60 ; WX 606 ; N less ; B 53 -2 554 524 ; +C 61 ; WX 606 ; N equal ; B 51 126 555 378 ; +C 62 ; WX 606 ; N greater ; B 53 -2 554 524 ; +C 63 ; WX 500 ; N question ; B 114 -8 427 706 ; +C 64 ; WX 747 ; N at ; B 27 -18 718 706 ; +C 65 ; WX 722 ; N A ; B -19 -3 677 705 ; +C 66 ; WX 611 ; N B ; B 26 -6 559 692 ; +C 67 ; WX 667 ; N C ; B 45 -18 651 706 ; +C 68 ; WX 778 ; N D ; B 28 -3 741 693 ; +C 69 ; WX 611 ; N E ; B 30 -3 570 692 ; +C 70 ; WX 556 ; N F ; B 0 -3 548 692 ; +C 71 ; WX 722 ; N G ; B 50 -18 694 706 ; +C 72 ; WX 778 ; N H ; B -3 -3 800 692 ; +C 73 ; WX 333 ; N I ; B 7 -3 354 692 ; +C 74 ; WX 333 ; N J ; B -35 -206 358 692 ; +C 75 ; WX 667 ; N K ; B 13 -3 683 692 ; +C 76 ; WX 556 ; N L ; B 16 -3 523 692 ; +C 77 ; WX 944 ; N M ; B -19 -18 940 692 ; +C 78 ; WX 778 ; N N ; B 2 -11 804 692 ; +C 79 ; WX 778 ; N O ; B 53 -18 748 706 ; +C 80 ; WX 611 ; N P ; B 9 -3 594 695 ; +C 81 ; WX 778 ; N Q ; B 53 -201 748 706 ; +C 82 ; WX 667 ; N R ; B 9 -3 639 694 ; +C 83 ; WX 556 ; N S ; B 42 -18 506 706 ; +C 84 ; WX 611 ; N T ; B 53 -3 635 692 ; +C 85 ; WX 778 ; N U ; B 88 -19 798 692 ; +C 86 ; WX 722 ; N V ; B 75 -8 754 692 ; +C 87 ; WX 944 ; N W ; B 71 -8 980 700 ; +C 88 ; WX 722 ; N X ; B 20 -3 734 692 ; +C 89 ; WX 667 ; N Y ; B 52 -3 675 705 ; +C 90 ; WX 667 ; N Z ; B 20 -3 637 692 ; +C 91 ; WX 333 ; N bracketleft ; B 18 -100 326 733 ; +C 92 ; WX 606 ; N backslash ; B 81 0 513 733 ; +C 93 ; WX 333 ; N bracketright ; B 7 -100 315 733 ; +C 94 ; WX 606 ; N asciicircum ; B 51 283 554 689 ; +C 95 ; WX 500 ; N underscore ; B 0 -125 500 -75 ; +C 96 ; WX 278 ; N quoteleft ; B 78 488 258 733 ; +C 97 ; WX 444 ; N a ; B 4 -11 406 482 ; +C 98 ; WX 463 ; N b ; B 37 -11 433 733 ; +C 99 ; WX 407 ; N c ; B 25 -11 389 482 ; +C 100 ; WX 500 ; N d ; B 17 -11 483 733 ; +C 101 ; WX 389 ; N e ; B 15 -11 374 482 ; +C 102 ; WX 278 ; N f ; B -162 -276 413 733 ; +C 103 ; WX 500 ; N g ; B -37 -276 498 482 ; +C 104 ; WX 500 ; N h ; B 10 -9 471 733 ; +C 105 ; WX 278 ; N i ; B 34 -9 264 712 ; +C 106 ; WX 278 ; N j ; B -70 -276 265 712 ; +C 107 ; WX 444 ; N k ; B 8 -9 449 733 ; +C 108 ; WX 278 ; N l ; B 36 -9 251 733 ; +C 109 ; WX 778 ; N m ; B 24 -9 740 482 ; +C 110 ; WX 556 ; N n ; B 24 -9 514 482 ; +C 111 ; WX 444 ; N o ; B 17 -11 411 482 ; +C 112 ; WX 500 ; N p ; B -7 -276 465 482 ; +C 113 ; WX 463 ; N q ; B 24 -276 432 482 ; +C 114 ; WX 389 ; N r ; B 26 -9 384 482 ; +C 115 ; WX 389 ; N s ; B 9 -11 345 482 ; +C 116 ; WX 333 ; N t ; B 41 -9 310 646 ; +C 117 ; WX 556 ; N u ; B 32 -11 512 482 ; +C 118 ; WX 500 ; N v ; B 21 -11 477 482 ; +C 119 ; WX 722 ; N w ; B 21 -11 699 482 ; +C 120 ; WX 500 ; N x ; B 9 -11 484 482 ; +C 121 ; WX 500 ; N y ; B -8 -276 490 482 ; +C 122 ; WX 444 ; N z ; B -1 -11 416 482 ; +C 123 ; WX 333 ; N braceleft ; B 15 -100 319 733 ; +C 124 ; WX 606 ; N bar ; B 275 0 331 733 ; +C 125 ; WX 333 ; N braceright ; B 14 -100 318 733 ; +C 126 ; WX 606 ; N asciitilde ; B 51 169 555 328 ; +C 161 ; WX 333 ; N exclamdown ; B 15 -276 233 467 ; +C 162 ; WX 500 ; N cent ; B 56 -96 418 551 ; +C 163 ; WX 500 ; N sterling ; B 2 -18 479 708 ; +C 164 ; WX 167 ; N fraction ; B -170 0 337 699 ; +C 165 ; WX 500 ; N yen ; B 35 -3 512 701 ; +C 166 ; WX 500 ; N florin ; B 5 -276 470 711 ; +C 167 ; WX 500 ; N section ; B 14 -220 463 706 ; +C 168 ; WX 500 ; N currency ; B 14 115 486 577 ; +C 169 ; WX 333 ; N quotesingle ; B 140 508 288 733 ; +C 170 ; WX 500 ; N quotedblleft ; B 98 488 475 733 ; +C 171 ; WX 500 ; N guillemotleft ; B 57 70 437 440 ; +C 172 ; WX 333 ; N guilsinglleft ; B 57 70 270 440 ; +C 173 ; WX 333 ; N guilsinglright ; B 63 70 276 440 ; +C 174 ; WX 528 ; N fi ; B -162 -276 502 733 ; +C 175 ; WX 545 ; N fl ; B -162 -276 520 734 ; +C 177 ; WX 500 ; N endash ; B -10 228 510 278 ; +C 178 ; WX 500 ; N dagger ; B 48 0 469 692 ; +C 179 ; WX 500 ; N daggerdbl ; B 10 -162 494 692 ; +C 180 ; WX 250 ; N periodcentered ; B 53 195 158 312 ; +C 182 ; WX 500 ; N paragraph ; B 33 -224 611 692 ; +C 183 ; WX 500 ; N bullet ; B 86 182 430 526 ; +C 184 ; WX 278 ; N quotesinglbase ; B 27 -122 211 120 ; +C 185 ; WX 500 ; N quotedblbase ; B 43 -122 424 120 ; +C 186 ; WX 500 ; N quotedblright ; B 98 488 475 733 ; +C 187 ; WX 500 ; N guillemotright ; B 63 70 443 440 ; +C 188 ; WX 1000 ; N ellipsis ; B 102 -5 873 112 ; +C 189 ; WX 1000 ; N perthousand ; B 72 -6 929 717 ; +C 191 ; WX 500 ; N questiondown ; B 57 -246 370 467 ; +C 193 ; WX 333 ; N grave ; B 86 518 310 687 ; +C 194 ; WX 333 ; N acute ; B 122 518 346 687 ; +C 195 ; WX 333 ; N circumflex ; B 56 510 350 679 ; +C 196 ; WX 333 ; N tilde ; B 63 535 390 638 ; +C 197 ; WX 333 ; N macron ; B 74 538 386 589 ; +C 198 ; WX 333 ; N breve ; B 92 518 393 677 ; +C 199 ; WX 333 ; N dotaccent ; B 175 537 283 645 ; +C 200 ; WX 333 ; N dieresis ; B 78 537 378 637 ; +C 202 ; WX 333 ; N ring ; B 159 518 359 718 ; +C 203 ; WX 333 ; N cedilla ; B -9 -216 202 0 ; +C 205 ; WX 333 ; N hungarumlaut ; B 46 518 385 731 ; +C 206 ; WX 333 ; N ogonek ; B 38 -207 196 -18 ; +C 207 ; WX 333 ; N caron ; B 104 510 409 679 ; +C 208 ; WX 1000 ; N emdash ; B -10 228 1010 278 ; +C 225 ; WX 941 ; N AE ; B -4 -3 902 692 ; +C 227 ; WX 333 ; N ordfeminine ; B 60 404 321 699 ; +C 232 ; WX 556 ; N Lslash ; B -16 -3 523 692 ; +C 233 ; WX 778 ; N Oslash ; B 32 -39 762 721 ; +C 234 ; WX 1028 ; N OE ; B 56 -18 989 707 ; +C 235 ; WX 333 ; N ordmasculine ; B 66 404 322 699 ; +C 241 ; WX 638 ; N ae ; B 1 -11 623 482 ; +C 245 ; WX 278 ; N dotlessi ; B 34 -9 241 482 ; +C 248 ; WX 278 ; N lslash ; B -10 -9 302 733 ; +C 249 ; WX 444 ; N oslash ; B -18 -24 460 510 ; +C 250 ; WX 669 ; N oe ; B 17 -11 654 482 ; +C 251 ; WX 500 ; N germandbls ; B -160 -276 488 733 ; +C -1 ; WX 778 ; N Udieresis ; B 88 -19 798 847 ; +C -1 ; WX 778 ; N Uacute ; B 88 -19 798 897 ; +C -1 ; WX 556 ; N Scedilla ; B 42 -216 506 706 ; +C -1 ; WX 611 ; N Tcaron ; B 53 -3 635 889 ; +C -1 ; WX 556 ; N Scaron ; B 42 -18 559 907 ; +C -1 ; WX 667 ; N Rcaron ; B 9 -3 639 889 ; +C -1 ; WX 667 ; N Racute ; B 9 -3 639 897 ; +C -1 ; WX 556 ; N Sacute ; B 42 -18 556 897 ; +C -1 ; WX 778 ; N Otilde ; B 53 -18 748 866 ; +C -1 ; WX 556 ; N ucircumflex ; B 32 -11 512 679 ; +C -1 ; WX 778 ; N Ohungarumlaut ; B 53 -18 748 941 ; +C -1 ; WX 778 ; N Uhungarumlaut ; B 88 -19 798 941 ; +C -1 ; WX 667 ; N Yacute ; B 52 -3 675 897 ; +C -1 ; WX 778 ; N Eth ; B 19 -3 741 693 ; +C -1 ; WX 778 ; N Dcroat ; B 19 -3 741 693 ; +C -1 ; WX 667 ; N Zacute ; B 20 -3 637 897 ; +C -1 ; WX 778 ; N Uring ; B 88 -19 798 928 ; +C -1 ; WX 500 ; N gbreve ; B -37 -276 498 677 ; +C -1 ; WX 389 ; N eogonek ; B 15 -187 374 482 ; +C -1 ; WX 389 ; N edotaccent ; B 15 -11 374 645 ; +C -1 ; WX 389 ; N ecaron ; B 15 -11 437 679 ; +C -1 ; WX 778 ; N Ugrave ; B 88 -19 798 897 ; +C -1 ; WX 611 ; N Thorn ; B 9 -3 570 692 ; +C -1 ; WX 389 ; N eacute ; B 15 -11 394 687 ; +C -1 ; WX 389 ; N edieresis ; B 15 -11 406 637 ; +C -1 ; WX 577 ; N dcaron ; B 17 -11 637 733 ; +C -1 ; WX 407 ; N ccedilla ; B 25 -216 389 482 ; +C -1 ; WX 407 ; N ccaron ; B 25 -11 466 679 ; +C -1 ; WX 407 ; N cacute ; B 25 -11 423 687 ; +C -1 ; WX 444 ; N aogonek ; B 4 -187 406 482 ; +C -1 ; WX 444 ; N aring ; B 4 -11 406 718 ; +C -1 ; WX 444 ; N atilde ; B 4 -11 446 638 ; +C -1 ; WX 444 ; N abreve ; B 4 -11 449 677 ; +C -1 ; WX 389 ; N egrave ; B 15 -11 374 687 ; +C -1 ; WX 444 ; N agrave ; B 4 -11 406 687 ; +C -1 ; WX 444 ; N aacute ; B 4 -11 448 687 ; +C -1 ; WX 444 ; N adieresis ; B 4 -11 434 637 ; +C -1 ; WX 778 ; N Uogonek ; B 88 -188 798 692 ; +C -1 ; WX 556 ; N ugrave ; B 32 -11 512 687 ; +C -1 ; WX 556 ; N uacute ; B 32 -11 526 687 ; +C -1 ; WX 556 ; N udieresis ; B 32 -11 512 637 ; +C -1 ; WX 361 ; N tcaron ; B 41 -9 421 733 ; +C -1 ; WX 389 ; N scommaaccent ; B 9 -305 345 482 ; +C -1 ; WX 667 ; N Zcaron ; B 20 -3 637 907 ; +C -1 ; WX 389 ; N ecircumflex ; B 15 -11 398 679 ; +C -1 ; WX 778 ; N Ucircumflex ; B 88 -19 798 889 ; +C -1 ; WX 444 ; N acircumflex ; B 4 -11 406 679 ; +C -1 ; WX 667 ; N Zdotaccent ; B 20 -3 637 855 ; +C -1 ; WX 389 ; N scaron ; B 9 -11 419 679 ; +C -1 ; WX 722 ; N Amacron ; B -19 -3 677 799 ; +C -1 ; WX 389 ; N sacute ; B 9 -11 419 687 ; +C -1 ; WX 611 ; N Tcommaaccent ; B 53 -305 635 692 ; +C -1 ; WX 667 ; N Ydieresis ; B 52 -3 675 847 ; +C -1 ; WX 500 ; N thorn ; B -39 -276 433 733 ; +C -1 ; WX 611 ; N Emacron ; B 30 -3 570 799 ; +C -1 ; WX 778 ; N Ograve ; B 53 -18 748 897 ; +C -1 ; WX 778 ; N Oacute ; B 53 -18 748 897 ; +C -1 ; WX 778 ; N Odieresis ; B 53 -18 748 847 ; +C -1 ; WX 778 ; N Ntilde ; B 2 -11 804 866 ; +C -1 ; WX 778 ; N Ncaron ; B 2 -11 804 889 ; +C -1 ; WX 778 ; N Nacute ; B 2 -11 804 897 ; +C -1 ; WX 556 ; N Lcaron ; B 16 -3 536 713 ; +C -1 ; WX 556 ; N Lacute ; B 16 -3 523 897 ; +C -1 ; WX 333 ; N Idotaccent ; B 7 -3 354 855 ; +C -1 ; WX 389 ; N racute ; B 26 -9 419 687 ; +C -1 ; WX 333 ; N Icircumflex ; B 7 -3 390 889 ; +C -1 ; WX 444 ; N ohungarumlaut ; B 17 -11 484 731 ; +C -1 ; WX 444 ; N otilde ; B 17 -11 446 638 ; +C -1 ; WX 500 ; N Euro ; B 42 -21 615 709 ; +C -1 ; WX 444 ; N ocircumflex ; B 17 -11 411 679 ; +C -1 ; WX 300 ; N onesuperior ; B 61 278 285 699 ; +C -1 ; WX 300 ; N twosuperior ; B 13 278 290 699 ; +C -1 ; WX 300 ; N threesuperior ; B 28 273 304 699 ; +C -1 ; WX 333 ; N Igrave ; B 7 -3 354 897 ; +C -1 ; WX 333 ; N Iacute ; B 7 -3 406 897 ; +C -1 ; WX 333 ; N Imacron ; B 7 -3 399 799 ; +C -1 ; WX 333 ; N Iogonek ; B 7 -188 354 692 ; +C -1 ; WX 333 ; N Idieresis ; B 7 -3 398 847 ; +C -1 ; WX 722 ; N Gbreve ; B 50 -18 694 887 ; +C -1 ; WX 778 ; N Umacron ; B 88 -19 798 799 ; +C -1 ; WX 667 ; N Kcommaaccent ; B 13 -305 683 692 ; +C -1 ; WX 444 ; N ograve ; B 17 -11 411 687 ; +C -1 ; WX 556 ; N Scommaaccent ; B 42 -305 506 706 ; +C -1 ; WX 611 ; N Eogonek ; B 30 -187 570 692 ; +C -1 ; WX 444 ; N oacute ; B 17 -11 414 687 ; +C -1 ; WX 611 ; N Edotaccent ; B 30 -3 570 855 ; +C -1 ; WX 278 ; N iogonek ; B 34 -187 264 712 ; +C -1 ; WX 500 ; N gcommaaccent ; B -37 -276 498 753 ; +C -1 ; WX 444 ; N odieresis ; B 17 -11 434 637 ; +C -1 ; WX 556 ; N ntilde ; B 24 -9 514 638 ; +C -1 ; WX 556 ; N ncaron ; B 24 -9 521 679 ; +C -1 ; WX 611 ; N Ecaron ; B 30 -3 570 889 ; +C -1 ; WX 611 ; N Ecircumflex ; B 30 -3 570 889 ; +C -1 ; WX 389 ; N scedilla ; B 9 -216 345 482 ; +C -1 ; WX 389 ; N rcaron ; B 26 -9 437 679 ; +C -1 ; WX 611 ; N Egrave ; B 30 -3 570 897 ; +C -1 ; WX 611 ; N Eacute ; B 30 -3 570 897 ; +C -1 ; WX 722 ; N Gcommaaccent ; B 50 -305 694 706 ; +C -1 ; WX 667 ; N Rcommaaccent ; B 9 -305 639 694 ; +C -1 ; WX 611 ; N Edieresis ; B 30 -3 570 847 ; +C -1 ; WX 556 ; N nacute ; B 24 -9 514 687 ; +C -1 ; WX 556 ; N uogonek ; B 32 -187 512 482 ; +C -1 ; WX 556 ; N umacron ; B 32 -11 512 589 ; +C -1 ; WX 778 ; N Dcaron ; B 28 -3 741 889 ; +C -1 ; WX 346 ; N lcaron ; B 36 -9 406 733 ; +C -1 ; WX 667 ; N Ccaron ; B 45 -18 651 889 ; +C -1 ; WX 667 ; N Cacute ; B 45 -18 651 897 ; +C -1 ; WX 667 ; N Ccedilla ; B 45 -216 651 706 ; +C -1 ; WX 400 ; N degree ; B 90 389 390 689 ; +C -1 ; WX 722 ; N Aogonek ; B -19 -187 728 705 ; +C -1 ; WX 606 ; N minus ; B 51 224 555 280 ; +C -1 ; WX 606 ; N multiply ; B 83 36 523 474 ; +C -1 ; WX 606 ; N divide ; B 51 0 555 504 ; +C -1 ; WX 722 ; N Aring ; B -19 -3 677 937 ; +C -1 ; WX 1000 ; N trademark ; B 52 285 951 689 ; +C -1 ; WX 389 ; N rcommaaccent ; B -5 -305 384 482 ; +C -1 ; WX 278 ; N lacute ; B 36 -9 379 897 ; +C -1 ; WX 444 ; N omacron ; B 17 -11 442 589 ; +C -1 ; WX 722 ; N Atilde ; B -19 -3 677 866 ; +C -1 ; WX 278 ; N icircumflex ; B 29 -9 323 679 ; +C -1 ; WX 278 ; N igrave ; B 34 -9 271 687 ; +C -1 ; WX 556 ; N ncommaaccent ; B 24 -305 514 482 ; +C -1 ; WX 278 ; N lcommaaccent ; B -28 -305 251 733 ; +C -1 ; WX 606 ; N plusminus ; B 51 0 555 512 ; +C -1 ; WX 750 ; N onehalf ; B 31 -2 721 699 ; +C -1 ; WX 750 ; N onequarter ; B 31 -2 715 699 ; +C -1 ; WX 750 ; N threequarters ; B 35 -2 715 699 ; +C -1 ; WX 278 ; N iacute ; B 34 -9 331 687 ; +C -1 ; WX 722 ; N Abreve ; B -19 -3 677 887 ; +C -1 ; WX 444 ; N kcommaaccent ; B 8 -305 449 733 ; +C -1 ; WX 778 ; N Omacron ; B 53 -18 748 799 ; +C -1 ; WX 278 ; N imacron ; B 34 -9 359 589 ; +C -1 ; WX 389 ; N emacron ; B 15 -11 414 589 ; +C -1 ; WX 444 ; N amacron ; B 4 -11 442 589 ; +C -1 ; WX 333 ; N tcommaaccent ; B 20 -305 310 646 ; +C -1 ; WX 500 ; N ydieresis ; B -8 -276 490 637 ; +C -1 ; WX 444 ; N zdotaccent ; B -1 -11 416 645 ; +C -1 ; WX 444 ; N zcaron ; B -1 -11 447 679 ; +C -1 ; WX 444 ; N zacute ; B -1 -11 416 687 ; +C -1 ; WX 500 ; N yacute ; B -8 -276 490 687 ; +C -1 ; WX 556 ; N uhungarumlaut ; B 32 -11 536 731 ; +C -1 ; WX 444 ; N eth ; B 17 -11 478 733 ; +C -1 ; WX 556 ; N uring ; B 32 -11 512 718 ; +C -1 ; WX 778 ; N Ocircumflex ; B 53 -18 748 889 ; +C -1 ; WX 333 ; N commaaccent ; B 20 -305 200 -60 ; +C -1 ; WX 747 ; N copyright ; B 11 -18 736 706 ; +C -1 ; WX 747 ; N registered ; B 11 -18 736 706 ; +C -1 ; WX 722 ; N Acircumflex ; B -19 -3 677 889 ; +C -1 ; WX 278 ; N idieresis ; B 34 -9 351 657 ; +C -1 ; WX 494 ; N lozenge ; B 18 0 466 740 ; +C -1 ; WX 612 ; N Delta ; B 6 0 608 688 ; +C -1 ; WX 606 ; N notequal ; B 51 -33 555 541 ; +C -1 ; WX 549 ; N radical ; B 5 -48 520 918 ; +C -1 ; WX 722 ; N Agrave ; B -19 -3 677 897 ; +C -1 ; WX 722 ; N Aacute ; B -19 -3 677 897 ; +C -1 ; WX 606 ; N lessequal ; B 53 0 554 613 ; +C -1 ; WX 606 ; N greaterequal ; B 53 0 554 613 ; +C -1 ; WX 606 ; N logicalnot ; B 51 118 555 378 ; +C -1 ; WX 713 ; N summation ; B 14 -123 695 752 ; +C -1 ; WX 494 ; N partialdiff ; B 26 -10 462 753 ; +C -1 ; WX 778 ; N Ncommaaccent ; B 2 -305 804 692 ; +C -1 ; WX 500 ; N dcroat ; B 17 -11 540 733 ; +C -1 ; WX 606 ; N brokenbar ; B 275 0 331 733 ; +C -1 ; WX 556 ; N Lcommaaccent ; B 16 -305 523 692 ; +C -1 ; WX 722 ; N Adieresis ; B -19 -3 677 847 ; +C -1 ; WX 556 ; N mu ; B 15 -226 512 482 ; +C -1 ; WX 250 ; N .notdef ; B 125 0 125 0 ; +EndCharMetrics +StartKernData +StartKernPairs 998 +KPX A C -44 +KPX A Ccedilla -44 +KPX A G -47 +KPX A O -47 +KPX A Odieresis -47 +KPX A Q -47 +KPX A T -35 +KPX A U -51 +KPX A Uacute -51 +KPX A Ucircumflex -51 +KPX A Udieresis -51 +KPX A Ugrave -51 +KPX A V -93 +KPX A W -71 +KPX A Y -58 +KPX A a 6 +KPX A b -15 +KPX A c -17 +KPX A ccedilla -17 +KPX A comma -20 +KPX A d -1 +KPX A e -11 +KPX A g -34 +KPX A guillemotleft -56 +KPX A guilsinglleft -56 +KPX A hyphen -7 +KPX A o -16 +KPX A period -7 +KPX A q -3 +KPX A quotedblright -76 +KPX A quoteright -66 +KPX A t -17 +KPX A u -23 +KPX A v -42 +KPX A w -38 +KPX A y -37 +KPX Aacute C -44 +KPX Aacute G -47 +KPX Aacute O -47 +KPX Aacute Q -47 +KPX Aacute T -35 +KPX Aacute U -51 +KPX Aacute V -93 +KPX Aacute W -71 +KPX Aacute Y -58 +KPX Aacute a 6 +KPX Aacute b -15 +KPX Aacute c -17 +KPX Aacute comma -20 +KPX Aacute d -1 +KPX Aacute e -11 +KPX Aacute g -34 +KPX Aacute guillemotleft -56 +KPX Aacute guilsinglleft -56 +KPX Aacute hyphen -7 +KPX Aacute o -16 +KPX Aacute period -7 +KPX Aacute q -3 +KPX Aacute quoteright -66 +KPX Aacute t -17 +KPX Aacute u -23 +KPX Aacute v -42 +KPX Aacute w -38 +KPX Aacute y -37 +KPX Acircumflex C -44 +KPX Acircumflex G -47 +KPX Acircumflex O -47 +KPX Acircumflex Q -47 +KPX Acircumflex T -35 +KPX Acircumflex U -51 +KPX Acircumflex V -93 +KPX Acircumflex W -71 +KPX Acircumflex Y -58 +KPX Acircumflex comma -20 +KPX Acircumflex period -7 +KPX Adieresis C -44 +KPX Adieresis G -47 +KPX Adieresis O -47 +KPX Adieresis Q -47 +KPX Adieresis T -35 +KPX Adieresis U -51 +KPX Adieresis V -93 +KPX Adieresis W -71 +KPX Adieresis Y -58 +KPX Adieresis a 6 +KPX Adieresis b -15 +KPX Adieresis c -17 +KPX Adieresis comma -20 +KPX Adieresis d -1 +KPX Adieresis g -34 +KPX Adieresis guillemotleft -56 +KPX Adieresis guilsinglleft -56 +KPX Adieresis hyphen -7 +KPX Adieresis o -16 +KPX Adieresis period -7 +KPX Adieresis q -3 +KPX Adieresis quotedblright -76 +KPX Adieresis quoteright -66 +KPX Adieresis t -17 +KPX Adieresis u -23 +KPX Adieresis v -42 +KPX Adieresis w -38 +KPX Adieresis y -37 +KPX Agrave C -44 +KPX Agrave G -47 +KPX Agrave O -47 +KPX Agrave Q -47 +KPX Agrave T -35 +KPX Agrave U -51 +KPX Agrave V -93 +KPX Agrave W -71 +KPX Agrave Y -58 +KPX Agrave comma -20 +KPX Agrave period -7 +KPX Aring C -44 +KPX Aring G -47 +KPX Aring O -47 +KPX Aring Q -47 +KPX Aring T -35 +KPX Aring U -51 +KPX Aring V -93 +KPX Aring W -71 +KPX Aring Y -58 +KPX Aring a 6 +KPX Aring b -15 +KPX Aring c -17 +KPX Aring comma -20 +KPX Aring d -1 +KPX Aring e -11 +KPX Aring g -34 +KPX Aring guillemotleft -56 +KPX Aring guilsinglleft -56 +KPX Aring hyphen -7 +KPX Aring o -16 +KPX Aring period -7 +KPX Aring q -3 +KPX Aring quotedblright -76 +KPX Aring quoteright -66 +KPX Aring t -17 +KPX Aring u -23 +KPX Aring v -42 +KPX Aring w -38 +KPX Aring y -37 +KPX Atilde C -44 +KPX Atilde G -47 +KPX Atilde O -47 +KPX Atilde Q -47 +KPX Atilde T -35 +KPX Atilde U -51 +KPX Atilde V -93 +KPX Atilde W -71 +KPX Atilde Y -58 +KPX Atilde comma -20 +KPX Atilde period -7 +KPX B A -42 +KPX B AE -49 +KPX B Aacute -42 +KPX B Acircumflex -42 +KPX B Adieresis -42 +KPX B Aring -42 +KPX B Atilde -42 +KPX B O -14 +KPX B OE -14 +KPX B Oacute -14 +KPX B Ocircumflex -14 +KPX B Odieresis -14 +KPX B Ograve -14 +KPX B Oslash -13 +KPX B V -40 +KPX B W -38 +KPX B Y -17 +KPX C A -1 +KPX C AE -9 +KPX C Aacute -1 +KPX C Adieresis -1 +KPX C Aring -1 +KPX C H -11 +KPX C K -19 +KPX C O -29 +KPX C Oacute -29 +KPX C Odieresis -29 +KPX Ccedilla A -4 +KPX D A -80 +KPX D Aacute -80 +KPX D Acircumflex -80 +KPX D Adieresis -80 +KPX D Agrave -80 +KPX D Aring -80 +KPX D Atilde -80 +KPX D J -35 +KPX D T -9 +KPX D V -61 +KPX D W -43 +KPX D X -67 +KPX D Y -36 +KPX F A -93 +KPX F Aacute -93 +KPX F Acircumflex -93 +KPX F Adieresis -93 +KPX F Agrave -93 +KPX F Aring -93 +KPX F Atilde -93 +KPX F J -12 +KPX F O -27 +KPX F Odieresis -27 +KPX F a -38 +KPX F aacute -38 +KPX F adieresis -38 +KPX F ae -54 +KPX F aring -38 +KPX F comma -110 +KPX F e -36 +KPX F eacute -36 +KPX F hyphen -4 +KPX F i -41 +KPX F j -44 +KPX F o -32 +KPX F oacute -32 +KPX F odieresis -32 +KPX F oe -33 +KPX F oslash -35 +KPX F period -91 +KPX F r -34 +KPX F u -40 +KPX G A -15 +KPX G AE -22 +KPX G Aacute -15 +KPX G Acircumflex -15 +KPX G Adieresis -15 +KPX G Agrave -15 +KPX G Aring -15 +KPX G Atilde -15 +KPX G T -16 +KPX G V -20 +KPX G W -18 +KPX G Y -11 +KPX J A -29 +KPX J AE -37 +KPX J Adieresis -29 +KPX J Aring -29 +KPX K C -39 +KPX K G -43 +KPX K O -39 +KPX K OE -40 +KPX K Oacute -39 +KPX K Odieresis -39 +KPX K S 9 +KPX K T 15 +KPX K a 18 +KPX K adieresis 18 +KPX K ae 13 +KPX K aring 18 +KPX K e 0 +KPX K hyphen -56 +KPX K o -4 +KPX K oacute -4 +KPX K odieresis -4 +KPX K u -11 +KPX K udieresis -11 +KPX K y -25 +KPX L A 23 +KPX L AE 16 +KPX L Aacute 23 +KPX L Adieresis 23 +KPX L Aring 23 +KPX L C -6 +KPX L Ccedilla -7 +KPX L G -9 +KPX L O -8 +KPX L Oacute -8 +KPX L Ocircumflex -8 +KPX L Odieresis -8 +KPX L Ograve -8 +KPX L Otilde -8 +KPX L S -6 +KPX L T -41 +KPX L U -23 +KPX L Udieresis -23 +KPX L V -87 +KPX L W -62 +KPX L Y -63 +KPX L hyphen 15 +KPX L quotedblright -117 +KPX L quoteright -107 +KPX L u -24 +KPX L udieresis -24 +KPX L y -30 +KPX N A -31 +KPX N AE -38 +KPX N Aacute -31 +KPX N Adieresis -31 +KPX N Aring -31 +KPX N C -19 +KPX N Ccedilla -19 +KPX N G -23 +KPX N O -23 +KPX N Oacute -23 +KPX N Odieresis -23 +KPX N a -22 +KPX N aacute -22 +KPX N adieresis -22 +KPX N ae -26 +KPX N aring -22 +KPX N comma -47 +KPX N e -26 +KPX N eacute -26 +KPX N o -24 +KPX N oacute -24 +KPX N odieresis -24 +KPX N oslash -23 +KPX N period -29 +KPX N u -33 +KPX N udieresis -33 +KPX O A -65 +KPX O AE -73 +KPX O Aacute -65 +KPX O Adieresis -65 +KPX O Aring -65 +KPX O T -5 +KPX O V -54 +KPX O W -36 +KPX O X -62 +KPX O Y -30 +KPX Oacute A -65 +KPX Oacute T -5 +KPX Oacute V -54 +KPX Oacute W -36 +KPX Oacute Y -30 +KPX Ocircumflex T -5 +KPX Ocircumflex V -54 +KPX Ocircumflex Y -30 +KPX Odieresis A -65 +KPX Odieresis T -5 +KPX Odieresis V -54 +KPX Odieresis W -36 +KPX Odieresis X -62 +KPX Odieresis Y -30 +KPX Ograve T -5 +KPX Ograve V -54 +KPX Ograve Y -30 +KPX Oslash A -66 +KPX Otilde T -5 +KPX Otilde V -54 +KPX Otilde Y -30 +KPX P A -111 +KPX P AE -119 +KPX P Aacute -111 +KPX P Adieresis -111 +KPX P Aring -111 +KPX P J -41 +KPX P a -44 +KPX P aacute -44 +KPX P adieresis -44 +KPX P ae -22 +KPX P aring -44 +KPX P comma -135 +KPX P e -44 +KPX P eacute -44 +KPX P hyphen -30 +KPX P o -41 +KPX P oacute -41 +KPX P odieresis -41 +KPX P oe -42 +KPX P oslash -45 +KPX P period -116 +KPX R C -35 +KPX R Ccedilla -35 +KPX R G -39 +KPX R O -39 +KPX R OE -39 +KPX R Oacute -39 +KPX R Odieresis -39 +KPX R T -27 +KPX R U -42 +KPX R Udieresis -42 +KPX R V -59 +KPX R W -57 +KPX R Y -35 +KPX R a 14 +KPX R aacute 14 +KPX R adieresis 14 +KPX R ae 10 +KPX R aring 14 +KPX R e -2 +KPX R eacute -2 +KPX R hyphen -43 +KPX R o -7 +KPX R oacute -7 +KPX R odieresis -7 +KPX R oe -7 +KPX R u -14 +KPX R uacute -14 +KPX R udieresis -14 +KPX R y -29 +KPX S A -42 +KPX S AE -50 +KPX S Aacute -42 +KPX S Adieresis -42 +KPX S Aring -42 +KPX S T -17 +KPX S V -21 +KPX S W -19 +KPX S Y -13 +KPX S t -34 +KPX T A -61 +KPX T AE -68 +KPX T Aacute -61 +KPX T Acircumflex -61 +KPX T Adieresis -61 +KPX T Agrave -61 +KPX T Aring -61 +KPX T Atilde -61 +KPX T C -13 +KPX T G -18 +KPX T J 3 +KPX T O -19 +KPX T OE -19 +KPX T Oacute -19 +KPX T Ocircumflex -19 +KPX T Odieresis -19 +KPX T Ograve -19 +KPX T Oslash -20 +KPX T Otilde -19 +KPX T S -16 +KPX T V 15 +KPX T W 17 +KPX T Y 23 +KPX T a -83 +KPX T ae -87 +KPX T c -106 +KPX T colon -93 +KPX T comma -111 +KPX T e -100 +KPX T g -125 +KPX T guillemotleft -124 +KPX T guilsinglleft -124 +KPX T hyphen -75 +KPX T i -41 +KPX T j -42 +KPX T o -102 +KPX T oslash -74 +KPX T period -97 +KPX T r -103 +KPX T s -84 +KPX T semicolon -103 +KPX T u -112 +KPX T v -109 +KPX T w -109 +KPX T y -99 +KPX U A 16 +KPX U AE 8 +KPX U Aacute 16 +KPX U Acircumflex 16 +KPX U Adieresis 16 +KPX U Aring 16 +KPX U Atilde 16 +KPX U comma -34 +KPX U m -25 +KPX U n -25 +KPX U p -24 +KPX U period -19 +KPX U r -27 +KPX Uacute A 16 +KPX Uacute comma -34 +KPX Uacute m -25 +KPX Uacute n -25 +KPX Uacute p -24 +KPX Uacute period -19 +KPX Uacute r -27 +KPX Ucircumflex A 16 +KPX Udieresis A 16 +KPX Udieresis b 13 +KPX Udieresis comma -34 +KPX Udieresis m -25 +KPX Udieresis n -25 +KPX Udieresis p -24 +KPX Udieresis period -19 +KPX Udieresis r -27 +KPX Ugrave A 16 +KPX V A -139 +KPX V AE -114 +KPX V Aacute -139 +KPX V Acircumflex -139 +KPX V Adieresis -139 +KPX V Agrave -139 +KPX V Aring -139 +KPX V Atilde -139 +KPX V C -61 +KPX V G -66 +KPX V O -66 +KPX V Oacute -66 +KPX V Ocircumflex -66 +KPX V Odieresis -66 +KPX V Ograve -66 +KPX V Oslash -66 +KPX V Otilde -66 +KPX V S -49 +KPX V T 23 +KPX V a -96 +KPX V ae -81 +KPX V colon -92 +KPX V comma -149 +KPX V e -100 +KPX V g -104 +KPX V guillemotleft -112 +KPX V guilsinglleft -112 +KPX V hyphen -65 +KPX V i -36 +KPX V o -98 +KPX V oslash -98 +KPX V period -130 +KPX V r -69 +KPX V semicolon -101 +KPX V u -72 +KPX V y -57 +KPX W A -62 +KPX W AE -69 +KPX W Aacute -62 +KPX W Acircumflex -62 +KPX W Adieresis -62 +KPX W Agrave -62 +KPX W Aring -62 +KPX W Atilde -62 +KPX W C -26 +KPX W G -30 +KPX W O -30 +KPX W Oacute -30 +KPX W Ocircumflex -30 +KPX W Odieresis -30 +KPX W Ograve -30 +KPX W Oslash -27 +KPX W Otilde -30 +KPX W S -36 +KPX W T 25 +KPX W a -38 +KPX W ae -42 +KPX W colon -53 +KPX W comma -73 +KPX W e -42 +KPX W g -62 +KPX W guillemotleft -57 +KPX W guilsinglleft -57 +KPX W hyphen -9 +KPX W i -34 +KPX W o -40 +KPX W oslash -39 +KPX W period -54 +KPX W r -32 +KPX W semicolon -63 +KPX W u -35 +KPX W y -21 +KPX X C -48 +KPX X O -47 +KPX X Odieresis -47 +KPX X Q -47 +KPX X a 9 +KPX X e -7 +KPX X hyphen -52 +KPX X o -12 +KPX X u -19 +KPX X y -34 +KPX Y A -73 +KPX Y AE -80 +KPX Y Aacute -73 +KPX Y Acircumflex -73 +KPX Y Adieresis -73 +KPX Y Agrave -73 +KPX Y Aring -73 +KPX Y Atilde -73 +KPX Y C -50 +KPX Y G -55 +KPX Y O -55 +KPX Y Oacute -55 +KPX Y Ocircumflex -55 +KPX Y Odieresis -55 +KPX Y Ograve -55 +KPX Y Oslash -55 +KPX Y Otilde -55 +KPX Y S -39 +KPX Y T 10 +KPX Y a -95 +KPX Y ae -99 +KPX Y colon -105 +KPX Y comma -123 +KPX Y e -103 +KPX Y g -126 +KPX Y guillemotleft -124 +KPX Y guilsinglleft -124 +KPX Y hyphen -81 +KPX Y i -48 +KPX Y o -101 +KPX Y oslash -86 +KPX Y p -86 +KPX Y period -109 +KPX Y semicolon -115 +KPX Y u -98 +KPX Y v -82 +KPX Z v -35 +KPX Z y -42 +KPX a j -26 +KPX a quoteright -8 +KPX a v -18 +KPX a w -18 +KPX a y -6 +KPX aacute v -18 +KPX aacute w -18 +KPX aacute y -6 +KPX adieresis v -18 +KPX adieresis w -18 +KPX adieresis y -6 +KPX ae v 5 +KPX ae w 5 +KPX ae y 15 +KPX agrave v -18 +KPX agrave w -18 +KPX agrave y -6 +KPX aring v -18 +KPX aring w -18 +KPX aring y -6 +KPX b v 0 +KPX b w 0 +KPX b y 8 +KPX c h -18 +KPX c k -15 +KPX comma one -24 +KPX comma quotedblright -9 +KPX comma quoteright 0 +KPX e quoteright 8 +KPX e t -3 +KPX e v 5 +KPX e w 5 +KPX e x -12 +KPX e y 15 +KPX eacute v 5 +KPX eacute w 5 +KPX eacute y 15 +KPX ecircumflex v 5 +KPX ecircumflex w 5 +KPX ecircumflex y 15 +KPX eight four -1 +KPX eight one -16 +KPX eight seven -17 +KPX f a -16 +KPX f aacute -16 +KPX f adieresis 4 +KPX f ae 0 +KPX f aring -16 +KPX f e -17 +KPX f eacute -17 +KPX f f 16 +KPX f i 13 +KPX f j 9 +KPX f l 50 +KPX f o -13 +KPX f oacute -13 +KPX f odieresis 4 +KPX f oe -14 +KPX f oslash -18 +KPX f quoteright 25 +KPX f s -2 +KPX f t 11 +KPX five four 3 +KPX five one -38 +KPX five seven -15 +KPX four four 21 +KPX four one -16 +KPX four seven -16 +KPX g a -25 +KPX g adieresis -25 +KPX g ae -12 +KPX g aring -25 +KPX g e -26 +KPX g eacute -26 +KPX g l -34 +KPX g oacute -22 +KPX g odieresis -22 +KPX g r 8 +KPX guillemotright A -72 +KPX guillemotright AE -80 +KPX guillemotright Aacute -72 +KPX guillemotright Adieresis -72 +KPX guillemotright Aring -72 +KPX guillemotright T -103 +KPX guillemotright V -85 +KPX guillemotright W -63 +KPX guillemotright Y -114 +KPX guilsinglright A -72 +KPX guilsinglright AE -80 +KPX guilsinglright Aacute -72 +KPX guilsinglright Adieresis -72 +KPX guilsinglright Aring -72 +KPX guilsinglright T -103 +KPX guilsinglright V -84 +KPX guilsinglright W -63 +KPX guilsinglright Y -114 +KPX h quoteright -11 +KPX h y -8 +KPX hyphen A -27 +KPX hyphen AE -35 +KPX hyphen Aacute -27 +KPX hyphen Adieresis -27 +KPX hyphen Aring -27 +KPX hyphen T -58 +KPX hyphen V -41 +KPX hyphen W -19 +KPX hyphen Y -75 +KPX i T -7 +KPX i j -30 +KPX k a 12 +KPX k aacute 12 +KPX k adieresis 12 +KPX k ae 14 +KPX k aring 12 +KPX k comma -24 +KPX k e 5 +KPX k eacute 5 +KPX k g -44 +KPX k hyphen -50 +KPX k o 2 +KPX k oacute 2 +KPX k odieresis 2 +KPX k period -4 +KPX k s 6 +KPX k u -16 +KPX k udieresis -16 +KPX l v -35 +KPX l y -24 +KPX m p -14 +KPX m v -23 +KPX m w -23 +KPX m y -11 +KPX n T -83 +KPX n p -18 +KPX n quoteright -19 +KPX n v -27 +KPX n w -27 +KPX n y -15 +KPX nine four -10 +KPX nine one -18 +KPX nine seven -25 +KPX o T -88 +KPX o quoteright -3 +KPX o t -15 +KPX o v -3 +KPX o w -3 +KPX o x -23 +KPX o y 4 +KPX oacute v -3 +KPX oacute w -3 +KPX oacute y 4 +KPX ocircumflex t -15 +KPX odieresis t -15 +KPX odieresis v -3 +KPX odieresis w -3 +KPX odieresis x -23 +KPX odieresis y 4 +KPX ograve v -3 +KPX ograve w -3 +KPX ograve y 4 +KPX one comma -50 +KPX one eight -47 +KPX one five -23 +KPX one four -63 +KPX one nine -39 +KPX one one -38 +KPX one period -36 +KPX one seven -38 +KPX one six -60 +KPX one three -27 +KPX one two -15 +KPX one zero -44 +KPX p t -13 +KPX p y 5 +KPX period one -37 +KPX period quotedblright -31 +KPX period quoteright -21 +KPX q c -18 +KPX q u -15 +KPX quotedblbase A 2 +KPX quotedblbase AE -5 +KPX quotedblbase T -62 +KPX quotedblbase V -74 +KPX quotedblbase W -47 +KPX quotedblbase Y -83 +KPX quotedblleft A -149 +KPX quotedblleft AE -153 +KPX quotedblleft Aacute -149 +KPX quotedblleft Adieresis -149 +KPX quotedblleft Aring -149 +KPX quotedblleft T -16 +KPX quotedblleft V -17 +KPX quotedblleft W -12 +KPX quotedblleft Y -13 +KPX quotedblright A -146 +KPX quotedblright AE -150 +KPX quotedblright Aacute -146 +KPX quotedblright Adieresis -146 +KPX quotedblright Aring -146 +KPX quotedblright T -13 +KPX quotedblright V -14 +KPX quotedblright W -9 +KPX quotedblright Y -10 +KPX quoteleft A -146 +KPX quoteleft AE -150 +KPX quoteleft Aacute -146 +KPX quoteleft Adieresis -146 +KPX quoteleft Aring -146 +KPX quoteleft T -13 +KPX quoteleft V -15 +KPX quoteleft W -10 +KPX quoteleft Y -11 +KPX quoteright A -143 +KPX quoteright AE -147 +KPX quoteright Aacute -143 +KPX quoteright Adieresis -143 +KPX quoteright Aring -143 +KPX quoteright comma -100 +KPX quoteright d -68 +KPX quoteright o -60 +KPX quoteright period -81 +KPX quoteright r -47 +KPX quoteright s -49 +KPX quoteright t -56 +KPX quoteright v -33 +KPX quoteright w -33 +KPX quoteright y -40 +KPX r a -25 +KPX r aacute -25 +KPX r acircumflex -25 +KPX r adieresis -25 +KPX r ae -18 +KPX r agrave -25 +KPX r aring -25 +KPX r c -28 +KPX r ccedilla -28 +KPX r colon -26 +KPX r comma -113 +KPX r d -30 +KPX r e -24 +KPX r eacute -24 +KPX r ecircumflex -24 +KPX r egrave -24 +KPX r f 1 +KPX r g -24 +KPX r h -31 +KPX r hyphen -48 +KPX r i -1 +KPX r j -5 +KPX r k -30 +KPX r l -39 +KPX r m 4 +KPX r n 4 +KPX r o -21 +KPX r oacute -21 +KPX r ocircumflex -21 +KPX r odieresis -21 +KPX r oe -22 +KPX r ograve -21 +KPX r oslash -25 +KPX r p 11 +KPX r period -95 +KPX r q -30 +KPX r quoteright 4 +KPX r r 3 +KPX r s -12 +KPX r semicolon -33 +KPX r t -3 +KPX r u 0 +KPX r v 4 +KPX r w 4 +KPX r x -14 +KPX r y 14 +KPX r z -7 +KPX s quoteright -10 +KPX s t -22 +KPX seven colon -78 +KPX seven comma -124 +KPX seven eight -43 +KPX seven five -31 +KPX seven four -79 +KPX seven one -14 +KPX seven period -105 +KPX seven seven -3 +KPX seven six -58 +KPX seven three -30 +KPX seven two -20 +KPX six four 6 +KPX six one -44 +KPX six seven -25 +KPX t S -29 +KPX t a -13 +KPX t aacute -13 +KPX t adieresis -13 +KPX t ae -11 +KPX t aring -13 +KPX t colon -32 +KPX t e -18 +KPX t eacute -18 +KPX t h -27 +KPX t o -20 +KPX t oacute -20 +KPX t odieresis -20 +KPX t quoteright -19 +KPX t semicolon -40 +KPX three four 7 +KPX three one -31 +KPX three seven -32 +KPX two four -42 +KPX two one -26 +KPX two seven -27 +KPX u quoteright -19 +KPX v a -14 +KPX v aacute -14 +KPX v acircumflex -14 +KPX v adieresis -14 +KPX v ae -19 +KPX v agrave -14 +KPX v aring -14 +KPX v atilde -14 +KPX v c -20 +KPX v colon -29 +KPX v comma -71 +KPX v e -17 +KPX v eacute -17 +KPX v ecircumflex -17 +KPX v egrave -17 +KPX v g -21 +KPX v hyphen 19 +KPX v l -27 +KPX v o -13 +KPX v oacute -13 +KPX v odieresis -13 +KPX v ograve -13 +KPX v oslash -15 +KPX v period -53 +KPX v s -13 +KPX v semicolon -35 +KPX w a -13 +KPX w aacute -13 +KPX w acircumflex -13 +KPX w adieresis -13 +KPX w ae -19 +KPX w agrave -13 +KPX w aring -13 +KPX w atilde -13 +KPX w c -20 +KPX w colon -29 +KPX w comma -71 +KPX w e -17 +KPX w eacute -17 +KPX w ecircumflex -17 +KPX w egrave -17 +KPX w g -21 +KPX w hyphen 19 +KPX w l -27 +KPX w o -13 +KPX w oacute -13 +KPX w odieresis -13 +KPX w ograve -13 +KPX w oslash -15 +KPX w period -52 +KPX w s -13 +KPX w semicolon -35 +KPX x a -2 +KPX x c -15 +KPX x e -9 +KPX x eacute -9 +KPX x o -13 +KPX x q -12 +KPX y a -14 +KPX y aacute -14 +KPX y acircumflex -14 +KPX y adieresis -14 +KPX y ae -19 +KPX y agrave -14 +KPX y aring -14 +KPX y atilde -14 +KPX y c -22 +KPX y colon -32 +KPX y comma -56 +KPX y e -18 +KPX y eacute -18 +KPX y ecircumflex -18 +KPX y egrave -18 +KPX y g -34 +KPX y hyphen 7 +KPX y l -27 +KPX y o -16 +KPX y oacute -16 +KPX y odieresis -16 +KPX y ograve -16 +KPX y oslash -16 +KPX y period -37 +KPX y s -18 +KPX y semicolon -39 +KPX zero four 3 +KPX zero one -13 +KPX zero seven -22 +EndKernPairs +EndKernData +EndFontMetrics diff --git a/Master/xemtex/gsfonts/p052023l.pfb b/Master/xemtex/gsfonts/p052023l.pfb new file mode 100644 index 00000000000..3cc866146a4 Binary files /dev/null and b/Master/xemtex/gsfonts/p052023l.pfb differ diff --git a/Master/xemtex/gsfonts/p052023l.pfm b/Master/xemtex/gsfonts/p052023l.pfm new file mode 100644 index 00000000000..84e72843dc2 Binary files /dev/null and b/Master/xemtex/gsfonts/p052023l.pfm differ diff --git a/Master/xemtex/gsfonts/p052024l.afm b/Master/xemtex/gsfonts/p052024l.afm new file mode 100644 index 00000000000..ebcb2393329 --- /dev/null +++ b/Master/xemtex/gsfonts/p052024l.afm @@ -0,0 +1,1341 @@ +StartFontMetrics 3.0 +Comment Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development +Comment Creation Date: 12/22/1999 +Comment See the file PUBLIC (Aladdin Free Public License) for license conditions. +FontName URWPalladioL-BoldItal +FullName URW Palladio L Bold Italic +FamilyName URW Palladio L +Weight Bold +ItalicAngle -9.0 +IsFixedPitch false +UnderlinePosition -100 +UnderlineThickness 50 +Version 1.05 +Notice (URW)++,Copyright 1999 by (URW)++ Design & Development +EncodingScheme AdobeStandardEncoding +FontBBox -170 -300 1073 935 +CapHeight 681 +XHeight 452 +Descender -271 +Ascender 726 +StartCharMetrics 316 +C 32 ; WX 250 ; N space ; B 125 0 125 0 ; +C 33 ; WX 333 ; N exclam ; B 58 -17 322 695 ; +C 34 ; WX 500 ; N quotedbl ; B 137 467 493 720 ; +C 35 ; WX 500 ; N numbersign ; B 4 0 496 673 ; +C 36 ; WX 500 ; N dollar ; B 20 -108 477 737 ; +C 37 ; WX 889 ; N percent ; B 56 -17 790 697 ; +C 38 ; WX 833 ; N ampersand ; B 74 -17 811 695 ; +C 39 ; WX 278 ; N quoteright ; B 76 431 302 720 ; +C 40 ; WX 333 ; N parenleft ; B 58 -129 368 723 ; +C 41 ; WX 333 ; N parenright ; B -12 -129 298 723 ; +C 42 ; WX 444 ; N asterisk ; B 84 332 439 695 ; +C 43 ; WX 606 ; N plus ; B 50 -5 556 501 ; +C 44 ; WX 250 ; N comma ; B -33 -164 208 147 ; +C 45 ; WX 389 ; N hyphen ; B 37 198 362 300 ; +C 46 ; WX 250 ; N period ; B 48 -17 187 135 ; +C 47 ; WX 315 ; N slash ; B 1 -17 315 720 ; +C 48 ; WX 500 ; N zero ; B 42 -17 490 683 ; +C 49 ; WX 500 ; N one ; B 41 -3 434 678 ; +C 50 ; WX 500 ; N two ; B 1 -3 454 683 ; +C 51 ; WX 500 ; N three ; B 8 -17 450 683 ; +C 52 ; WX 500 ; N four ; B 3 -3 487 683 ; +C 53 ; WX 500 ; N five ; B 14 -17 481 675 ; +C 54 ; WX 500 ; N six ; B 39 -17 488 683 ; +C 55 ; WX 500 ; N seven ; B 69 -3 544 674 ; +C 56 ; WX 500 ; N eight ; B 26 -17 484 683 ; +C 57 ; WX 500 ; N nine ; B 27 -17 491 683 ; +C 58 ; WX 250 ; N colon ; B 38 -17 236 452 ; +C 59 ; WX 250 ; N semicolon ; B -33 -164 247 452 ; +C 60 ; WX 606 ; N less ; B 49 -20 558 524 ; +C 61 ; WX 606 ; N equal ; B 51 106 555 390 ; +C 62 ; WX 606 ; N greater ; B 48 -20 557 524 ; +C 63 ; WX 444 ; N question ; B 91 -17 450 695 ; +C 64 ; WX 833 ; N at ; B 82 -12 744 681 ; +C 65 ; WX 722 ; N A ; B -35 -3 685 683 ; +C 66 ; WX 667 ; N B ; B 8 -3 629 682 ; +C 67 ; WX 685 ; N C ; B 69 -17 695 695 ; +C 68 ; WX 778 ; N D ; B 0 -3 747 682 ; +C 69 ; WX 611 ; N E ; B 11 -3 606 681 ; +C 70 ; WX 556 ; N F ; B -6 -3 593 681 ; +C 71 ; WX 778 ; N G ; B 72 -17 750 695 ; +C 72 ; WX 778 ; N H ; B -12 -3 826 681 ; +C 73 ; WX 389 ; N I ; B -1 -3 412 681 ; +C 74 ; WX 389 ; N J ; B -29 -207 417 681 ; +C 75 ; WX 722 ; N K ; B -10 -3 746 681 ; +C 76 ; WX 611 ; N L ; B 26 -3 578 681 ; +C 77 ; WX 944 ; N M ; B -23 -17 985 681 ; +C 78 ; WX 778 ; N N ; B -2 -3 829 681 ; +C 79 ; WX 833 ; N O ; B 76 -17 794 695 ; +C 80 ; WX 667 ; N P ; B 11 -3 673 681 ; +C 81 ; WX 833 ; N Q ; B 76 -222 794 695 ; +C 82 ; WX 722 ; N R ; B 4 -3 697 681 ; +C 83 ; WX 556 ; N S ; B 50 -17 517 695 ; +C 84 ; WX 611 ; N T ; B 56 -3 674 681 ; +C 85 ; WX 778 ; N U ; B 83 -17 825 681 ; +C 86 ; WX 667 ; N V ; B 67 -3 745 681 ; +C 87 ; WX 1000 ; N W ; B 67 -3 1073 689 ; +C 88 ; WX 722 ; N X ; B -9 -3 772 681 ; +C 89 ; WX 611 ; N Y ; B 54 -3 675 695 ; +C 90 ; WX 667 ; N Z ; B 1 -3 676 681 ; +C 91 ; WX 333 ; N bracketleft ; B 45 -102 381 723 ; +C 92 ; WX 606 ; N backslash ; B 72 0 534 720 ; +C 93 ; WX 333 ; N bracketright ; B -21 -102 315 723 ; +C 94 ; WX 606 ; N asciicircum ; B 63 275 543 678 ; +C 95 ; WX 500 ; N underscore ; B 0 -125 500 -75 ; +C 96 ; WX 278 ; N quoteleft ; B 65 431 291 720 ; +C 97 ; WX 556 ; N a ; B 44 -17 519 470 ; +C 98 ; WX 537 ; N b ; B 44 -17 494 726 ; +C 99 ; WX 444 ; N c ; B 32 -17 436 469 ; +C 100 ; WX 556 ; N d ; B 38 -17 550 726 ; +C 101 ; WX 444 ; N e ; B 28 -17 418 469 ; +C 102 ; WX 333 ; N f ; B -130 -271 449 726 ; +C 103 ; WX 500 ; N g ; B -50 -271 529 469 ; +C 104 ; WX 556 ; N h ; B 22 -17 522 726 ; +C 105 ; WX 333 ; N i ; B 26 -17 312 695 ; +C 106 ; WX 333 ; N j ; B -64 -271 323 695 ; +C 107 ; WX 556 ; N k ; B 34 -17 528 726 ; +C 108 ; WX 333 ; N l ; B 64 -17 318 726 ; +C 109 ; WX 833 ; N m ; B 19 -17 803 469 ; +C 110 ; WX 556 ; N n ; B 17 -17 521 469 ; +C 111 ; WX 556 ; N o ; B 48 -17 502 469 ; +C 112 ; WX 556 ; N p ; B -21 -271 516 469 ; +C 113 ; WX 537 ; N q ; B 32 -271 513 469 ; +C 114 ; WX 389 ; N r ; B 20 -17 411 469 ; +C 115 ; WX 444 ; N s ; B 25 -17 406 469 ; +C 116 ; WX 389 ; N t ; B 42 -17 409 636 ; +C 117 ; WX 556 ; N u ; B 22 -17 521 469 ; +C 118 ; WX 556 ; N v ; B 19 -17 513 469 ; +C 119 ; WX 833 ; N w ; B 27 -17 802 469 ; +C 120 ; WX 500 ; N x ; B -8 -17 500 469 ; +C 121 ; WX 556 ; N y ; B 13 -271 541 469 ; +C 122 ; WX 500 ; N z ; B 31 -17 470 469 ; +C 123 ; WX 333 ; N braceleft ; B 18 -105 334 720 ; +C 124 ; WX 606 ; N bar ; B 259 0 347 720 ; +C 125 ; WX 333 ; N braceright ; B -1 -105 315 720 ; +C 126 ; WX 606 ; N asciitilde ; B 51 174 555 329 ; +C 161 ; WX 333 ; N exclamdown ; B 2 -225 259 479 ; +C 162 ; WX 500 ; N cent ; B 52 -105 456 547 ; +C 163 ; WX 500 ; N sterling ; B 21 -5 501 683 ; +C 164 ; WX 167 ; N fraction ; B -170 0 338 683 ; +C 165 ; WX 500 ; N yen ; B 11 -3 538 695 ; +C 166 ; WX 500 ; N florin ; B 8 -242 479 690 ; +C 167 ; WX 556 ; N section ; B 47 -151 497 695 ; +C 168 ; WX 500 ; N currency ; B 32 96 468 533 ; +C 169 ; WX 250 ; N quotesingle ; B 127 467 293 720 ; +C 170 ; WX 500 ; N quotedblleft ; B 65 431 511 720 ; +C 171 ; WX 500 ; N guillemotleft ; B 35 43 458 446 ; +C 172 ; WX 333 ; N guilsinglleft ; B 60 43 292 446 ; +C 173 ; WX 333 ; N guilsinglright ; B 35 40 267 443 ; +C 174 ; WX 611 ; N fi ; B -130 -271 588 726 ; +C 175 ; WX 611 ; N fl ; B -130 -271 631 726 ; +C 177 ; WX 500 ; N endash ; B -12 214 512 282 ; +C 178 ; WX 556 ; N dagger ; B 67 -3 499 685 ; +C 179 ; WX 556 ; N daggerdbl ; B 33 -153 537 693 ; +C 180 ; WX 250 ; N periodcentered ; B 67 172 206 324 ; +C 182 ; WX 556 ; N paragraph ; B 14 -204 629 681 ; +C 183 ; WX 606 ; N bullet ; B 131 172 475 516 ; +C 184 ; WX 250 ; N quotesinglbase ; B -3 -144 220 145 ; +C 185 ; WX 500 ; N quotedblbase ; B -18 -144 424 145 ; +C 186 ; WX 500 ; N quotedblright ; B 73 431 519 720 ; +C 187 ; WX 500 ; N guillemotright ; B 35 40 458 443 ; +C 188 ; WX 1000 ; N ellipsis ; B 91 -17 896 135 ; +C 189 ; WX 1000 ; N perthousand ; B 65 -17 912 691 ; +C 191 ; WX 444 ; N questiondown ; B -12 -226 347 479 ; +C 193 ; WX 333 ; N grave ; B 110 518 322 699 ; +C 194 ; WX 333 ; N acute ; B 153 518 392 699 ; +C 195 ; WX 333 ; N circumflex ; B 88 510 415 684 ; +C 196 ; WX 333 ; N tilde ; B 82 535 441 654 ; +C 197 ; WX 333 ; N macron ; B 76 538 418 608 ; +C 198 ; WX 333 ; N breve ; B 96 519 412 681 ; +C 199 ; WX 333 ; N dotaccent ; B 202 537 325 668 ; +C 200 ; WX 333 ; N dieresis ; B 90 537 426 668 ; +C 202 ; WX 556 ; N ring ; B 277 514 477 714 ; +C 203 ; WX 333 ; N cedilla ; B 12 -218 248 5 ; +C 205 ; WX 333 ; N hungarumlaut ; B -28 518 409 699 ; +C 206 ; WX 333 ; N ogonek ; B 32 -206 238 -17 ; +C 207 ; WX 333 ; N caron ; B 113 510 445 684 ; +C 208 ; WX 1000 ; N emdash ; B -12 214 1012 282 ; +C 225 ; WX 944 ; N AE ; B -29 -4 927 681 ; +C 227 ; WX 333 ; N ordfeminine ; B 47 391 355 684 ; +C 232 ; WX 611 ; N Lslash ; B 6 -3 578 681 ; +C 233 ; WX 833 ; N Oslash ; B 57 -54 797 730 ; +C 234 ; WX 944 ; N OE ; B 39 -17 961 695 ; +C 235 ; WX 333 ; N ordmasculine ; B 51 391 346 683 ; +C 241 ; WX 738 ; N ae ; B 44 -17 711 469 ; +C 245 ; WX 333 ; N dotlessi ; B 26 -17 293 469 ; +C 248 ; WX 333 ; N lslash ; B 13 -17 365 726 ; +C 249 ; WX 556 ; N oslash ; B 14 -50 522 506 ; +C 250 ; WX 778 ; N oe ; B 48 -17 755 469 ; +C 251 ; WX 556 ; N germandbls ; B -131 -271 549 726 ; +C -1 ; WX 778 ; N Udieresis ; B 83 -17 825 880 ; +C -1 ; WX 778 ; N Uacute ; B 83 -17 825 911 ; +C -1 ; WX 556 ; N Scedilla ; B 50 -218 517 695 ; +C -1 ; WX 611 ; N Tcaron ; B 56 -3 674 896 ; +C -1 ; WX 556 ; N Scaron ; B 50 -17 562 896 ; +C -1 ; WX 722 ; N Rcaron ; B 4 -3 697 896 ; +C -1 ; WX 722 ; N Racute ; B 4 -3 697 911 ; +C -1 ; WX 556 ; N Sacute ; B 50 -17 544 911 ; +C -1 ; WX 833 ; N Otilde ; B 76 -17 794 866 ; +C -1 ; WX 556 ; N ucircumflex ; B 22 -17 521 684 ; +C -1 ; WX 833 ; N Ohungarumlaut ; B 76 -17 794 911 ; +C -1 ; WX 778 ; N Uhungarumlaut ; B 83 -17 825 911 ; +C -1 ; WX 611 ; N Yacute ; B 54 -3 675 911 ; +C -1 ; WX 778 ; N Eth ; B 0 -3 747 682 ; +C -1 ; WX 778 ; N Dcroat ; B 0 -3 747 682 ; +C -1 ; WX 667 ; N Zacute ; B 1 -3 676 911 ; +C -1 ; WX 778 ; N Uring ; B 83 -17 825 926 ; +C -1 ; WX 500 ; N gbreve ; B -50 -271 529 681 ; +C -1 ; WX 444 ; N eogonek ; B 28 -189 418 469 ; +C -1 ; WX 444 ; N edotaccent ; B 28 -17 418 668 ; +C -1 ; WX 444 ; N ecaron ; B 28 -17 501 684 ; +C -1 ; WX 778 ; N Ugrave ; B 83 -17 825 911 ; +C -1 ; WX 667 ; N Thorn ; B 11 -3 644 681 ; +C -1 ; WX 444 ; N eacute ; B 28 -17 448 699 ; +C -1 ; WX 444 ; N edieresis ; B 28 -17 482 668 ; +C -1 ; WX 667 ; N dcaron ; B 38 -17 727 726 ; +C -1 ; WX 444 ; N ccedilla ; B 32 -218 436 469 ; +C -1 ; WX 444 ; N ccaron ; B 32 -17 504 684 ; +C -1 ; WX 444 ; N cacute ; B 32 -17 468 699 ; +C -1 ; WX 556 ; N aogonek ; B 44 -189 519 470 ; +C -1 ; WX 556 ; N aring ; B 44 -17 519 714 ; +C -1 ; WX 556 ; N atilde ; B 44 -17 553 654 ; +C -1 ; WX 556 ; N abreve ; B 44 -17 524 681 ; +C -1 ; WX 444 ; N egrave ; B 28 -17 418 699 ; +C -1 ; WX 556 ; N agrave ; B 44 -17 519 699 ; +C -1 ; WX 556 ; N aacute ; B 44 -17 519 699 ; +C -1 ; WX 556 ; N adieresis ; B 44 -17 538 668 ; +C -1 ; WX 778 ; N Uogonek ; B 83 -189 825 681 ; +C -1 ; WX 556 ; N ugrave ; B 22 -17 521 699 ; +C -1 ; WX 556 ; N uacute ; B 22 -17 521 699 ; +C -1 ; WX 556 ; N udieresis ; B 22 -17 538 668 ; +C -1 ; WX 389 ; N tcaron ; B 42 -17 502 720 ; +C -1 ; WX 444 ; N scommaaccent ; B 25 -300 406 469 ; +C -1 ; WX 667 ; N Zcaron ; B 1 -3 676 896 ; +C -1 ; WX 444 ; N ecircumflex ; B 28 -17 471 684 ; +C -1 ; WX 778 ; N Ucircumflex ; B 83 -17 825 896 ; +C -1 ; WX 556 ; N acircumflex ; B 44 -17 527 684 ; +C -1 ; WX 667 ; N Zdotaccent ; B 1 -3 676 880 ; +C -1 ; WX 444 ; N scaron ; B 25 -17 489 684 ; +C -1 ; WX 722 ; N Amacron ; B -35 -3 685 820 ; +C -1 ; WX 444 ; N sacute ; B 25 -17 448 699 ; +C -1 ; WX 611 ; N Tcommaaccent ; B 56 -300 674 681 ; +C -1 ; WX 611 ; N Ydieresis ; B 54 -3 675 880 ; +C -1 ; WX 556 ; N thorn ; B -21 -271 516 726 ; +C -1 ; WX 611 ; N Emacron ; B 11 -3 606 820 ; +C -1 ; WX 833 ; N Ograve ; B 76 -17 794 911 ; +C -1 ; WX 833 ; N Oacute ; B 76 -17 794 911 ; +C -1 ; WX 833 ; N Odieresis ; B 76 -17 794 880 ; +C -1 ; WX 778 ; N Ntilde ; B -2 -3 829 866 ; +C -1 ; WX 778 ; N Ncaron ; B -2 -3 829 896 ; +C -1 ; WX 778 ; N Nacute ; B -2 -3 829 911 ; +C -1 ; WX 611 ; N Lcaron ; B 26 -3 621 720 ; +C -1 ; WX 611 ; N Lacute ; B 26 -3 578 911 ; +C -1 ; WX 389 ; N Idotaccent ; B -1 -3 412 880 ; +C -1 ; WX 389 ; N racute ; B 20 -17 460 699 ; +C -1 ; WX 389 ; N Icircumflex ; B -1 -3 443 896 ; +C -1 ; WX 556 ; N ohungarumlaut ; B 48 -17 608 699 ; +C -1 ; WX 556 ; N otilde ; B 48 -17 553 654 ; +C -1 ; WX 500 ; N Euro ; B 46 -17 577 695 ; +C -1 ; WX 556 ; N ocircumflex ; B 48 -17 515 684 ; +C -1 ; WX 300 ; N onesuperior ; B 41 271 298 680 ; +C -1 ; WX 300 ; N twosuperior ; B 26 271 321 683 ; +C -1 ; WX 300 ; N threesuperior ; B 23 263 310 683 ; +C -1 ; WX 389 ; N Igrave ; B -1 -3 412 911 ; +C -1 ; WX 389 ; N Iacute ; B -1 -3 420 911 ; +C -1 ; WX 389 ; N Imacron ; B -1 -3 446 820 ; +C -1 ; WX 389 ; N Iogonek ; B -1 -189 412 681 ; +C -1 ; WX 389 ; N Idieresis ; B -1 -3 454 880 ; +C -1 ; WX 778 ; N Gbreve ; B 72 -17 750 892 ; +C -1 ; WX 778 ; N Umacron ; B 83 -17 825 820 ; +C -1 ; WX 722 ; N Kcommaaccent ; B -10 -300 746 681 ; +C -1 ; WX 556 ; N ograve ; B 48 -17 502 699 ; +C -1 ; WX 556 ; N Scommaaccent ; B 50 -300 517 695 ; +C -1 ; WX 611 ; N Eogonek ; B 11 -189 606 681 ; +C -1 ; WX 556 ; N oacute ; B 48 -17 504 699 ; +C -1 ; WX 611 ; N Edotaccent ; B 11 -3 606 880 ; +C -1 ; WX 333 ; N iogonek ; B 26 -189 312 695 ; +C -1 ; WX 500 ; N gcommaaccent ; B -50 -271 529 760 ; +C -1 ; WX 556 ; N odieresis ; B 48 -17 538 668 ; +C -1 ; WX 556 ; N ntilde ; B 17 -17 553 654 ; +C -1 ; WX 556 ; N ncaron ; B 17 -17 557 684 ; +C -1 ; WX 611 ; N Ecaron ; B 11 -3 606 896 ; +C -1 ; WX 611 ; N Ecircumflex ; B 11 -3 606 896 ; +C -1 ; WX 444 ; N scedilla ; B 25 -218 406 469 ; +C -1 ; WX 389 ; N rcaron ; B 20 -17 473 684 ; +C -1 ; WX 611 ; N Egrave ; B 11 -3 606 911 ; +C -1 ; WX 611 ; N Eacute ; B 11 -3 606 911 ; +C -1 ; WX 778 ; N Gcommaaccent ; B 72 -300 750 695 ; +C -1 ; WX 722 ; N Rcommaaccent ; B 4 -300 697 681 ; +C -1 ; WX 611 ; N Edieresis ; B 11 -3 606 880 ; +C -1 ; WX 556 ; N nacute ; B 17 -17 521 699 ; +C -1 ; WX 556 ; N uogonek ; B 22 -189 521 469 ; +C -1 ; WX 556 ; N umacron ; B 22 -17 530 608 ; +C -1 ; WX 778 ; N Dcaron ; B 0 -3 747 896 ; +C -1 ; WX 429 ; N lcaron ; B 64 -17 488 726 ; +C -1 ; WX 685 ; N Ccaron ; B 69 -17 711 896 ; +C -1 ; WX 685 ; N Cacute ; B 69 -17 695 911 ; +C -1 ; WX 685 ; N Ccedilla ; B 69 -218 695 695 ; +C -1 ; WX 400 ; N degree ; B 50 383 350 683 ; +C -1 ; WX 722 ; N Aogonek ; B -35 -189 745 683 ; +C -1 ; WX 606 ; N minus ; B 51 204 555 292 ; +C -1 ; WX 606 ; N multiply ; B 72 17 534 479 ; +C -1 ; WX 606 ; N divide ; B 50 -5 556 501 ; +C -1 ; WX 722 ; N Aring ; B -35 -3 685 935 ; +C -1 ; WX 1000 ; N trademark ; B 38 274 961 678 ; +C -1 ; WX 389 ; N rcommaaccent ; B -14 -300 411 469 ; +C -1 ; WX 333 ; N lacute ; B 64 -17 432 911 ; +C -1 ; WX 556 ; N omacron ; B 48 -17 530 608 ; +C -1 ; WX 722 ; N Atilde ; B -35 -3 685 866 ; +C -1 ; WX 333 ; N icircumflex ; B 26 -17 403 684 ; +C -1 ; WX 333 ; N igrave ; B 26 -17 322 699 ; +C -1 ; WX 556 ; N ncommaaccent ; B 17 -300 521 469 ; +C -1 ; WX 333 ; N lcommaaccent ; B -1 -300 318 726 ; +C -1 ; WX 606 ; N plusminus ; B 50 0 556 568 ; +C -1 ; WX 750 ; N onehalf ; B 14 -2 736 683 ; +C -1 ; WX 750 ; N onequarter ; B 18 -2 732 683 ; +C -1 ; WX 750 ; N threequarters ; B 18 -2 732 683 ; +C -1 ; WX 333 ; N iacute ; B 26 -17 392 699 ; +C -1 ; WX 722 ; N Abreve ; B -35 -3 685 892 ; +C -1 ; WX 556 ; N kcommaaccent ; B 34 -300 528 726 ; +C -1 ; WX 833 ; N Omacron ; B 76 -17 794 820 ; +C -1 ; WX 333 ; N imacron ; B 26 -17 418 608 ; +C -1 ; WX 444 ; N emacron ; B 28 -17 474 608 ; +C -1 ; WX 556 ; N amacron ; B 44 -17 530 608 ; +C -1 ; WX 389 ; N tcommaaccent ; B 27 -300 409 636 ; +C -1 ; WX 556 ; N ydieresis ; B 13 -271 541 668 ; +C -1 ; WX 500 ; N zdotaccent ; B 31 -17 470 668 ; +C -1 ; WX 500 ; N zcaron ; B 31 -17 517 684 ; +C -1 ; WX 500 ; N zacute ; B 31 -17 476 699 ; +C -1 ; WX 556 ; N yacute ; B 13 -271 541 699 ; +C -1 ; WX 556 ; N uhungarumlaut ; B 22 -17 600 699 ; +C -1 ; WX 556 ; N eth ; B 48 -17 546 726 ; +C -1 ; WX 556 ; N uring ; B 22 -17 521 714 ; +C -1 ; WX 833 ; N Ocircumflex ; B 76 -17 794 896 ; +C -1 ; WX 333 ; N commaaccent ; B 39 -300 242 -40 ; +C -1 ; WX 747 ; N copyright ; B 26 -17 720 695 ; +C -1 ; WX 747 ; N registered ; B 26 -17 720 695 ; +C -1 ; WX 722 ; N Acircumflex ; B -35 -3 685 896 ; +C -1 ; WX 333 ; N idieresis ; B 26 -17 426 688 ; +C -1 ; WX 494 ; N lozenge ; B 18 0 466 740 ; +C -1 ; WX 612 ; N Delta ; B 6 0 608 688 ; +C -1 ; WX 606 ; N notequal ; B 51 -32 555 556 ; +C -1 ; WX 549 ; N radical ; B -15 -96 536 935 ; +C -1 ; WX 722 ; N Agrave ; B -35 -3 685 911 ; +C -1 ; WX 722 ; N Aacute ; B -35 -3 685 911 ; +C -1 ; WX 606 ; N lessequal ; B 49 0 558 663 ; +C -1 ; WX 606 ; N greaterequal ; B 48 0 557 663 ; +C -1 ; WX 606 ; N logicalnot ; B 51 107 555 390 ; +C -1 ; WX 713 ; N summation ; B 14 -123 695 752 ; +C -1 ; WX 494 ; N partialdiff ; B 23 -13 466 750 ; +C -1 ; WX 778 ; N Ncommaaccent ; B -2 -300 829 681 ; +C -1 ; WX 556 ; N dcroat ; B 38 -17 596 726 ; +C -1 ; WX 606 ; N brokenbar ; B 259 0 347 720 ; +C -1 ; WX 611 ; N Lcommaaccent ; B 26 -300 578 681 ; +C -1 ; WX 722 ; N Adieresis ; B -35 -3 685 880 ; +C -1 ; WX 556 ; N mu ; B -15 -232 521 469 ; +C -1 ; WX 250 ; N .notdef ; B 125 0 125 0 ; +EndCharMetrics +StartKernData +StartKernPairs 998 +KPX A C -30 +KPX A Ccedilla -29 +KPX A G -31 +KPX A O -37 +KPX A Odieresis -37 +KPX A Q -37 +KPX A T -12 +KPX A U -24 +KPX A Uacute -24 +KPX A Ucircumflex -24 +KPX A Udieresis -24 +KPX A Ugrave -24 +KPX A V -72 +KPX A W -63 +KPX A Y -30 +KPX A a 13 +KPX A b 10 +KPX A c 12 +KPX A ccedilla 12 +KPX A comma 19 +KPX A d 15 +KPX A e 17 +KPX A g -23 +KPX A guillemotleft -27 +KPX A guilsinglleft -40 +KPX A hyphen 0 +KPX A o 3 +KPX A period 17 +KPX A q 19 +KPX A quotedblright -47 +KPX A quoteright -49 +KPX A t -3 +KPX A u 9 +KPX A v -14 +KPX A w -15 +KPX A y -14 +KPX Aacute C -30 +KPX Aacute G -31 +KPX Aacute O -37 +KPX Aacute Q -37 +KPX Aacute T -12 +KPX Aacute U -24 +KPX Aacute V -72 +KPX Aacute W -63 +KPX Aacute Y -30 +KPX Aacute a 13 +KPX Aacute b 10 +KPX Aacute c 12 +KPX Aacute comma 19 +KPX Aacute d 15 +KPX Aacute e 17 +KPX Aacute g -23 +KPX Aacute guillemotleft -27 +KPX Aacute guilsinglleft -40 +KPX Aacute hyphen 0 +KPX Aacute o 3 +KPX Aacute period 17 +KPX Aacute q 19 +KPX Aacute quoteright -49 +KPX Aacute t -3 +KPX Aacute u 9 +KPX Aacute v -14 +KPX Aacute w -15 +KPX Aacute y -14 +KPX Acircumflex C -30 +KPX Acircumflex G -31 +KPX Acircumflex O -37 +KPX Acircumflex Q -37 +KPX Acircumflex T -12 +KPX Acircumflex U -24 +KPX Acircumflex V -72 +KPX Acircumflex W -62 +KPX Acircumflex Y -30 +KPX Acircumflex comma 19 +KPX Acircumflex period 17 +KPX Adieresis C -30 +KPX Adieresis G -31 +KPX Adieresis O -37 +KPX Adieresis Q -37 +KPX Adieresis T -12 +KPX Adieresis U -24 +KPX Adieresis V -72 +KPX Adieresis W -63 +KPX Adieresis Y -30 +KPX Adieresis a 13 +KPX Adieresis b 10 +KPX Adieresis c 12 +KPX Adieresis comma 19 +KPX Adieresis d 15 +KPX Adieresis g -23 +KPX Adieresis guillemotleft -27 +KPX Adieresis guilsinglleft -40 +KPX Adieresis hyphen 0 +KPX Adieresis o 3 +KPX Adieresis period 17 +KPX Adieresis q 19 +KPX Adieresis quotedblright -47 +KPX Adieresis quoteright -49 +KPX Adieresis t -3 +KPX Adieresis u 9 +KPX Adieresis v -14 +KPX Adieresis w -15 +KPX Adieresis y -14 +KPX Agrave C -30 +KPX Agrave G -31 +KPX Agrave O -37 +KPX Agrave Q -37 +KPX Agrave T -12 +KPX Agrave U -24 +KPX Agrave V -72 +KPX Agrave W -63 +KPX Agrave Y -30 +KPX Agrave comma 19 +KPX Agrave period 17 +KPX Aring C -30 +KPX Aring G -31 +KPX Aring O -37 +KPX Aring Q -37 +KPX Aring T -12 +KPX Aring U -24 +KPX Aring V -72 +KPX Aring W -63 +KPX Aring Y -30 +KPX Aring a 13 +KPX Aring b 10 +KPX Aring c 12 +KPX Aring comma 19 +KPX Aring d 15 +KPX Aring e 17 +KPX Aring g -23 +KPX Aring guillemotleft -27 +KPX Aring guilsinglleft -40 +KPX Aring hyphen 0 +KPX Aring o 3 +KPX Aring period 17 +KPX Aring q 19 +KPX Aring quotedblright -47 +KPX Aring quoteright -49 +KPX Aring t -3 +KPX Aring u 9 +KPX Aring v -14 +KPX Aring w -15 +KPX Aring y -14 +KPX Atilde C -30 +KPX Atilde G -31 +KPX Atilde O -37 +KPX Atilde Q -37 +KPX Atilde T -12 +KPX Atilde U -24 +KPX Atilde V -72 +KPX Atilde W -63 +KPX Atilde Y -30 +KPX Atilde comma 19 +KPX Atilde period 17 +KPX B A -6 +KPX B AE -14 +KPX B Aacute -6 +KPX B Acircumflex -6 +KPX B Adieresis -6 +KPX B Aring -6 +KPX B Atilde -6 +KPX B O -5 +KPX B OE 15 +KPX B Oacute -5 +KPX B Ocircumflex -5 +KPX B Odieresis -5 +KPX B Ograve -5 +KPX B Oslash -2 +KPX B V -12 +KPX B W -12 +KPX B Y 8 +KPX C A 20 +KPX C AE 12 +KPX C Aacute 20 +KPX C Adieresis 20 +KPX C Aring 20 +KPX C H 18 +KPX C K 18 +KPX C O -9 +KPX C Oacute -9 +KPX C Odieresis -9 +KPX Ccedilla A 20 +KPX D A -41 +KPX D Aacute -41 +KPX D Acircumflex -41 +KPX D Adieresis -41 +KPX D Agrave -41 +KPX D Aring -41 +KPX D Atilde -41 +KPX D J -15 +KPX D T 8 +KPX D V -33 +KPX D W -27 +KPX D X -41 +KPX D Y -7 +KPX F A -45 +KPX F Aacute -45 +KPX F Acircumflex -45 +KPX F Adieresis -45 +KPX F Agrave -45 +KPX F Aring -45 +KPX F Atilde -45 +KPX F J 23 +KPX F O -9 +KPX F Odieresis -9 +KPX F a -29 +KPX F aacute -29 +KPX F adieresis -29 +KPX F ae -36 +KPX F aring -29 +KPX F comma -57 +KPX F e -15 +KPX F eacute -15 +KPX F hyphen 7 +KPX F i 11 +KPX F j 6 +KPX F o -20 +KPX F oacute -20 +KPX F odieresis -20 +KPX F oe -18 +KPX F oslash -20 +KPX F period -56 +KPX F r 13 +KPX F u 12 +KPX G A 8 +KPX G AE 3 +KPX G Aacute 8 +KPX G Acircumflex 8 +KPX G Adieresis 8 +KPX G Agrave 8 +KPX G Aring 8 +KPX G Atilde 8 +KPX G T -8 +KPX G V -4 +KPX G W -4 +KPX G Y -1 +KPX J A -10 +KPX J AE -14 +KPX J Adieresis -10 +KPX J Aring -10 +KPX K C -33 +KPX K G -34 +KPX K O -40 +KPX K OE -19 +KPX K Oacute -40 +KPX K Odieresis -40 +KPX K S 13 +KPX K T 30 +KPX K a 13 +KPX K adieresis 13 +KPX K ae 10 +KPX K aring 13 +KPX K e 15 +KPX K hyphen -46 +KPX K o 0 +KPX K oacute 0 +KPX K odieresis 0 +KPX K u 9 +KPX K udieresis 9 +KPX K y -15 +KPX L A 42 +KPX L AE 39 +KPX L Aacute 42 +KPX L Adieresis 42 +KPX L Aring 42 +KPX L C 3 +KPX L Ccedilla 3 +KPX L G 2 +KPX L O -1 +KPX L Oacute -1 +KPX L Ocircumflex -1 +KPX L Odieresis -1 +KPX L Ograve -1 +KPX L Otilde -1 +KPX L S 7 +KPX L T -26 +KPX L U -6 +KPX L Udieresis -6 +KPX L V -69 +KPX L W -54 +KPX L Y -43 +KPX L hyphen 35 +KPX L quotedblright -74 +KPX L quoteright -75 +KPX L u 0 +KPX L udieresis 0 +KPX L y -10 +KPX N A -3 +KPX N AE -6 +KPX N Aacute -3 +KPX N Adieresis -3 +KPX N Aring -3 +KPX N C -8 +KPX N Ccedilla -8 +KPX N G -10 +KPX N O -9 +KPX N Oacute -9 +KPX N Odieresis -9 +KPX N a -17 +KPX N aacute -19 +KPX N adieresis -19 +KPX N ae -22 +KPX N aring -19 +KPX N comma -4 +KPX N e -7 +KPX N eacute -8 +KPX N o -13 +KPX N oacute -15 +KPX N odieresis -15 +KPX N oslash -15 +KPX N period -3 +KPX N u -2 +KPX N udieresis -2 +KPX O A -39 +KPX O AE -46 +KPX O Aacute -39 +KPX O Adieresis -39 +KPX O Aring -39 +KPX O T 4 +KPX O V -38 +KPX O W -29 +KPX O X -45 +KPX O Y -12 +KPX Oacute A -39 +KPX Oacute T 4 +KPX Oacute V -38 +KPX Oacute W -29 +KPX Oacute Y -12 +KPX Ocircumflex T 4 +KPX Ocircumflex V -38 +KPX Ocircumflex Y -12 +KPX Odieresis A -39 +KPX Odieresis T 4 +KPX Odieresis V -38 +KPX Odieresis W -29 +KPX Odieresis X -45 +KPX Odieresis Y -12 +KPX Ograve T 4 +KPX Ograve V -38 +KPX Ograve Y -12 +KPX Oslash A -44 +KPX Otilde T 4 +KPX Otilde V -38 +KPX Otilde Y -12 +KPX P A -68 +KPX P AE -77 +KPX P Aacute -68 +KPX P Adieresis -68 +KPX P Aring -68 +KPX P J -10 +KPX P a -38 +KPX P aacute -38 +KPX P adieresis -38 +KPX P ae -10 +KPX P aring -38 +KPX P comma -85 +KPX P e -24 +KPX P eacute -24 +KPX P hyphen -13 +KPX P o -26 +KPX P oacute -26 +KPX P odieresis -26 +KPX P oe -24 +KPX P oslash -27 +KPX P period -84 +KPX R C -25 +KPX R Ccedilla -25 +KPX R G -27 +KPX R O -26 +KPX R OE -5 +KPX R Oacute -26 +KPX R Odieresis -26 +KPX R T -2 +KPX R U -21 +KPX R Udieresis -21 +KPX R V -24 +KPX R W -24 +KPX R Y -4 +KPX R a 18 +KPX R aacute 18 +KPX R adieresis 18 +KPX R ae 15 +KPX R aring 18 +KPX R e 21 +KPX R eacute 21 +KPX R hyphen -23 +KPX R o 6 +KPX R oacute 6 +KPX R odieresis 6 +KPX R oe 6 +KPX R u 15 +KPX R uacute 15 +KPX R udieresis 15 +KPX R y -9 +KPX S A -1 +KPX S AE -9 +KPX S Aacute -1 +KPX S Adieresis -1 +KPX S Aring -1 +KPX S T 0 +KPX S V 4 +KPX S W 4 +KPX S Y 8 +KPX S t -13 +KPX T A -16 +KPX T AE -19 +KPX T Aacute -16 +KPX T Acircumflex -16 +KPX T Adieresis -16 +KPX T Agrave -16 +KPX T Aring -16 +KPX T Atilde -16 +KPX T C 0 +KPX T G -1 +KPX T J 36 +KPX T O 3 +KPX T OE 26 +KPX T Oacute 3 +KPX T Ocircumflex 3 +KPX T Odieresis 3 +KPX T Ograve 3 +KPX T Oslash 7 +KPX T Otilde 3 +KPX T S 18 +KPX T V 55 +KPX T W 53 +KPX T Y 57 +KPX T a -57 +KPX T ae -59 +KPX T c -58 +KPX T colon -51 +KPX T comma -53 +KPX T e -53 +KPX T g -81 +KPX T guillemotleft -77 +KPX T guilsinglleft -89 +KPX T hyphen -48 +KPX T i -12 +KPX T j -17 +KPX T o -67 +KPX T oslash -61 +KPX T period -56 +KPX T r -60 +KPX T s -49 +KPX T semicolon -53 +KPX T u -61 +KPX T v -69 +KPX T w -72 +KPX T y -64 +KPX U A 47 +KPX U AE 43 +KPX U Aacute 47 +KPX U Acircumflex 47 +KPX U Adieresis 47 +KPX U Aring 47 +KPX U Atilde 47 +KPX U comma 11 +KPX U m 5 +KPX U n 11 +KPX U p 4 +KPX U period 10 +KPX U r 4 +KPX Uacute A 47 +KPX Uacute comma 11 +KPX Uacute m 5 +KPX Uacute n 11 +KPX Uacute p 4 +KPX Uacute period 10 +KPX Uacute r 4 +KPX Ucircumflex A 47 +KPX Udieresis A 47 +KPX Udieresis b 51 +KPX Udieresis comma 11 +KPX Udieresis m 5 +KPX Udieresis n 11 +KPX Udieresis p 4 +KPX Udieresis period 10 +KPX Udieresis r 4 +KPX Ugrave A 47 +KPX V A -73 +KPX V AE -59 +KPX V Aacute -73 +KPX V Acircumflex -73 +KPX V Adieresis -73 +KPX V Agrave -73 +KPX V Aring -73 +KPX V Atilde -73 +KPX V C -33 +KPX V G -34 +KPX V O -33 +KPX V Oacute -33 +KPX V Ocircumflex -33 +KPX V Odieresis -33 +KPX V Ograve -33 +KPX V Oslash -28 +KPX V Otilde -33 +KPX V S -4 +KPX V T 57 +KPX V a -62 +KPX V ae -52 +KPX V colon -46 +KPX V comma -70 +KPX V e -51 +KPX V g -48 +KPX V guillemotleft -53 +KPX V guilsinglleft -66 +KPX V hyphen -24 +KPX V i -3 +KPX V o -58 +KPX V oslash -58 +KPX V period -69 +KPX V r -22 +KPX V semicolon -52 +KPX V u -22 +KPX V y -18 +KPX W A -42 +KPX W AE -46 +KPX W Aacute -42 +KPX W Acircumflex -42 +KPX W Adieresis -42 +KPX W Agrave -42 +KPX W Aring -42 +KPX W Atilde -42 +KPX W C -16 +KPX W G -18 +KPX W O -16 +KPX W Oacute -16 +KPX W Ocircumflex -16 +KPX W Odieresis -16 +KPX W Ograve -16 +KPX W Oslash -12 +KPX W Otilde -16 +KPX W S -7 +KPX W T 53 +KPX W a -37 +KPX W ae -41 +KPX W colon -24 +KPX W comma -35 +KPX W e -26 +KPX W g -32 +KPX W guillemotleft -29 +KPX W guilsinglleft -42 +KPX W hyphen 0 +KPX W i -7 +KPX W o -32 +KPX W oslash -33 +KPX W period -34 +KPX W r -6 +KPX W semicolon -30 +KPX W u -7 +KPX W y -2 +KPX X C -28 +KPX X O -35 +KPX X Odieresis -35 +KPX X Q -35 +KPX X a 15 +KPX X e 19 +KPX X hyphen -30 +KPX X o 5 +KPX X u 11 +KPX X y -12 +KPX Y A 0 +KPX Y AE -4 +KPX Y Aacute 0 +KPX Y Acircumflex 0 +KPX Y Adieresis 0 +KPX Y Agrave 0 +KPX Y Aring 0 +KPX Y Atilde 0 +KPX Y C -23 +KPX Y G -26 +KPX Y O -16 +KPX Y Oacute -16 +KPX Y Ocircumflex -16 +KPX Y Odieresis -16 +KPX Y Ograve -16 +KPX Y Oslash -11 +KPX Y Otilde -16 +KPX Y S 11 +KPX Y T 52 +KPX Y a -42 +KPX Y ae -43 +KPX Y colon -35 +KPX Y comma -37 +KPX Y e -38 +KPX Y g -57 +KPX Y guillemotleft -55 +KPX Y guilsinglleft -68 +KPX Y hyphen -30 +KPX Y i -10 +KPX Y o -52 +KPX Y oslash -45 +KPX Y p -34 +KPX Y period -40 +KPX Y semicolon -37 +KPX Y u -37 +KPX Y v -25 +KPX Z v 0 +KPX Z y -6 +KPX a j -8 +KPX a quoteright 9 +KPX a v -2 +KPX a w -5 +KPX a y 4 +KPX aacute v -2 +KPX aacute w -5 +KPX aacute y 4 +KPX adieresis v -2 +KPX adieresis w -6 +KPX adieresis y 4 +KPX ae v 23 +KPX ae w 19 +KPX ae y 30 +KPX agrave v -2 +KPX agrave w -5 +KPX agrave y 4 +KPX aring v -2 +KPX aring w -5 +KPX aring y 4 +KPX b v 19 +KPX b w 15 +KPX b y 22 +KPX c h 4 +KPX c k 0 +KPX comma one -3 +KPX comma quotedblright 26 +KPX comma quoteright 25 +KPX e quoteright 27 +KPX e t 16 +KPX e v 24 +KPX e w 20 +KPX e x 18 +KPX e y 30 +KPX eacute v 24 +KPX eacute w 20 +KPX eacute y 30 +KPX ecircumflex v 24 +KPX ecircumflex w 20 +KPX ecircumflex y 30 +KPX eight four 32 +KPX eight one 10 +KPX eight seven 12 +KPX f a -23 +KPX f aacute -23 +KPX f adieresis -4 +KPX f ae 10 +KPX f aring -23 +KPX f e -7 +KPX f eacute -7 +KPX f f 50 +KPX f i 20 +KPX f j 16 +KPX f l 50 +KPX f o -7 +KPX f oacute -7 +KPX f odieresis -4 +KPX f oe -8 +KPX f oslash -7 +KPX f quoteright 37 +KPX f s 10 +KPX f t 46 +KPX five four 31 +KPX five one -14 +KPX five seven 2 +KPX four four 43 +KPX four one 15 +KPX four seven 2 +KPX g a -25 +KPX g adieresis -25 +KPX g ae 5 +KPX g aring -25 +KPX g e -12 +KPX g eacute -12 +KPX g l -6 +KPX g oacute -12 +KPX g odieresis -12 +KPX g r 24 +KPX guillemotright A -33 +KPX guillemotright AE -42 +KPX guillemotright Aacute -33 +KPX guillemotright Adieresis -33 +KPX guillemotright Aring -33 +KPX guillemotright T -76 +KPX guillemotright V -63 +KPX guillemotright W -50 +KPX guillemotright Y -81 +KPX guilsinglright A -45 +KPX guilsinglright AE -54 +KPX guilsinglright Aacute -45 +KPX guilsinglright Adieresis -45 +KPX guilsinglright Aring -45 +KPX guilsinglright T -88 +KPX guilsinglright V -75 +KPX guilsinglright W -62 +KPX guilsinglright Y -93 +KPX h quoteright 12 +KPX h y 12 +KPX hyphen A 2 +KPX hyphen AE -8 +KPX hyphen Aacute 2 +KPX hyphen Adieresis 2 +KPX hyphen Aring 2 +KPX hyphen T -40 +KPX hyphen V -25 +KPX hyphen W -13 +KPX hyphen Y -50 +KPX i T 7 +KPX i j -7 +KPX k a 10 +KPX k aacute 10 +KPX k adieresis 10 +KPX k ae 10 +KPX k aring 10 +KPX k comma 7 +KPX k e 17 +KPX k eacute 17 +KPX k g -19 +KPX k hyphen -47 +KPX k o 6 +KPX k oacute 6 +KPX k odieresis 6 +KPX k period 10 +KPX k s 13 +KPX k u 4 +KPX k udieresis 4 +KPX l v -10 +KPX l y -3 +KPX m p 9 +KPX m v 5 +KPX m w 1 +KPX m y 12 +KPX n T -38 +KPX n p 9 +KPX n quoteright 13 +KPX n v 4 +KPX n w 0 +KPX n y 11 +KPX nine four 23 +KPX nine one 14 +KPX nine seven 9 +KPX o T -70 +KPX o quoteright 9 +KPX o t -4 +KPX o v 14 +KPX o w 10 +KPX o x 3 +KPX o y 16 +KPX oacute v 14 +KPX oacute w 10 +KPX oacute y 16 +KPX ocircumflex t -4 +KPX odieresis t -4 +KPX odieresis v 14 +KPX odieresis w 10 +KPX odieresis x 3 +KPX odieresis y 16 +KPX ograve v 14 +KPX ograve w 10 +KPX ograve y 16 +KPX one comma 3 +KPX one eight -2 +KPX one five 17 +KPX one four -25 +KPX one nine 3 +KPX one one 3 +KPX one period 0 +KPX one seven -10 +KPX one six -17 +KPX one three 20 +KPX one two 24 +KPX one zero -14 +KPX p t 9 +KPX p y 24 +KPX period one 1 +KPX period quotedblright 16 +KPX period quoteright 15 +KPX q c 0 +KPX q u 11 +KPX quotedblbase A 23 +KPX quotedblbase AE 17 +KPX quotedblbase T -42 +KPX quotedblbase V -60 +KPX quotedblbase W -43 +KPX quotedblbase Y -57 +KPX quotedblleft A -90 +KPX quotedblleft AE -99 +KPX quotedblleft Aacute -90 +KPX quotedblleft Adieresis -90 +KPX quotedblleft Aring -90 +KPX quotedblleft T 14 +KPX quotedblleft V 21 +KPX quotedblleft W 20 +KPX quotedblleft Y 18 +KPX quotedblright A -85 +KPX quotedblright AE -94 +KPX quotedblright Aacute -85 +KPX quotedblright Adieresis -85 +KPX quotedblright Aring -85 +KPX quotedblright T 20 +KPX quotedblright V 26 +KPX quotedblright W 25 +KPX quotedblright Y 23 +KPX quoteleft A -89 +KPX quoteleft AE -98 +KPX quoteleft Aacute -89 +KPX quoteleft Adieresis -89 +KPX quoteleft Aring -89 +KPX quoteleft T 15 +KPX quoteleft V 22 +KPX quoteleft W 21 +KPX quoteleft Y 19 +KPX quoteright A -83 +KPX quoteright AE -91 +KPX quoteright Aacute -83 +KPX quoteright Adieresis -83 +KPX quoteright Aring -83 +KPX quoteright comma -45 +KPX quoteright d -49 +KPX quoteright o -42 +KPX quoteright period -44 +KPX quoteright r -5 +KPX quoteright s -24 +KPX quoteright t -9 +KPX quoteright v 13 +KPX quoteright w 9 +KPX quoteright y 0 +KPX r a -1 +KPX r aacute -1 +KPX r acircumflex -1 +KPX r adieresis -1 +KPX r ae 0 +KPX r agrave -1 +KPX r aring -1 +KPX r c 14 +KPX r ccedilla 14 +KPX r colon 8 +KPX r comma -52 +KPX r d 5 +KPX r e 11 +KPX r eacute 11 +KPX r ecircumflex 11 +KPX r egrave 11 +KPX r f 39 +KPX r g 22 +KPX r h 2 +KPX r hyphen 17 +KPX r i 39 +KPX r j 33 +KPX r k -2 +KPX r l -7 +KPX r m 41 +KPX r n 43 +KPX r o 7 +KPX r oacute 7 +KPX r ocircumflex 7 +KPX r odieresis 7 +KPX r oe 9 +KPX r ograve 7 +KPX r oslash 7 +KPX r p 43 +KPX r period -51 +KPX r q 4 +KPX r quoteright 49 +KPX r r 41 +KPX r s 17 +KPX r semicolon 3 +KPX r t 35 +KPX r u 40 +KPX r v 41 +KPX r w 37 +KPX r x 32 +KPX r y 45 +KPX r z 14 +KPX s quoteright 17 +KPX s t 8 +KPX seven colon -43 +KPX seven comma -63 +KPX seven eight -2 +KPX seven five 9 +KPX seven four -29 +KPX seven one 17 +KPX seven period -62 +KPX seven seven 35 +KPX seven six -13 +KPX seven three 13 +KPX seven two 20 +KPX six four 41 +KPX six one -14 +KPX six seven 5 +KPX t S 11 +KPX t a 3 +KPX t aacute 3 +KPX t adieresis 3 +KPX t ae 3 +KPX t aring 3 +KPX t colon 7 +KPX t e 12 +KPX t eacute 12 +KPX t h 1 +KPX t o 1 +KPX t oacute 1 +KPX t odieresis 1 +KPX t quoteright 25 +KPX t semicolon 1 +KPX three four 29 +KPX three one -6 +KPX three seven -4 +KPX two four 6 +KPX two one 0 +KPX two seven -7 +KPX u quoteright 15 +KPX v a -18 +KPX v aacute -18 +KPX v acircumflex -18 +KPX v adieresis -18 +KPX v ae -24 +KPX v agrave -18 +KPX v aring -18 +KPX v atilde -18 +KPX v c -6 +KPX v colon -13 +KPX v comma -28 +KPX v e -6 +KPX v eacute -6 +KPX v ecircumflex -6 +KPX v egrave -6 +KPX v g -2 +KPX v hyphen 20 +KPX v l -19 +KPX v o -12 +KPX v oacute -12 +KPX v odieresis -12 +KPX v ograve -12 +KPX v oslash -13 +KPX v period -28 +KPX v s -7 +KPX v semicolon -20 +KPX w a -12 +KPX w aacute -12 +KPX w acircumflex -12 +KPX w adieresis -12 +KPX w ae -19 +KPX w agrave -12 +KPX w aring -12 +KPX w atilde -12 +KPX w c 0 +KPX w colon -8 +KPX w comma -23 +KPX w e -1 +KPX w eacute -1 +KPX w ecircumflex -1 +KPX w egrave -1 +KPX w g 3 +KPX w hyphen 26 +KPX w l -13 +KPX w o -7 +KPX w oacute -7 +KPX w odieresis -7 +KPX w ograve -7 +KPX w oslash -7 +KPX w period -24 +KPX w s -1 +KPX w semicolon -14 +KPX x a 9 +KPX x c 14 +KPX x e 17 +KPX x eacute 17 +KPX x o 6 +KPX x q 15 +KPX y a -10 +KPX y aacute -10 +KPX y acircumflex -10 +KPX y adieresis -10 +KPX y ae -15 +KPX y agrave -10 +KPX y aring -10 +KPX y atilde -10 +KPX y c 0 +KPX y colon -5 +KPX y comma -9 +KPX y e 0 +KPX y eacute 0 +KPX y ecircumflex 0 +KPX y egrave 0 +KPX y g -6 +KPX y hyphen 17 +KPX y l -11 +KPX y o -6 +KPX y oacute -6 +KPX y odieresis -6 +KPX y ograve -6 +KPX y oslash -6 +KPX y period -8 +KPX y s -1 +KPX y semicolon -11 +KPX zero four 32 +KPX zero one 12 +KPX zero seven 7 +EndKernPairs +EndKernData +EndFontMetrics diff --git a/Master/xemtex/gsfonts/p052024l.pfb b/Master/xemtex/gsfonts/p052024l.pfb new file mode 100644 index 00000000000..9374ec89a46 Binary files /dev/null and b/Master/xemtex/gsfonts/p052024l.pfb differ diff --git a/Master/xemtex/gsfonts/p052024l.pfm b/Master/xemtex/gsfonts/p052024l.pfm new file mode 100644 index 00000000000..0094579652b Binary files /dev/null and b/Master/xemtex/gsfonts/p052024l.pfm differ diff --git a/Master/xemtex/gsfonts/s050000l.afm b/Master/xemtex/gsfonts/s050000l.afm new file mode 100644 index 00000000000..897e56b54e2 --- /dev/null +++ b/Master/xemtex/gsfonts/s050000l.afm @@ -0,0 +1,213 @@ +StartFontMetrics 3.0 +Comment Copyright URW Software, Copyright 1997 by URW +Comment Creation Date: 10/21/1999 +Comment See the file PUBLIC (Aladdin Free Public License) for license conditions. +FontName StandardSymL +FullName Standard Symbols L +FamilyName Standard Symbols L +Weight Regular +ItalicAngle 0.0 +IsFixedPitch false +UnderlinePosition -229 +UnderlineThickness 46 +Version 001.005 +Notice URW Software, Copyright 1997 by URW +EncodingScheme FontSpecific +FontBBox -180 -293 1090 1010 +CapHeight 673 +XHeight 500 +Descender -222 +Ascender 673 +StartCharMetrics 190 +C 32 ; WX 250 ; N space ; B 0 0 0 0 ; +C 33 ; WX 333 ; N exclam ; B 128 -13 240 686 ; +C 34 ; WX 713 ; N universal ; B 31 0 681 673 ; +C 35 ; WX 500 ; N numbersign ; B 20 0 481 631 ; +C 36 ; WX 549 ; N existential ; B 25 0 478 673 ; +C 37 ; WX 833 ; N percent ; B 63 -7 771 673 ; +C 38 ; WX 778 ; N ampersand ; B 41 -13 750 675 ; +C 39 ; WX 439 ; N suchthat ; B 48 -13 414 503 ; +C 40 ; WX 333 ; N parenleft ; B 53 -172 300 680 ; +C 41 ; WX 333 ; N parenright ; B 30 -172 277 680 ; +C 42 ; WX 500 ; N asteriskmath ; B 65 127 427 546 ; +C 43 ; WX 549 ; N plus ; B 10 0 539 533 ; +C 44 ; WX 250 ; N comma ; B 56 -120 194 102 ; +C 45 ; WX 549 ; N minus ; B 11 239 535 294 ; +C 46 ; WX 250 ; N period ; B 69 -13 181 100 ; +C 47 ; WX 278 ; N slash ; B 0 0 254 673 ; +C 48 ; WX 500 ; N zero ; B 23 -13 471 686 ; +C 49 ; WX 500 ; N one ; B 117 0 390 673 ; +C 50 ; WX 500 ; N two ; B 25 0 475 686 ; +C 51 ; WX 500 ; N three ; B 39 -13 435 686 ; +C 52 ; WX 500 ; N four ; B 16 0 469 680 ; +C 53 ; WX 500 ; N five ; B 29 -13 443 699 ; +C 54 ; WX 500 ; N six ; B 36 -13 468 685 ; +C 55 ; WX 500 ; N seven ; B 24 -7 448 673 ; +C 56 ; WX 500 ; N eight ; B 54 -13 440 686 ; +C 57 ; WX 500 ; N nine ; B 31 -13 460 686 ; +C 58 ; WX 278 ; N colon ; B 81 -13 193 463 ; +C 59 ; WX 278 ; N semicolon ; B 83 -120 221 463 ; +C 60 ; WX 549 ; N less ; B 26 0 523 522 ; +C 61 ; WX 549 ; N equal ; B 11 142 537 391 ; +C 62 ; WX 549 ; N greater ; B 26 0 523 522 ; +C 63 ; WX 444 ; N question ; B 70 -13 412 686 ; +C 64 ; WX 549 ; N congruent ; B 11 0 537 475 ; +C 65 ; WX 722 ; N Alpha ; B 4 0 684 673 ; +C 66 ; WX 667 ; N Beta ; B 29 0 592 673 ; +C 67 ; WX 722 ; N Chi ; B -9 0 704 673 ; +C 68 ; WX 612 ; N Delta ; B 6 0 608 688 ; +C 69 ; WX 611 ; N Epsilon ; B 32 0 617 673 ; +C 70 ; WX 763 ; N Phi ; B 26 0 741 673 ; +C 71 ; WX 603 ; N Gamma ; B 24 0 609 673 ; +C 72 ; WX 722 ; N Eta ; B 39 0 729 673 ; +C 73 ; WX 333 ; N Iota ; B 32 0 316 673 ; +C 74 ; WX 631 ; N theta1 ; B 18 -13 623 686 ; +C 75 ; WX 722 ; N Kappa ; B 35 0 722 673 ; +C 76 ; WX 686 ; N Lambda ; B 6 0 680 688 ; +C 77 ; WX 889 ; N Mu ; B 28 0 887 673 ; +C 78 ; WX 722 ; N Nu ; B 29 0 720 673 ; +C 79 ; WX 722 ; N Omicron ; B 41 -13 715 686 ; +C 80 ; WX 768 ; N Pi ; B 25 0 745 673 ; +C 81 ; WX 741 ; N Theta ; B 41 -13 715 686 ; +C 82 ; WX 556 ; N Rho ; B 28 0 563 673 ; +C 83 ; WX 592 ; N Sigma ; B 5 0 589 673 ; +C 84 ; WX 611 ; N Tau ; B 33 0 607 673 ; +C 85 ; WX 690 ; N Upsilon ; B -8 0 694 673 ; +C 86 ; WX 439 ; N sigma1 ; B 40 -222 436 513 ; +C 87 ; WX 768 ; N Omega ; B 34 0 736 686 ; +C 88 ; WX 645 ; N Xi ; B 40 0 599 673 ; +C 89 ; WX 795 ; N Psi ; B 15 0 781 686 ; +C 90 ; WX 611 ; N Zeta ; B 44 0 636 673 ; +C 91 ; WX 333 ; N bracketleft ; B 86 -165 299 673 ; +C 92 ; WX 863 ; N therefore ; B 163 -13 701 433 ; +C 93 ; WX 333 ; N bracketright ; B 33 -165 246 673 ; +C 94 ; WX 658 ; N perpendicular ; B 15 0 652 673 ; +C 95 ; WX 500 ; N underscore ; B -2 -252 502 -206 ; +C 96 ; WX 500 ; N radicalex ; B 480 857 1090 913 ; +C 97 ; WX 631 ; N alpha ; B 41 -13 622 513 ; +C 98 ; WX 549 ; N beta ; B 61 -222 515 740 ; +C 99 ; WX 549 ; N chi ; B 12 -210 522 513 ; +C 100 ; WX 494 ; N delta ; B 40 -13 481 740 ; +C 101 ; WX 439 ; N epsilon ; B 22 -13 427 513 ; +C 102 ; WX 521 ; N phi ; B 27 -222 490 686 ; +C 103 ; WX 411 ; N gamma ; B 5 -219 484 513 ; +C 104 ; WX 603 ; N eta ; B 0 -222 527 513 ; +C 105 ; WX 329 ; N iota ; B 0 -13 301 513 ; +C 106 ; WX 603 ; N phi1 ; B 36 -222 587 513 ; +C 107 ; WX 549 ; N kappa ; B 33 0 558 513 ; +C 108 ; WX 549 ; N lambda ; B 24 -13 548 740 ; +C 109 ; WX 576 ; N mu ; B 33 -219 567 500 ; +C 110 ; WX 521 ; N nu ; B -9 -13 475 513 ; +C 111 ; WX 549 ; N omicron ; B 35 -13 501 513 ; +C 112 ; WX 549 ; N pi ; B 10 -13 530 500 ; +C 113 ; WX 521 ; N theta ; B 43 -13 485 686 ; +C 114 ; WX 549 ; N rho ; B 50 -220 490 513 ; +C 115 ; WX 603 ; N sigma ; B 30 -13 588 500 ; +C 116 ; WX 439 ; N tau ; B 10 -13 418 500 ; +C 117 ; WX 576 ; N upsilon ; B 7 -13 535 513 ; +C 118 ; WX 713 ; N omega1 ; B 12 -13 671 583 ; +C 119 ; WX 686 ; N omega ; B 42 -13 684 513 ; +C 120 ; WX 493 ; N xi ; B 27 -222 469 766 ; +C 121 ; WX 686 ; N psi ; B 12 -222 701 513 ; +C 122 ; WX 494 ; N zeta ; B 60 -222 467 756 ; +C 123 ; WX 480 ; N braceleft ; B 58 -165 397 673 ; +C 124 ; WX 200 ; N bar ; B 65 -177 135 673 ; +C 125 ; WX 480 ; N braceright ; B 79 -165 418 673 ; +C 126 ; WX 549 ; N similar ; B 17 196 529 325 ; +C 160 ; WX 762 ; N Euro ; B 53 -4 722 671 ; +C 161 ; WX 620 ; N Upsilon1 ; B -2 0 610 687 ; +C 162 ; WX 247 ; N minute ; B 27 476 228 735 ; +C 163 ; WX 549 ; N lessequal ; B 29 0 526 639 ; +C 164 ; WX 167 ; N fraction ; B -180 0 340 673 ; +C 165 ; WX 713 ; N infinity ; B 26 115 688 414 ; +C 166 ; WX 500 ; N florin ; B 2 -174 494 687 ; +C 167 ; WX 753 ; N club ; B 86 -26 660 544 ; +C 168 ; WX 753 ; N diamond ; B 142 -36 600 550 ; +C 169 ; WX 753 ; N heart ; B 117 -33 631 528 ; +C 170 ; WX 753 ; N spade ; B 113 -36 629 591 ; +C 171 ; WX 1042 ; N arrowboth ; B 24 -16 1024 512 ; +C 172 ; WX 987 ; N arrowleft ; B 32 -15 942 511 ; +C 173 ; WX 603 ; N arrowup ; B 45 0 571 910 ; +C 174 ; WX 987 ; N arrowright ; B 49 -15 959 511 ; +C 175 ; WX 603 ; N arrowdown ; B 45 -22 571 888 ; +C 176 ; WX 400 ; N degree ; B 50 380 350 686 ; +C 177 ; WX 549 ; N plusminus ; B 10 0 539 662 ; +C 178 ; WX 411 ; N second ; B 20 476 413 735 ; +C 179 ; WX 549 ; N greaterequal ; B 29 0 526 639 ; +C 180 ; WX 549 ; N multiply ; B 17 9 533 525 ; +C 181 ; WX 713 ; N proportional ; B 27 114 639 416 ; +C 182 ; WX 494 ; N partialdiff ; B 26 -10 462 753 ; +C 183 ; WX 460 ; N bullet ; B 50 155 410 518 ; +C 184 ; WX 549 ; N divide ; B 10 2 536 525 ; +C 185 ; WX 549 ; N notequal ; B 15 -25 540 549 ; +C 186 ; WX 549 ; N equivalence ; B 14 87 538 446 ; +C 187 ; WX 549 ; N approxequal ; B 14 121 527 408 ; +C 188 ; WX 1000 ; N ellipsis ; B 111 -13 889 100 ; +C 189 ; WX 603 ; N arrowvertex ; B 280 -120 336 1010 ; +C 190 ; WX 1000 ; N arrowhorizex ; B -60 220 1050 276 ; +C 191 ; WX 658 ; N carriagereturn ; B 15 -16 602 629 ; +C 192 ; WX 823 ; N aleph ; B 175 0 662 689 ; +C 193 ; WX 686 ; N Ifraktur ; B 10 -54 578 736 ; +C 194 ; WX 795 ; N Rfraktur ; B 26 -16 759 730 ; +C 195 ; WX 987 ; N weierstrass ; B 159 -211 870 574 ; +C 196 ; WX 768 ; N circlemultiply ; B 43 0 733 691 ; +C 197 ; WX 768 ; N circleplus ; B 43 0 733 689 ; +C 198 ; WX 823 ; N emptyset ; B 39 -24 781 718 ; +C 199 ; WX 768 ; N intersection ; B 40 0 732 507 ; +C 200 ; WX 768 ; N union ; B 40 -18 732 489 ; +C 201 ; WX 713 ; N propersuperset ; B 20 0 673 470 ; +C 202 ; WX 713 ; N reflexsuperset ; B 20 -125 673 470 ; +C 203 ; WX 713 ; N notsubset ; B 36 -70 690 540 ; +C 204 ; WX 713 ; N propersubset ; B 37 0 690 470 ; +C 205 ; WX 713 ; N reflexsubset ; B 37 -125 690 470 ; +C 206 ; WX 713 ; N element ; B 45 0 505 470 ; +C 207 ; WX 713 ; N notelement ; B 45 -58 505 555 ; +C 208 ; WX 768 ; N angle ; B 26 -1 738 672 ; +C 209 ; WX 713 ; N gradient ; B 36 0 681 687 ; +C 210 ; WX 790 ; N registerserif ; B 50 -13 740 690 ; +C 211 ; WX 790 ; N copyrightserif ; B 51 -13 741 690 ; +C 212 ; WX 890 ; N trademarkserif ; B 18 269 855 673 ; +C 213 ; WX 823 ; N product ; B 25 -124 803 751 ; +C 214 ; WX 549 ; N radical ; B 10 -35 515 913 ; +C 215 ; WX 250 ; N dotmath ; B 69 209 169 311 ; +C 216 ; WX 713 ; N logicalnot ; B 15 40 680 367 ; +C 217 ; WX 603 ; N logicaland ; B 23 -1 583 476 ; +C 218 ; WX 603 ; N logicalor ; B 30 -1 578 476 ; +C 219 ; WX 1042 ; N arrowdblboth ; B 27 -19 1023 506 ; +C 220 ; WX 987 ; N arrowdblleft ; B 30 -19 939 506 ; +C 221 ; WX 603 ; N arrowdblup ; B 39 0 567 909 ; +C 222 ; WX 987 ; N arrowdblright ; B 45 -19 954 506 ; +C 223 ; WX 603 ; N arrowdbldown ; B 44 0 572 909 ; +C 224 ; WX 494 ; N lozenge ; B 18 -1 466 740 ; +C 225 ; WX 329 ; N angleleft ; B 25 -152 306 757 ; +C 226 ; WX 790 ; N registersans ; B 50 -12 740 679 ; +C 227 ; WX 790 ; N copyrightsans ; B 49 -12 739 679 ; +C 228 ; WX 786 ; N trademarksans ; B 5 277 725 673 ; +C 229 ; WX 713 ; N summation ; B 14 -123 695 752 ; +C 230 ; WX 384 ; N parenlefttp ; B 40 -293 436 926 ; +C 231 ; WX 384 ; N parenleftex ; B 40 -79 92 925 ; +C 232 ; WX 384 ; N parenleftbt ; B 40 -293 436 926 ; +C 233 ; WX 384 ; N bracketlefttp ; B 0 -80 341 926 ; +C 234 ; WX 384 ; N bracketleftex ; B 0 -85 55 925 ; +C 235 ; WX 384 ; N bracketleftbt ; B 0 -80 340 926 ; +C 236 ; WX 494 ; N bracelefttp ; B 201 -75 439 926 ; +C 237 ; WX 494 ; N braceleftmid ; B 14 -85 255 935 ; +C 238 ; WX 494 ; N braceleftbt ; B 201 -70 439 926 ; +C 239 ; WX 494 ; N braceex ; B 201 -79 255 925 ; +C 241 ; WX 329 ; N angleright ; B 21 -152 302 757 ; +C 242 ; WX 274 ; N integral ; B 2 -107 291 916 ; +C 243 ; WX 686 ; N integraltp ; B 332 -83 715 922 ; +C 244 ; WX 686 ; N integralex ; B 332 -88 415 975 ; +C 245 ; WX 686 ; N integralbt ; B 39 -81 415 921 ; +C 246 ; WX 384 ; N parenrighttp ; B 54 -293 450 926 ; +C 247 ; WX 384 ; N parenrightex ; B 398 -70 450 935 ; +C 248 ; WX 384 ; N parenrightbt ; B 54 -293 450 926 ; +C 249 ; WX 384 ; N bracketrighttp ; B 22 -80 360 926 ; +C 250 ; WX 384 ; N bracketrightex ; B 305 -85 360 925 ; +C 251 ; WX 384 ; N bracketrightbt ; B 20 -80 360 926 ; +C 252 ; WX 494 ; N bracerighttp ; B 17 -75 255 926 ; +C 253 ; WX 494 ; N bracerightmid ; B 201 -85 442 935 ; +C 254 ; WX 494 ; N bracerightbt ; B 17 -70 255 926 ; +C -1 ; WX 250 ; N .notdef ; B 0 0 0 0 ; +EndCharMetrics +EndFontMetrics diff --git a/Master/xemtex/gsfonts/s050000l.pfb b/Master/xemtex/gsfonts/s050000l.pfb new file mode 100644 index 00000000000..84774010701 Binary files /dev/null and b/Master/xemtex/gsfonts/s050000l.pfb differ diff --git a/Master/xemtex/gsfonts/s050000l.pfm b/Master/xemtex/gsfonts/s050000l.pfm new file mode 100644 index 00000000000..71f4d27eb85 Binary files /dev/null and b/Master/xemtex/gsfonts/s050000l.pfm differ diff --git a/Master/xemtex/gsfonts/z003034l.afm b/Master/xemtex/gsfonts/z003034l.afm new file mode 100644 index 00000000000..44df48f26bb --- /dev/null +++ b/Master/xemtex/gsfonts/z003034l.afm @@ -0,0 +1,1341 @@ +StartFontMetrics 3.0 +Comment Copyright (URW)++,Copyright 1999 by (URW)++ Design & Development +Comment Creation Date: 12/22/1999 +Comment See the file PUBLIC (Aladdin Free Public License) for license conditions. +FontName URWChanceryL-MediItal +FullName URW Chancery L Medium Italic +FamilyName URW Chancery L +Weight Medium +ItalicAngle -14.0 +IsFixedPitch false +UnderlinePosition -120 +UnderlineThickness 50 +Version 1.05 +Notice (URW)++,Copyright 1999 by (URW)++ Design & Development +EncodingScheme AdobeStandardEncoding +FontBBox -133 -290 1078 913 +CapHeight 573 +XHeight 391 +Descender -248 +Ascender 677 +StartCharMetrics 316 +C 32 ; WX 220 ; N space ; B 0 0 0 0 ; +C 33 ; WX 280 ; N exclam ; B 109 -9 347 587 ; +C 34 ; WX 220 ; N quotedbl ; B 170 405 333 591 ; +C 35 ; WX 440 ; N numbersign ; B 63 -1 596 575 ; +C 36 ; WX 440 ; N dollar ; B 60 -144 461 675 ; +C 37 ; WX 680 ; N percent ; B 162 -7 701 584 ; +C 38 ; WX 780 ; N ampersand ; B 121 -17 855 557 ; +C 39 ; WX 240 ; N quoteright ; B 228 358 358 578 ; +C 40 ; WX 260 ; N parenleft ; B 116 -165 412 668 ; +C 41 ; WX 220 ; N parenright ; B 17 -166 313 667 ; +C 42 ; WX 420 ; N asterisk ; B 220 377 512 677 ; +C 43 ; WX 520 ; N plus ; B 103 14 513 424 ; +C 44 ; WX 220 ; N comma ; B 30 -98 215 173 ; +C 45 ; WX 280 ; N hyphen ; B 115 173 300 237 ; +C 46 ; WX 220 ; N period ; B 107 -9 228 128 ; +C 47 ; WX 340 ; N slash ; B -6 -170 535 679 ; +C 48 ; WX 440 ; N zero ; B 94 -7 489 576 ; +C 49 ; WX 440 ; N one ; B 82 0 434 582 ; +C 50 ; WX 440 ; N two ; B 47 -17 469 572 ; +C 51 ; WX 440 ; N three ; B 36 -6 458 575 ; +C 52 ; WX 440 ; N four ; B 69 -25 455 585 ; +C 53 ; WX 440 ; N five ; B 67 -8 565 640 ; +C 54 ; WX 440 ; N six ; B 95 -8 532 585 ; +C 55 ; WX 440 ; N seven ; B 165 -18 541 611 ; +C 56 ; WX 440 ; N eight ; B 75 -10 494 572 ; +C 57 ; WX 440 ; N nine ; B 42 -8 480 576 ; +C 58 ; WX 260 ; N colon ; B 98 -9 289 408 ; +C 59 ; WX 240 ; N semicolon ; B 29 -98 277 408 ; +C 60 ; WX 520 ; N less ; B 120 2 557 449 ; +C 61 ; WX 520 ; N equal ; B 108 108 518 330 ; +C 62 ; WX 520 ; N greater ; B 119 2 556 449 ; +C 63 ; WX 380 ; N question ; B 130 -9 497 582 ; +C 64 ; WX 700 ; N at ; B 102 -31 765 592 ; +C 65 ; WX 620 ; N A ; B 23 -13 687 594 ; +C 66 ; WX 600 ; N B ; B 75 -2 642 616 ; +C 67 ; WX 520 ; N C ; B 88 -73 635 591 ; +C 68 ; WX 700 ; N D ; B 86 0 759 614 ; +C 69 ; WX 620 ; N E ; B 76 -8 668 586 ; +C 70 ; WX 580 ; N F ; B 60 -114 733 620 ; +C 71 ; WX 620 ; N G ; B 118 -236 670 591 ; +C 72 ; WX 680 ; N H ; B 33 -11 908 678 ; +C 73 ; WX 380 ; N I ; B 81 0 481 573 ; +C 74 ; WX 400 ; N J ; B 1 -122 491 572 ; +C 75 ; WX 660 ; N K ; B 88 -147 851 577 ; +C 76 ; WX 580 ; N L ; B 33 -6 631 577 ; +C 77 ; WX 840 ; N M ; B 58 -13 1009 670 ; +C 78 ; WX 700 ; N N ; B 40 -163 915 677 ; +C 79 ; WX 600 ; N O ; B 104 -13 652 591 ; +C 80 ; WX 540 ; N P ; B 37 1 645 601 ; +C 81 ; WX 600 ; N Q ; B 104 -191 851 591 ; +C 82 ; WX 600 ; N R ; B 38 -156 826 611 ; +C 83 ; WX 460 ; N S ; B 0 -71 517 586 ; +C 84 ; WX 500 ; N T ; B 58 0 718 649 ; +C 85 ; WX 740 ; N U ; B 116 -14 778 578 ; +C 86 ; WX 640 ; N V ; B 104 -12 809 685 ; +C 87 ; WX 880 ; N W ; B 104 -17 1035 677 ; +C 88 ; WX 560 ; N X ; B 0 -13 671 580 ; +C 89 ; WX 560 ; N Y ; B 31 -152 763 608 ; +C 90 ; WX 620 ; N Z ; B 62 -18 676 597 ; +C 91 ; WX 240 ; N bracketleft ; B 47 -165 404 665 ; +C 92 ; WX 480 ; N backslash ; B 185 0 484 579 ; +C 93 ; WX 320 ; N bracketright ; B 23 -165 381 665 ; +C 94 ; WX 520 ; N asciicircum ; B 212 447 472 681 ; +C 95 ; WX 500 ; N underscore ; B 0 -145 500 -95 ; +C 96 ; WX 240 ; N quoteleft ; B 229 435 384 676 ; +C 97 ; WX 420 ; N a ; B 87 -13 492 411 ; +C 98 ; WX 420 ; N b ; B 87 -17 466 677 ; +C 99 ; WX 340 ; N c ; B 87 -13 383 411 ; +C 100 ; WX 440 ; N d ; B 87 -13 629 677 ; +C 101 ; WX 340 ; N e ; B 87 -13 380 411 ; +C 102 ; WX 320 ; N f ; B -99 -246 541 680 ; +C 103 ; WX 400 ; N g ; B -78 -247 481 410 ; +C 104 ; WX 440 ; N h ; B 75 -15 506 678 ; +C 105 ; WX 240 ; N i ; B 81 -13 311 616 ; +C 106 ; WX 220 ; N j ; B -133 -247 303 616 ; +C 107 ; WX 440 ; N k ; B 87 -153 655 675 ; +C 108 ; WX 240 ; N l ; B 87 -13 434 678 ; +C 109 ; WX 620 ; N m ; B 81 -10 693 411 ; +C 110 ; WX 460 ; N n ; B 81 -16 520 411 ; +C 111 ; WX 400 ; N o ; B 87 -13 449 411 ; +C 112 ; WX 440 ; N p ; B -8 -248 482 411 ; +C 113 ; WX 400 ; N q ; B 87 -249 485 479 ; +C 114 ; WX 300 ; N r ; B 81 -10 409 411 ; +C 115 ; WX 320 ; N s ; B 41 -13 377 411 ; +C 116 ; WX 320 ; N t ; B 96 -13 392 503 ; +C 117 ; WX 460 ; N u ; B 82 -13 518 415 ; +C 118 ; WX 440 ; N v ; B 87 -13 510 437 ; +C 119 ; WX 680 ; N w ; B 87 -13 757 444 ; +C 120 ; WX 420 ; N x ; B 70 -160 583 411 ; +C 121 ; WX 400 ; N y ; B 11 -248 473 415 ; +C 122 ; WX 440 ; N z ; B 46 -13 475 426 ; +C 123 ; WX 240 ; N braceleft ; B 105 -165 405 661 ; +C 124 ; WX 520 ; N bar ; B 314 0 363 722 ; +C 125 ; WX 240 ; N braceright ; B 10 -166 308 661 ; +C 126 ; WX 520 ; N asciitilde ; B 86 165 526 278 ; +C 161 ; WX 280 ; N exclamdown ; B 57 -186 295 409 ; +C 162 ; WX 440 ; N cent ; B 127 -76 453 651 ; +C 163 ; WX 440 ; N sterling ; B 4 -53 436 578 ; +C 164 ; WX 60 ; N fraction ; B -115 -5 280 585 ; +C 165 ; WX 440 ; N yen ; B -11 -152 623 608 ; +C 166 ; WX 440 ; N florin ; B -49 -246 587 682 ; +C 167 ; WX 420 ; N section ; B 63 -164 464 576 ; +C 168 ; WX 440 ; N currency ; B 50 72 480 500 ; +C 169 ; WX 160 ; N quotesingle ; B 170 405 259 591 ; +C 170 ; WX 340 ; N quotedblleft ; B 229 435 500 676 ; +C 171 ; WX 340 ; N guillemotleft ; B 98 -9 404 413 ; +C 172 ; WX 240 ; N guilsinglleft ; B 98 -9 285 413 ; +C 173 ; WX 260 ; N guilsinglright ; B 86 -3 284 423 ; +C 174 ; WX 520 ; N fi ; B -104 -247 606 681 ; +C 175 ; WX 520 ; N fl ; B -105 -246 710 688 ; +C 177 ; WX 500 ; N endash ; B 31 173 578 237 ; +C 178 ; WX 460 ; N dagger ; B 98 -138 529 606 ; +C 179 ; WX 480 ; N daggerdbl ; B 98 -137 529 607 ; +C 180 ; WX 220 ; N periodcentered ; B 108 156 229 277 ; +C 182 ; WX 500 ; N paragraph ; B 29 -247 650 586 ; +C 183 ; WX 600 ; N bullet ; B 228 217 568 557 ; +C 184 ; WX 180 ; N quotesinglbase ; B 40 -109 170 111 ; +C 185 ; WX 280 ; N quotedblbase ; B 41 -109 286 111 ; +C 186 ; WX 360 ; N quotedblright ; B 228 454 473 673 ; +C 187 ; WX 380 ; N guillemotright ; B 87 -3 407 423 ; +C 188 ; WX 1000 ; N ellipsis ; B 106 -9 893 128 ; +C 189 ; WX 960 ; N perthousand ; B 162 -7 975 584 ; +C 191 ; WX 400 ; N questiondown ; B 57 -181 425 409 ; +C 193 ; WX 220 ; N grave ; B 173 460 281 655 ; +C 194 ; WX 300 ; N acute ; B 205 460 388 655 ; +C 195 ; WX 340 ; N circumflex ; B 183 460 397 656 ; +C 196 ; WX 440 ; N tilde ; B 183 494 513 604 ; +C 197 ; WX 440 ; N macron ; B 183 520 515 568 ; +C 198 ; WX 440 ; N breve ; B 183 488 516 623 ; +C 199 ; WX 220 ; N dotaccent ; B 206 489 309 612 ; +C 200 ; WX 360 ; N dieresis ; B 183 489 419 612 ; +C 202 ; WX 300 ; N ring ; B 228 461 409 640 ; +C 203 ; WX 300 ; N cedilla ; B 41 -212 216 0 ; +C 205 ; WX 400 ; N hungarumlaut ; B 183 460 463 655 ; +C 206 ; WX 280 ; N ogonek ; B 58 -153 216 0 ; +C 207 ; WX 340 ; N caron ; B 234 458 447 655 ; +C 208 ; WX 1000 ; N emdash ; B 31 172 1078 236 ; +C 225 ; WX 740 ; N AE ; B 32 -4 798 571 ; +C 227 ; WX 260 ; N ordfeminine ; B 81 253 324 576 ; +C 232 ; WX 580 ; N Lslash ; B 33 -6 631 577 ; +C 233 ; WX 660 ; N Oslash ; B 110 -132 707 690 ; +C 234 ; WX 820 ; N OE ; B 104 -13 870 588 ; +C 235 ; WX 260 ; N ordmasculine ; B 98 253 323 578 ; +C 241 ; WX 540 ; N ae ; B 87 -13 588 440 ; +C 245 ; WX 240 ; N dotlessi ; B 81 -13 311 411 ; +C 248 ; WX 300 ; N lslash ; B 87 -13 491 678 ; +C 249 ; WX 440 ; N oslash ; B 92 -148 467 547 ; +C 250 ; WX 560 ; N oe ; B 88 -13 602 411 ; +C 251 ; WX 420 ; N germandbls ; B -127 -248 506 680 ; +C -1 ; WX 740 ; N Udieresis ; B 116 -14 778 773 ; +C -1 ; WX 740 ; N Uacute ; B 116 -14 778 820 ; +C -1 ; WX 460 ; N Scedilla ; B 0 -266 517 586 ; +C -1 ; WX 500 ; N Tcaron ; B 58 0 718 821 ; +C -1 ; WX 460 ; N Scaron ; B 0 -71 607 821 ; +C -1 ; WX 600 ; N Rcaron ; B 38 -156 826 821 ; +C -1 ; WX 600 ; N Racute ; B 38 -156 826 820 ; +C -1 ; WX 460 ; N Sacute ; B 0 -71 517 820 ; +C -1 ; WX 600 ; N Otilde ; B 104 -13 678 765 ; +C -1 ; WX 460 ; N ucircumflex ; B 82 -13 518 656 ; +C -1 ; WX 600 ; N Ohungarumlaut ; B 104 -13 652 820 ; +C -1 ; WX 740 ; N Uhungarumlaut ; B 116 -14 816 820 ; +C -1 ; WX 560 ; N Yacute ; B 31 -152 763 820 ; +C -1 ; WX 700 ; N Eth ; B 86 0 759 615 ; +C -1 ; WX 700 ; N Dcroat ; B 86 0 759 615 ; +C -1 ; WX 620 ; N Zacute ; B 62 -18 676 820 ; +C -1 ; WX 740 ; N Uring ; B 116 -14 778 802 ; +C -1 ; WX 400 ; N gbreve ; B -78 -247 496 623 ; +C -1 ; WX 340 ; N eogonek ; B 87 -153 380 411 ; +C -1 ; WX 340 ; N edotaccent ; B 87 -13 380 612 ; +C -1 ; WX 340 ; N ecaron ; B 87 -13 487 655 ; +C -1 ; WX 740 ; N Ugrave ; B 116 -14 778 820 ; +C -1 ; WX 540 ; N Thorn ; B 37 1 619 585 ; +C -1 ; WX 340 ; N eacute ; B 87 -13 408 655 ; +C -1 ; WX 340 ; N edieresis ; B 87 -13 409 612 ; +C -1 ; WX 497 ; N dcaron ; B 87 -13 697 678 ; +C -1 ; WX 340 ; N ccedilla ; B 61 -212 383 411 ; +C -1 ; WX 340 ; N ccaron ; B 87 -13 467 655 ; +C -1 ; WX 340 ; N cacute ; B 87 -13 441 655 ; +C -1 ; WX 420 ; N aogonek ; B 87 -153 492 411 ; +C -1 ; WX 420 ; N aring ; B 87 -13 492 640 ; +C -1 ; WX 420 ; N atilde ; B 87 -13 513 604 ; +C -1 ; WX 420 ; N abreve ; B 87 -13 526 623 ; +C -1 ; WX 340 ; N egrave ; B 87 -13 380 655 ; +C -1 ; WX 420 ; N agrave ; B 87 -13 492 655 ; +C -1 ; WX 420 ; N aacute ; B 87 -13 492 655 ; +C -1 ; WX 420 ; N adieresis ; B 87 -13 492 612 ; +C -1 ; WX 740 ; N Uogonek ; B 116 -153 778 578 ; +C -1 ; WX 460 ; N ugrave ; B 82 -13 518 655 ; +C -1 ; WX 460 ; N uacute ; B 82 -13 518 655 ; +C -1 ; WX 460 ; N udieresis ; B 82 -13 518 612 ; +C -1 ; WX 320 ; N tcaron ; B 96 -13 480 678 ; +C -1 ; WX 320 ; N scommaaccent ; B 41 -270 377 411 ; +C -1 ; WX 620 ; N Zcaron ; B 62 -18 676 821 ; +C -1 ; WX 340 ; N ecircumflex ; B 87 -13 397 656 ; +C -1 ; WX 740 ; N Ucircumflex ; B 116 -14 778 821 ; +C -1 ; WX 420 ; N acircumflex ; B 87 -13 492 656 ; +C -1 ; WX 620 ; N Zdotaccent ; B 62 -18 676 773 ; +C -1 ; WX 320 ; N scaron ; B 41 -13 477 655 ; +C -1 ; WX 620 ; N Amacron ; B 23 -13 760 729 ; +C -1 ; WX 320 ; N sacute ; B 41 -13 440 655 ; +C -1 ; WX 500 ; N Tcommaaccent ; B 58 -270 718 649 ; +C -1 ; WX 560 ; N Ydieresis ; B 31 -152 763 773 ; +C -1 ; WX 440 ; N thorn ; B -8 -248 482 680 ; +C -1 ; WX 620 ; N Emacron ; B 76 -8 668 729 ; +C -1 ; WX 600 ; N Ograve ; B 104 -13 652 820 ; +C -1 ; WX 600 ; N Oacute ; B 104 -13 652 820 ; +C -1 ; WX 600 ; N Odieresis ; B 104 -13 652 773 ; +C -1 ; WX 700 ; N Ntilde ; B 40 -163 915 765 ; +C -1 ; WX 700 ; N Ncaron ; B 40 -163 915 821 ; +C -1 ; WX 700 ; N Nacute ; B 40 -163 915 820 ; +C -1 ; WX 580 ; N Lcaron ; B 33 -6 700 591 ; +C -1 ; WX 580 ; N Lacute ; B 33 -6 631 820 ; +C -1 ; WX 380 ; N Idotaccent ; B 81 0 481 773 ; +C -1 ; WX 300 ; N racute ; B 81 -10 428 655 ; +C -1 ; WX 380 ; N Icircumflex ; B 81 0 487 821 ; +C -1 ; WX 400 ; N ohungarumlaut ; B 87 -13 543 655 ; +C -1 ; WX 400 ; N otilde ; B 87 -13 493 604 ; +C -1 ; WX 440 ; N Euro ; B -28 -73 528 591 ; +C -1 ; WX 400 ; N ocircumflex ; B 87 -13 449 656 ; +C -1 ; WX 264 ; N onesuperior ; B 86 217 314 568 ; +C -1 ; WX 264 ; N twosuperior ; B 80 206 354 562 ; +C -1 ; WX 264 ; N threesuperior ; B 69 212 343 561 ; +C -1 ; WX 380 ; N Igrave ; B 81 0 481 820 ; +C -1 ; WX 380 ; N Iacute ; B 81 0 481 820 ; +C -1 ; WX 380 ; N Imacron ; B 81 0 548 729 ; +C -1 ; WX 380 ; N Iogonek ; B 81 -153 481 573 ; +C -1 ; WX 380 ; N Idieresis ; B 81 0 481 773 ; +C -1 ; WX 620 ; N Gbreve ; B 118 -236 670 784 ; +C -1 ; WX 740 ; N Umacron ; B 116 -14 788 729 ; +C -1 ; WX 660 ; N Kcommaaccent ; B 88 -270 851 577 ; +C -1 ; WX 400 ; N ograve ; B 87 -13 449 655 ; +C -1 ; WX 460 ; N Scommaaccent ; B 0 -290 517 586 ; +C -1 ; WX 620 ; N Eogonek ; B 76 -153 668 586 ; +C -1 ; WX 400 ; N oacute ; B 87 -13 449 655 ; +C -1 ; WX 620 ; N Edotaccent ; B 76 -8 668 773 ; +C -1 ; WX 240 ; N iogonek ; B 65 -153 311 616 ; +C -1 ; WX 400 ; N gcommaaccent ; B -78 -247 481 668 ; +C -1 ; WX 400 ; N odieresis ; B 87 -13 449 612 ; +C -1 ; WX 460 ; N ntilde ; B 81 -16 523 604 ; +C -1 ; WX 460 ; N ncaron ; B 81 -16 520 655 ; +C -1 ; WX 620 ; N Ecaron ; B 76 -8 668 821 ; +C -1 ; WX 620 ; N Ecircumflex ; B 76 -8 668 821 ; +C -1 ; WX 320 ; N scedilla ; B -9 -213 377 411 ; +C -1 ; WX 300 ; N rcaron ; B 81 -10 467 655 ; +C -1 ; WX 620 ; N Egrave ; B 76 -8 668 820 ; +C -1 ; WX 620 ; N Eacute ; B 76 -8 668 820 ; +C -1 ; WX 620 ; N Gcommaaccent ; B 120 -270 672 590 ; +C -1 ; WX 600 ; N Rcommaaccent ; B 38 -270 826 611 ; +C -1 ; WX 620 ; N Edieresis ; B 76 -8 668 773 ; +C -1 ; WX 460 ; N nacute ; B 81 -16 520 655 ; +C -1 ; WX 460 ; N uogonek ; B 82 -153 518 415 ; +C -1 ; WX 460 ; N umacron ; B 82 -13 525 568 ; +C -1 ; WX 700 ; N Dcaron ; B 86 0 759 821 ; +C -1 ; WX 293 ; N lcaron ; B 87 -13 493 678 ; +C -1 ; WX 520 ; N Ccaron ; B 88 -73 680 821 ; +C -1 ; WX 520 ; N Cacute ; B 88 -73 635 820 ; +C -1 ; WX 520 ; N Ccedilla ; B 88 -266 635 591 ; +C -1 ; WX 400 ; N degree ; B 190 330 430 576 ; +C -1 ; WX 620 ; N Aogonek ; B 23 -153 687 594 ; +C -1 ; WX 520 ; N minus ; B 55 192 559 246 ; +C -1 ; WX 520 ; N multiply ; B 103 14 513 424 ; +C -1 ; WX 520 ; N divide ; B 103 -4 513 443 ; +C -1 ; WX 620 ; N Aring ; B 23 -13 687 802 ; +C -1 ; WX 1000 ; N trademark ; B 165 210 1050 580 ; +C -1 ; WX 300 ; N rcommaaccent ; B 38 -270 409 411 ; +C -1 ; WX 240 ; N lacute ; B 87 -13 454 860 ; +C -1 ; WX 400 ; N omacron ; B 87 -13 495 568 ; +C -1 ; WX 620 ; N Atilde ; B 23 -13 753 765 ; +C -1 ; WX 240 ; N icircumflex ; B 81 -13 347 656 ; +C -1 ; WX 240 ; N igrave ; B 81 -13 311 655 ; +C -1 ; WX 460 ; N ncommaaccent ; B 81 -270 520 411 ; +C -1 ; WX 240 ; N lcommaaccent ; B 8 -270 434 678 ; +C -1 ; WX 520 ; N plusminus ; B 103 0 513 508 ; +C -1 ; WX 660 ; N onehalf ; B 96 -10 659 585 ; +C -1 ; WX 660 ; N onequarter ; B 96 -15 653 585 ; +C -1 ; WX 660 ; N threequarters ; B 79 -15 663 585 ; +C -1 ; WX 240 ; N iacute ; B 81 -13 358 655 ; +C -1 ; WX 620 ; N Abreve ; B 23 -13 740 784 ; +C -1 ; WX 440 ; N kcommaaccent ; B 87 -270 655 675 ; +C -1 ; WX 600 ; N Omacron ; B 104 -13 652 729 ; +C -1 ; WX 240 ; N imacron ; B 81 -13 415 568 ; +C -1 ; WX 340 ; N emacron ; B 87 -13 465 568 ; +C -1 ; WX 420 ; N amacron ; B 87 -13 505 568 ; +C -1 ; WX 320 ; N tcommaaccent ; B 48 -270 392 503 ; +C -1 ; WX 400 ; N ydieresis ; B 11 -248 473 612 ; +C -1 ; WX 440 ; N zdotaccent ; B 46 -13 475 612 ; +C -1 ; WX 440 ; N zcaron ; B 46 -13 527 655 ; +C -1 ; WX 440 ; N zacute ; B 46 -13 498 655 ; +C -1 ; WX 400 ; N yacute ; B 11 -248 478 655 ; +C -1 ; WX 460 ; N uhungarumlaut ; B 82 -13 533 655 ; +C -1 ; WX 400 ; N eth ; B 87 -13 557 689 ; +C -1 ; WX 460 ; N uring ; B 82 -13 518 640 ; +C -1 ; WX 600 ; N Ocircumflex ; B 104 -13 652 821 ; +C -1 ; WX 300 ; N commaaccent ; B 38 -270 165 -60 ; +C -1 ; WX 740 ; N copyright ; B 136 -26 830 668 ; +C -1 ; WX 740 ; N registered ; B 135 -26 828 668 ; +C -1 ; WX 620 ; N Acircumflex ; B 23 -13 687 821 ; +C -1 ; WX 240 ; N idieresis ; B 81 -13 359 612 ; +C -1 ; WX 494 ; N lozenge ; B 18 0 466 740 ; +C -1 ; WX 612 ; N Delta ; B 6 0 608 688 ; +C -1 ; WX 520 ; N notequal ; B 108 5 518 433 ; +C -1 ; WX 549 ; N radical ; B 10 -35 515 913 ; +C -1 ; WX 620 ; N Agrave ; B 23 -13 687 820 ; +C -1 ; WX 620 ; N Aacute ; B 23 -13 687 820 ; +C -1 ; WX 549 ; N lessequal ; B 29 0 526 639 ; +C -1 ; WX 549 ; N greaterequal ; B 29 0 526 639 ; +C -1 ; WX 520 ; N logicalnot ; B 55 25 559 314 ; +C -1 ; WX 713 ; N summation ; B 14 -123 695 752 ; +C -1 ; WX 494 ; N partialdiff ; B 26 -10 462 753 ; +C -1 ; WX 700 ; N Ncommaaccent ; B 40 -270 915 677 ; +C -1 ; WX 440 ; N dcroat ; B 87 -13 629 677 ; +C -1 ; WX 520 ; N brokenbar ; B 314 0 363 722 ; +C -1 ; WX 580 ; N Lcommaaccent ; B 33 -270 631 577 ; +C -1 ; WX 620 ; N Adieresis ; B 23 -13 699 773 ; +C -1 ; WX 460 ; N mu ; B 15 -218 518 415 ; +C -1 ; WX 220 ; N .notdef ; B 0 0 0 0 ; +EndCharMetrics +StartKernData +StartKernPairs 998 +KPX A C 13 +KPX A Ccedilla 12 +KPX A G -12 +KPX A O -10 +KPX A Odieresis -10 +KPX A Q -11 +KPX A T -14 +KPX A U -22 +KPX A Uacute -24 +KPX A Ucircumflex -24 +KPX A Udieresis -24 +KPX A Ugrave -24 +KPX A V -19 +KPX A W -19 +KPX A Y -1 +KPX A a 11 +KPX A b 7 +KPX A c 10 +KPX A ccedilla 10 +KPX A comma 2 +KPX A d 11 +KPX A e 9 +KPX A g 9 +KPX A guillemotleft -10 +KPX A guilsinglleft -9 +KPX A hyphen -10 +KPX A o 8 +KPX A period 6 +KPX A q 11 +KPX A quotedblright -47 +KPX A quoteright -58 +KPX A t -12 +KPX A u 1 +KPX A v -13 +KPX A w -18 +KPX A y 5 +KPX Aacute C 13 +KPX Aacute G -12 +KPX Aacute O -10 +KPX Aacute Q -11 +KPX Aacute T -14 +KPX Aacute U -22 +KPX Aacute V -27 +KPX Aacute W -26 +KPX Aacute Y -3 +KPX Aacute a 11 +KPX Aacute b 7 +KPX Aacute c 10 +KPX Aacute comma 2 +KPX Aacute d 11 +KPX Aacute e 9 +KPX Aacute g 9 +KPX Aacute guillemotleft -10 +KPX Aacute guilsinglleft -9 +KPX Aacute hyphen -10 +KPX Aacute o 8 +KPX Aacute period 6 +KPX Aacute q 11 +KPX Aacute quoteright -58 +KPX Aacute t -12 +KPX Aacute u 1 +KPX Aacute v -13 +KPX Aacute w -18 +KPX Aacute y 5 +KPX Acircumflex C 13 +KPX Acircumflex G -12 +KPX Acircumflex O -10 +KPX Acircumflex Q -11 +KPX Acircumflex T -14 +KPX Acircumflex U -22 +KPX Acircumflex V -25 +KPX Acircumflex W -24 +KPX Acircumflex Y -3 +KPX Acircumflex comma 2 +KPX Acircumflex period 6 +KPX Adieresis C 13 +KPX Adieresis G -12 +KPX Adieresis O -11 +KPX Adieresis Q -11 +KPX Adieresis T -14 +KPX Adieresis U -23 +KPX Adieresis V -26 +KPX Adieresis W -26 +KPX Adieresis Y -3 +KPX Adieresis a 11 +KPX Adieresis b 7 +KPX Adieresis c 10 +KPX Adieresis comma 2 +KPX Adieresis d 11 +KPX Adieresis g 9 +KPX Adieresis guillemotleft -10 +KPX Adieresis guilsinglleft -9 +KPX Adieresis hyphen -10 +KPX Adieresis o 8 +KPX Adieresis period 6 +KPX Adieresis q 11 +KPX Adieresis quotedblright -53 +KPX Adieresis quoteright -58 +KPX Adieresis t -12 +KPX Adieresis u 1 +KPX Adieresis v -13 +KPX Adieresis w -18 +KPX Adieresis y 5 +KPX Agrave C 13 +KPX Agrave G -12 +KPX Agrave O -10 +KPX Agrave Q -11 +KPX Agrave T -14 +KPX Agrave U -22 +KPX Agrave V -27 +KPX Agrave W -26 +KPX Agrave Y -3 +KPX Agrave comma 2 +KPX Agrave period 6 +KPX Aring C 13 +KPX Aring G -12 +KPX Aring O -10 +KPX Aring Q -11 +KPX Aring T -14 +KPX Aring U -22 +KPX Aring V -25 +KPX Aring W -25 +KPX Aring Y -3 +KPX Aring a 11 +KPX Aring b 7 +KPX Aring c 10 +KPX Aring comma 2 +KPX Aring d 11 +KPX Aring e 9 +KPX Aring g 9 +KPX Aring guillemotleft -10 +KPX Aring guilsinglleft -9 +KPX Aring hyphen -10 +KPX Aring o 8 +KPX Aring period 6 +KPX Aring q 11 +KPX Aring quotedblright -52 +KPX Aring quoteright -58 +KPX Aring t -12 +KPX Aring u 1 +KPX Aring v -13 +KPX Aring w -18 +KPX Aring y 5 +KPX Atilde C 13 +KPX Atilde G -12 +KPX Atilde O -10 +KPX Atilde Q -10 +KPX Atilde T -13 +KPX Atilde U -22 +KPX Atilde V -26 +KPX Atilde W -26 +KPX Atilde Y -2 +KPX Atilde comma 3 +KPX Atilde period 7 +KPX B A -26 +KPX B AE -31 +KPX B Aacute -26 +KPX B Acircumflex -26 +KPX B Adieresis -26 +KPX B Aring -26 +KPX B Atilde -26 +KPX B O 0 +KPX B OE -3 +KPX B Oacute -2 +KPX B Ocircumflex -2 +KPX B Odieresis -2 +KPX B Ograve -2 +KPX B Oslash -18 +KPX B V -8 +KPX B W -8 +KPX B Y 8 +KPX C A 12 +KPX C AE 10 +KPX C Aacute 12 +KPX C Adieresis 12 +KPX C Aring 12 +KPX C H 2 +KPX C K -6 +KPX C O -25 +KPX C Oacute -25 +KPX C Odieresis -25 +KPX Ccedilla A 9 +KPX D A -29 +KPX D Aacute -32 +KPX D Acircumflex -32 +KPX D Adieresis -32 +KPX D Agrave -32 +KPX D Aring -32 +KPX D Atilde -32 +KPX D J -31 +KPX D T 26 +KPX D V 3 +KPX D W 3 +KPX D X -23 +KPX D Y 19 +KPX F A -55 +KPX F Aacute -54 +KPX F Acircumflex -54 +KPX F Adieresis -54 +KPX F Agrave -54 +KPX F Aring -54 +KPX F Atilde -54 +KPX F J -55 +KPX F O -25 +KPX F Odieresis -25 +KPX F a -41 +KPX F aacute -41 +KPX F adieresis -39 +KPX F ae -40 +KPX F aring -41 +KPX F comma -82 +KPX F e -37 +KPX F eacute -37 +KPX F hyphen -24 +KPX F i -11 +KPX F j -9 +KPX F o -41 +KPX F oacute -41 +KPX F odieresis -19 +KPX F oe -40 +KPX F oslash -47 +KPX F period -70 +KPX F r -24 +KPX F u -21 +KPX G A -33 +KPX G AE -36 +KPX G Aacute -33 +KPX G Acircumflex -33 +KPX G Adieresis -33 +KPX G Agrave -33 +KPX G Aring -33 +KPX G Atilde -33 +KPX G T 2 +KPX G V -18 +KPX G W -19 +KPX G Y 3 +KPX J A -28 +KPX J AE -35 +KPX J Adieresis -28 +KPX J Aring -28 +KPX K C 48 +KPX K G 16 +KPX K O -6 +KPX K OE -10 +KPX K Oacute -6 +KPX K Odieresis -6 +KPX K S 102 +KPX K T 42 +KPX K a -38 +KPX K adieresis -18 +KPX K ae -38 +KPX K aring -32 +KPX K e -36 +KPX K hyphen -40 +KPX K o -41 +KPX K oacute -41 +KPX K odieresis 2 +KPX K u -38 +KPX K udieresis -13 +KPX K y -16 +KPX L A 6 +KPX L AE 4 +KPX L Aacute 6 +KPX L Adieresis 6 +KPX L Aring 6 +KPX L C 5 +KPX L Ccedilla 6 +KPX L G -7 +KPX L O 0 +KPX L Oacute 0 +KPX L Ocircumflex 0 +KPX L Odieresis 0 +KPX L Ograve 0 +KPX L Otilde 0 +KPX L S 18 +KPX L T -17 +KPX L U -28 +KPX L Udieresis -28 +KPX L V -24 +KPX L W -25 +KPX L Y -4 +KPX L hyphen 30 +KPX L quotedblright -93 +KPX L quoteright -94 +KPX L u -7 +KPX L udieresis -7 +KPX L y -4 +KPX N A -24 +KPX N AE -30 +KPX N Aacute -24 +KPX N Adieresis -24 +KPX N Aring -24 +KPX N C 55 +KPX N Ccedilla 53 +KPX N G 23 +KPX N O -11 +KPX N Oacute -13 +KPX N Odieresis -12 +KPX N a -26 +KPX N aacute -26 +KPX N adieresis -26 +KPX N ae -26 +KPX N aring -26 +KPX N comma 111 +KPX N e -24 +KPX N eacute -24 +KPX N o -29 +KPX N oacute -29 +KPX N odieresis -29 +KPX N oslash 80 +KPX N period -20 +KPX N u -27 +KPX N udieresis -27 +KPX O A -28 +KPX O AE -41 +KPX O Aacute -28 +KPX O Adieresis -28 +KPX O Aring -28 +KPX O T 23 +KPX O V 2 +KPX O W 2 +KPX O X -21 +KPX O Y 16 +KPX Oacute A -28 +KPX Oacute T 23 +KPX Oacute V 0 +KPX Oacute W 0 +KPX Oacute Y 16 +KPX Ocircumflex T 23 +KPX Ocircumflex V 0 +KPX Ocircumflex Y 16 +KPX Odieresis A -28 +KPX Odieresis T 23 +KPX Odieresis V 0 +KPX Odieresis W 0 +KPX Odieresis X -21 +KPX Odieresis Y 16 +KPX Ograve T 23 +KPX Ograve V 0 +KPX Ograve Y 16 +KPX Oslash A -42 +KPX Otilde T 23 +KPX Otilde V 0 +KPX Otilde Y 17 +KPX P A -28 +KPX P AE -32 +KPX P Aacute -28 +KPX P Adieresis -28 +KPX P Aring -28 +KPX P J -13 +KPX P a -36 +KPX P aacute -36 +KPX P adieresis -36 +KPX P ae -37 +KPX P aring -36 +KPX P comma -63 +KPX P e -32 +KPX P eacute -32 +KPX P hyphen -36 +KPX P o -40 +KPX P oacute -40 +KPX P odieresis -40 +KPX P oe -39 +KPX P oslash -45 +KPX P period -59 +KPX R C 51 +KPX R Ccedilla 52 +KPX R G 22 +KPX R O -27 +KPX R OE -31 +KPX R Oacute -29 +KPX R Odieresis -29 +KPX R T 2 +KPX R U -30 +KPX R Udieresis -30 +KPX R V -20 +KPX R W -18 +KPX R Y 115 +KPX R a -44 +KPX R aacute -44 +KPX R adieresis -44 +KPX R ae -44 +KPX R aring -44 +KPX R e -42 +KPX R eacute -42 +KPX R hyphen -44 +KPX R o -47 +KPX R oacute -47 +KPX R odieresis -47 +KPX R oe -46 +KPX R u -44 +KPX R uacute -44 +KPX R udieresis -44 +KPX R y -3 +KPX S A -22 +KPX S AE -27 +KPX S Aacute -22 +KPX S Adieresis -22 +KPX S Aring -22 +KPX S T 0 +KPX S V -19 +KPX S W -19 +KPX S Y -13 +KPX S t -41 +KPX T A 7 +KPX T AE 4 +KPX T Aacute 7 +KPX T Acircumflex 7 +KPX T Adieresis 7 +KPX T Agrave 7 +KPX T Aring 7 +KPX T Atilde 7 +KPX T C -20 +KPX T G -38 +KPX T J -7 +KPX T O -16 +KPX T OE -23 +KPX T Oacute -16 +KPX T Ocircumflex -16 +KPX T Odieresis -16 +KPX T Ograve -16 +KPX T Oslash -31 +KPX T Otilde -16 +KPX T S 17 +KPX T V 24 +KPX T W 24 +KPX T Y 25 +KPX T a -22 +KPX T ae -22 +KPX T c -23 +KPX T colon -26 +KPX T comma -33 +KPX T e -23 +KPX T g -23 +KPX T guillemotleft -43 +KPX T guilsinglleft -42 +KPX T hyphen -36 +KPX T i 21 +KPX T j 22 +KPX T o -23 +KPX T oslash -27 +KPX T period -27 +KPX T r -29 +KPX T s 1 +KPX T semicolon -34 +KPX T u -33 +KPX T v -47 +KPX T w -52 +KPX T y -28 +KPX U A 26 +KPX U AE 23 +KPX U Aacute 26 +KPX U Acircumflex 26 +KPX U Adieresis 26 +KPX U Aring 26 +KPX U Atilde 26 +KPX U comma -13 +KPX U m -13 +KPX U n -12 +KPX U p -23 +KPX U period -10 +KPX U r -12 +KPX Uacute A 26 +KPX Uacute comma -13 +KPX Uacute m -13 +KPX Uacute n -12 +KPX Uacute p -23 +KPX Uacute period -10 +KPX Uacute r -12 +KPX Ucircumflex A 26 +KPX Udieresis A 26 +KPX Udieresis b -11 +KPX Udieresis comma -13 +KPX Udieresis m -13 +KPX Udieresis n -12 +KPX Udieresis p -23 +KPX Udieresis period -10 +KPX Udieresis r -12 +KPX Ugrave A 26 +KPX V A -31 +KPX V AE -68 +KPX V Aacute -31 +KPX V Acircumflex -31 +KPX V Adieresis -31 +KPX V Agrave -31 +KPX V Aring -31 +KPX V Atilde -31 +KPX V C -28 +KPX V G -33 +KPX V O -14 +KPX V Oacute -14 +KPX V Ocircumflex -14 +KPX V Odieresis -14 +KPX V Ograve -14 +KPX V Oslash -30 +KPX V Otilde -14 +KPX V S -32 +KPX V T 38 +KPX V a -57 +KPX V ae -58 +KPX V colon -43 +KPX V comma -93 +KPX V e -53 +KPX V g -59 +KPX V guillemotleft -55 +KPX V guilsinglleft -55 +KPX V hyphen -45 +KPX V i 1 +KPX V o -63 +KPX V oslash -68 +KPX V period -90 +KPX V r -12 +KPX V semicolon -38 +KPX V u -17 +KPX V y -12 +KPX W A -26 +KPX W AE -46 +KPX W Aacute -26 +KPX W Acircumflex -26 +KPX W Adieresis -26 +KPX W Agrave -26 +KPX W Aring -26 +KPX W Atilde -26 +KPX W C -9 +KPX W G -15 +KPX W O 0 +KPX W Oacute -4 +KPX W Ocircumflex -2 +KPX W Odieresis -3 +KPX W Ograve -4 +KPX W Oslash -20 +KPX W Otilde -3 +KPX W S -12 +KPX W T 44 +KPX W a -33 +KPX W ae -33 +KPX W colon -29 +KPX W comma -57 +KPX W e -31 +KPX W g -35 +KPX W guillemotleft -27 +KPX W guilsinglleft -27 +KPX W hyphen -16 +KPX W i 1 +KPX W o -36 +KPX W oslash -41 +KPX W period -53 +KPX W r 3 +KPX W semicolon -24 +KPX W u 0 +KPX W y 4 +KPX X C 2 +KPX X O -21 +KPX X Odieresis -21 +KPX X Q -21 +KPX X a 1 +KPX X e -1 +KPX X hyphen -51 +KPX X o -2 +KPX X u -9 +KPX X y -5 +KPX Y A -24 +KPX Y AE -60 +KPX Y Aacute -24 +KPX Y Acircumflex -24 +KPX Y Adieresis -24 +KPX Y Agrave -24 +KPX Y Aring -24 +KPX Y Atilde -24 +KPX Y C -28 +KPX Y G -35 +KPX Y O -13 +KPX Y Oacute -12 +KPX Y Ocircumflex -12 +KPX Y Odieresis -12 +KPX Y Ograve -12 +KPX Y Oslash -29 +KPX Y Otilde -12 +KPX Y S -25 +KPX Y T 44 +KPX Y a -53 +KPX Y ae -53 +KPX Y colon -58 +KPX Y comma -68 +KPX Y e -51 +KPX Y g -55 +KPX Y guillemotleft -48 +KPX Y guilsinglleft -47 +KPX Y hyphen -37 +KPX Y i 17 +KPX Y o -56 +KPX Y oslash -61 +KPX Y p -43 +KPX Y period -62 +KPX Y semicolon -55 +KPX Y u -39 +KPX Y v -42 +KPX Z v 4 +KPX Z y 5 +KPX a j -2 +KPX a quoteright -55 +KPX a v -13 +KPX a w -14 +KPX a y 0 +KPX aacute v -13 +KPX aacute w -14 +KPX aacute y 0 +KPX adieresis v -13 +KPX adieresis w -14 +KPX adieresis y 0 +KPX ae v -15 +KPX ae w -17 +KPX ae y -1 +KPX agrave v -13 +KPX agrave w -14 +KPX agrave y 0 +KPX aring v -13 +KPX aring w -14 +KPX aring y 0 +KPX b v -11 +KPX b w -12 +KPX b y -1 +KPX c h -10 +KPX c k -15 +KPX comma one -40 +KPX comma quotedblright -53 +KPX comma quoteright -58 +KPX e quoteright -54 +KPX e t -16 +KPX e v -21 +KPX e w -22 +KPX e x -15 +KPX e y -7 +KPX eacute v -21 +KPX eacute w -23 +KPX eacute y -7 +KPX ecircumflex v -21 +KPX ecircumflex w -23 +KPX ecircumflex y -7 +KPX eight four -12 +KPX eight one -41 +KPX eight seven -38 +KPX f a -20 +KPX f aacute -20 +KPX f adieresis -20 +KPX f ae -21 +KPX f aring -20 +KPX f e -16 +KPX f eacute -16 +KPX f f 16 +KPX f i 21 +KPX f j 21 +KPX f l -9 +KPX f o -26 +KPX f oacute -26 +KPX f odieresis -26 +KPX f oe -24 +KPX f oslash -32 +KPX f quoteright -47 +KPX f s -20 +KPX f t 7 +KPX five four -18 +KPX five one -56 +KPX five seven -30 +KPX four four -11 +KPX four one -57 +KPX four seven -50 +KPX g a -18 +KPX g adieresis -18 +KPX g ae -18 +KPX g aring -18 +KPX g e -16 +KPX g eacute -16 +KPX g l -13 +KPX g oacute -21 +KPX g odieresis -21 +KPX g r -9 +KPX guillemotright A -33 +KPX guillemotright AE -33 +KPX guillemotright Aacute -33 +KPX guillemotright Adieresis -33 +KPX guillemotright Aring -33 +KPX guillemotright T -6 +KPX guillemotright V -19 +KPX guillemotright W -20 +KPX guillemotright Y 4 +KPX guilsinglright A -34 +KPX guilsinglright AE -34 +KPX guilsinglright Aacute -34 +KPX guilsinglright Adieresis -34 +KPX guilsinglright Aring -34 +KPX guilsinglright T -6 +KPX guilsinglright V -20 +KPX guilsinglright W -21 +KPX guilsinglright Y 3 +KPX h quoteright -65 +KPX h y -3 +KPX hyphen A -44 +KPX hyphen AE -10 +KPX hyphen Aacute -44 +KPX hyphen Adieresis -44 +KPX hyphen Aring -44 +KPX hyphen T -1 +KPX hyphen V -5 +KPX hyphen W -7 +KPX hyphen Y 25 +KPX i T -1 +KPX i j -2 +KPX k a -50 +KPX k aacute -50 +KPX k adieresis -50 +KPX k ae -50 +KPX k aring -50 +KPX k comma 111 +KPX k e -49 +KPX k eacute -49 +KPX k g 148 +KPX k hyphen -78 +KPX k o -56 +KPX k oacute -56 +KPX k odieresis -56 +KPX k period -48 +KPX k s -29 +KPX k u -13 +KPX k udieresis -13 +KPX l v -18 +KPX l y -2 +KPX m p -12 +KPX m v -13 +KPX m w -14 +KPX m y 1 +KPX n T -5 +KPX n p -20 +KPX n quoteright -68 +KPX n v -22 +KPX n w -24 +KPX n y -6 +KPX nine four -24 +KPX nine one -46 +KPX nine seven -41 +KPX o T 17 +KPX o quoteright -41 +KPX o t -4 +KPX o v -4 +KPX o w -5 +KPX o x -11 +KPX o y 4 +KPX oacute v -4 +KPX oacute w -5 +KPX oacute y 4 +KPX ocircumflex t -4 +KPX odieresis t -4 +KPX odieresis v -4 +KPX odieresis w -5 +KPX odieresis x -11 +KPX odieresis y 4 +KPX ograve v -4 +KPX ograve w -5 +KPX ograve y 4 +KPX one comma -31 +KPX one eight -20 +KPX one five -12 +KPX one four -46 +KPX one nine 1 +KPX one one -25 +KPX one period -29 +KPX one seven -59 +KPX one six -37 +KPX one three 5 +KPX one two -1 +KPX one zero -30 +KPX p t -8 +KPX p y 1 +KPX period one -25 +KPX period quotedblright -43 +KPX period quoteright -48 +KPX q c -15 +KPX q u -9 +KPX quotedblbase A 15 +KPX quotedblbase AE 34 +KPX quotedblbase T -57 +KPX quotedblbase V -32 +KPX quotedblbase W -35 +KPX quotedblbase Y -11 +KPX quotedblleft A -10 +KPX quotedblleft AE -72 +KPX quotedblleft Aacute -20 +KPX quotedblleft Adieresis -20 +KPX quotedblleft Aring -20 +KPX quotedblleft T 22 +KPX quotedblleft V 30 +KPX quotedblleft W 31 +KPX quotedblleft Y 41 +KPX quotedblright A -20 +KPX quotedblright AE -81 +KPX quotedblright Aacute -32 +KPX quotedblright Adieresis -32 +KPX quotedblright Aring -32 +KPX quotedblright T 12 +KPX quotedblright V 18 +KPX quotedblright W 19 +KPX quotedblright Y 30 +KPX quoteleft A -18 +KPX quoteleft AE -80 +KPX quoteleft Aacute -28 +KPX quoteleft Adieresis -28 +KPX quoteleft Aring -28 +KPX quoteleft T 14 +KPX quoteleft V 22 +KPX quoteleft W 23 +KPX quoteleft Y 33 +KPX quoteright A 0 +KPX quoteright AE -60 +KPX quoteright Aacute 0 +KPX quoteright Adieresis 0 +KPX quoteright Aring 0 +KPX quoteright comma -38 +KPX quoteright d -27 +KPX quoteright o -29 +KPX quoteright period -38 +KPX quoteright r 1 +KPX quoteright s -21 +KPX quoteright t -9 +KPX quoteright v -1 +KPX quoteright w 0 +KPX quoteright y 4 +KPX r a -17 +KPX r aacute -17 +KPX r acircumflex -17 +KPX r adieresis -17 +KPX r ae -18 +KPX r agrave -17 +KPX r aring -17 +KPX r c -14 +KPX r ccedilla -16 +KPX r colon -14 +KPX r comma -73 +KPX r d -21 +KPX r e -13 +KPX r eacute -13 +KPX r ecircumflex -13 +KPX r egrave -13 +KPX r f 22 +KPX r g -19 +KPX r h -10 +KPX r hyphen -55 +KPX r i 20 +KPX r j 19 +KPX r k -15 +KPX r l -7 +KPX r m 18 +KPX r n 19 +KPX r o -21 +KPX r oacute -21 +KPX r ocircumflex -21 +KPX r odieresis -21 +KPX r oe -20 +KPX r ograve -21 +KPX r oslash -27 +KPX r p 15 +KPX r period -69 +KPX r q -19 +KPX r quoteright -31 +KPX r r 21 +KPX r s -19 +KPX r semicolon -9 +KPX r t 13 +KPX r u 18 +KPX r v 5 +KPX r w 3 +KPX r x 9 +KPX r y 22 +KPX r z -23 +KPX s quoteright -61 +KPX s t -22 +KPX seven colon -73 +KPX seven comma -78 +KPX seven eight -44 +KPX seven five -54 +KPX seven four -62 +KPX seven one -44 +KPX seven period -75 +KPX seven seven -27 +KPX seven six -40 +KPX seven three -53 +KPX seven two -36 +KPX six four -2 +KPX six one -47 +KPX six seven -36 +KPX t S 22 +KPX t a -5 +KPX t aacute -5 +KPX t adieresis -5 +KPX t ae -4 +KPX t aring -5 +KPX t colon -22 +KPX t e -3 +KPX t eacute -3 +KPX t h -10 +KPX t o -3 +KPX t oacute -3 +KPX t odieresis -3 +KPX t quoteright -56 +KPX t semicolon -20 +KPX three four -19 +KPX three one -54 +KPX three seven -47 +KPX two four 6 +KPX two one -42 +KPX two seven -34 +KPX u quoteright -69 +KPX v a -21 +KPX v aacute -21 +KPX v acircumflex -21 +KPX v adieresis -21 +KPX v ae -21 +KPX v agrave -21 +KPX v aring -21 +KPX v atilde -21 +KPX v c -20 +KPX v colon -27 +KPX v comma -49 +KPX v e -18 +KPX v eacute -18 +KPX v ecircumflex -18 +KPX v egrave -18 +KPX v g -24 +KPX v hyphen -8 +KPX v l -15 +KPX v o -23 +KPX v oacute -23 +KPX v odieresis -23 +KPX v ograve -23 +KPX v oslash -29 +KPX v period -50 +KPX v s -22 +KPX v semicolon -22 +KPX w a -20 +KPX w aacute -20 +KPX w acircumflex -20 +KPX w adieresis -20 +KPX w ae -20 +KPX w agrave -20 +KPX w aring -20 +KPX w atilde -20 +KPX w c -19 +KPX w colon -24 +KPX w comma -50 +KPX w e -18 +KPX w eacute -18 +KPX w ecircumflex -18 +KPX w egrave -18 +KPX w g -23 +KPX w hyphen -8 +KPX w l -14 +KPX w o -23 +KPX w oacute -23 +KPX w odieresis -23 +KPX w ograve -23 +KPX w oslash -28 +KPX w period -51 +KPX w s -22 +KPX w semicolon -19 +KPX x a -25 +KPX x c -24 +KPX x e -21 +KPX x eacute -21 +KPX x o -31 +KPX x q -27 +KPX y a -8 +KPX y aacute -8 +KPX y acircumflex -8 +KPX y adieresis -8 +KPX y ae -8 +KPX y agrave -8 +KPX y aring -8 +KPX y atilde -8 +KPX y c -7 +KPX y colon -26 +KPX y comma -18 +KPX y e -6 +KPX y eacute -6 +KPX y ecircumflex -6 +KPX y egrave -6 +KPX y g 7 +KPX y hyphen -4 +KPX y l -3 +KPX y o -10 +KPX y oacute -10 +KPX y odieresis -10 +KPX y ograve -10 +KPX y oslash -15 +KPX y period -14 +KPX y s -8 +KPX y semicolon -18 +KPX zero four -12 +KPX zero one -36 +KPX zero seven -31 +EndKernPairs +EndKernData +EndFontMetrics diff --git a/Master/xemtex/gsfonts/z003034l.pfb b/Master/xemtex/gsfonts/z003034l.pfb new file mode 100644 index 00000000000..772fbfee6fa Binary files /dev/null and b/Master/xemtex/gsfonts/z003034l.pfb differ diff --git a/Master/xemtex/gsfonts/z003034l.pfm b/Master/xemtex/gsfonts/z003034l.pfm new file mode 100644 index 00000000000..da9b3f5b495 Binary files /dev/null and b/Master/xemtex/gsfonts/z003034l.pfm differ diff --git a/Master/xemtex/gslib/CIDFnmap b/Master/xemtex/gslib/CIDFnmap new file mode 100644 index 00000000000..7fe74aba3bb --- /dev/null +++ b/Master/xemtex/gslib/CIDFnmap @@ -0,0 +1,157 @@ +%! +% Copyright (C) 2001 Masatake YAMATO, Taiji Yamada and gs-cjk project +% +% This file is part of GNU Ghostscript. +% +% GNU Ghostscript is distributed in the hope that it will be useful, but +% WITHOUT ANY WARRANTY. No author or distributor accepts responsibility +% to anyone for the consequences of using it or for whether it serves any +% particular purpose or works at all, unless he says so in writing. Refer +% to the GNU General Public License for full details. +% +% Everyone is granted permission to copy, modify and redistribute GNU +% Ghostscript, but only under the conditions described in the GNU General +% Public License. A copy of this license is supposed to have been given +% to you along with GNU Ghostscript so you can know your rights and +% responsibilities. It should be in a file named COPYING. Among other +% things, the copyright notice and this notice must be preserved on all +% copies. + +% $Id: CIDFnmap,v 1.1.4.1 2002/04/02 14:47:42 mpsuzuki Exp $ +% CIDFnmap - sample CID-keyed font catalog for Ghostscript. + +% ---------------------------------------------------------------- + +% This file is a catalog of CID-keyed fonts, TrueType fonts (TTF), and also +% TrueType Collection fonts (TTC) known to Ghostscript. +% +% There are two ways to make a CID-keyed font loaded automatically when named: +% C1. Put the CID-keyed font as a resource file to /Resource/CIDFont(*1). +% (*1) A path concatenated with GenericResourceDir defined in +% gs_res.ps and "CIDFont". The default value of GenericResourceDir +% is "/Resource/". +% C2. Put the CID-keyed font file to Ghostscript's font path(*2) +% and write an entry for the CID-keyed font to this catalog. +% (*2) Somewhere in Ghostscript font search path, which is generally +% /usr/local/share/ghostscript/fonts. See output of `gs -h` or Use.htm, +% Ghostscript's document. +% +% There are two ways to make a TrueType font loaded automatically when named: +% T1. Write a wrapper script file for the TrueType font and put the +% wrapper file to /Resource/CIDFont. The wrapper has to translate a +% TrueType font file to Type 2 CID-keyed on demand. Some examples of the +% wrapper file named "CIDFontName" as follows: +% +% (e1) TTF translated to Type 2 CID-keyed font +% %!PS-Adobe-3.0 Resource-CIDFont +% %%BeginResource: CIDFont (CIDFontName) +% /CIDFontName (filename.ttf) .openttcidfont +% dup length dict begin {def} forall currentdict end +% /CIDFont defineresource pop +% %%EndResource +% %%EOF +% +% (e2) TTC with an index translated to Type 2 CID-keyed font +% %!PS-Adobe-3.0 Resource-CIDFont +% %%BeginResource: CIDFont (CIDFontName) +% /CIDFontName (filename.ttc) 2 .openttcidfont +% dup length dict begin {def} forall currentdict end +% /CIDFont defineresource pop +% %%EndResource +% %%EOF +% +% (e3) TTC with an index and a name of RO(Registry-Ordering)-Code +% %!PS-Adobe-3.0 Resource-CIDFont +% %%BeginResource: CIDFont (CIDFontName) +% /CIDFontName (filename.ttc) 2 /Adobe-GB1-Unicode .openttcidfont +% dup length dict begin {def} forall currentdict end +% /CIDFont defineresource pop +% %%EndResource +% %%EOF +% +% for details about the names of RO-Code written in (e3), see below. +% +% T2. Put the CID-keyed font file to Ghostscript's font path(*2) +% and write an entry for the TrueType font to this catalog. + +% The Syntax of CIDFnmap is very similar to Fontmap. +% Each CID-keyed font has an entry consisting of three items: +% +% i1. The name by which the CID-keyed font is known inside Ghostscript +% (a Ghostscript name preceded by a `/', or a string enclosed +% in parentheses). This is used to find the file from which +% a font of a given name should be loaded. +% +% i2. Information depending on whether this is a real CID-keyed font or a +% CID-keyed font alias: +% +% - For real CID-keyed fonts, the name of the CID-keyed font +% file (a Ghostscript string, enclosed in parentheses). +% The filename should include the extension if the CID-keyed font +% name has. +% +% - For CID-keyed font aliases, the name of the CID font +% which should be used when this one is requested, +% preceded by a `/'. Note that an alias name cannot be enclosed +% in parentheses. +% +% i3. At least one space or tab, and a terminating semicolon. +% +% Each CID-keyed font has an entry consisting of three essential items and +% two optional items. The three essential items are the same to the items of +% CID-keyed Font. Two optional items are put between i2 and i3. +% Two optional items are: +% +% i4. the number that specifies TTC font index +% +% i5. the name of CIDs mapping to Codes +% ``The kind of CIDs mapping to Codes'' is listed as follows: +% +% +% /Adobe-CNS1-Big5 Traditional Chinese, for Big5 TrueType fonts +% /Adobe-CNS1-Unicode Traditional Chinese, for Unicode TrueType fonts +% /Adobe-CNS1 Traditional Chinese, for TrueType fonts (*3) +% /Adobe-GB1-PRC Simplified Chinese, for PRC TrueType fonts +% /Adobe-GB1-Unicode Simplified Chinese, for Unicode TrueType fonts +% /Adobe-GB1 Simplified Chinese, for TrueType fonts (*3) +% /Adobe-Japan1-ShiftJIS Japanese, for ShiftJIS TrueType fonts +% /Adobe-Japan1-Unicode Japanese, for Unicode TrueType fonts +% /Adobe-Japan1 Japanese, for TrueType fonts (*3) +% /Adobe-Japan2-Unicode JIS Supplement, for Unicode TrueType fonts +% /Adobe-Japan2 JIS Supplement, for TrueType fonts (*3) +% /Adobe-Korea1-Johab Korean, for Johab TrueType fonts +% /Adobe-Korea1-Unicode Korean, for Unicode TrueType fonts +% /Adobe-Korea1-Wansung Korean, for Wansung TrueType fonts +% /Adobe-Korea1 Korean, for TrueType fonts (*3) +% (*3) Code is automatically detected by cmap table of a TrueType file. +% If an optional item for the kind of mapping is omitted, then +% Code of TTF and RO(Registry-Ordering) of CIDFont are automatically +% detected by OS/2 table and cmap table of TTF, respectively. + +% Like Fontmap, .runlibfile is used in CIDFnmap to include other CIDFnmaps. + +% The following table is actually a Ghostscript data structure. +% If you add new entries, be sure to copy the punctuation accurately; +% in particular, you must leave at least one space or tab between each +% field in the entry. + +%(CIDFnmap.Ore) .runlibfile +%(CIDFnmap.ARP) .runlibfile +%(CIDFnmap.Bae) .runlibfile +%(CIDFnmap.Koc) .runlibfile +%(CIDFnmap.Sol) .runlibfile +%(CIDFnmap.Win) .runlibfile + +%(CIDFnmap.CJK) .runlibfile + +% native CIDFontName (BIG5) in traditional Chinese +%(CIDFnmap.b5) .runlibfile + +% native CIDFontName (GB2312) in simplified Chinese +%(CIDFnmap.gb) .runlibfile + +% native CIDFontName (Shift_JIS) in Japanese +%(CIDFnmap.sj) .runlibfile + +% native CIDFontName (euc-kr) in Korean +%(CIDFnmap.ksx) .runlibfile diff --git a/Master/xemtex/gslib/CIDFnmap.ARP b/Master/xemtex/gslib/CIDFnmap.ARP new file mode 100644 index 00000000000..adf8664a97f --- /dev/null +++ b/Master/xemtex/gslib/CIDFnmap.ARP @@ -0,0 +1,34 @@ +%! +% Copyright (C) 2001 Taiji Yamada and gs-cjk project +% +% This file is part of GNU Ghostscript. +% +% GNU Ghostscript is distributed in the hope that it will be useful, but +% WITHOUT ANY WARRANTY. No author or distributor accepts responsibility +% to anyone for the consequences of using it or for whether it serves any +% particular purpose or works at all, unless he says so in writing. Refer +% to the GNU General Public License for full details. +% +% Everyone is granted permission to copy, modify and redistribute GNU +% Ghostscript, but only under the conditions described in the GNU General +% Public License. A copy of this license is supposed to have been given +% to you along with GNU Ghostscript so you can know your rights and +% responsibilities. It should be in a file named COPYING. Among other +% things, the copyright notice and this notice must be preserved on all +% copies. + +% $Id: CIDFnmap.ARP,v 1.1.4.1 2002/04/02 14:47:42 mpsuzuki Exp $ +% CID fontmap for the Arphic trutype fonts + +% See ftp://ftp.gnu.org/pub/non-gnu/chinese-fonts-truetype/LICENSE +% for license information regarding these fonts. + +% Adobe-CNS1 + +/ZenKai-Medium (bkai00mp.ttf) ; +/ShanHeiSun-Light (bsmi00lp.ttf) ; + +% Adobe-GB1 + +/BousungEG-Light-GB (gbsn00lp.ttf) ; +/GBZenKai-Medium (gkai00mp.ttf) ; diff --git a/Master/xemtex/gslib/CIDFnmap.Bae b/Master/xemtex/gslib/CIDFnmap.Bae new file mode 100644 index 00000000000..54a64b45bd5 --- /dev/null +++ b/Master/xemtex/gslib/CIDFnmap.Bae @@ -0,0 +1,31 @@ +%! +% Copyright (C) 2001 Taiji Yamada and gs-cjk project +% +% This file is part of GNU Ghostscript. +% +% GNU Ghostscript is distributed in the hope that it will be useful, but +% WITHOUT ANY WARRANTY. No author or distributor accepts responsibility +% to anyone for the consequences of using it or for whether it serves any +% particular purpose or works at all, unless he says so in writing. Refer +% to the GNU General Public License for full details. +% +% Everyone is granted permission to copy, modify and redistribute GNU +% Ghostscript, but only under the conditions described in the GNU General +% Public License. A copy of this license is supposed to have been given +% to you along with GNU Ghostscript so you can know your rights and +% responsibilities. It should be in a file named COPYING. Among other +% things, the copyright notice and this notice must be preserved on all +% copies. + +% $Id: CIDFnmap.Bae,v 1.1.4.1 2002/04/02 14:47:42 mpsuzuki Exp $ +% CID fontmap for the Baekmuk truetype fonts + +% See ftp://ftp.mizi.com/pub/baekmuk/COPYRIGHT +% for license information regarding these fonts. + +% Adobe-Korea1 + +/Baekmuk-Batang (batang.ttf) ; +/Baekmuk-Dotum (dotum.ttf) ; +/Baekmuk-Gulim (gulim.ttf) ; +/Baekmuk-Headline (hline.ttf) ; diff --git a/Master/xemtex/gslib/CIDFnmap.CJK b/Master/xemtex/gslib/CIDFnmap.CJK new file mode 100644 index 00000000000..0ce91d45f5a --- /dev/null +++ b/Master/xemtex/gslib/CIDFnmap.CJK @@ -0,0 +1,289 @@ +%! +% Copyright (C) 2001 Taiji Yamada and gs-cjk project +% +% This file is part of GNU Ghostscript. +% +% GNU Ghostscript is distributed in the hope that it will be useful, but +% WITHOUT ANY WARRANTY. No author or distributor accepts responsibility +% to anyone for the consequences of using it or for whether it serves any +% particular purpose or works at all, unless he says so in writing. Refer +% to the GNU General Public License for full details. +% +% Everyone is granted permission to copy, modify and redistribute GNU +% Ghostscript, but only under the conditions described in the GNU General +% Public License. A copy of this license is supposed to have been given +% to you along with GNU Ghostscript so you can know your rights and +% responsibilities. It should be in a file named COPYING. Among other +% things, the copyright notice and this notice must be preserved on all +% copies. + +% $Id: CIDFnmap.CJK,v 1.1.4.1 2002/04/02 14:47:42 mpsuzuki Exp $ +% CIDFontName aliases for CJK PDF/PS files + +% +% Fallback aliases for CJK PDF files +% +%/Adobe-CNS1 /MOESung-Regular ; % CIDFnmap.Ore +%/Adobe-CNS1 /ShanHeiSun-Light ; % CIDFnmap.ARP +%/Adobe-CNS1 /ming ; % CIDFnmap.Sol +%/Adobe-CNS1 /MingLiU ; % CIDFnmap.Win +%/Adobe-CNS1 /SimSun-18030-Adobe-CNS1 ; % CIDFnmap.Win + +%/Adobe-GB1 /BousungEG-Light-GB ; % CIDFnmap.ARP +%/Adobe-GB1 /zycjksun ; % CIDFnmap.Sol +%/Adobe-GB1 /SimSun ; % CIDFnmap.Win + +%/Adobe-Japan1 /WadaMin-Regular ; % CIDFnmap.Ore +%/Adobe-Japan1 /HG-MinchoL ; % CIDFnmap.Sol +%/Adobe-Japan1 /Kochi-Mincho ; % CIDFnmap.Koc +%/Adobe-Japan1 /MS-Mincho ; % CIDFnmap.Win + +%/Adobe-Japan2 /WadaMin-RegularH ; % CIDFnmap.Ore +%/Adobe-Japan2 /HeiseiMin-W3H ; % CIDFnmap.Sol +%/Adobe-Japan2 /MS-Mincho-Adobe-Japan2 ; % CIDFnmap.Win + +%/Adobe-Korea1 /Munhwa-Regular ; % CIDFnmap.Ore +%/Adobe-Korea1 /Baekmuk-Batang ; % CIDFnmap.Bae +%/Adobe-Korea1 /Myeongjo ; % CIDFnmap.Sol +%/Adobe-Korea1 /Batang ; % CIDFnmap.Win + +% +% Convenient aliases for PS files on Traditional Chinese PostScript printer +% +%/MSung-Light /MOESung-Regular ; % CIDFnmap.Ore +%/MSung-Light /SimSun-18030-Adobe-CNS1 ; % CIDFnmap.Win +%/MSung-Medium /ShanHeiSun-Light ; % CIDFnmap.ARP +%/MHei-Medium /ShanHeiSun-Light ; % CIDFnmap.ARP +%/MHei-Medium /hei ; % CIDFnmap.Sol +%/MKai-Medium /ZenKai-Medium ; % CIDFnmap.ARP +%/MKai-Medium /kai ; % CIDFnmap.Sol + +% +% Convenient aliases for PS files on Simplified Chinese PostScript printer +% +%/STSong-Light /BousungEG-Light-GB ; % CIDFnmap.ARP +%/STSong-Light /zycjksun ; % CIDFnmap.Sol +%/STSong-Light /SimSun ; % CIDFnmap.Win +%/STFangsong-Light /zycjkfangs ; % CIDFnmap.Sol +%/STFangsong-Light /SimSun ; % CIDFnmap.Win +%/STHeiti-Regular /zycjkhei ; % CIDFnmap.Sol +%/STHeiti-Regular /SimHei ; % CIDFnmap.Win +%/STKaiti-Regular /GBZenKai-Medium ; % CIDFnmap.ARP +%/STKaiti-Regular /zycjkkai ; % CIDFnmap.Sol + +% +% Convenient aliases for PS files on Japanese PostScript printer +% +%/Ryumin-Light /WadaMin-Regular ; % CIDFnmap.Ore +%/Ryumin-Light /HG-MinchoL ; % CIDFnmap.Sol +%/Ryumin-Light /Kochi-Mincho ; % CIDFnmap.Koc +%/Ryumin-Light /MS-Mincho ; % CIDFnmap.Win +%/GothicBBB-Medium /WadaGo-Bold ; % CIDFnmap.Ore +%/GothicBBB-Medium /HG-GothicB ; % CIDFnmap.Sol +%/GothicBBB-Medium /Kochi-Gothic ; % CIDFnmap.Koc +%/GothicBBB-Medium /MS-Gothic ; % CIDFnmap.Win +%/HeiseiMin-W3 /MS-Mincho ; % CIDFnmap.Win +%/HeiseiKakuGo-W5 /MS-Gothic ; % CIDFnmap.Win + +%/HeiseiMin-W3H /WadaMin-RegularH ; % CIDFnmap.Ore +%/HeiseiMin-W3H /MS-Mincho-Adobe-Japan2 ; % CIDFnmap.Win +%/HeiseiKakuGo-W5H /WadaMaruGo-RegularH ; % CIDFnmap.Ore +%/HeiseiKakuGo-W5H /MS-Gothic-Adobe-Japan2 ; % CIDFnmap.Win + +%/KozMin-Regular /MS-Mincho ; % CIDFnmap.Win +%/KozMinPro-Regular /MS-PMincho ; % CIDFnmap.Win + +% +% Convenient aliases for PS files on Korean PostScript printer +% +%/HYGoThic-Medium /MunhwaGothic-Regular ; % CIDFnmap.Ore +%/HYGoThic-Medium /Baekmuk-Dotum ; % CIDFnmap.Bae +%/HYGoThic-Medium /Gothic ; % CIDFnmap.Sol +%/HYGoThic-Medium /Dotum ; % CIDFnmap.Win +%/HYGungSo-Bold /Gungsuh ; % CIDFnmap.Win +%/HYKHeadLine-Bold /Baekmuk-Headline ; % CIDFnmap.Bae +%/HYKHeadLine-Medium /Baekmuk-Headline ; % CIDFnmap.Bae +%/HYSMyeongJo-Medium /Munhwa-Regular ; % CIDFnmap.Ore +%/HYSMyeongJo-Medium /Baekmuk-Batang ; % CIDFnmap.Bae +%/HYSMyeongJo-Medium /Myeongjo ; % CIDFnmap.Sol +%/HYSMyeongJo-Medium /Batang ; % CIDFnmap.Win +%/HYRGoThic-Medium /Baekmuk-Gulim ; % CIDFnmap.Bae +%/HYRGoThic-Medium /RoundedGothic ; % CIDFnmap.Sol +%/HYRGoThic-Medium /Gulim ; % CIDFnmap.Win + +% +% Convenient aliases for PS files on Traditional Chinese Acrobat Distiller +% +%/DFKaiShu-SB-Estd-BF /MKai-Medium ; +%/LiGothicMed /MKai-Medium ; +%/LiSungLight /MSung-Light ; +%/Taipei /Adobe-CNS1 ; + +% +% Convenient aliases for PS files on Simplified Chinese Acrobat Distiller +% +%/Beijing /Adobe-GB1 ; +%/SIL-FangSong- /STFangsong-Light ; +%/SIL-FangSong-Reg-Jian /STFangsong-Light ; +%/SIL-Hei-Med-Jian /STHeiti-Regular ; +%/SIL-Kai- /STKaiti-Regular ; +%/SIL-Kai-Reg-Jian /STKaiti-Regular ; +%/SIL-Song-Reg-Jian /STSong-Light ; + +% +% Convenient aliases for PS files on Japanese Acrobat Distiller +% +%/ChuGothicBBB-Medium /GothicBBB-Medium ; +%/ChuGothicBBB-Medium-Mono /MS-Gothic ; % CIDFnmap.Win +%/FutoGoB101-Bold /GothicBBB-Medium ; +%/FutoMinA101-Bold /Ryumin-Light ; +%/GothicMB101-Bold /GothicBBB-Medium ; +%/GothicMB101-hea /GothicBBB-Medium ; +%/GothicMB101-Ult /GothicBBB-Medium ; +%/HeiseiKakuGo-W3 /HeiseiKakuGo-W5 ; +%/HeiseiKakuGo-W7 /HeiseiKakuGo-W5 ; +%/HeiseiKakuGo-W9 /HeiseiKakuGo-W5 ; +%/HeiseiKakuGothic-W5 /HeiseiKakuGo-W5 ; +%/HeiseiMaruGo-W4 /HeiseiKakuGo-W5 ; +%/HeiseiMin-W5 /HeiseiMin-W3 ; +%/HeiseiMin-W7 /HeiseiMin-W3 ; +%/HeiseiMin-W9 /HeiseiMin-W3 ; +%/HeiseiMincho-W3 /HeiseiMin-W3 ; +%/HonMincho-M /Ryumin-Light ; +%/Jun34-Medium /Ryumin-Light ; +%/Jun101-Light /Ryumin-Light ; +%/Jun501-Bold /Ryumin-Light ; +%/KozMin-Bold /GothicBBB-Medium ; +%/KozMin-ExtraLight /Ryumin-Light ; +%/KozMin-Heavy /GothicBBB-Medium ; +%/KozMin-Light /Ryumin-Light ; +%/KozMin-Medium /Ryumin-Light ; +%/KyokaICA-Light /Adobe-Japan1 ; +%/KyokaICA-Medium /Adobe-Japan1 ; +%/KyokaICA-regular /Adobe-Japan1 ; +%/LogoArl-Bold /Adobe-Japan1 ; +%/LogoArl-Light /Adobe-Japan1 ; +%/LogoArl-Medium /Adobe-Japan1 ; +%/LogoArl-Ultra /Adobe-Japan1 ; +%/LogoCut-Bold /Adobe-Japan1 ; +%/LogoCut-Light /Adobe-Japan1 ; +%/LogoCut-Medium /Adobe-Japan1 ; +%/LogoCut-Ultra /Adobe-Japan1 ; +%/LogoLine-Bold /Adobe-Japan1 ; +%/LogoLine-Light /Adobe-Japan1 ; +%/LogoLine-Medium /Adobe-Japan1 ; +%/LogoLine-Ultra /Adobe-Japan1 ; +%/MaruGothic-M /GothicBBB-Medium ; +%/MidashiGo-MB31 /GothicBBB-Medium ; +%/MidashiMin-MA31 /Ryumin-Light ; +%/Osaka /Ryumin-Light ; +%/Osaka-Mono /MS-Mincho ; % CIDFnmap.Win +%/Ryumin-Bold /Ryumin-Light ; +%/Ryumin-heavy /Ryumin-Light ; +%/Ryumin-Light-KL /Ryumin-Light ; +%/Ryumin-Light-KL-Mono /MS-Mincho ; % CIDFnmap.Win +%/Ryumin-Medium /Ryumin-Light ; +%/Ryumin-regular /Ryumin-Light ; +%/Ryumin-Ultra /Ryumin-Light ; +%/ShinGo-Bold /GothicBBB-Medium ; +%/ShinGo-Light /GothicBBB-Medium ; +%/ShinGo-Medium /GothicBBB-Medium ; +%/ShinGo-regular /GothicBBB-Medium ; +%/ShinGo-Ultra /GothicBBB-Medium ; +%/ShinseiKai-CBSK1 /Ryumin-Light ; +%/TBKomachiG-B /Adobe-Japan1 ; +%/TBKomachiG-DB /Adobe-Japan1 ; +%/TBKomachiG-E /Adobe-Japan1 ; +%/TBKomachiG-hv /Adobe-Japan1 ; +%/TBKomachiG-M /Adobe-Japan1 ; +%/TBKomachiG-R /Adobe-Japan1 ; +%/TBKomachiM-DE /Adobe-Japan1 ; +%/TBKomachiM-E /Adobe-Japan1 ; +%/TBKomachiM-hv /Adobe-Japan1 ; +%/TBKomachiM-M /Adobe-Japan1 ; +%/TBKoudoukenG-B /Adobe-Japan1 ; +%/TBKoudoukenG-DB /Adobe-Japan1 ; +%/TBKoudoukenG-E /Adobe-Japan1 ; +%/TBKoudoukenG-hv /Adobe-Japan1 ; +%/TBKoudoukenG-M /Adobe-Japan1 ; +%/TBKoudoukenG-R /Adobe-Japan1 ; +%/TBKoudoukenM-DE /Adobe-Japan1 ; +%/TBKoudoukenM-E /Adobe-Japan1 ; +%/TBKoudoukenM-hv /Adobe-Japan1 ; +%/TBKoudoukenM-M /Adobe-Japan1 ; +%/TBRyokanG-B /Adobe-Japan1 ; +%/TBRyokanG-DB /Adobe-Japan1 ; +%/TBRyokanG-E /Adobe-Japan1 ; +%/TBRyokanG-hv /Adobe-Japan1 ; +%/TBRyokanG-M /Adobe-Japan1 ; +%/TBRyokanG-R /Adobe-Japan1 ; +%/TBRyokanM-DE /Adobe-Japan1 ; +%/TBRyokanM-E /Adobe-Japan1 ; +%/TBRyokanM-hv /Adobe-Japan1 ; +%/TBRyokanM-M /Adobe-Japan1 ; +%/TBTsukijiG-B /Adobe-Japan1 ; +%/TBTsukijiG-DB /Adobe-Japan1 ; +%/TBTsukijiG-E /Adobe-Japan1 ; +%/TBTsukijiG-hv /Adobe-Japan1 ; +%/TBTsukijiG-M /Adobe-Japan1 ; +%/TBTsukijiG-R /Adobe-Japan1 ; +%/TBTsukijiM-DE /Adobe-Japan1 ; +%/TBTsukijiM-E /Adobe-Japan1 ; +%/TBTsukijiM-hv /Adobe-Japan1 ; +%/TBTsukijiM-M /Adobe-Japan1 ; +%/TBYukinariG-B /Adobe-Japan1 ; +%/TBYukinariG-DB /Adobe-Japan1 ; +%/TBYukinariG-E /Adobe-Japan1 ; +%/TBYukinariG-hv /Adobe-Japan1 ; +%/TBYukinariG-M /Adobe-Japan1 ; +%/TBYukinariG-R /Adobe-Japan1 ; +%/TBYukinariM-DE /Adobe-Japan1 ; +%/TBYukinariM-E /Adobe-Japan1 ; +%/TBYukinariM-hv /Adobe-Japan1 ; +%/TBYukinariM-M /Adobe-Japan1 ; +%/TypeBankG-B /Adobe-Japan1 ; +%/TypeBankG-DB /Adobe-Japan1 ; +%/TypeBankG-E /Adobe-Japan1 ; +%/TypeBankG-hv /Adobe-Japan1 ; +%/TypeBankG-M /Adobe-Japan1 ; +%/TypeBankG-R /Adobe-Japan1 ; +%/TypeBankM-DE /Adobe-Japan1 ; +%/TypeBankM-E /Adobe-Japan1 ; +%/TypeBankM-hv /Adobe-Japan1 ; +%/TypeBankM-M /Adobe-Japan1 ; + +% +% Convenient aliases for PS files on Korean Acrobat Distiller +% +%/AppleGothic /HYGoThic-Medium ; +%/AppleMyungjo /HYSMyeongJo-Medium ; +%/HYSinMyeongJo-Medium /HYSMyeongJo-Medium ; +%/JCfg /Adobe-Korea1 ; +%/JCkg /Adobe-Korea1 ; +%/Munhwa-Regular /HYSMyeongJo-Medium ; +%/MunhwaGothic-Regular /HYGoThic-Medium ; +%/SMAgoJ /HYGoThic-Medium ; +%/SMAgoK /HYGoThic-Medium ; +%/SMAgoSE /HYGoThic-Medium ; +%/SMAgoT /HYGoThic-Medium ; +%/SMAmu /HYSMyeongJo-Medium ; +%/SMAmuK /HYSMyeongJo-Medium ; +%/SMAmuSE /HYSMyeongJo-Medium ; +%/SMAmuT /HYSMyeongJo-Medium ; +%/SMGothic-Bold /HYGoThic-Medium ; +%/SMGothic-DemiBold /HYGoThic-Medium ; +%/SMGothic-Light /HYGoThic-Medium ; +%/SMGothic-Medium /HYGoThic-Medium ; +%/SMMyungjo-Bold /HYSMyeongJo-Medium ; +%/SMMyungjo-DemiBold /HYSMyeongJo-Medium ; +%/SMMyungjo-Light /HYSMyeongJo-Medium ; +%/SMMyungjo-Medium /HYSMyeongJo-Medium ; +%/SMgoJ /HYGoThic-Medium ; +%/SMgoK /HYGoThic-Medium ; +%/SMgoSE /HYGoThic-Medium ; +%/SMgoT /HYGoThic-Medium ; +%/SMmu /HYSMyeongJo-Medium ; +%/SMmuK /HYSMyeongJo-Medium ; +%/SMmuSE /HYSMyeongJo-Medium ; +%/SMmuT /HYSMyeongJo-Medium ; +%/Seoul /Adobe-Korea1 ; diff --git a/Master/xemtex/gslib/CIDFnmap.Koc b/Master/xemtex/gslib/CIDFnmap.Koc new file mode 100644 index 00000000000..8c1e5b95044 --- /dev/null +++ b/Master/xemtex/gslib/CIDFnmap.Koc @@ -0,0 +1,50 @@ +%! +% Copyright (C) 2001 Taiji Yamada and gs-cjk project +% +% This file is part of GNU Ghostscript. +% +% GNU Ghostscript is distributed in the hope that it will be useful, but +% WITHOUT ANY WARRANTY. No author or distributor accepts responsibility +% to anyone for the consequences of using it or for whether it serves any +% particular purpose or works at all, unless he says so in writing. Refer +% to the GNU General Public License for full details. +% +% Everyone is granted permission to copy, modify and redistribute GNU +% Ghostscript, but only under the conditions described in the GNU General +% Public License. A copy of this license is supposed to have been given +% to you along with GNU Ghostscript so you can know your rights and +% responsibilities. It should be in a file named COPYING. Among other +% things, the copyright notice and this notice must be preserved on all +% copies. + +% $Id: CIDFnmap.Koc,v 1.1.4.1 2002/04/02 14:47:42 mpsuzuki Exp $ +% CID fontmap for Kochi truetype fonts + +% Kochi Mincho (aka Watanabe-Light) font series and +% Kochi Gothic (aka Kochi-WadaLabGothic) font series for Adobe-Japan1 + +% Kochi Mincho and Gothic - TrueType +% Editor: Yasuyuki Furukawa +% URL: http://www.on.cs.keio.ac.jp/~yasu/linux/fonts/ +% +% Kochi-Mincho: Public domain, except for NAGA10 bitmap data +% Kochi-Gothic: Wada Lab's font license, except for NAGA10 bitmap data +% +%/Kochi-Mincho (kochi-mincho.ttf) ; +%/Kochi-Gothic (kochi-gothic.ttf) ; +% +% Notice: In CID-keyed space of Kochi-Mincho, although you may find that +% CIDs 7611,7613-7625,7629,7630,11847,12041-12043 are incorrectly +% assigned from glyph IDs, it is because that these are for WORKING AREA +% to develop "kochi-mincho.ttf" font for the time being. + +% Kochi Mincho and Gothic - CIDFontType 0 +% Author: KANOU Hiroki +% URL: http://kappa.allnet.ne.jp/Kochi-CID/index-e.html +% +% Kochi-Mincho: Public domain. Designed by Yasuyuki Furukawa. +% Kochi-Gothic: Wada Lab's font license. +% +/Kochi-Mincho (Kochi-Mincho) ; +/Kochi-Gothic (Kochi-Gothic) ; + diff --git a/Master/xemtex/gslib/CIDFnmap.Ore b/Master/xemtex/gslib/CIDFnmap.Ore new file mode 100644 index 00000000000..b81f1a709cd --- /dev/null +++ b/Master/xemtex/gslib/CIDFnmap.Ore @@ -0,0 +1,53 @@ +%! +% Copyright (C) 2001 Taiji Yamada and gs-cjk project +% +% This file is part of GNU Ghostscript. +% +% GNU Ghostscript is distributed in the hope that it will be useful, but +% WITHOUT ANY WARRANTY. No author or distributor accepts responsibility +% to anyone for the consequences of using it or for whether it serves any +% particular purpose or works at all, unless he says so in writing. Refer +% to the GNU General Public License for full details. +% +% Everyone is granted permission to copy, modify and redistribute GNU +% Ghostscript, but only under the conditions described in the GNU General +% Public License. A copy of this license is supposed to have been given +% to you along with GNU Ghostscript so you can know your rights and +% responsibilities. It should be in a file named COPYING. Among other +% things, the copyright notice and this notice must be preserved on all +% copies. + +% $Id: CIDFnmap.Ore,v 1.1.4.1 2002/04/02 14:47:42 mpsuzuki Exp $ +% CID fontmap for O'Reilly cjkv font samples + +% See ftp://ftp.oreilly.com/pub/examples/nutshell/cjkv/adobe/samples/ + +% Adobe-CNS1 + +/MOEKai-Regular (MOEKai-Regular) ; +/MOESung-Regular (MOESung-Regular) ; + +% Adobe-GB1 + +% Adobe-Japan1 + +/WadaGo-Bold (WadaGo-Bold) ; +/WadaMaruGo-Regular (WadaMaruGo-Regular) ; +/WadaMin-Bold (WadaMin-Bold) ; +/WadaMin-Regular (WadaMin-Regular) ; + +% Adobe-Japan2 + +/WadaMaruGo-RegularH (WadaMaruGo-RegularH) ; +/WadaMin-RegularH (WadaMin-RegularH) ; + +% Adobe-Korea1 + +/Munhwa-Regular (Munhwa-Regular) ; +/MunhwaGothic-Bold (MunhwaGothic-Bold) ; +/MunhwaGothic-Regular (MunhwaGothic-Regular) ; +/MunhwaGungSeo-Bold (MunhwaGungSeo-Bold) ; +/MunhwaGungSeo-Light (MunhwaGungSeo-Light) ; +/MunhwaGungSeoHeulim-Bold (MunhwaGungSeoHeulim-Bold) ; +/MunhwaGungSeoHeulim-Light (MunhwaGungSeoHeulim-Light) ; +/MunhwaHoonMin-Regular (MunhwaHoonMin-Regular) ; diff --git a/Master/xemtex/gslib/CIDFnmap.Sol b/Master/xemtex/gslib/CIDFnmap.Sol new file mode 100644 index 00000000000..c14db768a3f --- /dev/null +++ b/Master/xemtex/gslib/CIDFnmap.Sol @@ -0,0 +1,54 @@ +%! +% Copyright (C) 2001 Taiji Yamada and gs-cjk project +% +% This file is part of GNU Ghostscript. +% +% GNU Ghostscript is distributed in the hope that it will be useful, but +% WITHOUT ANY WARRANTY. No author or distributor accepts responsibility +% to anyone for the consequences of using it or for whether it serves any +% particular purpose or works at all, unless he says so in writing. Refer +% to the GNU General Public License for full details. +% +% Everyone is granted permission to copy, modify and redistribute GNU +% Ghostscript, but only under the conditions described in the GNU General +% Public License. A copy of this license is supposed to have been given +% to you along with GNU Ghostscript so you can know your rights and +% responsibilities. It should be in a file named COPYING. Among other +% things, the copyright notice and this notice must be preserved on all +% copies. + +% $Id: CIDFnmap.Sol,v 1.1.4.1 2002/04/02 14:47:42 mpsuzuki Exp $ +% CID fontmap for Solaris + +% Adobe-CNS1 + +/hei (/usr/openwin/lib/locale/zh_TW.BIG5/X11/fonts/TT/hei.ttf) /Adobe-CNS1-Unicode ; +/kai (/usr/openwin/lib/locale/zh_TW.BIG5/X11/fonts/TT/kai.ttf) /Adobe-CNS1-Unicode ; +/ming (/usr/openwin/lib/locale/zh_TW.BIG5/X11/fonts/TT/ming.ttf) /Adobe-CNS1-Unicode ; + +% Adobe-GB1 + +/zycjkfangs (/usr/openwin/lib/locale/zh.GBK/X11/fonts/TrueType/fangsongti.ttf) ; +/zycjkhei (/usr/openwin/lib/locale/zh.GBK/X11/fonts/TrueType/heiti.ttf) ; +/zycjkkai (/usr/openwin/lib/locale/zh.GBK/X11/fonts/TrueType/kaiti.ttf) ; +/zycjksun (/usr/openwin/lib/locale/zh.GBK/X11/fonts/TrueType/songti.ttf) ; +/CFangSongGB-Light (/usr/openwin/lib/locale/zh/X11/fonts/TrueType/cfsgbl.ttf) /Adobe-GB1-PRC ; +/MHeiGB-Bold (/usr/openwin/lib/locale/zh/X11/fonts/TrueType/mhgbb.ttf) /Adobe-GB1-PRC ; +/MKaiGB-Medium (/usr/openwin/lib/locale/zh/X11/fonts/TrueType/mkgbm.ttf) /Adobe-GB1-PRC ; +/MSungGB-Light (/usr/openwin/lib/locale/zh/X11/fonts/TrueType/msgbl.ttf) /Adobe-GB1-PRC ; + +% Adobe-Japan1 + +/HG-GothicB (/usr/openwin/lib/locale/ja/X11/fonts/TT/HG-GothicB.ttf) ; +/HG-MinchoL (/usr/openwin/lib/locale/ja/X11/fonts/TT/HG-MinchoL.ttf) ; + +% Adobe-Japan2 + +/HeiseiMin-W3H (/usr/openwin/lib/locale/ja/X11/fonts/TT/HeiseiMin-W3H.ttf) /Adobe-Japan2-Unicode ; + +% Adobe-Korea1 + +/Gothic (/usr/openwin/lib/locale/ko/X11/fonts/TrueType/h2gtrm.ttf) ; +/RoundedGothic (/usr/openwin/lib/locale/ko/X11/fonts/TrueType/h2drrm.ttf) ; +/Haeseo (/usr/openwin/lib/locale/ko/X11/fonts/TrueType/h2hsrm.ttf) ; +/Myeongjo (/usr/openwin/lib/locale/ko/X11/fonts/TrueType/h2mjsm.ttf) ; diff --git a/Master/xemtex/gslib/CIDFnmap.Win b/Master/xemtex/gslib/CIDFnmap.Win new file mode 100644 index 00000000000..2b263a7d152 --- /dev/null +++ b/Master/xemtex/gslib/CIDFnmap.Win @@ -0,0 +1,79 @@ +%! +% Copyright (C) 2001 Taiji Yamada and gs-cjk project +% +% This file is part of GNU Ghostscript. +% +% GNU Ghostscript is distributed in the hope that it will be useful, but +% WITHOUT ANY WARRANTY. No author or distributor accepts responsibility +% to anyone for the consequences of using it or for whether it serves any +% particular purpose or works at all, unless he says so in writing. Refer +% to the GNU General Public License for full details. +% +% Everyone is granted permission to copy, modify and redistribute GNU +% Ghostscript, but only under the conditions described in the GNU General +% Public License. A copy of this license is supposed to have been given +% to you along with GNU Ghostscript so you can know your rights and +% responsibilities. It should be in a file named COPYING. Among other +% things, the copyright notice and this notice must be preserved on all +% copies. + +% $Id: CIDFnmap.Win,v 1.1.2.1 2002/04/02 14:47:42 mpsuzuki Exp $ +% CID fontmap for MS Windows + +% Adobe-CNS1 + +/MingLiU (mingliu.ttc) ; +/PMingLiU (mingliu.ttc) 2 ; + +/SimSun-18030-Adobe-CNS1 (SimSun18030.ttc) /Adobe-CNS1 ; +/NSimSun-18030-Adobe-CNS1 (SimSun18030.ttc) 2 /Adobe-CNS1 ; + +% Adobe-GB1 + +/SimHei (simhei.ttf) ; + +/SimSun (simsun.ttc) ; +/NSimSun (simsun.ttc) 2 ; + +/SimSun-18030 (SimSun18030.ttc) /Adobe-GB1 ; +/NSimSun-18030 (SimSun18030.ttc) 2 /Adobe-GB1 ; + +% Adobe-Japan1 + +/MS-Gothic (msgothic.ttc) ; +/MS-PGothic (msgothic.ttc) 2 ; +/MS-UI-Gothic (msgothic.ttc) 3 ; +(MS Gothic) (msgothic.ttc) ; +(MS PGothic) (msgothic.ttc) 2 ; +(MS UI Gothic) (msgothic.ttc) 3 ; +/MSGothic (msgothic.ttc) ; +/MSPGothic (msgothic.ttc) 2 ; +/MSUIGothic (msgothic.ttc) 3 ; + +/MS-Mincho (msmincho.ttc) ; +/MS-PMincho (msmincho.ttc) 2 ; +(MS Mincho) (msmincho.ttc) ; +(MS PMincho) (msmincho.ttc) 2 ; +/MSMincho (msmincho.ttc) ; +/MSPMincho (msmincho.ttc) 2 ; + +% Adobe-Japan2 + +/MS-Gothic-Adobe-Japan2 (msgothic.ttc) /Adobe-Japan2 ; +/MS-PGothic-Adobe-Japan2 (msgothic.ttc) 2 /Adobe-Japan2 ; +/MS-UI-Gothic-Adobe-Japan2 (msgothic.ttc) 3 /Adobe-Japan2 ; + +/MS-Mincho-Adobe-Japan2 (msmincho.ttc) /Adobe-Japan2 ; +/MS-PMincho-Adobe-Japan2 (msmincho.ttc) 2 /Adobe-Japan2 ; + +% Adobe-Korea1 + +/Batang (batang.ttc) ; +/BatangChe (batang.ttc) 2 ; +/Gungsuh (batang.ttc) 3 ; +/GungsuhChe (batang.ttc) 4 ; + +/Gulim (gulim.ttc) ; +/GulimChe (gulim.ttc) 2 ; +/Dotum (gulim.ttc) 3 ; +/DotumChe (gulim.ttc) 4 ; diff --git a/Master/xemtex/gslib/CIDFnmap.b5 b/Master/xemtex/gslib/CIDFnmap.b5 new file mode 100644 index 00000000000..5ce66a9c632 --- /dev/null +++ b/Master/xemtex/gslib/CIDFnmap.b5 @@ -0,0 +1,26 @@ +%! +% Copyright (C) 2001 Taiji Yamada and gs-cjk project +% +% This file is part of GNU Ghostscript. +% +% GNU Ghostscript is distributed in the hope that it will be useful, but +% WITHOUT ANY WARRANTY. No author or distributor accepts responsibility +% to anyone for the consequences of using it or for whether it serves any +% particular purpose or works at all, unless he says so in writing. Refer +% to the GNU General Public License for full details. +% +% Everyone is granted permission to copy, modify and redistribute GNU +% Ghostscript, but only under the conditions described in the GNU General +% Public License. A copy of this license is supposed to have been given +% to you along with GNU Ghostscript so you can know your rights and +% responsibilities. It should be in a file named COPYING. Among other +% things, the copyright notice and this notice must be preserved on all +% copies. + +% $Id: CIDFnmap.b5,v 1.1.2.2 2002/02/11 20:36:45 giles Exp $ +% CID fontmap for chinese-big5 encoding CIDFontName + +(§ºÅé Light) /MSung-Light ; +(§ºÅé) /MSung-Light ; +(¤¤¶ÂÅé Medium) /MHei-Medium ; +(¤¤¶ÂÅé) /MHei-Medium ; diff --git a/Master/xemtex/gslib/CIDFnmap.gb b/Master/xemtex/gslib/CIDFnmap.gb new file mode 100644 index 00000000000..0db66013d4e --- /dev/null +++ b/Master/xemtex/gslib/CIDFnmap.gb @@ -0,0 +1,24 @@ +%! +% Copyright (C) 2001 Taiji Yamada and gs-cjk project +% +% This file is part of GNU Ghostscript. +% +% GNU Ghostscript is distributed in the hope that it will be useful, but +% WITHOUT ANY WARRANTY. No author or distributor accepts responsibility +% to anyone for the consequences of using it or for whether it serves any +% particular purpose or works at all, unless he says so in writing. Refer +% to the GNU General Public License for full details. +% +% Everyone is granted permission to copy, modify and redistribute GNU +% Ghostscript, but only under the conditions described in the GNU General +% Public License. A copy of this license is supposed to have been given +% to you along with GNU Ghostscript so you can know your rights and +% responsibilities. It should be in a file named COPYING. Among other +% things, the copyright notice and this notice must be preserved on all +% copies. + +% $Id: CIDFnmap.gb,v 1.1.2.2 2002/02/11 20:36:45 giles Exp $ +% CID fontmap for chinese-gb2312 encoding CIDFontName + +(»ªÎÄËÎÌå Light) /STSong-Light ; +(»ªÎÄËÎÌå) /STSong-Light ; diff --git a/Master/xemtex/gslib/CIDFnmap.ksx b/Master/xemtex/gslib/CIDFnmap.ksx new file mode 100644 index 00000000000..198d68501ca --- /dev/null +++ b/Master/xemtex/gslib/CIDFnmap.ksx @@ -0,0 +1,31 @@ +%! +% Copyright (C) 2001 Taiji Yamada and gs-cjk project +% +% This file is part of GNU Ghostscript. +% +% GNU Ghostscript is distributed in the hope that it will be useful, but +% WITHOUT ANY WARRANTY. No author or distributor accepts responsibility +% to anyone for the consequences of using it or for whether it serves any +% particular purpose or works at all, unless he says so in writing. Refer +% to the GNU General Public License for full details. +% +% Everyone is granted permission to copy, modify and redistribute GNU +% Ghostscript, but only under the conditions described in the GNU General +% Public License. A copy of this license is supposed to have been given +% to you along with GNU Ghostscript so you can know your rights and +% responsibilities. It should be in a file named COPYING. Among other +% things, the copyright notice and this notice must be preserved on all +% copies. + +% $Id: CIDFnmap.ksx,v 1.1.2.2 2002/02/11 20:36:45 giles Exp $ +% CID fontmap for euc-korea encoding CIDFontName + +(HY½Å¸íÁ¶ Medium) /HYSMyeongJo-Medium ; +(HY½Å¸íÁ¶) /HYSMyeongJo-Medium ; +(HYÁß°íµñ Medium) /HYGoThic-Medium ; +(HYÁß°íµñ) /HYGoThic-Medium ; +(HY±Ã¼­B) /HYGungSo-Bold ; +(HY°¢Çìµå¶óÀÎ) /HYKHeadLine-Bold ; +(HY°¢Çìµå¶óÀÎ Medium) /HYKHeadLine-Medium ; +(HYµÕ±Ù°íµñ Medium) /HYRGoThic-Medium ; +(HYµÕ±Ù°íµñ) /HYRGoThic-Medium ; diff --git a/Master/xemtex/gslib/CIDFnmap.sj b/Master/xemtex/gslib/CIDFnmap.sj new file mode 100644 index 00000000000..70a8732a648 --- /dev/null +++ b/Master/xemtex/gslib/CIDFnmap.sj @@ -0,0 +1,81 @@ +%! +% Copyright (C) 2001 Taiji Yamada and gs-cjk project +% +% This file is part of GNU Ghostscript. +% +% GNU Ghostscript is distributed in the hope that it will be useful, but +% WITHOUT ANY WARRANTY. No author or distributor accepts responsibility +% to anyone for the consequences of using it or for whether it serves any +% particular purpose or works at all, unless he says so in writing. Refer +% to the GNU General Public License for full details. +% +% Everyone is granted permission to copy, modify and redistribute GNU +% Ghostscript, but only under the conditions described in the GNU General +% Public License. A copy of this license is supposed to have been given +% to you along with GNU Ghostscript so you can know your rights and +% responsibilities. It should be in a file named COPYING. Among other +% things, the copyright notice and this notice must be preserved on all +% copies. + +% $Id: CIDFnmap.sj,v 1.1.2.2 2002/02/11 20:36:45 giles Exp $ +% CID fontmap for japanese-shift-jis encoding CIDFontName + +(‚l‚r–¾’©) /MS-Mincho ; +/#82l#82r#96#BE#92#A9 /MS-Mincho ; +(‚l‚r‚o–¾’©) /MS-PMincho ; +/#82l#82r#82o#96#BE#92#A9 /MS-PMincho ; +(‚l‚r –¾’©) /MS-Mincho ; +/#82l#82r#20#96#BE#92#A9 /MS-Mincho ; +(‚l‚r ‚o–¾’©) /MS-PMincho ; +/#82l#82r#20#82o#96#BE#92#A9 /MS-PMincho ; + +(@‚l‚r–¾’©) /MS-Mincho ; +/@#82l#82r#96#BE#92#A9 /MS-Mincho ; +(@‚l‚r‚o–¾’©) /MS-PMincho ; +/@#82l#82r#82o#96#BE#92#A9 /MS-PMincho ; +(@‚l‚r –¾’©) /MS-Mincho ; +/@#82l#82r#20#96#BE#92#A9 /MS-Mincho ; +(@‚l‚r ‚o–¾’©) /MS-PMincho ; +/@#82l#82r#20#82o#96#BE#92#A9 /MS-PMincho ; + +(‚l‚rƒSƒVƒbƒN) /MS-Gothic ; +/#82l#82r#83S#83V#83b#83N /MS-Gothic ; +(‚l‚r‚oƒSƒVƒbƒN) /MS-PGothic ; +/#82l#82r#82o#83S#83V#83b#83N /MS-PGothic ; +(‚l‚r ƒSƒVƒbƒN) /MS-Gothic ; +/#82l#82r#20#83S#83V#83b#83N /MS-Gothic ; +(‚l‚r ‚oƒSƒVƒbƒN) /MS-PGothic ; +/#82l#82r#20#82o#83S#83V#83b#83N /MS-PGothic ; + +(@‚l‚rƒSƒVƒbƒN) /MS-Gothic ; +/@#82l#82r#83S#83V#83b#83N /MS-Gothic ; +(@‚l‚r‚oƒSƒVƒbƒN) /MS-PGothic ; +/@#82l#82r#82o#83S#83V#83b#83N /MS-PGothic ; +(@‚l‚r ƒSƒVƒbƒN) /MS-Gothic ; +/@#82l#82r#20#83S#83V#83b#83N /MS-Gothic ; +(@‚l‚r ‚oƒSƒVƒbƒN) /MS-PGothic ; +/@#82l#82r#20#82o#83S#83V#83b#83N /MS-PGothic ; + +(•½¬–¾’© W3) /HeiseiMin-W3 ; +(•½¬–¾’©W3) /HeiseiMin-W3 ; +(•½¬ŠpƒSƒVƒbƒN W5) /HeiseiKakuGo-W5 ; +(•½¬ŠpƒSƒVƒbƒNW5) /HeiseiKakuGo-W5 ; +(¬’Ë–¾’© R) /KozMin-Regular ; +(¬’Ë–¾’©R) /KozMin-Regular ; + +% +% If you found an error at substituting /Adobe-Identity for a fontname +% in reading a PDF file, and if you are the owner of the actual font +% named as the fontname then you can use such locale-specific fonts by +% adding entry as follows: +% +% But, recent PDF files do not require /Adobe-Identity, locale-specific +% fonts. Thus, you may get worse for adding such entry. +% +%(HGŠÛºÞ¼¯¸M-PRO) (hgrsmp.ttf) /Identity ; +%(HG³ž²‘‘Ì-PRO) (hgrskp.ttf) /Identity ; +% +% As another choise, following one line acts "a fallback font" for such +% as locale-specific fonts: +% +%/Adobe-Identity (hgrskp.ttf) /Identity ; diff --git a/Master/xemtex/gslib/Fontmap b/Master/xemtex/gslib/Fontmap new file mode 100644 index 00000000000..a12c08fa81b --- /dev/null +++ b/Master/xemtex/gslib/Fontmap @@ -0,0 +1,3 @@ +%! +% See Fontmap.GS for the syntax of real Fontmap files. +(Fontmap.GS) .runlibfile diff --git a/Master/xemtex/gslib/Fontmap.ATB b/Master/xemtex/gslib/Fontmap.ATB new file mode 100644 index 00000000000..517f45240a1 --- /dev/null +++ b/Master/xemtex/gslib/Fontmap.ATB @@ -0,0 +1,169 @@ +% Copyright (C) 1994 Aladdin Enterprises. All rights reserved. +% +% This program is free software; you can redistribute it and/or modify it +% under the terms of the GNU General Public License as published by the +% Free Software Foundation; either version 2 of the License, or (at your +% option) any later version. +% +% This program is distributed in the hope that it will be useful, but +% WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +% Public License for more details. +% +% You should have received a copy of the GNU General Public License along +% with this program; if not, write to the Free Software Foundation, Inc., +% 59 Temple Place, Suite 330, Boston, MA, 02111-1307. + +% $Id: Fontmap.ATB,v 1.2.6.1.2.1 2003/04/12 14:02:38 giles Exp $ +% Fontmap.ATB - an alternative Fontmap for Ghostscript, +% suitable for use with the 65 Adobe Type Manager fonts +% supplied with Adobe Type Basics. + +% Before you use ATM fonts with Ghostscript, please read carefully +% the license that accompanies the ATM fonts; neither Aladdin Enterprises +% nor any other distributor of Ghostscript takes any responsibility for +% any possible violations of such licenses. + +% The 65 Adobe Type Basics ATM fonts + +%disk 1 +/Bookman-Light (bkl_____.pfb) ; +/Bookman-Demi (bkd_____.pfb) ; +/Bookman-DemiItalic (bkdi____.pfb) ; +/Bookman-LightItalic (bkli____.pfb) ; +/Courier (com_____.pfb) ; +/Courier-Bold (cob_____.pfb) ; +/Courier-BoldOblique (cobo____.pfb) ; +/Courier-Oblique (coo_____.pfb) ; +/Helvetica (hv______.pfb) ; +/Helvetica-Bold (hvb_____.pfb) ; +/Helvetica-BoldOblique (hvbo____.pfb) ; +/Helvetica-Oblique (hvo_____.pfb) ; +/Helvetica-Narrow (hvn_____.pfb) ; +/Helvetica-Narrow-Bold (hvnb____.pfb) ; +/Helvetica-Narrow-BoldOblique (hvnbo___.pfb) ; +/Helvetica-Narrow-Oblique (hvno____.pfb) ; +/Palatino-Roman (por_____.pfb) ; +/Palatino-Bold (pob_____.pfb) ; +/Palatino-BoldItalic (pobi____.pfb) ; +/Palatino-Italic (poi_____.pfb) ; +/Symbol (sy______.pfb) ; +/Times-Roman (tir_____.pfb) ; +/Times-Bold (tib_____.pfb) ; +/Times-BoldItalic (tibi____.pfb) ; +/Times-Italic (tii_____.pfb) ; + +% disk2 +/AGaramond-Regular (gdrg____.pfb) ; +/AGaramond-Italic (gdi_____.pfb) ; +/AGaramond-Bold (gdb_____.pfb) ; +/AGaramond-BoldItalic (gdbi____.pfb) ; +/Americana (am______.pfb) ; +/Americana-ExtraBold (ameb____.pfb) ; +/AvantGarde-Book (agw_____.pfb) ; +/AvantGarde-Demi (agd_____.pfb) ; +/AvantGarde-DemiOblique (agdo____.pfb) ; +/AvantGarde-BookOblique (agwo____.pfb) ; +/Carta (cr______.pfb) ; +/Kaufmann (kf______.pfb) ; +/Lithos-Regular (lorg____.pfb) ; +/Lithos-Black (lobl____.pfb) ; +/NewCenturySchlbk-Roman (ncr_____.pfb) ; +/NewCenturySchlbk-Bold (ncb_____.pfb) ; +/NewCenturySchlbk-BoldItalic (ncbi____.pfb) ; +/NewCenturySchlbk-Italic (nci_____.pfb) ; +/Parisian (pn______.pfb) ; +/ParkAvenue (pa______.pfb) ; +/Tekton (tkrg____.pfb) ; +/Tekton-Bold (tkb_____.pfb) ; +/Trajan-Bold (tjb_____.pfb) ; +/ZapfChancery-MediumItalic (zcmi____.pfb) ; +/ZapfDingbats (zd______.pfb) ; + +%disk 3 +/ACaslon-Regular (awrg____.pfb) ; +/ACaslon-Semibold (awsb____.pfb) ; +/ACaslon-SemiboldItalic (awsbi___.pfb) ; +/ACaslon-Italic (awi_____.pfb) ; +/Barmeno-Regular (bfrg____.pfb) ; +/Barmeno-Medium (bfm_____.pfb) ; +/Barmeno-Bold (bfb_____.pfb) ; +/Barmeno-ExtraBold (bfeb____.pfb) ; +/Blackoak (bo______.pfb) ; +/Formata-Regular (fmrg____.pfb) ; +/Formata-Medium (fmm_____.pfb) ; +/Formata-MediumItalic (fmmi____.pfb) ; +/Formata-Italic (fmi_____.pfb) ; +/Poetica-SuppOrnaments (pvor____.pfb) ; +/WoodtypeOrnaments-Two (woor2___.pfb) ; + + +% Fonts converted from bitmaps. + +/Charter-Roman (bchr.gsf) ; +/Charter-Italic (bchri.gsf) ; +/Charter-Bold (bchb.gsf) ; +/Charter-BoldItalic (bchbi.gsf) ; + +/ZapfChancery (zcr.gsf) ; +/ZapfChancery-Oblique (zcro.gsf) ; +/ZapfChancery-Bold (zcb.gsf) ; + +% Fonts from the X11R5 distribution. + +/Utopia-Regular (putr.gsf) ; +/Utopia-Italic (putri.gsf) ; +/Utopia-Bold (putb.gsf) ; +/Utopia-BoldItalic (putbi.gsf) ; + +% Shareware fonts. See FONTMAP.GS for the copyright statements. + +/Shareware-Cyrillic-Regular (fcyr.gsf) ; +/Shareware-Cyrillic-Italic (fcyri.gsf) ; +% Aliases +/Cyrillic /Cyrillic-Regular ; +/Cyrillic-Regular /Shareware-Cyrillic-Regular ; +/Cyrillic-Italic /Shareware-Cyrillic-Italic ; + +/Calligraphic-Hiragana (fhirw.gsf) ; +/Calligraphic-Katakana (fkarw.gsf) ; + +% Fonts converted from Hershey outlines. + +/Hershey-Gothic-English (hrge_r.gsf) 4290000 ; +/Hershey-Gothic-English-Bold (hrge_rb.gsf) 4290030 ; +/Hershey-Gothic-English-Oblique (hrge_ro.gsf) 4290010 ; + +/Hershey-Gothic-German (hrgr_r.gsf) 4291000 ; +/Hershey-Gothic-German-Bold (hrgr_rb.gsf) 4291030 ; +/Hershey-Gothic-German-Oblique (hrgr_ro.gsf) 4291010 ; + +/Hershey-Gothic-Italian (hrit_r.gsf) 4292000 ; +/Hershey-Gothic-Italian-Bold (hrit_rb.gsf) 4292030 ; +/Hershey-Gothic-Italian-Oblique (hrit_ro.gsf) 4292010 ; + +/Hershey-Greek-Complex (hrgk_c.gsf) 4293200 ; +/Hershey-Greek-Simplex (hrgk_s.gsf) 4293100 ; + +/Hershey-Plain (hrpl_r.gsf) 4294000 ; +/Hershey-Plain-Bold (hrpl_rb.gsf) 4294030 ; +/Hershey-Plain-Oblique (hrpl_ro.gsf) 4294010 ; +/Hershey-Plain-Simplex (hrpl_s.gsf) 4294100 ; +/Hershey-Plain-Simplex-Bold (hrpl_sb.gsf) 4294130 ; +/Hershey-Plain-Simplex-Bold-Oblique (hrpl_sbo.gsf) 4294140 ; +/Hershey-Plain-Simplex-Oblique (hrpl_so.gsf) 4294110 ; +/Hershey-Plain-Triplex (hrpl_t.gsf) 4294300 ; +/Hershey-Plain-Triplex-Italic (hrpl_ti.gsf) 4294320 ; +/Hershey-Plain-Triplex-Bold (hrpl_tb.gsf) 4294330 ; +/Hershey-Plain-Triplex-Bold-Italic (hrpl_tbi.gsf) 4294350 ; + +/Hershey-Script-Complex (hrsc_c.gsf) 4295200 ; +/Hershey-Script-Complex-Bold (hrsc_cb.gsf) 4295230 ; +/Hershey-Script-Complex-Oblique (hrsc_co.gsf) 4295210 ; +/Hershey-Script-Simplex (hrsc_s.gsf) 4295100 ; +/Hershey-Script-Simplex-Bold (hrsc_sb.gsf) 4295130 ; +/Hershey-Script-Simplex-Oblique (hrsc_so.gsf) 4295110 ; + +% This font, and only this font among the Hershey fonts, uses +% the SymbolEncoding. +/Hershey-Symbol (hrsy_r.gsf) 4296000 ; diff --git a/Master/xemtex/gslib/Fontmap.ATM b/Master/xemtex/gslib/Fontmap.ATM new file mode 100644 index 00000000000..5ddf9973040 --- /dev/null +++ b/Master/xemtex/gslib/Fontmap.ATM @@ -0,0 +1,186 @@ +% Copyright (C) 1990, 1992, 1994, 1996 Aladdin Enterprises. All rights reserved. +% +% This program is free software; you can redistribute it and/or modify it +% under the terms of the GNU General Public License as published by the +% Free Software Foundation; either version 2 of the License, or (at your +% option) any later version. +% +% This program is distributed in the hope that it will be useful, but +% WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +% Public License for more details. +% +% You should have received a copy of the GNU General Public License along +% with this program; if not, write to the Free Software Foundation, Inc., +% 59 Temple Place, Suite 330, Boston, MA, 02111-1307. + +% $Id: Fontmap.ATM,v 1.2.6.1.2.1 2003/04/12 14:02:38 giles Exp $ +% Fontmap.ATM - an alternative Fontmap for Ghostscript, +% suitable for use with Adobe Type Manager fonts. + +% Before you use ATM fonts with Ghostscript, please read carefully +% the license that accompanies the ATM fonts; neither Aladdin Enterprises +% nor any other distributor of Ghostscript takes any responsibility for +% any possible violations of such licenses. + +% +% +% Fonts contributed by: +% URW++ Design and Development Incorporated +% Poppenbuetteler Bogen 29A +% D-22399 Hamburg +% Germany +% tel. +49 (40) 60 60 50 +% fax +49 (40) 60 60 51 11 +% http://www.urwpp.de +% for distribution under the GNU License and Aladdin Free Public License. +% See the notice at the head of this Fontmap file for licensing terms. +% Each of these fonts is individually covered by the license: +% for licensing purposes, they are not "part of" any larger entity. +% The following notice applies to these fonts: +% +% Copyright URW Software, Copyright 1994 by URW. +% + +% Actual fonts + +/URWBookmanL-DemiBold (b018015l.pfb) ; +/URWBookmanL-DemiBoldItal (b018035l.pfb) ; +/URWBookmanL-Ligh (b018012l.pfb) ; +/URWBookmanL-LighItal (b018032l.pfb) ; + +/NimbusMonL-Regu (n022003l.pfb) ; +/NimbusMonL-ReguObli (n022023l.pfb) ; +/NimbusMonL-Bold (n022004l.pfb) ; +/NimbusMonL-BoldObli (n022024l.pfb) ; + +/URWGothicL-Book (a010013l.pfb) ; +/URWGothicL-BookObli (a010033l.pfb) ; +/URWGothicL-Demi (a010015l.pfb) ; +/URWGothicL-DemiObli (a010035l.pfb) ; + +/NimbusSanL-Regu (n019003l.pfb) ; +/NimbusSanL-ReguItal (n019023l.pfb) ; +/NimbusSanL-Bold (n019004l.pfb) ; +/NimbusSanL-BoldItal (n019024l.pfb) ; + +/NimbusSanL-ReguCond (n019043l.pfb) ; +/NimbusSanL-ReguCondItal (n019063l.pfb) ; +/NimbusSanL-BoldCond (n019044l.pfb) ; +/NimbusSanL-BoldCondItal (n019064l.pfb) ; + +/URWPalladioL-Roma (p052003l.pfb) ; +/URWPalladioL-Ital (p052023l.pfb) ; +/URWPalladioL-Bold (p052004l.pfb) ; +/URWPalladioL-BoldItal (p052024l.pfb) ; + +/CenturySchL-Roma (c059013l.pfb) ; +/CenturySchL-Ital (c059033l.pfb) ; +/CenturySchL-Bold (c059016l.pfb) ; +/CenturySchL-BoldItal (c059036l.pfb) ; + +/NimbusRomNo9L-Regu (n021003l.pfb) ; +/NimbusRomNo9L-ReguItal (n021023l.pfb) ; +/NimbusRomNo9L-Medi (n021004l.pfb) ; +/NimbusRomNo9L-MediItal (n021024l.pfb) ; + +/StandardSymL (s050000l.pfb) ; + +/URWChanceryL-MediItal (z003034l.pfb) ; + +/Dingbats (d050000l.pfb) ; + +% Aliases + +/Bookman-Demi /URWBookmanL-DemiBold ; +/Bookman-DemiItalic /URWBookmanL-DemiBoldItal ; +/Bookman-Light /URWBookmanL-Ligh ; +/Bookman-LightItalic /URWBookmanL-LighItal ; + +/Courier /NimbusMonL-Regu ; +/Courier-Oblique /NimbusMonL-ReguObli ; +/Courier-Bold /NimbusMonL-Bold ; +/Courier-BoldOblique /NimbusMonL-BoldObli ; + +/AvantGarde-Book /URWGothicL-Book ; +/AvantGarde-BookOblique /URWGothicL-BookObli ; +/AvantGarde-Demi /URWGothicL-Demi ; +/AvantGarde-DemiOblique /URWGothicL-DemiObli ; + +/Helvetica /NimbusSanL-Regu ; +/Helvetica-Oblique /NimbusSanL-ReguItal ; +/Helvetica-Bold /NimbusSanL-Bold ; +/Helvetica-BoldOblique /NimbusSanL-BoldItal ; + +/Helvetica-Narrow /NimbusSanL-ReguCond ; +/Helvetica-Narrow-Oblique /NimbusSanL-ReguCondItal ; +/Helvetica-Narrow-Bold /NimbusSanL-BoldCond ; +/Helvetica-Narrow-BoldOblique /NimbusSanL-BoldCondItal ; + +/Palatino-Roman /URWPalladioL-Roma ; +/Palatino-Italic /URWPalladioL-Ital ; +/Palatino-Bold /URWPalladioL-Bold ; +/Palatino-BoldItalic /URWPalladioL-BoldItal ; + +/NewCenturySchlbk-Roman /CenturySchL-Roma ; +/NewCenturySchlbk-Italic /CenturySchL-Ital ; +/NewCenturySchlbk-Bold /CenturySchL-Bold ; +/NewCenturySchlbk-BoldItalic /CenturySchL-BoldItal ; + +/Times-Roman /NimbusRomNo9L-Regu ; +/Times-Italic /NimbusRomNo9L-ReguItal ; +/Times-Bold /NimbusRomNo9L-Medi ; +/Times-BoldItalic /NimbusRomNo9L-MediItal ; + +/Symbol /StandardSymL ; + +/ZapfChancery-MediumItalic /URWChanceryL-MediItal ; + +/ZapfDingbats /Dingbats ; + + +% ATM fonts. + +/Courier (com_____.pfb) ; +/Courier-Oblique (coo_____.pfb) ; +/Courier-Bold (cob_____.pfb) ; +/Courier-BoldOblique (cobo____.pfb) ; + +/Helvetica (hv______.pfb) ; +/Helvetica-Oblique (hvo_____.pfb) ; +/Helvetica-Bold (hvb_____.pfb) ; +/Helvetica-BoldOblique (hvbo____.pfb) ; + +/Symbol (sy______.pfb) ; + +/Times-Roman (tir_____.pfb) ; +/Times-Italic (tii_____.pfb) ; +/Times-Bold (tib_____.pfb) ; +/Times-BoldItalic (tibi____.pfb) ; + + +% More fonts from Adobe Type Manager for MS Windows. + +/TektonMM (zjrg____.pfb) ; + +/Boulevard (qtrg____.pfb) ; +/Anna (iarg____.pfb) ; + +/PopplLaudatio-Regular (pyrg____.pfb) ; +/PopplLaudatio-Medium (pym_____.pfb) ; +/PopplLaudatio-Italic (pyi_____.pfb) ; +/PopplLaudatio-MediumItalic (pymi____.pfb) ; + +/Boton-Regular (tnr_____.pfb) ; +/Boton-Medium (tnm_____.pfb) ; +/Boton-Italic (tni_____.pfb) ; +/Boton-MediumItalic (tnmi____.pfb) ; + +/BaskervilleBE-Regular (virg____.pfb) ; +/BaskervilleBE-Medium (vim_____.pfb) ; +/BaskervilleBE-Italic (vii_____.pfb) ; +/BaskervilleBE-MediumItalic (vimi____.pfb) ; + +/Giddyup (wg______.pfb) ; +/Giddyup-Thangs (wgtha___.pfb) ; + diff --git a/Master/xemtex/gslib/Fontmap.GS b/Master/xemtex/gslib/Fontmap.GS new file mode 100644 index 00000000000..eaebd9adc83 --- /dev/null +++ b/Master/xemtex/gslib/Fontmap.GS @@ -0,0 +1,404 @@ +% Copyright (C) 1996, 1999 Aladdin Enterprises. All rights reserved. +% +% This program is free software; you can redistribute it and/or modify it +% under the terms of the GNU General Public License as published by the +% Free Software Foundation; either version 2 of the License, or (at your +% option) any later version. +% +% This program is distributed in the hope that it will be useful, but +% WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +% Public License for more details. +% +% You should have received a copy of the GNU General Public License along +% with this program; if not, write to the Free Software Foundation, Inc., +% 59 Temple Place, Suite 330, Boston, MA, 02111-1307. + +% $Id: Fontmap.GS,v 1.2.6.1.2.1 2003/04/12 14:02:38 giles Exp $ +% Fontmap - standard font catalog for Ghostscript. + +% ---------------------------------------------------------------- + +% This file is a catalog of fonts known to Ghostscript. Any font +% that is to be loaded automatically when named must be in this catalog, +% except for fonts that Ghostscript finds automatically in directories +% named in the GS_FONTPATH environment variable. + +% Each font has an entry consisting of three items: +% +% - The name by which the font is known inside Ghostscript +% (a Ghostscript name preceded by a `/', or a string enclosed +% in parentheses). This is used to find the file from which +% a font of a given name should be loaded. +% +% - Information depending on whether this is a real font or a +% font alias: +% +% - For real fonts, the name of the Ghostscript font +% file (a Ghostscript string, enclosed in parentheses). +% The filename should include the extension, which (by +% convention) is `.gsf'. `.pfa' and `.pfb' files are +% also usable as fonts for Ghostscript. +% +% - For font aliases, the name of the font which should +% be used when this one is requested, preceded by a +% `/'. See the entry for Charter below for an example. +% Note that an alias name cannot be enclosed in parentheses. +% +% - At least one space or tab, and a terminating semicolon. + +% Because of limitations in the MS-DOS environment, Ghostscript font +% file names must be no more than 8 characters long, must consist only +% of LOWER CASE letters, digits, and underscores, and must start with a +% letter. Font names, on the other hand, need only obey the syntax of +% names in the Ghostscript language, which is much more liberal. + +% The following table is actually a Ghostscript data structure. +% If you add new entries, be sure to copy the punctuation accurately; +% in particular, you must leave at least one space or tab between each +% field in the entry. Also, please read fonts.doc for important information +% about font names. + +% Note that .pfa and .pfb fonts are compatible with Adobe Type Manager +% and other programs that don't include full PostScript interpreters, +% as well as with PostScript interpreters; .gsf fonts are compatible with +% PostScript interpreters, but not with ATM or similar programs. + +% +% +% Fonts contributed by: +% URW++ Design and Development Incorporated +% Poppenbuetteler Bogen 29A +% D-22399 Hamburg +% Germany +% tel. +49 (40) 60 60 50 +% fax +49 (40) 60 60 51 11 +% http://www.urwpp.de +% for distribution under the GNU License and Aladdin Free Public License. +% See the notice at the head of this Fontmap file for licensing terms. +% Each of these fonts is individually covered by the license: +% for licensing purposes, they are not "part of" any larger entity. +% The following notice applies to these fonts: +% +% Copyright URW Software, Copyright 1994 by URW. +% + +% Actual fonts + +/URWBookmanL-DemiBold (b018015l.pfb) ; +/URWBookmanL-DemiBoldItal (b018035l.pfb) ; +/URWBookmanL-Ligh (b018012l.pfb) ; +/URWBookmanL-LighItal (b018032l.pfb) ; + +/NimbusMonL-Regu (n022003l.pfb) ; +/NimbusMonL-ReguObli (n022023l.pfb) ; +/NimbusMonL-Bold (n022004l.pfb) ; +/NimbusMonL-BoldObli (n022024l.pfb) ; + +/URWGothicL-Book (a010013l.pfb) ; +/URWGothicL-BookObli (a010033l.pfb) ; +/URWGothicL-Demi (a010015l.pfb) ; +/URWGothicL-DemiObli (a010035l.pfb) ; + +/NimbusSanL-Regu (n019003l.pfb) ; +/NimbusSanL-ReguItal (n019023l.pfb) ; +/NimbusSanL-Bold (n019004l.pfb) ; +/NimbusSanL-BoldItal (n019024l.pfb) ; + +/NimbusSanL-ReguCond (n019043l.pfb) ; +/NimbusSanL-ReguCondItal (n019063l.pfb) ; +/NimbusSanL-BoldCond (n019044l.pfb) ; +/NimbusSanL-BoldCondItal (n019064l.pfb) ; + +/URWPalladioL-Roma (p052003l.pfb) ; +/URWPalladioL-Ital (p052023l.pfb) ; +/URWPalladioL-Bold (p052004l.pfb) ; +/URWPalladioL-BoldItal (p052024l.pfb) ; + +/CenturySchL-Roma (c059013l.pfb) ; +/CenturySchL-Ital (c059033l.pfb) ; +/CenturySchL-Bold (c059016l.pfb) ; +/CenturySchL-BoldItal (c059036l.pfb) ; + +/NimbusRomNo9L-Regu (n021003l.pfb) ; +/NimbusRomNo9L-ReguItal (n021023l.pfb) ; +/NimbusRomNo9L-Medi (n021004l.pfb) ; +/NimbusRomNo9L-MediItal (n021024l.pfb) ; + +/StandardSymL (s050000l.pfb) ; + +/URWChanceryL-MediItal (z003034l.pfb) ; + +/Dingbats (d050000l.pfb) ; + +% Aliases + +/Bookman-Demi /URWBookmanL-DemiBold ; +/Bookman-DemiItalic /URWBookmanL-DemiBoldItal ; +/Bookman-Light /URWBookmanL-Ligh ; +/Bookman-LightItalic /URWBookmanL-LighItal ; + +/Courier /NimbusMonL-Regu ; +/Courier-Oblique /NimbusMonL-ReguObli ; +/Courier-Bold /NimbusMonL-Bold ; +/Courier-BoldOblique /NimbusMonL-BoldObli ; + +/AvantGarde-Book /URWGothicL-Book ; +/AvantGarde-BookOblique /URWGothicL-BookObli ; +/AvantGarde-Demi /URWGothicL-Demi ; +/AvantGarde-DemiOblique /URWGothicL-DemiObli ; + +/Helvetica /NimbusSanL-Regu ; +/Helvetica-Oblique /NimbusSanL-ReguItal ; +/Helvetica-Bold /NimbusSanL-Bold ; +/Helvetica-BoldOblique /NimbusSanL-BoldItal ; + +/Helvetica-Narrow /NimbusSanL-ReguCond ; +/Helvetica-Narrow-Oblique /NimbusSanL-ReguCondItal ; +/Helvetica-Narrow-Bold /NimbusSanL-BoldCond ; +/Helvetica-Narrow-BoldOblique /NimbusSanL-BoldCondItal ; + +/Palatino-Roman /URWPalladioL-Roma ; +/Palatino-Italic /URWPalladioL-Ital ; +/Palatino-Bold /URWPalladioL-Bold ; +/Palatino-BoldItalic /URWPalladioL-BoldItal ; + +/NewCenturySchlbk-Roman /CenturySchL-Roma ; +/NewCenturySchlbk-Italic /CenturySchL-Ital ; +/NewCenturySchlbk-Bold /CenturySchL-Bold ; +/NewCenturySchlbk-BoldItalic /CenturySchL-BoldItal ; + +/Times-Roman /NimbusRomNo9L-Regu ; +/Times-Italic /NimbusRomNo9L-ReguItal ; +/Times-Bold /NimbusRomNo9L-Medi ; +/Times-BoldItalic /NimbusRomNo9L-MediItal ; + +/Symbol /StandardSymL ; + +/ZapfChancery-MediumItalic /URWChanceryL-MediItal ; + +/ZapfDingbats /Dingbats ; + +% +% +% Type 1 fonts contributed to the X11R5 distribution. +% + +% The following notice accompanied the Charter fonts. +% +% (c) Copyright 1989-1992, Bitstream Inc., Cambridge, MA. +% +% You are hereby granted permission under all Bitstream propriety rights +% to use, copy, modify, sublicense, sell, and redistribute the 4 Bitstream +% Charter (r) Type 1 outline fonts and the 4 Courier Type 1 outline fonts +% for any purpose and without restriction; provided, that this notice is +% left intact on all copies of such fonts and that Bitstream's trademark +% is acknowledged as shown below on all unmodified copies of the 4 Charter +% Type 1 fonts. +% +% BITSTREAM CHARTER is a registered trademark of Bitstream Inc. + +/CharterBT-Roman (bchr.pfa) ; +/CharterBT-Italic (bchri.pfa) ; +/CharterBT-Bold (bchb.pfa) ; +/CharterBT-BoldItalic (bchbi.pfa) ; + +% Aliases + +/Charter-Roman /CharterBT-Roman ; +/Charter-Italic /CharterBT-Italic ; +/Charter-Bold /CharterBT-Bold ; +/Charter-BoldItalic /CharterBT-BoldItalic ; + +% The following notice accompanied the Utopia font: +% +% Permission to use, reproduce, display and distribute the listed +% typefaces is hereby granted, provided that the Adobe Copyright notice +% appears in all whole and partial copies of the software and that the +% following trademark symbol and attribution appear in all unmodified +% copies of the software: +% +% Copyright (c) 1989 Adobe Systems Incorporated +% Utopia (R) +% Utopia is a registered trademark of Adobe Systems Incorporated +% +% The Adobe typefaces (Type 1 font program, bitmaps and Adobe Font +% Metric files) donated are: +% +% Utopia Regular +% Utopia Italic +% Utopia Bold +% Utopia Bold Italic + +/Utopia-Regular (putr.pfa) ; +/Utopia-Italic (putri.pfa) ; +/Utopia-Bold (putb.pfa) ; +/Utopia-BoldItalic (putbi.pfa) ; + +% +% +% Fonts contributed by URW GmbH for distribution under the GNU License. +% The following notice accompanied these fonts: +% +% U004006T URW Grotesk 2031 Bold PostScript Type 1 Font Program +% U003043T URW Antiqua 2051 Regular Condensed PostScript Type 1 Font Program +% +% Copyright (c) 1992 URW GmbH, Hamburg, Germany +% +% This program is free software; you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation; either version 2 of the License, or +% (at your option) later version. +% +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; wihtout even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +% See the GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this program; if not, write to the Free Software +% Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 U.S.A. +% +% Address: +% URW GmbH +% PC Support +% Harksheider Strasse 102 +% 2000 Hamburg 65 +% Germany +% Phone: +49 40 60 60 50 (Reception) +% Phone: +49 40 60 60 52 30 (PC Support) +% Fax : +49 40 60 60 52 52 +% + +/URWAntiquaT-RegularCondensed (u003043t.gsf) ; +/URWGroteskT-Bold (u004006t.gsf) ; + +% +% +% Shareware Kana fonts. These are subject to the following notice: +% +% These copyrighted fonts were developed by Kevin Hartig. Permission is +% granted to freely distribute them in entirety along with this statement. +% This is shareware. If you decide to use these fonts please contribute +% $10 US to help support further freeware and shareware software development. +% Questions and comments may be sent to: +% +% hartig@fsl.noaa.gov +% khartig@nyx.cs.du.edu +% +% Kevin Hartig +% 1126 Collyer Street +% Longmont, CO 80501 USA +% +% copyright 1993. + +% Hiragana and Katakana fonts. The character names are inappropriate, +% and the encoding is probably not related to any known standard. + +/Calligraphic-Hiragana (fhirw.gsf) ; +/Calligraphic-Katakana (fkarw.gsf) ; + +% +% +% Public-domain fonts. These have no copyright, and are of unknown quality. + +% Cyrillic fonts. The character names are inappropriate, +% and the encoding is probably not related to any known standard. + +/Shareware-Cyrillic-Regular (fcyr.gsf) ; +/Shareware-Cyrillic-Italic (fcyri.gsf) ; + +% Aliases +/Cyrillic /Cyrillic-Regular ; +/Cyrillic-Regular /Shareware-Cyrillic-Regular ; +/Cyrillic-Italic /Shareware-Cyrillic-Italic ; + +% +% +% Fonts converted from Hershey outlines. These are constructed and +% maintained manually. These are also in the public domain. +% +% The suggested UniqueID's and filenames are constructed differently for +% these than for the ones above, because of the strange way that the Hershey +% fonts were constructed. The scheme for these looks like: +% +% 42TTXY0 +% +% TT = typeface, X = ``class'', Y = variation +% +% The typeface names and numbers are listed in fonts.mak. +% +% class: +% 0 = normal = r +% 1 = simplex = s +% 2 = complex = c +% 3 = triplex = t +% 4 = duplex = d +% +% variation: +% 0 = normal (omitted) +% 1 = oblique = o +% 2 = italic = i +% 3 = bold = b +% 4 = bold oblique = bo +% 5 = bold italic = bi +% + +% Fonts created by Thomas Wolff , by adding +% accents, accented characters, and various other non-alphabetics +% to the original Hershey fonts. These are "freeware", not to be sold. + +/Hershey-Gothic-English (hrger.pfa) ; % 5066533 +/Hershey-Gothic-German (hrgrr.pfa) ; +/Hershey-Gothic-Italian (hritr.pfa) ; + +/Hershey-Plain-Duplex (hrpld.pfa) ; +/Hershey-Plain-Duplex-Italic (hrpldi.pfa) ; +/Hershey-Plain-Triplex (hrplt.pfa) ; +/Hershey-Plain-Triplex-Italic (hrplti.pfa) ; + +/Hershey-Script-Complex (hrscc.pfa) ; +/Hershey-Script-Simplex (hrscs.pfa) ; % 5066541 + +% Fonts created algorithmically from the above. + +/Hershey-Gothic-English-Bold (hrgerb.gsf) ; % 5066542 +/Hershey-Gothic-English-Oblique (hrgero.gsf) ; +/Hershey-Gothic-English-SemiBold (hrgerd.gsf) ; +/Hershey-Gothic-German-Bold (hrgrrb.gsf) ; +/Hershey-Gothic-German-Oblique (hrgrro.gsf) ; +/Hershey-Gothic-Italian-Bold (hritrb.gsf) ; +/Hershey-Gothic-Italian-Oblique (hritro.gsf) ; + +/Hershey-Plain-Duplex-Bold (hrpldb.gsf) ; +/Hershey-Plain-Duplex-Bold-Italic (hrpldbi.gsf) ; +/Hershey-Plain-Triplex-Bold (hrpltb.gsf) ; +/Hershey-Plain-Triplex-Bold-Italic (hrpltbi.gsf) ; + +/Hershey-Script-Complex-Bold (hrsccb.gsf) ; +/Hershey-Script-Complex-Oblique (hrscco.gsf) ; +/Hershey-Script-Simplex-Bold (hrscsb.gsf) ; +/Hershey-Script-Simplex-Oblique (hrscso.gsf) ; % 5066556 + +% Fonts consisting only of characters from the original Hershey +% distribution. These are Type 3 fonts. + +/Hershey-Greek-Complex (hrgkc.gsf) ; % 5066557 +/Hershey-Greek-Simplex (hrgks.gsf) ; + +/Hershey-Plain (hrplr.gsf) ; +/Hershey-Plain-Simplex (hrpls.gsf) ; % 5066560 + +% Fonts created algorithmically from the above. + +/Hershey-Plain-Bold (hrplrb.gsf) ; % 5066561 +/Hershey-Plain-Bold-Oblique (hrplrbo.gsf) ; +/Hershey-Plain-Oblique (hrplro.gsf) ; +/Hershey-Plain-Simplex-Bold (hrplsb.gsf) ; +/Hershey-Plain-Simplex-Bold-Oblique (hrplsbo.gsf) ; +/Hershey-Plain-Simplex-Oblique (hrplso.gsf) ; % 5066566 + +% This font, and only this font among the Hershey fonts, uses +% the SymbolEncoding. + +/Hershey-Symbol (hrsyr.gsf) ; % 5066567 diff --git a/Master/xemtex/gslib/Fontmap.OS2 b/Master/xemtex/gslib/Fontmap.OS2 new file mode 100644 index 00000000000..bab846c7408 --- /dev/null +++ b/Master/xemtex/gslib/Fontmap.OS2 @@ -0,0 +1,215 @@ +% Copyright (C) 1990, 1992, 1993, 1996 Aladdin Enterprises. All rights reserved. +% +% This program is free software; you can redistribute it and/or modify it +% under the terms of the GNU General Public License as published by the +% Free Software Foundation; either version 2 of the License, or (at your +% option) any later version. +% +% This program is distributed in the hope that it will be useful, but +% WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +% Public License for more details. +% +% You should have received a copy of the GNU General Public License along +% with this program; if not, write to the Free Software Foundation, Inc., +% 59 Temple Place, Suite 330, Boston, MA, 02111-1307. + +% $Id: Fontmap.OS2,v 1.2.6.1.2.1 2003/04/12 14:02:38 giles Exp $ +% fontmap.os2 aka Fontmap.OS2 - OS/2 font catalog for Ghostscript. + +% ---------------------------------------------------------------- + +% This file is a catalog of fonts known to Ghostscript. Any font +% that is to be loaded automatically when named must be in this catalog, +% except for fonts that Ghostscript finds automatically in directories +% named in the GS_FONTPATH environment variable. + +% Each font has an entry consisting of three items: +% +% - The name by which the font is known inside Ghostscript +% (a Ghostscript name preceded by a `/', or a string enclosed +% in parentheses). This is used to find the file from which +% a font of a given name should be loaded. +% +% - Information depending on whether this is a real font or a +% font alias: +% +% - For real fonts, the name of the Ghostscript font +% file (a Ghostscript string, enclosed in parentheses). +% The filename should include the extension, which (by +% convention) is `.gsf'. `.pfa' and `.pfb' files are +% also usable as fonts for Ghostscript. +% +% - For font aliases, the name of the font which should +% be used when this one is requested, preceded by a +% `/'. See the entry for Charter below for an example. +% +% - A terminating semicolon. + +% Because of limitations in the MS-DOS environment, Ghostscript font +% file names must be no more than 8 characters long, must consist only +% of LOWER CASE letters, digits, and underscores, and must start with a +% letter. Font names, on the other hand, need only obey the syntax of +% names in the Ghostscript language, which is much more liberal. + +% Most of the Ghostscript fonts were created automatically from freely +% available bitmaps. There is a makefile (fonts.mak) that specifies +% how this conversion was done. fonts.mak also specifies, for each such +% converted font, its uniqueID (an integer used to identify distinct fonts +% within the Ghostscript font machinery), and its encoding (the mapping +% from character codes in a string to character names). For more detailed +% information, read fonts.mak. + +% The following table is actually a Ghostscript data structure. +% If you add new entries, be sure to copy the punctuation accurately; +% in particular, you must leave at least one space or tab between each +% field in the entry. Also, please read fonts.doc for important information +% about font names. + + +% +% +% Fonts contributed by: +% URW++ Design and Development Incorporated +% Poppenbuetteler Bogen 29A +% D-22399 Hamburg +% Germany +% tel. +49 (40) 60 60 50 +% fax +49 (40) 60 60 51 11 +% http://www.urwpp.de +% for distribution under the GNU License and Aladdin Free Public License. +% See the notice at the head of this Fontmap file for licensing terms. +% Each of these fonts is individually covered by the license: +% for licensing purposes, they are not "part of" any larger entity. +% The following notice applies to these fonts: +% +% Copyright URW Software, Copyright 1994 by URW. +% + +% Actual fonts + +/URWBookmanL-DemiBold (b018015l.pfb) ; +/URWBookmanL-DemiBoldItal (b018035l.pfb) ; +/URWBookmanL-Ligh (b018012l.pfb) ; +/URWBookmanL-LighItal (b018032l.pfb) ; + +/NimbusMonL-Regu (n022003l.pfb) ; +/NimbusMonL-ReguObli (n022023l.pfb) ; +/NimbusMonL-Bold (n022004l.pfb) ; +/NimbusMonL-BoldObli (n022024l.pfb) ; + +/URWGothicL-Book (a010013l.pfb) ; +/URWGothicL-BookObli (a010033l.pfb) ; +/URWGothicL-Demi (a010015l.pfb) ; +/URWGothicL-DemiObli (a010035l.pfb) ; + +/NimbusSanL-Regu (n019003l.pfb) ; +/NimbusSanL-ReguItal (n019023l.pfb) ; +/NimbusSanL-Bold (n019004l.pfb) ; +/NimbusSanL-BoldItal (n019024l.pfb) ; + +/NimbusSanL-ReguCond (n019043l.pfb) ; +/NimbusSanL-ReguCondItal (n019063l.pfb) ; +/NimbusSanL-BoldCond (n019044l.pfb) ; +/NimbusSanL-BoldCondItal (n019064l.pfb) ; + +/URWPalladioL-Roma (p052003l.pfb) ; +/URWPalladioL-Ital (p052023l.pfb) ; +/URWPalladioL-Bold (p052004l.pfb) ; +/URWPalladioL-BoldItal (p052024l.pfb) ; + +/CenturySchL-Roma (c059013l.pfb) ; +/CenturySchL-Ital (c059033l.pfb) ; +/CenturySchL-Bold (c059016l.pfb) ; +/CenturySchL-BoldItal (c059036l.pfb) ; + +/NimbusRomNo9L-Regu (n021003l.pfb) ; +/NimbusRomNo9L-ReguItal (n021023l.pfb) ; +/NimbusRomNo9L-Medi (n021004l.pfb) ; +/NimbusRomNo9L-MediItal (n021024l.pfb) ; + +/StandardSymL (s050000l.pfb) ; + +/URWChanceryL-MediItal (z003034l.pfb) ; + +/Dingbats (d050000l.pfb) ; + +% Aliases + +/Bookman-Demi /URWBookmanL-DemiBold ; +/Bookman-DemiItalic /URWBookmanL-DemiBoldItal ; +/Bookman-Light /URWBookmanL-Ligh ; +/Bookman-LightItalic /URWBookmanL-LighItal ; + +/Courier /NimbusMonL-Regu ; +/Courier-Oblique /NimbusMonL-ReguObli ; +/Courier-Bold /NimbusMonL-Bold ; +/Courier-BoldOblique /NimbusMonL-BoldObli ; + +/AvantGarde-Book /URWGothicL-Book ; +/AvantGarde-BookOblique /URWGothicL-BookObli ; +/AvantGarde-Demi /URWGothicL-Demi ; +/AvantGarde-DemiOblique /URWGothicL-DemiObli ; + +/Helvetica /NimbusSanL-Regu ; +/Helvetica-Oblique /NimbusSanL-ReguItal ; +/Helvetica-Bold /NimbusSanL-Bold ; +/Helvetica-BoldOblique /NimbusSanL-BoldItal ; + +/Helvetica-Narrow /NimbusSanL-ReguCond ; +/Helvetica-Narrow-Oblique /NimbusSanL-ReguCondItal ; +/Helvetica-Narrow-Bold /NimbusSanL-BoldCond ; +/Helvetica-Narrow-BoldOblique /NimbusSanL-BoldCondItal ; + +/Palatino-Roman /URWPalladioL-Roma ; +/Palatino-Italic /URWPalladioL-Ital ; +/Palatino-Bold /URWPalladioL-Bold ; +/Palatino-BoldItalic /URWPalladioL-BoldItal ; + +/NewCenturySchlbk-Roman /CenturySchL-Roma ; +/NewCenturySchlbk-Italic /CenturySchL-Ital ; +/NewCenturySchlbk-Bold /CenturySchL-Bold ; +/NewCenturySchlbk-BoldItalic /CenturySchL-BoldItal ; + +/Times-Roman /NimbusRomNo9L-Regu ; +/Times-Italic /NimbusRomNo9L-ReguItal ; +/Times-Bold /NimbusRomNo9L-Medi ; +/Times-BoldItalic /NimbusRomNo9L-MediItal ; + +/Symbol /StandardSymL ; + +/ZapfChancery-MediumItalic /URWChanceryL-MediItal ; + +/ZapfDingbats /Dingbats ; + + +% +% ATM fonts that come with OS/2. + +/Courier (cour.pfb) ; +/Courier-Oblique /Courier-Italic ; +/Courier-Italic (couri.pfb) ; +/Courier-Bold (courb.pfb) ; +/Courier-BoldOblique /Courier-BoldItalic ; +/Courier-BoldItalic (courbi.pfb) ; + +/Helvetica (helv.pfb) ; +/Helvetica-Oblique /Helvetica-Italic ; +/Helvetica-Italic (helvi.pfb) ; +/Helvetica-Bold (helvb.pfb) ; +/Helvetica-BoldOblique /Helvetica-BoldItalic ; +/Helvetica-BoldItalic (helvbi.pfb) ; + +/Symbol /SymbolSet ; +/SymbolSet (symb.pfb) ; + +/Times-Roman /TimesNewRoman ; +/TimesNewRoman (tnr.pfb) ; +/Times-Italic /TimesNewRoman-Italic ; +/TimesNewRoman-Italic (tnri.pfb) ; +/Times-Bold /TimesNewRoman-Bold ; +/TimesNewRoman-Bold (tnrb.pfb) ; +/Times-BoldItalic /TimesNewRoman-BoldItalic ; +/TimesNewRoman-BoldItalic (tnrbi.pfb) ; + + diff --git a/Master/xemtex/gslib/Fontmap.OSF b/Master/xemtex/gslib/Fontmap.OSF new file mode 100644 index 00000000000..563f14a995f --- /dev/null +++ b/Master/xemtex/gslib/Fontmap.OSF @@ -0,0 +1,163 @@ +% fontmap.osf aka Fontmap.OSF1 - Ghostscript fontmap for DEC OSF/1 systems. +% +% UNIX systems from Digital Equipment Corporation are bundled with a license +% for Display PostScript, including certain fonts. Using their font outlines +% (which on OSF/1 systems are found in /usr/lib/X11/fonts/Type1Adobe) +% improves the visual quality of documents displayed on screen. To do that, +% use this file as your Fontmap file and add /usr/lib/X11/fonts/Type1Adobe +% as the second argument to GS_LIB_DEFAULT in your makefile +% in your makefile. +% +% This file is Pete Kaiser's original Ultrix file as modified by +% Bjorn S. Nilsson (nilsson@nbi.dk) first for Ultrix 4.3 and then +% for OSF/1 version 1.3. +% + +%/AvantGarde-Book (AvantGarde-Book) ; +%/AvantGarde-BookOblique (AvantGarde-BookOblique); +%/AvantGarde-Demi (AvantGarde-Demi) ; +%/AvantGarde-DemiOblique (AvantGarde-DemiOblique); + +%/Courier-BoldItalic /Courier-BoldOblique ; +%/Courier-Italic /Courier-Oblique ; + +%/Courier (Courier) ; +%/Courier-Bold (Courier-Bold) ; +%/Courier-BoldOblique (Courier-BoldOblique) ; +%/Courier-Oblique (Courier-Oblique) ; + +%/Helvetica (Helvetica) ; +%/Helvetica-Bold (Helvetica-Bold) ; +%/Helvetica-BoldOblique (Helvetica-BoldOblique) ; +%/Helvetica-Oblique (Helvetica-Oblique) ; + +%/LubalinGraph-Book (LubalinGraph-Book) ; +%/LubalinGraph-BookOblique (LubalinGraph-BookOblique); +%/LubalinGraph-Demi (LubalinGraph-Demi) ; +%/LubalinGraph-DemiOblique (LubalinGraph-DemiOblique); + +%/NewCenturySchlbk-Bold (NewCenturySchlbk-Bold) ; +%/NewCenturySchlbk-BoldItalic (NewCenturySchlbk-BoldItalic); +%/NewCenturySchlbk-Italic (NewCenturySchlbk-Italic); +%/NewCenturySchlbk-Roman (NewCenturySchlbk-Roman); + +%/Souvenir-Demi (Souvenir-Demi) ; +%/Souvenir-DemiItalic (Souvenir-DemiItalic) ; +%/Souvenir-Light (Souvenir-Light) ; +%/Souvenir-LightItalic (Souvenir-LightItalic) ; + +%/Symbol (Symbol) ; + +%/Times-Bold (Times-Bold) ; +%/Times-BoldItalic (Times-BoldItalic) ; +%/Times-Italic (Times-Italic) ; +%/Times-Roman (Times-Roman) ; + +%/ZapfDingbats (ZapfDingbats) ; + +/AvantGarde-Book (AvantGarde-Book.pfa) ; +/AvantGarde-BookOblique (AvantGarde-BookOblique.pfa) ; +/AvantGarde-Demi (AvantGarde-Demi.pfa) ; +/AvantGarde-DemiOblique (AvantGarde-DemiOblique.pfa) ; +/Bookman-Demi (pbkd.gsf) ; +/Bookman-DemiItalic (pbkdi.gsf) ; +/Bookman-Light (pbkl.gsf) ; +/Bookman-LightItalic (pbkli.gsf) ; +/Calligraphic-Hiragana (fhirw.gsf) ; +/Calligraphic-Katakana (fkarw.gsf) ; +/CharterBT-Bold (bchb.gsf) ; +/CharterBT-BoldItalic (bchbi.gsf) ; +/CharterBT-Italic (bchri.gsf) ; +/CharterBT-Roman (bchr.gsf) ; +/Courier (Courier.pfa) ; +/Courier-Bold (Courier-Bold.pfa) ; +/Courier-BoldOblique (Courier-BoldOblique.pfa) ; +/Courier-Oblique (Courier-Oblique.pfa) ; +/Helvetica (Helvetica.pfa) ; +/Helvetica-Bold (Helvetica-Bold.pfa) ; +/Helvetica-BoldOblique (Helvetica-BoldOblique.pfa) ; +/Helvetica-Oblique (Helvetica-Oblique.pfa) ; +/Hershey-Gothic-English (hrger.gsf) ; +/Hershey-Gothic-German (hrgrr.gsf) ; +/Hershey-Gothic-Italian (hritr.gsf) ; +/Hershey-Plain-Duplex (hrpld.gsf) ; +/Hershey-Plain-Duplex-Italic (hrpldi.gsf) ; +/Hershey-Plain-Triplex (hrplt.gsf) ; +/Hershey-Plain-Triplex-Italic (hrplti.gsf) ; +/Hershey-Script-Complex (hrscc.gsf) ; +/Hershey-Script-Simplex (hrscs.gsf) ; +/Hershey-Gothic-English-Bold (hrgerb.gsf) ; +/Hershey-Gothic-English-Oblique (hrgero.gsf) ; +/Hershey-Gothic-English-Semibold (hrgerd.gsf) ; +/Hershey-Gothic-German-Bold (hrgrrb.gsf) ; +/Hershey-Gothic-German-Oblique (hrgrro.gsf) ; +/Hershey-Gothic-Italian-Bold (hritrb.gsf) ; +/Hershey-Gothic-Italian-Oblique (hritro.gsf) ; +/Hershey-Plain-Duplex-Bold (hrpldb.gsf) ; +/Hershey-Plain-Duplex-Bold-Italic (hrpldbi.gsf) ; +/Hershey-Plain-Triplex-Bold (hrpltb.gsf) ; +/Hershey-Plain-Triplex-Bold-Italic (hrpltbi.gsf) ; +/Hershey-Script-Complex-Bold (hrsccb.gsf) ; +/Hershey-Script-Complex-Oblique (hrscco.gsf) ; +/Hershey-Script-Simplex-Bold (hrscsb.gsf) ; +/Hershey-Script-Simplex-Oblique (hrscso.gsf) ; +/Hershey-Greek-Complex (hrgkc.gsf) ; +/Hershey-Greek-Simplex (hrgks.gsf) ; +/Hershey-Plain (hrplr.gsf) ; +/Hershey-Plain-Simplex (hrpls.gsf) ; +/Hershey-Plain-Bold (hrplrb.gsf) ; +/Hershey-Plain-Bold-Oblique (hrplrbo.gsf) ; +/Hershey-Plain-Oblique (hrplro.gsf) ; +/Hershey-Plain-Simplex-Bold (hrplsb.gsf) ; +/Hershey-Plain-Simplex-Bold-Oblique (hrplsbo.gsf) ; +/Hershey-Plain-Simplex-Oblique (hrplso.gsf) ; +/Hershey-Symbol (hrsy_r.gsf) ; +/LubalinGraph-Book (LubalinGraph-Book.pfa) ; +/LubalinGraph-BookOblique (LubalinGraph-BookOblique.pfa) ; +/LubalinGraph-Demi (LubalinGraph-Demi.pfa) ; +/LubalinGraph-DemiOblique (LubalinGraph-DemiOblique.pfa) ; +/NewCenturySchlbk-Bold (NewCenturySchlbk-Bold.pfa) ; +/NewCenturySchlbk-BoldItalic (NewCenturySchlbk-BoldItalic.pfa) ; +/NewCenturySchlbk-Italic (NewCenturySchlbk-Italic.pfa) ; +/NewCenturySchlbk-Roman (NewCenturySchlbk-Roman.pfa) ; +/NimbusRomanNo9L-Regular (n021003l.gsf) ; +/NimbusSansL-Regular (n019003l.gsf) ; +/Palatino-Bold (pplb.gsf) ; +/Palatino-BoldItalic (pplbi.gsf) ; +/Palatino-Italic (pplri.gsf) ; +/Palatino-Roman (pplr.gsf) ; +/Shareware-Cyrillic-Regular (fcyr.gsf) ; +/Shareware-Cyrillic-Italic (fcyri.gsf) ; +/Souvenir-Demi (Souvenir-Demi.pfa) ; +/Souvenir-DemiItalic (Souvenir-DemiItalic.pfa) ; +/Souvenir-Light (Souvenir-Light.pfa) ; +/Souvenir-LightItalic (Souvenir-LightItalic.pfa) ; +/Symbol (Symbol.pfa) ; +/Times-Bold (Times-Bold.pfa) ; +/Times-BoldItalic (Times-BoldItalic.pfa) ; +/Times-Italic (Times-Italic.pfa) ; +/Times-Roman (Times-Roman.pfa) ; +/URWAntiquaT-RegularCondensed (u003043t.gsf) ; +/URWGroteskT-Bold (u004006t.gsf) ; +/Utopia-Bold (putb.gsf) ; +/Utopia-BoldItalic (putbi.gsf) ; +/Utopia-Italic (putri.gsf) ; +/Utopia-Regular (putr.gsf) ; +/ZapfChancery (zcr.gsf) ; +/ZapfChancery-Bold (zcb.gsf) ; +/ZapfChancery-Oblique (zcro.gsf) ; +/ZapfDingbats (ZapfDingbats.pfa) ; +/Cyrillic /Cyrillic-Regular ; +/Cyrillic-Regular /Shareware-Cyrillic-Regular ; +/Cyrillic-Italic /Shareware-Cyrillic-Italic ; + +% BSN additions from original Fontmap file and some more aliases + +/Helvetica-Narrow-Bold /Helvetica-Narrow ; +/ZapfChancery-MediumItalic /ZapfChancery-Oblique ; +/Charter-Roman /CharterBT-Roman ; +/Charter-Italic /CharterBT-Italic ; +/Charter-Bold /CharterBT-Bold ; +/Charter-BoldItalic /CharterBT-BoldItalic ; +/Courier-Italic /Courier-Oblique ; +/Courier-BoldItalic /Courier-BoldOblique ; diff --git a/Master/xemtex/gslib/Fontmap.SGI b/Master/xemtex/gslib/Fontmap.SGI new file mode 100644 index 00000000000..22fa0b2073b --- /dev/null +++ b/Master/xemtex/gslib/Fontmap.SGI @@ -0,0 +1,406 @@ +% Copyright (C) 1996, 1999 Aladdin Enterprises. All rights reserved. +% +% This program is free software; you can redistribute it and/or modify it +% under the terms of the GNU General Public License as published by the +% Free Software Foundation; either version 2 of the License, or (at your +% option) any later version. +% +% This program is distributed in the hope that it will be useful, but +% WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +% Public License for more details. +% +% You should have received a copy of the GNU General Public License along +% with this program; if not, write to the Free Software Foundation, Inc., +% 59 Temple Place, Suite 330, Boston, MA, 02111-1307. + +% $Id: Fontmap.SGI,v 1.2.6.1.2.1 2003/04/12 14:02:38 giles Exp $ +% +% Fontmap.SGI - standard font catalog for Ghostscript, modified for IRIX 5.3 +% with the DPS fonts installed (dps_eoe.sw.dpsfonts). +% by H. Gohel, gohel@acm.org. 1999-09-10 + +% ---------------------------------------------------------------- + +% This file is a catalog of fonts known to Ghostscript. Any font +% that is to be loaded automatically when named must be in this catalog, +% except for fonts that Ghostscript finds automatically in directories +% named in the GS_FONTPATH environment variable. + +% Each font has an entry consisting of three items: +% +% - The name by which the font is known inside Ghostscript +% (a Ghostscript name preceded by a `/', or a string enclosed +% in parentheses). This is used to find the file from which +% a font of a given name should be loaded. +% +% - Information depending on whether this is a real font or a +% font alias: +% +% - For real fonts, the name of the Ghostscript font +% file (a Ghostscript string, enclosed in parentheses). +% The filename should include the extension, which (by +% convention) is `.gsf'. `.pfa' and `.pfb' files are +% also usable as fonts for Ghostscript. +% +% - For font aliases, the name of the font which should +% be used when this one is requested, preceded by a +% `/'. See the entry for Charter below for an example. +% Note that an alias name cannot be enclosed in parentheses. +% +% - At least one space or tab, and a terminating semicolon. + +% Because of limitations in the MS-DOS environment, Ghostscript font +% file names must be no more than 8 characters long, must consist only +% of LOWER CASE letters, digits, and underscores, and must start with a +% letter. Font names, on the other hand, need only obey the syntax of +% names in the Ghostscript language, which is much more liberal. + +% The following table is actually a Ghostscript data structure. +% If you add new entries, be sure to copy the punctuation accurately; +% in particular, you must leave at least one space or tab between each +% field in the entry. Also, please read fonts.doc for important information +% about font names. + +% Note that .pfa and .pfb fonts are compatible with Adobe Type Manager +% and other programs that don't include full PostScript interpreters, +% as well as with PostScript interpreters; .gsf fonts are compatible with +% PostScript interpreters, but not with ATM or similar programs. + +% +% +% Fonts contributed by: +% URW++ Design and Development Incorporated +% Poppenbuetteler Bogen 29A +% D-22399 Hamburg +% Germany +% tel. +49 (40) 60 60 50 +% fax +49 (40) 60 60 51 11 +% http://www.urwpp.de +% for distribution under the GNU License and Aladdin Free Public License. +% See the notice at the head of this Fontmap file for licensing terms. +% Each of these fonts is individually covered by the license: +% for licensing purposes, they are not "part of" any larger entity. +% The following notice applies to these fonts: +% +% Copyright URW Software, Copyright 1994 by URW. +% + +% Actual fonts + +/URWBookmanL-DemiBold (b018015l.pfb) ; +/URWBookmanL-DemiBoldItal (b018035l.pfb) ; +/URWBookmanL-Ligh (b018012l.pfb) ; +/URWBookmanL-LighItal (b018032l.pfb) ; + +/NimbusMonL-Regu (n022003l.pfb) ; +/NimbusMonL-ReguObli (n022023l.pfb) ; +/NimbusMonL-Bold (n022004l.pfb) ; +/NimbusMonL-BoldObli (n022024l.pfb) ; + +/URWGothicL-Book (a010013l.pfb) ; +/URWGothicL-BookObli (a010033l.pfb) ; +/URWGothicL-Demi (a010015l.pfb) ; +/URWGothicL-DemiObli (a010035l.pfb) ; + +/NimbusSanL-Regu (n019003l.pfb) ; +/NimbusSanL-ReguItal (n019023l.pfb) ; +/NimbusSanL-Bold (n019004l.pfb) ; +/NimbusSanL-BoldItal (n019024l.pfb) ; + +/NimbusSanL-ReguCond (n019043l.pfb) ; +/NimbusSanL-ReguCondItal (n019063l.pfb) ; +/NimbusSanL-BoldCond (n019044l.pfb) ; +/NimbusSanL-BoldCondItal (n019064l.pfb) ; + +/URWPalladioL-Roma (p052003l.pfb) ; +/URWPalladioL-Ital (p052023l.pfb) ; +/URWPalladioL-Bold (p052004l.pfb) ; +/URWPalladioL-BoldItal (p052024l.pfb) ; + +/CenturySchL-Roma (c059013l.pfb) ; +/CenturySchL-Ital (c059033l.pfb) ; +/CenturySchL-Bold (c059016l.pfb) ; +/CenturySchL-BoldItal (c059036l.pfb) ; + +/NimbusRomNo9L-Regu (n021003l.pfb) ; +/NimbusRomNo9L-ReguItal (n021023l.pfb) ; +/NimbusRomNo9L-Medi (n021004l.pfb) ; +/NimbusRomNo9L-MediItal (n021024l.pfb) ; + +/StandardSymL (s050000l.pfb) ; + +/URWChanceryL-MediItal (z003034l.pfb) ; + +/Dingbats (d050000l.pfb) ; + +% Aliases +% These Adobe fonts are available with DPS on IRIX, so they commented out: + +%/Bookman-Demi /URWBookmanL-DemiBold ; +%/Bookman-DemiItalic /URWBookmanL-DemiBoldItal ; +%/Bookman-Light /URWBookmanL-Ligh ; +%/Bookman-LightItalic /URWBookmanL-LighItal ; + +%/Courier /NimbusMonL-Regu ; +%/Courier-Oblique /NimbusMonL-ReguObli ; +%/Courier-Bold /NimbusMonL-Bold ; +%/Courier-BoldOblique /NimbusMonL-BoldObli ; + +%/AvantGarde-Book /URWGothicL-Book ; +%/AvantGarde-BookOblique /URWGothicL-BookObli ; +%/AvantGarde-Demi /URWGothicL-Demi ; +%/AvantGarde-DemiOblique /URWGothicL-DemiObli ; + +%/Helvetica /NimbusSanL-Regu ; +%/Helvetica-Oblique /NimbusSanL-ReguItal ; +%/Helvetica-Bold /NimbusSanL-Bold ; +%/Helvetica-BoldOblique /NimbusSanL-BoldItal ; + +%/Helvetica-Narrow /NimbusSanL-ReguCond ; +%/Helvetica-Narrow-Oblique /NimbusSanL-ReguCondItal ; +%/Helvetica-Narrow-Bold /NimbusSanL-BoldCond ; +%/Helvetica-Narrow-BoldOblique /NimbusSanL-BoldCondItal ; + +%/Palatino-Roman /URWPalladioL-Roma ; +%/Palatino-Italic /URWPalladioL-Ital ; +%/Palatino-Bold /URWPalladioL-Bold ; +%/Palatino-BoldItalic /URWPalladioL-BoldItal ; + +%/NewCenturySchlbk-Roman /CenturySchL-Roma ; +%/NewCenturySchlbk-Italic /CenturySchL-Ital ; +%/NewCenturySchlbk-Bold /CenturySchL-Bold ; +%/NewCenturySchlbk-BoldItalic /CenturySchL-BoldItal ; + +%/Times-Roman /NimbusRomNo9L-Regu ; +%/Times-Italic /NimbusRomNo9L-ReguItal ; +%/Times-Bold /NimbusRomNo9L-Medi ; +%/Times-BoldItalic /NimbusRomNo9L-MediItal ; + +%/Symbol /StandardSymL ; + +%/ZapfChancery-MediumItalic /URWChanceryL-MediItal ; + +%/ZapfDingbats /Dingbats ; + +% +% +% Type 1 fonts contributed to the X11R5 distribution. +% + +% The following notice accompanied the Charter fonts. +% +% (c) Copyright 1989-1992, Bitstream Inc., Cambridge, MA. +% +% You are hereby granted permission under all Bitstream propriety rights +% to use, copy, modify, sublicense, sell, and redistribute the 4 Bitstream +% Charter (r) Type 1 outline fonts and the 4 Courier Type 1 outline fonts +% for any purpose and without restriction; provided, that this notice is +% left intact on all copies of such fonts and that Bitstream's trademark +% is acknowledged as shown below on all unmodified copies of the 4 Charter +% Type 1 fonts. +% +% BITSTREAM CHARTER is a registered trademark of Bitstream Inc. + +% The Bitstream Charter fonts have different names (CharterBT- +% instead of Charter-), but Ghostscript doesn't care. +/Charter-Roman (bchr.pfa) ; +/Charter-Italic (bchri.pfa) ; +/Charter-Bold (bchb.pfa) ; +/Charter-BoldItalic (bchbi.pfa) ; + +% The following notice accompanied the Utopia font: +% +% Permission to use, reproduce, display and distribute the listed +% typefaces is hereby granted, provided that the Adobe Copyright notice +% appears in all whole and partial copies of the software and that the +% following trademark symbol and attribution appear in all unmodified +% copies of the software: +% +% Copyright (c) 1989 Adobe Systems Incorporated +% Utopia (R) +% Utopia is a registered trademark of Adobe Systems Incorporated +% +% The Adobe typefaces (Type 1 font program, bitmaps and Adobe Font +% Metric files) donated are: +% +% Utopia Regular +% Utopia Italic +% Utopia Bold +% Utopia Bold Italic + +% The original Utopia files are available with IRIX and DPS so need +% for aliases, HJG. + +%/Utopia-Regular (putr.pfa) ; +%/Utopia-Italic (putri.pfa) ; +%/Utopia-Bold (putb.pfa) ; +%/Utopia-BoldItalic (putbi.pfa) ; + +% +% +% Fonts contributed by URW GmbH for distribution under the GNU License. +% The following notice accompanied these fonts: +% +% U004006T URW Grotesk 2031 Bold PostScript Type 1 Font Program +% U003043T URW Antiqua 2051 Regular Condensed PostScript Type 1 Font Program +% +% Copyright (c) 1992 URW GmbH, Hamburg, Germany +% +% This program is free software; you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation; either version 2 of the License, or +% (at your option) later version. +% +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; wihtout even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +% See the GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this program; if not, write to the Free Software +% Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. +% +% Address: +% URW GmbH +% PC Support +% Harksheider Strasse 102 +% 2000 Hamburg 65 +% Germany +% Phone: +49 40 60 60 50 (Reception) +% Phone: +49 40 60 60 52 30 (PC Support) +% Fax : +49 40 60 60 52 52 +% + +/URWAntiquaT-RegularCondensed (u003043t.gsf) ; +/URWGroteskT-Bold (u004006t.gsf) ; + +% +% +% Shareware Kana fonts. These are subject to the following notice: +% +% These copyrighted fonts were developed by Kevin Hartig. Permission is +% granted to freely distribute them in entirety along with this statement. +% This is shareware. If you decide to use these fonts please contribute +% $10 US to help support further freeware and shareware software development. +% Questions and comments may be sent to: +% +% hartig@fsl.noaa.gov +% khartig@nyx.cs.du.edu +% +% Kevin Hartig +% 1126 Collyer Street +% Longmont, CO 80501 USA +% +% copyright 1993. + +% Hiragana and Katakana fonts. The character names are inappropriate, +% and the encoding is probably not related to any known standard. + +/Calligraphic-Hiragana (fhirw.gsf) ; +/Calligraphic-Katakana (fkarw.gsf) ; + +% +% +% Public-domain fonts. These have no copyright, and are of unknown quality. + +% Cyrillic fonts. The character names are inappropriate, +% and the encoding is probably not related to any known standard. + +/Shareware-Cyrillic-Regular (fcyr.gsf) ; +/Shareware-Cyrillic-Italic (fcyri.gsf) ; + +% Aliases +/Cyrillic /Cyrillic-Regular ; +/Cyrillic-Regular /Shareware-Cyrillic-Regular ; +/Cyrillic-Italic /Shareware-Cyrillic-Italic ; + +% +% +% Fonts converted from Hershey outlines. These are constructed and +% maintained manually. These are also in the public domain. +% +% The suggested UniqueID's and filenames are constructed differently for +% these than for the ones above, because of the strange way that the Hershey +% fonts were constructed. The scheme for these looks like: +% +% 42TTXY0 +% +% TT = typeface, X = ``class'', Y = variation +% +% The typeface names and numbers are listed in fonts.mak. +% +% class: +% 0 = normal = r +% 1 = simplex = s +% 2 = complex = c +% 3 = triplex = t +% 4 = duplex = d +% +% variation: +% 0 = normal (omitted) +% 1 = oblique = o +% 2 = italic = i +% 3 = bold = b +% 4 = bold oblique = bo +% 5 = bold italic = bi +% + +% Fonts created by Thomas Wolff , by adding +% accents, accented characters, and various other non-alphabetics +% to the original Hershey fonts. These are "freeware", not to be sold. + +/Hershey-Gothic-English (hrger.pfa) ; % 5066533 +/Hershey-Gothic-German (hrgrr.pfa) ; +/Hershey-Gothic-Italian (hritr.pfa) ; + +/Hershey-Plain-Duplex (hrpld.pfa) ; +/Hershey-Plain-Duplex-Italic (hrpldi.pfa) ; +/Hershey-Plain-Triplex (hrplt.pfa) ; +/Hershey-Plain-Triplex-Italic (hrplti.pfa) ; + +/Hershey-Script-Complex (hrscc.pfa) ; +/Hershey-Script-Simplex (hrscs.pfa) ; % 5066541 + +% Fonts created algorithmically from the above. + +/Hershey-Gothic-English-Bold (hrgerb.gsf) ; % 5066542 +/Hershey-Gothic-English-Oblique (hrgero.gsf) ; +/Hershey-Gothic-English-SemiBold (hrgerd.gsf) ; +/Hershey-Gothic-German-Bold (hrgrrb.gsf) ; +/Hershey-Gothic-German-Oblique (hrgrro.gsf) ; +/Hershey-Gothic-Italian-Bold (hritrb.gsf) ; +/Hershey-Gothic-Italian-Oblique (hritro.gsf) ; + +/Hershey-Plain-Duplex-Bold (hrpldb.gsf) ; +/Hershey-Plain-Duplex-Bold-Italic (hrpldbi.gsf) ; +/Hershey-Plain-Triplex-Bold (hrpltb.gsf) ; +/Hershey-Plain-Triplex-Bold-Italic (hrpltbi.gsf) ; + +/Hershey-Script-Complex-Bold (hrsccb.gsf) ; +/Hershey-Script-Complex-Oblique (hrscco.gsf) ; +/Hershey-Script-Simplex-Bold (hrscsb.gsf) ; +/Hershey-Script-Simplex-Oblique (hrscso.gsf) ; % 5066556 + +% Fonts consisting only of characters from the original Hershey +% distribution. These are Type 3 fonts. + +/Hershey-Greek-Complex (hrgkc.gsf) ; % 5066557 +/Hershey-Greek-Simplex (hrgks.gsf) ; + +/Hershey-Plain (hrplr.gsf) ; +/Hershey-Plain-Simplex (hrpls.gsf) ; % 5066560 + +% Fonts created algorithmically from the above. + +/Hershey-Plain-Bold (hrplrb.gsf) ; % 5066561 +/Hershey-Plain-Bold-Oblique (hrplrbo.gsf) ; +/Hershey-Plain-Oblique (hrplro.gsf) ; +/Hershey-Plain-Simplex-Bold (hrplsb.gsf) ; +/Hershey-Plain-Simplex-Bold-Oblique (hrplsbo.gsf) ; +/Hershey-Plain-Simplex-Oblique (hrplso.gsf) ; % 5066566 + +% This font, and only this font among the Hershey fonts, uses +% the SymbolEncoding. + +/Hershey-Symbol (hrsyr.gsf) ; % 5066567 diff --git a/Master/xemtex/gslib/Fontmap.Sol b/Master/xemtex/gslib/Fontmap.Sol new file mode 100644 index 00000000000..a8c6fe25765 --- /dev/null +++ b/Master/xemtex/gslib/Fontmap.Sol @@ -0,0 +1,487 @@ +% Copyright (C) 1996, 1999 Aladdin Enterprises. All rights reserved. +% +% This program is free software; you can redistribute it and/or modify it +% under the terms of the GNU General Public License as published by the +% Free Software Foundation; either version 2 of the License, or (at your +% option) any later version. +% +% This program is distributed in the hope that it will be useful, but +% WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +% Public License for more details. +% +% You should have received a copy of the GNU General Public License along +% with this program; if not, write to the Free Software Foundation, Inc., +% 59 Temple Place, Suite 330, Boston, MA, 02111-1307. + +% $Id: Fontmap.Sol,v 1.2.6.1.2.1 2003/04/12 14:02:38 giles Exp $ +% Fontmap.Solaris - Ghostscript Fontmap for Solaris 2.3 and above +% =============================================================== +% +% The Solaris 2.3 (and above) operating system from Sun Microsystems comes with +% Display Postscript (DPS), including certain Type1 and Type3 PostScript fonts. +% Using these fonts instead of the default Ghostscript fonts greatly improves +% the visual quality of Ghostscript rendered documents, especially at larger +% font sizes. You should definately use these fonts if you have Solaris 2.3 or +% above. +% +% To use the Solaris 2 DPS fonts, simply copy this file (Fontmap.Solaris) to +% +% /usr/local/lib/Ghostscript/VERSION/Fontmap +% (where VERSION is the version number of Ghostscript, eg: 3.33) +% +% and set the environment variable GS_LIB as follows: +% +% GS_LIB=/usr/openwin/lib/X11/fonts/Type1:/usr/openwin/lib/X11/fonts/Type3 +% export GS_LIB +% +% You can use /usr/openwin/lib/fonts/Type1/outline instead if you like, it +% makes no difference (the files in /usr/openwin/lib/fonts/Type1 are symlinks +% into /usr/openwin/lib/fonts/Type1/outline). +% +% Instead of setting GS_LIB, you could add the above directories to +% GS_LIB_DEFAULT in your makefile before building Ghostscript. +% +% +% IMPORTANT NOTE +% ============== +% +% Note that simply setting GS_FONTPATH may not work, because for some reason +% some versions of gs can't seem to find any fonts in +% /usr/openwin/lib/X11/fonts/Type1/outline. +% It says: "15 files, 15 scanned, 0 new fonts". +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +% ---------------------------------------------------------------- + +% This file is a catalog of fonts known to Ghostscript. Any font +% that is to be loaded automatically when named must be in this catalog, +% except for fonts that Ghostscript finds automatically in directories +% named in the GS_FONTPATH environment variable. + +% Each font has an entry consisting of three items: +% +% - The name by which the font is known inside Ghostscript +% (a Ghostscript name preceded by a `/', or a string enclosed +% in parentheses). This is used to find the file from which +% a font of a given name should be loaded. +% +% - Information depending on whether this is a real font or a +% font alias: +% +% - For real fonts, the name of the Ghostscript font +% file (a Ghostscript string, enclosed in parentheses). +% The filename should include the extension, which (by +% convention) is `.gsf'. `.pfa' and `.pfb' files are +% also usable as fonts for Ghostscript. +% +% - For font aliases, the name of the font which should +% be used when this one is requested, preceded by a +% `/'. See the entry for Charter below for an example. +% Note that an alias name cannot be enclosed in parentheses. +% +% - At least one space or tab, and a terminating semicolon. + +% Because of limitations in the MS-DOS environment, Ghostscript font +% file names must be no more than 8 characters long, must consist only +% of LOWER CASE letters, digits, and underscores, and must start with a +% letter. Font names, on the other hand, need only obey the syntax of +% names in the Ghostscript language, which is much more liberal. + +% The following table is actually a Ghostscript data structure. +% If you add new entries, be sure to copy the punctuation accurately; +% in particular, you must leave at least one space or tab between each +% field in the entry. Also, please read fonts.doc for important information +% about font names. + +% Note that .pfa and .pfb fonts are compatible with Adobe Type Manager +% and other programs that don't include full PostScript interpreters, +% as well as with PostScript interpreters; .gsf fonts are compatible with +% PostScript interpreters, but not with ATM or similar programs. + +% +% +% Fonts contributed by: +% URW++ Design and Development Incorporated +% Poppenbuetteler Bogen 29A +% D-22399 Hamburg +% Germany +% tel. +49 (40) 60 60 50 +% fax +49 (40) 60 60 51 11 +% http://www.urwpp.de +% for distribution under the GNU License and Aladdin Free Public License. +% See the notice at the head of this Fontmap file for licensing terms. +% Each of these fonts is individually covered by the license: +% for licensing purposes, they are not "part of" any larger entity. +% The following notice applies to these fonts: +% +% Copyright URW Software, Copyright 1994 by URW. +% + +% Actual fonts + +/URWBookmanL-DemiBold (b018015l.pfb) ; +/URWBookmanL-DemiBoldItal (b018035l.pfb) ; +/URWBookmanL-Ligh (b018012l.pfb) ; +/URWBookmanL-LighItal (b018032l.pfb) ; + +/NimbusMonL-Regu (n022003l.pfb) ; +/NimbusMonL-ReguObli (n022023l.pfb) ; +/NimbusMonL-Bold (n022004l.pfb) ; +/NimbusMonL-BoldObli (n022024l.pfb) ; + +/URWGothicL-Book (a010013l.pfb) ; +/URWGothicL-BookObli (a010033l.pfb) ; +/URWGothicL-Demi (a010015l.pfb) ; +/URWGothicL-DemiObli (a010035l.pfb) ; + +/NimbusSanL-Regu (n019003l.pfb) ; +/NimbusSanL-ReguItal (n019023l.pfb) ; +/NimbusSanL-Bold (n019004l.pfb) ; +/NimbusSanL-BoldItal (n019024l.pfb) ; + +/NimbusSanL-ReguCond (n019043l.pfb) ; +/NimbusSanL-ReguCondItal (n019063l.pfb) ; +/NimbusSanL-BoldCond (n019044l.pfb) ; +/NimbusSanL-BoldCondItal (n019064l.pfb) ; + +/URWPalladioL-Roma (p052003l.pfb) ; +/URWPalladioL-Ital (p052023l.pfb) ; +/URWPalladioL-Bold (p052004l.pfb) ; +/URWPalladioL-BoldItal (p052024l.pfb) ; + +/CenturySchL-Roma (c059013l.pfb) ; +/CenturySchL-Ital (c059033l.pfb) ; +/CenturySchL-Bold (c059016l.pfb) ; +/CenturySchL-BoldItal (c059036l.pfb) ; + +/NimbusRomNo9L-Regu (n021003l.pfb) ; +/NimbusRomNo9L-ReguItal (n021023l.pfb) ; +/NimbusRomNo9L-Medi (n021004l.pfb) ; +/NimbusRomNo9L-MediItal (n021024l.pfb) ; + +/StandardSymL (s050000l.pfb) ; + +/URWChanceryL-MediItal (z003034l.pfb) ; + +/Dingbats (d050000l.pfb) ; + +% Aliases + +/Bookman-Demi /URWBookmanL-DemiBold ; +/Bookman-DemiItalic /URWBookmanL-DemiBoldItal ; +/Bookman-Light /URWBookmanL-Ligh ; +/Bookman-LightItalic /URWBookmanL-LighItal ; + +/Courier /NimbusMonL-Regu ; +/Courier-Oblique /NimbusMonL-ReguObli ; +/Courier-Bold /NimbusMonL-Bold ; +/Courier-BoldOblique /NimbusMonL-BoldObli ; + +/AvantGarde-Book /URWGothicL-Book ; +/AvantGarde-BookOblique /URWGothicL-BookObli ; +/AvantGarde-Demi /URWGothicL-Demi ; +/AvantGarde-DemiOblique /URWGothicL-DemiObli ; + +% Solaris 2 DPS has Helvetica as a Type1 font. +%/Helvetica /NimbusSanL-Regu ; +%/Helvetica-Oblique /NimbusSanL-ReguItal ; +%/Helvetica-Bold /NimbusSanL-Bold ; +%/Helvetica-BoldOblique /NimbusSanL-BoldItal ; + +/Helvetica-Narrow /NimbusSanL-ReguCond ; +/Helvetica-Narrow-Oblique /NimbusSanL-ReguCondItal ; +/Helvetica-Narrow-Bold /NimbusSanL-BoldCond ; +/Helvetica-Narrow-BoldOblique /NimbusSanL-BoldCondItal ; + +/Palatino-Roman /URWPalladioL-Roma ; +/Palatino-Italic /URWPalladioL-Ital ; +/Palatino-Bold /URWPalladioL-Bold ; +/Palatino-BoldItalic /URWPalladioL-BoldItal ; + +/NewCenturySchlbk-Roman /CenturySchL-Roma ; +/NewCenturySchlbk-Italic /CenturySchL-Ital ; +/NewCenturySchlbk-Bold /CenturySchL-Bold ; +/NewCenturySchlbk-BoldItalic /CenturySchL-BoldItal ; + +% Solaris 2 DPS has Times as a Type1 font. +%/Times-Roman /NimbusRomNo9L-Regu ; +%/Times-Italic /NimbusRomNo9L-ReguItal ; +%/Times-Bold /NimbusRomNo9L-Medi ; +%/Times-BoldItalic /NimbusRomNo9L-MediItal ; + +% Solaris 2 DPS has Symbol as a Type1 font. +%/Symbol /StandardSymL ; + +/ZapfChancery-MediumItalic /URWChanceryL-MediItal ; + +/ZapfDingbats /Dingbats ; + +% +% +% Type 1 fonts contributed to the X11R5 distribution. +% + +% The following notice accompanied the Charter fonts. +% +% (c) Copyright 1989-1992, Bitstream Inc., Cambridge, MA. +% +% You are hereby granted permission under all Bitstream propriety rights +% to use, copy, modify, sublicense, sell, and redistribute the 4 Bitstream +% Charter (r) Type 1 outline fonts and the 4 Courier Type 1 outline fonts +% for any purpose and without restriction; provided, that this notice is +% left intact on all copies of such fonts and that Bitstream's trademark +% is acknowledged as shown below on all unmodified copies of the 4 Charter +% Type 1 fonts. +% +% BITSTREAM CHARTER is a registered trademark of Bitstream Inc. + +/CharterBT-Roman (bchr.pfa) ; +/CharterBT-Italic (bchri.pfa) ; +/CharterBT-Bold (bchb.pfa) ; +/CharterBT-BoldItalic (bchbi.pfa) ; + +% Aliases + +/Charter-Roman /CharterBT-Roman ; +/Charter-Italic /CharterBT-Italic ; +/Charter-Bold /CharterBT-Bold ; +/Charter-BoldItalic /CharterBT-BoldItalic ; + +% The following notice accompanied the Utopia font: +% +% Permission to use, reproduce, display and distribute the listed +% typefaces is hereby granted, provided that the Adobe Copyright notice +% appears in all whole and partial copies of the software and that the +% following trademark symbol and attribution appear in all unmodified +% copies of the software: +% +% Copyright (c) 1989 Adobe Systems Incorporated +% Utopia (R) +% Utopia is a registered trademark of Adobe Systems Incorporated +% +% The Adobe typefaces (Type 1 font program, bitmaps and Adobe Font +% Metric files) donated are: +% +% Utopia Regular +% Utopia Italic +% Utopia Bold +% Utopia Bold Italic + +/Utopia-Regular (putr.pfa) ; +/Utopia-Italic (putri.pfa) ; +/Utopia-Bold (putb.pfa) ; +/Utopia-BoldItalic (putbi.pfa) ; + +% +% +% Fonts contributed by URW GmbH for distribution under the GNU License. +% The following notice accompanied these fonts: +% +% U004006T URW Grotesk 2031 Bold PostScript Type 1 Font Program +% U003043T URW Antiqua 2051 Regular Condensed PostScript Type 1 Font Program +% +% Copyright (c) 1992 URW GmbH, Hamburg, Germany +% +% This program is free software; you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation; either version 2 of the License, or +% (at your option) later version. +% +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; wihtout even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +% See the GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this program; if not, write to the Free Software +% Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 U.S.A. +% +% Address: +% URW GmbH +% PC Support +% Harksheider Strasse 102 +% 2000 Hamburg 65 +% Germany +% Phone: +49 40 60 60 50 (Reception) +% Phone: +49 40 60 60 52 30 (PC Support) +% Fax : +49 40 60 60 52 52 +% + +/URWAntiquaT-RegularCondensed (u003043t.gsf) ; +/URWGroteskT-Bold (u004006t.gsf) ; + +% +% +% Shareware Kana fonts. These are subject to the following notice: +% +% These copyrighted fonts were developed by Kevin Hartig. Permission is +% granted to freely distribute them in entirety along with this statement. +% This is shareware. If you decide to use these fonts please contribute +% $10 US to help support further freeware and shareware software development. +% Questions and comments may be sent to: +% +% hartig@fsl.noaa.gov +% khartig@nyx.cs.du.edu +% +% Kevin Hartig +% 1126 Collyer Street +% Longmont, CO 80501 USA +% +% copyright 1993. + +% Hiragana and Katakana fonts. The character names are inappropriate, +% and the encoding is probably not related to any known standard. + +/Calligraphic-Hiragana (fhirw.gsf) ; +/Calligraphic-Katakana (fkarw.gsf) ; + +% +% +% Public-domain fonts. These have no copyright, and are of unknown quality. + +% Cyrillic fonts. The character names are inappropriate, +% and the encoding is probably not related to any known standard. + +/Shareware-Cyrillic-Regular (fcyr.gsf) ; +/Shareware-Cyrillic-Italic (fcyri.gsf) ; + +% Aliases +/Cyrillic /Cyrillic-Regular ; +/Cyrillic-Regular /Shareware-Cyrillic-Regular ; +/Cyrillic-Italic /Shareware-Cyrillic-Italic ; + +% +% +% Fonts converted from Hershey outlines. These are constructed and +% maintained manually. These are also in the public domain. +% +% The suggested UniqueID's and filenames are constructed differently for +% these than for the ones above, because of the strange way that the Hershey +% fonts were constructed. The scheme for these looks like: +% +% 42TTXY0 +% +% TT = typeface, X = ``class'', Y = variation +% +% The typeface names and numbers are listed in fonts.mak. +% +% class: +% 0 = normal = r +% 1 = simplex = s +% 2 = complex = c +% 3 = triplex = t +% 4 = duplex = d +% +% variation: +% 0 = normal (omitted) +% 1 = oblique = o +% 2 = italic = i +% 3 = bold = b +% 4 = bold oblique = bo +% 5 = bold italic = bi +% + +% Fonts created by Thomas Wolff , by adding +% accents, accented characters, and various other non-alphabetics +% to the original Hershey fonts. These are "freeware", not to be sold. + +/Hershey-Gothic-English (hrger.pfa) ; % 5066533 +/Hershey-Gothic-German (hrgrr.pfa) ; +/Hershey-Gothic-Italian (hritr.pfa) ; + +/Hershey-Plain-Duplex (hrpld.pfa) ; +/Hershey-Plain-Duplex-Italic (hrpldi.pfa) ; +/Hershey-Plain-Triplex (hrplt.pfa) ; +/Hershey-Plain-Triplex-Italic (hrplti.pfa) ; + +/Hershey-Script-Complex (hrscc.pfa) ; +/Hershey-Script-Simplex (hrscs.pfa) ; % 5066541 + +% Fonts created algorithmically from the above. + +/Hershey-Gothic-English-Bold (hrgerb.gsf) ; % 5066542 +/Hershey-Gothic-English-Oblique (hrgero.gsf) ; +/Hershey-Gothic-English-SemiBold (hrgerd.gsf) ; +/Hershey-Gothic-German-Bold (hrgrrb.gsf) ; +/Hershey-Gothic-German-Oblique (hrgrro.gsf) ; +/Hershey-Gothic-Italian-Bold (hritrb.gsf) ; +/Hershey-Gothic-Italian-Oblique (hritro.gsf) ; + +/Hershey-Plain-Duplex-Bold (hrpldb.gsf) ; +/Hershey-Plain-Duplex-Bold-Italic (hrpldbi.gsf) ; +/Hershey-Plain-Triplex-Bold (hrpltb.gsf) ; +/Hershey-Plain-Triplex-Bold-Italic (hrpltbi.gsf) ; + +/Hershey-Script-Complex-Bold (hrsccb.gsf) ; +/Hershey-Script-Complex-Oblique (hrscco.gsf) ; +/Hershey-Script-Simplex-Bold (hrscsb.gsf) ; +/Hershey-Script-Simplex-Oblique (hrscso.gsf) ; % 5066556 + +% Fonts consisting only of characters from the original Hershey +% distribution. These are Type 3 fonts. + +/Hershey-Greek-Complex (hrgkc.gsf) ; % 5066557 +/Hershey-Greek-Simplex (hrgks.gsf) ; + +/Hershey-Plain (hrplr.gsf) ; +/Hershey-Plain-Simplex (hrpls.gsf) ; % 5066560 + +% Fonts created algorithmically from the above. + +/Hershey-Plain-Bold (hrplrb.gsf) ; % 5066561 +/Hershey-Plain-Bold-Oblique (hrplrbo.gsf) ; +/Hershey-Plain-Oblique (hrplro.gsf) ; +/Hershey-Plain-Simplex-Bold (hrplsb.gsf) ; +/Hershey-Plain-Simplex-Bold-Oblique (hrplsbo.gsf) ; +/Hershey-Plain-Simplex-Oblique (hrplso.gsf) ; % 5066566 + +% This font, and only this font among the Hershey fonts, uses +% the SymbolEncoding. + +/Hershey-Symbol (hrsyr.gsf) ; % 5066567 +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Solaris 2 Display PostScript Type1 and Type3 fonts... +% + +/Helvetica (Helvetica.pfa) ; +/Helvetica-Bold (Helvetica-Bold.pfa) ; +/Helvetica-BoldOblique (Helvetica-BoldOblique.pfa) ; +/Helvetica-Oblique (Helvetica-Oblique.pfa) ; + +/Symbol (Symbol.pfa) ; +/SymbolSet /Symbol ; + +/Times-Bold (Times-Bold.pfa) ; +/Times-BoldItalic (Times-BoldItalic.pfa) ; +/Times-Italic (Times-Italic.pfa) ; +/Times-Roman (Times-Roman.pfa) ; +/TimesNewRoman /Times-Roman ; +/TimesNewRoman-Bold /Times-Bold ; +/TimesNewRoman-BoldItalic /Times-BoldItalic ; +/TimesNewRoman-Italic /Times-Italic ; + +/Dijkstra (Dijkstra.ps) ; + +/Hershey-Cyrillic (HrshCyr.ps) ; + +/Hershey-Gothic (HrshGoth.ps) ; + +/Hershey-Greek (HrshGrk.ps) ; +/Hershey-Greek-Narrow (HrshGrkN.ps) ; +/Hershey-Greekp (HrshGrkp.ps) ; + +/Hershey-Italic (HrshI.ps) ; +/Hershey-Italic-Narrow (HrshIN.ps) ; +/Hershey-Italic-Wide (HrshIW.ps) ; +/Hershey-Roman (HrshRom.ps) ; +/Hershey-Roman-Narrow (HrshRomN.ps) ; +/Hershey-Roman-Wide (HrshRomW.ps) ; +/Hershey-Romand (HrshRomd.ps) ; +/Hershey-Romanp (HrshRomp.ps) ; + +/Hershey-Script (HrshScr.ps) ; +/Hershey-Script-Narrow (HrshScrN.ps) ; diff --git a/Master/xemtex/gslib/Fontmap.Ult b/Master/xemtex/gslib/Fontmap.Ult new file mode 100644 index 00000000000..d68d95a7c79 --- /dev/null +++ b/Master/xemtex/gslib/Fontmap.Ult @@ -0,0 +1,147 @@ +% Copyright (C) 1990, 1995, 1999 Aladdin Enterprises. All rights reserved. +% +% This program is free software; you can redistribute it and/or modify it +% under the terms of the GNU General Public License as published by the +% Free Software Foundation; either version 2 of the License, or (at your +% option) any later version. +% +% This program is distributed in the hope that it will be useful, but +% WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +% Public License for more details. +% +% You should have received a copy of the GNU General Public License along +% with this program; if not, write to the Free Software Foundation, Inc., +% 59 Temple Place, Suite 330, Boston, MA, 02111-1307. + +% $Id: Fontmap.Ult,v 1.2.6.1.2.1 2003/04/12 14:02:38 giles Exp $ +% Fontmap.Ult is derived from the standard Fontmap file distributed with +% ghostscript; for credits and sources see that file. The modifications here +% are valid for ULTRIX 4.3, and consist of defining some fonts and font +% aliases as the licensed fontfiles included in ULTRIX for use on ULTRIX +% workstations, which give better quality than the free fontfiles available +% for ghostscript. Under ULTRIX 4.3 the licensed fontfiles are found in +% +% /usr/lib/DPS/outline/decwin +% +% so that directory must either be built into ghostscript by redefining +% GS_LIB_DEFAULT when ghostscript is compiled, or else by defining an +% environmental variable GS_LIB_DEFAULT, which contains it as an element of +% the path, when running ghostscript. For instance, under the KornShell +% +% GS_LIB_DEFAULT=/usr/gs:/usr/lib/DPS/outline/decwin:/usr/gs/fonts +% export GS_LIB_DEFAULT +% +% Peter Kaiser (kaiser@acm.org) 27 January 1995 +% Updated by L. Peter Deutsch (ghost@aladdin.com) 5 January 1999 +% to include correct aliasing for the Bitstream Charter fonts + +/AvantGarde-Book (AvantGarde-Book) ; +/AvantGarde-BookOblique (AvantGarde-BookOblique) ; +/AvantGarde-Demi (AvantGarde-Demi) ; +/AvantGarde-DemiOblique (AvantGarde-DemiOblique) ; +/Courier (Courier) ; +/Courier-Bold (Courier-Bold) ; +/Courier-BoldOblique (Courier-BoldOblique) ; +/Courier-Oblique (Courier-Oblique) ; +/Helvetica (Helvetica) ; +/Helvetica-Bold (Helvetica-Bold) ; +/Helvetica-BoldOblique (Helvetica-BoldOblique) ; +/Helvetica-Oblique (Helvetica-Oblique) ; +/LubalinGraph-Book (LubalinGraph-Book) ; +/LubalinGraph-BookOblique (LubalinGraph-BookOblique) ; +/LubalinGraph-Demi (LubalinGraph-Demi) ; +/LubalinGraph-DemiOblique (LubalinGraph-DemiOblique) ; +/NewCenturySchlbk-Bold (NewCenturySchlbk-Bold) ; +/NewCenturySchlbk-BoldItalic (NewCenturySchlbk-BoldItalic) ; +/NewCenturySchlbk-Italic (NewCenturySchlbk-Italic) ; +/NewCenturySchlbk-Roman (NewCenturySchlbk-Roman) ; +/Souvenir-Demi (Souvenir-Demi) ; +/Souvenir-DemiItalic (Souvenir-DemiItalic) ; +/Souvenir-Light (Souvenir-Light) ; +/Souvenir-LightItalic (Souvenir-LightItalic) ; +/Symbol (Symbol) ; +/Times-Bold (Times-Bold) ; +/Times-BoldItalic (Times-BoldItalic) ; +/Times-Italic (Times-Italic) ; +/Times-Roman (Times-Roman) ; + +% Fonts distributed as part of ghostscript + +/Bookman-Demi (pbkd.gsf) ; +/Bookman-DemiItalic (pbkdi.gsf) ; +/Bookman-Light (pbkl.gsf) ; +/Bookman-LightItalic (pbkli.gsf) ; +/Calligraphic-Hiragana (fhirw.gsf) ; +/Calligraphic-Katakana (fkarw.gsf) ; +/CharterBT-Bold (bchb.pfa) ; +/CharterBT-BoldItalic (bchbi.pfa) ; +/CharterBT-Italic (bchri.pfa) ; +/CharterBT-Roman (bchr.pfa) ; +/Hershey-Gothic-English (hrger.pfa) ; +/Hershey-Gothic-English-Bold (hrgerb.gsf) ; +/Hershey-Gothic-English-Oblique (hrgero.gsf) ; +/Hershey-Gothic-English-SemiBold (hrgerd.gsf) ; +/Hershey-Gothic-German (hrgrr.pfa) ; +/Hershey-Gothic-German-Bold (hrgrrb.gsf) ; +/Hershey-Gothic-German-Oblique (hrgrro.gsf) ; +/Hershey-Gothic-Italian (hritr.pfa) ; +/Hershey-Gothic-Italian-Bold (hritrb.gsf) ; +/Hershey-Gothic-Italian-Oblique (hritro.gsf) ; +/Hershey-Greek-Complex (hrgkc.gsf) ; +/Hershey-Greek-Simplex (hrgks.gsf) ; +/Hershey-Plain (hrplr.gsf) ; +/Hershey-Plain-Bold (hrplrb.gsf) ; +/Hershey-Plain-Bold-Oblique (hrplrbo.gsf) ; +/Hershey-Plain-Duplex (hrpld.pfa) ; +/Hershey-Plain-Duplex-Bold (hrpldb.gsf) ; +/Hershey-Plain-Duplex-Bold-Italic (hrpldbi.gsf) ; +/Hershey-Plain-Duplex-Italic (hrpldi.pfa) ; +/Hershey-Plain-Oblique (hrplro.gsf) ; +/Hershey-Plain-Simplex (hrpls.gsf) ; +/Hershey-Plain-Simplex-Bold (hrplsb.gsf) ; +/Hershey-Plain-Simplex-Bold-Oblique (hrplsbo.gsf) ; +/Hershey-Plain-Simplex-Oblique (hrplso.gsf) ; +/Hershey-Plain-Triplex (hrplt.pfa) ; +/Hershey-Plain-Triplex-Bold (hrpltb.gsf) ; +/Hershey-Plain-Triplex-Bold-Italic (hrpltbi.gsf) ; +/Hershey-Plain-Triplex-Italic (hrplti.pfa) ; +/Hershey-Script-Complex (hrscc.pfa) ; +/Hershey-Script-Complex-Bold (hrsccb.gsf) ; +/Hershey-Script-Complex-Oblique (hrscco.gsf) ; +/Hershey-Script-Simplex (hrscs.pfa) ; +/Hershey-Script-Simplex-Bold (hrscsb.gsf) ; +/Hershey-Script-Simplex-Oblique (hrscso.gsf) ; +/Hershey-Symbol (hrsyr.gsf) ; +/NimbusRomanNo9L-Regular (n021003l.gsf) ; +/NimbusSansL-Regular (n019003l.gsf) ; +/Palatino-Bold (pplb.gsf) ; +/Palatino-BoldItalic (pplbi.gsf) ; +/Palatino-Italic (pplri.gsf) ; +/Palatino-Roman (pplr.gsf) ; +/Shareware-Cyrillic-Italic (fcyri.gsf) ; +/Shareware-Cyrillic-Regular (fcyr.gsf) ; +/URWAntiquaT-RegularCondensed (u003043t.gsf) ; +/URWGroteskT-Bold (u004006t.gsf) ; +/Utopia-Bold (putb.pfa) ; +/Utopia-BoldItalic (putbi.pfa) ; +/Utopia-Italic (putri.pfa) ; +/Utopia-Regular (putr.pfa) ; +/ZapfChancery (zcr.gsf) ; +/ZapfChancery-Bold (zcb.gsf) ; +/ZapfChancery-Oblique (zcro.gsf) ; +/ZapfDingbats (pzdr.gsf) ; + +% Font aliases + +/Charter-Roman /CharterBT-Roman ; +/Charter-Italic /CharterBT-Italic ; +/Charter-Bold /CharterBT-Bold ; +/Charter-BoldItalic /CharterBT-BoldItalic ; +/Courier-BoldItalic /Courier-BoldOblique ; +/Courier-Italic /Courier-Oblique ; +/Cyrillic /Shareware-Cyrillic-Regular ; +/Cyrillic-Italic /Shareware-Cyrillic-Italic ; +/Cyrillic-Regular /Shareware-Cyrillic-Regular ; +/Helvetica-Narrow-Bold /Helvetica-Narrow ; +/ZapfChancery-MediumItalic /ZapfChancery-Oblique ; diff --git a/Master/xemtex/gslib/Fontmap.VMS b/Master/xemtex/gslib/Fontmap.VMS new file mode 100644 index 00000000000..e58ce48c61d --- /dev/null +++ b/Master/xemtex/gslib/Fontmap.VMS @@ -0,0 +1,424 @@ +% fontmap.vms - Ghostscript fontmap for VAX/VMS systems with DECwindows/Motif. +% +% Mathog, 14-SEP-2000. Modified slightly from that provided by 6.01. +% Changed to use Courier font from Decwindows instead of Ghostscript +% The hershey fonts are listed, but they are not constructed during a regular +% build of the package. +% +% ************************** +%Uses all the XDPS Outline fonts (Type 1 fonts) provided with Motif. +% +%XDPS on VAX/VMS does not have Bookman, Palatino and ZapfChancery fonts, so +%we still have to use the Ghostscript fonts for those. Helvetica-Narrow is also +%missing. But then you get the LubalinGraph and Souvenir fonts which are just +%beautiful! + +/AvantGarde-Book + (SYS$COMMON:[SYSFONT.XDPS.OUTLINE]AVANTGARDE-BOOK.XDPS$OUTLINE) ; +/AvantGarde-BookOblique + (SYS$COMMON:[SYSFONT.XDPS.OUTLINE]AVANTGARDE-BOOKOBLIQUE.XDPS$OUTLINE) ; +/AvantGarde-Demi + (SYS$COMMON:[SYSFONT.XDPS.OUTLINE]AVANTGARDE-DEMI.XDPS$OUTLINE) ; +/AvantGarde-DemiOblique + (SYS$COMMON:[SYSFONT.XDPS.OUTLINE]AVANTGARDE-DEMIOBLIQUE.XDPS$OUTLINE) ; +/Courier-Bold + (SYS$COMMON:[SYSFONT.XDPS.OUTLINE]COURIER-BOLD.XDPS$OUTLINE) ; +/Courier-BoldOblique + (SYS$COMMON:[SYSFONT.XDPS.OUTLINE]COURIER-BOLDOBLIQUE.XDPS$OUTLINE) ; +/Courier-Oblique + (SYS$COMMON:[SYSFONT.XDPS.OUTLINE]COURIER-OBLIQUE.XDPS$OUTLINE) ; +/Courier + (SYS$COMMON:[SYSFONT.XDPS.OUTLINE]COURIER.XDPS$OUTLINE) ; +/Helvetica-Bold + (SYS$COMMON:[SYSFONT.XDPS.OUTLINE]HELVETICA-BOLD.XDPS$OUTLINE) ; +/Helvetica-BoldOblique + (SYS$COMMON:[SYSFONT.XDPS.OUTLINE]HELVETICA-BOLDOBLIQUE.XDPS$OUTLINE) ; +/Helvetica-Oblique + (SYS$COMMON:[SYSFONT.XDPS.OUTLINE]HELVETICA-OBLIQUE.XDPS$OUTLINE) ; +/Helvetica + (SYS$COMMON:[SYSFONT.XDPS.OUTLINE]HELVETICA.XDPS$OUTLINE) ; +/LubalinGraph-Book + (SYS$COMMON:[SYSFONT.XDPS.OUTLINE]LUBALINGRAPH-BOOK.XDPS$OUTLINE) ; +/LubalinGraph-BookOblique + (SYS$COMMON:[SYSFONT.XDPS.OUTLINE]LUBALINGRAPH-BOOKOBLIQUE.XDPS$OUTLINE) ; +/LubalinGraph-Demi + (SYS$COMMON:[SYSFONT.XDPS.OUTLINE]LUBALINGRAPH-DEMI.XDPS$OUTLINE) ; +/LubalinGraph-DemiOblique + (SYS$COMMON:[SYSFONT.XDPS.OUTLINE]LUBALINGRAPH-DEMIOBLIQUE.XDPS$OUTLINE) ; +/NewCenturySchlbk-Roman + (SYS$COMMON:[SYSFONT.XDPS.OUTLINE]NEWCENTURYSCHLBK-ROMAN.XDPS$OUTLINE) ; +/NewCenturySchlbk-Italic + (SYS$COMMON:[SYSFONT.XDPS.OUTLINE]NEWCENTURYSCHLBK-ITALIC.XDPS$OUTLINE) ; +/NewCenturySchlbk-Bold + (SYS$COMMON:[SYSFONT.XDPS.OUTLINE]NEWCENTURYSCHLBK-BOLD.XDPS$OUTLINE) ; +/NewCenturySchlbk-BoldItalic + (SYS$COMMON:[SYSFONT.XDPS.OUTLINE]NEWCENTURYSCHLBK-BOLDITALIC.XDPS$OUTLINE) ; +/Souvenir-Light + (SYS$COMMON:[SYSFONT.XDPS.OUTLINE]SOUVENIR-LIGHT.XDPS$OUTLINE) ; +/Souvenir-LightItalic + (SYS$COMMON:[SYSFONT.XDPS.OUTLINE]SOUVENIR-LIGHTITALIC.XDPS$OUTLINE) ; +/Souvenir-Demi + (SYS$COMMON:[SYSFONT.XDPS.OUTLINE]SOUVENIR-DEMI.XDPS$OUTLINE) ; +/Souvenir-DemiItalic + (SYS$COMMON:[SYSFONT.XDPS.OUTLINE]SOUVENIR-DEMIITALIC.XDPS$OUTLINE) ; +%If you want the Apple symbol (SIC!) then remove the comment (%) +%in front of character 240 in the following file (he he he) +/Symbol + (SYS$COMMON:[SYSFONT.XDPS.OUTLINE]SYMBOL.XDPS$OUTLINE) ; +/Times-Roman + (SYS$COMMON:[SYSFONT.XDPS.OUTLINE]TIMES-ROMAN.XDPS$OUTLINE) ; +/Times-Italic + (SYS$COMMON:[SYSFONT.XDPS.OUTLINE]TIMES-ITALIC.XDPS$OUTLINE) ; +/Times-Bold + (SYS$COMMON:[SYSFONT.XDPS.OUTLINE]TIMES-BOLD.XDPS$OUTLINE) ; +/Times-BoldItalic + (SYS$COMMON:[SYSFONT.XDPS.OUTLINE]TIMES-BOLDITALIC.XDPS$OUTLINE) ; + +% +% +% Fonts contributed by: +% URW++ Design and Development Incorporated +% Poppenbuetteler Bogen 29A +% D-22399 Hamburg +% Germany +% tel. +49 (40) 60 60 50 +% fax +49 (40) 60 60 51 11 +% http://www.urwpp.de +% for distribution under the GNU License and Aladdin Free Public License. +% See the notice at the head of this Fontmap file for licensing terms. +% Each of these fonts is individually covered by the license: +% for licensing purposes, they are not "part of" any larger entity. +% The following notice applies to these fonts: +% +% Copyright URW Software, Copyright 1994 by URW. +% + +% Actual fonts + +/URWBookmanL-DemiBold (b018015l.pfb) ; +/URWBookmanL-DemiBoldItal (b018035l.pfb) ; +/URWBookmanL-Ligh (b018012l.pfb) ; +/URWBookmanL-LighItal (b018032l.pfb) ; + +/NimbusMonL-Regu (n022003l.pfb) ; +/NimbusMonL-ReguObli (n022023l.pfb) ; +/NimbusMonL-Bold (n022004l.pfb) ; +/NimbusMonL-BoldObli (n022024l.pfb) ; + +/URWGothicL-Book (a010013l.pfb) ; +/URWGothicL-BookObli (a010033l.pfb) ; +/URWGothicL-Demi (a010015l.pfb) ; +/URWGothicL-DemiObli (a010035l.pfb) ; + +/NimbusSanL-Regu (n019003l.pfb) ; +/NimbusSanL-ReguItal (n019023l.pfb) ; +/NimbusSanL-Bold (n019004l.pfb) ; +/NimbusSanL-BoldItal (n019024l.pfb) ; + +/NimbusSanL-ReguCond (n019043l.pfb) ; +/NimbusSanL-ReguCondItal (n019063l.pfb) ; +/NimbusSanL-BoldCond (n019044l.pfb) ; +/NimbusSanL-BoldCondItal (n019064l.pfb) ; + +/URWPalladioL-Roma (p052003l.pfb) ; +/URWPalladioL-Ital (p052023l.pfb) ; +/URWPalladioL-Bold (p052004l.pfb) ; +/URWPalladioL-BoldItal (p052024l.pfb) ; + +/CenturySchL-Roma (c059013l.pfb) ; +/CenturySchL-Ital (c059033l.pfb) ; +/CenturySchL-Bold (c059016l.pfb) ; +/CenturySchL-BoldItal (c059036l.pfb) ; + +/NimbusRomNo9L-Regu (n021003l.pfb) ; +/NimbusRomNo9L-ReguItal (n021023l.pfb) ; +/NimbusRomNo9L-Medi (n021004l.pfb) ; +/NimbusRomNo9L-MediItal (n021024l.pfb) ; + +/StandardSymL (s050000l.pfb) ; + +/URWChanceryL-MediItal (z003034l.pfb) ; + +/Dingbats (d050000l.pfb) ; + + +% Aliases + +/Bookman-Demi /URWBookmanL-DemiBold ; +/Bookman-DemiItalic /URWBookmanL-DemiBoldItal ; +/Bookman-Light /URWBookmanL-Ligh ; +/Bookman-LightItalic /URWBookmanL-LighItal ; + +%/Courier /NimbusMonL-Regu ; +%/Courier-Oblique /NimbusMonL-ReguObli ; +%/Courier-Bold /NimbusMonL-Bold ; +%/Courier-BoldOblique /NimbusMonL-BoldObli ; + +%/AvantGarde-Book /URWGothicL-Book ; +%/AvantGarde-BookOblique /URWGothicL-BookObli ; +%/AvantGarde-Demi /URWGothicL-Demi ; +%/AvantGarde-DemiOblique /URWGothicL-DemiObli ; + +%/Helvetica /NimbusSanL-Regu ; +%/Helvetica-Oblique /NimbusSanL-ReguItal ; +%/Helvetica-Bold /NimbusSanL-Bold ; +%/Helvetica-BoldOblique /NimbusSanL-BoldItal ; + +/Helvetica-Narrow /NimbusSanL-ReguCond ; +/Helvetica-Narrow-Oblique /NimbusSanL-ReguCondItal ; +/Helvetica-Narrow-Bold /NimbusSanL-BoldCond ; +/Helvetica-Narrow-BoldOblique /NimbusSanL-BoldCondItal ; + +/Palatino-Roman /URWPalladioL-Roma ; +/Palatino-Italic /URWPalladioL-Ital ; +/Palatino-Bold /URWPalladioL-Bold ; +/Palatino-BoldItalic /URWPalladioL-BoldItal ; + +%/NewCenturySchlbk-Roman /CenturySchL-Roma ; +%/NewCenturySchlbk-Italic /CenturySchL-Ital ; +%/NewCenturySchlbk-Bold /CenturySchL-Bold ; +%/NewCenturySchlbk-BoldItalic /CenturySchL-BoldItal ; + +%/Times-Roman /NimbusRomNo9L-Regu ; +%/Times-Italic /NimbusRomNo9L-ReguItal ; +%/Times-Bold /NimbusRomNo9L-Medi ; +%/Times-BoldItalic /NimbusRomNo9L-MediItal ; + +%/Symbol /StandardSymL ; + +/ZapfChancery-MediumItalic /URWChanceryL-MediItal ; + +/ZapfDingbats /Dingbats ; + + +% +% +% Type 1 fonts contributed to the X11R5 distribution. +% + +% The following notice accompanied the Charter fonts. +% +% (c) Copyright 1989-1992, Bitstream Inc., Cambridge, MA. +% +% You are hereby granted permission under all Bitstream propriety rights +% to use, copy, modify, sublicense, sell, and redistribute the 4 Bitstream +% Charter (r) Type 1 outline fonts and the 4 Courier Type 1 outline fonts +% for any purpose and without restriction; provided, that this notice is +% left intact on all copies of such fonts and that Bitstream's trademark +% is acknowledged as shown below on all unmodified copies of the 4 Charter +% Type 1 fonts. +% +% BITSTREAM CHARTER is a registered trademark of Bitstream Inc. +/CharterBT-Roman (bchr.pfa) ; +/CharterBT-Italic (bchri.pfa) ; +/CharterBT-Bold (bchb.pfa) ; +/CharterBT-BoldItalic (bchbi.pfa) ; +%Charter to CharterBT aliasing +/Charter-Roman /CharterBT-Roman ; +/Charter-Italic /CharterBT-Italic ; +/Charter-Bold /CharterBT-Bold ; +/Charter-BoldItalic /CharterBT-BoldItalic ; + +% IBM Courier - Copyright (c) IBM Corporation 1990, 1991 +%/Courier (ncrr.pfa) ; +%/Courier-Italic (ncrri.pfa) ; +%/Courier-Bold (ncrb.pfa) ; +%/Courier-BoldItalic (ncrbi.pfa) ; +%Oblique to Italic aliasing +%/Courier-Oblique /Courier-Italic ; +%/Courier-BoldOblique /Courier-BoldItalic ; +/Courier-Italic /Courier-Oblique ; +/Courier-BoldItalic /Courier-BoldOblique ; + +% The following notice accompanied the Utopia font: +% +% Permission to use, reproduce, display and distribute the listed +% typefaces is hereby granted, provided that the Adobe Copyright notice +% appears in all whole and partial copies of the software and that the +% following trademark symbol and attribution appear in all unmodified +% copies of the software: +% +% Copyright (c) 1989 Adobe Systems Incorporated +% Utopia (R) +% Utopia is a registered trademark of Adobe Systems Incorporated +% +% The Adobe typefaces (Type 1 font program, bitmaps and Adobe Font +% Metric files) donated are: +% +% Utopia Regular +% Utopia Italic +% Utopia Bold +% Utopia Bold Italic + +/Utopia-Regular (putr.gsf) ; +/Utopia-Italic (putri.gsf) ; +/Utopia-Bold (putb.gsf) ; +/Utopia-BoldItalic (putbi.gsf) ; + +% +% +% Fonts contributed by URW GmbH for distribution under the GNU License. +% The following notice accompanied these fonts: +% +% U004006T URW Grotesk 2031 Bold PostScript Type 1 Font Program +% U003043T URW Antiqua 2051 Regular Condensed PostScript Type 1 Font Program +% +% Copyright (c) 1992 URW GmbH, Hamburg, Germany +% +% This program is free software; you can redistribute it and/or modify +% it under the terms of the GNU General Public License as published by +% the Free Software Foundation; either version 2 of the License, or +% (at your option) later version. +% +% This program is distributed in the hope that it will be useful, +% but WITHOUT ANY WARRANTY; wihtout even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. +% See the GNU General Public License for more details. +% +% You should have received a copy of the GNU General Public License +% along with this program; if not, write to the Free Software +% Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111 U.S.A. +% +% Address: +% URW GmbH +% PC Support +% Harksheider Strasse 102 +% 2000 Hamburg 65 +% Germany +% Phone: +49 40 60 60 50 (Reception) +% Phone: +49 40 60 60 52 30 (PC Support) +% Fax : +49 40 60 60 52 52 +% + +/URWAntiquaT-RegularCondensed (u003043t.gsf) ; +/URWGroteskT-Bold (u004006t.gsf) ; + +% +% +% Shareware Kana fonts. These are subject to the following notice: +% +% These copyrighted fonts were developed by Kevin Hartig. Permission is +% granted to freely distribute them in entirety along with this statement. +% This is shareware. If you decide to use these fonts please contribute +% $10 US to help support further freeware and shareware software development. +% Questions and comments may be sent to: +% +% hartig@fsl.noaa.gov +% khartig@nyx.cs.du.edu +% +% Kevin Hartig +% 1126 Collyer Street +% Longmont, CO 80501 USA +% +% copyright 1993. + +% Hiragana and Katakana fonts. The character names are inappropriate, +% and the encoding is probably not related to any known standard. + +/Calligraphic-Hiragana (fhirw.gsf) ; +/Calligraphic-Katakana (fkarw.gsf) ; + +% +% +% Public-domain fonts. These have no copyright, and are of unknown quality. + +% Cyrillic fonts. The character names are inappropriate, +% and the encoding is probably not related to any known standard. + +/Shareware-Cyrillic-Regular (fcyr.gsf) ; +/Shareware-Cyrillic-Italic (fcyri.gsf) ; + +% Aliases +/Cyrillic /Cyrillic-Regular ; +/Cyrillic-Regular /Shareware-Cyrillic-Regular ; +/Cyrillic-Italic /Shareware-Cyrillic-Italic ; + +% +% +% Fonts converted from Hershey outlines. These are constructed and +% maintained manually. These are also in the public domain. +% +% The suggested UniqueID's and filenames are constructed differently for +% these than for the ones above, because of the strange way that the Hershey +% fonts were constructed. The scheme for these looks like: +% +% 42TTXY0 +% +% TT = typeface, X = ``class'', Y = variation +% +% The typeface names and numbers are listed in fonts.mak. +% +% class: +% 0 = normal = r +% 1 = simplex = s +% 2 = complex = c +% 3 = triplex = t +% 4 = duplex = d +% +% variation: +% 0 = normal (omitted) +% 1 = oblique = o +% 2 = italic = i +% 3 = bold = b +% 4 = bold oblique = bo +% 5 = bold italic = bi +% + +% Fonts created by Thomas Wolff , by adding +% accents, accented characters, and various other non-alphabetics +% to the original Hershey fonts. These are "freeware", not to be sold. + +/Hershey-Gothic-English (hrger.pfa) ; % 5066533 +/Hershey-Gothic-German (hrgrr.pfa) ; +/Hershey-Gothic-Italian (hritr.pfa) ; + +/Hershey-Plain-Duplex (hrpld.pfa) ; +/Hershey-Plain-Duplex-Italic (hrpldi.pfa) ; +/Hershey-Plain-Triplex (hrplt.pfa) ; +/Hershey-Plain-Triplex-Italic (hrplti.pfa) ; + +/Hershey-Script-Complex (hrscc.pfa) ; +/Hershey-Script-Simplex (hrscs.pfa) ; % 5066541 + +% Fonts created algorithmically from the above. + +/Hershey-Gothic-English-Bold (hrgerb.gsf) ; % 5066542 +/Hershey-Gothic-English-Oblique (hrgero.gsf) ; +/Hershey-Gothic-English-SemiBold (hrgerd.gsf) ; +/Hershey-Gothic-German-Bold (hrgrrb.gsf) ; +/Hershey-Gothic-German-Oblique (hrgrro.gsf) ; +/Hershey-Gothic-Italian-Bold (hritrb.gsf) ; +/Hershey-Gothic-Italian-Oblique (hritro.gsf) ; + +/Hershey-Plain-Duplex-Bold (hrpldb.gsf) ; +/Hershey-Plain-Duplex-Bold-Italic (hrpldbi.gsf) ; +/Hershey-Plain-Triplex-Bold (hrpltb.gsf) ; +/Hershey-Plain-Triplex-Bold-Italic (hrpltbi.gsf) ; + +/Hershey-Script-Complex-Bold (hrsccb.gsf) ; +/Hershey-Script-Complex-Oblique (hrscco.gsf) ; +/Hershey-Script-Simplex-Bold (hrscsb.gsf) ; +/Hershey-Script-Simplex-Oblique (hrscso.gsf) ; % 5066556 + +% Fonts consisting only of characters from the original Hershey +% distribution. These are Type 3 fonts. + +/Hershey-Greek-Complex (hrgkc.gsf) ; % 5066557 +/Hershey-Greek-Simplex (hrgks.gsf) ; + +/Hershey-Plain (hrplr.gsf) ; +/Hershey-Plain-Simplex (hrpls.gsf) ; % 5066560 + +% Fonts created algorithmically from the above. + +/Hershey-Plain-Bold (hrplrb.gsf) ; % 5066561 +/Hershey-Plain-Bold-Oblique (hrplrbo.gsf) ; +/Hershey-Plain-Oblique (hrplro.gsf) ; +/Hershey-Plain-Simplex-Bold (hrplsb.gsf) ; +/Hershey-Plain-Simplex-Bold-Oblique (hrplsbo.gsf) ; +/Hershey-Plain-Simplex-Oblique (hrplso.gsf) ; % 5066566 + +% This font, and only this font among the Hershey fonts, uses +% the SymbolEncoding. + +/Hershey-Symbol (hrsyr.gsf) ; % 5066567 diff --git a/Master/xemtex/gslib/Info-macos.plist b/Master/xemtex/gslib/Info-macos.plist new file mode 100644 index 00000000000..9ece6edc4fa --- /dev/null +++ b/Master/xemtex/gslib/Info-macos.plist @@ -0,0 +1,14 @@ + + + + + CFBundleIdentifier + com.ghostscript.Ghostscript + CFBundleName + Ghostscript + CFBundleShortVersionString + 703 + NSExecutable + Ghostscript + + diff --git a/Master/xemtex/gslib/acctest.ps b/Master/xemtex/gslib/acctest.ps new file mode 100644 index 00000000000..f32c25a7887 --- /dev/null +++ b/Master/xemtex/gslib/acctest.ps @@ -0,0 +1,100 @@ +%! +% Check that operators do their access tests correctly. +% $Id: acctest.ps,v 1.1.6.1 2002/04/10 09:22:58 giles Exp $ + +% proc dotest => . +/dotest + { + dup + mark + exch + stopped not % False if error, true if no error. + { (Allowed access: ) print cleartomark == } + if + clear + } +def + +0 0 moveto % So the show commands don't bomb because of nocurrentpoint. + +{ [1 2] executeonly aload } dotest +{ (string) executeonly (seek) anchorsearch } dotest +{ (string) (seek) executeonly anchorsearch } dotest +{ 100 101 (string) noaccess ashow} dotest +{ 100 1 array readonly astore } dotest +{ 100 101 102 103 104 (string) noaccess awidthshow } dotest +{ 1 dict noacess begin } dotest +{ 1 array executeonly 1 array copy } dotest +{ 1 array 1 array readonly copy } dotest +{ 1 dict noaccess 1 dict copy } dotest +{ 1 dict 1 dict readonly copy } dotest +{ 1 string executeonly 1 string copy } dotest +{ 1 string 1 string readonly copy } dotest +{ (100) executeonly cvi } dotest +{ (string) executeonly cvn } dotest +{ (100.001) executeonly cvr } dotest +{ 1 10 1 string readonly cvrs } dotest +{ true 5 string readonly cvs } dotest +{ 1 dict readonly begin /foo true def } dotest +{ 10 array readonly dictstack } dotest +{ 1 string executeonly 1 string eq } dotest +{ 1 string 1 string executeonly eq } dotest +{ 10 array readonly execstack } dotest +{ 1 string noaccess executeonly } dotest +{ 1 array noaccess executeonly } dotest +{ 1 array executeonly { pop } forall } dotest +{ 1 dict noaccess { pop pop } forall } dotest +{ 1 string executeonly { pop } forall } dotest +{ (string1) executeonly (string2) ge } dotest +{ (string1) (string2) executeonly ge } dotest +{ 1 array executeonly 0 get } dotest +{ 1 dict noaccess /key get } dotest +{ 1 string executeonly 0 get } dotest +{ 1 array executeonly 0 1 getinterval } dotest +{ 1 string executeonly 0 1 getinterval } dotest +{ (string1) executeonly (string2) gt } dotest +{ (string1) (string2) executeonly gt } dotest +{ 1 dict noaccess /key known } dotest +{ {} (string) executeonly kshow } dotest +{ (string1) executeonly (string2) le } dotest +{ (string1) (string2) executeonly le } dotest +{ 1 array executeonly length } dotest +{ 1 dict noaccess length } dotest +{ 1 string executeonly length } dotest +%%{ /foo 1 dict def foo begin /bar foo def bar noaccess pop /key load } dotest +{ (string1) executeonly (string2) lt } dotest +{ (string1) (string2) executeonly lt } dotest +{ 1 dict noaccess maxlength } dotest +{ 1 string executeonly 1 string ne } dotest +{ 1 string 1 string executeonly ne } dotest +%{ newpath 0 0 moveto (a) false charpath +% {} {} {} {} pathforall closepath } dotest +{ 1 array executeonly 0 put } dotest +{ 1 dict noaccess /key put } dotest +{ 1 string executeonly 0 put } dotest +{ 1 array executeonly 0 1 putinterval } dotest +{ 1 string executeonly 0 1 putinterval } dotest +{ (access.ps) (r) file executeonly read } dotest +{ (access.ps) (r) file executeonly 10 string readhexstring } dotest +{ (access.ps) (r) file 10 string readonly readhexstring } dotest +{ (access.ps) (r) file executeonly 100 string readline } dotest +{ (access.ps) (r) file 100 string readonly readline } dotest +{ (access.ps) (r) file executeonly 10 string readstring } dotest +{ (access.ps) (r) file 10 string readonly readstring } dotest +% run does not check for no read access? +{ (string) executeonly (seek) search } dotest +{ (string) (seek) executeonly search } dotest +{ (string) executeonly show } +%% some test for store. +{ (string) executeonly stringwidth } dotest +{ (access.ps) (r) file executeonly token } dotest +{ (10) executeonly token } dotest +{ /foo 1 dict def foo begin /bar foo def bar noaccess pop /key where } dotest +{ 100 101 102 (string) noaccess widthshow } dotest +{ (/tmp/_.ps) noaccess (w) file closefile } dotest +{ (/tmp/_.ps) (w) noaccess file closefile } dotest +{ (/tmp/_.ps) (w) file executeonly 100 write } dotest +{ (/tmp/_.ps) (w) file executeonly 10 string writehexstring } dotest +{ (/tmp/_.ps) (w) file 10 string executeonly writehexstring } dotest +{ (/tmp/_.ps) (w) file executeonly 10 string writestring } dotest +{ (/tmp/_.ps) (w) file 10 string executeonly writestring } dotest diff --git a/Master/xemtex/gslib/addxchar.ps b/Master/xemtex/gslib/addxchar.ps new file mode 100644 index 00000000000..e85ddb659f3 --- /dev/null +++ b/Master/xemtex/gslib/addxchar.ps @@ -0,0 +1,358 @@ +% Copyright (C) 1999 Aladdin Enterprises. All rights reserved. +% +% This program is free software; you can redistribute it and/or modify it +% under the terms of the GNU General Public License as published by the +% Free Software Foundation; either version 2 of the License, or (at your +% option) any later version. +% +% This program is distributed in the hope that it will be useful, but +% WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +% Public License for more details. +% +% You should have received a copy of the GNU General Public License along +% with this program; if not, write to the Free Software Foundation, Inc., +% 59 Temple Place, Suite 330, Boston, MA, 02111-1307. + +% $Id: addxchar.ps,v 1.2.6.1.2.1 2003/04/12 14:02:38 giles Exp $ +% Add the Central European and other Adobe extended Latin characters to a +% Type 1 font. +% Requires -dWRITESYSTEMDICT to disable access protection. + +(type1ops.ps) runlibfile + +% ---------------- Utilities ---------------- % + +/addce_dict 50 dict def +addce_dict begin + +% Define the added copyright notice. +/addednotice (. Portions Copyright (C) 1999 Aladdin Enterprises.) def + +% Open a font for modification by removing the FID and changing the +% FontName. Removing UniqueID and XUID is not necessary, since we +% will only be adding characters. +/openfont { % openfont + dup length dict copy + dup /FID undef + dup /FontName 3 index put +} def + +% Do the equivalent of false charpath for a glyph. +% This should really be an operator! +/glyphpath { % glyphpath - + currentfont /Encoding get 0 3 -1 roll put + <00> false charpath +} def + +% Do the equivalent of charpath + pathbbox for a glyph. +/glyphbbox { % glyphbbox + % We cache this value, because it's expensive to compute. + BBoxes 1 index .knownget { + exch pop + } { + gsave newpath 0 0 moveto dup glyphpath [pathbbox] grestore + BBoxes 3 -1 roll 2 index put + } ifelse aload pop +} def + +% Get the side bearing and width for a glyph. +/glyphsbw { % glyphsbw + % We cache this value, because it's expensive to compute. + SBW 1 index .knownget { + exch pop + } { + dup glyphcs { dup /hsbw eq { pop exit } if } forall + 2 array astore + SBW 3 -1 roll 2 index put + } ifelse aload pop +} def + +% Get the CharString for a glyph, as an array. +/glyphcs { % glyphcs + CharStrings exch get + 4330 exch dup length string .type1decrypt exch pop + dup length lenIV sub lenIV exch getinterval + 0 () /SubFileDecode filter [ exch charstack_read ] +} def + +% Find an occurrence of a value in an array. +/asearch { % asearch true + % asearch false + false 0 4 2 roll exch { + % Stack: false index value element + 2 copy eq { pop pop exch not exch dup exit } if + exch 1 add exch + } forall pop pop +} def + +% Convert an array back to a CharString. +/csdef { % csdef - + charproc_string + 4330 exch dup .type1encrypt exch pop readonly + CharStrings 3 1 roll put +} def + +% Split an accented character name. +/splitaccented { % splitaccented + dup =string cvs + dup 0 1 getinterval cvn + exch dup length 1 sub 1 exch getinterval cvn +} def + +% Begin the definition of a 'seac' character. +% Defines accent, base, abox, bbox. +% The initial dx lines up the origins of the base and the accent. +/beginseac { % beginseac + % -mark- /hsbw + /accent exch def /base exch def + /abox [accent glyphbbox] def + /bbox [base glyphbbox] def + [ base glyphsbw /hsbw accent glyphsbw pop + dup 4 index sub +} def + +% Center the accent over the base of a 'seac' character. +/centeraccent { % centeraccent + bbox 2 get bbox 0 get add 2 div + abox 2 get abox 0 get add 2 div + sub add +} def + +% Finish the definition of a 'seac' character. +/finishseac { % -mark- ... finishseac - + exch cvi exch cvi + charindex base get charindex accent get /seac ] csdef +} def + +% ---------------- Main program ---------------- % + +% Define accented characters that can be made with seac, +% with the accent centered over the character. +/seacchars [ + /Abreve /Amacron + /Cacute /Ccaron /Dcaron + /Ecaron /Edotaccent /Emacron + /Gbreve + /Idotaccent /Imacron + /Lacute + /Nacute /Ncaron + /Ohungarumlaut /Omacron + /Racute /Rcaron + /Sacute /Scedilla + /Tcaron + /Uhungarumlaut /Umacron /Uogonek /Uring + /Zacute /Zdotaccent + /abreve /amacron + /cacute /ccaron + /ecaron /edotaccent /emacron + /gbreve + /lacute + /nacute /ncaron + /ohungarumlaut /omacron + /racute /rcaron + /sacute /scedilla + /uhungarumlaut /umacron /uring + /zacute /zdotaccent +] def + +% Define seac characters where the accent lines up with the right +% edge of the character. +/seacrightchars [ + /Aogonek /Eogonek /Iogonek /aogonek /eogonek /iogonek /uogonek +] def + +% Define seac characters where the caron becomes an appended quoteright. +/seaccaronchars [ + /dcaron /lcaron /tcaron +] def + +% Define seac characters using commaaccent. +/seaccommachars [ + /Gcommaaccent /Kcommaaccent /Lcommaaccent /Ncommaaccent /Rcommaaccent + /Scommaaccent /Tcommaaccent + /gcommaaccent /kcommaaccent /lcommaaccent /ncommaaccent /rcommaaccent + /scommaaccent /tcommaaccent +] def + +% Define the characters copied from the Symbol font. +/symbolchars [ + /Delta /greaterequal /lessequal /lozenge /notequal /partialdiff + /summation +] def + +% Define the procedures for editing the commaaccent character. +% Delete all the hints, since it's too hard to adjust them. +/caedit mark + /rmoveto { exch commatop sub cvi exch } + /hstem { pop pop pop } + /vstem 1 index + /callothersubr { + dup 3 eq { 4 { pop } repeat /skip true def } if + } + /pop { skip { pop /skip false def } if } +.dicttomark def + +/addce { % addce + 20 dict begin + /origfont 1 index def + openfont + dup /CharStrings 2 copy get dup length dict copy put + dup /Encoding 2 copy get dup length array copy put + dup /FontInfo 2 copy get dup length dict copy put + definefont /font exch def + currentdict font end begin begin + font 1000 scalefont setfont + /symbolfont /Symbol findfont def + /BBoxes CharStrings length dict def + /SBW CharStrings length dict def + + /italfactor FontInfo /ItalicAngle .knownget { + neg dup sin exch cos div + } { + 0 + } ifelse def + + % Invert the Encoding (needed for seac). + + /charindex 256 dict def + 0 1 255 { + charindex exch Encoding 1 index get exch put + } for + + % Add the commaaccent character, by moving the comma downward. + + /comma glyphbbox /commatop exch def pop pop pop + /comma glyphcs + /skip false def + [ exch { caedit 1 index .knownget { exec } if } forall ] + /commaaccent exch csdef + + % Add the accented characters that can be made with seac. + + seacchars { + splitaccented beginseac + centeraccent + % If the accent would collide with the base character, + % raise it a little. + abox 1 get bbox 3 get sub dup 0 le { + % ... but not if the accent is in the low position. + abox 1 get 0 gt { + neg 60 add + % Adjust the X position if italic. + dup italfactor mul 3 -1 roll add exch + } { + pop 0 + } ifelse + } { + pop 0 + } ifelse + finishseac + } forall + + seacrightchars { + splitaccented beginseac + bbox 2 get abox 2 get sub add % line up right edges + 0 finishseac + } forall + + /dcroat /d /hyphen beginseac + bbox 2 get abox 2 get sub add % line up right edges + 0 finishseac + + /imacron /dotlessi /macron beginseac + centeraccent + 0 finishseac + + /Lcaron /L /quoteright beginseac + bbox 2 get abox 2 get sub add % line up right edges + 0 finishseac + + seaccaronchars { + dup =string cvs 0 1 getinterval cvn /quoteright beginseac + % Move the quote to the right of the character. + bbox 2 get abox 0 get sub 50 add add + % Adjust the character width as well. + 4 -1 roll abox 2 get abox 0 get sub 50 add add cvi 4 1 roll + 0 finishseac + } forall + + seaccommachars { + dup =string cvs 0 1 getinterval cvn /comma beginseac + centeraccent + commatop neg + % Lower the accent if the character extends below + % the baseline + bbox 1 get 0 .min add + finishseac + } forall + + % Add the characters from the Symbol font. + % We should scale them to match the FontBBox, but we don't. + + symbolchars { + symbolfont /CharStrings get 1 index get + CharStrings 3 1 roll put + } forall + + % Add the one remaining character. + + CharStrings /Dcroat CharStrings /Eth get put + + % Recompute the FontBBox, since some of the accented characters + % may have enlarged it. + + /llx 1000 def /lly 1000 def /urx 0 def /ury 0 def + CharStrings { + pop glyphbbox + ury .max /ury exch def urx .max /urx exch def + lly .min /lly exch def llx .min /llx exch def + } forall + /FontBBox llx cvi lly cvi urx ceiling cvi ury ceiling cvi 4 packedarray def + + % Restore the Encoding and wrap up. + + [/Copyright /Notice] { + FontInfo 1 index .knownget { + addednotice concatstrings FontInfo 3 1 roll put + } { + pop + } ifelse + } forall + FontName font openfont + dup /Encoding origfont /Encoding get put + definefont + + end end +} def + +currentdict end readonly pop % addce_dict + +/addce { addce_dict begin addce end } def + +% ---------------- Integration ---------------- % + +% We would like to patch the font loader so that it adds the extended +% Latin characters automatically. We haven't done this yet. + +% ---------------- Test program ---------------- % + +/TEST where { pop TEST } { false } ifelse { + /FONT where { pop } { /FONT /Palatino-Italic def } ifelse + (unprot.ps) runlibfile + unprot + (wrfont.ps) runlibfile + wrfont_dict begin + /eexec_encrypt true def + /binary_CharStrings true def + end + save + FONT findfont + /Latin-CE exch addce setfont + (t.ce.pfb) (w) file dup writefont closefile + restore + (prfont.ps) runlibfile + (t.ce.pfb) (r) file .loadfont + /Latin-CE DoFont + quit +} if diff --git a/Master/xemtex/gslib/afmdiff.awk b/Master/xemtex/gslib/afmdiff.awk new file mode 100644 index 00000000000..7e5339ceb75 --- /dev/null +++ b/Master/xemtex/gslib/afmdiff.awk @@ -0,0 +1,150 @@ +###===================================================================== +### Read two Adobe Font Metric files, and compute tables of the +### differences in character repertoire, declared widths (WX), and +### bounding boxes. +### +### Usage: +### awk -f afmdiff.awk file1.afm file2.afm +### +### Author: +### Nelson H. F. Beebe +### Center for Scientific Computing +### University of Utah +### Department of Mathematics, 322 INSCC +### 155 S 1400 E RM 233 +### Salt Lake City, UT 84112-0090 +### USA +### Email: beebe@math.utah.edu, beebe@acm.org, beebe@computer.org, +### beebe@ieee.org (Internet) +### WWW URL: http://www.math.utah.edu/~beebe +### Telephone: +1 801 581 5254 +### FAX: +1 801 585 1640, +1 801 581 4148 +### +######################################################################## +######################################################################## +######################################################################## +### ### +### awkdiff.awk: compare two Adobe Font Metric files ### +### ### +### Copyright (C) 2000 Nelson H. F. Beebe ### +### ### +### This program is covered by the GNU General Public License (GPL), ### +### version 2 or later, available as the file COPYING in the program ### +### source distribution, and on the Internet at ### +### ### +### ftp://ftp.gnu.org/gnu/GPL ### +### ### +### http://www.gnu.org/copyleft/gpl.html ### +### ### +### This program is free software; you can redistribute it and/or ### +### modify it under the terms of the GNU General Public License as ### +### published by the Free Software Foundation; either version 2 of ### +### the License, or (at your option) any later version. ### +### ### +### This program is distributed in the hope that it will be useful, ### +### but WITHOUT ANY WARRANTY; without even the implied warranty of ### +### MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ### +### GNU General Public License for more details. ### +### ### +### You should have received a copy of the GNU General Public ### +### License along with this program; if not, write to the Free ### +### Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, ### +### MA 02111-1307 USA ### +### ### +### This program may also be distributed as part of AFPL ### +### Ghostscript, under the terms of the Aladdin Free Public License ### +### (the "License"). ### +### ### +### Every copy of AFPL Ghostscript must include a copy of the ### +### License, normally in a plain ASCII text file named PUBLIC. The ### +### License grants you the right to copy, modify and redistribute ### +### AFPL Ghostscript, but only under certain conditions ### +### described in the License. Among other things, the License ### +### requires that the copyright notice and this notice be preserved ### +### on all copies. ### +### ### +######################################################################## +######################################################################## +######################################################################## +# +# [29-Apr-2000] +#======================================================================= + +/^FontName/ { FontName[++NFontName] = $2 } + + +/^C / { + if (NFontName == 1) + CharName1[$8]++ + if (NFontName == 2) + CharName2[$8]++ + } + + +/^C / { + name = $8 + if (name in WX) + { + if (WX[name] != $5) + WXDIFF[name] = WX[name] - $5 + } + else + WX[name] = $5 + } + + +/^C / { + name = $8 + bx = $13 - $11 + if (name in BX) + { + if (BX[name] != bx) + BXDIFF[name] = BX[name] - bx + } + else + BX[name] = bx + } + + +/^C / { + name = $8 + by = $14 - $12 + if (name in BY) + { + if (BY[name] != by) + BYDIFF[name] = BY[name] - by + } + else + BY[name] = by + } + + +END { + Sortpipe = "sort -f | pr -c3 -w80 -l1 -t" + print "Comparison of AFM metrics in files:", ARGV[1], ARGV[2] + print "Font names:", FontName[1], FontName[2] + show_name_diffs(FontName[2],CharName2, FontName[1],CharName1) + show_name_diffs(FontName[1],CharName1, FontName[2],CharName2) + show_num_diffs("WX width differences", WXDIFF) + show_num_diffs("Bounding box width differences", BXDIFF) + show_num_diffs("Bounding box height differences",BYDIFF) + } + +function show_name_diffs(font1,array1,font2,array2, name) +{ + print "\nChars from", font2, "missing from", font1 ":" + for (name in array2) + { + if (!(name in array1)) + printf("%s\n", name) | Sortpipe + } + close(Sortpipe) +} + +function show_num_diffs(title,array, name) +{ + printf("\n%s:\n", title) + for (name in array) + printf("%-15s\t%4d\n", name, array[name]) | Sortpipe + close(Sortpipe) +} diff --git a/Master/xemtex/gslib/align.ps b/Master/xemtex/gslib/align.ps new file mode 100644 index 00000000000..ee1ba89fa3f --- /dev/null +++ b/Master/xemtex/gslib/align.ps @@ -0,0 +1,74 @@ +% Copyright (C) 1989, 1996 Aladdin Enterprises. All rights reserved. +% +% This program is free software; you can redistribute it and/or modify it +% under the terms of the GNU General Public License as published by the +% Free Software Foundation; either version 2 of the License, or (at your +% option) any later version. +% +% This program is distributed in the hope that it will be useful, but +% WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +% Public License for more details. +% +% You should have received a copy of the GNU General Public License along +% with this program; if not, write to the Free Software Foundation, Inc., +% 59 Temple Place, Suite 330, Boston, MA, 02111-1307. + +% $Id: align.ps,v 1.2.6.1.2.1 2003/04/12 14:02:38 giles Exp $ +% Print a page that indicates the proper settings of Margins and HWMargins +% for a given device. Requires a Level 2 system. + +% Reset the offset and margins. + +<< + /PageOffset [0 0] + /Margins [0 0] + /.HWMargins [0 0 0 0] +>> +setpagedevice +<< + /ImagingBBox null +>> +setpagedevice + +% Determine the actual page size. + +clippath pathbbox newpath +/y1 exch def /x1 exch def pop pop + +% Draw lines that should be exactly 1" in from each edge, +% and should extend precisely to the edge of the paper. + +1 setlinewidth +0 setgray +72 0 moveto 0 y1 rlineto stroke +0 72 moveto x1 0 rlineto stroke + +% Print the text in the middle of the page. + +/S 80 string def +108 480 moveto +/Helvetica 12 selectfont + { currentfile S readline pop dup (%END) eq { pop exit } if + gsave show grestore 0 -15 rmoveto + } loop +Let the distance in inches from the left edge of the page to +the vertical line be H, and from the bottom edge to the +horizontal line be V; let the lengths of the gaps at the top +and bottom of the vertical line be T and B respectively, and +the gaps at the left and right of the horizontal line be L +and R. For correct alignment of pages, put the following line +in a file named (for example) margins.ps, and then mention +margins.ps on the gs command line when printing any of your +own files: + + << /.HWMargins [ml mb mr mt] /Margins [x y] >> setpagedevice + +where + ml = L * 72, mb = B * 72, mr = R * 72, mt = T * 72, +%END +/res currentpagedevice /.MarginsHWResolution get def +( x = (1 - H) * ) show res 0 get =string cvs show +(, y = (V - 1) * ) show res 1 get =string cvs show + +showpage diff --git a/Master/xemtex/gslib/bdftops b/Master/xemtex/gslib/bdftops new file mode 100644 index 00000000000..2726410c1a5 --- /dev/null +++ b/Master/xemtex/gslib/bdftops @@ -0,0 +1,3 @@ +#!/bin/sh +# $Id: bdftops,v 1.2 2001/03/27 21:15:55 alexcher Exp $ +exec gs -q -dBATCH -dNODISPLAY -- bdftops.ps "$@" diff --git a/Master/xemtex/gslib/bdftops.bat b/Master/xemtex/gslib/bdftops.bat new file mode 100644 index 00000000000..43686b714bb --- /dev/null +++ b/Master/xemtex/gslib/bdftops.bat @@ -0,0 +1,5 @@ +@echo off +@rem $Id: bdftops.bat,v 1.3 2001/03/27 21:15:55 alexcher Exp $ + +call gssetgs.bat +%GSC% -q -dBATCH -dNODISPLAY -- bdftops.ps %1 %2 %3 %4 %5 %6 %7 %8 %9 diff --git a/Master/xemtex/gslib/bdftops.cmd b/Master/xemtex/gslib/bdftops.cmd new file mode 100755 index 00000000000..a6292b9cd45 --- /dev/null +++ b/Master/xemtex/gslib/bdftops.cmd @@ -0,0 +1,7 @@ +/* $Id: bdftops.cmd,v 1.2 2001/03/27 21:15:55 alexcher Exp $ */ +/* + * This file is maintained by a user: if you have any questions about it, + * please contact Mark Hale (mark.hale@physics.org). + */ + +@gsos2 -q -dBATCH -dNODISPLAY -- bdftops.ps %1 %2 %3 %4 %5 %6 %7 %8 %9 diff --git a/Master/xemtex/gslib/bdftops.ps b/Master/xemtex/gslib/bdftops.ps new file mode 100644 index 00000000000..af7b183487c --- /dev/null +++ b/Master/xemtex/gslib/bdftops.ps @@ -0,0 +1,796 @@ +% Copyright (C) 1990, 1995, 1996 Aladdin Enterprises. All rights reserved. +% +% This program is free software; you can redistribute it and/or modify it +% under the terms of the GNU General Public License as published by the +% Free Software Foundation; either version 2 of the License, or (at your +% option) any later version. +% +% This program is distributed in the hope that it will be useful, but +% WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +% Public License for more details. +% +% You should have received a copy of the GNU General Public License along +% with this program; if not, write to the Free Software Foundation, Inc., +% 59 Temple Place, Suite 330, Boston, MA, 02111-1307. + +% $Id: bdftops.ps,v 1.3.2.2.2.1 2003/04/12 14:02:38 giles Exp $ +% bdftops.ps +% Convert a BDF file (possibly with (an) associated AFM file(s)) +% to a PostScript Type 1 font (without eexec encryption). +% The resulting font will work with any PostScript language interpreter, +% but not with ATM or other font rasterizers lacking a complete interpreter. + +/envBDF 120 dict def +envBDF begin + +% "Import" the image-to-path package. +% This also brings in the Type 1 opcodes (type1ops.ps). + (impath.ps) runlibfile + +% "Import" the font-writing package. + (wrfont.ps) runlibfile + wrfont_dict begin + /binary_CharStrings false def + /binary_tokens false def + /encrypt_CharStrings true def + /standard_only true def + end + /lenIV 0 def + +% Invert the StandardEncoding vector. + 256 dict dup begin + 0 1 255 { dup StandardEncoding exch get exch def } for + end /StandardDecoding exch def + +% Define the properties copied to FontInfo. + mark + (COPYRIGHT) /Notice + (FAMILY_NAME) /FamilyName + (FULL_NAME) /FullName + (WEIGHT_NAME) /Weight + .dicttomark /properties exch def + +% Define the character sequences for synthesizing missing composite +% characters in the standard encoding. + mark + /AE [/A /E] + /OE [/O /E] + /ae [/a /e] + /ellipsis [/period /period /period] + /emdash [/hyphen /hyphen /hyphen] + /endash [/hyphen /hyphen] + /fi [/f /i] + /fl [/f /l] + /germandbls [/s /s] + /guillemotleft [/less /less] + /guillemotright [/greater /greater] + /oe [/o /e] + /quotedblbase [/comma /comma] + .dicttomark /composites exch def + +% Define the procedure for synthesizing composites. +% This must not be bound. + /compose + { exch pop + FontMatrix Private /composematrix get invertmatrix concat + 0 0 moveto + dup gsave false charpath pathbbox currentpoint grestore + 6 2 roll setcachedevice show + } def +% Define the CharString procedure that calls compose, with the string +% on the stack. This too must remain unbound. + /compose_proc + { Private /compose get exec + } def + +% Define aliases for missing characters similarly. + mark + /acute /quoteright + /bullet /asterisk + /cedilla /comma + /circumflex /asciicircum + /dieresis /quotedbl + /dotlessi /i + /exclamdown /exclam + /florin /f + /fraction /slash + /grave /quoteleft + /guilsinglleft /less + /guilsinglright /greater + /hungarumlaut /quotedbl + /periodcentered /asterisk + /questiondown /question + /quotedblleft /quotedbl + /quotedblright /quotedbl + /quotesinglbase /comma + /quotesingle /quoteright + /tilde /asciitilde + .dicttomark /aliases exch def + +% Define overstruck characters that can be synthesized with seac. + mark + [ /Aacute /Acircumflex /Adieresis /Agrave /Aring /Atilde + /Ccedilla + /Eacute /Ecircumflex /Edieresis /Egrave + /Iacute /Icircumflex /Idieresis /Igrave + /Lslash + /Ntilde + /Oacute /Ocircumflex /Odieresis /Ograve /Otilde + /Scaron + /Uacute /Ucircumflex /Udieresis /Ugrave + /Yacute /Ydieresis + /Zcaron + /aacute /acircumflex /adieresis /agrave /aring /atilde + /ccedilla + /eacute /ecircumflex /edieresis /egrave + /iacute /icircumflex /idieresis /igrave + /lslash + /ntilde + /oacute /ocircumflex /odieresis /ograve /otilde + /scaron + /uacute /ucircumflex /udieresis /ugrave + /yacute /ydieresis + /zcaron + ] + { dup =string cvs + [ exch dup 0 1 getinterval cvn + exch dup length 1 sub 1 exch getinterval cvn + ] + } forall + /cent [/c /slash] + /daggerdbl [/bar /equal] + /divide [/colon /hyphen] + /sterling [/L /hyphen] + /yen [/Y /equal] + .dicttomark /accentedchars exch def + +% ------ Output utilities ------ % + + /ws {psfile exch writestring} bind def + /wl {ws (\n) ws} bind def + /wt {=string cvs ws ( ) ws} bind def + +% ------ BDF file parsing utilities ------ % + +% Define a buffer for reading the BDF file. + /buffer 400 string def + +% Read a line from the BDF file into the buffer. +% Ignore empty (zero-length) lines. +% Define /keyword as the first word on the line. +% Define /args as the remainder of the line. +% If the keyword is equal to commentword, skip the line. +% (If commentword is equal to a space, never skip.) + /nextline + { { bdfile buffer readline not + { (Premature EOF\n) print stop } if + dup length 0 ne { exit } if pop + } + loop + ( ) search + { /keyword exch def pop } + { /keyword exch def () } + ifelse + /args exch def + keyword commentword eq { nextline } if + } bind def + +% Get a word argument from args. We do *not* copy the string. + /warg % warg -> string + { args ( ) search + { exch pop exch } + { () } + ifelse /args exch def + } bind def + +% Get an integer argument from args. + /iarg % iarg -> int + { warg cvi + } bind def + +% Get a numeric argument from args. + /narg % narg -> int|real + { warg cvr + dup dup cvi eq { cvi } if + } bind def + +% Convert the remainder of args into a string. + /remarg % remarg -> string + { args copystring + } bind def + +% Get a string argument that occupies the remainder of args. + /sarg % sarg -> string + { args (") anchorsearch + { pop /args exch def } { pop } ifelse + args args length 1 sub get (") 0 get eq + { args 0 args length 1 sub getinterval /args exch def } if + args copystring + } bind def + +% Check that the keyword is the expected one. + /checkline % (EXPECTED-KEYWORD) checkline -> + { dup keyword ne + { (Expected ) print = + (Line=) print keyword print ( ) print args print (\n) print stop + } if + pop + } bind def + +% Read a line and check its keyword. + /getline % (EXPECTED-KEYWORD) getline -> + { nextline checkline + } bind def + +% Find the first/last non-zero bit of a non-zero byte. + /fnzb + { 0 { exch dup 128 ge { pop exit } { dup add exch 1 add } ifelse } + loop + } bind def + /lnzb + { 7 { exch dup 1 and 0 ne { pop exit } { -1 bitshift exch 1 sub } ifelse } + loop + } bind def + +% ------ Type 1 encoding utilities ------ % + +% Parse the side bearing and width information that begins a CharString. +% Arguments: charstring. Result: sbx sby wx wy substring. + /parsesbw + { mark exch lenIV + { % stack: mark ... string dropcount + dup 2 index length exch sub getinterval + dup 0 get dup 32 lt { pop exit } if + dup 246 le + { 139 sub exch 1 } + { dup 250 le + { 247 sub 8 bitshift 108 add 1 index 1 get add exch 2 } + { dup 254 le + { 251 sub 8 bitshift 108 add 1 index 1 get add neg exch 2 } + { pop dup 1 get 128 xor 128 sub + 8 bitshift 1 index 2 get add + 8 bitshift 1 index 3 get add + 8 bitshift 1 index 4 get add exch 5 + } ifelse + } ifelse + } ifelse + } loop + counttomark 3 eq { 0 3 1 roll 0 exch } if + 6 -1 roll pop + } bind def + +% Find the side bearing and width information that begins a CharString. +% Arguments: charstring. Result: charstring sizethroughsbw. + /findsbw + { dup parsesbw 4 { exch pop } repeat skipsbw + } bind def + /skipsbw % charstring sbwprefix -> sizethroughsbw + { length 1 index length exch sub + 2 copy get 12 eq { 2 } { 1 } ifelse add + } bind def + +% Encode a number, and append it to a string. +% Arguments: str num. Result: newstr. + /concatnum + { dup dup -107 ge exch 107 le and + { 139 add 1 string dup 0 3 index put } + { dup dup -1131 ge exch 1131 le and + { dup 0 ge { 16#f694 } { neg 16#fa94 } ifelse add + 2 string dup 0 3 index -8 bitshift put + dup 1 3 index 255 and put + } + { 5 string dup 0 255 put exch + 2 copy 1 exch -24 bitshift 255 and put + 2 copy 2 exch -16 bitshift 255 and put + 2 copy 3 exch -8 bitshift 255 and put + 2 copy 4 exch 255 and put + exch + } + ifelse + } + ifelse exch pop concatstrings + } bind def + +% ------ Point arithmetic utilities ------ % + + /ptadd { exch 4 -1 roll add 3 1 roll add } bind def + /ptexch { 4 2 roll } bind def + /ptneg { neg exch neg exch } bind def + /ptpop { pop pop } bind def + /ptsub { ptneg ptadd } bind def + +% ------ The main program ------ % + + /readBDF % + % readBDF -> + { /xuid exch def % may be null + /uniqueID exch def % may be -1 + /encodingname exch def + /encoding encodingname cvx exec def + /fontname exch def + /psname exch def + /bdfname exch def + gsave % so we can set the CTM to the font matrix + +% Open the input files. We don't open the output file until +% we've done a minimal validity check on the input. + bdfname (r) file /bdfile exch def + /commentword ( ) def + +% Check for the STARTFONT. + (STARTFONT) getline + args (2.1) ne { (Not version 2.1\n) print stop } if + +% Initialize the font. + /Font 20 dict def + Font begin + /FontName fontname def + /PaintType 0 def + /FontType 1 def + uniqueID 0 gt { /UniqueID uniqueID def } if + xuid null ne { /XUID xuid def } if + /Encoding encoding def + /FontInfo 20 dict def + /Private 20 dict def + currentdict end currentdict end + exch begin begin % insert font above environment + +% Initialize the Private dictionary in the font. + Private begin + /-! {string currentfile exch readhexstring pop} readonly def + /-| {string currentfile exch readstring pop} readonly def + /|- {readonly def} readonly def + /| {readonly put} readonly def + /BlueValues [] def + /lenIV lenIV def + /MinFeature {16 16} def + /password 5839 def + /UniqueID uniqueID def + end % Private + +% Invert the Encoding, for synthesizing composite characters. + /decoding encoding length dict def + 0 1 encoding length 1 sub + { dup encoding exch get exch decoding 3 1 roll put } + for + +% Now open the output file. + psname (w) file /psfile exch def + +% Put out a header compatible with the Adobe "standard". + (%!FontType1-1.0: ) ws fontname wt (000.000) wl + (% This is a font description converted from ) ws + bdfname wl + (% by bdftops running on ) ws + statusdict /product get ws ( revision ) ws + revision =string cvs ws (.) wl + +% Copy the initial comments, up to FONT. + true + { nextline + keyword (COMMENT) ne {exit} if + { (% Here are the initial comments from the BDF file:\n%) wl + } if false + (%) ws remarg wl + } loop pop + () wl + /commentword (COMMENT) def % do skip comments from now on + +% Read and process the FONT, SIZE, and FONTBOUNDINGBOX. + % If we cared about FONT, we'd use it here. If the BDF files + % from MIT had PostScript names rather than X names, we would + % care; but what's there is unusable, so we discard FONT. + % The FONTBOUNDINGBOX may not be reliable, so we discard it too. + (FONT) checkline + (SIZE) getline + /pointsize iarg def /xres iarg def /yres iarg def + (FONTBOUNDINGBOX) getline + nextline + +% Initialize the font bounding box bookeeping. + /fbbxo 1000 def + /fbbyo 1000 def + /fbbxe -1000 def + /fbbye -1000 def + +% Read and process the properties. We only care about a few of them. + keyword (STARTPROPERTIES) eq + { iarg + { nextline + properties keyword known + { FontInfo properties keyword get sarg readonly put + } if + } repeat + (ENDPROPERTIES) getline + nextline + } if + +% Compute and set the FontMatrix. + Font /FontMatrix + [ 0.001 0 0 0.001 xres mul yres div 0 0 ] readonly + dup setmatrix put + +% Read and process the header for the bitmaps. + (CHARS) checkline + /ccount iarg def + +% Initialize the CharStrings dictionary. + /charstrings ccount + composites length add + aliases length add + accentedchars length add + 1 add dict def % 1 add for .notdef + /isfixedwidth true def + /fixedwidth null def + /subrcount 0 def + /subrs [] def + +% Read the bitmap data. This reads the remainder of the file. +% We do this before processing the bitmaps so that we can compute +% the correct FontBBox first. + /chardata ccount dict def + ccount -1 1 + { (STARTCHAR) getline + /charname remarg def + (ENCODING) getline + /eindex iarg def + eindex dup 0 ge exch 255 le and + { charname /charname StandardEncoding eindex get def + charname /.notdef eq eindex 0 gt and + { /charname (A) eindex =string cvs concatstrings cvn def + } + if + (/) print charname =string cvs print (,) print print + } + { (/) print charname print + } + ifelse + 10 mod 1 eq { (\n) print flush } if + (SWIDTH) getline + /swx iarg pointsize mul 1000 div xres mul 72 div def + /swy iarg pointsize mul 1000 div xres mul 72 div def + (DWIDTH) getline % Ignore, use SWIDTH instead + (BBX) getline + /bbw iarg def /bbh iarg def /bbox iarg def /bboy iarg def + nextline + keyword (ATTRIBUTES) eq + { nextline + } if + (BITMAP) checkline + +% Update the font bounding box. + /fbbxo fbbxo bbox .min def + /fbbyo fbbyo bboy .min def + /fbbxe fbbxe bbox bbw add .max def + /fbbye fbbye bboy bbh add .max def + +% Read the bits for this character. + /raster bbw 7 add 8 idiv def + /cbits raster bbh mul string def + cbits length 0 gt + { 0 raster cbits length raster sub + { cbits exch raster getinterval + bdfile buffer readline not + { (EOF in bitmap\n) print stop } if + % stack has + 0 () /SubFileDecode filter + exch 2 copy readhexstring pop pop pop closefile + } for + } if + + (ENDCHAR) getline + +% Save the character data. + chardata charname [swx swy bbw bbh bbox bboy cbits] put + } for + + (ENDFONT) getline + +% Allocate the buffers for the bitmap and the outline, +% according to the font bounding box. + /fbbw fbbxe fbbxo sub def + /fbbh fbbye fbbyo sub def + /fraster fbbw 7 add 8 idiv def + /bits fraster fbbh mul 200 .max 65535 .min string def + /outline bits length 6 mul 65535 .min string def + +% Process the characters. + chardata + { exch /charname exch def aload pop + /cbits exch def + /bboy exch def /bbox exch def + /bbh exch def /bbw exch def + /swy exch def /swx exch def + +% The bitmap handed to type1imagepath must have the correct height, +% because type1imagepath uses this to compute the scale factor, +% so we have to clear the unused parts of it. + /raster bbw 7 add 8 idiv def + bits dup 0 1 raster fbbh mul 1 sub + { 0 put dup } for + pop pop + bits raster fbbh bbh sub mul cbits putinterval + +% Compute the font entry, converting the bitmap to an outline. + bits 0 raster fbbh mul getinterval % the bitmap image + bbw fbbh % bitmap width & height + swx swy % width x & y + bbox neg bboy neg % origin x & y + % Account for lenIV when converting the outline. + outline lenIV outline length lenIV sub getinterval + type1imagepath + length lenIV add + outline exch 0 exch getinterval + +% Check for a fixed width font. + isfixedwidth + { fixedwidth null eq + { /fixedwidth swx def } + { fixedwidth swx ne { /isfixedwidth false def } if } + ifelse + } if + +% Finish up the character. + copystring + charname exch charstrings 3 1 roll put + } forall + +% Add CharStrings entries for aliases. + aliases + { charstrings 2 index known not charstrings 2 index known and + { charstrings exch get charstrings 3 1 roll put + } + { pop pop + } + ifelse + } + forall + +% If this is not a fixed-width font, synthesize missing characters +% out of available ones. + isfixedwidth not + { false composites + { 1 index charstrings exch known not + 1 index { decoding exch known and } forall + { ( /) print 1 index bits cvs print + /combine exch def + 0 1 combine length 1 sub + { dup combine exch get decoding exch get + bits 3 1 roll put + } for + bits 0 combine length getinterval copystring + [ exch /compose_proc load aload pop ] cvx + charstrings 3 1 roll put + pop true + } + { pop pop } + ifelse + } + forall flush + { Private /composematrix matrix put + Private /compose /compose load put + } + if + } + if + +% Synthesize accented characters with seac if needed and possible. + accentedchars + { aload pop /accent exch def /base exch def + buffer cvs /accented exch def + charstrings accented known not + charstrings base known and + charstrings accent known and + StandardDecoding base known and + StandardDecoding accent known and + encoding StandardDecoding base get get base eq and + encoding StandardDecoding accent get get accent eq and + { ( /) print accented print + charstrings base get findsbw 0 exch getinterval + /acstring exch def % start with sbw of base + charstrings accent get parsesbw + 4 { pop } repeat % just leave sbx + acstring exch concatnum + 0 concatnum 0 concatnum % adx ady + decoding base get concatnum % bchar + decoding accent get concatnum % achar + s_seac concatstrings + charstrings exch accented copystring exch put + } if + } forall + +% Make a CharStrings entry for .notdef. + outline lenIV <8b8b0d0e> putinterval % 0 0 hsbw endchar + charstrings /.notdef outline 0 lenIV 4 add getinterval copystring put + +% Encrypt the CharStrings and Subrs (in place). + charstrings + { % Be careful not to encrypt aliased characters twice, + % since they share their CharString. + aliases 2 index known + { charstrings aliases 3 index get .knownget + { 1 index ne } + { true } + ifelse + } + { true + } + ifelse + 1 index type /stringtype eq and + { 4330 exch dup .type1encrypt exch pop + readonly charstrings 3 1 roll put + } + { pop pop + } + ifelse + } + forall + 0 1 subrcount 1 sub + { dup subrs exch get + 4330 exch dup .type1encrypt exch pop + subrs 3 1 roll put + } + for + +% Make most of the remaining entries in the font dictionaries. + +% The Type 1 font machinery really only works with a 1000 unit +% character coordinate system. Set this up here, by computing the factor +% to make the X entry in the FontMatrix come out at exactly 0.001. + /fontscale 1000 fbbh div yres mul xres div def + Font /FontBBox + [ fbbxo fontscale mul + fbbyo fontscale mul + fbbxe fontscale mul + fbbye fontscale mul + ] cvx readonly put + Font /CharStrings charstrings readonly put + FontInfo /FullName known not + { % Some programs insist on FullName being present. + FontInfo /FullName FontName dup length string cvs put + } + if + FontInfo /isFixedPitch isfixedwidth put + subrcount 0 gt + { Private /Subrs subrs 0 subrcount getinterval readonly put + } if + +% Determine the italic angle and underline position +% by actually installing the font. + save + /_temp_ Font definefont setfont + [1000 0 0 1000 0 0] setmatrix % mitigate rounding problems +% The italic angle is the multiple of -5 degrees +% that minimizes the width of the 'I'. + 0 9999 0 5 85 + { dup rotate + newpath 0 0 moveto (I) false charpath + dup neg rotate + pathbbox pop exch pop exch sub + dup 3 index lt { 4 -2 roll } if + pop pop + } + for pop +% The underline position is halfway between the bottom of the 'A' +% and the bottom of the FontBBox. + newpath 0 0 moveto (A) false charpath + FontMatrix concat + pathbbox pop pop exch pop +% Put the values in FontInfo. + 3 -1 roll + restore + Font /FontBBox get 1 get add 2 div cvi + dup FontInfo /UnderlinePosition 3 -1 roll put + 2 div abs FontInfo /UnderlineThickness 3 -1 roll put + FontInfo /ItalicAngle 3 -1 roll put + +% Clean up and finish. + grestore + bdfile closefile + Font currentdict end end begin % remove font from dict stack + (\n) print flush + + } bind def + +% ------ Reader for AFM files ------ % + +% Dictionary for looking up character keywords + /cmdict 6 dict dup begin + /C { /c iarg def } def + /N { /n warg copystring def } def + /WX { /w narg def } def + /W0X /WX load def + /W /WX load def + /W0 /WX load def + end def + + /readAFM % fontdict afmfilename readAFM -> fontdict + { (r) file /bdfile exch def + /Font exch def + /commentword (Comment) def + +% Check for the StartFontMetrics. + (StartFontMetrics) getline + args cvr 2.0 lt { (Not version 2.0 or greater\n) print stop } if + +% Look for StartCharMetrics, then parse the character metrics. +% The only information we care about is the X width. + /metrics 0 dict def + { nextline + keyword (EndFontMetrics) eq { exit } if + keyword (StartCharMetrics) eq + { iarg dup dict /metrics exch def + { /c -1 def /n null def /w null def + nextline buffer + { token not { exit } if + dup cmdict exch known + { exch /args exch def cmdict exch get exec args } + { pop } + ifelse + } loop + c 0 ge n null ne or w null ne and + { n null eq { /n Font /Encoding get c get def } if + metrics n w put + } + if + } + repeat + (EndCharMetrics) getline + } if + } loop + +% Insert the metrics in the font. + metrics length 0 ne + { Font /Metrics metrics readonly put + } if + Font + } bind def + +end % envBDF + +% Enter the main program in the current dictionary. +/bdfafmtops % infilename afmfilename* outfilename fontname + % encodingname uniqueID xuid + { envBDF begin + 7 -2 roll exch 7 2 roll % afm* in out fontname encodingname uniqueID xuid + readBDF % afm* font + exch { readAFM } forall + save exch + dup /FontName get exch definefont + setfont + psfile writefont + restore + psfile closefile + end + } bind def + +% If the program was invoked from the command line, run it now. +[ shellarguments + { counttomark 4 ge + { dup 0 get + dup 48 ge exch 57 le and % last arg starts with a digit? + { /StandardEncoding } % no encodingname + { cvn } % have encodingname + ifelse + exch (.) search % next-to-last arg has . in it? + { mark 4 1 roll % have xuid + { cvi exch pop exch (.) search not { exit } if } + loop cvi ] + 3 -1 roll cvi exch + } + { cvi null % no xuid + } + ifelse + counttomark 5 roll + counttomark 6 sub array astore + 7 -2 roll cvn 7 -3 roll % make sure fontname is a name + bdfafmtops + } + { cleartomark + (Usage:\n bdftops xx.bdf [yy1.afm ...] zz.gsf fontname uniqueID [xuid] [encodingname]\n) print flush + mark + } + ifelse + } +if pop diff --git a/Master/xemtex/gslib/bj8.rpd b/Master/xemtex/gslib/bj8.rpd new file mode 100644 index 00000000000..fce6c2d4b7d --- /dev/null +++ b/Master/xemtex/gslib/bj8.rpd @@ -0,0 +1,17 @@ + +StartEntry: U_CanonBJC8200 +GSDriver: uniprint +Description: {Canon BJC-8200 (UP)} +About: { \ + Canon BJC-8200 uniprint driver settings.\ + } +Resolution: {NA} {NA} {} + BitsPerPixel: {bj8pp12f} {1200x1200DpI, photo paper pro, color, rendered} + BitsPerPixel: {bj8hg12f} {1200x1200DpI, high gloss photo film, color, rendered} + BitsPerPixel: {bj8gc12f} {1200x1200DpI, glossy photo cards, color, rendered} + BitsPerPixel: {bj8oh06n} {600x600DpI, transparencies, color, rendered} + BitsPerPixel: {bj8ts06n} {600x600DpI, t-shirt transfer, color, rendered} + BitsPerPixel: {bj8pa06n} {600x600DpI, plain paper, color, rendered} + +EndEntry +# diff --git a/Master/xemtex/gslib/bj8gc12f.upp b/Master/xemtex/gslib/bj8gc12f.upp new file mode 100644 index 00000000000..fc65a23f9f2 --- /dev/null +++ b/Master/xemtex/gslib/bj8gc12f.upp @@ -0,0 +1,44 @@ +-supModel="Canon BJC 8200, (1200DpI)^2, glossy photo card, high quality" +-sDEVICE=uniprint +-dNOPAUSE +-dSAFER +-dupColorModel=/DeviceCMYKgenerate +-dupRendering=/FSCMYK32 +-dupOutputFormat=/Canon +-r1200x1200 +-dupMargins="{ 8.23 20.44 11.05 7.9 }" +-dupOutputComponentOrder="{ 3 2 1 0 }" +-dupBlackTransfer="{ +0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 +0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 +0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 +0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 +}" +-dupCyanTransfer="{ +0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 +0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 +0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 +0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 +}" +-dupMagentaTransfer="{ +0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 +0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 +0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 +0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 +}" +-dupYellowTransfer="{ +0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 +0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 +0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 +0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 +}" +-dupBeginPageCommand="< + 1b5b 4b 0200 000f + 1b28 62 0100 01 + 1b28 71 0100 01 + 1b28 64 0400 04b0 04b0 + 1b28 63 0300 3005 04 + 1b28 6c 0200 340d +>" +-dupEndJobCommand="(\033\050b\001\000\000\033@)" +-dupEndPageCommand="(\014)" diff --git a/Master/xemtex/gslib/bj8hg12f.upp b/Master/xemtex/gslib/bj8hg12f.upp new file mode 100644 index 00000000000..94f72352ee0 --- /dev/null +++ b/Master/xemtex/gslib/bj8hg12f.upp @@ -0,0 +1,44 @@ +-supModel="Canon BJC 8200, (1200DpI)^2, high gloss photo, high quality" +-sDEVICE=uniprint +-dNOPAUSE +-dSAFER +-dupColorModel=/DeviceCMYKgenerate +-dupRendering=/FSCMYK32 +-dupOutputFormat=/Canon +-r1200x1200 +-dupMargins="{ 8.23 20.44 11.05 7.9 }" +-dupOutputComponentOrder="{ 3 2 1 0 }" +-dupBlackTransfer="{ +0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 +0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 +0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 +0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 +}" +-dupCyanTransfer="{ +0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 +0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 +0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 +0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 +}" +-dupMagentaTransfer="{ +0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 +0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 +0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 +0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 +}" +-dupYellowTransfer="{ +0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 +0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 +0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 +0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 +}" +-dupBeginPageCommand="< + 1b5b 4b 0200 000f + 1b28 62 0100 01 + 1b28 71 0100 01 + 1b28 64 0400 04b0 04b0 + 1b28 63 0300 3006 04 + 1b28 6c 0200 3406 +>" +-dupEndJobCommand="(\033\050b\001\000\000\033@)" +-dupEndPageCommand="(\014)" diff --git a/Master/xemtex/gslib/bj8oh06n.upp b/Master/xemtex/gslib/bj8oh06n.upp new file mode 100644 index 00000000000..1ce812d24fa --- /dev/null +++ b/Master/xemtex/gslib/bj8oh06n.upp @@ -0,0 +1,44 @@ +-supModel="Canon BJC 8200, (600DpI)^2, OHP, normal quality" +-sDEVICE=uniprint +-dNOPAUSE +-dSAFER +-dupColorModel=/DeviceCMYKgenerate +-dupRendering=/FSCMYK32 +-dupOutputFormat=/Canon +-r600x600 +-dupMargins="{ 8.23 20.44 11.05 7.9 }" +-dupOutputComponentOrder="{ 3 2 1 0 }" +-dupBlackTransfer="{ +0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 +0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 +0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 +0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 +}" +-dupCyanTransfer="{ +0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 +0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 +0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 +0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 +}" +-dupMagentaTransfer="{ +0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 +0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 +0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 +0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 +}" +-dupYellowTransfer="{ +0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 +0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 +0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 +0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 +}" +-dupBeginPageCommand="< + 1b5b 4b 0200 000f + 1b28 62 0100 01 + 1b28 71 0100 01 + 1b28 64 0400 0258 0258 + 1b28 63 0300 3002 03 + 1b28 6c 0200 3402 +>" +-dupEndJobCommand="(\033\050b\001\000\000\033@)" +-dupEndPageCommand="(\014)" diff --git a/Master/xemtex/gslib/bj8pa06n.upp b/Master/xemtex/gslib/bj8pa06n.upp new file mode 100644 index 00000000000..295cc065fe6 --- /dev/null +++ b/Master/xemtex/gslib/bj8pa06n.upp @@ -0,0 +1,44 @@ +-supModel="Canon BJC 8200, (600DpI)^2, plain paper, normal quality" +-sDEVICE=uniprint +-dNOPAUSE +-dSAFER +-dupColorModel=/DeviceCMYKgenerate +-dupRendering=/FSCMYK32 +-dupOutputFormat=/Canon +-r600x600 +-dupMargins="{ 8.23 20.44 11.05 7.9 }" +-dupOutputComponentOrder="{ 3 2 1 0 }" +-dupBlackTransfer="{ +0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 +0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 +0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 +0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 +}" +-dupCyanTransfer="{ +0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 +0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 +0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 +0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 +}" +-dupMagentaTransfer="{ +0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 +0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 +0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 +0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 +}" +-dupYellowTransfer="{ +0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 +0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 +0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 +0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 +}" +-dupBeginPageCommand="< + 1b5b 4b 0200 000f + 1b28 62 0100 01 + 1b28 71 0100 01 + 1b28 64 0400 0258 0258 + 1b28 63 0300 3000 03 + 1b28 6c 0200 3400 +>" +-dupEndJobCommand="(\033\050b\001\000\000\033@)" +-dupEndPageCommand="(\014)" diff --git a/Master/xemtex/gslib/bj8pp12f.upp b/Master/xemtex/gslib/bj8pp12f.upp new file mode 100644 index 00000000000..46ee43d5867 --- /dev/null +++ b/Master/xemtex/gslib/bj8pp12f.upp @@ -0,0 +1,44 @@ +-supModel="Canon BJC 8200, (1200DpI)^2, professional photo paper, highest quality" +-sDEVICE=uniprint +-dNOPAUSE +-dSAFER +-dupColorModel=/DeviceCMYKgenerate +-dupRendering=/FSCMYK32 +-dupOutputFormat=/Canon +-r1200x1200 +-dupMargins="{ 8.23 20.44 11.05 7.9 }" +-dupOutputComponentOrder="{ 3 2 1 0 }" +-dupBlackTransfer="{ +0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 +0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 +0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 +0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 +}" +-dupCyanTransfer="{ +0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 +0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 +0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 +0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 +}" +-dupMagentaTransfer="{ +0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 +0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 +0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 +0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 +}" +-dupYellowTransfer="{ +0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 +0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 +0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 +0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 +}" +-dupBeginPageCommand="< + 1b5b 4b 0200 000f + 1b28 62 0100 01 + 1b28 71 0100 01 + 1b28 64 0400 04b0 04b0 + 1b28 63 0300 3009 04 + 1b28 6c 0200 340d +>" +-dupEndJobCommand="(\033\050b\001\000\000\033@)" +-dupEndPageCommand="(\014)" diff --git a/Master/xemtex/gslib/bj8ts06n.upp b/Master/xemtex/gslib/bj8ts06n.upp new file mode 100644 index 00000000000..01135066ec6 --- /dev/null +++ b/Master/xemtex/gslib/bj8ts06n.upp @@ -0,0 +1,44 @@ +-supModel="Canon BJC 8200, (600DpI)^2, t-shirt transfer, normal quality" +-sDEVICE=uniprint +-dNOPAUSE +-dSAFER +-dupColorModel=/DeviceCMYKgenerate +-dupRendering=/FSCMYK32 +-dupOutputFormat=/Canon +-r600x600 +-dupMargins="{ 8.23 20.44 11.05 7.9 }" +-dupOutputComponentOrder="{ 3 2 1 0 }" +-dupBlackTransfer="{ +0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 +0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 +0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 +0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 +}" +-dupCyanTransfer="{ +0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 +0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 +0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 +0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 +}" +-dupMagentaTransfer="{ +0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 +0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 +0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 +0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 +}" +-dupYellowTransfer="{ +0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 +0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 +0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 +0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 +}" +-dupBeginPageCommand="< + 1b5b 4b 0200 000f + 1b28 62 0100 01 + 1b28 71 0100 01 + 1b28 64 0400 0258 0258 + 1b28 63 0300 3003 03 + 1b28 6c 0200 3403 +>" +-dupEndJobCommand="(\033\050b\001\000\000\033@)" +-dupEndPageCommand="(\014)" diff --git a/Master/xemtex/gslib/bjc610a0.upp b/Master/xemtex/gslib/bjc610a0.upp new file mode 100644 index 00000000000..05f389dc6bd --- /dev/null +++ b/Master/xemtex/gslib/bjc610a0.upp @@ -0,0 +1,44 @@ +-supModel="Canon BJC 610, 360x360DpI, plain paper high speed, color, rendered" +-sDEVICE=uniprint +-dNOPAUSE +-dSAFER +-dupColorModel=/DeviceCMYK +-dupRendering=/ErrorDiffusion +-dupOutputFormat=/Canon +-r360x360 +-dupMargins="{ 8.23 20.44 11.05 7.9 }" +-dupOutputComponentOrder="{ 3 2 1 0 }" +-dupBlackTransfer="{ +0.0000 0.0058 0.0164 0.0301 0.0463 0.0648 0.0851 0.1073 +0.1311 0.1564 0.1832 0.2114 0.2408 0.2716 0.3035 0.3366 +0.3708 0.4061 0.4425 0.4798 0.5182 0.5576 0.5978 0.6391 +0.6812 0.7242 0.7681 0.8128 0.8584 0.9048 0.9520 1.0000 +}" +-dupCyanTransfer="{ +0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 +0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 +0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 +0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 +}" +-dupMagentaTransfer="{ +0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 +0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 +0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 +0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 +}" +-dupYellowTransfer="{ +0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 +0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 +0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 +0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 +}" +-dupBeginPageCommand="< + 1b5b4b 0200 000f + 1b28 62 0100 01 + 1b28 63 0300 100200 + 1b28 64 0200 0168 + 1b28 6c 0200 1400 + 1b28 67 0100 E5 +>" +-dupEndJobCommand="(\033\050b\001\000\000\033@)" +-dupEndPageCommand="(\014)" diff --git a/Master/xemtex/gslib/bjc610a1.upp b/Master/xemtex/gslib/bjc610a1.upp new file mode 100644 index 00000000000..fcd0afe8b11 --- /dev/null +++ b/Master/xemtex/gslib/bjc610a1.upp @@ -0,0 +1,44 @@ +-supModel="Canon BJC 610, 360x360DpI, plain paper, color, rendered" +-sDEVICE=uniprint +-dNOPAUSE +-dSAFER +-dupColorModel=/DeviceCMYK +-dupRendering=/ErrorDiffusion +-dupOutputFormat=/Canon +-r360x360 +-dupMargins="{ 8.23 20.44 11.05 7.9 }" +-dupOutputComponentOrder="{ 3 2 1 0 }" +-dupBlackTransfer="{ +0.0000 0.0058 0.0164 0.0301 0.0463 0.0648 0.0851 0.1073 +0.1311 0.1564 0.1832 0.2114 0.2408 0.2716 0.3035 0.3366 +0.3708 0.4061 0.4425 0.4798 0.5182 0.5576 0.5978 0.6391 +0.6812 0.7242 0.7681 0.8128 0.8584 0.9048 0.9520 1.0000 +}" +-dupCyanTransfer="{ +0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 +0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 +0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 +0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 +}" +-dupMagentaTransfer="{ +0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 +0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 +0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 +0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 +}" +-dupYellowTransfer="{ +0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 +0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 +0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 +0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 +}" +-dupBeginPageCommand="< + 1b5b4b 0200 000f + 1b28 62 0100 01 + 1b28 63 0300 100110 + 1b28 64 0200 0168 + 1b28 6c 0200 1400 + 1b28 67 0100 E5 +>" +-dupEndJobCommand="(\033\050b\001\000\000\033@)" +-dupEndPageCommand="(\014)" diff --git a/Master/xemtex/gslib/bjc610a2.upp b/Master/xemtex/gslib/bjc610a2.upp new file mode 100644 index 00000000000..6c1fb6ad3fd --- /dev/null +++ b/Master/xemtex/gslib/bjc610a2.upp @@ -0,0 +1,44 @@ +-supModel="Canon BJC 610, 360x360DpI, coated paper, color, rendered" +-sDEVICE=uniprint +-dNOPAUSE +-dSAFER +-dupColorModel=/DeviceCMYK +-dupRendering=/ErrorDiffusion +-dupOutputFormat=/Canon +-r360x360 +-dupMargins="{ 8.23 20.44 11.05 7.9 }" +-dupOutputComponentOrder="{ 3 2 1 0 }" +-dupBlackTransfer="{ +0.0000 0.0058 0.0164 0.0301 0.0463 0.0648 0.0851 0.1073 +0.1311 0.1564 0.1832 0.2114 0.2408 0.2716 0.3035 0.3366 +0.3708 0.4061 0.4425 0.4798 0.5182 0.5576 0.5978 0.6391 +0.6812 0.7242 0.7681 0.8128 0.8584 0.9048 0.9520 1.0000 +}" +-dupCyanTransfer="{ +0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 +0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 +0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 +0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 +}" +-dupMagentaTransfer="{ +0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 +0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 +0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 +0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 +}" +-dupYellowTransfer="{ +0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 +0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 +0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 +0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 +}" +-dupBeginPageCommand="< + 1b5b4b 0200 000f + 1b28 62 0100 01 + 1b28 63 0300 101110 + 1b28 64 0200 0168 + 1b28 6c 0200 1410 + 1b28 67 0100 E5 +>" +-dupEndJobCommand="(\033\050b\001\000\000\033@)" +-dupEndPageCommand="(\014)" diff --git a/Master/xemtex/gslib/bjc610a3.upp b/Master/xemtex/gslib/bjc610a3.upp new file mode 100644 index 00000000000..8345ed68731 --- /dev/null +++ b/Master/xemtex/gslib/bjc610a3.upp @@ -0,0 +1,44 @@ +-supModel="Canon BJC 610, 360x360DpI, transparency film, color, rendered" +-sDEVICE=uniprint +-dNOPAUSE +-dSAFER +-dupColorModel=/DeviceCMYK +-dupRendering=/ErrorDiffusion +-dupOutputFormat=/Canon +-r360x360 +-dupMargins="{ 8.23 20.44 11.05 7.9 }" +-dupOutputComponentOrder="{ 3 2 1 0 }" +-dupBlackTransfer="{ +0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 +0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 +0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 +0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 +}" +-dupCyanTransfer="{ +0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 +0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 +0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 +0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 +}" +-dupMagentaTransfer="{ +0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 +0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 +0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 +0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 +}" +-dupYellowTransfer="{ +0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 +0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 +0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 +0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 +}" +-dupBeginPageCommand="< + 1b5b4b 0200 000f + 1b28 62 0100 01 + 1b28 63 0300 102110 + 1b28 64 0200 0168 + 1b28 6c 0200 1420 + 1b28 67 0100 E5 +>" +-dupEndJobCommand="(\033\050b\001\000\000\033@)" +-dupEndPageCommand="(\014)" diff --git a/Master/xemtex/gslib/bjc610a4.upp b/Master/xemtex/gslib/bjc610a4.upp new file mode 100644 index 00000000000..d53b879865b --- /dev/null +++ b/Master/xemtex/gslib/bjc610a4.upp @@ -0,0 +1,45 @@ +-supModel="Canon BJC 610, 360x360DpI, back print film, color, rendered" +-sDEVICE=uniprint +-dNOPAUSE +-dSAFER +-dupColorModel=/DeviceCMYK +-dupRendering=/ErrorDiffusion +-dupOutputFormat=/Canon +-r360x360 +-dupYFlip +-dupMargins="{ 8.23 20.44 11.05 7.9 }" +-dupOutputComponentOrder="{ 3 2 1 0 }" +-dupBlackTransfer="{ +0.0000 0.0058 0.0164 0.0301 0.0463 0.0648 0.0851 0.1073 +0.1311 0.1564 0.1832 0.2114 0.2408 0.2716 0.3035 0.3366 +0.3708 0.4061 0.4425 0.4798 0.5182 0.5576 0.5978 0.6391 +0.6812 0.7242 0.7681 0.8128 0.8584 0.9048 0.9520 1.0000 +}" +-dupCyanTransfer="{ +0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 +0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 +0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 +0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 +}" +-dupMagentaTransfer="{ +0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 +0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 +0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 +0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 +}" +-dupYellowTransfer="{ +0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 +0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 +0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 +0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 +}" +-dupBeginPageCommand="< + 1b5b4b 0200 000f + 1b28 62 0100 01 + 1b28 63 0300 103110 + 1b28 64 0200 0168 + 1b28 6c 0200 1430 + 1b28 67 0100 E5 +>" +-dupEndJobCommand="(\033\050b\001\000\000\033@)" +-dupEndPageCommand="(\014)" diff --git a/Master/xemtex/gslib/bjc610a5.upp b/Master/xemtex/gslib/bjc610a5.upp new file mode 100644 index 00000000000..fb6b5b668fd --- /dev/null +++ b/Master/xemtex/gslib/bjc610a5.upp @@ -0,0 +1,44 @@ +-supModel="Canon BJC 610, 360x360DpI, fabric sheet, color, rendered" +-sDEVICE=uniprint +-dNOPAUSE +-dSAFER +-dupColorModel=/DeviceCMYK +-dupRendering=/ErrorDiffusion +-dupOutputFormat=/Canon +-r360x360 +-dupMargins="{ 8.23 20.44 11.05 7.9 }" +-dupOutputComponentOrder="{ 3 2 1 0 }" +-dupBlackTransfer="{ +0.0000 0.0058 0.0164 0.0301 0.0463 0.0648 0.0851 0.1073 +0.1311 0.1564 0.1832 0.2114 0.2408 0.2716 0.3035 0.3366 +0.3708 0.4061 0.4425 0.4798 0.5182 0.5576 0.5978 0.6391 +0.6812 0.7242 0.7681 0.8128 0.8584 0.9048 0.9520 1.0000 +}" +-dupCyanTransfer="{ +0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 +0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 +0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 +0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 +}" +-dupMagentaTransfer="{ +0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 +0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 +0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 +0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 +}" +-dupYellowTransfer="{ +0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 +0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 +0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 +0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 +}" +-dupBeginPageCommand="< + 1b5b4b 0200 000f + 1b28 62 0100 01 + 1b28 63 0300 104110 + 1b28 64 0200 0168 + 1b28 6c 0200 1850 + 1b28 67 0100 E5 +>" +-dupEndJobCommand="(\033\050b\001\000\000\033@)" +-dupEndPageCommand="(\014)" diff --git a/Master/xemtex/gslib/bjc610a6.upp b/Master/xemtex/gslib/bjc610a6.upp new file mode 100644 index 00000000000..438e08453b0 --- /dev/null +++ b/Master/xemtex/gslib/bjc610a6.upp @@ -0,0 +1,44 @@ +-supModel="Canon BJC 610, 360x360DpI, glossy paper, color, rendered" +-sDEVICE=uniprint +-dNOPAUSE +-dSAFER +-dupColorModel=/DeviceCMYK +-dupRendering=/ErrorDiffusion +-dupOutputFormat=/Canon +-r360x360 +-dupMargins="{ 8.23 20.44 11.05 7.9 }" +-dupOutputComponentOrder="{ 3 2 1 0 }" +-dupBlackTransfer="{ +0.0000 0.0058 0.0164 0.0301 0.0463 0.0648 0.0851 0.1073 +0.1311 0.1564 0.1832 0.2114 0.2408 0.2716 0.3035 0.3366 +0.3708 0.4061 0.4425 0.4798 0.5182 0.5576 0.5978 0.6391 +0.6812 0.7242 0.7681 0.8128 0.8584 0.9048 0.9520 1.0000 +}" +-dupCyanTransfer="{ +0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 +0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 +0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 +0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 +}" +-dupMagentaTransfer="{ +0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 +0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 +0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 +0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 +}" +-dupYellowTransfer="{ +0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 +0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 +0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 +0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 +}" +-dupBeginPageCommand="< + 1b5b4b 0200 000f + 1b28 62 0100 01 + 1b28 63 0300 105110 + 1b28 64 0200 0168 + 1b28 6c 0200 1460 + 1b28 67 0100 E5 +>" +-dupEndJobCommand="(\033\050b\001\000\000\033@)" +-dupEndPageCommand="(\014)" diff --git a/Master/xemtex/gslib/bjc610a7.upp b/Master/xemtex/gslib/bjc610a7.upp new file mode 100644 index 00000000000..d8333f42c06 --- /dev/null +++ b/Master/xemtex/gslib/bjc610a7.upp @@ -0,0 +1,44 @@ +-supModel="Canon BJC 610, 360x360DpI, high gloss film, color, rendered" +-sDEVICE=uniprint +-dNOPAUSE +-dSAFER +-dupColorModel=/DeviceCMYK +-dupRendering=/ErrorDiffusion +-dupOutputFormat=/Canon +-r360x360 +-dupMargins="{ 8.23 20.44 11.05 7.9 }" +-dupOutputComponentOrder="{ 3 2 1 0 }" +-dupBlackTransfer="{ +0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 +0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 +0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 +0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 +}" +-dupCyanTransfer="{ +0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 +0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 +0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 +0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 +}" +-dupMagentaTransfer="{ +0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 +0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 +0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 +0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 +}" +-dupYellowTransfer="{ +0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 +0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 +0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 +0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 +}" +-dupBeginPageCommand="< + 1b5b4b 0200 000f + 1b28 62 0100 01 + 1b28 63 0300 106110 + 1b28 64 0200 0168 + 1b28 6c 0200 1470 + 1b28 67 0100 E5 +>" +-dupEndJobCommand="(\033\050b\001\000\000\033@)" +-dupEndPageCommand="(\014)" diff --git a/Master/xemtex/gslib/bjc610a8.upp b/Master/xemtex/gslib/bjc610a8.upp new file mode 100644 index 00000000000..6ec6804e7b6 --- /dev/null +++ b/Master/xemtex/gslib/bjc610a8.upp @@ -0,0 +1,44 @@ +-supModel="Canon BJC 610, 360x360DpI, high resolution paper, color, rendered" +-sDEVICE=uniprint +-dNOPAUSE +-dSAFER +-dupColorModel=/DeviceCMYK +-dupRendering=/ErrorDiffusion +-dupOutputFormat=/Canon +-r360x360 +-dupMargins="{ 8.23 20.44 11.05 7.9 }" +-dupOutputComponentOrder="{ 3 2 1 0 }" +-dupBlackTransfer="{ +0.0000 0.0058 0.0164 0.0301 0.0463 0.0648 0.0851 0.1073 +0.1311 0.1564 0.1832 0.2114 0.2408 0.2716 0.3035 0.3366 +0.3708 0.4061 0.4425 0.4798 0.5182 0.5576 0.5978 0.6391 +0.6812 0.7242 0.7681 0.8128 0.8584 0.9048 0.9520 1.0000 +}" +-dupCyanTransfer="{ +0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 +0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 +0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 +0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 +}" +-dupMagentaTransfer="{ +0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 +0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 +0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 +0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 +}" +-dupYellowTransfer="{ +0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 +0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 +0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 +0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 +}" +-dupBeginPageCommand="< + 1b5b4b 0200 000f + 1b28 62 0100 01 + 1b28 63 0300 107110 + 1b28 64 0200 0168 + 1b28 6c 0200 14a0 + 1b28 67 0100 E5 +>" +-dupEndJobCommand="(\033\050b\001\000\000\033@)" +-dupEndPageCommand="(\014)" diff --git a/Master/xemtex/gslib/bjc610b1.upp b/Master/xemtex/gslib/bjc610b1.upp new file mode 100644 index 00000000000..06d1a296b96 --- /dev/null +++ b/Master/xemtex/gslib/bjc610b1.upp @@ -0,0 +1,44 @@ +-supModel="Canon BJC 610, 720x720DpI, plain paper, color, rendered" +-sDEVICE=uniprint +-dNOPAUSE +-dSAFER +-dupColorModel=/DeviceCMYK +-dupRendering=/ErrorDiffusion +-dupOutputFormat=/Canon +-r720x720 +-dupMargins="{ 8.23 20.44 11.05 7.9 }" +-dupOutputComponentOrder="{ 3 2 1 0 }" +-dupBlackTransfer="{ +0.0000 0.0029 0.0082 0.0151 0.0232 0.0324 0.0426 0.0537 +0.0655 0.0782 0.0916 0.1057 0.1204 0.1358 0.1517 0.1683 +0.1854 0.2030 0.2212 0.2399 0.2591 0.2788 0.2989 0.3195 +0.3406 0.3621 0.3840 0.4064 0.4292 0.4524 0.4760 0.5000 +}" +-dupCyanTransfer="{ +0.0000 0.0004 0.0017 0.0037 0.0067 0.0104 0.0150 0.0204 +0.0266 0.0337 0.0416 0.0504 0.0599 0.0703 0.0816 0.0937 +0.1066 0.1203 0.1349 0.1503 0.1665 0.1836 0.2015 0.2202 +0.2398 0.2601 0.2814 0.3034 0.3263 0.3501 0.3746 0.4000 +}" +-dupMagentaTransfer="{ +0.0000 0.0004 0.0017 0.0037 0.0067 0.0104 0.0150 0.0204 +0.0266 0.0337 0.0416 0.0504 0.0599 0.0703 0.0816 0.0937 +0.1066 0.1203 0.1349 0.1503 0.1665 0.1836 0.2015 0.2202 +0.2398 0.2601 0.2814 0.3034 0.3263 0.3501 0.3746 0.4000 +}" +-dupYellowTransfer="{ +0.0000 0.0004 0.0017 0.0037 0.0067 0.0104 0.0150 0.0204 +0.0266 0.0337 0.0416 0.0504 0.0599 0.0703 0.0816 0.0937 +0.1066 0.1203 0.1349 0.1503 0.1665 0.1836 0.2015 0.2202 +0.2398 0.2601 0.2814 0.3034 0.3263 0.3501 0.3746 0.4000 +}" +-dupBeginPageCommand="< + 1b5b4b 0200 000f + 1b28 62 0100 01 + 1b28 63 0300 101110 + 1b28 64 0200 02d0 + 1b28 6c 0200 1410 + 1b28 67 0100 E5 +>" +-dupEndJobCommand="(\033\050b\001\000\000\033@)" +-dupEndPageCommand="(\014)" diff --git a/Master/xemtex/gslib/bjc610b2.upp b/Master/xemtex/gslib/bjc610b2.upp new file mode 100644 index 00000000000..d8364600153 --- /dev/null +++ b/Master/xemtex/gslib/bjc610b2.upp @@ -0,0 +1,44 @@ +-supModel="Canon BJC 610, 720x720DpI, coated paper, color, rendered" +-sDEVICE=uniprint +-dNOPAUSE +-dSAFER +-dupColorModel=/DeviceCMYK +-dupRendering=/ErrorDiffusion +-dupOutputFormat=/Canon +-r720x720 +-dupMargins="{ 8.23 20.44 11.05 7.9 }" +-dupOutputComponentOrder="{ 3 2 1 0 }" +-dupBlackTransfer="{ +0.0000 0.0029 0.0082 0.0151 0.0232 0.0324 0.0426 0.0537 +0.0655 0.0782 0.0916 0.1057 0.1204 0.1358 0.1517 0.1683 +0.1854 0.2030 0.2212 0.2399 0.2591 0.2788 0.2989 0.3195 +0.3406 0.3621 0.3840 0.4064 0.4292 0.4524 0.4760 0.5000 +}" +-dupCyanTransfer="{ +0.0000 0.0005 0.0021 0.0047 0.0083 0.0130 0.0187 0.0255 +0.0333 0.0421 0.0520 0.0630 0.0749 0.0879 0.1020 0.1171 +0.1332 0.1504 0.1686 0.1878 0.2081 0.2294 0.2518 0.2752 +0.2997 0.3252 0.3517 0.3793 0.4079 0.4376 0.4683 0.5000 +}" +-dupMagentaTransfer="{ +0.0000 0.0005 0.0021 0.0047 0.0083 0.0130 0.0187 0.0255 +0.0333 0.0421 0.0520 0.0630 0.0749 0.0879 0.1020 0.1171 +0.1332 0.1504 0.1686 0.1878 0.2081 0.2294 0.2518 0.2752 +0.2997 0.3252 0.3517 0.3793 0.4079 0.4376 0.4683 0.5000 +}" +-dupYellowTransfer="{ +0.0000 0.0005 0.0021 0.0047 0.0083 0.0130 0.0187 0.0255 +0.0333 0.0421 0.0520 0.0630 0.0749 0.0879 0.1020 0.1171 +0.1332 0.1504 0.1686 0.1878 0.2081 0.2294 0.2518 0.2752 +0.2997 0.3252 0.3517 0.3793 0.4079 0.4376 0.4683 0.5000 +}" +-dupBeginPageCommand="< + 1b5b4b 0200 000f + 1b28 62 0100 01 + 1b28 63 0300 101110 + 1b28 64 0200 02d0 + 1b28 6c 0200 1410 + 1b28 67 0100 E5 +>" +-dupEndJobCommand="(\033\050b\001\000\000\033@)" +-dupEndPageCommand="(\014)" diff --git a/Master/xemtex/gslib/bjc610b3.upp b/Master/xemtex/gslib/bjc610b3.upp new file mode 100644 index 00000000000..79c948ca6fb --- /dev/null +++ b/Master/xemtex/gslib/bjc610b3.upp @@ -0,0 +1,44 @@ +-supModel="Canon BJC 610, 720x720DpI, transparency film, color, rendered" +-sDEVICE=uniprint +-dNOPAUSE +-dSAFER +-dupColorModel=/DeviceCMYK +-dupRendering=/ErrorDiffusion +-dupOutputFormat=/Canon +-r720x720 +-dupMargins="{ 8.23 20.44 11.05 7.9 }" +-dupOutputComponentOrder="{ 3 2 1 0 }" +-dupBlackTransfer="{ +0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 +0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 +0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 +0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 +}" +-dupCyanTransfer="{ +0.0000 0.0005 0.0021 0.0047 0.0083 0.0130 0.0187 0.0255 +0.0333 0.0421 0.0520 0.0630 0.0749 0.0879 0.1020 0.1171 +0.1332 0.1504 0.1686 0.1878 0.2081 0.2294 0.2518 0.2752 +0.2997 0.3252 0.3517 0.3793 0.4079 0.4376 0.4683 0.5000 +}" +-dupMagentaTransfer="{ +0.0000 0.0005 0.0021 0.0047 0.0083 0.0130 0.0187 0.0255 +0.0333 0.0421 0.0520 0.0630 0.0749 0.0879 0.1020 0.1171 +0.1332 0.1504 0.1686 0.1878 0.2081 0.2294 0.2518 0.2752 +0.2997 0.3252 0.3517 0.3793 0.4079 0.4376 0.4683 0.5000 +}" +-dupYellowTransfer="{ +0.0000 0.0005 0.0021 0.0047 0.0083 0.0130 0.0187 0.0255 +0.0333 0.0421 0.0520 0.0630 0.0749 0.0879 0.1020 0.1171 +0.1332 0.1504 0.1686 0.1878 0.2081 0.2294 0.2518 0.2752 +0.2997 0.3252 0.3517 0.3793 0.4079 0.4376 0.4683 0.5000 +}" +-dupBeginPageCommand="< + 1b5b4b 0200 000f + 1b28 62 0100 01 + 1b28 63 0300 102110 + 1b28 64 0200 02d0 + 1b28 6c 0200 1420 + 1b28 67 0100 E5 +>" +-dupEndJobCommand="(\033\050b\001\000\000\033@)" +-dupEndPageCommand="(\014)" diff --git a/Master/xemtex/gslib/bjc610b4.upp b/Master/xemtex/gslib/bjc610b4.upp new file mode 100644 index 00000000000..68b2460b615 --- /dev/null +++ b/Master/xemtex/gslib/bjc610b4.upp @@ -0,0 +1,45 @@ +-supModel="Canon BJC 610, 720x720DpI, back print film, color, rendered" +-sDEVICE=uniprint +-dNOPAUSE +-dSAFER +-dupColorModel=/DeviceCMYK +-dupRendering=/ErrorDiffusion +-dupOutputFormat=/Canon +-r720x720 +-dupYFlip +-dupMargins="{ 8.23 20.44 11.05 7.9 }" +-dupOutputComponentOrder="{ 3 2 1 0 }" +-dupBlackTransfer="{ +0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 +0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 +0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 +0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 +}" +-dupCyanTransfer="{ +0.0000 0.0005 0.0019 0.0042 0.0075 0.0117 0.0169 0.0229 +0.0300 0.0379 0.0468 0.0567 0.0674 0.0791 0.0918 0.1054 +0.1199 0.1353 0.1517 0.1690 0.1873 0.2065 0.2266 0.2477 +0.2697 0.2927 0.3165 0.3414 0.3671 0.3938 0.4214 0.4500 +}" +-dupMagentaTransfer="{ +0.0000 0.0005 0.0019 0.0042 0.0075 0.0117 0.0169 0.0229 +0.0300 0.0379 0.0468 0.0567 0.0674 0.0791 0.0918 0.1054 +0.1199 0.1353 0.1517 0.1690 0.1873 0.2065 0.2266 0.2477 +0.2697 0.2927 0.3165 0.3414 0.3671 0.3938 0.4214 0.4500 +}" +-dupYellowTransfer="{ +0.0000 0.0005 0.0019 0.0042 0.0075 0.0117 0.0169 0.0229 +0.0300 0.0379 0.0468 0.0567 0.0674 0.0791 0.0918 0.1054 +0.1199 0.1353 0.1517 0.1690 0.1873 0.2065 0.2266 0.2477 +0.2697 0.2927 0.3165 0.3414 0.3671 0.3938 0.4214 0.4500 +}" +-dupBeginPageCommand="< + 1b5b4b 0200 000f + 1b28 62 0100 01 + 1b28 63 0300 103110 + 1b28 64 0200 02d0 + 1b28 6c 0200 1430 + 1b28 67 0100 E5 +>" +-dupEndJobCommand="(\033\050b\001\000\000\033@)" +-dupEndPageCommand="(\014)" diff --git a/Master/xemtex/gslib/bjc610b6.upp b/Master/xemtex/gslib/bjc610b6.upp new file mode 100644 index 00000000000..ef46be5e81d --- /dev/null +++ b/Master/xemtex/gslib/bjc610b6.upp @@ -0,0 +1,44 @@ +-supModel="Canon BJC 610, 720x720DpI, glossy paper, color, rendered" +-sDEVICE=uniprint +-dNOPAUSE +-dSAFER +-dupColorModel=/DeviceCMYK +-dupRendering=/ErrorDiffusion +-dupOutputFormat=/Canon +-r720x720 +-dupMargins="{ 8.23 20.44 11.05 7.9 }" +-dupOutputComponentOrder="{ 3 2 1 0 }" +-dupBlackTransfer="{ +0.0000 0.0029 0.0082 0.0151 0.0232 0.0324 0.0426 0.0537 +0.0655 0.0782 0.0916 0.1057 0.1204 0.1358 0.1517 0.1683 +0.1854 0.2030 0.2212 0.2399 0.2591 0.2788 0.2989 0.3195 +0.3406 0.3621 0.3840 0.4064 0.4292 0.4524 0.4760 0.5000 +}" +-dupCyanTransfer="{ +0.0000 0.0005 0.0021 0.0047 0.0083 0.0130 0.0187 0.0255 +0.0333 0.0421 0.0520 0.0630 0.0749 0.0879 0.1020 0.1171 +0.1332 0.1504 0.1686 0.1878 0.2081 0.2294 0.2518 0.2752 +0.2997 0.3252 0.3517 0.3793 0.4079 0.4376 0.4683 0.5000 +}" +-dupMagentaTransfer="{ +0.0000 0.0005 0.0021 0.0047 0.0083 0.0130 0.0187 0.0255 +0.0333 0.0421 0.0520 0.0630 0.0749 0.0879 0.1020 0.1171 +0.1332 0.1504 0.1686 0.1878 0.2081 0.2294 0.2518 0.2752 +0.2997 0.3252 0.3517 0.3793 0.4079 0.4376 0.4683 0.5000 +}" +-dupYellowTransfer="{ +0.0000 0.0005 0.0021 0.0047 0.0083 0.0130 0.0187 0.0255 +0.0333 0.0421 0.0520 0.0630 0.0749 0.0879 0.1020 0.1171 +0.1332 0.1504 0.1686 0.1878 0.2081 0.2294 0.2518 0.2752 +0.2997 0.3252 0.3517 0.3793 0.4079 0.4376 0.4683 0.5000 +}" +-dupBeginPageCommand="< + 1b5b4b 0200 000f + 1b28 62 0100 01 + 1b28 63 0300 105110 + 1b28 64 0200 02d0 + 1b28 6c 0200 1460 + 1b28 67 0100 E5 +>" +-dupEndJobCommand="(\033\050b\001\000\000\033@)" +-dupEndPageCommand="(\014)" diff --git a/Master/xemtex/gslib/bjc610b7.upp b/Master/xemtex/gslib/bjc610b7.upp new file mode 100644 index 00000000000..a12bd827911 --- /dev/null +++ b/Master/xemtex/gslib/bjc610b7.upp @@ -0,0 +1,44 @@ +-supModel="Canon BJC 610, 720x720DpI, high gloss paper, color, rendered" +-sDEVICE=uniprint +-dNOPAUSE +-dSAFER +-dupColorModel=/DeviceCMYK +-dupRendering=/ErrorDiffusion +-dupOutputFormat=/Canon +-r720x720 +-dupMargins="{ 8.23 20.44 11.05 7.9 }" +-dupOutputComponentOrder="{ 3 2 1 0 }" +-dupBlackTransfer="{ +0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 +0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 +0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 +0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 +}" +-dupCyanTransfer="{ +0.0000 0.0005 0.0021 0.0047 0.0083 0.0130 0.0187 0.0255 +0.0333 0.0421 0.0520 0.0630 0.0749 0.0879 0.1020 0.1171 +0.1332 0.1504 0.1686 0.1878 0.2081 0.2294 0.2518 0.2752 +0.2997 0.3252 0.3517 0.3793 0.4079 0.4376 0.4683 0.5000 +}" +-dupMagentaTransfer="{ +0.0000 0.0005 0.0021 0.0047 0.0083 0.0130 0.0187 0.0255 +0.0333 0.0421 0.0520 0.0630 0.0749 0.0879 0.1020 0.1171 +0.1332 0.1504 0.1686 0.1878 0.2081 0.2294 0.2518 0.2752 +0.2997 0.3252 0.3517 0.3793 0.4079 0.4376 0.4683 0.5000 +}" +-dupYellowTransfer="{ +0.0000 0.0005 0.0021 0.0047 0.0083 0.0130 0.0187 0.0255 +0.0333 0.0421 0.0520 0.0630 0.0749 0.0879 0.1020 0.1171 +0.1332 0.1504 0.1686 0.1878 0.2081 0.2294 0.2518 0.2752 +0.2997 0.3252 0.3517 0.3793 0.4079 0.4376 0.4683 0.5000 +}" +-dupBeginPageCommand="< + 1b5b4b 0200 000f + 1b28 62 0100 01 + 1b28 63 0300 106110 + 1b28 64 0200 02d0 + 1b28 6c 0200 1470 + 1b28 67 0100 E5 +>" +-dupEndJobCommand="(\033\050b\001\000\000\033@)" +-dupEndPageCommand="(\014)" diff --git a/Master/xemtex/gslib/bjc610b8.upp b/Master/xemtex/gslib/bjc610b8.upp new file mode 100644 index 00000000000..c0f036602eb --- /dev/null +++ b/Master/xemtex/gslib/bjc610b8.upp @@ -0,0 +1,44 @@ +-supModel="Canon BJC 610, 720x720DpI, high resolution paper, color, rendered" +-sDEVICE=uniprint +-dNOPAUSE +-dSAFER +-dupColorModel=/DeviceCMYK +-dupRendering=/ErrorDiffusion +-dupOutputFormat=/Canon +-r720x720 +-dupMargins="{ 8.23 20.44 11.05 7.9 }" +-dupOutputComponentOrder="{ 3 2 1 0 }" +-dupBlackTransfer="{ +0.0000 0.0008 0.0033 0.0075 0.0133 0.0208 0.0300 0.0408 +0.0533 0.0674 0.0832 0.1007 0.1199 0.1407 0.1632 0.1873 +0.2131 0.2406 0.2697 0.3005 0.3330 0.3671 0.4029 0.4404 +0.4795 0.5203 0.5627 0.6069 0.6527 0.7001 0.7492 0.8000 +}" +-dupCyanTransfer="{ +0.0000 0.0005 0.0021 0.0047 0.0083 0.0130 0.0187 0.0255 +0.0333 0.0421 0.0520 0.0630 0.0749 0.0879 0.1020 0.1171 +0.1332 0.1504 0.1686 0.1878 0.2081 0.2294 0.2518 0.2752 +0.2997 0.3252 0.3517 0.3793 0.4079 0.4376 0.4683 0.5000 +}" +-dupMagentaTransfer="{ +0.0000 0.0005 0.0021 0.0047 0.0083 0.0130 0.0187 0.0255 +0.0333 0.0421 0.0520 0.0630 0.0749 0.0879 0.1020 0.1171 +0.1332 0.1504 0.1686 0.1878 0.2081 0.2294 0.2518 0.2752 +0.2997 0.3252 0.3517 0.3793 0.4079 0.4376 0.4683 0.5000 +}" +-dupYellowTransfer="{ +0.0000 0.0005 0.0021 0.0047 0.0083 0.0130 0.0187 0.0255 +0.0333 0.0421 0.0520 0.0630 0.0749 0.0879 0.1020 0.1171 +0.1332 0.1504 0.1686 0.1878 0.2081 0.2294 0.2518 0.2752 +0.2997 0.3252 0.3517 0.3793 0.4079 0.4376 0.4683 0.5000 +}" +-dupBeginPageCommand="< + 1b5b4b 0200 000f + 1b28 62 0100 01 + 1b28 63 0300 107110 + 1b28 64 0200 02d0 + 1b28 6c 0200 14a0 + 1b28 67 0100 E5 +>" +-dupEndJobCommand="(\033\050b\001\000\000\033@)" +-dupEndPageCommand="(\014)" diff --git a/Master/xemtex/gslib/caption.ps b/Master/xemtex/gslib/caption.ps new file mode 100644 index 00000000000..81a11c01a01 --- /dev/null +++ b/Master/xemtex/gslib/caption.ps @@ -0,0 +1,57 @@ +%! +% Copyright (C) 1995 Aladdin Enterprises. All rights reserved. +% +% This program is free software; you can redistribute it and/or modify it +% under the terms of the GNU General Public License as published by the +% Free Software Foundation; either version 2 of the License, or (at your +% option) any later version. +% +% This program is distributed in the hope that it will be useful, but +% WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +% Public License for more details. +% +% You should have received a copy of the GNU General Public License along +% with this program; if not, write to the Free Software Foundation, Inc., +% 59 Temple Place, Suite 330, Boston, MA, 02111-1307. + +% $Id: caption.ps,v 1.2.6.1.2.1 2003/04/12 14:02:38 giles Exp $ +% Add a "caption" to the bottom of each page. +/captionsize 20 def +/caption + { /Helvetica //captionsize selectfont + (Printed by Aladdin's XXYYZZ) show + /Symbol //captionsize selectfont + (\324) show % trademarkserif + /Helvetica //captionsize selectfont + ( product) show + } bind def + +10 dict begin +gsave + initgraphics + clippath pathbbox + pop exch 36 add /by exch def + % We can't use stringwidth, so we have to show and measure. + gsave + 0 0 0 0 rectclip + 0 0 moveto caption currentpoint pop /bw exch def + grestore + add bw sub 2 div /bx exch def + % We don't have the font bbox available, so we guess. + /bh captionsize 1.05 mul def +grestore +/showcaption + { gsave + initgraphics + //bx 9 sub //by 9 sub //bw 18 add //bh 18 add + 1 setgray 4 copy rectfill 0 setgray 1.5 setlinewidth rectstroke + //bx //by moveto //caption exec + grestore + } bind def +<< /EndPage [ + /showcaption load /exec load + currentpagedevice /EndPage get /exec load + ] cvx +>> setpagedevice +end diff --git a/Master/xemtex/gslib/cbjc600.ppd b/Master/xemtex/gslib/cbjc600.ppd new file mode 100644 index 00000000000..fcd0a4d3469 --- /dev/null +++ b/Master/xemtex/gslib/cbjc600.ppd @@ -0,0 +1,404 @@ +*PPD-Adobe: "4.1" +*% Adobe Systems PostScript(R) Printer Description File +*% Copyright 1995 Yves Arrouye for AFPL Ghostscript with Level 2 PS. +*% All Rights Reserved. +*% This file may be distributed as part of GNU Ghostscript and/or AFPL +*% Ghostscript, under the same terms and conditions as Ghostscript. +*% End of Copyright statement +*FormatVersion: "4.1" +*FileVersion: "1.0" +*LanguageVersion: English +*PCFileName: "CBJC600.PPD" +*Product: "(Canon Bubble Jet Color 600)" +*PSVersion: "(2010.351) 0" +*ModelName: "Canon Bubble Jet Color 600" +*NickName: "BJC-600" + +*% This file is not complete, and may lack some useful information... + +*% Note: the default transfer function should be set to Null if Ghostscript +*% exhibit a bug making magenta appear while printing in gray levels... +*% Note: if you print on A4 paper by default, change *Default values (the +*% default is Letter here). + +*% ==============Constraints ================= + +*UIConstraints: *BitsPerPixel None *ColorModel DeviceCMYK +*UIConstraints: *BitsPerPixel None *ColorModel DeviceRGB +*UIConstraints: *BitsPerPixel 16 *ColorModel DeviceRGB +*UIConstraints: *BitsPerPixel 16 *ColorModel DeviceGray +*UIConstraints: *BitsPerPixel 24 *ColorModel DeviceGray +*UIConstraints: *BitsPerPixel 32 *ColorModel DeviceRGB +*UIConstraints: *BitsPerPixel 32 *ColorModel DeviceGray + +*UIConstraints: *ColorModel DeviceCMYK *BitsPerPixel None +*UIConstraints: *ColorModel DeviceRGB *BitsPerPixel None +*UIConstraints: *ColorModel DeviceRGB *BitsPerPixel 16 +*UIConstraints: *ColorModel DeviceRGB *BitsPerPixel 32 +*UIConstraints: *ColorModel DeviceGray *BitsPerPixel 16 +*UIConstraints: *ColorModel DeviceGray *BitsPerPixel 24 +*UIConstraints: *ColorModel DeviceGray *BitsPerPixel 32 + +*% =========== Device Capabilities =============== + +*LanguageLevel: "2" +*Protocols: TBCP +*FreeVM: "2124600" +*ColorDevice: True +*DefaultColorSpace: CMYK +*FileSystem: True +*Throughput: "1" + +*Password: "()" + +*% ============Paper Size Information ============== + +*OpenUI *PageSize: PickOne +*OrderDependency: 30 AnySetup *PageSize +*DefaultPageSize: Letter +*PageSize A4: "1 dict dup /PageSize [595 842] put setpagedevice" +*PageSize A5: "1 dict dup /PageSize [421 595] put setpagedevice" +*PageSize A6: "1 dict dup /PageSize [297 421] put setpagedevice" +*PageSize A7: "1 dict dup /PageSize [210 297] put setpagedevice" +*PageSize A8: "1 dict dup /PageSize [148 210] put setpagedevice" +*PageSize A9: "1 dict dup /PageSize [105 148] put setpagedevice" +*PageSize A10: "1 dict dup /PageSize [74 105] put setpagedevice" +*PageSize B5: "1 dict dup /PageSize [501 709] put setpagedevice" +*PageSize Letter/US Letter: "1 dict dup /PageSize [612 792] put setpagedevice" +*CloseUI: *PageSize + +*OpenUI *PageRegion: PickOne +*OrderDependency: 40 AnySetup *PageRegion +*DefaultPageRegion: Letter +*PageRegion A4: "1 dict dup /PageSize [595 842] put setpagedevice" +*PageRegion A5: "1 dict dup /PageSize [421 595] put setpagedevice" +*PageRegion A6: "1 dict dup /PageSize [297 421] put setpagedevice" +*PageRegion A7: "1 dict dup /PageSize [210 297] put setpagedevice" +*PageRegion A8: "1 dict dup /PageSize [148 210] put setpagedevice" +*PageRegion A9: "1 dict dup /PageSize [105 148] put setpagedevice" +*PageRegion A10: "1 dict dup /PageSize [74 105] put setpagedevice" +*PageRegion B5: "1 dict dup /PageSize [501 709] put setpagedevice" +*PageRegion Letter/US Letter: "1 dict dup /PageSize [612 792] put setpagedevice" +*CloseUI: *PageRegion + +*DefaultImageableArea: Letter +*ImageableArea A4: "18.425196 27.096094 576.625183 833.496094" +*ImageableArea A5: "18.425196 27.096045 402.625183 586.496033" +*ImageableArea A6: "18.425196 27.096045 278.625183 412.496033" +*ImageableArea A7: "18.425196 27.096045 191.625198 288.496033" +*ImageableArea A8: "18.425196 27.096045 129.625198 201.496048" +*ImageableArea A9: "18.425196 27.096045 86.625198 139.496048" +*ImageableArea A10: "18.425196 27.096045 55.625195 96.496048" +*ImageableArea B5: "18.425196 27.096045 482.625183 700.496033" +*ImageableArea Letter/US Letter: "18.425196 27.096045 593.625183 783.496033" + +*?ImageableArea: " +save + /cvp {( ) cvs print ( ) print } bind def + /upperright {10000 mul floor 10000 div} bind def + /lowerleft {10000 mul ceiling 10000 div} bind def + newpath clippath pathbbox + 4 -2 roll exch 2 {lowerleft cvp} repeat + exch 2 {upperright cvp} repeat flush + restore +" +*End + +*PaperDimension A4: "595 842" +*PaperDimension A5: "421 595" +*PaperDimension A6: "297 421" +*PaperDimension A7: "210 297" +*PaperDimension A8: "148 210" +*PaperDimension A9: "105 148" +*PaperDimension A10: "74 105" +*PaperDimension B5: "501 709" +*PaperDimension Letter/US Letter: "612 792" + +*HWMargins: "9.637794495 27.042521 9.637794495 8.503937" + +*% =============Halftone Information =============== + +*ScreenFreq: "60.0" +*ScreenAngle: "45.0" + +*DefaultScreenProc: Dot +*ScreenProc Dot: " +{dup mul exch dup mul add 1.0 exch sub } +" +*End +*ScreenProc Line: "{ pop }" +*ScreenProc Ellipse: "{ dup 5 mul 8 div mul exch dup mul exch add sqrt 1 exch sub }" + +*DefaultTransfer: Normalized +*Transfer Normalized: "{mark +1.0 1.000 0.955 0.915 0.847 0.765 0.683 0.602 0.500 0.311 0.030 0.0 +counttomark dup 3 add -1 roll exch +2 sub mul dup floor cvi dup 3 1 roll sub exch dup +3 add index exch 2 add index dup 4 1 roll sub mul add +counttomark 1 add 1 roll cleartomark +} bind" +*End +*Transfer Null: "{ }" +*Transfer Null.Inverse: "{ 1 exch sub }" +*End + +*%==================Input Slot==================== + +*OpenUI *InputSlot/Media Source: PickOne +*OrderDependency: 20 AnySetup *InputSlot +*DefaultInputSlot: Feeder +*InputSlot Feeder/Paper Tray: "" +*CloseUI: *InputSlot + +*%=================Manual Feed==================== + +*OpenUI *ManualFeed/Manual Feed: Boolean +*OrderDependency: 20 AnySetup *ManualFeed +*DefaultManualFeed: False +*ManualFeed True/True: "1 dict dup /ManualFeed true put setpagedevice" +*ManualFeed False/False: "1 dict dup /ManualFeed false put setpagedevice" +*?ManualFeed: " + save + currentpagedevice /ManualFeed get + {(True)}{(False)}ifelse = flush + restore" +*End + +*CloseUI: *ManualFeed + +*%===================Resolution==================== + +*OpenUI *Resolution/Resolution: PickOne +*OrderDependency: 10 AnySetup *Resolution +*DefaultResolution: 360x360dpi +*Resolution 90x90dpi/90dpi: " + 1 dict dup /HWResolution [ 90 90 ] + put setpagedevice" +*End + +*Resolution 180x180dpi/180dpi: " + 1 dict dup /HWResolution [ 180 180 ] + put setpagedevice" +*End + +*Resolution 360x360dpi/360dpi: " + 1 dict dup /HWResolution [ 360 360 ] + put setpagedevice" +*End + +*?Resolution: " + save + currentpagedevice /HWResolution get dup + 0 get cvi 10 string cvs print + (x) print + 0 get cvi 10 string print + (dpi) = flush + restore" +*End + +*CloseUI: *Resolution + +*%===================Output Depth==================== + +*OpenUI *BitsPerPixel/Print Depth: PickOne +*OrderDependency: 30 AnySetup *BitsPerPixel +*DefaultBitsPerPixel: 24 +*BitsPerPixel None/1bpp: " + 1 dict dup /BitsPerPixel 1 put + setpagedevice" +*End + +*BitsPerPixel 8/8bpp: " + 1 dict dup /BitsPerPixel 8 put + setpagedevice" +*End + +*BitsPerPixel 16/16bpp: " + 1 dict dup /BitsPerPixel 16 put + setpagedevice" +*End + +*BitsPerPixel 24/24bpp: " + 1 dict dup /BitsPerPixel 24 put + setpagedevice" +*End + +*BitsPerPixel 32/32bpp: " + 1 dict dup /BitsPerPixel 32 put + setpagedevice" +*End + +*?BitsPerPixel: " + save + currentpagedevice /BitsPerPixel get dup 1 eq { pop (None) } if = flush + restore" +*End + +*CloseUI: *BitsPerPixel + +*%=================Media Type============================ + +*OpenUI *MediaType/Media Type: PickOne +*OrderDependency: 50 AnySetup *MediaType +*DefaultMediaType: PlainPaper +*MediaType PlainPaper/Plain Paper: " + 1 dict dup /MediaType (PlainPaper) put setpagedevice" +*End + +*MediaType CoatedPaper/Coated Paper: " + 1 dict dup /MediaType (CoatedPaper) put setpagedevice" +*End + +*MediaType TransparencyFilm/Transparency Film: " + 1 dict dup /MediaType (TransparencyFilm) put setpagedevice" +*End + +*MediaType Envelope/Envelope: " + 1 dict dup /MediaType (Envelope) put setpagedevice" +*End + +*MediaType Card/Card: " + 1 dict dup /MediaType (Card) put setpagedevice" +*End + +*MediaType Other/Other: " + 1 dict dup /MediaType (Other) put setpagedevice" +*End + +*?MediaType: " + save + currentpagedevice /MediaType get + dup null eq {pop (Unknown)} if = flush + restore " +*End + +*CloseUI: *MediaType + +*%===================Printing Quality==================== + +*OpenUI *OutputMode/Print Quality: PickOne +*OrderDependency: 50 AnySetup *OuputMode +*DefaultOutputMode: Normal +*OutputMode Draft/Draft: " + 1 dict dup /PrintQuality (Draft) put setpagedevice" +*End + +*OutputMode Normal/Normal: " + 1 dict dup /PrintQuality (Normal) put setpagedevice" +*End + +*OutputMode High/High: " + 1 dict dup /PrintQuality (High) put setpagedevice" +*End + +*?OutputMode: " + save + currentpagedevice /PrintQuality get + dup null eq {pop (Unknown)} if = flush + restore " +*End + +*CloseUI: *OutputMode + +*%===================Color/Gray Printing==================== + +*OpenUI *ColorModel/Color Processing: PickOne +*OrderDependency: 20 AnySetup *ColorModel +*DefaultColorModel: DeviceCMYK +*ColorModel DeviceGray/Gray: " + 1 dict dup /ProcessColorModel /DeviceGray + put setpagedevice" +*End + +*ColorModel DeviceRGB/RGB: " + 1 dict dup /ProcessColorModel /DeviceRGB + put setpagedevice" +*End + +*ColorModel DeviceCMYK/CMYK: " + 1 dict dup /ProcessColorModel /DeviceCMYK + put setpagedevice" +*End + +*?ColorModel: " + save + currentpagedevice /ProcessColorModel get = flush + restore " +*End + +*CloseUI: *ColorModel + +*%===================Media Weight/Thick Media==================== + +*OpenUI *ThickMedia/Thick Media: PickOne +*OrderDependency: 30 AnySetup *ThickMedia +*Default ThickMedia: Thin +*ThickMedia Thin/No: " + 1 dict dup /MediaWeight 80 + put setpagedevice" +*End + +*ThickMedia Thick/Yes: " + 1 dict dup /ThickMedia 120 + put setpagedevice" +*End + +*?ThickMedia: " + save + currentpagedevice /MediaWeight get 105 gt { (Thick) } { (Thin) } ifelse + = flush + restore " +*End + +*CloseUI: *ThickMedia + +*%===================PrintColors==================== + +*OpenUI *PrintColors/Print Colors: PickOne +*OrderDependency: 20 AnySetup *PrintColors +*DefaultPrintColors: "15" +*PrintColors 0/None: "1 dict dup /PrintColors 0 put setpagedevice" +*End + +*PrintColors 1/Cyan: "1 dict dup /PrintColors 1 put setpagedevice" +*End + +*PrintColors 2/Magenta: "1 dict dup /PrintColors 2 put setpagedevice" +*End + +*PrintColors 4/Yellow: "1 dict dup /PrintColors 4 put setpagedevice" +*End + +*PrintColors 8/Black: "1 dict dup /PrintColors 8 put setpagedevice" +*End + +*PrintColors 15/All: "1 dict dup /PrintColors 15 put setpagedevice" +*End + + +*CloseUI *PrintColors + +*%===================Monochrome Printing==================== + +*OpenUI *MonochromePrint/Monochrome Print: Boolean +*OrderDependency: 50 AnySetup *MonochromePrint +*DefaultMonochromePrint: False +*MonochromePrint True/Yes: " + 1 dict dup /MonochromePrint true + put setpagedevice" +*End + +*MonochromePrint False/No: " + 1 dict dup /MonochromePrint false + put setpagedevice" +*End + +*?MonochromePrint: " + save + currentpagedevice /MonochromePrint get + {(True)}{(False)}ifelse = flush + restore" +*End + +*CloseUI: *MonochromePrint + diff --git a/Master/xemtex/gslib/cbjc800.ppd b/Master/xemtex/gslib/cbjc800.ppd new file mode 100644 index 00000000000..d919bd9ed37 --- /dev/null +++ b/Master/xemtex/gslib/cbjc800.ppd @@ -0,0 +1,389 @@ +*PPD-Adobe: "4.1" +*% Adobe Systems PostScript(R) Printer Description File +*% Copyright 1995 Yves Arrouye for AFPL Ghostscript with Level 2 PS. +*% All Rights Reserved. +*% This file may be distributed as part of GNU Ghostscript and/or AFPL +*% Ghostscript, under the same terms and conditions as Ghostscript. +*% End of Copyright statement +*FormatVersion: "4.1" +*FileVersion: "1.0" +*LanguageVersion: English +*PCFileName: "CBJC800.PPD" +*Product: "(Canon Bubble Jet Color 800)" +*PSVersion: "(2010.351) 0" +*ModelName: "Canon Bubble Jet Color 800" +*NickName: "BJC-800" + +*% This file is not complete, and may lack some useful information... + +*% Note: the default transfer function should be set to Null if Ghostscript +*% exhibit a bug making magenta appear while printing in gray levels... +*% Note: if you print on A4 paper by default, change *Default values (the +*% default is Letter here). + +*% ==============Constraints ================= + +*UIConstraints: *BitsPerPixel None *ColorModel DeviceCMYK +*UIConstraints: *BitsPerPixel None *ColorModel DeviceRGB +*UIConstraints: *BitsPerPixel 16 *ColorModel DeviceRGB +*UIConstraints: *BitsPerPixel 16 *ColorModel DeviceGray +*UIConstraints: *BitsPerPixel 24 *ColorModel DeviceGray +*UIConstraints: *BitsPerPixel 32 *ColorModel DeviceRGB +*UIConstraints: *BitsPerPixel 32 *ColorModel DeviceGray + +*UIConstraints: *ColorModel DeviceCMYK *BitsPerPixel None +*UIConstraints: *ColorModel DeviceRGB *BitsPerPixel None +*UIConstraints: *ColorModel DeviceRGB *BitsPerPixel 16 +*UIConstraints: *ColorModel DeviceRGB *BitsPerPixel 32 +*UIConstraints: *ColorModel DeviceGray *BitsPerPixel 16 +*UIConstraints: *ColorModel DeviceGray *BitsPerPixel 24 +*UIConstraints: *ColorModel DeviceGray *BitsPerPixel 32 + +*% =========== Device Capabilities =============== + +*LanguageLevel: "2" +*Protocols: TBCP +*FreeVM: "2124600" +*ColorDevice: True +*DefaultColorSpace: CMYK +*FileSystem: True +*Throughput: "1" + +*Password: "()" + +*% ============Paper Size Information ============== + +*OpenUI *PageSize: PickOne +*OrderDependency: 30 AnySetup *PageSize +*DefaultPageSize: Letter +*PageSize A4: "1 dict dup /PageSize [595 842] put setpagedevice" +*PageSize A5: "1 dict dup /PageSize [421 595] put setpagedevice" +*PageSize A6: "1 dict dup /PageSize [297 421] put setpagedevice" +*PageSize A7: "1 dict dup /PageSize [210 297] put setpagedevice" +*PageSize A8: "1 dict dup /PageSize [148 210] put setpagedevice" +*PageSize A9: "1 dict dup /PageSize [105 148] put setpagedevice" +*PageSize A10: "1 dict dup /PageSize [74 105] put setpagedevice" +*PageSize B5: "1 dict dup /PageSize [501 709] put setpagedevice" +*PageSize Letter/US Letter: "1 dict dup /PageSize [612 792] put setpagedevice" +*PageSize 11x17/US 11x17: "1 dict dup /PageSize [792 1224] put setpagedevice" +*PageSize Ledger/US Ledger: "1 dict dup /PageSize [1224 792] put setpagedevice" +*PageSize Legal/US Legal: "1 dict dup /PageSize [612 1008] put setpagedevice" +*CloseUI: *PageSize + +*OpenUI *PageRegion: PickOne +*OrderDependency: 40 AnySetup *PageRegion +*DefaultPageRegion: Letter +*PageRegion A4: "1 dict dup /PageSize [595 842] put setpagedevice" +*PageRegion A5: "1 dict dup /PageSize [421 595] put setpagedevice" +*PageRegion A6: "1 dict dup /PageSize [297 421] put setpagedevice" +*PageRegion A7: "1 dict dup /PageSize [210 297] put setpagedevice" +*PageRegion A8: "1 dict dup /PageSize [148 210] put setpagedevice" +*PageRegion A9: "1 dict dup /PageSize [105 148] put setpagedevice" +*PageRegion A10: "1 dict dup /PageSize [74 105] put setpagedevice" +*PageRegion B5: "1 dict dup /PageSize [501 709] put setpagedevice" +*PageRegion Letter/US Letter: "1 dict dup /PageSize [612 792] put setpagedevice" +*PageRegion 11x17/US 11x17: "1 dict dup /PageSize [792 1224] put setpagedevice" +*PageRegion Ledger/US Ledger: "1 dict dup /PageSize [1224 792] put setpagedevice" +*PageRegion Legal/US Legal: "1 dict dup /PageSize [612 1008] put setpagedevice" +*CloseUI: *PageRegion + +*DefaultImageableArea: Letter +*ImageableArea A3: "9.637793 27.096094 832.437805 1181.496094" +*ImageableArea A4: "18.425196 27.096094 576.625183 833.496094" +*ImageableArea A5: "18.425196 27.096045 402.625183 586.496033" +*ImageableArea A6: "18.425196 27.096045 278.625183 412.496033" +*ImageableArea A7: "18.425196 27.096045 191.625198 288.496033" +*ImageableArea A8: "18.425196 27.096045 129.625198 201.496048" +*ImageableArea A9: "18.425196 27.096045 86.625198 139.496048" +*ImageableArea A10: "18.425196 27.096045 55.625195 96.496048" +*ImageableArea B5: "18.425196 27.096045 482.625183 700.496033" +*ImageableArea Letter/US Letter: "18.425196 27.096045 593.625183 783.496033" +*ImageableArea 11x17/US 11x17: "9.637793 27.096094 782.437805 1215.496094" +*ImageableArea Ledger/US Ledger: "9.637793 27.096045 1214.437744 783.496033" +*ImageableArea Legal/US Legal: "9.637793 27.096094 602.437805 999.496094" + +*?ImageableArea: " +save + /cvp {( ) cvs print ( ) print } bind def + /upperright {10000 mul floor 10000 div} bind def + /lowerleft {10000 mul ceiling 10000 div} bind def + newpath clippath pathbbox + 4 -2 roll exch 2 {lowerleft cvp} repeat + exch 2 {upperright cvp} repeat flush + restore +" +*End + +*PaperDimension A4: "595 842" +*PaperDimension A5: "421 595" +*PaperDimension A6: "297 421" +*PaperDimension A7: "210 297" +*PaperDimension A8: "148 210" +*PaperDimension A9: "105 148" +*PaperDimension A10: "74 105" +*PaperDimension B5: "501 709" +*PaperDimension Letter/US Letter: "612 792" +*PaperDimension 11x17/US 11x17: "792 1224" +*PaperDimension Ledger/US Ledger: "1224 792" +*PaperDimension Legal/US Legal: "612 1008" + +*HWMargins: "9.637794495 19.842518 9.637794495 8.503937" + +*% =============Halftone Information =============== + +*ScreenFreq: "60.0" +*ScreenAngle: "45.0" + +*DefaultScreenProc: Dot +*ScreenProc Dot: " +{dup mul exch dup mul add 1.0 exch sub } +" +*End +*ScreenProc Line: "{ pop }" +*ScreenProc Ellipse: "{ dup 5 mul 8 div mul exch dup mul exch add sqrt 1 exch sub }" + +*DefaultTransfer: Normalized +*Transfer Normalized: "{mark +1.0 1.000 0.955 0.915 0.847 0.765 0.683 0.602 0.500 0.311 0.030 0.0 +counttomark dup 3 add -1 roll exch +2 sub mul dup floor cvi dup 3 1 roll sub exch dup +3 add index exch 2 add index dup 4 1 roll sub mul add +counttomark 1 add 1 roll cleartomark +} bind" +*End +*Transfer Null: "{ }" +*Transfer Null.Inverse: "{ 1 exch sub }" +*End + +*%==================Input Slot==================== + +*OpenUI *InputSlot/Media Source: PickOne +*OrderDependency: 20 AnySetup *InputSlot +*DefaultInputSlot: Feeder +*InputSlot Feeder/Paper Tray: "" +*CloseUI: *InputSlot + +*%=================Manual Feed==================== + +*OpenUI *ManualFeed/Manual Feed: Boolean +*OrderDependency: 20 AnySetup *ManualFeed +*DefaultManualFeed: False +*ManualFeed True/True: "1 dict dup /ManualFeed true put setpagedevice" +*ManualFeed False/False: "1 dict dup /ManualFeed false put setpagedevice" +*?ManualFeed: " + save + currentpagedevice /ManualFeed get + {(True)}{(False)}ifelse = flush + restore" +*End + +*CloseUI: *ManualFeed + +*%===================Resolution==================== + +*OpenUI *Resolution/Resolution: PickOne +*OrderDependency: 10 AnySetup *Resolution +*DefaultResolution: 360x360dpi +*Resolution 90x90dpi/90dpi: " + 1 dict dup /HWResolution [ 90 90 ] + put setpagedevice" +*End + +*Resolution 180x180dpi/180dpi: " + 1 dict dup /HWResolution [ 180 180 ] + put setpagedevice" +*End + +*Resolution 360x360dpi/360dpi: " + 1 dict dup /HWResolution [ 360 360 ] + put setpagedevice" +*End + +*?Resolution: " + save + currentpagedevice /HWResolution get dup + 0 get cvi 10 string cvs print + (x) print + 0 get cvi 10 string print + (dpi) = flush + restore" +*End + +*CloseUI: *Resolution + +*%===================Output Depth==================== + +*OpenUI *BitsPerPixel/Print Depth: PickOne +*OrderDependency: 30 AnySetup *BitsPerPixel +*DefaultBitsPerPixel: 24 +*BitsPerPixel None/1bpp: " + 1 dict dup /BitsPerPixel 1 put + setpagedevice" +*End + +*BitsPerPixel 8/8bpp: " + 1 dict dup /BitsPerPixel 8 put + setpagedevice" +*End + +*BitsPerPixel 16/16bpp: " + 1 dict dup /BitsPerPixel 16 put + setpagedevice" +*End + +*BitsPerPixel 24/24bpp: " + 1 dict dup /BitsPerPixel 24 put + setpagedevice" +*End + +*BitsPerPixel 32/32bpp: " + 1 dict dup /BitsPerPixel 32 put + setpagedevice" +*End + +*?BitsPerPixel: " + save + currentpagedevice /BitsPerPixel get dup 1 eq { pop (None) } if = flush + restore" +*End + +*CloseUI: *BitsPerPixel + +*%=================Media Type============================ + +*OpenUI *MediaType/Media Type: PickOne +*OrderDependency: 50 AnySetup *MediaType +*DefaultMediaType: PlainPaper +*MediaType PlainPaper/Plain Paper: " + 1 dict dup /MediaType (PlainPaper) put setpagedevice" +*End + +*MediaType CoatedPaper/Coated Paper: " + 1 dict dup /MediaType (CoatedPaper) put setpagedevice" +*End + +*MediaType TransparencyFilm/Transparency Film: " + 1 dict dup /MediaType (TransparencyFilm) put setpagedevice" +*End + +*MediaType Envelope/Envelope: " + 1 dict dup /MediaType (Envelope) put setpagedevice" +*End + +*MediaType Card/Card: " + 1 dict dup /MediaType (Card) put setpagedevice" +*End + +*MediaType Other/Other: " + 1 dict dup /MediaType (Other) put setpagedevice" +*End + +*?MediaType: " + save + currentpagedevice /MediaType get + dup null eq {pop (Unknown)} if = flush + restore " +*End + +*CloseUI: *MediaType + +*%===================Printing Quality==================== + +*OpenUI *OutputMode/Print Quality: PickOne +*OrderDependency: 10 AnySetup *OuputMode +*DefaultOutputMode: Normal +*OutputMode Draft/Draft: " + 1 dict dup /PrintQuality (Draft) put setpagedevice" +*End + +*OutputMode Low/Low: " + 1 dict dup /PrintQuality (Low) put setpagedevice" +*End + +*OutputMode Normal/Normal: " + 1 dict dup /PrintQuality (Normal) put setpagedevice" +*End + +*OutputMode High/High: " + 1 dict dup /PrintQuality (High) put setpagedevice" +*End + +*CloseUI: *OutputMode + +*%===================Color/Gray Printing==================== + +*OpenUI *ColorModel/Color Processing: PickOne +*OrderDependency: 20 AnySetup *ColorModel +*DefaultColorModel: DeviceCMYK +*ColorModel DeviceGray/Gray: " + 1 dict dup /ProcessColorModel /DeviceGray + put setpagedevice" +*End + +*ColorModel DeviceRGB/RGB: " + 1 dict dup /ProcessColorModel /DeviceRGB + put setpagedevice" +*End + +*ColorModel DeviceCMYK/CMYK: " + 1 dict dup /ProcessColorModel /DeviceCMYK + put setpagedevice" +*End + +*?ColorModel: " + save + currentpagedevice /ProcessColorModel get = flush + restore " +*End + +*CloseUI: *ColorModel + +*%===================Media Weight/Thick Media==================== + +*OpenUI *ThickMedia/Thick Media: PickOne +*OrderDependency: 30 AnySetup *ThickMedia +*Default ThickMedia: Thin +*ThickMedia Thin/No: " + 1 dict dup /MediaWeight 80 + put setpagedevice" +*End + +*ThickMedia Thick/Yes: " + 1 dict dup /ThickMedia 120 + put setpagedevice" +*End + +*?ThickMedia: " + save + currentpagedevice /MediaWeight get 105 gt { (Thick) } { (Thin) } ifelse + = flush + restore " +*End + +*CloseUI: *ThickMedia + +*%===================PrintColors==================== + +*OpenUI *PrintColors/Print Colors: PickOne +*OrderDependency: 20 AnySetup *PrintColors +*DefaultPrintColors: "15" +*PrintColors 0/None: "1 dict dup /PrintColors 0 put setpagedevice" +*End + +*PrintColors 1/Cyan: "1 dict dup /PrintColors 1 put setpagedevice" +*End + +*PrintColors 2/Magenta: "1 dict dup /PrintColors 2 put setpagedevice" +*End + +*PrintColors 4/Yellow: "1 dict dup /PrintColors 4 put setpagedevice" +*End + +*PrintColors 8/Black: "1 dict dup /PrintColors 8 put setpagedevice" +*End + +*PrintColors 15/All: "1 dict dup /PrintColors 15 put setpagedevice" +*End + + +*CloseUI *PrintColors diff --git a/Master/xemtex/gslib/cdj550.upp b/Master/xemtex/gslib/cdj550.upp new file mode 100644 index 00000000000..51aa264f65e --- /dev/null +++ b/Master/xemtex/gslib/cdj550.upp @@ -0,0 +1,48 @@ +-supModel="HP Deskjet 550c, 300x300DpI, Gamma=2" +-sDEVICE=uniprint +-dNOPAUSE +-dSAFER +-dupColorModel=/DeviceCMYK +-dupRendering=/ErrorDiffusion +-dupOutputFormat=/Pcl +-r300x300 +-dupMargins="{ 12.0 36.0 12.0 12.0}" +-dupBlackTransfer="{ + 0.0000 0.0010 0.0042 0.0094 0.0166 0.0260 0.0375 0.0510 + 0.0666 0.0843 0.1041 0.1259 0.1498 0.1758 0.2039 0.2341 + 0.2663 0.3007 0.3371 0.3756 0.4162 0.4589 0.5036 0.5505 + 0.5994 0.6504 0.7034 0.7586 0.8158 0.8751 0.9365 1.0000 +}" +-dupCyanTransfer="{ + 0.0000 0.0010 0.0042 0.0094 0.0166 0.0260 0.0375 0.0510 + 0.0666 0.0843 0.1041 0.1259 0.1498 0.1758 0.2039 0.2341 + 0.2663 0.3007 0.3371 0.3756 0.4162 0.4589 0.5036 0.5505 + 0.5994 0.6504 0.7034 0.7586 0.8158 0.8751 0.9365 1.0000 +}" +-dupMagentaTransfer="{ + 0.0000 0.0010 0.0042 0.0094 0.0166 0.0260 0.0375 0.0510 + 0.0666 0.0843 0.1041 0.1259 0.1498 0.1758 0.2039 0.2341 + 0.2663 0.3007 0.3371 0.3756 0.4162 0.4589 0.5036 0.5505 + 0.5994 0.6504 0.7034 0.7586 0.8158 0.8751 0.9365 1.0000 +}" +-dupYellowTransfer="{ + 0.0000 0.0010 0.0042 0.0094 0.0166 0.0260 0.0375 0.0510 + 0.0666 0.0843 0.1041 0.1259 0.1498 0.1758 0.2039 0.2341 + 0.2663 0.3007 0.3371 0.3756 0.4162 0.4589 0.5036 0.5505 + 0.5994 0.6504 0.7034 0.7586 0.8158 0.8751 0.9365 1.0000 +}" +-dupBeginPageCommand="< + 1b2a726243 + 1b2a7433303052 + 1b266c33616f6c45 + 1b2a6f31643251 + 1b2a703059 + 1b2a72732d34753041 + 1b2a62326d +>" +-dupAdjustPageWidthCommand +-dupEndPageCommand="(0M\033*rbC\033E\033&l0H)" +-dupAbortCommand="(0M\033*rbC\033E\15\12\12\12\12 Printout-Aborted\15\033&l0H)" +-dupYMoveCommand="(%dy\0)" +-dupWriteComponentCommands="{ (%dv\0) (%dv\0) (%dv\0) (%dw\0) }" + diff --git a/Master/xemtex/gslib/cdj690.upp b/Master/xemtex/gslib/cdj690.upp new file mode 100644 index 00000000000..0ec8ea70893 --- /dev/null +++ b/Master/xemtex/gslib/cdj690.upp @@ -0,0 +1,52 @@ +-supModel="HP Deskjet 690 Normal Gamma 2.0" +-sDEVICE=uniprint +-dNOPAUSE +-dSAFER +-dupColorModel=/DeviceCMYK +-dupRendering=/ErrorDiffusion +-dupOutputFormat=/Pcl +-r600x300 +-dupMargins="{ 12.0 36.0 12.0 12.0}" +-dupBlackTransfer="{ + 0.0000 0.0010 0.0042 0.0094 0.0166 0.0260 0.0375 0.0510 + 0.0666 0.0843 0.1041 0.1259 0.1498 0.1758 0.2039 0.2341 + 0.2663 0.3007 0.3371 0.3756 0.4162 0.4589 0.5036 0.5505 + 0.5994 0.6504 0.7034 0.7586 0.8158 0.8751 0.9365 1.0000 +}" +-dupCyanTransfer="{ + 0.0000 0.0010 0.0042 0.0094 0.0166 0.0260 0.0375 0.0510 + 0.0666 0.0843 0.1041 0.1259 0.1498 0.1758 0.2039 0.2341 + 0.2663 0.3007 0.3371 0.3756 0.4162 0.4589 0.5036 0.5505 + 0.5994 0.6504 0.7034 0.7586 0.8158 0.8751 0.9365 1.0000 +}" +-dupMagentaTransfer="{ + 0.0000 0.0010 0.0042 0.0094 0.0166 0.0260 0.0375 0.0510 + 0.0666 0.0843 0.1041 0.1259 0.1498 0.1758 0.2039 0.2341 + 0.2663 0.3007 0.3371 0.3756 0.4162 0.4589 0.5036 0.5505 + 0.5994 0.6504 0.7034 0.7586 0.8158 0.8751 0.9365 1.0000 +}" +-dupYellowTransfer="{ + 0.0000 0.0010 0.0042 0.0094 0.0166 0.0260 0.0375 0.0510 + 0.0666 0.0843 0.1041 0.1259 0.1498 0.1758 0.2039 0.2341 + 0.2663 0.3007 0.3371 0.3756 0.4162 0.4589 0.5036 0.5505 + 0.5994 0.6504 0.7034 0.7586 0.8158 0.8751 0.9365 1.0000 +}" +-dupBeginPageCommand="< +1b25 2d31 3233 3435 5840 +504a 4c20 454e 5445 5220 4c41 4e47 5541 +4745 3d50 434c 534c 4545 4b0a 1b45 1b2a +6232 421b 2a6f 3557 040c 0000 001b 2a6f +3144 1b26 6c31 481b 266c 3236 6130 4c1b +2a6f 3557 0103 0000 011b 266c 304d 1b26 +6c30 6f30 451b 2a6f 304d 1b26 7533 3030 +441b 2a70 3058 1b2a 7030 591b 2a67 3857 +0201 0258 012c 0002 1b2a 7234 3830 3053 +1b2a 7231 411b 2a62 324d 1b2a 6233 3034 +591b 2a62 326d +>" +-dupAdjustPageWidthCommand +-dupEndPageCommand="(0M\033*rbC\033E\033&l0H)" +-dupAbortCommand="(0M\033*rbC\033E\15\12\12\12\12 Printout-Aborted\15\033&l0H)" +-dupYMoveCommand="(%dy\0)" +-dupWriteComponentCommands="{ (%dv\0) (%dv\0) (%dv\0) (%dw\0) }" +-dupOutputYOffset=10000 diff --git a/Master/xemtex/gslib/cdj690ec.upp b/Master/xemtex/gslib/cdj690ec.upp new file mode 100644 index 00000000000..13e03964956 --- /dev/null +++ b/Master/xemtex/gslib/cdj690ec.upp @@ -0,0 +1,54 @@ +-supModel="HP Deskjet 690 Econo-Fast Gamma 2.0" +-sDEVICE=uniprint +-sPAPERSIZE=a4 +-dNOPAUSE +-dSAFER +-dupColorModel=/DeviceCMYK +-dupRendering=/ErrorDiffusion +-dupOutputFormat=/Pcl +-r300x300 + +-dupOutputYOffset=300 +-dupMargins="{ 0.0 36.0 12.0 12.0}" +-dupBlackTransfer="{ + 0.0000 0.0010 0.0042 0.0094 0.0166 0.0260 0.0375 0.0510 + 0.0666 0.0843 0.1041 0.1259 0.1498 0.1758 0.2039 0.2341 + 0.2663 0.3007 0.3371 0.3756 0.4162 0.4589 0.5036 0.5505 + 0.5994 0.6504 0.7034 0.7586 0.8158 0.8751 0.9365 1.0000 +}" +-dupCyanTransfer="{ + 0.0000 0.0010 0.0042 0.0094 0.0166 0.0260 0.0375 0.0510 + 0.0666 0.0843 0.1041 0.1259 0.1498 0.1758 0.2039 0.2341 + 0.2663 0.3007 0.3371 0.3756 0.4162 0.4589 0.5036 0.5505 + 0.5994 0.6504 0.7034 0.7586 0.8158 0.8751 0.9365 1.0000 +}" +-dupMagentaTransfer="{ + 0.0000 0.0010 0.0042 0.0094 0.0166 0.0260 0.0375 0.0510 + 0.0666 0.0843 0.1041 0.1259 0.1498 0.1758 0.2039 0.2341 + 0.2663 0.3007 0.3371 0.3756 0.4162 0.4589 0.5036 0.5505 + 0.5994 0.6504 0.7034 0.7586 0.8158 0.8751 0.9365 1.0000 +}" +-dupYellowTransfer="{ + 0.0000 0.0010 0.0042 0.0094 0.0166 0.0260 0.0375 0.0510 + 0.0666 0.0843 0.1041 0.1259 0.1498 0.1758 0.2039 0.2341 + 0.2663 0.3007 0.3371 0.3756 0.4162 0.4589 0.5036 0.5505 + 0.5994 0.6504 0.7034 0.7586 0.8158 0.8751 0.9365 1.0000 +}" +-dupBeginPageCommand="< +1b25 2d31 3233 3435 5840 +504a 4c20 454e 5445 5220 4c41 4e47 5541 +4745 3d50 434c 534c 4545 4b0a 1b45 1b2a +6232 421b 2a6f 3557 040c 0000 001b 2a6f +3144 1b26 6c31 481b 266c 3236 6130 4c1b +2a6f 3557 0103 0000 011b 266c 304d 1b26 +6c30 6f30 451b 2a6f 2d31 4d1b 2675 3330 +3044 1b2a 7030 581b 2a70 3059 1b2a 6732 +3657 0204 012c 012c 0002 012c 012c 0002 +012c 012c 0002 012c 012c 0002 1b2a 7232 +3430 3053 1b2a 7231 411b 2a62 324d 1b2a +6231 591b 2a62 326d>" +-dupAdjustPageWidthCommand +-dupEndPageCommand="(0M\033*rbC\033E\033&l0H)" +-dupAbortCommand="(0M\033*rbC\033E\15\12\12\12\12 Printout-Aborted\15\033&l0H)" +-dupYMoveCommand="(%dy\0)" +-dupWriteComponentCommands="{ (%dv\0) (%dv\0) (%dv\0) (%dw\0) }" diff --git a/Master/xemtex/gslib/cid2code.ps b/Master/xemtex/gslib/cid2code.ps new file mode 100644 index 00000000000..48a4c28bef4 --- /dev/null +++ b/Master/xemtex/gslib/cid2code.ps @@ -0,0 +1,161 @@ +% Copyright (C) 1998, 2000 Aladdin Enterprises. All rights reserved. +% +% This program is free software; you can redistribute it and/or modify it +% under the terms of the GNU General Public License as published by the +% Free Software Foundation; either version 2 of the License, or (at your +% option) any later version. +% +% This program is distributed in the hope that it will be useful, but +% WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +% Public License for more details. +% +% You should have received a copy of the GNU General Public License along +% with this program; if not, write to the Free Software Foundation, Inc., +% 59 Temple Place, Suite 330, Boston, MA, 02111-1307. + +% $Id: cid2code.ps,v 1.3.4.1.2.1 2003/04/12 14:02:38 giles Exp $ +% Construct an inverse map from CIDs to codes. + +% Create an inverse map from CIDs to code values. +% We only use this for 16-bit Unicode, so it has some limitations. +% After invoking .cmap2code, loading a CMap file prints out the map +% instead of doing what it usually does. For example: +% +% gs -dNODISPLAY -dBATCH lib/cid2code.ps -c .cmap2code\ +% -f Resource/CMap/UniJIS-UCS2-H > mapfile + +/.cmap2codedict 10 dict begin + +/begincmap { + mark +} def +/endcmap { + % Stack: mark code_lo1 code_hi1 cid1 ... + 20 dict begin + /depth counttomark 3 sub def + % Do a first pass to determine the maximum CID. + 0 0 3 depth { + 1 add /d exch def + d index d 2 add index 1 get add d 3 add index 1 get sub .max + } for + 1 add /ncid exch def + /map ncid 2 mul string def + % Now fill in the map. + 0 3 depth { + /d exch def + d index 2 mul /cid2 exch def + d 1 add index /hi exch def + d 2 add index 2 string copy /lo exch def + lo 1 get 1 hi 1 get { + map cid2 lo 0 get put + map cid2 1 add 3 -1 roll put + /cid2 cid2 2 add def + } for + } for + % Print the map. + (%stdout) (w) file + dup (<) print + dup /ASCIIHexEncode filter + dup map writestring + closefile + () = flush + closefile + end +} def +%/begincodespacerange +/endcodespacerange {cleartomark} def +%/usecmap + +%/beginbfchar +/endbfchar {cleartomark} def +%/beginbfrange +/endbfrange {cleartomark} def + +%/begincidchar +/endcidchar { + counttomark 2 idiv { dup counttomark 1 add 3 roll } repeat pop +} def +%/begincidrange +/endcidrange { + counttomark 1 add -1 roll pop +} def + +%/beginnotdefchar +/endnotdefchar {cleartomark} def +%/beginnotdefrange +/endnotdefrange {cleartomark} def + +currentdict end readonly def + +/.cmap2code { % - .cmap2code - + /CIDInit /ProcSet findresource dup length dict copy + .cmap2codedict { 3 copy put pop pop } forall + /CIDInit exch /ProcSet defineresource pop +} def + +% Extract and print reverse mapping information from a cid2code.txt file. +/.printhex2 { % .printhex2 - + (<) print + 16#10000 add 16 =string cvrs 1 4 getinterval print + (>) print +} def +/.cid2code { % .cid2code - + 30 dict begin + /column exch def + (r) file /f exch def + (%!) = + (/CIDInit /ProcSet findresource begin 12 dict begin begincmap) = + % Print the information from the template. + { + exch ==only ( ) print + dup type /dicttype eq { + dup length =only ( dict dup begin) = { + ( ) print exch ===only ( ) print ===only ( def) = + } forall (end def) = + } { + ===only + } ifelse ( def) = + } forall + % Read the data from the cid2code.txt file. + { + f =string readline pop (CID\t) anchorsearch { pop pop exit } if pop + } loop + /map [ { + f =string readline not { pop exit } if + column { (\t) search pop pop pop } repeat + (\t) search { exch pop exch pop } if + (,) search { exch pop exch pop } if + dup length 4 ne { pop (*) } if + dup (*) eq { pop (0000) } if + (16#) exch concatstrings cvi + } loop ] def + % Print the code space range(s). + /maxcid map length 1 sub def + mark maxcid + dup 255 and 255 eq { + 0 exch + } { + dup 16#ff00 and exch 0 2 index 1 sub + } ifelse + counttomark 2 idiv dup =only ( begincodespacerange) = { + exch .printhex2 .printhex2 () = + } repeat (endcodespacerange) = + % Print the map data. + 0 1 100 maxcid { + /lo exch def + /hi lo 99 add maxcid .min def + 0 lo 1 hi { map exch get 0 ne { 1 add } if } for + dup 0 eq { + pop + } { + =only ( begincidchar) = lo 1 hi { + map 1 index get dup 0 eq { pop pop } { exch .printhex2 = } ifelse + } for (endcidchar) = + } ifelse + } for + % Wrap up. + (endcmap CMapName currentdict /CMap defineresource pop end end) = + f closefile + end +} bind def diff --git a/Master/xemtex/gslib/decrypt.ps b/Master/xemtex/gslib/decrypt.ps new file mode 100644 index 00000000000..51343a422e8 --- /dev/null +++ b/Master/xemtex/gslib/decrypt.ps @@ -0,0 +1,14 @@ +% Decrypt an eexec-encoded file. +% $Id: decrypt.ps,v 1.1.6.1 2002/04/10 09:22:58 giles Exp $ + +(t.in) (r) file /in exch def +(t.out) (w) file /out exch def +256 string /buf exch def +55665 % eexec encryption seed + { in buf readhexstring /more exch def + dup .type1decrypt out exch writestring + more not { exit } if + } loop +in closefile +out closefile +quit diff --git a/Master/xemtex/gslib/dnj750c.upp b/Master/xemtex/gslib/dnj750c.upp new file mode 100644 index 00000000000..d97bb89cd82 --- /dev/null +++ b/Master/xemtex/gslib/dnj750c.upp @@ -0,0 +1,47 @@ +-supModel="HP Designjet 750c, 300x300DpI, Gamma=2.5, CMY" +-sDEVICE=uniprint +-dNOPAUSE +-dSAFER +-dupColorModel=/DeviceRGB +-dupRendering=/ErrorDiffusion +-dupOutputFormat=/Pcl +-r300x300 +-dupMargins="{0.0 0.0 0.0 0.0}" +-dupRedTransfer="{1.0 0.921295345 0.846429467 0.775337517 0.707954228 +0.644212425 0.584044278 0.527380228 0.474149585 0.424279869 0.377697408 +0.334326446 0.294089675 0.256907612 0.222698912 0.191379622 0.162863538 +0.137061611 0.113881744 0.0932285339 0.0750028 0.0591011234 0.0454152822 +0.0338314585 0.0242292974 0.0164806321 0.0104477014 0.00598061318 0.00291339168 +0.00105723308 0.000186894162 0.0}" +-dupGreenTransfer="{1.0 0.921295345 0.846429467 0.775337517 0.707954228 +0.644212425 0.584044278 0.527380228 0.474149585 0.424279869 0.377697408 +0.334326446 0.294089675 0.256907612 0.222698912 0.191379622 0.162863538 +0.137061611 0.113881744 0.0932285339 0.0750028 0.0591011234 0.0454152822 +0.0338314585 0.0242292974 0.0164806321 0.0104477014 0.00598061318 0.00291339168 +0.00105723308 0.000186894162 0.0}" +-dupBlueTransfer="{1.0 0.921295345 0.846429467 0.775337517 0.707954228 +0.644212425 0.584044278 0.527380228 0.474149585 0.424279869 0.377697408 +0.334326446 0.294089675 0.256907612 0.222698912 0.191379622 0.162863538 +0.137061611 0.113881744 0.0932285339 0.0750028 0.0591011234 0.0454152822 +0.0338314585 0.0242292974 0.0164806321 0.0104477014 0.00598061318 0.00291339168 +0.00105723308 0.000186894162 0.0}" +-dupBeginPageCommand="<1b252d31323334355840504a4c204a4f42204e414d45203d20226773 +220d0a40504a4c20534554204d4952524f52203d204f4646200a40504a4c205345542050414c4554 +5445534f55524345203d20534f465457415245200a40504a4c205345542052454e4445524d4f4445 +203d20434f4c4f52200a40504a4c20534554205245534f4c5554494f4e203d2030200a40504a4c20 +534554205052494e5441524541203d2046554c4c53495a45200a40504a4c20534554205041504552 +4c454e475448203d2030200a40504a4c205345542050415045525749445448203d2030200a40504a +4c20534554204f5249454e544154494f4e203d20504f525452414954200a40504a4c20534554204d +415247494e53203d204e4f524d414c200a40504a4c20454e544552204c414e4755414745203d2048 +50474c32200d0a1b2531424250352c31494e5755304e50384543514c3130301b2531411b2661314e +1b2a7631385700000308080800ff00ff00ff0000000000001b2a7632353561323535623235356330 +491b2a763061323535623235356331491b2a763235356130623235356332491b2a76306130623235 +356333491b2a763235356132353562306334491b2a76306132353562306335491b2a763235356130 +62306336491b2a7630613062306337491b2a74521b2a72531b2a72541b2a7231411b2a62324d>" +-dupAdjustPageWidthCommand +-dupAdjustPageLengthCommand +-dupAdjustResolutionCommand +-dupEndPageCommand="<1b2a72431b451b25314250473b1b252d313233343558>" +-dupAbortCommand=" +(\033*rC\033E\15\12\12\12\12 Printout-Aborted\033%1BPG;\033%-12345X)" +-dupWriteComponentCommands="{(\033*b%dV\0) (\033*b%dV\0) (\033*b%dW\0)}" diff --git a/Master/xemtex/gslib/dnj750m.upp b/Master/xemtex/gslib/dnj750m.upp new file mode 100644 index 00000000000..2f55525cac7 --- /dev/null +++ b/Master/xemtex/gslib/dnj750m.upp @@ -0,0 +1,59 @@ +-supModel="HP Designjet 750m, 600x600DpI, Gamma=2.5, CMY" +-sDEVICE=uniprint +-dNOPAUSE +-dSAFER +-dupColorModel=/DeviceGray +-dupRendering=/ErrorDiffusion +-dupOutputFormat=/Pcl +-r600x600 +-dupMargins="{0.0 0.0 0.0 0.0}" +-dupWhiteTransfer="{ +1.0 0.921295345 0.846429467 0.775337517 0.707954228 +0.644212425 0.584044278 0.527380228 0.474149585 0.424279869 +0.377697408 0.334326446 0.294089675 0.256907612 0.222698912 +0.191379622 0.162863538 0.137061611 0.113881744 0.0932285339 +0.0750028 0.0591011234 0.0454152822 0.0338314585 0.0242292974 +0.0164806321 0.0104477014 0.00598061318 0.00291339168 0.00105723308 +0.000186894162 0.0 +}" +-dupBeginPageCommand="< + 1b252d313233343558 + 40504a4c204a4f42204e414d45203d20226773220d0a + 40504a4c20534554204d4952524f52203d204f4646200a + 40504a4c205345542050414c45545445534f55524345203d20534f465457415245200a + 40504a4c205345542052454e4445524d4f4445203d20475241595343414c45200a + 40504a4c20534554205245534f4c5554494f4e203d2030200a + 40504a4c20534554205052494e5441524541203d2046554c4c53495a45200a + 40504a4c205345542050415045524c454e475448203d2030200a + 40504a4c205345542050415045525749445448203d2030200a + 40504a4c20534554204f5249454e544154494f4e203d20504f525452414954200a + 40504a4c20534554204d415247494e53203d204e4f524d414c200a + 40504a4c20454e544552204c414e4755414745203d204850474c32200d0a + 1b253142 + 4250352c31 + 494e + 575530 + 4e5032 + 4543 + 514c313030 + 1b253141 + 1b2661314e + 1b2a763657 + 00 + 00 + 01 + 080808 + 1b2a76 32353561 32353562 32353563 3049 + 1b2a76 3061 3062 3063 3149 + 1b2a74 33323152 + 1b2a72 33323153 + 1b2a72 54 + 1b2a72 3141 + 1b2a62 324d +>" +-dupAdjustPageWidthCommand +-dupAdjustPageLengthCommand +-dupAdjustResolutionCommand +-dupEndPageCommand="(\033*rC\033E\033%1BPG;\033%-12345X)" +-dupAbortCommand="(\033*rC\033E\15\12\12\12\12 Printout-Aborted\033%1BPG;\033%-12345X)" +-dupWriteComponentCommands="{ (\033*b%dW\0) }" diff --git a/Master/xemtex/gslib/docie.ps b/Master/xemtex/gslib/docie.ps new file mode 100644 index 00000000000..010f48d8cd6 --- /dev/null +++ b/Master/xemtex/gslib/docie.ps @@ -0,0 +1,219 @@ +% Copyright (C) 1995 Aladdin Enterprises. All rights reserved. +% +% This program is free software; you can redistribute it and/or modify it +% under the terms of the GNU General Public License as published by the +% Free Software Foundation; either version 2 of the License, or (at your +% option) any later version. +% +% This program is distributed in the hope that it will be useful, but +% WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +% Public License for more details. +% +% You should have received a copy of the GNU General Public License along +% with this program; if not, write to the Free Software Foundation, Inc., +% 59 Temple Place, Suite 330, Boston, MA, 02111-1307. + +% $Id: docie.ps,v 1.2.6.1.2.1 2003/04/12 14:02:38 giles Exp $ +% docie.ps +% Emulate CIE algorithms in PostScript. + +% ---------------- Auxiliary procedures ---------------- % + +/r1default [0 1] def +/r3default [0 1 0 1 0 1] def + +/apply3 % [ ] apply3 + { { 4 -1 roll exch exec } forall + } bind def + +/restrict % restrict + { 3 1 roll .max .min + } bind def + +/restrict3 % [ ... ] restrict3 + { aload pop + 7 -1 roll 3 1 roll restrict 7 1 roll + 5 -1 roll 3 1 roll restrict 5 1 roll + restrict 3 1 roll + } bind def + +/rescale % rescale + { 1 index sub 3 1 roll sub exch div 0 .max 1 .min + } bind def + +/rescale3 % [ ... ] rescale3 + { aload pop + 7 -1 roll 3 1 roll rescale 7 1 roll + 5 -1 roll 3 1 roll rescale 5 1 roll + rescale 3 1 roll + } bind def + +/mmult3 % [ ... ] mmult3 + % + { 4 -1 roll dup dup 6 -1 roll dup dup 8 -1 roll dup dup + 10 -1 roll { 10 -1 roll mul } forall + % Stack: u1 v1 w1 u2 v2 w2 u3 v3 w3 + 4 -1 roll add 6 -1 roll add + % Stack: u1 v1 u2 v2 u3 v3 w' + 7 1 roll 3 -1 roll add 4 -1 roll add + % Stack: w' u1 u2 u3 v' + 5 1 roll add add 3 1 roll + } bind def + +/minvert3 % [ ... ] minvert3 + % [ ... ] + { 16 dict begin + aload pop { I H G F E D C B A } { exch def } forall + /coa E I mul F H mul sub def + /cob F G mul D I mul sub def + /coc D H mul E G mul sub def + /det A coa mul B cob mul add C coc mul add def + [ coa det div + C H mul B I mul sub det div + B F mul C E mul sub det div + cob det div + A I mul C G mul sub det div + C D mul A F mul sub det div + coc det div + B G mul A H mul sub det div + A E mul B D mul sub det div + ] + end + } bind def + +/print1 + { print dup == + } bind def + +/print3 + { print 3 array astore dup == aload pop + } bind def + +% ---------------- Mapping to XYZ ---------------- % + +/csmap % csmap + { 3 index /RangeLMN .knownget not { r3default } if restrict3 +DEBUG { (After RangeLMN Decode: ) print3 } if + 3 index /DecodeLMN .knownget { apply3 } if +DEBUG { (After DecodeLMN Decode: ) print3 } if + 3 index /MatrixLMN .knownget { mmult3 } if +DEBUG { (After MatrixLMN Decode: ) print3 } if + } bind def + +/csciea % csciea + { 1 index /RangeA .knownget not { r1default } if restrict +DEBUG { (After RangeA Decode: ) print1 } if + 1 index /DecodeA .knownget { exec } if +DEBUG { (After DecodeA Decode: ) print1 } if + 1 index /MatrixA .knownget + { { 1 index mul exch } forall pop } + { dup dup } + ifelse +DEBUG { (After MatrixA Decode: ) print3 } if + csmap + } bind def + +/cscieabc % cscieabc + { 3 index /RangeABC .knownget not { r3default } if restrict3 +DEBUG { (After RangeABC Decode: ) print3 } if + 3 index /DecodeABC .knownget { apply3 } if +DEBUG { (After DecodeABC Decode: ) print3 } if + 3 index /MatrixABC .knownget { mmult3 } if +DEBUG { (After MatrixABC Decode: ) print3 } if + csmap + } bind def + +% ---------------- Rendering from XYZ ---------------- % + +/lookup3 % lookup3 + % + { 3 -1 roll 3 index 0 get 1 sub mul + 3 -1 roll 3 index 1 get 1 sub mul + 3 -1 roll 3 index 2 get 1 sub mul + % Stack: rtable ia ib ic +DEBUG { (RenderTable indices: ) print3 mark 5 1 roll } if + 3 -1 roll round cvi 3 index 3 get exch get + % Stack: rtable ib ic string + 3 -1 roll round cvi 3 index 2 get mul + % Stack: rtable ic string ib*nc + 3 -1 roll round cvi add 2 index 4 get mul + % Stack: rtable string index + 2 index 4 get getinterval + % Stack: rtable bytes +DEBUG { (RenderTable values: ) print (<) print (%stdout) (w) file 1 index writehexstring (>) = } if + } bind def + +/bpdefault [0 0 0] def + +/crmap % crmap ... + { +DEBUG { (CIE XYZ = ) print3 } if + 3 index /MatrixPQR .knownget { mmult3 } if +DEBUG { (After MatrixPQR: ) print3 } if + 4 index /WhitePoint get + 5 index /BlackPoint .knownget not { bpdefault } if + 5 index /WhitePoint get + 6 index /BlackPoint .knownget not { bpdefault } if + 4 + { 4 -1 roll aload pop + % Stack: csdict crdict x y z pt pt pt px py pz + 3 copy 12 index /MatrixPQR .knownget { mmult3 } if 6 array astore + } + repeat + % Stack: csdict crdict x y z wps+ bps+ wpd+ bpd+ + 9 -1 roll pop % get rid of csdict + 7 4 roll + 7 index /TransformPQR get + { % Stack: crdict wps+ bps+ wpd+ bpd+ u v w proc + 8 copy exch pop exch pop + exec exch pop 4 -1 roll pop + } + forall + 7 3 roll pop pop pop pop % get rid of White/BlackPoints +DEBUG { (After TransformPQR: ) print3 } if + 3 index /MatrixPQR .knownget { minvert3 mmult3 } if +DEBUG { (After MatrixPQR': ) print3 } if + 3 index /MatrixLMN .knownget { mmult3 } if +DEBUG { (After MatrixLMN Encode: ) print3 } if + 3 index /EncodeLMN .knownget { apply3 } if +DEBUG { (After EncodeLMN Encode: ) print3 } if + 3 index /RangeLMN .knownget not { r3default } if restrict3 +DEBUG { (After RangeLMN Encode: ) print3 } if + 3 index /MatrixABC .knownget { mmult3 } if +DEBUG { (After MatrixABC Encode: ) print3 } if + 3 index /EncodeABC .knownget { apply3 } if +DEBUG { (After EncodeABC Encode: ) print3 } if + 3 index /RangeABC .knownget not { r3default } if + 5 -1 roll /RenderTable .knownget + { % Stack: u v w ranges rtable + 5 1 roll rescale3 +DEBUG { (Rescaled ABC: ) print3 } if + % Stack: rtable a b c + lookup3 + % Stack: rtable bytes + 0 1 3 index 4 get 1 sub + { % Stack: values rtable bytes c + 2 copy get 255 div + % Stack: values rtable bytes c v + 3 index 3 -1 roll 5 add get exec 3 1 roll + } + for pop pop +DEBUG { (After RenderTableT: ) print ] dup == aload pop } if + } + { restrict3 +DEBUG { (After RangeABC Encode: ) print3 } if + } + ifelse + } bind def + +% ---------------- Top level control ---------------- % + +/mapdict mark + /CIEBasedA { 1 get exch csciea currentcolorrendering 4 1 roll crmap } bind + /CIEBasedABC { 1 get 4 1 roll cscieabc currentcolorrendering 4 1 roll crmap } bind +.dicttomark def +/mapcie % mapcie ... + % mapcie ... + { currentcolorspace dup 0 get //mapdict exch get exec + } bind def diff --git a/Master/xemtex/gslib/dvipdf b/Master/xemtex/gslib/dvipdf new file mode 100644 index 00000000000..6f73174abaa --- /dev/null +++ b/Master/xemtex/gslib/dvipdf @@ -0,0 +1,40 @@ +#!/bin/sh +# $Id: dvipdf,v 1.2 2001/06/22 16:09:22 lpd Exp $ +# Convert DVI to PDF. +# +# Please contact Andrew Ford with any questions +# about this file. +# +# Based on ps2pdf + +OPTIONS="" +while true +do + case "$1" in + -*) OPTIONS="$OPTIONS $1" ;; + *) break ;; + esac + shift +done + +if [ $# -lt 1 -o $# -gt 2 ]; then + echo "Usage: `basename $0` [options...] input.dvi [output.pdf]" 1>&2 + exit 1 +fi + +infile=$1; + +if [ $# -eq 1 ] +then + case "${infile}" in + *.dvi) base=`basename "${infile}" .dvi` ;; + *) base=`basename "${infile}"` ;; + esac + outfile="${base}".pdf +else + outfile=$2 +fi + +# We have to include the options twice because -I only takes effect if it +# appears before other options. +exec dvips -q -f "$infile" | gs $OPTIONS -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile="$outfile" $OPTIONS -c .setpdfwrite - diff --git a/Master/xemtex/gslib/eps2eps b/Master/xemtex/gslib/eps2eps new file mode 100644 index 00000000000..14f5d679b44 --- /dev/null +++ b/Master/xemtex/gslib/eps2eps @@ -0,0 +1,20 @@ +#!/bin/sh +# $Id: eps2eps,v 1.3 2001/06/22 16:09:22 lpd Exp $ +# "Distill" Encapsulated PostScript. + +OPTIONS="-dDEVICEWIDTH=250000 -dDEVICEHEIGHT=250000" +while true +do + case "$1" in + -*) OPTIONS="$OPTIONS $1" ;; + *) break ;; + esac + shift +done + +if [ $# -ne 2 ]; then + echo "Usage: `basename $0` ...switches... input.eps output.eps" 1>&2 + exit 1 +fi + +exec gs -q -sDEVICE=epswrite "-sOutputFile=$2" -dNOPAUSE -dBATCH -dSAFER $OPTIONS "$1" diff --git a/Master/xemtex/gslib/eps2eps.bat b/Master/xemtex/gslib/eps2eps.bat new file mode 100644 index 00000000000..6be9375698c --- /dev/null +++ b/Master/xemtex/gslib/eps2eps.bat @@ -0,0 +1,26 @@ +@echo off +@rem $Id: eps2eps.bat,v 1.5 2001/06/22 16:09:22 lpd Exp $ +@rem "Distill" Encapsulated PostScript. + +if %1/==/ goto usage +if %2/==/ goto usage +call gssetgs.bat +echo -dNOPAUSE -dBATCH -dSAFER >_.at +rem Watcom C deletes = signs, so use # instead. +echo -dDEVICEWIDTH#250000 -dDEVICEHEIGHT#250000 >>_.at +:cp +if %3/==/ goto doit +echo %1 >>_.at +shift +goto cp + +:doit +rem Watcom C deletes = signs, so use # instead. +%GSC% -q -sDEVICE#epswrite -sOutputFile#%2 @_.at %1 +if exist _.at erase _.at +goto end + +:usage +echo "Usage: eps2eps ...switches... input.eps output.eps" + +:end diff --git a/Master/xemtex/gslib/eps2eps.cmd b/Master/xemtex/gslib/eps2eps.cmd new file mode 100755 index 00000000000..0fedb254beb --- /dev/null +++ b/Master/xemtex/gslib/eps2eps.cmd @@ -0,0 +1,36 @@ +/* $Id: eps2eps.cmd,v 1.2 2000/12/30 18:45:37 alexcher Exp $ */ +/* + * This file is maintained by a user: if you have any questions about it, + * please contact Mark Hale (mark.hale@physics.org). + */ + +/* "Distill" Encapsulated PostScript. */ + +parse arg params + +gs='@gsos2' + +if params='' then call usage + +options='-dNOPAUSE -dBATCH -dSAFER' + +/* extract options from command line */ +i=1 +param=word(params,i) +do while substr(param,1,1)='-' + options=options param + i=i+1 + param=word(params,i) +end + +infile=param +if infile='' then call usage +outfile=word(params,i+1) +if outfile='' then call usage + +gs '-q -sDEVICE=epswrite -sOutputFile='outfile options infile +exit + +usage: +say 'Usage: eps2eps ...switches... input.eps output.eps' +exit diff --git a/Master/xemtex/gslib/errpage.ps b/Master/xemtex/gslib/errpage.ps new file mode 100644 index 00000000000..7619205168c --- /dev/null +++ b/Master/xemtex/gslib/errpage.ps @@ -0,0 +1,363 @@ +%! +% Copyright (C) 1992, 1996, 1998 Aladdin Enterprises. All rights reserved. +% +% This program is free software; you can redistribute it and/or modify it +% under the terms of the GNU General Public License as published by the +% Free Software Foundation; either version 2 of the License, or (at your +% option) any later version. +% +% This program is distributed in the hope that it will be useful, but +% WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +% Public License for more details. +% +% You should have received a copy of the GNU General Public License along +% with this program; if not, write to the Free Software Foundation, Inc., +% 59 Temple Place, Suite 330, Boston, MA, 02111-1307. + +% $Id: errpage.ps,v 1.2.6.1.2.1 2003/04/12 14:02:38 giles Exp $ +% Print an informative error page if an error occurs. +% Inspired by Adobe's `ehandler.ps' and David Holzgang's PinPoint. + +/EPdict 80 dict def +EPdict begin + +/escale 12 def +/efont /Helvetica findfont escale scalefont def +/eheight escale 1.2 mul def + +% Miscellaneous utilities +/xdef + { exch def + } bind def + +% Define `show' equivalents of = and == + +/show= + { =string { cvs } stopped { pop pop (==unprintable==) } if show + } bind def + +/.dict 18 dict def +.dict begin + /.buf =string def + /.cvp {.buf cvs show} bind def + /.nop {(-) .p type .cvp (-) .p} bind def + /.p {show} bind def + /.p1 {( ) dup 0 4 -1 roll put show} bind def + /.print + {dup type .dict exch known + {dup type exec} {.nop} ifelse + } bind def + /integertype /.cvp load def + /nulltype { pop (null) .p } bind def + /realtype /.cvp load def + /booleantype /.cvp load def + /nametype + {dup xcheck not {(/) .p} if + dup length .buf length gt + {dup length string} + {.buf} + ifelse cvs .p} bind def + /arraytype + {dup rcheck + {dup xcheck {(})({)} {(])([)} ifelse .p + exch () exch + {exch .p .print ( )} forall pop .p} + {.nop} + ifelse} bind def + /operatortype + {(--) .p .cvp (--) .p} bind def + /packedarraytype /arraytype load def + /stringtype + {dup rcheck + {(\() .p + {/.ch exch def + .ch 32 lt .ch 127 ge or + {(\\) .p .ch 8#1000 add 8 .buf cvrs 1 3 getinterval .p} + {.ch 40 eq .ch 41 eq or .ch 92 eq or + {(\\) .p} if + .ch .p1} + ifelse} + forall (\)) .p} + {.nop} + ifelse} bind def +end +/show== + { .dict begin .print end + } bind def + +% Printing utilities + +/eol + { /ey ey eheight sub def + ex ey moveto + } bind def +/setx + { /ex xdef ex ey moveto + } bind def +/setxy + { /ey xdef /ex xdef + ex ey moveto + } bind def +/indent + { /lx ex def + ( ) show currentpoint setxy + } bind def +/unindent + { lx setx + } bind def + +% Get the name of the n'th dictionary on the (saved) dictionary stack. +/nthdictname % n -> name true | false + { dup dstack exch get + exch -1 0 + { dstack exch get + { 2 index eq { exch pop exit } { pop } ifelse + } + forall + dup type /nametype eq { exit } if + } + for + dup type /nametype eq { true } { pop false } ifelse + } bind def + +% Find the name of a currently executing procedure. +/findprocname % findprocname true + % findprocname false + { dup length /proclength xdef + dup type cvlit /proctype xdef + dstack length 1 sub -1 0 + { dup dstack exch get + { dup type proctype eq + { dup rcheck { dup length } { -1 } ifelse proclength gt + { dup length proclength sub proclength getinterval 3 index eq + { 3 -1 roll pop exit } + { pop } + ifelse + } + { pop pop + } + ifelse + } + { pop pop + } + ifelse + } + forall + dup type /nametype eq { exit } if + pop + } + for + dup type /nametype eq { true } { pop false } ifelse + } bind def + +% Error printing routine. +% The top 2 elements of the o-stack are systemdict and EPdict. +% For the moment, we ignore the possibility of stack overflow or VMerror. +/showerror % showerror - + { + % Restore the error handlers. + + saveerrordict { errordict 3 1 roll put } forall + $error /recordstacks false put + + % Save information from the stacks. + + /saveerror xdef + countexecstack array execstack + 0 3 -1 roll 1 sub getinterval + /estack xdef + /savecommand xdef + + countdictstack array dictstack + dup length 2 sub 0 exch getinterval + /dstack xdef + + % Save state variables that will be reset. + % (We could save and print a lot more of the graphics state.) + + /savefont currentfont def + mark { savefont /FontName get =string cvs cvn } stopped + { cleartomark null } + { exch pop dup length 0 eq { pop null } if } + ifelse /savefontname xdef + efont setfont + + { currentpoint } stopped { null null } if + /savey xdef /savex xdef + 0 0 + { pop pop } + { pop pop 1 add } + { pop pop pop pop pop pop exch 1 add exch } + { } + pathforall + /savelines xdef /savecurves xdef + /savepathbbox { [ pathbbox ] } stopped { pop null } if def + + initmatrix + + clippath pathbbox + /savecliptop xdef /saveclipright xdef + /saveclipbottom xdef /saveclipleft xdef + initclip + + initgraphics + + % Eject the current page. + + showpage + + % Print the page heading. + + 18 clippath pathbbox newpath + 4 1 roll pop pop pop eheight sub 12 sub setxy + product (Product: ) + statusdict /printername known + { 100 string statusdict begin printername end + dup length 0 gt + { exch pop exch pop (Printer name: ) } + { pop } + ifelse + } + if show show eol + (Interpreter version ) show version show eol + (Error: ) show saveerror show= eol + (Command being executed: ) show /savecommand load show= eol + currentfile { fileposition } stopped + { pop } + { (Position in input file: ) show show= eol } + ifelse eol + + % Print the current graphics state. + + (Page parameters:) show eol indent + (page size: ) show + gsave clippath pathbbox grestore + exch 3 index sub show= (pt x ) show + exch sub show= (pt) show pop eol + (current position: ) show + savex null eq + { (none) show } + { (x = ) show savex show= (, y = ) show savey show= } + ifelse eol + savelines savecurves add 0 eq + { (current path is empty) show + } + { (current path: ) show savelines show= ( line(s), ) show + savecurves show= ( curve(s)) show eol + (path bounding box: ) show savepathbbox show== + } + ifelse eol + (current font: ) show + savefontname dup null eq + { pop (--no name--) show } + { show= ( ) show + gsave + savefontname findfont /FontMatrix get matrix invertmatrix + grestore + savefont /FontMatrix get matrix concatmatrix + dup 1 get 0 eq 1 index 2 get 0 eq and + 1 index 4 get 0 eq and 1 index 5 get 0 eq and + 1 index 0 get 2 index 3 get eq and + { 0 get show= (pt) show } + { (scaled by ) show show= } + ifelse + } + ifelse eol + eol unindent + + % Print the operand stack. + + /stky ey def + (Operand stack:) show eol indent + count { show== eol } repeat + eol unindent + + % Print the dictionary stack. + + (Dictionary stack:) show eol indent + dstack length 1 sub -1 0 + { nthdictname { show= } { () show } ifelse eol + } for + eol unindent + + % Print the execution stack. + + 280 stky setxy + (Execution stack:) show eol indent + estack length 1 sub -1 1 + { estack exch get + dup type /operatortype eq + { show= eol + } + { dup type dup /arraytype eq exch /packedarraytype eq or + { dup xcheck + { dup rcheck + { findprocname + { show= nthdictname { ( in ) show show= } if eol + } + if + } + { pop + } + ifelse + } + { pop + } + ifelse + } + { pop + } + ifelse + } + ifelse + } for eol unindent + + % Print the next few lines of input. + % Unfortunately, this crashes on an Adobe printer. + +( + (Next few lines of input:) show eol indent + /input currentfile def + mark { 4 + { input ( ) readstring not { pop exit } if + dup 0 get dup 10 eq + { pop pop eol 1 sub dup 0 eq { pop exit } if } + { dup 13 eq { pop pop } { pop show } ifelse } + ifelse + } + loop } stopped cleartomark eol unindent +) pop + + % Wrap up. + + showpage + quit + + } def + +% Define the common procedure for handling errors. +/doerror + { systemdict begin EPdict begin showerror + } bind def + +end + +% Install our own error handlers. + +/EPinstall + { EPdict begin + /saveerrordict errordict length dict def + errordict saveerrordict copy pop + errordict + { pop [ /countexecstack load 2 index cvlit /doerror load /exec load ] cvx + errordict 3 1 roll put + } forall + errordict /handleerror + [ /countexecstack load /handleerror /doerror load /exec load + ] cvx + put + end + } bind def + +EPinstall diff --git a/Master/xemtex/gslib/fixmswrd.pl b/Master/xemtex/gslib/fixmswrd.pl new file mode 100644 index 00000000000..be35465790b --- /dev/null +++ b/Master/xemtex/gslib/fixmswrd.pl @@ -0,0 +1,208 @@ +#!/usr/bin/perl +# $Id: fixmswrd.pl,v 1.1 2000/03/09 08:40:39 lpd Exp $ + +# $Id: fixmswrd.pl,v 1.1 2000/03/09 08:40:39 lpd Exp $ + +# (C) 1997 Anthony Shipman +# +# This software is provided 'as-is', without any express or implied +# warranty. In no event will the authors be held liable for any damages +# arising from the use of this software. +# +# Permission is granted to anyone to use this software for any purpose, +# including commercial applications, and to alter it and redistribute it +# freely, subject to the following restrictions: +# +# 1. The origin of this software must not be misrepresented; you must not +# claim that you wrote the original software. If you use this software +# in a product, an acknowledgment in the product documentation would be +# appreciated but is not required. +# 2. Altered source versions must be plainly marked as such, and must not be +# misrepresented as being the original software. +# 3. This notice may not be removed or altered from any source distribution. +# +# Anthony Shipman shipmana@acm.org + +# This program patches the postscript generated by MS Word printer drivers +# so that they work with ghostview 1.5. The problem is that the document +# structuring conventions are not followed by Word. The pages are supposed +# to be independent but they depend on a dictionary being opened outside +# of the pages. The erroneous structure is +# +# %%EndSetup +# NTPSOct95 begin +# %%Page: 1 1 +# +# showpage +# %%Page: 2 2 +# +# showpage +# ...... +# %%Trailer +# ... +# end +# %%EOF +# +# This only works if the all of the structure around the pages is preserved. +# The opening of NTPSOct95 happens outside of any structured section so +# it is never seen by ghostview. We change the structure to +# +# %%EndSetup +# %%Page: 1 1 +# NTPSOct95 begin +# +# showpage +# end +# %%Page: 2 2 +# NTPSOct95 begin +# +# showpage +# end +# ...... +# %%Trailer +# ... +# %%EOF +# +# That is the dictionary opening is repeated inside each page. +# +# We add a comment to the document to mark that it has been converted. +# This has the form +# %LOCALGhostviewPatched +# +# Usage: +# fixmswrd [-v] [file [output-file]] + +require 'getopts.pl'; + +#================================================================= + +$program = "fixmswrd"; + +sub usage { + die "Usage: $program [-v] [file [output-file]]\n"; +} + +#================================================================= + +&Getopts("v") || &usage; + +$verbose = $opt_v; + + +$infile = shift(@ARGV); +if ($infile) +{ + open(INFILE, $infile) || die "$program: Cannot read from $infile\n"; + $handle = "INFILE"; +} +else +{ + $handle = "STDIN"; +} + + +$outfile = shift(@ARGV); +if ($outfile) +{ + open(OUTFILE, ">$outfile") || die "$program: Cannot write to $outfile\n"; + select(OUTFILE); +} + +# This reads the header comments and detects the presence of the marker. +$have_marker = 0; + +undef $dict_name; +undef $dict_line; + +&read_comments; +&put_comments; + +if ($have_marker) +{ + $verbose && print STDERR "$program: Warning - already converted\n"; + + while(<$handle>) # pass the file through unchanged. + { + print; + } +} +else +{ + $seen_trailer = 0; + + while(<$handle>) # massage the file + { + if ($dict_line) + { + next if (/$dict_line/o); # drop the old begin line + $seen_trailer = 1 if (/^%%Trailer/); + next if ($seen_trailer and /^end/); # drop the old end line + } + + print; + + if (/^%%Page:/) + { + print "$dict_name begin\n"; # add at the start of the page + } + elsif (/^showpage/) + { + print "end\n"; # add at the end of the page + } + elsif (/^%%BeginResource: procset (\S+)/) + { + $dict_name = $1; + $dict_line = "^$dict_name begin"; + } + elsif (/^%%BeginProcSet: (\S+)/) # for older document versions + { + $dict_name = $1; + $dict_line = "^$dict_name begin"; + } + elsif (/^%%EndProlog:/) + { + unless ($dict_line) + { + $verbose && + print STDERR "$program: Warning - unrecognised document structure\n"; + } + } + } +} + +exit 0; + +#================================================================= + + +# This reads all of the header comments into an array which we can write +# out again later. In addition we detect the presence of the marker comment. + +sub read_comments +{ + @headers = (); + + while (<$handle>) + { # without chopping + push(@headers, $_); + if (/^%LOCALGhostviewPatched/) + { + $have_marker = 1; + } + last if /^%%EndComments/; + } +} + + + +sub put_comments +{ + foreach $h (@headers) + { + if (!$have_marker and ($h =~ /^%%EndComments/)) + { + print "%LOCALGhostviewPatched\n"; + } + print $h; # contains the newline + } +} diff --git a/Master/xemtex/gslib/font2c b/Master/xemtex/gslib/font2c new file mode 100644 index 00000000000..5404ba5bb1d --- /dev/null +++ b/Master/xemtex/gslib/font2c @@ -0,0 +1,3 @@ +#!/bin/sh +# $Id: font2c,v 1.1 2000/03/09 08:40:39 lpd Exp $ +exec gs -q -dNODISPLAY -dWRITESYSTEMDICT -- font2c.ps "$@" diff --git a/Master/xemtex/gslib/font2c.bat b/Master/xemtex/gslib/font2c.bat new file mode 100644 index 00000000000..f3fd69a7d8c --- /dev/null +++ b/Master/xemtex/gslib/font2c.bat @@ -0,0 +1,5 @@ +@echo off +@rem $Id: font2c.bat,v 1.2 2000/05/20 20:53:05 lpd Exp $ + +call gssetgs.bat +%GSC% -q -dNODISPLAY -dWRITESYSTEMDICT -- font2c.ps %1 %2 %3 %4 %5 %6 %7 %8 %9 diff --git a/Master/xemtex/gslib/font2c.cmd b/Master/xemtex/gslib/font2c.cmd new file mode 100755 index 00000000000..a1b7894eff7 --- /dev/null +++ b/Master/xemtex/gslib/font2c.cmd @@ -0,0 +1,7 @@ +/* $Id: font2c.cmd,v 1.1 2000/07/05 16:21:13 lpd Exp $ */ +/* + * This file is maintained by a user: if you have any questions about it, + * please contact Mark Hale (mark.hale@physics.org). + */ + +@gsos2 -q -dNODISPLAY -dWRITESYSTEMDICT -- font2c.ps %1 %2 %3 %4 %5 %6 %7 %8 %9 diff --git a/Master/xemtex/gslib/font2c.ps b/Master/xemtex/gslib/font2c.ps new file mode 100644 index 00000000000..fecd5713e29 --- /dev/null +++ b/Master/xemtex/gslib/font2c.ps @@ -0,0 +1,676 @@ +% Copyright (C) 1992, 1993, 1994, 1995, 1999 Aladdin Enterprises. All rights reserved. +% +% This program is free software; you can redistribute it and/or modify it +% under the terms of the GNU General Public License as published by the +% Free Software Foundation; either version 2 of the License, or (at your +% option) any later version. +% +% This program is distributed in the hope that it will be useful, but +% WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +% Public License for more details. +% +% You should have received a copy of the GNU General Public License along +% with this program; if not, write to the Free Software Foundation, Inc., +% 59 Temple Place, Suite 330, Boston, MA, 02111-1307. + +% $Id: font2c.ps,v 1.3.2.1.2.1 2003/04/12 14:02:38 giles Exp $ +% font2c.ps +% Write out a PostScript Type 0 or Type 1 font as C code +% that can be linked with the interpreter. +% This even works on protected fonts, if you use the -dWRITESYSTEMDICT +% switch in the command line. The code is reentrant and location- +% independent and has no external references, so it can be put into +% a sharable library even on VMS. + +/font2cdict 100 dict dup begin + +% Define the maximum string length that all compilers will accept. +% This must be approximately +% min(max line length, max string literal length) / 4 - 5. + +/max_wcs 50 def + +% Define a temporary file for writing out procedures. +/wtempname (_.tmp) def + +% ------ Protection utilities ------ % + +% Protection values are represented by a mask: +/a_noaccess 0 def +/a_executeonly 1 def +/a_readonly 3 def +/a_all 7 def +/prot_names + [ (0) (a_execute) null (a_readonly) null null null (a_all) + ] def +/prot_opers + [ {noaccess} {executeonly} {} {readonly} {} {} {} {} + ] def + +% Get the protection of an object. + /getpa + { dup wcheck + { pop a_all } + { % Check for executeonly or noaccess objects in protected. + dup protected exch known + { protected exch get } + { pop a_readonly } + ifelse + } + ifelse + } bind def + +% Get the protection appropriate for (all the) values in a dictionary. + /getva + { a_noaccess exch + { exch pop + dup type dup /stringtype eq 1 index /arraytype eq or + exch /packedarraytype eq or + { getpa a_readonly and or } + { pop pop a_all exit } + ifelse + } + forall + } bind def + +% Keep track of executeonly and noaccess objects, +% but don't let the protection actually take effect. +.currentglobal +false .setglobal % so protected can reference local objs +/protected % do first so // will work + systemdict wcheck { 1500 dict } { 1 dict } ifelse +def +systemdict wcheck not + { (Warning: you will not be able to convert protected fonts.\n) print + (If you need to convert a protected font, please\n) print + (restart the program and specify the -dWRITESYSTEMDICT switch.\n) print + flush + (%end) .skipeof + } +if +userdict begin + /executeonly + { dup //protected exch //a_executeonly put readonly + } bind def + /noaccess + { dup //protected exch //a_noaccess put readonly + } bind def +end +true .setglobal +systemdict begin + /executeonly + { userdict /executeonly get exec + } bind odef + /noaccess + { userdict /noaccess get exec + } bind odef +end +%end +.setglobal + +% ------ Output utilities ------ % + +% By convention, the output file is named cfile. + +% Define some utilities for writing the output file. + /wtstring 100 string def + /wb {cfile exch write} bind def + /ws {cfile exch writestring} bind def + /wl {ws (\n) ws} bind def + /wt {wtstring cvs ws} bind def + +% Write a C string. Some compilers have unreasonably small limits on +% the length of a string literal or the length of a line, so every place +% that uses wcs must either know that the string is short, +% or be prepared to use wcca instead. + /wbx + { 8#1000 add 8 (0000) cvrs dup 0 (\\) 0 get put ws + } bind def + /wcst + [ + 32 { /wbx load } repeat + 95 { /wb load } repeat + 129 { /wbx load } repeat + ] def + ("\\) { wcst exch { (\\) ws wb } put } forall + /wcs + { (") ws { dup wcst exch get exec } forall (") ws + } bind def + /can_wcs % Test if can use wcs + { length max_wcs le + } bind def + /wncs % name -> C string + { wtstring cvs wcs + } bind def +% Write a C string as an array of character values. +% We only need this because of line and literal length limitations. + /wca % wca - + { 0 4 -2 roll exch + { % Stack: suffix n prefix char + exch ws + exch dup 19 ge { () wl pop 0 } if 1 add + exch dup 32 ge 1 index 126 le and + { 39 wb dup 39 eq 1 index 92 eq or { 92 wb } if wb 39 wb } + { wt } + ifelse (,) + } forall + pop pop ws + } bind def + /wcca % wcca - + { ({\n) (}) wca + } bind def + +% Write object protection attributes. Note that dictionaries and arrays are +% the only objects that can be writable. + /wpa + { dup xcheck { (a_executable|) ws } if + dup type dup /dicttype eq exch /arraytype eq or + { getpa } + { getpa a_readonly and } + ifelse prot_names exch get ws + } bind def + /wva + { getva prot_names exch get ws + } bind def + +% ------ Object writing ------ % + + /wnstring 128 string def + +% Convert an object to a string to be scanned at a later time. + /cvos % cvos + { % We'd like to use == and write directly to a string, + % but we can't do the former because of operators, + % and we can't do the latter because we can't predict + % how long the string would have to be.... + wtempname (w) file dup 3 -1 roll wproc closefile + wtempname status pop pop pop exch pop string + wtempname (r) file dup 3 -1 roll readstring pop exch closefile + } bind def + +% Write a string/name or null as an element of a string/name/null array. +% Convert any other kind of value to a token to be read back in. + /wsn + { dup null eq + { pop (\t255,255,) wl + } + { dup type /nametype eq { wnstring cvs } if + dup type /stringtype ne { cvos (255,) ws } if + dup length 256 idiv wt (,) ws + dup length 256 mod wt + (,) (,\n) wca + } + ifelse + } bind def +% Write a packed string/name/null array. + /wsna % <(string|name|null)*> wsna - + { (\tstatic const char ) ws exch wt ([] = {) wl + { wsn } forall + (\t0\n};) wl + } bind def + +% Write a number or an array of numbers, as refs. +/isnumber + { type dup /integertype eq exch /realtype eq or + } bind def +/wnums + { dup isnumber + { (real_v\() ws wt (\),) ws } + { { wnums } forall } + ifelse + } bind def + +% Test whether a procedure or unusual array can be written (printed). +/iswx 4 dict dup begin + /arraytype { { iswproc } isall } def + /nametype { pop true } def + /operatortype { pop true } def % assume it has been bound in + /packedarraytype /arraytype load def +end def +/iswnx 6 dict dup begin + /arraytype { { iswproc } isall } def + /integertype { pop true } def + /nametype { pop true } def + /realtype { pop true } def + /stringtype { pop true } def + /packedarraytype /arraytype load def +end def +/iswproc % iswproc + { dup xcheck { iswx } { iswnx } ifelse + 1 index type .knownget { exec } { pop false } ifelse + } bind def + +% Write a printable procedure (one for which iswproc returns true). +/wproca 3 dict dup begin + /arraytype + { 1 index ({) writestring + { 1 index ( ) writestring 1 index exch wproc } forall + (}) writestring + } bind def + /packedarraytype /arraytype load def + /operatortype { .writecvs } bind def % assume binding would work +end def +/wproc % wproc - + { dup type wproca exch .knownget { exec } { write==only } ifelse + } bind def + +% Write a named object. Return true if this was possible. +% Legal types are: boolean, integer, name, real, string, +% array of (integer, integer+real, name, null+string), +% and certain procedures and other arrays (see iswproc above). +% All other objects are either handled specially or ignored. + /isall % isall + { true 3 -1 roll + { 2 index exec not { pop false exit } if } + forall exch pop + } bind def + /wott 8 dict dup begin + /arraytype + { woatt + { aload pop 2 index 2 index exec + { exch pop exec exit } + { pop pop } + ifelse + } + forall + } bind def + /booleantype + { { (\tmake_true\(&) } { (\tmake_false\(&) } ifelse ws + wt (\);) wl true + } bind def + /integertype + { (\tmake_int\(&) ws exch wt (, ) ws + wt (\);) wl true + } bind def + /nametype + { (\tcode = (*pprocs->name_create)\(i_ctx_p, &) ws exch wt + (, ) ws wnstring cvs wcs % OK, names are short + (\);) wl + (\tif ( code < 0 ) return code;) wl + true + } bind def + /packedarraytype + /arraytype load def + /realtype + { (\tmake_real\(&) ws exch wt (, ) ws + wt (\);) wl true + } bind def + /stringtype + { ({\tstatic const char s_[] = ) ws + dup dup can_wcs { wcs } { wcca } ifelse + (;) wl + (\tmake_const_string\(&) ws exch wt + (, a_readonly, ) ws length wt (, (const byte *)s_\);) wl + (}) wl true + } bind def + end def +% Write some other kind of object, if known. + /wother + { dup otherobjs exch known + { otherobjs exch get (\t) ws exch wt ( = ) ws wt (;) wl true } + { pop pop false } + ifelse + } bind def +% Top-level procedure. + /wo % name obj -> OK + { dup type wott exch .knownget { exec } { wother } ifelse + } bind def + +% Write an array (called by wo). + /wap % wap - + { dup xcheck not 1 index wcheck not and 1 index rcheck and + { pop pop } + { (\tr_set_attrs\(&) ws exch wt (, ) ws wpa (\);) wl } + ifelse + } bind def + /wnuma { % <_v> wnuma - + ({\tstatic const ref_\() ws exch ws (\) a_[] = {) wl exch + % Stack: name type_v array + dup length 0 eq { + (\t) ws 1 index ws (\(0\)) wl + } { + dup { + (\t) ws 2 index ws (\() ws wt (\),) wl + } forall + } ifelse exch pop + % Stack: name array + (\t};) wl + dup wcheck { + (\tcode = (*pprocs->scalar_array_create)\(i_ctx_p, &) ws exch wt + (, (const ref *)a_, ) ws dup length wt + (, ) ws wpa (\);) wl + (\tif ( code < 0 ) return code;) wl + } { + (\tmake_const_array\(&) ws exch wt + (, avm_foreign|) ws dup wpa (, ) ws length wt + (, (const ref *)a_\);) wl + } ifelse + (}) wl + } bind def + /woatt [ + % Integers + { { { type /integertype eq } isall } + { (long) (integer_v) wnuma true } + } + % Integers + reals + { { { type dup /integertype eq exch /realtype eq or } isall } + { (float) (real_v) wnuma true } + } + % Strings + nulls + { { { type dup /nulltype eq exch /stringtype eq or } isall } + { ({) ws dup (sa_) exch wsna + (\tcode = (*pprocs->string_array_create)\(i_ctx_p, &) ws exch wt + (, sa_, ) ws dup length wt (, ) ws wpa (\);) wl + (\tif ( code < 0 ) return code;) wl + (}) wl true + } + } + % Names + { { { type /nametype eq } isall } + { ({) ws dup (na_) exch wsna + (\tcode = (*pprocs->name_array_create)\(i_ctx_p, &) ws 1 index wt + (, na_, ) ws dup length wt (\);) wl + (\tif ( code < 0 ) return code;) wl + wap (}) wl true + } + } + % Procedure + { { iswproc } + { dup cvos + % Stack: name proc string + ({\tstatic const char s_[] = ) ws + dup dup can_wcs { wcs } { wcca } ifelse + (;) wl + (\tcode = (*pprocs->ref_from_string)\(i_ctx_p, &) ws 2 index wt + (, s_, ) ws length wt (\);) wl + (\tif ( code < 0 ) return code;) wl + wap (}) wl true + wtempname deletefile + } + } + % Default + { { pop true } + { wother } + } + ] def + +% Write a named dictionary. We assume the ref is already declared. + /wd % wd - + { 3 1 roll + ({) ws + (\tref v_[) ws dup length wt (];) wl + dup [ exch + { counttomark 2 sub wtstring cvs + (v_[) exch concatstrings (]) concatstrings exch wo not + { (Skipping ) print ==only (....\n) print } + if + } forall + ] + % Stack: array of keys (names) + ({) ws dup (str_keys_) exch wsna + (\tstatic const cfont_dict_keys keys_ =) wl + (\t { 0, 0, ) ws length wt (, ) ws 3 -1 roll wt (, ) ws + dup wpa (, ) ws dup wva ( };) wl pop + (\tcode = \(*pprocs->ref_dict_create\)\(i_ctx_p, &) ws wt + (, &keys_, str_keys_, v_\);) wl + (\tif ( code < 0 ) return code;) wl + (}) wl + (}) wl + } bind def + +% Write character dictionary keys. +% We save a lot of space by abbreviating keys which appear in +% StandardEncoding or ISOLatin1Encoding. +% Writes code to declare and initialize enc_keys_, str_keys, and keys_. +/wcdkeys % wcdkeys - + { % Write keys present in StandardEncoding or ISOLatin1Encoding, + % pushing other keys on the o-stack. + (static const charindex enc_keys_[] = {) wl + dup [ exch 0 exch + { pop decoding 1 index known + { decoding exch get ({) ws dup -8 bitshift wt + (,) ws 255 and wt (}, ) ws + 1 add dup 5 mod 0 eq { (\n) ws } if + } + { exch } + ifelse + } + forall pop + ] + ({0,0}\n};) wl + % Write other keys. + (str_keys_) exch wsna + % Write the declaration for keys_. + (static const cfont_dict_keys keys_ = {) wl + (\tenc_keys_, countof\(enc_keys_\) - 1,) wl + (\t) ws dup length wt ( - \(countof\(enc_keys_\) - 1\), 0, ) ws + dup wpa (, ) ws wva () wl + (};) wl + } bind def + +% Enumerate character dictionary values in the same order that +% the keys appear in enc_keys_ and str_keys_. +% is called with each value in turn. +/cdforall % cdforall - + { 2 copy + { decoding 3 index known + { 3 -1 roll pop exec } + { pop pop pop } + ifelse + } + /exec cvx 3 packedarray cvx + /forall cvx + 5 -2 roll + { decoding 3 index known + { pop pop pop } + { 3 -1 roll pop exec } + ifelse + } + /exec cvx 3 packedarray cvx + /forall cvx + 6 packedarray cvx exec + } bind def + +% ------ Writers for special objects ------ % + +/writespecial 10 dict dup begin + + /FontInfo { 0 wd } def + + /Private { 0 wd } def + + /CharStrings + { ({) wl + dup wcdkeys + (static const char values_[] = {) wl + { wsn } cdforall + (\t0\n};) wl + (\tcode = \(*pprocs->string_dict_create\)\(i_ctx_p, &) ws wt + (, &keys_, str_keys_, values_\);) wl + (\tif ( code < 0 ) return code;) wl + (}) wl + } bind def + + /Metrics + { ({) wl + dup wcdkeys + (static const ref_(float) values_[] = {) wl + dup { (\t) ws wnums () wl } cdforall + (\t0\n};) wl + (static const char lengths_[] = {) wl + { (\t) ws dup isnumber + { pop 0 } + { length 1 add } + ifelse wt (,) wl + } cdforall + (\t0\n};) wl + (\tcode = \(*pprocs->num_dict_create\)\(i_ctx_p, &) ws wt + (, &keys_, str_keys_, (const ref *)values_, lengths_\);) wl + (\tif ( code < 0 ) return code;) wl + (}) wl + } bind def + + /Metrics2 /Metrics load def + + /FDepVector pop % (converted to a list of font names) + +end def + +% ------ The main program ------ % + +% Construct an inverse dictionary of encodings. +[ /StandardEncoding /ISOLatin1Encoding + /SymbolEncoding /DingbatsEncoding + /KanjiSubEncoding +] +dup length dict begin + { mark exch dup { .findencoding exch def } stopped cleartomark + } forall +currentdict end /encodingnames exch def + +% Invert the StandardEncoding and ISOLatin1Encoding vectors. +512 dict begin + 0 1 255 { dup ISOLatin1Encoding exch get exch 256 add def } for + 0 1 255 { dup StandardEncoding exch get exch def } for +currentdict end /decoding exch def + +/writefont % cfilename procname -> [writes the current font] + { (gsf_) exch concatstrings + /fontprocname exch def + /cfname exch def + /cfile cfname (w) file def + +% Remove unwanted keys from the font. + currentfont dup length dict begin { def } forall + { /FID /MIDVector /CurMID } { currentdict exch undef } forall + /Font currentdict end def + +% Replace the FDepVector with a list of font names. + Font /FDepVector .knownget + { [ exch { /FontName get } forall ] + Font /FDepVector 3 -1 roll put + } + if + +% Find all the special objects we know about. +% wo uses this to write out references to otherwise intractable objects. + /otherobjs writespecial length dict dup begin + writespecial + { pop Font 1 index .knownget { exch def } { pop } ifelse + } + forall + end def + +% Define a dummy FontInfo, in case the font doesn't have one. + /FontInfo 0 dict def + +% Write out the boilerplate. + Font begin + (/****************************************************************) wl + ( Portions of this file are subject to the following notice(s):) wl + systemdict /copyright get wl + FontInfo /Notice .knownget + { (----------------------------------------------------------------) wl wl + } if + (****************************************************************/) wl + () wl + (/* ) ws cfname ws ( */) wl + (/* This file was created by the ) ws product ws ( font2c utility. */) wl + () wl + (#undef DEBUG) wl + (#include "ccfont.h") wl + () wl + +% Write the procedure prologue. + (#ifdef __PROTOTYPES__) wl + (ccfont_proc\() ws fontprocname ws (\);) wl + (int) wl + fontprocname ws ((i_ctx_t *i_ctx_p, const cfont_procs *pprocs, ref *pfont)) wl + (#else) wl + (int) wl + fontprocname ws ((i_ctx_p, pprocs, pfont) i_ctx_t *i_ctx_p; const cfont_procs *pprocs; ref *pfont;) wl + (#endif) wl + ({\tint code;) wl + (\tref Font;) wl + otherobjs + { exch pop (\tref ) ws wt (;) wl } + forall + +% Write out the special objects. + otherobjs + { exch writespecial 2 index get exec + } + forall + +% Write out the main font dictionary. +% If possible, substitute the encoding name for the encoding; +% PostScript code will fix this up. + { /Encoding /PrefEnc } + { Font 1 index .knownget + { encodingnames exch .knownget { def } { pop } ifelse } + { pop } + ifelse + } + forall + (Font) Font FontType 0 eq { 5 } { 1 } ifelse wd + +% Finish the procedural initialization code. + (\t*pfont = Font;) wl + (\treturn 0;) wl + (}) wl + end % Font + + cfile closefile + + } bind def + +end def % font2cdict + +% Compute the procedure name from the font name. +% Replace all non-alphanumeric characters with '_'. +/makefontprocnamemap 256 string + 0 1 255 { 2 copy 95 put pop } for + (0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz) + { 2 copy dup put pop } forall +readonly def +/makefontprocname % makefontprocname + { dup length string cvs + dup length 1 sub -1 0 + { % Stack: string index + 2 copy 2 copy get //makefontprocnamemap exch get put pop + } + for + } def + +/writefont { font2cdict begin writefont end } def + +% If the program was invoked from the command line, run it now. +[ shellarguments + { counttomark dup 2 eq exch 3 eq or + { counttomark -1 roll cvn + (Converting ) print dup =only ( font.\n) print flush + % Ensure that we get a clean copy of the font from the + % file system. + 2 { % do both local and global + currentglobal not setglobal + dup undefinefont + } repeat + findfont setfont + (FontName is ) print currentfont /FontName get ==only (.\n) print flush + counttomark 1 eq + { % Construct the procedure name from the file name. + currentfont /FontName get makefontprocname + } + if + writefont + (Done.\n) print flush + } + { cleartomark + (Usage: font2c fontname cfilename.c [shortname]\n) print + ( e.g.: font2c Courier cour.c\n) print flush + mark + } + ifelse + } +if pop diff --git a/Master/xemtex/gslib/font2pcl.ps b/Master/xemtex/gslib/font2pcl.ps new file mode 100644 index 00000000000..1c777b1bdac --- /dev/null +++ b/Master/xemtex/gslib/font2pcl.ps @@ -0,0 +1,604 @@ +% Copyright (C) 1993, 1994, 1995, 1997 Aladdin Enterprises. All rights reserved. +% +% This program is free software; you can redistribute it and/or modify it +% under the terms of the GNU General Public License as published by the +% Free Software Foundation; either version 2 of the License, or (at your +% option) any later version. +% +% This program is distributed in the hope that it will be useful, but +% WITHOUT ANY WARRANTY; without even the implied warranty of +% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +% Public License for more details. +% +% You should have received a copy of the GNU General Public License along +% with this program; if not, write to the Free Software Foundation, Inc., +% 59 Temple Place, Suite 330, Boston, MA, 02111-1307. + +% $Id: font2pcl.ps,v 1.2.6.2.2.1 2003/04/12 14:02:38 giles Exp $ +% font2pcl.ps +% Write out a font as a PCL bitmap font. + +/pcldict 60 dict def + +% Write out the current font as a PCL bitmap font. +% The current transformation matrix defines the font size and orientation. + +/WriteResolution? false def % true=use "resolution bound font" format, + % false=use older format + +/LJ4 false def % true=use LJ4 Typeface code + % false=use LJIIP/IID/IIIx Typeface code + +pcldict begin % internal procedures + +/findstring % findstring + { search { pop pop pop true } { pop false } ifelse + } def + + % Determine which set of keywords is present in a string. + % The last keyword set must be empty. + +/keysearch % keysearch + { 0 1 2 index length 1 sub + { 2 copy get true exch + { % Stack: + 4 index exch findstring and + } + forall + { 0 exch getinterval exit + } + if pop + } + for + exch pop length % invalid index if missing + } def + + % Determine the device height of a string in quarter-dots. + +/charheight % charheight + { gsave newpath 0 0 moveto false charpath + pathbbox exch pop exch sub exch pop 0 exch grestore + dtransform add abs 4 mul cvi + } def + + % Compute an integer version of the transformed FontBBox. + +/inflate % inflate + { dup 0 gt { ceiling } { floor } ifelse + } def +/ixbbox % - ixbbox + { /FontBBox load aload pop % might be executable or literal + 4 2 roll transform exch truncate cvi exch truncate cvi + 4 2 roll transform exch inflate cvi exch inflate cvi + } def + + % Determine the original font of a possibly transformed font. + % Since some badly behaved PostScript files construct transformed + % fonts "by hand", we can't just rely on the OrigFont pointers. + % Instead, if a font with the given name exists, and if its + % entries for FontType and UniqueID match those of the font we + % obtain by following the OrigFont chain, we use that font. + +/origfont + { { dup /OrigFont known not { exit } if /OrigFont get } loop + FontDirectory 1 index /FontName get .knownget + { % Stack: origfont namedfont + 1 index /FontType get 1 index /FontType get eq + { 1 index /UniqueID .knownget + { 1 index /UniqueID .knownget + { eq { exch } if } + { pop } + ifelse + } + if + } + if pop + } + if + } def + + + % Determine the bounding box of the current device's image. + % Free variables: row, zerow. + +/devbbox % devbbox + { % Find top and bottom whitespace. + dup + { dup 0 eq { exit } if 1 sub + dup currentdevice exch row copyscanlines + zerow ne { 1 add exit } if + } + loop % ymax1 + 0 + { 2 copy eq { exit } if + dup currentdevice exch row copyscanlines + zerow ne { exit } if + 1 add + } + loop % ymin + exch + % Find left and right whitespace. + 3 index 0 + % Stack: rw rh ymin ymax1 xmin xmax1 + 3 index 1 4 index 1 sub + { currentdevice exch row copyscanlines .findzeros + exch 4 1 roll .max 3 1 roll .min exch + } + for % xmin xmax1 + % Special check: xmin > xmax1 if height = 0 + 2 copy gt { exch pop dup } if + 6 -2 roll pop pop + + } def + + % Write values on outfile. + + /w1 { 255 and outfile exch write } def + /w2 { dup -8 bitshift w1 w1 } def + /wbyte %