kordoc 4.19.1 → 4.19.2

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 (121) hide show
  1. package/README.md +2 -1
  2. package/dist/{-LYUUVVQF.js → -3JIHF2AL.js} +11 -11
  3. package/dist/{chunk-KYFP5LDC.js → chunk-4CS7XE2Q.js} +2 -2
  4. package/dist/{chunk-XFZMRCGJ.js → chunk-56ZWAREM.js} +2 -2
  5. package/dist/{chunk-FNX3ZAYB.cjs → chunk-5PGOZBEQ.cjs} +22 -22
  6. package/dist/{chunk-FNX3ZAYB.cjs.map → chunk-5PGOZBEQ.cjs.map} +1 -1
  7. package/dist/{chunk-JA5B4NPF.js → chunk-6ZBORHFB.js} +2 -2
  8. package/dist/{chunk-YLST4S4P.js → chunk-AKSCTGKG.js} +2 -2
  9. package/dist/{chunk-L5N5UQBP.js → chunk-AOVMOCTK.js} +2 -2
  10. package/dist/{chunk-TRUR4RUJ.js → chunk-B4R443MV.js} +2 -2
  11. package/dist/{chunk-CL3CJ7X5.js → chunk-EUCBMW6C.js} +3 -3
  12. package/dist/{chunk-7XRI4FL4.js → chunk-GNUGD4RO.js} +2 -2
  13. package/dist/{chunk-4WTJS6ES.js → chunk-I2TBI7PN.js} +2 -2
  14. package/dist/{chunk-Z2WI3E4N.js → chunk-J75TVRJB.js} +2 -2
  15. package/dist/{chunk-BDTWXJNM.js → chunk-JK7N4R4K.js} +2 -2
  16. package/dist/{chunk-ADBES5QJ.js → chunk-JXJDXDOU.js} +3 -3
  17. package/dist/{chunk-RHMIEEAZ.cjs → chunk-MZ6XNFZL.cjs} +2 -2
  18. package/dist/{chunk-RHMIEEAZ.cjs.map → chunk-MZ6XNFZL.cjs.map} +1 -1
  19. package/dist/{chunk-6KOQPPLX.js → chunk-NV46IWKF.js} +27 -21
  20. package/dist/chunk-NV46IWKF.js.map +1 -0
  21. package/dist/{chunk-7L5GY54Q.js → chunk-OKHKEYTL.js} +2 -2
  22. package/dist/{chunk-W5NXOMCD.cjs → chunk-ORGWGR4K.cjs} +6 -6
  23. package/dist/{chunk-W5NXOMCD.cjs.map → chunk-ORGWGR4K.cjs.map} +1 -1
  24. package/dist/{chunk-MSUGYK6A.js → chunk-PWQ2BVAT.js} +3 -3
  25. package/dist/{chunk-UAAYIEIK.js → chunk-QYJPU4FZ.js} +30 -2
  26. package/dist/chunk-QYJPU4FZ.js.map +1 -0
  27. package/dist/{chunk-5AZQEMMG.js → chunk-QZ63HXEG.js} +51 -20
  28. package/dist/chunk-QZ63HXEG.js.map +1 -0
  29. package/dist/{chunk-FEGRQA3Q.js → chunk-R2JM2HOJ.js} +4 -4
  30. package/dist/{chunk-UOXOYZU4.cjs → chunk-RVBQT2PD.cjs} +3 -3
  31. package/dist/{chunk-UOXOYZU4.cjs.map → chunk-RVBQT2PD.cjs.map} +1 -1
  32. package/dist/{chunk-GPNPYBXJ.cjs → chunk-T2DZTOGG.cjs} +12 -12
  33. package/dist/{chunk-GPNPYBXJ.cjs.map → chunk-T2DZTOGG.cjs.map} +1 -1
  34. package/dist/{chunk-JNIJPP4B.js → chunk-TM4T4NYJ.js} +2 -2
  35. package/dist/{chunk-DQHDI567.js → chunk-U6AJU2VD.js} +2 -2
  36. package/dist/{chunk-X6ME7YYS.js → chunk-VO22VAR3.js} +2 -2
  37. package/dist/{chunk-HMJXB7ZE.cjs → chunk-WQAGDJIP.cjs} +3 -3
  38. package/dist/{chunk-HMJXB7ZE.cjs.map → chunk-WQAGDJIP.cjs.map} +1 -1
  39. package/dist/{chunk-ZTGTFO52.js → chunk-XPM7WC54.js} +4 -4
  40. package/dist/chunks-2EC2R7PY.js +10 -0
  41. package/dist/cli.js +26 -26
  42. package/dist/{formula-J3UUIPCX.cjs → formula-RNATQ3FQ.cjs} +9 -9
  43. package/dist/{formula-J3UUIPCX.cjs.map → formula-RNATQ3FQ.cjs.map} +1 -1
  44. package/dist/{formula-QSZRYZ44.js → formula-RSTTP626.js} +4 -4
  45. package/dist/{formula-G4YA7SNQ.js → formula-STIFIS57.js} +3 -3
  46. package/dist/{image-ocr-467KLV3F.cjs → image-ocr-7L5TBBPA.cjs} +15 -15
  47. package/dist/{image-ocr-467KLV3F.cjs.map → image-ocr-7L5TBBPA.cjs.map} +1 -1
  48. package/dist/{image-ocr-I52GBXRE.js → image-ocr-R6ZDFBAN.js} +6 -6
  49. package/dist/{image-ocr-ZP3F4MUY.js → image-ocr-XKSAEEXP.js} +9 -9
  50. package/dist/index.cjs +824 -761
  51. package/dist/index.cjs.map +1 -1
  52. package/dist/index.js +94 -31
  53. package/dist/index.js.map +1 -1
  54. package/dist/mcp.js +22 -22
  55. package/dist/{model-bundle-FEUM7XXS.js → model-bundle-NGTKULP7.js} +5 -5
  56. package/dist/{models-6QCNX5YR.js → models-QOSU5SYL.js} +5 -5
  57. package/dist/{parser-6EIBURDE.js → parser-3G4G6SST.js} +11 -11
  58. package/dist/{parser-YX4LGKIK.js → parser-5GUEP6EK.js} +8 -8
  59. package/dist/{parser-BIJBX2D5.cjs → parser-AIQBU7FS.cjs} +132 -132
  60. package/dist/{parser-BIJBX2D5.cjs.map → parser-AIQBU7FS.cjs.map} +1 -1
  61. package/dist/pdf-ocr-7OAFUDM4.cjs +17 -0
  62. package/dist/{pdf-ocr-DXQIMO77.cjs.map → pdf-ocr-7OAFUDM4.cjs.map} +1 -1
  63. package/dist/pdf-ocr-DAXS5RX4.js +16 -0
  64. package/dist/pdf-ocr-R3VGX6F2.js +20 -0
  65. package/dist/{profile-io-ATHFEUAP.js → profile-io-ZVNMDLLS.js} +3 -3
  66. package/dist/{rasterize-SG3CLXMQ.js → rasterize-Y2RLMVCL.js} +3 -3
  67. package/dist/{redact-doc-K3S4HFHU.js → redact-doc-PNRDDBI3.js} +11 -11
  68. package/dist/{render-6CQJM7VE.js → render-S3ALARVO.js} +7 -7
  69. package/dist/seal-EJWPS5VK.js +10 -0
  70. package/dist/{setup-CZ5KHGPI.js → setup-JH66VSFZ.js} +3 -3
  71. package/dist/visual-GDXMKDVY.js +20 -0
  72. package/dist/{watch-RQRIGLFF.js → watch-KMB2FTOD.js} +12 -12
  73. package/package.json +1 -1
  74. package/dist/chunk-5AZQEMMG.js.map +0 -1
  75. package/dist/chunk-6KOQPPLX.js.map +0 -1
  76. package/dist/chunk-UAAYIEIK.js.map +0 -1
  77. package/dist/chunks-T67OQGPJ.js +0 -10
  78. package/dist/pdf-ocr-DXQIMO77.cjs +0 -17
  79. package/dist/pdf-ocr-MESGGING.js +0 -20
  80. package/dist/pdf-ocr-YSRBRIPR.js +0 -16
  81. package/dist/seal-SMO4544N.js +0 -10
  82. package/dist/visual-UWYGQLOU.js +0 -20
  83. /package/dist/{-LYUUVVQF.js.map → -3JIHF2AL.js.map} +0 -0
  84. /package/dist/{chunk-KYFP5LDC.js.map → chunk-4CS7XE2Q.js.map} +0 -0
  85. /package/dist/{chunk-XFZMRCGJ.js.map → chunk-56ZWAREM.js.map} +0 -0
  86. /package/dist/{chunk-JA5B4NPF.js.map → chunk-6ZBORHFB.js.map} +0 -0
  87. /package/dist/{chunk-YLST4S4P.js.map → chunk-AKSCTGKG.js.map} +0 -0
  88. /package/dist/{chunk-L5N5UQBP.js.map → chunk-AOVMOCTK.js.map} +0 -0
  89. /package/dist/{chunk-TRUR4RUJ.js.map → chunk-B4R443MV.js.map} +0 -0
  90. /package/dist/{chunk-CL3CJ7X5.js.map → chunk-EUCBMW6C.js.map} +0 -0
  91. /package/dist/{chunk-7XRI4FL4.js.map → chunk-GNUGD4RO.js.map} +0 -0
  92. /package/dist/{chunk-4WTJS6ES.js.map → chunk-I2TBI7PN.js.map} +0 -0
  93. /package/dist/{chunk-Z2WI3E4N.js.map → chunk-J75TVRJB.js.map} +0 -0
  94. /package/dist/{chunk-BDTWXJNM.js.map → chunk-JK7N4R4K.js.map} +0 -0
  95. /package/dist/{chunk-ADBES5QJ.js.map → chunk-JXJDXDOU.js.map} +0 -0
  96. /package/dist/{chunk-7L5GY54Q.js.map → chunk-OKHKEYTL.js.map} +0 -0
  97. /package/dist/{chunk-MSUGYK6A.js.map → chunk-PWQ2BVAT.js.map} +0 -0
  98. /package/dist/{chunk-FEGRQA3Q.js.map → chunk-R2JM2HOJ.js.map} +0 -0
  99. /package/dist/{chunk-JNIJPP4B.js.map → chunk-TM4T4NYJ.js.map} +0 -0
  100. /package/dist/{chunk-DQHDI567.js.map → chunk-U6AJU2VD.js.map} +0 -0
  101. /package/dist/{chunk-X6ME7YYS.js.map → chunk-VO22VAR3.js.map} +0 -0
  102. /package/dist/{chunk-ZTGTFO52.js.map → chunk-XPM7WC54.js.map} +0 -0
  103. /package/dist/{chunks-T67OQGPJ.js.map → chunks-2EC2R7PY.js.map} +0 -0
  104. /package/dist/{formula-QSZRYZ44.js.map → formula-RSTTP626.js.map} +0 -0
  105. /package/dist/{formula-G4YA7SNQ.js.map → formula-STIFIS57.js.map} +0 -0
  106. /package/dist/{image-ocr-I52GBXRE.js.map → image-ocr-R6ZDFBAN.js.map} +0 -0
  107. /package/dist/{image-ocr-ZP3F4MUY.js.map → image-ocr-XKSAEEXP.js.map} +0 -0
  108. /package/dist/{model-bundle-FEUM7XXS.js.map → model-bundle-NGTKULP7.js.map} +0 -0
  109. /package/dist/{models-6QCNX5YR.js.map → models-QOSU5SYL.js.map} +0 -0
  110. /package/dist/{parser-6EIBURDE.js.map → parser-3G4G6SST.js.map} +0 -0
  111. /package/dist/{parser-YX4LGKIK.js.map → parser-5GUEP6EK.js.map} +0 -0
  112. /package/dist/{pdf-ocr-MESGGING.js.map → pdf-ocr-DAXS5RX4.js.map} +0 -0
  113. /package/dist/{pdf-ocr-YSRBRIPR.js.map → pdf-ocr-R3VGX6F2.js.map} +0 -0
  114. /package/dist/{profile-io-ATHFEUAP.js.map → profile-io-ZVNMDLLS.js.map} +0 -0
  115. /package/dist/{rasterize-SG3CLXMQ.js.map → rasterize-Y2RLMVCL.js.map} +0 -0
  116. /package/dist/{redact-doc-K3S4HFHU.js.map → redact-doc-PNRDDBI3.js.map} +0 -0
  117. /package/dist/{render-6CQJM7VE.js.map → render-S3ALARVO.js.map} +0 -0
  118. /package/dist/{seal-SMO4544N.js.map → seal-EJWPS5VK.js.map} +0 -0
  119. /package/dist/{setup-CZ5KHGPI.js.map → setup-JH66VSFZ.js.map} +0 -0
  120. /package/dist/{visual-UWYGQLOU.js.map → visual-GDXMKDVY.js.map} +0 -0
  121. /package/dist/{watch-RQRIGLFF.js.map → watch-KMB2FTOD.js.map} +0 -0
