[comp.lang.postscript] Ghostscript Fontmap File

iain@xopen.co.uk (Iain Currie Devine) (06/04/91)

Hi,
	apologies if I'm not hittiing the right newsgroup, but we
	only take a limited feed. I got hold of a copy of ghostscript
	2.1 which has all the bits to work execpt for a file called
	[fF]ontmap, which maps things like Times-Roman to the Ugly font
	I need to know the format of that file. I dont have access
	to ftp servers & the source I got from CIX is a release 
	which does not use this feature. So could someone mail
	me the format, or a sample file ?

Thanks
	Iain

bob@snuffy.uucp (Bob Smith) (06/06/91)

In <1991Jun04.090024.24457@xopen.co.uk> iain@xopen.co.uk (Iain Currie Devine) writes:

>	apologies if I'm not hittiing the right newsgroup, but we
>	only take a limited feed. I got hold of a copy of ghostscript
>	2.1 which has all the bits to work execpt for a file called
>	[fF]ontmap, which maps things like Times-Roman to the Ugly font
>	I need to know the format of that file. I dont have access
>	to ftp servers & the source I got from CIX is a release 
>	which does not use this feature. So could someone mail
>	me the format, or a sample file ?

This is the Fontmap file for 2.2 ...

I don't think there's [m]any changes...

