kordoc 4.24.21 → 4.24.23

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 (127) hide show
  1. package/README.md +7 -7
  2. package/dist/{-IS4RXPEZ.js → -POV3PVKW.js} +11 -11
  3. package/dist/{chunk-3RVASM4C.js → chunk-2NINEUJ5.js} +4 -4
  4. package/dist/{chunk-MMZUWRH6.js → chunk-2Q4ZLQQJ.js} +11 -11
  5. package/dist/{chunk-BV2YG7M6.js → chunk-2S4WERRK.js} +2 -2
  6. package/dist/{chunk-PDOWSDNM.js → chunk-2UNY7AKC.js} +2 -2
  7. package/dist/{chunk-F4GZFIUJ.js → chunk-3QWZCQI6.js} +2 -2
  8. package/dist/{chunk-E6G4B457.js → chunk-5L32QFLQ.js} +2 -2
  9. package/dist/{chunk-MYDHNNPA.js → chunk-6OG6WPA3.js} +43 -8
  10. package/dist/chunk-6OG6WPA3.js.map +1 -0
  11. package/dist/{chunk-NRCG3ASU.js → chunk-7JFJPFME.js} +2 -2
  12. package/dist/{chunk-WVZSTMCZ.cjs → chunk-7OZLM5MR.cjs} +3 -3
  13. package/dist/{chunk-WVZSTMCZ.cjs.map → chunk-7OZLM5MR.cjs.map} +1 -1
  14. package/dist/{chunk-V7S36XCU.cjs → chunk-AABI2ELF.cjs} +3 -3
  15. package/dist/{chunk-V7S36XCU.cjs.map → chunk-AABI2ELF.cjs.map} +1 -1
  16. package/dist/{chunk-O5ZCJEZ4.js → chunk-AXBEO5NB.js} +2 -2
  17. package/dist/{chunk-L556KKBU.cjs → chunk-HJ5YI5E6.cjs} +79 -79
  18. package/dist/{chunk-L556KKBU.cjs.map → chunk-HJ5YI5E6.cjs.map} +1 -1
  19. package/dist/{chunk-B3POEH7X.js → chunk-JDDKQD7W.js} +2 -2
  20. package/dist/{chunk-IZN5BTCW.js → chunk-NBETHWJH.js} +2 -2
  21. package/dist/{chunk-4OF7DHIT.js → chunk-NRPLZ4NO.js} +4 -4
  22. package/dist/{chunk-F6OHQLN7.js → chunk-NWNL5YYK.js} +38 -7
  23. package/dist/chunk-NWNL5YYK.js.map +1 -0
  24. package/dist/{chunk-NE75RO62.js → chunk-PG7OI72B.js} +2 -2
  25. package/dist/{chunk-BNEKESI4.js → chunk-QMAWEM4N.js} +2 -2
  26. package/dist/{chunk-MGCIQ43Y.js → chunk-SLS65M44.js} +3 -3
  27. package/dist/{chunk-BTBFKDPH.js → chunk-SYJZYHBB.js} +2 -2
  28. package/dist/{chunk-B5M676H3.cjs → chunk-T7Z554HT.cjs} +6 -6
  29. package/dist/{chunk-B5M676H3.cjs.map → chunk-T7Z554HT.cjs.map} +1 -1
  30. package/dist/{chunk-BUFGW3UJ.cjs → chunk-TBGNGQ2O.cjs} +213 -182
  31. package/dist/chunk-TBGNGQ2O.cjs.map +1 -0
  32. package/dist/{chunk-CPVXUEKF.js → chunk-VK3ZZLT7.js} +2 -2
  33. package/dist/{chunk-N45RCYBL.js → chunk-VK6S3WGD.js} +3 -3
  34. package/dist/{chunk-Z6ONQ63K.js → chunk-VOLDBZDF.js} +2 -2
  35. package/dist/{chunk-WQC4XWVT.js → chunk-WTFXQGND.js} +2 -2
  36. package/dist/{chunk-BMXWY36E.js → chunk-XEYTPWCF.js} +39 -8
  37. package/dist/chunk-XEYTPWCF.js.map +1 -0
  38. package/dist/{chunk-UNYH6MTO.js → chunk-XLVQUVL4.js} +2 -2
  39. package/dist/{chunk-OMGCVZ4W.cjs → chunk-YOLFNCQQ.cjs} +2 -2
  40. package/dist/{chunk-OMGCVZ4W.cjs.map → chunk-YOLFNCQQ.cjs.map} +1 -1
  41. package/dist/chunks-SGEDTBKI.js +10 -0
  42. package/dist/cli.js +30 -30
  43. package/dist/{formula-DHBBWQLC.js → formula-7YKP7MFB.js} +3 -3
  44. package/dist/{formula-G3FQTUOY.cjs → formula-IIPZAHPY.cjs} +9 -9
  45. package/dist/{formula-G3FQTUOY.cjs.map → formula-IIPZAHPY.cjs.map} +1 -1
  46. package/dist/{formula-I4EA7ULD.js → formula-TI6JRF6D.js} +4 -4
  47. package/dist/{image-ocr-THUO6YRG.cjs → image-ocr-4FIFSQ5E.cjs} +17 -17
  48. package/dist/{image-ocr-THUO6YRG.cjs.map → image-ocr-4FIFSQ5E.cjs.map} +1 -1
  49. package/dist/{image-ocr-QUVBGNWD.js → image-ocr-JQ65V7NG.js} +9 -9
  50. package/dist/{image-ocr-5YWVBRY6.js → image-ocr-Q7ZPUDKM.js} +6 -6
  51. package/dist/index.cjs +463 -428
  52. package/dist/index.cjs.map +1 -1
  53. package/dist/index.js +43 -8
  54. package/dist/index.js.map +1 -1
  55. package/dist/mcp.js +23 -23
  56. package/dist/{model-bundle-6RG5PO3R.js → model-bundle-RHZIWRK3.js} +5 -5
  57. package/dist/{models-CGYIGN6D.js → models-IX2U5E2X.js} +5 -5
  58. package/dist/{parse-worker-v2-F5NXYBU6.js → parse-worker-v2-WH2ZU73A.js} +12 -12
  59. package/dist/{parser-GJ4PKW7I.cjs → parser-HZI6SSX5.cjs} +172 -161
  60. package/dist/parser-HZI6SSX5.cjs.map +1 -0
  61. package/dist/{parser-G5QTRKII.js → parser-OSH4JPYU.js} +22 -11
  62. package/dist/parser-OSH4JPYU.js.map +1 -0
  63. package/dist/{parser-I2C5DUXC.js → parser-U2WRX53G.js} +25 -14
  64. package/dist/parser-U2WRX53G.js.map +1 -0
  65. package/dist/{pdf-ocr-U3I74Q4O.js → pdf-ocr-HUQ2RFMY.js} +9 -9
  66. package/dist/{pdf-ocr-TNW6YOPX.js → pdf-ocr-NPFRBGWJ.js} +6 -6
  67. package/dist/pdf-ocr-OA57HOVS.cjs +35 -0
  68. package/dist/{pdf-ocr-LJKCUXTE.cjs.map → pdf-ocr-OA57HOVS.cjs.map} +1 -1
  69. package/dist/{profile-io-5YZCFK7B.js → profile-io-MVJHVB5K.js} +3 -3
  70. package/dist/{rasterize-7VRHPOQX.js → rasterize-MBQRUDTT.js} +3 -3
  71. package/dist/{redact-doc-VK6VGBK3.js → redact-doc-Y6DPTTVM.js} +11 -11
  72. package/dist/{render-Y7J6DPRL.js → render-CSVVMX6Y.js} +7 -7
  73. package/dist/seal-Y7I5CXGZ.js +10 -0
  74. package/dist/{setup-4XTUDU4X.js → setup-BU2VPWG4.js} +3 -3
  75. package/dist/visual-OAJU373I.js +21 -0
  76. package/dist/{watch-SPZRLTKG.js → watch-RLLW3NTH.js} +12 -12
  77. package/package.json +1 -1
  78. package/dist/chunk-BMXWY36E.js.map +0 -1
  79. package/dist/chunk-BUFGW3UJ.cjs.map +0 -1
  80. package/dist/chunk-F6OHQLN7.js.map +0 -1
  81. package/dist/chunk-MYDHNNPA.js.map +0 -1
  82. package/dist/chunks-FYCQOIWO.js +0 -10
  83. package/dist/parser-G5QTRKII.js.map +0 -1
  84. package/dist/parser-GJ4PKW7I.cjs.map +0 -1
  85. package/dist/parser-I2C5DUXC.js.map +0 -1
  86. package/dist/pdf-ocr-LJKCUXTE.cjs +0 -35
  87. package/dist/seal-4QIZ3ZNI.js +0 -10
  88. package/dist/visual-VEMQJ52W.js +0 -21
  89. /package/dist/{-IS4RXPEZ.js.map → -POV3PVKW.js.map} +0 -0
  90. /package/dist/{chunk-3RVASM4C.js.map → chunk-2NINEUJ5.js.map} +0 -0
  91. /package/dist/{chunk-MMZUWRH6.js.map → chunk-2Q4ZLQQJ.js.map} +0 -0
  92. /package/dist/{chunk-BV2YG7M6.js.map → chunk-2S4WERRK.js.map} +0 -0
  93. /package/dist/{chunk-PDOWSDNM.js.map → chunk-2UNY7AKC.js.map} +0 -0
  94. /package/dist/{chunk-F4GZFIUJ.js.map → chunk-3QWZCQI6.js.map} +0 -0
  95. /package/dist/{chunk-E6G4B457.js.map → chunk-5L32QFLQ.js.map} +0 -0
  96. /package/dist/{chunk-NRCG3ASU.js.map → chunk-7JFJPFME.js.map} +0 -0
  97. /package/dist/{chunk-O5ZCJEZ4.js.map → chunk-AXBEO5NB.js.map} +0 -0
  98. /package/dist/{chunk-B3POEH7X.js.map → chunk-JDDKQD7W.js.map} +0 -0
  99. /package/dist/{chunk-IZN5BTCW.js.map → chunk-NBETHWJH.js.map} +0 -0
  100. /package/dist/{chunk-4OF7DHIT.js.map → chunk-NRPLZ4NO.js.map} +0 -0
  101. /package/dist/{chunk-NE75RO62.js.map → chunk-PG7OI72B.js.map} +0 -0
  102. /package/dist/{chunk-BNEKESI4.js.map → chunk-QMAWEM4N.js.map} +0 -0
  103. /package/dist/{chunk-MGCIQ43Y.js.map → chunk-SLS65M44.js.map} +0 -0
  104. /package/dist/{chunk-BTBFKDPH.js.map → chunk-SYJZYHBB.js.map} +0 -0
  105. /package/dist/{chunk-CPVXUEKF.js.map → chunk-VK3ZZLT7.js.map} +0 -0
  106. /package/dist/{chunk-N45RCYBL.js.map → chunk-VK6S3WGD.js.map} +0 -0
  107. /package/dist/{chunk-Z6ONQ63K.js.map → chunk-VOLDBZDF.js.map} +0 -0
  108. /package/dist/{chunk-WQC4XWVT.js.map → chunk-WTFXQGND.js.map} +0 -0
  109. /package/dist/{chunk-UNYH6MTO.js.map → chunk-XLVQUVL4.js.map} +0 -0
  110. /package/dist/{chunks-FYCQOIWO.js.map → chunks-SGEDTBKI.js.map} +0 -0
  111. /package/dist/{formula-DHBBWQLC.js.map → formula-7YKP7MFB.js.map} +0 -0
  112. /package/dist/{formula-I4EA7ULD.js.map → formula-TI6JRF6D.js.map} +0 -0
  113. /package/dist/{image-ocr-QUVBGNWD.js.map → image-ocr-JQ65V7NG.js.map} +0 -0
  114. /package/dist/{image-ocr-5YWVBRY6.js.map → image-ocr-Q7ZPUDKM.js.map} +0 -0
  115. /package/dist/{model-bundle-6RG5PO3R.js.map → model-bundle-RHZIWRK3.js.map} +0 -0
  116. /package/dist/{models-CGYIGN6D.js.map → models-IX2U5E2X.js.map} +0 -0
  117. /package/dist/{parse-worker-v2-F5NXYBU6.js.map → parse-worker-v2-WH2ZU73A.js.map} +0 -0
  118. /package/dist/{pdf-ocr-TNW6YOPX.js.map → pdf-ocr-HUQ2RFMY.js.map} +0 -0
  119. /package/dist/{pdf-ocr-U3I74Q4O.js.map → pdf-ocr-NPFRBGWJ.js.map} +0 -0
  120. /package/dist/{profile-io-5YZCFK7B.js.map → profile-io-MVJHVB5K.js.map} +0 -0
  121. /package/dist/{rasterize-7VRHPOQX.js.map → rasterize-MBQRUDTT.js.map} +0 -0
  122. /package/dist/{redact-doc-VK6VGBK3.js.map → redact-doc-Y6DPTTVM.js.map} +0 -0
  123. /package/dist/{render-Y7J6DPRL.js.map → render-CSVVMX6Y.js.map} +0 -0
  124. /package/dist/{seal-4QIZ3ZNI.js.map → seal-Y7I5CXGZ.js.map} +0 -0
  125. /package/dist/{setup-4XTUDU4X.js.map → setup-BU2VPWG4.js.map} +0 -0
  126. /package/dist/{visual-VEMQJ52W.js.map → visual-OAJU373I.js.map} +0 -0
  127. /package/dist/{watch-SPZRLTKG.js.map → watch-RLLW3NTH.js.map} +0 -0
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  escapeHtml,
4
4
  sanitizeHref
