Import sources from 2011-03-30 iso image - sys/lib

This commit is contained in:
Taru Karttunen 2011-03-30 16:53:33 +03:00
parent b41b903422
commit e463eb4036
1144 changed files with 388460 additions and 0 deletions

View file

@ -0,0 +1 @@


506
sys/lib/ghostscript/Fontmap.bak Executable file
View file

@ -0,0 +1,506 @@
% Copyright (C) 1996 Aladdin Enterprises. All rights reserved.
%
% This file is part of Aladdin Ghostscript.
%
% Aladdin Ghostscript is distributed with NO WARRANTY OF ANY KIND. No author
% or distributor accepts any responsibility for the consequences of using it,
% or for whether it serves any particular purpose or works at all, unless he
% or she says so in writing. Refer to the Aladdin Ghostscript Free Public
% License (the "License") for full details.
%
% Every copy of Aladdin 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 Aladdin 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.
% 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.
% 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
/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 <wolff@inf.fu-berlin.de>, 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
%
% This section is all: Plan 9 Feb/98
% Fonts known to Plan 9
/LucidaSansUnicode00 (lsunr00.pfa) ;
/LucidaSansUnicode01 (lsunr01.pfa) ;
/LucidaSansUnicode02 (lsunr02.pfa) ;
/LucidaSansUnicode03 (lsunr03.pfa) ;
/LucidaSansUnicode04 (lsunr04.pfa) ;
/LucidaSansUnicode05 (lsunr05.pfa) ;
/LucidaSansUnicode20 (lsunr20.pfa) ;
/LucidaSansUnicode21 (lsunr21.pfa) ;
/LucidaSansUnicode22 (lsunr22.pfa) ;
/LucidaSansUnicode24 (lsunr24.pfa) ;
/LucidaSans-Demi (LucidaSansB) ;
/LucidaSans-Italic (LucidaSansI) ;
/LucidaTypewriter (LucidaCW) ;
/ACaslon-AltBold (ACaslon-AltBold) ;
/ACaslon-AltItalic (ACaslon-AltItalic) ;
/ACaslon-AltRegular (ACaslon-AltRegular) ;
/ACaslon-Bold (ACaslon-Bold) ;
/ACaslon-Italic (ACaslon-Italic) ;
/ACaslon-Regular (ACaslon-Regular) ;
/ACaslon-SwashItalic (ACaslon-SwashItalic) ;
/ACaslon-SwashSemiboldItalic (ACaslon-SwashSemiboldItalic) ;
/ATTLogoPlain (ATTLogoPlain) ;
/AvantGarde-Book (AvantGarde-Book) ;
/AvantGarde-BookOblique (AvantGarde-BookOblique) ;
/AvantGarde-Demi (AvantGarde-Demi) ;
/AvantGarde-DemiOblique (AvantGarde-DemiOblique) ;
/Bookman-Demi (Bookman-Demi) ;
/Bookman-DemiItalic (Bookman-DemiItalic) ;
/Bookman-Light (Bookman-Light) ;
/Bookman-LightItalic (Bookman-LightItalic) ;
/Courier (Courier) ;
/Courier-Bold (Courier-Bold) ;
/Courier-BoldOblique (Courier-BoldOblique) ;
/Courier-Oblique (Courier-Oblique) ;
/GalileoBold (GalileoBold) ;
/GalileoBoldItalic (GalileoBoldItalic) ;
/GalileoItalic (GalileoItalic) ;
/GalileoRoman (GalileoRoman) ;
/Garamond-Bold (Garamond-Bold) ;
/Garamond-BoldCondensed (Garamond-BoldCondensed) ;
/Garamond-BoldCondensedItalic (Garamond-BoldCondensedItali) ;
/Garamond-BoldItalic (Garamond-BoldItalic) ;
/Garamond-Book (Garamond-Book) ;
/Garamond-BookCondensed (Garamond-BookCondensed) ;
/Garamond-BookCondensedItalic (Garamond-BookCondensedItali) ;
/Garamond-BookItalic (Garamond-BookItalic) ;
/Garamond-Light (Garamond-Light) ;
/Garamond-LightCondensed (Garamond-LightCondensed) ;
/Garamond-LightCondensedItalic (Garamond-LightCondensedItal) ;
/Garamond-LightItalic (Garamond-LightItalic) ;
/Garamond-Ultra (Garamond-Ultra) ;
/Garamond-UltraCondensed (Garamond-UltraCondensed) ;
/Garamond-UltraCondensedItalic (Garamond-UltraCondensedItal) ;
/Garamond-UltraItalic (Garamond-UltraItalic) ;
/Helvetica (Helvetica) ;
/Helvetica-Bold (Helvetica-Bold) ;
/Helvetica-BoldOblique (Helvetica-BoldOblique) ;
/Helvetica-Narrow (Helvetica-Narrow) ;
/Helvetica-Narrow-Bold (Helvetica-Narrow-Bold) ;
/Helvetica-Narrow-BoldOblique (Helvetica-Narrow-BoldObliqu) ;
/Helvetica-Narrow-Oblique (Helvetica-Narrow-Oblique) ;
/Helvetica-Oblique (Helvetica-Oblique) ;
%/Helvetica-Condensed (Helvetica-Condensed) ;
%/Helvetica-Condensed-Light (Helvetica-Condensed-Light) ;
%/Helvetica-Condensed-Bold (Helvetica-Condensed-Bold) ;
%/Helvetica-Condensed-Black (Helvetica-Condensed-Black) ;
%/HelveticaNeue-Roman (Helvetica) ;
%/HelveticaNeue-Bold (Helvetica-Bold) ;
%/HelveticaNeue-Italic (Helvetica-Oblique) ;
/NewCenturySchlbk-Bold (NewCenturySchlbk-Bold) ;
/NewCenturySchlbk-BoldItalic (NewCenturySchlbk-BoldItalic) ;
/NewCenturySchlbk-Italic (NewCenturySchlbk-Italic) ;
/NewCenturySchlbk-Roman (NewCenturySchlbk-Roman) ;
/Optima (Optima) ;
/Palatino-Bold (Palatino-Bold) ;
/Palatino-BoldItalic (Palatino-BoldItalic) ;
/Palatino-Italic (Palatino-Italic) ;
/Palatino-Roman (Palatino-Roman) ;
/Symbol (Symbol) ;
/Tekton (Tekton) ;
/Tekton-Bold (Tekton-Bold) ;
/Tekton-BoldOblique (Tekton-BoldOblique) ;
/Tekton-Oblique (Tekton-Oblique) ;
/Times-Bold (Times-Bold) ;
/Times-BoldItalic (Times-BoldItalic) ;
/Times-Italic (Times-Italic) ;
/Times-Roman (Times-Roman) ;
/TrumpMediaeval-Bold (TrumpMediaeval-Bold) ;
/Univers-BoldExt (Univers-BoldExt) ;
/Univers-Condensed (Univers-Condensed) ;
/Univers-CondensedBold (Univers-CondensedBold) ;
/Univers-CondensedOblique (Univers-CondensedOblique) ;
/Univers-Extended (Univers-Extended) ;
/Univers-ExtendedObl (Univers-ExtendedObl) ;
/Walbaum-Bold (Walbaum-Bold) ;
/Walbaum-Italic (Walbaum-Italic) ;
/Walbaum-Roman (Walbaum-Roman) ;
/Weiss (Weiss) ;
/Weiss-Bold (Weiss-Bold) ;
/Weiss-Italic (Weiss-Italic) ;
/ZapfChancery-MediumItalic (ZapfChancery-MediumItalic) ;
/ZapfDingbats (ZapfDingbats) ;

