kordoc 4.24.10 → 4.24.12

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 (128) hide show
  1. package/README.md +6 -6
  2. package/dist/{-H7GN7FIS.js → -47RGV6AV.js} +11 -11
  3. package/dist/{chunk-4TAOUMLJ.js → chunk-4NSWEJE6.js} +2 -2
  4. package/dist/{chunk-XMAOBI35.js → chunk-4WWK2CAX.js} +3 -3
  5. package/dist/{chunk-WZWJCMM3.js → chunk-B2ZG4CFX.js} +2 -2
  6. package/dist/{chunk-UK3CENY6.js → chunk-B64QO75G.js} +14 -14
  7. package/dist/chunk-B64QO75G.js.map +1 -0
  8. package/dist/{chunk-PSQJYUJC.js → chunk-DEUXCDJX.js} +2 -2
  9. package/dist/{chunk-JH3AA5TY.cjs → chunk-EIZIS67U.cjs} +3 -3
  10. package/dist/{chunk-JH3AA5TY.cjs.map → chunk-EIZIS67U.cjs.map} +1 -1
  11. package/dist/{chunk-LMG7Y3TN.js → chunk-ELPHGQBU.js} +2 -2
  12. package/dist/{chunk-QAHWMIBF.cjs → chunk-FMHADMZU.cjs} +2 -2
  13. package/dist/{chunk-QAHWMIBF.cjs.map → chunk-FMHADMZU.cjs.map} +1 -1
  14. package/dist/{chunk-HFNNRSAJ.js → chunk-HL2YW3SD.js} +113 -17
  15. package/dist/chunk-HL2YW3SD.js.map +1 -0
  16. package/dist/{chunk-TT6UHEDY.js → chunk-HMD6CNBN.js} +2 -2
  17. package/dist/{chunk-3BRGHU2F.js → chunk-HPP2HH7M.js} +2 -2
  18. package/dist/{chunk-IV4ZRFHF.cjs → chunk-IRQF6V4B.cjs} +171 -75
  19. package/dist/chunk-IRQF6V4B.cjs.map +1 -0
  20. package/dist/{chunk-RNDG6RQU.js → chunk-KDNWNJDU.js} +2 -2
  21. package/dist/{chunk-PDPHUGVP.js → chunk-L4LH7SCD.js} +2 -2
  22. package/dist/{chunk-VAYHMKSC.js → chunk-PCPHZIGM.js} +2 -2
  23. package/dist/{chunk-X5BFTWCB.cjs → chunk-Q6KLAIXK.cjs} +58 -26
  24. package/dist/chunk-Q6KLAIXK.cjs.map +1 -0
  25. package/dist/{chunk-ALCD3FB7.js → chunk-QOBHZ5AO.js} +2 -2
  26. package/dist/{chunk-ENQWDN6M.js → chunk-QPB66YI4.js} +113 -17
  27. package/dist/chunk-QPB66YI4.js.map +1 -0
  28. package/dist/{chunk-NFJN75Y2.js → chunk-RYPMGJWD.js} +2 -2
  29. package/dist/{chunk-4AKR7LBP.js → chunk-SBRXCTCO.js} +7 -7
  30. package/dist/{chunk-4AKR7LBP.js.map → chunk-SBRXCTCO.js.map} +1 -1
  31. package/dist/{chunk-PB6EOWE4.js → chunk-SCZJ5AN3.js} +3 -3
  32. package/dist/{chunk-XFM4SX74.cjs → chunk-T4KE4TRB.cjs} +6 -6
  33. package/dist/{chunk-XFM4SX74.cjs.map → chunk-T4KE4TRB.cjs.map} +1 -1
  34. package/dist/{chunk-OZTG6NCW.js → chunk-TKZ3RXI7.js} +2 -2
  35. package/dist/{chunk-CZGAGILH.js → chunk-TQZSS2MA.js} +36 -4
  36. package/dist/chunk-TQZSS2MA.js.map +1 -0
  37. package/dist/{chunk-37JRATLZ.js → chunk-URKVKJQG.js} +35 -3
  38. package/dist/chunk-URKVKJQG.js.map +1 -0
  39. package/dist/{chunk-WKN5YUMP.cjs → chunk-VAJ2U6KV.cjs} +3 -3
  40. package/dist/{chunk-WKN5YUMP.cjs.map → chunk-VAJ2U6KV.cjs.map} +1 -1
  41. package/dist/{chunk-YAKLWOT2.js → chunk-WURXAWLP.js} +2 -2
  42. package/dist/{chunk-S4HE5OH5.js → chunk-WWSUOHQM.js} +2 -2
  43. package/dist/{chunk-LLKLJ2JF.js → chunk-XNBTROTO.js} +2 -2
  44. package/dist/chunks-GV7RK7GS.js +10 -0
  45. package/dist/cli.js +30 -30
  46. package/dist/{formula-YCZOVUJU.js → formula-6ANBVCG7.js} +4 -4
  47. package/dist/{formula-P5VHY4YS.js → formula-FLGO7JEI.js} +3 -3
  48. package/dist/{formula-TBG6BYE2.cjs → formula-IFGPAJUL.cjs} +9 -9
  49. package/dist/{formula-TBG6BYE2.cjs.map → formula-IFGPAJUL.cjs.map} +1 -1
  50. package/dist/{image-ocr-J6EWIQ73.cjs → image-ocr-RVH47QEB.cjs} +17 -17
  51. package/dist/{image-ocr-J6EWIQ73.cjs.map → image-ocr-RVH47QEB.cjs.map} +1 -1
  52. package/dist/{image-ocr-2UD6RWE6.js → image-ocr-X6ZU3BT4.js} +6 -6
  53. package/dist/{image-ocr-3QCUKBTE.js → image-ocr-ZIED5SPZ.js} +9 -9
  54. package/dist/index.cjs +344 -344
  55. package/dist/index.cjs.map +1 -1
  56. package/dist/index.js +10 -10
  57. package/dist/index.js.map +1 -1
  58. package/dist/mcp.js +23 -23
  59. package/dist/{model-bundle-EFAOVVYU.js → model-bundle-PPZ7K3XF.js} +5 -5
  60. package/dist/{models-SJXAHLSA.js → models-S72K3BGS.js} +5 -5
  61. package/dist/{parse-worker-v2-ZSSOTZVE.js → parse-worker-v2-QRS3UIQK.js} +12 -12
  62. package/dist/{parser-4I4MM5AJ.js → parser-4UEOP3L3.js} +12 -12
  63. package/dist/{parser-4MXHN43N.cjs → parser-OLZ354AZ.cjs} +159 -159
  64. package/dist/{parser-4MXHN43N.cjs.map → parser-OLZ354AZ.cjs.map} +1 -1
  65. package/dist/{parser-3XHPJKL7.js → parser-SJWJI4YD.js} +9 -9
  66. package/dist/pdf-ocr-I6X4XZ3D.cjs +35 -0
  67. package/dist/pdf-ocr-I6X4XZ3D.cjs.map +1 -0
  68. package/dist/{pdf-ocr-QXZIMPQI.js → pdf-ocr-PN4MQQKZ.js} +13 -9
  69. package/dist/{pdf-ocr-J6GXPLZJ.js → pdf-ocr-YOPT6ELY.js} +10 -6
  70. package/dist/{profile-io-X7ZMPA7T.js → profile-io-BHTLUSMN.js} +3 -3
  71. package/dist/{rasterize-42GMMS3L.js → rasterize-UEQYPHDO.js} +3 -3
  72. package/dist/{redact-doc-WCNALJSX.js → redact-doc-HJXMADUV.js} +11 -11
  73. package/dist/{render-2SSXV7MR.js → render-XEHULJCD.js} +7 -7
  74. package/dist/seal-IL2FWCWY.js +10 -0
  75. package/dist/{setup-VY5MAK7O.js → setup-RUT5VUWU.js} +3 -3
  76. package/dist/visual-BZNF7KJ2.js +21 -0
  77. package/dist/{watch-JLCOQOAL.js → watch-IUI2AYDI.js} +12 -12
  78. package/package.json +1 -1
  79. package/dist/chunk-37JRATLZ.js.map +0 -1
  80. package/dist/chunk-CZGAGILH.js.map +0 -1
  81. package/dist/chunk-ENQWDN6M.js.map +0 -1
  82. package/dist/chunk-HFNNRSAJ.js.map +0 -1
  83. package/dist/chunk-IV4ZRFHF.cjs.map +0 -1
  84. package/dist/chunk-UK3CENY6.js.map +0 -1
  85. package/dist/chunk-X5BFTWCB.cjs.map +0 -1
  86. package/dist/chunks-CMSL2XXG.js +0 -10
  87. package/dist/pdf-ocr-JPLZOU23.cjs +0 -31
  88. package/dist/pdf-ocr-JPLZOU23.cjs.map +0 -1
  89. package/dist/seal-ENUBZ7ZX.js +0 -10
  90. package/dist/visual-ON76FHWH.js +0 -21
  91. /package/dist/{-H7GN7FIS.js.map → -47RGV6AV.js.map} +0 -0
  92. /package/dist/{chunk-4TAOUMLJ.js.map → chunk-4NSWEJE6.js.map} +0 -0
  93. /package/dist/{chunk-XMAOBI35.js.map → chunk-4WWK2CAX.js.map} +0 -0
  94. /package/dist/{chunk-WZWJCMM3.js.map → chunk-B2ZG4CFX.js.map} +0 -0
  95. /package/dist/{chunk-PSQJYUJC.js.map → chunk-DEUXCDJX.js.map} +0 -0
  96. /package/dist/{chunk-LMG7Y3TN.js.map → chunk-ELPHGQBU.js.map} +0 -0
  97. /package/dist/{chunk-TT6UHEDY.js.map → chunk-HMD6CNBN.js.map} +0 -0
  98. /package/dist/{chunk-3BRGHU2F.js.map → chunk-HPP2HH7M.js.map} +0 -0
  99. /package/dist/{chunk-RNDG6RQU.js.map → chunk-KDNWNJDU.js.map} +0 -0
  100. /package/dist/{chunk-PDPHUGVP.js.map → chunk-L4LH7SCD.js.map} +0 -0
  101. /package/dist/{chunk-VAYHMKSC.js.map → chunk-PCPHZIGM.js.map} +0 -0
  102. /package/dist/{chunk-ALCD3FB7.js.map → chunk-QOBHZ5AO.js.map} +0 -0
  103. /package/dist/{chunk-NFJN75Y2.js.map → chunk-RYPMGJWD.js.map} +0 -0
  104. /package/dist/{chunk-PB6EOWE4.js.map → chunk-SCZJ5AN3.js.map} +0 -0
  105. /package/dist/{chunk-OZTG6NCW.js.map → chunk-TKZ3RXI7.js.map} +0 -0
  106. /package/dist/{chunk-YAKLWOT2.js.map → chunk-WURXAWLP.js.map} +0 -0
  107. /package/dist/{chunk-S4HE5OH5.js.map → chunk-WWSUOHQM.js.map} +0 -0
  108. /package/dist/{chunk-LLKLJ2JF.js.map → chunk-XNBTROTO.js.map} +0 -0
  109. /package/dist/{chunks-CMSL2XXG.js.map → chunks-GV7RK7GS.js.map} +0 -0
  110. /package/dist/{formula-YCZOVUJU.js.map → formula-6ANBVCG7.js.map} +0 -0
  111. /package/dist/{formula-P5VHY4YS.js.map → formula-FLGO7JEI.js.map} +0 -0
  112. /package/dist/{image-ocr-2UD6RWE6.js.map → image-ocr-X6ZU3BT4.js.map} +0 -0
  113. /package/dist/{image-ocr-3QCUKBTE.js.map → image-ocr-ZIED5SPZ.js.map} +0 -0
  114. /package/dist/{model-bundle-EFAOVVYU.js.map → model-bundle-PPZ7K3XF.js.map} +0 -0
  115. /package/dist/{models-SJXAHLSA.js.map → models-S72K3BGS.js.map} +0 -0
  116. /package/dist/{parse-worker-v2-ZSSOTZVE.js.map → parse-worker-v2-QRS3UIQK.js.map} +0 -0
  117. /package/dist/{parser-4I4MM5AJ.js.map → parser-4UEOP3L3.js.map} +0 -0
  118. /package/dist/{parser-3XHPJKL7.js.map → parser-SJWJI4YD.js.map} +0 -0
  119. /package/dist/{pdf-ocr-J6GXPLZJ.js.map → pdf-ocr-PN4MQQKZ.js.map} +0 -0
  120. /package/dist/{pdf-ocr-QXZIMPQI.js.map → pdf-ocr-YOPT6ELY.js.map} +0 -0
  121. /package/dist/{profile-io-X7ZMPA7T.js.map → profile-io-BHTLUSMN.js.map} +0 -0
  122. /package/dist/{rasterize-42GMMS3L.js.map → rasterize-UEQYPHDO.js.map} +0 -0
  123. /package/dist/{redact-doc-WCNALJSX.js.map → redact-doc-HJXMADUV.js.map} +0 -0
  124. /package/dist/{render-2SSXV7MR.js.map → render-XEHULJCD.js.map} +0 -0
  125. /package/dist/{seal-ENUBZ7ZX.js.map → seal-IL2FWCWY.js.map} +0 -0
  126. /package/dist/{setup-VY5MAK7O.js.map → setup-RUT5VUWU.js.map} +0 -0
  127. /package/dist/{visual-ON76FHWH.js.map → visual-BZNF7KJ2.js.map} +0 -0
  128. /package/dist/{watch-JLCOQOAL.js.map → watch-IUI2AYDI.js.map} +0 -0
