| @@ 676-689 (lines=14) @@ | ||
| 673 | } |
|
| 674 | break; |
|
| 675 | } |
|
| 676 | case 6: { // Format 6: Trimmed table mapping |
|
| 677 | $offset += 4; // skip length and version/language |
|
| 678 | $firstCode = TCPDF_STATIC::_getUSHORT($font, $offset); |
|
| 679 | $offset += 2; |
|
| 680 | $entryCount = TCPDF_STATIC::_getUSHORT($font, $offset); |
|
| 681 | $offset += 2; |
|
| 682 | for ($k = 0; $k < $entryCount; ++$k) { |
|
| 683 | $c = ($k + $firstCode); |
|
| 684 | $g = TCPDF_STATIC::_getUSHORT($font, $offset); |
|
| 685 | $offset += 2; |
|
| 686 | $ctg[$c] = $g; |
|
| 687 | } |
|
| 688 | break; |
|
| 689 | } |
|
| 690 | case 8: { // Format 8: Mixed 16-bit and 32-bit coverage |
|
| 691 | $offset += 10; // skip reserved, length and version/language |
|
| 692 | for ($k = 0; $k < 8192; ++$k) { |
|
| @@ 722-735 (lines=14) @@ | ||
| 719 | } |
|
| 720 | break; |
|
| 721 | } |
|
| 722 | case 10: { // Format 10: Trimmed array |
|
| 723 | $offset += 10; // skip reserved, length and version/language |
|
| 724 | $startCharCode = TCPDF_STATIC::_getULONG($font, $offset); |
|
| 725 | $offset += 4; |
|
| 726 | $numChars = TCPDF_STATIC::_getULONG($font, $offset); |
|
| 727 | $offset += 4; |
|
| 728 | for ($k = 0; $k < $numChars; ++$k) { |
|
| 729 | $c = ($k + $startCharCode); |
|
| 730 | $g = TCPDF_STATIC::_getUSHORT($font, $offset); |
|
| 731 | $ctg[$c] = $g; |
|
| 732 | $offset += 2; |
|
| 733 | } |
|
| 734 | break; |
|
| 735 | } |
|
| 736 | case 12: { // Format 12: Segmented coverage |
|
| 737 | $offset += 10; // skip length and version/language |
|
| 738 | $nGroups = TCPDF_STATIC::_getULONG($font, $offset); |
|
| @@ 1147-1162 (lines=16) @@ | ||
| 1144 | } |
|
| 1145 | break; |
|
| 1146 | } |
|
| 1147 | case 6: { // Format 6: Trimmed table mapping |
|
| 1148 | $offset += 4; // skip length and version/language |
|
| 1149 | $firstCode = TCPDF_STATIC::_getUSHORT($font, $offset); |
|
| 1150 | $offset += 2; |
|
| 1151 | $entryCount = TCPDF_STATIC::_getUSHORT($font, $offset); |
|
| 1152 | $offset += 2; |
|
| 1153 | for ($k = 0; $k < $entryCount; ++$k) { |
|
| 1154 | $c = ($k + $firstCode); |
|
| 1155 | if (isset($subsetchars[$c])) { |
|
| 1156 | $g = TCPDF_STATIC::_getUSHORT($font, $offset); |
|
| 1157 | $subsetglyphs[$g] = true; |
|
| 1158 | } |
|
| 1159 | $offset += 2; |
|
| 1160 | } |
|
| 1161 | break; |
|
| 1162 | } |
|
| 1163 | case 8: { // Format 8: Mixed 16-bit and 32-bit coverage |
|
| 1164 | $offset += 10; // skip reserved, length and version/language |
|
| 1165 | for ($k = 0; $k < 8192; ++$k) { |
|
| @@ 1197-1212 (lines=16) @@ | ||
| 1194 | } |
|
| 1195 | break; |
|
| 1196 | } |
|
| 1197 | case 10: { // Format 10: Trimmed array |
|
| 1198 | $offset += 10; // skip reserved, length and version/language |
|
| 1199 | $startCharCode = TCPDF_STATIC::_getULONG($font, $offset); |
|
| 1200 | $offset += 4; |
|
| 1201 | $numChars = TCPDF_STATIC::_getULONG($font, $offset); |
|
| 1202 | $offset += 4; |
|
| 1203 | for ($k = 0; $k < $numChars; ++$k) { |
|
| 1204 | $c = ($k + $startCharCode); |
|
| 1205 | if (isset($subsetchars[$c])) { |
|
| 1206 | $g = TCPDF_STATIC::_getUSHORT($font, $offset); |
|
| 1207 | $subsetglyphs[$g] = true; |
|
| 1208 | } |
|
| 1209 | $offset += 2; |
|
| 1210 | } |
|
| 1211 | break; |
|
| 1212 | } |
|
| 1213 | case 12: { // Format 12: Segmented coverage |
|
| 1214 | $offset += 10; // skip length and version/language |
|
| 1215 | $nGroups = TCPDF_STATIC::_getULONG($font, $offset); |
|