kordoc 4.21.16 → 4.21.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/README.md +6 -5
  2. package/dist/{-UXYZMTS3.js → -GS6LEDZ6.js} +11 -11
  3. package/dist/{chunk-BDAZLHIX.js → chunk-3PYAUHWY.js} +2 -2
  4. package/dist/{chunk-3QH3YMYN.js → chunk-6F6L63RG.js} +10 -10
  5. package/dist/{chunk-RAZWJ3U7.js → chunk-7ASI3XKM.js} +3 -3
  6. package/dist/{chunk-LVIKAUU4.js → chunk-7NXHIM2I.js} +2 -2
  7. package/dist/{chunk-P5QIWYVM.js → chunk-AJJLT6QJ.js} +2 -2
  8. package/dist/{chunk-BH3YWFQ2.js → chunk-BTMFVKL7.js} +2 -2
  9. package/dist/{chunk-TQY3IMGY.js → chunk-FMUBLLIZ.js} +6 -6
  10. package/dist/{chunk-XWBPXHKP.js → chunk-FWQHYJZ2.js} +2 -2
  11. package/dist/{chunk-RMJJKX2G.js → chunk-GTSEPXAH.js} +4 -4
  12. package/dist/{chunk-KZ7BA2OM.cjs → chunk-I43ZKTUM.cjs} +28 -25
  13. package/dist/chunk-I43ZKTUM.cjs.map +1 -0
  14. package/dist/{chunk-DOMPCV2Y.js → chunk-I7TWFW4X.js} +9 -6
  15. package/dist/chunk-I7TWFW4X.js.map +1 -0
  16. package/dist/{chunk-IWVUM6HF.js → chunk-J2FMAYNJ.js} +2 -2
  17. package/dist/{chunk-MV5HIQHU.cjs → chunk-L3U6MKGV.cjs} +3 -3
  18. package/dist/{chunk-MV5HIQHU.cjs.map → chunk-L3U6MKGV.cjs.map} +1 -1
  19. package/dist/{chunk-HU57WCBC.js → chunk-L3VCBSFW.js} +2 -2
  20. package/dist/{chunk-23MZM3TB.js → chunk-ORNPI5YF.js} +2 -2
  21. package/dist/{chunk-U7NXCGTB.js → chunk-OZW5RYGF.js} +2 -2
  22. package/dist/{chunk-OWWX5UTD.js → chunk-PEQ5K2JO.js} +2 -2
  23. package/dist/{chunk-SRE2WOSL.js → chunk-Q4GXF444.js} +2 -2
  24. package/dist/{chunk-FCMPZH3C.js → chunk-QLL7VG6L.js} +2 -2
  25. package/dist/{chunk-SEC3LWGT.cjs → chunk-QMQCFVTC.cjs} +3 -3
  26. package/dist/{chunk-SEC3LWGT.cjs.map → chunk-QMQCFVTC.cjs.map} +1 -1
  27. package/dist/{chunk-VPTFJTYT.js → chunk-S27YQEPA.js} +10 -7
  28. package/dist/chunk-S27YQEPA.js.map +1 -0
  29. package/dist/{chunk-EOFOH42T.js → chunk-TUSREHO3.js} +2 -2
  30. package/dist/{chunk-6NKVRRRA.js → chunk-TZU7PXV2.js} +2 -2
  31. package/dist/{chunk-N5RIWVIC.js → chunk-UEI7A4N5.js} +2 -2
  32. package/dist/{chunk-XUXC3BZ6.js → chunk-VOMOC7YF.js} +3 -3
  33. package/dist/{chunk-ZKWQZOIL.cjs → chunk-VVFNVMFM.cjs} +6 -6
  34. package/dist/{chunk-ZKWQZOIL.cjs.map → chunk-VVFNVMFM.cjs.map} +1 -1
  35. package/dist/{chunk-STTG6A4U.js → chunk-XBQ554QP.js} +3 -3
  36. package/dist/{chunk-LUU44ZTY.cjs → chunk-Y4TO3GBF.cjs} +2 -2
  37. package/dist/{chunk-LUU44ZTY.cjs.map → chunk-Y4TO3GBF.cjs.map} +1 -1
  38. package/dist/{chunk-WKVTKR3B.cjs → chunk-Z3OHMNYF.cjs} +13 -13
  39. package/dist/{chunk-WKVTKR3B.cjs.map → chunk-Z3OHMNYF.cjs.map} +1 -1
  40. package/dist/chunks-RRV5535L.js +10 -0
  41. package/dist/cli.js +30 -30
  42. package/dist/{formula-VC5F4S7C.cjs → formula-BCCH3T3Y.cjs} +9 -9
  43. package/dist/{formula-VC5F4S7C.cjs.map → formula-BCCH3T3Y.cjs.map} +1 -1
  44. package/dist/{formula-I7EOO6S2.js → formula-CJ5DGNGC.js} +3 -3
  45. package/dist/{formula-H5LADM66.js → formula-JZXPEDK3.js} +4 -4
  46. package/dist/{image-ocr-2DT5BU34.js → image-ocr-2POAP5GL.js} +6 -6
  47. package/dist/{image-ocr-VC3T6KFN.cjs → image-ocr-5TZMNEGR.cjs} +15 -15
  48. package/dist/{image-ocr-VC3T6KFN.cjs.map → image-ocr-5TZMNEGR.cjs.map} +1 -1
  49. package/dist/{image-ocr-UDTUNF63.js → image-ocr-HLEL6TED.js} +9 -9
  50. package/dist/index.cjs +276 -276
  51. package/dist/index.js +5 -5
  52. package/dist/mcp.js +22 -22
  53. package/dist/{model-bundle-Z37CFFMW.js → model-bundle-7Z5HLNGX.js} +5 -5
  54. package/dist/{models-GS4DRBDG.js → models-IGPCMPQQ.js} +5 -5
  55. package/dist/{parse-worker-v2-WH3CMHIN.js → parse-worker-v2-TS2JTIS2.js} +12 -12
  56. package/dist/{parser-DFVRE7YF.cjs → parser-KANGHQU4.cjs} +143 -138
  57. package/dist/parser-KANGHQU4.cjs.map +1 -0
  58. package/dist/{parser-SMPMTT77.js → parser-VHZ2PZXG.js} +17 -12
  59. package/dist/parser-VHZ2PZXG.js.map +1 -0
  60. package/dist/{parser-IKWLVTWU.js → parser-WR6UBRI4.js} +20 -15
  61. package/dist/parser-WR6UBRI4.js.map +1 -0
  62. package/dist/pdf-ocr-BLT45T3Z.js +22 -0
  63. package/dist/pdf-ocr-DKYP5EKK.js +18 -0
  64. package/dist/pdf-ocr-SCLTCB2B.cjs +19 -0
  65. package/dist/{pdf-ocr-QJ6TWDGK.cjs.map → pdf-ocr-SCLTCB2B.cjs.map} +1 -1
  66. package/dist/{profile-io-TVR55F6Z.js → profile-io-KHEXVGDJ.js} +3 -3
  67. package/dist/{rasterize-ZTYN7LUB.js → rasterize-KHGMOS2F.js} +3 -3
  68. package/dist/{redact-doc-6RFML2CI.js → redact-doc-DYWNTB2J.js} +11 -11
  69. package/dist/{render-YEB6SN2W.js → render-JNMZ5ULA.js} +7 -7
  70. package/dist/seal-FDHX37MP.js +10 -0
  71. package/dist/{setup-MBNEN7OK.js → setup-OQZS6I7X.js} +3 -3
  72. package/dist/visual-VZTQMICM.js +20 -0
  73. package/dist/{watch-GAZ3L6JO.js → watch-DPNIOMTV.js} +12 -12
  74. package/package.json +1 -1
  75. package/dist/chunk-DOMPCV2Y.js.map +0 -1
  76. package/dist/chunk-KZ7BA2OM.cjs.map +0 -1
  77. package/dist/chunk-VPTFJTYT.js.map +0 -1
  78. package/dist/chunks-UPIVB4EW.js +0 -10
  79. package/dist/parser-DFVRE7YF.cjs.map +0 -1
  80. package/dist/parser-IKWLVTWU.js.map +0 -1
  81. package/dist/parser-SMPMTT77.js.map +0 -1
  82. package/dist/pdf-ocr-HMSF3BEC.js +0 -22
  83. package/dist/pdf-ocr-QJ6TWDGK.cjs +0 -19
  84. package/dist/pdf-ocr-VSDGQ5HT.js +0 -18
  85. package/dist/seal-35ET5BXB.js +0 -10
  86. package/dist/visual-GBJCSTDI.js +0 -20
  87. /package/dist/{-UXYZMTS3.js.map → -GS6LEDZ6.js.map} +0 -0
  88. /package/dist/{chunk-BDAZLHIX.js.map → chunk-3PYAUHWY.js.map} +0 -0
  89. /package/dist/{chunk-3QH3YMYN.js.map → chunk-6F6L63RG.js.map} +0 -0
  90. /package/dist/{chunk-RAZWJ3U7.js.map → chunk-7ASI3XKM.js.map} +0 -0
  91. /package/dist/{chunk-LVIKAUU4.js.map → chunk-7NXHIM2I.js.map} +0 -0
  92. /package/dist/{chunk-P5QIWYVM.js.map → chunk-AJJLT6QJ.js.map} +0 -0
  93. /package/dist/{chunk-BH3YWFQ2.js.map → chunk-BTMFVKL7.js.map} +0 -0
  94. /package/dist/{chunk-TQY3IMGY.js.map → chunk-FMUBLLIZ.js.map} +0 -0
  95. /package/dist/{chunk-XWBPXHKP.js.map → chunk-FWQHYJZ2.js.map} +0 -0
  96. /package/dist/{chunk-RMJJKX2G.js.map → chunk-GTSEPXAH.js.map} +0 -0
  97. /package/dist/{chunk-IWVUM6HF.js.map → chunk-J2FMAYNJ.js.map} +0 -0
  98. /package/dist/{chunk-HU57WCBC.js.map → chunk-L3VCBSFW.js.map} +0 -0
  99. /package/dist/{chunk-23MZM3TB.js.map → chunk-ORNPI5YF.js.map} +0 -0
  100. /package/dist/{chunk-U7NXCGTB.js.map → chunk-OZW5RYGF.js.map} +0 -0
  101. /package/dist/{chunk-OWWX5UTD.js.map → chunk-PEQ5K2JO.js.map} +0 -0
  102. /package/dist/{chunk-SRE2WOSL.js.map → chunk-Q4GXF444.js.map} +0 -0
  103. /package/dist/{chunk-FCMPZH3C.js.map → chunk-QLL7VG6L.js.map} +0 -0
  104. /package/dist/{chunk-EOFOH42T.js.map → chunk-TUSREHO3.js.map} +0 -0
  105. /package/dist/{chunk-6NKVRRRA.js.map → chunk-TZU7PXV2.js.map} +0 -0
  106. /package/dist/{chunk-N5RIWVIC.js.map → chunk-UEI7A4N5.js.map} +0 -0
  107. /package/dist/{chunk-XUXC3BZ6.js.map → chunk-VOMOC7YF.js.map} +0 -0
  108. /package/dist/{chunk-STTG6A4U.js.map → chunk-XBQ554QP.js.map} +0 -0
  109. /package/dist/{chunks-UPIVB4EW.js.map → chunks-RRV5535L.js.map} +0 -0
  110. /package/dist/{formula-I7EOO6S2.js.map → formula-CJ5DGNGC.js.map} +0 -0
  111. /package/dist/{formula-H5LADM66.js.map → formula-JZXPEDK3.js.map} +0 -0
  112. /package/dist/{image-ocr-2DT5BU34.js.map → image-ocr-2POAP5GL.js.map} +0 -0
  113. /package/dist/{image-ocr-UDTUNF63.js.map → image-ocr-HLEL6TED.js.map} +0 -0
  114. /package/dist/{model-bundle-Z37CFFMW.js.map → model-bundle-7Z5HLNGX.js.map} +0 -0
  115. /package/dist/{models-GS4DRBDG.js.map → models-IGPCMPQQ.js.map} +0 -0
  116. /package/dist/{parse-worker-v2-WH3CMHIN.js.map → parse-worker-v2-TS2JTIS2.js.map} +0 -0
  117. /package/dist/{pdf-ocr-HMSF3BEC.js.map → pdf-ocr-BLT45T3Z.js.map} +0 -0
  118. /package/dist/{pdf-ocr-VSDGQ5HT.js.map → pdf-ocr-DKYP5EKK.js.map} +0 -0
  119. /package/dist/{profile-io-TVR55F6Z.js.map → profile-io-KHEXVGDJ.js.map} +0 -0
  120. /package/dist/{rasterize-ZTYN7LUB.js.map → rasterize-KHGMOS2F.js.map} +0 -0
  121. /package/dist/{redact-doc-6RFML2CI.js.map → redact-doc-DYWNTB2J.js.map} +0 -0
  122. /package/dist/{render-YEB6SN2W.js.map → render-JNMZ5ULA.js.map} +0 -0
  123. /package/dist/{seal-35ET5BXB.js.map → seal-FDHX37MP.js.map} +0 -0
  124. /package/dist/{setup-MBNEN7OK.js.map → setup-OQZS6I7X.js.map} +0 -0
  125. /package/dist/{visual-GBJCSTDI.js.map → visual-VZTQMICM.js.map} +0 -0
  126. /package/dist/{watch-GAZ3L6JO.js.map → watch-DPNIOMTV.js.map} +0 -0
package/README.md CHANGED
@@ -12,7 +12,7 @@ HWP 3.x·5.x, HWPX, HWPML, PDF, XLS·XLSX, DOCX, PPTX, PNG·JPG·WebP를 Markdow
12
12
  [English](README-EN.md) · [상세 사용법](docs/usage.md) · [벤치마크](docs/benchmarks.md) · [변경 이력](CHANGELOG.md)
13
13
 
14
14
  - 📊 **PDF 공개 벤치 종합 0.963** — opendataloader-bench 200문서. 공개 12개 파서 비교 1위(2026-09-29 기록). [측정 조건](docs/benchmarks.md)
15
- - 🇰🇷 **한국 공문서 표 구조 100%** — 원본 HWPX 2,424문서의 보이는 표 **10,342개 전부 구조 일치**. [4.21.16 검증](docs/benchmarks.md)
15
+ - 🇰🇷 **한국 공문서 표 구조 100%** — 원본 HWPX 2,424문서의 보이는 표 **10,342개 전부 구조 일치**. [4.21.17 검증](docs/benchmarks.md)
16
16
 
17
17
  쓸모 있었다면 GitHub ⭐ 하나 눌러주세요. 다른 사람이 이 도구를 찾는 데 도움이 됩니다.
18
18
 
@@ -100,27 +100,28 @@ await writeFile("보고서.hwpx", Buffer.from(hwpx))
100
100
 
