@@ 608-622 (lines=15) @@ | ||
605 | $c = $i; |
|
606 | $g = $glyphIndexArray[0]; |
|
607 | $ctg[$c] = $g; |
|
608 | } else { |
|
609 | // two bytes code |
|
610 | $start_byte = $subHeaders[$k]['firstCode']; |
|
611 | $end_byte = $start_byte + $subHeaders[$k]['entryCount']; |
|
612 | for ($j = $start_byte; $j < $end_byte; ++$j) { |
|
613 | // combine high and low bytes |
|
614 | $c = (($i << 8) + $j); |
|
615 | $idRangeOffset = ($subHeaders[$k]['idRangeOffset'] + $j - $subHeaders[$k]['firstCode']); |
|
616 | $g = ($glyphIndexArray[$idRangeOffset] + $subHeaders[$k]['idDelta']) % 65536; |
|
617 | if ($g < 0) { |
|
618 | $g = 0; |
|
619 | } |
|
620 | $ctg[$c] = $g; |
|
621 | } |
|
622 | } |
|
623 | } |
|
624 | break; |
|
625 | } |
|
@@ 1075-1091 (lines=17) @@ | ||
1072 | $g = $glyphIndexArray[0]; |
|
1073 | $subsetglyphs[$g] = true; |
|
1074 | } |
|
1075 | } else { |
|
1076 | // two bytes code |
|
1077 | $start_byte = $subHeaders[$k]['firstCode']; |
|
1078 | $end_byte = $start_byte + $subHeaders[$k]['entryCount']; |
|
1079 | for ($j = $start_byte; $j < $end_byte; ++$j) { |
|
1080 | // combine high and low bytes |
|
1081 | $c = (($i << 8) + $j); |
|
1082 | if (isset($subsetchars[$c])) { |
|
1083 | $idRangeOffset = ($subHeaders[$k]['idRangeOffset'] + $j - $subHeaders[$k]['firstCode']); |
|
1084 | $g = ($glyphIndexArray[$idRangeOffset] + $subHeaders[$k]['idDelta']) % 65536; |
|
1085 | if ($g < 0) { |
|
1086 | $g = 0; |
|
1087 | } |
|
1088 | $subsetglyphs[$g] = true; |
|
1089 | } |
|
1090 | } |
|
1091 | } |
|
1092 | } |
|
1093 | break; |
|
1094 | } |