From 045633a1b8b9a93da39276c44d8313ec66a07545 Mon Sep 17 00:00:00 2001 From: Hiroki Sato Date: Mon, 29 Apr 2013 20:12:16 +0000 Subject: Resurrect print/ghostscript7*. Ghostscript 7.x is incompatible with 8.x and 9.x in terms of CJK character support and they are still in demand. While I am here, the following changes have been added: - Add LICENSE. - Use OPTIONS_DEFINE for ghostscript drivers. - Add MAKE_JOBS_SAFE=yes. Discussed with: bapt --- print/ghostscript7/files/patch-src:gdevpdff.c | 59 +++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 print/ghostscript7/files/patch-src:gdevpdff.c (limited to 'print/ghostscript7/files/patch-src:gdevpdff.c') diff --git a/print/ghostscript7/files/patch-src:gdevpdff.c b/print/ghostscript7/files/patch-src:gdevpdff.c new file mode 100644 index 000000000000..8a292bd4cdec --- /dev/null +++ b/print/ghostscript7/files/patch-src:gdevpdff.c @@ -0,0 +1,59 @@ +--- src/gdevpdff.c.org 2003-01-17 09:49:02.000000000 +0900 ++++ src/gdevpdff.c 2003-09-21 05:08:36.000000000 +0900 +@@ -276,6 +276,11 @@ + const byte *chars = font->font_name.chars; + uint size = font->font_name.size; + ++ /* CIDFonts has null string in font_name, key_name is used */ ++ if (0 == size) { ++ chars = font->key_name.chars; ++ size = font->key_name.size; ++ } + /* + * The behavior of Acrobat Distiller changed between 3.0 (PDF 1.2), + * which will never embed the base 14 fonts, and 4.0 (PDF 1.3), which +@@ -720,19 +725,22 @@ + same &= ~FONT_SAME_METRICS; + break; + case FONT_EMBED_NO: +- /* +- * Per the PDF 1.3 documentation, there are only 3 BaseEncoding +- * values allowed for non-embedded fonts. Pick one here. +- */ +- BaseEncoding = +- ((const gs_font_base *)base_font)->nearest_encoding_index; +- switch (BaseEncoding) { +- default: +- BaseEncoding = ENCODING_INDEX_WINANSI; +- case ENCODING_INDEX_WINANSI: +- case ENCODING_INDEX_MACROMAN: +- case ENCODING_INDEX_MACEXPERT: +- break; ++ if (!(font->FontType == ft_CID_encrypted || ++ font->FontType == ft_CID_TrueType)) { ++ /* ++ * Per the PDF 1.3 documentation, there are only 3 BaseEncoding ++ * values allowed for non-embedded fonts. Pick one here. ++ */ ++ BaseEncoding = ++ ((const gs_font_base *)base_font)->nearest_encoding_index; ++ switch (BaseEncoding) { ++ default: ++ BaseEncoding = ENCODING_INDEX_WINANSI; ++ case ENCODING_INDEX_WINANSI: ++ case ENCODING_INDEX_MACROMAN: ++ case ENCODING_INDEX_MACEXPERT: ++ break; ++ } + } + code = pdf_compute_font_descriptor(pdev, &fdesc, font, NULL); + if (code < 0) +@@ -888,6 +896,7 @@ + memcpy(ppf->widths_known, ftemp_widths_known, + sizeof(ftemp_widths_known)); + } ++ ppf->embed = embed; + code = pdf_register_font(pdev, font, ppf); + + *pppf = ppf; + -- cgit v1.2.3