[
https://issues.apache.org/jira/browse/PDFBOX-6155?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18074701#comment-18074701
]
Maruan Sahyoun commented on PDFBOX-6155:
----------------------------------------
I'd say I'm done here. IMHO we can close the subtask and move on to the next
although there is still some room for improvement but likely not without
breaking the API. One of the improvements is about validating some state/values
and fail instead of silently setting values which tightens the implementation a
bit. Could be that this will now throw where we hadn't in the past but IMHO
that's better than producing garbled output.
Asked Claude if the implementation matches 7.4.2.2 and it gave it a yes.
> AT (Adaptive template pixels) -1 byte skipped
> ---------------------------------------------
>
> Key: PDFBOX-6155
> URL: https://issues.apache.org/jira/browse/PDFBOX-6155
> Project: PDFBox
> Issue Type: Sub-task
> Components: JBIG2
> Affects Versions: 3.0.4 JBIG2
> Reporter: Tilman Hausherr
> Assignee: Tilman Hausherr
> Priority: Major
> Attachments: GenericRefinementRegion215-1776436118615-1.png,
> GenericRefinementRegion267-null-1776436118627.png,
> bitmap-symbol-textrefine-customat.pdf,
> bitmap-symbol-textrefine-negative-delta-width.pdf,
> bitmap-symbol-textrefine.pdf
>
>
> bitmap-symbol-textrefine-customat.pdf has a garbled shape, however
> bitmap-symbol-textrefine.pdf doesn't. The difference is that the problematic
> one has 4 AT bytes.
> [https://github.com/SerenityOS/serenity/blob/master/Tests/LibGfx/test-inputs/jbig2/json/bitmap-symbol-textrefine-customat.json]
> {code:json}
> "refinement_adaptive_template_pixels": [
> 10,
> -1,
> 4,
> 15
> ],
> {code}
> After a lot of reading and searching and trying I was able to trace it to
> {{GenericRefinementRegion.updateOverride()}} which ignores AT bytes if they
> are -1. However the specification says no such thing:
> 6.3.5.3 Fixed templates and adaptive templates
> The AT pixel RA1 can be located anywhere in the field shown in Figure 7, not
> including the current pixel. The AT pixel
> RA2 can be located anywhere in the range (-128, -128) to (127, 127) in the
> reference bitmap.
> See also figure 7 earlier in the specification, which has (-1,-1) values.
> Just removing the two lines fixes the problem but ruins
> bitmap-symbol-textrefine-negative-delta-width.pdf, which has all -1 so I'll
> research that.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]