|
Lines 367-372
jbig2_decode_symbol_dict(Jbig2Ctx *ctx,
Link Here
|
| 367 |
memcpy(region_params.gbat, params->sdat, sdat_bytes); |
367 |
memcpy(region_params.gbat, params->sdat, sdat_bytes); |
| 368 |
|
368 |
|
| 369 |
image = jbig2_image_new(ctx, SYMWIDTH, HCHEIGHT); |
369 |
image = jbig2_image_new(ctx, SYMWIDTH, HCHEIGHT); |
|
|
370 |
if (image == NULL) { |
| 371 |
jbig2_error(ctx, JBIG2_SEVERITY_FATAL, segment->number, |
| 372 |
"failed to allocate image storage"); |
| 373 |
return NULL; |
| 374 |
} |
| 370 |
|
375 |
|
| 371 |
code = jbig2_decode_generic_region(ctx, segment, ®ion_params, |
376 |
code = jbig2_decode_generic_region(ctx, segment, ®ion_params, |
| 372 |
as, image, GB_stats); |
377 |
as, image, GB_stats); |
|
Lines 517-522
jbig2_decode_symbol_dict(Jbig2Ctx *ctx,
Link Here
|
| 517 |
ID, RDX, RDY); |
522 |
ID, RDX, RDY); |
| 518 |
|
523 |
|
| 519 |
image = jbig2_image_new(ctx, SYMWIDTH, HCHEIGHT); |
524 |
image = jbig2_image_new(ctx, SYMWIDTH, HCHEIGHT); |
|
|
525 |
if (image == NULL) { |
| 526 |
jbig2_error(ctx, JBIG2_SEVERITY_FATAL, segment->number, |
| 527 |
"failed to allocate image storage"); |
| 528 |
return NULL; |
| 529 |
} |
| 520 |
|
530 |
|
| 521 |
/* Table 18 */ |
531 |
/* Table 18 */ |
| 522 |
rparams.GRTEMPLATE = params->SDRTEMPLATE; |
532 |
rparams.GRTEMPLATE = params->SDRTEMPLATE; |
|
Lines 635-640
jbig2_decode_symbol_dict(Jbig2Ctx *ctx,
Link Here
|
| 635 |
for (j = HCFIRSTSYM; j < NSYMSDECODED; j++) { |
645 |
for (j = HCFIRSTSYM; j < NSYMSDECODED; j++) { |
| 636 |
Jbig2Image *glyph; |
646 |
Jbig2Image *glyph; |
| 637 |
glyph = jbig2_image_new(ctx, SDNEWSYMWIDTHS[j], HCHEIGHT); |
647 |
glyph = jbig2_image_new(ctx, SDNEWSYMWIDTHS[j], HCHEIGHT); |
|
|
648 |
if (glyph == NULL) { |
| 649 |
jbig2_error(ctx, JBIG2_SEVERITY_FATAL, segment->number, |
| 650 |
"error allocating image storage for glyph"); |
| 651 |
while (--j >= HCFIRSTSYM) { |
| 652 |
jbig2_image_release(ctx, SDNEWSYMS->glyphs[j]); |
| 653 |
SDNEWSYMS->glyphs[j] = NULL; |
| 654 |
} |
| 655 |
jbig2_image_release(ctx, image); |
| 656 |
return NULL; |
| 657 |
} |
| 638 |
jbig2_image_compose(ctx, glyph, image, |
658 |
jbig2_image_compose(ctx, glyph, image, |
| 639 |
-x, 0, JBIG2_COMPOSE_REPLACE); |
659 |
-x, 0, JBIG2_COMPOSE_REPLACE); |
| 640 |
x += SDNEWSYMWIDTHS[j]; |
660 |
x += SDNEWSYMWIDTHS[j]; |