kordoc 4.9.1 → 4.9.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 (104) hide show
  1. package/README.md +7 -0
  2. package/dist/{-KIYHEVUW.js → -Z4LCTGQR.js} +8 -8
  3. package/dist/{chunk-3PY5YCJP.js → chunk-5ZPXRDS2.js} +2 -2
  4. package/dist/{chunk-JHXAQDXS.js → chunk-6WYMV73J.js} +40 -14
  5. package/dist/{chunk-JHXAQDXS.js.map → chunk-6WYMV73J.js.map} +1 -1
  6. package/dist/{chunk-65TL66UD.cjs → chunk-BAJVZXC7.cjs} +3 -3
  7. package/dist/{chunk-65TL66UD.cjs.map → chunk-BAJVZXC7.cjs.map} +1 -1
  8. package/dist/{chunk-GNRBCV4R.js → chunk-GL6BCNJV.js} +3 -3
  9. package/dist/{chunk-Q3IVAWOK.js → chunk-JHPEDWJX.js} +3 -3
  10. package/dist/{chunk-4R73ASZF.cjs → chunk-KATZTHWA.cjs} +2 -2
  11. package/dist/{chunk-4R73ASZF.cjs.map → chunk-KATZTHWA.cjs.map} +1 -1
  12. package/dist/{chunk-SFSB3FAL.js → chunk-LJP3PK2S.js} +2 -2
  13. package/dist/{chunk-SGTGSV4A.js → chunk-LKZQ4564.js} +2 -2
  14. package/dist/{chunk-5CAKNM2K.js → chunk-LREEDIEF.js} +2 -2
  15. package/dist/{chunk-HG7GXBVP.js → chunk-LUY46O7O.js} +2 -2
  16. package/dist/{chunk-55Q76S6S.js → chunk-NIBRVLGS.js} +2 -2
  17. package/dist/{chunk-D7EMDOX7.cjs → chunk-NIQ4JCQF.cjs} +6 -6
  18. package/dist/{chunk-D7EMDOX7.cjs.map → chunk-NIQ4JCQF.cjs.map} +1 -1
  19. package/dist/{chunk-UIQWUYOJ.js → chunk-NOEYLJGJ.js} +3 -3
  20. package/dist/{chunk-INV3W43Y.js → chunk-OOT54JF2.js} +2 -2
  21. package/dist/{chunk-VGRIWMTQ.js → chunk-OYQL3D4B.js} +2 -2
  22. package/dist/{chunk-L27YEW3T.js → chunk-PIUPP3FL.js} +3 -3
  23. package/dist/{chunk-TC7EDYZD.js → chunk-PKCDYIIJ.js} +2 -2
  24. package/dist/{chunk-HOSNMNKU.cjs → chunk-SHBVD23C.cjs} +7 -7
  25. package/dist/{chunk-HOSNMNKU.cjs.map → chunk-SHBVD23C.cjs.map} +1 -1
  26. package/dist/{chunk-HFZIYAQQ.js → chunk-TK7WUS47.js} +2 -2
  27. package/dist/{chunk-2ULV2DX4.cjs → chunk-V3Q6I2AQ.cjs} +4 -4
  28. package/dist/{chunk-2ULV2DX4.cjs.map → chunk-V3Q6I2AQ.cjs.map} +1 -1
  29. package/dist/{chunk-TN6AALZG.js → chunk-VYGNPB2X.js} +2 -2
  30. package/dist/{chunk-Z2SX4E7K.js → chunk-WLZX2HTC.js} +2 -2
  31. package/dist/{chunk-GU4NCNCT.js → chunk-Y7QB4IB6.js} +2 -2
  32. package/dist/chunks-TRJGNO4N.js +10 -0
  33. package/dist/cli.js +20 -20
  34. package/dist/{formula-S4O7SBN3.js → formula-77TJPACH.js} +3 -3
  35. package/dist/{formula-I5D3UNLV.cjs → formula-JVBJ6QRG.cjs} +9 -9
  36. package/dist/{formula-I5D3UNLV.cjs.map → formula-JVBJ6QRG.cjs.map} +1 -1
  37. package/dist/{formula-5DQQ4MFT.js → formula-LFWZG7T7.js} +4 -4
  38. package/dist/{image-ocr-SQXFTNYR.js → image-ocr-6SY623KL.js} +7 -7
  39. package/dist/{image-ocr-BKUYR4WU.cjs → image-ocr-YTGAUHEP.cjs} +11 -11
  40. package/dist/{image-ocr-BKUYR4WU.cjs.map → image-ocr-YTGAUHEP.cjs.map} +1 -1
  41. package/dist/{image-ocr-LIH2E7WC.js → image-ocr-YZ56O63S.js} +5 -5
  42. package/dist/index.cjs +207 -181
  43. package/dist/index.cjs.map +1 -1
  44. package/dist/index.js +36 -10
  45. package/dist/index.js.map +1 -1
  46. package/dist/mcp.js +15 -15
  47. package/dist/{model-bundle-4JMY5E37.js → model-bundle-W7B3BIYS.js} +5 -5
  48. package/dist/{models-D7X5YBWX.js → models-FUKPEVPE.js} +5 -5
  49. package/dist/{parser-MY7JJISJ.js → parser-6UL2HLDH.js} +6 -6
  50. package/dist/{parser-GHRXWFJN.js → parser-GDYZDBZI.js} +6 -6
  51. package/dist/{parser-ZLHOAZAA.cjs → parser-WIRWVN5E.cjs} +26 -26
  52. package/dist/{parser-ZLHOAZAA.cjs.map → parser-WIRWVN5E.cjs.map} +1 -1
  53. package/dist/pdf-ocr-O373AAN6.cjs +14 -0
  54. package/dist/{pdf-ocr-FESGFQYN.cjs.map → pdf-ocr-O373AAN6.cjs.map} +1 -1
  55. package/dist/pdf-ocr-OHUAQQMN.js +16 -0
  56. package/dist/pdf-ocr-XTE234WC.js +13 -0
  57. package/dist/{profile-io-EAPI6M7O.js → profile-io-4EE64K6Y.js} +3 -3
  58. package/dist/{rasterize-UIDZAEWB.js → rasterize-QW7SSKHB.js} +2 -2
  59. package/dist/render-2NID54BX.js +10 -0
  60. package/dist/seal-PTP4TWYR.js +10 -0
  61. package/dist/{setup-UHX3HHWY.js → setup-JS7E2HFM.js} +3 -3
  62. package/dist/{watch-23MV3PBX.js → watch-YISVPGW3.js} +9 -9
  63. package/package.json +1 -1
  64. package/dist/chunks-FB344JZT.js +0 -10
  65. package/dist/pdf-ocr-FESGFQYN.cjs +0 -14
  66. package/dist/pdf-ocr-IEAXGG3D.js +0 -13
  67. package/dist/pdf-ocr-Z6CHIYEM.js +0 -16
  68. package/dist/render-XL7ZVAHK.js +0 -10
  69. package/dist/seal-CY7EIWDJ.js +0 -10
  70. /package/dist/{-KIYHEVUW.js.map → -Z4LCTGQR.js.map} +0 -0
  71. /package/dist/{chunk-3PY5YCJP.js.map → chunk-5ZPXRDS2.js.map} +0 -0
  72. /package/dist/{chunk-GNRBCV4R.js.map → chunk-GL6BCNJV.js.map} +0 -0
  73. /package/dist/{chunk-Q3IVAWOK.js.map → chunk-JHPEDWJX.js.map} +0 -0
  74. /package/dist/{chunk-SFSB3FAL.js.map → chunk-LJP3PK2S.js.map} +0 -0
  75. /package/dist/{chunk-SGTGSV4A.js.map → chunk-LKZQ4564.js.map} +0 -0
  76. /package/dist/{chunk-5CAKNM2K.js.map → chunk-LREEDIEF.js.map} +0 -0
  77. /package/dist/{chunk-HG7GXBVP.js.map → chunk-LUY46O7O.js.map} +0 -0
  78. /package/dist/{chunk-55Q76S6S.js.map → chunk-NIBRVLGS.js.map} +0 -0
  79. /package/dist/{chunk-UIQWUYOJ.js.map → chunk-NOEYLJGJ.js.map} +0 -0
  80. /package/dist/{chunk-INV3W43Y.js.map → chunk-OOT54JF2.js.map} +0 -0
  81. /package/dist/{chunk-VGRIWMTQ.js.map → chunk-OYQL3D4B.js.map} +0 -0
  82. /package/dist/{chunk-L27YEW3T.js.map → chunk-PIUPP3FL.js.map} +0 -0
  83. /package/dist/{chunk-TC7EDYZD.js.map → chunk-PKCDYIIJ.js.map} +0 -0
  84. /package/dist/{chunk-HFZIYAQQ.js.map → chunk-TK7WUS47.js.map} +0 -0
  85. /package/dist/{chunk-TN6AALZG.js.map → chunk-VYGNPB2X.js.map} +0 -0
  86. /package/dist/{chunk-Z2SX4E7K.js.map → chunk-WLZX2HTC.js.map} +0 -0
  87. /package/dist/{chunk-GU4NCNCT.js.map → chunk-Y7QB4IB6.js.map} +0 -0
  88. /package/dist/{chunks-FB344JZT.js.map → chunks-TRJGNO4N.js.map} +0 -0
  89. /package/dist/{formula-S4O7SBN3.js.map → formula-77TJPACH.js.map} +0 -0
  90. /package/dist/{formula-5DQQ4MFT.js.map → formula-LFWZG7T7.js.map} +0 -0
  91. /package/dist/{image-ocr-SQXFTNYR.js.map → image-ocr-6SY623KL.js.map} +0 -0
  92. /package/dist/{image-ocr-LIH2E7WC.js.map → image-ocr-YZ56O63S.js.map} +0 -0
  93. /package/dist/{model-bundle-4JMY5E37.js.map → model-bundle-W7B3BIYS.js.map} +0 -0
  94. /package/dist/{models-D7X5YBWX.js.map → models-FUKPEVPE.js.map} +0 -0
  95. /package/dist/{parser-MY7JJISJ.js.map → parser-6UL2HLDH.js.map} +0 -0
  96. /package/dist/{parser-GHRXWFJN.js.map → parser-GDYZDBZI.js.map} +0 -0
  97. /package/dist/{pdf-ocr-IEAXGG3D.js.map → pdf-ocr-OHUAQQMN.js.map} +0 -0
  98. /package/dist/{pdf-ocr-Z6CHIYEM.js.map → pdf-ocr-XTE234WC.js.map} +0 -0
  99. /package/dist/{profile-io-EAPI6M7O.js.map → profile-io-4EE64K6Y.js.map} +0 -0
  100. /package/dist/{rasterize-UIDZAEWB.js.map → rasterize-QW7SSKHB.js.map} +0 -0
  101. /package/dist/{render-XL7ZVAHK.js.map → render-2NID54BX.js.map} +0 -0
  102. /package/dist/{seal-CY7EIWDJ.js.map → seal-PTP4TWYR.js.map} +0 -0
  103. /package/dist/{setup-UHX3HHWY.js.map → setup-JS7E2HFM.js.map} +0 -0
  104. /package/dist/{watch-23MV3PBX.js.map → watch-YISVPGW3.js.map} +0 -0
