Move all format 0 characters to the private area

This commit is contained in:
Vivien Nicolas 2011-09-05 17:30:01 +02:00
parent 5970020f3b
commit 9701f934ed
2 changed files with 8 additions and 12 deletions

View File

@ -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 });
}
}

6
pdf.js
View File

@ -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;
}