package/README.md CHANGED
@@ -105,7 +105,7 @@ await writeFile("보고서.hwpx", Buffer.from(hwpx))
105
105
 
106
106
  ## 검증 결과
107
107
 
108
- **4.22.14 · 2026-10-19 검증**(렌더 배치·PDF 글·표·OCR 은 4.24.10 · 2026-10-26). 고정 코퍼스와 참조 기준으로 측정한 결과입니다.
108
+ **4.22.14 · 2026-10-19 검증**(렌더 배치·PDF 글·표·OCR 은 4.24.12 · 2026-10-27). 고정 코퍼스와 참조 기준으로 측정한 결과입니다.
109
109
 
110
110
  | 대상 | 규모 | 결과 |
111
111
  | --- | --- | --- |
@@ -117,23 +117,23 @@ await writeFile("보고서.hwpx", Buffer.from(hwpx))
117
117
  | PDF 중첩표 (텍스트층) | 29문서 · 101표 | 구조·칸 내용 **101/101 · 100%** |
118
118
  | 법령 별표 | 272건 · 346표 | HWP **346/346**, PDF **342/346 · 98.84%** |
119
119
  | PDF 전체 | 1,911문서 중 1,729건 채점 | 글 커버리지 **99.80%** |
120
- | OCR | 53문서 · 102쪽 · 67표 | CER **0.0310** · 글자 재현율 **99.10%** · 표 구조 일치 **25/67** |
120
+ | OCR | 53문서 · 102쪽 · 67표 | CER **0.0281** · 글자 재현율 **99.14%** · 표 구조 일치 **26/67** |
121
121
  | opendataloader-bench | PDF 200문서 | 종합 기본값 **0.964** · OCR 끔 **0.939** |
