summaryrefslogtreecommitdiff
path: root/gs/base/gdevpdtd.h
diff options
context:
space:
mode:
authorKen Sharp <ken.sharp@artifex.com>2009-10-05 07:10:40 +0000
committerKen Sharp <ken.sharp@artifex.com>2009-10-05 07:10:40 +0000
commit4f9498b441462d3adf542b26bff7a9c82cb800c8 (patch)
treec7c7b276c8eed1ae2c07254a52e6c2a513cee92f /gs/base/gdevpdtd.h
parentfa4fb0ff47b67ed494f5ad0c58ad856afbf31504 (diff)
downloadghostpdl-4f9498b441462d3adf542b26bff7a9c82cb800c8.tar.gz
Fix (pdfwrite) : Improve symbolic font detection
Details Bug #690767 "Problems with PDFA" Revision 9944 altered the way that we detect whether a font is symbolic or not. This involved several changes; fixing existing broken code, adding /.notdef detection and attempting to check encoded positions of glyphs before deciding a font was non-symbolic. The encoding position test was incorrect for TrueType fonts, however, leading to some fonts being needlessly declared as symbolic. This patch moves the encoding test to the font descriptor assembly, which is the correct place to test it. While this resolves the customer issue, it is not a complete solution. A truly symbolic TrueType font would still be written as a symbolic font and when creating PDF/A files there are strict limitations on the form of TrueType fonts. In particular they must only contain a single CMAP table. Because we do not completely generate TrueType fonts for embedding, but copy some tables, we cannot meet this restriction. This will continue to be a potential problem until the TrueType font embedding code is rewritten properly. Expected Differences 'Boxes and Text.pdf' and 'fonts.pdf' now have missing fonts labelled as non-symbolic, which affects the substitution used and alters the output. git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@10124 a1074d23-0009-0410-80fe-cf8c14f379e6
Diffstat (limited to 'gs/base/gdevpdtd.h')
-rw-r--r--gs/base/gdevpdtd.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/gs/base/gdevpdtd.h b/gs/base/gdevpdtd.h
index 5727572b9..42123200a 100644
--- a/gs/base/gdevpdtd.h
+++ b/gs/base/gdevpdtd.h
@@ -149,4 +149,9 @@ int pdf_release_FontDescriptor_components(gx_device_pdf *pdev, pdf_resource_t *p
*/
int pdf_mark_font_descriptor_used(gx_device_pdf *pdev, pdf_font_descriptor_t *pfd);
+/*
+ * Mark a FontDescriptor Flags value as symbolic
+ */
+int mark_font_descriptor_symbolic(pdf_font_resource_t *pdfont);
+
#endif /* gdevpdtd_INCLUDED */