kordoc 4.16.1 → 4.16.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/README.md +6 -7
  2. package/dist/{-3DURLXSO.js → -4G6MA4X6.js} +11 -11
  3. package/dist/chunk-3IB7LBHC.js +57 -0
  4. package/dist/chunk-3IB7LBHC.js.map +1 -0
  5. package/dist/{chunk-EEVAPRPD.js → chunk-4VODJKFL.js} +3 -3
  6. package/dist/{chunk-NCXRSQNE.js → chunk-5KS5PWJR.js} +2 -2
  7. package/dist/chunk-62W7QCEX.cjs +57 -0
  8. package/dist/chunk-62W7QCEX.cjs.map +1 -0
  9. package/dist/{chunk-ANZTLTKU.js → chunk-7KNGSQU7.js} +4 -4
  10. package/dist/chunk-7KNGSQU7.js.map +1 -0
  11. package/dist/{chunk-63YGGAQW.js → chunk-AUWGDP4G.js} +2 -2
  12. package/dist/{chunk-2BZFKIRB.cjs → chunk-CEIATRDW.cjs} +3 -3
  13. package/dist/{chunk-2BZFKIRB.cjs.map → chunk-CEIATRDW.cjs.map} +1 -1
  14. package/dist/{chunk-BIHS4VWR.js → chunk-DES2LGFZ.js} +2 -2
  15. package/dist/{chunk-N65ZXWNQ.js → chunk-F4NRLLY4.js} +2 -2
  16. package/dist/{chunk-NV37CQFN.cjs → chunk-FKUDAIJI.cjs} +12 -12
  17. package/dist/{chunk-NV37CQFN.cjs.map → chunk-FKUDAIJI.cjs.map} +1 -1
  18. package/dist/{chunk-VCRBR72A.js → chunk-GO5IFOUF.js} +2 -2
  19. package/dist/{chunk-BTO7ZEE4.js → chunk-IQGIT2VX.js} +37 -7
  20. package/dist/chunk-IQGIT2VX.js.map +1 -0
  21. package/dist/chunk-J3IF6KGW.js +59 -0
  22. package/dist/chunk-J3IF6KGW.js.map +1 -0
  23. package/dist/{chunk-VNOQTDTE.js → chunk-JELRWAZC.js} +2 -2
  24. package/dist/{chunk-CXWWX6BQ.js → chunk-JFLAM3MM.js} +2 -2
  25. package/dist/{chunk-7XAGIPOX.js → chunk-KIOQ4N37.js} +2 -2
  26. package/dist/{chunk-UZHT3LBF.js → chunk-LEIAEWZ7.js} +4 -4
  27. package/dist/chunk-LEIAEWZ7.js.map +1 -0
  28. package/dist/{chunk-NUPXPKIQ.js → chunk-MLIS253L.js} +2 -2
  29. package/dist/{chunk-DJ2BBQ5P.js → chunk-OXLPVQYK.js} +3 -3
  30. package/dist/{chunk-3VLVNKJV.js → chunk-P6ZDXTV6.js} +2 -2
  31. package/dist/{chunk-OBRPYCIS.js → chunk-QOCS7W7R.js} +58 -23
  32. package/dist/chunk-QOCS7W7R.js.map +1 -0
  33. package/dist/{chunk-24N4IJ5I.js → chunk-S2PL227Q.js} +2 -2
  34. package/dist/{chunk-PVMROO3A.js → chunk-SFEQYKYJ.js} +86 -94
  35. package/dist/chunk-SFEQYKYJ.js.map +1 -0
  36. package/dist/{chunk-YRRBA4HW.cjs → chunk-STM3ORY7.cjs} +2 -2
  37. package/dist/{chunk-YRRBA4HW.cjs.map → chunk-STM3ORY7.cjs.map} +1 -1
  38. package/dist/{chunk-7FKPPIDZ.js → chunk-TXUKTOG2.js} +166 -14
  39. package/dist/chunk-TXUKTOG2.js.map +1 -0
  40. package/dist/{chunk-3WIQSM3Z.js → chunk-UTP2WCHS.js} +4 -4
  41. package/dist/{chunk-7IRHSRPU.cjs → chunk-WDQTFAXY.cjs} +97 -25
  42. package/dist/chunk-WDQTFAXY.cjs.map +1 -0
  43. package/dist/{chunk-D2QCXK2X.cjs → chunk-XTFN5WKS.cjs} +7 -7
  44. package/dist/chunk-XTFN5WKS.cjs.map +1 -0
  45. package/dist/chunks-NUNIKS2J.js +10 -0
  46. package/dist/cli.js +28 -27
  47. package/dist/cli.js.map +1 -1
  48. package/dist/{formula-IPLFHEBD.js → formula-EPKLPDU7.js} +3 -3
  49. package/dist/{formula-U4BTEZ6I.js → formula-NARUOXRX.js} +4 -4
  50. package/dist/{formula-TRTONZMA.cjs → formula-WIMV5TUX.cjs} +9 -9
  51. package/dist/{formula-TRTONZMA.cjs.map → formula-WIMV5TUX.cjs.map} +1 -1
  52. package/dist/{image-ocr-3IJ25PS4.js → image-ocr-3WJ4QH3T.js} +8 -8
  53. package/dist/{image-ocr-GTDG4SAJ.js → image-ocr-5BUJQ4TK.js} +6 -6
  54. package/dist/{image-ocr-THFLQ3DC.cjs → image-ocr-AXWXR6JV.cjs} +15 -15
  55. package/dist/{image-ocr-THFLQ3DC.cjs.map → image-ocr-AXWXR6JV.cjs.map} +1 -1
  56. package/dist/index.cjs +723 -659
  57. package/dist/index.cjs.map +1 -1
  58. package/dist/index.d.cts +7 -1
  59. package/dist/index.d.ts +7 -1
  60. package/dist/index.js +82 -18
  61. package/dist/index.js.map +1 -1
  62. package/dist/mcp.js +25 -23
  63. package/dist/mcp.js.map +1 -1
  64. package/dist/{model-bundle-PVWIAVEX.js → model-bundle-IMBW7D2Z.js} +5 -5
  65. package/dist/{models-VCRF3JMT.js → models-SY75IBOE.js} +5 -5
  66. package/dist/{parser-2CN2DIPV.cjs → parser-2LU4EVU3.cjs} +86 -83
  67. package/dist/parser-2LU4EVU3.cjs.map +1 -0
  68. package/dist/{parser-T4RITZDP.js → parser-N6476XAC.js} +15 -12
  69. package/dist/{parser-UEROAPYZ.js.map → parser-N6476XAC.js.map} +1 -1
  70. package/dist/{parser-UEROAPYZ.js → parser-ZQM3664Z.js} +12 -9
  71. package/dist/{parser-T4RITZDP.js.map → parser-ZQM3664Z.js.map} +1 -1
  72. package/dist/pdf-ocr-6DEE23IP.js +15 -0
  73. package/dist/pdf-ocr-GHEJVPX2.cjs +16 -0
  74. package/dist/{pdf-ocr-NARV2AQI.cjs.map → pdf-ocr-GHEJVPX2.cjs.map} +1 -1
  75. package/dist/pdf-ocr-MQTWODVU.js +18 -0
  76. package/dist/{profile-io-YD54CDXY.js → profile-io-GJPKCYPT.js} +3 -3
  77. package/dist/{rasterize-3THYOOUN.js → rasterize-UOALJQDS.js} +3 -3
  78. package/dist/{redact-doc-65L2YJN6.js → redact-doc-22SYW3KH.js} +11 -11
  79. package/dist/{render-YU7QJVZ7.js → render-MJ4H3R23.js} +7 -7
  80. package/dist/seal-XWMRUTI4.js +10 -0
  81. package/dist/{setup-CFHKXDY4.js → setup-2URYVUEO.js} +3 -3
  82. package/dist/visual-USPS4QRC.js +20 -0
  83. package/dist/{watch-D6FCAYKJ.js → watch-ALXZGTOB.js} +12 -12
  84. package/package.json +1 -1
  85. package/dist/chunk-7FKPPIDZ.js.map +0 -1
  86. package/dist/chunk-7IRHSRPU.cjs.map +0 -1
  87. package/dist/chunk-ANZTLTKU.js.map +0 -1
  88. package/dist/chunk-BTO7ZEE4.js.map +0 -1
  89. package/dist/chunk-D2QCXK2X.cjs.map +0 -1
  90. package/dist/chunk-DO74GYSM.cjs +0 -11
  91. package/dist/chunk-DO74GYSM.cjs.map +0 -1
  92. package/dist/chunk-KBAQLAEL.js +0 -11
  93. package/dist/chunk-KBAQLAEL.js.map +0 -1
  94. package/dist/chunk-OBRPYCIS.js.map +0 -1
  95. package/dist/chunk-PVMROO3A.js.map +0 -1
  96. package/dist/chunk-T77M2QP7.js +0 -13
  97. package/dist/chunk-T77M2QP7.js.map +0 -1
  98. package/dist/chunk-UZHT3LBF.js.map +0 -1
  99. package/dist/chunks-PYYQURNO.js +0 -10
  100. package/dist/parser-2CN2DIPV.cjs.map +0 -1
  101. package/dist/pdf-ocr-NARV2AQI.cjs +0 -16
  102. package/dist/pdf-ocr-SYLMM727.js +0 -18
  103. package/dist/pdf-ocr-YMQZDJBO.js +0 -15
  104. package/dist/seal-6CQGFTML.js +0 -10
  105. package/dist/visual-ED2H75Q5.js +0 -20
  106. /package/dist/{-3DURLXSO.js.map → -4G6MA4X6.js.map} +0 -0
  107. /package/dist/{chunk-EEVAPRPD.js.map → chunk-4VODJKFL.js.map} +0 -0
  108. /package/dist/{chunk-NCXRSQNE.js.map → chunk-5KS5PWJR.js.map} +0 -0
  109. /package/dist/{chunk-63YGGAQW.js.map → chunk-AUWGDP4G.js.map} +0 -0
  110. /package/dist/{chunk-BIHS4VWR.js.map → chunk-DES2LGFZ.js.map} +0 -0
  111. /package/dist/{chunk-N65ZXWNQ.js.map → chunk-F4NRLLY4.js.map} +0 -0
  112. /package/dist/{chunk-VCRBR72A.js.map → chunk-GO5IFOUF.js.map} +0 -0
  113. /package/dist/{chunk-VNOQTDTE.js.map → chunk-JELRWAZC.js.map} +0 -0
  114. /package/dist/{chunk-CXWWX6BQ.js.map → chunk-JFLAM3MM.js.map} +0 -0
  115. /package/dist/{chunk-7XAGIPOX.js.map → chunk-KIOQ4N37.js.map} +0 -0
  116. /package/dist/{chunk-NUPXPKIQ.js.map → chunk-MLIS253L.js.map} +0 -0
  117. /package/dist/{chunk-DJ2BBQ5P.js.map → chunk-OXLPVQYK.js.map} +0 -0
  118. /package/dist/{chunk-3VLVNKJV.js.map → chunk-P6ZDXTV6.js.map} +0 -0
  119. /package/dist/{chunk-24N4IJ5I.js.map → chunk-S2PL227Q.js.map} +0 -0
  120. /package/dist/{chunk-3WIQSM3Z.js.map → chunk-UTP2WCHS.js.map} +0 -0
  121. /package/dist/{chunks-PYYQURNO.js.map → chunks-NUNIKS2J.js.map} +0 -0
  122. /package/dist/{formula-IPLFHEBD.js.map → formula-EPKLPDU7.js.map} +0 -0
  123. /package/dist/{formula-U4BTEZ6I.js.map → formula-NARUOXRX.js.map} +0 -0
  124. /package/dist/{image-ocr-3IJ25PS4.js.map → image-ocr-3WJ4QH3T.js.map} +0 -0
  125. /package/dist/{image-ocr-GTDG4SAJ.js.map → image-ocr-5BUJQ4TK.js.map} +0 -0
  126. /package/dist/{model-bundle-PVWIAVEX.js.map → model-bundle-IMBW7D2Z.js.map} +0 -0
  127. /package/dist/{models-VCRF3JMT.js.map → models-SY75IBOE.js.map} +0 -0
  128. /package/dist/{pdf-ocr-SYLMM727.js.map → pdf-ocr-6DEE23IP.js.map} +0 -0
  129. /package/dist/{pdf-ocr-YMQZDJBO.js.map → pdf-ocr-MQTWODVU.js.map} +0 -0
  130. /package/dist/{profile-io-YD54CDXY.js.map → profile-io-GJPKCYPT.js.map} +0 -0
  131. /package/dist/{rasterize-3THYOOUN.js.map → rasterize-UOALJQDS.js.map} +0 -0
  132. /package/dist/{redact-doc-65L2YJN6.js.map → redact-doc-22SYW3KH.js.map} +0 -0
  133. /package/dist/{render-YU7QJVZ7.js.map → render-MJ4H3R23.js.map} +0 -0
  134. /package/dist/{seal-6CQGFTML.js.map → seal-XWMRUTI4.js.map} +0 -0
  135. /package/dist/{setup-CFHKXDY4.js.map → setup-2URYVUEO.js.map} +0 -0
  136. /package/dist/{visual-ED2H75Q5.js.map → visual-USPS4QRC.js.map} +0 -0
  137. /package/dist/{watch-D6FCAYKJ.js.map → watch-ALXZGTOB.js.map} +0 -0
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  blocksToMarkdown
4
- } from "./chunk-UZHT3LBF.js";
4
+ } from "./chunk-LEIAEWZ7.js";
5
5
 