122
- | HWPX 렌더 배치 (4.24.8) | 한컴 PDF 짝 · 글 조각 90,906 · 그림 4,107 | 글 위치(±1.5pt) **87,620 · 96.4%** · 그림 위치(±2pt) **4,019 · 97.9%** |
122
+ | HWPX 렌더 배치 (4.24.11) | 한컴 PDF 짝 · 글 조각 90,840 · 그림 4,107 | 글 위치(±1.5pt) **87,577 · 96.4%** · 그림 위치(±2pt) **4,019 · 97.9%** |
123
123
 
124
124
  표 구조 점수와 셀 내용·화면 재현은 별도 지표입니다. 중첩표 100%는 위 101표에 한정하며 전체 PDF·조판의 완전 일치를 뜻하지 않습니다. 채점 범위·제외 기준·옵션별 수치·재현 방법은 [벤치마크 상세](docs/benchmarks.md)에 있습니다.
125
125
 
126
126
  ## 최근 업데이트
127
127
 
128
- 최신 배포: **[4.24.10](https://github.com/chrisryugj/kordoc/releases/tag/v4.24.10)** · 2026-10-26
128
+ 최신 배포: **[4.24.12](https://github.com/chrisryugj/kordoc/releases/tag/v4.24.12)** · 2026-10-27
129
129
 
130
130
  | 버전 | 주요 변경 | 수치 변화 |
131
131
  | --- | --- | --- |
132
+ | 4.24.12 | OCR: 조직도 상자 연결선을 괘선으로(과·팀 상자 열 단위 읽기), 요일 앞 날짜 마침표, 목차 리더 잡티, 화살표 모양 ⇨·➔·▶, 쉼표로 읽은 」 | OCR CER 0.0306 → **0.0281** · 글자 재현율 99.12% → **99.14%** · 열화 입력 9종 모두 개선(원본 0.0475 → **0.0429**) |
133
+ | 4.24.11 | OCR: 표 칸·행 경계를 가로지른 검출 박스 가르기, 날짜 쉼표, 직함 앞 전(前)·현(現) · 렌더: 쪽 번호 글자 크기 · 생성: 서울 방침서 제목 줄간격·요약 정렬 | OCR CER 0.0310 → **0.0306** · 글자 재현율 99.10% → **99.12%** · 렌더 글 위치 87,546 → **87,577** · 생성 재현 0.806 → **0.807** |
132
134
  | 4.24.10 | 보안: 데모 lockfile 의 zod·fast-uri, 정부 GitLab 미러 복구(Java SDK `kordoc-pom.xml`) · OCR: 줄 머리 ▣·❐·‣, `\|` 로 읽은 로마 숫자, 날짜 끝 마침표 · PDF: 세로쓰기 、。, 그러데이션 배경 괘선, 중·일문 자동 간격 | OCR CER 0.0313 → **0.0310** · 글자 재현율 99.06% → **99.10%** · 열화 입력 9종 모두 개선(스캔 0.0734 → **0.0730**) · PDF 어절 F1 99.064% → **99.066%** |
133
135
  | 4.24.9 | 견본 서식·patch 행 추가 표의 행마다 이중선 · OCR: 통째로 빠진 줄 머리 ○ · PDF: 쪽을 넘는 표가 다음 쪽 첫 행을 삼키던 것 | OCR CER 0.0314 → **0.0313** · 흐린 입력 OCR CER 0.0638 → **0.0635** · PDF 표 구조 98.20% → **98.24%** |
134
136
  | 4.24.8 | 보안: 알려진 의존성 취약점 6건 → 0건(zod 4, MCP SDK 하위 의존성), 출시·CI 에 `npm audit` 게이트 · OCR: 숫자로 읽은 줄 머리 고리 글머리, 다음 글자와 맞닿은 「 · PDF: 머리 칸에만 클립을 건 통계표 | `npm audit` 6 → **0** · OCR CER 0.0327 → **0.0314** · 흐린 입력 OCR CER 0.0663 → **0.0638** · PDF 글 순서 99.307% → **99.309%** |
135
- | 4.24.7 | 견본 생성: 목차 상자를 요약 상자로 쓰지 않음, 부호 문단 아래 들여 쓴 목록 단계 · HWPML: 묶음·고정폭 빈칸과 강제 줄바꿈 · OCR: 줄 끝 배경 무늬, 머리행에 붙은 숫자 열, 붙임표·줄표 길이 | OCR CER 0.0332 → **0.0327** · 글자 재현율 99.02% → **99.04%** |
136
- | 4.24.6 | OCR: 예산 사업명세서의 목·내역 하위 행, 칸마다 갈린 색 머리 띠, 칸 안 위아래 두 줄 뒤집힘 · PDF: 쪽 바깥 넉 자 세로 탭 · 렌더: 쪽 번호 새로 시작 · HWPX: 들여 써 저장한 XML 의 공백 | OCR CER 0.0409 → **0.0332** · OCR 표 구조 24 → **25/67** · 렌더 글 위치 87,509 → **87,620** · PDF 글 순서 99.302% → **99.307%** |
137
137
 
138
138
  이전 버전과 상세 내용은 [변경 이력](CHANGELOG.md)에 있습니다.
139
139
 
@@ -58,10 +58,10 @@ import {
58
58
  usesGaejosikMunche,
59
59
  usesLogicStructure,
60
60
  validateHwpx
61
- } from "./chunk-UK3CENY6.js";
61
+ } from "./chunk-B64QO75G.js";
62
62
  import {
63
63
  blocksToChunks
64
- } from "./chunk-VAYHMKSC.js";
64
+ } from "./chunk-PCPHZIGM.js";
65
65
  import {
66
66
  SPACE_EM_FIXED,
67
67
  SPACE_EM_FONT,
@@ -86,20 +86,20 @@ import {
86
86
  renderSceneToHtml,
87
87
  simulateWrap,
88
88
  simulateWrapKeepWord
89
- } from "./chunk-4AKR7LBP.js";
90
- import "./chunk-NFJN75Y2.js";
89
+ } from "./chunk-SBRXCTCO.js";
90
+ import "./chunk-RYPMGJWD.js";
91
91
  import {
92
92
  blocksToPages
93
- } from "./chunk-WZWJCMM3.js";
93
+ } from "./chunk-B2ZG4CFX.js";
94
94
  import "./chunk-VKVDMH7X.js";
