X-Git-Url: https://git.distorted.org.uk/~mdw/sgt/halibut/blobdiff_plain/f4944c7cf92f243fd5c48361c6012e84f71fb545..51d05cd0a6de05c0adc8986e1d534e426d6f582c:/bk_pdf.c diff --git a/bk_pdf.c b/bk_pdf.c index 6f6349e..5ebf67e 100644 --- a/bk_pdf.c +++ b/bk_pdf.c @@ -50,7 +50,6 @@ void pdf_backend(paragraph *sourceform, keywordlist *keywords, int font_index; font_encoding *fe; page_data *page; - int pageno; FILE *fp; char *filename; paragraph *p; @@ -258,6 +257,7 @@ void pdf_backend(paragraph *sourceform, keywordlist *keywords, sprintf(buf, "<%02X>", i + ranges[i] - 1); objstream(cmap, buf); sprintf(buf, "%hu\n", + (unsigned short) sfnt_glyphtoindex(fe->font->info->fontfile, fe->vector[i])); objstream(cmap, buf); @@ -279,6 +279,7 @@ void pdf_backend(paragraph *sourceform, keywordlist *keywords, sprintf(buf, "<%02X>", i); objstream(cmap, buf); sprintf(buf, "%hu\n", + (unsigned short) sfnt_glyphtoindex(fe->font->info->fontfile, fe->vector[i])); objstream(cmap, buf); @@ -427,7 +428,6 @@ void pdf_backend(paragraph *sourceform, keywordlist *keywords, /* * Create and render the individual pages. */ - pageno = 0; for (page = doc->pages; page; page = page->next) { object *opage, *cstr; rect *r; @@ -665,7 +665,10 @@ void pdf_backend(paragraph *sourceform, keywordlist *keywords, * Write out the PDF file. */ - fp = fopen(filename, "wb"); + if (!strcmp(filename, "-")) + fp = stdout; + else + fp = fopen(filename, "wb"); if (!fp) { error(err_cantopenw, filename); return; @@ -712,7 +715,8 @@ void pdf_backend(paragraph *sourceform, keywordlist *keywords, olist.tail->number + 1, cat->number, info->number); fprintf(fp, "startxref\n%d\n%%%%EOF\n", fileoff); - fclose(fp); + if (fp != stdout) + fclose(fp); sfree(filename); }