package/dist/index.js CHANGED
@@ -8,7 +8,7 @@ import {
8
8
  flattenLayoutTables,
9
9
  inlineImagesIntoMarkdown,
10
10
  mapPuaText
11
- } from "./chunk-TN6AALZG.js";
11
+ } from "./chunk-VYGNPB2X.js";
12
12
  import {
13
13
  parsePageRange
14
14
  } from "./chunk-GE43BE46.js";
@@ -29,7 +29,7 @@ import {
29
29
  sanitizeHref,
30
30
  stripDtd,
31
31
  toArrayBuffer
32
- } from "./chunk-INV3W43Y.js";
32
+ } from "./chunk-OOT54JF2.js";
33
33
 
34
34
  // src/index.ts
35
35
  import { readFile } from "fs/promises";
@@ -22953,7 +22953,9 @@ var GJ_CHAR_BAR = 24;
22953
22953
  var GJ_CHAR_BODY_TITLE = 25;
22954
22954
  var GJ_CHAR_TITLE_BAR = 26;
22955
22955
  var GJ_CHAR_APPROVAL = 27;
22956
- var GJ_CHAR_COUNT = GJ_CHAR_APPROVAL - GJ_CHAR_DAE + 1;
22956
+ var GJ_CHAR_SRC = 28;
22957
+ var GJ_CHAR_SRC_BOLD = 29;
22958
+ var GJ_CHAR_COUNT = GJ_CHAR_SRC_BOLD - GJ_CHAR_DAE + 1;
22957
22959
  var GJ_PARA_CHAM = 20;
