From 297ddbed021ce6a8a1fb86148b466fbef967bd1d Mon Sep 17 00:00:00 2001 From: Weismann <1563511027@qq.com> Date: Fri, 21 Nov 2025 16:55:32 +0800 Subject: [PATCH] fix:add ru char --- src/core/standard_fonts.js | 33 +++++++++++++++++++++++++++++++++ test/pdfs/.gitignore | 1 + test/pdfs/issue20453.pdf | Bin 0 -> 22176 bytes test/test_manifest.json | 7 +++++++ 4 files changed, 41 insertions(+) create mode 100644 test/pdfs/issue20453.pdf diff --git a/src/core/standard_fonts.js b/src/core/standard_fonts.js index 94017aded..88f22a4a6 100644 --- a/src/core/standard_fonts.js +++ b/src/core/standard_fonts.js @@ -574,6 +574,39 @@ const getGlyphMapForStandardFonts = getLookupTableFactory(function (t) { t[598] = 1068; t[599] = 1069; t[600] = 1070; + t[601] = 1071; + t[602] = 1072; + t[603] = 1073; + t[604] = 1074; + t[605] = 1075; + t[606] = 1076; + t[607] = 1077; + t[608] = 1078; + t[609] = 1079; + t[610] = 1080; + t[611] = 1081; + t[612] = 1082; + t[613] = 1083; + t[614] = 1084; + t[615] = 1085; + t[616] = 1086; + t[617] = 1087; + t[618] = 1088; + t[619] = 1089; + t[620] = 1090; + t[621] = 1091; + t[622] = 1092; + t[623] = 1093; + t[624] = 1094; + t[625] = 1095; + t[626] = 1096; + t[627] = 1097; + t[628] = 1098; + t[629] = 1099; + t[630] = 1100; + t[631] = 1101; + t[632] = 1102; + t[633] = 1103; t[672] = 1488; t[673] = 1489; t[674] = 1490; diff --git a/test/pdfs/.gitignore b/test/pdfs/.gitignore index cb41f1d0a..fec8b0d46 100644 --- a/test/pdfs/.gitignore +++ b/test/pdfs/.gitignore @@ -672,6 +672,7 @@ !issue17730.pdf !bug1883609.pdf !issue19550.pdf +!issue20453.pdf !issue17808.pdf !issue17871_bottom_right.pdf !issue17871_top_right.pdf diff --git a/test/pdfs/issue20453.pdf b/test/pdfs/issue20453.pdf new file mode 100644 index 0000000000000000000000000000000000000000..1285d9731d7a790c0ceae8f1f052dfc8677553e1 GIT binary patch literal 22176 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