[ 
https://issues.apache.org/jira/browse/PDFBOX-6162?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18075990#comment-18075990
 ] 

Maruan Sahyoun commented on PDFBOX-6162:
----------------------------------------

I'll do some cleanup, javadoc and test cases. I'll do that AI assisted which 
should be OK as the main code is original code.

Another candidate for refactoring is GenericRegion — Most aligned with the 
GenericRefinementRegion refactoring:

The spec defines a clear algorithmic procedure (§6.2.5.7 "Generic Region 
Decoding Procedure")
Contains complex, template-specific decoding logic (decodeTemplate0a, 
decodeTemplate0b, etc.)
This procedure is already reused (by PatternDictionary, HalftoneRegion, 
SymbolDictionary)

Which we can do later on the main ticket.

> Reuse of symbol context not properly supported
> ----------------------------------------------
>
>                 Key: PDFBOX-6162
>                 URL: https://issues.apache.org/jira/browse/PDFBOX-6162
>             Project: PDFBox
>          Issue Type: Sub-task
>          Components: JBIG2
>    Affects Versions: 3.0.4 JBIG2
>            Reporter: Tilman Hausherr
>            Priority: Major
>         Attachments: bitmap-symbol-context-reuse.pdf
>
>
> .ArrayIndexOutOfBoundsException: Index 2 out of bounds for length 2
>       at 
> org.apache.pdfbox.jbig2.segments.SymbolDictionary.getToExportFlags(SymbolDictionary.java:898)
>       at 
> org.apache.pdfbox.jbig2.segments.SymbolDictionary.getDictionary(SymbolDictionary.java:467)
>       at 
> org.apache.pdfbox.jbig2.segments.SymbolDictionary.retrieveImportSymbols(SymbolDictionary.java:990)
>       at 
> org.apache.pdfbox.jbig2.segments.SymbolDictionary.setInSyms(SymbolDictionary.java:267)
>       at 
> org.apache.pdfbox.jbig2.segments.SymbolDictionary.parseHeader(SymbolDictionary.java:130)
>       at 
> org.apache.pdfbox.jbig2.segments.SymbolDictionary.init(SymbolDictionary.java:1025)
>       at 
> org.apache.pdfbox.jbig2.SegmentHeader.getSegmentData(SegmentHeader.java:380)
> Considering the name of the file, I assume this means we don't support the 
> reuse of symbols correctly. The file has at least 4 different symbol 
> segments. From what I see on
> https://github.com/SerenityOS/serenity/blob/master/Tests/LibGfx/test-inputs/jbig2/json/bitmap-symbol-context-reuse.json
> the text segment refers to the symbols of the 4 previous symbol segments, and 
> the symbol segments indicate some logic to retain the symbols of previous 
> segments, so one will have to investigate what happens.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to