for (i = 0; i < 256; i++) {
char buf[20];
- if (!fe->vector[i])
+ if (fe->vector[i] == NOGLYPH)
continue;
if (i != prev + 1) {
sprintf(buf, "\n%d", i);
objtext(font, buf);
}
objtext(font, i % 8 ? "/" : "\n/");
- objtext(font, fe->vector[i]);
+ objtext(font, glyph_extern(fe->vector[i]));
prev = i;
}
font_info const *fi = fe->font->info;
int flags;
for (i = 0; i < 256; i++)
- if (fe->indices[i] >= 0) {
+ if (fe->vector[i] != NOGLYPH) {
if (firstchar < 0) firstchar = i;
lastchar = i;
}
objtext(widths, "[\n");
for (i = firstchar; i <= lastchar; i++) {
double width;
- if (fe->indices[i] < 0)
+ if (fe->vector[i] == NOGLYPH)
width = 0.0;
else
- width = fi->widths[fe->indices[i]];
+ width = find_width(fe->font, fe->vector[i]);
sprintf(buf, "%g\n", 1000.0 * width / FUNITS_PER_PT);
objtext(widths, buf);
}
objtext(fontdesc, buf);
sprintf(buf, "/StemV %g\n", fi->stemv);
objtext(fontdesc, buf);
- if (fi->fp) {
+ if (fi->fontfile && fi->filetype == TYPE1) {
object *fontfile = new_object(&olist);
size_t len;
char *ffbuf;
rdaddsc(&rs, text);
if (o->stream.text) {
+ if (!o->main.text)
+ rdaddsc(&o->main, "<<\n");
+#ifdef PDF_NOCOMPRESS
+ zlen = o->stream.pos;
+ zbuf = snewn(zlen, char);
+ memcpy(zbuf, o->stream.text, zlen);
+ sprintf(text, "/Length %d\n>>\n", zlen);
+#else
zcontext = deflate_compress_new(DEFLATE_TYPE_ZLIB);
deflate_compress_data(zcontext, o->stream.text, o->stream.pos,
DEFLATE_END_OF_DATA, &zbuf, &zlen);
deflate_compress_free(zcontext);
- if (!o->main.text)
- rdaddsc(&o->main, "<<\n");
sprintf(text, "/Filter/FlateDecode\n/Length %d\n>>\n", zlen);
+#endif
rdaddsc(&o->main, text);
}