]> git.lizzy.rs Git - plan9front.git/blobdiff - sys/src/cmd/truetypefs.c
disk/format: implement long name support
[plan9front.git] / sys / src / cmd / truetypefs.c
index f6ee6998d4e1876d5bd4db8b53c5a152265aa4b7..ddafee5376f31bae6ccfb41125ccd4e5bc096fe6 100644 (file)
@@ -99,15 +99,15 @@ mksubfonts(TFont *f)
        for(c = u->cmap; c < u->cmap + u->ncmap; c++){
                for(k = c->start; k < c->end; k += MAXSUB){
                        s = emalloc(sizeof(TSubfont));
-                       s->start = c->start;
-                       if(c->start == 0) got0 = 1;
+                       s->start = k;
+                       if(k == 0) got0 = 1;
                        s->end = k + MAXSUB - 1;
                        if(s->end > c->end)
                                s->end = c->end;
                        s->font = f;
                        s->qid = (Qid){qidgen(), 0, 0};
-                       s->next = f->sub[c->start >> 8 & 0xff];
-                       f->sub[c->start >> 8 & 0xff] = s;
+                       s->next = f->sub[k >> 8 & 0xff];
+                       f->sub[k >> 8 & 0xff] = s;
                        fmtprint(&fmt, "%#.4ux\t%#.4ux\ts.%.4ux-%.4ux\n", s->start, s->end, s->start, s->end);
                }
        }
@@ -186,7 +186,10 @@ compilesub(TFont *f, TSubfont *s)
                *p++ = 0;
                *p++ = h;
                *p++ = gs[i]->xminpx;
-               *p++ = gs[i]->advanceWidthpx;
+               if(gs[i]->advanceWidthpx != 0)
+                       *p++ = gs[i]->advanceWidthpx;
+               else
+                       *p++ = gs[i]->width;
                x += gs[i]->width;
        }
        *p++ = x;