5
- } from "./chunk-WQC4XWVT.js";
5
+ } from "./chunk-WTFXQGND.js";
6
6
 
7
7
  // src/shared/symbol-fonts.ts
8
8
  var WINGDINGS = [
@@ -1183,4 +1183,4 @@ export {
1183
1183
  visibleText,
1184
1184
  escapeHtmlCellText
1185
1185
  };
1186
- //# sourceMappingURL=chunk-B3POEH7X.js.map
1186
+ //# sourceMappingURL=chunk-JDDKQD7W.js.map
@@ -2,7 +2,7 @@
2
2
  import {
3
3
  KordocError,
4
4
  unzipLimitBytes
5
- } from "./chunk-WQC4XWVT.js";
5
+ } from "./chunk-WTFXQGND.js";
6
6
 
7
7
  // src/hwpx/parser-shared.ts
8
8
  import { DOMParser } from "@xmldom/xmldom";
@@ -495,4 +495,4 @@ export {
495
495
  hwpFaceToCssStack,
496
496
  parseRenderStyles
497
497
  };
498
- //# sourceMappingURL=chunk-IZN5BTCW.js.map
498
+ //# sourceMappingURL=chunk-NBETHWJH.js.map
@@ -36,14 +36,14 @@ import {
36
36
  splitRowBands,
37
37
  starRun,
38
38
  tallInkCount
39
- } from "./chunk-BMXWY36E.js";
39
+ } from "./chunk-XEYTPWCF.js";
40
40
  import {
41
41
  validateOcrOptions
42
- } from "./chunk-PDOWSDNM.js";
42
+ } from "./chunk-2UNY7AKC.js";
43
43
  import {
44
44
  KordocError,
45
45
  OPTIONAL_DEP_INSTALL_HINT
46
- } from "./chunk-UNYH6MTO.js";
46
+ } from "./chunk-XLVQUVL4.js";
47
47
 
