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