🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.postscript
Article #5549

Re: PFB headers (was Re: generating afm files)

#5549
From: Timothy E. Forsyth
Date: Thu, 02 May 1991 16:13
56 lines
3695 bytes
jlr1801@aim1.tamu.edu (Jeff Rife) writes:
>In article <1991Apr29.195913.5520@ico.isc.com> rcd@ico.isc.com (Dick Dunn) writes:
>}jlr1801@aim1.tamu.edu (Jeff Rife) writes:
>}> >    - "What's that silly binary code doing on the PFB files at [archive]?"
>}> 
>}> That's part of the encoding of an Adobe Type 1 font.  It's documented.
>}
>}It is documented, but it's not part of the Adobe Type 1 font.  The .pfb
>}files are divided into chunks of data with a little header-descriptor on
>}each chunk.  This header is for the use of a PC-based downloader; it should
>}not be sent to the printer.
>}
>}You can tell it's *NOT* PostScript because the first byte has value 80 hex,
>}which is not valid for Level 1 PostScript.  In Level 2, 0x80 it would be an
>}indicator of a "binary object sequence"--which is NOT what the .pfb is.
>}
>I'm sorry, I must have been on drugs or something. ;->  I missed the point
>of the question entirely.  I assumed the first enquiry was concerning the
>hex bytes within the "currentfile eexec.....cleartomark{restore}if" section.
>I never even noticed the binary on at the beginning of the file.  I guess I
>just assumed the fonts were OK because I never had any trouble, and I hadn't
>done anything special, but I assume my application is taking care of it.
>}
>}The header consists of:
>}	- 0x80: flag byte
>}	- type byte:  1=text, 2=binary data, 3=EOF
>}	- length: 4-byte little-endian integer counting the number of data
>}	  bytes which follow
>Thanks for the info on this header.  I will file it, and stand corrected.
>It is so much fun to make a fool of yourself in front of millions of people.
>:-)

You both were right, there are (I believe) three different methods that
Type 1 outlines are stored for different systems.  First there is the ASCII
format files where all of the eexec information is in HEX.  This is the file
type that can be downloaded to the printer and is the file type used on UNIX
systems.  There is the "compressed" format used in the MS-DOS/IBM PC world,
which consists of header flags bytes 0x80, 0x81, 0x82, etc used to
distinguish between sections of the file in ASCII and sections in binary.
The only part of the IBM PC format file (also know with the .PFB extension)
that is in binary is the eexec section.  The Mac format files use some kind
of "resource" information to seperate the sections and the eexec section is
alson in binary instead of HEX.  Thus the IBM PC and Mac format files are
about 1/2 the size of the ASCII/HEX format files, saving disk space.  And,
yes, the IBM PC file format is documented in the Adobe Type 1 Font Format
version 1.1 book, and the book refers the reader to Apple for information
about the Mac file format.

Hope this clears things up, or at least doesn't make the water muddier.
(Hey, my Type 1 Font Format book is at home!  This is all from memory.)

Tim Forsyth
-- 
Tim Forsyth, Intel Corp., Desktop Computer Division, Hillsboro, Oregon, USA
Internet: tim@int13.intel.com or Tim_Forsyth@ccm.hf.intel.com
CompuServe: 74040,2712 (checked once a week)
Technical Details
Message-ID: <1991May2.161359.5065@int13.hf.intel.com>
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!rpi!bu.edu!snorkelwacker.mit.edu!think.com!spool.mu.edu!uunet!littlei!intelhf!int13!tim
References: <1991Apr25.175643.25619@milton.u.washington.edu> <15506@helios.TAMU.EDU> <1991Apr29.195913.5520@ico.isc.com> <15707@helios.TAMU.EDU>

Show Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!news-server.csri.toronto.edu!rpi!bu.edu!snorkelwacker.mit.edu!think.com!spool.mu.edu!uunet!littlei!intelhf!int13!tim
From: tim@int13.hf.intel.com (Timothy E. Forsyth)
Newsgroups: comp.lang.postscript
Subject: Re: PFB headers (was Re: generating afm files)
Message-ID: <1991May2.161359.5065@int13.hf.intel.com>
Date: 2 May 91 16:13:59 GMT
References: <1991Apr25.175643.25619@milton.u.washington.edu> <15506@helios.TAMU.EDU> <1991Apr29.195913.5520@ico.isc.com> <15707@helios.TAMU.EDU>
Organization: Intel Corp., Desktop Computer Division, Hillsboro, OR
Lines: 56