48
48
  // src/ocr/ruling-lines.ts
49
49
  var INK_LUMA_MAX = 205;
@@ -2256,4 +2256,4 @@ export {
2256
2256
  groupOcrLines,
2257
2257
  ocrItemsToBlocks
2258
2258
  };
2259
- //# sourceMappingURL=chunk-4OF7DHIT.js.map
2259
+ //# sourceMappingURL=chunk-NRPLZ4NO.js.map
@@ -6,11 +6,11 @@ import {
6
6
  HEADING_RATIO_H3,
7
7
  tidyScriptTags,
8
8
  toTex
9
- } from "./chunk-F4GZFIUJ.js";
9
+ } from "./chunk-3QWZCQI6.js";
10
10
  import {
11
11
  safeMax,
12
12
  safeMin
13
- } from "./chunk-WQC4XWVT.js";
13
+ } from "./chunk-WTFXQGND.js";
14
14
 
15
15
  // src/ocr/line-split.ts
16
16
  function grayCrop(rgba, pageW, box) {
@@ -1074,7 +1074,10 @@ function extractLines(fnArray, argsArray) {
1074
1074
  classifyAndAdd(seg, effWidth, horizontals, verticals, fromFill, fromFill ? void 0 : { h: shortH, v: shortV });
1075
1075
  });
