{ "origin": "Original deterministic vector, text and raster drawings authored for DocView tests", "reference_status": "Synthetic source specifies content and coordinates; no human-approved golden image exists", "font": { "family": "BIZ UDPGothic Regular", "source_file": "BIZUDPGothic-Regular.ttf", "sha256": "22f41ce68f1ce62477ca4ec1e2c0c400cc545ddff31d713e8edf87808614aeb2", "license": "SIL Open Font License 1.1", "license_copy": "FONT-OFL.txt", "upstream": "https://github.com/googlefonts/morisawa-biz-ud-gothic", "upstream_license": "https://raw.githubusercontent.com/googlefonts/morisawa-biz-ud-gothic/main/OFL.txt", "embedding": "Subset embedded by ReportLab; OFL permits embedding and redistribution. No reserved font name is changed." }, "documents": [ { "file": "japanese-layout.pdf", "sha256": "47011b3c7c7363bc9549881ade31b836e1efdae555504076627978dbde136f00", "page_count": 2, "expected": { "page_sizes_pt": [ [ 540, 720 ], [ 540, 720 ] ], "horizontal_text": "日本語の文字配置と埋込みフォント", "vertical_columns": [ { "x": 420, "top": 590, "step": 32, "text": "日本語縦書き検証" }, { "x": 374, "top": 590, "step": 32, "text": "天地左右回転配置" } ], "text_matrix_rotations_degrees": [ 0, 90, 180, 270 ], "font_embedded": true }, "limits": [ "Manual vertical glyph placement does not test native vertical CID metrics or OpenType shaping.", "Ruby placement is explicit source geometry, not automatic ruby layout." ] }, { "file": "graphics-compositing.pdf", "sha256": "ddaec9f619dde57995e9baff6a560151e9757d4b1bdce9b630299a5f0438d49e", "page_count": 1, "expected": { "page_sizes_pt": [ [ 600, 760 ] ], "rgb_image_pixels": [ 96, 96 ], "alpha": 0.5, "alpha_probes": [ { "point_pt": [ 80, 370 ], "expected_rgb": [ 244, 119, 121 ], "region": "red over gray" }, { "point_pt": [ 180, 390 ], "expected_rgb": [ 116, 119, 248 ], "region": "blue over gray" }, { "point_pt": [ 130, 390 ], "expected_rgb": [ 122, 59, 188 ], "region": "blue over red over gray" } ], "clip_circle_pt": [ 390, 395, 64 ], "axial_shading_band_pt": [ 40, 205, 485, 62 ], "cmyk_swatches": [ [ 1, 0, 0, 0 ], [ 0, 1, 0, 0 ], [ 0, 0, 1, 0 ], [ 0, 0, 0, 1 ] ] }, "limits": [ "CMYK output depends on renderer color conversion; no approved ICC reference is supplied.", "Pixel differences are evidence, not a calibrated quality threshold." ] }, { "file": "page-geometry.pdf", "sha256": "e5c0e4cb6d73c322235c9d7c89cf1e2e925ac7d3c22c7672b595a193fa133a0f", "page_count": 4, "expected": { "pages": [ { "media_box_pt": [ 0, 0, 420, 320 ], "crop_box_pt": [ 30, 40, 390, 300 ], "rotation": 0, "display_size_pt": [ 360, 260 ], "markers_pdf_coordinates": [ { "x": 50, "y": 60, "rgb": [ 255, 0, 0 ] }, { "x": 370, "y": 60, "rgb": [ 0, 170, 0 ] }, { "x": 370, "y": 280, "rgb": [ 0, 0, 255 ] }, { "x": 50, "y": 280, "rgb": [ 255, 170, 0 ] } ] }, { "media_box_pt": [ 0, 0, 560, 360 ], "crop_box_pt": [ 20, 30, 520, 330 ], "rotation": 90, "display_size_pt": [ 300, 500 ], "markers_pdf_coordinates": [ { "x": 40, "y": 50, "rgb": [ 255, 0, 0 ] }, { "x": 500, "y": 50, "rgb": [ 0, 170, 0 ] }, { "x": 500, "y": 310, "rgb": [ 0, 0, 255 ] }, { "x": 40, "y": 310, "rgb": [ 255, 170, 0 ] } ] }, { "media_box_pt": [ 0, 0, 300, 600 ], "crop_box_pt": [ 15, 50, 285, 550 ], "rotation": 270, "display_size_pt": [ 500, 270 ], "markers_pdf_coordinates": [ { "x": 35, "y": 70, "rgb": [ 255, 0, 0 ] }, { "x": 265, "y": 70, "rgb": [ 0, 170, 0 ] }, { "x": 265, "y": 530, "rgb": [ 0, 0, 255 ] }, { "x": 35, "y": 530, "rgb": [ 255, 170, 0 ] } ] }, { "media_box_pt": [ 0, 0, 480, 480 ], "crop_box_pt": [ 60, 80, 420, 400 ], "rotation": 180, "display_size_pt": [ 360, 320 ], "markers_pdf_coordinates": [ { "x": 80, "y": 100, "rgb": [ 255, 0, 0 ] }, { "x": 400, "y": 100, "rgb": [ 0, 170, 0 ] }, { "x": 400, "y": 380, "rgb": [ 0, 0, 255 ] }, { "x": 80, "y": 380, "rgb": [ 255, 170, 0 ] } ] } ] }, "limits": [ "Renderer comparisons must use CropBox and honor document Rotate." ] }, { "file": "unembedded-font.pdf", "sha256": "37532f1b3a403c5527fe39807e2bb737b55472d8edf32cc1ca47668c7623e095", "page_count": 1, "expected": { "page_sizes_pt": [ [ 400, 300 ] ], "base_fonts": [ "Helvetica", "Times-Roman", "Courier" ], "font_embedded": false }, "limits": [ "This is a controlled Standard-14 substitution baseline, not arbitrary missing Japanese font coverage.", "Cross-OS fallback is not established by this Linux-only comparison." ] }, { "file": "icc-linear-rgb.pdf", "sha256": "4a6fd71d761bb639d3587f39e94446b8b92c6448177bbcc161a622b94aac9a06", "page_count": 1, "expected": { "page_sizes_pt": [ [ 600, 350 ] ], "icc_probes": [ { "kind": "icc-vector", "point_pt": [ 68, 248 ], "components": [ 0.0625, 0.0625, 0.0625 ], "expected_rgb": [ 71, 71, 71 ] }, { "kind": "device-control", "point_pt": [ 68, 164 ], "components": [ 0.0625, 0.0625, 0.0625 ], "expected_rgb": [ 16, 16, 16 ] }, { "kind": "icc-image", "point_pt": [ 74, 68 ], "components": [ 16, 16, 16 ], "expected_rgb": [ 71, 71, 71 ] }, { "kind": "icc-vector", "point_pt": [ 156, 248 ], "components": [ 0.25, 0.25, 0.25 ], "expected_rgb": [ 137, 137, 137 ] }, { "kind": "device-control", "point_pt": [ 156, 164 ], "components": [ 0.25, 0.25, 0.25 ], "expected_rgb": [ 64, 64, 64 ] }, { "kind": "icc-image", "point_pt": [ 162, 68 ], "components": [ 64, 64, 64 ], "expected_rgb": [ 137, 137, 137 ] }, { "kind": "icc-vector", "point_pt": [ 244, 248 ], "components": [ 0.5, 0.5, 0.5 ], "expected_rgb": [ 188, 188, 188 ] }, { "kind": "device-control", "point_pt": [ 244, 164 ], "components": [ 0.5, 0.5, 0.5 ], "expected_rgb": [ 128, 128, 128 ] }, { "kind": "icc-image", "point_pt": [ 250, 68 ], "components": [ 128, 128, 128 ], "expected_rgb": [ 188, 188, 188 ] }, { "kind": "icc-vector", "point_pt": [ 332, 248 ], "components": [ 0.75, 0.75, 0.75 ], "expected_rgb": [ 225, 225, 225 ] }, { "kind": "device-control", "point_pt": [ 332, 164 ], "components": [ 0.75, 0.75, 0.75 ], "expected_rgb": [ 191, 191, 191 ] }, { "kind": "icc-image", "point_pt": [ 338, 68 ], "components": [ 191, 191, 191 ], "expected_rgb": [ 224, 224, 224 ] }, { "kind": "icc-vector", "point_pt": [ 420, 248 ], "components": [ 0.5, 0.125, 0.0625 ], "expected_rgb": [ 188, 99, 71 ] }, { "kind": "device-control", "point_pt": [ 420, 164 ], "components": [ 0.5, 0.125, 0.0625 ], "expected_rgb": [ 128, 32, 16 ] }, { "kind": "icc-image", "point_pt": [ 426, 68 ], "components": [ 128, 32, 16 ], "expected_rgb": [ 188, 99, 71 ] }, { "kind": "icc-vector", "point_pt": [ 508, 248 ], "components": [ 0.0625, 0.25, 0.5 ], "expected_rgb": [ 71, 137, 188 ] }, { "kind": "device-control", "point_pt": [ 508, 164 ], "components": [ 0.0625, 0.25, 0.5 ], "expected_rgb": [ 16, 64, 128 ] }, { "kind": "icc-image", "point_pt": [ 514, 68 ], "components": [ 16, 64, 128 ], "expected_rgb": [ 71, 137, 188 ] } ], "probe_tolerance_rgb": 3, "profile_effect": "ICCBased 0.5 linear gray becomes approximately 188, distinct from DeviceRGB approximately 128." }, "limits": [ "One RGB matrix/TRC profile, not arbitrary ICC LUT/CMYK/printing conformance.", "Analytic sRGB color expectation; independent renderer comparison still requires visual review." ] } ], "color_profile": { "file": "linear-srgb.icc", "sha256": "343c89fd0eb35fff20bcd52b63d3b3b941702e443c46f0761ab367fcf67c6287", "bytes": 568, "source": "Self-created with LittleCMS cmsCreateRGBProfile using the stated numeric white point, primaries and gamma; no third-party ICC profile is copied.", "lcms_encoded_version": 2190, "lcms_license": "MIT; LCMS2-LICENSE.txt", "upstream": "https://github.com/mm2/Little-CMS", "profile_copyright_tag": "No copyright, use freely", "white_xy": [ 0.3127, 0.329 ], "primaries_xy": [ [ 0.64, 0.33 ], [ 0.3, 0.6 ], [ 0.15, 0.06 ] ], "gamma": 1, "timestamp_normalization": "Header creation time is fixed to 2026-09-19; optional profile ID is zero." } }