Hershey.htm 14 KB

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