From ead2a6e675a4a0dd39bdd428b66b11a9e46ded4c Mon Sep 17 00:00:00 2001 From: pengkunbin <815371297@qq.com> Date: Tue, 3 Mar 2026 22:46:11 +0800 Subject: [PATCH] Add reference tests for SimFang variant and XiaoBiaoSong fonts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add eq tests for the two newly supported Chinese font name variants (仿宋体 and 小标宋) to verify correct GBK encoding detection. --- test/pdfs/.gitignore | 2 + test/pdfs/SimFang-variant.pdf | 175 ++++++++++++++++++++++++++++++++++ test/pdfs/XiaoBiaoSong.pdf | Bin 0 -> 5652 bytes test/test_manifest.json | 14 +++ 4 files changed, 191 insertions(+) create mode 100644 test/pdfs/SimFang-variant.pdf create mode 100644 test/pdfs/XiaoBiaoSong.pdf diff --git a/test/pdfs/.gitignore b/test/pdfs/.gitignore index 2de2d6328..9eea6f975 100644 --- a/test/pdfs/.gitignore +++ b/test/pdfs/.gitignore @@ -16,6 +16,7 @@ !bug1727053.pdf !issue18408_reduced.pdf !bug1907000_reduced.pdf +!SimFang-variant.pdf !bug1953099.pdf !issue11913.pdf !issue2391-1.pdf @@ -81,6 +82,7 @@ !issue7835.pdf !issue11922_reduced.pdf !issue7855.pdf +!XiaoBiaoSong.pdf !issue11144_reduced.pdf !issue7872.pdf !issue7901.pdf diff --git a/test/pdfs/SimFang-variant.pdf b/test/pdfs/SimFang-variant.pdf new file mode 100644 index 000000000..425258c26 --- /dev/null +++ b/test/pdfs/SimFang-variant.pdf @@ -0,0 +1,175 @@ +%PDF-1.4 +% +4 0 obj +<< +/Type /Font +/Subtype /TrueType +/Name /F5 +/BaseFont /#BA#DA#CC#E5 +/Encoding /WinAnsiEncoding +/FirstChar 0 +/LastChar 255 +/Widths [500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500] +/FontDescriptor << +/MissingWidth 1000 +/Ascent 1000 +/CapHeight 1000 +/Descent -200 +/Flags 4 +/FontBBox [0 -200 1000 1000] +/FontName +/ItalicAngle 0 +/StemV 100 +>> +>> +endobj +6 0 obj +<< +/ProcSet [/PDF] +>> +endobj +7 0 obj +<< +/Type /Encoding +/Differences [65 /G065] +>> +endobj +9 0 obj +<< +/Length 103 +/Filter /FlateDecode +>> +stream +xE 0 DHF[āOwOg7jfx&8Z@VE!<L-v$|3J~W3W^9MKh# + +endstream +endobj +8 0 obj +<< +/G065 9 0 R +>> +endobj +5 0 obj +<< +/Name /X0 +/Type /Font +/Subtype /Type3 +/Resources 6 0 R +/FontBBox [0 0 96 96] +/FontMatrix [0.00999 0 0 0.00999 0 0] +/FirstChar 65 +/LastChar 65 +/Encoding 7 0 R +/CharProcs 8 0 R +/Widths [96] +>> +endobj +10 0 obj +<< +/Filter /FlateDecode +/Length 179 +>> +stream +xm9 +1 E{Beh$!ds"O3| Xip%12lMIB +t[{uclbj%gh}gTZ)nɇ(+"վhc.n/ &ד3jTHhRƱu?Qz}OK"Sj +endstream +endobj +13 0 obj +<< +/Filter [/ASCII85Decode /LZWDecode] +/Length 488 +>> +stream +J,g]g+e/h_!_gCtO=0f)$P%cIi8Zdfc5&3j_8$7g.@L`YKUJNGBP\poR=_;Dl'P(T +(7Boo^^S:71(MN]ZQX/+Cbu.lK"p74pe1T%s.DY%&\1TdJhr54.M9au6>79n6`Q:4 +PbLSZTLEE(8E@'*1mg_*eTnN*;*'V3+gm-EEetX%;Bo$ur2ss*N`.-!.kG_q6GDD' +dKoL!8Ka#EV,@V!\j8ZFbp6EE<9cn=N6j0nf;(&;QU6bUD')c@\ +9-d\DA=cZ0Q>gIM$$;cd2O@&a;X,Nn_aP(]I1aRc(K1^ue> +gF/(+GaKo$qneLWDrQ#;5\S(\$q'4Q,85`-8;S(=Z"WSBOV*FM)4,?B],R +endstream +endobj +12 0 obj +[/Indexed /DeviceRGB 255 13 0 R] +endobj +11 0 obj +<< +/Filter [/ASCII85Decode /LZWDecode] +/Width 57 +/Height 78 +/ColorSpace 12 0 R +/BitsPerComponent 8 +/Length 384 +>> +stream +J2Q'--mT93"b]2#:mbcG*@cD)N)[K'"I;. +4!p=d-;nQ"Sm*b8:1ggMjN`/[Ra>[].D6LH8"RqJ*p%UNg$CZ.V<7;f^0kYVlm7t`LS%r? +fVo&_*Iu4?k89/RNu@I>!6JU=0'h`14!3.a'5n% +hY,]@cIXe_g1bdN.=VR7_qX^*[LPd=NOn$>H!L6M2_iM9oXQcLa"t-9l?Bb/\mKZf +j5bKu?;CNUX6oP+\fW#jld]qKHTqGC[ZgF$^97Y<]0@k[!W~> +endstream +endobj +3 0 obj +<< +/Type /Page +/CropBox [0 0 462.5 625.9] +/MediaBox [0 0 462.5 625.9] +/Resources << +/Font << +/TT0 4 0 R +/T3_0 5 0 R +>> +>> +/Contents 10 0 R +/Thumb 11 0 R +/Parent 2 0 R +>> +endobj +2 0 obj +<< +/Type /Pages +/Kids [3 0 R] +/Count 1 +>> +endobj +1 0 obj +<< +/Type /Catalog +/Pages 2 0 R +>> +endobj +14 0 obj +<< +/ModDate (D:20260303075300Z) +/Producer (Pdftools SDK) +>> +endobj +xref +0 15 +0000000000 65535 f +0000003528 00000 n +0000003471 00000 n +0000003286 00000 n +0000000015 00000 n +0000001668 00000 n +0000001362 00000 n +0000001399 00000 n +0000001635 00000 n +0000001460 00000 n +0000001877 00000 n +0000002754 00000 n +0000002705 00000 n +0000002129 00000 n +0000003577 00000 n +trailer +<< +/Size 15 +/Root 1 0 R +/Info 14 0 R +/ID [<42230467D173E23BC1D16DD8BFFDB792> <5275A2D429D61242E799751CBE8A1B51>] +>> +startxref +3653 +%%EOF diff --git a/test/pdfs/XiaoBiaoSong.pdf b/test/pdfs/XiaoBiaoSong.pdf new file mode 100644 index 0000000000000000000000000000000000000000..b7fd87f9d9a234c7311dfd5d3ae401e6a72183c1 GIT binary patch literal 5652 zcmeHLdvp_38b`zfJCNmd7Ubnlnx;+DHuK0#X40f-n#q&2X*1TOk4KAVfPQu?jL)O zOeQ&V@BO~}<=*@Ie)D~w+-xXlm#~ckRwm0ld)2JvRtxJaA$e@UMv zLPnv3B-&y#p=t!Z#iBn-^xt~(-Fo}~FEH@`z@jFCLVqxmYOZ5aYcic@azd<`rt^%M z5rRq~{H$TvM7|v)wW!Fyd_Kp}8DQ3L{`QoUora7tUgm+wt_?4|K5yMT^MU*)-;U}Z zX4&5R+>woY4<3E;i4o`bR!`lxs<4%OV$sP{HjUCh)qCmOg)3{92UK@nRNgtZ@#DEO zUXzT!?Sl&s;!_{a^_q@dO&vb+^@1+lj*r+arm;xlmVV8hnce4pKLa~@%+j*x^67K& zOCz`RBkwFhEm`}G$=eC@=8>sffJeeTFraqy&T``HzfN+ZbLUz8r$ zx~DfaW%2T*6HB?yB^!<%+56`&PdCgBHuRq@dT~xza(w0LrB~K$dwu<)6Ym_4ZC!Wz z$?3N}y=u!0)dgnqj^5d`=WJWut>`;3jCk(B)Fn>_Hg3LbYgm!3?SE#^ggc%){N}9t z?)qA)?B#PaeX%n=wHuB-vT)1B#gUh_=!T}F#m{a%uU;^EomWY1&Pp8eM2uFU$;8n`o-=2D`^Aio3C1@bt23Y3)%$e+Qycp`rfr1gL*E=&x<@kX;L9%* ztr_-O9-6mp?3li%D&|i+@vb_kp0{T1$K}K9o$=DOqtfFhjIM9Kx_i`%o4LMML)*G1 zubR`ddD-}i>Any9eNSH6-+$G;duP6z+j75c`@PMbs~>QF{@SR&?8Lr`y)wzs?c4c1 zzasl(6DR);AEx@p$>DvIrypFs=zRaOU7X84YIr*a>~if{{_4i`Ll?bN-#2Ua_VBIC z!t-~mBs)hDQ*y7I9sSL;zT(I;qp#>C-~B1petFB3OXD}x?!RMn^GEyMBiNDtukT?E zbEkicp1VA5d-uitmkrhX)^6vATNTQU1+FPV82`XP#3AdFLy5%uPk_^S$VtA3d zqlGLa5-MX&YooJ%rpsn>H)T0*WsA<7E_N&Y5~WXdfTCf^{}nYhBP9Ln=bSF5UAs!G{fIyE-4xmW_kom`ESbkZ_Q zpv)MMHg%98Yc#8|SoGQ$Tj|nt=xa$&Raiz8#5;=-1I)JR6h%5uy(U_3E-r}~n@3DSWhCBOPU?J$%1}Yj zXQ~S*t+gdsS(PbL=G7;nZdavD0@P(3PCZ@G#F3>*uC81f>>dcAZ-fsy1fMYEVB^dz zCJsVo=I&&S@!CwFP$~dLe0d|+VsGLHqHQpTzzF~v$`}X|fG94_<$PH>#(<)EuTb1b z=6N@hqqt0#W5rZLkh%s`jrMw=qMqXN@{C`rE{H}@Sw$uqvnlln%u-*00U9zOC1qGkp$>^F%~o=z5}^y6HA)GP2?kQt zj;Nn(_83COK(taC!~%rFGE?3DD}+#t2J=p-tf{Nl80cJt4}G z(ovvR%Ii(il$;8p;CPv%myoDZaN{vBUFyd4rP=uh-pw24r)+br4@LsmWe0n z|1jodc&;lKWB7secA$zjPr=I<3g=XT$JER!qi=2DlM8BQbcZ2q-Y@(<`SYQ zVTPM5A@Fq?wOrgR#B89#T!F%<2389n0$0Oms6^1uaq+I05ZEc)@wPn2rFqb2c9vXc zd{&NW17HwA03p*KxN>H%Lgc(3RiW620g-xi1 pB&`}XN>#(S8ly;rL=g*&5Qd1j(R`lH