101
101
  ## 검증 결과
102
102
 
103
- **4.21.16 · 2026-10-11 배포 검증**. 고정 코퍼스와 참조 기준으로 측정한 결과입니다.
103
+ **4.21.17 · 2026-10-11 배포 검증**. 고정 코퍼스와 참조 기준으로 측정한 결과입니다.
104
104
 
105
105
  | 대상 | 규모 | 결과 |
106
106
  | --- | --- | --- |
107
107
  | HWPX | 2,424문서 · 10,342표 | 표 구조 일치 **10,342/10,342 · 100%** |
108
108
  | HWP 5.x ↔ HWPX | 1,130쌍 · 4,315표 | 짝 문서의 표 구조 일치 **100%** |
109
- | PDF 글 | 744쌍 | 글자 재현율 **99.84%** · 정확도 **99.64%** · 읽기 순서 **99.16%** · 어절 F1 **98.98%** |
109
+ | PDF 글 | 744쌍 | 글자 재현율 **99.84%** · 정확도 **99.64%** · 읽기 순서 **99.16%** · 어절 F1 **98.99%** |
110
110
  | PDF 표 | 708쌍 · 2,331표 | 표 탐지 **99.83%** · 구조 일치 **97.98%** · 칸 F1 **0.991** |
111
111
  | PDF 전체 | 1,911문서 중 1,729건 채점 | 글 커버리지 **99.80%** |
112
112
  | OCR | 53문서 · 102쪽 | CER **0.0412** · 글자 재현율 **99.02%** |
113
113
 
114
114
  표 구조 점수와 셀 내용·화면 재현은 별도 지표입니다. 채점 범위·제외 기준·전 벤치 문서별 비교는 [벤치마크 상세](docs/benchmarks.md)에 있습니다.
115
115
 
116
- 외부 PDF 벤치 **opendataloader-bench 200문서**는 4.21.16 배포 측정에서 기본값 종합 **0.963**, OCR 끔 **0.939**입니다. [옵션별 결과와 재현 방법](docs/benchmarks.md#pdf--markdown--opendataloader-bench)
116
+ 외부 PDF 벤치 **opendataloader-bench 200문서**는 4.21.17 배포 측정에서 기본값 종합 **0.963**, OCR 끔 **0.939**입니다. [옵션별 결과와 재현 방법](docs/benchmarks.md#pdf--markdown--opendataloader-bench)
117
117
 
118
118
  ## 최근 업데이트
119
119
 
120
- 최신 배포: **[4.21.16](https://github.com/chrisryugj/kordoc/releases/tag/v4.21.16)** · 2026-10-11
120
+ 최신 배포: **[4.21.17](https://github.com/chrisryugj/kordoc/releases/tag/v4.21.17)** · 2026-10-11
121
121
 
122
122
  | 버전 | 주요 변경 |
123
123
  | --- | --- |
124
+ | 4.21.17 | PDF 공백 없는 꽉 찬 줄 끝 + 영문 괄호 — "공적개발원조⏎(ODA)"·"하네스⏎(safety …)" 를 붙여 씀 (PDF 어절 F1 98.98 → 98.99%) |
124
125
  | 4.21.16 | PDF 표 쪽 넘김 갈린 행의 수량 이어짐 — 머리 칸 "30%" / 다음 쪽 "미만" 을 한 칸으로; 공문서 autoFit.safety(다른 조판기용 한 줄 판정 여유) (법령 별표 PDF 표 97.40 → 97.69%) |
125
126
  | 4.21.15 | PDF 줄 끝 공백 글리프로 어절 경계 꺾임 가르기 — 원문이 띄운 줄 꺾임("이루어⏎진다면")을 붙이던 것 (PDF 어절 F1 98.89 → 98.98%) |
126
127
  | 4.21.14 | 한컴 PDF 유니코드 없는 기호 되살리기 — 자동 글머리표·괄호(U+F000)를 글꼴 윤곽 모양으로 "▸"·"□"·"《》"·"↓" 등으로; 텍스트층 커버리지 채점 기준 변경 (PDF 어절 F1 98.87 → 98.89%·글 재현율 99.83 → 99.84%) |
@@ -54,17 +54,17 @@ import {
54
54
  unknownFontWarnings,
55
55
  usesGaejosikMunche,
56
56
  validateHwpx
57
- } from "./chunk-3QH3YMYN.js";
57
+ } from "./chunk-6F6L63RG.js";
58
58
  import {
59
59
  blocksToPages
60
- } from "./chunk-HU57WCBC.js";
60
+ } from "./chunk-L3VCBSFW.js";
61
61
  import {
62
62
  applySplices,
63
63
  buildParagraphSplices,
64
64
  buildRangeSplices,
65
65
  placeSealHwpx,
66
66
  scanSectionXml
67
- } from "./chunk-RAZWJ3U7.js";
67
+ } from "./chunk-7ASI3XKM.js";
68
68
  import {
69
69
  DEFAULT_REDACT_RULES,
70
70
  redactMarkdown,
@@ -72,7 +72,7 @@ import {
72
72
  } from "./chunk-3WSNLH4B.js";
73
73
  import {
74
74
  blocksToChunks
75
- } from "./chunk-XWBPXHKP.js";
75
+ } from "./chunk-FWQHYJZ2.js";
76
76
  import {
77
77
  SPACE_EM_FIXED,
78
78
  SPACE_EM_FONT,
@@ -97,20 +97,20 @@ import {
97
97
  renderSceneToHtml,
98
98
  simulateWrap,
99
99
  simulateWrapKeepWord
100
- } from "./chunk-TQY3IMGY.js";
100
+ } from "./chunk-FMUBLLIZ.js";
101
101
  import "./chunk-7FCNOKOR.js";
102
- import "./chunk-6NKVRRRA.js";
102
+ import "./chunk-TZU7PXV2.js";
103
103
  import "./chunk-VQFA55IC.js";
104
- import "./chunk-SRE2WOSL.js";
104
+ import "./chunk-Q4GXF444.js";
105
105
  import {
106
106
  blocksToMarkdown,
107
107
  flattenLayoutTables,
108
108
  hasStructuredCellContent
109
- } from "./chunk-FCMPZH3C.js";
110
- import "./chunk-EOFOH42T.js";
109
+ } from "./chunk-QLL7VG6L.js";
110
+ import "./chunk-TUSREHO3.js";
111
111
  import {
112
112
  VERSION
113
- } from "./chunk-OWWX5UTD.js";
113
+ } from "./chunk-PEQ5K2JO.js";
114
114
  export {
115
115
  AGENCY_COMMON_NAME,
116
116
  BUILTIN_TEMPLATES,
@@ -204,4 +204,4 @@ export {
204
204
  usesGaejosikMunche,
205
205
  validateHwpx
206
206
  };
207
- //# sourceMappingURL=-UXYZMTS3.js.map
207
+ //# sourceMappingURL=-GS6LEDZ6.js.map
@@ -3,7 +3,7 @@ import {
3
3
  ensureModelsIn,
4
4
  getModelStatusIn,
5
5
  getModelsDir
6
- } from "./chunk-IWVUM6HF.js";
6
+ } from "./chunk-J2FMAYNJ.js";
7
7
 
