kordoc 4.10.0 → 4.12.0
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 +18 -0
- package/dist/{-AN4MKOOO.js → -B3EUUBPV.js} +8 -8
- package/dist/{chunk-KEF4UQYI.js → chunk-2IR3PEZU.js} +2 -2
- package/dist/{chunk-QYXQJPB7.js → chunk-46UDI56N.js} +3 -3
- package/dist/{chunk-NMXDXHHW.js → chunk-4PKNWBXJ.js} +2 -2
- package/dist/{chunk-WLUDCIOK.js → chunk-7JQ2ITT2.js} +2 -2
- package/dist/{chunk-ZOLKTMBS.cjs → chunk-AT23GFSK.cjs} +7 -7
- package/dist/{chunk-ZOLKTMBS.cjs.map → chunk-AT23GFSK.cjs.map} +1 -1
- package/dist/{chunk-AOTA4XTU.js → chunk-BQE7AMFS.js} +2 -2
- package/dist/{chunk-4SIKWOLQ.cjs → chunk-BQSWSMRG.cjs} +2 -2
- package/dist/{chunk-4SIKWOLQ.cjs.map → chunk-BQSWSMRG.cjs.map} +1 -1
- package/dist/{chunk-YVPYCQOG.js → chunk-COGFPMEB.js} +2 -2
- package/dist/{chunk-HO7N6T36.js → chunk-DRLKMFDV.js} +3 -3
- package/dist/{chunk-B4MQXOU5.js → chunk-GHVXLV52.js} +52 -8
- package/dist/chunk-GHVXLV52.js.map +1 -0
- package/dist/{chunk-OQNZCCJI.cjs → chunk-HFJWCAJ2.cjs} +6 -6
- package/dist/{chunk-OQNZCCJI.cjs.map → chunk-HFJWCAJ2.cjs.map} +1 -1
- package/dist/{chunk-VR3ECURZ.js → chunk-HGUNWAXK.js} +52 -8
- package/dist/chunk-HGUNWAXK.js.map +1 -0
- package/dist/{chunk-JAY6BXZ6.js → chunk-I2OETEEL.js} +2 -2
- package/dist/{chunk-7UUQXASL.js → chunk-MJPRWCI5.js} +2 -2
- package/dist/{chunk-4EJLRZ7A.js → chunk-PFUW4I4I.js} +410 -80
- package/dist/chunk-PFUW4I4I.js.map +1 -0
- package/dist/{chunk-PDXRLQD6.js → chunk-QKFCGJJY.js} +2 -2
- package/dist/{chunk-34IBS3JN.js → chunk-SKGYPM6L.js} +2 -2
- package/dist/{chunk-SV2YYPBO.js → chunk-SMGSCP57.js} +2 -2
- package/dist/{chunk-EWUFLCRP.js → chunk-TF5DS74F.js} +3 -3
- package/dist/{chunk-NE7GR65O.js → chunk-TJYZY2O6.js} +3 -3
- package/dist/{chunk-2FNQN23O.cjs → chunk-TROD36DK.cjs} +3 -3
- package/dist/{chunk-2FNQN23O.cjs.map → chunk-TROD36DK.cjs.map} +1 -1
- package/dist/{chunk-V7F5765M.cjs → chunk-TYYJSOZS.cjs} +54 -10
- package/dist/chunk-TYYJSOZS.cjs.map +1 -0
- package/dist/{chunk-F3OPGGQ2.js → chunk-YASFVKDT.js} +2 -2
- package/dist/chunks-Q4GCPRRU.js +10 -0
- package/dist/cli.js +20 -20
- package/dist/{formula-UYS7Z7IH.js → formula-G4CD5KQ6.js} +3 -3
- package/dist/{formula-LFDXPFQH.js → formula-WGKKR5OQ.js} +4 -4
- package/dist/{formula-4QA6ZSFP.cjs → formula-YMGXXRBQ.cjs} +9 -9
- package/dist/{formula-4QA6ZSFP.cjs.map → formula-YMGXXRBQ.cjs.map} +1 -1
- package/dist/{image-ocr-POPCJGL5.cjs → image-ocr-BE2HHMVN.cjs} +11 -11
- package/dist/{image-ocr-POPCJGL5.cjs.map → image-ocr-BE2HHMVN.cjs.map} +1 -1
- package/dist/{image-ocr-NOU6O7ZY.js → image-ocr-M4RP4INO.js} +7 -7
- package/dist/{image-ocr-3YP5I2H4.js → image-ocr-MBWZK3ZT.js} +5 -5
- package/dist/index.cjs +587 -257
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +406 -76
- package/dist/index.js.map +1 -1
- package/dist/mcp.js +15 -15
- package/dist/{model-bundle-AUKJF6GA.js → model-bundle-BIMP5DIH.js} +5 -5
- package/dist/{models-QKSQSUWJ.js → models-QPOEGHVA.js} +5 -5
- package/dist/{parser-6HKVNDZM.js → parser-CMNHBVTL.js} +6 -6
- package/dist/{parser-VVGAZIAX.js → parser-NR3XO4SM.js} +6 -6
- package/dist/{parser-VAIMONF2.cjs → parser-QJY5W47V.cjs} +26 -26
- package/dist/{parser-VAIMONF2.cjs.map → parser-QJY5W47V.cjs.map} +1 -1
- package/dist/pdf-ocr-DF3OTBKH.js +13 -0
- package/dist/pdf-ocr-R4DIKF4Q.js +16 -0
- package/dist/pdf-ocr-T3RHIZKY.cjs +14 -0
- package/dist/{pdf-ocr-4CWHKKTX.cjs.map → pdf-ocr-T3RHIZKY.cjs.map} +1 -1
- package/dist/{profile-io-PYCSBITE.js → profile-io-UZ43CLWX.js} +3 -3
- package/dist/{rasterize-TUBHYALD.js → rasterize-JC2JVVOF.js} +2 -2
- package/dist/render-KSQ6UGCP.js +10 -0
- package/dist/seal-EOFFQ4JR.js +10 -0
- package/dist/{setup-6EUKBDMC.js → setup-WDUVPFX3.js} +3 -3
- package/dist/{watch-JVGXPTCI.js → watch-UI7OXIES.js} +9 -9
- package/package.json +1 -1
- package/dist/chunk-4EJLRZ7A.js.map +0 -1
- package/dist/chunk-B4MQXOU5.js.map +0 -1
- package/dist/chunk-V7F5765M.cjs.map +0 -1
- package/dist/chunk-VR3ECURZ.js.map +0 -1
- package/dist/chunks-JUBR2TW7.js +0 -10
- package/dist/pdf-ocr-4CWHKKTX.cjs +0 -14
- package/dist/pdf-ocr-D6HR23OB.js +0 -13
- package/dist/pdf-ocr-WIMNTEVH.js +0 -16
- package/dist/render-QW5Z4IMW.js +0 -10
- package/dist/seal-OTOP5CLA.js +0 -10
- /package/dist/{-AN4MKOOO.js.map → -B3EUUBPV.js.map} +0 -0
- /package/dist/{chunk-KEF4UQYI.js.map → chunk-2IR3PEZU.js.map} +0 -0
- /package/dist/{chunk-QYXQJPB7.js.map → chunk-46UDI56N.js.map} +0 -0
- /package/dist/{chunk-NMXDXHHW.js.map → chunk-4PKNWBXJ.js.map} +0 -0
- /package/dist/{chunk-WLUDCIOK.js.map → chunk-7JQ2ITT2.js.map} +0 -0
- /package/dist/{chunk-AOTA4XTU.js.map → chunk-BQE7AMFS.js.map} +0 -0
- /package/dist/{chunk-YVPYCQOG.js.map → chunk-COGFPMEB.js.map} +0 -0
- /package/dist/{chunk-HO7N6T36.js.map → chunk-DRLKMFDV.js.map} +0 -0
- /package/dist/{chunk-JAY6BXZ6.js.map → chunk-I2OETEEL.js.map} +0 -0
- /package/dist/{chunk-7UUQXASL.js.map → chunk-MJPRWCI5.js.map} +0 -0
- /package/dist/{chunk-PDXRLQD6.js.map → chunk-QKFCGJJY.js.map} +0 -0
- /package/dist/{chunk-34IBS3JN.js.map → chunk-SKGYPM6L.js.map} +0 -0
- /package/dist/{chunk-SV2YYPBO.js.map → chunk-SMGSCP57.js.map} +0 -0
- /package/dist/{chunk-EWUFLCRP.js.map → chunk-TF5DS74F.js.map} +0 -0
- /package/dist/{chunk-NE7GR65O.js.map → chunk-TJYZY2O6.js.map} +0 -0
- /package/dist/{chunk-F3OPGGQ2.js.map → chunk-YASFVKDT.js.map} +0 -0
- /package/dist/{chunks-JUBR2TW7.js.map → chunks-Q4GCPRRU.js.map} +0 -0
- /package/dist/{formula-UYS7Z7IH.js.map → formula-G4CD5KQ6.js.map} +0 -0
- /package/dist/{formula-LFDXPFQH.js.map → formula-WGKKR5OQ.js.map} +0 -0
- /package/dist/{image-ocr-NOU6O7ZY.js.map → image-ocr-M4RP4INO.js.map} +0 -0
- /package/dist/{image-ocr-3YP5I2H4.js.map → image-ocr-MBWZK3ZT.js.map} +0 -0
- /package/dist/{model-bundle-AUKJF6GA.js.map → model-bundle-BIMP5DIH.js.map} +0 -0
- /package/dist/{models-QKSQSUWJ.js.map → models-QPOEGHVA.js.map} +0 -0
- /package/dist/{parser-6HKVNDZM.js.map → parser-CMNHBVTL.js.map} +0 -0
- /package/dist/{parser-VVGAZIAX.js.map → parser-NR3XO4SM.js.map} +0 -0
- /package/dist/{pdf-ocr-D6HR23OB.js.map → pdf-ocr-DF3OTBKH.js.map} +0 -0
- /package/dist/{pdf-ocr-WIMNTEVH.js.map → pdf-ocr-R4DIKF4Q.js.map} +0 -0
- /package/dist/{profile-io-PYCSBITE.js.map → profile-io-UZ43CLWX.js.map} +0 -0
- /package/dist/{rasterize-TUBHYALD.js.map → rasterize-JC2JVVOF.js.map} +0 -0
- /package/dist/{render-QW5Z4IMW.js.map → render-KSQ6UGCP.js.map} +0 -0
- /package/dist/{seal-OTOP5CLA.js.map → seal-EOFFQ4JR.js.map} +0 -0
- /package/dist/{setup-6EUKBDMC.js.map → setup-WDUVPFX3.js.map} +0 -0
- /package/dist/{watch-JVGXPTCI.js.map → watch-UI7OXIES.js.map} +0 -0
package/README.md
CHANGED
|
@@ -89,6 +89,24 @@ MCP 등록 대신 스킬(SKILL.md) 형태로 쓰려면:
|
|
|
89
89
|
|
|
90
90
|
---
|
|
91
91
|
|
|
92
|
+
## v4.12.0 변경사항
|
|
93
|
+
|
|
94
|
+
v4.11.0 이 걷어낸 HWP3 유실의 **잔여 전량**을 처리했습니다. rhwp `samples/` 의 HWP3 원본 9종을 한컴 변환본과 문자 멀티셋으로 대조하면, 이제 변환본에만 있는 문자는 그림 대체텍스트를 빼면 **0** 입니다.
|
|
95
|
+
|
|
96
|
+
- **🖼️ 그리기 개체 안 글상자 텍스트 회수 (#73)**: HWP3 의 ch=11(그림) 확장 블록은 `pic_type` 이 3 이면 그림이 아니라 **그리기 개체 트리**입니다. 표지 제목·순서도 라벨처럼 눈에 잘 띄는 본문이 그 안 글상자에 들어가는데, 종전에는 블록을 통째로 건너뛰어 사라졌습니다(sample16 618자, sample19 86자). 프레임 헤더 → 도형 트리(형제·자식 비트)를 훑어 글상자 문단 리스트를 본문과 같은 파서로 읽습니다. 비-글상자 도형이 '글상자로 만들기' 로 같은 블록을 실은 경우도, **잉여 길이가 스펙 표 78 과 정확히 맞을 때만** 회수합니다. 트리 해석은 확장 블록 슬라이스 안에서만 하므로 실패해도 본문 스트림 동기가 깨지지 않고 종전 동작으로 되돌아갑니다(재귀 256단계·도형 4,096개 상한).
|
|
97
|
+
- **🔣 비가시 마커가 대체 문자로 새던 것**: 새 번호·쪽 번호 위치·쪽 감추기 제어 문자 자리에 ``(U+FFFC)를 심어 마크다운에 그대로 남았습니다. 한글도 그 자리에 아무 글자를 내지 않습니다 — 차례 표식과 같은 계약으로 맞췄습니다.
|
|
98
|
+
|
|
99
|
+
## v4.11.0 변경사항
|
|
100
|
+
|
|
101
|
+
rhwp 최신 devel(v0.8.3~0.8.4)을 훑어 kordoc 의 HWP3 디코더에 반영했습니다. 네 결함 모두 **글자가 경고 없이 사라지는** 형태라, 변환은 성공했는데 본문 일부가 비어 있는 식으로만 드러납니다.
|
|
102
|
+
|
|
103
|
+
- **🈳 HWP3 기호·한자 유실 (완성형 좌표 규칙 누락)**: HWP3 은 KS X 1001 기호행(0xA1~0xAC)을 행 간격 96, 한자행(0xCA~0xFD)을 행 간격 94 로 편 코드에 문자를 담습니다. rhwp 에서 johab 디코더를 포팅할 때 하드코딩 표만 옮기고 **이 규칙 두 개를 빠뜨려**, 표에 없는 코드는 전부 삭제됐습니다 — `채권(債權)조서` 가 `채권()조서` 가 되고 `※ ○ 【】 ∴ ☞ ₩ ━` 같은 기호가 통째로 사라집니다. 규칙을 이식하고, 표준 매핑과 한컴 표기가 갈리는 두 자리(`∼→~`, `⊙→◉`)를 보정했습니다.
|
|
104
|
+
- **🔤 사적 코드 실측 표 확장**: 라틴 확장(`ü·ö·ä·ß` 가 지워져 "für"→"fr" 이 되던 것)과 rhwp #5860 의 실측 28코드를 이식하고, rhwp 표에도 없던 코드를 직접 실측해 더했습니다 — 괘선 조각 6종, 겹줄, 원문자·괄호문자 계열(`⓪①②`·`ⓐ~ⓕ`·`㉠~㉢`), 글머리표 `•` 등. 근거는 HWP3 원본과 같은 문서의 한컴 변환본을 문맥 정렬한 것으로, **코드 출현 횟수가 변환본의 해당 문자 개수와 정확히 맞는 것만** 실었습니다.
|
|
105
|
+
- **✒️ 초성 없는 아래아 음절 유실**: 초성이 '채움'인 아래아 음절(`ㆍ` 단독)을 무효 초성으로 보고 버렸습니다. 한컴 변환본과 같이 자모 하나로 남깁니다.
|
|
106
|
+
- **🧱 서식 run 이 PUA 정리를 건너뛰던 결함 (전 포맷)**: 굵게·밑줄이 걸린 문단은 span 경로를 타는데 여기서만 PUA 치환·제거를 하지 않아, 한컴 전용 글머리표·괘선 조각이 **원시 PUA(두부 문자) 그대로** 마크다운에 실렸습니다. HWP5·HWPX·HWP3 공통 경로입니다. 함께 rhwp 의 한컴 PUA 검증표(한컴 PDF 대조 확정)에서 빠져 있던 22종(`┌┬┐└┘│`·`┈═━`·`⓪①②④~⑨`·`✺◇▸□`·`⊞⊟`)을 동기화했습니다.
|
|
107
|
+
|
|
108
|
+
검증은 rhwp `samples/` 의 HWP3 원본 9종을 같은 문서의 한컴 변환본과 문자 멀티셋으로 대조했습니다. 변환본에만 있는 문자(=HWP3 경로에서 잃은 문자)가 `hwp3-sample11` 189→0, `hwp3-sample16` 1,139→618, `hwp3-sample10` 172→11 로 줄었습니다. 남은 618자는 **그리기 개체 안 글상자**(표지 제목·순서도 라벨)로, kordoc 은 아직 그리기 개체를 건너뜁니다.
|
|
109
|
+
|
|
92
110
|
## v4.10.0 변경사항
|
|
93
111
|
|
|
94
112
|
- **📡 실패 계약 전 포맷 확장 (#69)**: 실패 JSON(`success:false` + `code`)이 `--format json` 전용에서 **markdown·chunks 포함 전 포맷**으로 확장됐습니다. 헤드리스 파이프라인이 stderr 한국어 문구 파싱 없이 원인 코드로 분기할 수 있습니다. `code` 값 집합·종료 코드 규칙·안정성 보증을 README [실패 계약](#실패-계약--기계-판독-가능한-실패-json-v4100-69) 표로 문서화했습니다. (@sorbetsharkroundhand 제보)
|
|
@@ -56,7 +56,7 @@ import {
|
|
|
56
56
|
unknownFontWarnings,
|
|
57
57
|
usesGaejosikMunche,
|
|
58
58
|
validateHwpx
|
|
59
|
-
} from "./chunk-
|
|
59
|
+
} from "./chunk-PFUW4I4I.js";
|
|
60
60
|
import "./chunk-7FCNOKOR.js";
|
|
61
61
|
import "./chunk-N3DLQ2YH.js";
|
|
62
62
|
import "./chunk-MOL7MDBG.js";
|
|
@@ -66,7 +66,7 @@ import {
|
|
|
66
66
|
buildRangeSplices,
|
|
67
67
|
placeSealHwpx,
|
|
68
68
|
scanSectionXml
|
|
69
|
-
} from "./chunk-
|
|
69
|
+
} from "./chunk-TF5DS74F.js";
|
|
70
70
|
import {
|
|
71
71
|
DEFAULT_REDACT_RULES,
|
|
72
72
|
redactMarkdown,
|
|
@@ -74,10 +74,10 @@ import {
|
|
|
74
74
|
} from "./chunk-DZIXKL7E.js";
|
|
75
75
|
import {
|
|
76
76
|
blocksToChunks
|
|
77
|
-
} from "./chunk-
|
|
77
|
+
} from "./chunk-YASFVKDT.js";
|
|
78
78
|
import {
|
|
79
79
|
blocksToMarkdown
|
|
80
|
-
} from "./chunk-
|
|
80
|
+
} from "./chunk-GHVXLV52.js";
|
|
81
81
|
import {
|
|
82
82
|
SPACE_EM_FIXED,
|
|
83
83
|
SPACE_EM_FONT,
|
|
@@ -87,11 +87,11 @@ import {
|
|
|
87
87
|
renderHwpxToSvg,
|
|
88
88
|
simulateWrap,
|
|
89
89
|
simulateWrapKeepWord
|
|
90
|
-
} from "./chunk-
|
|
91
|
-
import "./chunk-
|
|
90
|
+
} from "./chunk-46UDI56N.js";
|
|
91
|
+
import "./chunk-I2OETEEL.js";
|
|
92
92
|
import {
|
|
93
93
|
VERSION
|
|
94
|
-
} from "./chunk-
|
|
94
|
+
} from "./chunk-4PKNWBXJ.js";
|
|
95
95
|
export {
|
|
96
96
|
BUILTIN_TEMPLATES,
|
|
97
97
|
DEFAULT_REDACT_RULES,
|
|
@@ -169,4 +169,4 @@ export {
|
|
|
169
169
|
usesGaejosikMunche,
|
|
170
170
|
validateHwpx
|
|
171
171
|
};
|
|
172
|
-
//# sourceMappingURL=-
|
|
172
|
+
//# sourceMappingURL=-B3EUUBPV.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
KordocError
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-4PKNWBXJ.js";
|
|
5
5
|
|
|
6
6
|
// src/shared/offline.ts
|
|
7
7
|
import { realpathSync } from "fs";
|
|
@@ -49,4 +49,4 @@ export {
|
|
|
49
49
|
getAccessRoot,
|
|
50
50
|
assertWithinRoot
|
|
51
51
|
};
|
|
52
|
-
//# sourceMappingURL=chunk-
|
|
52
|
+
//# sourceMappingURL=chunk-2IR3PEZU.js.map
|
|
@@ -7,11 +7,11 @@ import {
|
|
|
7
7
|
createXmlParser,
|
|
8
8
|
findChildByLocalName,
|
|
9
9
|
parseRenderStyles
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-I2OETEEL.js";
|
|
11
11
|
import {
|
|
12
12
|
KordocError,
|
|
13
13
|
precheckZipSize
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-4PKNWBXJ.js";
|
|
15
15
|
|
|
16
16
|
// src/render/svg-render.ts
|
|
17
17
|
import JSZip from "jszip";
|
|
@@ -1286,4 +1286,4 @@ export {
|
|
|
1286
1286
|
fitRatioForFewerLines,
|
|
1287
1287
|
renderHwpxToSvg
|
|
1288
1288
|
};
|
|
1289
|
-
//# sourceMappingURL=chunk-
|
|
1289
|
+
//# sourceMappingURL=chunk-46UDI56N.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
|
|
3
3
|
// src/utils.ts
|
|
4
|
-
var VERSION = true ? "4.
|
|
4
|
+
var VERSION = true ? "4.12.0" : "0.0.0-dev";
|
|
5
5
|
function toArrayBuffer(buf) {
|
|
6
6
|
if (buf.byteOffset === 0 && buf.byteLength === buf.buffer.byteLength) {
|
|
7
7
|
return buf.buffer;
|
|
@@ -123,4 +123,4 @@ export {
|
|
|
123
123
|
safeMax,
|
|
124
124
|
classifyError
|
|
125
125
|
};
|
|
126
|
-
//# sourceMappingURL=chunk-
|
|
126
|
+
//# sourceMappingURL=chunk-4PKNWBXJ.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
KordocError
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-MJPRWCI5.js";
|
|
4
4
|
|
|
5
5
|
// src/pdf/formula/models.ts
|
|
6
6
|
import { createHash } from "crypto";
|
|
@@ -266,4 +266,4 @@ export {
|
|
|
266
266
|
ensureFormulaModels,
|
|
267
267
|
ensureSingleModel
|
|
268
268
|
};
|
|
269
|
-
//# sourceMappingURL=chunk-
|
|
269
|
+
//# sourceMappingURL=chunk-7JQ2ITT2.js.map
|
|
@@ -6,7 +6,7 @@ var _chunkT7GRHAIWcjs = require('./chunk-T7GRHAIW.cjs');
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
var
|
|
9
|
+
var _chunkBQSWSMRGcjs = require('./chunk-BQSWSMRG.cjs');
|
|
10
10
|
|
|
11
11
|
// src/pdf/image-regions.ts
|
|
12
12
|
var _pdfmjs = require('pdfjs-dist/legacy/build/pdf.mjs');
|
|
@@ -2834,14 +2834,14 @@ function isProseSpread(items) {
|
|
|
2834
2834
|
for (let i = 1; i < sorted.length; i++) {
|
|
2835
2835
|
gaps.push(sorted[i].x - (sorted[i - 1].x + sorted[i - 1].w));
|
|
2836
2836
|
}
|
|
2837
|
-
const maxGap =
|
|
2837
|
+
const maxGap = _chunkBQSWSMRGcjs.safeMax.call(void 0, gaps);
|
|
2838
2838
|
const avgLen = items.reduce((s, i) => s + i.text.length, 0) / items.length;
|
|
2839
2839
|
return maxGap < 40 && avgLen < 5;
|
|
2840
2840
|
}
|
|
2841
2841
|
function detectColumns(yLines) {
|
|
2842
2842
|
const allItems = yLines.flat();
|
|
2843
2843
|
if (allItems.length === 0) return null;
|
|
2844
|
-
const pageWidth =
|
|
2844
|
+
const pageWidth = _chunkBQSWSMRGcjs.safeMax.call(void 0, allItems.map((i) => i.x + i.w)) - _chunkBQSWSMRGcjs.safeMin.call(void 0, allItems.map((i) => i.x));
|
|
2845
2845
|
if (pageWidth < 100) return null;
|
|
2846
2846
|
let bigoLineIdx = -1;
|
|
2847
2847
|
for (let i = 0; i < yLines.length; i++) {
|
|
@@ -3419,7 +3419,7 @@ function extractBlocksWithGrids(items, pageNum, grids, horizontals, verticals) {
|
|
|
3419
3419
|
if (gutterX !== null) {
|
|
3420
3420
|
const gx = gutterX;
|
|
3421
3421
|
const allY = remaining.map((i) => i.y);
|
|
3422
|
-
const pageH =
|
|
3422
|
+
const pageH = _chunkBQSWSMRGcjs.safeMax.call(void 0, allY) - _chunkBQSWSMRGcjs.safeMin.call(void 0, allY);
|
|
3423
3423
|
const gapThreshold = Math.max(15, pageH * 0.03);
|
|
3424
3424
|
const sides = [
|
|
3425
3425
|
remaining.filter((i) => i.x + i.w <= gx),
|
|
@@ -3439,7 +3439,7 @@ function extractBlocksWithGrids(items, pageNum, grids, horizontals, verticals) {
|
|
|
3439
3439
|
finalTextBlocks = detectListBlocks(textBlocks);
|
|
3440
3440
|
} else {
|
|
3441
3441
|
const allY = remaining.map((i) => i.y);
|
|
3442
|
-
const pageH =
|
|
3442
|
+
const pageH = _chunkBQSWSMRGcjs.safeMax.call(void 0, allY) - _chunkBQSWSMRGcjs.safeMin.call(void 0, allY);
|
|
3443
3443
|
const groups = xyCutOrder(remaining, Math.max(15, pageH * 0.03));
|
|
3444
3444
|
const textBlocks = [];
|
|
3445
3445
|
for (const group of groups) {
|
|
@@ -3647,7 +3647,7 @@ function extractPageBlocksFallback(items, pageNum, fullPage = false, detectTable
|
|
|
3647
3647
|
blocks.push({ type: "paragraph", text: tableText, pageNumber: pageNum, bbox, style: dominantStyle(items) });
|
|
3648
3648
|
} else {
|
|
3649
3649
|
const allY = items.map((i) => i.y);
|
|
3650
|
-
const pageHeight =
|
|
3650
|
+
const pageHeight = _chunkBQSWSMRGcjs.safeMax.call(void 0, allY) - _chunkBQSWSMRGcjs.safeMin.call(void 0, allY);
|
|
3651
3651
|
const gapThreshold = Math.max(15, pageHeight * 0.03);
|
|
3652
3652
|
const orderedGroups = proseCutX !== null ? splitTwoColumnProse(items, proseCutX) : xyCutOrder(items, gapThreshold);
|
|
3653
3653
|
for (const group of orderedGroups) {
|
|
@@ -3686,4 +3686,4 @@ function extractPageBlocksFallback(items, pageNum, fullPage = false, detectTable
|
|
|
3686
3686
|
|
|
3687
3687
|
|
|
3688
3688
|
exports.extractImageRegions = extractImageRegions; exports.filterHiddenText = filterHiddenText; exports.collapseEvenSpacing = collapseEvenSpacing; exports.normalizeItems = normalizeItems; exports.computeMedianFontSizeFromFreq = computeMedianFontSizeFromFreq; exports.detectHeadings = detectHeadings; exports.detectMarkerHeadings = detectMarkerHeadings; exports.detectTableCaptions = detectTableCaptions; exports.detectKoreanListBlocks = detectKoreanListBlocks; exports.removeHeaderFooterBlocks = removeHeaderFooterBlocks; exports.extractPageBlocksWithLines = extractPageBlocksWithLines; exports.mergeCrossPageTables = mergeCrossPageTables;
|
|
3689
|
-
//# sourceMappingURL=chunk-
|
|
3689
|
+
//# sourceMappingURL=chunk-AT23GFSK.cjs.map
|