From 9701f934edf561163e64950641be9342dd46e658 Mon Sep 17 00:00:00 2001 From: Vivien Nicolas <21@vingtetun.org> Date: Mon, 5 Sep 2011 17:30:01 +0200 Subject: [PATCH] Move all format 0 characters to the private area --- fonts.js | 14 +++----------- pdf.js | 6 +++++- 2 files changed, 8 insertions(+), 12 deletions(-) diff --git a/fonts.js b/fonts.js index 231124783..03b87a84f 100755 --- a/fonts.js +++ b/fonts.js @@ -12,7 +12,6 @@ var kMaxWaitForFontFace = 1000; // Unicode Private Use Area var kCmapGlyphOffset = 0xE000; - /** * Hold a map of decoded fonts and of the standard fourteen Type1 * fonts and their acronyms. @@ -887,16 +886,9 @@ var Font = (function Font() { break; } - glyphs.push({ glyph: glyph, unicode: j }); - } - } - - if (properties.firstChar < 0x20) { - for (var j = 0; j < glyphs.length; j++) { - var glyph = glyphs[j]; - var code = glyph.unicode + kCmapGlyphOffset; - properties.glyphs[glyph.glyph] = encoding[glyph.unicode] = code; - glyph.unicode = code; + var unicode = j + kCmapGlyphOffset; + properties.glyphs[glyph] = encoding[j] = unicode; + glyphs.push({ glyph: glyph, unicode: unicode }); } } diff --git a/pdf.js b/pdf.js index dcc9f8887..2d05295c1 100644 --- a/pdf.js +++ b/pdf.js @@ -4297,6 +4297,10 @@ var PartialEvaluator = (function() { lastChar = diffEncoding.length || baseEncoding.length; // merge in the differences + function isDisplayable(code) { + return code > 0x1f && (code < 128 || code > 255); + } + var glyphsMap = {}; for (var i = firstChar; i <= lastChar; i++) { var glyph = diffEncoding[i] || baseEncoding[i]; @@ -4304,7 +4308,7 @@ var PartialEvaluator = (function() { var index = GlyphsUnicode[glyph] || i; glyphsMap[glyph] = encodingMap[i] = index; - if (index <= 0x1f || (index >= 127 && index <= 255)) + if (!isDisplayable(index)) glyphsMap[glyph] = encodingMap[i] += kCmapGlyphOffset; }