使用 Arial 字体的 PDF 查看器错误,其中空格变为 "question mark"
PDF Viewer bug using Arial font where whitespaces became "question mark"
直到我 运行 在 Google Chrome 在 Windows 7 中我才注意到这个错误。它在 Internet Explorer 中并不明显,因为它是使用 Adobe Acrobat,但 Chrome 使用内置 PDF 查看器。
文本 "Hello, How are you?" 已变为 "Hello,?How?are?you?"。
using pdfclownFonts = org.pdfclown.documents.contents.fonts;
private void DocumentTemplate(Document parmDocument)
{
PrimitiveComposer primitiveComposer = new PrimitiveComposer(page);
{
BlockComposer blockComposer = new BlockComposer(primitiveComposer);
pdfclownFonts::Font fontArial = pdfclownFonts::Font.Get(parmDocument, _fontArialRegularFilePath);
primitiveComposer.SetFont(fontArial, 26 /*[Font-Size]*/);
blockComposer.Begin(New RectangleF(5f, 5f, 500f, 30f), XAlignmentEnum.Left, YAlignment Enum.Top);
blockComposer.ShowText("Hello, How are you?");
blockComposer.End();
blockComposer.Flush();
}
}
然后我在 http://sourceforge.net/p/clown/bugs/52/ 找到了这个错误报告。
所以我的问题是...
1) 这只是一个 Chrome 错误吗?
2) 或者它只是一个 PDFClown 错误?
3) 如果 PDFClown 存在 bug,那么您是否知道修复它的估计时间?
谢谢。
Vadim 在 his answer and was the subject of at least one pdf.js' bug-tracking entry.
中巧妙地解释了这个问题
简短的回答是 PDF Clown 生成完全合法的 PDF 文件(因此它们可以由 Adobe Acrobat、基于 Poppler 的查看器(如 Evince,甚至优秀的 Ghostscript 解释器)正确呈现)。问题是这些 PDF 文件具有 "jagged" 混合长度代码点,像 Chrome 这样不太成熟的查看者无法正确处理这些代码点。
为避免此类不便,PDF Clown 将仅使用单一长度编码(这是 0.2.0 中要解决的问题之一)。
2015 年 4 月 14 日更新
我很高兴地宣布 the issue has been solved and committed to the project's repo。它将包含在下一个版本中(0.1.2.1 和 0.2.0);同时,您可以从指定的 link 下载代码快照。
直到我 运行 在 Google Chrome 在 Windows 7 中我才注意到这个错误。它在 Internet Explorer 中并不明显,因为它是使用 Adobe Acrobat,但 Chrome 使用内置 PDF 查看器。
文本 "Hello, How are you?" 已变为 "Hello,?How?are?you?"。
using pdfclownFonts = org.pdfclown.documents.contents.fonts;
private void DocumentTemplate(Document parmDocument)
{
PrimitiveComposer primitiveComposer = new PrimitiveComposer(page);
{
BlockComposer blockComposer = new BlockComposer(primitiveComposer);
pdfclownFonts::Font fontArial = pdfclownFonts::Font.Get(parmDocument, _fontArialRegularFilePath);
primitiveComposer.SetFont(fontArial, 26 /*[Font-Size]*/);
blockComposer.Begin(New RectangleF(5f, 5f, 500f, 30f), XAlignmentEnum.Left, YAlignment Enum.Top);
blockComposer.ShowText("Hello, How are you?");
blockComposer.End();
blockComposer.Flush();
}
}
然后我在 http://sourceforge.net/p/clown/bugs/52/ 找到了这个错误报告。
所以我的问题是...
1) 这只是一个 Chrome 错误吗?
2) 或者它只是一个 PDFClown 错误?
3) 如果 PDFClown 存在 bug,那么您是否知道修复它的估计时间?
谢谢。
Vadim 在 his answer and was the subject of at least one pdf.js' bug-tracking entry.
中巧妙地解释了这个问题简短的回答是 PDF Clown 生成完全合法的 PDF 文件(因此它们可以由 Adobe Acrobat、基于 Poppler 的查看器(如 Evince,甚至优秀的 Ghostscript 解释器)正确呈现)。问题是这些 PDF 文件具有 "jagged" 混合长度代码点,像 Chrome 这样不太成熟的查看者无法正确处理这些代码点。
为避免此类不便,PDF Clown 将仅使用单一长度编码(这是 0.2.0 中要解决的问题之一)。
2015 年 4 月 14 日更新
我很高兴地宣布 the issue has been solved and committed to the project's repo。它将包含在下一个版本中(0.1.2.1 和 0.2.0);同时,您可以从指定的 link 下载代码快照。