package/README.md CHANGED
@@ -111,10 +111,11 @@ await writeFile("보고서.hwpx", Buffer.from(hwpx))
111
111
 
112
112
  ## 최근 업데이트
113
113
 
114
- 최신 배포: **[4.19.1](https://github.com/chrisryugj/kordoc/releases/tag/v4.19.1)** · 2026-10-07
114
+ 최신 배포: **[4.19.2](https://github.com/chrisryugj/kordoc/releases/tag/v4.19.2)** · 2026-10-07
115
115
 
116
116
  | 버전 | 주요 변경 |
117
117
  | --- | --- |
118
+ | 4.19.2 | rhwp v0.8.7 파서 수정 반영 — HWP3 체크박스 □, HWP5 짝 없는 서로게이트 □, 손상 CFB 복구의 본문 경로 오인 수정, HWPX 압축 해제 상한을 엔트리 읽는 도중에 적용 |
118
119
  | 4.19.1 | PDF 쪽별 마크다운(`pages`)에서 쪽 넘김 표를 쪽마다 다시 갈라 뒤 쪽 행·상자가 앞 쪽에 붙거나 쪽 항목이 빠지지 않게 (#136) |
119
120
  | 4.19.0 | RAG 색인용 `tableFormat: "gfm"` — 병합·중첩 표도 HTML 없이 GFM 파이프 표로, 셀 안 표는 부모·자식 관계 표지와 함께 독립 표로 (#138) |
120
121
  | 4.18.12–13 | PDF 쪽 넘김 문단 잇기 판정을 HWPX·DOCX 원문 대조로 재조정 — 문장 끝·들여쓰기·나열 기호·탭 행 근거 (HWPX 쌍 오판 50 → 5) |
@@ -51,17 +51,17 @@ import {
51
51
  unknownFontWarnings,
52
52
  usesGaejosikMunche,
53
53
  validateHwpx
54
- } from "./chunk-6KOQPPLX.js";
54
+ } from "./chunk-NV46IWKF.js";
55
55
  import {
56
56
  blocksToPages
57
- } from "./chunk-X6ME7YYS.js";
57
+ } from "./chunk-VO22VAR3.js";
58
58
  import {
59
59
  applySplices,
60
60
  buildParagraphSplices,
61
61
  buildRangeSplices,
62
62
  placeSealHwpx,
63
63
  scanSectionXml
64
- } from "./chunk-MSUGYK6A.js";
64
+ } from "./chunk-PWQ2BVAT.js";
65
65
  import {
66
66
  DEFAULT_REDACT_RULES,
67
67
  redactMarkdown,
@@ -69,7 +69,7 @@ import {
69
69
  } from "./chunk-3WSNLH4B.js";
70
70
  import {
71
71
  blocksToChunks
72
- } from "./chunk-JNIJPP4B.js";
72
+ } from "./chunk-TM4T4NYJ.js";
73
73
  import {
74
74
  SPACE_EM_FIXED,
75
75
  SPACE_EM_FONT,
@@ -94,20 +94,20 @@ import {
94
94
  renderSceneToHtml,
95
95
  simulateWrap,
96
96
  simulateWrapKeepWord
97
- } from "./chunk-5AZQEMMG.js";
97
+ } from "./chunk-QZ63HXEG.js";
98
98
  import "./chunk-7FCNOKOR.js";
99
- import "./chunk-L5N5UQBP.js";
99
+ import "./chunk-AOVMOCTK.js";
100
100
  import "./chunk-VQFA55IC.js";
101
- import "./chunk-UAAYIEIK.js";
101
+ import "./chunk-QYJPU4FZ.js";
102
102
  import {
103
103
  blocksToMarkdown,
104
104
  flattenLayoutTables,
105
105
  hasStructuredCellContent
106
- } from "./chunk-TRUR4RUJ.js";
107
- import "./chunk-JA5B4NPF.js";
106
+ } from "./chunk-B4R443MV.js";
107
+ import "./chunk-6ZBORHFB.js";
108
108
  import {
109
109
  VERSION
110
- } from "./chunk-7L5GY54Q.js";
110
+ } from "./chunk-OKHKEYTL.js";
111
111
  export {
112
112
  BUILTIN_TEMPLATES,
113
113
  DEFAULT_REDACT_RULES,
@@ -198,4 +198,4 @@ export {
198
198
  usesGaejosikMunche,
199
199
  validateHwpx
200
200
  };
201
- //# sourceMappingURL=-LYUUVVQF.js.map
201
+ //# sourceMappingURL=-3JIHF2AL.js.map
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  KordocError
4
- } from "./chunk-7L5GY54Q.js";
4
+ } from "./chunk-OKHKEYTL.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-KYFP5LDC.js.map
92
+ //# sourceMappingURL=chunk-4CS7XE2Q.js.map
@@ -3,7 +3,7 @@ import {
3
3
  ensureModelsIn,
4
4
  getModelStatusIn,
5
5
  getModelsDir
6
- } from "./chunk-BDTWXJNM.js";
6
+ } from "./chunk-JK7N4R4K.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-XFZMRCGJ.js.map
96
+ //# sourceMappingURL=chunk-56ZWAREM.js.map
@@ -4,15 +4,15 @@
4
4
 
5
5
 
6
6
 
7
- var _chunkW5NXOMCDcjs = require('./chunk-W5NXOMCD.cjs');
7
+ var _chunkORGWGR4Kcjs = require('./chunk-ORGWGR4K.cjs');
8
8
 
9
9
 
10
10
 
11
- var _chunkHMJXB7ZEcjs = require('./chunk-HMJXB7ZE.cjs');
11
+ var _chunkWQAGDJIPcjs = require('./chunk-WQAGDJIP.cjs');
12
12
 
13
13
 
14
14
 
15
- var _chunkRHMIEEAZcjs = require('./chunk-RHMIEEAZ.cjs');
15
+ var _chunkMZ6XNFZLcjs = require('./chunk-MZ6XNFZL.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 _chunkHMJXB7ZEcjs.getModelsDir.call(void 0, "ppocr");
43
+ return _chunkWQAGDJIPcjs.getModelsDir.call(void 0, "ppocr");
44
44
  }
45
45
  async function ensureOcrModels(onProgress) {
46
- return _chunkHMJXB7ZEcjs.ensureModelsIn.call(void 0, getOcrModelsDir(), ALL_OCR_MODELS, onProgress);
46
+ return _chunkWQAGDJIPcjs.ensureModelsIn.call(void 0, getOcrModelsDir(), ALL_OCR_MODELS, onProgress);
47
47
  }