95
95
  import "./chunk-VQFA55IC.js";
96
96
  import "./chunk-BYMPPVT3.js";
97
- import "./chunk-RNDG6RQU.js";
97
+ import "./chunk-KDNWNJDU.js";
98
98
  import {
99
99
  blocksToMarkdown,
100
100
  flattenLayoutTables,
101
101
  hasStructuredCellContent
102
- } from "./chunk-TT6UHEDY.js";
102
+ } from "./chunk-HMD6CNBN.js";
103
103
  import {
104
104
  ValueCursor,
105
105
  applySplices,
@@ -113,11 +113,11 @@ import {
113
113
  isLabelCell,
114
114
  placeSealHwpx,
115
115
  scanSectionXml
116
- } from "./chunk-PB6EOWE4.js";
117
- import "./chunk-S4HE5OH5.js";
116
+ } from "./chunk-SCZJ5AN3.js";
117
+ import "./chunk-WWSUOHQM.js";
118
118
  import {
119
119
  VERSION
120
- } from "./chunk-3BRGHU2F.js";
120
+ } from "./chunk-HPP2HH7M.js";
121
121
  import {
122
122
  DEFAULT_REDACT_RULES,
123
123
  redactMarkdown,
@@ -227,4 +227,4 @@ export {
227
227
  usesLogicStructure,
228
228
  validateHwpx
229
229
  };
230
- //# sourceMappingURL=-H7GN7FIS.js.map
230
+ //# sourceMappingURL=-47RGV6AV.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  blocksToMarkdown
3
- } from "./chunk-OZTG6NCW.js";
3
+ } from "./chunk-TKZ3RXI7.js";
4
4
 