8
8
  // src/ocr/models.ts
9
9
  import { join } from "path";
@@ -93,4 +93,4 @@ export {
93
93
  parseCharacterDict,
94
94
  ocrModelPath
95
95
  };
96
- //# sourceMappingURL=chunk-BDAZLHIX.js.map
96
+ //# sourceMappingURL=chunk-3PYAUHWY.js.map
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  blocksToPages
4
- } from "./chunk-HU57WCBC.js";
4
+ } from "./chunk-L3VCBSFW.js";
5
5
  import {
6
6
  allLinesegRemovalSplices,
7
7
  applySplices,
@@ -16,7 +16,7 @@ import {
16
16
  patchZipEntries,
17
17
  readZipEntries,
18
18
  scanSectionXml
19
- } from "./chunk-RAZWJ3U7.js";
19
+ } from "./chunk-7ASI3XKM.js";
20
20
  import {
21
21
  CONVERT_MAP,
22
22
  FLAG_COMPRESSED,
@@ -67,7 +67,7 @@ import {
67
67
  romanNumeral,
68
68
  simulateWrap,
69
69
  takeTocLeaders
70
- } from "./chunk-TQY3IMGY.js";
70
+ } from "./chunk-FMUBLLIZ.js";
71
71
  import {
72
72
  inlineImagesIntoMarkdown
73
73
  } from "./chunk-7FCNOKOR.js";
@@ -82,7 +82,7 @@ import {
82
82
  tidyScriptTags,
83
83
  unframeLayoutTables,
84
84
  wrapScript
85
- } from "./chunk-6NKVRRRA.js";
85
+ } from "./chunk-TZU7PXV2.js";
86
86
  import {
87
87
  parsePageRange
88
88
  } from "./chunk-VQFA55IC.js";
@@ -102,7 +102,7 @@ import {
102
102
  localName,
103
103
  rawTextContent,
104
104
  readZipEntry
105
- } from "./chunk-SRE2WOSL.js";
105
+ } from "./chunk-Q4GXF444.js";
106
106
  import {
107
107
  MAX_COLS,
108
108
  MAX_ROWS,
@@ -117,7 +117,7 @@ import {
117
117
  hasStructuredCellContent,
118
118
  mapPuaText,
119
119
  noteSuffix
120
- } from "./chunk-FCMPZH3C.js";
120
+ } from "./chunk-QLL7VG6L.js";
121
121
  import {
122
122
  KordocError,
123
123
  classifyError,
@@ -133,7 +133,7 @@ import {
133
133
  toArrayBuffer,
134
134
  unescapeHtml,
135
135
  unzipLimitBytes
136
- } from "./chunk-OWWX5UTD.js";
136
+ } from "./chunk-PEQ5K2JO.js";
137
137
 
138
138
  // src/table/visual.ts
139
139
  import { readFile as readFile2 } from "fs/promises";
@@ -30759,7 +30759,7 @@ function scriptsOff(r, off) {
30759
30759
  }
