diff options
author | Jonathan Kew <jfkthame@googlemail.com> | 2007-07-27 16:32:31 +0000 |
---|---|---|
committer | Jonathan Kew <jfkthame@googlemail.com> | 2007-07-27 16:32:31 +0000 |
commit | bdba3f35302c893676527d9fac8956d439a86884 (patch) | |
tree | 95ec62055f1c53d0f06ac5d770b2c024a0bbc4a9 /Build/source/texk/xdvipdfmx | |
parent | dc1f6f81442c5d3a149e1635c44a9cc95b33c8b2 (diff) |
merged xetex-related fixes from branch2007 (r4517)
git-svn-id: svn://tug.org/texlive/trunk@4666 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Build/source/texk/xdvipdfmx')
-rw-r--r-- | Build/source/texk/xdvipdfmx/src/tt_cmap.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/Build/source/texk/xdvipdfmx/src/tt_cmap.c b/Build/source/texk/xdvipdfmx/src/tt_cmap.c index 1681dad8230..ea8fb0e304e 100644 --- a/Build/source/texk/xdvipdfmx/src/tt_cmap.c +++ b/Build/source/texk/xdvipdfmx/src/tt_cmap.c @@ -303,6 +303,9 @@ lookup_cmap4 (struct cmap4 *map, USHORT cc) if (cc >= map->startCount[i]) { if (map->idRangeOffset[i] == 0) { gid = (cc + map->idDelta[i]) & 0xffff; + } else if (cc == 0xffff && map->idRangeOffset[i] == 0xffff) { + /* this is for protection against some old broken fonts... */ + gid = 0; } else { j = map->idRangeOffset[i] - (segCount - i) * 2; j = (cc - map->startCount[i]) + (j / 2); @@ -630,6 +633,9 @@ load_cmap4 (struct cmap4 *map, ch = c0 + j; if (map->idRangeOffset[i] == 0) { gid = (ch + map->idDelta[i]) & 0xffff; + } else if (c0 == 0xffff && c1 == 0xffff && map->idRangeOffset[i] == 0xffff) { + /* this is for protection against some old broken fonts... */ + gid = 0; } else { gid = (map->glyphIndexArray[j+d] + map->idDelta[i]) & 0xffff; @@ -952,6 +958,9 @@ create_ToUnicode_cmap4 (struct cmap4 *map, ch = c0 + j; if (map->idRangeOffset[i] == 0) { gid = (ch + map->idDelta[i]) & 0xffff; + } else if (c0 == 0xffff && c1 == 0xffff && map->idRangeOffset[i] == 0xffff) { + /* this is for protection against some old broken fonts... */ + gid = 0; } else { gid = (map->glyphIndexArray[j+d] + map->idDelta[i]) & 0xffff; |