]> Shamusworld >> Repos - architektonas/blob - fonts/hershey.readme
Removed Snapper class; still refactoring Snapper/Preview...
[architektonas] / fonts / hershey.readme
1 Hershey fonts for Ghostscript
2
3 This file, unlike the rest of Ghostscript, consists entirely of information
4 copied from public sources. It therefore is not covered by the Ghostscript
5 copyright or license: it is in the public domain.
6
7 For other information, see the Ghostscript overview. You can also read about
8 Ghostscript fonts in general.
9
10 Mod.sources:  Volume 4, Issue 42
11 Submitted by: pyramid!octopus!pete (Pete Holzmann)
12
13 This is part 1 of five parts of the first Usenet distribution of
14 the Hershey Fonts. See the README file for more details.
15
16 Peter Holzmann, Octopus Enterprises
17 USPS: 19611 La Mar Court, Cupertino, CA 95014
18 UUCP: {hplabs!hpdsd,pyramid}!octopus!pete
19 Phone: 408/996-7746
20
21 This distribution is made possible through the collective encouragement
22 of the Usenet Font Consortium, a mailing list that sprang to life to get
23 this accomplished and that will now most likely disappear into the mists
24 of time... Thanks are especially due to Jim Hurt, who provided the packed
25 font data for the distribution, along with a lot of other help.
26
27 This file describes the Hershey Fonts in general, along with a description of
28 the other files in this distribution and a simple re-distribution restriction.
29
30 USE RESTRICTION:
31   This distribution of the Hershey Fonts may be used by anyone for
32   any purpose, commercial or otherwise, providing that:
33     1. The following acknowledgements must be distributed with
34       the font data:
35       - The Hershey Fonts were originally created by Dr.
36         A. V. Hershey while working at the U. S.
37         National Bureau of Standards.
38       - The format of the Font data in this distribution
39         was originally created by
40           James Hurt
41           Cognition, Inc.
42           900 Technology Park Drive
43           Billerica, MA 01821
44           (mit-eddie!ci-dandelion!hurt)
45     2. The font data in this distribution may be converted into
46       any other format *EXCEPT* the format distributed by
47       the U.S. NTIS (which organization holds the rights
48       to the distribution and use of the font data in that
49       particular format). Not that anybody would really
50       *want* to use their format... each point is described
51       in eight bytes as "xxx yyy:", where xxx and yyy are
52       the coordinate values as ASCII numbers.
53
54 *PLEASE* be reassured: The legal implications of NTIS' attempt to control
55 a particular form of the Hershey Fonts *are* troubling. HOWEVER: We have
56 been endlessly and repeatedly assured by NTIS that they do not care what
57 we do with our version of the font data, they do not want to know about it,
58 they understand that we are distributing this information all over the world,
59 etc etc etc... but because it isn't in their *exact* distribution format, they
60 just don't care!!! So go ahead and use the data with a clear conscience! (If
61 you feel bad about it, take a smaller deduction for something on your taxes
62 next week...)
63
64 The Hershey Fonts:
65   - are a set of more than 2000 glyph (symbol) descriptions in vector
66     ( <x,y> point-to-point ) format
67   - can be grouped as almost 20 'occidental' (english, greek,
68     cyrillic) fonts, 3 or more 'oriental' (Kanji, Hiragana,
69     and Katakana) fonts, and a few hundred miscellaneous
70     symbols (mathematical, musical, cartographic, etc etc)
71   - are suitable for typographic quality output on a vector device
72     (such as a plotter) when used at an appropriate scale.
73   - were digitized by Dr. A. V. Hershey while working for the U.S.
74     Government National Bureau of Standards (NBS).
75   - are in the public domain, with a few caveats:
76     - They are available from NTIS (National Technical Info.
77       Service) in a computer-readable from which is *not*
78       in the public domain. This format is described in
79       a hardcopy publication "Tables of Coordinates for
80       Hershey's Repertory of Occidental Type Fonts and
81       Graphic Symbols" available from NTIS for less than
82       $20 US (phone number +1 703 487 4763).
83     - NTIS does not care about and doesn't want to know about
84       what happens to Hershey Font data that is not
85       distributed in their exact format.
86     - This distribution is not in the NTIS format, and thus is
87       only subject to the simple restriction described
88       at the top of this file.
89
90 Hard Copy samples of the Hershey Fonts are best obtained by purchasing the
91 book described above from NTIS. It contains a sample of all of the Occidental
92 symbols (but none of the Oriental symbols).
93
94 This distribution:
95   - contains
96     * a complete copy of the Font data using the original
97       glyph-numbering sequence
98     * a set of translation tables that could be used to generate
99       ASCII-sequence fonts in various typestyles
100     * a couple of sample programs in C and Fortran that are
101       capable of parsing the font data and displaying it
102       on a graphic device (we recommend that if you
103       wish to write programs using the fonts, you should
104       hack up one of these until it works on your system)
105
106   - consists of the following files...
107     hershey.doc - details of the font data format, typestyles and
108         symbols included, etc.
109     hersh.oc[1-4] - The Occidental font data (these files can
110           be catenated into one large database)
111     hersh.or[1-4] - The Oriental font data (likewise here)
112     *.hmp - Occidental font map files. Each file is a translation
113         table from Hershey glyph numbers to ASCII
114         sequence for a particular typestyle.
115     hershey.f77 - A fortran program that reads and displays all
116         of the glyphs in a Hershey font file.
117     hershey.c   - The same, in C, using GKS, for MS-DOS and the
118         PC-Color Graphics Adaptor.
119
120 Additional Work To Be Done (volunteers welcome!):
121
122   - Integrate this complete set of data with the hershey font
123     typesetting
124     program recently distributed to mod.sources
125   - Come up with an integrated data structure and supporting routines
126     that make use of the ASCII translation tables
127   - Digitize additional characters for the few places where non-ideal
128     symbol substitutions were made in the ASCII translation
129 tables.
130   - Make a version of the demo program (hershey.c or hershey.f77) that
131     uses the standard Un*x plot routines.
132   - Write a banner-style program using Hershey Fonts for input and
133     non-graphic terminals or printers for output.
134   - Anything else you'd like!
135
136 This file provides a brief description of the contents of the Occidental
137 Hershey Font Files. For a complete listing of the fonts in hard copy, order
138 NBS Special Publication 424, "A contribution to computer typesetting
139 techniques: Tables of Coordinates for Hershey's Repertory of Occidental
140 Type Fonts and Graphic Symbols". You can get it from NTIS (phone number is
141 +1 703 487 4763) for less than twenty dollars US.
142
143 Basic Glyph (symbol) data:
144
145   hersh.oc1       - numbers 1 to 1199
146   hersh.oc2       - numbers 1200 to 2499
147   hersh.oc3       - numbers 2500 to 3199
148   hersh.oc4       - numbers 3200 to 3999
149
150   These four files contain approximately 19 different fonts in
151 the A-Z alphabet plus greek and cyrillic, along with hundreds of special
152 symbols, described generically below.
153
154   There are also four files of Oriental fonts (hersh.or[1-4]). These
155 files contain symbols from three Japanese alphabets (Kanji, Hiragana, and
156 Katakana). It is unknown what other symbols may be contained therein, nor
157 is it known what order the symbols are in (I don't know Japanese!).
158
159   Back to the Occidental files:
160
161 Fonts:
162   Roman: Plain, Simplex, Duplex, Complex Small, Complex, Triplex
163   Italic: Complex Small, Complex, Triplex
164   Script: Simplex, Complex
165   Gothic: German, English, Italian
166   Greek: Plain, Simplex, Complex Small, Complex
167   Cyrillic: Complex
168
169 Symbols:
170   Mathematical (227-229,232,727-779,732,737-740,1227-1270,2227-2270,
171       1294-1412,2294-2295,2401-2412)
172   Daggers (for footnotes, etc) (1276-1279, 2276-2279)
173   Astronomical (1281-1293,2281-2293)
174   Astrological (2301-2312)
175   Musical (2317-2382)
176   Typesetting (ffl,fl,fi sorts of things) (miscellaneous places)
177   Miscellaneous (mostly in 741-909, but also elsewhere):
178     - Playing card suits
179     - Meteorology
180     - Graphics (lines, curves)
181     - Electrical
182     - Geometric (shapes)
183     - Cartographic
184     - Naval
185     - Agricultural
186     - Highways
187     - Etc...
188
189 ASCII sequence translation files:
190
191   The Hershey glyphs, while in a particular order, are not in an
192   ASCII sequence. I have provided translation files that give the
193   sequence of glyph numbers that will most closely approximate the
194   ASCII printing sequence (from space through ~, with the degree
195   circle tacked on at the end) for each of the above fonts:
196
197   File names are made up of fffffftt.hmp,
198
199     where ffffff is the font style, one of:
200       roman   Roman
201       greek   Greek
202       italic  Italic
203       script  Script
204       cyril   Cyrillic (some characters not placed in
205              the ASCII sequence)
206       gothgr  Gothic German
207       gothgb  Gothic English
208       gothit  Gothic Italian
209
210     and tt is the font type, one of:
211         p       Plain (very small, no lower case)
212         s       Simplex (plain, normal size, no serifs)
213         d       Duplex (normal size, no serifs, doubled lines)
214         c       Complex (normal size, serifs, doubled lines)
215         t       Triplex (normal size, serifs, tripled lines)
216         cs      Complex Small (Complex, smaller than normal size)
217
218 The three sizes are coded with particular base line (bottom of a capital
219   letter) and cap line (top of a capital letter) values for 'y':
220
221   Size      Base Line       Cap Line
222
223   Very Small   -5        +4
224   Small        -6        +7
225   Normal       -9        +12
226
227   (Note: some glyphs in the 'Very Small' fonts are actually 'Small')
228
229 The top line and bottom line, which are normally used to define vertical
230   spacing, are not given. Maybe somebody can determine appropriate
231   values for these!
232
233 The left line and right line, which are used to define horizontal spacing,
234   are provided with each character in the database.
235
236 Format of Hershey glyphs:
237
238 5 bytes - glyphnumber
239 3 bytes - length of data  length in 16-bit words including left&right numbers
240 1 byte  - x value of left margin
241 1 byte  - x value of right margin
242 (length*2)-2 bytes      - stroke data
243
244 left&right margins and stroke data are biased by the value of the letter 'R'
245 Subtract the letter 'R' to get the data.
246
247 e.g. if the data byte is 'R', the data is 0
248      if the data byte is 'T', the data is +2
249      if the data byte is 'J', the data is -8
250
251 and so on...
252
253 The coordinate system is x-y, with the origin (0,0) in the center of the
254 glyph.  X increases to the right and y increases *down*.
255
256 The stroke data is pairs of bytes, one byte for x followed by one byte for y.
257
258 An 'R' in the stroke data indicates a 'lift pen and move' instruction.
259
260 Public Domain. Distributed with Ghostscript 6.50, November 2000