| @@ 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 | } |
|