399
sys/lib/ghostscript/Fontmap.gs Executable file
View file

@ -0,0 +1,399 @@
% Copyright (C) 1996 Aladdin Enterprises. All rights reserved.
%
% This file is part of Aladdin Ghostscript.
%
% Aladdin Ghostscript is distributed with NO WARRANTY OF ANY KIND. No author
% or distributor accepts any responsibility for the consequences of using it,
% or for whether it serves any particular purpose or works at all, unless he
% or she says so in writing. Refer to the Aladdin Ghostscript Free Public
% License (the "License") for full details.
%
% Every copy of Aladdin 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 Aladdin 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.
% 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.
% 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
/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 <wolff@inf.fu-berlin.de>, 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

35
sys/lib/ghostscript/PDFX_def.ps Executable file
View file

@ -0,0 +1,35 @@
%!
% $Id: PDFX_def.ps,v 1.1 2005/09/12 11:34:50 leonardo Exp $
% This is a sample prefix file for creating a PDF/X-3 document.
% Feel free to modify entries marked with "Customize".
% This assumes an ICC profile to reside in the file (ISO Coated sb.icc),
% unless the user modifies the corresponding line below.
% Define emtries to the document Info dictionary :
/ICCProfile (ISO Coated sb.icc) % Customize.
def
[ /GTS_PDFXVersion (PDF/X-3:2001) % Must be so (the standard requires).
/Title (Title) % Customize.
/Trapped /False % Must be so (Ghostscript doesn't provide other).
/DOCINFO pdfmark
% Define an IDD profile :
[/_objdef {icc_PDFX} /type /stream /OBJ pdfmark
[{icc_PDFX} ICCProfile (r) file /PUT pdfmark
% Define the output intent dictionary :
[/_objdef {OutputIntent_PDFX} /type /dict /OBJ pdfmark
[{OutputIntent_PDFX} <<
/Type /OutputIntent % Must be so (the standard requires).
/S /GTS_PDFX % Must be so (the standard requires).
/OutputCondition (Commercial and specialty printing) % Customize
/Info (none) % Customize
/OutputConditionIdentifier (Custom) % Customize
/DestOutputProfile {icc_PDFX} % Must be so (see above).
>> /PUT pdfmark
[{Catalog} <</OutputIntents [ {OutputIntent_PDFX} ]>> /PUT pdfmark

506
sys/lib/ghostscript/_Fontmap Executable file
View file

@ -0,0 +1,506 @@
% Copyright (C) 1996 Aladdin Enterprises. All rights reserved.
%
% This file is part of Aladdin Ghostscript.
%
% Aladdin Ghostscript is distributed with NO WARRANTY OF ANY KIND. No author
% or distributor accepts any responsibility for the consequences of using it,
% or for whether it serves any particular purpose or works at all, unless he
% or she says so in writing. Refer to the Aladdin Ghostscript Free Public
% License (the "License") for full details.
%
% Every copy of Aladdin 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 Aladdin 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.
% 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.
% 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
/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 <wolff@inf.fu-berlin.de>, 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
%
% This section is all: Plan 9 Feb/98
% Fonts known to Plan 9
/LucidaSansUnicode00 (lsunr00.pfa) ;
/LucidaSansUnicode01 (lsunr01.pfa) ;
/LucidaSansUnicode02 (lsunr02.pfa) ;
/LucidaSansUnicode03 (lsunr03.pfa) ;
/LucidaSansUnicode04 (lsunr04.pfa) ;
/LucidaSansUnicode05 (lsunr05.pfa) ;
/LucidaSansUnicode20 (lsunr20.pfa) ;
/LucidaSansUnicode21 (lsunr21.pfa) ;
/LucidaSansUnicode22 (lsunr22.pfa) ;
/LucidaSansUnicode24 (lsunr24.pfa) ;
/LucidaSans-Demi (LucidaSansB) ;
/LucidaSans-Italic (LucidaSansI) ;
/LucidaTypewriter (LucidaCW) ;
/ACaslon-AltBold (ACaslon-AltBold) ;
/ACaslon-AltItalic (ACaslon-AltItalic) ;
/ACaslon-AltRegular (ACaslon-AltRegular) ;
/ACaslon-Bold (ACaslon-Bold) ;
/ACaslon-Italic (ACaslon-Italic) ;
/ACaslon-Regular (ACaslon-Regular) ;
/ACaslon-SwashItalic (ACaslon-SwashItalic) ;
/ACaslon-SwashSemiboldItalic (ACaslon-SwashSemiboldItalic) ;
/ATTLogoPlain (ATTLogoPlain) ;
/AvantGarde-Book (AvantGarde-Book) ;
/AvantGarde-BookOblique (AvantGarde-BookOblique) ;
/AvantGarde-Demi (AvantGarde-Demi) ;
/AvantGarde-DemiOblique (AvantGarde-DemiOblique) ;
/Bookman-Demi (Bookman-Demi) ;
/Bookman-DemiItalic (Bookman-DemiItalic) ;
/Bookman-Light (Bookman-Light) ;
/Bookman-LightItalic (Bookman-LightItalic) ;
/Courier (Courier) ;
/Courier-Bold (Courier-Bold) ;
/Courier-BoldOblique (Courier-BoldOblique) ;
/Courier-Oblique (Courier-Oblique) ;
/GalileoBold (GalileoBold) ;
/GalileoBoldItalic (GalileoBoldItalic) ;
/GalileoItalic (GalileoItalic) ;
/GalileoRoman (GalileoRoman) ;
/Garamond-Bold (Garamond-Bold) ;
/Garamond-BoldCondensed (Garamond-BoldCondensed) ;
/Garamond-BoldCondensedItalic (Garamond-BoldCondensedItali) ;
/Garamond-BoldItalic (Garamond-BoldItalic) ;
/Garamond-Book (Garamond-Book) ;
/Garamond-BookCondensed (Garamond-BookCondensed) ;
/Garamond-BookCondensedItalic (Garamond-BookCondensedItali) ;
/Garamond-BookItalic (Garamond-BookItalic) ;
/Garamond-Light (Garamond-Light) ;
/Garamond-LightCondensed (Garamond-LightCondensed) ;
/Garamond-LightCondensedItalic (Garamond-LightCondensedItal) ;
/Garamond-LightItalic (Garamond-LightItalic) ;
/Garamond-Ultra (Garamond-Ultra) ;
/Garamond-UltraCondensed (Garamond-UltraCondensed) ;
/Garamond-UltraCondensedItalic (Garamond-UltraCondensedItal) ;
/Garamond-UltraItalic (Garamond-UltraItalic) ;
/Helvetica (Helvetica) ;
/Helvetica-Bold (Helvetica-Bold) ;
/Helvetica-BoldOblique (Helvetica-BoldOblique) ;
/Helvetica-Narrow (Helvetica-Narrow) ;
/Helvetica-Narrow-Bold (Helvetica-Narrow-Bold) ;
/Helvetica-Narrow-BoldOblique (Helvetica-Narrow-BoldObliqu) ;
/Helvetica-Narrow-Oblique (Helvetica-Narrow-Oblique) ;
/Helvetica-Oblique (Helvetica-Oblique) ;
%/Helvetica-Condensed (Helvetica-Condensed) ;
%/Helvetica-Condensed-Light (Helvetica-Condensed-Light) ;
%/Helvetica-Condensed-Bold (Helvetica-Condensed-Bold) ;
%/Helvetica-Condensed-Black (Helvetica-Condensed-Black) ;
%/HelveticaNeue-Roman (Helvetica) ;
%/HelveticaNeue-Bold (Helvetica-Bold) ;
%/HelveticaNeue-Italic (Helvetica-Oblique) ;
/NewCenturySchlbk-Bold (NewCenturySchlbk-Bold) ;
/NewCenturySchlbk-BoldItalic (NewCenturySchlbk-BoldItalic) ;
/NewCenturySchlbk-Italic (NewCenturySchlbk-Italic) ;
/NewCenturySchlbk-Roman (NewCenturySchlbk-Roman) ;
/Optima (Optima) ;
/Palatino-Bold (Palatino-Bold) ;
/Palatino-BoldItalic (Palatino-BoldItalic) ;
/Palatino-Italic (Palatino-Italic) ;
/Palatino-Roman (Palatino-Roman) ;
/Symbol (Symbol) ;
/Tekton (Tekton) ;
/Tekton-Bold (Tekton-Bold) ;
/Tekton-BoldOblique (Tekton-BoldOblique) ;
/Tekton-Oblique (Tekton-Oblique) ;
/Times-Bold (Times-Bold) ;
/Times-BoldItalic (Times-BoldItalic) ;
/Times-Italic (Times-Italic) ;
/Times-Roman (Times-Roman) ;
/TrumpMediaeval-Bold (TrumpMediaeval-Bold) ;
/Univers-BoldExt (Univers-BoldExt) ;
/Univers-Condensed (Univers-Condensed) ;
/Univers-CondensedBold (Univers-CondensedBold) ;
/Univers-CondensedOblique (Univers-CondensedOblique) ;
/Univers-Extended (Univers-Extended) ;
/Univers-ExtendedObl (Univers-ExtendedObl) ;
/Walbaum-Bold (Walbaum-Bold) ;
/Walbaum-Italic (Walbaum-Italic) ;
/Walbaum-Roman (Walbaum-Roman) ;
/Weiss (Weiss) ;
/Weiss-Bold (Weiss-Bold) ;
/Weiss-Italic (Weiss-Italic) ;
/ZapfChancery-MediumItalic (ZapfChancery-MediumItalic) ;
/ZapfDingbats (ZapfDingbats) ;

100
sys/lib/ghostscript/acctest.ps Executable file
View file

@ -0,0 +1,100 @@
%!
% Check that operators do their access tests correctly.
% $Id: acctest.ps,v 1.4 2002/02/21 21:49:28 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

357
sys/lib/ghostscript/addxchar.ps Executable file
View file

@ -0,0 +1,357 @@
% Copyright (C) 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.
%
% 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.
% $Id: addxchar.ps,v 1.4 2002/02/21 21:49:28 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 { % <name> <font> openfont <name> <font'>
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 { % <glyph> glyphpath -
currentfont /Encoding get 0 3 -1 roll put
<00> false charpath
} def
% Do the equivalent of charpath + pathbbox for a glyph.
/glyphbbox { % <glyph> glyphbbox <llx> <lly> <urx> <ury>
% 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 { % <glyph> glyphsbw <lsbx> <wx>
% 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 { % <glyph> glyphcs <array>
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 { % <array> <value> asearch <index> true
% <array> <value> 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 { % <glyph> <array> csdef -
charproc_string
4330 exch dup .type1encrypt exch pop readonly
CharStrings 3 1 roll put
} def
% Split an accented character name.
/splitaccented { % <Baccent> splitaccented <Baccent> <B> <accent>
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 { % <bchar> <achar> beginseac
% -mark- <lsbx> <wx> /hsbw <asb> <dx>
/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 { % <dx> centeraccent <adx>
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 { % <charname> -mark- ... <adx> <ady> 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 { % <name> <font> addce <font'>
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

73
sys/lib/ghostscript/align.ps Executable file
View file

@ -0,0 +1,73 @@
% Copyright (C) 1989, 1996 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.
%
% 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.
% $Id: align.ps,v 1.4 2002/02/21 21:49:28 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

795
sys/lib/ghostscript/bdftops.ps Executable file
View file

@ -0,0 +1,795 @@
% Copyright (C) 1990, 1995, 1996 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.
%
% 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.
% $Id: bdftops.ps,v 1.7 2003/08/06 17:05:09 alexcher 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 % <infilename> <outfilename> <fontname>
% <encodingname> <uniqueID> <xuid> readBDF -> <font>
{ /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 <cbits.interval> <buffer.interval>
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 16 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

56
sys/lib/ghostscript/caption.ps Executable file
View file

@ -0,0 +1,56 @@
%!
% Copyright (C) 1995 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.
%
% 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.
% $Id: caption.ps,v 1.4 2002/02/21 21:49:28 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

160
sys/lib/ghostscript/cid2code.ps Executable file
View file

@ -0,0 +1,160 @@
% Copyright (C) 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.
%
% 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.
% $Id: cid2code.ps,v 1.5 2002/02/21 21:49:28 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 { % <int16> .printhex2 -
(<) print
16#10000 add 16 =string cvrs 1 4 getinterval print
(>) print
} def
/.cid2code { % <cmaptemplate> <file> <column> .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

28
sys/lib/ghostscript/cidfmap Executable file
View file

@ -0,0 +1,28 @@
%!
% $Id: cidfmap,v 1.7 2003/02/07 00:31:11 igor Exp $
% This is a sample map file for CIDFont category.
%
% The map is a set of records, which must use one of the two formats :
%
% 1. A substutution of a CIF font with another CID font :
%
% /substituted /original ;
%
% Where 'substituted' is a name being used in a document,
% 'original' is a name of an available resource.
%
% 2. A substutution of a CIF font with a True Type font :
%
% /substituted << /FileType /TrueType /Path (path) /SunfontID 1 /CSI [(ordering) supplement] >> ;
%
% Where 'substituted' is a name being used in a document,
% 'path' is a path to a True Type font file,
% 'ordering' is a value of Ordering required for CIDSystemInfo dictionary,
% 'supplement' is a value of Supplement required for CIDSystemInfo dictionary.
%
% Examples :
%
% /ShinGo-Bold /HeiseiKakuGo-W5 ;
% /Ryumin-Medium << /FileType /TrueType /Path (H:/AuxFiles/Fonts/BATANG.TTC) /SubfontID 3 /CSI [(Japan1) 2] >> ;
%

15
sys/lib/ghostscript/decrypt.ps Executable file
View file

@ -0,0 +1,15 @@
%!
% Decrypt an eexec-encoded file.
% $Id: decrypt.ps,v 1.6 2002/02/21 21:49:28 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

218
sys/lib/ghostscript/docie.ps Executable file
View file

@ -0,0 +1,218 @@
% Copyright (C) 1995 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.
%
% 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.
% $Id: docie.ps,v 1.5 2003/04/12 18:08:18 ray Exp $
% docie.ps
% Emulate CIE algorithms in PostScript.
% ---------------- Auxiliary procedures ---------------- %
/r1default [0 1] def
/r3default [0 1 0 1 0 1] def
/apply3 % <u> <v> <w> [<pu> <pv> <pw>] apply3 <u'> <v'> <w'>
{ { 4 -1 roll exch exec } forall
} bind def
/restrict % <u> <min> <max> restrict <u'>
{ 3 1 roll .max .min
} bind def
/restrict3 % <u> <v> <w> [<minu> ... <maxw>] restrict3 <u'> <v'> <w'>
{ 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 % <u> <min> <max> rescale <u'>
{ 1 index sub 3 1 roll sub exch div 0 .max 1 .min
} bind def
/rescale3 % <u> <v> <w> [<minu> ... <maxw>] rescale3 <u'> <v'> <w'>
{ 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 % <u> <v> <w> [<uu> <uv> ... <wv> <ww>] mmult3
% <u'> <v'> <w'>
{ 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 % [<uu> <uv> ... <wv> <ww>] minvert3
% [<uu'> <uv'> ... <wv'> <ww'>]
{ 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 % <csdict> <l> <m> <n> csmap <csdict> <x> <y> <z>
{ 3 index /RangeLMN .knownget not { r3default } if restrict3
DOCIEDEBUG { (After RangeLMN Decode: ) print3 } if
3 index /DecodeLMN .knownget { apply3 } if
DOCIEDEBUG { (After DecodeLMN Decode: ) print3 } if
3 index /MatrixLMN .knownget { mmult3 } if
DOCIEDEBUG { (After MatrixLMN Decode: ) print3 } if
} bind def
/csciea % <csdict> <a> csciea <csdict> <x> <y> <z>
{ 1 index /RangeA .knownget not { r1default } if restrict
DOCIEDEBUG { (After RangeA Decode: ) print1 } if
1 index /DecodeA .knownget { exec } if
DOCIEDEBUG { (After DecodeA Decode: ) print1 } if
1 index /MatrixA .knownget
{ { 1 index mul exch } forall pop }
{ dup dup }
ifelse
DOCIEDEBUG { (After MatrixA Decode: ) print3 } if
csmap
} bind def
/cscieabc % <csdict> <a> <b> <c> cscieabc <csdict> <x> <y> <z>
{ 3 index /RangeABC .knownget not { r3default } if restrict3
DOCIEDEBUG { (After RangeABC Decode: ) print3 } if
3 index /DecodeABC .knownget { apply3 } if
DOCIEDEBUG { (After DecodeABC Decode: ) print3 } if
3 index /MatrixABC .knownget { mmult3 } if
DOCIEDEBUG { (After MatrixABC Decode: ) print3 } if
csmap
} bind def
% ---------------- Rendering from XYZ ---------------- %
/lookup3 % <rtable> <a[0..1]> <b[0..1]> <c[0..1]> lookup3
% <rtable> <bytes>
{ 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
DOCIEDEBUG { (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
DOCIEDEBUG { (RenderTable values: ) print (<) print (%stdout) (w) file 1 index writehexstring (>) = } if
} bind def
/bpdefault [0 0 0] def
/crmap % <csdict> <crdict> <x> <y> <z> crmap <v1> ...
{
DOCIEDEBUG { (CIE XYZ = ) print3 } if
3 index /MatrixPQR .knownget { mmult3 } if
DOCIEDEBUG { (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
DOCIEDEBUG { (After TransformPQR: ) print3 } if
3 index /MatrixPQR .knownget { minvert3 mmult3 } if
DOCIEDEBUG { (After MatrixPQR': ) print3 } if
3 index /MatrixLMN .knownget { mmult3 } if
DOCIEDEBUG { (After MatrixLMN Encode: ) print3 } if
3 index /EncodeLMN .knownget { apply3 } if
DOCIEDEBUG { (After EncodeLMN Encode: ) print3 } if
3 index /RangeLMN .knownget not { r3default } if restrict3
DOCIEDEBUG { (After RangeLMN Encode: ) print3 } if
3 index /MatrixABC .knownget { mmult3 } if
DOCIEDEBUG { (After MatrixABC Encode: ) print3 } if
3 index /EncodeABC .knownget { apply3 } if
DOCIEDEBUG { (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
DOCIEDEBUG { (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
DOCIEDEBUG { (After RenderTableT: ) print ] dup == aload pop } if
}
{ restrict3
DOCIEDEBUG { (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 % <a> mapcie <v1> ...
% <a> <b> <c> mapcie <v1> ...
{ currentcolorspace dup 0 get //mapdict exch get exec
} bind def

756
sys/lib/ghostscript/dumphint.ps Executable file
View file

@ -0,0 +1,756 @@
% Copyright (C) 2000, 2001 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.
%
% 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.
% $Id: dumphint.ps,v 1.2 2004/04/08 16:18:25 giles Exp $
% Linearized PDF hint formatting utility.
%
% Linearized PDF hints generated by Acrobat suite seem to deviate from
% the published specification.
%
% /P (page offset hint table) key in hint stream is not generated by
% Adobe products. The key is no longer required in PDF 1.5.
%
% Per-page items 4 and 5 of the page offset hint table start from 1st
% page rather than 2nd page as the spec claims.
%
% All array entries start from the new byte boundary.
%
/table_width 79 def
/col1_width 66 def
% Skip bits to the next byte boundary
/bytealign { % <stream> bytealign -
begin /N 0 def /B 0 def end
} bind def
% Set bit stream position and align it to byte boundary
/set_align { % <<>> pos set_align -
exch begin
S exch setfileposition
/N 0 def /B 0 def
end
} bind def
% Read requested number of bits from the bit stream.
/bitread { % <bstream> <width> bitwrite <value>
exch begin
0 % bit val
{
1 index N .min % bit val m
dup 3 1 roll % bit m val m
bitshift % bit m val<<m
B 2 index N sub % bit m val<<m B m-N
bitshift add % bit m val<<m+B>>(N-m)
3 -1 roll % m val' bit
2 index sub % m val' bit'
3 -1 roll % val' bit' m
N exch sub dup % val' bit' N' N'
1 exch bitshift % val' bit' N' 1<<N'
1 sub B and % val' bit' N' B&(1<<N')
/B exch def % val' bit' N'
/N exch def % val' bit'
dup 0 le {
pop exit % val'
} if
/N N 8 add def
/B B 8 bitshift S read not { 0 ( *** EOF! *** ) = } if add def
exch
} loop % bit' val'
end
} bind def
% Print a string several times
/multiprint { % cnt (s) multiprint -
exch { dup print } repeat pop
} bind def
% Split the line into 2 substrings.
/split_line { % (s) split_line () ()
dup length col1_width gt {
col1_width 1 sub
dup -1 0 {
dup % (s) w i i
3 index % (s) w i i ()
exch get % (s) w i c
32 eq {
exch pop exit
} if
pop
} for
1 add % (s) w'
1 index exch % (s) (s) w'
0 exch % (s) (s) 0 w'
getinterval % (s) (v)
} {
dup % (s) (s)
} ifelse
(\n) search {
4 1 roll % (pre) (s) (post) (match)
pop pop % (pre) (s)
1 index length % (pre) (s) len
1 add % (pre) (s) len+1
} {
exch % (pre) (s)
1 index length % (pre) (s) len
} ifelse
1 index length % (pre) (s) len Len
1 index sub % (pre) (s) len Len-len
getinterval % (pre) (post)
} bind def
% Print a 2 column table. The string is printed in 1st column
% left-aligned. The number is printed in 2nd column right-aligned.
/two_column { % n () two_column -
split_line % n (a) ()
3 1 roll % () n (a)
dup length % () n (a) len
exch print % () n len
exch =string cvs % () len (n)
dup length % () len (n) len2
3 -1 roll add % () (n) len+len2
//table_width % () (n) len+len2 78
exch sub % () (n) 78-len+len2
( ) multiprint % () (n)
= % ()
{ dup length 0 eq { exit } if
split_line exch =
} loop
pop
() =
} bind def
% Print the header of a hint table
/table_header { % () table_header -
dup length dup
table_width exch sub 2 idiv % () len sp
dup ( ) multiprint % () len sp
3 -1 roll = % len sp
( ) multiprint % len
(=) multiprint
()= ()=
} bind def
% Pretty-print an array on top level
/dump_array { % [ ] dump_array -
([) = ( ) print
1 exch {
=string cvs % pos ()
dup length dup % pos () len len
3 index add 1 add % pos () len len+pos+1
table_width gt {
() =
( ) print % pos () len
2 add % pos () pos'
3 1 roll print pop % pos'
} {
( ) print % pos () len
exch print % pos len
add 1 add % pos'
} ifelse
} forall
pop
() = (]) =
} bind def
% Pretty-print an array on 2nd level
/dump_array2 { % [ ] dump_array2 -
( [) print
3 exch {
=string cvs % pos ()
dup length dup % pos () len len
3 index add 1 add % pos () len len+pos+1
table_width 2 sub gt {
() =
( ) print % pos () len
4 add % pos () pos'
3 1 roll print pop % pos'
} {
( ) print % pos () len
exch print % pos len
add 1 add % pos'
} ifelse
} forall
pop
( ]) =
} bind def
% Print an array header
/array_header {
() = =
} bind def
% Analyze the page offset hint table.
/dump_page_offset_table { % - dump_page_offset_table -
hint_stream
dup 32 bitread
dup /hint_minnop exch def
(1. The least number of objects in a page.) two_column
dup 32 bitread
dup /hint_1st_obj exch def
(2. Location of the first page's page object.) two_column
dup 16 bitread
dup /hint_maxnopbits exch def
(3. Bits for difference between max and min number of page objects.) two_column
dup 32 bitread
dup /hint_minpl exch def
(4. Least length of a page.) two_column
dup 16 bitread
dup /hint_maxplbits exch def
(5. Bits for difference between max and min length of a page.) two_column
dup 32 bitread
dup /hint_minsco exch def
(6. Least start of Contents offset. )
1 index 0 ne { (\n*** Acrobat expects 0 ***) concatstrings } if
two_column
dup 16 bitread
dup /hint_maxscobits exch def
(7. Bits for difference between max and min offset to the start of the content stream.) two_column
dup 32 bitread
dup /hint_mincl exch def
(8. Least contents length.) two_column
dup 16 bitread
dup /hint_maxclbits exch def
(9. Bits needed to represent the greatest Contents length.) two_column
dup 16 bitread
dup /hint_maxsorbits exch def
(10. Bits needed to represent the greatest number of Shared Object references.) two_column
dup 16 bitread
dup /hint_sobits exch def
(11. Bits needed to identify a Shared Object.) two_column
dup 16 bitread
dup /hint_numfbits exch def
(12. Bits needed to represent numerator of fraction.) two_column
dup 16 bitread
dup /hint_denf exch def
(13. Denominator of fraction.) two_column
pop
LinearizationParams /N get
% 1. Number of objects in the page.
hint_stream bytealign
/hint_page_obj [
2 index {
hint_stream hint_maxnopbits bitread
hint_minnop add
} repeat
] readonly def
(1. Number of objects on the page) array_header
hint_page_obj dump_array
% 2, Page length in bytes.
hint_stream bytealign
/hint_page_len [
2 index {
hint_stream hint_maxplbits bitread
hint_minpl add
} repeat
] readonly def
(2. Page length in bytes.) array_header
hint_page_len dump_array
% 3, Number of shared objects referenced from the page
hint_stream bytealign
/hint_page_sobj [
2 index {
hint_stream hint_maxsorbits bitread
} repeat
] readonly def
(3. Number of shared objects referenced from the page.) array_header
hint_page_sobj dump_array
% 4. Index into the shared objects hint table
hint_stream bytealign
/hint_page_sobj_id [
0 1 4 index 1 sub {
hint_page_sobj exch get [
exch {
hint_stream hint_sobits bitread
} repeat
] readonly
} for
] readonly def
(4. Index into the shared objects hint table.) array_header
([) =
hint_page_sobj_id { dump_array2 } forall
(])=
% 5. Fractional position for each shared object reference
hint_stream bytealign
/hint_page_sobj_pos [
0 1 4 index 1 sub {
hint_page_sobj exch get [
exch {
hint_stream hint_numfbits bitread
hint_denf div
} repeat
] readonly
} for
] readonly def
(5. Fractional position for each shared object reference. ) array_header
([)=
hint_page_sobj_pos { dump_array2 } forall
(])=
% 6. Offset of the page's content stream from the beginning of the page.
hint_stream bytealign
/hint_page_content_offset [
2 index {
hint_stream hint_maxscobits bitread
hint_minsco add
} repeat
] readonly def
(6. Offset of the page's content stream from the beginning of the page.) array_header
hint_page_content_offset dump_array
% 7. Length of the page's content stream in bytes.
hint_stream bytealign
/hint_page_content_len [
2 index {
hint_stream hint_maxclbits bitread
hint_mincl add
} repeat
] readonly def
(7. Length of the page's content stream in bytes.) array_header
hint_page_content_len dump_array
pop
} bind def
% Analyze tha shared object hint table
/dump_shared_object_table {
hint_stream
dup 32 bitread
dup /shint_1st_obj_id exch def
(1. Object number of the first object in the shared objects section) two_column
dup 32 bitread
dup /shint_1st_obj_pos exch def
(2. Location of the first object in the shared objects section.) two_column
dup 32 bitread
dup /shint_1st_shared exch def
(3. The number of shared object entries for the first page.) two_column
dup 32 bitread
dup /shint_all_shared exch def
(4. Number of shared object entries for the shared objects section including 1st page.) two_column
dup 16 bitread
dup /shint_group_bits exch def
(5. Number of bits needed to represent the greatest number of objects in a shared object group.) two_column
dup 32 bitread
dup /shint_group_least_sz exch def
(6. Least length of a shared object group in bytes.) two_column
dup 16 bitread
dup /shint_group_diff_bits exch def
(7. Bits for the difference between the greatest and least length of a shared object group size.) two_column
pop
(1. length of the object group in bytes.) array_header
hint_stream bytealign
/shint_group_sz [
shint_all_shared {
hint_stream shint_group_diff_bits bitread
shint_group_least_sz add
} repeat
] readonly def
shint_group_sz dump_array
(2. MD5 signature flag) array_header
hint_stream bytealign
/shint_md5_flags
[ shint_all_shared
{ hint_stream 1 bitread
} repeat
] readonly def
shint_md5_flags dump_array
(3. MD5 signature string) array_header
false shint_md5_flags { 0 ne or } forall {
shint_md5_flags {
0 eq {
(<>)=
} {
hint_stream /S get 128 string
readstring pop
dup length 128 eq {
==
} { pop (Error reading nd5 string.) ==
} ifelse
} ifelse
} forall
} {
() = (none) =
} ifelse
(4. The number of objects in the group.) array_header
hint_stream bytealign
/shint_group_cnt [
shint_all_shared {
hint_stream shint_group_bits bitread
} repeat
] readonly def
shint_group_cnt dump_array
} bind def
% Analyze the thumbnail hint table.
/dump_thumbnail_table {
hint_stream
dup 32 bitread
dup /thint_1st_obj_id exch def
(1. Object number of the first thumbnail image.) two_column
dup 32 bitread
dup /thint_1st_obj_pos exch def
(2. Location of the first thumbnail image.) two_column
dup 32 bitread
dup /thint_page_cnt exch def
(3. Number of pages that have thumbnail images.) two_column
dup 16 bitread
dup /thint_no_thumbnail_bits exch def
(4. Bits for the max number of consecutive pages without a thumbnail image.) two_column
dup 32 bitread
dup /thint_min_sz exch def
(5. The least length of a thumbnail image in bytes.) two_column
dup 15 bitread
dup /thint_obj_sz_bits exch def
(6. Bits for the difference between max and min length of a thumbnail image.) two_column
dup 32 bitread
dup /thint_min_obj_cnt exch def
(7. The least number of objects in a thumbnail image.) two_column
dup 16 bitread
dup /thint_obj_cnt_bits exch def
(8. Bits for the difference between max and min number of objects in a thumbnail image.) two_column
dup 32 bitread
dup /thint_1st_shared_obj exch def
(9. First object in the thumbnail shared objects section.) two_column
dup 32 bitread
dup /thint_1st_shared_pos exch def
(10. Location of the first object in the thumbnail shared objects section.) two_column
dup 32 bitread
dup /thint_shared_cnt exch def
(11. Number of thumbnail shared objects.) two_column
dup 32 bitread
dup /thint_shared_section_sz exch def
(12. Length of the thumbnail shared objects section in bytes.) two_column
pop
LinearizationParams /N get
(1. The number of preceding pages lacking a thumbnail image.) array_header
hint_stream bytealign
/thint_no_thumbnail_pages [
2 index {
hint_stream thint_no_thumbnail_bits bitread
} repeat
] readonly def
thint_no_thumbnail_pages dump_array
(2. Number of objects in this page's thumbnail image.) array_header
hint_stream bytealign
/thint_page_obj_cnt [
2 index {
hint_stream thint_obj_cnt_bits bitread
thint_min_obj_cnt add
} repeat
] readonly def
thint_page_obj_cnt dump_array
(3. Length of this page's thumbnail image in bytes.) array_header
hint_stream bytealign
/thint_page_obj_sz [
2 index {
hint_stream thint_obj_sz_bits bitread
thint_min_sz add
} repeat
] readonly def
thint_page_obj_sz dump_array
pop
} bind def
% Analyze the generic hint table.
% The hint field names are re-used.
/dump_generic_table {
hint_stream
dup 32 bitread
dup /ghint_1st_obj exch def
(1. Object number of the first object in the group.) two_column
dup 32 bitread
dup /ghint_1st_obj_pos exch def
(2. Location of the first object in the group.) two_column
dup 32 bitread
dup /ghint_obj_cnt exch def
(3. Number of objects in the group.) two_column
dup 32 bitread
dup /ghint_group_sz exch def
(4. Length of the object group in bytes.) two_column
pop
} bind def
% Analyze the interactive hint table.
% The hint field names are re-used.
/dump_interactive_table {
hint_stream
dup 32 bitread
dup /ihint_1st_obj exch def
(1. Object number of the first object in the group.) two_column
dup 32 bitread
dup /ihint_1st_obj_pos exch def
(2. Location of the first object in the group.) two_column
dup 32 bitread
dup /ihint_obj_cnt exch def
(3. Number of objects in the group.) two_column
dup 32 bitread
dup /ihint_group_sz exch def
(4. Length of the object group in bytes.) two_column
dup 32 bitread
dup /ihint_shared_cnt exch def
(5. Number of shared object references.) two_column
dup 16 bitread
dup /ihint_shared_obj_bits exch def
(6. Bits for the max shared object id used by the interactive form or the logical structure hierarchy.)
1 index hint_sobits ne {
(\n*** This fiels is not equal to max shared object ID bits ***) concatstrings
} if
pop
(7. Shared object identifier.) array_header
hint_stream bytealign
/ihint_shared_obj_id [
ihint_shared_cnt {
hint_stream hint_sobits bitread
} repeat
] readonly def
ihint_shared_obj_id dump_array
} bind def
% Enumerate all documented hint tables.
/dump_all_tables { % <<stream>> dump_all_tables -
(Page offset hint table) table_header
hint_stream 0 set_align
dump_page_offset_table
(S, Shared object hint table) table_header
dup /S .knownget {
hint_stream exch set_align
dump_shared_object_table
} {
(Required table is not found.) error_msg
} ifelse
dup /T .knownget {
(T, Thumbnail hint table) table_header
hint_stream exch set_align
dump_thumbnail_table
} if
dup /O .knownget {
(O, Outline hint table) table_header
hint_stream exch set_align
dump_generic_table
} if
dup /A .knownget {
(A, Thread information hint table) table_header
hint_stream exch set_align
dump_generic_table
} if
dup /E .knownget {
(E, Named destination hint table) table_header
hint_stream exch set_align
dump_generic_table
} if
dup /V .knownget {
(V, Interactive form hint table) table_header
hint_stream exch set_align
dump_interactive_table
} if
dup /I .knownget {
(I, Information dictionary hint table) table_header
hint_stream exch set_align
dump_generic_table
} if
dup /C .knownget {
(C, Logical structure hint table) table_header
hint_stream exch set_align
dump_interactive_table
} if
dup /L .knownget {
(L, Page label hint table) table_header
hint_stream exch set_align
dump_generic_table
} if
pop
} bind def
% Load PDF file and extract the hint stream.
/pdf_dump_hints { % <infile> pdf_dump_hints -
dup (r) file % fname
false exch % fname F file
{
dup 7 string readstring pop % fname F file ()
(%PDF-1.) ne { pop exit } if % fname F file
dup 0 setfileposition
dup token not { pop exit } if % fname F file obj
dup type /integertype ne { pop exit } if % fname F file obj
1 index token not { pop pop exit } if % fname F file obj gen
dup type /integertype ne {pop pop exit}if % fname F file obj gen
4 2 roll % fname obj gen F file
dup 0 setfileposition
exch true or % fname obj gen file T
exit
} loop
{
pdfdict begin
pdfopenfile dup begin
40 dict begin
/IDict exch def
.setsafe
% Read all objects into memory.
Trailer touch
resolveR % fname <<>>
dup /Linearized known {
dup /L get % fname <<>> Len
3 -1 roll status not { 0 0 0 0 } if % <<>> Len
pop pop exch pop % <<>> Len len
eq {
/LinearizationParams exch def
LinearizationParams /H get
dup length 2 eq {
0 get PDFoffset add PDFfile exch setfileposition
PDFfile token pop
PDFfile token pop
resolveR dup true resolvestream
/ReusableStreamDecode filter
bitstream dup bytealign
/hint_stream exch def
dump_all_tables
} {
pop
(Overflow hint stream is not supported.) =
} ifelse
} {
pop
(Wrong file length in linearization dictionary.) =
} ifelse
} {
pop (The file is not linearized.) =
} ifelse
end % temporary dict
end % IDict
end
} {
pop
(Input file is not a valid PDF file.) =
} ifelse
} bind def
% Initial setup
/dump_hints {
counttomark 1 eq {
exch pop
save exch
3000000 setvmthreshold
pdfoptdict begin
pdf_dump_hints
end
restore
true
} {
cleartomark false
} ifelse
} bind def
/shellarguments {false} def
(pdfopt.ps) runlibfile
currentdict /shellarguments undef
% Check for command line arguments.
mark shellarguments {
dump_hints not {
(Usage: gs -dNODISPLAY -- dumphint.ps input.pdf) = flush
} if
} {
pop
} ifelse
% EOF

362
sys/lib/ghostscript/errpage.ps Executable file
View file

@ -0,0 +1,362 @@
%!
% Copyright (C) 1992, 1996, 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.
%
% 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.
% $Id: errpage.ps,v 1.4 2002/02/21 21:49:28 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 % <proctail> findprocname <dstackindex> <procname> true
% <proctail> 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 % <command> <countexecstack> <errorname> 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= } { (<unknown>) 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

330
sys/lib/ghostscript/font/Fontmap Executable file
View file

@ -0,0 +1,330 @@
LucidaSans (/sys/lib/postscript/font/LucidaSans) ;
LucidaSans-Demi (/sys/lib/postscript/font/LucidaSans-Demi) ;
LucidaSans-DemiItalic (/sys/lib/postscript/font/LucidaSans-DemiItalic) ;
LucidaSans-Italic (/sys/lib/postscript/font/LucidaSans-Italic) ;
LucidaSans-Typewriter83 (/sys/lib/postscript/font/LucidaSans-Typewriter83) ;
LucidaSansUnicode00 (/sys/lib/postscript/font/lsunr00.pfa) ;
LucidaSansUnicode01 (/sys/lib/postscript/font/lsunr01.pfa) ;
LucidaSansUnicode02 (/sys/lib/postscript/font/lsunr02.pfa) ;
LucidaSansUnicode03 (/sys/lib/postscript/font/lsunr03.pfa) ;
LucidaSansUnicode04 (/sys/lib/postscript/font/lsunr04.pfa) ;
LucidaSansUnicode05 (/sys/lib/postscript/font/lsunr05.pfa) ;
LucidaSansUnicode20 (/sys/lib/postscript/font/lsunr20.pfa) ;
LucidaSansUnicode21 (/sys/lib/postscript/font/lsunr21.pfa) ;
LucidaSansUnicode22 (/sys/lib/postscript/font/lsunr22.pfa) ;
LucidaSansUnicode24 (/sys/lib/postscript/font/lsunr24.pfa) ;
LucidaSansUnicode25 (/sys/lib/postscript/font/lsunr25.pfa) ;
LucidaTypewriter (/sys/lib/postscript/font/LucidaTypewriter) ;
% alias for troff
LucidaCW (/sys/lib/postscript/font/LucidaTypewriter) ;
% Postscript versions of TeX fonts
CMB10 (/sys/lib/postscript/font/cm/cmb10.pfa) ;
CMBSY10 (/sys/lib/postscript/font/cm/cmbsy10.pfa) ;
CMBX10 (/sys/lib/postscript/font/cm/cmbx10.pfa) ;
CMBX12 (/sys/lib/postscript/font/cm/cmbx12.pfa) ;
CMBX5 (/sys/lib/postscript/font/cm/cmbx5.pfa) ;
CMBX6 (/sys/lib/postscript/font/cm/cmbx6.pfa) ;
CMBX7 (/sys/lib/postscript/font/cm/cmbx7.pfa) ;
CMBX8 (/sys/lib/postscript/font/cm/cmbx8.pfa) ;
CMBX9 (/sys/lib/postscript/font/cm/cmbx9.pfa) ;
CMBXSL10 (/sys/lib/postscript/font/cm/cmbxsl10.pfa) ;
CMBXTI10 (/sys/lib/postscript/font/cm/cmbxti10.pfa) ;
CMCSC10 (/sys/lib/postscript/font/cm/cmcsc10.pfa) ;
CMDUNH10 (/sys/lib/postscript/font/cm/cmdunh10.pfa) ;
CMEX10 (/sys/lib/postscript/font/cm/cmex10.pfa) ;
CMFF10 (/sys/lib/postscript/font/cm/cmff10.pfa) ;
CMFI10 (/sys/lib/postscript/font/cm/cmfi10.pfa) ;
CMFIB8 (/sys/lib/postscript/font/cm/cmfib8.pfa) ;
CMINCH (/sys/lib/postscript/font/cm/cminch.pfa) ;
CMITT10 (/sys/lib/postscript/font/cm/cmitt10.pfa) ;
CMMI10 (/sys/lib/postscript/font/cm/cmmi10.pfa) ;
CMMI12 (/sys/lib/postscript/font/cm/cmmi12.pfa) ;
CMMI5 (/sys/lib/postscript/font/cm/cmmi5.pfa) ;
CMMI6 (/sys/lib/postscript/font/cm/cmmi6.pfa) ;
CMMI7 (/sys/lib/postscript/font/cm/cmmi7.pfa) ;
CMMI8 (/sys/lib/postscript/font/cm/cmmi8.pfa) ;
CMMI9 (/sys/lib/postscript/font/cm/cmmi9.pfa) ;
CMMIB10 (/sys/lib/postscript/font/cm/cmmib10.pfa) ;
CMR10 (/sys/lib/postscript/font/cm/cmr10.pfa) ;
CMR12 (/sys/lib/postscript/font/cm/cmr12.pfa) ;
CMR17 (/sys/lib/postscript/font/cm/cmr17.pfa) ;
CMR5 (/sys/lib/postscript/font/cm/cmr5.pfa) ;
CMR6 (/sys/lib/postscript/font/cm/cmr6.pfa) ;
CMR7 (/sys/lib/postscript/font/cm/cmr7.pfa) ;
CMR8 (/sys/lib/postscript/font/cm/cmr8.pfa) ;
CMR9 (/sys/lib/postscript/font/cm/cmr9.pfa) ;
CMSL10 (/sys/lib/postscript/font/cm/cmsl10.pfa) ;
CMSL12 (/sys/lib/postscript/font/cm/cmsl12.pfa) ;
CMSL8 (/sys/lib/postscript/font/cm/cmsl8.pfa) ;
CMSL9 (/sys/lib/postscript/font/cm/cmsl9.pfa) ;
CMSLTT10 (/sys/lib/postscript/font/cm/cmsltt10.pfa) ;
CMSS10 (/sys/lib/postscript/font/cm/cmss10.pfa) ;
CMSS12 (/sys/lib/postscript/font/cm/cmss12.pfa) ;
CMSS17 (/sys/lib/postscript/font/cm/cmss17.pfa) ;
CMSS8 (/sys/lib/postscript/font/cm/cmss8.pfa) ;
CMSS9 (/sys/lib/postscript/font/cm/cmss9.pfa) ;
CMSSBX10 (/sys/lib/postscript/font/cm/cmssbx10.pfa) ;
CMSSDC10 (/sys/lib/postscript/font/cm/cmssdc10.pfa) ;
CMSSI10 (/sys/lib/postscript/font/cm/cmssi10.pfa) ;
CMSSI12 (/sys/lib/postscript/font/cm/cmssi12.pfa) ;
CMSSI17 (/sys/lib/postscript/font/cm/cmssi17.pfa) ;
CMSSI8 (/sys/lib/postscript/font/cm/cmssi8.pfa) ;
CMSSI9 (/sys/lib/postscript/font/cm/cmssi9.pfa) ;
CMSSQ8 (/sys/lib/postscript/font/cm/cmssq8.pfa) ;
CMSSQI8 (/sys/lib/postscript/font/cm/cmssqi8.pfa) ;
CMSY10 (/sys/lib/postscript/font/cm/cmsy10.pfa) ;
CMSY5 (/sys/lib/postscript/font/cm/cmsy5.pfa) ;
CMSY6 (/sys/lib/postscript/font/cm/cmsy6.pfa) ;
CMSY7 (/sys/lib/postscript/font/cm/cmsy7.pfa) ;
CMSY8 (/sys/lib/postscript/font/cm/cmsy8.pfa) ;
CMSY9 (/sys/lib/postscript/font/cm/cmsy9.pfa) ;
CMTCSC10 (/sys/lib/postscript/font/cm/cmtcsc10.pfa) ;
CMTEX10 (/sys/lib/postscript/font/cm/cmtex10.pfa) ;
CMTEX8 (/sys/lib/postscript/font/cm/cmtex8.pfa) ;
CMTEX9 (/sys/lib/postscript/font/cm/cmtex9.pfa) ;
CMTI10 (/sys/lib/postscript/font/cm/cmti10.pfa) ;
CMTI12 (/sys/lib/postscript/font/cm/cmti12.pfa) ;
CMTI7 (/sys/lib/postscript/font/cm/cmti7.pfa) ;
CMTI8 (/sys/lib/postscript/font/cm/cmti8.pfa) ;
CMTI9 (/sys/lib/postscript/font/cm/cmti9.pfa) ;
CMTT10 (/sys/lib/postscript/font/cm/cmtt10.pfa) ;
CMTT12 (/sys/lib/postscript/font/cm/cmtt12.pfa) ;
CMTT8 (/sys/lib/postscript/font/cm/cmtt8.pfa) ;
CMTT9 (/sys/lib/postscript/font/cm/cmtt9.pfa) ;
CMU10 (/sys/lib/postscript/font/cm/cmu10.pfa) ;
CMVTT10 (/sys/lib/postscript/font/cm/cmvtt10.pfa) ;
LASY10 (/sys/lib/postscript/font/cm/lasy10.pfa) ;
LASY5 (/sys/lib/postscript/font/cm/lasy5.pfa) ;
LASY6 (/sys/lib/postscript/font/cm/lasy6.pfa) ;
LASY7 (/sys/lib/postscript/font/cm/lasy7.pfa) ;
LASY8 (/sys/lib/postscript/font/cm/lasy8.pfa) ;
LASY9 (/sys/lib/postscript/font/cm/lasy9.pfa) ;
LASYB10 (/sys/lib/postscript/font/cm/lasyb10.pfa) ;
LCIRCLE1 (/sys/lib/postscript/font/cm/lcircle1.pfa) ;
LCIRCLEW (/sys/lib/postscript/font/cm/lcirclew.pfa) ;
LCMSS8 (/sys/lib/postscript/font/cm/lcmss8.pfa) ;
LCMSSB8 (/sys/lib/postscript/font/cm/lcmssb8.pfa) ;
LCMSSI8 (/sys/lib/postscript/font/cm/lcmssi8.pfa) ;
LINE10 (/sys/lib/postscript/font/cm/line10.pfa) ;
LINEW10 (/sys/lib/postscript/font/cm/linew10.pfa) ;
LOGO10 (/sys/lib/postscript/font/cm/logo10.pfa) ;
LOGO8 (/sys/lib/postscript/font/cm/logo8.pfa) ;
LOGO9 (/sys/lib/postscript/font/cm/logo9.pfa) ;
LOGOBF10 (/sys/lib/postscript/font/cm/logobf10.pfa) ;
LOGOSL10 (/sys/lib/postscript/font/cm/logosl10.pfa) ;
% AMS fonts for TeX
CMBSY5 (/sys/lib/postscript/font/ams/cmbsy5.pfa) ;
CMBSY7 (/sys/lib/postscript/font/ams/cmbsy7.pfa) ;
CMMIB5 (/sys/lib/postscript/font/ams/cmmib5.pfa) ;
CMMIB7 (/sys/lib/postscript/font/ams/cmmib7.pfa) ;
EUEX10 (/sys/lib/postscript/font/ams/euex10.pfa) ;
EUFB10 (/sys/lib/postscript/font/ams/eufb10.pfa) ;
EUFB5 (/sys/lib/postscript/font/ams/eufb5.pfa) ;
EUFB7 (/sys/lib/postscript/font/ams/eufb7.pfa) ;
EUFM10 (/sys/lib/postscript/font/ams/eufm10.pfa) ;
EUFM5 (/sys/lib/postscript/font/ams/eufm5.pfa) ;
EUFM7 (/sys/lib/postscript/font/ams/eufm7.pfa) ;
EURB10 (/sys/lib/postscript/font/ams/eurb10.pfa) ;
EURB5 (/sys/lib/postscript/font/ams/eurb5.pfa) ;
EURB7 (/sys/lib/postscript/font/ams/eurb7.pfa) ;
EURM10 (/sys/lib/postscript/font/ams/eurm10.pfa) ;
EURM5 (/sys/lib/postscript/font/ams/eurm5.pfa) ;
EURM7 (/sys/lib/postscript/font/ams/eurm7.pfa) ;
EUSB10 (/sys/lib/postscript/font/ams/eusb10.pfa) ;
EUSB5 (/sys/lib/postscript/font/ams/eusb5.pfa) ;
EUSB7 (/sys/lib/postscript/font/ams/eusb7.pfa) ;
EUSM10 (/sys/lib/postscript/font/ams/eusm10.pfa) ;
EUSM5 (/sys/lib/postscript/font/ams/eusm5.pfa) ;
EUSM7 (/sys/lib/postscript/font/ams/eusm7.pfa) ;
MSAM10 (/sys/lib/postscript/font/ams/msam10.pfa) ;
MSAM5 (/sys/lib/postscript/font/ams/msam5.pfa) ;
MSAM7 (/sys/lib/postscript/font/ams/msam7.pfa) ;
MSBM10 (/sys/lib/postscript/font/ams/msbm10.pfa) ;
MSBM5 (/sys/lib/postscript/font/ams/msbm5.pfa) ;
MSBM7 (/sys/lib/postscript/font/ams/msbm7.pfa) ;
WNCYB10 (/sys/lib/postscript/font/ams/wncyb10.pfa) ;
WNCYI10 (/sys/lib/postscript/font/ams/wncyi10.pfa) ;
WNCYR10 (/sys/lib/postscript/font/ams/wncyr10.pfa) ;
WNCYSC10 (/sys/lib/postscript/font/ams/wncysc10.pfa) ;
WNCYSS10 (/sys/lib/postscript/font/ams/wncyss10.pfa) ;
% Copyright (C) 1996, 1999 Aladdin Enterprises. All rights reserved.
%
% This file is part of Aladdin Ghostscript.
%
% Aladdin Ghostscript is distributed with NO WARRANTY OF ANY KIND. No author
% or distributor accepts any responsibility for the consequences of using it,
% or for whether it serves any particular purpose or works at all, unless he
% or she says so in writing. Refer to the Aladdin Ghostscript Free Public
% License (the "License") for full details.
%
% Every copy of Aladdin 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 Aladdin 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.
% $Id: Fontmap.GS,v 1.1 2000/03/09 08:40:39 lpd 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 ;

View file

@ -0,0 +1,181 @@
% Copyright (C) 1996, 1999 Aladdin Enterprises. All rights reserved.
%
% This file is part of Aladdin Ghostscript.
%
% Aladdin Ghostscript is distributed with NO WARRANTY OF ANY KIND. No author
% or distributor accepts any responsibility for the consequences of using it,
% or for whether it serves any particular purpose or works at all, unless he
% or she says so in writing. Refer to the Aladdin Ghostscript Free Public
% License (the "License") for full details.
%
% Every copy of Aladdin 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 Aladdin 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.
% $Id: Fontmap.GS,v 1.1 2000/03/09 08:40:39 lpd 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 ;

View file

@ -0,0 +1,9 @@
This directory contains only the fonts in a
standard GS font distribution, e.g.
gnu-gs-fonts-std-6.0.tar.gz. It does not,
for example, contain the Utopia or Hershey fonts.
See the Ghostscript documentation for information
on obtaining these.
The fonts in this directory are covered by the GNU General Public License.
See /LICENSE.gpl for details.

File diff suppressed because it is too large Load diff

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

Binary file not shown.

View file

@ -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 COPYING (GNU General 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

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,7 @@
Fontmap: /sys/lib/postscript/font/fontmap Fontmap.GS
{
cat /sys/lib/postscript/font/fontmap | awk '
$0 ~ /^%/ {print; next}
NF == 2 {printf("%s (/sys/lib/postscript/font/%s) ;\n", $1, $2);}'
cat Fontmap.GS
} >Fontmap

File diff suppressed because it is too large Load diff

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load diff

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show more