262 {
267
268
270 {
271
272
273
274
277
278
280 for (;;)
281 {
285
286 if (
tag != 0x8002U )
287 break;
288
290
293 }
294
295
296
297 if (
parser->private_len == 0 )
298 {
300 " invalid private dictionary section\n" ));
303 }
304
308
310 for (;;)
311 {
314 {
316 break;
317 }
318
322
324 }
325 }
326 else
327 {
328
329
330
331
332
333
338
339
340 Again:
341 for (;;)
342 {
343 if (
cur[0] ==
'e' &&
345
346 {
347 if (
cur[1] ==
'e' &&
351 break;
352 }
355 {
357 " could not find `eexec' keyword\n" ));
360 }
361 }
362
363
364
365
367
369
372
374 {
375 if (
cur[0] ==
'e' &&
377 {
378 if (
cur[1] ==
'e' &&
383 }
384
387 break;
390 }
391
392
393
394
397
399 {
401 " premature end in private dictionary\n" ));
404 }
405
406 goto Again;
407
408
409
410
411
414
418
419
420
421
422
423
424
425
426
427
431 '\r',
433
437 (test_cr && *
cur ==
'\r' ) ||
441 {
443 " `eexec' not properly terminated\n" ));
446 }
447
449
451 {
452
456 }
457 else
458 {
464 }
465
466
467
468
469
470
471
472
476 {
477
479
480
486 0 );
488
489
491 }
492 else
493
495 }
496
497
499
500 if (
parser->private_len < 4 )
501 {
503 " invalid private dictionary section\n" ));
506 }
507
508
509 parser->private_dict[0] =
' ';
510 parser->private_dict[1] =
' ';
511 parser->private_dict[2] =
' ';
512 parser->private_dict[3] =
' ';
513
517
521 }
#define FT_ERROR(varformat)
#define FT_ALLOC(ptr, size)
#define FT_MEM_MOVE(dest, source, count)
#define FT_STREAM_SEEK(position)
#define FT_STREAM_SKIP(distance)
#define FT_STREAM_READ(buffer, count)
FT_BEGIN_HEADER typedef unsigned char FT_Bool
void(* t1_decrypt)(FT_Byte *buffer, FT_Offset length, FT_UShort seed)
const PS_Parser_FuncsRec * ps_parser_funcs
FT_Error(* to_bytes)(PS_Parser parser, FT_Byte *bytes, FT_Offset max_bytes, FT_ULong *pnum_bytes, FT_Bool delimiters)
static FT_Error read_pfb_tag(FT_Stream stream, FT_UShort *atag, FT_ULong *asize)
#define T1_Skip_Spaces(p)
#define T1_Skip_PS_Token(p)