+ if (TERMP_SKIPCHAR & p->flags) {
+ p->flags &= ~TERMP_SKIPCHAR;
+ return;
+ }
+
+ if (p->col + 6 >= p->maxcols)
+ adjbuf(p, p->col + 6);
+
+ f = term_fonttop(p);
+
+ if (TERMFONT_UNDER == f || TERMFONT_BI == f) {
+ p->buf[p->col++] = '_';
+ p->buf[p->col++] = 8;
+ }
+ if (TERMFONT_BOLD == f || TERMFONT_BI == f) {
+ if (ASCII_HYPH == c)
+ p->buf[p->col++] = '-';
+ else
+ p->buf[p->col++] = c;
+ p->buf[p->col++] = 8;
+ }
+ p->buf[p->col++] = c;
+}
+
+static void
+encode(struct termp *p, const char *word, size_t sz)
+{
+ size_t i;
+
+ if (TERMP_SKIPCHAR & p->flags) {
+ p->flags &= ~TERMP_SKIPCHAR;
+ return;
+ }