File indexing completed on 2024-12-22 05:36:54
0001 <?php 0002 /** 0003 * Zend Framework 0004 * 0005 * LICENSE 0006 * 0007 * This source file is subject to the new BSD license that is bundled 0008 * with this package in the file LICENSE.txt. 0009 * It is also available through the world-wide-web at this URL: 0010 * http://framework.zend.com/license/new-bsd 0011 * If you did not receive a copy of the license and are unable to 0012 * obtain it through the world-wide-web, please send an email 0013 * to license@zend.com so we can send you a copy immediately. 0014 * 0015 * @category Zend 0016 * @package Zend_Pdf 0017 * @subpackage Fonts 0018 * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com) 0019 * @license http://framework.zend.com/license/new-bsd New BSD License 0020 * @version $Id$ 0021 */ 0022 0023 /** Zend_Pdf_Cmap */ 0024 // require_once 'Zend/Pdf/Cmap.php'; 0025 0026 0027 /** 0028 * Implements the "byte encoding" character map (type 0). 0029 * 0030 * This is the (legacy) Apple standard encoding mechanism and provides coverage 0031 * for characters in the Mac Roman character set only. Consequently, this cmap 0032 * type should be used only as a last resort. 0033 * 0034 * The mapping from Mac Roman to Unicode can be found at 0035 * {@link http://www.unicode.org/Public/MAPPINGS/VENDORS/APPLE/ROMAN.TXT}. 0036 * 0037 * @package Zend_Pdf 0038 * @subpackage Fonts 0039 * @copyright Copyright (c) 2005-2015 Zend Technologies USA Inc. (http://www.zend.com) 0040 * @license http://framework.zend.com/license/new-bsd New BSD License 0041 */ 0042 class Zend_Pdf_Cmap_ByteEncoding extends Zend_Pdf_Cmap 0043 { 0044 /**** Instance Variables ****/ 0045 0046 0047 /** 0048 * Glyph index array. Stores the actual glyph numbers. The array keys are 0049 * the translated Unicode code points. 0050 * @var array 0051 */ 0052 protected $_glyphIndexArray = array(); 0053 0054 0055 0056 /**** Public Interface ****/ 0057 0058 0059 /* Concrete Class Implementation */ 0060 0061 /** 0062 * Returns an array of glyph numbers corresponding to the Unicode characters. 0063 * 0064 * If a particular character doesn't exist in this font, the special 'missing 0065 * character glyph' will be substituted. 0066 * 0067 * See also {@link glyphNumberForCharacter()}. 0068 * 0069 * @param array $characterCodes Array of Unicode character codes (code points). 0070 * @return array Array of glyph numbers. 0071 */ 0072 public function glyphNumbersForCharacters($characterCodes) 0073 { 0074 $glyphNumbers = array(); 0075 foreach ($characterCodes as $key => $characterCode) { 0076 0077 if (! isset($this->_glyphIndexArray[$characterCode])) { 0078 $glyphNumbers[$key] = Zend_Pdf_Cmap::MISSING_CHARACTER_GLYPH; 0079 continue; 0080 } 0081 0082 $glyphNumbers[$key] = $this->_glyphIndexArray[$characterCode]; 0083 0084 } 0085 return $glyphNumbers; 0086 } 0087 0088 /** 0089 * Returns the glyph number corresponding to the Unicode character. 0090 * 0091 * If a particular character doesn't exist in this font, the special 'missing 0092 * character glyph' will be substituted. 0093 * 0094 * See also {@link glyphNumbersForCharacters()} which is optimized for bulk 0095 * operations. 0096 * 0097 * @param integer $characterCode Unicode character code (code point). 0098 * @return integer Glyph number. 0099 */ 0100 public function glyphNumberForCharacter($characterCode) 0101 { 0102 if (! isset($this->_glyphIndexArray[$characterCode])) { 0103 return Zend_Pdf_Cmap::MISSING_CHARACTER_GLYPH; 0104 } 0105 return $this->_glyphIndexArray[$characterCode]; 0106 } 0107 0108 /** 0109 * Returns an array containing the Unicode characters that have entries in 0110 * this character map. 0111 * 0112 * @return array Unicode character codes. 0113 */ 0114 public function getCoveredCharacters() 0115 { 0116 return array_keys($this->_glyphIndexArray); 0117 } 0118 0119 /** 0120 * Returns an array containing the glyphs numbers that have entries in this character map. 0121 * Keys are Unicode character codes (integers) 0122 * 0123 * This functionality is partially covered by glyphNumbersForCharacters(getCoveredCharacters()) 0124 * call, but this method do it in more effective way (prepare complete list instead of searching 0125 * glyph for each character code). 0126 * 0127 * @internal 0128 * @return array Array representing <Unicode character code> => <glyph number> pairs. 0129 */ 0130 public function getCoveredCharactersGlyphs() 0131 { 0132 return $this->_glyphIndexArray; 0133 } 0134 0135 0136 /* Object Lifecycle */ 0137 0138 /** 0139 * Object constructor 0140 * 0141 * Parses the raw binary table data. Throws an exception if the table is 0142 * malformed. 0143 * 0144 * @param string $cmapData Raw binary cmap table data. 0145 * @throws Zend_Pdf_Exception 0146 */ 0147 public function __construct($cmapData) 0148 { 0149 /* Sanity check: This table must be exactly 262 bytes long. 0150 */ 0151 $actualLength = strlen($cmapData); 0152 if ($actualLength != 262) { 0153 // require_once 'Zend/Pdf/Exception.php'; 0154 throw new Zend_Pdf_Exception('Insufficient table data', 0155 Zend_Pdf_Exception::CMAP_TABLE_DATA_TOO_SMALL); 0156 } 0157 0158 /* Sanity check: Make sure this is right data for this table type. 0159 */ 0160 $type = $this->_extractUInt2($cmapData, 0); 0161 if ($type != Zend_Pdf_Cmap::TYPE_BYTE_ENCODING) { 0162 // require_once 'Zend/Pdf/Exception.php'; 0163 throw new Zend_Pdf_Exception('Wrong cmap table type', 0164 Zend_Pdf_Exception::CMAP_WRONG_TABLE_TYPE); 0165 } 0166 0167 $length = $this->_extractUInt2($cmapData, 2); 0168 if ($length != $actualLength) { 0169 // require_once 'Zend/Pdf/Exception.php'; 0170 throw new Zend_Pdf_Exception("Table length ($length) does not match actual length ($actualLength)", 0171 Zend_Pdf_Exception::CMAP_WRONG_TABLE_LENGTH); 0172 } 0173 0174 /* Mapping tables should be language-independent. The font may not work 0175 * as expected if they are not. Unfortunately, many font files in the 0176 * wild incorrectly record a language ID in this field, so we can't 0177 * call this a failure. 0178 */ 0179 $language = $this->_extractUInt2($cmapData, 4); 0180 if ($language != 0) { 0181 // Record a warning here somehow? 0182 } 0183 0184 /* The mapping between the Mac Roman and Unicode characters is static. 0185 * For simplicity, just put all 256 glyph indices into one array keyed 0186 * off the corresponding Unicode character. 0187 */ 0188 $i = 6; 0189 $this->_glyphIndexArray[0x00] = ord($cmapData[$i++]); 0190 $this->_glyphIndexArray[0x01] = ord($cmapData[$i++]); 0191 $this->_glyphIndexArray[0x02] = ord($cmapData[$i++]); 0192 $this->_glyphIndexArray[0x03] = ord($cmapData[$i++]); 0193 $this->_glyphIndexArray[0x04] = ord($cmapData[$i++]); 0194 $this->_glyphIndexArray[0x05] = ord($cmapData[$i++]); 0195 $this->_glyphIndexArray[0x06] = ord($cmapData[$i++]); 0196 $this->_glyphIndexArray[0x07] = ord($cmapData[$i++]); 0197 $this->_glyphIndexArray[0x08] = ord($cmapData[$i++]); 0198 $this->_glyphIndexArray[0x09] = ord($cmapData[$i++]); 0199 $this->_glyphIndexArray[0x0a] = ord($cmapData[$i++]); 0200 $this->_glyphIndexArray[0x0b] = ord($cmapData[$i++]); 0201 $this->_glyphIndexArray[0x0c] = ord($cmapData[$i++]); 0202 $this->_glyphIndexArray[0x0d] = ord($cmapData[$i++]); 0203 $this->_glyphIndexArray[0x0e] = ord($cmapData[$i++]); 0204 $this->_glyphIndexArray[0x0f] = ord($cmapData[$i++]); 0205 $this->_glyphIndexArray[0x10] = ord($cmapData[$i++]); 0206 $this->_glyphIndexArray[0x11] = ord($cmapData[$i++]); 0207 $this->_glyphIndexArray[0x12] = ord($cmapData[$i++]); 0208 $this->_glyphIndexArray[0x13] = ord($cmapData[$i++]); 0209 $this->_glyphIndexArray[0x14] = ord($cmapData[$i++]); 0210 $this->_glyphIndexArray[0x15] = ord($cmapData[$i++]); 0211 $this->_glyphIndexArray[0x16] = ord($cmapData[$i++]); 0212 $this->_glyphIndexArray[0x17] = ord($cmapData[$i++]); 0213 $this->_glyphIndexArray[0x18] = ord($cmapData[$i++]); 0214 $this->_glyphIndexArray[0x19] = ord($cmapData[$i++]); 0215 $this->_glyphIndexArray[0x1a] = ord($cmapData[$i++]); 0216 $this->_glyphIndexArray[0x1b] = ord($cmapData[$i++]); 0217 $this->_glyphIndexArray[0x1c] = ord($cmapData[$i++]); 0218 $this->_glyphIndexArray[0x1d] = ord($cmapData[$i++]); 0219 $this->_glyphIndexArray[0x1e] = ord($cmapData[$i++]); 0220 $this->_glyphIndexArray[0x1f] = ord($cmapData[$i++]); 0221 $this->_glyphIndexArray[0x20] = ord($cmapData[$i++]); 0222 $this->_glyphIndexArray[0x21] = ord($cmapData[$i++]); 0223 $this->_glyphIndexArray[0x22] = ord($cmapData[$i++]); 0224 $this->_glyphIndexArray[0x23] = ord($cmapData[$i++]); 0225 $this->_glyphIndexArray[0x24] = ord($cmapData[$i++]); 0226 $this->_glyphIndexArray[0x25] = ord($cmapData[$i++]); 0227 $this->_glyphIndexArray[0x26] = ord($cmapData[$i++]); 0228 $this->_glyphIndexArray[0x27] = ord($cmapData[$i++]); 0229 $this->_glyphIndexArray[0x28] = ord($cmapData[$i++]); 0230 $this->_glyphIndexArray[0x29] = ord($cmapData[$i++]); 0231 $this->_glyphIndexArray[0x2a] = ord($cmapData[$i++]); 0232 $this->_glyphIndexArray[0x2b] = ord($cmapData[$i++]); 0233 $this->_glyphIndexArray[0x2c] = ord($cmapData[$i++]); 0234 $this->_glyphIndexArray[0x2d] = ord($cmapData[$i++]); 0235 $this->_glyphIndexArray[0x2e] = ord($cmapData[$i++]); 0236 $this->_glyphIndexArray[0x2f] = ord($cmapData[$i++]); 0237 $this->_glyphIndexArray[0x30] = ord($cmapData[$i++]); 0238 $this->_glyphIndexArray[0x31] = ord($cmapData[$i++]); 0239 $this->_glyphIndexArray[0x32] = ord($cmapData[$i++]); 0240 $this->_glyphIndexArray[0x33] = ord($cmapData[$i++]); 0241 $this->_glyphIndexArray[0x34] = ord($cmapData[$i++]); 0242 $this->_glyphIndexArray[0x35] = ord($cmapData[$i++]); 0243 $this->_glyphIndexArray[0x36] = ord($cmapData[$i++]); 0244 $this->_glyphIndexArray[0x37] = ord($cmapData[$i++]); 0245 $this->_glyphIndexArray[0x38] = ord($cmapData[$i++]); 0246 $this->_glyphIndexArray[0x39] = ord($cmapData[$i++]); 0247 $this->_glyphIndexArray[0x3a] = ord($cmapData[$i++]); 0248 $this->_glyphIndexArray[0x3b] = ord($cmapData[$i++]); 0249 $this->_glyphIndexArray[0x3c] = ord($cmapData[$i++]); 0250 $this->_glyphIndexArray[0x3d] = ord($cmapData[$i++]); 0251 $this->_glyphIndexArray[0x3e] = ord($cmapData[$i++]); 0252 $this->_glyphIndexArray[0x3f] = ord($cmapData[$i++]); 0253 $this->_glyphIndexArray[0x40] = ord($cmapData[$i++]); 0254 $this->_glyphIndexArray[0x41] = ord($cmapData[$i++]); 0255 $this->_glyphIndexArray[0x42] = ord($cmapData[$i++]); 0256 $this->_glyphIndexArray[0x43] = ord($cmapData[$i++]); 0257 $this->_glyphIndexArray[0x44] = ord($cmapData[$i++]); 0258 $this->_glyphIndexArray[0x45] = ord($cmapData[$i++]); 0259 $this->_glyphIndexArray[0x46] = ord($cmapData[$i++]); 0260 $this->_glyphIndexArray[0x47] = ord($cmapData[$i++]); 0261 $this->_glyphIndexArray[0x48] = ord($cmapData[$i++]); 0262 $this->_glyphIndexArray[0x49] = ord($cmapData[$i++]); 0263 $this->_glyphIndexArray[0x4a] = ord($cmapData[$i++]); 0264 $this->_glyphIndexArray[0x4b] = ord($cmapData[$i++]); 0265 $this->_glyphIndexArray[0x4c] = ord($cmapData[$i++]); 0266 $this->_glyphIndexArray[0x4d] = ord($cmapData[$i++]); 0267 $this->_glyphIndexArray[0x4e] = ord($cmapData[$i++]); 0268 $this->_glyphIndexArray[0x4f] = ord($cmapData[$i++]); 0269 $this->_glyphIndexArray[0x50] = ord($cmapData[$i++]); 0270 $this->_glyphIndexArray[0x51] = ord($cmapData[$i++]); 0271 $this->_glyphIndexArray[0x52] = ord($cmapData[$i++]); 0272 $this->_glyphIndexArray[0x53] = ord($cmapData[$i++]); 0273 $this->_glyphIndexArray[0x54] = ord($cmapData[$i++]); 0274 $this->_glyphIndexArray[0x55] = ord($cmapData[$i++]); 0275 $this->_glyphIndexArray[0x56] = ord($cmapData[$i++]); 0276 $this->_glyphIndexArray[0x57] = ord($cmapData[$i++]); 0277 $this->_glyphIndexArray[0x58] = ord($cmapData[$i++]); 0278 $this->_glyphIndexArray[0x59] = ord($cmapData[$i++]); 0279 $this->_glyphIndexArray[0x5a] = ord($cmapData[$i++]); 0280 $this->_glyphIndexArray[0x5b] = ord($cmapData[$i++]); 0281 $this->_glyphIndexArray[0x5c] = ord($cmapData[$i++]); 0282 $this->_glyphIndexArray[0x5d] = ord($cmapData[$i++]); 0283 $this->_glyphIndexArray[0x5e] = ord($cmapData[$i++]); 0284 $this->_glyphIndexArray[0x5f] = ord($cmapData[$i++]); 0285 $this->_glyphIndexArray[0x60] = ord($cmapData[$i++]); 0286 $this->_glyphIndexArray[0x61] = ord($cmapData[$i++]); 0287 $this->_glyphIndexArray[0x62] = ord($cmapData[$i++]); 0288 $this->_glyphIndexArray[0x63] = ord($cmapData[$i++]); 0289 $this->_glyphIndexArray[0x64] = ord($cmapData[$i++]); 0290 $this->_glyphIndexArray[0x65] = ord($cmapData[$i++]); 0291 $this->_glyphIndexArray[0x66] = ord($cmapData[$i++]); 0292 $this->_glyphIndexArray[0x67] = ord($cmapData[$i++]); 0293 $this->_glyphIndexArray[0x68] = ord($cmapData[$i++]); 0294 $this->_glyphIndexArray[0x69] = ord($cmapData[$i++]); 0295 $this->_glyphIndexArray[0x6a] = ord($cmapData[$i++]); 0296 $this->_glyphIndexArray[0x6b] = ord($cmapData[$i++]); 0297 $this->_glyphIndexArray[0x6c] = ord($cmapData[$i++]); 0298 $this->_glyphIndexArray[0x6d] = ord($cmapData[$i++]); 0299 $this->_glyphIndexArray[0x6e] = ord($cmapData[$i++]); 0300 $this->_glyphIndexArray[0x6f] = ord($cmapData[$i++]); 0301 $this->_glyphIndexArray[0x70] = ord($cmapData[$i++]); 0302 $this->_glyphIndexArray[0x71] = ord($cmapData[$i++]); 0303 $this->_glyphIndexArray[0x72] = ord($cmapData[$i++]); 0304 $this->_glyphIndexArray[0x73] = ord($cmapData[$i++]); 0305 $this->_glyphIndexArray[0x74] = ord($cmapData[$i++]); 0306 $this->_glyphIndexArray[0x75] = ord($cmapData[$i++]); 0307 $this->_glyphIndexArray[0x76] = ord($cmapData[$i++]); 0308 $this->_glyphIndexArray[0x77] = ord($cmapData[$i++]); 0309 $this->_glyphIndexArray[0x78] = ord($cmapData[$i++]); 0310 $this->_glyphIndexArray[0x79] = ord($cmapData[$i++]); 0311 $this->_glyphIndexArray[0x7a] = ord($cmapData[$i++]); 0312 $this->_glyphIndexArray[0x7b] = ord($cmapData[$i++]); 0313 $this->_glyphIndexArray[0x7c] = ord($cmapData[$i++]); 0314 $this->_glyphIndexArray[0x7d] = ord($cmapData[$i++]); 0315 $this->_glyphIndexArray[0x7e] = ord($cmapData[$i++]); 0316 $this->_glyphIndexArray[0x7f] = ord($cmapData[$i++]); 0317 $this->_glyphIndexArray[0xc4] = ord($cmapData[$i++]); 0318 $this->_glyphIndexArray[0xc5] = ord($cmapData[$i++]); 0319 $this->_glyphIndexArray[0xc7] = ord($cmapData[$i++]); 0320 $this->_glyphIndexArray[0xc9] = ord($cmapData[$i++]); 0321 $this->_glyphIndexArray[0xd1] = ord($cmapData[$i++]); 0322 $this->_glyphIndexArray[0xd6] = ord($cmapData[$i++]); 0323 $this->_glyphIndexArray[0xdc] = ord($cmapData[$i++]); 0324 $this->_glyphIndexArray[0xe1] = ord($cmapData[$i++]); 0325 $this->_glyphIndexArray[0xe0] = ord($cmapData[$i++]); 0326 $this->_glyphIndexArray[0xe2] = ord($cmapData[$i++]); 0327 $this->_glyphIndexArray[0xe4] = ord($cmapData[$i++]); 0328 $this->_glyphIndexArray[0xe3] = ord($cmapData[$i++]); 0329 $this->_glyphIndexArray[0xe5] = ord($cmapData[$i++]); 0330 $this->_glyphIndexArray[0xe7] = ord($cmapData[$i++]); 0331 $this->_glyphIndexArray[0xe9] = ord($cmapData[$i++]); 0332 $this->_glyphIndexArray[0xe8] = ord($cmapData[$i++]); 0333 $this->_glyphIndexArray[0xea] = ord($cmapData[$i++]); 0334 $this->_glyphIndexArray[0xeb] = ord($cmapData[$i++]); 0335 $this->_glyphIndexArray[0xed] = ord($cmapData[$i++]); 0336 $this->_glyphIndexArray[0xec] = ord($cmapData[$i++]); 0337 $this->_glyphIndexArray[0xee] = ord($cmapData[$i++]); 0338 $this->_glyphIndexArray[0xef] = ord($cmapData[$i++]); 0339 $this->_glyphIndexArray[0xf1] = ord($cmapData[$i++]); 0340 $this->_glyphIndexArray[0xf3] = ord($cmapData[$i++]); 0341 $this->_glyphIndexArray[0xf2] = ord($cmapData[$i++]); 0342 $this->_glyphIndexArray[0xf4] = ord($cmapData[$i++]); 0343 $this->_glyphIndexArray[0xf6] = ord($cmapData[$i++]); 0344 $this->_glyphIndexArray[0xf5] = ord($cmapData[$i++]); 0345 $this->_glyphIndexArray[0xfa] = ord($cmapData[$i++]); 0346 $this->_glyphIndexArray[0xf9] = ord($cmapData[$i++]); 0347 $this->_glyphIndexArray[0xfb] = ord($cmapData[$i++]); 0348 $this->_glyphIndexArray[0xfc] = ord($cmapData[$i++]); 0349 $this->_glyphIndexArray[0x2020] = ord($cmapData[$i++]); 0350 $this->_glyphIndexArray[0xb0] = ord($cmapData[$i++]); 0351 $this->_glyphIndexArray[0xa2] = ord($cmapData[$i++]); 0352 $this->_glyphIndexArray[0xa3] = ord($cmapData[$i++]); 0353 $this->_glyphIndexArray[0xa7] = ord($cmapData[$i++]); 0354 $this->_glyphIndexArray[0x2022] = ord($cmapData[$i++]); 0355 $this->_glyphIndexArray[0xb6] = ord($cmapData[$i++]); 0356 $this->_glyphIndexArray[0xdf] = ord($cmapData[$i++]); 0357 $this->_glyphIndexArray[0xae] = ord($cmapData[$i++]); 0358 $this->_glyphIndexArray[0xa9] = ord($cmapData[$i++]); 0359 $this->_glyphIndexArray[0x2122] = ord($cmapData[$i++]); 0360 $this->_glyphIndexArray[0xb4] = ord($cmapData[$i++]); 0361 $this->_glyphIndexArray[0xa8] = ord($cmapData[$i++]); 0362 $this->_glyphIndexArray[0x2260] = ord($cmapData[$i++]); 0363 $this->_glyphIndexArray[0xc6] = ord($cmapData[$i++]); 0364 $this->_glyphIndexArray[0xd8] = ord($cmapData[$i++]); 0365 $this->_glyphIndexArray[0x221e] = ord($cmapData[$i++]); 0366 $this->_glyphIndexArray[0xb1] = ord($cmapData[$i++]); 0367 $this->_glyphIndexArray[0x2264] = ord($cmapData[$i++]); 0368 $this->_glyphIndexArray[0x2265] = ord($cmapData[$i++]); 0369 $this->_glyphIndexArray[0xa5] = ord($cmapData[$i++]); 0370 $this->_glyphIndexArray[0xb5] = ord($cmapData[$i++]); 0371 $this->_glyphIndexArray[0x2202] = ord($cmapData[$i++]); 0372 $this->_glyphIndexArray[0x2211] = ord($cmapData[$i++]); 0373 $this->_glyphIndexArray[0x220f] = ord($cmapData[$i++]); 0374 $this->_glyphIndexArray[0x03c0] = ord($cmapData[$i++]); 0375 $this->_glyphIndexArray[0x222b] = ord($cmapData[$i++]); 0376 $this->_glyphIndexArray[0xaa] = ord($cmapData[$i++]); 0377 $this->_glyphIndexArray[0xba] = ord($cmapData[$i++]); 0378 $this->_glyphIndexArray[0x03a9] = ord($cmapData[$i++]); 0379 $this->_glyphIndexArray[0xe6] = ord($cmapData[$i++]); 0380 $this->_glyphIndexArray[0xf8] = ord($cmapData[$i++]); 0381 $this->_glyphIndexArray[0xbf] = ord($cmapData[$i++]); 0382 $this->_glyphIndexArray[0xa1] = ord($cmapData[$i++]); 0383 $this->_glyphIndexArray[0xac] = ord($cmapData[$i++]); 0384 $this->_glyphIndexArray[0x221a] = ord($cmapData[$i++]); 0385 $this->_glyphIndexArray[0x0192] = ord($cmapData[$i++]); 0386 $this->_glyphIndexArray[0x2248] = ord($cmapData[$i++]); 0387 $this->_glyphIndexArray[0x2206] = ord($cmapData[$i++]); 0388 $this->_glyphIndexArray[0xab] = ord($cmapData[$i++]); 0389 $this->_glyphIndexArray[0xbb] = ord($cmapData[$i++]); 0390 $this->_glyphIndexArray[0x2026] = ord($cmapData[$i++]); 0391 $this->_glyphIndexArray[0xa0] = ord($cmapData[$i++]); 0392 $this->_glyphIndexArray[0xc0] = ord($cmapData[$i++]); 0393 $this->_glyphIndexArray[0xc3] = ord($cmapData[$i++]); 0394 $this->_glyphIndexArray[0xd5] = ord($cmapData[$i++]); 0395 $this->_glyphIndexArray[0x0152] = ord($cmapData[$i++]); 0396 $this->_glyphIndexArray[0x0153] = ord($cmapData[$i++]); 0397 $this->_glyphIndexArray[0x2013] = ord($cmapData[$i++]); 0398 $this->_glyphIndexArray[0x2014] = ord($cmapData[$i++]); 0399 $this->_glyphIndexArray[0x201c] = ord($cmapData[$i++]); 0400 $this->_glyphIndexArray[0x201d] = ord($cmapData[$i++]); 0401 $this->_glyphIndexArray[0x2018] = ord($cmapData[$i++]); 0402 $this->_glyphIndexArray[0x2019] = ord($cmapData[$i++]); 0403 $this->_glyphIndexArray[0xf7] = ord($cmapData[$i++]); 0404 $this->_glyphIndexArray[0x25ca] = ord($cmapData[$i++]); 0405 $this->_glyphIndexArray[0xff] = ord($cmapData[$i++]); 0406 $this->_glyphIndexArray[0x0178] = ord($cmapData[$i++]); 0407 $this->_glyphIndexArray[0x2044] = ord($cmapData[$i++]); 0408 $this->_glyphIndexArray[0x20ac] = ord($cmapData[$i++]); 0409 $this->_glyphIndexArray[0x2039] = ord($cmapData[$i++]); 0410 $this->_glyphIndexArray[0x203a] = ord($cmapData[$i++]); 0411 $this->_glyphIndexArray[0xfb01] = ord($cmapData[$i++]); 0412 $this->_glyphIndexArray[0xfb02] = ord($cmapData[$i++]); 0413 $this->_glyphIndexArray[0x2021] = ord($cmapData[$i++]); 0414 $this->_glyphIndexArray[0xb7] = ord($cmapData[$i++]); 0415 $this->_glyphIndexArray[0x201a] = ord($cmapData[$i++]); 0416 $this->_glyphIndexArray[0x201e] = ord($cmapData[$i++]); 0417 $this->_glyphIndexArray[0x2030] = ord($cmapData[$i++]); 0418 $this->_glyphIndexArray[0xc2] = ord($cmapData[$i++]); 0419 $this->_glyphIndexArray[0xca] = ord($cmapData[$i++]); 0420 $this->_glyphIndexArray[0xc1] = ord($cmapData[$i++]); 0421 $this->_glyphIndexArray[0xcb] = ord($cmapData[$i++]); 0422 $this->_glyphIndexArray[0xc8] = ord($cmapData[$i++]); 0423 $this->_glyphIndexArray[0xcd] = ord($cmapData[$i++]); 0424 $this->_glyphIndexArray[0xce] = ord($cmapData[$i++]); 0425 $this->_glyphIndexArray[0xcf] = ord($cmapData[$i++]); 0426 $this->_glyphIndexArray[0xcc] = ord($cmapData[$i++]); 0427 $this->_glyphIndexArray[0xd3] = ord($cmapData[$i++]); 0428 $this->_glyphIndexArray[0xd4] = ord($cmapData[$i++]); 0429 $this->_glyphIndexArray[0xf8ff] = ord($cmapData[$i++]); 0430 $this->_glyphIndexArray[0xd2] = ord($cmapData[$i++]); 0431 $this->_glyphIndexArray[0xda] = ord($cmapData[$i++]); 0432 $this->_glyphIndexArray[0xdb] = ord($cmapData[$i++]); 0433 $this->_glyphIndexArray[0xd9] = ord($cmapData[$i++]); 0434 $this->_glyphIndexArray[0x0131] = ord($cmapData[$i++]); 0435 $this->_glyphIndexArray[0x02c6] = ord($cmapData[$i++]); 0436 $this->_glyphIndexArray[0x02dc] = ord($cmapData[$i++]); 0437 $this->_glyphIndexArray[0xaf] = ord($cmapData[$i++]); 0438 $this->_glyphIndexArray[0x02d8] = ord($cmapData[$i++]); 0439 $this->_glyphIndexArray[0x02d9] = ord($cmapData[$i++]); 0440 $this->_glyphIndexArray[0x02da] = ord($cmapData[$i++]); 0441 $this->_glyphIndexArray[0xb8] = ord($cmapData[$i++]); 0442 $this->_glyphIndexArray[0x02dd] = ord($cmapData[$i++]); 0443 $this->_glyphIndexArray[0x02db] = ord($cmapData[$i++]); 0444 $this->_glyphIndexArray[0x02c7] = ord($cmapData[$i]); 0445 } 0446 0447 }