28 lines
1.7 KiB
Markdown
28 lines
1.7 KiB
Markdown
# Soft-mask and pattern rendering-intent probes
|
||
|
||
This self-authored 4-page PDF contains 108 declared pixel probes. The existing
|
||
984-byte distinct CMYK/Lab ICC profile is copied without alteration. Its four
|
||
intent outputs for CMYK (0, .75, .25, 0) have separated luminances; no PDF renderer
|
||
supplies the expected colors.
|
||
|
||
[Adobe PDF Reference 1.4](https://opensource.adobe.com/dc-acrobat-sdk-docs/pdfstandards/pdfreference1.4.pdf)
|
||
pp. 218, 223, 231 and 453 define pattern state. Colored tiling and shading patterns
|
||
start with their resource-owning page/Form stream's initial state. A Form is
|
||
reused under different initial intents, then changes its painting intent to
|
||
Absolute. Explicit pattern overrides and q/Q are separate controls. Uncolored
|
||
stencils contain no color operators or `ri`; their ICC base color is supplied by
|
||
the caller. Small/large uncolored strokes distinguish stroke from fill color.
|
||
|
||
Pages 440–446 define luminosity soft masks and their backdrop. The mask's RGB
|
||
group contains one opaque ICC rectangle, or no objects for the BC-only controls.
|
||
The direct CMM RGB result is reduced with the recommended .30/.59/.11 weights;
|
||
black over white has value 255 minus that luminosity. This device-dependent
|
||
formula is a declared test convention, not universal device calibration.
|
||
|
||
Run `tests/cmyk_lut/transparency.py --self-check --output NEW_DIRECTORY`, or pass
|
||
`--build-dir build --pdfium-library PATH/libpdfium.so --output NEW_DIRECTORY`.
|
||
The runner records all failures, validates the sandbox helper and library hash,
|
||
and judges PDFium and Poppler separately against the direct CMM. LittleCMS may
|
||
be shared with the renderers; this is not an independent CMM implementation or
|
||
general ICC conformance acceptance. The older 8-page intent fixture is unchanged.
|