263 {
268
269
271 {
272
273
274
275
278
279
281 for (;;)
282 {
286
287 if (
tag != 0x8002U )
288 break;
289
291
294 }
295
296
297
298 if (
parser->private_len == 0 )
299 {
301 " invalid private dictionary section\n" ));
304 }
305
309
311 for (;;)
312 {
315 {
317 break;
318 }
319
323
325 }
326 }
327 else
328 {
329
330
331
332
333
334
339
340
341 Again:
342 for (;;)
343 {
344 if (
cur[0] ==
'e' &&
346
347 {
348 if (
cur[1] ==
'e' &&
352 break;
353 }
356 {
358 " could not find `eexec' keyword\n" ));
361 }
362 }
363
364
365
366
368
370
373
375 {
376 if (
cur[0] ==
'e' &&
378 {
379 if (
cur[1] ==
'e' &&
384 }
385
388 break;
391 }
392
393
394
395
398
400 {
402 " premature end in private dictionary\n" ));
405 }
406
407 goto Again;
408
409
410
411
412
415
419
420
421
422
423
424
425
426
427
428
432 '\r',
434
438 (test_cr && *
cur ==
'\r' ) ||
442 {
444 " `eexec' not properly terminated\n" ));
447 }
448
450
452 {
453
457 }
458 else
459 {
465 }
466
467
468
469
470
471
472
473
477 {
478
480
481
487 0 );
489
490
492 }
493 else
494
496 }
497
498
500
501 if (
parser->private_len < 4 )
502 {
504 " invalid private dictionary section\n" ));
507 }
508
509
510 parser->private_dict[0] =
' ';
511 parser->private_dict[1] =
' ';
512 parser->private_dict[2] =
' ';
513 parser->private_dict[3] =
' ';
514
518
522 }
#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)