@@ 707-715 (lines=9) @@ | ||
704 | $offset += 4; |
|
705 | for ($k = $startCharCode; $k <= $endCharCode; ++$k) { |
|
706 | $is32idx = floor($c / 8); |
|
707 | if ((isset($is32[$is32idx])) AND (($is32[$is32idx] & (1 << (7 - ($c % 8)))) == 0)) { |
|
708 | $c = $k; |
|
709 | } else { |
|
710 | // 32 bit format |
|
711 | // convert to decimal (http://www.unicode.org/faq//utf_bom.html#utf16-4) |
|
712 | //LEAD_OFFSET = (0xD800 - (0x10000 >> 10)) = 55232 |
|
713 | //SURROGATE_OFFSET = (0x10000 - (0xD800 << 10) - 0xDC00) = -56613888 |
|
714 | $c = ((55232 + ($k >> 10)) << 10) + (0xDC00 + ($k & 0x3FF)) -56613888; |
|
715 | } |
|
716 | $ctg[$c] = 0; |
|
717 | ++$startGlyphID; |
|
718 | } |
|
@@ 1180-1188 (lines=9) @@ | ||
1177 | $offset += 4; |
|
1178 | for ($k = $startCharCode; $k <= $endCharCode; ++$k) { |
|
1179 | $is32idx = floor($c / 8); |
|
1180 | if ((isset($is32[$is32idx])) AND (($is32[$is32idx] & (1 << (7 - ($c % 8)))) == 0)) { |
|
1181 | $c = $k; |
|
1182 | } else { |
|
1183 | // 32 bit format |
|
1184 | // convert to decimal (http://www.unicode.org/faq//utf_bom.html#utf16-4) |
|
1185 | //LEAD_OFFSET = (0xD800 - (0x10000 >> 10)) = 55232 |
|
1186 | //SURROGATE_OFFSET = (0x10000 - (0xD800 << 10) - 0xDC00) = -56613888 |
|
1187 | $c = ((55232 + ($k >> 10)) << 10) + (0xDC00 + ($k & 0x3FF)) -56613888; |
|
1188 | } |
|
1189 | if (isset($subsetchars[$c])) { |
|
1190 | $subsetglyphs[$startGlyphID] = true; |
|
1191 | } |