Certain annotations do not render correctly anymore
I have some PDFs with fillable forms where the text entry no longer renders correctly. This happens when the annotation has a "/DR". Unfortunately I am not in position to share the PDFs where this happens, but qpdf --json gives the following:
In AcroForm:
"/DA": "/Helv 0 Tf 0 g ",
"/DR": {
"/Encoding": {
"/PDFDocEncoding": "11 0 R"
},
"/Font": {
"/Helv": "9 0 R",
"/TiRo": "10 0 R",
"/ZaDb": "92 0 R"
}
},
...
And the annotations that do not get rendered properly have:
"/DA": "/TiRo 0 Tf 0 g",
"/DR": {
"/Encoding": {
"/PDFDocEncoding": "206 0 R"
},
"/Font": {
"/Helv": "205 0 R"
}
},
Bisect log:
# bad: [76f4d2e764f0fdb089678d1db3967391eb2f4077] Poppler 21.11.0
# good: [c7f3f602f8aa648feed2aee8f17c540c19dc1cca] Poppler 21.10.0
git bisect start 'poppler-21.11.0' 'poppler-21.10.0'
# bad: [fa27a6349e2795503e46720cce6c4b19996990d7] refine PageLabelInfo::labelToIndex + intervals without style
git bisect bad fa27a6349e2795503e46720cce6c4b19996990d7
# good: [a246536f330eb6151a63cb1e86c6e0a7398fff64] qt6: remove useless ifdef
git bisect good a246536f330eb6151a63cb1e86c6e0a7398fff64
# bad: [757b566fc14b3d9e33b50387afe9dced709006b2] Don't crash if the GooString * is null
git bisect bad 757b566fc14b3d9e33b50387afe9dced709006b2
# bad: [72902cfa13aecb1827c2a9bba971154253657ecd] Fix Android CI
git bisect bad 72902cfa13aecb1827c2a9bba971154253657ecd
# bad: [8fc71482b4ef9ceabe6159708dd2747e2648dd7d] The field rendering logic should take into account not only AcroForm's DR but also field's DR
git bisect bad 8fc71482b4ef9ceabe6159708dd2747e2648dd7d
# first bad commit: [8fc71482b4ef9ceabe6159708dd2747e2648dd7d] The field rendering logic should take into account not only AcroForm's DR but also field's DR
commit 8fc71482b4ef9ceabe6159708dd2747e2648dd7d (refs/bisect/bad)
Author: Georgiy Sgibnev <georgiy@lab50.net>
Date: Wed Oct 6 11:47:34 2021 +0300
The field rendering logic should take into account not only
AcroForm's DR but also field's DR