kordoc 4.24.19 → 4.24.21
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 +5 -5
- package/dist/{-IFNBZFGR.js → -IS4RXPEZ.js} +11 -11
- package/dist/{chunk-2IFSM7ZE.js → chunk-3RVASM4C.js} +4 -4
- package/dist/{chunk-MHBJAY2T.js → chunk-4OF7DHIT.js} +4 -4
- package/dist/{chunk-IXCXFGYB.js → chunk-B3POEH7X.js} +2 -2
- package/dist/{chunk-XQJNL7TD.cjs → chunk-B5M676H3.cjs} +6 -6
- package/dist/{chunk-XQJNL7TD.cjs.map → chunk-B5M676H3.cjs.map} +1 -1
- package/dist/{chunk-XGUX3JDV.js → chunk-BMXWY36E.js} +4 -4
- package/dist/{chunk-DIDPIFGO.js → chunk-BNEKESI4.js} +2 -2
- package/dist/{chunk-UTDQAY35.js → chunk-BTBFKDPH.js} +2 -2
- package/dist/{chunk-OJL4V7WL.cjs → chunk-BUFGW3UJ.cjs} +25 -25
- package/dist/{chunk-OJL4V7WL.cjs.map → chunk-BUFGW3UJ.cjs.map} +1 -1
- package/dist/{chunk-Q6XWPGGB.js → chunk-BV2YG7M6.js} +2 -2
- package/dist/{chunk-MRFBERH2.js → chunk-CPVXUEKF.js} +2 -2
- package/dist/{chunk-UNTBPUY5.js → chunk-E6G4B457.js} +2 -2
- package/dist/{chunk-EEJKU5SD.js → chunk-F4GZFIUJ.js} +2 -2
- package/dist/{chunk-752MQ7LI.js → chunk-F6OHQLN7.js} +3 -3
- package/dist/{chunk-QQAANXHZ.js → chunk-IZN5BTCW.js} +2 -2
- package/dist/{chunk-RPHURU2B.cjs → chunk-L556KKBU.cjs} +79 -79
- package/dist/{chunk-RPHURU2B.cjs.map → chunk-L556KKBU.cjs.map} +1 -1
- package/dist/{chunk-TATLMLLJ.js → chunk-MGCIQ43Y.js} +3 -3
- package/dist/{chunk-MP6CLG5T.js → chunk-MMZUWRH6.js} +11 -11
- package/dist/{chunk-DCEXKPBH.js → chunk-MYDHNNPA.js} +92 -27
- package/dist/chunk-MYDHNNPA.js.map +1 -0
- package/dist/{chunk-WUU63RFU.js → chunk-N45RCYBL.js} +3 -3
- package/dist/{chunk-DTNNWOBN.js → chunk-NE75RO62.js} +2 -2
- package/dist/{chunk-OI4LVKFX.js → chunk-NRCG3ASU.js} +2 -2
- package/dist/{chunk-B4X2Q5MK.js → chunk-O5ZCJEZ4.js} +2 -2
- package/dist/{chunk-U4QSRBEV.cjs → chunk-OMGCVZ4W.cjs} +2 -2
- package/dist/{chunk-U4QSRBEV.cjs.map → chunk-OMGCVZ4W.cjs.map} +1 -1
- package/dist/{chunk-JQJYIYMJ.js → chunk-PDOWSDNM.js} +2 -2
- package/dist/{chunk-RQCGVE3R.js → chunk-UNYH6MTO.js} +2 -2
- package/dist/{chunk-4OWHKA6D.cjs → chunk-V7S36XCU.cjs} +3 -3
- package/dist/{chunk-4OWHKA6D.cjs.map → chunk-V7S36XCU.cjs.map} +1 -1
- package/dist/{chunk-X6GHZRPS.js → chunk-WQC4XWVT.js} +2 -2
- package/dist/{chunk-7RVG2IVX.cjs → chunk-WVZSTMCZ.cjs} +3 -3
- package/dist/{chunk-7RVG2IVX.cjs.map → chunk-WVZSTMCZ.cjs.map} +1 -1
- package/dist/{chunk-S4EPR2Q4.js → chunk-Z6ONQ63K.js} +2 -2
- package/dist/chunks-FYCQOIWO.js +10 -0
- package/dist/cli.js +30 -30
- package/dist/{formula-IYTV7SBF.js → formula-DHBBWQLC.js} +3 -3
- package/dist/{formula-WSK7DHQS.cjs → formula-G3FQTUOY.cjs} +9 -9
- package/dist/{formula-WSK7DHQS.cjs.map → formula-G3FQTUOY.cjs.map} +1 -1
- package/dist/{formula-WSFS7D7Z.js → formula-I4EA7ULD.js} +4 -4
- package/dist/{image-ocr-Y75JNXPZ.js → image-ocr-5YWVBRY6.js} +6 -6
- package/dist/{image-ocr-AVMUMNAV.js → image-ocr-QUVBGNWD.js} +9 -9
- package/dist/{image-ocr-LWWF4HEE.cjs → image-ocr-THUO6YRG.cjs} +17 -17
- package/dist/{image-ocr-LWWF4HEE.cjs.map → image-ocr-THUO6YRG.cjs.map} +1 -1
- package/dist/index.cjs +510 -445
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +92 -27
- package/dist/index.js.map +1 -1
- package/dist/mcp.js +23 -23
- package/dist/{model-bundle-JOACGE6A.js → model-bundle-6RG5PO3R.js} +5 -5
- package/dist/{models-RTSOF7XB.js → models-CGYIGN6D.js} +5 -5
- package/dist/{parse-worker-v2-GHCIS7RI.js → parse-worker-v2-F5NXYBU6.js} +12 -12
- package/dist/{parser-4NF5BGSC.js → parser-G5QTRKII.js} +9 -9
- package/dist/{parser-GJWAT5YG.cjs → parser-GJ4PKW7I.cjs} +159 -159
- package/dist/{parser-GJWAT5YG.cjs.map → parser-GJ4PKW7I.cjs.map} +1 -1
- package/dist/{parser-E7VENFW7.js → parser-I2C5DUXC.js} +12 -12
- package/dist/pdf-ocr-LJKCUXTE.cjs +35 -0
- package/dist/{pdf-ocr-J74A2ZQW.cjs.map → pdf-ocr-LJKCUXTE.cjs.map} +1 -1
- package/dist/{pdf-ocr-CJSC4DLZ.js → pdf-ocr-TNW6YOPX.js} +6 -6
- package/dist/{pdf-ocr-K4MHY4KP.js → pdf-ocr-U3I74Q4O.js} +9 -9
- package/dist/{profile-io-LA4LFEFV.js → profile-io-5YZCFK7B.js} +3 -3
- package/dist/{rasterize-PZ6VCPOZ.js → rasterize-7VRHPOQX.js} +3 -3
- package/dist/{redact-doc-HHDDIIV7.js → redact-doc-VK6VGBK3.js} +11 -11
- package/dist/{render-QIWXWLYC.js → render-Y7J6DPRL.js} +7 -7
- package/dist/seal-4QIZ3ZNI.js +10 -0
- package/dist/{setup-Y6EZH34Z.js → setup-4XTUDU4X.js} +3 -3
- package/dist/visual-VEMQJ52W.js +21 -0
- package/dist/{watch-LBRW6NAG.js → watch-SPZRLTKG.js} +12 -12
- package/package.json +1 -1
- package/dist/chunk-DCEXKPBH.js.map +0 -1
- package/dist/chunks-7ACTVPJJ.js +0 -10
- package/dist/pdf-ocr-J74A2ZQW.cjs +0 -35
- package/dist/seal-SBA3CFCC.js +0 -10
- package/dist/visual-PN3PUVDG.js +0 -21
- /package/dist/{-IFNBZFGR.js.map → -IS4RXPEZ.js.map} +0 -0
- /package/dist/{chunk-2IFSM7ZE.js.map → chunk-3RVASM4C.js.map} +0 -0
- /package/dist/{chunk-MHBJAY2T.js.map → chunk-4OF7DHIT.js.map} +0 -0
- /package/dist/{chunk-IXCXFGYB.js.map → chunk-B3POEH7X.js.map} +0 -0
- /package/dist/{chunk-XGUX3JDV.js.map → chunk-BMXWY36E.js.map} +0 -0
- /package/dist/{chunk-DIDPIFGO.js.map → chunk-BNEKESI4.js.map} +0 -0
- /package/dist/{chunk-UTDQAY35.js.map → chunk-BTBFKDPH.js.map} +0 -0
- /package/dist/{chunk-Q6XWPGGB.js.map → chunk-BV2YG7M6.js.map} +0 -0
- /package/dist/{chunk-MRFBERH2.js.map → chunk-CPVXUEKF.js.map} +0 -0
- /package/dist/{chunk-UNTBPUY5.js.map → chunk-E6G4B457.js.map} +0 -0
- /package/dist/{chunk-EEJKU5SD.js.map → chunk-F4GZFIUJ.js.map} +0 -0
- /package/dist/{chunk-752MQ7LI.js.map → chunk-F6OHQLN7.js.map} +0 -0
- /package/dist/{chunk-QQAANXHZ.js.map → chunk-IZN5BTCW.js.map} +0 -0
- /package/dist/{chunk-TATLMLLJ.js.map → chunk-MGCIQ43Y.js.map} +0 -0
- /package/dist/{chunk-MP6CLG5T.js.map → chunk-MMZUWRH6.js.map} +0 -0
- /package/dist/{chunk-WUU63RFU.js.map → chunk-N45RCYBL.js.map} +0 -0
- /package/dist/{chunk-DTNNWOBN.js.map → chunk-NE75RO62.js.map} +0 -0
- /package/dist/{chunk-OI4LVKFX.js.map → chunk-NRCG3ASU.js.map} +0 -0
- /package/dist/{chunk-B4X2Q5MK.js.map → chunk-O5ZCJEZ4.js.map} +0 -0
- /package/dist/{chunk-JQJYIYMJ.js.map → chunk-PDOWSDNM.js.map} +0 -0
- /package/dist/{chunk-RQCGVE3R.js.map → chunk-UNYH6MTO.js.map} +0 -0
- /package/dist/{chunk-X6GHZRPS.js.map → chunk-WQC4XWVT.js.map} +0 -0
- /package/dist/{chunk-S4EPR2Q4.js.map → chunk-Z6ONQ63K.js.map} +0 -0
- /package/dist/{chunks-7ACTVPJJ.js.map → chunks-FYCQOIWO.js.map} +0 -0
- /package/dist/{formula-IYTV7SBF.js.map → formula-DHBBWQLC.js.map} +0 -0
- /package/dist/{formula-WSFS7D7Z.js.map → formula-I4EA7ULD.js.map} +0 -0
- /package/dist/{image-ocr-Y75JNXPZ.js.map → image-ocr-5YWVBRY6.js.map} +0 -0
- /package/dist/{image-ocr-AVMUMNAV.js.map → image-ocr-QUVBGNWD.js.map} +0 -0
- /package/dist/{model-bundle-JOACGE6A.js.map → model-bundle-6RG5PO3R.js.map} +0 -0
- /package/dist/{models-RTSOF7XB.js.map → models-CGYIGN6D.js.map} +0 -0
- /package/dist/{parse-worker-v2-GHCIS7RI.js.map → parse-worker-v2-F5NXYBU6.js.map} +0 -0
- /package/dist/{parser-4NF5BGSC.js.map → parser-G5QTRKII.js.map} +0 -0
- /package/dist/{parser-E7VENFW7.js.map → parser-I2C5DUXC.js.map} +0 -0
- /package/dist/{pdf-ocr-CJSC4DLZ.js.map → pdf-ocr-TNW6YOPX.js.map} +0 -0
- /package/dist/{pdf-ocr-K4MHY4KP.js.map → pdf-ocr-U3I74Q4O.js.map} +0 -0
- /package/dist/{profile-io-LA4LFEFV.js.map → profile-io-5YZCFK7B.js.map} +0 -0
- /package/dist/{rasterize-PZ6VCPOZ.js.map → rasterize-7VRHPOQX.js.map} +0 -0
- /package/dist/{redact-doc-HHDDIIV7.js.map → redact-doc-VK6VGBK3.js.map} +0 -0
- /package/dist/{render-QIWXWLYC.js.map → render-Y7J6DPRL.js.map} +0 -0
- /package/dist/{seal-SBA3CFCC.js.map → seal-4QIZ3ZNI.js.map} +0 -0
- /package/dist/{setup-Y6EZH34Z.js.map → setup-4XTUDU4X.js.map} +0 -0
- /package/dist/{visual-PN3PUVDG.js.map → visual-VEMQJ52W.js.map} +0 -0
- /package/dist/{watch-LBRW6NAG.js.map → watch-SPZRLTKG.js.map} +0 -0
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
parse
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-MMZUWRH6.js";
|
|
5
5
|
import {
|
|
6
6
|
classifyError,
|
|
7
7
|
sanitizeError,
|
|
8
8
|
toArrayBuffer
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-WQC4XWVT.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-
|
|
29
|
+
//# sourceMappingURL=chunk-MGCIQ43Y.js.map
|
|
@@ -51,10 +51,10 @@ import {
|
|
|
51
51
|
resolveParaHeading,
|
|
52
52
|
simulateWrap,
|
|
53
53
|
takeTocLeaders
|
|
54
|
-
} from "./chunk-
|
|
54
|
+
} from "./chunk-MYDHNNPA.js";
|
|
55
55
|
import {
|
|
56
56
|
blocksToPages
|
|
57
|
-
} from "./chunk-
|
|
57
|
+
} from "./chunk-BTBFKDPH.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-
|
|
79
|
+
} from "./chunk-F4GZFIUJ.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-
|
|
103
|
+
} from "./chunk-B3POEH7X.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-
|
|
136
|
+
} from "./chunk-N45RCYBL.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-
|
|
153
|
+
} from "./chunk-IZN5BTCW.js";
|
|
154
154
|
import {
|
|
155
155
|
KordocError,
|
|
156
156
|
VERSION,
|
|
@@ -167,7 +167,7 @@ import {
|
|
|
167
167
|
toArrayBuffer,
|
|
168
168
|
unescapeHtml,
|
|
169
169
|
unzipLimitBytes
|
|
170
|
-
} from "./chunk-
|
|
170
|
+
} from "./chunk-WQC4XWVT.js";
|
|
171
171
|
|
|
172
172
|
// src/table/visual.ts
|
|
173
173
|
import { readFile as readFile2 } from "fs/promises";
|
|
@@ -19351,7 +19351,7 @@ var MIN_SIDE = 24;
|
|
|
19351
19351
|
async function ocrEmbeddedImages(blocks, options, warnings) {
|
|
19352
19352
|
const ocr = options?.ocr;
|
|
19353
19353
|
if (ocr !== true && ocr !== "force" && typeof ocr !== "function") return false;
|
|
19354
|
-
const { parseImageDocument } = await import("./image-ocr-
|
|
19354
|
+
const { parseImageDocument } = await import("./image-ocr-QUVBGNWD.js");
|
|
19355
19355
|
let inserted = false, unreadable = 0;
|
|
19356
19356
|
let failed = null;
|
|
19357
19357
|
const walk = async (list, depth) => {
|
|
@@ -34072,7 +34072,7 @@ function scriptsOff(r, off) {
|
|
|
34072
34072
|
}
|
|
34073
34073
|
async function parseImage(buffer, options) {
|
|
34074
34074
|
try {
|
|
34075
|
-
const { parseImageDocument } = await import("./image-ocr-
|
|
34075
|
+
const { parseImageDocument } = await import("./image-ocr-QUVBGNWD.js");
|
|
34076
34076
|
const { blocks, warnings, lines } = await parseImageDocument(buffer, options);
|
|
34077
34077
|
stripScriptTags({ blocks });
|
|
34078
34078
|
return {
|
|
@@ -34136,7 +34136,7 @@ async function parseHwp(buffer, options) {
|
|
|
34136
34136
|
async function parsePdf(buffer, options) {
|
|
34137
34137
|
let parsePdfDocument;
|
|
34138
34138
|
try {
|
|
34139
|
-
const mod = await import("./parser-
|
|
34139
|
+
const mod = await import("./parser-I2C5DUXC.js");
|
|
34140
34140
|
parsePdfDocument = mod.parsePdfDocument;
|
|
34141
34141
|
} catch {
|
|
34142
34142
|
return {
|
|
@@ -34375,4 +34375,4 @@ export {
|
|
|
34375
34375
|
parseHwpml,
|
|
34376
34376
|
fillForm
|
|
34377
34377
|
};
|
|
34378
|
-
//# sourceMappingURL=chunk-
|
|
34378
|
+
//# sourceMappingURL=chunk-MMZUWRH6.js.map
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import {
|
|
3
3
|
loadSharp,
|
|
4
4
|
rasterizePageSvg
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-NRCG3ASU.js";
|
|
6
6
|
import {
|
|
7
7
|
inlineImagesIntoMarkdown
|
|
8
8
|
} from "./chunk-VKVDMH7X.js";
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
HEADING_RATIO_H3,
|
|
17
17
|
tidyScriptTags,
|
|
18
18
|
unframeLayoutTables
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-F4GZFIUJ.js";
|
|
20
20
|
import {
|
|
21
21
|
MAX_COLS,
|
|
22
22
|
MAX_ROWS,
|
|
@@ -33,7 +33,7 @@ import {
|
|
|
33
33
|
mapPuaText,
|
|
34
34
|
markNonLayoutTable,
|
|
35
35
|
romanNumeral
|
|
36
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-B3POEH7X.js";
|
|
37
37
|
import {
|
|
38
38
|
DEFAULT_CHAR,
|
|
39
39
|
DEFAULT_PARA_GEOM,
|
|
@@ -47,7 +47,7 @@ import {
|
|
|
47
47
|
hwpxAppMajor,
|
|
48
48
|
parseRenderStyles,
|
|
49
49
|
readZipEntry
|
|
50
|
-
} from "./chunk-
|
|
50
|
+
} from "./chunk-IZN5BTCW.js";
|
|
51
51
|
import {
|
|
52
52
|
KordocError,
|
|
53
53
|
compareSectionPaths,
|
|
@@ -56,7 +56,7 @@ import {
|
|
|
56
56
|
sanitizeHref,
|
|
57
57
|
stripDtd,
|
|
58
58
|
toArrayBuffer
|
|
59
|
-
} from "./chunk-
|
|
59
|
+
} from "./chunk-WQC4XWVT.js";
|
|
60
60
|
|
|
61
61
|
// src/render/svg-render.ts
|
|
62
62
|
import JSZip from "jszip";
|
|
@@ -177,9 +177,10 @@ function solveRowHeights(cells, rowCount, maxTotal = Number.POSITIVE_INFINITY, s
|
|
|
177
177
|
}
|
|
178
178
|
for (let k = 0; k < spans.length; k++) if (!done.has(k)) solve(k, false);
|
|
179
179
|
let total = h.reduce((s, x) => s + x, 0);
|
|
180
|
+
const overSz = total > maxTotal;
|
|
180
181
|
for (const { c, rows } of [...spans].sort((a, b) => a.rows[a.rows.length - 1] - b.rows[b.rows.length - 1] || b.rows[0] - a.rows[0])) {
|
|
181
182
|
const known = rows.reduce((s, r) => s + h[r], 0);
|
|
182
|
-
const add = Math.min(c.height - known, maxTotal - total);
|
|
183
|
+
const add = Math.min(c.height - known, overSz && c.contentH != null && c.contentH >= c.height ? Number.POSITIVE_INFINITY : maxTotal - total);
|
|
183
184
|
if (rows.length && add > 0) {
|
|
184
185
|
h[rows[rows.length - 1]] += add;
|
|
185
186
|
total += add;
|
|
@@ -13252,12 +13253,24 @@ function footNoteStories(root, paraPages, geom) {
|
|
|
13252
13253
|
const above = num(sp, "aboveLine", 850), below = num(sp, "belowLine", 567), between = num(sp, "betweenNotes", 283);
|
|
13253
13254
|
const byPage = /* @__PURE__ */ new Map();
|
|
13254
13255
|
for (const p of elements(root)) if (ln(p) === "p") {
|
|
13255
|
-
const
|
|
13256
|
+
const pages = paraPages.get(p) ?? [];
|
|
13257
|
+
const m = pages.length > 1 ? buildPara(p) : null;
|
|
13256
13258
|
for (const run of elements(p)) if (ln(run) === "run") {
|
|
13257
13259
|
for (const ctrl of elements(run)) if (ln(ctrl) === "ctrl") {
|
|
13258
13260
|
const fn = findChildByLocalName(ctrl, "footNote");
|
|
13259
13261
|
const sub = fn && !isDeletedControl(fn) ? findChildByLocalName(fn, "subList") : null;
|
|
13260
13262
|
if (!sub) continue;
|
|
13263
|
+
let page = pages[0] ?? 0;
|
|
13264
|
+
if (m) {
|
|
13265
|
+
const at = m.chars.findIndex((c) => c.note === fn);
|
|
13266
|
+
if (at >= 0) {
|
|
13267
|
+
let k = 0;
|
|
13268
|
+
m.segs.forEach((sg, i) => {
|
|
13269
|
+
if (sg.textpos <= at) k = i;
|
|
13270
|
+
});
|
|
13271
|
+
page = pages[k] ?? page;
|
|
13272
|
+
}
|
|
13273
|
+
}
|
|
13261
13274
|
let h = 0;
|
|
13262
13275
|
for (const q of elements(sub)) if (ln(q) === "p") {
|
|
13263
13276
|
const lsa = findChildByLocalName(q, "linesegarray");
|
|
@@ -13369,18 +13382,30 @@ function stackedFloats(c) {
|
|
|
13369
13382
|
}
|
|
13370
13383
|
return out;
|
|
13371
13384
|
}
|
|
13372
|
-
function cellLineBoxes(c) {
|
|
13385
|
+
function cellLineBoxes(c, bodyH) {
|
|
13373
13386
|
const out = [];
|
|
13374
13387
|
let shift = 0, prevV = Number.NEGATIVE_INFINITY, prevH = 0, prevSavedEnd = 0, prevEnd = 0, part = 0;
|
|
13375
13388
|
const cols = cellColumns(c.sub);
|
|
13389
|
+
let floatBottom = Number.NEGATIVE_INFINITY;
|
|
13390
|
+
let nestedCell = false;
|
|
13391
|
+
for (let a = c.el.parentNode; a; a = a.parentNode) if (a !== c.el && a.nodeType === 1 && ln(a) === "tc") {
|
|
13392
|
+
nestedCell = true;
|
|
13393
|
+
break;
|
|
13394
|
+
}
|
|
13376
13395
|
for (const p of c.sub ? elements(c.sub) : []) if (ln(p) === "p") {
|
|
13377
13396
|
const lsa = findChildByLocalName(p, "linesegarray");
|
|
13397
|
+
let first = true, pTop = 0;
|
|
13378
13398
|
for (const sg of lsa ? elements(lsa) : []) if (ln(sg) === "lineseg") {
|
|
13379
13399
|
const v = num(sg, "vertpos"), hz = num(sg, "horzpos");
|
|
13380
13400
|
if ((v < prevV || v === prevV && hz <= prevH && prevSavedEnd > v) && !cols) {
|
|
13381
13401
|
shift = prevEnd - v;
|
|
13382
13402
|
part++;
|
|
13403
|
+
} else if (!nestedCell && bodyH !== void 0 && floatBottom > bodyH && first && !cols && v >= prevV && v < floatBottom - 1e3) {
|
|
13404
|
+
shift = prevEnd - v;
|
|
13405
|
+
part++;
|
|
13383
13406
|
}
|
|
13407
|
+
if (first) pTop = prevSavedEnd > 0 && prevSavedEnd <= v ? prevSavedEnd : v;
|
|
13408
|
+
first = false;
|
|
13384
13409
|
prevV = v;
|
|
13385
13410
|
prevH = hz;
|
|
13386
13411
|
prevSavedEnd = v + num(sg, "vertsize") + num(sg, "spacing");
|
|
@@ -13388,17 +13413,26 @@ function cellLineBoxes(c) {
|
|
|
13388
13413
|
prevEnd = bottom + num(sg, "spacing");
|
|
13389
13414
|
out.push({ seg: sg, top, bottom, part, origin: shift });
|
|
13390
13415
|
}
|
|
13416
|
+
floatBottom = Number.NEGATIVE_INFINITY;
|
|
13417
|
+
for (const run of elements(p)) if (ln(run) === "run") for (const o of elements(run)) {
|
|
13418
|
+
if (ln(o) !== "tbl" || (o.getAttribute("textWrap") ?? "TOP_AND_BOTTOM") !== "TOP_AND_BOTTOM") continue;
|
|
13419
|
+
const pos = findChildByLocalName(o, "pos");
|
|
13420
|
+
if (!pos || pos.getAttribute("treatAsChar") === "1" || (pos.getAttribute("vertRelTo") ?? "PARA") !== "PARA") continue;
|
|
13421
|
+
const om = findChildByLocalName(o, "outMargin"), vo = num(pos, "vertOffset"), sz = num(findChildByLocalName(o, "sz"), "height"), full = measureTableHeight(o);
|
|
13422
|
+
const top = pTop + (vo < 2 ** 31 ? vo : 0) + num(om, "top");
|
|
13423
|
+
if (full > sz + 1e3 && (bodyH === void 0 || top + (measureTableRowHeights(o)[0] ?? 0) <= bodyH)) floatBottom = Math.max(floatBottom, top + full + num(om, "bottom"));
|
|
13424
|
+
}
|
|
13391
13425
|
}
|
|
13392
13426
|
return out;
|
|
13393
13427
|
}
|
|
13394
|
-
function cellLines(c) {
|
|
13395
|
-
return cellLineBoxes(c).map((b) => [b.top, b.bottom]);
|
|
13428
|
+
function cellLines(c, bodyH) {
|
|
13429
|
+
return cellLineBoxes(c, bodyH).map((b) => [b.top, b.bottom]);
|
|
13396
13430
|
}
|
|
13397
|
-
function spanPartRows(cells, rowY) {
|
|
13431
|
+
function spanPartRows(cells, rowY, bodyH) {
|
|
13398
13432
|
const out = /* @__PURE__ */ new Set();
|
|
13399
13433
|
for (const c of cells) {
|
|
13400
13434
|
if (c.rs < 2) continue;
|
|
13401
|
-
const bs = cellLineBoxes(c);
|
|
13435
|
+
const bs = cellLineBoxes(c, bodyH);
|
|
13402
13436
|
const parts = bs.length ? bs[bs.length - 1].part : 0;
|
|
13403
13437
|
let s = c.ra;
|
|
13404
13438
|
for (let k = 0; k < parts; k++) {
|
|
@@ -13442,12 +13476,12 @@ function planTableRows(tbl, cells, rowH, ty, MT, BODY_H, slack = 0, floatSpan, n
|
|
|
13442
13476
|
const st = stackedFloats(rc[0]);
|
|
13443
13477
|
return st.length >= 2 && st.reduce((a, f) => a + f.h, 0) > h;
|
|
13444
13478
|
});
|
|
13445
|
-
if (slack > 0 && ty + rowY[nRows] > pageBottom && ty + rowY[nRows] <= pageBottom + slack && cells.some((c) => cellLineBoxes(c).some((b) => b.part > 0))) slack = 0;
|
|
13479
|
+
if (slack > 0 && ty + rowY[nRows] > pageBottom && ty + rowY[nRows] <= pageBottom + slack && cells.some((c) => cellLineBoxes(c, BODY_H).some((b) => b.part > 0))) slack = 0;
|
|
13446
13480
|
if (slack > 0 && ty + rowY[nRows] > pageBottom && ty + rowY[nRows] <= pageBottom + slack) {
|
|
13447
13481
|
const declared = num(findChildByLocalName(tbl, "sz"), "height");
|
|
13448
13482
|
if (rowY.some((v, k) => k > 0 && k < nRows && Math.abs(v - declared) <= 2)) slack = 0;
|
|
13449
13483
|
}
|
|
13450
|
-
const savedParts = tbl.getAttribute("pageBreak") === "CELL" && cells.some((c) => c.h > rowY[nRows] && cellLineBoxes(c).some((b) => b.part > 0));
|
|
13484
|
+
const savedParts = tbl.getAttribute("pageBreak") === "CELL" && cells.some((c) => c.h > rowY[nRows] && cellLineBoxes(c, BODY_H).some((b) => b.part > 0));
|
|
13451
13485
|
if (BODY_H <= 0 || ty + rowY[nRows] <= pageBottom + slack && !stackOver && !savedParts) return plain();
|
|
13452
13486
|
if (findChildByLocalName(tbl, "pos")?.getAttribute("treatAsChar") === "1") {
|
|
13453
13487
|
const declared = num(findChildByLocalName(tbl, "sz"), "height") || rowY[nRows];
|
|
@@ -13462,11 +13496,15 @@ function planTableRows(tbl, cells, rowH, ty, MT, BODY_H, slack = 0, floatSpan, n
|
|
|
13462
13496
|
const out = [];
|
|
13463
13497
|
const flows = (findChildByLocalName(tbl, "pos")?.getAttribute("vertRelTo") ?? "PARA") === "PARA";
|
|
13464
13498
|
let page = 0, y = ty, first = !flows || ty - MT < 2e3;
|
|
13499
|
+
if (!first && (tbl.getAttribute("pageBreak") ?? "NONE") === "NONE") {
|
|
13500
|
+
const outT = num(findChildByLocalName(tbl, "outMargin"), "top");
|
|
13501
|
+
if (outT + rowY[nRows] + outB <= BODY_H) return rowH.map((h, r) => [{ page: 1, y: contMT + outT + rowY[r], h }]);
|
|
13502
|
+
}
|
|
13465
13503
|
if (!first && coAnchoredFollower(tbl)) {
|
|
13466
13504
|
const outT = num(findChildByLocalName(tbl, "outMargin"), "top");
|
|
13467
13505
|
if (outT + rowY[nRows] + outB <= BODY_H) return rowH.map((h, r) => [{ page: 1, y: contMT + outT + rowY[r], h }]);
|
|
13468
13506
|
}
|
|
13469
|
-
const spanStarts = cellSplit ? spanPartRows(cells, rowY) : /* @__PURE__ */ new Set();
|
|
13507
|
+
const spanStarts = cellSplit ? spanPartRows(cells, rowY, BODY_H) : /* @__PURE__ */ new Set();
|
|
13470
13508
|
for (let r = 0; r < nRows; r++) {
|
|
13471
13509
|
let h = rowH[r];
|
|
13472
13510
|
const pieces = [];
|
|
@@ -13505,7 +13543,7 @@ function planTableRows(tbl, cells, rowH, ty, MT, BODY_H, slack = 0, floatSpan, n
|
|
|
13505
13543
|
continue;
|
|
13506
13544
|
}
|
|
13507
13545
|
}
|
|
13508
|
-
const boxes = splittable ? new Map(rowCells.map((c) => [c.el, cellLineBoxes(c)])) : void 0;
|
|
13546
|
+
const boxes = splittable ? new Map(rowCells.map((c) => [c.el, cellLineBoxes(c, BODY_H)])) : void 0;
|
|
13509
13547
|
const hParts = boxes ? Math.max(0, ...[...boxes.values()].flatMap((bs) => bs.map((b) => b.part))) : 0;
|
|
13510
13548
|
if (boxes && hParts > 0) {
|
|
13511
13549
|
if (!first && rowCells.some((c) => {
|
|
@@ -13615,9 +13653,9 @@ function planTableRows(tbl, cells, rowH, ty, MT, BODY_H, slack = 0, floatSpan, n
|
|
|
13615
13653
|
}
|
|
13616
13654
|
if (splittable && y + h + outB > pageBottom) {
|
|
13617
13655
|
const from = /* @__PURE__ */ new Map();
|
|
13618
|
-
const lines = new Map(rowCells.map((c) => [c.el, cellLines(c)]));
|
|
13656
|
+
const lines = new Map(rowCells.map((c) => [c.el, cellLines(c, BODY_H)]));
|
|
13619
13657
|
const sp0 = new Map(rowCells.map((c) => {
|
|
13620
|
-
const b = cellLineBoxes(c)[0];
|
|
13658
|
+
const b = cellLineBoxes(c, BODY_H)[0];
|
|
13621
13659
|
return [c.el, b ? num(b.seg, "spacing") : 0];
|
|
13622
13660
|
}));
|
|
13623
13661
|
while (y + h + outB > pageBottom && BODY_H > rowY[hdrRows]) {
|
|
@@ -13646,7 +13684,7 @@ function planTableRows(tbl, cells, rowH, ty, MT, BODY_H, slack = 0, floatSpan, n
|
|
|
13646
13684
|
if (allFit) {
|
|
13647
13685
|
const spanCells = cells.filter((c) => c.ra === r && c.rs > 1);
|
|
13648
13686
|
const spanExt = (c) => {
|
|
13649
|
-
const bs = cellLineBoxes(c);
|
|
13687
|
+
const bs = cellLineBoxes(c, BODY_H);
|
|
13650
13688
|
return bs.some((b) => b.part > 0) ? Math.max(...bs.filter((b) => b.part === 0).map((b) => b.bottom)) : cellContentExtent(c);
|
|
13651
13689
|
};
|
|
13652
13690
|
if (!first && h <= pageBottom - contTop && [...rowCells.map((c) => cellContentExtent(c) + c.marginT + c.marginB), ...spanCells.map((c) => spanExt(c) + c.marginT + c.marginB)].some((e) => e > avail)) {
|
|
@@ -15333,7 +15371,7 @@ function drawTable(tbl, tx, ty, ctx, depth) {
|
|
|
15333
15371
|
const span = plan.slice(c.ra, Math.min(c.ra + c.rs, nRows)).flat();
|
|
15334
15372
|
const pages = [...new Set(span.map((pc) => pc.page))];
|
|
15335
15373
|
if (pages.length > 1) {
|
|
15336
|
-
const bs = cellLineBoxes(c);
|
|
15374
|
+
const bs = cellLineBoxes(c, ctx.geom.BODY_H);
|
|
15337
15375
|
const partTop = (k) => bs.find((b) => b.part === k);
|
|
15338
15376
|
const groups = pages.map((pg, k) => {
|
|
15339
15377
|
const on = span.filter((pc) => pc.page === pg);
|
|
@@ -15366,7 +15404,7 @@ function drawTable(tbl, tx, ty, ctx, depth) {
|
|
|
15366
15404
|
ctx.page = g.page;
|
|
15367
15405
|
if (g.pieces) {
|
|
15368
15406
|
const base = g.pieces[0].y + c.marginT;
|
|
15369
|
-
const boxes = cellLineBoxes(c);
|
|
15407
|
+
const boxes = cellLineBoxes(c, ctx.geom.BODY_H);
|
|
15370
15408
|
const contV = new Map(boxes.map((b) => [b.seg, b.top]));
|
|
15371
15409
|
const pieceOf = (v) => Math.max(0, g.pieces.findIndex((pc) => {
|
|
15372
15410
|
const r = pc.range?.get(c.el);
|
|
@@ -15569,6 +15607,19 @@ function staleTopCache(root, BODY_H) {
|
|
|
15569
15607
|
}
|
|
15570
15608
|
return false;
|
|
15571
15609
|
}
|
|
15610
|
+
function overrunTopCache(root, BODY_H) {
|
|
15611
|
+
if (BODY_H <= 0) return false;
|
|
15612
|
+
let over = 0;
|
|
15613
|
+
for (const p of elements(root)) {
|
|
15614
|
+
if (ln(p) !== "p") continue;
|
|
15615
|
+
const lsa = findChildByLocalName(p, "linesegarray");
|
|
15616
|
+
for (const sg of lsa ? elements(lsa) : []) if (ln(sg) === "lineseg") {
|
|
15617
|
+
over = num(sg, "vertpos") > BODY_H ? over + 1 : 0;
|
|
15618
|
+
if (over >= 3) return true;
|
|
15619
|
+
}
|
|
15620
|
+
}
|
|
15621
|
+
return false;
|
|
15622
|
+
}
|
|
15572
15623
|
function absoluteTopCache(root, ML, BODY_W) {
|
|
15573
15624
|
let tot = 0, over = 0;
|
|
15574
15625
|
for (const p of elements(root)) {
|
|
@@ -15586,7 +15637,7 @@ function absoluteTopCache(root, ML, BODY_W) {
|
|
|
15586
15637
|
function renderSectionToPages(root, geom, ctxBase, doReflow, reflowMode, masters = [], hasDeletionMarkers = true, lastSection = true) {
|
|
15587
15638
|
const { PW, PH, ML, MT, BODY_W, BODY_H } = geom;
|
|
15588
15639
|
if (hasDeletionMarkers) prepareDeletedRanges(root);
|
|
15589
|
-
const degenerate = staleTopCache(root, BODY_H);
|
|
15640
|
+
const degenerate = staleTopCache(root, BODY_H) || overrunTopCache(root, BODY_H);
|
|
15590
15641
|
if (degenerate) {
|
|
15591
15642
|
for (const p of elements(root)) if (ln(p) === "p") {
|
|
15592
15643
|
const lsa = findChildByLocalName(p, "linesegarray");
|
|
@@ -15594,6 +15645,19 @@ function renderSectionToPages(root, geom, ctxBase, doReflow, reflowMode, masters
|
|
|
15594
15645
|
}
|
|
15595
15646
|
ctxBase.warnings.push("\uC870\uD310 \uCE90\uC2DC\uAC00 \uB9DE\uC9C0 \uC54A\uC544(\uCD5C\uC0C1\uC704 \uBB38\uB2E8\uC774 \uBAA8\uB450 \uAC19\uC740 \uC790\uB9AC) \uB2E4\uC2DC \uC870\uD310\uD574 \uB80C\uB354");
|
|
15596
15647
|
}
|
|
15648
|
+
for (const tc of Array.from(root.getElementsByTagName("*")).filter((e) => ln(e) === "tc")) {
|
|
15649
|
+
const sub = findChildByLocalName(tc, "subList");
|
|
15650
|
+
const paras = sub ? elements(sub).filter((q) => ln(q) === "p") : [];
|
|
15651
|
+
const vs = [];
|
|
15652
|
+
for (const q of paras) {
|
|
15653
|
+
const lsa = findChildByLocalName(q, "linesegarray");
|
|
15654
|
+
for (const sg of lsa ? elements(lsa) : []) if (ln(sg) === "lineseg") vs.push(num(sg, "vertpos"));
|
|
15655
|
+
}
|
|
15656
|
+
if (vs.length >= 3 && (vs.every((v) => v === vs[0]) || vs.some((v, i) => i >= 2 && v === vs[i - 1] && v === vs[i - 2]))) for (const q of paras) {
|
|
15657
|
+
const lsa = findChildByLocalName(q, "linesegarray");
|
|
15658
|
+
if (lsa) q.removeChild(lsa);
|
|
15659
|
+
}
|
|
15660
|
+
}
|
|
15597
15661
|
const absolute = !degenerate && absoluteTopCache(root, ML, BODY_W);
|
|
15598
15662
|
if (absolute) {
|
|
15599
15663
|
for (const lsa of Array.from(root.getElementsByTagName("*")).filter((e) => ln(e) === "linesegarray")) lsa.parentNode?.removeChild(lsa);
|
|
@@ -15627,7 +15691,7 @@ function renderSectionToPages(root, geom, ctxBase, doReflow, reflowMode, masters
|
|
|
15627
15691
|
let prevH = Number.NEGATIVE_INFINITY;
|
|
15628
15692
|
let prevEnd = Number.NEGATIVE_INFINITY;
|
|
15629
15693
|
let cur = 0, col = 0;
|
|
15630
|
-
let pendingEnd = 0, pendingEndY = 0;
|
|
15694
|
+
let pendingEnd = 0, pendingEndY = 0, pendingTopY = -1;
|
|
15631
15695
|
let lastEnd = 0, lastPage = -1;
|
|
15632
15696
|
let lastSA = 0;
|
|
15633
15697
|
let prevSeg;
|
|
@@ -15652,7 +15716,7 @@ function renderSectionToPages(root, geom, ctxBase, doReflow, reflowMode, masters
|
|
|
15652
15716
|
}
|
|
15653
15717
|
if (col > 0) s.setAttribute("horzpos", String(h + Math.round(col * (colW + colGap))));
|
|
15654
15718
|
} else {
|
|
15655
|
-
if (paraFirst && pendingEnd > cur) {
|
|
15719
|
+
if (paraFirst && pendingEnd > cur && !(v > prevV && v < pendingTopY - 100)) {
|
|
15656
15720
|
cur = v < pendingEndY - 100 ? pendingEnd + 1 : pendingEnd;
|
|
15657
15721
|
pendingEnd = 0;
|
|
15658
15722
|
} else {
|
|
@@ -15724,9 +15788,10 @@ function renderSectionToPages(root, geom, ctxBase, doReflow, reflowMode, masters
|
|
|
15724
15788
|
lastPage = pagesOf[pagesOf.length - 1];
|
|
15725
15789
|
continue;
|
|
15726
15790
|
}
|
|
15727
|
-
if (span.pages > 0 && (pagesOf[0] ?? cur) + span.pages > pendingEnd) {
|
|
15791
|
+
if (span.pages > 0 && o.el.getAttribute("pageBreak") !== "NONE" && (pagesOf[0] ?? cur) + span.pages > pendingEnd) {
|
|
15728
15792
|
pendingEnd = (pagesOf[0] ?? cur) + span.pages;
|
|
15729
15793
|
pendingEndY = span.endY - MT;
|
|
15794
|
+
pendingTopY = below && voP > 0 && ty - MT < BODY_H ? ty - MT : -1;
|
|
15730
15795
|
}
|
|
15731
15796
|
}
|
|
15732
15797
|
}
|
|
@@ -15961,7 +16026,7 @@ function renderSectionRoots(sections, input) {
|
|
|
15961
16026
|
return pm.objs.length > 0 || pm.chars.some((c) => c.ch.trim() !== "" || !!c.ctrlText);
|
|
15962
16027
|
});
|
|
15963
16028
|
let lastIdx = sections.length - 1;
|
|
15964
|
-
while (lastIdx > 0 && !hasContent(sections[lastIdx].root)) lastIdx--;
|
|
16029
|
+
while (lastIdx > 0 && !hasContent(sections[lastIdx].root) && !sections[lastIdx].masterPages?.length) lastIdx--;
|
|
15965
16030
|
for (const [k, { root, index, masterPages, hasDeletionMarkers }] of sections.entries()) {
|
|
15966
16031
|
if (k > lastIdx) break;
|
|
15967
16032
|
const geom = readSectionGeom(root);
|
|
@@ -20266,4 +20331,4 @@ export {
|
|
|
20266
20331
|
cropRect,
|
|
20267
20332
|
extractRenderedRegions
|
|
20268
20333
|
};
|
|
20269
|
-
//# sourceMappingURL=chunk-
|
|
20334
|
+
//# sourceMappingURL=chunk-MYDHNNPA.js.map
|