initial commit
This commit is contained in:
+93
@@ -0,0 +1,93 @@
|
||||
Copyright 2022 The BIZ UDGothic Project Authors (https://github.com/googlefonts/morisawa-biz-ud-mincho)
|
||||
|
||||
This Font Software is licensed under the SIL Open Font License, Version 1.1.
|
||||
This license is copied below, and is also available with a FAQ at:
|
||||
https://openfontlicense.org
|
||||
|
||||
|
||||
-----------------------------------------------------------
|
||||
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
||||
-----------------------------------------------------------
|
||||
|
||||
PREAMBLE
|
||||
The goals of the Open Font License (OFL) are to stimulate worldwide
|
||||
development of collaborative font projects, to support the font creation
|
||||
efforts of academic and linguistic communities, and to provide a free and
|
||||
open framework in which fonts may be shared and improved in partnership
|
||||
with others.
|
||||
|
||||
The OFL allows the licensed fonts to be used, studied, modified and
|
||||
redistributed freely as long as they are not sold by themselves. The
|
||||
fonts, including any derivative works, can be bundled, embedded,
|
||||
redistributed and/or sold with any software provided that any reserved
|
||||
names are not used by derivative works. The fonts and derivatives,
|
||||
however, cannot be released under any other type of license. The
|
||||
requirement for fonts to remain under this license does not apply
|
||||
to any document created using the fonts or their derivatives.
|
||||
|
||||
DEFINITIONS
|
||||
"Font Software" refers to the set of files released by the Copyright
|
||||
Holder(s) under this license and clearly marked as such. This may
|
||||
include source files, build scripts and documentation.
|
||||
|
||||
"Reserved Font Name" refers to any names specified as such after the
|
||||
copyright statement(s).
|
||||
|
||||
"Original Version" refers to the collection of Font Software components as
|
||||
distributed by the Copyright Holder(s).
|
||||
|
||||
"Modified Version" refers to any derivative made by adding to, deleting,
|
||||
or substituting -- in part or in whole -- any of the components of the
|
||||
Original Version, by changing formats or by porting the Font Software to a
|
||||
new environment.
|
||||
|
||||
"Author" refers to any designer, engineer, programmer, technical
|
||||
writer or other person who contributed to the Font Software.
|
||||
|
||||
PERMISSION & CONDITIONS
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
||||
redistribute, and sell modified and unmodified copies of the Font
|
||||
Software, subject to the following conditions:
|
||||
|
||||
1) Neither the Font Software nor any of its individual components,
|
||||
in Original or Modified Versions, may be sold by itself.
|
||||
|
||||
2) Original or Modified Versions of the Font Software may be bundled,
|
||||
redistributed and/or sold with any software, provided that each copy
|
||||
contains the above copyright notice and this license. These can be
|
||||
included either as stand-alone text files, human-readable headers or
|
||||
in the appropriate machine-readable metadata fields within text or
|
||||
binary files as long as those fields can be easily viewed by the user.
|
||||
|
||||
3) No Modified Version of the Font Software may use the Reserved Font
|
||||
Name(s) unless explicit written permission is granted by the corresponding
|
||||
Copyright Holder. This restriction only applies to the primary font name as
|
||||
presented to the users.
|
||||
|
||||
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
||||
Software shall not be used to promote, endorse or advertise any
|
||||
Modified Version, except to acknowledge the contribution(s) of the
|
||||
Copyright Holder(s) and the Author(s) or with their explicit written
|
||||
permission.
|
||||
|
||||
5) The Font Software, modified or unmodified, in part or in whole,
|
||||
must be distributed entirely under this license, and must not be
|
||||
distributed under any other license. The requirement for fonts to
|
||||
remain under this license does not apply to any document created
|
||||
using the Font Software.
|
||||
|
||||
TERMINATION
|
||||
This license becomes null and void if any of the above conditions are
|
||||
not met.
|
||||
|
||||
DISCLAIMER
|
||||
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
||||
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
||||
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
||||
OTHER DEALINGS IN THE FONT SOFTWARE.
|
||||
+22
@@ -0,0 +1,22 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2023 Marti Maria Saguer
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject
|
||||
to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
+73
@@ -0,0 +1,73 @@
|
||||
# Extended synthetic PDF corpus
|
||||
|
||||
These five original documents contain nine pages. Their drawing source and
|
||||
explicit expected geometry are in `../extended_generator.py` and `manifest.json`.
|
||||
They are reproducible test fixtures, not approved golden images.
|
||||
|
||||
| Document | Pages | Covered content |
|
||||
| --- | ---: | --- |
|
||||
| japanese-layout.pdf | 2 | Embedded Japanese TrueType subset, horizontal text, explicit ruby coordinates, vertical glyph positions, text matrices at 0/90/180/270 degrees |
|
||||
| graphics-compositing.pdf | 1 | Original RGB and RGBA images, soft mask, 50% vector transparency and overlap, circular clipping, axial shading, CMYK swatches |
|
||||
| page-geometry.pdf | 4 | Different MediaBox dimensions, offset CropBox, Rotate values 0/90/270/180, four known color markers per page |
|
||||
| unembedded-font.pdf | 1 | Standard-14 Helvetica, Times-Roman and Courier substitution baseline |
|
||||
| icc-linear-rgb.pdf | 1 | Embedded linear-sRGB matrix/TRC profile in ICCBased vector and raster colors, plus identical DeviceRGB control values |
|
||||
|
||||
The Japanese text uses BIZ UDPGothic Regular. The font is subset-embedded, and
|
||||
its SIL Open Font License 1.1 is included in `FONT-OFL.txt`. The font file hash
|
||||
and upstream license URL are recorded in the manifest. The full font file is
|
||||
not redistributed here. The license permits embedding and redistribution;
|
||||
these documents do not modify the original font's reserved name.
|
||||
|
||||
Generate with Python containing ReportLab, pypdf and Pillow:
|
||||
|
||||
```sh
|
||||
python3 tests/fixtures/pdf/extended_generator.py
|
||||
```
|
||||
|
||||
The default font location is
|
||||
`/usr/local/share/fonts/BIZ_UDPGothic/BIZUDPGothic-Regular.ttf`.
|
||||
Set `DOCVIEW_JAPANESE_FONT` to another installation of that font with its adjacent
|
||||
`OFL.txt` when necessary. A changed font file changes the fixture hashes.
|
||||
|
||||
After building DocView's `pdf-worker-evidence` target and installing Poppler command-line tools:
|
||||
|
||||
```sh
|
||||
python3 tests/compare_pdf_extended.py
|
||||
```
|
||||
|
||||
The comparison generates full-resolution PNGs, difference images, contact sheets,
|
||||
text extraction and a machine-readable report under `tests/results/pdf-extended`.
|
||||
It assembles pages from the production sandboxed PDF worker's 512-pixel tiles, using FontBroker for unembedded fonts, and
|
||||
compares them with independently rendered Poppler pages at 144 dpi. CropBox and
|
||||
Rotate are honored. Deterministic size, marker, alpha and Japanese text/search
|
||||
assertion failures produce a nonzero exit status; image-difference metrics do
|
||||
not have an invented acceptance threshold.
|
||||
|
||||
The script defaults to system `/usr/bin` Poppler tools when present. Override
|
||||
with `DOCVIEW_PDFTOPPM`, `DOCVIEW_PDFTOTEXT` and `DOCVIEW_PDFFONTS`, or choose a
|
||||
different build directory with `DOCVIEW_BUILD_DIR`.
|
||||
|
||||
Explicit limitations: vertical text uses individual positioned glyphs, not native
|
||||
vertical CID metrics or OpenType shaping; ruby positions are authored directly;
|
||||
CMYK has no calibrated ICC golden; unembedded font coverage is Standard-14 Latin
|
||||
only. This corpus does not establish arbitrary-document, Windows, accessibility,
|
||||
print-production or full PDF compatibility.
|
||||
|
||||
## ICC profile and additional scale checks
|
||||
|
||||
`../icc_generator.py` creates `linear-srgb.icc` from D65 white, sRGB primaries
|
||||
and gamma 1 through public LittleCMS APIs. It uses no downloaded or borrowed
|
||||
profile. The generated copyright tag reads `No copyright, use freely`; the
|
||||
LittleCMS MIT license is retained in `LCMS2-LICENSE.txt`. The manifest records
|
||||
the numeric parameters, profile hash, library version and upstream source.
|
||||
The profile's creation timestamp is fixed, and its optional ID is zero, for
|
||||
reproducibility. The same profile bytes are embedded for vector and image colors.
|
||||
|
||||
Run `python3 tests/fixtures/pdf/icc_generator.py` to add/rebuild only this fixture
|
||||
without requiring the Japanese font. The full generator includes it as well.
|
||||
`python3 tests/compare_pdf_icc.py` compares actual worker scales 0.5, 1 and 4
|
||||
against Poppler at 36/72/288 dpi. It checks 54 analytic color probes, page
|
||||
dimensions and original SHA-256. Linear 0.5 gray must differ materially from
|
||||
DeviceRGB 0.5; this prevents an ignored ICC profile from passing. Evidence is
|
||||
in [pdf-icc](../../../results/pdf-icc/README.md). This one RGB profile does not
|
||||
establish arbitrary ICC LUT, CMYK press calibration or print color proofing.
|
||||
@@ -0,0 +1,129 @@
|
||||
%PDF-1.4
|
||||
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||
1 0 obj
|
||||
<<
|
||||
/F1 2 0 R
|
||||
>>
|
||||
endobj
|
||||
2 0 obj
|
||||
<<
|
||||
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
3 0 obj
|
||||
<<
|
||||
/BitsPerComponent 8 /ColorSpace /DeviceRGB /Filter [ /ASCII85Decode /FlateDecode ] /Height 96 /Length 770 /Subtype /Image
|
||||
/Type /XObject /Width 96
|
||||
>>
|
||||
stream
|
||||
Gb"/eb=uP&&-Zt`KLJ3YaD-k^$T89A5Q*ko]2*2nDdV>'nltbXI%?Vu\)%#XpZc)FkL,m`a/Lag29tgj>b@o:a%[iE"`irt\m?N"80mR+Ed!;h]g0ju;$/J51FMJH"`f>cfB4U(aX0pU!]d5J6=)+$IGNFNg)],T'?PNNS4Fhm09G3@'(l;dFs:3FOCKQ!p&[7d7-\)$B:5]L(W`!Xp$`#C6_`o<']`d<WH`ua<$EKhe@!'NY)[)LO)]c.jLd`Q,a"f;aDhlMH@[%tOffMA0bR')JXg!iFYAi_9[picjNNI,G_)A.dIhblEjCO$]Kf4A;)PO5hf;f=C2\Ei'20\7"`bfD'YQblRn2$:jOf<2]g.U?8D4I4lk6:EJXg;G#$rEb:=R/hj:$mJcVoph9r-bPE`.`hHIZ`nY)_&hoK4Lg8BqV(6kUqpJK-V2W#*O['Bsgo*$^TQ(Wb8U;YL5Qb<ufP5gGmuLDS#L&m_--+=EXL`=(b&&lJ67E=[*FeZmhtT'$4iaa&H-80UJUOQ.Z#o`@-s,$cj`@jI62!]dk\l<YTGRAbZQaI*_7n,bU;U?hCbjCAq'G_)AaU<#G`mQllF3f867S7!O$09?i=V!%u&gdIlC+NI6QlNM<f7+,BaB9u0F$fiiP2=LZ-F.s^^+D45eI@c%\Ca'TIORn6WdIin<F55;Ce-k=?'?PNNS4Fhm09G3@'(l;dFs:3FOCKQ!p&[7d7-\)$B:5]L(W`!Xp$`#C6_`o<']f2\j)Vm2Hie*:#NP~>endstream
|
||||
endobj
|
||||
4 0 obj
|
||||
<<
|
||||
/BitsPerComponent 8 /ColorSpace /DeviceRGB /Filter [ /ASCII85Decode /FlateDecode ] /Height 96 /Length 436 /SMask 5 0 R
|
||||
/Subtype /Image /Type /XObject /Width 96
|
||||
>>
|
||||
stream
|
||||
Gb"0NYn=i,&4BAFTbT>?TQUB/+^bKugVU8h=46!:!d7piQ]!T<ba@#L;0$d'Ft!Q^NU%.AnXrWd)$$\)9Qs*b9G^=29X59@P"^O-`"M#1a\)?tA0QDA1(c].R0]FQ9S<pM-GlZ,'B,^LM=<Oa7/3'Y++-U7&O%A+#VR8pKJu^#_/"f>iLQ0\nA=-PGhZaN]P9D<hG^&j';qE-Dl?J&e_j^$cS9;rOZrX*UCZ@jq:kFFD1%Y*o[-/NIItoWTB+Hk++<e/-hI'-C_G^=gA!5XkbF2&T[+mmiZli3N^!;=qTMW4JtnAjPs07%Q/h'Q;'h5d&lmrT,>fc4n3lq/!tu]/UX+T]a5RLsF9^#E7-EM;5]enZf0jIp3[JNtdiD;4S;rCRS9uV$jqjO3)<VYQ,T5baAP/[j8X(Z_/;95JY6\U]b]s:>Ed)6~>endstream
|
||||
endobj
|
||||
5 0 obj
|
||||
<<
|
||||
/BitsPerComponent 8 /ColorSpace /DeviceGray /Decode [ 0 1 ] /Filter [ /ASCII85Decode /FlateDecode ] /Height 96 /Length 304
|
||||
/Subtype /Image /Type /XObject /Width 96
|
||||
>>
|
||||
stream
|
||||
Gb"0S5n\f8#Xm(NrrM7A3Eqf<"D;E3/dhbS([pfDKe[mgbWLrJAk+Im:1B'X'+R0&E9b7@TLT>3Ns8u5$3YIH&ELNU0^fApGY]I$mfQ.1(J+/`!.eJ\./Y83p.>0^JB$=E,&[\(5*\&.@\:mE"N3KprsBJ7"oLl`\:6Vfji7Y6J#be&rbT@Jp=m@8YPs!"OADF@%?0KFe\BGlIeE`Qo)I>'pD`]%O*lFWI_R8fJ'.Mpo)5nBIkKXYbO68<qhtB$'Is00,_5FUq]f,IkWg;i3su@CT?-$8":$k1>l'NE%CWPaTE~>endstream
|
||||
endobj
|
||||
6 0 obj
|
||||
<<
|
||||
/ColorSpace /DeviceRGB /Coords [ 40 205 525 205 ] /Extend [true true] /Function 10 0 R /ShadingType 2
|
||||
>>
|
||||
endobj
|
||||
7 0 obj
|
||||
<<
|
||||
/Contents 12 0 R /MediaBox [ 0 0 600 760 ] /Parent 11 0 R /Resources <<
|
||||
/ExtGState <<
|
||||
/gRLs0 <<
|
||||
/ca .5
|
||||
>> /gRLs1 <<
|
||||
/ca 1
|
||||
>>
|
||||
>> /Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ] /Shading <<
|
||||
/Sh0 6 0 R
|
||||
>> /XObject <<
|
||||
/FormXob.dde330c7bd98d143ad6dbfc31b4d18ea 4 0 R /FormXob.fd3160a8deaece01bd46d36268643177 3 0 R
|
||||
>>
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
8 0 obj
|
||||
<<
|
||||
/PageMode /UseNone /Pages 11 0 R /Type /Catalog
|
||||
>>
|
||||
endobj
|
||||
9 0 obj
|
||||
<<
|
||||
/Author (DocView tests) /CreationDate (D:20000101000000+00'00') /Creator (anonymous) /Keywords () /ModDate (D:20000101000000+00'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (unspecified) /Title (DocView synthetic rendering fixture - graphics-compositing.pdf) /Trapped /False
|
||||
>>
|
||||
endobj
|
||||
10 0 obj
|
||||
<<
|
||||
/Bounds [ .5 ] /Domain [0.0 1.0] /Encode [ 0 1 0 1 ] /FunctionType 3 /Functions [ 13 0 R 14 0 R ]
|
||||
>>
|
||||
endobj
|
||||
11 0 obj
|
||||
<<
|
||||
/Count 1 /Kids [ 7 0 R ] /Type /Pages
|
||||
>>
|
||||
endobj
|
||||
12 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 845
|
||||
>>
|
||||
stream
|
||||
Gatm9gMY_1&:O:SbY+cjMTjqjIO$ibPuJGK[=):r@q`ZT`bP;HbjJqLW1m*#!M8t1B$NEC1PPtI%s?KG"`T_lmu@H\ON`64:d?dhgE['(L^A]q;5poh)[T*0/qPu(Z2opN")sn#EcVO!UQDS8o>>'fE'&UloS94=52,>]_eA]3D1KgOIK.<jXri.Ar;t)Z81n_Y562M9k<^[)81'F7d(?@De^%tKc8&-00fmKPT&t]$1SHS,(buhr7M4ET_>![M:oB_:lsC&7PXm/F<j2b?N!EFg=ICAJKY1QY]#Z\#U"jgILY>%I0p,WaEm/!DPsrb,3;#>6,l=W`QsC\'D10!!ZRk:0UsV#WF[cNnREDD5PgcVQW6WZ`=rlm'/;ie@Q12G"k-1gs%BRe9WN.d$YpNp508tV'*A8'6LNJ)%b`$tS=6Zs9UK<D0)Zmt_IAI'!,fK-:4[#RkO'9;9"@Y;Q,Z(9U[4u<d1ah"6:S'*3S#8t\A*1-QA[0H<?lH,l-SWa:g`/."MNrEuaF3/NJs29(`BZ,f>K@YR'5(5`$P=l1[GPT]28J)$4K2]0f_b%<32\Bi[HVIQHg<)e!A0oXIU#-PbH?\gWNAePNr&b\l)b#J#=06oCCm"4KA_D$"=M\A32$PmjQrjZ)e3\B9j[;N,$chPCRk@#!X%\]:7(cr>@@J@K*j12).Jf@e*'Ng"?,lCgQcM<X8VG&/7EXALKR?[.#Z89DAI_;)6=dERPO35o[sL4H+&iU';_GZ7(l6T3.c(]2jIlchs'>q8-cU%j0>gfM%@P4ft+tP*W^V$$d?!W5[^)K!#UiZJ?>:k1rb#QV/c)<R*Z<s"><Zd_&3~>endstream
|
||||
endobj
|
||||
13 0 obj
|
||||
<<
|
||||
/C0 [ .078431 .490196 .47451 ] /C1 [ 1 1 1 ] /Domain [ 0 1 ] /FunctionType 2 /N 1
|
||||
>>
|
||||
endobj
|
||||
14 0 obj
|
||||
<<
|
||||
/C0 [ 1 1 1 ] /C1 [ .85098 .313725 .313725 ] /Domain [ 0 1 ] /FunctionType 2 /N 1
|
||||
>>
|
||||
endobj
|
||||
xref
|
||||
0 15
|
||||
0000000000 65535 f
|
||||
0000000061 00000 n
|
||||
0000000092 00000 n
|
||||
0000000199 00000 n
|
||||
0000001157 00000 n
|
||||
0000001794 00000 n
|
||||
0000002303 00000 n
|
||||
0000002426 00000 n
|
||||
0000002814 00000 n
|
||||
0000002883 00000 n
|
||||
0000003202 00000 n
|
||||
0000003322 00000 n
|
||||
0000003382 00000 n
|
||||
0000004318 00000 n
|
||||
0000004422 00000 n
|
||||
trailer
|
||||
<<
|
||||
/ID
|
||||
[<998c181bcc6a27b405fdaeda1882afd9><998c181bcc6a27b405fdaeda1882afd9>]
|
||||
% ReportLab generated PDF document -- digest (opensource)
|
||||
|
||||
/Info 9 0 R
|
||||
/Root 8 0 R
|
||||
/Size 15
|
||||
>>
|
||||
startxref
|
||||
4526
|
||||
%%EOF
|
||||
BIN
Binary file not shown.
BIN
Binary file not shown.
BIN
Binary file not shown.
+776
@@ -0,0 +1,776 @@
|
||||
{
|
||||
"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."
|
||||
}
|
||||
}
|
||||
+161
@@ -0,0 +1,161 @@
|
||||
%PDF-1.4
|
||||
%âãÏÓ
|
||||
1 0 obj
|
||||
<<
|
||||
/Producer (pypdf)
|
||||
/Title (DocView page geometry fixture)
|
||||
/Author (DocView tests)
|
||||
>>
|
||||
endobj
|
||||
2 0 obj
|
||||
<<
|
||||
/Type /Pages
|
||||
/Count 4
|
||||
/Kids [ 4 0 R 8 0 R 10 0 R 12 0 R ]
|
||||
>>
|
||||
endobj
|
||||
3 0 obj
|
||||
<<
|
||||
/Type /Catalog
|
||||
/Pages 2 0 R
|
||||
>>
|
||||
endobj
|
||||
4 0 obj
|
||||
<<
|
||||
/Contents 5 0 R
|
||||
/MediaBox [ 0 0 420 320 ]
|
||||
/Resources <<
|
||||
/Font 6 0 R
|
||||
/ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>>
|
||||
/Rotate 0
|
||||
/Trans <<
|
||||
>>
|
||||
/Type /Page
|
||||
/CropBox [ 30 40 390 300 ]
|
||||
/Parent 2 0 R
|
||||
>>
|
||||
endobj
|
||||
5 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ]
|
||||
/Length 535
|
||||
>>
|
||||
stream
|
||||
Gatn"4\s!M%#4NU$BK^68Y"*G3<UlA#eD/`-j:X<4*2HoT9&@dBnVRMB[t&+?e^X)7Y@F:bLhjUb79QX1h_R1&[ZC,F;JoM2&b1^(8uYL[nk7PdOZk%oPFhX4<Pf^&i:;tOB6rrLR"Z?SWiK*,oWihj!#Uo,e7e>(,!sqM\8OJ#t7@Ci3M=`<]p)8FfgQ_+Km?A>.,0d&R:V9X[CC3Z#<6/p;L/rp$WjYDEU3-Z^Hp5`5i*U&Bcba#mnrQWLu5!`?u$>MMeXZM2#dO@OWkRMD9)r8<rmTW%_gIN%)B'_)MJd>[email protected]?u!2^a7bP37]8'A8n;G_B#qge=&C?,]uBKqVa@/a(/I>ERVJC+IS4*TX^Xbdm:da@5MHaB%&L6>04X+6g8T@%D+O^*6=T85'hQ]K4jpmsou#&b[i<cVMZ("BV)Kh/35#&)B$`#Ft<s"!nEGpBH;n%8O@$\)l`[DN$WPgNEj7_1PXps45:cSM""0(DuVL:TH@3+7D;$+(4m/?U#TdLULq%br61tiJm~>
|
||||
endstream
|
||||
endobj
|
||||
6 0 obj
|
||||
<<
|
||||
/F1 7 0 R
|
||||
>>
|
||||
endobj
|
||||
7 0 obj
|
||||
<<
|
||||
/BaseFont /Helvetica
|
||||
/Encoding /WinAnsiEncoding
|
||||
/Name /F1
|
||||
/Subtype /Type1
|
||||
/Type /Font
|
||||
>>
|
||||
endobj
|
||||
8 0 obj
|
||||
<<
|
||||
/Contents 9 0 R
|
||||
/MediaBox [ 0 0 560 360 ]
|
||||
/Resources <<
|
||||
/Font 6 0 R
|
||||
/ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>>
|
||||
/Rotate 90
|
||||
/Trans <<
|
||||
>>
|
||||
/Type /Page
|
||||
/CropBox [ 20 30 520 330 ]
|
||||
/Parent 2 0 R
|
||||
>>
|
||||
endobj
|
||||
9 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ]
|
||||
/Length 540
|
||||
>>
|
||||
stream
|
||||
Gatn"9i'Ou&;KZL(%8Cr.*VHrf/XU7\b(DcDH.3("@Pn+X(;n@r6@uFa/piadR:@\Sp+cfgG+?AAS[&-3:Ck\OhhP+4ZKeLr?kkD%AQY3F1`t#iM"q-=POJ#I"r=.-R.'lS5/4c:"j/;=iejQk[%9+n;P^?3;Gu5\X?SW5nfDLA$TE;34X^(N@6]!4#B.01%EiZaLbHQ2Q>RWA4b/QVt&1F:!'AUC":N%LW6jYNBZ+@(28=UUHjrE?:f7tL)7E]TcnUpT+/jU'k*40B/pC*,dtgPET("BC"[j.nsoM<B<7WCo*hRG7ArS-.09#_1O@2W-%Ock_S8sndqK944N>KmDJ$toTjfUO@SdrMS=^:>7Hu\-Y;fT@fl>?*CM'k>?C+YX[N%>J[uTJqa`$XV+kl)@.h_6,Uud3L/2)2r7W9a3$1G#]>[>5*$oe(Dm;YNan'QVTJ"e+dX?]h&rOp(6XMVqbs7:X<L+eQ^AKdt-ApF1Kh^ZUUde2Yg#H$7n_rD6UbOZ>'7Z;9'e'$Qlf2fl;quZ"8i5G~>
|
||||
endstream
|
||||
endobj
|
||||
10 0 obj
|
||||
<<
|
||||
/Contents 11 0 R
|
||||
/MediaBox [ 0 0 300 600 ]
|
||||
/Resources <<
|
||||
/Font 6 0 R
|
||||
/ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>>
|
||||
/Rotate 270
|
||||
/Trans <<
|
||||
>>
|
||||
/Type /Page
|
||||
/CropBox [ 15 50 285 550 ]
|
||||
/Parent 2 0 R
|
||||
>>
|
||||
endobj
|
||||
11 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ]
|
||||
/Length 546
|
||||
>>
|
||||
stream
|
||||
Gatn"9hu``%#46B.srlR%>b`GfcqW^V$BEO<qQI9JG>MfC:gGBr7]H:7TC`eltGFtZ2HkMN%GlqXH)TMi-^.*Y8/\+oDmI'*i<jp3=QbDjAoq]Zb+7dUM8!j#lNT)n8QU&o&uqs+9NGiS%<GnjlVH\r^]Q[Z@F*L?R6$S5%GEX0R*hm]VoBURkTCtPtC$sag`C^)(F6pZGLjBPrZV1^c#!qBs@[bT1@2120m/E/N2pu#N["Zr*j6T=Q";L'SD]l8eMIPL9.@LlM7@[;FfBV")896Ck]hG43#-7+AFkCV'9":aSD@^b)jes@QQo!;sY-=;&K\Hm"(9Q6]17ZeLeWiU$sJ.rV&!oL%QI%]+om;'t)kiU@tAl[,X8:UL&/a4B+e`j;./FaO0jL5oA!I8Gq.NoV@7H>D0@P;J?^9g<rXld6$FF"hn66?!W&7;n1NKDtgRp_\#Sg0HEg3LD!'&nGa-V;^-4dg\s7k^;CIS-gX%u9JRd_o<XZ8AYn^jbmQ)3]>pfY/8r;tE&Y]4^4(LBTC9fq%#2MW?f@C~>
|
||||
endstream
|
||||
endobj
|
||||
12 0 obj
|
||||
<<
|
||||
/Contents 13 0 R
|
||||
/MediaBox [ 0 0 480 480 ]
|
||||
/Resources <<
|
||||
/Font 6 0 R
|
||||
/ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>>
|
||||
/Rotate 180
|
||||
/Trans <<
|
||||
>>
|
||||
/Type /Page
|
||||
/CropBox [ 60 80 420 400 ]
|
||||
/Parent 2 0 R
|
||||
>>
|
||||
endobj
|
||||
13 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ]
|
||||
/Length 540
|
||||
>>
|
||||
stream
|
||||
Gatn"9lJN8&;KZL(%2a7.eVFh4?6;=HJq\cg^o7(VH&36U1GkOoC7c(euFhAYgIbZPBUW1G[uD_&*^ZA^u^N5%g92*+$dR7Qp9SFmKbtfajO;YiN_-ORcj<-XEZ^_6@&4bBFr'6)J@6/UFE\(;>49?"=CX0iJ9qnWCnd?TOS0DK.Upa%']o8[1ZoI04sIccjrgdWiIJiF`0ZV0bmPc:KC*+Fm3XHM=F0,+dPmfqb_g9&:.7ddk3TPAKs%g'M+RKWZ+b(P`Ql[RYJ-q`1W>lcrs\,%;CC8W$]hVd2Wrna0-X,-V1KOUpr`i'9Z9:>q!:Q&/(hl#1I.jRS\6nP?o=[(KbQWlYlua$Yg]W\=k&T"Z/'+-[!e8-d5NN2!ZXS#-oU@)2mA"0QOf-2Y]QK[p57cY7'O:&u1][eMP&O,N]GRDVeZ+_;bU+qr?LPNH4V+o/Fm+P4R!87U+N[[rA,phB2GU0D@-p4IYm:M<FA/(1Y)V[n`/Kh)t)=A%Ofb54,R;s#T0*MY1QVnU/+.pJ!GcIfP!6j=L~>
|
||||
endstream
|
||||
endobj
|
||||
xref
|
||||
0 14
|
||||
0000000000 65535 f
|
||||
0000000015 00000 n
|
||||
0000000117 00000 n
|
||||
0000000196 00000 n
|
||||
0000000245 00000 n
|
||||
0000000461 00000 n
|
||||
0000001087 00000 n
|
||||
0000001118 00000 n
|
||||
0000001225 00000 n
|
||||
0000001442 00000 n
|
||||
0000002073 00000 n
|
||||
0000002293 00000 n
|
||||
0000002931 00000 n
|
||||
0000003151 00000 n
|
||||
trailer
|
||||
<<
|
||||
/Size 14
|
||||
/Root 3 0 R
|
||||
/Info 1 0 R
|
||||
>>
|
||||
startxref
|
||||
3783
|
||||
%%EOF
|
||||
+80
@@ -0,0 +1,80 @@
|
||||
%PDF-1.4
|
||||
%“Œ‹ž ReportLab Generated PDF document (opensource)
|
||||
1 0 obj
|
||||
<<
|
||||
/F1 2 0 R /F2 3 0 R /F3 4 0 R
|
||||
>>
|
||||
endobj
|
||||
2 0 obj
|
||||
<<
|
||||
/BaseFont /Helvetica /Encoding /WinAnsiEncoding /Name /F1 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
3 0 obj
|
||||
<<
|
||||
/BaseFont /Times-Roman /Encoding /WinAnsiEncoding /Name /F2 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
4 0 obj
|
||||
<<
|
||||
/BaseFont /Courier /Encoding /WinAnsiEncoding /Name /F3 /Subtype /Type1 /Type /Font
|
||||
>>
|
||||
endobj
|
||||
5 0 obj
|
||||
<<
|
||||
/Contents 9 0 R /MediaBox [ 0 0 400 300 ] /Parent 8 0 R /Resources <<
|
||||
/Font 1 0 R /ProcSet [ /PDF /Text /ImageB /ImageC /ImageI ]
|
||||
>> /Rotate 0 /Trans <<
|
||||
|
||||
>>
|
||||
/Type /Page
|
||||
>>
|
||||
endobj
|
||||
6 0 obj
|
||||
<<
|
||||
/PageMode /UseNone /Pages 8 0 R /Type /Catalog
|
||||
>>
|
||||
endobj
|
||||
7 0 obj
|
||||
<<
|
||||
/Author (DocView tests) /CreationDate (D:20000101000000+00'00') /Creator (anonymous) /Keywords () /ModDate (D:20000101000000+00'00') /Producer (ReportLab PDF Library - \(opensource\))
|
||||
/Subject (unspecified) /Title (DocView synthetic rendering fixture - unembedded-font.pdf) /Trapped /False
|
||||
>>
|
||||
endobj
|
||||
8 0 obj
|
||||
<<
|
||||
/Count 1 /Kids [ 5 0 R ] /Type /Pages
|
||||
>>
|
||||
endobj
|
||||
9 0 obj
|
||||
<<
|
||||
/Filter [ /ASCII85Decode /FlateDecode ] /Length 419
|
||||
>>
|
||||
stream
|
||||
Gatmt>u/<k'Sc)P($AIhR-Qqe4(+PV0G'+KG@`jgin!'H&H)4PM?tG@1bh^"PG[MghK&tdndnfr%%ouH4<QltTEu0&Z[hbcV_sH9:#,fo+L]a<jR$,/JRVs_Cp6o,A,fiKP!.LJ_6>4<K9L$5%m%Gfq&W4C47q6:%n9k*_(_[_5aOa^IcWU#G@]0>Aa<d9_2:aa"mo(:o7MtXjjeL'&.V2hisD:5hVCCYrh#LdNmb49'Orn*nE!T;M1"u$Pgt*OZJE3G:(5UW*OjEYcmlWso)ad5.Q6B+QM#6h1!tRS="0%]6W$.4b;*QRVHi%6gm"KIgsNjPlajrWo6%mSBH750KPrT"'sF@N?Znl&d+""-L"=;E-5@1K/)n.apHCkLX?b^<OsBL%YVb0ea=G&BL2i0WG)u]=D[(cofD~>endstream
|
||||
endobj
|
||||
xref
|
||||
0 10
|
||||
0000000000 65535 f
|
||||
0000000061 00000 n
|
||||
0000000112 00000 n
|
||||
0000000219 00000 n
|
||||
0000000328 00000 n
|
||||
0000000433 00000 n
|
||||
0000000626 00000 n
|
||||
0000000694 00000 n
|
||||
0000001008 00000 n
|
||||
0000001067 00000 n
|
||||
trailer
|
||||
<<
|
||||
/ID
|
||||
[<fc20ccc2e85c965a23d5494cd2381a69><fc20ccc2e85c965a23d5494cd2381a69>]
|
||||
% ReportLab generated PDF document -- digest (opensource)
|
||||
|
||||
/Info 7 0 R
|
||||
/Root 6 0 R
|
||||
/Size 10
|
||||
>>
|
||||
startxref
|
||||
1576
|
||||
%%EOF
|
||||
Reference in New Issue
Block a user