22958
22960
  var GJ_PARA_COVER = 21;
22959
22961
  var GJ_PARA_TOC_ITEM = 22;
@@ -22961,7 +22963,8 @@ var GJ_PARA_CHAPTER = 23;
22961
22963
  var GJ_PARA_BAR = 24;
22962
22964
  var GONGMUN_LIST_PLAIN_BASE = 25;
22963
22965
  var GONGMUN_PARA_APPROVAL = GONGMUN_LIST_PLAIN_BASE + GONGMUN_LIST_LEVELS;
22964
- var GONGMUN_LIST_VARIANT_BASE = GONGMUN_PARA_APPROVAL + 1;
22966
+ var GONGMUN_SRC_LEFT = GONGMUN_PARA_APPROVAL + 1;
22967
+ var GONGMUN_LIST_VARIANT_BASE = GONGMUN_SRC_LEFT + 1;
22965
22968
  var GJ_BF_CHAPTER_NUM = 3;
22966
22969
  var GJ_BF_CHAPTER_GAP = 4;
22967
22970
  var GJ_BF_CHAPTER_TITLE = 5;
@@ -23005,10 +23008,15 @@ var GONGMUN_TBL_CHAR_BOLD = 12;
23005
23008
  var GONGMUN_TBL_PT = 1200;
