if (p->type == para_VersionID)
ps_comment(fp, "% ", p->words);
+ /*
+ * Request the correct page size. We might want to bracket this
+ * with "%%BeginFeature: *PageSize A4" or similar, and "%%EndFeature",
+ * but that would require us to have a way of getting the name of
+ * the page size given its dimensions.
+ */
+ fprintf(fp, "/setpagedevice where {\n");
+ fprintf(fp, " pop 2 dict dup /PageSize [%g %g] put setpagedevice\n",
+ doc->paper_width / FUNITS_PER_PT,
+ doc->paper_height / FUNITS_PER_PT);
+ fprintf(fp, "} if\n");
+
for (fe = doc->fonts->head; fe; fe = fe->next) {
/* XXX This may request the same font multiple times. */
if (fe->font->info->fp) {
for (page = doc->pages; page; page = page->next) {
text_fragment *frag, *frag_end;
rect *r;
+ font_encoding *fe;
+ int fs;
pageno++;
fprintf(fp, "%%%%Page: %d %d\n", pageno, pageno);
}
frag = page->first_text;
+ fe = NULL;
+ fs = -1;
while (frag) {
- font_encoding *fe;
- int fs;
char *c;
/*
fprintf(fp, "%g[", frag->y / FUNITS_PER_PT);
- fe = NULL;
- fs = -1;
-
while (frag && frag != frag_end) {
if (frag->fe != fe || frag->fontsize != fs)