summaryrefslogtreecommitdiff
path: root/src/roff/troff/input.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/roff/troff/input.cpp')
-rw-r--r--src/roff/troff/input.cpp13
1 files changed, 10 insertions, 3 deletions
diff --git a/src/roff/troff/input.cpp b/src/roff/troff/input.cpp
index 51d4beb8..f7f7e66f 100644
--- a/src/roff/troff/input.cpp
+++ b/src/roff/troff/input.cpp
@@ -8094,7 +8094,8 @@ charinfo::charinfo(symbol s)
not_found(0), transparent_translate(1), translate_input(0),
mode(CHAR_NORMAL), nm(s)
{
- index = glyph(next_index++, s.contents());
+ index = next_index++;
+ number = -1;
}
void charinfo::set_hyphenation_code(unsigned char c)
@@ -8152,13 +8153,13 @@ macro *charinfo::setx_macro(macro *m, char_mode cm)
void charinfo::set_number(int n)
{
+ assert(n >= 0);
number = n;
- flags |= NUMBERED;
}
int charinfo::get_number()
{
- assert(flags & NUMBERED);
+ assert(number >= 0);
return number;
}
@@ -8213,3 +8214,9 @@ glyph font::number_to_index(int n)
{
return get_charinfo_by_number(n)->get_index();
}
+
+const char *glyph::glyph_name()
+{
+ charinfo *ci = (charinfo *)ptr; // Every glyphinfo is actually a charinfo.
+ return (ci->nm != UNNAMED_SYMBOL ? ci->nm.contents() : NULL);
+}