kordoc 4.21.9 → 4.21.10
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.
- package/README.md +15 -12
- package/dist/{-QXIJTZUP.js → -3K3QNRP7.js} +11 -11
- package/dist/{chunk-QACOMAEX.js → chunk-3DIAVYHS.js} +3 -3
- package/dist/{chunk-MGSUORGY.js → chunk-4IQHSBGA.js} +7 -4
- package/dist/chunk-4IQHSBGA.js.map +1 -0
- package/dist/{chunk-TS4GX4WP.js → chunk-5BDCETE5.js} +2 -2
- package/dist/{chunk-MWH3WQ2C.js → chunk-5SGREZ36.js} +8 -5
- package/dist/chunk-5SGREZ36.js.map +1 -0
- package/dist/{chunk-FWCKZXJY.js → chunk-7F56Y2VV.js} +2 -2
- package/dist/{chunk-62HRSQL3.js → chunk-AOWEFVJX.js} +2 -2
- package/dist/{chunk-HDPQ7QBF.js → chunk-B375LJ27.js} +3 -3
- package/dist/{chunk-UKCOUVER.js → chunk-D234SVXL.js} +2 -2
- package/dist/{chunk-B6QMZ5H6.js → chunk-DT4UY5MZ.js} +2 -2
- package/dist/{chunk-O53OIPMY.js → chunk-EPPNA2KB.js} +2 -2
- package/dist/{chunk-O53OIPMY.js.map → chunk-EPPNA2KB.js.map} +1 -1
- package/dist/{chunk-B6WEXUMV.js → chunk-FXWRLGQF.js} +2 -2
- package/dist/{chunk-LMICG6MM.js → chunk-FZQV2ZO6.js} +2 -2
- package/dist/{chunk-5NO6L655.cjs → chunk-MGVFUAWH.cjs} +3 -3
- package/dist/{chunk-5NO6L655.cjs.map → chunk-MGVFUAWH.cjs.map} +1 -1
- package/dist/{chunk-EG3UE3BC.cjs → chunk-NFIOC6CS.cjs} +3 -3
- package/dist/{chunk-EG3UE3BC.cjs.map → chunk-NFIOC6CS.cjs.map} +1 -1
- package/dist/{chunk-R6BSCIZR.cjs → chunk-ONQS3YOG.cjs} +2 -2
- package/dist/{chunk-R6BSCIZR.cjs.map → chunk-ONQS3YOG.cjs.map} +1 -1
- package/dist/{chunk-EXCGDQPB.js → chunk-PFG6AN6H.js} +2 -2
- package/dist/{chunk-FRM6WYNC.js → chunk-PGPGPM5J.js} +2 -2
- package/dist/{chunk-2PSKHMH2.js → chunk-Q2DQ3NZB.js} +4 -4
- package/dist/{chunk-ZK5L7VPR.js → chunk-QMWVKGXI.js} +6 -6
- package/dist/{chunk-LORBG6MG.cjs → chunk-RDTXIMMP.cjs} +6 -6
- package/dist/{chunk-LORBG6MG.cjs.map → chunk-RDTXIMMP.cjs.map} +1 -1
- package/dist/{chunk-HE5XFKH2.js → chunk-RU3ESQI3.js} +2 -2
- package/dist/{chunk-HE5XFKH2.js.map → chunk-RU3ESQI3.js.map} +1 -1
- package/dist/{chunk-6EKJ6J47.js → chunk-RUPSY4T4.js} +2 -2
- package/dist/{chunk-EBYYQO6A.js → chunk-VRWHLWSW.js} +10 -10
- package/dist/{chunk-TAPXIXAD.js → chunk-WP7JK5ZR.js} +3 -3
- package/dist/{chunk-EFTJ35T6.js → chunk-WZTRVWKQ.js} +2 -2
- package/dist/{chunk-FVCIEW26.cjs → chunk-X33QDIUK.cjs} +41 -38
- package/dist/chunk-X33QDIUK.cjs.map +1 -0
- package/dist/{chunk-BJP4IWGE.js → chunk-X4TZEAYE.js} +2 -2
- package/dist/{chunk-V4XBYDKE.cjs → chunk-XG55OZTQ.cjs} +13 -13
- package/dist/{chunk-V4XBYDKE.cjs.map → chunk-XG55OZTQ.cjs.map} +1 -1
- package/dist/{chunk-UK4UHB23.js → chunk-ZPB5MTYP.js} +2 -2
- package/dist/chunks-RA26PEF7.js +10 -0
- package/dist/cli.js +30 -30
- package/dist/{formula-3REO53LY.cjs → formula-5RQKN6UM.cjs} +9 -9
- package/dist/{formula-3REO53LY.cjs.map → formula-5RQKN6UM.cjs.map} +1 -1
- package/dist/{formula-HJ54W6OC.js → formula-AFDU5B2J.js} +3 -3
- package/dist/{formula-KSDCEDLB.js → formula-WXHFQE4T.js} +4 -4
- package/dist/{image-ocr-YYOYHZDE.js → image-ocr-2BC7V7J4.js} +9 -9
- package/dist/{image-ocr-Q7QV4L4N.cjs → image-ocr-7OWBI7DA.cjs} +15 -15
- package/dist/{image-ocr-Q7QV4L4N.cjs.map → image-ocr-7OWBI7DA.cjs.map} +1 -1
- package/dist/{image-ocr-IFL6L5TW.js → image-ocr-EGSQRSZ7.js} +6 -6
- package/dist/index.cjs +276 -276
- package/dist/index.js +5 -5
- package/dist/mcp.js +22 -22
- package/dist/{model-bundle-BY4E4RB4.js → model-bundle-C4K4X224.js} +5 -5
- package/dist/{models-KN7YXMZR.js → models-VC7YQO2Y.js} +5 -5
- package/dist/{parse-worker-v2-YEGH3LDV.js → parse-worker-v2-QIA6PYGX.js} +12 -12
- package/dist/{parser-H2UDOCP6.cjs → parser-S53VTR67.cjs} +130 -130
- package/dist/{parser-H2UDOCP6.cjs.map → parser-S53VTR67.cjs.map} +1 -1
- package/dist/{parser-EBH4V7UW.js → parser-WBDZCJND.js} +11 -11
- package/dist/{parser-K67MDRVQ.js → parser-XXBATYBM.js} +8 -8
- package/dist/pdf-ocr-K7EZB4BO.js +22 -0
- package/dist/pdf-ocr-SXQWKEUL.cjs +19 -0
- package/dist/{pdf-ocr-URHROKTL.cjs.map → pdf-ocr-SXQWKEUL.cjs.map} +1 -1
- package/dist/pdf-ocr-YETVVNZV.js +18 -0
- package/dist/{profile-io-5AUIY4ZK.js → profile-io-FRKYLVXA.js} +3 -3
- package/dist/{rasterize-FCFSKOJN.js → rasterize-OIFQKD2Z.js} +3 -3
- package/dist/{redact-doc-XNHWZBLI.js → redact-doc-3772TKD5.js} +11 -11
- package/dist/{render-GKYMLICR.js → render-76VTZCV3.js} +7 -7
- package/dist/seal-SB45RMGC.js +10 -0
- package/dist/{setup-YTGXU6UG.js → setup-6LCBF5RS.js} +3 -3
- package/dist/visual-CMXPHRYA.js +20 -0
- package/dist/{watch-PGLPSQZB.js → watch-4KAUOPTD.js} +12 -12
- package/package.json +1 -1
- package/dist/chunk-FVCIEW26.cjs.map +0 -1
- package/dist/chunk-MGSUORGY.js.map +0 -1
- package/dist/chunk-MWH3WQ2C.js.map +0 -1
- package/dist/chunks-OR6UM6IP.js +0 -10
- package/dist/pdf-ocr-ECPSNDNK.js +0 -22
- package/dist/pdf-ocr-URHROKTL.cjs +0 -19
- package/dist/pdf-ocr-XFHI32BK.js +0 -18
- package/dist/seal-VQS7DK5S.js +0 -10
- package/dist/visual-7PEKXK3M.js +0 -20
- /package/dist/{-QXIJTZUP.js.map → -3K3QNRP7.js.map} +0 -0
- /package/dist/{chunk-QACOMAEX.js.map → chunk-3DIAVYHS.js.map} +0 -0
- /package/dist/{chunk-TS4GX4WP.js.map → chunk-5BDCETE5.js.map} +0 -0
- /package/dist/{chunk-FWCKZXJY.js.map → chunk-7F56Y2VV.js.map} +0 -0
- /package/dist/{chunk-62HRSQL3.js.map → chunk-AOWEFVJX.js.map} +0 -0
- /package/dist/{chunk-HDPQ7QBF.js.map → chunk-B375LJ27.js.map} +0 -0
- /package/dist/{chunk-UKCOUVER.js.map → chunk-D234SVXL.js.map} +0 -0
- /package/dist/{chunk-B6QMZ5H6.js.map → chunk-DT4UY5MZ.js.map} +0 -0
- /package/dist/{chunk-B6WEXUMV.js.map → chunk-FXWRLGQF.js.map} +0 -0
- /package/dist/{chunk-LMICG6MM.js.map → chunk-FZQV2ZO6.js.map} +0 -0
- /package/dist/{chunk-EXCGDQPB.js.map → chunk-PFG6AN6H.js.map} +0 -0
- /package/dist/{chunk-FRM6WYNC.js.map → chunk-PGPGPM5J.js.map} +0 -0
- /package/dist/{chunk-2PSKHMH2.js.map → chunk-Q2DQ3NZB.js.map} +0 -0
- /package/dist/{chunk-ZK5L7VPR.js.map → chunk-QMWVKGXI.js.map} +0 -0
- /package/dist/{chunk-6EKJ6J47.js.map → chunk-RUPSY4T4.js.map} +0 -0
- /package/dist/{chunk-EBYYQO6A.js.map → chunk-VRWHLWSW.js.map} +0 -0
- /package/dist/{chunk-TAPXIXAD.js.map → chunk-WP7JK5ZR.js.map} +0 -0
- /package/dist/{chunk-EFTJ35T6.js.map → chunk-WZTRVWKQ.js.map} +0 -0
- /package/dist/{chunk-BJP4IWGE.js.map → chunk-X4TZEAYE.js.map} +0 -0
- /package/dist/{chunk-UK4UHB23.js.map → chunk-ZPB5MTYP.js.map} +0 -0
- /package/dist/{chunks-OR6UM6IP.js.map → chunks-RA26PEF7.js.map} +0 -0
- /package/dist/{formula-HJ54W6OC.js.map → formula-AFDU5B2J.js.map} +0 -0
- /package/dist/{formula-KSDCEDLB.js.map → formula-WXHFQE4T.js.map} +0 -0
- /package/dist/{image-ocr-YYOYHZDE.js.map → image-ocr-2BC7V7J4.js.map} +0 -0
- /package/dist/{image-ocr-IFL6L5TW.js.map → image-ocr-EGSQRSZ7.js.map} +0 -0
- /package/dist/{model-bundle-BY4E4RB4.js.map → model-bundle-C4K4X224.js.map} +0 -0
- /package/dist/{models-KN7YXMZR.js.map → models-VC7YQO2Y.js.map} +0 -0
- /package/dist/{parse-worker-v2-YEGH3LDV.js.map → parse-worker-v2-QIA6PYGX.js.map} +0 -0
- /package/dist/{parser-EBH4V7UW.js.map → parser-WBDZCJND.js.map} +0 -0
- /package/dist/{parser-K67MDRVQ.js.map → parser-XXBATYBM.js.map} +0 -0
- /package/dist/{pdf-ocr-ECPSNDNK.js.map → pdf-ocr-K7EZB4BO.js.map} +0 -0
- /package/dist/{pdf-ocr-XFHI32BK.js.map → pdf-ocr-YETVVNZV.js.map} +0 -0
- /package/dist/{profile-io-5AUIY4ZK.js.map → profile-io-FRKYLVXA.js.map} +0 -0
- /package/dist/{rasterize-FCFSKOJN.js.map → rasterize-OIFQKD2Z.js.map} +0 -0
- /package/dist/{redact-doc-XNHWZBLI.js.map → redact-doc-3772TKD5.js.map} +0 -0
- /package/dist/{render-GKYMLICR.js.map → render-76VTZCV3.js.map} +0 -0
- /package/dist/{seal-VQS7DK5S.js.map → seal-SB45RMGC.js.map} +0 -0
- /package/dist/{setup-YTGXU6UG.js.map → setup-6LCBF5RS.js.map} +0 -0
- /package/dist/{visual-7PEKXK3M.js.map → visual-CMXPHRYA.js.map} +0 -0
- /package/dist/{watch-PGLPSQZB.js.map → watch-4KAUOPTD.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,
|
|
15
|
+
- 🇰🇷 **한국 공문서 표 구조 100%** — 원본 HWPX 2,424문서의 보이는 표 **10,342개 전부 구조 일치**. [4.21.10 검증](docs/benchmarks.md)
|
|
16
16
|
|
|
17
17
|
[](https://youtu.be/Q13GmgDcIw0)
|
|
18
18
|
|
|
@@ -98,28 +98,31 @@ await writeFile("보고서.hwpx", Buffer.from(hwpx))
|
|
|
98
98
|
|
|
99
99
|
## 검증 결과
|
|
100
100
|
|
|
101
|
-
**4.
|
|
101
|
+
**4.21.10 · 2026-10-10 배포 검증**. 고정 코퍼스와 참조 기준으로 측정한 결과입니다.
|
|
102
102
|
|
|
103
103
|
| 대상 | 규모 | 결과 |
|
|
104
104
|
| --- | --- | --- |
|
|
105
|
-
| HWPX | 2,
|
|
106
|
-
| HWP 5.x ↔ HWPX | 1,
|
|
107
|
-
| PDF 글 | 744쌍 | 글자 재현율 **99.83%** · 읽기 순서 **99.
|
|
108
|
-
| PDF 표 | 708쌍 · 2,331표 | 표 탐지 **99.83%** · 구조 일치 **97.
|
|
105
|
+
| HWPX | 2,424문서 · 10,342표 | 표 구조 일치 **10,342/10,342 · 100%** |
|
|
106
|
+
| HWP 5.x ↔ HWPX | 1,130쌍 · 4,315표 | 짝 문서의 표 구조 일치 **100%** |
|
|
107
|
+
| PDF 글 | 744쌍 | 글자 재현율 **99.83%** · 정확도 **99.58%** · 읽기 순서 **99.16%** · 어절 F1 **98.85%** |
|
|
108
|
+
| PDF 표 | 708쌍 · 2,331표 | 표 탐지 **99.83%** · 구조 일치 **97.98%** · 칸 F1 **0.991** |
|
|
109
|
+
| PDF 전체 | 1,911문서 중 1,729건 채점 | 글 커버리지 **99.80%** |
|
|
110
|
+
| OCR | 53문서 · 102쪽 | CER **0.0421** · 글자 재현율 **99.03%** |
|
|
109
111
|
|
|
110
|
-
표 구조 점수와 셀 내용·화면 재현은 별도 지표입니다. 채점 범위·제외
|
|
112
|
+
표 구조 점수와 셀 내용·화면 재현은 별도 지표입니다. 채점 범위·제외 기준·전 벤치 문서별 비교는 [벤치마크 상세](docs/benchmarks.md)에 있습니다.
|
|
111
113
|
|
|
112
|
-
외부 PDF 벤치 **opendataloader-bench 200문서**는 4.21.
|
|
114
|
+
외부 PDF 벤치 **opendataloader-bench 200문서**는 4.21.10 배포 측정에서 기본값 종합 **0.963**, OCR 끔 **0.939**입니다. [옵션별 결과와 재현 방법](docs/benchmarks.md#pdf--markdown--opendataloader-bench)
|
|
113
115
|
|
|
114
116
|
## 최근 업데이트
|
|
115
117
|
|
|
116
|
-
최신 배포: **[4.21.
|
|
118
|
+
최신 배포: **[4.21.10](https://github.com/chrisryugj/kordoc/releases/tag/v4.21.10)** · 2026-10-10
|
|
117
119
|
|
|
118
120
|
| 버전 | 주요 변경 |
|
|
119
121
|
| --- | --- |
|
|
120
|
-
| 4.21.
|
|
121
|
-
| 4.21.
|
|
122
|
-
| 4.21.
|
|
122
|
+
| 4.21.10 | PDF 흐름도 표·괄호 풀이 — 선 격자 표를 품은 클러스터 후보 거름, 짧은 괄호 풀이 앞 줄 꺾임 이음 (PDF 어절 F1 98.84 → 98.85%·OCR CER 0.0443 → 0.0421, 문서별 하락 0) |
|
|
123
|
+
| 4.21.9 | PDF 줄 꺾임 이음 — 낱말 가운데 꺾임·겹조사·계사·접미사·명사+하다, 본문 위 첨자 행 흡수 (PDF 어절 F1 98.81 → 98.84%·글 커버리지 99.79 → 99.80%, 문서별 하락 0) |
|
|
124
|
+
| 4.21.8 | PDF 표 묶음 — 돌려 찍은 가로 표 세우기·데이터 표의 차트 오판·좁은 숫자 열·칸 걸친 한 조각·칸 안 쌓인 금액 (OCR CER 0.0445 → 0.0443·열화 OCR scan 0.0821 → 0.0805, 문서별 하락 0) |
|
|
125
|
+
| 4.21.7 | PDF 토막 괘선 칸·글 조각 클립·연락처 표 — 예산서 상세 칸(OCR CER 0.0512 → 0.0445), ezPDF·MS Print 글 조각 클립이 만든 가짜 표, 연락처 6열 (열화 OCR scan 0.0954 → 0.0821·글 커버리지 99.78 → 99.79%, 문서별 하락 0) |
|
|
123
126
|
| 4.21.6 | 연락처 표 부서별 병합·여러 사람 칸 분할(PDF 표 구조 일치 97.94→97.98%), XLSX·XLS 200열 밖 칸 유실 수리, HWP3 포함 그림 추출, 수식 OCR LaTeX 명령 쪼개기·영역 상한 수리, PPTX 서식 트랙·코퍼스 보강(HWP3 75·서식 58·rhwp 230) |
|
|
124
127
|
| 4.21.5 | PDF 품질 묶음 — OCR 두 단 가짜 표(#141 부작용)·그림 OCR 라벨 묶음·한 자리 눈금, 주소 링크·벡터 차트 값 축·단 끝줄·각주 순서 (ODL 기본 0.958 → 0.963, 문서별 하락 0) · 개조식·보고서 요약 상자가 md→hwpx→md→hwpx 왕복에서 유지 |
|
|
125
128
|
| 4.21.4 | MCP `fill_form` 값 파일 입력 `fields_file`(값이 대화에 안 남고 응답은 글자 수만), 전 벤치 묶음 러너·문서별 비교기 `bench/suite.mjs` |
|
|
@@ -54,17 +54,17 @@ import {
|
|
|
54
54
|
unknownFontWarnings,
|
|
55
55
|
usesGaejosikMunche,
|
|
56
56
|
validateHwpx
|
|
57
|
-
} from "./chunk-
|
|
57
|
+
} from "./chunk-VRWHLWSW.js";
|
|
58
58
|
import {
|
|
59
59
|
blocksToPages
|
|
60
|
-
} from "./chunk-
|
|
60
|
+
} from "./chunk-RUPSY4T4.js";
|
|
61
61
|
import {
|
|
62
62
|
applySplices,
|
|
63
63
|
buildParagraphSplices,
|
|
64
64
|
buildRangeSplices,
|
|
65
65
|
placeSealHwpx,
|
|
66
66
|
scanSectionXml
|
|
67
|
-
} from "./chunk-
|
|
67
|
+
} from "./chunk-B375LJ27.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-
|
|
75
|
+
} from "./chunk-PGPGPM5J.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-
|
|
100
|
+
} from "./chunk-QMWVKGXI.js";
|
|
101
101
|
import "./chunk-7FCNOKOR.js";
|
|
102
|
-
import "./chunk-
|
|
102
|
+
import "./chunk-PFG6AN6H.js";
|
|
103
103
|
import "./chunk-VQFA55IC.js";
|
|
104
|
-
import "./chunk-
|
|
104
|
+
import "./chunk-FXWRLGQF.js";
|
|
105
105
|
import {
|
|
106
106
|
blocksToMarkdown,
|
|
107
107
|
flattenLayoutTables,
|
|
108
108
|
hasStructuredCellContent
|
|
109
|
-
} from "./chunk-
|
|
110
|
-
import "./chunk-
|
|
109
|
+
} from "./chunk-ZPB5MTYP.js";
|
|
110
|
+
import "./chunk-FZQV2ZO6.js";
|
|
111
111
|
import {
|
|
112
112
|
VERSION
|
|
113
|
-
} from "./chunk-
|
|
113
|
+
} from "./chunk-EPPNA2KB.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=-
|
|
207
|
+
//# sourceMappingURL=-3K3QNRP7.js.map
|
|
@@ -10,10 +10,10 @@ import {
|
|
|
10
10
|
extractPageBlocksWithLines,
|
|
11
11
|
getOcrModelsDir,
|
|
12
12
|
parseCharacterDict
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-5SGREZ36.js";
|
|
14
14
|
import {
|
|
15
15
|
OPTIONAL_DEP_INSTALL_HINT
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-RU3ESQI3.js";
|
|
17
17
|
|
|
18
18
|
// src/ocr/ruling-lines.ts
|
|
19
19
|
var INK_LUMA_MAX = 205;
|
|
@@ -2130,4 +2130,4 @@ export {
|
|
|
2130
2130
|
groupOcrLines,
|
|
2131
2131
|
ocrItemsToBlocks
|
|
2132
2132
|
};
|
|
2133
|
-
//# sourceMappingURL=chunk-
|
|
2133
|
+
//# sourceMappingURL=chunk-3DIAVYHS.js.map
|
|
@@ -5,11 +5,11 @@ import {
|
|
|
5
5
|
HEADING_RATIO_H2,
|
|
6
6
|
HEADING_RATIO_H3,
|
|
7
7
|
tidyScriptTags
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-PFG6AN6H.js";
|
|
9
9
|
import {
|
|
10
10
|
safeMax,
|
|
11
11
|
safeMin
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-EPPNA2KB.js";
|
|
13
13
|
|
|
14
14
|
// src/pdf/line-extract.ts
|
|
15
15
|
import { OPS } from "pdfjs-dist/legacy/build/pdf.mjs";
|
|
@@ -2224,9 +2224,11 @@ function wrapJoiner(prevText, nextText, lex, heads = true) {
|
|
|
2224
2224
|
if (lex && heads) {
|
|
2225
2225
|
const tail = left.match(/[가-힣]+$/)?.[0], run = right.match(/^[가-힣]+/)?.[0];
|
|
2226
2226
|
if (tail && run && !STANDALONE_SYLLABLE.test(tail) && lex.startsWord(tail + run.slice(0, 2)) && !lex.spacedHead(tail, run[0])) return "";
|
|
2227
|
+
if (/[가-힣]{2}$/.test(left) && /^\([^()\s]*\)/.test(right) && !endsAsWord(left) && !/(?:함|음|됨|임|다)$/.test(left) && !BARE_UNIT_PAREN.test(right) && !/^\(\d/.test(right)) return "";
|
|
2227
2228
|
}
|
|
2228
2229
|
return " ";
|
|
2229
2230
|
}
|
|
2231
|
+
var BARE_UNIT_PAREN = /^\((?:%|‰|[가-힣]{1,3}|[A-Za-z]{1,5}|[A-Za-z]+\/[A-Za-z]+)\)[.,]?$/;
|
|
2230
2232
|
var PARA_LAST_LINE = /* @__PURE__ */ new WeakMap();
|
|
2231
2233
|
var PARA_FIRST_LEFT = /* @__PURE__ */ new WeakMap();
|
|
2232
2234
|
var PAGE_REF_TAIL = /(?:\t|…|·{2}|\.{3})\s*\d{1,4}(?:\s*\/\s*\d{1,4})?\s*$/;
|
|
@@ -8050,7 +8052,8 @@ function extractBlocksWithGrids(items, pageNum, pageWidth, pageHeight, grids, ho
|
|
|
8050
8052
|
const proseColumns = findTwoColumnProseCutX(clusterItems) !== null || detectPersistentColumnGutter(remaining.map((i) => ({ x: i.x, y: i.y, w: i.w, h: i.h > 0 ? i.h : i.fontSize }))) !== null;
|
|
8051
8053
|
const clusterResults = (proseColumns ? [] : detectClusterTables(clusterItems, pageNum)).filter((cr) => {
|
|
8052
8054
|
const b = cr.bbox;
|
|
8053
|
-
|
|
8055
|
+
const overlapX = (x) => Math.min(x.x + x.width, b.x + b.width) - Math.max(x.x, b.x);
|
|
8056
|
+
return !blocks.some((x) => x.bbox && x.bbox.y >= b.y - 2 && x.bbox.y + x.bbox.height <= b.y + b.height + 2 && (x.type === "paragraph" ? (x.text?.match(/\p{L}/gu)?.length ?? 0) >= 10 && overlapX(x.bbox) >= 0.8 * b.width : x.type === "table" && !ocrPage && x.table?.cols === cr.table.cols && overlapX(x.bbox) >= 0.5 * Math.min(x.bbox.width, b.width)));
|
|
8054
8057
|
});
|
|
8055
8058
|
if (clusterResults.length > 0) {
|
|
8056
8059
|
const ciToIdx = /* @__PURE__ */ new Map();
|
|
@@ -8633,4 +8636,4 @@ export {
|
|
|
8633
8636
|
UNRULED_REGION_TABLES,
|
|
8634
8637
|
mergeOcrImageRegions
|
|
8635
8638
|
};
|
|
8636
|
-
//# sourceMappingURL=chunk-
|
|
8639
|
+
//# sourceMappingURL=chunk-4IQHSBGA.js.map
|