[Pkg-javascript-commits] [pdf.js] 136/174: Fixes incorrect PDF file font metrics.
David Prévot
taffit at moszumanska.debian.org
Thu Nov 19 18:45:34 UTC 2015
This is an automated email from the git hooks/post-receive script.
taffit pushed a commit to branch master
in repository pdf.js.
commit cc5bc1872872098b510ad1a6ccdf485a77be3352
Author: Yury Delendik <ydelendik at mozilla.com>
Date: Fri Nov 6 14:47:10 2015 -0600
Fixes incorrect PDF file font metrics.
---
src/core/fonts.js | 26 +++++++++++++++-----------
1 file changed, 15 insertions(+), 11 deletions(-)
diff --git a/src/core/fonts.js b/src/core/fonts.js
index cf1ea64..cd9c34f 100644
--- a/src/core/fonts.js
+++ b/src/core/fonts.js
@@ -4152,6 +4152,20 @@ var Font = (function FontClosure() {
tables.hhea.data[11] = 0xFF;
}
+ // Extract some more font properties from the OpenType head and
+ // hhea tables; yMin and descent value are always negative.
+ var metricsOverride = {
+ unitsPerEm: int16(tables.head.data[18], tables.head.data[19]),
+ yMax: int16(tables.head.data[42], tables.head.data[43]),
+ yMin: int16(tables.head.data[38], tables.head.data[39]) - 0x10000,
+ ascent: int16(tables.hhea.data[4], tables.hhea.data[5]),
+ descent: int16(tables.hhea.data[6], tables.hhea.data[7]) - 0x10000
+ };
+
+ // PDF FontDescriptor metrics lie -- using data from actual font.
+ this.ascent = metricsOverride.ascent / metricsOverride.unitsPerEm;
+ this.descent = metricsOverride.descent / metricsOverride.unitsPerEm;
+
// The 'post' table has glyphs names.
if (tables.post) {
var valid = readPostScriptTable(tables.post, properties, numGlyphs);
@@ -4318,20 +4332,10 @@ var Font = (function FontClosure() {
};
if (!tables['OS/2'] || !validateOS2Table(tables['OS/2'])) {
- // extract some more font properties from the OpenType head and
- // hhea tables; yMin and descent value are always negative
- var override = {
- unitsPerEm: int16(tables.head.data[18], tables.head.data[19]),
- yMax: int16(tables.head.data[42], tables.head.data[43]),
- yMin: int16(tables.head.data[38], tables.head.data[39]) - 0x10000,
- ascent: int16(tables.hhea.data[4], tables.hhea.data[5]),
- descent: int16(tables.hhea.data[6], tables.hhea.data[7]) - 0x10000
- };
-
tables['OS/2'] = {
tag: 'OS/2',
data: createOS2Table(properties, newMapping.charCodeToGlyphId,
- override)
+ metricsOverride)
};
}
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-javascript/pdf.js.git
More information about the Pkg-javascript-commits
mailing list