diff options
author | Carlos Garcia Campos <carlosgc@gnome.org> | 2011-09-01 17:49:46 +0200 |
---|---|---|
committer | Carlos Garcia Campos <carlosgc@gnome.org> | 2011-09-01 17:50:37 +0200 |
commit | 68c6ebc78b89eec94a9c3538fe6e27561a21b680 (patch) | |
tree | 56d3da97795ad188762081612c7f1c055b4b9f51 /fofi | |
parent | 19204ed5cd5cb64809f1a1f51dd5ffdef2b9417a (diff) |
xpdf303: codeToGID items can be < 0 now
Diffstat (limited to 'fofi')
-rw-r--r-- | fofi/FoFiTrueType.cc | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/fofi/FoFiTrueType.cc b/fofi/FoFiTrueType.cc index 53fb1a5e..36467f81 100644 --- a/fofi/FoFiTrueType.cc +++ b/fofi/FoFiTrueType.cc @@ -1179,8 +1179,16 @@ void FoFiTrueType::writeTTF(FoFiOutputFunc outputFunc, newCmapTab[42] = 0; // idRangeOffset[1] newCmapTab[43] = 0; for (i = 0; i < 256; ++i) { - newCmapTab[44 + 2*i] = codeToGID[i] >> 8; - newCmapTab[44 + 2*i + 1] = codeToGID[i] & 0xff; + if (codeToGID[i] < 0) { + //~ this may not be correct - we want this character to never be + //~ displayed, but mapping it to the notdef glyph may result in + //~ little boxes being displayed + newCmapTab[44 + 2*i] = 0; + newCmapTab[44 + 2*i + 1] = 0; + } else { + newCmapTab[44 + 2*i] = codeToGID[i] >> 8; + newCmapTab[44 + 2*i + 1] = codeToGID[i] & 0xff; + } } } else { newCmapLen = 0; |