The GNU® Plotutils package contains essentially all of Dr. Hershey's occidental and oriental glyph repertories, together with many additional glyphs from other sources. It is also an excellent source for bibliographic and other information about the Hershey glyphs.
In the 2.4.1 release, the actual glyph data are encoded using the Hurt bias-82 encoding as a large data structure in the file "libplot/g_her_glyph.c". This file also contains information on encoding and sources for the glyphs. The distribution also contains other relevant information in various locations. Although any citation from a particular distribution level will become outdated rapidly, for convenience I'll reproduce here the information from Plotutils 2.4.1:
(Note: I've added ".txt" to any ".doc" actual filenames as copied here, so as not to confuse web browsers.)
As presented in Plotutils, the glyph data is in a large C language data structure, as appropriate for direct use by the Plotutils package. For my purposes I needed the raw data, so I wrote a simple program, extract_gp_occ.c, to extract it. This program may be compiled with a small makefile. It expects, in its local directory, a copy of the glyph file g_her_glyph.c and "sys-defines.h" and "extern.h" (which may be null and are created by the supplied makefile). The output of the extraction is given here in the data file data_glyphs_occidental.txt (Hershey Glyphs, OCcidental).
Here's the extraction program:
/* extract_gp_occ.c This program extracts the values from the array _occidental_hershey_glyphs[] in the GNU Plotutils file "libplot/g_her_glyph.c". It should be compiled together with "g_her_glyph.h", which in turn requires that files "sys-defines.h" and "extern.h" exist (but they may be null). One possible makefile entry for this would be: extract_gp_occ: extract_gp_occ.c touch sys-defines.h touch extern.h cc -o extract_gp_occ extract_gp_occ.c g_her_glyph.c This program takes no input and writes to stdout. This program has been tested only against the GNU Plotutils release 2.4.1 g_her_glyphs.c file. */ #include <stdio.h> extern const char * const _occidental_hershey_glyphs[]; int main() { int ix; int num_pairs; int max_num_pairs; int longest_glyph; max_num_pairs = 0; longest_glyph = 0; for (ix = 0; ix <= 4194; ix++) { num_pairs = (int)strlen(_occidental_hershey_glyphs[ix])/2; if (num_pairs > max_num_pairs) { max_num_pairs = num_pairs; longest_glyph = ix; } printf ("%5d%3d%s\n", ix, num_pairs, _occidental_hershey_glyphs[ix]); } printf ("longest glyph: %d\n", longest_glyph); printf ("max num pairs: %d\n", max_num_pairs); }
Here's the makefile:
extract_gp_occ: extract_gp_occ.c touch sys-defines.h touch extern.h cc -o extract_gp_occ extract_gp_occ.c g_her_glyph.c rm -f sys-defines.h rm -f extern.h clean: rm -f extract_gp_occ
I won't reproduce the contents of the very long file data_glyphs_occidental.txt in the text here.
The files taken from the GNU Plotutils package, linked from but not themselves comprising a part of this present document, are copyright by Robert Maier et. al. and are licensed under the GNU General Public License, Version 2. Here is a copy of the GNU General Public License, Version 2. See the source of the GNU Plotutils for the full GPL invocation. I believe that the GPL obligates me, if I cite these files verbatim from the GNU Plotutils 2.4.1, to provide a full source distribution of the GNU Plotutils 2.4.1 with this present document. Here, therefore, is a gzipped GNU tar file containing it: plotutils-2.4.1.tar.gz. This is a 3.2 Megabyte file. I would of course recommend that instead you obtain the current version of this package from the standard online sources.
I believe that the actual glyph data are in the public domain.
So, therefore, is the file
data_glyphs_occidental.txt,
linked from this present document,
which contains the extracted glyph data.
Important disclaimers of warranty
and liability in the presentation of public domain material.
The program "extract_gp_occ.c" and its "makefile" are Copyright © 2003 by David M. MacMillan and are licensed under the GNU General Public License, Version 2. See their source files for the full GPL invocation.
This document itself is copyright © 2003-2005 by David M. MacMillan & Rollande Krandall.
Permission is granted to copy, distribute and/or modify copyrighted portions of this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts and no Back-Cover Texts. A copy of the license is included in the file entitled "fdl.txt" (GNU Free Documentation License).
The computer programs here are also present as files (in the original distribution, at least) and are released, as indicated in those files, under the GNU General Public License Version 2 or (at your option) any later version. A copy of this license is included in the file entitled "gpl.txt" (GNU General Public License).
Note: Those portions of this document which are in the public domain, if any, may be copied freely. The distribution of these public domain portions is subject to all of the disclaimers of warranty and liability noted herein.
This work is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Free Documentation License for more details.
You should have received copies of the GNU Free Documentation License and the GNU General Public License along with this work; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
This work is distributed "as-is," without any warranty of any kind, expressed or implied; without even the implied warranty of merchantability or fitness for a particular purpose.
In no event will the author(s), editor(s), or publisher(s) of this work be liable to you or to any other party for damages, including but not limited to any general, special, incidental or consequential damages arising out of your use of or inability to use this work or the information contained in it, even if you have been advised of the possibility of such damages.
In no event will the author(s), editor(s), or publisher(s) of this work be liable to you or to any other party for any injury, death, disfigurement, or other personal damage arising out of your use of or inability to use this work or the information contained in it, even if you have been advised of the possibility of such injury, death, disfigurement, or other personal damage.
CircuitousRoot & circuitousroot.com are service marks of
David M. MacMillan
&
Rollande Krandall.
Other trademark recognition.
Presented originally by CircuitousRoot.SM