5
5
  // src/image/transcode.ts
6
6
  import { deflateSync } from "zlib";
@@ -168,4 +168,4 @@ export {
168
168
  inlineImagesIntoMarkdown,
169
169
  blocksToPages
170
170
  };
171
- //# sourceMappingURL=chunk-4TAOUMLJ.js.map
171
+ //# sourceMappingURL=chunk-4NSWEJE6.js.map
@@ -1,12 +1,12 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  parse
4
- } from "./chunk-UK3CENY6.js";
4
+ } from "./chunk-B64QO75G.js";
5
5
  import {
6
6
  classifyError,
7
7
  sanitizeError,
8
8
  toArrayBuffer
9
- } from "./chunk-3BRGHU2F.js";
9
+ } from "./chunk-HPP2HH7M.js";
10
10
 
11
11
  // src/cli/worker-parse.ts
12
12
  import { readFileSync, statSync } from "fs";
@@ -26,4 +26,4 @@ async function parseWorkerFile(absPath, options) {
26
26
  export {
27
27
  parseWorkerFile
28
28
  };
29
- //# sourceMappingURL=chunk-XMAOBI35.js.map
29
+ //# sourceMappingURL=chunk-4WWK2CAX.js.map
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  blocksToMarkdown
4
- } from "./chunk-TT6UHEDY.js";
4
+ } from "./chunk-HMD6CNBN.js";
5
5
 
6
6
  // src/page-markdown.ts
7
7
  function blocksToPages(blocks, render = blocksToMarkdown) {
@@ -29,4 +29,4 @@ function blocksToPages(blocks, render = blocksToMarkdown) {
29
29
  export {
30
30
  blocksToPages
31
31
  };
32
- //# sourceMappingURL=chunk-WZWJCMM3.js.map
32
+ //# sourceMappingURL=chunk-B2ZG4CFX.js.map
@@ -51,10 +51,10 @@ import {
51
51
  resolveParaHeading,
52
52
  simulateWrap,
53
53
  takeTocLeaders
54
- } from "./chunk-4AKR7LBP.js";
54
+ } from "./chunk-SBRXCTCO.js";
55
55
  import {
56
56
  blocksToPages
57
- } from "./chunk-WZWJCMM3.js";
57
+ } from "./chunk-B2ZG4CFX.js";
58
58
  import {
59
59
  bmpToPng,
60
60
  inlineImagesIntoMarkdown
@@ -76,7 +76,7 @@ import {
76
76
  tidyScriptTags,
77
77
  unframeLayoutTables,
78
78
  wrapScript
79
- } from "./chunk-RNDG6RQU.js";
79
+ } from "./chunk-KDNWNJDU.js";
80
80
  import {
81
81
  MAX_COLS,
82
82
  MAX_ROWS,
@@ -100,7 +100,7 @@ import {
100
100
  noteTableHtml,
101
101
  sanitizeText,
102
102
  visibleText
103
- } from "./chunk-TT6UHEDY.js";
103
+ } from "./chunk-HMD6CNBN.js";
104
104
  import {
105
105
  ANNOTATION_BLANK_RE,
106
106
  ValueCursor,
@@ -133,7 +133,7 @@ import {
133
133
  resolveUnmatched,
134
134
  scanInlineSegments,
135
135
  scanSectionXml
136
- } from "./chunk-PB6EOWE4.js";
136
+ } from "./chunk-SCZJ5AN3.js";
137
137
  import {
138
138
  MAX_DECOMPRESS_SIZE,
139
139
  MAX_XML_DEPTH,
@@ -150,7 +150,7 @@ import {
150
150
  localName,
151
151
  rawTextContent,
152
152
  readZipEntry
153
- } from "./chunk-S4HE5OH5.js";
153
+ } from "./chunk-WWSUOHQM.js";
154
154
  import {
155
155
  KordocError,
156
156
  classifyError,
@@ -166,7 +166,7 @@ import {
166
166
  toArrayBuffer,
167
167
  unescapeHtml,
168
168
  unzipLimitBytes
169
- } from "./chunk-3BRGHU2F.js";
169
+ } from "./chunk-HPP2HH7M.js";
170
170
 
171
171
  // src/table/visual.ts
172
172
  import { readFile as readFile2 } from "fs/promises";
@@ -19347,7 +19347,7 @@ var MIN_SIDE = 24;
19347
19347
  async function ocrEmbeddedImages(blocks, options, warnings) {
19348
19348
  const ocr = options?.ocr;
19349
19349
  if (ocr !== true && ocr !== "force" && typeof ocr !== "function") return false;
19350
- const { parseImageDocument } = await import("./image-ocr-3QCUKBTE.js");
19350
+ const { parseImageDocument } = await import("./image-ocr-ZIED5SPZ.js");
19351
19351
  let inserted = false, unreadable = 0;
19352
19352
  let failed = null;
19353
19353
  const walk = async (list, depth) => {
@@ -20432,9 +20432,9 @@ function buildBangchimTitleTable(title, subtitle, contact, ctx) {
20432
20432
  const w = ctx.W - 566;
20433
20433
  const fit = fitOneLine(title, frame.titleFont, frame.titlePt, w - 2 * 141 - 400, 20);
20434
20434
  const cTitle = reg.char({ font: frame.titleFont, pt: fit.pt, bold: true, ratio: fit.ratio, spacing: fit.spacing });
20435
- const center = reg.para({ align: "CENTER", lineSp: 100 });
20435
+ const center = reg.para({ align: "CENTER", lineSp: 120 });
20436
20436
  let paras = para(title, center, cTitle);
20437
- let h = Math.round(fit.pt * 100) + 1400;
20437
+ let h = Math.round(fit.pt * 100 * 1.2) + 1400;
20438
20438
  if (subtitle) {
20439
20439
  paras += para(subtitle, center, reg.char({ font: frame.titleFont, pt: 18, bold: true, color: BANGCHIM_BLUE }));
20440
20440
  h += 1800;
@@ -20452,7 +20452,7 @@ function buildBangchimSummary(text, ctx) {
20452
20452
  const w = ctx.W - 566;
20453
20453
  const pad = 566, left = 500;
20454
20454
  const avail = w - 2 * pad - left;
20455
- const p = reg.para({ align: "DISTRIBUTE", lineSp: 140, left });
20455
+ const p = reg.para({ align: "JUSTIFY", lineSp: 140, left });
20456
20456
  const c = reg.char({ font: frame.summaryFont, pt: frame.summaryPt, bold: true });
20457
20457
  const bodies = text.split("\n").map((l) => l.trim().replace(/^[□■○ㅇ◦●\-–ㆍ·•]\s*/u, "")).filter(Boolean);
20458
20458
  let lines = 0;
@@ -33223,7 +33223,7 @@ function scriptsOff(r, off) {
33223
33223
  }
33224
33224
  async function parseImage(buffer, options) {
33225
33225
  try {
33226
- const { parseImageDocument } = await import("./image-ocr-3QCUKBTE.js");
33226
+ const { parseImageDocument } = await import("./image-ocr-ZIED5SPZ.js");
33227
33227
  const { blocks, warnings, lines } = await parseImageDocument(buffer, options);
33228
33228
  stripScriptTags({ blocks });
33229
33229
  return {
@@ -33287,7 +33287,7 @@ async function parseHwp(buffer, options) {
33287
33287
  async function parsePdf(buffer, options) {
33288
33288
  let parsePdfDocument;
33289
33289
  try {
33290
- const mod = await import("./parser-4I4MM5AJ.js");
33290
+ const mod = await import("./parser-4UEOP3L3.js");
33291
33291
  parsePdfDocument = mod.parsePdfDocument;
33292
33292
  } catch {
33293
33293
  return {
@@ -33520,4 +33520,4 @@ export {
33520
33520
  parseHwpml,
33521
33521
  fillForm
33522
33522
  };
33523
- //# sourceMappingURL=chunk-UK3CENY6.js.map
33523
+ //# sourceMappingURL=chunk-B64QO75G.js.map