23006
23009
  var GONGMUN_TITLE_BAR_CHAR = 13;
23007
23010
  var GONGMUN_APPROVAL_CHAR = 14;
23011
+ var GONGMUN_SRC_CHAR = 15;
23012
+ var GONGMUN_SRC_CHAR_BOLD = 16;
23013
+ function srcCaptionPt(bodyHeight) {
23014
+ return Math.max(bodyHeight - 300, 1e3);
23015
+ }
23008
23016
  var CHAR_VARIANT_BASE = CHAR_QUOTE + 1;
23009
23017
  function charVariantBase(richAssets, isGongmun = true) {
23010
23018
  if (!isGongmun) return CHAR_VARIANT_BASE;
23011
- return richAssets ? CHAR_VARIANT_BASE + GJ_CHAR_COUNT : CHAR_VARIANT_BASE + (GONGMUN_APPROVAL_CHAR - GONGMUN_TBL_CHAR + 1);
23019
+ return richAssets ? CHAR_VARIANT_BASE + GJ_CHAR_COUNT : CHAR_VARIANT_BASE + (GONGMUN_SRC_CHAR_BOLD - GONGMUN_TBL_CHAR + 1);
23012
23020
  }
23013
23021
  var GONGMUN_BODY_RATIO = 95;
23014
23022
 
@@ -23510,7 +23518,10 @@ function buildCharProperties(theme, gongmun, ratioVariants = [], extraCharPrXmls
23510
23518
  charPr(11, GONGMUN_TBL_PT, false, false, bodyFont, theme.body),
23511
23519
  charPr(12, GONGMUN_TBL_PT, true, false, bodyFont, theme.body),
23512
23520
  charPr(GONGMUN_TITLE_BAR_CHAR, 100, false, false, bodyFont, theme.body),
23513
- charPr(GONGMUN_APPROVAL_CHAR, 1e3, false, false, bodyFont, theme.body)
23521
+ charPr(GONGMUN_APPROVAL_CHAR, 1e3, false, false, bodyFont, theme.body),
23522
+ // 출처행 캡션 — 본문 폰트 -3pt (실무 보고서: 표 아래 출처는 본문과 구분되는 작은 글씨)
23523
+ charPr(GONGMUN_SRC_CHAR, srcCaptionPt(body), false, false, bodyFont, theme.body),
23524
+ charPr(GONGMUN_SRC_CHAR_BOLD, srcCaptionPt(body), true, false, bodyFont, theme.body)
23514
23525
  );
23515
23526
  }
23516
23527
  if (richAssets) {
@@ -23548,8 +23559,12 @@ function buildCharProperties(theme, gongmun, ratioVariants = [], extraCharPrXmls
23548
23559
  // 본문 제목박스(HY헤드라인M 22pt, 실측 GT3 표④)
23549
23560
  charPr(GJ_CHAR_TITLE_BAR, 100, false, false, 4),
23550
23561
  // 1페이지형 제목박스 바(1pt)
23551
- charPr(GJ_CHAR_APPROVAL, 1e3, false, false, 7)
23562
+ charPr(GJ_CHAR_APPROVAL, 1e3, false, false, 7),
23552
23563
  // 결재란 라벨(맑은 고딕 10pt)
23564
+ charPr(GJ_CHAR_SRC, srcCaptionPt(body), false, false, 5),
23565
+ // 출처행 캡션(한양중고딕 본문-3pt)
23566
+ charPr(GJ_CHAR_SRC_BOLD, srcCaptionPt(body), true, false, 5)
23567
+ // 출처행 캡션 bold
23553
23568
  );
23554
23569
  }
