Thread View: comp.lang.postscript
2 messages
2 total messages
Started by Edward J. Ede
Wed, 13 Jan 1988 20:23
How to convert Adbobe binary fonts into ASCII
Author: Edward J. Ede
Date: Wed, 13 Jan 1988 20:23
Date: Wed, 13 Jan 1988 20:23
52 lines
2948 bytes
2948 bytes
I wanted to download fonts from our VAX running VMS and got the same run-around from Adobe. Their technical support was less than helpful, saying "We do not support that environment", and they offered to return our money. I then spoke with a friend who had a copy of Adobe's internal document "Supporting Downloadable PostScript Fonts" (G. Reid 8/14/87). It contains info on how to manage multiple fonts (they eat a lot of memory) and the format of the font file. The new Adobe fonts are stored on disk in a part-binary/part-ascii format. They need to be converted to full ascii to be downloaded via serial lines. The data for the font is (generally, see below) kept in the resource fork of the file. The resources are of type 'POST' and their ids begin with 501 and increse by 1. The first (16 bit) word of each resource is a tag. The rest of the resource is the data. The tag can have the following 6 values. Value Description ----- ----------- 0 Comment Can be ignored. 1 ASCII text Just copy the rest of the resource, less the tag, to the output file. 2 Binary, eight-bit data. Rest of resource needs to be hexified**. 3 End of file 4 the font is in the data fork of the file 5 End of font ** To hexify data take an eight bit byte and convert it to its two hexadecimal characters. (E.g. 10100001 = 161 = 'A1' = 65||49) (Note: To keep record lengths manageable, after hexifying 40 bytes into 80 characters, we wrote a carriage return to the file.) In general, resource 501 is ASCII and contains the font dictionaries. Resources 502 through 5nn-2 contain binary data (usually 2048 bytes). Resource 5nn-1 is ASCII and contains a bunch of zeros (character 48) and a few line of postscript. Resource 5nn contains the tag 5. We wrote a quick and dirty lightspeed pascal program to do this. (The hexification code was done in assembler for speed.) The file uploaded easily using kermit, and works like a charm. It takes a while to send 80k of font data to the printer at 9600 baud though... I will try to get permission from the powers that be to release this utility to the general public. #include 'std_disclaimer.h' Ted Ede -- ted@mitre-bedford.arpa -- The MITRE Corporation -- Burlington Road | -- Bedford MA, 01730 -- Mail Stop B015 -- (617) 271-2524 -- | | - this line intentionally left blank - | +---------------------------------------------------------------------------+
Re: How to convert Adbobe binary fonts
Author: jeff
Date: Tue, 19 Jan 1988 22:02
Date: Tue, 19 Jan 1988 22:02
56 lines
3143 bytes
3143 bytes
/* Written 2:23 pm Jan 13, 1988 by mbunix.UUCP!ted in upba:comp.lang.postscript */ /* ---------- "How to convert Adbobe binary fonts " ---------- */ I wanted to download fonts from our VAX running VMS and got the same run-around from Adobe. Their technical support was less than helpful, saying "We do not support that environment", and they offered to return our money. I then spoke with a friend who had a copy of Adobe's internal document "Supporting Downloadable PostScript Fonts" (G. Reid 8/14/87). It contains info on how to manage multiple fonts (they eat a lot of memory) and the format of the font file. The new Adobe fonts are stored on disk in a part-binary/part-ascii format. They need to be converted to full ascii to be downloaded via serial lines. The data for the font is (generally, see below) kept in the resource fork of the file. The resources are of type 'POST' and their ids begin with 501 and increse by 1. The first (16 bit) word of each resource is a tag. The rest of the resource is the data. The tag can have the following 6 values. Value Description ----- ----------- 0 Comment Can be ignored. 1 ASCII text Just copy the rest of the resource, less the tag, to the output file. 2 Binary, eight-bit data. Rest of resource needs to be hexified**. 3 End of file 4 the font is in the data fork of the file 5 End of font ** To hexify data take an eight bit byte and convert it to its two hexadecimal characters. (E.g. 10100001 = 161 = 'A1' = 65||49) (Note: To keep record lengths manageable, after hexifying 40 bytes into 80 characters, we wrote a carriage return to the file.) In general, resource 501 is ASCII and contains the font dictionaries. Resources 502 through 5nn-2 contain binary data (usually 2048 bytes). Resource 5nn-1 is ASCII and contains a bunch of zeros (character 48) and a few line of postscript. Resource 5nn contains the tag 5. We wrote a quick and dirty lightspeed pascal program to do this. (The hexification code was done in assembler for speed.) The file uploaded easily using kermit, and works like a charm. It takes a while to send 80k of font data to the printer at 9600 baud though... I will try to get permission from the powers that be to release this utility to the general public. #include 'std_disclaimer.h' Ted Ede -- ted@mitre-bedford.arpa -- The MITRE Corporation -- Burlington Road | -- Bedford MA, 01730 -- Mail Stop B015 -- (617) 271-2524 -- | | - this line intentionally left blank - | +---------------------------------------------------------------------------+ /* End of text from upba:comp.lang.postscript */
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads