kordoc 4.24.30 → 4.24.31
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 +4 -4
- package/dist/{-LTYXURUV.js → -BCQ3FAAQ.js} +21 -21
- package/dist/{chunk-H6YTDIDW.cjs → chunk-23IU7YWI.cjs} +98 -98
- package/dist/{chunk-H6YTDIDW.cjs.map → chunk-23IU7YWI.cjs.map} +1 -1
- package/dist/{chunk-MYYXPR42.js → chunk-2EJEXPPL.js} +2 -2
- package/dist/{chunk-VNTU326I.js → chunk-2G263TTT.js} +3 -3
- package/dist/{chunk-QQXNGBN2.cjs → chunk-3GI7CGQ7.cjs} +77 -77
- package/dist/{chunk-QQXNGBN2.cjs.map → chunk-3GI7CGQ7.cjs.map} +1 -1
- package/dist/{chunk-DBUSSWBU.js → chunk-3R6E3QGA.js} +19 -10
- package/dist/chunk-3R6E3QGA.js.map +1 -0
- package/dist/{chunk-SFFX26HF.js → chunk-4PF6OJ6Y.js} +2 -2
- package/dist/{chunk-NLP5AB6W.cjs → chunk-5IV3X3G2.cjs} +3 -3
- package/dist/{chunk-NLP5AB6W.cjs.map → chunk-5IV3X3G2.cjs.map} +1 -1
- package/dist/{chunk-TXYE3JUL.js → chunk-5ZKPZO4P.js} +5 -5
- package/dist/{chunk-AI2YUNVV.js → chunk-6TMSDUBV.js} +2 -2
- package/dist/{chunk-VOF2VCUF.js → chunk-AIFX7O4T.js} +6 -6
- package/dist/{chunk-IM66ER3N.js → chunk-BNAEJFRD.js} +6 -6
- package/dist/{chunk-PZO3WTII.js → chunk-BOXIU3K7.js} +2 -2
- package/dist/{chunk-JRWQEYSV.cjs → chunk-C5R3MIPP.cjs} +57 -57
- package/dist/{chunk-JRWQEYSV.cjs.map → chunk-C5R3MIPP.cjs.map} +1 -1
- package/dist/{chunk-44Y7SP3W.js → chunk-C6RPSBNP.js} +2 -2
- package/dist/{chunk-4LOXBT7W.js → chunk-CXXHG4R6.js} +2 -2
- package/dist/{chunk-JSLRB4XE.js → chunk-DDVD52ZK.js} +2 -2
- package/dist/{chunk-WW47MOC6.js → chunk-F7MOLC4H.js} +2 -2
- package/dist/{chunk-6KXAVROI.js → chunk-GFGUFZIR.js} +2 -2
- package/dist/{chunk-64CA5E3N.js → chunk-GILFCRWU.js} +4 -4
- package/dist/{chunk-KR6UDBIV.js → chunk-H3FE764I.js} +2 -2
- package/dist/{chunk-EH744WIF.js → chunk-IZHN5GUP.js} +2 -2
- package/dist/{chunk-HYACQOK6.js → chunk-J3FCIIU2.js} +10 -10
- package/dist/{chunk-7LEWA5WH.js → chunk-J5ASLOYJ.js} +3 -3
- package/dist/{chunk-ACMWKNEF.js → chunk-JKIBPFPU.js} +3 -3
- package/dist/{chunk-EFSZHHEP.cjs → chunk-KDD6ADVH.cjs} +6 -6
- package/dist/{chunk-EFSZHHEP.cjs.map → chunk-KDD6ADVH.cjs.map} +1 -1
- package/dist/{chunk-MTOZEYOT.js → chunk-KFX6MF3X.js} +11 -11
- package/dist/{chunk-2P7Y3BT3.js → chunk-KGP2OPCF.js} +2 -2
- package/dist/{chunk-CATJO2L2.js → chunk-M3OUJWZG.js} +2 -2
- package/dist/{chunk-SJMAND23.js → chunk-MMOGO6BR.js} +18 -9
- package/dist/chunk-MMOGO6BR.js.map +1 -0
- package/dist/{chunk-AL6DVHWS.js → chunk-NRAUMRYW.js} +2 -2
- package/dist/{chunk-QIM4I2IO.js → chunk-O2MTQFXS.js} +2 -2
- package/dist/{chunk-FICCE4LN.js → chunk-QWFOD35T.js} +5 -5
- package/dist/{chunk-C4NF2E7X.js → chunk-S4U2OSZA.js} +2 -2
- package/dist/{chunk-N3LJARDG.js → chunk-VBKXBTS3.js} +15 -15
- package/dist/{chunk-WRZDSWMV.js → chunk-VBSUI7GG.js} +2 -2
- package/dist/{chunk-XNCPKOIP.js → chunk-VVFATUEI.js} +6 -6
- package/dist/{chunk-GFV5RSHS.js → chunk-XK55VJZ4.js} +3 -3
- package/dist/{chunk-XXFF4HE4.cjs → chunk-YANK7HQP.cjs} +2 -2
- package/dist/{chunk-XXFF4HE4.cjs.map → chunk-YANK7HQP.cjs.map} +1 -1
- package/dist/{chunk-CAAW52SA.js → chunk-YEO54TSA.js} +2 -2
- package/dist/{chunk-N2Y5LEOQ.js → chunk-YRCGEEUJ.js} +2 -2
- package/dist/{chunk-L4WWG3U7.js → chunk-Z7XDL5ZR.js} +4 -4
- package/dist/{chunk-BVAKONSV.cjs → chunk-ZCZPN5FP.cjs} +40 -31
- package/dist/chunk-ZCZPN5FP.cjs.map +1 -0
- package/dist/{chunk-FW2OQZ3D.cjs → chunk-ZH5W25E7.cjs} +3 -3
- package/dist/{chunk-FW2OQZ3D.cjs.map → chunk-ZH5W25E7.cjs.map} +1 -1
- package/dist/chunks-CPRRCE53.js +11 -0
- package/dist/cli.js +43 -43
- package/dist/{formula-4IAJ4J5W.js → formula-67DSUA42.js} +4 -4
- package/dist/{formula-NJZUDYQO.js → formula-C3TK4WHA.js} +3 -3
- package/dist/{formula-E3VGHFAI.cjs → formula-NMCK7PV3.cjs} +9 -9
- package/dist/{formula-E3VGHFAI.cjs.map → formula-NMCK7PV3.cjs.map} +1 -1
- package/dist/generator-MHBGVMXF.js +10 -0
- package/dist/generator-TL7BWHHJ.cjs +11 -0
- package/dist/{generator-SUPBH2Q6.cjs.map → generator-TL7BWHHJ.cjs.map} +1 -1
- package/dist/generator-VMRCNFAM.js +17 -0
- package/dist/{image-ocr-KOZT553E.cjs → image-ocr-G7EZIRD5.cjs} +17 -17
- package/dist/{image-ocr-KOZT553E.cjs.map → image-ocr-G7EZIRD5.cjs.map} +1 -1
- package/dist/{image-ocr-7DKSLHV3.js → image-ocr-SSFIHRXO.js} +9 -9
- package/dist/{image-ocr-2ZA6RJB2.js → image-ocr-WQOK3TGX.js} +6 -6
- package/dist/index.cjs +1105 -1105
- package/dist/index.js +9 -9
- package/dist/mcp.js +36 -36
- package/dist/memo-TIJANZME.js +17 -0
- package/dist/{model-bundle-DFIFP2XF.js → model-bundle-UGNPRRV7.js} +5 -5
- package/dist/{models-25SH2DS7.js → models-G7BPKZHG.js} +5 -5
- package/dist/{parse-worker-v2-RJ3ED73F.js → parse-worker-v2-UUXJMKOR.js} +22 -22
- package/dist/{parser-GBYPD4QF.js → parser-FKFKAWWY.js} +33 -18
- package/dist/{parser-GBYPD4QF.js.map → parser-FKFKAWWY.js.map} +1 -1
- package/dist/{parser-3ODQI4QF.cjs → parser-MT2TIBZV.cjs} +178 -163
- package/dist/parser-MT2TIBZV.cjs.map +1 -0
- package/dist/{parser-NEYOWPAK.js → parser-NVTAB4EI.js} +30 -15
- package/dist/{parser-NEYOWPAK.js.map → parser-NVTAB4EI.js.map} +1 -1
- package/dist/pdf-ocr-ILNN7MHU.cjs +36 -0
- package/dist/{pdf-ocr-76NT4TCS.cjs.map → pdf-ocr-ILNN7MHU.cjs.map} +1 -1
- package/dist/{pdf-ocr-N6VQ72SP.js → pdf-ocr-RFLLXBIE.js} +9 -9
- package/dist/{pdf-ocr-5LHY3NXV.js → pdf-ocr-UEZ2T2AL.js} +6 -6
- package/dist/{profile-io-WCBBMCOR.js → profile-io-QG2QC2GK.js} +3 -3
- package/dist/{rasterize-GD325A5X.js → rasterize-KGD4XDGN.js} +3 -3
- package/dist/{redact-doc-R4F5VYUA.js → redact-doc-EVKRODUD.js} +21 -21
- package/dist/{render-7GV7GKZE.js → render-NZGPW7SN.js} +12 -12
- package/dist/{rewrite-fallback-STVHEDFQ.js → rewrite-fallback-IMRJQGMQ.js} +13 -13
- package/dist/seal-S76EV3UB.js +16 -0
- package/dist/{setup-EG7ZQNBB.js → setup-ZM53XM7K.js} +3 -3
- package/dist/{to-hwpx-XURJVKKH.js → to-hwpx-AW3GW5GH.js} +4 -4
- package/dist/{to-hwpx-2UZJV377.js → to-hwpx-DLGNCRE7.js} +7 -7
- package/dist/to-hwpx-H6WVQ4PJ.cjs +16 -0
- package/dist/{to-hwpx-ZTVZ6SRI.cjs.map → to-hwpx-H6WVQ4PJ.cjs.map} +1 -1
- package/dist/visual-KF3RCF3D.js +37 -0
- package/dist/{watch-NSVI3VIY.js → watch-EIRFKCSL.js} +22 -22
- package/package.json +1 -1
- package/dist/chunk-BVAKONSV.cjs.map +0 -1
- package/dist/chunk-DBUSSWBU.js.map +0 -1
- package/dist/chunk-SJMAND23.js.map +0 -1
- package/dist/chunks-EMHL6JYG.js +0 -11
- package/dist/generator-GPT76OML.js +0 -17
- package/dist/generator-MIX4R7HL.js +0 -10
- package/dist/generator-SUPBH2Q6.cjs +0 -11
- package/dist/memo-GFUUEHGA.js +0 -17
- package/dist/parser-3ODQI4QF.cjs.map +0 -1
- package/dist/pdf-ocr-76NT4TCS.cjs +0 -36
- package/dist/seal-XTZXAGHU.js +0 -16
- package/dist/to-hwpx-ZTVZ6SRI.cjs +0 -16
- package/dist/visual-C33QKCQ6.js +0 -37
- /package/dist/{-LTYXURUV.js.map → -BCQ3FAAQ.js.map} +0 -0
- /package/dist/{chunk-MYYXPR42.js.map → chunk-2EJEXPPL.js.map} +0 -0
- /package/dist/{chunk-VNTU326I.js.map → chunk-2G263TTT.js.map} +0 -0
- /package/dist/{chunk-SFFX26HF.js.map → chunk-4PF6OJ6Y.js.map} +0 -0
- /package/dist/{chunk-TXYE3JUL.js.map → chunk-5ZKPZO4P.js.map} +0 -0
- /package/dist/{chunk-AI2YUNVV.js.map → chunk-6TMSDUBV.js.map} +0 -0
- /package/dist/{chunk-VOF2VCUF.js.map → chunk-AIFX7O4T.js.map} +0 -0
- /package/dist/{chunk-IM66ER3N.js.map → chunk-BNAEJFRD.js.map} +0 -0
- /package/dist/{chunk-PZO3WTII.js.map → chunk-BOXIU3K7.js.map} +0 -0
- /package/dist/{chunk-44Y7SP3W.js.map → chunk-C6RPSBNP.js.map} +0 -0
- /package/dist/{chunk-4LOXBT7W.js.map → chunk-CXXHG4R6.js.map} +0 -0
- /package/dist/{chunk-JSLRB4XE.js.map → chunk-DDVD52ZK.js.map} +0 -0
- /package/dist/{chunk-WW47MOC6.js.map → chunk-F7MOLC4H.js.map} +0 -0
- /package/dist/{chunk-6KXAVROI.js.map → chunk-GFGUFZIR.js.map} +0 -0
- /package/dist/{chunk-64CA5E3N.js.map → chunk-GILFCRWU.js.map} +0 -0
- /package/dist/{chunk-KR6UDBIV.js.map → chunk-H3FE764I.js.map} +0 -0
- /package/dist/{chunk-EH744WIF.js.map → chunk-IZHN5GUP.js.map} +0 -0
- /package/dist/{chunk-HYACQOK6.js.map → chunk-J3FCIIU2.js.map} +0 -0
- /package/dist/{chunk-7LEWA5WH.js.map → chunk-J5ASLOYJ.js.map} +0 -0
- /package/dist/{chunk-ACMWKNEF.js.map → chunk-JKIBPFPU.js.map} +0 -0
- /package/dist/{chunk-MTOZEYOT.js.map → chunk-KFX6MF3X.js.map} +0 -0
- /package/dist/{chunk-2P7Y3BT3.js.map → chunk-KGP2OPCF.js.map} +0 -0
- /package/dist/{chunk-CATJO2L2.js.map → chunk-M3OUJWZG.js.map} +0 -0
- /package/dist/{chunk-AL6DVHWS.js.map → chunk-NRAUMRYW.js.map} +0 -0
- /package/dist/{chunk-QIM4I2IO.js.map → chunk-O2MTQFXS.js.map} +0 -0
- /package/dist/{chunk-FICCE4LN.js.map → chunk-QWFOD35T.js.map} +0 -0
- /package/dist/{chunk-C4NF2E7X.js.map → chunk-S4U2OSZA.js.map} +0 -0
- /package/dist/{chunk-N3LJARDG.js.map → chunk-VBKXBTS3.js.map} +0 -0
- /package/dist/{chunk-WRZDSWMV.js.map → chunk-VBSUI7GG.js.map} +0 -0
- /package/dist/{chunk-XNCPKOIP.js.map → chunk-VVFATUEI.js.map} +0 -0
- /package/dist/{chunk-GFV5RSHS.js.map → chunk-XK55VJZ4.js.map} +0 -0
- /package/dist/{chunk-CAAW52SA.js.map → chunk-YEO54TSA.js.map} +0 -0
- /package/dist/{chunk-N2Y5LEOQ.js.map → chunk-YRCGEEUJ.js.map} +0 -0
- /package/dist/{chunk-L4WWG3U7.js.map → chunk-Z7XDL5ZR.js.map} +0 -0
- /package/dist/{chunks-EMHL6JYG.js.map → chunks-CPRRCE53.js.map} +0 -0
- /package/dist/{formula-4IAJ4J5W.js.map → formula-67DSUA42.js.map} +0 -0
- /package/dist/{formula-NJZUDYQO.js.map → formula-C3TK4WHA.js.map} +0 -0
- /package/dist/{generator-GPT76OML.js.map → generator-MHBGVMXF.js.map} +0 -0
- /package/dist/{generator-MIX4R7HL.js.map → generator-VMRCNFAM.js.map} +0 -0
- /package/dist/{image-ocr-7DKSLHV3.js.map → image-ocr-SSFIHRXO.js.map} +0 -0
- /package/dist/{image-ocr-2ZA6RJB2.js.map → image-ocr-WQOK3TGX.js.map} +0 -0
- /package/dist/{memo-GFUUEHGA.js.map → memo-TIJANZME.js.map} +0 -0
- /package/dist/{model-bundle-DFIFP2XF.js.map → model-bundle-UGNPRRV7.js.map} +0 -0
- /package/dist/{models-25SH2DS7.js.map → models-G7BPKZHG.js.map} +0 -0
- /package/dist/{parse-worker-v2-RJ3ED73F.js.map → parse-worker-v2-UUXJMKOR.js.map} +0 -0
- /package/dist/{pdf-ocr-5LHY3NXV.js.map → pdf-ocr-RFLLXBIE.js.map} +0 -0
- /package/dist/{pdf-ocr-N6VQ72SP.js.map → pdf-ocr-UEZ2T2AL.js.map} +0 -0
- /package/dist/{profile-io-WCBBMCOR.js.map → profile-io-QG2QC2GK.js.map} +0 -0
- /package/dist/{rasterize-GD325A5X.js.map → rasterize-KGD4XDGN.js.map} +0 -0
- /package/dist/{redact-doc-R4F5VYUA.js.map → redact-doc-EVKRODUD.js.map} +0 -0
- /package/dist/{render-7GV7GKZE.js.map → render-NZGPW7SN.js.map} +0 -0
- /package/dist/{rewrite-fallback-STVHEDFQ.js.map → rewrite-fallback-IMRJQGMQ.js.map} +0 -0
- /package/dist/{seal-XTZXAGHU.js.map → seal-S76EV3UB.js.map} +0 -0
- /package/dist/{setup-EG7ZQNBB.js.map → setup-ZM53XM7K.js.map} +0 -0
- /package/dist/{to-hwpx-2UZJV377.js.map → to-hwpx-AW3GW5GH.js.map} +0 -0
- /package/dist/{to-hwpx-XURJVKKH.js.map → to-hwpx-DLGNCRE7.js.map} +0 -0
- /package/dist/{visual-C33QKCQ6.js.map → visual-KF3RCF3D.js.map} +0 -0
- /package/dist/{watch-NSVI3VIY.js.map → watch-EIRFKCSL.js.map} +0 -0
|
@@ -36,7 +36,7 @@ var _chunkLAYKIZOXcjs = require('./chunk-LAYKIZOX.cjs');
|
|
|
36
36
|
|
|
37
37
|
|
|
38
38
|
|
|
39
|
-
var
|
|
39
|
+
var _chunkKDD6ADVHcjs = require('./chunk-KDD6ADVH.cjs');
|
|
40
40
|
|
|
41
41
|
|
|
42
42
|
|
|
@@ -48,7 +48,7 @@ var _chunkEFSZHHEPcjs = require('./chunk-EFSZHHEP.cjs');
|
|
|
48
48
|
|
|
49
49
|
|
|
50
50
|
|
|
51
|
-
var
|
|
51
|
+
var _chunkYANK7HQPcjs = require('./chunk-YANK7HQP.cjs');
|
|
52
52
|
|
|
53
53
|
// src/hwpx/generator.ts
|
|
54
54
|
var _jszip = require('jszip'); var _jszip2 = _interopRequireDefault(_jszip);
|
|
@@ -11131,7 +11131,7 @@ function findAgency(name) {
|
|
|
11131
11131
|
}
|
|
11132
11132
|
function agencyStyle(name) {
|
|
11133
11133
|
const s = findAgency(name);
|
|
11134
|
-
if (!s) throw new (0,
|
|
11134
|
+
if (!s) throw new (0, _chunkYANK7HQPcjs.KordocError)(`agency: \uC2E4\uCE21 \uC11C\uC2DD\uC774 \uC5C6\uB294 \uAE30\uAD00\uC785\uB2C8\uB2E4 "${name}" \u2014 ${AGENCY_COMMON_NAME} \uB610\uB294 ${agencyNames().join("\xB7")}`);
|
|
11135
11135
|
return s;
|
|
11136
11136
|
}
|
|
11137
11137
|
function applyAgency(opts, preset) {
|
|
@@ -12195,7 +12195,7 @@ function needsGaejosikAssets(gongmun) {
|
|
|
12195
12195
|
}
|
|
12196
12196
|
function assertFiniteRange(name, value, min, max) {
|
|
12197
12197
|
if (!Number.isFinite(value) || value < min || value > max) {
|
|
12198
|
-
throw new (0,
|
|
12198
|
+
throw new (0, _chunkYANK7HQPcjs.KordocError)(`${name} must be a finite number between ${min} and ${max}`);
|
|
12199
12199
|
}
|
|
12200
12200
|
}
|
|
12201
12201
|
function validateGongmunOptions(opts) {
|
|
@@ -12213,10 +12213,10 @@ function validateGongmunOptions(opts) {
|
|
|
12213
12213
|
assertFiniteRange(`margins.${side}`, value, 0, 200);
|
|
12214
12214
|
}
|
|
12215
12215
|
if (opts.margins.left + opts.margins.right >= 210) {
|
|
12216
|
-
throw new (0,
|
|
12216
|
+
throw new (0, _chunkYANK7HQPcjs.KordocError)("margins.left + margins.right must be less than 210");
|
|
12217
12217
|
}
|
|
12218
12218
|
if (opts.margins.top + opts.margins.bottom >= 297) {
|
|
12219
|
-
throw new (0,
|
|
12219
|
+
throw new (0, _chunkYANK7HQPcjs.KordocError)("margins.top + margins.bottom must be less than 297");
|
|
12220
12220
|
}
|
|
12221
12221
|
}
|
|
12222
12222
|
if (opts.sizes) {
|
|
@@ -12225,24 +12225,24 @@ function validateGongmunOptions(opts) {
|
|
|
12225
12225
|
}
|
|
12226
12226
|
}
|
|
12227
12227
|
if (opts.approval && opts.approval.length > 6) {
|
|
12228
|
-
throw new (0,
|
|
12228
|
+
throw new (0, _chunkYANK7HQPcjs.KordocError)("approval must contain at most 6 labels");
|
|
12229
12229
|
}
|
|
12230
12230
|
if (opts.checklist && typeof opts.checklist === "object") {
|
|
12231
12231
|
const nums = [..._nullishCoalesce(opts.checklist.na, () => ( [])), ...Object.keys(_nullishCoalesce(opts.checklist.notes, () => ( {}))).map(Number)];
|
|
12232
12232
|
for (const n of nums) {
|
|
12233
|
-
if (!Number.isInteger(n) || n < 1 || n > CHECKLIST_ITEMS) throw new (0,
|
|
12233
|
+
if (!Number.isInteger(n) || n < 1 || n > CHECKLIST_ITEMS) throw new (0, _chunkYANK7HQPcjs.KordocError)(`checklist: item number must be an integer between 1 and ${CHECKLIST_ITEMS} (got ${n})`);
|
|
12234
12234
|
}
|
|
12235
12235
|
}
|
|
12236
12236
|
if (opts.levels) {
|
|
12237
12237
|
for (const [key, st] of Object.entries(opts.levels)) {
|
|
12238
12238
|
const depth = Number(key);
|
|
12239
12239
|
if (!Number.isInteger(depth) || depth < 0 || depth >= GONGMUN_LEVEL_COUNT) {
|
|
12240
|
-
throw new (0,
|
|
12240
|
+
throw new (0, _chunkYANK7HQPcjs.KordocError)(`levels: depth must be an integer between 0 and ${GONGMUN_LEVEL_COUNT - 1} (got "${key}")`);
|
|
12241
12241
|
}
|
|
12242
|
-
if (!st || typeof st !== "object") throw new (0,
|
|
12242
|
+
if (!st || typeof st !== "object") throw new (0, _chunkYANK7HQPcjs.KordocError)(`levels.${key} must be an object {font, pt, bold}`);
|
|
12243
12243
|
if (st.pt !== void 0) assertFiniteRange(`levels.${key}.pt`, st.pt, 6, 60);
|
|
12244
12244
|
if (st.font !== void 0 && (typeof st.font !== "string" || !st.font.trim())) {
|
|
12245
|
-
throw new (0,
|
|
12245
|
+
throw new (0, _chunkYANK7HQPcjs.KordocError)(`levels.${key}.font must be a non-empty string`);
|
|
12246
12246
|
}
|
|
12247
12247
|
}
|
|
12248
12248
|
}
|
|
@@ -12300,7 +12300,7 @@ function resolveChecklist(c, preset) {
|
|
|
12300
12300
|
function hexColorOption(name, value) {
|
|
12301
12301
|
if (value === void 0) return void 0;
|
|
12302
12302
|
const v = value.trim();
|
|
12303
|
-
if (!/^#[0-9a-fA-F]{6}$/.test(v)) throw new (0,
|
|
12303
|
+
if (!/^#[0-9a-fA-F]{6}$/.test(v)) throw new (0, _chunkYANK7HQPcjs.KordocError)(`${name} must be a #RRGGBB color (got "${value}")`);
|
|
12304
12304
|
return v.toUpperCase();
|
|
12305
12305
|
}
|
|
12306
12306
|
function resolveGongmun(input) {
|
|
@@ -12378,21 +12378,21 @@ function standardMarker(depth, n) {
|
|
|
12378
12378
|
case 0:
|
|
12379
12379
|
return `${n + 1}.`;
|
|
12380
12380
|
case 1:
|
|
12381
|
-
return `${
|
|
12381
|
+
return `${_chunkKDD6ADVHcjs.hangulOrdinal.call(void 0, n)}.`;
|
|
12382
12382
|
case 2:
|
|
12383
12383
|
return `${n + 1})`;
|
|
12384
12384
|
case 3:
|
|
12385
|
-
return `${
|
|
12385
|
+
return `${_chunkKDD6ADVHcjs.hangulOrdinal.call(void 0, n)})`;
|
|
12386
12386
|
case 4:
|
|
12387
12387
|
return `(${n + 1})`;
|
|
12388
12388
|
case 5:
|
|
12389
|
-
return `(${
|
|
12389
|
+
return `(${_chunkKDD6ADVHcjs.hangulOrdinal.call(void 0, n)})`;
|
|
12390
12390
|
case 6:
|
|
12391
|
-
return
|
|
12391
|
+
return _chunkKDD6ADVHcjs.circledNumber.call(void 0, n);
|
|
12392
12392
|
case 7:
|
|
12393
|
-
return
|
|
12393
|
+
return _chunkKDD6ADVHcjs.circledHangul.call(void 0, n);
|
|
12394
12394
|
default:
|
|
12395
|
-
return
|
|
12395
|
+
return _chunkKDD6ADVHcjs.circledHangul.call(void 0, n);
|
|
12396
12396
|
}
|
|
12397
12397
|
}
|
|
12398
12398
|
function reportMarker(depth, bullet2 = "\u25CB", asteriskThird = false) {
|
|
@@ -13046,7 +13046,7 @@ function parseInlineMarkdown(text) {
|
|
|
13046
13046
|
else spans.push(...emphasisSpans(m[0]));
|
|
13047
13047
|
} else {
|
|
13048
13048
|
const anchor = m[2] || m[3];
|
|
13049
|
-
const href = _nullishCoalesce(
|
|
13049
|
+
const href = _nullishCoalesce(_chunkYANK7HQPcjs.sanitizeHref.call(void 0, m[3].trim()), () => ( void 0));
|
|
13050
13050
|
const sub = emphasisSpans(anchor);
|
|
13051
13051
|
if (href) for (const s of sub) s.href = href;
|
|
13052
13052
|
spans.push(...sub);
|
|
@@ -13267,7 +13267,7 @@ function assertSequentialIds(rows, label, startId) {
|
|
|
13267
13267
|
const m = rows[i].match(/\bid="(\d+)"/);
|
|
13268
13268
|
const got = m ? Number(m[1]) : NaN;
|
|
13269
13269
|
if (got !== startId + i) {
|
|
13270
|
-
throw new (0,
|
|
13270
|
+
throw new (0, _chunkYANK7HQPcjs.KordocError)(
|
|
13271
13271
|
`\uB0B4\uBD80 \uC624\uB958: ${label} id \uD30C\uD2F0\uC158 \uB4DC\uB9AC\uD504\uD2B8 \u2014 ${startId + i} \uC704\uCE58\uC5D0 id=${m ? m[1] : "?"} \uBC29\uCD9C. id \uC0C1\uC218(gen-ids)\uC640 \uC2E4\uC81C \uBC29\uCD9C \uC218\uAC00 \uC5B4\uAE0B\uB0AC\uB2E4 (GJ_CHAR_COUNT\uB958 \uCE74\uC6B4\uD2B8\xB7base \uC0B0\uC220 \uD655\uC778)`
|
|
13272
13272
|
);
|
|
13273
13273
|
}
|
|
@@ -13358,7 +13358,7 @@ function buildCharProperties(theme, gongmun, ratioVariants = [], extraCharPrXmls
|
|
|
13358
13358
|
}
|
|
13359
13359
|
const expectedBase = charVariantBase(richAssets, !!gongmun);
|
|
13360
13360
|
if (rows.length !== expectedBase) {
|
|
13361
|
-
throw new (0,
|
|
13361
|
+
throw new (0, _chunkYANK7HQPcjs.KordocError)(
|
|
13362
13362
|
`\uB0B4\uBD80 \uC624\uB958: charPr \uAE30\uBCF8 \uBE14\uB85D \uBC29\uCD9C \uC218(${rows.length}) \u2260 charVariantBase(${expectedBase}) \u2014 gen-header \uBC29\uCD9C \uD589\uACFC gen-ids \uCE74\uC6B4\uD2B8 \uC0C1\uC218\uAC00 \uC5B4\uAE0B\uB0AC\uB2E4`
|
|
13363
13363
|
);
|
|
13364
13364
|
}
|
|
@@ -13866,7 +13866,7 @@ function variantMapper(fit, blockIdx, base = CHAR_VARIANT_BASE) {
|
|
|
13866
13866
|
const vi = fit.variants.indexOf(r);
|
|
13867
13867
|
return (id) => id >= 0 && id <= 3 ? base + vi * 4 + id : id;
|
|
13868
13868
|
}
|
|
13869
|
-
var ORDINAL_SYLLABLES = new Set(Array.from({ length: 84 }, (_, i) =>
|
|
13869
|
+
var ORDINAL_SYLLABLES = new Set(Array.from({ length: 84 }, (_, i) => _chunkKDD6ADVHcjs.hangulOrdinal.call(void 0, i)));
|
|
13870
13870
|
function literalMarkerDepth(text) {
|
|
13871
13871
|
const t = text.trimStart();
|
|
13872
13872
|
let m;
|
|
@@ -14230,9 +14230,9 @@ function rawTextContent(node, depth = 0) {
|
|
|
14230
14230
|
}
|
|
14231
14231
|
|
|
14232
14232
|
// src/hwpx/parser-shared.ts
|
|
14233
|
-
var MAX_DECOMPRESS_SIZE =
|
|
14233
|
+
var MAX_DECOMPRESS_SIZE = _chunkYANK7HQPcjs.unzipLimitBytes.call(void 0, 256 * 1024 * 1024);
|
|
14234
14234
|
var MAX_ZIP_ENTRIES = 500;
|
|
14235
|
-
var ZipBombError = class extends
|
|
14235
|
+
var ZipBombError = class extends _chunkYANK7HQPcjs.KordocError {
|
|
14236
14236
|
constructor(message) {
|
|
14237
14237
|
super(message);
|
|
14238
14238
|
this.name = "ZipBombError";
|
|
@@ -14283,7 +14283,7 @@ function createSectionShared() {
|
|
|
14283
14283
|
function createXmlParser(warnings) {
|
|
14284
14284
|
return new (0, _xmldom.DOMParser)({
|
|
14285
14285
|
onError(level, msg) {
|
|
14286
|
-
if (level === "fatalError") throw new (0,
|
|
14286
|
+
if (level === "fatalError") throw new (0, _chunkYANK7HQPcjs.KordocError)(`XML \uD30C\uC2F1 \uC2E4\uD328: ${msg}`);
|
|
14287
14287
|
_optionalChain([warnings, 'optionalAccess', _134 => _134.push, 'call', _135 => _135({ code: "MALFORMED_XML", message: `XML ${level === "warning" ? "\uACBD\uACE0" : "\uC624\uB958"}: ${msg}` })]);
|
|
14288
14288
|
}
|
|
14289
14289
|
});
|
|
@@ -14507,7 +14507,7 @@ function noScriptTags(text) {
|
|
|
14507
14507
|
return text.replace(/(?<!\\)<\/?su[bp]>/g, "");
|
|
14508
14508
|
}
|
|
14509
14509
|
function normForMatch(text) {
|
|
14510
|
-
return
|
|
14510
|
+
return _chunkKDD6ADVHcjs.sanitizeText.call(void 0, text.replace(/\\\$/g, "$").replace(/\\(?=<\/?(?:u|sup|sub)>)/g, "")).replace(/\s+/g, " ").trim();
|
|
14511
14511
|
}
|
|
14512
14512
|
function unescapeGfm(text) {
|
|
14513
14513
|
return text.replace(/\\([~*_`|#<$\\])/g, "$1");
|
|
@@ -14529,7 +14529,7 @@ function replicateGfmTable(table2) {
|
|
|
14529
14529
|
const cell2 = _optionalChain([cells, 'access', _136 => _136[r], 'optionalAccess', _137 => _137[c]]);
|
|
14530
14530
|
if (!cell2) continue;
|
|
14531
14531
|
display[r][c] = {
|
|
14532
|
-
text:
|
|
14532
|
+
text: _chunkKDD6ADVHcjs.cellToMarkdown.call(void 0, cell2, "<br>").replace(/\r\n|\r|\n/g, "<br>").replace(/(?<!\\)\|/g, "\\|"),
|
|
14533
14533
|
gridR: r,
|
|
14534
14534
|
gridC: c
|
|
14535
14535
|
};
|
|
@@ -14551,7 +14551,7 @@ function replicateGfmTable(table2) {
|
|
|
14551
14551
|
return uniqueRows.length > 0 ? uniqueRows : null;
|
|
14552
14552
|
}
|
|
14553
14553
|
function isInlineColumnTable(table2) {
|
|
14554
|
-
return table2.cols === 1 && table2.cells.some((row) => !!row[0] &&
|
|
14554
|
+
return table2.cols === 1 && table2.cells.some((row) => !!row[0] && _chunkKDD6ADVHcjs.hasInlineCellBlocks.call(void 0, row[0]));
|
|
14555
14555
|
}
|
|
14556
14556
|
function replicateColumnTable(table2) {
|
|
14557
14557
|
const inline = isInlineColumnTable(table2);
|
|
@@ -14559,7 +14559,7 @@ function replicateColumnTable(table2) {
|
|
|
14559
14559
|
for (let r = 0; r < table2.rows; r++) {
|
|
14560
14560
|
const cell2 = _optionalChain([table2, 'access', _138 => _138.cells, 'access', _139 => _139[r], 'optionalAccess', _140 => _140[0]]);
|
|
14561
14561
|
if (!cell2) continue;
|
|
14562
|
-
const md = inline ?
|
|
14562
|
+
const md = inline ? _chunkKDD6ADVHcjs.cellToMarkdown.call(void 0, cell2, "\n") : _chunkKDD6ADVHcjs.escapeGfm.call(void 0, _chunkKDD6ADVHcjs.sanitizeText.call(void 0, cell2.text));
|
|
14563
14563
|
for (const line of md.split("\n").map((l) => l.trim()).filter(Boolean)) out.push({ line, gridR: r });
|
|
14564
14564
|
}
|
|
14565
14565
|
return out;
|
|
@@ -14583,16 +14583,16 @@ function replicateCellInnerHtml(cell2) {
|
|
|
14583
14583
|
if (_optionalChain([cell2, 'access', _141 => _141.blocks, 'optionalAccess', _142 => _142.length])) {
|
|
14584
14584
|
return cell2.blocks.map((b) => {
|
|
14585
14585
|
if (b.type === "table" && b.table) {
|
|
14586
|
-
const cap = b.table.caption ?
|
|
14587
|
-
return (cap ?
|
|
14586
|
+
const cap = b.table.caption ? _chunkKDD6ADVHcjs.sanitizeText.call(void 0, b.table.caption) : "";
|
|
14587
|
+
return (cap ? _chunkKDD6ADVHcjs.escapeHtmlCellText.call(void 0, cap) + "<br>" : "") + replicateTableToHtml(b.table);
|
|
14588
14588
|
}
|
|
14589
|
-
if (b.type === "image" && b.text) return `<img src="${
|
|
14590
|
-
const note =
|
|
14591
|
-
const t = (
|
|
14592
|
-
return ((t ?
|
|
14589
|
+
if (b.type === "image" && b.text) return `<img src="${_chunkYANK7HQPcjs.escapeHtml.call(void 0, b.text, true)}" alt="image">`;
|
|
14590
|
+
const note = _chunkKDD6ADVHcjs.noteTableHtml.call(void 0, b);
|
|
14591
|
+
const t = (_chunkKDD6ADVHcjs.sanitizeText.call(void 0, _chunkKDD6ADVHcjs.visibleText.call(void 0, b)) + (note ? "" : _chunkKDD6ADVHcjs.noteSuffix.call(void 0, b))).trim();
|
|
14592
|
+
return ((t ? _chunkKDD6ADVHcjs.escapeHtmlCellText.call(void 0, t).replace(/\n/g, "<br>") : "") + note).trim();
|
|
14593
14593
|
}).filter(Boolean).join("<br>");
|
|
14594
14594
|
}
|
|
14595
|
-
return
|
|
14595
|
+
return _chunkKDD6ADVHcjs.escapeHtmlCellText.call(void 0, _chunkKDD6ADVHcjs.sanitizeText.call(void 0, cell2.text)).replace(/\n/g, "<br>");
|
|
14596
14596
|
}
|
|
14597
14597
|
function replicateTableToHtml(table2) {
|
|
14598
14598
|
const rows = replicateHtmlTable(table2);
|
|
@@ -14669,7 +14669,7 @@ function parseHtmlTable(raw) {
|
|
|
14669
14669
|
const cs = parseInt(_optionalChain([attrs, 'access', _145 => _145.match, 'call', _146 => _146(/colspan\s*=\s*["']?(\d+)/i), 'optionalAccess', _147 => _147[1]]) || "1", 10);
|
|
14670
14670
|
const rs = parseInt(_optionalChain([attrs, 'access', _148 => _148.match, 'call', _149 => _149(/rowspan\s*=\s*["']?(\d+)/i), 'optionalAccess', _150 => _150[1]]) || "1", 10);
|
|
14671
14671
|
cellStart = m.index + m[0].length;
|
|
14672
|
-
cellInfo = { colSpan: clampSpan(isNaN(cs) ? 1 : cs,
|
|
14672
|
+
cellInfo = { colSpan: clampSpan(isNaN(cs) ? 1 : cs, _chunkKDD6ADVHcjs.MAX_COLS), rowSpan: clampSpan(isNaN(rs) ? 1 : rs, _chunkKDD6ADVHcjs.MAX_ROWS) };
|
|
14673
14673
|
} else if (cellStart >= 0 && cellInfo && currentRow) {
|
|
14674
14674
|
currentRow.push({ inner: raw.slice(cellStart, m.index), colSpan: cellInfo.colSpan, rowSpan: cellInfo.rowSpan });
|
|
14675
14675
|
cellStart = -1;
|
|
@@ -14683,7 +14683,7 @@ function parseHtmlTable(raw) {
|
|
|
14683
14683
|
var AUTONUM_PREFIX_RE = /^(?:[0-90-9a-zA-Z가-힣]{1,6}[.)\]:]|[([][0-90-9a-zA-Z가-힣]{1,6}[)\]][.:]?|[ⅰ-ⅹⅠ-Ⅹ①-⑮][.)\]:]?)$/u;
|
|
14684
14684
|
function stripHeadMarker(blockText, edited) {
|
|
14685
14685
|
const raw = blockText.split(" ", 1)[0];
|
|
14686
|
-
const shown =
|
|
14686
|
+
const shown = _chunkKDD6ADVHcjs.sanitizeText.call(void 0, raw);
|
|
14687
14687
|
if (!shown) return { text: edited };
|
|
14688
14688
|
const toks = edited.split(" ");
|
|
14689
14689
|
if (toks[0] === shown || toks[0] === raw) return { text: toks.slice(1).join(" ") };
|
|
@@ -14693,7 +14693,7 @@ function stripHeadMarker(blockText, edited) {
|
|
|
14693
14693
|
return { text: edited, note: "\uBB38\uB2E8 \uBA38\uB9AC \uAE30\uD638(\uAE00\uBA38\uB9AC\uD45C\xB7\uC790\uB3D9 \uBC88\uD638)\uB294 \uBB38\uB2E8 \uBAA8\uC591\uC774\uB77C \uC9C0\uC6B0\uC9C0 \uC54A\uC74C \u2014 \uAE00\uB9CC \uC801\uC6A9" };
|
|
14694
14694
|
}
|
|
14695
14695
|
function stripShownHeadMarker(blockText, plain3) {
|
|
14696
|
-
const shown =
|
|
14696
|
+
const shown = _chunkKDD6ADVHcjs.sanitizeText.call(void 0, blockText.split(" ", 1)[0]);
|
|
14697
14697
|
return shown && plain3.startsWith(shown + " ") ? plain3.slice(shown.length + 1) : plain3;
|
|
14698
14698
|
}
|
|
14699
14699
|
function htmlCellInnerToLines(inner) {
|
|
@@ -14709,11 +14709,11 @@ function htmlCellInnerToLines(inner) {
|
|
|
14709
14709
|
work = work.replace(/<img\s(?:"[^"]*"|'[^']*'|[^>"'])*?>/gi, (tag) => {
|
|
14710
14710
|
const m = /\bsrc\s*=\s*(?:"([^"]*)"|'([^']*)')/i.exec(tag);
|
|
14711
14711
|
const src = _nullishCoalesce(_optionalChain([m, 'optionalAccess', _151 => _151[1]]), () => ( _optionalChain([m, 'optionalAccess', _152 => _152[2]])));
|
|
14712
|
-
if (src) imgSrcs.push(
|
|
14712
|
+
if (src) imgSrcs.push(_chunkYANK7HQPcjs.unescapeHtml.call(void 0, src));
|
|
14713
14713
|
return "";
|
|
14714
14714
|
});
|
|
14715
14715
|
}
|
|
14716
|
-
const lines = work.split(/<br\s*\/?>/gi).map((s) =>
|
|
14716
|
+
const lines = work.split(/<br\s*\/?>/gi).map((s) => _chunkYANK7HQPcjs.unescapeHtml.call(void 0, s).trim()).filter((s) => s.length > 0);
|
|
14717
14717
|
return { lines, hadNonText, imgSrcs };
|
|
14718
14718
|
}
|
|
14719
14719
|
function splitCellByTopLevelTables(html) {
|
|
@@ -15544,8 +15544,8 @@ function layoutHtmlRows(rows) {
|
|
|
15544
15544
|
let c = 0;
|
|
15545
15545
|
for (const cell2 of rows[r].cells) {
|
|
15546
15546
|
while (occupied.has(`${r},${c}`)) c++;
|
|
15547
|
-
const colSpan = clampSpan(cell2.colSpan,
|
|
15548
|
-
const rowSpan = clampSpan(cell2.rowSpan,
|
|
15547
|
+
const colSpan = clampSpan(cell2.colSpan, _chunkKDD6ADVHcjs.MAX_COLS);
|
|
15548
|
+
const rowSpan = clampSpan(cell2.rowSpan, _chunkKDD6ADVHcjs.MAX_ROWS);
|
|
15549
15549
|
placed.push({ r, c, colSpan, rowSpan, inner: cell2.inner, isHeader: rows[r].tag === "th" });
|
|
15550
15550
|
for (let dr = 0; dr < rowSpan; dr++) {
|
|
15551
15551
|
for (let dc = 0; dc < colSpan; dc++) occupied.add(`${r + dr},${c + dc}`);
|
|
@@ -17016,7 +17016,7 @@ function buildMinistryItemBand(n, text, ctx, before) {
|
|
|
17016
17016
|
const base = { font: MINISTRY.bandFont, pt: s.pt, bold: false };
|
|
17017
17017
|
const f = fitOneLine(plain(text), MINISTRY.bandFont, s.pt, w - 1800, s.pt);
|
|
17018
17018
|
const styled = f.overflow || f.ratio === 100 && f.spacing === 0 ? base : { ...base, ratio: f.ratio, spacing: f.spacing };
|
|
17019
|
-
const runs = ministryRuns(
|
|
17019
|
+
const runs = ministryRuns(_chunkKDD6ADVHcjs.circledNumber.call(void 0, n - 1), text, ctx, styled, MINISTRY.blue, MINISTRY.blue);
|
|
17020
17020
|
const p = reg.para({ align: "LEFT", lineSp: 130, left: 300 });
|
|
17021
17021
|
const cell2 = tc({ bf: band, row: 0, col: 0, w, h: s.h, paras: `<hp:p paraPrIDRef="${p}" styleIDRef="0">${runs}</hp:p>`, name: "__kordoc_h5" });
|
|
17022
17022
|
return host(ftbl([cell2], w, s.h, 1, { bottomGap: 700 }), reg.para({ align: "LEFT", lineSp: 100, before, keepWithNext: true }), reg.char(base));
|
|
@@ -18889,9 +18889,9 @@ function puaShownMap(text, pairable = () => true) {
|
|
|
18889
18889
|
for (let k = 0; k < cps.length; k++) {
|
|
18890
18890
|
const a = cps[k];
|
|
18891
18891
|
const b = k + 1 < cps.length && pairable(a.i, cps[k + 1].i) ? cps[k + 1] : void 0;
|
|
18892
|
-
const pair = b ?
|
|
18892
|
+
const pair = b ? _chunkKDD6ADVHcjs.pairedNumber.call(void 0, a.s, b.s) : void 0;
|
|
18893
18893
|
const last = pair !== void 0 ? cps[++k] : a;
|
|
18894
|
-
const out = (_nullishCoalesce(pair, () => (
|
|
18894
|
+
const out = (_nullishCoalesce(pair, () => ( _chunkKDD6ADVHcjs.mapPuaText.call(void 0, a.s)))).replace(/[\u{F0000}-\u{FFFFD}]/gu, "");
|
|
18895
18895
|
for (const c of out.split("")) {
|
|
18896
18896
|
d.text += c;
|
|
18897
18897
|
d.from.push(a.i);
|
|
@@ -19428,10 +19428,10 @@ async function extractHwpxStyles(zip, decompressed) {
|
|
|
19428
19428
|
const xml = await readZipEntry(file, "text", _optionalChain([decompressed, 'optionalAccess', _309 => _309.total]));
|
|
19429
19429
|
if (decompressed) {
|
|
19430
19430
|
decompressed.total += xml.length * 2;
|
|
19431
|
-
if (decompressed.total > MAX_DECOMPRESS_SIZE) throw new (0,
|
|
19431
|
+
if (decompressed.total > MAX_DECOMPRESS_SIZE) throw new (0, _chunkYANK7HQPcjs.KordocError)("ZIP \uC555\uCD95 \uD574\uC81C \uD06C\uAE30 \uCD08\uACFC (ZIP bomb \uC758\uC2EC)");
|
|
19432
19432
|
}
|
|
19433
19433
|
const parser = createXmlParser();
|
|
19434
|
-
const doc = parser.parseFromString(
|
|
19434
|
+
const doc = parser.parseFromString(_chunkYANK7HQPcjs.stripDtd.call(void 0, xml), "text/xml");
|
|
19435
19435
|
if (!doc.documentElement) continue;
|
|
19436
19436
|
const domDoc = doc;
|
|
19437
19437
|
parseCharProperties(domDoc, result.charProperties);
|
|
@@ -19644,9 +19644,9 @@ function detectHwpxHeadings(blocks, styleMap, tocTexts) {
|
|
|
19644
19644
|
let level = 0;
|
|
19645
19645
|
if (baseFontSize > 0 && _optionalChain([block, 'access', _318 => _318.style, 'optionalAccess', _319 => _319.fontSize])) {
|
|
19646
19646
|
const ratio = block.style.fontSize / baseFontSize;
|
|
19647
|
-
if (ratio >=
|
|
19648
|
-
else if (ratio >=
|
|
19649
|
-
else if (ratio >=
|
|
19647
|
+
if (ratio >= _chunkKDD6ADVHcjs.HEADING_RATIO_H1) level = 1;
|
|
19648
|
+
else if (ratio >= _chunkKDD6ADVHcjs.HEADING_RATIO_H2) level = 2;
|
|
19649
|
+
else if (ratio >= _chunkKDD6ADVHcjs.HEADING_RATIO_H3) level = 3;
|
|
19650
19650
|
}
|
|
19651
19651
|
const compactText = text.replace(/\s+/g, "");
|
|
19652
19652
|
if (/^제\d+[조장절편]/.test(compactText) && text.length <= 50) {
|
|
@@ -20357,7 +20357,7 @@ function extractHyperlinkHref(fieldBegin) {
|
|
|
20357
20357
|
let url = (ch.textContent || "").trim();
|
|
20358
20358
|
if (!url) continue;
|
|
20359
20359
|
url = url.replace(/^https?:\/\/(?=https?:\/\/)/i, "");
|
|
20360
|
-
const safe =
|
|
20360
|
+
const safe = _chunkYANK7HQPcjs.sanitizeHref.call(void 0, url);
|
|
20361
20361
|
if (safe) return safe;
|
|
20362
20362
|
}
|
|
20363
20363
|
return void 0;
|
|
@@ -20393,11 +20393,11 @@ function formatHeadNumber(n, numFormat) {
|
|
|
20393
20393
|
// 서수 시퀀스는 생성기(gongmun.ts)와 단일 소스 (v4.0.5) — 종전 mod-14 순환은
|
|
20394
20394
|
// 15번째 형제를 다시 '가'로 만들어 한글 실렌더(가→하→거→너 단모음 연속)와 어긋났다
|
|
20395
20395
|
case "CIRCLED_DIGIT":
|
|
20396
|
-
return n <= 50 ?
|
|
20396
|
+
return n <= 50 ? _chunkKDD6ADVHcjs.circledNumber.call(void 0, n - 1) : `(${n})`;
|
|
20397
20397
|
case "HANGUL_SYLLABLE":
|
|
20398
|
-
return
|
|
20398
|
+
return _chunkKDD6ADVHcjs.hangulOrdinal.call(void 0, n - 1);
|
|
20399
20399
|
case "CIRCLED_HANGUL_SYLLABLE":
|
|
20400
|
-
return n <= 14 ?
|
|
20400
|
+
return n <= 14 ? _chunkKDD6ADVHcjs.circledHangul.call(void 0, n - 1) : _chunkKDD6ADVHcjs.hangulOrdinal.call(void 0, n - 1);
|
|
20401
20401
|
case "HANGUL_JAMO":
|
|
20402
20402
|
return HANGUL_JAMO_SEQ[(n - 1) % HANGUL_JAMO_SEQ.length];
|
|
20403
20403
|
case "CIRCLED_HANGUL_JAMO":
|
|
@@ -20411,9 +20411,9 @@ function formatHeadNumber(n, numFormat) {
|
|
|
20411
20411
|
case "CIRCLED_LATIN_SMALL":
|
|
20412
20412
|
return n <= 26 ? String.fromCodePoint(9424 + n - 1) : String.fromCharCode(97 + (n - 1) % 26);
|
|
20413
20413
|
case "ROMAN_CAPITAL":
|
|
20414
|
-
return
|
|
20414
|
+
return _chunkKDD6ADVHcjs.romanNumeral.call(void 0, n, true);
|
|
20415
20415
|
case "ROMAN_SMALL":
|
|
20416
|
-
return
|
|
20416
|
+
return _chunkKDD6ADVHcjs.romanNumeral.call(void 0, n, false);
|
|
20417
20417
|
default:
|
|
20418
20418
|
return String(n);
|
|
20419
20419
|
}
|
|
@@ -20461,7 +20461,7 @@ function resolveParaHeading(paraEl, ctx) {
|
|
|
20461
20461
|
|
|
20462
20462
|
// src/hwpx/table-build.ts
|
|
20463
20463
|
function buildTableWithCellMeta(state, keepAnchoredEmptyCols, keepEmptyParagraphs) {
|
|
20464
|
-
const table2 =
|
|
20464
|
+
const table2 = _chunkKDD6ADVHcjs.buildTable.call(void 0, state.rows, { keepAnchoredEmptyCols, keepEmptyParagraphs });
|
|
20465
20465
|
if (state.caption) table2.caption = state.caption;
|
|
20466
20466
|
if (state.caption && state.captionBelow) table2.captionBelow = true;
|
|
20467
20467
|
if (state.sourceId) table2.sourceId = state.sourceId;
|
|
@@ -20491,7 +20491,7 @@ function buildTableWithCellMeta(state, keepAnchoredEmptyCols, keepEmptyParagraph
|
|
|
20491
20491
|
for (const src of row) {
|
|
20492
20492
|
if (!src.edges || src.rowAddr === void 0 || src.colAddr === void 0) continue;
|
|
20493
20493
|
const cand = _optionalChain([table2, 'access', _380 => _380.cells, 'access', _381 => _381[src.rowAddr], 'optionalAccess', _382 => _382[src.colAddr]]);
|
|
20494
|
-
if (cand && anchors.includes(cand))
|
|
20494
|
+
if (cand && anchors.includes(cand)) _chunkKDD6ADVHcjs.CELL_EDGES.set(cand, src.edges);
|
|
20495
20495
|
}
|
|
20496
20496
|
}
|
|
20497
20497
|
const claimed = /* @__PURE__ */ new Set();
|
|
@@ -20541,8 +20541,8 @@ function completeTable(newTable, tableStack, blocks, ctx) {
|
|
|
20541
20541
|
const cell2 = parentTable.cell;
|
|
20542
20542
|
(cell2.blocks ??= []).push(block);
|
|
20543
20543
|
cell2.hasStructure = true;
|
|
20544
|
-
let flat =
|
|
20545
|
-
if (newTable.caption) flat =
|
|
20544
|
+
let flat = _chunkKDD6ADVHcjs.convertTableToText.call(void 0, newTable.rows);
|
|
20545
|
+
if (newTable.caption) flat = _chunkKDD6ADVHcjs.captionedText.call(void 0, flat, newTable.caption, newTable.captionBelow);
|
|
20546
20546
|
if (flat) {
|
|
20547
20547
|
const inlineJoin = newTable.inline === true && cell2.lineOpen === true;
|
|
20548
20548
|
cell2.text += (cell2.text ? inlineJoin ? " " : "\n" : "") + flat;
|
|
@@ -20788,7 +20788,7 @@ function extractRunSpans(para2, ctx, mode, requireMixed) {
|
|
|
20788
20788
|
const tkids = rc.childNodes;
|
|
20789
20789
|
for (let k = 0; k < (_nullishCoalesce(_optionalChain([tkids, 'optionalAccess', _391 => _391.length]), () => ( 0))); k++) {
|
|
20790
20790
|
const tk = tkids[k];
|
|
20791
|
-
if (tk.nodeType === 3 || tk.nodeType === 4) text +=
|
|
20791
|
+
if (tk.nodeType === 3 || tk.nodeType === 4) text += _chunkKDD6ADVHcjs.escapeLiteralTags.call(void 0, _chunkKDD6ADVHcjs.escapeLiteralDollar.call(void 0, tk.textContent || ""));
|
|
20792
20792
|
else if (tk.nodeType === 1) {
|
|
20793
20793
|
const ttag = (tk.tagName || tk.localName || "").replace(/^[^:]+:/, "");
|
|
20794
20794
|
if (ttag === "tab" || ttag === "fwSpace" || ttag === "hwSpace" || ttag === "nbSpace") text += " ";
|
|
@@ -20808,7 +20808,7 @@ function extractRunSpans(para2, ctx, mode, requireMixed) {
|
|
|
20808
20808
|
const span = { text };
|
|
20809
20809
|
if (mode !== "foreign" && prId === KORDOC_CHAR_CODE) span.code = true;
|
|
20810
20810
|
else {
|
|
20811
|
-
if (_optionalChain([cp, 'optionalAccess', _392 => _392.script])) span.text =
|
|
20811
|
+
if (_optionalChain([cp, 'optionalAccess', _392 => _392.script])) span.text = _chunkKDD6ADVHcjs.wrapScript.call(void 0, text, cp.script);
|
|
20812
20812
|
if (_optionalChain([cp, 'optionalAccess', _393 => _393.bold])) span.bold = true;
|
|
20813
20813
|
if (_optionalChain([cp, 'optionalAccess', _394 => _394.italic])) span.italic = true;
|
|
20814
20814
|
if (_optionalChain([cp, 'optionalAccess', _395 => _395.strike])) span.strike = true;
|
|
@@ -20828,7 +20828,7 @@ function extractRunSpans(para2, ctx, mode, requireMixed) {
|
|
|
20828
20828
|
}
|
|
20829
20829
|
}
|
|
20830
20830
|
if (requireMixed && !merged.some((s) => s.strike || s.underline) && !merged.some((s) => !(s.bold || s.italic || s.code))) return null;
|
|
20831
|
-
for (const s of merged) s.text =
|
|
20831
|
+
for (const s of merged) s.text = _chunkKDD6ADVHcjs.tidyScriptTags.call(void 0, s.text);
|
|
20832
20832
|
return merged;
|
|
20833
20833
|
}
|
|
20834
20834
|
function gongmunDepthFromIndent(para2, left, ctx) {
|
|
@@ -20855,7 +20855,7 @@ function gongmunDepthFromIndent(para2, left, ctx) {
|
|
|
20855
20855
|
// src/hwpx/section-walker.ts
|
|
20856
20856
|
function parseSectionXml(xml, styleMap, warnings, sectionNum, shared) {
|
|
20857
20857
|
const parser = createXmlParser(warnings);
|
|
20858
|
-
const doc = parser.parseFromString(
|
|
20858
|
+
const doc = parser.parseFromString(_chunkYANK7HQPcjs.stripDtd.call(void 0, xml), "text/xml");
|
|
20859
20859
|
if (!doc.documentElement) return [];
|
|
20860
20860
|
const ctx = { styleMap, warnings, sectionNum, shared: _nullishCoalesce(shared, () => ( createSectionShared())) };
|
|
20861
20861
|
ctx.shared.track.deleteDepth = 0;
|
|
@@ -20957,8 +20957,8 @@ function walkSection(node, blocks, tableCtx, tableStack, ctx, depth = 0) {
|
|
|
20957
20957
|
const cs = isNaN(rawCs) ? 1 : rawCs;
|
|
20958
20958
|
const rawRs = parseInt(el.getAttribute("rowSpan") || "1", 10);
|
|
20959
20959
|
const rs = isNaN(rawRs) ? 1 : rawRs;
|
|
20960
|
-
tableCtx.cell.colSpan = clampSpan(cs,
|
|
20961
|
-
tableCtx.cell.rowSpan = clampSpan(rs,
|
|
20960
|
+
tableCtx.cell.colSpan = clampSpan(cs, _chunkKDD6ADVHcjs.MAX_COLS);
|
|
20961
|
+
tableCtx.cell.rowSpan = clampSpan(rs, _chunkKDD6ADVHcjs.MAX_ROWS);
|
|
20962
20962
|
}
|
|
20963
20963
|
break;
|
|
20964
20964
|
case "p": {
|
|
@@ -21249,8 +21249,8 @@ function buildSubListTable(el, ctx, depth) {
|
|
|
21249
21249
|
const sink = [];
|
|
21250
21250
|
const st = { rows: [], currentRow: [], cell: null, sourceId: _nullishCoalesce(el.getAttribute("id"), () => ( void 0)) };
|
|
21251
21251
|
walkSection(el, sink, st, [], ctx, depth + 1);
|
|
21252
|
-
let flat =
|
|
21253
|
-
if (st.caption) flat =
|
|
21252
|
+
let flat = _chunkKDD6ADVHcjs.convertTableToText.call(void 0, st.rows);
|
|
21253
|
+
if (st.caption) flat = _chunkKDD6ADVHcjs.captionedText.call(void 0, flat, st.caption, st.captionBelow);
|
|
21254
21254
|
const built = [];
|
|
21255
21255
|
completeTable(st, [], built, ctx);
|
|
21256
21256
|
return { text: flat, block: _nullishCoalesce(built.find((b) => b.type === "table"), () => ( null)) };
|
|
@@ -21520,7 +21520,7 @@ function extractParagraphInfo(para2, styleMap, ctx) {
|
|
|
21520
21520
|
_optionalChain([ctx, 'access', _449 => _449.warnings, 'optionalAccess', _450 => _450.push, 'call', _451 => _451({ page: ctx.page, message: "\uBCC0\uACBD\uCD94\uC801 \uC0AD\uC81C \uD14D\uC2A4\uD2B8 \uCD9C\uB825 \uC81C\uC678", code: "HIDDEN_TEXT_FILTERED" })]);
|
|
21521
21521
|
}
|
|
21522
21522
|
} else {
|
|
21523
|
-
text +=
|
|
21523
|
+
text += _chunkKDD6ADVHcjs.escapeLiteralTags.call(void 0, _chunkKDD6ADVHcjs.escapeLiteralDollar.call(void 0, t.replace(/\x1E/g, "")));
|
|
21524
21524
|
}
|
|
21525
21525
|
continue;
|
|
21526
21526
|
}
|
|
@@ -21565,7 +21565,7 @@ function extractParagraphInfo(para2, styleMap, ctx) {
|
|
|
21565
21565
|
break;
|
|
21566
21566
|
// 글자 겹치기 — 겹친 글은 composeText 속성에 있어 종전엔 통째로 빠졌다(법령 서식 원 번호 ⑯·⑰, 시험지 네모 번호 10)
|
|
21567
21567
|
case "compose":
|
|
21568
|
-
if (!isInDeletedRange(ctx)) text +=
|
|
21568
|
+
if (!isInDeletedRange(ctx)) text += _chunkKDD6ADVHcjs.escapeLiteralTags.call(void 0, _chunkKDD6ADVHcjs.escapeLiteralDollar.call(void 0, _chunkKDD6ADVHcjs.composeText.call(void 0, _nullishCoalesce(child.getAttribute("composeText"), () => ( "")), (_nullishCoalesce(child.getAttribute("circleType"), () => ( "CHAR"))) !== "CHAR")));
|
|
21569
21569
|
break;
|
|
21570
21570
|
// 양식 선택 상자·라디오 단추 — 한컴이 그리는 상자 기호와 캡션 글 (종전엔 통째로 빠졌다: form-002 "원천기술형"·서울 결재 "부분공개")
|
|
21571
21571
|
// 지운 구간의 양식 단추·수식은 글처럼 내지 않는다 (최종본)
|
|
@@ -21577,7 +21577,7 @@ function extractParagraphInfo(para2, styleMap, ctx) {
|
|
|
21577
21577
|
case "hyperlink": {
|
|
21578
21578
|
const url = child.getAttribute("url") || child.getAttribute("href") || "";
|
|
21579
21579
|
if (url) {
|
|
21580
|
-
const safe =
|
|
21580
|
+
const safe = _chunkYANK7HQPcjs.sanitizeHref.call(void 0, url);
|
|
21581
21581
|
if (safe) href = safe;
|
|
21582
21582
|
}
|
|
21583
21583
|
walk(child, depth + 1);
|
|
@@ -21671,7 +21671,7 @@ function extractParagraphInfo(para2, styleMap, ctx) {
|
|
|
21671
21671
|
walk(child, depth + 1);
|
|
21672
21672
|
if (script && linkRanges.length === nLinks && openFields.length === nOpen && runHasOnlyText(child)) {
|
|
21673
21673
|
const added = text.slice(start);
|
|
21674
|
-
if (added && !/[\x1E\n$]/.test(added)) text = text.slice(0, start) +
|
|
21674
|
+
if (added && !/[\x1E\n$]/.test(added)) text = text.slice(0, start) + _chunkKDD6ADVHcjs.wrapScript.call(void 0, added, script);
|
|
21675
21675
|
}
|
|
21676
21676
|
break;
|
|
21677
21677
|
}
|
|
@@ -21694,7 +21694,7 @@ function extractParagraphInfo(para2, styleMap, ctx) {
|
|
|
21694
21694
|
}
|
|
21695
21695
|
if (applied.length) href = void 0;
|
|
21696
21696
|
}
|
|
21697
|
-
text =
|
|
21697
|
+
text = _chunkKDD6ADVHcjs.tidyScriptTags.call(void 0, text);
|
|
21698
21698
|
const toc = _chunkLAYKIZOXcjs.takeTocLeaders.call(void 0, text);
|
|
21699
21699
|
text = toc.text;
|
|
21700
21700
|
const tocEntry = toc.tocEntry;
|
|
@@ -21784,7 +21784,7 @@ function extractFromBrokenZip(buffer, options) {
|
|
|
21784
21784
|
}
|
|
21785
21785
|
const nameBytes = data.slice(pos + 30, pos + 30 + nameLen);
|
|
21786
21786
|
const name = new TextDecoder().decode(nameBytes);
|
|
21787
|
-
if (
|
|
21787
|
+
if (_chunkYANK7HQPcjs.isPathTraversal.call(void 0, name)) {
|
|
21788
21788
|
pos = fileStart + compSize;
|
|
21789
21789
|
continue;
|
|
21790
21790
|
}
|
|
@@ -21802,7 +21802,7 @@ function extractFromBrokenZip(buffer, options) {
|
|
|
21802
21802
|
continue;
|
|
21803
21803
|
}
|
|
21804
21804
|
totalDecompressed += content.length * 2;
|
|
21805
|
-
if (totalDecompressed > MAX_DECOMPRESS_SIZE) throw new (0,
|
|
21805
|
+
if (totalDecompressed > MAX_DECOMPRESS_SIZE) throw new (0, _chunkYANK7HQPcjs.KordocError)("\uC555\uCD95 \uD574\uC81C \uD06C\uAE30 \uCD08\uACFC");
|
|
21806
21806
|
sectionNum++;
|
|
21807
21807
|
const secBlocks = parseSectionXml(content, void 0, warnings, sectionNum, shared);
|
|
21808
21808
|
for (const b of secBlocks) b.pageNumber = sectionNum;
|
|
@@ -21811,9 +21811,9 @@ function extractFromBrokenZip(buffer, options) {
|
|
|
21811
21811
|
continue;
|
|
21812
21812
|
}
|
|
21813
21813
|
}
|
|
21814
|
-
if (blocks.length === 0) throw new (0,
|
|
21814
|
+
if (blocks.length === 0) throw new (0, _chunkYANK7HQPcjs.KordocError)("\uC190\uC0C1\uB41C HWPX\uC5D0\uC11C \uC139\uC158 \uB370\uC774\uD130\uB97C \uBCF5\uAD6C\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4");
|
|
21815
21815
|
applyPageText(blocks, shared);
|
|
21816
|
-
const markdown =
|
|
21816
|
+
const markdown = _chunkKDD6ADVHcjs.blocksToMarkdown.call(void 0, blocks, { tableFormat: _optionalChain([options, 'optionalAccess', _459 => _459.tableFormat]) });
|
|
21817
21817
|
return { markdown, blocks, warnings: warnings.length > 0 ? warnings : void 0 };
|
|
21818
21818
|
}
|
|
21819
21819
|
async function readKordocLayout(zip) {
|
|
@@ -21838,11 +21838,11 @@ async function resolveSectionPaths(zip) {
|
|
|
21838
21838
|
if (paths.length > 0) return paths;
|
|
21839
21839
|
}
|
|
21840
21840
|
const sectionFiles = zip.file(/[Ss]ection\d+\.xml$/);
|
|
21841
|
-
return sectionFiles.map((f) => f.name).sort(
|
|
21841
|
+
return sectionFiles.map((f) => f.name).sort(_chunkYANK7HQPcjs.compareSectionPaths);
|
|
21842
21842
|
}
|
|
21843
21843
|
function parseSectionPathsFromManifest(xml) {
|
|
21844
21844
|
const parser = createXmlParser();
|
|
21845
|
-
const doc = parser.parseFromString(
|
|
21845
|
+
const doc = parser.parseFromString(_chunkYANK7HQPcjs.stripDtd.call(void 0, xml), "text/xml");
|
|
21846
21846
|
const opf = "http://www.idpf.org/2007/opf/";
|
|
21847
21847
|
const namespacedItems = doc.getElementsByTagNameNS(opf, "item");
|
|
21848
21848
|
const namespacedSpine = doc.getElementsByTagNameNS(opf, "itemref");
|
|
@@ -21852,7 +21852,7 @@ function parseSectionPathsFromManifest(xml) {
|
|
|
21852
21852
|
for (let i = 0; i < items.length; i++) {
|
|
21853
21853
|
const item = items[i];
|
|
21854
21854
|
const id = item.getAttribute("id") || "";
|
|
21855
|
-
const href =
|
|
21855
|
+
const href = _chunkYANK7HQPcjs.normalizeSectionHref.call(void 0, item.getAttribute("href") || "");
|
|
21856
21856
|
if (id && href) idToHref.set(id, href);
|
|
21857
21857
|
}
|
|
21858
21858
|
if (spine.length > 0) {
|
|
@@ -21863,7 +21863,7 @@ function parseSectionPathsFromManifest(xml) {
|
|
|
21863
21863
|
}
|
|
21864
21864
|
if (ordered.length > 0) return ordered;
|
|
21865
21865
|
}
|
|
21866
|
-
return Array.from(idToHref.values()).sort(
|
|
21866
|
+
return Array.from(idToHref.values()).sort(_chunkYANK7HQPcjs.compareSectionPaths);
|
|
21867
21867
|
}
|
|
21868
21868
|
|
|
21869
21869
|
// src/hwpx/com-fallback.ts
|
|
@@ -21984,37 +21984,37 @@ async function readText(zip, name, budget) {
|
|
|
21984
21984
|
return s;
|
|
21985
21985
|
}
|
|
21986
21986
|
function assertWellFormed(xml, name) {
|
|
21987
|
-
if (xml.length > MAX_XML) throw new (0,
|
|
21988
|
-
if (/<!DOCTYPE/i.test(xml)) throw new (0,
|
|
21987
|
+
if (xml.length > MAX_XML) throw new (0, _chunkYANK7HQPcjs.KordocError)(`\uACAC\uBCF8 ${name} \uC774 \uB108\uBB34 \uD07D\uB2C8\uB2E4 (${(xml.length / 1048576).toFixed(1)}MB)`);
|
|
21988
|
+
if (/<!DOCTYPE/i.test(xml)) throw new (0, _chunkYANK7HQPcjs.KordocError)(`\uACAC\uBCF8 ${name} \uC5D0 DOCTYPE \uC774 \uC788\uC2B5\uB2C8\uB2E4 \u2014 \uD55C\uAE00 \uC800\uC7A5\uBCF8\uC774 \uC544\uB2D9\uB2C8\uB2E4`);
|
|
21989
21989
|
const issues = [];
|
|
21990
21990
|
createXmlParser(issues).parseFromString(xml, "text/xml");
|
|
21991
|
-
if (issues.some((w) => !/경고/.test(w.message))) throw new (0,
|
|
21991
|
+
if (issues.some((w) => !/경고/.test(w.message))) throw new (0, _chunkYANK7HQPcjs.KordocError)(`\uACAC\uBCF8 ${name} XML \uC774 \uC62C\uBC14\uB974\uC9C0 \uC54A\uC2B5\uB2C8\uB2E4: ${issues[0].message}`);
|
|
21992
21992
|
}
|
|
21993
21993
|
async function loadTemplateZip(template) {
|
|
21994
21994
|
const buf = template instanceof Uint8Array ? template.buffer.slice(template.byteOffset, template.byteOffset + template.byteLength) : template;
|
|
21995
|
-
|
|
21995
|
+
_chunkYANK7HQPcjs.precheckZipSize.call(void 0, buf, MAX_DECOMPRESS_SIZE, MAX_ZIP_ENTRIES);
|
|
21996
21996
|
let zip;
|
|
21997
21997
|
try {
|
|
21998
21998
|
zip = await _jszip2.default.loadAsync(buf);
|
|
21999
21999
|
} catch (e9) {
|
|
22000
|
-
throw new (0,
|
|
22000
|
+
throw new (0, _chunkYANK7HQPcjs.KordocError)("\uACAC\uBCF8\uC774 HWPX(zip)\uAC00 \uC544\uB2D9\uB2C8\uB2E4 \u2014 \uD55C\uAE00\uC5D0\uC11C .hwpx \uB85C \uC800\uC7A5\uD55C \uD30C\uC77C\uC744 \uC4F0\uC138\uC694 (.hwp \uB294 kordoc \uC73C\uB85C \uBA3C\uC800 \uBCC0\uD658)");
|
|
22001
22001
|
}
|
|
22002
22002
|
const names = Object.keys(zip.files);
|
|
22003
|
-
if (names.length > MAX_ZIP_ENTRIES) throw new (0,
|
|
22003
|
+
if (names.length > MAX_ZIP_ENTRIES) throw new (0, _chunkYANK7HQPcjs.KordocError)("\uACAC\uBCF8 ZIP \uC5D4\uD2B8\uB9AC \uC218 \uCD08\uACFC (ZIP bomb \uC758\uC2EC)");
|
|
22004
22004
|
const bad = names.find((n) => n.split("/").includes("..") || n.startsWith("/") || n.includes("\\") || /^[A-Za-z]:/.test(n));
|
|
22005
|
-
if (bad) throw new (0,
|
|
22005
|
+
if (bad) throw new (0, _chunkYANK7HQPcjs.KordocError)(`\uACAC\uBCF8 ZIP \uC5D0 \uD5C8\uC6A9\uD558\uC9C0 \uC54A\uB294 \uACBD\uB85C\uAC00 \uC788\uC2B5\uB2C8\uB2E4: ${bad.slice(0, 80)}`);
|
|
22006
22006
|
const budget = { used: 0 };
|
|
22007
22007
|
const manifest = zip.file("META-INF/manifest.xml");
|
|
22008
22008
|
if (manifest && isEncryptedHwpx(await readText(zip, "META-INF/manifest.xml", budget))) {
|
|
22009
|
-
throw new (0,
|
|
22009
|
+
throw new (0, _chunkYANK7HQPcjs.KordocError)("\uC554\uD638\uAC00 \uAC78\uB9B0 \uACAC\uBCF8\uC785\uB2C8\uB2E4 \u2014 \uD55C\uAE00\uC5D0\uC11C \uC554\uD638\uB97C \uD480\uACE0 \uC800\uC7A5\uD55C \uD30C\uC77C\uC744 \uC4F0\uC138\uC694");
|
|
22010
22010
|
}
|
|
22011
22011
|
const sections = await resolveSectionPaths(zip);
|
|
22012
22012
|
if (!sections.length || !zip.file(sections[0]) || !zip.file("Contents/header.xml")) {
|
|
22013
|
-
throw new (0,
|
|
22013
|
+
throw new (0, _chunkYANK7HQPcjs.KordocError)("\uACAC\uBCF8 HWPX \uC5D0 Contents/header.xml \uB610\uB294 section0.xml \uC774 \uC5C6\uC2B5\uB2C8\uB2E4");
|
|
22014
22014
|
}
|
|
22015
22015
|
const sectionXmls = [];
|
|
22016
22016
|
for (const [i, name] of sections.entries()) {
|
|
22017
|
-
if (!zip.file(name)) throw new (0,
|
|
22017
|
+
if (!zip.file(name)) throw new (0, _chunkYANK7HQPcjs.KordocError)(`\uACAC\uBCF8 HWPX \uC5D0 ${name} \uC774 \uC5C6\uC2B5\uB2C8\uB2E4`);
|
|
22018
22018
|
const xml = await readText(zip, name, budget);
|
|
22019
22019
|
if (i === 0) assertWellFormed(xml, name);
|
|
22020
22020
|
else try {
|
|
@@ -22185,7 +22185,7 @@ var FAMILY_ROLE = {
|
|
|
22185
22185
|
var SYM_EXTRA = /^(?:\p{S}|[【〔〈《])$/u;
|
|
22186
22186
|
var SUBTITLE_RE = /^-\s.*\s-$/u;
|
|
22187
22187
|
function lineRole(plain3) {
|
|
22188
|
-
const t =
|
|
22188
|
+
const t = _chunkKDD6ADVHcjs.mapPuaText.call(void 0, plain3.replace(/^[\s ]+/, ""));
|
|
22189
22189
|
if (!t || SUBTITLE_RE.test(t.trim())) return null;
|
|
22190
22190
|
const cls = markerClass(t);
|
|
22191
22191
|
if (FAMILY_ROLE[cls]) return FAMILY_ROLE[cls];
|
|
@@ -22220,7 +22220,7 @@ function fillParagraph(pXml, text, opts = {}) {
|
|
|
22220
22220
|
let prefixLen = ws, mStart = -1, mLen = 0;
|
|
22221
22221
|
if (opts.marker && ws < plain3.length) {
|
|
22222
22222
|
const cp = String.fromCodePoint(plain3.codePointAt(ws));
|
|
22223
|
-
if (isMarkerChar(
|
|
22223
|
+
if (isMarkerChar(_chunkKDD6ADVHcjs.mapPuaText.call(void 0, cp))) {
|
|
22224
22224
|
mStart = ws;
|
|
22225
22225
|
mLen = cp.length;
|
|
22226
22226
|
prefixLen = ws + mLen + /^[\s ]*/.exec(plain3.slice(ws + mLen))[0].length;
|
|
@@ -22392,7 +22392,7 @@ function styleKey(xml, m) {
|
|
|
22392
22392
|
const plain3 = paraPlain(m);
|
|
22393
22393
|
let prefix = /^[\s ]*/.exec(plain3)[0].length;
|
|
22394
22394
|
const cp = plain3.codePointAt(prefix);
|
|
22395
|
-
if (cp !== void 0 && isMarkerChar(
|
|
22395
|
+
if (cp !== void 0 && isMarkerChar(_chunkKDD6ADVHcjs.mapPuaText.call(void 0, String.fromCodePoint(cp)))) prefix += String.fromCodePoint(cp).length + /^[\s ]*/.exec(plain3.slice(prefix + String.fromCodePoint(cp).length))[0].length;
|
|
22396
22396
|
let best = "", bestN = 0, pos = 0;
|
|
22397
22397
|
for (const r of m.runs) {
|
|
22398
22398
|
let n = 0;
|
|
@@ -22489,7 +22489,7 @@ function scanTemplate(sectionXml, headerXml) {
|
|
|
22489
22489
|
contactInTitle = !!t && t.cells.some(isContactCell);
|
|
22490
22490
|
headBox = !!t && t.cells.some(isHeadBox);
|
|
22491
22491
|
}
|
|
22492
|
-
const subIdx = _nullishCoalesce(_optionalChain([head, 'access', _524 => _524.find, 'call', _525 => _525(({ x, i }) => i !== titleIdx && !x.tbl && x.objs === 0 && SUBTITLE_RE.test(
|
|
22492
|
+
const subIdx = _nullishCoalesce(_optionalChain([head, 'access', _524 => _524.find, 'call', _525 => _525(({ x, i }) => i !== titleIdx && !x.tbl && x.objs === 0 && SUBTITLE_RE.test(_chunkKDD6ADVHcjs.mapPuaText.call(void 0, x.plain.trim()))), 'optionalAccess', _526 => _526.i]), () => ( -1));
|
|
22493
22493
|
if (subIdx >= 0) set("subtitle", subIdx);
|
|
22494
22494
|
const summaryIdx = _nullishCoalesce(_optionalChain([head, 'access', _527 => _527.find, 'call', _528 => _528(({ x, i }) => i > titleIdx && _optionalChain([x, 'access', _529 => _529.tbl, 'optionalAccess', _530 => _530.rowCnt]) === 1 && x.tbl.colCnt === 1 && !CONTACT_RE.test(_nullishCoalesce(_optionalChain([x, 'access', _531 => _531.tbl, 'access', _532 => _532.cells, 'access', _533 => _533[0], 'optionalAccess', _534 => _534.text]), () => ( ""))) && !isTocBox(infos, i)), 'optionalAccess', _535 => _535.i]), () => ( -1));
|
|
22495
22495
|
if (summaryIdx >= 0) set("summary", summaryIdx);
|
|
@@ -23145,7 +23145,7 @@ async function markdownToHwpxFromTemplate(markdown, template, warnings = [], tot
|
|
|
23145
23145
|
let nextId = 1 + maxOf2(objIds);
|
|
23146
23146
|
let z = 1 + maxOf2([...scan.head.matchAll(OBJ_TAG_RE)].map((m) => Number(_nullishCoalesce(_optionalChain([/\bzOrder="(\d{1,10})"/, 'access', _642 => _642.exec, 'call', _643 => _643(m[0]), 'optionalAccess', _644 => _644[1]]), () => ( -1)))), -1);
|
|
23147
23147
|
const body = paras.join("").replace(OBJ_TAG_RE, (tag) => tag.replace(/\bid="\d*"/, () => `id="${nextId++}"`).replace(/\binstid="\d*"/, () => `instid="${nextId++}"`).replace(/\bzOrder="-?\d+"/, () => `zOrder="${z++}"`));
|
|
23148
|
-
if (body.length > MAX_OUTPUT) throw new (0,
|
|
23148
|
+
if (body.length > MAX_OUTPUT) throw new (0, _chunkYANK7HQPcjs.KordocError)(`\uC0DD\uC131 \uBCF8\uBB38\uC774 \uB108\uBB34 \uD07D\uB2C8\uB2E4 (${(body.length / 1048576).toFixed(1)}MB) \u2014 \uC6D0\uACE0\uB97C \uB098\uB220 \uB9CC\uB4DC\uC138\uC694`);
|
|
23149
23149
|
const tops = topLevelParagraphs(sectionXml);
|
|
23150
23150
|
const newSection = sectionXml.slice(0, _nullishCoalesce(_optionalChain([tops, 'access', _645 => _645[0], 'optionalAccess', _646 => _646.start]), () => ( sectionXml.lastIndexOf("</")))) + body + sectionXml.slice(_nullishCoalesce(_optionalChain([tops, 'access', _647 => _647.at, 'call', _648 => _648(-1), 'optionalAccess', _649 => _649.end]), () => ( sectionXml.lastIndexOf("</"))));
|
|
23151
23151
|
let newHeader = appendHeader(ctx);
|
|
@@ -23425,4 +23425,4 @@ async function markdownToHwpx(markdown, options) {
|
|
|
23425
23425
|
|
|
23426
23426
|
|
|
23427
23427
|
exports.isComFallbackAvailable = isComFallbackAvailable; exports.isEncryptedHwpx = isEncryptedHwpx; exports.extractTextViaCom = extractTextViaCom; exports.comResultToParseResult = comResultToParseResult; exports.MAX_XML_DEPTH = MAX_XML_DEPTH; exports.localName = localName; exports.findChildByLocalName = findChildByLocalName; exports.childrenByLocalName = childrenByLocalName; exports.elementChildren = elementChildren; exports.rawTextContent = rawTextContent; exports.MAX_DECOMPRESS_SIZE = MAX_DECOMPRESS_SIZE; exports.MAX_ZIP_ENTRIES = MAX_ZIP_ENTRIES; exports.ZipBombError = ZipBombError; exports.readZipEntry = readZipEntry; exports.createSectionShared = createSectionShared; exports.createXmlParser = createXmlParser; exports.applyPageText = applyPageText; exports.isRealStrikeShape = isRealStrikeShape; exports.extractHwpxStyles = extractHwpxStyles; exports.detectHwpxHeadings = detectHwpxHeadings; exports.noteFormatFrom = noteFormatFrom; exports.noteRefMark = noteRefMark; exports.noteAttrsOf = noteAttrsOf; exports.readSectionNoteFormats = readSectionNoteFormats; exports.noteAutoNumOf = noteAutoNumOf; exports.parseSectionXml = parseSectionXml; exports.extractFromBrokenZip = extractFromBrokenZip; exports.readKordocLayout = readKordocLayout; exports.resolveSectionPaths = resolveSectionPaths; exports.parseSectionPathsFromManifest = parseSectionPathsFromManifest; exports.formatFillValue = formatFillValue; exports.ValueCursor = ValueCursor; exports.ANNOTATION_BLANK_RE = ANNOTATION_BLANK_RE; exports.isForeignLabel = isForeignLabel; exports.normalizeLabel = normalizeLabel; exports.findMatchingKey = findMatchingKey; exports.fillInCellPatterns = fillInCellPatterns; exports.scanInlineSegments = scanInlineSegments; exports.matchInlineSegment = matchInlineSegment; exports.clampSegmentEnd = clampSegmentEnd; exports.padInsertion = padInsertion; exports.normalizeValues = normalizeValues; exports.fillWithUniqueGuard = fillWithUniqueGuard; exports.resolveUnmatched = resolveUnmatched; exports.isLabelCell = isLabelCell; exports.isDatePlaceholder = isDatePlaceholder; exports.isSubLabelBeside = isSubLabelBeside; exports.isColumnHeaderRow = isColumnHeaderRow; exports.extractFormFields = extractFormFields; exports.columnHeaderMap = columnHeaderMap; exports.inferFieldType = inferFieldType; exports.extractFormSchema = extractFormSchema; exports.escapeXmlText = escapeXmlText; exports.decodeXmlEntities = decodeXmlEntities; exports.scanSectionXml = scanSectionXml; exports.findElementEnd = findElementEnd; exports.buildParagraphSplices = buildParagraphSplices; exports.markerRunSplices = markerRunSplices; exports.paraTText = paraTText; exports.paraTextPureT = paraTextPureT; exports.buildRangeSplices = buildRangeSplices; exports.paraTCharMap = paraTCharMap; exports.allLinesegRemovalSplices = allLinesegRemovalSplices; exports.changedLinesegRemovalSplices = changedLinesegRemovalSplices; exports.applySplices = applySplices; exports.EMPH_BOLD = EMPH_BOLD; exports.EMPH_ITALIC = EMPH_ITALIC; exports.EMPH_STRIKE = EMPH_STRIKE; exports.EMPH_UNDERLINE = EMPH_UNDERLINE; exports.EMPH_SUP = EMPH_SUP; exports.EMPH_SUB = EMPH_SUB; exports.parseEmphasis = parseEmphasis; exports.styledInline = styledInline; exports.alignToRaw = alignToRaw; exports.commonEnds = commonEnds; exports.restyledKept = restyledKept; exports.wordHunks = wordHunks; exports.alignedTextEdits = alignedTextEdits; exports.flagsPerChar = flagsPerChar; exports.minimalTextSplices = minimalTextSplices; exports.BEFORE_2024_WIDTH = BEFORE_2024_WIDTH; exports.fontSpaceEm = fontSpaceEm; exports.fontHasGlyph = fontHasGlyph; exports.charWidthEm1000 = charWidthEm1000; exports.SPACE_EM_FIXED = SPACE_EM_FIXED; exports.SPACE_EM_FONT = SPACE_EM_FONT; exports.faceClassOf = faceClassOf; exports.syntheticBoldEm = syntheticBoldEm; exports.faceClassForReflow = faceClassForReflow; exports.measureTextWidth = measureTextWidth; exports.mulDiv = mulDiv; exports.hancomCharWidth = hancomCharWidth; exports.hancomEmWidth = hancomEmWidth; exports.simulateWrap = simulateWrap; exports.simulateWrapKeepWord = simulateWrapKeepWord; exports.fitRatioForFewerLines = fitRatioForFewerLines; exports.AGENCY_COMMON_NAME = AGENCY_COMMON_NAME; exports.agencyNames = agencyNames; exports.agencyStyle = agencyStyle; exports.PRESET_ALIAS = PRESET_ALIAS; exports.normalizeGongmunPreset = normalizeGongmunPreset; exports.incompatibleGongmunWarnings = incompatibleGongmunWarnings; exports.parseMarkdownToBlocks = parseMarkdownToBlocks; exports.normalizedSimilarity = normalizedSimilarity; exports.textProfile = textProfile; exports.similarityUpperBound = similarityUpperBound; exports.splitMarkdownUnits = splitMarkdownUnits; exports.alignUnits = alignUnits; exports.noScriptTags = noScriptTags; exports.normForMatch = normForMatch; exports.unescapeGfm = unescapeGfm; exports.summarize = summarize; exports.replicateGfmTable = replicateGfmTable; exports.isInlineColumnTable = isInlineColumnTable; exports.replicateColumnTable = replicateColumnTable; exports.parseGfmTable = parseGfmTable; exports.unescapeGfmCell = unescapeGfmCell; exports.replicateTableToHtml = replicateTableToHtml; exports.replicateHtmlTable = replicateHtmlTable; exports.parseHtmlTable = parseHtmlTable; exports.AUTONUM_PREFIX_RE = AUTONUM_PREFIX_RE; exports.stripHeadMarker = stripHeadMarker; exports.stripShownHeadMarker = stripShownHeadMarker; exports.htmlCellInnerToLines = htmlCellInnerToLines; exports.extractTopLevelTables = extractTopLevelTables; exports.LAYOUT_MODE_MISMATCH = LAYOUT_MODE_MISMATCH; exports.editedFromWideCols = editedFromWideCols; exports.editedFromVisual = editedFromVisual; exports.normalizeAnchor = normalizeAnchor; exports.normalizeRowAnchor = normalizeRowAnchor; exports.TOTAL_LABEL_RE = TOTAL_LABEL_RE; exports.placeTotalRow = placeTotalRow; exports.createBorderVariants = createBorderVariants; exports.appendBorderFills = appendBorderFills; exports.collectMaxNumericId = collectMaxNumericId; exports.injectCellBorderFill = injectCellBorderFill; exports.buildTableParagraphXml = buildTableParagraphXml; exports.topLevelParagraphs = topLevelParagraphs; exports.charStyles = charStyles; exports.createStructureEditor = createStructureEditor; exports.pairTablesInGaps = pairTablesInGaps; exports.restructureCellLines = restructureCellLines; exports.loadTemplateZip = loadTemplateZip; exports.packTemplateZip = packTemplateZip; exports.elementAt = elementAt; exports.removeElements = removeElements; exports.parsePara = parsePara; exports.paraPlain = paraPlain; exports.lineRole = lineRole; exports.isMarkerChar = isMarkerChar; exports.pickBodySection = pickBodySection; exports.markdownToHwpxFromTemplate = markdownToHwpxFromTemplate; exports.markdownToHwpx = markdownToHwpx;
|
|
23428
|
-
//# sourceMappingURL=chunk-
|
|
23428
|
+
//# sourceMappingURL=chunk-23IU7YWI.cjs.map
|