1076
1076
  if (from) outs.forEach((o, k) => {
1077
- for (let n = from[k]; n < o.length; n++) if (white || k < 2 && !thinFill.has(o[n])) nonRules.add(o[n]);
1077
+ for (let n = from[k]; n < o.length; n++) if (white || k < 2 && !thinFill.has(o[n])) {
1078
+ nonRules.add(o[n]);
1079
+ if (white) WHITE_EDGES.add(o[n]);
1080
+ }
1078
1081
  });
1079
1082
  currentPath = [];
1080
1083
  }
@@ -1401,8 +1404,15 @@ function preprocessLines(horizontals, verticals, nonRules) {
1401
1404
  let v = verticals.filter((l) => l.lineWidth <= MAX_LINE_WIDTH);
1402
1405
  h = dropShadingStacks(h, "h");
1403
1406
  v = dropShadingStacks(v, "v");
1404
- h = mergeParallelLines(h, "h", nonRules);
1407
+ h = mergeParallelLines(h, "h", nonRules, v);
1405
1408
  v = mergeParallelLines(v, "v", nonRules);
1409
+ if (nonRules) {
1410
+ const visH = h.filter((l) => !nonRules.has(l)), visV = v.filter((l) => !nonRules.has(l));
1411
+ const crossH = (w) => visV.filter((c) => c.x1 > w.x1 + 1 && c.x1 < w.x2 - 1 && Math.min(c.y1, c.y2) < w.y1 - 2 && Math.max(c.y1, c.y2) > w.y1 + 2).length;
1412
+ const crossV = (w) => visH.filter((c) => c.y1 > Math.min(w.y1, w.y2) + 1 && c.y1 < Math.max(w.y1, w.y2) - 1 && Math.min(c.x1, c.x2) < w.x1 - 2 && Math.max(c.x1, c.x2) > w.x1 + 2).length;
1413
+ h = h.filter((l) => !(WHITE_EDGES.has(l) && nonRules.has(l) && crossH(l) >= 2));
1414
+ v = v.filter((l) => !(WHITE_EDGES.has(l) && nonRules.has(l) && crossV(l) >= 2));
1415
+ }
1406
1416
  return { horizontals: h, verticals: v };
1407
1417
  }
1408
1418
  var STACK_GAP = 2;
@@ -1570,7 +1580,8 @@ function closeOpenTableEdges(horizontals, verticals) {
1570
1580
  }
1571
1581
  return synthesized.length ? [...verticals, ...synthesized] : verticals;
1572
1582
  }
1573
- function mergeParallelLines(lines, dir, nonRules) {
1583
+ var WHITE_EDGES = /* @__PURE__ */ new WeakSet();
1584
+ function mergeParallelLines(lines, dir, nonRules, perp) {
1574
1585
  if (lines.length <= 1) return lines;
1575
1586
  const sorted = [...lines].sort((a, b) => {
1576
1587
  const posA = dir === "h" ? a.y1 : a.x1;
@@ -1593,7 +1604,26 @@ function mergeParallelLines(lines, dir, nonRules) {
1593
1604
  const overlap2 = Math.min(prevEnd, currEnd) - Math.max(prevStart, currStart);
1594
1605
  const minLen = Math.min(prevEnd - prevStart, currEnd - currStart);
1595
1606
  if (overlap2 > minLen * 0.3) {
1596
- if (nonRules?.has(prev) && !nonRules.has(curr)) nonRules.delete(prev);
1607
+ const bgPrev = !!nonRules?.has(prev) && !nonRules.has(curr), bgCurr = !!nonRules?.has(curr) && !nonRules.has(prev);
1608
+ const whPrev = bgPrev && WHITE_EDGES.has(prev), whCurr = bgCurr && WHITE_EDGES.has(curr);
1609
+ if (bgPrev) nonRules.delete(prev);
1610
+ const clip = (w, o) => {
1611
+ if (dir !== "h" || !perp) return false;
1612
+ let n = 0;
1613
+ for (const c of perp) {
1614
+ if (nonRules.has(c) || Math.min(c.y1, c.y2) >= w.y1 - 2 || Math.max(c.y1, c.y2) <= w.y1 + 2) continue;
1615
+ if (c.x1 > w.x1 + 1 && c.x1 < o.x1 - 1 || c.x1 > o.x2 + 1 && c.x1 < w.x2 - 1) n++;
1616
+ }
1617
+ return n >= 2;
1618
+ };
1619
+ if (whPrev && clip(prev, curr)) {
1620
+ prev.x1 = curr.x1;
1621
+ prev.x2 = curr.x2;
1622
+ prev.y1 = prev.y2 = curr.y1;
1623
+ prev.lineWidth = curr.lineWidth;
1624
+ continue;
1625
+ }
1626
+ if (whCurr && clip(curr, prev)) continue;
1597
1627
  if (dir === "h") {
1598
1628
  prev.x1 = Math.min(prev.x1, curr.x1);
1599
1629
  prev.x2 = Math.max(prev.x2, curr.x2);
@@ -8494,6 +8524,7 @@ function headerLineAbove(free, colXs, top) {
8494
8524
  if (baseY - top > fs * MAX_GAP_K) return null;
8495
8525
  const text = [...line].sort((a, b) => a.x - b.x).map((it) => it.text).join(" ").trim();
8496
8526
  if (/^(?:Table|Figure|Fig\.|Chart|Exhibit|Diagram|Source|Note|<?표|<?그림)\s*[\dIVX]/i.test(text)) return null;
8527
+ if (/\(단위[::]/.test(text.replace(/\s+/g, ""))) return null;
8497
8528
  if (line.some((it) => it.seq === void 0 || it.x < x1 - EDGE_TOL || it.x + it.w > x2 + EDGE_TOL)) return null;
8498
8529
  if (above.some((it) => !line.includes(it) && Math.abs(it.y - baseY) <= fs * 0.5)) return null;
8499
8530
  const cols = colXs.slice(1).map(() => []);
@@ -10361,4 +10392,4 @@ export {
10361
10392
  UNRULED_REGION_TABLES,
10362
10393
  mergeOcrImageRegions
10363
10394
  };
10364
- //# sourceMappingURL=chunk-F6OHQLN7.js.map
10395
+ //# sourceMappingURL=chunk-NWNL5YYK.js.map