6
6
  // src/chunks.ts
7
7
  var LIST_MARKER_RE = /^(?:[□■◇◆○◎●◦ㅇ•▪▸▶※-]|\d{1,3}[.)]|[가나다라마바사아자차카타파하][.)]|\([가나다라마바사아자차카타파하0-9]{1,3}\)|[①-⑳㉮-㉻㈎-㈛])\s/;
@@ -79,4 +79,4 @@ function blocksToChunks(blocks, options) {
79
79
  export {
80
80
  blocksToChunks
81
81
  };
82
- //# sourceMappingURL=chunk-VCRBR72A.js.map
82
+ //# sourceMappingURL=chunk-GO5IFOUF.js.map
@@ -5,8 +5,9 @@ import {
5
5
  import {
6
6
  HEADING_RATIO_H1,
7
7
  HEADING_RATIO_H2,
8
- HEADING_RATIO_H3
9
- } from "./chunk-T77M2QP7.js";
8
+ HEADING_RATIO_H3,
9
+ tidyScriptTags
10
+ } from "./chunk-J3IF6KGW.js";
10
11
  import {
11
12
  parsePageRange
12
13
  } from "./chunk-VQFA55IC.js";
@@ -19,7 +20,7 @@ import {
19
20
  findChildByLocalName,
20
21
  hwpFaceToCssStack,
21
22
  parseRenderStyles
22
- } from "./chunk-CXWWX6BQ.js";
23
+ } from "./chunk-JFLAM3MM.js";
23
24
  import {
24
25
  MAX_COLS,
25
26
  MAX_ROWS,
@@ -30,18 +31,18 @@ import {
30
31
  flattenLayoutTables,
31
32
  mapPuaText,
32
33
  markNonLayoutTable
33
- } from "./chunk-UZHT3LBF.js";
34
+ } from "./chunk-LEIAEWZ7.js";
34
35
  import {
35
36
  loadSharp,
36
37
  rasterizePageSvg
37
- } from "./chunk-24N4IJ5I.js";
38
+ } from "./chunk-S2PL227Q.js";
38
39
  import {
39
40
  KordocError,
40
41
  escapeHtml,
41
42
  precheckZipSize,
42
43
  sanitizeHref,
43
44
  toArrayBuffer
44
- } from "./chunk-3VLVNKJV.js";
45
+ } from "./chunk-P6ZDXTV6.js";
45
46
 
46
47
  // src/render/svg-render.ts
47
48
  import JSZip from "jszip";
@@ -3003,6 +3004,14 @@ function isExtendedOnlyCtrlChar(ch) {
3003
3004
  function appendParaText(state, data, resolveControl) {
3004
3005
  let result = "";
3005
3006
  let i = 0;
3007
+ const wbase = state.wpos ?? 0;
3008
+ const setScript = (want) => {
3009
+ const cur = state.script ?? null;
3010
+ if (cur === want) return;
3011
+ if (cur) result += `</${cur}>`;
3012
+ if (want) result += `<${want}>`;
3013
+ state.script = want;
3014
+ };
3006
3015
  const base = state.text.length;
3007
3016
  const resolveAt = (byteOffset, extended) => {
3008
3017
  const ctrlId = data.readUInt32LE(byteOffset);
@@ -3013,6 +3022,7 @@ function appendParaText(state, data, resolveControl) {
3013
3022
  };
3014
3023
  while (i + 1 < data.length) {
3015
3024
  const ch = data.readUInt16LE(i);
3025
+ if (state.scriptAt) setScript(ch >= 32 ? state.scriptAt(wbase + i / 2) : null);
3016
3026
  i += 2;
3017
3027
  switch (ch) {
3018
3028
  // ── char 타입 (2바이트만, 확장 데이터 없음) ──
@@ -3084,6 +3094,8 @@ function appendParaText(state, data, resolveControl) {
3084
3094
  break;
3085
3095
  }
3086
3096
  }
3097
+ if (state.scriptAt) setScript(null);
3098
+ state.wpos = wbase + Math.floor(data.length / 2);
3087
3099
  state.text += result;
3088
3100
  }
3089
3101
  function extractEquationText(data) {
@@ -5409,6 +5421,7 @@ function parseParagraph(records, start, end, ctx) {
5409
5421
  const paraShapeId = header.data.length >= 10 ? header.data.readUInt16LE(8) : -1;
5410
5422
  const textRecords = [];
5411
5423
  const charShapeIds = [];
5424
+ const charShapeRuns = [];
5412
5425
  const ctrls = [];
5413
5426
  let i = start + 1;
5414
5427
  while (i < end) {
@@ -5427,6 +5440,7 @@ function parseParagraph(records, start, end, ctx) {
5427
5440
  } else if (rec.tagId === TAG_CHAR_SHAPE && rec.level === baseLevel + 1 && rec.data.length >= 8) {
5428
5441
  for (let offset = 0; offset + 7 < rec.data.length; offset += 8) {
5429
5442
  charShapeIds.push(rec.data.readUInt32LE(offset + 4));
5443
+ charShapeRuns.push([rec.data.readUInt32LE(offset), rec.data.readUInt32LE(offset + 4)]);
5430
5444
  }
5431
5445
  }
5432
5446
  i++;
@@ -5440,6 +5454,7 @@ function parseParagraph(records, start, end, ctx) {
5440
5454
  const state = createParaTextState();
5441
5455
  state.leaderMark = true;
5442
5456
  state.dollarMark = true;
5457
+ state.scriptAt = scriptLookup(charShapeRuns, ctx.docInfo);
5443
5458
  const resolver = (idx, id) => {
5444
5459
  let ctrl = idx >= 0 && idx < ctrls.length ? ctrls[idx] : void 0;
5445
5460
  if (!ctrl || ctrl.idRaw !== id && ctrl.id !== id) {
@@ -5481,6 +5496,7 @@ function parseParagraph(records, start, end, ctx) {
5481
5496
  const leaderAt = text.indexOf(LEADER_TAB_MARK);
5482
5497
  if (leaderAt >= 0) text = text.slice(0, leaderAt);
5483
5498
  if (text.includes(LITERAL_DOLLAR_MARK)) text = text.replaceAll(LITERAL_DOLLAR_MARK, "\\$");
5499
+ text = tidyScriptTags(text);
5484
5500
  let headingLevel = 0;
5485
5501
  let headMarker = null;
5486
5502
  const ps = ctx.docInfo && paraShapeId >= 0 && paraShapeId < ctx.docInfo.paraShapes.length ? ctx.docInfo.paraShapes[paraShapeId] : null;
@@ -5846,6 +5862,20 @@ function pictureToImageBlock(data, ctx) {
5846
5862
  const storageId = item && item.storageId > 0 ? item.storageId : binDataId;
5847
5863
  return { type: "image", text: String(storageId), pageNumber: ctx.page };
5848
5864
  }
5865
+ function scriptLookup(runs, docInfo) {
5866
+ if (!docInfo || !runs.length) return void 0;
5867
+ const kindOf = (id) => {
5868
+ const f = docInfo.charShapes[id]?.attrFlags ?? 0;
5869
+ return f & 1 << 15 ? "sup" : f & 1 << 16 ? "sub" : null;
5870
+ };
5871
+ if (!runs.some(([, id]) => kindOf(id))) return void 0;
5872
+ let k = -1;
5873
+ return (pos) => {
5874
+ if (k >= 0 && runs[k][0] > pos) k = -1;
5875
+ while (k + 1 < runs.length && runs[k + 1][0] <= pos) k++;
5876
+ return k >= 0 ? kindOf(runs[k][1]) : null;
5877
+ };
5878
+ }
5849
5879
  function resolveCharStyle(charShapeIds, docInfo) {
5850
5880
  if (charShapeIds.length === 0 || docInfo.charShapes.length === 0) return void 0;
5851
5881
  const freq = /* @__PURE__ */ new Map();
@@ -7338,4 +7368,4 @@ export {
7338
7368
  cropRect,
7339
7369
  extractRenderedRegions
7340
7370
  };
7341
- //# sourceMappingURL=chunk-BTO7ZEE4.js.map
7371
+ //# sourceMappingURL=chunk-IQGIT2VX.js.map