[poppler] poppler/GfxFont.cc
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Fri Oct 15 21:23:26 UTC 2021
poppler/GfxFont.cc | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
New commits:
commit 9604005a4e81ebc6bed2c90aa2044dc1cf064dfd
Author: Albert Astals Cid <aacid at kde.org>
Date: Wed Oct 13 22:19:09 2021 +0200
Don't say a font is not monospace because the widths are all X and 0
diff --git a/poppler/GfxFont.cc b/poppler/GfxFont.cc
index d3cff8aa..71798880 100644
--- a/poppler/GfxFont.cc
+++ b/poppler/GfxFont.cc
@@ -1362,11 +1362,17 @@ Gfx8BitFont::Gfx8BitFont(XRef *xref, const char *tagA, Ref idA, GooString *nameA
if (obj1.arrayGetLength() < lastChar - firstChar + 1) {
lastChar = firstChar + obj1.arrayGetLength() - 1;
}
+ double firstNonZeroWidth = 0;
for (int code = firstChar; code <= lastChar; ++code) {
Object obj2 = obj1.arrayGet(code - firstChar);
if (obj2.isNum()) {
widths[code] = obj2.getNum() * mul;
- if (fabs(widths[code] - widths[firstChar]) > 0.00001) {
+
+ // Check if the font is fixed width
+ if (firstNonZeroWidth == 0) {
+ firstNonZeroWidth = widths[code];
+ }
+ if (firstNonZeroWidth != 0 && widths[code] != 0 && fabs(widths[code] - firstNonZeroWidth) > 0.00001) {
flags &= ~fontFixedWidth;
}
}
More information about the poppler
mailing list