(Don't forget to cut my address off the bottom :-)

%    Copyright (C) 1990 Aladdin Enterprises.  All rights reserved.
%    Distributed by Free Software Foundation, Inc.
%
% This file is part of Ghostscript.
%
% Ghostscript is distributed in the hope that it will be useful, but
% WITHOUT ANY WARRANTY.  No author or distributor accepts responsibility
% to anyone for the consequences of using it or for whether it serves any
% particular purpose or works at all, unless he says so in writing.  Refer
% to the Ghostscript General Public License for full details.
%
% Everyone is granted permission to copy, modify and redistribute
% Ghostscript, but only under the conditions described in the Ghostscript
% General Public License.  A copy of this license is supposed to have been
% given to you along with Ghostscript so you can know your rights and
% responsibilities.  It should be in a file named COPYING.  Among other
% things, the copyright notice and this notice must be preserved on all
% copies.

% ----------------------------------------------------------------

% This file is a catalog of fonts known to Ghostscript.  Any font to be
% converted from BDF or Hershey to Ghostscript format, and any font
% that is to be loaded automatically when named, must be in this catalog.

% Each font has an entry consisting of five items:
%
%	- The name by which the font is known inside Ghostscript
%	(a Ghostscript literal name).  This is used to find the file
%	from which a font of a given name should be loaded.
%
%	- The name of the Ghostscript font file (a Ghostscript string).
%	The filename should include the extension, which (by convention)
%	is `.gsf'.
%
%	- The encoding to be used with the font (a Ghostscript literal name).
%	This is used only when converting the font.  Currently, the only
%	defined encodings are `/StandardEncoding', `/ISOLatin1Encoding',
%	and `/SymbolEncoding'.  If the font or the conversion program
%	specifies the encoding itself, the encoding should be `null'
%	(not `/null').
%
%	- The uniqueID of the font (an integer).  This is used to identify
%	to identify distinct fonts within the Ghostscript font machinery.
%	Since some P*stScr*pt programs assume that adding a small integer
%	to a uniqueID produces a new, distinct, unused uniqueID,
%	the uniqueID values in this file are all multiples of 10.
%	To avoid some conflicts with Adobe's numbering scheme, the uniqueID
%	values in this file all lie between 4200000 and 4299999.
%	The uniqueID is also used only when converting the font.
%       The algorithm for computing the UniqueID is given below.
%
%	- 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.


% 
% A UniqueID for a Ghostscript font looks like:
% 
% 4TTWVE0
% 
% where TT is a two-digit number representing the typeface,
% W represents the weight (normal, bold, ...),
% V represents the variant (normal, italic, oblique, ...), and
% E represents the expansion (normal, condensed, ...).
% This scheme will not work forever.  As soon there are more 99
% typefaces, or more than 9 weights or variants, we will have to do
% something else. But it suffices for the near future.
% 
% The filename for a font is constructed in a somewhat similar way:
% 
% FTTWVVVE.gsf
% 
% where F is the foundry, TT a two-letter abbreviation for the
% typeface, and W, V, and E the weight, variant, and expansion.  Since a
% font can have multiple variants, we allocate three letters to that
% (for example, Lucida Regular Sans Typewriter Italic).  If a font has
% four variants, you're on your own.  If a font does have multiple
% variants, it's best to add the expansion letter `r', so that it is
% clear which letters are variants and which the expansion.
% 
% This scheme is very close to the one proposed in `Filenames for
% fonts', to be published in the first 1990 issue of TUGboat (the
% journal of the TeX Users Group).
% 
% In the following tables, we made no attempt to be exhaustive. 
% Instead, we have simply allocated entries for those things that we needed
% for the fonts that we are actually distributing.
% 
%
% foundries:
% ----------------------------------------------------------------
% b = Bitstream
% p = Adobe (`p' for PostScript)
% 
% 
% 
% typefaces:
% id   name			  filename prefix
% ----------------------------------------------------------------
% 08 = Avant Garde		= pag		(Adobe)
% 11 = Bookman			= pbk		(Adobe)
% 01 = Charter			= bch		(Bitstream)
% 02 = Courier			= pcr		(Adobe)
% 03 = Helvetica		= phv		(Adobe)
% 04 = New Century Schoolbook	= pnc		(Adobe)
% 09 = Palatino			= ppl		(Adobe)
% 05 = Symbol			= psy		(Adobe)
% 06 = Times			= ptm		(Adobe)
% 00 = Ugly			= ugly		(public domain)
% 07 = Zapf Chancery		= zc		(public domain)
% 10 = Zapf Dingbats		= pzd		(Adobe)
%
% 90 = Hershey Gothic English	= hrge
% 91 = Hershey Gothic Italian	= hrit
% 92 = Hershey Gothic German	= hrgr
% 93 = Hershey Greek		= hrgk
% 94 = Hershey Plain		= hrpl
% 95 = Hershey Script		= hrsc
% 96 = Hershey Symbol		= hrsy
% 
% 
% weights:
% 0 = normal			= r
% 1 = bold			= b
% 2 = book			= k
% 3 = demi			= d
% 4 = light			= l
% 
% 
% variants:
% 0 = normal			= r (omitted when the weight is normal)
% 1 = italic			= i
% 2 = oblique			= o
%
% 
% expansions:
% 0 = normal			= r (omitted when the weight and variant
%                                    are normal)
% 1 = narrow			= n
% 
% 


% 
% A homemade font.
 
/Ugly				(uglyr.gsf)	/StandardEncoding 4000000 ;


% Fonts converted from bitmaps.

/AvantGarde-Book		(pagk.gsf)	/StandardEncoding 4082000 ;
/AvantGarde-BookOblique		(pagko.gsf)	/StandardEncoding 4082200 ;
/AvantGarde-Demi		(pagd.gsf)	/StandardEncoding 4083000 ;
/AvantGarde-DemiOblique		(pagdo.gsf)	/StandardEncoding 4083200 ;

/Bookman-Light			(pbkl.gsf)    /StandardEncoding 4114000 ;
/Bookman-LightItalic		(pbkli.gsf)	/StandardEncoding 4114100 ;
/Bookman-Demi			(pbkd.gsf)	/StandardEncoding 4113000 ;
/Bookman-DemiItalic		(pbkdi.gsf)	/StandardEncoding 4113100 ;

/Charter-Roman			(bchr.gsf)	/StandardEncoding 4010000 ;
/Charter-Italic			(bchri.gsf)	/StandardEncoding 4010100 ;
/Charter-Bold			(bchb.gsf)	/StandardEncoding 4011000 ;
/Charter-BoldItalic		(bchbi.gsf)	/StandardEncoding 4011100 ;

/Courier			(pcrr.gsf)	/StandardEncoding 4020000 ;
/Courier-Oblique		(pcrro.gsf)	/StandardEncoding 4020200 ;
/Courier-Bold			(pcrb.gsf)	/StandardEncoding 4021000 ;
/Courier-BoldOblique		(pcrbo.gsf)	/StandardEncoding 4021200 ;

/Helvetica			(phvr.gsf)	/StandardEncoding 4030000 ;
/Helvetica-Oblique		(phvro.gsf)	/StandardEncoding 4030200 ;
/Helvetica-Narrow		(phvrrn.gsf)	/StandardEncoding 4030310 ;
/Helvetica-Bold			(phvb.gsf)	/StandardEncoding 4031000 ;
/Helvetica-BoldOblique		(phvbo.gsf)	/StandardEncoding 4031200 ;

/NewCenturySchlbk-Roman		(pncr.gsf)	/StandardEncoding 4040000 ;
/NewCenturySchlbk-Italic	(pncri.gsf)	/StandardEncoding 4040100 ;
/NewCenturySchlbk-Bold		(pncb.gsf)	/StandardEncoding 4041000 ;
/NewCenturySchlbk-BoldItalic	(pncbi.gsf)	/StandardEncoding 4041100 ;

/Palatino-Roman			(pplr.gsf)	/StandardEncoding 4090000 ;
/Palatino-Italic		(pplri.gsf)	/StandardEncoding 4090100 ;
/Palatino-Bold			(pplb.gsf)	/StandardEncoding 4091000 ;
/Palatino-BoldItalic		(pplbi.gsf)	/StandardEncoding 4091100 ;

/Symbol				(psyr.gsf)	/SymbolEncoding   4050000 ;

/Times-Roman			(ptmr.gsf)	/StandardEncoding 4060000 ;
/Times-Italic			(ptmri.gsf)	/StandardEncoding 4060100 ;
/Times-Bold			(ptmb.gsf)	/StandardEncoding 4061000 ;
/Times-BoldItalic		(ptmbi.gsf)	/StandardEncoding 4061100 ;

/ZapfChancery			(zcr.gsf)	/StandardEncoding 4070000 ;
/ZapfChancery-Oblique		(zcro.gsf)	/StandardEncoding 4070200 ;
/ZapfChancery-Bold		(zcb.gsf)	/StandardEncoding 4071000 ;

/ZapfDingbats			(pzdr.gsf)	/StandardEncoding 4100000 ;


% 
% 
% Fonts converted from Hershey outlines.
% The 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 numbers are given above.
% 
% class:
% 0 = normal			= r
% 1 = simplex			= s
% 2 = complex			= c
% 3 = triplex			= t
% 
% variation:
% 0 = normal			(omitted)
% 1 = oblique			= o
% 2 = italic			= i
% 3 = bold			= b
% 4 = bold oblique		= bo
% 5 = bold italic		= bi
% 

/Hershey-Gothic-English		(hrge_r.gsf)	/StandardEncoding 4290000 ;
/Hershey-Gothic-English-Bold	(hrge_rb.gsf)	/StandardEncoding 4290030 ;
/Hershey-Gothic-English-Oblique	(hrge_ro.gsf)	/StandardEncoding 4290010 ;

/Hershey-Gothic-German		(hrgr_r.gsf)	/StandardEncoding 4291000 ;
/Hershey-Gothic-German-Bold	(hrgr_rb.gsf)	/StandardEncoding 4291030 ;
/Hershey-Gothic-German-Oblique	(hrgr_ro.gsf)	/StandardEncoding 4291010 ;

/Hershey-Gothic-Italian		(hrit_r.gsf)	/StandardEncoding 4292000 ; 
/Hershey-Gothic-Italian-Bold	(hrit_rb.gsf)	/StandardEncoding 4292030 ;
/Hershey-Gothic-Italian-Oblique	(hrit_ro.gsf)	/StandardEncoding 4292010 ;

/Hershey-Greek-Complex		(hrgk_c.gsf)	/StandardEncoding 4293200 ;
/Hershey-Greek-Simplex		(hrgk_s.gsf)	/StandardEncoding 4293100 ;

/Hershey-Plain			(hrpl_r.gsf)	/StandardEncoding 4294000 ;
/Hershey-Plain-Bold		(hrpl_rb.gsf)	/StandardEncoding 4294030 ;
/Hershey-Plain-Oblique		(hrpl_ro.gsf)	/StandardEncoding 4294010 ;
/Hershey-Plain-Simplex		(hrpl_s.gsf)	/StandardEncoding 4294100 ;
/Hershey-Plain-Simplex-Bold	(hrpl_sb.gsf)	/StandardEncoding 4294130 ;
/Hershey-Plain-Simplex-Bold-Oblique (hrpl_sbo.gsf) /StandardEncoding 4294140 ;
/Hershey-Plain-Simplex-Oblique	(hrpl_so.gsf)	/StandardEncoding 4294110 ;
/Hershey-Plain-Triplex		(hrpl_t.gsf)	/StandardEncoding 4294300 ;
/Hershey-Plain-Triplex-Italic	(hrpl_ti.gsf)	/StandardEncoding 4294320 ;
/Hershey-Plain-Triplex-Bold	(hrpl_tb.gsf)	/StandardEncoding 4294330 ;
/Hershey-Plain-Triplex-Bold-Italic (hrpl_tbi.gsf) /StandardEncoding 4294350 ;

/Hershey-Script-Complex		(hrsc_c.gsf)	/StandardEncoding 4295200 ;
/Hershey-Script-Complex-Bold	(hrsc_cb.gsf)	/StandardEncoding 4295230 ;
/Hershey-Script-Complex-Oblique	(hrsc_co.gsf)   /StandardEncoding 4295210 ;
/Hershey-Script-Simplex		(hrsc_s.gsf)	/StandardEncoding 4295100 ;
/Hershey-Script-Simplex-Bold	(hrsc_sb.gsf)	/StandardEncoding 4295130 ;
/Hershey-Script-Simplex-Oblique	(hrsc_so.gsf)	/StandardEncoding 4295110 ;

/Hershey-Symbol			(hrsy_r.gsf)	/SymbolEncoding   4296000 ;

-- 
 \ Bob Smith         \ Path: ...uunet!wang!snuffy!bob
  \ 835 Mammoth Rd.   \ Address: bob@snuffy.uucp
   \ Dracut, MA. 01826 \ Work/voice mail: 508-670-6712