48
48
  async function ocrModelsCached() {
49
49
  const dir = getOcrModelsDir();
@@ -2091,7 +2091,7 @@ function tagScripts(text, lines) {
2091
2091
  const [s, e, kind] = marks[m];
2092
2092
  out = out.slice(0, s) + `<${kind}>` + out.slice(s, e) + `</${kind}>` + out.slice(e);
2093
2093
  }
2094
- return _chunkW5NXOMCDcjs.tidyScriptTags.call(void 0, out);
2094
+ return _chunkORGWGR4Kcjs.tidyScriptTags.call(void 0, out);
2095
2095
  }
2096
2096
 
2097
2097
  // src/pdf/line-wrap.ts
@@ -3689,9 +3689,9 @@ function detectHeadings(blocks, medianFontSize) {
3689
3689
  if (/^\d+$/.test(text) && !isChapterNumber(block, blocks[bi + 1], medianFontSize)) continue;
3690
3690
  const ratio = block.style.fontSize / medianFontSize;
3691
3691
  let level = 0;
3692
- if (ratio >= _chunkW5NXOMCDcjs.HEADING_RATIO_H1) level = 1;
3693
- else if (ratio >= _chunkW5NXOMCDcjs.HEADING_RATIO_H2) level = 2;
3694
- else if (ratio >= _chunkW5NXOMCDcjs.HEADING_RATIO_H3) level = 3;
3692
+ if (ratio >= _chunkORGWGR4Kcjs.HEADING_RATIO_H1) level = 1;
3693
+ else if (ratio >= _chunkORGWGR4Kcjs.HEADING_RATIO_H2) level = 2;
3694
+ else if (ratio >= _chunkORGWGR4Kcjs.HEADING_RATIO_H3) level = 3;
3695
3695
  if (level > 0) {
3696
3696
  block.type = "heading";
3697
3697
  block.level = level;
@@ -3704,7 +3704,7 @@ function isChapterNumber(block, next, medianFontSize) {
3704
3704
  const nextSize = _nullishCoalesce(_optionalChain([next, 'optionalAccess', _98 => _98.style, 'optionalAccess', _99 => _99.fontSize]), () => ( 0));
3705
3705
  const text = _nullishCoalesce(_optionalChain([next, 'optionalAccess', _100 => _100.text, 'optionalAccess', _101 => _101.trim, 'call', _102 => _102()]), () => ( ""));
3706
3706
  const a = block.bbox, b = _optionalChain([next, 'optionalAccess', _103 => _103.bbox]);
3707
- return /^\d{1,2}$/.test(_nullishCoalesce(_optionalChain([block, 'access', _104 => _104.text, 'optionalAccess', _105 => _105.trim, 'call', _106 => _106()]), () => ( ""))) && size >= medianFontSize * 2.5 && !!next && (next.type === "paragraph" || next.type === "heading") && next.pageNumber === block.pageNumber && nextSize >= medianFontSize * _chunkW5NXOMCDcjs.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;
3707
+ return /^\d{1,2}$/.test(_nullishCoalesce(_optionalChain([block, 'access', _104 => _104.text, 'optionalAccess', _105 => _105.trim, 'call', _106 => _106()]), () => ( ""))) && size >= medianFontSize * 2.5 && !!next && (next.type === "paragraph" || next.type === "heading") && next.pageNumber === block.pageNumber && nextSize >= medianFontSize * _chunkORGWGR4Kcjs.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;
3708
3708
  }
3709
3709
  function mergeStackedHeadingLines(blocks, medianFontSize) {
3710
3710
  for (let i = 0; i < blocks.length - 1; ) {
@@ -6016,16 +6016,16 @@ function isProseSpread(items) {
6016
6016
  for (let i = 1; i < sorted.length; i++) {
6017
6017
  gaps.push(sorted[i].x - (sorted[i - 1].x + sorted[i - 1].w));
6018
6018
  }
6019
- const maxGap = _chunkRHMIEEAZcjs.safeMax.call(void 0, gaps);
6019
+ const maxGap = _chunkMZ6XNFZLcjs.safeMax.call(void 0, gaps);
6020
6020
  const avgLen = items.reduce((s, i) => s + i.text.length, 0) / items.length;
6021
6021
  if (items.length >= 4 && maxGap < 40 && avgLen < 5) return true;
6022
- const minGap = _chunkRHMIEEAZcjs.safeMin.call(void 0, gaps);
6022
+ const minGap = _chunkMZ6XNFZLcjs.safeMin.call(void 0, gaps);
6023
6023
  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;
6024
6024
  }
6025
6025
  function detectColumns(yLines) {
6026
6026
  const allItems = yLines.flat();
6027
6027
  if (allItems.length === 0) return null;
6028
- const pageWidth = _chunkRHMIEEAZcjs.safeMax.call(void 0, allItems.map((i) => i.x + i.w)) - _chunkRHMIEEAZcjs.safeMin.call(void 0, allItems.map((i) => i.x));
6028
+ const pageWidth = _chunkMZ6XNFZLcjs.safeMax.call(void 0, allItems.map((i) => i.x + i.w)) - _chunkMZ6XNFZLcjs.safeMin.call(void 0, allItems.map((i) => i.x));
6029
6029
  if (pageWidth < 100) return null;
6030
6030
  let bigoLineIdx = -1;
6031
6031
  for (let i = 0; i < yLines.length; i++) {
@@ -6495,12 +6495,12 @@ function recordClipCellEdges(grids, horizontals, verticals, nonRules) {
6495
6495
  }
6496
6496
  function takeClipCellEdges(from, to) {
6497
6497
  const e = CLIP_CELL_EDGES.get(from);
6498
- if (e) _chunkW5NXOMCDcjs.CELL_EDGES.set(to, e);
6498
+ if (e) _chunkORGWGR4Kcjs.CELL_EDGES.set(to, e);
6499
6499
  }
6500
6500
  function joinCellEdges(a, b) {
6501
- const u = _chunkW5NXOMCDcjs.CELL_EDGES.get(a), d = _chunkW5NXOMCDcjs.CELL_EDGES.get(b);
6501
+ const u = _chunkORGWGR4Kcjs.CELL_EDGES.get(a), d = _chunkORGWGR4Kcjs.CELL_EDGES.get(b);
6502
6502
  if (!u || !d) return;
6503
- _chunkW5NXOMCDcjs.CELL_EDGES.set(a, { t: u.t, b: d.b, l: u.l || d.l, r: u.r || d.r });
6503
+ _chunkORGWGR4Kcjs.CELL_EDGES.set(a, { t: u.t, b: d.b, l: u.l || d.l, r: u.r || d.r });
6504
6504
  }
6505
6505
 
6506
6506
  // src/pdf/table-unit-row.ts
@@ -6516,7 +6516,7 @@ function rebuildUnitLine(items, grid) {
6516
6516
  function prependUnitRow(cells, cols, line, usedItems) {
6517
6517
  const text = cleanCellText(line.map((item) => item.text).join(""));
6518
6518
  cells.unshift(Array.from({ length: cols }, (_, c) => ({ text: c === 0 ? text : "", colSpan: c === 0 ? cols : 1, rowSpan: 1 })));
6519
- for (const cell of cells[0]) _chunkW5NXOMCDcjs.CELL_EDGES.set(cell, NO_EDGES);
6519
+ for (const cell of cells[0]) _chunkORGWGR4Kcjs.CELL_EDGES.set(cell, NO_EDGES);
6520
6520
  for (const item of line) usedItems.add(item);
6521
6521
  }
6522
6522
  function attachUnitRow(items, grid, cells, cols, usedItems) {
@@ -7046,7 +7046,7 @@ function recordFrameTitle(table, source, pageNum) {
7046
7046
  const [label, spacer, title] = cells;
7047
7047
  if (!/^(?:붙임|별첨|첨부|부록)\s*\d{1,3}$/.test(label.text.trim()) || spacer.text.trim() || !title.text.trim()) return;
7048
7048
  if (cells.some((c) => {
7049
- const e = _chunkW5NXOMCDcjs.CELL_EDGES.get(c);
7049
+ const e = _chunkORGWGR4Kcjs.CELL_EDGES.get(c);
7050
7050
  return !e || e.t || e.b || e.l || e.r;
7051
7051
  })) return;
7052
7052
  const xs = TABLE_COLXS.get(table), style = dominantStyle(source), fs = _nullishCoalesce(_optionalChain([style, 'optionalAccess', _326 => _326.fontSize]), () => ( 0));
@@ -7958,7 +7958,7 @@ function extractBlocksWithGrids(items, pageNum, pageWidth, pageHeight, grids, ho
7958
7958
  groupSizes.push(1);
7959
7959
  }
7960
7960
  const allY = remaining.map((i) => i.y);
7961
- const pageH = _chunkRHMIEEAZcjs.safeMax.call(void 0, allY) - _chunkRHMIEEAZcjs.safeMin.call(void 0, allY);
7961
+ const pageH = _chunkMZ6XNFZLcjs.safeMax.call(void 0, allY) - _chunkMZ6XNFZLcjs.safeMin.call(void 0, allY);
7962
7962
  const gapThreshold = Math.max(15, pageH * 0.03);
7963
7963
  const sides = frameColumnTextBands(remaining, spanning, gx);
7964
7964
  const textBlocks = [];
@@ -7974,7 +7974,7 @@ function extractBlocksWithGrids(items, pageNum, pageWidth, pageHeight, grids, ho
7974
7974
  finalTextBlocks.push(...detectListBlocks(textBlocks));
7975
7975
  } else {
7976
7976
  const allY = remaining.map((i) => i.y);
7977
- const pageH = _chunkRHMIEEAZcjs.safeMax.call(void 0, allY) - _chunkRHMIEEAZcjs.safeMin.call(void 0, allY);
7977
+ const pageH = _chunkMZ6XNFZLcjs.safeMax.call(void 0, allY) - _chunkMZ6XNFZLcjs.safeMin.call(void 0, allY);
7978
7978
  const groups = xyCutOrder(remaining, Math.max(15, pageH * 0.03));
7979
7979
  const textBlocks = [];
7980
7980
  for (const group of groups) {
@@ -8299,7 +8299,7 @@ function extractPageBlocksFallback(items, pageNum, fullPage = false, detectTable
8299
8299
  blocks.push(...columnTextToBlocks(tableText, pageNum, bbox, dominantStyle(items)));
8300
8300
  } else {
8301
8301
  const allY = items.map((i) => i.y);
8302
- const pageHeight = _chunkRHMIEEAZcjs.safeMax.call(void 0, allY) - _chunkRHMIEEAZcjs.safeMin.call(void 0, allY);
8302
+ const pageHeight = _chunkMZ6XNFZLcjs.safeMax.call(void 0, allY) - _chunkMZ6XNFZLcjs.safeMin.call(void 0, allY);
8303
8303
  const gapThreshold = Math.max(15, pageHeight * 0.03);
8304
8304
  const orderedGroups = proseCutX !== null ? splitTwoColumnProse(items, proseCutX) : xyCutOrder(items, gapThreshold);
8305
8305
  for (const group of orderedGroups) {
@@ -8378,4 +8378,4 @@ function extractPageBlocksFallback(items, pageNum, fullPage = false, detectTable
8378
8378
 
8379
8379
 
8380
8380
  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.FRAME_READING_UNITS = FRAME_READING_UNITS; exports.recordFrameReadingUnit = recordFrameReadingUnit; exports.restoreImageBullets = restoreImageBullets; exports.detectRightArrowRegions = detectRightArrowRegions; exports.removeSideTabs = removeSideTabs; exports.extractPageBlocksWithLines = extractPageBlocksWithLines;
8381
- //# sourceMappingURL=chunk-FNX3ZAYB.cjs.map
8381
+ //# sourceMappingURL=chunk-5PGOZBEQ.cjs.map