tore 01/07/17 13:57:49 Modified: src/org/apache/fop/fonts TTFFile.java Log: Submitted by: SASAKI Suguru ([EMAIL PROTECTED]) Some glyphs are missed when more then one glyph maps to the same data, this patch fixes it. Revision Changes Path 1.5 +10 -5 xml-fop/src/org/apache/fop/fonts/TTFFile.java Index: TTFFile.java =================================================================== RCS file: /home/cvs/xml-fop/src/org/apache/fop/fonts/TTFFile.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- TTFFile.java 2001/04/16 16:07:30 1.4 +++ TTFFile.java 2001/07/17 20:57:47 1.5 @@ -1,4 +1,4 @@ -/* -- $Id: TTFFile.java,v 1.4 2001/04/16 16:07:30 tore Exp $ -- +/* -- $Id: TTFFile.java,v 1.5 2001/07/17 20:57:47 tore Exp $ -- * * Copyright (C) 2001 The Apache Software Foundation. All rights reserved. * For details on use and redistribution please refer to the @@ -200,14 +200,15 @@ lastChar = (short) j; if (mtxPtr < mtx_tab.length) { + int glyphIdx; if (cmap_rangeOffsets[i] != 0) { int glyphOffset = glyphIdArrayOffset + ((cmap_rangeOffsets[i] / 2) + (j - cmap_startCounts[i]) + (i) - cmap_segCountX2 / 2) * 2; in.seek_set(glyphOffset); - int glyphIdx = (in.readTTFUShort() + - cmap_deltas[i]) & 0xffff; + glyphIdx = (in.readTTFUShort() + + cmap_deltas[i]) & 0xffff; unicodeMapping.addElement( new UnicodeMapping(glyphIdx, j)); @@ -254,7 +255,7 @@ } else { - int glyphIdx = (j + cmap_deltas[i]) & 0xffff; + glyphIdx = (j + cmap_deltas[i]) & 0xffff; if (glyphIdx < mtx_tab.length) mtx_tab[glyphIdx] .unicodeIndex.addElement( @@ -308,7 +309,11 @@ mtx_tab[(j+cmap_deltas[i]) & 0xffff].name); */ } - mtxPtr++; + if (glyphIdx < mtx_tab.length) { + if (mtx_tab[glyphIdx].unicodeIndex.size() < 2) { + mtxPtr++; + } + } } } } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]