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