From: ben Date: Sun, 4 Feb 2007 14:16:26 +0000 (+0000) Subject: Tidy up the handling of non-standard glyphs by defining glyph_extern() X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/halibut/commitdiff_plain/e8a39bb3cabe1c56e460e337d4fbe530e3a95ae0 Tidy up the handling of non-standard glyphs by defining glyph_extern() early and using it whenever we need the name of a non-standard glyph. git-svn-id: svn://svn.tartarus.org/sgt/halibut@7216 cda61777-01e9-0310-a592-d414129be87e --- diff --git a/psdata.c b/psdata.c index 7160587..8a01641 100644 --- a/psdata.c +++ b/psdata.c @@ -1125,15 +1125,22 @@ char const **extraglyphs = NULL; glyph nextglyph = lenof(ps_glyphs_alphabetic); tree234 *extrabyname = NULL; +char const *glyph_extern(glyph glyph) { + if (glyph == NOGLYPH) return ".notdef"; + if (glyph < lenof(ps_glyphs_alphabetic)) + return ps_glyphs_alphabetic[glyph]; + else + return extraglyphs[glyph - lenof(ps_glyphs_alphabetic)]; +} + static int glyphcmp(void *a, void *b) { glyph ga = *(glyph *)a, gb = *(glyph *)b; - return strcmp(extraglyphs[ga - lenof(ps_glyphs_alphabetic)], - extraglyphs[gb - lenof(ps_glyphs_alphabetic)]); + return strcmp(glyph_extern(ga), glyph_extern(gb)); } static int glyphcmp_search(void *a, void *b) { glyph gb = *(glyph *)b; - return strcmp(a, extraglyphs[gb - lenof(ps_glyphs_alphabetic)]); + return strcmp(a, glyph_extern(gb)); } glyph glyph_intern(char const *glyphname) { @@ -1170,14 +1177,6 @@ glyph glyph_intern(char const *glyphname) { return k; } -char const *glyph_extern(glyph glyph) { - if (glyph == NOGLYPH) return ".notdef"; - if (glyph < lenof(ps_glyphs_alphabetic)) - return ps_glyphs_alphabetic[glyph]; - else - return extraglyphs[glyph - lenof(ps_glyphs_alphabetic)]; -} - /* ---------------------------------------------------------------------- * Mapping between PS character names (/aacute, /zcaron etc) and * Unicode code points.