| @@ 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); | |