30760
30760
  async function parseImage(buffer, options) {
30761
30761
  try {
30762
- const { parseImageDocument } = await import("./image-ocr-UDTUNF63.js");
30762
+ const { parseImageDocument } = await import("./image-ocr-HLEL6TED.js");
30763
30763
  const { blocks, warnings } = await parseImageDocument(buffer, options);
30764
30764
  stripScriptTags({ blocks });
30765
30765
  return {
@@ -30819,7 +30819,7 @@ async function parseHwp(buffer, options) {
30819
30819
  async function parsePdf(buffer, options) {
30820
30820
  let parsePdfDocument;
30821
30821
  try {
30822
- const mod = await import("./parser-IKWLVTWU.js");
30822
+ const mod = await import("./parser-WR6UBRI4.js");
30823
30823
  parsePdfDocument = mod.parsePdfDocument;
30824
30824
  } catch {
30825
30825
  return {
@@ -31049,4 +31049,4 @@ export {
31049
31049
  parseHwpml,
31050
31050
  fillForm
31051
31051
  };
31052
- //# sourceMappingURL=chunk-3QH3YMYN.js.map
31052
+ //# sourceMappingURL=chunk-6F6L63RG.js.map
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  parseRenderStyles
4
- } from "./chunk-SRE2WOSL.js";
4
+ } from "./chunk-Q4GXF444.js";
5
5
  import {
6
6
  KordocError,
7
7
  precheckZipSize
8
- } from "./chunk-OWWX5UTD.js";
8
+ } from "./chunk-PEQ5K2JO.js";
9
9
 
10
10
  // src/form/seal.ts
11
11
  import JSZip from "jszip";
@@ -1076,4 +1076,4 @@ export {
1076
1076
  patchZipEntries,
1077
1077
  placeSealHwpx
1078
1078
  };
1079
- //# sourceMappingURL=chunk-RAZWJ3U7.js.map
1079
+ //# sourceMappingURL=chunk-7ASI3XKM.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  blocksToMarkdown
3
- } from "./chunk-23MZM3TB.js";
3
+ } from "./chunk-ORNPI5YF.js";
4
4
 
5
5
  // src/page-markdown.ts
6
6
  function blocksToPages(blocks, render = blocksToMarkdown) {
@@ -167,4 +167,4 @@ export {
167
167
  inlineImagesIntoMarkdown,
168
168
  blocksToPages
169
169
  };
170
- //# sourceMappingURL=chunk-LVIKAUU4.js.map
170
+ //# sourceMappingURL=chunk-7NXHIM2I.js.map
@@ -1,5 +1,5 @@
1
1
  // src/utils.ts
2
- var VERSION = true ? "4.21.16" : "0.0.0-dev";
2
+ var VERSION = true ? "4.21.17" : "0.0.0-dev";
3
3
  function toArrayBuffer(buf) {
4
4
  if (buf.byteOffset === 0 && buf.byteLength === buf.buffer.byteLength) {
5
5
  return buf.buffer;
@@ -159,4 +159,4 @@ export {
159
159
  classifyError,
160
160
  partExtension
161
161
  };
162
- //# sourceMappingURL=chunk-P5QIWYVM.js.map
162
+ //# sourceMappingURL=chunk-AJJLT6QJ.js.map
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  KordocError
4
- } from "./chunk-OWWX5UTD.js";
4
+ } from "./chunk-PEQ5K2JO.js";
5
5
 
6
6
  // src/hwpx/profile-io.ts
7
7
  import { z } from "zod";
@@ -89,4 +89,4 @@ export {
89
89
  formatProfileSchema,
90
90
  parseFormatProfileJson
91
91
  };
92
- //# sourceMappingURL=chunk-BH3YWFQ2.js.map
92
+ //# sourceMappingURL=chunk-BTMFVKL7.js.map
@@ -9,7 +9,7 @@ import {
9
9
  HEADING_RATIO_H3,
10
10
  tidyScriptTags,
11
11
  unframeLayoutTables
12
- } from "./chunk-6NKVRRRA.js";
12
+ } from "./chunk-TZU7PXV2.js";
13
13
  import {
14
14
  parsePageRange
15
15
  } from "./chunk-VQFA55IC.js";
@@ -22,7 +22,7 @@ import {
22
22
  findChildByLocalName,
23
23
  hwpFaceToCssStack,
24
24
  parseRenderStyles
25
- } from "./chunk-SRE2WOSL.js";
25
+ } from "./chunk-Q4GXF444.js";
26
26
  import {
27
27
  MAX_COLS,
28
28
  MAX_ROWS,
@@ -33,18 +33,18 @@ import {
33
33
  flattenLayoutTables,
34
34
  mapPuaText,
35
35
  markNonLayoutTable
36
- } from "./chunk-FCMPZH3C.js";
36
+ } from "./chunk-QLL7VG6L.js";
37
37
  import {
38
38
  loadSharp,
39
39
  rasterizePageSvg
40
- } from "./chunk-EOFOH42T.js";
40
+ } from "./chunk-TUSREHO3.js";
41
41
  import {
42
42
  KordocError,
43
43
  escapeHtml,
44
44
  precheckZipSize,
45
45
  sanitizeHref,
46
46
  toArrayBuffer
47
- } from "./chunk-OWWX5UTD.js";
47
+ } from "./chunk-PEQ5K2JO.js";
48
48
 
49
49
  // src/render/svg-render.ts
50
50
  import JSZip from "jszip";
@@ -7804,4 +7804,4 @@ export {
7804
7804
  cropRect,
7805
7805
  extractRenderedRegions
7806
7806
  };
7807
- //# sourceMappingURL=chunk-TQY3IMGY.js.map
7807
+ //# sourceMappingURL=chunk-FMUBLLIZ.js.map
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  assignTableIds,
4
4
  blocksToMarkdown
5
- } from "./chunk-FCMPZH3C.js";
5
+ } from "./chunk-QLL7VG6L.js";
6
6
 
7
7
  // src/chunks.ts
8
8
  var LIST_MARKER_RE = /^(?:[□■◇◆○◎●◦ㅇ•▪▸▶※-]|\d{1,3}[.)]|[가나다라마바사아자차카타파하][.)]|\([가나다라마바사아자차카타파하0-9]{1,3}\)|[①-⑳㉮-㉻㈎-㈛])\s/;
@@ -82,4 +82,4 @@ function blocksToChunks(blocks, options) {
82
82
  export {
83
83
  blocksToChunks
84
84
  };
85
- //# sourceMappingURL=chunk-XWBPXHKP.js.map
85
+ //# sourceMappingURL=chunk-FWQHYJZ2.js.map
@@ -5,7 +5,7 @@ import {
5
5
  import {
6
6
  UNRULED_REGION_TABLES,
7
7
  extractPageBlocksWithLines
8
- } from "./chunk-DOMPCV2Y.js";
8
+ } from "./chunk-I7TWFW4X.js";
9
9
  import {
10
10
  OCR_DET_MODEL,
11
11
  OCR_REC_DICT,
@@ -13,10 +13,10 @@ import {
13
13
  ensureOcrModels,
14
14
  getOcrModelsDir,
15
15
  parseCharacterDict
16
- } from "./chunk-BDAZLHIX.js";
16
+ } from "./chunk-3PYAUHWY.js";
17
17
  import {
18
18
  OPTIONAL_DEP_INSTALL_HINT
19
- } from "./chunk-OWWX5UTD.js";
19
+ } from "./chunk-PEQ5K2JO.js";
20
20
 
21
21
  // src/ocr/ruling-lines.ts
22
22
  var INK_LUMA_MAX = 205;
@@ -2133,4 +2133,4 @@ export {
2133
2133
  groupOcrLines,
2134
2134
  ocrItemsToBlocks
2135
2135
  };