23555
23570
  const expectedBase = charVariantBase(richAssets, !!gongmun);
@@ -23637,6 +23652,7 @@ ${base2.join("\n")}
23637
23652
  base.push(paraPr(GONGMUN_LIST_PLAIN_BASE + d, { align: listAlign, lineSpacing: ls, left, indent: 0, spaceBefore: sectionGap, keepWord: true }));
23638
23653
  }
23639
23654
  base.push(paraPr(GONGMUN_PARA_APPROVAL, { align: "CENTER", lineSpacing: 100, keepWord: true }));
23655
+ base.push(paraPr(GONGMUN_SRC_LEFT, { align: "LEFT", lineSpacing: ls, keepWord: true }));
23640
23656
  for (let vi = 0; vi < listIndentVariants.length; vi++) {
23641
23657
  const { depth, widthHu } = listIndentVariants[vi];
23642
23658
  const { left } = levelIndent(depth, gongmun.bodyHeight, gongmun.numbering, gongmun.sizes, gongmun.bullet2, usesAsteriskThird(gongmun.preset));
@@ -26212,7 +26228,17 @@ function renderParagraph(block, blockIdx, ctx) {
26212
26228
  const ctr = gongmun && /^<center>([\s\S]*)<\/center>$/i.exec((block.text || "").trim());
26213
26229
  const rgt = gongmun && /^<right>([\s\S]*)<\/right>$/i.exec((block.text || "").trim());
26214
26230
  if (ctr) return generateParagraph(ctr[1].trim(), GONGMUN_CENTER);
26215
- if (rgt) return generateParagraph(rgt[1].trim(), GONGMUN_RIGHT);
26231
+ if (rgt) {
26232
+ const t = rgt[1].trim();
26233
+ const isSrc = /^(출처|자료)\s*[::]/.test(t);
26234
+ const srcChar = ctx.richAssets ? GJ_CHAR_SRC : GONGMUN_SRC_CHAR;
26235
+ const srcBold = ctx.richAssets ? GJ_CHAR_SRC_BOLD : GONGMUN_SRC_CHAR_BOLD;
26236
+ const h = isSrc ? srcCaptionPt(gongmun.bodyHeight) : gongmun.bodyHeight;
26237
+ const fits = measureTextWidth(t, h, isSrc ? 100 : GONGMUN_BODY_RATIO) <= ctx.gjBodyW + 0.5;
26238
+ const paraId = fits ? GONGMUN_RIGHT : GONGMUN_SRC_LEFT;
26239
+ if (!isSrc) return generateParagraph(t, paraId);
26240
+ return generateParagraph(t, paraId, srcChar, (id) => id === CHAR_BOLD ? srcBold : id);
26241
+ }
26216
26242
  return generateParagraph(block.text || "", PARA_NORMAL, CHAR_NORMAL, fit ? variantMapper(fit, blockIdx, vBase) : void 0);
26217
26243
  }
26218
26244
  function renderCodeBlock(block, blockIdx, ctx) {
@@ -31933,7 +31959,7 @@ async function dispatch(format, buffer, opts) {
31933
31959
  }
31934
31960
  async function parseImage(buffer, options) {
31935
31961
  try {
31936
- const { parseImageDocument } = await import("./image-ocr-LIH2E7WC.js");
31962
+ const { parseImageDocument } = await import("./image-ocr-YZ56O63S.js");
31937
31963
  const { blocks, warnings } = await parseImageDocument(buffer, options);
31938
31964
  return {
31939
31965
  success: true,
@@ -31992,7 +32018,7 @@ async function parseHwp(buffer, options) {
31992
32018
  async function parsePdf(buffer, options) {
31993
32019
  let parsePdfDocument;
31994
32020
  try {
31995
- const mod = await import("./parser-MY7JJISJ.js");
32021
+ const mod = await import("./parser-6UL2HLDH.js");
31996
32022
  parsePdfDocument = mod.parsePdfDocument;
31997
32023
  } catch {
31998
32024
  return {