[poppler] Branch 'xpdf303merge' - fofi/FoFiTrueType.cc
Carlos Garcia Campos
carlosgc at kemper.freedesktop.org
Thu Sep 1 09:22:40 PDT 2011
fofi/FoFiTrueType.cc | 29 ++++++++++++++++-------------
1 file changed, 16 insertions(+), 13 deletions(-)
New commits:
commit 0fe7cc82e84dc2a3b79248b111656e5e7df9fdc2
Author: Carlos Garcia Campos <carlosgc at gnome.org>
Date: Thu Sep 1 18:21:33 2011 +0200
xpdf303: Update cmap, name, post and os2 tables in FoFiTrueType
diff --git a/fofi/FoFiTrueType.cc b/fofi/FoFiTrueType.cc
index 26017d0..f131fac 100644
--- a/fofi/FoFiTrueType.cc
+++ b/fofi/FoFiTrueType.cc
@@ -829,14 +829,17 @@ void FoFiTrueType::convertToType0(char *psName,
void FoFiTrueType::writeTTF(FoFiOutputFunc outputFunc,
void *outputStream, char *name,
int *codeToGID) {
- // this substitute cmap table maps char codes 0000-ffff directly to
- // glyphs 0000-ffff
- static char cmapTab[36] = {
+ // this substitute cmap table maps char code ffff to glyph 0,
+ // with tables for MacRoman and MS Unicode
+ static char cmapTab[44] = {
0, 0, // table version number
- 0, 1, // number of encoding tables
+ 0, 2, // number of encoding tables
0, 1, // platform ID
0, 0, // encoding ID
- 0, 0, 0, 12, // offset of subtable
+ 0, 0, 0, 20, // offset of subtable
+ 0, 3, // platform ID
+ 0, 1, // encoding ID
+ 0, 0, 0, 20, // offset of subtable
0, 4, // subtable format
0, 24, // subtable length
0, 0, // subtable version
@@ -846,9 +849,9 @@ void FoFiTrueType::writeTTF(FoFiOutputFunc outputFunc,
0, 0, // 2*segCount - 2*2^floor(log2(segCount))
(char)0xff, (char)0xff, // endCount[0]
0, 0, // reserved
- 0, 0, // startCount[0]
- 0, 0, // idDelta[0]
- 0, 0 // pad to a mulitple of four bytes
+ (char)0xff, (char)0xff, // startCount[0]
+ 0, 1, // idDelta[0]
+ 0, 0 // idRangeOffset[0]
};
static char nameTab[8] = {
0, 0, // format
@@ -870,8 +873,8 @@ void FoFiTrueType::writeTTF(FoFiOutputFunc outputFunc,
static char os2Tab[86] = {
0, 1, // version
0, 1, // xAvgCharWidth
- 0, 0, // usWeightClass
- 0, 0, // usWidthClass
+ 0x01, (char)0x90, // usWeightClass
+ 0, 5, // usWidthClass
0, 0, // fsType
0, 0, // ySubscriptXSize
0, 0, // ySubscriptYSize
@@ -897,9 +900,9 @@ void FoFiTrueType::writeTTF(FoFiOutputFunc outputFunc,
0, 0, // sTypoAscender
0, 0, // sTypoDescender
0, 0, // sTypoLineGap
- 0, 0, // usWinAscent
- 0, 0, // usWinDescent
- 0, 0, 0, 0, // ulCodePageRange1
+ 0x20, 0x00, // usWinAscent
+ 0x20, 0x00, // usWinDescent
+ 0, 0, 0, 1, // ulCodePageRange1
0, 0, 0, 0 // ulCodePageRange2
};
GBool missingCmap, missingName, missingPost, missingOS2;
More information about the poppler
mailing list