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
glyph nextglyph = lenof(ps_glyphs_alphabetic);
tree234 *extrabyname = 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;
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;
}
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) {
}
glyph glyph_intern(char const *glyphname) {
-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.
/* ----------------------------------------------------------------------
* Mapping between PS character names (/aacute, /zcaron etc) and
* Unicode code points.