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