2136
- //# sourceMappingURL=chunk-RMJJKX2G.js.map
2136
+ //# sourceMappingURL=chunk-GTSEPXAH.js.map
@@ -4,15 +4,15 @@
4
4
 
5
5
 
6
6
 
7
- var _chunkZKWQZOILcjs = require('./chunk-ZKWQZOIL.cjs');
7
+ var _chunkVVFNVMFMcjs = require('./chunk-VVFNVMFM.cjs');
8
8
 
9
9
 
10
10
 
11
- var _chunkMV5HIQHUcjs = require('./chunk-MV5HIQHU.cjs');
11
+ var _chunkL3U6MKGVcjs = require('./chunk-L3U6MKGV.cjs');
12
12
 
13
13
 
14
14
 
15
- var _chunkLUU44ZTYcjs = require('./chunk-LUU44ZTY.cjs');
15
+ var _chunkY4TO3GBFcjs = require('./chunk-Y4TO3GBF.cjs');
16
16
 
17
17
  // src/ocr/models.ts
18
18
  var _path = require('path');
@@ -40,10 +40,10 @@ var OCR_REC_DICT = {
40
40
  };
41
41
  var ALL_OCR_MODELS = [OCR_DET_MODEL, OCR_REC_MODEL, OCR_REC_DICT];
42
42
  function getOcrModelsDir() {
43
- return _chunkMV5HIQHUcjs.getModelsDir.call(void 0, "ppocr");
43
+ return _chunkL3U6MKGVcjs.getModelsDir.call(void 0, "ppocr");
44
44
  }
45
45
  async function ensureOcrModels(onProgress) {
46
- return _chunkMV5HIQHUcjs.ensureModelsIn.call(void 0, getOcrModelsDir(), ALL_OCR_MODELS, onProgress);
46
+ return _chunkL3U6MKGVcjs.ensureModelsIn.call(void 0, getOcrModelsDir(), ALL_OCR_MODELS, onProgress);
47
47
  }
48
48
  async function ocrModelsCached() {
49
49
  const dir = getOcrModelsDir();
@@ -2123,7 +2123,7 @@ function tagScripts(text, lines) {
2123
2123
  const [s, e, kind] = marks[m];
2124
2124
  out = out.slice(0, s) + `<${kind}>` + out.slice(s, e) + `</${kind}>` + out.slice(e);
2125
2125
  }
2126
- return _chunkZKWQZOILcjs.tidyScriptTags.call(void 0, out);
2126
+ return _chunkVVFNVMFMcjs.tidyScriptTags.call(void 0, out);
2127
2127
  }
2128
2128
 
2129
2129
  // src/pdf/line-wrap.ts
@@ -3010,7 +3010,7 @@ function normalizeItems(rawItems) {
3010
3010
  fontName: i.fontName || "",
3011
3011
  isHidden,
3012
3012
  seq: seq + k / 1e3,
3013
- ...spaceAfter && k === split.length - 1 ? { spaceAfter } : {}
3013
+ ...spaceAfter !== void 0 && k === split.length - 1 ? { spaceAfter } : {}
3014
3014
  });
3015
3015
  });
3016
3016
  } else {
@@ -3027,7 +3027,7 @@ function normalizeItems(rawItems) {
3027
3027
  fontName: i.fontName || "",
3028
3028
  isHidden,
3029
3029
  seq,
3030
- ...spaceAfter ? { spaceAfter } : {},
3030
+ ...spaceAfter !== void 0 ? { spaceAfter } : {},
3031
3031
  ...rotated ? { rotated: Math.max(1, w), ...i.transform[1] < 0 ? { rotatedDown: true } : {} } : {}
3032
3032
  });
3033
3033
  }
@@ -5086,8 +5086,11 @@ function pushLineParagraphs(out, yLines, pageNum, lex) {
5086
5086
  joins[i] = wrapJoiner(geo[i].text, geo[i + 1].text, lex);
5087
5087
  }
5088
5088
  }
