1 /************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23 24 // MARKER(update_precomp.py): autogen include statement, do not remove 25 #include "precompiled_vcl.hxx" 26 27 #include "pdfwriter_impl.hxx" 28 #include <rtl/strbuf.hxx> 29 30 using namespace vcl; 31 using namespace rtl; 32 33 OString PDFWriterImpl::BuiltinFont::getNameObject() const 34 { 35 OStringBuffer aBuf( 16 ); 36 aBuf.append( '/' ); 37 const char* pRun = m_pPSName; 38 39 unsigned int nCopied = 0; 40 while( *pRun ) 41 { 42 if( *pRun >= 'A' && *pRun <= 'Z' ) 43 nCopied = 0; 44 if( nCopied++ < 2 ) 45 aBuf.append( *pRun ); 46 pRun++; 47 } 48 return aBuf.makeStringAndClear(); 49 } 50 51 const PDFWriterImpl::BuiltinFont PDFWriterImpl::m_aBuiltinFonts[ 14 ] = { 52 { "Courier", // family name 53 "Normal", // style 54 "Courier", // PSName 55 629, -157, // ascend, descend 56 FAMILY_MODERN, // family style 57 RTL_TEXTENCODING_MS_1252, // charset 58 PITCH_FIXED, // pitch 59 WIDTH_NORMAL, // width type 60 WEIGHT_NORMAL, // weight type 61 ITALIC_NONE, // italic type 62 { 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 7 63 0, 0, 0, 0, 0, 0, 0, 0, // 8 - 15 64 0, 0, 0, 0, 0, 0, 0, 0, // 16 - 23 65 0, 0, 0, 0, 0, 0, 0, 0, // 24 - 31 66 600, 600, 600, 600, 600, 600, 600, 600, // 32 - 39 67 600, 600, 600, 600, 600, 600, 600, 600, // 40 - 47 68 600, 600, 600, 600, 600, 600, 600, 600, // 48 - 55 69 600, 600, 600, 600, 600, 600, 600, 600, // 56 - 63 70 600, 600, 600, 600, 600, 600, 600, 600, // 64 - 71 71 600, 600, 600, 600, 600, 600, 600, 600, // 72 - 79 72 600, 600, 600, 600, 600, 600, 600, 600, // 80 - 87 73 600, 600, 600, 600, 600, 600, 600, 600, // 88 - 95 74 600, 600, 600, 600, 600, 600, 600, 600, // 96 - 103 75 600, 600, 600, 600, 600, 600, 600, 600, // 104 - 111 76 600, 600, 600, 600, 600, 600, 600, 600, // 112 - 119 77 600, 600, 600, 600, 600, 600, 600, 0, // 120 - 127 78 600, 0, 600, 600, 600, 600, 600, 600, // 128 - 135 79 600, 600, 600, 600, 600, 0, 600, 0, // 136 - 143 80 0, 600, 600, 600, 600, 600, 600, 600, // 144 - 151 81 600, 600, 600, 600, 600, 0, 600, 600, // 152 - 159 82 600, 600, 600, 600, 600, 600, 600, 600, // 160 - 167 83 600, 600, 600, 600, 600, 600, 600, 600, // 168 - 175 84 600, 600, 600, 600, 600, 600, 600, 600, // 176 - 183 85 600, 600, 600, 600, 600, 600, 600, 600, // 184 - 191 86 600, 600, 600, 600, 600, 600, 600, 600, // 192 - 199 87 600, 600, 600, 600, 600, 600, 600, 600, // 200 - 207 88 600, 600, 600, 600, 600, 600, 600, 600, // 208 - 215 89 600, 600, 600, 600, 600, 600, 600, 600, // 216 - 223 90 600, 600, 600, 600, 600, 600, 600, 600, // 224 - 231 91 600, 600, 600, 600, 600, 600, 600, 600, // 232 - 239 92 600, 600, 600, 600, 600, 600, 600, 600, // 240 - 247 93 600, 600, 600, 600, 600, 600, 600, 600 // 248 - 255 94 } 95 }, 96 97 { "Courier", // family name 98 "Italic", // style 99 "Courier-Oblique", // PSName 100 629, -157, // ascend, descend 101 FAMILY_MODERN, // family style 102 RTL_TEXTENCODING_MS_1252, // charset 103 PITCH_FIXED, // pitch 104 WIDTH_NORMAL, // width type 105 WEIGHT_NORMAL, // weight type 106 ITALIC_NORMAL, // italic type 107 { 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 7 108 0, 0, 0, 0, 0, 0, 0, 0, // 8 - 15 109 0, 0, 0, 0, 0, 0, 0, 0, // 16 - 23 110 0, 0, 0, 0, 0, 0, 0, 0, // 24 - 31 111 600, 600, 600, 600, 600, 600, 600, 600, // 32 - 39 112 600, 600, 600, 600, 600, 600, 600, 600, // 40 - 47 113 600, 600, 600, 600, 600, 600, 600, 600, // 48 - 55 114 600, 600, 600, 600, 600, 600, 600, 600, // 56 - 63 115 600, 600, 600, 600, 600, 600, 600, 600, // 64 - 71 116 600, 600, 600, 600, 600, 600, 600, 600, // 72 - 79 117 600, 600, 600, 600, 600, 600, 600, 600, // 80 - 87 118 600, 600, 600, 600, 600, 600, 600, 600, // 88 - 95 119 600, 600, 600, 600, 600, 600, 600, 600, // 96 - 103 120 600, 600, 600, 600, 600, 600, 600, 600, // 104 - 111 121 600, 600, 600, 600, 600, 600, 600, 600, // 112 - 119 122 600, 600, 600, 600, 600, 600, 600, 0, // 120 - 127 123 600, 0, 600, 600, 600, 600, 600, 600, // 128 - 135 124 600, 600, 600, 600, 600, 0, 600, 0, // 136 - 143 125 0, 600, 600, 600, 600, 600, 600, 600, // 144 - 151 126 600, 600, 600, 600, 600, 0, 600, 600, // 152 - 159 127 600, 600, 600, 600, 600, 600, 600, 600, // 160 - 167 128 600, 600, 600, 600, 600, 600, 600, 600, // 168 - 175 129 600, 600, 600, 600, 600, 600, 600, 600, // 176 - 183 130 600, 600, 600, 600, 600, 600, 600, 600, // 184 - 191 131 600, 600, 600, 600, 600, 600, 600, 600, // 192 - 199 132 600, 600, 600, 600, 600, 600, 600, 600, // 200 - 207 133 600, 600, 600, 600, 600, 600, 600, 600, // 208 - 215 134 600, 600, 600, 600, 600, 600, 600, 600, // 216 - 223 135 600, 600, 600, 600, 600, 600, 600, 600, // 224 - 231 136 600, 600, 600, 600, 600, 600, 600, 600, // 232 - 239 137 600, 600, 600, 600, 600, 600, 600, 600, // 240 - 247 138 600, 600, 600, 600, 600, 600, 600, 600 // 248 - 255 139 } 140 }, 141 142 { "Courier", // family name 143 "Bold", // style 144 "Courier-Bold", // PSName 145 629, -157, // ascend, descend 146 FAMILY_MODERN, // family style 147 RTL_TEXTENCODING_MS_1252, // charset 148 PITCH_FIXED, // pitch 149 WIDTH_NORMAL, // width type 150 WEIGHT_BOLD, // weight type 151 ITALIC_NONE, // italic type 152 { 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 7 153 0, 0, 0, 0, 0, 0, 0, 0, // 8 - 15 154 0, 0, 0, 0, 0, 0, 0, 0, // 16 - 23 155 0, 0, 0, 0, 0, 0, 0, 0, // 24 - 31 156 600, 600, 600, 600, 600, 600, 600, 600, // 32 - 39 157 600, 600, 600, 600, 600, 600, 600, 600, // 40 - 47 158 600, 600, 600, 600, 600, 600, 600, 600, // 48 - 55 159 600, 600, 600, 600, 600, 600, 600, 600, // 56 - 63 160 600, 600, 600, 600, 600, 600, 600, 600, // 64 - 71 161 600, 600, 600, 600, 600, 600, 600, 600, // 72 - 79 162 600, 600, 600, 600, 600, 600, 600, 600, // 80 - 87 163 600, 600, 600, 600, 600, 600, 600, 600, // 88 - 95 164 600, 600, 600, 600, 600, 600, 600, 600, // 96 - 103 165 600, 600, 600, 600, 600, 600, 600, 600, // 104 - 111 166 600, 600, 600, 600, 600, 600, 600, 600, // 112 - 119 167 600, 600, 600, 600, 600, 600, 600, 0, // 120 - 127 168 600, 0, 600, 600, 600, 600, 600, 600, // 128 - 135 169 600, 600, 600, 600, 600, 0, 600, 0, // 136 - 143 170 0, 600, 600, 600, 600, 600, 600, 600, // 144 - 151 171 600, 600, 600, 600, 600, 0, 600, 600, // 152 - 159 172 600, 600, 600, 600, 600, 600, 600, 600, // 160 - 167 173 600, 600, 600, 600, 600, 600, 600, 600, // 168 - 175 174 600, 600, 600, 600, 600, 600, 600, 600, // 176 - 183 175 600, 600, 600, 600, 600, 600, 600, 600, // 184 - 191 176 600, 600, 600, 600, 600, 600, 600, 600, // 192 - 199 177 600, 600, 600, 600, 600, 600, 600, 600, // 200 - 207 178 600, 600, 600, 600, 600, 600, 600, 600, // 208 - 215 179 600, 600, 600, 600, 600, 600, 600, 600, // 216 - 223 180 600, 600, 600, 600, 600, 600, 600, 600, // 224 - 231 181 600, 600, 600, 600, 600, 600, 600, 600, // 232 - 239 182 600, 600, 600, 600, 600, 600, 600, 600, // 240 - 247 183 600, 600, 600, 600, 600, 600, 600, 600 // 248 - 255 184 } 185 }, 186 187 { "Courier", // family name 188 "Bold Italic", // style 189 "Courier-BoldOblique", // PSName 190 629, -157, // ascend, descend 191 FAMILY_MODERN, // family style 192 RTL_TEXTENCODING_MS_1252, // charset 193 PITCH_FIXED, // pitch 194 WIDTH_NORMAL, // width type 195 WEIGHT_BOLD, // weight type 196 ITALIC_NORMAL, // italic type 197 { 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 7 198 0, 0, 0, 0, 0, 0, 0, 0, // 8 - 15 199 0, 0, 0, 0, 0, 0, 0, 0, // 16 - 23 200 0, 0, 0, 0, 0, 0, 0, 0, // 24 - 31 201 600, 600, 600, 600, 600, 600, 600, 600, // 32 - 39 202 600, 600, 600, 600, 600, 600, 600, 600, // 40 - 47 203 600, 600, 600, 600, 600, 600, 600, 600, // 48 - 55 204 600, 600, 600, 600, 600, 600, 600, 600, // 56 - 63 205 600, 600, 600, 600, 600, 600, 600, 600, // 64 - 71 206 600, 600, 600, 600, 600, 600, 600, 600, // 72 - 79 207 600, 600, 600, 600, 600, 600, 600, 600, // 80 - 87 208 600, 600, 600, 600, 600, 600, 600, 600, // 88 - 95 209 600, 600, 600, 600, 600, 600, 600, 600, // 96 - 103 210 600, 600, 600, 600, 600, 600, 600, 600, // 104 - 111 211 600, 600, 600, 600, 600, 600, 600, 600, // 112 - 119 212 600, 600, 600, 600, 600, 600, 600, 0, // 120 - 127 213 600, 0, 600, 600, 600, 600, 600, 600, // 128 - 135 214 600, 600, 600, 600, 600, 0, 600, 0, // 136 - 143 215 0, 600, 600, 600, 600, 600, 600, 600, // 144 - 151 216 600, 600, 600, 600, 600, 0, 600, 600, // 152 - 159 217 600, 600, 600, 600, 600, 600, 600, 600, // 160 - 167 218 600, 600, 600, 600, 600, 600, 600, 600, // 168 - 175 219 600, 600, 600, 600, 600, 600, 600, 600, // 176 - 183 220 600, 600, 600, 600, 600, 600, 600, 600, // 184 - 191 221 600, 600, 600, 600, 600, 600, 600, 600, // 192 - 199 222 600, 600, 600, 600, 600, 600, 600, 600, // 200 - 207 223 600, 600, 600, 600, 600, 600, 600, 600, // 208 - 215 224 600, 600, 600, 600, 600, 600, 600, 600, // 216 - 223 225 600, 600, 600, 600, 600, 600, 600, 600, // 224 - 231 226 600, 600, 600, 600, 600, 600, 600, 600, // 232 - 239 227 600, 600, 600, 600, 600, 600, 600, 600, // 240 - 247 228 600, 600, 600, 600, 600, 600, 600, 600 // 248 - 255 229 } 230 }, 231 232 { "Helvetica", // family name 233 "Normal", // style 234 "Helvetica", // PSName 235 718, -207, // ascend, descend 236 FAMILY_SWISS, // family style 237 RTL_TEXTENCODING_MS_1252, // charset 238 PITCH_VARIABLE, // pitch 239 WIDTH_NORMAL, // width type 240 WEIGHT_NORMAL, // weight type 241 ITALIC_NONE, // italic type 242 { 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 7 243 0, 0, 0, 0, 0, 0, 0, 0, // 8 - 15 244 0, 0, 0, 0, 0, 0, 0, 0, // 16 - 23 245 0, 0, 0, 0, 0, 0, 0, 0, // 24 - 31 246 278, 278, 355, 556, 556, 889, 667, 191, // 32 - 39 247 333, 333, 389, 584, 278, 333, 278, 278, // 40 - 47 248 556, 556, 556, 556, 556, 556, 556, 556, // 48 - 55 249 556, 556, 278, 278, 584, 584, 584, 556, // 56 - 63 250 1015, 667, 667, 722, 722, 667, 611, 778, // 64 - 71 251 722, 278, 500, 667, 556, 833, 722, 778, // 72 - 79 252 667, 778, 722, 667, 611, 722, 667, 944, // 80 - 87 253 667, 667, 611, 278, 278, 278, 469, 556, // 88 - 95 254 333, 556, 556, 500, 556, 556, 278, 556, // 96 - 103 255 556, 222, 222, 500, 222, 833, 556, 556, // 104 - 111 256 556, 556, 333, 500, 278, 556, 500, 722, // 112 - 119 257 500, 500, 500, 334, 260, 334, 584, 0, // 120 - 127 258 556, 0, 222, 556, 333, 1000, 556, 556, // 128 - 135 259 333, 1000, 667, 333, 1000, 0, 500, 0, // 136 - 143 260 0, 222, 222, 333, 333, 350, 556, 1000, // 144 - 151 261 333, 1000, 500, 333, 944, 0, 500, 667, // 152 - 159 262 278, 333, 556, 556, 556, 556, 260, 556, // 160 - 167 263 333, 737, 370, 556, 584, 333, 737, 333, // 168 - 175 264 400, 584, 333, 333, 333, 556, 537, 278, // 176 - 183 265 333, 333, 365, 556, 834, 834, 834, 611, // 184 - 191 266 667, 667, 667, 667, 667, 667, 1000, 722, // 192 - 199 267 667, 667, 667, 667, 278, 278, 278, 278, // 200 - 207 268 722, 722, 778, 778, 778, 778, 778, 584, // 208 - 215 269 778, 722, 722, 722, 722, 667, 667, 611, // 216 - 223 270 556, 556, 556, 556, 556, 556, 889, 500, // 224 - 231 271 556, 556, 556, 556, 278, 278, 278, 278, // 232 - 239 272 556, 556, 556, 556, 556, 556, 556, 584, // 240 - 247 273 611, 556, 556, 556, 556, 500, 556, 500 // 248 - 255 274 } 275 }, 276 277 { "Helvetica", // family name 278 "Italic", // style 279 "Helvetica-Oblique", // PSName 280 718, -207, // ascend, descend 281 FAMILY_SWISS, // family style 282 RTL_TEXTENCODING_MS_1252, // charset 283 PITCH_VARIABLE, // pitch 284 WIDTH_NORMAL, // width type 285 WEIGHT_NORMAL, // weight type 286 ITALIC_NORMAL, // italic type 287 { 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 7 288 0, 0, 0, 0, 0, 0, 0, 0, // 8 - 15 289 0, 0, 0, 0, 0, 0, 0, 0, // 16 - 23 290 0, 0, 0, 0, 0, 0, 0, 0, // 24 - 31 291 278, 278, 355, 556, 556, 889, 667, 191, // 32 - 39 292 333, 333, 389, 584, 278, 333, 278, 278, // 40 - 47 293 556, 556, 556, 556, 556, 556, 556, 556, // 48 - 55 294 556, 556, 278, 278, 584, 584, 584, 556, // 56 - 63 295 1015, 667, 667, 722, 722, 667, 611, 778, // 64 - 71 296 722, 278, 500, 667, 556, 833, 722, 778, // 72 - 79 297 667, 778, 722, 667, 611, 722, 667, 944, // 80 - 87 298 667, 667, 611, 278, 278, 278, 469, 556, // 88 - 95 299 333, 556, 556, 500, 556, 556, 278, 556, // 96 - 103 300 556, 222, 222, 500, 222, 833, 556, 556, // 104 - 111 301 556, 556, 333, 500, 278, 556, 500, 722, // 112 - 119 302 500, 500, 500, 334, 260, 334, 584, 0, // 120 - 127 303 556, 0, 222, 556, 333, 1000, 556, 556, // 128 - 135 304 333, 1000, 667, 333, 1000, 0, 500, 0, // 136 - 143 305 0, 222, 222, 333, 333, 350, 556, 1000, // 144 - 151 306 333, 1000, 500, 333, 944, 0, 500, 667, // 152 - 159 307 278, 333, 556, 556, 556, 556, 260, 556, // 160 - 167 308 333, 737, 370, 556, 584, 333, 737, 333, // 168 - 175 309 400, 584, 333, 333, 333, 556, 537, 278, // 176 - 183 310 333, 333, 365, 556, 834, 834, 834, 611, // 184 - 191 311 667, 667, 667, 667, 667, 667, 1000, 722, // 192 - 199 312 667, 667, 667, 667, 278, 278, 278, 278, // 200 - 207 313 722, 722, 778, 778, 778, 778, 778, 584, // 208 - 215 314 778, 722, 722, 722, 722, 667, 667, 611, // 216 - 223 315 556, 556, 556, 556, 556, 556, 889, 500, // 224 - 231 316 556, 556, 556, 556, 278, 278, 278, 278, // 232 - 239 317 556, 556, 556, 556, 556, 556, 556, 584, // 240 - 247 318 611, 556, 556, 556, 556, 500, 556, 500 // 248 - 255 319 } 320 }, 321 322 { "Helvetica", // family name 323 "Bold", // style 324 "Helvetica-Bold", // PSName 325 718, -207, // ascend, descend 326 FAMILY_SWISS, // family style 327 RTL_TEXTENCODING_MS_1252, // charset 328 PITCH_VARIABLE, // pitch 329 WIDTH_NORMAL, // width type 330 WEIGHT_BOLD, // weight type 331 ITALIC_NONE, // italic type 332 { 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 7 333 0, 0, 0, 0, 0, 0, 0, 0, // 8 - 15 334 0, 0, 0, 0, 0, 0, 0, 0, // 16 - 23 335 0, 0, 0, 0, 0, 0, 0, 0, // 24 - 31 336 278, 333, 474, 556, 556, 889, 722, 238, // 32 - 39 337 333, 333, 389, 584, 278, 333, 278, 278, // 40 - 47 338 556, 556, 556, 556, 556, 556, 556, 556, // 48 - 55 339 556, 556, 333, 333, 584, 584, 584, 611, // 56 - 63 340 975, 722, 722, 722, 722, 667, 611, 778, // 64 - 71 341 722, 278, 556, 722, 611, 833, 722, 778, // 72 - 79 342 667, 778, 722, 667, 611, 722, 667, 944, // 80 - 87 343 667, 667, 611, 333, 278, 333, 584, 556, // 88 - 95 344 333, 556, 611, 556, 611, 556, 333, 611, // 96 - 103 345 611, 278, 278, 556, 278, 889, 611, 611, // 104 - 111 346 611, 611, 389, 556, 333, 611, 556, 778, // 112 - 119 347 556, 556, 500, 389, 280, 389, 584, 0, // 120 - 127 348 556, 0, 278, 556, 500, 1000, 556, 556, // 128 - 135 349 333, 1000, 667, 333, 1000, 0, 500, 0, // 136 - 143 350 0, 278, 278, 500, 500, 350, 556, 1000, // 144 - 151 351 333, 1000, 556, 333, 944, 0, 500, 667, // 152 - 159 352 278, 333, 556, 556, 556, 556, 280, 556, // 160 - 167 353 333, 737, 370, 556, 584, 333, 737, 333, // 168 - 175 354 400, 584, 333, 333, 333, 611, 556, 278, // 176 - 183 355 333, 333, 365, 556, 834, 834, 834, 611, // 184 - 191 356 722, 722, 722, 722, 722, 722, 1000, 722, // 192 - 199 357 667, 667, 667, 667, 278, 278, 278, 278, // 200 - 207 358 722, 722, 778, 778, 778, 778, 778, 584, // 208 - 215 359 778, 722, 722, 722, 722, 667, 667, 611, // 216 - 223 360 556, 556, 556, 556, 556, 556, 889, 556, // 224 - 231 361 556, 556, 556, 556, 278, 278, 278, 278, // 232 - 239 362 611, 611, 611, 611, 611, 611, 611, 584, // 240 - 247 363 611, 611, 611, 611, 611, 556, 611, 556 // 248 - 255 364 } 365 }, 366 367 { "Helvetica", // family name 368 "Bold Italic", // style 369 "Helvetica-BoldOblique", // PSName 370 718, -207, // ascend, descend 371 FAMILY_SWISS, // family style 372 RTL_TEXTENCODING_MS_1252, // charset 373 PITCH_VARIABLE, // pitch 374 WIDTH_NORMAL, // width type 375 WEIGHT_BOLD, // weight type 376 ITALIC_NORMAL, // italic type 377 { 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 7 378 0, 0, 0, 0, 0, 0, 0, 0, // 8 - 15 379 0, 0, 0, 0, 0, 0, 0, 0, // 16 - 23 380 0, 0, 0, 0, 0, 0, 0, 0, // 24 - 31 381 278, 333, 474, 556, 556, 889, 722, 238, // 32 - 39 382 333, 333, 389, 584, 278, 333, 278, 278, // 40 - 47 383 556, 556, 556, 556, 556, 556, 556, 556, // 48 - 55 384 556, 556, 333, 333, 584, 584, 584, 611, // 56 - 63 385 975, 722, 722, 722, 722, 667, 611, 778, // 64 - 71 386 722, 278, 556, 722, 611, 833, 722, 778, // 72 - 79 387 667, 778, 722, 667, 611, 722, 667, 944, // 80 - 87 388 667, 667, 611, 333, 278, 333, 584, 556, // 88 - 95 389 333, 556, 611, 556, 611, 556, 333, 611, // 96 - 103 390 611, 278, 278, 556, 278, 889, 611, 611, // 104 - 111 391 611, 611, 389, 556, 333, 611, 556, 778, // 112 - 119 392 556, 556, 500, 389, 280, 389, 584, 0, // 120 - 127 393 556, 0, 278, 556, 500, 1000, 556, 556, // 128 - 135 394 333, 1000, 667, 333, 1000, 0, 500, 0, // 136 - 143 395 0, 278, 278, 500, 500, 350, 556, 1000, // 144 - 151 396 333, 1000, 556, 333, 944, 0, 500, 667, // 152 - 159 397 278, 333, 556, 556, 556, 556, 280, 556, // 160 - 167 398 333, 737, 370, 556, 584, 333, 737, 333, // 168 - 175 399 400, 584, 333, 333, 333, 611, 556, 278, // 176 - 183 400 333, 333, 365, 556, 834, 834, 834, 611, // 184 - 191 401 722, 722, 722, 722, 722, 722, 1000, 722, // 192 - 199 402 667, 667, 667, 667, 278, 278, 278, 278, // 200 - 207 403 722, 722, 778, 778, 778, 778, 778, 584, // 208 - 215 404 778, 722, 722, 722, 722, 667, 667, 611, // 216 - 223 405 556, 556, 556, 556, 556, 556, 889, 556, // 224 - 231 406 556, 556, 556, 556, 278, 278, 278, 278, // 232 - 239 407 611, 611, 611, 611, 611, 611, 611, 584, // 240 - 247 408 611, 611, 611, 611, 611, 556, 611, 556 // 248 - 255 409 } 410 }, 411 412 { "Times", // family name 413 "Normal", // style 414 "Times-Roman", // PSName 415 683, -217, // ascend, descend 416 FAMILY_ROMAN, // family style 417 RTL_TEXTENCODING_MS_1252, // charset 418 PITCH_VARIABLE, // pitch 419 WIDTH_NORMAL, // width type 420 WEIGHT_NORMAL, // weight type 421 ITALIC_NONE, // italic type 422 { 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 7 423 0, 0, 0, 0, 0, 0, 0, 0, // 8 - 15 424 0, 0, 0, 0, 0, 0, 0, 0, // 16 - 23 425 0, 0, 0, 0, 0, 0, 0, 0, // 24 - 31 426 250, 333, 408, 500, 500, 833, 778, 180, // 32 - 39 427 333, 333, 500, 564, 250, 333, 250, 278, // 40 - 47 428 500, 500, 500, 500, 500, 500, 500, 500, // 48 - 55 429 500, 500, 278, 278, 564, 564, 564, 444, // 56 - 63 430 921, 722, 667, 667, 722, 611, 556, 722, // 64 - 71 431 722, 333, 389, 722, 611, 889, 722, 722, // 72 - 79 432 556, 722, 667, 556, 611, 722, 722, 944, // 80 - 87 433 722, 722, 611, 333, 278, 333, 469, 500, // 88 - 95 434 333, 444, 500, 444, 500, 444, 333, 500, // 96 - 103 435 500, 278, 278, 500, 278, 778, 500, 500, // 104 - 111 436 500, 500, 333, 389, 278, 500, 500, 722, // 112 - 119 437 500, 500, 444, 480, 200, 480, 541, 0, // 120 - 127 438 500, 0, 333, 500, 444, 1000, 500, 500, // 128 - 135 439 333, 1000, 556, 333, 889, 0, 444, 0, // 136 - 143 440 0, 333, 333, 444, 444, 350, 500, 1000, // 144 - 151 441 333, 980, 389, 333, 722, 0, 444, 722, // 152 - 159 442 250, 333, 500, 500, 500, 500, 200, 500, // 160 - 167 443 333, 760, 276, 500, 564, 333, 760, 333, // 168 - 175 444 400, 564, 300, 300, 333, 500, 453, 250, // 176 - 183 445 333, 300, 310, 500, 750, 750, 750, 444, // 184 - 191 446 722, 722, 722, 722, 722, 722, 889, 667, // 192 - 199 447 611, 611, 611, 611, 333, 333, 333, 333, // 200 - 207 448 722, 722, 722, 722, 722, 722, 722, 564, // 208 - 215 449 722, 722, 722, 722, 722, 722, 556, 500, // 216 - 223 450 444, 444, 444, 444, 444, 444, 667, 444, // 224 - 231 451 444, 444, 444, 444, 278, 278, 278, 278, // 232 - 239 452 500, 500, 500, 500, 500, 500, 500, 564, // 240 - 247 453 500, 500, 500, 500, 500, 500, 500, 500 // 248 - 255 454 } 455 }, 456 457 { "Times", // family name 458 "Italic", // style 459 "Times-Italic", // PSName 460 683, -217, // ascend, descend 461 FAMILY_ROMAN, // family style 462 RTL_TEXTENCODING_MS_1252, // charset 463 PITCH_VARIABLE, // pitch 464 WIDTH_NORMAL, // width type 465 WEIGHT_NORMAL, // weight type 466 ITALIC_NORMAL, // italic type 467 { 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 7 468 0, 0, 0, 0, 0, 0, 0, 0, // 8 - 15 469 0, 0, 0, 0, 0, 0, 0, 0, // 16 - 23 470 0, 0, 0, 0, 0, 0, 0, 0, // 24 - 31 471 250, 333, 420, 500, 500, 833, 778, 214, // 32 - 39 472 333, 333, 500, 675, 250, 333, 250, 278, // 40 - 47 473 500, 500, 500, 500, 500, 500, 500, 500, // 48 - 55 474 500, 500, 333, 333, 675, 675, 675, 500, // 56 - 63 475 920, 611, 611, 667, 722, 611, 611, 722, // 64 - 71 476 722, 333, 444, 667, 556, 833, 667, 722, // 72 - 79 477 611, 722, 611, 500, 556, 722, 611, 833, // 80 - 87 478 611, 556, 556, 389, 278, 389, 422, 500, // 88 - 95 479 333, 500, 500, 444, 500, 444, 278, 500, // 96 - 103 480 500, 278, 278, 444, 278, 722, 500, 500, // 104 - 111 481 500, 500, 389, 389, 278, 500, 444, 667, // 112 - 119 482 444, 444, 389, 400, 275, 400, 541, 0, // 120 - 127 483 500, 0, 333, 500, 556, 889, 500, 500, // 128 - 135 484 333, 1000, 500, 333, 944, 0, 389, 0, // 136 - 143 485 0, 333, 333, 556, 556, 350, 500, 889, // 144 - 151 486 333, 980, 389, 333, 667, 0, 389, 556, // 152 - 159 487 250, 389, 500, 500, 500, 500, 275, 500, // 160 - 167 488 333, 760, 276, 500, 675, 333, 760, 333, // 168 - 175 489 400, 675, 300, 300, 333, 500, 523, 250, // 176 - 183 490 333, 300, 310, 500, 750, 750, 750, 500, // 184 - 191 491 611, 611, 611, 611, 611, 611, 889, 667, // 192 - 199 492 611, 611, 611, 611, 333, 333, 333, 333, // 200 - 207 493 722, 667, 722, 722, 722, 722, 722, 675, // 208 - 215 494 722, 722, 722, 722, 722, 556, 611, 500, // 216 - 223 495 500, 500, 500, 500, 500, 500, 667, 444, // 224 - 231 496 444, 444, 444, 444, 278, 278, 278, 278, // 232 - 239 497 500, 500, 500, 500, 500, 500, 500, 675, // 240 - 247 498 500, 500, 500, 500, 500, 444, 500, 444 // 248 - 255 499 } 500 }, 501 502 { "Times", // family name 503 "Bold", // style 504 "Times-Bold", // PSName 505 683, -217, // ascend, descend 506 FAMILY_ROMAN, // family style 507 RTL_TEXTENCODING_MS_1252, // charset 508 PITCH_VARIABLE, // pitch 509 WIDTH_NORMAL, // width type 510 WEIGHT_BOLD, // weight type 511 ITALIC_NONE, // italic type 512 { 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 7 513 0, 0, 0, 0, 0, 0, 0, 0, // 8 - 15 514 0, 0, 0, 0, 0, 0, 0, 0, // 16 - 23 515 0, 0, 0, 0, 0, 0, 0, 0, // 24 - 31 516 250, 333, 555, 500, 500, 1000, 833, 278, // 32 - 39 517 333, 333, 500, 570, 250, 333, 250, 278, // 40 - 47 518 500, 500, 500, 500, 500, 500, 500, 500, // 48 - 55 519 500, 500, 333, 333, 570, 570, 570, 500, // 56 - 63 520 930, 722, 667, 722, 722, 667, 611, 778, // 64 - 71 521 778, 389, 500, 778, 667, 944, 722, 778, // 72 - 79 522 611, 778, 722, 556, 667, 722, 722, 1000, // 80 - 87 523 722, 722, 667, 333, 278, 333, 581, 500, // 88 - 95 524 333, 500, 556, 444, 556, 444, 333, 500, // 96 - 103 525 556, 278, 333, 556, 278, 833, 556, 500, // 104 - 111 526 556, 556, 444, 389, 333, 556, 500, 722, // 112 - 119 527 500, 500, 444, 394, 220, 394, 520, 0, // 120 - 127 528 500, 0, 333, 500, 500, 1000, 500, 500, // 128 - 135 529 333, 1000, 556, 333, 1000, 0, 444, 0, // 136 - 143 530 0, 333, 333, 500, 500, 350, 500, 1000, // 144 - 151 531 333, 1000, 389, 333, 722, 0, 444, 722, // 152 - 159 532 250, 333, 500, 500, 500, 500, 220, 500, // 160 - 167 533 333, 747, 300, 500, 570, 333, 747, 333, // 168 - 175 534 400, 570, 300, 300, 333, 556, 540, 250, // 176 - 183 535 333, 300, 330, 500, 750, 750, 750, 500, // 184 - 191 536 722, 722, 722, 722, 722, 722, 1000, 722, // 192 - 199 537 667, 667, 667, 667, 389, 389, 389, 389, // 200 - 207 538 722, 722, 778, 778, 778, 778, 778, 570, // 208 - 215 539 778, 722, 722, 722, 722, 722, 611, 556, // 216 - 223 540 500, 500, 500, 500, 500, 500, 722, 444, // 224 - 231 541 444, 444, 444, 444, 278, 278, 278, 278, // 232 - 239 542 500, 556, 500, 500, 500, 500, 500, 570, // 240 - 247 543 500, 556, 556, 556, 556, 500, 556, 500 // 248 - 255 544 } 545 }, 546 547 { "Times", // family name 548 "Bold Italic", // style 549 "Times-BoldItalic", // PSName 550 683, -217, // ascend, descend 551 FAMILY_ROMAN, // family style 552 RTL_TEXTENCODING_MS_1252, // charset 553 PITCH_VARIABLE, // pitch 554 WIDTH_NORMAL, // width type 555 WEIGHT_BOLD, // weight type 556 ITALIC_NORMAL, // italic type 557 { 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 7 558 0, 0, 0, 0, 0, 0, 0, 0, // 8 - 15 559 0, 0, 0, 0, 0, 0, 0, 0, // 16 - 23 560 0, 0, 0, 0, 0, 0, 0, 0, // 24 - 31 561 250, 389, 555, 500, 500, 833, 778, 278, // 32 - 39 562 333, 333, 500, 570, 250, 333, 250, 278, // 40 - 47 563 500, 500, 500, 500, 500, 500, 500, 500, // 48 - 55 564 500, 500, 333, 333, 570, 570, 570, 500, // 56 - 63 565 832, 667, 667, 667, 722, 667, 667, 722, // 64 - 71 566 778, 389, 500, 667, 611, 889, 722, 722, // 72 - 79 567 611, 722, 667, 556, 611, 722, 667, 889, // 80 - 87 568 667, 611, 611, 333, 278, 333, 570, 500, // 88 - 95 569 333, 500, 500, 444, 500, 444, 333, 500, // 96 - 103 570 556, 278, 278, 500, 278, 778, 556, 500, // 104 - 111 571 500, 500, 389, 389, 278, 556, 444, 667, // 112 - 119 572 500, 444, 389, 348, 220, 348, 570, 0, // 120 - 127 573 500, 0, 333, 500, 500, 1000, 500, 500, // 128 - 135 574 333, 1000, 556, 333, 944, 0, 389, 0, // 136 - 143 575 0, 333, 333, 500, 500, 350, 500, 1000, // 144 - 151 576 333, 1000, 389, 333, 722, 0, 389, 611, // 152 - 159 577 250, 389, 500, 500, 500, 500, 220, 500, // 160 - 167 578 333, 747, 266, 500, 606, 333, 747, 333, // 168 - 175 579 400, 570, 300, 300, 333, 576, 500, 250, // 176 - 183 580 333, 300, 300, 500, 750, 750, 750, 500, // 184 - 191 581 667, 667, 667, 667, 667, 667, 944, 667, // 192 - 199 582 667, 667, 667, 667, 389, 389, 389, 389, // 200 - 207 583 722, 722, 722, 722, 722, 722, 722, 570, // 208 - 215 584 722, 722, 722, 722, 722, 611, 611, 500, // 216 - 223 585 500, 500, 500, 500, 500, 500, 722, 444, // 224 - 231 586 444, 444, 444, 444, 278, 278, 278, 278, // 232 - 239 587 500, 556, 500, 500, 500, 500, 500, 570, // 240 - 247 588 500, 556, 556, 556, 556, 444, 500, 444 // 248 - 255 589 } 590 }, 591 592 { "Symbol", // family name 593 "Normal", // style 594 "Symbol", // PSName 595 1010, -293, // ascend, descend 596 FAMILY_DONTKNOW, // family style 597 RTL_TEXTENCODING_ADOBE_SYMBOL, // charset 598 PITCH_VARIABLE, // pitch 599 WIDTH_NORMAL, // width type 600 WEIGHT_NORMAL, // weight type 601 ITALIC_NONE, // italic type 602 { 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 7 603 0, 0, 0, 0, 0, 0, 0, 0, // 8 - 15 604 0, 0, 0, 0, 0, 0, 0, 0, // 16 - 23 605 0, 0, 0, 0, 0, 0, 0, 0, // 24 - 31 606 250, 333, 713, 500, 549, 833, 778, 439, // 32 - 39 607 333, 333, 500, 549, 250, 549, 250, 278, // 40 - 47 608 500, 500, 500, 500, 500, 500, 500, 500, // 48 - 55 609 500, 500, 278, 278, 549, 549, 549, 444, // 56 - 63 610 549, 722, 667, 722, 612, 611, 763, 603, // 64 - 71 611 722, 333, 631, 722, 686, 889, 722, 722, // 72 - 79 612 768, 741, 556, 592, 611, 690, 439, 768, // 80 - 87 613 645, 795, 611, 333, 863, 333, 658, 500, // 88 - 95 614 500, 631, 549, 549, 494, 439, 521, 411, // 96 - 103 615 603, 329, 603, 549, 549, 576, 521, 549, // 104 - 111 616 549, 521, 549, 603, 439, 576, 713, 686, // 112 - 119 617 493, 686, 494, 480, 200, 480, 549, 0, // 120 - 127 618 0, 0, 0, 0, 0, 0, 0, 0, // 128 - 135 619 0, 0, 0, 0, 0, 0, 0, 0, // 136 - 143 620 0, 0, 0, 0, 0, 0, 0, 0, // 144 - 151 621 0, 0, 0, 0, 0, 0, 0, 0, // 152 - 159 622 750, 620, 247, 549, 167, 713, 500, 753, // 160 - 167 623 753, 753, 753, 1042, 987, 603, 987, 603, // 168 - 175 624 400, 549, 411, 549, 549, 713, 494, 460, // 176 - 183 625 549, 549, 549, 549, 1000, 603, 1000, 658, // 184 - 191 626 823, 686, 795, 987, 768, 768, 823, 768, // 192 - 199 627 768, 713, 713, 713, 713, 713, 713, 713, // 200 - 207 628 768, 713, 790, 790, 890, 823, 549, 250, // 208 - 215 629 713, 603, 603, 1042, 987, 603, 987, 603, // 216 - 223 630 494, 329, 790, 790, 786, 713, 384, 384, // 224 - 231 631 384, 384, 384, 384, 494, 494, 494, 494, // 232 - 239 632 0, 329, 274, 686, 686, 686, 384, 384, // 240 - 247 633 384, 384, 384, 384, 494, 494, 494, 0 // 248 - 255 634 } 635 }, 636 637 { "ZapfDingbats", // family name 638 "Normal", // style 639 "ZapfDingbats", // PSName 640 820, -143, // ascend, descend 641 FAMILY_DONTKNOW, // family style 642 RTL_TEXTENCODING_ADOBE_DINGBATS, // charset 643 PITCH_VARIABLE, // pitch 644 WIDTH_NORMAL, // width type 645 WEIGHT_NORMAL, // weight type 646 ITALIC_NONE, // italic type 647 { 0, 0, 0, 0, 0, 0, 0, 0, // 0 - 7 648 0, 0, 0, 0, 0, 0, 0, 0, // 8 - 15 649 0, 0, 0, 0, 0, 0, 0, 0, // 16 - 23 650 0, 0, 0, 0, 0, 0, 0, 0, // 24 - 31 651 278, 974, 961, 974, 980, 719, 789, 790, // 32 - 39 652 791, 690, 960, 939, 549, 855, 911, 933, // 40 - 47 653 911, 945, 974, 755, 846, 762, 761, 571, // 48 - 55 654 677, 763, 760, 759, 754, 494, 552, 537, // 56 - 63 655 577, 692, 786, 788, 788, 790, 793, 794, // 64 - 71 656 816, 823, 789, 841, 823, 833, 816, 831, // 72 - 79 657 923, 744, 723, 749, 790, 792, 695, 776, // 80 - 87 658 768, 792, 759, 707, 708, 682, 701, 826, // 88 - 95 659 815, 789, 789, 707, 687, 696, 689, 786, // 96 - 103 660 787, 713, 791, 785, 791, 873, 761, 762, // 104 - 111 661 762, 759, 759, 892, 892, 788, 784, 438, // 112 - 119 662 138, 277, 415, 392, 392, 668, 668, 0, // 120 - 127 663 390, 390, 317, 317, 276, 276, 509, 509, // 128 - 135 664 410, 410, 234, 234, 334, 334, 0, 0, // 136 - 143 665 0, 0, 0, 0, 0, 0, 0, 0, // 144 - 151 666 0, 0, 0, 0, 0, 0, 0, 0, // 152 - 159 667 0, 732, 544, 544, 910, 667, 760, 760, // 160 - 167 668 776, 595, 694, 626, 788, 788, 788, 788, // 168 - 175 669 788, 788, 788, 788, 788, 788, 788, 788, // 176 - 183 670 788, 788, 788, 788, 788, 788, 788, 788, // 184 - 191 671 788, 788, 788, 788, 788, 788, 788, 788, // 192 - 199 672 788, 788, 788, 788, 788, 788, 788, 788, // 200 - 207 673 788, 788, 788, 788, 894, 838, 1016, 458, // 208 - 215 674 748, 924, 748, 918, 927, 928, 928, 834, // 216 - 223 675 873, 828, 924, 924, 917, 930, 931, 463, // 224 - 231 676 883, 836, 836, 867, 867, 696, 696, 874, // 232 - 239 677 0, 874, 760, 946, 771, 865, 771, 888, // 240 - 247 678 967, 888, 831, 873, 927, 970, 918, 0 // 248 - 255 679 } 680 } 681 682 }; 683 684