5089
+ const blockRight = Math.max(...geo.map((g) => g.right));
5089
5090
  for (let i = 0; i + 1 < lines.length; i++) {
5090
- if (joins[i] === "" && lines[i].items.reduce((a, b) => b.x + b.w > a.x + a.w ? b : a).spaceAfter) joins[i] = " ";
5091
+ const last = lines[i].items.reduce((a, b) => b.x + b.w > a.x + a.w ? b : a);
5092
+ if (joins[i] === "" && last.spaceAfter) joins[i] = " ";
5093
+ else if (joins[i] === " " && last.spaceAfter === false && blockRight - geo[i].right < 0.2 * geo[i].fontSize && /[가-힣]$/.test(geo[i].text.replace(/<\/?u>|~~/g, "").trimEnd()) && /^\((?:[A-Za-z/]|[’'‘])/.test(geo[i + 1].text.replace(/<\/?u>|~~/g, "").trimStart())) joins[i] = "";
5091
5094
  }
5092
5095
  for (const i of tocRecordBoundaries(lines.map((line) => line.items))) joins[i] = "\n";
5093
5096
  for (let i = 0; i + 1 < geo.length; i++) {
@@ -5142,9 +5145,9 @@ function detectHeadings(blocks, medianFontSize) {
5142
5145
  if (/^\d+$/.test(text) && !isChapterNumber(block, blocks[bi + 1], medianFontSize)) continue;
5143
5146
  const ratio = block.style.fontSize / medianFontSize;
5144
5147
  let level = 0;
5145
- if (ratio >= _chunkZKWQZOILcjs.HEADING_RATIO_H1) level = 1;
5146
- else if (ratio >= _chunkZKWQZOILcjs.HEADING_RATIO_H2) level = 2;
5147
- else if (ratio >= _chunkZKWQZOILcjs.HEADING_RATIO_H3) level = 3;
5148
+ if (ratio >= _chunkVVFNVMFMcjs.HEADING_RATIO_H1) level = 1;
5149
+ else if (ratio >= _chunkVVFNVMFMcjs.HEADING_RATIO_H2) level = 2;
5150
+ else if (ratio >= _chunkVVFNVMFMcjs.HEADING_RATIO_H3) level = 3;
5148
5151
  if (level > 0) {
5149
5152
  block.type = "heading";
5150
5153
  block.level = level;
@@ -5157,7 +5160,7 @@ function isChapterNumber(block, next, medianFontSize) {
5157
5160
  const nextSize = _nullishCoalesce(_optionalChain([next, 'optionalAccess', _143 => _143.style, 'optionalAccess', _144 => _144.fontSize]), () => ( 0));
5158
5161
  const text = _nullishCoalesce(_optionalChain([next, 'optionalAccess', _145 => _145.text, 'optionalAccess', _146 => _146.trim, 'call', _147 => _147()]), () => ( ""));
5159
5162
  const a = block.bbox, b = _optionalChain([next, 'optionalAccess', _148 => _148.bbox]);
5160
- return /^\d{1,2}$/.test(_nullishCoalesce(_optionalChain([block, 'access', _149 => _149.text, 'optionalAccess', _150 => _150.trim, 'call', _151 => _151()]), () => ( ""))) && size >= medianFontSize * 2.5 && !!next && (next.type === "paragraph" || next.type === "heading") && next.pageNumber === block.pageNumber && nextSize >= medianFontSize * _chunkZKWQZOILcjs.HEADING_RATIO_H1 && text.length > 0 && text.length <= 80 && !/^[\d\s.]+$/.test(text) && !!a && !!b && a.y > b.y && a.y - (b.y + b.height) <= size * 2;
5163
+ return /^\d{1,2}$/.test(_nullishCoalesce(_optionalChain([block, 'access', _149 => _149.text, 'optionalAccess', _150 => _150.trim, 'call', _151 => _151()]), () => ( ""))) && size >= medianFontSize * 2.5 && !!next && (next.type === "paragraph" || next.type === "heading") && next.pageNumber === block.pageNumber && nextSize >= medianFontSize * _chunkVVFNVMFMcjs.HEADING_RATIO_H1 && text.length > 0 && text.length <= 80 && !/^[\d\s.]+$/.test(text) && !!a && !!b && a.y > b.y && a.y - (b.y + b.height) <= size * 2;
5161
5164
  }
5162
5165
  function mergeStackedHeadingLines(blocks, medianFontSize) {
5163
5166
  for (let i = 0; i < blocks.length - 1; ) {
@@ -6530,16 +6533,16 @@ function isProseSpread(items) {
6530
6533
  for (let i = 1; i < sorted.length; i++) {
6531
6534
  gaps.push(sorted[i].x - (sorted[i - 1].x + sorted[i - 1].w));
6532
6535
  }
6533
- const maxGap = _chunkLUU44ZTYcjs.safeMax.call(void 0, gaps);
6536
+ const maxGap = _chunkY4TO3GBFcjs.safeMax.call(void 0, gaps);
6534
6537
  const avgLen = items.reduce((s, i) => s + i.text.length, 0) / items.length;
6535
6538
  if (items.length >= 4 && maxGap < 40 && avgLen < 5) return true;
6536
- const minGap = _chunkLUU44ZTYcjs.safeMin.call(void 0, gaps);
6539
+ const minGap = _chunkY4TO3GBFcjs.safeMin.call(void 0, gaps);
6537
6540
  return minGap > 0 && maxGap - minGap <= Math.max(2, maxGap * 0.15) && items.filter((i) => /^\P{L}*\p{Ll}/u.test(i.text)).length * 2 >= items.length;
6538
6541
  }
6539
6542
  function detectColumns(yLines) {
6540
6543
  const allItems = yLines.flat();
6541
6544
  if (allItems.length === 0) return null;
6542
- const pageWidth = _chunkLUU44ZTYcjs.safeMax.call(void 0, allItems.map((i) => i.x + i.w)) - _chunkLUU44ZTYcjs.safeMin.call(void 0, allItems.map((i) => i.x));
6545
+ const pageWidth = _chunkY4TO3GBFcjs.safeMax.call(void 0, allItems.map((i) => i.x + i.w)) - _chunkY4TO3GBFcjs.safeMin.call(void 0, allItems.map((i) => i.x));
6543
6546
  if (pageWidth < 100) return null;
6544
6547
  let bigoLineIdx = -1;
6545
6548
  for (let i = 0; i < yLines.length; i++) {
@@ -7083,12 +7086,12 @@ function recordClipCellEdges(grids, horizontals, verticals, nonRules) {
7083
7086
  }
7084
7087
  function takeClipCellEdges(from, to) {
7085
7088
  const e = CLIP_CELL_EDGES.get(from);
7086
- if (e) _chunkZKWQZOILcjs.CELL_EDGES.set(to, e);
7089
+ if (e) _chunkVVFNVMFMcjs.CELL_EDGES.set(to, e);
7087
7090
  }
7088
7091
  function joinCellEdges(a, b) {
7089
- const u = _chunkZKWQZOILcjs.CELL_EDGES.get(a), d = _chunkZKWQZOILcjs.CELL_EDGES.get(b);
7092
+ const u = _chunkVVFNVMFMcjs.CELL_EDGES.get(a), d = _chunkVVFNVMFMcjs.CELL_EDGES.get(b);
7090
7093
  if (!u || !d) return;
7091
- _chunkZKWQZOILcjs.CELL_EDGES.set(a, { t: u.t, b: d.b, l: u.l || d.l, r: u.r || d.r });
7094
+ _chunkVVFNVMFMcjs.CELL_EDGES.set(a, { t: u.t, b: d.b, l: u.l || d.l, r: u.r || d.r });
7092
7095
  }
7093
7096
 
7094
7097
  // src/pdf/table-unit-row.ts
@@ -7104,7 +7107,7 @@ function rebuildUnitLine(items, grid) {
7104
7107
  function prependUnitRow(cells, cols, line, usedItems) {
7105
7108
  const text = cleanCellText(line.map((item) => item.text).join(""));
7106
7109
  cells.unshift(Array.from({ length: cols }, (_, c) => ({ text: c === 0 ? text : "", colSpan: c === 0 ? cols : 1, rowSpan: 1 })));
7107
- for (const cell of cells[0]) _chunkZKWQZOILcjs.CELL_EDGES.set(cell, NO_EDGES);
7110
+ for (const cell of cells[0]) _chunkVVFNVMFMcjs.CELL_EDGES.set(cell, NO_EDGES);
7108
7111
  for (const item of line) usedItems.add(item);
7109
7112
  }
7110
7113
  function attachUnitRow(items, grid, cells, cols, usedItems) {
@@ -7634,7 +7637,7 @@ function recordFrameTitle(table, source, pageNum) {
7634
7637
  const [label, spacer, title] = cells;
7635
7638
  if (!/^(?:붙임|별첨|첨부|부록)\s*\d{1,3}$/.test(label.text.trim()) || spacer.text.trim() || !title.text.trim()) return;
7636
7639
  if (cells.some((c) => {
7637
- const e = _chunkZKWQZOILcjs.CELL_EDGES.get(c);
7640
+ const e = _chunkVVFNVMFMcjs.CELL_EDGES.get(c);
7638
7641
  return !e || e.t || e.b || e.l || e.r;
7639
7642
  })) return;
7640
7643
  const xs = TABLE_COLXS.get(table), style = dominantStyle(source), fs = _nullishCoalesce(_optionalChain([style, 'optionalAccess', _344 => _344.fontSize]), () => ( 0));
@@ -8293,7 +8296,7 @@ function extractBlocksWithGrids(items, pageNum, pageWidth, pageHeight, grids, ho
8293
8296
  groupSizes.push(1);
8294
8297
  }
8295
8298
  const allY = remaining.map((i) => i.y);
8296
- const pageH = _chunkLUU44ZTYcjs.safeMax.call(void 0, allY) - _chunkLUU44ZTYcjs.safeMin.call(void 0, allY);
8299
+ const pageH = _chunkY4TO3GBFcjs.safeMax.call(void 0, allY) - _chunkY4TO3GBFcjs.safeMin.call(void 0, allY);
8297
8300
  const gapThreshold = Math.max(15, pageH * 0.03);
8298
8301
  const sides = frameColumnTextBands(remaining, spanning, gx);
8299
8302
  const textBlocks = [];
@@ -8309,7 +8312,7 @@ function extractBlocksWithGrids(items, pageNum, pageWidth, pageHeight, grids, ho
8309
8312
  finalTextBlocks.push(...detectListBlocks(textBlocks));
8310
8313
  } else {
8311
8314
  const allY = remaining.map((i) => i.y);
8312
- const pageH = _chunkLUU44ZTYcjs.safeMax.call(void 0, allY) - _chunkLUU44ZTYcjs.safeMin.call(void 0, allY);
8315
+ const pageH = _chunkY4TO3GBFcjs.safeMax.call(void 0, allY) - _chunkY4TO3GBFcjs.safeMin.call(void 0, allY);
8313
8316
  const gapThreshold = Math.max(15, pageH * 0.03);
8314
8317
  const groups = xyCutOrder(remaining, gapThreshold);
8315
8318
  const textBlocks = [];
@@ -8637,7 +8640,7 @@ function extractPageBlocksFallback(items, pageNum, fullPage = false, detectTable
8637
8640
  blocks.push(...columnTextToBlocks(tableText, pageNum, bbox, dominantStyle(items)));
8638
8641
  } else {
8639
8642
  const allY = items.map((i) => i.y);
8640
- const pageHeight = _chunkLUU44ZTYcjs.safeMax.call(void 0, allY) - _chunkLUU44ZTYcjs.safeMin.call(void 0, allY);
8643
+ const pageHeight = _chunkY4TO3GBFcjs.safeMax.call(void 0, allY) - _chunkY4TO3GBFcjs.safeMin.call(void 0, allY);
8641
8644
  const gapThreshold = Math.max(15, pageHeight * 0.03);
8642
8645
  const orderedGroups = proseCutX !== null ? splitTwoColumnProse(items, proseCutX) : xyCutOrder(items, gapThreshold, 0, void 0, minGap);
8643
8646
  for (const group of orderedGroups) {
@@ -8848,4 +8851,4 @@ function rowParagraphs(block) {
8848
8851
 
8849
8852
 
8850
8853
  exports.OCR_DET_MODEL = OCR_DET_MODEL; exports.OCR_REC_MODEL = OCR_REC_MODEL; exports.OCR_REC_DICT = OCR_REC_DICT; exports.getOcrModelsDir = getOcrModelsDir; exports.ensureOcrModels = ensureOcrModels; exports.ocrModelsCached = ocrModelsCached; exports.parseCharacterDict = parseCharacterDict; exports.extractLines = extractLines; exports.extractImageRegions = extractImageRegions; exports.filterHiddenText = filterHiddenText; exports.collapseEvenSpacing = collapseEvenSpacing; exports.computeBBox = computeBBox; exports.dominantStyle = dominantStyle; exports.normalizeItems = normalizeItems; exports.groupByY = groupByY; exports.mergeLineSimple = mergeLineSimple; exports.WrapLexicon = WrapLexicon; exports.startsNewItem = startsNewItem; exports.wrapJoiner = wrapJoiner; exports.joinPageBreakWraps = joinPageBreakWraps; exports.splitPageBreakWraps = splitPageBreakWraps; exports.latinSoftWrap = latinSoftWrap; exports.TOC_BLOCKS = TOC_BLOCKS; exports.computeMedianFontSizeFromFreq = computeMedianFontSizeFromFreq; exports.detectHeadings = detectHeadings; exports.mergeStackedHeadingLines = mergeStackedHeadingLines; exports.detectTypographyHeadings = detectTypographyHeadings; exports.detectDocumentStyleHeadings = detectDocumentStyleHeadings; exports.detectSiblingStyleHeadings = detectSiblingStyleHeadings; exports.detectRepeatedPageLabels = detectRepeatedPageLabels; exports.detectPageLeadHeadings = detectPageLeadHeadings; exports.refineDocumentStyleHeadings = refineDocumentStyleHeadings; exports.detectMarkerHeadings = detectMarkerHeadings; exports.detectTableCaptions = detectTableCaptions; exports.detectKoreanListBlocks = detectKoreanListBlocks; exports.removeHeaderFooterBlocks = removeHeaderFooterBlocks; exports.CLIP_TABLES = CLIP_TABLES; exports.FRAME_TITLE_BLOCKS = FRAME_TITLE_BLOCKS; exports.TABLE_COLXS = TABLE_COLXS; exports.TABLE_ROWYS = TABLE_ROWYS; exports.TABLE_TAIL = TABLE_TAIL; exports.PART_COLXS = PART_COLXS; exports.EMPTY_PARTS = EMPTY_PARTS; exports.IMAGE_CELLS = IMAGE_CELLS; exports.FILLER_CELLS = FILLER_CELLS; exports.CONT_PARTS = CONT_PARTS; exports.CELL_LINES = CELL_LINES; exports.ROW_RULES = ROW_RULES; exports.trimTrailingEmptyTableCols = trimTrailingEmptyTableCols; exports.NO_EDGES = NO_EDGES; exports.joinCellEdges = joinCellEdges; exports.restoreImageBullets = restoreImageBullets; exports.detectRightArrowRegions = detectRightArrowRegions; exports.removeSideTabs = removeSideTabs; exports.extractPageBlocksWithLines = extractPageBlocksWithLines; exports.UNRULED_REGION_TABLES = UNRULED_REGION_TABLES; exports.mergeOcrImageRegions = mergeOcrImageRegions;
8851
- //# sourceMappingURL=chunk-KZ7BA2OM.cjs.map
8854
+ //# sourceMappingURL=chunk-I43ZKTUM.cjs.map